From 96863f267a9a9ddf9c934cc480ac31fd492c573b Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Wed, 28 Aug 2024 18:02:27 +0200 Subject: [PATCH 01/53] removing creation of bindingsite matrix in majority vote --- modules/local/majority_vote/main.nf | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/local/majority_vote/main.nf b/modules/local/majority_vote/main.nf index 33f417ba..c77ecb0f 100644 --- a/modules/local/majority_vote/main.nf +++ b/modules/local/majority_vote/main.nf @@ -11,9 +11,10 @@ process MAJORITY_VOTE { tuple val(meta), path(bindingsites) output: - tuple val(meta), path("${meta.id}.majority.tsv"), emit: tsv - tuple val(meta), path("${meta.id}.targets.tsv") , emit: targets - path "versions.yml" , emit: versions + tuple val(meta), path("${meta.id}.majority.tsv") , emit: tsv + tuple val(meta), path("${meta.id}.targets.tsv") , emit: targets + tuple val(meta), path("${meta.id}.binding_sites.tsv") , emit: binding_sites + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when From a82d1f934a0b060cc76330f00a08f5f217b7dd0a Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Wed, 28 Aug 2024 18:02:56 +0200 Subject: [PATCH 02/53] adding sponge for testing --- modules/local/sponge/main.nf | 44 +++++ modules/local/sponge/templates/sponge.R | 212 ++++++++++++++++++++++++ 2 files changed, 256 insertions(+) create mode 100644 modules/local/sponge/main.nf create mode 100644 modules/local/sponge/templates/sponge.R diff --git a/modules/local/sponge/main.nf b/modules/local/sponge/main.nf new file mode 100644 index 00000000..1c56e457 --- /dev/null +++ b/modules/local/sponge/main.nf @@ -0,0 +1,44 @@ +process SPONGE { + tag "$meta.id" + label 'process_high' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'oras://community.wave.seqera.io/library/bioconductor-deseq2_bioconductor-sponge_r-doparallel_r-foreach_r-visnetwork:379bbce95f2c4913' : + 'community.wave.seqera.io/library/bioconductor-deseq2_bioconductor-sponge_r-doparallel_r-foreach_r-visnetwork:f38bbe7441604bcc' }" + + input: + tuple val(meta), path(binding_sites) + tuple val(meta), path(gene_expr) + tuple val(meta), path(mirna_expr) + + + output: + path "versions.yml" , emit: versions + path "sponge.RData" , emit: sponge_data + path "circRNAs_as_ceRNAs.tsv" , emit: cernas + path "total_plots.pdf" , emit: total_plots + path "simulation_plots.pdf" , emit: simulation_plots + path "circRNA_plots.pdf" , emit: circ_plots + + + when: + task.ext.when == null || task.ext.when + + script: + template 'sponge.R' + + stub: + """ + touch "sponge.RData" + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + bioconductor-deseq2: \$(Rscript -e "library(DESeq2); cat(as.character(packageVersion('DESeq2')))") + bioconductor-sponge: \$(Rscript -e "library(SPONGE); cat(as.character(packageVersion('SPONGE')))") + r-visnetwork: \$(Rscript -e "library(visNetwork); cat(as.character(packageVersion('visNetwork')))") + r-doparallel: \$(Rscript -e "library(doParallel); cat(as.character(packageVersion('doParallel')))") + r-foreach: \$(Rscript -e "library(foreach); cat(as.character(packageVersion('foreach')))") + END_VERSIONS + """ +} diff --git a/modules/local/sponge/templates/sponge.R b/modules/local/sponge/templates/sponge.R new file mode 100644 index 00000000..59ca8600 --- /dev/null +++ b/modules/local/sponge/templates/sponge.R @@ -0,0 +1,212 @@ +#!/usr/bin/env Rscript + +library(SPONGE) +library(visNetwork) +library(doParallel) +library(foreach) +library(DESeq2) + +circ_mRNA_subnetwork <- function(interactions, pattern) { + return(interactions[ + (grepl(pattern, interactions\$geneA) & !grepl(pattern, interactions\$geneB)) | + (grepl(pattern, interactions\$geneB) & !grepl(pattern, interactions\$geneA)), + ]) +} + +normalize_data <- function(data){ + samples <- colnames(data) + meta <- data.frame(row.names = samples) + data <- as.matrix(data) + dds <- DESeq2::DESeqDataSetFromMatrix(countData = round(data + 1), colData = meta, design = ~ 1) + dds <- DESeq2::estimateSizeFactors(dds) + return(DESeq2::counts(dds, normalized=TRUE)) +} + +# load binding sites matrix +bindingsites <- read.table("${binding_sites}", sep = "\\t", header = TRUE, check.names = FALSE) +rownames(bindingsites) <- bindingsites[, 1] +bindingsites <- bindingsites[, -1] +bindingsites_matrix <- as.matrix(bindingsites) + + +# load gene expression +genes <- read.csv("${gene_expr}", sep = "\\t", row.names = "tx") +genes <- subset(genes, select = -gene_id) +# prep for DESeq2 +gene_expr <- normalize_data(as.matrix(genes)) +gene_expr <- t(as.matrix(genes)) + + +# load mirna expression +mirna <- read.csv("${mirna_expr}", sep = "\\t", row.names = "miRNA") +mirna[is.na(mirna)] <- 0 +mir_expr <- t(as.matrix(mirna)) + + +# ensure that both matrices have the same samples +common_samples <- intersect(rownames(gene_expr), rownames(mir_expr)) + +# subset and reorder the rows (samples) of both matrices to match each other (as specified in SPONGE docs) +gene_expr <- gene_expr[common_samples, ] +mir_expr <- mir_expr[common_samples, ] + + +###################################### +# A # +###################################### +logging.file <- "sponge.log" +# number of cores from args +cores <- ${params.sponge_cpus} + +cl <- makeCluster(cores, outfile=logging.file) +registerDoParallel(cl) + +gene_expriRNA_candidates <- SPONGE::sponge_gene_miRNA_interaction_filter( + gene_expr = gene_expr, + mir_expr = mir_expr, + mir_predicted_targets = bindingsites_matrix, + F.test = FALSE, + coefficient.threshold = -0.01, + coefficient.direction = NULL +) + + + # F.test.p.adj.threshold = ${params.sponge_f_test_pval}, + # coefficient.threshold = ${params.sponge_coeff_threshold}, + # elastic.net = ("${params.sponge_elastic_net}" == "true") + +###################################### +# B # +###################################### +ceRNA_interactions <- SPONGE::sponge( + gene_expr = gene_expr, + mir_expr = mir_expr, + mir_interactions = gene_expriRNA_candidates +) + + +###################################### +# C # +###################################### + +mscor_null_model <- SPONGE::sponge_build_null_model( + number_of_datasets = 100, + number_of_samples = nrow(gene_expr) +) + +sim_plot <- SPONGE::sponge_plot_simulation_results(mscor_null_model) +pdf("simulation_plots.pdf") +plot(sim_plot) +dev.off() + +ceRNA_interactions_sign <- SPONGE::sponge_compute_p_values( + sponge_result = ceRNA_interactions, + null_model = mscor_null_model +) + +###################################### +# D # +###################################### +ceRNA_interactions_fdr <- ceRNA_interactions_sign[which(ceRNA_interactions_sign\$p.adj < ${params.sponge_fdr}), ] +min.interactions <- 5000 + +if (nrow(ceRNA_interactions_fdr) < min.interactions && nrow(ceRNA_interactions_sign) > min.interactions) { + print("Warning: fdr setting too strict, no significant interactions detected; min of padj is:") + print(min(ceRNA_interactions_sign\$p.adj)) + print("adjusting...") + fdr <- min(ceRNA_interactions_sign\$p.adj) * 1.01 + ceRNA_interactions_fdr <- ceRNA_interactions_sign[which(ceRNA_interactions_sign\$p.adj < fdr), ] + while(nrow(ceRNA_interactions_fdr) < min.interactions) { + fdr <- fdr * 1.01 + ceRNA_interactions_fdr <- ceRNA_interactions_sign[which(ceRNA_interactions_sign\$p.adj < fdr), ] + } + cat("adjusted fdr to :", fdr, "to allow for a minimum", min.interactions, "interactions", "\\n") + cat("current fdr relevant interactions:", nrow(ceRNA_interactions_fdr)) + ceRNA_interactions_fdr <- ceRNA_interactions_fdr[order(ceRNA_interactions_fdr\$p.adj), ] +} + +# MOST SIGNIFICANT SPONGES +network_centralities <- SPONGE::sponge_node_centralities(ceRNA_interactions_fdr) +ceRNA_interactions_weight <- ceRNA_interactions_fdr +ceRNA_interactions_weight\$weight <- -log10(ceRNA_interactions_fdr\$p.adj) +weighted_network_centralities <- SPONGE::sponge_node_centralities(ceRNA_interactions_weight) +weighed_network_plot <- SPONGE::sponge_plot_network_centralities(weighted_network_centralities, top = 3) +pdf("total_plots.pdf") +plot(weighed_network_plot) +dev.off() + +# CIRC RNA MRNA ONLY +circ_mRNA_only <- circ_mRNA_subnetwork(ceRNA_interactions_fdr, "circ") +write.table(circ_mRNA_only, "circRNAs_as_ceRNAs.tsv", sep = "\\t", row.names = FALSE) + +# TODO: REMOVE +write.table(ceRNA_interactions, "ceRNAs_interactions.tsv", sep = "\\t", row.names = FALSE) + +# NETWORK ANALYSIS CIRC +ceRNA_interactions_circ_weight <- circ_mRNA_only +ceRNA_interactions_circ_weight\$weight <- -log10(circ_mRNA_only\$p.val) +weighted_network_centralities_circ <- SPONGE::sponge_node_centralities(ceRNA_interactions_circ_weight) + +# plot top n samples +n = 10 # TODO: param + +# betweeness +top_network_plot_btw <- SPONGE::sponge_plot_network_centralities( + weighted_network_centralities_circ, + top = n, + measure = "btw" +) + +# eigenvector +top_network_plot_ev <- SPONGE::sponge_plot_network_centralities( + weighted_network_centralities_circ, + top = n, + measure = "ev" +) + +# counts +top_network_plot_c <- SPONGE::sponge_plot_network_centralities( + weighted_network_centralities_circ, + top = n, + measure = "count" +) + +pdf("circRNA_plots.pdf") +plot(top_network_plot_btw) +plot(top_network_plot_ev) +plot(top_network_plot_c) +dev.off() +stopCluster(cl) + +# save R objects for sponge effects +save.image(file = "sponge.RData") + +################################################ +################################################ +## VERSIONS FILE ## +################################################ +################################################ + +deseq2.version <- as.character(packageVersion('DESeq2')) +sponge.version <- as.character(packageVersion('SPONGE')) +visnetwork.version <- as.character(packageVersion('visNetwork')) +doparallel.version <- as.character(packageVersion('doParallel')) +foreach.version <- as.character(packageVersion('foreach')) + +writeLines( + c( + '"${task.process}":', + paste(' bioconductor-deseq2:', deseq2.version), + paste(' bioconductor-sponge:', sponge.version), + paste(' r-visnetwork:', visnetwork.version), + paste(' r-doparallel:', doparallel.version), + paste(' r-foreach:', foreach.version) + ), +'versions.yml') + + +################################################ +################################################ +################################################ +################################################ +################################################ From 0548d99a5f094be9ab5e9c2f82e233cce5362f70 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Wed, 28 Aug 2024 18:03:55 +0200 Subject: [PATCH 03/53] changing process label for circ annotate to medium --- modules/nf-core/circexplorer2/annotate/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/nf-core/circexplorer2/annotate/main.nf b/modules/nf-core/circexplorer2/annotate/main.nf index 0e9fa0a0..8374a835 100644 --- a/modules/nf-core/circexplorer2/annotate/main.nf +++ b/modules/nf-core/circexplorer2/annotate/main.nf @@ -1,6 +1,6 @@ process CIRCEXPLORER2_ANNOTATE { tag "$meta.id" - label 'process_low' + label 'process_medium' conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? From 6fb5a6eebad625678e14a076878ee357f45c7b0e Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Wed, 28 Aug 2024 18:04:25 +0200 Subject: [PATCH 04/53] passing transcript counts through pipeline to sponge --- subworkflows/local/mirna/mirna_bindingsites.nf | 3 ++- subworkflows/local/mirna_prediction.nf | 12 ++++++++---- workflows/circrna/main.nf | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/subworkflows/local/mirna/mirna_bindingsites.nf b/subworkflows/local/mirna/mirna_bindingsites.nf index f6633ee5..e03bf0b7 100644 --- a/subworkflows/local/mirna/mirna_bindingsites.nf +++ b/subworkflows/local/mirna/mirna_bindingsites.nf @@ -79,7 +79,8 @@ workflow MIRNA_BINDINGSITES { ch_versions = ch_versions.mix(MAJORITY_VOTE.out.versions) emit: - binding_sites = MAJORITY_VOTE.out.targets + targets = MAJORITY_VOTE.out.targets + binding_sites = MAJORITY_VOTE.out.binding_sites versions = ch_versions } diff --git a/subworkflows/local/mirna_prediction.nf b/subworkflows/local/mirna_prediction.nf index b3fc46cc..dfa2c224 100644 --- a/subworkflows/local/mirna_prediction.nf +++ b/subworkflows/local/mirna_prediction.nf @@ -3,6 +3,7 @@ include { BIOAWK as ADD_BACKSPLICE } from '../../modules/nf-core/bioawk' include { DESEQ2_NORMALIZATION } from '../../modules/local/deseq2/normalization' include { MIRNA_FILTERING } from '../../modules/local/mirna_filtering' include { COMPUTE_CORRELATIONS } from '../../modules/local/compute_correlations' +include { SPONGE } from '../../modules/local/sponge' // SUBWORKFLOWS include { MIRNA_BINDINGSITES } from './mirna/mirna_bindingsites' @@ -14,8 +15,8 @@ workflow MIRNA_PREDICTION { circrna_annotation ch_mature ch_mirna - transcript_counts quantification_rds + tx_counts main: ch_versions = Channel.empty() @@ -26,7 +27,7 @@ workflow MIRNA_PREDICTION { if (params.mirna_expression) { - ch_mirna_normalized = DESEQ2_NORMALIZATION( ch_mirna ).normalized + ch_mirna_normalized = DESEQ2_NORMALIZATION(ch_mirna).normalized ch_versions = ch_versions.mix(DESEQ2_NORMALIZATION.out.versions) @@ -59,14 +60,14 @@ workflow MIRNA_PREDICTION { .map{ it -> [[id: 'mature_filtered'], it]} } - MIRNA_BINDINGSITES( transcriptome_fasta, circrna_annotation, ch_mature ) + MIRNA_BINDINGSITES(transcriptome_fasta, circrna_annotation, ch_mature) ch_versions = ch_versions.mix(MIRNA_BINDINGSITES.out.versions) if (params.mirna_expression) { // // COMPUTE CORRELATION: // - ch_binding_site_batches = MIRNA_BINDINGSITES.out.binding_sites + ch_binding_site_batches = MIRNA_BINDINGSITES.out.targets .splitText(by: 100, file: true) .map{ meta, file -> [[id: "batch_" + file.baseName.split("\\.").last()], file]} @@ -80,6 +81,9 @@ workflow MIRNA_PREDICTION { ch_versions = ch_versions.mix(COMPUTE_CORRELATIONS.out.versions) } + // if (params.sponge) + SPONGE(MIRNA_BINDINGSITES.out.binding_sites, tx_counts, ch_mirna_filtered) + emit: versions = ch_versions } diff --git a/workflows/circrna/main.nf b/workflows/circrna/main.nf index 435fc0b2..0da695ff 100644 --- a/workflows/circrna/main.nf +++ b/workflows/circrna/main.nf @@ -176,7 +176,7 @@ workflow CIRCRNA { BSJ_DETECTION.out.bed12, ch_mature, ch_mirna, - QUANTIFICATION.out.circ, + QUANTIFICATION.out.tx_counts, QUANTIFICATION.out.rds ) ch_versions = ch_versions.mix(MIRNA_PREDICTION.out.versions) From 24f139b11f9d006c0b90b98d4eeb01821b040664 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Wed, 28 Aug 2024 18:04:32 +0200 Subject: [PATCH 05/53] adding sponge params --- nextflow.config | 17 +++++++++ nextflow_schema.json | 84 +++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 100 insertions(+), 1 deletion(-) diff --git a/nextflow.config b/nextflow.config index e74c8867..10235132 100644 --- a/nextflow.config +++ b/nextflow.config @@ -78,6 +78,23 @@ params { //> MISC save_unaligned = false seq_center = null + + // MIRNA options + + //> MIRNA processing + mirna_expression = null + mirna_min_reads = 5 + mirna_min_sample_percentage = 0.2 + mirna_tools = 'miranda,targetscan' + mirna_tool_filter = 1 + mirna_correlation = 'pearson' + + //> SPONGE + sponge_fdr = 0.01 + sponge_cpus = 12 + sponge_f_test_pval = 0.05 + sponge_coeff_threshold = -0.05 + sponge_elastic_net = true // MultiQC options skip_fastqc = false diff --git a/nextflow_schema.json b/nextflow_schema.json index 6250658f..93a30639 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -163,7 +163,7 @@ "description": "Minimum number of reads, a miRNA is required to have to pass filtering.", "help_text": "This parameter determines the minimum number of reads that a miRNA must have to pass filtering. The default is 5, meaning a miRNA must have at least 5 reads across the samples to be considered for analysis.", "default": 5, - "minimum": 0 + "minimum": 1 }, "mirna_correlation": { "type": "string", @@ -173,6 +173,88 @@ "default": "pearson", "pattern": "^(pearson|spearman)$" }, + "sponge_fdr": { + "type": "number", + "fa_icon": "fas fa-circle-notch", + "description": "", + "help_text": "FDR rate for ceRNA networks.", + "default": 0.01 + }, + "sponge_cpus": { + "type": "integer", + "fa_icon": "fas fa-circle-notch", + "description": "", + "help_text": "Number of cores to use for parallelization.", + "default": 12 + }, + "sponge_f_test_pval": { + "type": "number", + "fa_icon": "fas fa-circle-notch", + "description": "If F.test is TRUE, threshold to use for miRNAs to be included.", + "help_text": "Option to filter with different f test p values.", + "default": 0.05 + }, + "sponge_coeff_threshold": { + "type": "number", + "fa_icon": "fas fa-circle-notch", + "description": "Threshold to cross for a regression coefficient to be called significant.", + "help_text": "Option to filter with different coefficient thresholds.", + "default": -0.05, + "minimum": -1 + }, + "sponge_elastic_net": { + "type": "boolean", + "fa_icon": "fas fa-circle-notch", + "description": "Determins whether to apply elastic net regression filtering or not.", + "help_text": "Option to filter with elastic net.", + "default": true + } + } + }, + "discovery_options": { + "title": "Discovery Options", + "type": "object", + "fa_icon": "fas fa-circle-notch", + "description": "Parameters for circrna discovery.", + "required": ["tools"], + "properties": { + "tools": { + "type": "string", + "fa_icon": "fas fa-wrench", + "description": "Comma separated list of circRNA quantification tools to use. Supported tools: ciriquant, circexplorer2, find_circ, circrna_finder, mapsplice, dcc, segemehl", + "pattern": "^(ciriquant|circexplorer2|find_circ|circrna_finder|mapsplice|dcc|segemehl)(,(ciriquant|circexplorer2|find_circ|circrna_finder|mapsplice|dcc|segemehl))*$", + "help_text": "Select one or a combination of circRNA quantification tools for the pipeline e.g:\n--tool 'circexplorer2, ciriquant, find_circ'\n\nN.B: Selecting more than one circRNA quantification tool will trigger the circRNA filtering parameter --tool_filter", + "default": "circexplorer2" + }, + "bsj_reads": { + "type": "integer", + "fa_icon": "fas fa-circle-notch", + "description": "Minimum number of reads spanning circRNA back-splice junction required for circRNA to be output by workflow.", + "help_text": "Filter low confidence circRNAs by removing circRNAs with read counts below a specified value. To disable, set the value to 1 (default).", + "default": 1, + "minimum": 1 + }, + "tool_filter": { + "type": "integer", + "fa_icon": "fas fa-intersection", + "description": "Specify the minimum number of tools circRNAs must be called by to be output by the workflow.", + "help_text": "When multiple circRNA quantification tools have been provided to `--tool`, set a filtering method whereby circRNAs are output if they have been called by at least *n* quantification tools.\n\nSetting `--tool_filter` to 1 is the same as taking the union, all circRNAs are included in the output.\n\nSetting `--tool_filter` to 2 will output circRNAs that have been called by at least 2 quantification tools and so on.", + "default": 1, + "minimum": 1, + "maximum": 7 + }, + "save_intermediates": { + "type": "boolean", + "description": "Save intermediate alignment/circRNA files.", + "default": false, + "fa_icon": "fas fa-save" + }, + "exon_boundary": { + "type": "integer", + "description": "Specify the distance at which the annotation script decides if a candidate is a circRNA or EI-circRNA.", + "help_text": "During annotation, if one of the start or end position of a circular candidate imperfectly overlaps an exon boundary, the script will consider positions within 'exon_boundary' (default 0bp) to be an exonic circRNA. If they fall outside of this range, the candidate is assumed to be an exonic-intronic circRNA, and the entire underlying sequence is taken for miRNA analysis, as opposed to just the exonic sequences for canonical exonic circRNAs. ", + "default": 0 + }, "mirna_tools": { "type": "string", "fa_icon": "fas fa-wrench", From e987ac11041b18efb4ff79668ce6f883117cf2f0 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 5 Sep 2024 18:12:25 +0200 Subject: [PATCH 06/53] adjusting output to match spongeEffects input --- modules/local/sponge/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/local/sponge/main.nf b/modules/local/sponge/main.nf index 1c56e457..4edaccb0 100644 --- a/modules/local/sponge/main.nf +++ b/modules/local/sponge/main.nf @@ -15,7 +15,7 @@ process SPONGE { output: path "versions.yml" , emit: versions - path "sponge.RData" , emit: sponge_data + tuple val(meta), path("sponge.RData") , emit: sponge_data path "circRNAs_as_ceRNAs.tsv" , emit: cernas path "total_plots.pdf" , emit: total_plots path "simulation_plots.pdf" , emit: simulation_plots From 77b52dc4ecda04aa849b2158c67c31d033ae5545 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 5 Sep 2024 18:12:58 +0200 Subject: [PATCH 07/53] adding sponge effects for testing --- modules/local/sponge_effects/main.nf | 41 ++ .../sponge_effects/templates/sponge_effects.R | 696 ++++++++++++++++++ nextflow.config | 12 + nextflow_schema.json | 83 +++ subworkflows/local/mirna_prediction.nf | 4 + 5 files changed, 836 insertions(+) create mode 100644 modules/local/sponge_effects/main.nf create mode 100644 modules/local/sponge_effects/templates/sponge_effects.R diff --git a/modules/local/sponge_effects/main.nf b/modules/local/sponge_effects/main.nf new file mode 100644 index 00000000..6c24c7ae --- /dev/null +++ b/modules/local/sponge_effects/main.nf @@ -0,0 +1,41 @@ +process SPONGE_EFFECTS { + tag "$meta.id" + label 'process_high' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'oras://community.wave.seqera.io/library/bioconductor-rtracklayer_bioconductor-sponge_r-base_r-doparallel_pruned:16ef0e7778b29e70' : + 'community.wave.seqera.io/library/bioconductor-rtracklayer_bioconductor-sponge_r-base_r-doparallel_pruned:74e394923e2c369a' }" + + input: + tuple val(meta), path(sponge_data) + + output: + // TODO + + + when: + task.ext.when == null || task.ext.when + + script: + template 'sponge_effects.R' + + stub: + """ + touch "test.txt" + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + bioconductor-rtracklayer: \$(Rscript -e "library(foreach); cat(as.character(packageVersion('foreach')))") + bioconductor-sponge: \$(Rscript -e "library(SPONGE); cat(as.character(packageVersion('SPONGE')))") + r-doparallel: \$(Rscript -e "library(doParallel); cat(as.character(packageVersion('doParallel')))") + r-dplyr: \$(Rscript -e "library(dplyr); cat(as.character(packageVersion('dplyr')))") + r-foreach: \$(Rscript -e "library(foreach); cat(as.character(packageVersion('foreach')))") + r-ggplot2: \$(Rscript -e "library(ggplot2); cat(as.character(packageVersion('ggplot2')))") + r-ggpubr: \$(Rscript -e "library(ggpubr); cat(as.character(packageVersion('ggpubr')))") + r-pheatmap: \$(Rscript -e "library(pheatmap); cat(as.character(packageVersion('pheatmap')))") + r-reshape2: \$(Rscript -e "library(reshape2); cat(as.character(packageVersion('reshape2')))") + r-visnetwork: \$(Rscript -e "library(visNetwork); cat(as.character(packageVersion('visNetwork')))") + END_VERSIONS + """ +} diff --git a/modules/local/sponge_effects/templates/sponge_effects.R b/modules/local/sponge_effects/templates/sponge_effects.R new file mode 100644 index 00000000..78ccf733 --- /dev/null +++ b/modules/local/sponge_effects/templates/sponge_effects.R @@ -0,0 +1,696 @@ +#!/usr/bin/env Rscript + +if(!require(pacman)) install.packages("pacman", repos = "http://cran.us.r-project.org") +pacman::p_load(SPONGE, doParallel, foreach, dplyr, visNetwork, pheatmap, ggplot2, reshape2, ggpubr, rtracklayer) + +######################## +## GENERAL FUNCTIONS ### +######################## +# plot ceRNA network with gene annotations +plot_network <- function(ceRNA_network, signif_hits = NULL, + gtf = NULL, annotation = NULL) { + # plot network + ceRNA_plot <- sponge_plot_network(ceRNA_network, genes_miRNA_candidates, ) %>% + visNetwork::visEdges(arrows = list(to = list(enabled = TRUE, scaleFactor = 1))) + + ceRNA_plot\$x\$edges\$label <- paste("mscor:", round(ceRNA_network\$mscor, 2)) + + # extract nodes and edges for customization + nodes <- ceRNA_plot\$x\$nodes + edges <- ceRNA_plot\$x\$edges + + # mark differentially expressed RNAs + if (!is.null(signif_hits)){ + nodes[nodes\$id %in% hgncs\$hgnc_symbol | nodes\$id %in% signif_hits\$X,"group"] <- "DE" + } + if (!is.null(gtf)) { + gtf <- rtracklayer::readGFF(gtf) + annotation <- unique(gtf[!is.na(gtf\$transcript_id),c("gene_id", "gene_name", "gene_type")]) + colnames(annotation) <- c("ensembl_gene_id", "hgnc_symbol", "gene_type") + rownames(annotation) <- annotation\$ensembl_gene_id + } + if (!is.null(annotation)){ + # break types of RNA down to lncRNA, coding, and rest + annotation\$gene_type[annotation\$gene_type != "protein_coding" & annotation\$gene_type != "lncRNA"] <- "other_RNA" + + nodes <- merge(nodes, annotation, by = 1, all.x = TRUE) + + # change to hgnc + nodes[!is.na(nodes\$hgnc_symbol), 1:2] <- nodes[!is.na(nodes\$hgnc_symbol), "hgnc_symbol"] + + # add circRNA as gene_type + nodes[is.na(nodes\$gene_type) & !grepl("ENSG", nodes\$id), "gene_type"] <- "circRNA" + # label unknown RNAs as other + nodes[is.na(nodes\$gene_type), "gene_type"] <- "other_RNA" + # remove preset color and shape + nodes <- nodes[, -c(3,4)] + # change to group + colnames(nodes)[8] <- "group" + + # convert geneA and geneB + edges <- merge(edges, annotation, by.x = "from", by.y = 1, all.x = TRUE) + edges[!is.na(edges\$hgnc_symbol), "from"] <- edges\$hgnc_symbol[!is.na(edges\$hgnc_symbol)] + edges <- merge(edges, annotation, by.x = "to", by.y = 1, all.x = TRUE) + edges[!is.na(edges\$hgnc_symbol.y), "to"] <- edges\$hgnc_symbol.y[!is.na(edges\$hgnc_symbol.y)] + } + # plot final graph + graph <- visNetwork(nodes = nodes, edges = edges) %>% + visIgraphLayout(type = "full", physics = FALSE) %>% + visGroups(groupname = "circRNA", shape = "rectangle", color = "#33FF99") %>% + visGroups(groupname = "protein_coding", shape = "triangle", color = "#0066CC") %>% + visGroups(groupname = "lncRNA", shape = "square", color = "#F8766D") %>% + visGroups(groupname = "other_RNA", color = "#DC71FA", shape = "diamond") %>% + visGroups(groupname = "DE", color = "#CC3333") %>% + visLegend() + return(graph) +} + + +circ.mRNA.subnetwork <- function(interactions, pattern){ + return(interactions[ + (grepl(pattern, interactions\$geneA) & !grepl(pattern, interactions\$geneB)) | + (grepl(pattern, interactions\$geneB) & !grepl(pattern, interactions\$geneA)), + ]) +} + +# plot model performance (spongEffects) +plot_performance <- function (trained_model, central_genes_model = NULL, + random_model, training_dataset_name = "TCGA", + testing_dataset_name = "TCGA", subtypes){ + trained.model <- trained_model + CentralGenes.model <- central_genes_model + Random.model <- random_model + training_string <- paste0(training_dataset_name, " (Training)") + testing_string <- paste0(testing_dataset_name, " (Testing)") + set_names <- c(training_string, testing_string) + SpongingActiivty.model <- trained_model + + if (!is.null(central_genes_model)) { + Accuracy.df <- data.frame( + Run = rep(set_names, 3), + Model = c(rep("Modules", 2), rep("Central Genes", 2), rep("Random", 2)), + Accuracy = c( + SpongingActiivty.model\$ConfusionMatrix_training[["overall"]][["Accuracy"]], + SpongingActiivty.model\$ConfusionMatrix_testing[["overall"]][["Accuracy"]], + CentralGenes.model\$ConfusionMatrix_training[["overall"]][["Accuracy"]], + CentralGenes.model\$ConfusionMatrix_testing[["overall"]][["Accuracy"]], + Random.model\$ConfusionMatrix_training[["overall"]][["Accuracy"]], + Random.model\$ConfusionMatrix_testing[["overall"]][["Accuracy"]] + ) + ) + Accuracy.df\$Model <- factor(Accuracy.df\$Model, levels = c("Modules", "Random", "Central Genes")) + Accuracy.df\$Run <- factor(Accuracy.df\$Run, levels = set_names) + } + else { + Accuracy.df <- data.frame( + Run = rep(set_names, 2), + Model = c(rep("Modules", 2), + rep("Random", 2)), + Accuracy = c( + SpongingActiivty.model\$ConfusionMatrix_training[["overall"]][["Accuracy"]], + SpongingActiivty.model\$ConfusionMatrix_testing[["overall"]][["Accuracy"]], + Random.model\$ConfusionMatrix_training[["overall"]][["Accuracy"]], + Random.model\$ConfusionMatrix_testing[["overall"]][["Accuracy"]] + ) + ) + Accuracy.df\$Model <- factor(Accuracy.df\$Model, levels = c("Modules", "Random")) + Accuracy.df\$Run <- factor(Accuracy.df\$Run, levels = set_names) + } + Accuracy.plot <- Accuracy.df %>% ggplot(aes(x = Accuracy, y = Model)) + + geom_line(aes(group = Model)) + + geom_point(aes(shape = Run)) + + theme_light() + + xlab("Subset Accuracy") + + ylab("") + + theme_bw() + Metrics.SpongeModules.training <- SpongingActiivty.model\$ConfusionMatrix_training\$byClass[,"Balanced Accuracy"] %>% + as.data.frame() %>% mutate(Model = "Modules") %>% tibble::rownames_to_column("Class") + colnames(Metrics.SpongeModules.training) = c("Class", "Value", "Model") + Metrics.Random.training <- Random.model\$ConfusionMatrix_training\$byClass[, "Balanced Accuracy"] %>% + as.data.frame() %>% mutate(Model = "Random") %>% tibble::rownames_to_column("Class") + colnames(Metrics.Random.training) = c("Class", "Value", "Model") + if (!is.null(central_genes_model)) { + Metrics.CentralGenes.training <- CentralGenes.model\$ConfusionMatrix_training[["byClass"]][c(1:length(unique(subtypes)))] %>% + as.data.frame() %>% mutate(Model = "Central Genes") %>% + tibble::rownames_to_column("Class") + colnames(Metrics.CentralGenes.training) = c("Class", "Value", "Model") + Metrics.training <- rbind( Metrics.SpongeModules.training, rbind( Metrics.Random.training, Metrics.CentralGenes.training)) %>% mutate(Run = training_string) + } + else { + Metrics.training <- rbind(Metrics.SpongeModules.training, Metrics.Random.training) %>% mutate(Run = training_string) + } + Metrics.SpongeModules.testing <- SpongingActiivty.model\$ConfusionMatrix_testing\$byClass[, "Balanced Accuracy"] %>% + as.data.frame() %>% mutate(Model = "Modules") %>% tibble::rownames_to_column("Class") + colnames(Metrics.SpongeModules.testing) = c("Class", "Value", "Model") + Metrics.Random.testing <- Random.model\$ConfusionMatrix_testing\$byClass[, "Balanced Accuracy"] %>% + as.data.frame() %>% mutate(Model = "Random") %>% tibble::rownames_to_column("Class") + colnames(Metrics.Random.testing) = c("Class", "Value", "Model") + if (!is.null(central_genes_model)) { + Metrics.CentralGenes.testing <- CentralGenes.model\$ConfusionMatrix_testing[["byClass"]][c(1:length(unique(subtypes)))] %>% + as.data.frame() %>% mutate(Model = "Central Genes") %>% tibble::rownames_to_column("Class") + colnames(Metrics.CentralGenes.testing) = c("Class", "Value", "Model") + Metrics.testing <- rbind(Metrics.SpongeModules.testing, rbind(Metrics.Random.testing, Metrics.CentralGenes.testing)) %>% + mutate(Run = testing_string) + } + else { + Metrics.testing <- rbind(Metrics.SpongeModules.testing, Metrics.Random.testing) %>% mutate(Run = testing_string) + } + Metrics <- rbind(Metrics.training, Metrics.testing) + if (!is.null(central_genes_model)) { + Metrics\$Model <- factor(Metrics\$Model, levels = c("Modules", "Random", "Central Genes")) + } + else { + Metrics\$Model <- factor(Metrics\$Model, levels = c("Modules", "Random")) + } + Metrics\$Run <- factor(Metrics\$Run, levels = set_names) + Metrics\$Class <- gsub("Class: ", "", Metrics\$Class) + Metrics.plot <- Metrics %>% ggplot(aes(x = Class, y = Value, fill = Model)) + + geom_bar(position = "dodge", stat = "identity", width = 0.5) + + facet_grid(Metrics\$Run) + + xlab("Accuracy") + + ylab("") + theme_bw() + metric_plots <- ggarrange(Accuracy.plot, Metrics.plot, ncol = 1, nrow = 2) + return(metric_plots) +} + +# plot lollipop (spongEffects) +plot_modules <- function (trained_model, + k_modules = 25, + k_modules_red = 10, + text_size = 16){ + final.model <- trained_model\$Model\$finalModel + Variable.importance <- importance(final.model) %>% as.data.frame() %>% + tibble::rownames_to_column("Module") %>% arrange(desc(MeanDecreaseGini)) + grey_modules = k_modules - k_modules_red + p <- Variable.importance[1:k_modules, ] %>% + mutate(Analysed = c(rep("1", k_modules_red), rep("0", grey_modules))) %>% + arrange(desc(MeanDecreaseGini)) %>% + ggplot(aes(x = reorder(Module, MeanDecreaseGini), y = MeanDecreaseGini)) + + geom_point() + + geom_segment(aes(x = Module, xend = Module, y = 0, yend = MeanDecreaseGini, color = Analysed)) + + scale_colour_manual(values = c("red", "black"), breaks = c("1", "0")) + + coord_flip() + + xlab("Module") + + ylab("Mean decrease in Gini index") + + theme_light() + + theme(panel.grid.major.x = element_blank(), + panel.grid.minor.x = element_blank(), axis.ticks.y = element_blank(), + legend.title = element_blank(), legend.position = "none", + legend.background = element_blank(), legend.direction = "horizontal", + panel.border = element_rect(colour = "black", fill = NA, size = 1), text = element_text(size = 16)) + return(p) +} + +# Training heat map (spongEffects) +plot_hmap <- function (trained_model, + spongEffects, + meta_data, + label, + sampleIDs, + Modules_to_Plot = 5, + show.rownames = F, + show.colnames = F){ + if (label %in% colnames(meta_data) & sampleIDs %in% colnames(meta_data)) { + final.model <- trained_model\$Model\$finalModel + Variable.importance <- importance(final.model) %>% as.data.frame() %>% + tibble::rownames_to_column("Module") %>% arrange(desc(MeanDecreaseGini)) + Variable.importance\$Module <- gsub("`", "", Variable.importance\$Module) + Annotation.meta <- meta_data[match(colnames(spongEffects), meta_data[, sampleIDs]), ] + unique_subtypes <- unique(Annotation.meta\$label) + number_groups <- length(unique_subtypes) + col.heatmap <- met.brewer("Renoir", n = number_groups, type = "continuous") + col.heatmap <- as.vector(col.heatmap) + col.heatmap <- setNames(col.heatmap, unique_subtypes) + col.heatmap <- cell.colors + Column.Annotation <- HeatmapAnnotation(Group = Annotation.meta[, label], col = list(Group = col.heatmap)) + spongeEffects.toPlot <- spongEffects[match(Variable.importance\$Module, rownames(spongEffects)), ] + spongeEffects.toPlot <- spongeEffects.toPlot[rowSums(is.na(spongeEffects.toPlot)) == 0, ] + if (Modules_to_Plot > length(rownames(spongeEffects.toPlot))) + Modules_to_Plot = length(rownames(spongeEffects.toPlot)) + spongeEffects.toPlot <- spongeEffects.toPlot[1:Modules_to_Plot, ] + Heatmap.p <- spongeEffects.toPlot %>% t() %>% scale() %>% + t() %>% Heatmap(show_row_names = show.rownames, + show_column_names = show.colnames, + top_annotation = Column.Annotation, + show_heatmap_legend = TRUE) + return(Heatmap.p) + } + else { + print("label and/or sampleIDs must be columns in metadata") + } +} + +# Target gene heat map (spongEffects) +plot_target_gene_expressions <- function(target, target_genes, + gene_expression, meta, + log_transform = TRUE, + pseudocount = 1, gtf_raw = NULL, + annotation = NULL, + split = "condition", unit = "counts", + show_rows = TRUE, + annotation_colors = NULL){ + # get target expression + target_expression <- gene_expression[ ,target, drop = FALSE] + # get target genes expressions + target_genes_expression <- gene_expression[ ,target_genes] + # combine into one + data <- t(cbind(target_expression, target_genes_expression)) + # save all conditions of samples + conditions <- unique(meta[,split]) + + # convert to hgnc if gtf is given + if (!is.null(gtf_raw)) { + print("reading GTF file and converting to HGNC symbols...") + gtf <- rtracklayer::readGFF(gtf) + gene.ens.all <- unique(gtf[!is.na(gtf\$transcript_id), c("gene_id", "gene_name")]) + colnames(gene.ens.all) <- c("ensembl_gene_id", "hgnc_symbol") + rownames(gene.ens.all) <- gene.ens.all\$ensembl_gene_id + # convert + annotation = gene.ens.all + } + if (!is.null(annotation)){ + ensgs <- rownames(data) + ensgs <- merge(ensgs, annotation, by = 1, all.x = TRUE) + ensgs[!is.na(ensgs\$hgnc_symbol),"x"] <- ensgs[!is.na(ensgs\$hgnc_symbol), "hgnc_symbol"] + rownames(data) <- ensgs\$x + } + # heat color scheme + colors <- c(colorRampPalette(c("blue", "orange"))(100), colorRampPalette(c("orange", "red"))(100)) + # annotation colors are given + if (!is.null(annotation_colors)) { + annotation.colors <- annotation_colors + } else { + annotation.colors <- hcl.colors(length(conditions), palette = hcl.pals(type = "diverging")[12]) + } + # name colors + names(annotation.colors) <- conditions + a_c <- list(x = annotation.colors) + names(a_c) <- split + + if (log_transform) { + data = log2(data + pseudocount) + } + colnames(data) <- gsub("\\\\.", "-", colnames(data)) + label <- paste0("Module ", unit, " expression for: ", target) + # create annotation for heat map + df <- data.frame(meta[,c("sample", split)], row.names = 1) + pheatmap::pheatmap(data, treeheight_row = 0, treeheight_col = 0, + show_colnames = FALSE, show_rownames = show_rows, + cluster_rows = TRUE, cluster_cols = TRUE, + color = colors, annotation_col = df, + annotation_colors = a_c, + main = label, fontsize_row = 10) +} + +# plot expression of miRNAs in module for specific RNA (no negative values!) +plot_miRNAs_per_gene <- function(target, genes_miRNA_candidates, + mir_expr, meta, + log_transform = TRUE, pseudocount = 1e-3, + unit = "counts", split = "condition", + annotation_colors = NULL){ + # extract miRNAs associated with given RNA + candidates <- genes_miRNA_candidates[[target]] + miRNAs <- candidates[["mirna"]] + miRNA_expr <- mir_expr[ ,miRNAs] + + # sum all expressions for the given conditions + miRNA_expr <- merge(miRNA_expr, meta[ ,c("sample", split)], by.x = 0, by.y = "sample") + miRNA_expr <- data.frame(miRNA_expr, row.names = 1, check.names = FALSE) + miRNA_expr <- aggregate(miRNA_expr[ ,1:(ncol(miRNA_expr)-1)], list(condition = miRNA_expr[ ,split]), FUN=sum) + miRNA_expr <- t(data.frame(miRNA_expr, row.names = 1)) + miRNA_expr <- melt(miRNA_expr, id.vars = "x", varnames = c("miRNA", "variable")) + miRNA_expr\$miRNA <- gsub("\\\\.", "-", miRNA_expr\$miRNA) + + # label + label <- paste0("miRNA ", unit, " over samples") + # log transform if given + if (log_transform){ + miRNA_expr\$value <- log10(miRNA_expr\$value + pseudocount) + label <- paste0("log10 + ", pseudocount, " ", label) + } + # annotation colors are given + if (!is.null(annotation_colors)) { + annotation.colors <- annotation_colors + } else { + annotation.colors <- hcl.colors(length(conditions), palette = hcl.pals(type = "diverging")[12]) + } + # name colors + names(annotation.colors) <- conditions + # two bar plots in one + bars <- ggplot(miRNA_expr, aes(y=miRNA, x=value, fill=variable)) + + ggtitle(target) + + geom_bar(stat='identity', position='dodge') + + xlab(label) + + scale_fill_manual(values = annotation.colors, name = "Condition") + return(bars) +} + +#---------------------------OUTPUT DIR-------------------------------- +ROOT = "." +# create plot directory +PLOT_DIR = file.path(ROOT, "plots") +dir.create(PLOT_DIR, recursive = TRUE, showWarnings = FALSE) +#---------------------------SPONGE DATA------------------------------- +print("loading SPONGE data...") +load("${sponge_data}") # input from pipeline + +#---------------------------GTF DATA---------------------------------- +gtf <- rtracklayer::readGFF("${params.gtf}") +gene.ens.all <- unique(gtf[!is.na(gtf\$transcript_id),c("gene_id", "transcript_id", "gene_name")]) +print("loaded gtf") +colnames(gene.ens.all) <- c("ensembl_gene_id", "hgnc_symbol", "gene_type") +rownames(gene.ens.all) <- gene.ens.all\$hgnc_symbol + +#---------------------------PARAMETERS-------------------------------- +mscor.threshold = 0.001 # "${params.sponge_ef_mscor}" +padj.threshold = 0.7 # "${params.sponge_ef_fdr}" +modules_cutoff = "${params.sponge_ef_enrichment_modules}" +bin.size = "${params.sponge_ef_enrichment_bins}" +min.size = "${params.sponge_ef_enrichment_min}" +max.size = "${params.sponge_ef_enrichment_max}" +min.expr = "${params.sponge_ef_enrichment_expr}" +method = "${params.sponge_ef_enrichment_method}" +split_training = "${params.sponge_ef_training}" +folds = "${params.sponge_ef_folds}" + +#---------------------------PARALLEL BACKGROUND----------------------- +num.of.cores <- 8 +cl <- makeCluster(num.of.cores) +registerDoParallel(cl) + +#---------------------------META FILE/ CONDITIONS--------------------- +meta <- read.csv(file = "${params.input}") + +#---------------------------EXTENDING META---------------------------- +phenotype <- read.csv("${params.phenotype}") +meta <- merge(meta, phenotype, by = "sample") + + +# ----------------EXPRESSION SPLITTING-------------------------------- +n.train <- round(nrow(meta)*split_training) +n.test <- round(nrow(meta)-n.train) + +# randomize samples +meta <- meta[sample(1:nrow(meta)), ] +# take n samples from each group +cond.split <- split(meta, meta\$condition) +cond.ratio <- round(sapply(cond.split, function(x) nrow(x) * split_training)) +train.meta <- data.table::rbindlist(mapply(function(x,y) x[1:y,], cond.split, cond.ratio, SIMPLIFY = FALSE)) +colnames(train.meta) <- c("sampleIDs", c(colnames(train.meta)[3:length(train.meta) - 1], "label")) +test.meta <- data.table::rbindlist(mapply(function(x,y) x[(y + 1):nrow(x), ], cond.split, cond.ratio, SIMPLIFY = FALSE)) +colnames(test.meta) <- c("sampleIDs", c(colnames(test.meta)[3:length(test.meta)], "label")) + +rownames(gene_expr) <- gsub("\\\\.", "-", rownames(gene_expr)) # MALTE TODO: check if this translates to \\ in work dir +# train gene expression; split_training of samples +train_gene_expr <- gene_expr[rownames(gene_expr) %in% train.meta\$sampleIDs, ] +train_gene_expr <- t(train_gene_expr) +# test gene expression; rest of samples +test_gene_expr <- gene_expr[rownames(gene_expr) %in% test.meta\$sampleIDs, ] +test_gene_expr <- t(test_gene_expr) + +# train miRNA expression +train_mirna_expr <- mir_expr[rownames(mir_expr) %in% train.meta\$sampleIDs, ] +# test miRNA expression +test_mirna_expr <- mir_expr[rownames(mir_expr) %in% test.meta\$sampleIDs, ] + +#-------------------------CE RNA SPLITTING------------------------ +# MALTE TODO: no circ interactions -> empty df +# MALTE TODO: hard code path for now in template +ceRNA_interactions_sign <- read.table("/nfs/home/students/mweyrich/sponge/ceRNA_interactions_sign.tsv", header = TRUE, check.names = FALSE) + +ceRNA_interactions_fdr <- ceRNA_interactions_sign[which(ceRNA_interactions_sign\$p.adj < padj.threshold), ] +ceRNA_interactions_fdr <- circ.mRNA.subnetwork(ceRNA_interactions_fdr, "circ") + +n.train.ce <- round(nrow(ceRNA_interactions_fdr) * split_training) +n.test.ce <- nrow(ceRNA_interactions_fdr) - n.train.ce +train_ceRNA_interactions <- head(ceRNA_interactions_fdr, n.train.ce) +test_ceRNA_interactions <- tail(ceRNA_interactions_fdr, n.test.ce) +#-------------------------CENTRALITIES SPLITTING------------------ +network_centralities <- sponge_node_centralities(ceRNA_interactions_fdr) +n.train.c <- round(nrow(network_centralities) * split_training) +n.test.c <- nrow(network_centralities) - n.train.c +train_network_centralities <- head(network_centralities, n.train.c) +test_network_centralities <- tail(network_centralities, n.test.c) + +#-------------------------FILTERING------------------------------- +print("filtering centralities...") + +filtered_network_centralities <- filter_ceRNA_network(sponge_effects = train_ceRNA_interactions, + Node_Centrality = train_network_centralities, + add_weighted_centrality = TRUE, + mscor.threshold = mscor.threshold, + padj.threshold = padj.threshold) +#-------------------------RNAS_OF_INTEREST------------------------ +RNAs <- c("lncRNA", "circRNA") +# ensembl.df is part of SPONGE lib +RNAs.ofInterest <- ensembl.df %>% dplyr::filter(gene_biotype %in% RNAs) %>% + dplyr::select(ensembl_gene_id) +# add circRNAs of the data set +new_circRNAs <- data.frame(ensembl_gene_id = colnames(gene_expr)[grep("c", colnames(gene_expr))]) +RNAs.ofInterest <- rbind(RNAs.ofInterest, new_circRNAs) +# get central modules +central_gene_modules <- get_central_modules(central_nodes = RNAs.ofInterest\$ensembl_gene_id, + node_centrality = filtered_network_centralities\$Node_Centrality, + ceRNA_class = RNAs, + centrality_measure = "Weighted_Degree", + cutoff = modules_cutoff) +#-------------------------SPONGE MODULES--------------------------- +Sponge.modules <- define_modules(network = filtered_network_centralities\$Sponge.filtered, + central.modules = central_gene_modules, + remove.central = FALSE, + set.parallel = FALSE) +# Module size distribution +Size.modules <- sapply(Sponge.modules, length) +#-------------------------SPLIT MODULES---------------------------- +# train and test modules +train.modules <- enrichment_modules(Expr.matrix = train_gene_expr, + modules = Sponge.modules, + bin.size = bin.size, + min.size = min.size, + max.size = max.size, + min.expr = min.expr, + method = method) + +test.modules <- enrichment_modules(Expr.matrix = test_gene_expr, + modules = Sponge.modules, + bin.size = bin.size, + min.size = min.size, + max.size = max.size, + min.expr = min.expr, + method = method) + +#-------------------------MODEL PERFORMANCE-------------------------- +common_modules = intersect(rownames(train.modules), rownames(test.modules)) +train.modules = train.modules[common_modules, ] +test.modules = test.modules[common_modules, ] +trained.model = calibrate_model(Input = train.modules, + modules_metadata = train.meta, + label = "label", + sampleIDs = "sampleIDs", + Metric = "Exact_match", + n_folds = folds, + repetitions = 3) +trained.model[["ConfusionMatrix_training"]] + +Input.test <- t(test.modules) %>% scale(center = TRUE, scale = TRUE) +Prediction.model <- predict(trained.model\$Model, Input.test) +# We compute the confusion metrix on the test set +ConfusionMatrix_testing <- caret::confusionMatrix(as.factor(Prediction.model), as.factor(test.meta\$label)) +trained.model\$ConfusionMatrix_testing <- ConfusionMatrix_testing + +#-------------------------RANDOM MODULES---------------------------- +Random.modules <- Random_spongEffects(sponge_modules = Sponge.modules, + gene_expr = train_gene_expr, + min.size = min.size, + bin.size = bin.size, + max.size = max.size, + min.expression=min.expr, + replace = FALSE, + method = method) + +# We can now use the randomly defined modules to calculate their enrichment in the test set +Random.modules.test <- enrichment_modules(Expr.matrix = test_gene_expr, + modules = Random.modules\$Random_Modules, + bin.size = bin.size, + min.size = min.size, + max.size = max.size, + min.expr = min.expr, + method = method) + +# We find random modules that were identified both in the train and test and use those as input features for the model +common_modules_random = intersect(rownames(Random.modules\$Enrichment_Random_Modules), rownames(Random.modules.test)) +Random.modules.train = Random.modules\$Enrichment_Random_Modules[common_modules_random, ] +Random.modules.test = Random.modules.test[common_modules_random, ] +Random.model = calibrate_model(Input = Random.modules.train, + modules_metadata = train.meta, + label = "label", sampleIDs = "sampleIDs", + Metric = "Exact_match", + n_folds = folds, repetitions = 1) +Random.model[["ConfusionMatrix_training"]] + +# validate on test set +Input.test <- t(Random.modules.test) %>% scale(center = TRUE, scale = TRUE) +Input.test<-Input.test[ , apply(Input.test, 2, function(x) !any(is.na(x)))] +Prediction.model <- predict(Random.model\$Model, Input.test) +# We compute the confusion metrix on the test set +ConfusionMatrix_testing_random <- caret::confusionMatrix(as.factor(Prediction.model), as.factor(test.meta\$label)) +Random.model\$ConfusionMatrix_testing_random <- ConfusionMatrix_testing_random +ConfusionMatrix_testing_random + +#-------------------------PLOT PERFOMANCES------------------------- +train_name <- paste0(split_training * 100, "%") # MALTE TODO: maybe also escape +test_name <- paste0((1-split_training) * 100, "%") +metrics_plot <- plot_performance(trained_model = trained.model, + random_model = Random.model, + central_genes_model = NULL, + training_dataset_name = train_name, + testing_dataset_name = test_name, + subtypes = as.factor(train.meta\$label)) +# save metrics plot +ggsave(file.path(PLOT_DIR, "metrics.png"), metrics_plot, + width = 7.25, height = 5.25, dpi = 1200) + +#-------------------------PLOT CLASS DISTRIBUTION------------------ +density_plot_train <- plot_density_scores(trained_model = trained.model, + spongEffects = train.modules, + meta_data = train.meta, + label = "label", + sampleIDs = "sampleIDs") +# save class plot +ggsave(file.path(PLOT_DIR, "classification.png"), density_plot_train, + width = 12, height = 8, dpi = 300) + +#-------------------------PLOT TOP RESULTS------------------------- +lollipop_plot <- plot_modules(trained_model = trained.model, k_modules_red = 2, + k_modules = 7, text_size = 20) +# save lollipop plot +ggsave(file.path(PLOT_DIR, "lollipop.png"), lollipop_plot, + width = 7.25, height = 5.25, dpi = 1200) + +#-------------------------PLOT NETWORK FOR CENTRALITIES------------ +n = 25 +central_players <- central_gene_modules %>% + arrange(desc(Weighted_Degree)) %>% + dplyr::select(gene) %>% slice_head(n = n) %>% unlist +# filter network for central players, filter for circRNA-mRNA connections +network <- circ.mRNA.subnetwork(filtered_network_centralities\$Sponge.filtered, "circ") +subnetwork <- network %>% + dplyr::filter(geneA %in% central_players | geneB %in% central_players) +network_plot <- plot_network(subnetwork, + annotation = gene.ens.all, + node_label_size = 40, edge_label_size = 0) +# save network +visNetwork::visSave(network_plot, file = file.path(PLOT_DIR, paste0("top_", n, "_ceRNA_centralities.html"))) + +#-------------------------EXTRACT TOP circRNAs--------------------- +Variable.importance <- importance(trained.model\$Model\$finalModel) %>% as.data.frame() %>% + tibble::rownames_to_column("Module") %>% arrange(desc(MeanDecreaseGini)) +k = 6 +candidates <- Variable.importance[1:k, "Module"] +candidates <- gsub("`", "", candidates) +# candidate modules +candidate.modules <- Sponge.modules[candidates] +# continue with top 2 (highest gini indices) +sponged.genes <- candidate.modules[candidates] + +#-------------------------PLOT TOP circRNA modules----------------- +top_network_plot <- plot_network(ceRNA_network = network %>% + dplyr::filter(geneA %in% candidates | geneB %in% candidates), + annotation = gene.ens.all, + node_label_size = 40, edge_label_size = 0) +# plot top k centralities network +visNetwork::visSave(top_network_plot, + file = file.path(PLOT_DIR, paste0("top_", k, "_ceRNA_centralities.html"))) + +#-------------------------MODULE EXPRESSION------------------------ +# generate module expression for each candidate +candidate_plots <- list() +for (candidate in candidates) { + module <- candidate.modules[candidate][[1]] + module <- module[!grepl("c", module)] + module_gene_plot <- plot_target_gene_expressions(candidate, module, + gene_expression = gene_expr, + meta = meta, + annotation = gene.ens.all, + unit = "counts", + log_transform = TRUE, + show_rows = FALSE) + module_miRNA_plot <- plot_miRNAs_per_gene(candidate, + genes_miRNA_interactions_manual, + mir_expr = mir_expr, meta = meta, + log_transform = TRUE) + candidate_plots[[candidate]] <- ggarrange(module_gene_plot, module_miRNA_plot, + ncol = 2, nrow = 1) +} +# arrange candidate plots +candidate_plots_arranged <- ggarrange(plotlist = candidate_plots, + ncol = 1, nrow = k) +# save candidate heat maps +ggsave(file.path(PLOT_DIR, "candidates_hms.png"), candidate_plots_arranged, + width = 5.25, height = 10.25, dpi = 1200) + +#-------------------------spongEffects HMAP------------------------ +train.hmap <- plot_hmap(trained_model = trained.model, + spongEffects = train.modules, + meta_data = train.meta, + label = "label", sampleIDs = "sampleIDs", + Modules_to_Plot = 2, + show.rownames = TRUE, + show.colnames = FALSE) +test.hmap <- plot_hmap(trained_model = trained.model, + spongEffects = test.modules, + meta_data = test.meta, + label = "label", + sampleIDs = "sampleIDs", + Modules_to_Plot = 2, + show.rownames = TRUE, + show.colnames = FALSE) +# save train and test heat maps +ggsave(file.path(PLOT_DIR, "train_hm.png"), train.hmap, + width = 7.25, height = 5.25, dpi = 1200) +ggsave(file.path(PLOT_DIR, "test_hm.png"), test.hmap, + width = 7.25, height = 5.25, dpi = 1200) + +#-------------------------SAVE R-SESSION---------------------------- +save.image(file.path(ROOT, "spongEffects.RData")) + + +################################################ +################################################ +## VERSIONS FILE ## +################################################ +################################################ + +r.version <- strsplit(version[['version.string']], ' ')[[1]][3] +rtracklayer.version <- as.character(packageVersion('rtracklayer')) +sponge.version <- as.character(packageVersion('SPONGE')) +doparallel.version <- as.character(packageVersion('doParallel')) +dplyr.version <- as.character(packageVersion('dplyr')) +foreach.version <- as.character(packageVersion('foreach')) +ggplot2.version <- as.character(packageVersion('ggplot2')) +ggpubr.version <- as.character(packageVersion('ggpubr')) +pheatmap.version <- as.character(packageVersion('pheatmap')) +reshape2.version <- as.character(packageVersion('reshape2')) +visnetwork.version <- as.character(packageVersion('visNetwork')) + +writeLines( + c( + '"${task.process}":', + paste(' r-base:', r.version) + paste(' bioconductor-rtracklayer', rtracklayer.version) + paste(' bioconductor-sponge', sponge.version) + paste(' r-doparallel', doparallel.version) + paste(' r-dplyr', dplyr.version) + paste(' r-foreach', foreach.version) + paste(' r-ggplot2', ggplot2.version) + paste(' r-ggpubr', ggpubr.version) + paste(' r-pheatmap', pheatmap.version) + paste(' r-reshape2', reshape2.version) + paste(' r-visnetwork', visnetwork.version) + ), +'versions.yml') + +################################################ +################################################ +################################################ +################################################ diff --git a/nextflow.config b/nextflow.config index 10235132..827a58f8 100644 --- a/nextflow.config +++ b/nextflow.config @@ -96,6 +96,18 @@ params { sponge_coeff_threshold = -0.05 sponge_elastic_net = true + //> SPONGE_Effects + sponge_ef_training = 0.8 + sponge_ef_folds = 10 + sponge_ef_mscor = 0.1 + sponge_ef_fdr = 0.05 + sponge_ef_enrichment_modules = 750 + sponge_ef_enrichment_bins = 100 + sponge_ef_enrichment_min = 60 + sponge_ef_enrichment_max = 2000 + sponge_ef_enrichment_expr = 10 + sponge_ef_enrichment_method = "OE" + // MultiQC options skip_fastqc = false multiqc_config = null diff --git a/nextflow_schema.json b/nextflow_schema.json index 93a30639..6aad660c 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -208,6 +208,89 @@ "description": "Determins whether to apply elastic net regression filtering or not.", "help_text": "Option to filter with elastic net.", "default": true + }, + + "sponge_coeff_threshold": { + "type": "number", + "fa_icon": "fas fa-circle-notch", + "description": "Threshold to cross for a regression coefficient to be called significant.", + "help_text": "Option to filter with different coefficient thresholds.", + "default": -0.05, + "minimum": -1 + }, + "sponge_ef_training": { + "type": "number", + "fa_icon": "fas fa-circle-notch", + "description": "Percentage used for training set size.", + "help_text": "Control the train datafram size", + "default": 0.8 + }, + "sponge_ef_folds": { + "type": "number", + "fa_icon": "fas fa-circle-notch", + "description": "Number of folds used in cross validation while calibrating 'SpongingActivity Model'.", + "help_text": "This parameter is used in the 'calibrate_model' function of the SPONGE module. Use it to control how many folds are computed in training.", + "default": 10, + "minimum": 2 + }, + "sponge_ef_mscor": { + "type": "number", + "fa_icon": "fas fa-circle-notch", + "description": "Filters interactions in the computed network based on their mscor. An interaction needs a more significant mscor than this threshold in order to stay inside the network.", + "help_text": "This parameter is used in the 'filter_ceRNA_network' function of the SPONGE module. Use it to change the mscor threshold while filtering the network.", + "default": 0.01 + }, + "sponge_ef_fdr": { + "type": "number", + "fa_icon": "fas fa-circle-notch", + "description": "False discovery rate for padj ceRNA interactions.", + "help_text": "This parameter is used in the 'filter_ceRNA_network' function of the SPONGE module. Use it to adjust the false discovery rate.", + "default": 0.05 + }, + "sponge_ef_enrichment_modules": { + "type": "number", + "fa_icon": "fas fa-circle-notch", + "description": "Defines the maximum number of top modules (based on centrality), ensuring that only the most important or influential modules are retained.", + "help_text": "This parameter is used in the 'get_central_modules' function of the SPONGE module. It is used to limits the number of top-ranked modules returned for further processing.", + "default": 750 + }, + "sponge_ef_enrichment_bins": { + "type": "number", + "fa_icon": "fas fa-circle-notch", + "description": "An integer specifying the bin size for the Overall Enrichment (OE) method. Bins are used to group genes for the enrichment calculation.", + "help_text": "This parameter is used in the 'enrichment_modules' function of the SPONGE module. Use it to finetune the enichment analysis of the gene expression.", + "default": 100 + }, + "sponge_ef_enrichment_min": { + "type": "number", + "fa_icon": "fas fa-circle-notch", + "description": "An integer representing the minimum number of expressed genes required in a module for enrichment analysis.", + "help_text": "This parameter is used in the 'enrichment_modules' function of the SPONGE module. Use it to finetune the enichment analysis of the gene expression.", + "default": 60, + "minimum": 1 + }, + "sponge_ef_enrichment_max": { + "type": "number", + "fa_icon": "fas fa-circle-notch", + "description": "An integer specifying the maximum number of genes allowed in a module for it to be included.", + "help_text": "This parameter is used in the 'enrichment_modules' function of the SPONGE module. Use it to finetune the enichment analysis of the gene expression.", + "default": 2000 + }, + "sponge_ef_enrichment_expr": { + "type": "number", + "fa_icon": "fas fa-circle-notch", + "description": "Minimum amount of expression required for enrichment analysis.", + "help_text": "This parameter is used in the 'enrichment_modules' function of the SPONGE module. Use it to control the minimum amount of expression required for enrichment analysis.", + "default": 10, + "minimum": 1 + }, + "sponge_ef_enrichment_method": { + "type": "string", + "fa_icon": "fas fa-wrench", + "description": "A string specifying the enrichment method to use. Available options are 'OE' for Overall Enrichment and 'gsva' for Gene Set Variation Analysis", + "pattern": "^(OE|gsva)", + "help_text": "Select one of two enrichment methods for sponge effects.", + "default": "OE" } } }, diff --git a/subworkflows/local/mirna_prediction.nf b/subworkflows/local/mirna_prediction.nf index dfa2c224..2faaf900 100644 --- a/subworkflows/local/mirna_prediction.nf +++ b/subworkflows/local/mirna_prediction.nf @@ -4,6 +4,7 @@ include { DESEQ2_NORMALIZATION } from '../../modules/local/deseq2/nor include { MIRNA_FILTERING } from '../../modules/local/mirna_filtering' include { COMPUTE_CORRELATIONS } from '../../modules/local/compute_correlations' include { SPONGE } from '../../modules/local/sponge' +include { SPONGE_EFFECTS } from '../../modules/local/sponge_effects' // SUBWORKFLOWS include { MIRNA_BINDINGSITES } from './mirna/mirna_bindingsites' @@ -83,6 +84,9 @@ workflow MIRNA_PREDICTION { // if (params.sponge) SPONGE(MIRNA_BINDINGSITES.out.binding_sites, tx_counts, ch_mirna_filtered) + ch_versions = ch_versions.mix(SPONGE.out.versions) + SPONGE_EFFECTS(SPONGE.out.sponge_data) + emit: versions = ch_versions From e2aa28ee99849b6f787e4ab208d79b529c87f699 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Fri, 6 Sep 2024 12:56:32 +0200 Subject: [PATCH 08/53] solving version conflict in container --- modules/local/sponge_effects/main.nf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/local/sponge_effects/main.nf b/modules/local/sponge_effects/main.nf index 6c24c7ae..b2d4ca3f 100644 --- a/modules/local/sponge_effects/main.nf +++ b/modules/local/sponge_effects/main.nf @@ -4,8 +4,8 @@ process SPONGE_EFFECTS { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/bioconductor-rtracklayer_bioconductor-sponge_r-base_r-doparallel_pruned:16ef0e7778b29e70' : - 'community.wave.seqera.io/library/bioconductor-rtracklayer_bioconductor-sponge_r-base_r-doparallel_pruned:74e394923e2c369a' }" + 'oras://community.wave.seqera.io/library/bioconductor-sponge_r-base_r-data.table_r-doparallel_pruned:6546daac72b5cf47' : + 'community.wave.seqera.io/library/bioconductor-sponge_r-base_r-data.table_r-doparallel_pruned:75a4fa44f511e1d4' }" input: tuple val(meta), path(sponge_data) From 50628d52a6619c64a6e7d51d016aa53727b8d587 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Wed, 11 Sep 2024 12:04:16 +0200 Subject: [PATCH 09/53] removing deseq2 norm from sponge template --- modules/local/sponge/main.nf | 5 ++--- modules/local/sponge/templates/sponge.R | 14 -------------- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/modules/local/sponge/main.nf b/modules/local/sponge/main.nf index 4edaccb0..8947181d 100644 --- a/modules/local/sponge/main.nf +++ b/modules/local/sponge/main.nf @@ -4,8 +4,8 @@ process SPONGE { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/bioconductor-deseq2_bioconductor-sponge_r-doparallel_r-foreach_r-visnetwork:379bbce95f2c4913' : - 'community.wave.seqera.io/library/bioconductor-deseq2_bioconductor-sponge_r-doparallel_r-foreach_r-visnetwork:f38bbe7441604bcc' }" + 'oras://community.wave.seqera.io/library/bioconductor-sponge_r-doparallel_r-foreach_r-visnetwork:086ecad7b1034ff0' : + 'community.wave.seqera.io/library/bioconductor-sponge_r-doparallel_r-foreach_r-visnetwork:e79cb4c59aecf7ba' }" input: tuple val(meta), path(binding_sites) @@ -34,7 +34,6 @@ process SPONGE { cat <<-END_VERSIONS > versions.yml "${task.process}": - bioconductor-deseq2: \$(Rscript -e "library(DESeq2); cat(as.character(packageVersion('DESeq2')))") bioconductor-sponge: \$(Rscript -e "library(SPONGE); cat(as.character(packageVersion('SPONGE')))") r-visnetwork: \$(Rscript -e "library(visNetwork); cat(as.character(packageVersion('visNetwork')))") r-doparallel: \$(Rscript -e "library(doParallel); cat(as.character(packageVersion('doParallel')))") diff --git a/modules/local/sponge/templates/sponge.R b/modules/local/sponge/templates/sponge.R index 59ca8600..f1ab5fad 100644 --- a/modules/local/sponge/templates/sponge.R +++ b/modules/local/sponge/templates/sponge.R @@ -4,7 +4,6 @@ library(SPONGE) library(visNetwork) library(doParallel) library(foreach) -library(DESeq2) circ_mRNA_subnetwork <- function(interactions, pattern) { return(interactions[ @@ -13,15 +12,6 @@ circ_mRNA_subnetwork <- function(interactions, pattern) { ]) } -normalize_data <- function(data){ - samples <- colnames(data) - meta <- data.frame(row.names = samples) - data <- as.matrix(data) - dds <- DESeq2::DESeqDataSetFromMatrix(countData = round(data + 1), colData = meta, design = ~ 1) - dds <- DESeq2::estimateSizeFactors(dds) - return(DESeq2::counts(dds, normalized=TRUE)) -} - # load binding sites matrix bindingsites <- read.table("${binding_sites}", sep = "\\t", header = TRUE, check.names = FALSE) rownames(bindingsites) <- bindingsites[, 1] @@ -32,8 +22,6 @@ bindingsites_matrix <- as.matrix(bindingsites) # load gene expression genes <- read.csv("${gene_expr}", sep = "\\t", row.names = "tx") genes <- subset(genes, select = -gene_id) -# prep for DESeq2 -gene_expr <- normalize_data(as.matrix(genes)) gene_expr <- t(as.matrix(genes)) @@ -187,7 +175,6 @@ save.image(file = "sponge.RData") ################################################ ################################################ -deseq2.version <- as.character(packageVersion('DESeq2')) sponge.version <- as.character(packageVersion('SPONGE')) visnetwork.version <- as.character(packageVersion('visNetwork')) doparallel.version <- as.character(packageVersion('doParallel')) @@ -196,7 +183,6 @@ foreach.version <- as.character(packageVersion('foreach')) writeLines( c( '"${task.process}":', - paste(' bioconductor-deseq2:', deseq2.version), paste(' bioconductor-sponge:', sponge.version), paste(' r-visnetwork:', visnetwork.version), paste(' r-doparallel:', doparallel.version), From d9144a3989cd408d1158cecc007ca04a5340582c Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Wed, 11 Sep 2024 12:04:56 +0200 Subject: [PATCH 10/53] adding additional deseq2 normalization process for tx counts --- .../environment.yml | 0 .../main.nf | 2 +- .../templates/deseq_normalization.R | 0 modules/local/deseq2/tx_normalization/main.nf | 32 +++++++++++++++++ .../templates/tx_deseq_normalization.R | 36 +++++++++++++++++++ 5 files changed, 69 insertions(+), 1 deletion(-) rename modules/local/deseq2/{normalization => mirna_normalization}/environment.yml (100%) rename modules/local/deseq2/{normalization => mirna_normalization}/main.nf (96%) rename modules/local/deseq2/{normalization => mirna_normalization}/templates/deseq_normalization.R (100%) create mode 100644 modules/local/deseq2/tx_normalization/main.nf create mode 100644 modules/local/deseq2/tx_normalization/templates/tx_deseq_normalization.R diff --git a/modules/local/deseq2/normalization/environment.yml b/modules/local/deseq2/mirna_normalization/environment.yml similarity index 100% rename from modules/local/deseq2/normalization/environment.yml rename to modules/local/deseq2/mirna_normalization/environment.yml diff --git a/modules/local/deseq2/normalization/main.nf b/modules/local/deseq2/mirna_normalization/main.nf similarity index 96% rename from modules/local/deseq2/normalization/main.nf rename to modules/local/deseq2/mirna_normalization/main.nf index 74cb8b5a..0af4fa1a 100644 --- a/modules/local/deseq2/normalization/main.nf +++ b/modules/local/deseq2/mirna_normalization/main.nf @@ -1,4 +1,4 @@ -process DESEQ2_NORMALIZATION { +process MIRNA_NORMALIZATION { tag "$meta.id" label 'process_single' diff --git a/modules/local/deseq2/normalization/templates/deseq_normalization.R b/modules/local/deseq2/mirna_normalization/templates/deseq_normalization.R similarity index 100% rename from modules/local/deseq2/normalization/templates/deseq_normalization.R rename to modules/local/deseq2/mirna_normalization/templates/deseq_normalization.R diff --git a/modules/local/deseq2/tx_normalization/main.nf b/modules/local/deseq2/tx_normalization/main.nf new file mode 100644 index 00000000..6f322e16 --- /dev/null +++ b/modules/local/deseq2/tx_normalization/main.nf @@ -0,0 +1,32 @@ +process TX_NORMALIZATION { + tag "$meta.id" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/bioconductor-deseq2:1.34.0--r41hc247a5b_3' : + 'biocontainers/bioconductor-deseq2:1.34.0--r41hc247a5b_3' }" + + input: + tuple val(meta), path(counts) + + output: + tuple val(meta), path("${meta.id}.normalized_counts.tsv"), emit: normalized + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + template 'tx_deseq_normalization.R' + + stub: + """ + touch ${meta.id}.normalized_counts.tsv + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + bioconductor-deseq2: \$(Rscript -e "library(DESeq2); cat(as.character(packageVersion('DESeq2')))") + END_VERSIONS + """ +} diff --git a/modules/local/deseq2/tx_normalization/templates/tx_deseq_normalization.R b/modules/local/deseq2/tx_normalization/templates/tx_deseq_normalization.R new file mode 100644 index 00000000..54ac5ee2 --- /dev/null +++ b/modules/local/deseq2/tx_normalization/templates/tx_deseq_normalization.R @@ -0,0 +1,36 @@ +#!/usr/bin/env Rscript + +library(DESeq2) + +raw_counts <- read.table("$counts", sep = "\\t", header = TRUE, stringsAsFactors = FALSE, check.names = FALSE) +raw_counts <- raw_counts[ , -2] # drop gene ids +rownames(raw_counts) <- raw_counts\$tx +data <- round(raw_counts[, -1]) + +samples <- colnames(raw_counts)[-c(1)] + + +transcript_names <- data.frame(tx = raw_counts\$tx, order = seq_len(nrow(raw_counts))) + +# normalize using DeSeq2, Library Size Estimation +meta_data <- data.frame(samples) +row.names(meta_data) <- meta_data\$samples +all(colnames(data) %in% rownames(meta_data)) +all(colnames(data) == rownames(meta_data)) + +dds <- DESeqDataSetFromMatrix(countData = data, colData = meta_data, design = ~ 1) +dds <- estimateSizeFactors(dds) +sizeFactors(dds) +normalized_counts <- DESeq2::counts(dds, normalized = TRUE) + +# add tx IDs back to counts table +merged_data <- merge(transcript_names, normalized_counts, + by.x = "tx", by.y = "row.names") + +merged_data <- merged_data[order(merged_data\$order), ] + +norm_data <- subset(merged_data, select = -c(order)) + +write.table(norm_data, paste0("${meta.id}.normalized_counts.tsv"), quote = FALSE, sep = "\\t", row.names = FALSE) + +# TODO: (Can be done later) Add support for Samplesheet so that we can eliminate batch effects From ae37fb8bc61e285060e6ea4e462e3303aa81e089 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Wed, 11 Sep 2024 12:05:25 +0200 Subject: [PATCH 11/53] removing pacman call in sponge_effects --- .../sponge_effects/templates/sponge_effects.R | 113 ++++++++++++++---- 1 file changed, 93 insertions(+), 20 deletions(-) diff --git a/modules/local/sponge_effects/templates/sponge_effects.R b/modules/local/sponge_effects/templates/sponge_effects.R index 78ccf733..d36fdad5 100644 --- a/modules/local/sponge_effects/templates/sponge_effects.R +++ b/modules/local/sponge_effects/templates/sponge_effects.R @@ -1,7 +1,16 @@ #!/usr/bin/env Rscript -if(!require(pacman)) install.packages("pacman", repos = "http://cran.us.r-project.org") -pacman::p_load(SPONGE, doParallel, foreach, dplyr, visNetwork, pheatmap, ggplot2, reshape2, ggpubr, rtracklayer) +library("SPONGE") +library("rtracklayer") +library("doParallel") +library("foreach") +library("dplyr") +library("visNetwork") +library("pheatmap") +library("ggplot2") +library("reshape2") +library("ggpubr") +library("GSVA") ######################## ## GENERAL FUNCTIONS ### @@ -66,6 +75,7 @@ plot_network <- function(ceRNA_network, signif_hits = NULL, } + circ.mRNA.subnetwork <- function(interactions, pattern){ return(interactions[ (grepl(pattern, interactions\$geneA) & !grepl(pattern, interactions\$geneB)) | @@ -76,7 +86,7 @@ circ.mRNA.subnetwork <- function(interactions, pattern){ # plot model performance (spongEffects) plot_performance <- function (trained_model, central_genes_model = NULL, random_model, training_dataset_name = "TCGA", - testing_dataset_name = "TCGA", subtypes){ + testing_dataset_name = "TCGA", subtypes) { trained.model <- trained_model CentralGenes.model <- central_genes_model Random.model <- random_model @@ -177,7 +187,7 @@ plot_performance <- function (trained_model, central_genes_model = NULL, plot_modules <- function (trained_model, k_modules = 25, k_modules_red = 10, - text_size = 16){ + text_size = 16) { final.model <- trained_model\$Model\$finalModel Variable.importance <- importance(final.model) %>% as.data.frame() %>% tibble::rownames_to_column("Module") %>% arrange(desc(MeanDecreaseGini)) @@ -209,7 +219,7 @@ plot_hmap <- function (trained_model, sampleIDs, Modules_to_Plot = 5, show.rownames = F, - show.colnames = F){ + show.colnames = F) { if (label %in% colnames(meta_data) & sampleIDs %in% colnames(meta_data)) { final.model <- trained_model\$Model\$finalModel Variable.importance <- importance(final.model) %>% as.data.frame() %>% @@ -248,7 +258,7 @@ plot_target_gene_expressions <- function(target, target_genes, annotation = NULL, split = "condition", unit = "counts", show_rows = TRUE, - annotation_colors = NULL){ + annotation_colors = NULL) { # get target expression target_expression <- gene_expression[ ,target, drop = FALSE] # get target genes expressions @@ -345,6 +355,67 @@ plot_miRNAs_per_gene <- function(target, genes_miRNA_candidates, return(bars) } +################################################################# +## SPONGE FUNCTIONS DUE TO VERSION CONFLICTS WITH RTRACKLAYSER ## +################################################################# + +fn_filter_network <- function(network, mscor.threshold = .1, padj.threshold = .01) { + network %>% filter(mscor > mscor.threshold & p.adj < padj.threshold) +} + +fn_weighted_degree <- function(network, undirected = T, Alpha = 1) { + # Format input matrix by using numeric as node IDs + Nodes <- data.frame(Nodes = union(network\$geneA, network\$geneB), + Nodes_numeric = seq(1, length(union(network\$geneA, network\$geneB)))) + + geneA.numeric <- Nodes\$Nodes_numeric[match(network\$geneA, Nodes\$Nodes)] + geneB.numeric <- Nodes\$Nodes_numeric[match(network\$geneB, Nodes\$Nodes)] + + Input.network <- data.frame(Sender = geneA.numeric, Receiver = geneB.numeric, Weight = network\$mscor) + + if (undirected) { + # Define networks as undirected + Undirected.net <- Input.network %>% tnet::symmetrise_w() + Weighted_degree <- tnet::degree_w(Undirected.net, alpha = Alpha) %>% as.data.frame() + Nodes\$Weighted_degree <- Weighted_degree\$output[match(Weighted_degree\$node, Nodes\$Nodes_numeric)] + return(Nodes) + } +} + +filter_ceRNA_network <- function(sponge_effects, + Node_Centrality = NA, + add_weighted_centrality = T, + mscor.threshold = NA, + padj.threshold = NA) { + + #Filter SPONGE network for significant edges + Sponge.filtered <- sponge_effects %>% + fn_filter_network(mscor.threshold = mscor.threshold, padj.threshold = padj.threshold) + + # Some gene columns from SPONGEdb start with an uppercase G, so we need to adjust it just in case + if("GeneA" %in% colnames(Sponge.filtered)) { + Sponge.filtered = Sponge.filtered %>% rename(geneA = GeneA) + } + if("GeneB" %in% colnames(Sponge.filtered)) { + Sponge.filtered = Sponge.filtered %>% rename(geneB = GeneB) + } + Node_Centrality <- Node_Centrality %>% dplyr::filter(gene %in% Sponge.filtered\$geneA | gene %in% Sponge.filtered\$geneB) + + # Calculate weighted centrality scores and add them to the ones present in SpongeDB + if(!add_weighted_centrality) { + sponge_network_centralites <- list(Sponge.filtered) + names(sponge_network_centralites) <- c("Sponge.filtered") + } + else { + Nodes <- fn_weighted_degree(Sponge.filtered, undirected = T, Alpha = 1) + Node_Centrality <- Node_Centrality %>% + mutate(Weighted_Degree = Nodes\$Weighted_degree[match(Node_Centrality\$gene, Nodes\$Nodes)]) + sponge_network_centralites <- list(Sponge.filtered,Node_Centrality) + names(sponge_network_centralites) <- c("Sponge.filtered","Node_Centrality") + } + return(sponge_network_centralites) +} + #---------------------------OUTPUT DIR-------------------------------- ROOT = "." # create plot directory @@ -362,16 +433,16 @@ colnames(gene.ens.all) <- c("ensembl_gene_id", "hgnc_symbol", "gene_type") rownames(gene.ens.all) <- gene.ens.all\$hgnc_symbol #---------------------------PARAMETERS-------------------------------- -mscor.threshold = 0.001 # "${params.sponge_ef_mscor}" -padj.threshold = 0.7 # "${params.sponge_ef_fdr}" -modules_cutoff = "${params.sponge_ef_enrichment_modules}" -bin.size = "${params.sponge_ef_enrichment_bins}" -min.size = "${params.sponge_ef_enrichment_min}" -max.size = "${params.sponge_ef_enrichment_max}" -min.expr = "${params.sponge_ef_enrichment_expr}" +mscor.threshold = 0.001 # ${params.sponge_ef_mscor} +padj.threshold = 0.7 # ${params.sponge_ef_fdr} +modules_cutoff = ${params.sponge_ef_enrichment_modules} +bin.size = ${params.sponge_ef_enrichment_bins} +min.size = ${params.sponge_ef_enrichment_min} +max.size = ${params.sponge_ef_enrichment_max} +min.expr = ${params.sponge_ef_enrichment_expr} method = "${params.sponge_ef_enrichment_method}" -split_training = "${params.sponge_ef_training}" -folds = "${params.sponge_ef_folds}" +split_training = ${params.sponge_ef_training} +folds = ${params.sponge_ef_folds} #---------------------------PARALLEL BACKGROUND----------------------- num.of.cores <- 8 @@ -416,7 +487,7 @@ test_mirna_expr <- mir_expr[rownames(mir_expr) %in% test.meta\$sampleIDs, ] #-------------------------CE RNA SPLITTING------------------------ # MALTE TODO: no circ interactions -> empty df # MALTE TODO: hard code path for now in template -ceRNA_interactions_sign <- read.table("/nfs/home/students/mweyrich/sponge/ceRNA_interactions_sign.tsv", header = TRUE, check.names = FALSE) +ceRNA_interactions_sign <- read.table("/nfs/data3/CIRCEST/runs/sponging/sponge_res/ceRNA_interactions_sign.tsv", header = TRUE, check.names = FALSE, sep = "\\t") ceRNA_interactions_fdr <- ceRNA_interactions_sign[which(ceRNA_interactions_sign\$p.adj < padj.threshold), ] ceRNA_interactions_fdr <- circ.mRNA.subnetwork(ceRNA_interactions_fdr, "circ") @@ -661,24 +732,26 @@ save.image(file.path(ROOT, "spongEffects.RData")) ################################################ ################################################ -r.version <- strsplit(version[['version.string']], ' ')[[1]][3] -rtracklayer.version <- as.character(packageVersion('rtracklayer')) -sponge.version <- as.character(packageVersion('SPONGE')) doparallel.version <- as.character(packageVersion('doParallel')) dplyr.version <- as.character(packageVersion('dplyr')) foreach.version <- as.character(packageVersion('foreach')) ggplot2.version <- as.character(packageVersion('ggplot2')) ggpubr.version <- as.character(packageVersion('ggpubr')) +gsva.version <- as.character(packageVersion('GSVA')) pheatmap.version <- as.character(packageVersion('pheatmap')) +r.version <- strsplit(version[['version.string']], ' ')[[1]][3] reshape2.version <- as.character(packageVersion('reshape2')) +rtracklayer.version <- as.character(packageVersion('rtracklayer')) +sponge.version <- as.character(packageVersion('SPONGE')) visnetwork.version <- as.character(packageVersion('visNetwork')) writeLines( c( '"${task.process}":', - paste(' r-base:', r.version) + paste(' bioconductor-gsva:', gsva.version) paste(' bioconductor-rtracklayer', rtracklayer.version) paste(' bioconductor-sponge', sponge.version) + paste(' r-base:', r.version) paste(' r-doparallel', doparallel.version) paste(' r-dplyr', dplyr.version) paste(' r-foreach', foreach.version) From 20f8609e4ed1c4a96c09023ac9b6543c28dc3467 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Wed, 11 Sep 2024 12:05:55 +0200 Subject: [PATCH 12/53] updating sponge_effects container to include gsva --- modules/local/sponge_effects/main.nf | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/local/sponge_effects/main.nf b/modules/local/sponge_effects/main.nf index b2d4ca3f..8fadae57 100644 --- a/modules/local/sponge_effects/main.nf +++ b/modules/local/sponge_effects/main.nf @@ -4,8 +4,10 @@ process SPONGE_EFFECTS { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/bioconductor-sponge_r-base_r-data.table_r-doparallel_pruned:6546daac72b5cf47' : - 'community.wave.seqera.io/library/bioconductor-sponge_r-base_r-data.table_r-doparallel_pruned:75a4fa44f511e1d4' }" + 'oras://community.wave.seqera.io/library/bioconductor-gsva_bioconductor-rtracklayer_bioconductor-sponge_r-base_pruned:ac5be0e145e964fc' : + 'community.wave.seqera.io/library/bioconductor-gsva_bioconductor-rtracklayer_bioconductor-sponge_r-base_pruned:5fad30741cf73551' }" + + input: tuple val(meta), path(sponge_data) From 656c76e648bac300cbf19051be21ea20de3529ec Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Wed, 11 Sep 2024 12:06:59 +0200 Subject: [PATCH 13/53] adding and renaming deseq2_normalisation processes --- subworkflows/local/mirna_prediction.nf | 27 +++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/subworkflows/local/mirna_prediction.nf b/subworkflows/local/mirna_prediction.nf index 2faaf900..b7d4b0c2 100644 --- a/subworkflows/local/mirna_prediction.nf +++ b/subworkflows/local/mirna_prediction.nf @@ -1,10 +1,11 @@ // MODULES -include { BIOAWK as ADD_BACKSPLICE } from '../../modules/nf-core/bioawk' -include { DESEQ2_NORMALIZATION } from '../../modules/local/deseq2/normalization' -include { MIRNA_FILTERING } from '../../modules/local/mirna_filtering' -include { COMPUTE_CORRELATIONS } from '../../modules/local/compute_correlations' -include { SPONGE } from '../../modules/local/sponge' -include { SPONGE_EFFECTS } from '../../modules/local/sponge_effects' +include { BIOAWK as ADD_BACKSPLICE } from '../../modules/nf-core/bioawk' +include { MIRNA_NORMALIZATION } from '../../modules/local/deseq2/mirna_normalization' +include { TX_NORMALIZATION } from '../../modules/local/deseq2/tx_normalization' +include { MIRNA_FILTERING } from '../../modules/local/mirna_filtering' +include { COMPUTE_CORRELATIONS } from '../../modules/local/compute_correlations' +include { SPONGE } from '../../modules/local/sponge' +include { SPONGE_EFFECTS } from '../../modules/local/sponge_effects' // SUBWORKFLOWS include { MIRNA_BINDINGSITES } from './mirna/mirna_bindingsites' @@ -28,9 +29,9 @@ workflow MIRNA_PREDICTION { if (params.mirna_expression) { - ch_mirna_normalized = DESEQ2_NORMALIZATION(ch_mirna).normalized + ch_mirna_normalized = MIRNA_NORMALIZATION(ch_mirna).normalized - ch_versions = ch_versions.mix(DESEQ2_NORMALIZATION.out.versions) + ch_versions = ch_versions.mix(MIRNA_NORMALIZATION.out.versions) ch_mirna_filtered = MIRNA_FILTERING(ch_mirna_normalized, params.mirna_min_sample_percentage, @@ -83,8 +84,16 @@ workflow MIRNA_PREDICTION { } // if (params.sponge) - SPONGE(MIRNA_BINDINGSITES.out.binding_sites, tx_counts, ch_mirna_filtered) + + + ch_tx_normalized = TX_NORMALIZATION(tx_counts.map{ it -> [[id: 'tx'], it]}).normalized + + ch_versions = ch_versions.mix(TX_NORMALIZATION.out.versions) + + SPONGE(MIRNA_BINDINGSITES.out.binding_sites, ch_tx_normalized, ch_mirna_filtered) + ch_versions = ch_versions.mix(SPONGE.out.versions) + SPONGE_EFFECTS(SPONGE.out.sponge_data) From 79bd2988f58e59291ba69a1a016843cad305cabb Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 12 Sep 2024 09:41:09 +0200 Subject: [PATCH 14/53] removing redundant param --- nextflow_schema.json | 9 --------- 1 file changed, 9 deletions(-) diff --git a/nextflow_schema.json b/nextflow_schema.json index 6aad660c..83647df9 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -209,15 +209,6 @@ "help_text": "Option to filter with elastic net.", "default": true }, - - "sponge_coeff_threshold": { - "type": "number", - "fa_icon": "fas fa-circle-notch", - "description": "Threshold to cross for a regression coefficient to be called significant.", - "help_text": "Option to filter with different coefficient thresholds.", - "default": -0.05, - "minimum": -1 - }, "sponge_ef_training": { "type": "number", "fa_icon": "fas fa-circle-notch", From d44046f20fde43ec919f5a89316b1a16c80a5112 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 12 Sep 2024 09:41:36 +0200 Subject: [PATCH 15/53] fixing input for tx_normalization --- subworkflows/local/mirna_prediction.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/subworkflows/local/mirna_prediction.nf b/subworkflows/local/mirna_prediction.nf index b7d4b0c2..fd2892cb 100644 --- a/subworkflows/local/mirna_prediction.nf +++ b/subworkflows/local/mirna_prediction.nf @@ -86,7 +86,7 @@ workflow MIRNA_PREDICTION { // if (params.sponge) - ch_tx_normalized = TX_NORMALIZATION(tx_counts.map{ it -> [[id: 'tx'], it]}).normalized + ch_tx_normalized = TX_NORMALIZATION(tx_counts).normalized ch_versions = ch_versions.mix(TX_NORMALIZATION.out.versions) From 8d685dbe4774fc4f5415482a8b3eac5797de99ce Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Sat, 14 Sep 2024 16:45:28 +0200 Subject: [PATCH 16/53] adding versions file to R script of tx_normalization --- .../templates/tx_deseq_normalization.R | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/modules/local/deseq2/tx_normalization/templates/tx_deseq_normalization.R b/modules/local/deseq2/tx_normalization/templates/tx_deseq_normalization.R index 54ac5ee2..6d6f86c8 100644 --- a/modules/local/deseq2/tx_normalization/templates/tx_deseq_normalization.R +++ b/modules/local/deseq2/tx_normalization/templates/tx_deseq_normalization.R @@ -34,3 +34,21 @@ norm_data <- subset(merged_data, select = -c(order)) write.table(norm_data, paste0("${meta.id}.normalized_counts.tsv"), quote = FALSE, sep = "\\t", row.names = FALSE) # TODO: (Can be done later) Add support for Samplesheet so that we can eliminate batch effects + + +################################################ +################################################ +## VERSIONS FILE ## +################################################ +################################################ + +r.version <- strsplit(version[['version.string']], ' ')[[1]][3] +deseq2.version <- as.character(packageVersion('DESeq2')) + +writeLines( + c( + '"${task.process}":', + paste(' r-base:', r.version), + paste(' bioconductor-deseq2:', deseq2.version) + ), +'versions.yml') From aa2db970e4d1790d3ac9b4eb2551373f54af5492 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Sat, 14 Sep 2024 16:45:53 +0200 Subject: [PATCH 17/53] formatting --- modules/local/sponge/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/local/sponge/main.nf b/modules/local/sponge/main.nf index 8947181d..071d500a 100644 --- a/modules/local/sponge/main.nf +++ b/modules/local/sponge/main.nf @@ -14,12 +14,12 @@ process SPONGE { output: - path "versions.yml" , emit: versions tuple val(meta), path("sponge.RData") , emit: sponge_data path "circRNAs_as_ceRNAs.tsv" , emit: cernas path "total_plots.pdf" , emit: total_plots path "simulation_plots.pdf" , emit: simulation_plots path "circRNA_plots.pdf" , emit: circ_plots + path "versions.yml" , emit: versions when: From b04afc6999f5d36129a0743bb75922e153c9c764 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Sat, 14 Sep 2024 16:46:16 +0200 Subject: [PATCH 18/53] adding versions to output of sponge effects --- modules/local/sponge_effects/main.nf | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/local/sponge_effects/main.nf b/modules/local/sponge_effects/main.nf index 8fadae57..e2047f21 100644 --- a/modules/local/sponge_effects/main.nf +++ b/modules/local/sponge_effects/main.nf @@ -7,13 +7,12 @@ process SPONGE_EFFECTS { 'oras://community.wave.seqera.io/library/bioconductor-gsva_bioconductor-rtracklayer_bioconductor-sponge_r-base_pruned:ac5be0e145e964fc' : 'community.wave.seqera.io/library/bioconductor-gsva_bioconductor-rtracklayer_bioconductor-sponge_r-base_pruned:5fad30741cf73551' }" - - input: tuple val(meta), path(sponge_data) output: // TODO + path "versions.yml" , emit: versions when: From cb7f82f37c7ac8ea0d6ea9d5297cce33855452c0 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Sat, 14 Sep 2024 16:46:33 +0200 Subject: [PATCH 19/53] adding tarpmir module --- modules/local/tarpmir/Human_sklearn_0.22.pkl | Bin 0 -> 11405077 bytes modules/local/tarpmir/main.nf | 38 + .../tarpmir/templates/TarPmiR_threading.py | 755 ++++++++++++++++++ 3 files changed, 793 insertions(+) create mode 100644 modules/local/tarpmir/Human_sklearn_0.22.pkl create mode 100644 modules/local/tarpmir/main.nf create mode 100644 modules/local/tarpmir/templates/TarPmiR_threading.py diff --git a/modules/local/tarpmir/Human_sklearn_0.22.pkl b/modules/local/tarpmir/Human_sklearn_0.22.pkl new file mode 100644 index 0000000000000000000000000000000000000000..9d158bb58b6693e7c961c09d45a272fca047d092 GIT binary patch literal 11405077 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℘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

UgexC#{RBFFduiwcExXeM$;XTZy=E6 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%0A*Y|->Wux_5(GiL!dtlWO0_+=rW%jIuRTA5d`E#y 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

Mr%{r!;?mB>hvB zE(M?Jl=8x2+oMGBf zstWp6Kvo~@XKy}(3g2wLq-DcwHHGUJ97NSXp9o}mFqpWbu|4mJTdz@f&Q*hWxln(q z4*D9={1P84`Gea&$olv9w-4MbT4bsT`GP>lf%xwLo7R zDC63qcf0-yX_Zieh<*|$(K=$ivseaOn+bxh@6mC|MP zPp_%#xZex7_u8UdH);qzjexS>P@vMv_L_Rm z#qWChXKBX#ynbj5KFxqEUb43>XS+C0bZ}oXkO+eo?x?I+VGgIt{T6vy* zS?1#aRxkCV{{B2sS@_{fY5~1k0$ID6TY8t}o+lvU?-b4x@cO~DU6Juum7EJ5335t# znvt{bTE>z2duHhe^E@HtFz-(UxgYGVbQ$#O3uJlF>VEzn)#mc&y0+^1iF%lqqyE$e z^zDEwt^*fc)5Pwae)%;=(pIRRyqvDLmxI17P|kZFAKyy5n8&sBySY8R<=R8OUO*;K z?9^#5sD%x~FY-Q>_vcu>sRQV{1DRdY_qR#1SH3Z=--BJ2s29qNP$$r*0cHGFpn^_UymV8-N>z#T)8oy~puY+z+qvRyKhoPiTmkwk zflR-GmFF}*>Aiub_0Q`E({em+Pi0**Yp1k@0(3R>>H=iHr!9Wv94h>D#A63?-jw%; z>wCvd<&@_^w5G1$(=FPb88I2h_fs-Cw4CPaN?2ai<@~>IG}X`RziXk_jX)9Cy4|s6 zE_}Y@__tIe5uaVD2k5T@vifJwtl_dSw3oLFO0p_K3x;j?Wmn1@iR+vgf8hzw|4W{cDTf zUoL+`p1W+B-)rf8-*_wd^pCbnlVw*V+YiRQ+iv%R8$JC<^E@H-Gq;P(6NPF3ic zdm@@&@U|-T?NHaa3n#74Q9F6L{iA6R${hjnv}{?I+8HZ{eLvxi9JPa&+dG=>2K|#K zDi^A0+a0U#+x+YbbrW}d`f$1j^rL|6v7u{czo#~S8NP9FgB*`pSJGh6KLC{do@&(P zwjopBTahcrRn`@BFX)E=nYq*3Z###aJSg8gndd>-k4mQdz~}yGe)eN;l%$A#|M~Y$ z4?@0&fULgg^=F&Zr2R)8NNKyt)9<;=xP4%LEvkPHgU?W)jO+UDItV#`ZGLaAsg1JLc>A-_zC5#?Y>`; z2+)rNayhG3FXoN|q&@x47x*2Inde;=w^~2*_DK5A z{QU|~XPTjLeejlh3if{s$n2dv^U2!k{$DDNYW38os<9|IjGhMl7$Ea++F4cBtJrVn zzDi$ysQQQ9?fj+prDs4t8YuOzM$S39cwLT?&FERsX9Ar^Y791LP}O$!)yevmOwWP- zc_8yssO;AD?!Ge?fBKQ;{WE4SUCul{WjXVBVePl(XC5!iKe}9i#=;)20cHD9p6op% zr`&w@OgV3==L^Pxej-rj&ngtU>6>yN51XPoYA)`deItzr{R<~7SBWCDIi7QB0>*L8 z{Hh-nM-#y3MIf_V;O<7L|C;x(lOW#|psWv-C~L_xN%4ors5Y)K^*{7I055_5Wgzo! zM($XPocrG|;^i#!c1(_|n$auZlLch<&c3_fvHkk+O&>P@09mvGd`*SMWk^hfg zM?DSnZvvVA1;bVzbjLX|pPA=D(X8lmf=&G(%bB--EN->Rar8Fynh9ii!dmrPOFJ

+1}Q4@2`?}PNWY(KM%;_ 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�!eSIP4k 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≥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 z zcy+|9r~24`#h;j+crg3cXG43FH-D{*`zi-mJ@~;1+X63-vwUO84llr2eybSv>{^B& z`TXdIrGNRX$iTKVUFag4RNCG_m6TO z=)E!D=i8pd&wPTfO5f|@A$Ic94y>-1Wb$djZq|W;etTa{d+Nx}{)DF&A1|JMu-jK{ z;paRO7thal;I#+0T{iIIOgnm#y*MzQzU8Vd_g~omRgce2+R?6g6Z~ht6+Y+j$KXCL z=Xv_}df6S{jeX`pW8fLx7pNjMB-IDHG_5Ie=t+9A}?BUHP`aP2R(ZKY{%ep|_ zGW^{y#^1bt9-O*%euwD2|6$x+pTNdfL-r>;JnIJI`L|5_*OBz*t?_}yyHrO!DIQF| zN{>&w{X5cEtC-tJ{j&d0EKhuS|G?kGq0vw0chUFv8x!CEMf5%Nv*$B;u48^~kF*nc z4W|L~K)zA;^%cJB7ypU*k$82XfBT_-KQ9U2_wV@6^RhV~%|rIuf$`$6v_I|Gze@k+ z@bCUb-&i0reC{jvd;M_c$?+4h>v~}{0s_Qq$8J*QM%b|1dth{pluH{_a1CqYnJ}!Te@BcoI+2 z&$@O$lNWn+Y#zame1-mT?6kjMz`~I1=lZK2bKEBuhs2Ni{kQ*coh&~5+a>?Ee^B!2 zZZQ`f#9KkKdkXZ7Fe6TYuE*z4cKachA$ zKbu(Dnz9WBA1EHP3)t_U^zZU`zuCNeZ9Rr*%#-|B~Mx9@dW@uQ&-|&fW$eBIkLbx|G+}?}^TK zVB^T%dZfSV#eT-uf4n#_p5FY@t~%iP;o%uao$=(1Gxd1!)X#O5{JbZ@4%RL#{>0iL zFY)}@i4R|`+A<#W^2GD&c=2n@kqke^v)9{0c(TVS`o@XZIDFJS|APDZ0eksP$)Ci( zzDi?U=K49$H>N*cy)H_QwNq7ssdsg}$H~Gm2p7Fyw9=MJ@ezxNE{j|ry@^s!To;u;R3u}L3{v=*q zrat)Seo5Aaz80>T!$VtT%so;Kjqk&4=hbgS9*R&rUlX zcg9(zXuIH;wFv+Ae_Z_a^OF5OqVYA}+IPI^_=yPPHFQ;R`?#rp>JPIg@q7HmhuM*M z`?qz>_?d^=gN+Nlc#RiLN$rqWn50)X7%wlFoOV->-`8pDpZsyjyIkk~pMO;NnES4N zueP60d!8Y#{3bp{|A9aFM-?B_-wSj-;(nX?!_au*v!5Mr6VHC({Vnay{XiUXjT8Gz zl0C`J_|rSDh0P=F$`dcYOT74axZ6*l#!KXf(tH)i{DDdFd8-c|?)G8`->JzqY>ZrfqKFED_?ll8@|Nr2Y$AX7l+g?9&SE_>(Xh*zGWL^W1Zx8 zKP>s;%O#)wZb|RO+~xf=&mqpcMB;!m~L_i^Cnv%%kdP)~M~ z7l(dIekA^Sl?HbFV`o0&^%GA|{;>L)FTa-SwAJ4;ab93Owa#9ZUEkM-#h?A@Jmc5+ z)Z7pJ2~X4YkKX#JosKj7_%|QL9y`Z5@r^e>^~Te~_~@_ygNo~ZORke#k0=CcoGjM|9<|D*RK8z`}=jFh<=|YT$e{K6d?nW$Mv5{p#;$$9|jp<5l9RgMLlSpTy7gcCKga#f6O@ zJ$#9e{`mD(Tj@uCAD#bAc=@S6JZ0kca}PYdxbQg7?E7Wu$NEItXK(!UlOD!LzdV1; zeYVCquX^VFnCrBo-ZM|}@%jbh9be_e4iDo=Je+yFerlEGDiR<2<}+{Z-jALA_6xy# zr2XAEx*mnyZ%{{AJ^Fks@n&AmE9QQve|VVP#M}7b$9(B|_NqAir_{_Py}0biGy8>! z3}%OQeGU75s&=fe?Kk4IJ^|n<#V7H`k>2$l-uXD*Ji<@O?vj3AEKc(HG&uHs{AG11 z&LzG6;OG8DPrj-h`@CpPb{D2H57@bhP6xIa@CgWJNC}|*=Y|C z<4OF)*5m6{OxDr<{c?3PZ}eLn^Bb=}@_^Nwp1-{C^xDCbc$lOo=}CFQQ}QG6uzskM zepqKG=11c9MN@K~58V!4{newrW7m8UeSY&}#rOBIqaU zH=*8~e`bAIp4aETO~2Qc{i2_bo5uoW|8CxSp!d;X>ws~9XWlSgJ0yMb?)?!q&q?;$ z6=${s<4OLHS2U5%xB0Py`NMenIsWXXWKZH@^J|Wa^)B|u+tnVY4fUAuU_3AR_x=$A z#h#zB$CtT|{m!@6$>PP& zmVEi8lKs2BpDVoOI?wwtXWy$+PvdZk`U8K$_x}1?#qIC+xSwggwSKF={_N$~_q%3& zyM1)1z-3z6HOvN_8DM$JPFbH!sXTc#nTY+xq@GUcTxy?eL`h zrsQ`?Z=9#y)WhPiC*^UyO2ZyD&-d^Xi#zKnF217Q-@nAulkCkqdJ^w^Ypz@BjyEpG zQU2n=&4 z;$ipokQY}T@`U-3c*lQu&R_M!Pk(&$>zk{#-ib7S^$(VB;{<3Ce>isE|FzQlzfJ3T z>~de~ko%#>+vq>3M9hIhPXC*H)|Nc>IWL~p(8|GUaQ^=w|fAIBda`%}NSJo&5m$zvaQ)*WWQjgS3M z9QC%JHjZE8^)Qh7(HgIAH}(^=C-LSX{a6S4{hfWCEc$&N{k6Wq)?x8s@kzY8=&v}_ z4$luy;*B@`qg7klaer3b8*?Dz$4-1SJt;4e9ZbGL@ApQ0@9y}SQ_xWtGNzP|t#M-@NZX zy&nB*k=l3uum19#a^?ZEt1N!tZ?)6st6SP#k^JQW%R?mb@i3mmJAa^OkEe(6^zv-| zYUaU4_`Xkg8@sDW-&2FlSL-XRzp%VCW**=>uNbh$!`gvKabc34lozZY(_TC5Nc*w% z!}{;~lArx~V*Q-b_-IEy?C4=U{nfJdP_mZ~mcM$ycrtu{PxGx+%yp#xv)5m|_;~%q z%MULPJo}E5cBeg_Kfj6jk@%U%>{rfr`#GcY25b+MmzUZb7nqqqOcb4u-z zcR^}f^}dE;SH|EJu> zXYw#Jn4~A=jh8nb#?zDPWPJ5U+==y1TyZ-7qA5u~C96w%ygUwzrsR(oKE54k{c-$a z9smCSg6{vnS$>=Kke~f$4=;}Siig#Yo&MnEZ-0W-Z(?ysyyG?f^|Cc&^v(mUt9$fw zzmh-xY`nMnu){~)?@QrH{bOg|;OQGLnv!$Bl(+iA554ZsFSJkcn|S);<=gzKt*c0U z=O4qy?4l>;{4oz7$KHLI&LfV_Bk|6MZ{jDe=W4KdBcA;T)(`o?%{NgS#^1bT-+0*L zspWOGN^{mu^myaOAI8(m%lRHV#|fA{i8pRDu6*%i_jgsK#sZV!wXeVMl-x)>te*77 z7Z2m3_y2F-{`>2sdHH_HCx24%F3)pc{7hm0zy0pZ!Pb%aJq7a+?>uLZpL)Ui4|kri zpLiP|ym1+HpXarH)t32Ty~po^w@%~LlfV3p!^HeZ{G1=+y))Xk|FYL#?On%S`~w_0 zF~5!z$Hwt%9KJ<(Sl+>RISy}Gm-;n`@yJ8JocF=z1;2^KC11rm z4!u_G_jQcdsxe_{I###0A;!^kfXg!NaqCaqw`$w7|c!POAUsk4pCc`MeF*Z{rGg z+}NGrZG5KPpq=O0&zu*{d2pRLleeD=D^LC;Jv({h=^Lj#dhMv+K6rYPA52E?`!MgR z|0gTnpZ#G;-*@|m!CUShzwo_O`D-WV>&@>K=PvL0`oACB=S$!36?*SC>wN#-koZ@z zANlurGk(hlzF^e_{AL_HJv{B{w^f!fyD7!Hq(58F*7JWSG)&L1Y9eja{$u{_DM|C9C>{*rv){tpphIx%Y^H2L1`7|*3&OiKIpSzvJkJ-J5KF9e!Ul!+5 z-kryNq}ocnJyQFPxABRccC3%a0oLAJ|J+Z*tGiZUJiWZ|aP!%~5C2EsS|$dr<9;a45`lEe3j3@DrS7{EB&Zo4~_krR_PpU`b*mYis z+j#`XtOee9HWB;Q2eW6_I6QsJ=v~j#XWkrd!<#4OlR9<$IKp`G>}T#Txi8@Uqj|z! z-SFy053?un^3X2cc;dx@r{qWCVfClCUg50+c=mW0PcQFT7xM})e;BX6;=( z^etCyJ&Jr9nep%IeR=9{d2M}P13&fld-=Vd`0%VRy*MyQPwvZB$$7mXzPdiN-uios z=BatFpXMVh4|vAI)2oZ?NO@?7UE@`n#tg{fKm7HQ+q)(GKAPWk@V&h4CU&2S+#|Pq z3JT1diKpXk&UwN_l>mYypj2B*}1RQ$7$oh57w`V#Ut?~y>${6 zk9?J0{#~~?s2g5g`nbNzaGs~ldA!H2tnZJH>P-*Nyw!_j2TyzW60beHc+tDh;QdVR zSM>d^Txa%r13y_6!ST!bVSk0MVn^=5@~$ZNb;8pdf8zy{;=ug$6F+6!WdqM|@`qI# z^JE39YagGYFYAx~1~(rZ<{8Ijxq;^Pl>KuKqcjBv?^+O)?u(%{%JM3U~B;I*n z*L9TzzV#d<@sEf7%o`r=ecnILZ(lyIc%C2My_@*z_GYkgo9)Bf_{ev~-#ok?*u2=I z-|{gp@m-f;ryYD_fynsvetjVhUYtu(SdyJO(d%z;-*+;9KC_B3Z}eM#=6Grc-&liW z#qIwu9sBT`~RWjcVCqJ#y>0Ry}bYXzbyRXTP6SWJ0<;o_{(1}eD~?d z_rquXc=4?8=5zIs@B8zgh}{<=KOXsX;MarASC@ZuPUnDzNDp1$#- zIm!OMoby}zk+}A^_KH8g$0-KzC0?BH{oE$?-JD;+d)njYd=f9eL+t*N?e~2fe$Jc3 zg?}XRVe?WR^6ULO_VnW8VeL#i{HyenpLkz159Lkt@_!>Z`So#8ey+n|^^hm56&OGD zFewlA?q9+CVp;N19oav$-rO%~wf)OHmG6`sF6q^Sopn-v<|W>|!OwhQJUwocQ)fWB?7k&RX_7w6`XL|8o8}=}sy>{WjAHGs? zj$cbW>yYokBoFsx?&nSHJ6`bSGx_K*^k<%D_x&F6XMJJ3W=DVhzlcNL*E_zSyuMVj z|6j#T^!5Y$H*6lm`>?m)$jkW2XX0&qF7eiPaT*VQe5+S)oi=8j(%#vA(C1rmcmG9x z;=o#g@$}>R{P?+5jPnEE1JLdvJb&M(!i#^YJ$~Vjw~422&b!$?8ocuYFYV*` z!{U;7??pKtnD^E*{WXrTaS;!0zKPm!UTj{g%gm1*UO!=BVLbiB;#r5~2g{p3e36gg zB|gt7{jOKP_xRQ-$JDj|FQxrj-Hpp3_Gzx)r^3@;#ZDak#lw@QC-u9r0A$($)e$xx z;=B?2O1{i{hMt>yKK?SlUv>9(*}ZVS7`#0zz31xv{&ecy$2$ajk2+3%Vs#|>!&Bl(JnXopj`Z-O6;0&X_=Xl2A9Y_R;HP9q;^EwXalil0a|L#f zS6RaLXILB(51Y4dt&_&}jrT&`C-;3;xZhjz{pr`^4{Jvruy)Dt$J_Gn?>)k#>wd?l z$FYYU2kbX{cbi>*3dN zhn{`&X>QI#cE%xQ{r(l6eqY%l1KI6EZ`|g5JOhufyrf~*C%ia~7tKSN ze!5P7@l$07KYK5J^4kYiC;T=(c&KuX46EEwK^Uy8#)7uipIsm=-8_rqavXC2@-l0SRvBi?n9cIoBE55B~+o4ord{I5nn z)_?qz;*xmS{w;s{ebv^K>aA{Nb^m{f@buzZ&!(ULvUh)#oqS<-Bwih~1JC&K!SiPa zPsvZahh=NX=;QDGFGl@bSA6>g1O3F$dg>p3N^wX$tiIyRe!78md~iP(VL#^sj2Gv%b=rFI3nlwH*toHSN&4IJd&WQKHI1)|-~MLg zUea;N@22oz|4u1mFZZx!5p81*pUIn4Wm#)~~W65sI`CNjABsDmA^ zIrV&G@A;GVjVA{fPoH}A_uACY{YrL^SGFQM4t;2%`BJ#=;s4aQFR?kFT8RU@pJ82_ zc#pmHq?)<^o(^7pNOt;3Kl1JKVto5$Lp|xQR&C9E@QxGO^}I>DBzu?~dh1;0sZQ+4 z;n()`?+J%a+&l9v>VBS}UFSEV8bAD$>_~jp(Ow_b(f6$m>*Ue*v$Fnl zeKLNH#dp4CeCK*%oLX`uS8d4C`hu1x{w&V$=hya8SWnZ>v+d z-nz>k53?ij(+_4xCeHVNcbzo9|Bp%@e!b*}zgKemm69Jg-kS%v;l(%q&hm>LUR`>B z4!@00^U-Hsy3g7FZ~jUA?T_=gp8s>pyp1zEet1~E>|i`SjHfqG=Kjx~UE@Vl zQor`-VUi!r8^+Vme$$)B?C1PE^GiPL#UZc4>;LBl_Pj}+Pr~!R4#qEhWY;;k^I*3< z{4^i6xb%I#8{T_kc>RDMM!&z0(REs}Ag9C7JFbcUsqnD&g_-$lmp!|di5Kj-;B~Ik zo?B1961(>!wR7{(zu*7BU%i5#8QAfH3D*-Nuf8sRGjSYm^xwG4Ymc3{^yI7b#+X70>oDAM*cq=qdhz5namUF9 zUS06&YJBPKCwTRqb>3Hb;KkRTcrcz`{#S_uvu6k6>B-EyyPrrL`x~75H+NqQpWkut z`yPG&#C63S_s%>1+Lad`#*=u@iH#>Y`vv30na_pfsa@m7UK~7(C-KIcUcTPs6c6T4;{WZ$gY^@h z`G|)nXIy#`PtrS2rPrSM2;)h-I1{rY@#4+>9%c`VPp|*M-aG93!};FT@$FR>nV;Uv z>Eo5_d-;g3{&?-rbp^)r*H3yFPvW)jJf7b9F#DTTTX^#i9(C#W1)3Kqvhzw@c`$1n zK6>vdwe)*JuBV+BT4%4~5AVVHEAQ**;g(xIlc$d~kF5*6&hd+#@twT+ChURVkh7kR zW7k+9GQ7HyX#J%Z2X4D;obib-4tsX=jTw;fpY1)4-uz>(j(FqF4!#<3yZz|JyOf{f z%k*oU0F6i7ec(f|ykPw~+po6zh>wrD_p`Y_vDdG*AMxmC-OXe9v71;seH@CR{Q)l? zEFKx&ed?!QUnj=zbiedG{YmM+8|-?k-?#F9RqVXq*x$p~p5vapjI(i=xa%uG<#GSK zaNzD|^xV|B`4AJ!YmT3FO8&5Mk-vE|^VSX?p6$TR>p-Nq>ck%AH~R~ZaQ&Q5KQ8g~ z+R3`6a?x z;*xk+Ty+xf5=)>4k+!deSXh(EjsJI|lj;p&PvuG-y-O3)=BNbGY*UwpPc-o zYPY|)XWaE0p7Tz9#Ff{qL*ul=ULM+k@g%J{x%Zf%EypDg$}I>Sw%Q?RWh6{}*rFwEs-WL%VqWfZ36F`x(9Y{@N-Hf0&(m`}oDI&ySi9vByq+<}=Kn#0ML{ z^-jh4^AAgIZzs1?l+6yR>_yogL9t!%>OSuL~mWPF3_t7 zJ-o%Q`xm_VOn&G=(tfBe9XAFro*(_bXiCZ#FW>aj@6>JlJSR;2{yx%Qb$^pjKVRzn z9;V;Cy2!KhVZUkvFCJX%*3YroPB2e03Eg&XoK} zeAfLB`G}!Fc+&;)lN)*toKX z+0&EuJN-1?_8<9+!%sZC{`GnCD$C~M*f@ODE%KbMum7E&$!E?l7~g@iL7(%^ySG;n zIWOz`Q`Qyhn|ZEZb6#{k5--j5et=h}OOhYSPQU2oG1te5yS{OR#qD_6(9g;5s|-FB zS!nC$9eebyyVQB+4dWB1_uF}XZ2gq?Roa>PsRtfzsiF9v>BE~}@;tMPfAjIn`Q6Km<Pj;RoPQvy63_oU9vcF%KcxTTW z^BxlS&Hkd@tHgunJd;136!0+o&1ZH~@+0x^zHFUjKhI@HvVuu^$CW258ZywhPk#2l z@$gp{^FjNw-k$g1v)?9*t-p7VZ$f)hwm~++%O`RC-;Berg#UcW7vBiZas4j$LFBQX zg};jQ9;tDq-}13P;U|_Cd;Mf@KQLbG+HaMnF#|F@*mlvoUePW)7*GGNdOS0q-cGyv z)$=C}G-emQy!(7B{H&9_<95G3jClAx`uO$pjqrWFCa&Wj|Eq`oecWWvj!Zx9J{i9+ z41e?gl7IMP{QG?AwZ!2+=1V{S#XFBu*REp{bv}iMjoXOtc+khK9>>IMkvw7jR7b}{ z`hD2LcyZ)sp3U~n{`jSuy)AFU$0{11+&)Lzx2=i#y5^XedjUs;xr$JiN)>wVn3F?;t+4aSXYU4Qf9mT) z^^q^UjSpUZo+h4o=l=Y##qu#qIwyWBoUe;5~L% zk><%+-h;Qlv%i>c{P0^o<`uno@Em93g?IiWp6d@h|Hcf-RU4DnANerXK3;shIQWU# zk@)Nl0p{&X?exH;JQN{lLS;3UkGALku#*=%_40i^?M*!WMm_p_2K=Y&_OgMeHy**q z+f`e`&iCQ(a$jeAtL%C_{+;-_-)CIZW1ja{EBD_Iz-#wa{Z@DOu(%}N{HBM=QHNe9 z@zYOS`m0r2k0OmP-ugLt`=59di-Q-hrS_tb$Fw(ZB(2=@!L9W^?NDqW9_B) z{$+oE&+%8D6VKzB@t%2|TK(t`UO&ZUPtQL2_Wp5(+b|oer2SJ|vdv>hPvT+nReF5S ztHh_5H=OmW&)0K4bi9q9^CR_EXY*43#IqmbXM5_7pZ?|--n_Ri8W(uRhnr7gd-{VH z=Tcqq`UOvW@z~+jiQe@#e#WC`50mtyy3IH+J95T3tYVC>I>X{mf4qLres=qb-&i0r zJec;r_iLqp`CpVgyjybpYDw3>{XS2QpD%v0_q86WM5i-+;_6Gwl%UA46jIp?eKV27V^VSGiuKhINddYE7Iu3Oem ztkT?;?Dg4s6o2b!S#SNjym)o7u5J~tkE`0p!~DeMhbQqcNl&WFmxh!51#FaOX7o%x2v{{i~SXLeky+adcVh8CuUvESNv$duXFL@ zll!t&GV|r`Yo-6re_qo6arxRm3eJ7|cmAaC-KR?aUw>3`%je~n3*(>vLHLZD-);81 z#B(xuOWelB!~B@|Ch;%T0iXOlck4Q-XZt4}`_@Ncy_$OVonI;Xd@$p2{M;%+yFVT* zo^=2&>-)d>)T4hNITroCl6vKM(C_7#U-*uf0FBpun?JZU=M{VN)cQ2@*Izumk9Nev zPx*tn{KYn&KKqsH#wUM!6_Yyj`OS6d8_Qo^X58*i;$6l6&EPE`*LUIjeNyX|{&#!v z({DU{NPJjc)BjT5?D6s>=Q^Yv_SQ+b<0U}jFaudBN<+)UU(I9}l-dHYUHXhZfeK_8+`?(0ttOf1*7qzqh{~ z|D0zwzApXUZ-mc0{@7Q8GmrZDQsOt(e|3@%yye3VFMmATJYv}>Igc-4t%JQk-L5bZ z=?8vuUM;Uae#G8*^dwA{PN%~86czLnw{1#1Q;q_khu{(bG zA@1X^IGsU)-y--+YK%#~gn){B6mekBnEOH%hg+_4S9<52v5eG9Uj(R%+B|VCThcdkLh<<#fz`s z6JN!y+b_31ub8~J(>`wf9LIQ1DNpr*FU7-)FQ2K;d_Gu@bG&}}Ed7i9dMj9aQ)-8t zJpb@#=X>3+7{KC)s~_&mnYV{k7RF0I#o^yL_Tsl+3}HNf`=$GA+HrpqHedLY;=tt8 zyMIUTe1g6C0kb3Vut}JcKc?@FX54=}Gfj+-V2n`2|0Bzan`YKeJerbbm>n zeZCeu@#lDnf{*O)^M>!=KV)bA!rFz!CGoI%9Qzl)y)Y;FJICPg&pvp_Z{8OU-|t^* z-#Ejw-}F<;;*uUe`(wS%I9z=@`R*m3e?6F=`5-S?yYQCJb^P(-!0gCN{It(Huzn%& zlh4`jpEzIQzsDZd5A7RY*z>>GAAdgn;k_4Pf4}=&c=0dwM|?cY-~MEM!FwKpcm6%& zXde%=gT*EB@YSlVtYa_TFL+$~iH{$|K6&=@ZguYCOY9Dj@|k$%1GC@8=WPEOy#0S) zMYtcRp7Lxw{PEgRUuNbHUVr%EXa4Xde#XC42XXNH($D^Wed^HbWAbdA{j0G!jz8i1 z`Gb0q@|aj05tT! zY=jqgj*~jzr@Ykvwj1rS*ABePBlhye!y}yYhMsrMH?+^6U*pl9y59`F{S&{3ht*wN z`zt)W2{hV=OcI5Qee$ErtCs$bp`(9u_KYJ2hyHje1#HZc_J=>fwJbk{(BlG3iPX{Mn zpYNre{=TMmjXONs$J4t$O27O4-828nqxtyv^|!j5Nez(|r|(M|Pqh6+oX&$E!$`dS z&hM`tV()xYzv1ZzpS3&M!&C2R$9T)%JYwINBN>0~i-U&o^fR9EdoA&rpI87gd|)&5$zVtmG*|!X@pW2tN z^9R`X0nIm3JeZ`{57(bCp2Wk>OJd*e6X4}1-tEGiWM41hr+i@j5eWaA-(4r>?Y~#@ zfBeTKfAkMaKKcEUNB?ifeW<**;XJdicUIZ=`T14wme0-L>Dl2O7tCLFF#eEu#?5%> zKR*~xZ(g@P@$l0R#*@=uUR&a6hkeHh&ko-h-$ZR_&pK)T!0MzO^?|1x;mwa$r@f2k z5y`jbf%t26h||U%jMvYJAA0qC_58SL`*Zt;f$<#nm90p2XL-b|MeGlet5N{uL z^1y4a&+9sQbi1+J#s}~C9J+r`%=|OY z^%o|^>F}$zF7fQ~{9rsi>G$o^IS;lJZK%DWZkcYY`F z26q0v-VdMarv5zvp=YV{ERlkE0Y8hG|s z9{5+~A-?*USK?ga#bvKO{pWXBwS_m%c={>vBpyz_fBvm?()hnG-wQr|q4X=?+jaeT z_ipL8|Bt&bkMnB!|Gx->Fp?z6G)*zTfxxJe}8>=HYnbi{Jb)&-d%RUg!0Co!43Kx#!;78%TfA z9?kqsnsFe_I0g7)91I`ntQYd#I50o;xqO#4^7v6FU$i9cBQ?eAaE$wg#{Fi-$y}#! zzGnOxFVeI|ntZ1B7XC_*^-p=m*GNI0e8$J{@dNw_`>&>-_D6o)uQcy};QdRMhxNtl z9QJF@H}sQsS)b%HuJoV&l4d?4`9zk>&=e#}@}n3?`z#0ZvmKCTcIqXcwCf+sLB5-x ze5Nx_q)k3y3J|p6Bbnu4I%y}jS>IER^+DQ|C*LWbx$bo119~mrQAj)VkL!(mNd&om zpk308S0UtRmo)XdaU@NCVrA`h#qUjLezqI>VQ2~v1wV)&=@-j|WK%!nQ$P8n4Id1= ze}V4{Ez_?86t=A9|`!kmMKcA4a91(Ov?+*8%>S`z-XA;~4!Va$KNY z#(^~K8z8@~d=zAU;%}uFN+Ln|x{!K^lyl-0?4$LW^#JqbYd(`rJ(CZHdk&4~3C((m z3g{2}BWboX$}x`QGo3W~NH^b^VLkFXi*`t}UYXye>(Ed0rua7|Y3X zl8`g^b;zea>gPD)(zHV)pY5Ld`%3bQ<)$6#Wj~-E#({i8Q-CPR4_<##j{EQwqdoHJ zC;9Y?eA*?S=`NB_B%k_>9ic>mlp~)skQF z{bV}j$!9v-9g%XRDaU-|6Uiq{WIFSaCNl233sW*!e0M_6yduGi?*ff|oT_wz z6Uj%rVlu}IUY8PsK9Yzq9$fd)KIe7PMn5!@CZ7h0`I7wN_~e$8dd|z_+}hnoaq;7)*BTt4&;-r3z?5dIX6z^!yfN9nR$|Nq#X8}44>Ce z9G^LVlFpMPC&xGHV>)S;mwwiw=>QRW+0K|uWIFY6JSEM3MS0TXGo8qB$n}?e`fK=L z&=1P7o$>r6?UGMD0Q& zn)qAk9CsjBd9EbCaGhLvdP4Jg@d=>wMkMKzG0yP2WV|004N3R``ZxDu%zGkOZ|v7B zFR#y74}GC0z+WM0A{n3!AL*=D6OTIb)yan*@`>~hY;(P5_+YSHZaZfA$)`S(AATCz z7{U+mnGdNvr_T4N8Nc!<4?#ma>4zn>*q(v&BXPnzxIAW2es16fXvPx(k^{ZYS5vwY+S?jQ6pnQIfqc^RhcwGi|6H1W5y{VY?795kqIvFv<1ep|Nb`OR*Q0#Sk#QkSzg>Ie zv;1tAq+NOP86Trp5=lcdBN2SI3nu3woivg0qaQ2}?HU>x4DINn9_pn%mV@&l{U*(P zbs_Z;DQEm31ITjFe>V>759HGy>ZLl;b@3@jKFiB=+9{MIg*3}eq&)4p=`1JtL^q$C zPCoSI;eK*}eIRp=m2oiZ3}obW8TnjCQ7_9)zKJ^oj6aej7@7)*3E!MM?VZq^9|D(V zzdS6FGw=W6{ub8>Tz3{hj_r`N>o4nxeAX9f)(gwQdI|8ybfRxM{h~Z+SC4Ct{xKi@ zWWHQUIHcY3GMz|0q=`&td_ePk<9x5Op()4llr*pZ^CY9ev_Hm`<)PoCX`e{GBznxc z!ELY9%l7HU&y){(3{68s@L3KfyZyoBhdgN)nV(30EgE`QUh)kMKGRJ+m_Vc)Fvp>P z%Rbc@WPT=qE^^WtpYBNKyy?=Wo*~D2tIMyt_yPXNM>{k31DH-ZwhLni_6;9D3?DSd z7gG;NC(ZeWab|wfb?K)Z<3yUse58p?C+17?YbcQGM#h=z8J6FS`;d40iSZkJ<};X> zTl=4KNMXC6UdD+TNRy9rzLzU1fj*9lu3g4~e9~-xw8M1bZ=`cPGxzQL!Vku)J7~s- z^9}WrrX3>rrX0{?(jjPQhtG5(^%C85(#6nY#z|zL|Ku}{MD`o%p*-!8CZFkyKlyBb z$SsUlNX?DM(y5zt6-ZeZmS{04OFr$9CZFlFEN5|o4h35oY!Rg z^f%`+$hkWMxhUt_yd@vYy#+NkXN!sYa5AsdAB)=$6edLoSpXv0!2>F>#Ir0k~ zKFdQs=Rvkh>fty-K5532b|}yOLO%1+o*O@=*Fq{JO7eqoATo|F&1^*SjU6(8^p|pO z|7JS#(=L(fNE3f6oqSiX8&}$=UKfoX`~biDBFQ8~LlX?n2OgAQ<(LF{U$x{^@VP$W zz7Ok>ezBd9rvCx|pvUl;4rDsl8KjGxe56@^(zHiENYf1CLq2KRp&av(Ul$sA{BY&S zXPihADeux;uOq!^v?RZJ0!epI=+YyRj&fCFT;+Q(N=dU^Zut}Kb)HKtFNJ>k%laYh z<|iNN<~zugGx3IArqe&e2cwX3Ktr31_>u4h&+PLrp-znRW)jx>>a@`WiGH1DBi zKFYbMa>WGrf^mlJ)0|7AUqd9xNqw9@T)GbZW}kw5*H6;q6RDr^ra$D9HheG`SJoG4 zlMg@0?=DF~K9K86wnNURwC9WmS>GR}{lt2}_}6Ohv|Fnj@RxkXi!}8T!7m+|%I(5DcRi`CQuMcjVpo@)|klA)j$#zo&gen~eB@{M`4X zKa3A)W+P2L)6MvjB$)F8u3h9eeAY`J_(A_!9@-;Kdqnb0{GrFt6eNPre2fp-qzyk| znCDS3o(R`JD4)3=BrUK*eH@2s(Z(=-AfMTPKr-X##+~sZ-}ntZhK3$PgO6l0Zi6=K zc=G8t^ApJ@P5iBN@~M~YfaRkemu5QilO{5q$oNnX((^`1@~bWipSb_v+Hv);JWO|K*BtqrALuvjkT&_? zANhBSl{1oR5HhGyYIN=QYywmvo)zIv`1c8waBg^6q$6 zihS@tbp&XLn|&gdkLiZi^1RLt@{!K*o%uMvkWZTRLYnQ|)C=?(nhJ^FbH9giqaM;` zADa1y$WIb>W~P#K)+5(9eD2L$Kj2&f=~V9|pSd1D+zrkC&-!8ip}(Z*59P==aY*b? z%+#0RgJWn%-lQjTsr|u6yEOZgg-N*6!LmVaV6nIFXtP5pJ{GkmSaTnFVtpBqOvAL+WvNj;P!9pH~~ zB%keyeA47Iy;iv#eT-|qBn;9nQm>0pXV%l?GrcbRZaU(UIw$di??2&vw&1`dy>v{1 z!Jq_lLGzq8ulM*Iy*WRYhkS~Fk2VVrqAz;;w9S~L3x`6ez9V>+>}aeA4varJ0XNe!egzLDmyfxeg$W zb$l>Xk`(L@@jVG#M+9u2To17Pq*-42PyO_te5R8&e8a#GNs#LYj$>SR^8N??Fyk`v z85-)Shjv-Nq#y3O@4{7p|kLT;SZ$=Dw zeuMfEAH#>eRBuTn@_`9u?%x`Ip2J664WI43H{|GVaUC?{Nj~%i{9`%EC!G&{q-mG= zsF!@ElO~_(rhPL3NO>lcE)u3B$aL3#(uR+0j7uT)09_j52I}H-ym!k*yX4a!Ds=fS zO*ta?HCIR`h2J+!osrNfjxQV^SZ}1cu5sabxIUr`P`^jfI z>w)t0i?l08KJ$@JB%d_=t3F*aDQ4f0;~d8;mW$=5pB&fePky4ulqaLr`bR$d1LH%a zDD}DNq{*jzUFnn~pYrsZ?Ts|$NmHIkzC+7tl1bry6WOeH!^eB$&3-KFBQMEM`L)+U zNO$eh?^?Lla`FrLo$|{dM=#fV#*V{Jl$r6?_{nt63#9qJ6VRhZN%Cu-1o@pF^S+Z4 z!0!#@c#sd8^DW~=n*NdwoImnSGW0PXY=`8NCLie$?~if+zXW>NA6%rL99O76ANk04 z{Uc32^A#c={UUAZpMsDxe5M1bm)GA&F6aGd=3~ESKWAL1j`I=uOs9VGIS!Gg9Fct9 zuR{4!Y@eV_d!>A_BpO_r_T9LXu8U89$R~~ZF#C^AdaZGe^+%*Uzgr7B)mxHZj5FiI zc1)Uj@*$t(ivNQqpXr7MpXtOxq;q^{{8*1}`AL&cJ-q)$d+vD2c1k{J<|mTR^3Wdn zh8Ct|u;_w>t~oow>hlvU#W-xADB>U z|I<&_b3e#&KIJ&Y@ud)a`e*7B=`KzEv}kC^Go8qIupXJteAG{x=*qe2yQS+m$En@)3m6k(O>3sk@9t= zQxD~+k2K>&I#2j3gJwP0Gf6k=ANb4rerEmCJCVy|PXA-M=pSh#fFI-=|0H3MCZFRR z^HU%BOeak~(~0CCBuNVPx6J-G`j6RnM4Zh14JS@qhZ#P{hknq{anksY^u+qw>nZZ- zUtN5poBc7iOSheprasctOC;Z=dka$%H1R~bn~#1F4ZkjVs;`63xY2Lwb7`s}l5hM4 zgY}j#NdomT?hrHY<0Rir|E==5`A8F~kH~bk8>aJoB+KEB>qSDz1eu@uYWWFqmrpH> zH)#_WNm58NKWWMn$#-b;JT~Tab6x=b+|aD2o|0&w9j3FKq*+eKo_XGZ{up@*0?B7G z<4`O~3i+HzDaUjd$tQwup0A+1dmfJUOnzNRy+q2naUh@REI<1P^Rc{?Crv)nSr1Gn zO+Jx)+GTx_Py6J%@{}Wj&*!j%qa@)BN-#AHH1+WQP$CtW>k#s5*`**c(Py65;yl6n zDN6Weeq%cIlcqY-VBhCDz$!EGtGydeW zTr4l;U7GSl^64MbG2W$mOOgWGe9xEH>%1;1h8$`7laF-LjBlcK?YfM7*ALQ$&x}CE zi|cImZ~DPFus)fc`N(HFY4Vv)Kj=T@NK=k}lFxkPlQw)XT-qJa$Y(i78@>2JKGR(~ zUlL9Ukk>g$YGBqI;G1=IZ^-ldkoC`ayYVMoR~*S_Jc^*7>*BlVq}S$5e$h@(Nod|Lr#$KgN$lKeHPoAAXtZW(XLXelw$!kIClx zntU>_&N1gI89(l~(qFbm=HqxmzUiluNVt9(8hq*@vb}J8$%h=rlRSr}UGj~7C?rij zk`0j01hz-FoikpPC(V3B^64kj85iosMpu>f9=}H} zwI>++Ry}6)iV*%MA3zEf0oT!Tg{o}U|TP`s9rdh9)ccyJ*UY`B(P*?Ic#u;T-RpPjh4D!kHC z7*yUX^y^{BTls={XP#Bjuk_;oUUf%RSV_UO+{JeY<*1Hy%q@Lk{Kpk@w$2%U%Z=}a z2Qv`qe3LJbU!A{SK&RR9UzGVD|Fg5jq-+evNFeEiY%Mcp4sG-Ku=m2DcE<7xBnR>X zfb=&eM}4w)m#F>@`<-xbr`h2=@H0?yhHL`5AJEEIddyi}qMPSGbXs)8oN&CIFLh#E z^T{7uGwUTzE$Wo>N%-sr{YuAvQyE@j=PN%!HUr%NXvI@rx^_{;f&H63w``xv@M1e( z=?PLFG@4mJ`$=*mx$3Brw);%23K@qay_I)8ustUEa%2nG+X|@dwUH!wVQ9rGPRf%l zA!e!tL#R@q@fg zK<@z5<3tlVrRnRVo4)?8)6Nl3X2H^_ot~GA{n@(`{$I^5> z!bLAX6SDm#`T7d&v)sD=){fWNwin$Waxk#vXU9ixpzdYF;^1Xq2ylxA(Ke_3qz~biQosAzOR?^TTF{TLRs@ z`@@cQzIfjB9hY=F3uJHT;ks1U`-9@eBKtx95TI3#lK1cXAY9n7>gg6=J{Rix8z?1^KL}{G-`w+_yCy8`vCrWr zoj*C`bwVOGPzFJs*FS1KpNcmSf9!wU&3oPLTt5u(ZZGQkDZcL5ANCFey6q)Np6#@k zJQ)J{1Atass(*ZN9^(1$S%+Bl6PKv53`MyP2C909Uleh6!}N;&J!gH^(7PUV`}3b4 zw4d3IgEiq{C>O8Kt$s9g+>tL=aGcln{Kvs;%ct}Ck1sl3O<0QZ4F_7~D|un>n=4Ys zpEva0`nQF=E=j}&d)FVYPcr%9>#-5Ab0kpD$IT^4{`>pGQSk2$pjE%)F1&9-IBVol zTb?v^X?PL%8K^!+js|@RQ1yp+T*|8~AGTSa#o;JBU%cOQ4CpaHeH|A_gR{1I_3DzU zkn7=$SbRXe4D!bUt?R0q>2G$49%_C|gUdHq8glCn{;csT&e~9pgPqYpYkgC% z-DQ(24t#d_>mLX6Lhb`5V!O%lkUs%v#dF2(SI_Qs@g<+k-ge6wA@?~Gv98{Jy6yTz z*kPRYdLvg#l7)Gw$MIr03HeS2T2MZ5yPcwh{{+gy2LCPu>iTOYN%F$51^5Z{lhZ+;5476ns2}c%Dw6qVj^0NJ z`p6lOKeKke3A4+-swm&Q?}39_y%g$ofn*t%n(!>xIS;7osf8rTkB5!GPe9~s&|_6P z2 z=C=`E2UzinCH=1hto9e@%XZxp$VKq)VxTTR`@?c)Kg7S^W?S!W`7VWjmjUg#eK34Z zMajVNcMWM>8FC*ZBlbJ?ll8pPUBuWMg-`1T`9Uu?m@UAyzGuRS;41eEJmpl;XArFur^!fjf;?Tqt%Ie z3$*I5^t)A+71O^dJnZUeujuQ|c%0AH&+B04W}pQ{UAp8&HP7t4;g_qY=Aq+H!CW)y!`qL9(Y(^rv|;{2FTwC)a#T6=DNyi@3Ex+_@e9Gf1Y;h&o`cG z-i$wFJQ3x(1!(!xZ^hZwA+M{f^jOk=KFZclt6!!)liT3m?Lb`*^(0AN=v?>z_3?D$ zawq(|A856+oTtv2TrqUVCZFzcKd)Cv^F;?SKC3L0x|h z!|Ni|R-~Mh_dwM>af^xkIwCW+=-(41_ zO26D~ldawkdxM{W_=8=~gPvxmC%-Fa@6#@tyzMbBo%P-0VJpSoPhJ513Q&*BO@!mF zPVXcyLOudoAYHn2Lh{SbcwHn@Ay@&_<8lXcu1ojZrt%WxUj}M_a?JfPtAE9k*^V#% z`@*{Z{KqBjr~mw}U>?`B$IDfI;4~fqO z`Su5E{D?K@%M9p$2dL|P4X#&~*V@;39rAAj^*Go_lH}#J+UHEjzX7!T$$j+2t`XOf ze@;CFG7EOz1ZuslO@FZbh$a2kA-W&s%52zq3#jM!X8*c=q|4V-Dp9VvK&zjX9JBQM zUP6&J&+IK-^oq^;^erU)sJ{R#&uOjJnt0w2>DJzKGmL5y`;2k()Rn7 zR)r5iE&~%r$!gFc^6B=}LWXQReWxvUuL>vG`ASF0$Dn&5pH=>nOIE!fPTnqeqkDg? z3Xin&RgaKQK<`$&eDOY5Zqi=9tO}2?^93X1Q_zi(&#I?r=IN`#ug1T0(37*P%>DL^ zc#sr7{ry7f%@>lfW#3S=YL*#wAcOhde{ksl>=?dQif zhI|gt8qf9_wAm&9nEL^~?M2s*e|xdY9fvAM>LVUo)sAQ8z7xj@UGK%RIpnvfoiDD3 zmZsjdpV_bLwuGHrpw-Tb?)j1XOMm}9Ujz8Z{aZc0HZuEXdYtPdTO(g1pcS{u{jRL4 z^Sp3F$ZrEo+CTp{Hud1vyKg(wYW??#bUy$2LHp^yzP8#!T=)XvzI#(RV)4tr9p5vW zHsY?I5B+j!*pi`2WBek!CXnC0cD_;lFYOg^9irDKg;}n%{Nt(HQ7hR2{uKeWKW$~@ zivwQ!s8v<1^=C84cL3^k*g$Uivhtf%*DrL|kv(Kb$QJ;ucupAKq{U))MAe0BcTP*@-uhb)4N8A;NL$^w1j`HfI2R@lK8pMxgVG3 z-OhAB%8}NvQwX&9(K7|(>v)dHzaA`oY1gFG3#C3pZ(XndYte-PXu>RO*LUBByPh~nBe%PL)45K&_J5y%ZZ8d`7 zR6hUbCUiV=WDnRW0orPVRP*Su?}uO0xn_>@-27na1Nr@cmfmQChHr-BW^J+mO-m~D z`Lp=G;hvD+2WZ7R^Ztp{qj&7E{?5

(rpH^o9IhKszocZB`W3ymnE1(*J?5u`0lx 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

B5gL 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 yi~ven<`K*6d7~%xmYVdwIF| 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%0DV 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

    Ta?b@y6&vlLa6Ovyz)yIRH0i}Nrsh6(2 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%0D_riO~|8T=X=vHp#K$U$dfnm)7$>!=STMAt?UQ& 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

      yJPE(_j10Yw!GoAHK3YPi%fa@{3~s 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 versions.yml + "${task.process}": + miranda: \$(echo \$(miranda -v | sed -n 4p | sed 's/^.*miranda v//; s/microRNA.*\$//' )) + RNAplfold: \$(echo \$(RNAplfold -V | sed 's/^.*RNAplfold //' )) + RNAduplex: \$(echo \$(RNAduplex -V | sed 's/^.*RNAduplex //' )) + python: \$(python --version | sed 's/Python //g') + numpy: \$(python -c "import numpy; print(numpy.__version__)") + scikit-learn: \$(python -c "import sklearn; print(sklearn.__version__)") + pymysql: \$(python -c "import pymysql; print(pymysql.__version__)") + END_VERSIONS + """ +} diff --git a/modules/local/tarpmir/templates/TarPmiR_threading.py b/modules/local/tarpmir/templates/TarPmiR_threading.py new file mode 100644 index 00000000..d6aa942f --- /dev/null +++ b/modules/local/tarpmir/templates/TarPmiR_threading.py @@ -0,0 +1,755 @@ +#!/usr/bin/env python + +""" +Last update: 02/02/2016 +author: jun ding +usage: python TarPmiR.py -a -b -m -p +""" +import pdb,sys,os,re,math,getopt +try: + from urllib2 import urlopen +except: + from urllib.request import urlopen + +import urllib +import subprocess +import pickle +import uuid +import pymysql +import ssl +import numpy as np +# threading +import threading +import time +import concurrent.futures + +try: + ssl._create_default_https_context = ssl._create_unverified_context +except: + pass + +#------------------------------------------------ +try: + db1=pymysql.connect("genome-mysql.cse.ucsc.edu",'genome') + cur1=db1.cursor() + cur1.execute("use hg38") +except: + pass +#--------------------------------------------------------------------- + +#*********************************************************************** +#======================================================================= +# global functions# + +def format_yaml_like(data: dict, indent: int = 0) -> str: + """Formats a dictionary to a YAML-like string. + + Args: + data (dict): The dictionary to format. + indent (int): The current indentation level. + + Returns: + str: A string formatted as YAML. + """ + yaml_str = "" + for key, value in data.items(): + spaces = " " * indent + if isinstance(value, dict): + yaml_str += f"{spaces}{key}:\\n{format_yaml_like(value, indent + 1)}" + else: + yaml_str += f"{spaces}{key}: {value}\\n" + return yaml_str + +def filterBS(A): + def mergeBS(a,b): + a_bs=a[2].split(',') + b_bs=b[2].split(',') + if float(a[-1])>float(b[-1]): + return a + elif float(a[-1])int(b_bs[1])-int(b_bs[0]): + return a + else: + return b + + def overlap(a,b): + a=a.split(',') + b=b.split(',') + flag=(int(a[1])-int(b[0]))*(int(a[0])-int(b[1])) + if flag<=0: + return True + else: + return False + + for i in range(len(A)-1): + for j in range(i+1,len(A)): + if A[i]!=[] and A[j]!=[]: + if overlap(A[i][2],A[j][2]): + A[i]=mergeBS(A[i],A[j]) + A[j]=[] + A=[item for item in A if item!=[]] + return A + +# changed to hg38 +def get_conservation(pos): + url="https://genome.ucsc.edu/cgi-bin/hgTables?" + form_data={'hgsid':'385332177_fMwuaEoYIaAfIxVs6VEa6hgHN1kA', + 'clade':'mammal', + 'org':'human', + 'db':'hg38', + 'hgta_group':'compGeno', + 'hgta_track':'cons46way', + 'hgta_table':'phyloP46wayAll', + 'hgta_regionType':'range', + 'position':pos, + 'hgta_outputType':'wigData', + 'hgta_outFileName':'1', + 'hgta_doTopSubmit':'get output'} + params=urllib.urlencode(form_data) + response=urlopen(url,params) + data=response.read() + data=data.split('\\n') + data=data[1:] + out=[] + for i in data: + if (len(i)>0) and (i[0]!="#")and (i[0]!='v'): + ii=i.split() + ii=[int(ii[0]),float(ii[1])] + out.append(ii) + return out + + + +def scan(seq,m,cut): + dN={"A":0,"C":1,"G":2,"T":3} + maxS=maxScore(m) + loc=[] + for i in range(len(seq)-len(m)+1): + sc_i=0 + for j in range(len(m)): + seqij=seq[i+j] + if seqij!="N": + sc=m[j][dN[seqij]] + else: + sc=0.0 + sc_i+=sc + if sc_i/maxS>=cut: + loc.append(i) + return loc + +def maxScore(m): + s=0 + for i in m: + s+=max(i) + return s + + +def get_ensGene(name): + pn=re.compile('N._') + row=None + if name[0:4]=='ENST': + cur1.execute('select * from hg19.ensGene where name="%s"'%(name)) + row=cur1.fetchone() + elif pn.search(name): + row=cur1.execute('select * from hg19.refGene where name="%s"'%(name)) + if row!=None: + row=[row[2],row[3],row[4],row[5],row[9],row[10]] + else: + row=[] + return row + +def revcom(A): + dN={"A":"T","C":"G","G":"C","T":"A","N":"N"} + A=[dN[item] for item in A] + A=A[::-1] + A="".join(A) + return A + +def get_seq(pos,strand): + link="http://genome.ucsc.edu/cgi-bin/das/hg19/dna?segment="+pos + f=urllib.urlopen(link) + lf=f.read() + lf=lf.split("")[0].split('>')[1] + lf=lf.split("\\n") + lf=[item for item in lf if item!=''] + lf="".join(lf) + lf=lf.upper() + if strand=="+": + seq=lf + else: + seq=revcom(lf) + return seq + +def check_seed(seedx,x): + dN={'A':'T','C':'G','G':'CT','U':'AG','T':'AG','N':'N'} + seedx=[dN[item] for item in seedx] + rc_seedx=seedx[::-1] + flag=1 + for i in range(len(x)): + if x[i] not in rc_seedx[i]: + flag=0 + break + return flag + +def progressbar(count, total, suffix=""): + bar_len = 60 + filled_len = int(round(bar_len * count / float(total))) + + percents = round(100.0 * count / float(total), 1) + bar = '=' * filled_len + '-' * (bar_len - filled_len) + + print('[%s] %s%s ...%s\\r' % (bar, percents, '%', suffix)) + +def longestStem(bb,bm): + #bb is the pairing output of miRNA from RNAduplex + ct=0 + A=[] + B=[] + pc=0 + key='(' + for i in bb: + if i==key: + ct+=1 + else: + A.append([ct,pc-ct]) + ct=0 + pc+=1 + A.append([ct,pc-ct]) + A=max(A) + + + pa=[] # pairing location in miRNA + pb=[] # pairing location in mRNA + for i in range(len(bb)): + if bb[i]=='(': + pa.append(i) + + for i in range(len(bm)-1,-1,-1): + if bm[i]==')': + pb.append(i) + + ss=bb[0:A[1]].count('(') # stem start + se=bb[0:A[1]+A[0]-1].count('(')# stem end + #pdb.set_trace() + return [pb[se],pb[ss]] + +#======================================================================= +#*********************************************************************** + + + +#======================================================================= +# File processing + +class File: + def __init__(self,file_path): + self.path=file_path + + def readInfo(self,sep): + f=open(self.path,'r') + lf=f.readlines() + f.close() + lf=[item.strip().split(sep) for item in lf] + return lf + + def readSeq(self): + f=open(self.path,'r') + lf=f.readlines() + f.close() + lf="".join(lf) + lf=lf.split(">")[1:] + for i in range(len(lf)): + lf[i]=lf[i].split('\\n') + lf[i]=[item.strip() for item in lf[i]] + lf[i]=["".join(lf[i][0]),''.join(lf[i][1:])] + return lf + + + +class miRNA: + def __init__(self,mi,mi_seq): + self.name=mi + self.seq=mi_seq + +class mRNA: + def __init__(self,m,seq): + self.name=m + self.seq=seq + self.acc=self.accessibility_plfold() + self.phy=self.phyloP() + + def accessibility_plfold(self): + W=80 + L=40 + sessionID='fn_'+str(uuid.uuid1()) + input_mseq='>'+sessionID+'\\n'+self.seq + input_mseq=input_mseq.encode() + pp=subprocess.Popen(["RNAplfold","-W", "80", "-L", "40","-u", "16"],stdout=subprocess.PIPE, stdin=subprocess.PIPE,stderr=subprocess.PIPE) + #pdb.set_trace() + out,err=pp.communicate(input=input_mseq) + pp.wait() + #pp.terminate() + f=open("%s_lunp"%(sessionID),'r') + lf=f.readlines() + f.close() + lf=[item.strip() for item in lf] + lf=[item for item in lf if len(item)!=0] + lf=lf[2:] + lf=[item.split('\t') for item in lf] + lf=[item[-1] for item in lf] + #pdb.set_trace() + #=== + try: + os.remove("%s_dp.ps"%(sessionID)) + os.remove("%s_lunp"%(sessionID)) + except: + pass + + return lf + + def phyloP(self): + try: + row=get_ensGene(self.name) + span=80000 + currentS=row[2] + currentE=currentS+span + cvm=[] + while(currentE0: + exons=row[4].split(',') + exons=[item for item in exons if item!=''] + exone=row[5].split(',') + exone=[item for item in exone if item!=''] + for i in range(len(exons)): + for j in range(int(exons[i]),int(exone[i])): + if j in dc: + cv.append(dc[j]) + else: + cv.append(0) + return cv + except: + return [] + + +class Interactions: + def __init__(self,mir,m): + self.mir=mir + self.m=m + + def cand_site(self): + #ss=self.seed_site() + es=self.energy_site() + return es + + def seed_site(self): + seed=self.mir.seq[1:16] + ss=[] + for i in range(len(self.m.seq)-len(self.mir.seq)+1): + x=self.m.seq[i:i+len(seed)] + flag=check_seed(seed,x) + if flag!=0: + ss.append(i+len(seed)) + out=[] + x=24 + for i in ss: + out.append(str(max(0,i-x))+","+str(i+1)) + return out + + def energy_site1(self): + S=4 + C=-15 + ip_seq=">"+self.mir.name+"\\n"+self.mir.seq+"\\n"+">"+self.m.name+"\\n"+self.m.seq + pp1=subprocess.Popen(["RNADuplex","-e", "5", "-s"],stdout=subprocess.PIPE, stdin=subprocess.PIPE,stderr=subprocess.PIPE) + out,err=pp1.communicate(input=ip_seq) + pp1.wait() + #pp1.terminate() + lf=[item for item in out.split('\\n') if len(item)>0] + lf=[item.strip() for item in lf if item[0]!=">"] + lf=[item.split() for item in lf] + lf=[item for item in lf if float(item[-1][1:-1])0] + out=[item for item in out if item[0]=='>' and item[1]!=">"] + out=[item.split("\\t") for item in out] + out=[",".join(item[5].split(" ")) for item in out] + out=[i for i in out if int(i.split(",")[1])-int(i.split(",")[0]) >= 5 and int(i.split(",")[1]) <= len(self.m.seq)] + try: + os.remove(intID+"_mir_seq.txt") + os.remove(intID+"_m_seq.txt") + except: + pass + return out + + +class binding: + def __init__(self,mir,m,pos): + self.mir=mir + self.m=m + self.p=pos + # features of each miRNA-mRNA binding site + [self.en,self.sp,self.bb,self.bm]=self.mfe() + self.seed=self.hasSeed() + self.au=self.AU_content() + [self.nc,self.pnc]=self.consecutive_pairs() + self.me=self.me_motif() + self.ac=self.acc() + self.np=self.nbp() + self.bl=self.bl() + [self.pe,self.dpse]=self.prThreeEnd() + [self.phys,self.phyf]=self.cv() + + def getFeatures(self): + F=[self.en,self.seed,self.ac,self.au,self.phys,self.phyf,self.me,self.np,self.bl,self.nc,self.pnc,self.pe,self.dpse] + return F + + def mfe(self): + # RNAduplex + t=self.p.split(",") + t=[int(item) for item in t] + seqt=self.m.seq[t[0]:t[1]] + ipp_seq=">"+self.mir.name+"\\n"+self.mir.seq+"\\n"+">"+self.p+"\\n"+seqt + ipp_seq=ipp_seq.encode() + + pp2=subprocess.Popen(["RNAduplex","-e", "5", "-s"],stdout=subprocess.PIPE, stdin=subprocess.PIPE,stderr=subprocess.PIPE) + + # pp2=subprocess.Popen([RNAduplex, "-s"],stdout=subprocess.PIPE, stdin=subprocess.PIPE,stderr=subprocess.PIPE) + out,err=pp2.communicate(input=ipp_seq) + pp2.wait() + out=out.decode() + #pp2.terminate() + lf=[item for item in out.split('\\n') if len(item)>0] + + lf=[item.strip() for item in lf if item[0]!=">"] + + #pdb.set_trace() + lf=lf[0].split() + pm=lf[3].split(',') + pm=[int(item) for item in pm] + pmi=lf[1].split(',') + pmi=[int(item) for item in pmi] + + en=float(lf[-1][1:-1]) + bb=lf[0].split('&')[0] + bm=lf[0].split('&')[1] + ########################### + sd=pmi[0]-2 + msd=pm[1]+sd + #================================================ + bb="."*(pmi[0]-1)+bb+'.'*(len(self.mir.seq)-pmi[1]) + sp=bb[1:7].count('(') + sp1=bb[2:8].count('(') + sp=max(sp,sp1) + #================================================ + pm=[item-1+t[0] for item in pm] + + #en: energy + #sp: # of pairings in the seed region + #bb: pairing details in miRNA + #bm + + return [en,sp,bb,bm] + + def hasSeed(self): + return self.sp/6 + + def AU_content(self): + t=self.p.split(',') + offset=30 # 30 nt + x=8 # seed length + t=[int(item) for item in t] + seed_pos=[max(0,t[1]-1-x-offset),t[1]-1+offset] + #t=[max(0,t[0]-offset),t[1]+offset] + A=[1,1,1,1] + seqt=self.m.seq[seed_pos[0]:seed_pos[1]] + dN={"A":0,"C":1,"G":2,"T":3} + for i in seqt: + if i in dN: + A[dN[i]]+=1 + au=round(float(A[0]+A[3])/sum(A),3) + return au + + def consecutive_pairs(self): + #bm is the pairing of mRNA output from RNAduplex + bm=self.bm + ct=0 + qt=0 + am=2 + A=[] + B=[] + pc=0 + for i in bm: + if i==")": + ct+=1 + qt+=1 + else: + if am<0: + #pdb.set_trace() + B.append([qt,len(bm)-pc]) + qt=0 + am=am-1 + A.append([ct,len(bm)-pc]) + ct=0 + pc+=1 + A.append([ct,len(bm)-pc]) + A=max(A) + return A + + def me_motif(self): + # bb : pairing of miRNA + bb=self.bb + dBP={'(':'m','.':'e'} + bp=[dBP[item] for item in bb] + bp=''.join(bp) + # Averge probability of pairing in each position learned from CLASH + A=[0.464,0.762,0.826,0.954,0.984,0.87,0.824,0.91,0.742,0.776,0.944,0.966,0.784,0.702,0.676,0.558,0.554,0.456,0.562,0.552,0.422,0.096] + dN={'m':0,'e':1} + x=16 + p0=0 + for j in range(x): + ind=dN[bp[j]] + if ind==0: + p=A[j] + else: + p=1-A[j] + p0+=math.log(p) + return p0 + + def acc(self): + t=self.p.split(',') + t=[int(item) for item in t] + return float(self.m.acc[min(max(15,t[1]-1),len(self.m.seq)-1)]) + + def nbp(self): + return self.bb.count('(') + + def bl(self): + return(len(self.bm)) + + def prThreeEnd(self): + pe=self.bb[-8:].count('(') + ps=self.bb[0:8].count('(') + dpse=abs(pe-ps) + return [pe,dpse] + + def cv(self): + t=self.p.split(',') + t=[int(item) for item in t] + lstem=longestStem(self.bb,self.bm) + lstem=[item+t[0] for item in lstem] + try: + phys=self.m.phy[lstem[0]:lstem[1]+1] + phyf1=self.m.phy[max(0,lstem[0]-50):max(0,lstem[0]-10)] + phyf2=self.m.phy[lstem[1]+10:lstem[1]+50] + Avg_phys=sum(phys)/len(phys) + Avg_phyf1=sum(phyf1)/len(phyf1) + Avg_phyf2=sum(phyf2)/len(phyf2) + Avg_phyf=(Avg_phyf1+Avg_phyf2)/2 + return [Avg_phys, Avg_phyf] + except: + return [0,0] + + +#======================================================================= +# these should be in PATH +# RNAduplex="ViennaRNA-2.4.17/src/bin/RNAduplex" +# RNAplfold="ViennaRNA-2.4.17/src/bin/RNAplfold" +# miranda="miRanda-1.9/bin/miranda" + +#======================================================================= +# threading +global_lock = threading.Lock() + + +class thread_counter: + def __init__(self, N): + self.c = 0 + self.N = N + self._lock = threading.Lock() + + def increment(self): + with self._lock: + tmp = self.c + tmp += 1 + time.sleep(0.05) + self.c = tmp + progressbar(self.c. self.N) + + +def write_to_file(file_loc, data): + while global_lock.locked(): + continue + + global_lock.acquire() + + with open(file_loc, "a") as file: + file.write(data) + + global_lock.release() + + +def thread(i, file_loc, mir_info, RR, pb_cut, counter): + # instance of mRNA class + m=mRNA(i[0],i[-1]) + #pdb.set_trace() + out=[] + for j in mir_info: + mir=miRNA(j[0],j[-1]) + ii=Interactions(mir,m) + bs=ii.cand_site() + out_bs=[] + for k in bs: + bijk=binding(mir,m,k) + F=bijk.getFeatures() + FF=np.array(F).reshape(1,-1) + pb=RR.predict_proba(FF)[0][1] + if pb>pb_cut: + out_bs.append([bijk.mir.name,bijk.m.name,k,str(pb)]+[str(item) for item in F]) + out_bs=filterBS(out_bs) + #pdb.set_trace() + out+=out_bs + out=['\\t'.join(item) for item in out] + out='\\n'.join(out) + '\\n' + write_to_file(file_loc=file_loc, data=out) + # inc counter + counter.increment() + + +def main(): + mir_path="${mature}" + mrna_path="${fasta}" + mode_path="${moduleDir}/Human_sklearn_0.22.pkl" + pb_cut=float(0.8) # TODO MALTE + n_threads_input=10 # TODO MALTE + output_file="${meta.id}.bindings.tsv" + + global sessionID + sessionID= 'fn_'+str(uuid.uuid1()) + #======================================================================= + + # read in microRNAs + mir=File(mir_path) + miRNA_info=mir.readSeq() + + # read in mRNA + mRNA_file=File(mrna_path) + mRNA_seq=mRNA_file.readSeq() + + # read in model + f=open(mode_path,'rb') + model=pickle.load(f) + + #======================================================================= + + #pb_cut=0.5 # confidential cut of binding probability + + N=len(mRNA_seq) + + # publish n_threads threads each processing one gene + counter = thread_counter(N) + time_stamp = time.time() + + with concurrent.futures.ThreadPoolExecutor(max_workers=n_threads_input) as executor: + for seq in mRNA_seq: + executor.submit(thread, seq, output_file, miRNA_info, model, pb_cut, counter) + runtime = time.time()-time_stamp + print("runtime: "+ str(runtime)) + print('\\r\\n') + #======================================================================= + # removing temp files + try: + os.remove("%s_dp.ps"%(sessionID)) + os.remove("%s_lunp"%(sessionID)) + os.remove("%s.input"%(sessionID)) + os.remove("%s.out"%(sessionID)) + except: + pass + #============================= + + +if __name__=='__main__': + main() + + # RNAplfold version + process=subprocess.Popen( + ["RNAplfold","-V"], + stdout=subprocess.PIPE, + stdin=subprocess.PIPE, + stderr=subprocess.PIPE + ) + stdout,stderr=process.communicate() + rnaplfold=stdout.decode('utf-8').strip() + rnaplfold_version=rnaplfold.split(" ")[1] + + # RNAduplex version + process=subprocess.Popen( + ["RNAduplex","-V"], + stdout=subprocess.PIPE, + stdin=subprocess.PIPE, + stderr=subprocess.PIPE + ) + stdout,stderr=process.communicate() + rnaduplex=stdout.decode('utf-8').strip() + rnaduplex_version=rnaduplex.split(" ")[1] + + # miranda version + process=subprocess.Popen( + ["miranda","-v"], + stdout=subprocess.PIPE, + stdin=subprocess.PIPE, + stderr=subprocess.PIPE + ) + stdout,stderr=process.communicate() + miranda=stdout.decode('utf-8').strip() + miranda_version=miranda.split("\\n")[1].split(" ")[1] + + # Create version file + versions = { + "${task.process}" : { + "python": platform.python_version(), + "numpy": np.__version__, + "pymysql": pymysql.__version__, + "RNAplfold": rnaplfold_version, + "RNAduplex": rnaduplex_version, + "miranda": miranda_version, + } + } + + with open("versions.yml", "w") as f: + f.write(format_yaml_like(versions)) From 9e9d380f6f33ec0ff2cccb81ee8dfa5d3db5aa14 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Sat, 14 Sep 2024 16:47:15 +0200 Subject: [PATCH 20/53] including tarpmir unification in binding site prediction --- conf/modules.config | 20 +++++++++++++++++++ .../local/mirna/mirna_bindingsites.nf | 15 ++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/conf/modules.config b/conf/modules.config index 5bed5c45..2569eba5 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -819,6 +819,16 @@ process { ] } + withName: UNIFY_TARPMIR { + ext.args = "-v FS='\\t' -v OFS='\\t' 'NR>1 { split(\$3, arr, \",\"); print \$1, \$2, arr[1], arr[2], \"tarpmir\" }'" + ext.suffix = "tarpmir.tsv" + publishDir = [ + path: { "${params.outdir}/mirna_prediction/binding_sites/tools/tarpmir/unified" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, + ] + } + withName: COMBINE_BINDINGSITES { ext.prefix = "bindingsites.tsv" } @@ -1042,6 +1052,16 @@ process { ] } + withName: TARPMIR { + ext.prefix = { "${meta.id}.tarpmir" } + publishDir = [ + path: { "${params.outdir}/mirna_prediction/binding_sites/tools/tarpmir/output" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, + pattern: "*.txt" + ] + } + withName: MIRNA_TARGETS { publishDir = [ path: { "${params.outdir}/mirna_prediction/binding_sites/targets" }, diff --git a/subworkflows/local/mirna/mirna_bindingsites.nf b/subworkflows/local/mirna/mirna_bindingsites.nf index e03bf0b7..e5b905a8 100644 --- a/subworkflows/local/mirna/mirna_bindingsites.nf +++ b/subworkflows/local/mirna/mirna_bindingsites.nf @@ -3,6 +3,8 @@ include { MIRANDA } from '../../../modules/nf-core/miran include { GAWK as UNIFY_MIRANDA } from '../../../modules/nf-core/gawk' include { TARGETSCAN } from '../../../modules/local/targetscan/predict' include { GAWK as UNIFY_TARGETSCAN } from '../../../modules/nf-core/gawk' +include { TARPMIR } from '../../../modules/local/tarpmir' +include { GAWK as UNIFY_TARPMIR } from '../../../modules/nf-core/gawk' include { MIRNA_TARGETS } from '../../../modules/local/mirna_targets' include { CAT_CAT as COMBINE_BINDINGSITES } from '../../../modules/nf-core/cat/cat' include { MAJORITY_VOTE } from '../../../modules/local/majority_vote' @@ -60,6 +62,19 @@ workflow MIRNA_BINDINGSITES { ch_predictions = ch_predictions.mix(UNIFY_MIRANDA.out.output) } + if (tools_selected.contains('tarpmir')) { + // + // TARPMIR WORKFLOW: + // + + TARPMIR( ch_transcriptome_batches, mirna_fasta.collect() ) + UNIFY_TARPMIR( TARPMIR.out.bindings, [] ) + + ch_versions = ch_versions.mix(TARPMIR.out.versions) + ch_versions = ch_versions.mix(UNIFY_TARPMIR.out.versions) + ch_predictions = ch_predictions.mix(UNIFY_TARPMIR.out.output) + } + // // CONSOLIDATE PREDICTIONS WORKFLOW: // From c2c64cf5c52a88aa37263adf03ef639ec8c3f25a Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Sat, 14 Sep 2024 16:47:35 +0200 Subject: [PATCH 21/53] adding tarpmir as tool in nf config --- nextflow.config | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nextflow.config b/nextflow.config index 827a58f8..e48c366a 100644 --- a/nextflow.config +++ b/nextflow.config @@ -85,10 +85,11 @@ params { mirna_expression = null mirna_min_reads = 5 mirna_min_sample_percentage = 0.2 - mirna_tools = 'miranda,targetscan' + mirna_tools = 'miranda,targetscan,tarpmir' mirna_tool_filter = 1 mirna_correlation = 'pearson' + //> SPONGE sponge_fdr = 0.01 sponge_cpus = 12 From f3aeba7103e67d0e795f8ac04410532bc6ba4e3a Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Sat, 14 Sep 2024 16:48:07 +0200 Subject: [PATCH 22/53] grouping mirna options together --- nextflow_schema.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/nextflow_schema.json b/nextflow_schema.json index 83647df9..68ad3992 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -173,6 +173,23 @@ "default": "pearson", "pattern": "^(pearson|spearman)$" }, + "mirna_tools": { + "type": "string", + "fa_icon": "fas fa-wrench", + "description": "Comma separated list of miRNA bindingsite prediction tools to use. Supported tools: miranda, targetscan.", + "help_text": "Select one or a combination of miRNA bindingsite prediction tools for the pipeline e.g:\n--mirna_tools 'miranda,targetscan'", + "default": "miranda,targetscan,tarpmir", + "pattern": "^((miranda|targetscan|tarpmir)?,?)*[^,]+$" + }, + "mirna_tool_filter": { + "type": "integer", + "fa_icon": "fas fa-intersection", + "description": "Specify the number of votes required for a miRNA to be further considered in downstream analysis.'", + "help_text": "Controls the number of votes required for a binding site prediction to be considered valid. If a miRNA binding site was predicted by two different tools (e.g., miRanda and TargetScan), it receives two votes. By specifying additional tools for miRNA binding site prediction (using the 'mirna_tool_filter' parameter), you can adjust the number of votes required for a binding site to be considered valid.", + "default": 1, + "minimum": 1, + "maximum": 4 + }, "sponge_fdr": { "type": "number", "fa_icon": "fas fa-circle-notch", From 494dca37fdfab3208a28be1dad42ade8ee594c70 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Wed, 25 Sep 2024 10:16:31 +0200 Subject: [PATCH 23/53] fixing python version in majority_vote --- modules/local/majority_vote/templates/majority.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/local/majority_vote/templates/majority.py b/modules/local/majority_vote/templates/majority.py index 4812301a..2869cb37 100644 --- a/modules/local/majority_vote/templates/majority.py +++ b/modules/local/majority_vote/templates/majority.py @@ -1,7 +1,5 @@ #!/usr/bin/env python3 - import platform - import polars as pl import yaml From a7e0655c5586a1ac9c5359981362a485f74a14a7 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 26 Sep 2024 11:19:34 +0200 Subject: [PATCH 24/53] adding main pita process --- modules/local/pita/main.nf | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 modules/local/pita/main.nf diff --git a/modules/local/pita/main.nf b/modules/local/pita/main.nf new file mode 100644 index 00000000..f8358d35 --- /dev/null +++ b/modules/local/pita/main.nf @@ -0,0 +1,34 @@ +process PITA { + tag "$meta.id" + label 'process_high' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/ubuntu:20.04' : + 'nf-core/ubuntu:20.04' }" + + input: + tuple val(meta), path(fasta) + tuple val(meta2), path(mature) + + output: + tuple val(meta), path("*_pita_results.tab"), emit: tsv + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + template "pita_prediction.pl" + + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + + """ + touch ${prefix}.tab + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + END_VERSIONS + """ +} From 41d4413dbebc43e8e1cc4dd2dd036550dfb7a11f Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 26 Sep 2024 11:19:46 +0200 Subject: [PATCH 25/53] adding adjusted pita template --- .../local/pita/templates/pita_prediction.pl | 136 ++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100755 modules/local/pita/templates/pita_prediction.pl diff --git a/modules/local/pita/templates/pita_prediction.pl b/modules/local/pita/templates/pita_prediction.pl new file mode 100755 index 00000000..803f8e64 --- /dev/null +++ b/modules/local/pita/templates/pita_prediction.pl @@ -0,0 +1,136 @@ +#!/usr/bin/perl +use File::Basename; +use strict; + +require "${moduleDir}/templates/lib/load_args.pl"; +require "${moduleDir}/templates/lib/format_number.pl"; + +my %args = load_args(\\@ARGV); + +my \$prefix = 'circRNA'; +my \$utr_fn = '${fasta}'; +my \$upstream_fn = get_arg("upstream", "", \\%args); +my \$mir_fn = '${mature}'; +my \$flank_up = get_arg("flank_up", "", \\%args); +my \$flank_down = get_arg("flank_down", "", \\%args); +my \$lengths = '6-8'; +my \$gu = '6;0,7;1,8;1'; +my \$mismatches = '6;0,7;0.8;1'; +my \$loop = get_arg("loop", "", \\%args); +my \$gxp = get_arg("gxp", "", \\%args); + +if (length(\$utr_fn) == 0) +{ + die ("Error: must specifiy a UTR file (-utr)"); +} +if (length(\$mir_fn) == 0) +{ + die ("Error: must specifiy a miRs file (-mir)"); +} +if (length(\$prefix) == 0) +{ + die ("Error: must specifiy a prefix for the output file(s) (-prefix)"); +} + +my \$pid = \$\$; +my \$gxp_header = "\\n\\n\\n\\nUID\\tNAME\\tGWEIGHT\\tE1\\nG2\\tG2\\t1\\t1\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n"; + +print STDERR "Calculating predictions...\\n"; + +my \$runcmd = "${moduleDir}/templates/lib/pita_run.pl -utr \$utr_fn -mir \$mir_fn -prefix \${prefix}_ " . + (length(\$upstream_fn) > 0 ? " -upstream \$upstream_fn" : "") . + (length(\$flank_up) > 0 ? " -flank_up \\"\$flank_up\\"" : "") . + (length(\$flank_down) > 0 ? " -flank_down \\"\$flank_down\\"" : "") . + (length(\$lengths) > 0 ? " -l \\"\$lengths\\"" : "") . + (length(\$gu) > 0 ? " -gu \\"\$gu\\"" : "") . + (length(\$loop) > 0 ? " -loop \\"\$loop\\"" : "") . + (length(\$mismatches) > 0 ? " -m \\"\$mismatches\\"" : ""); + +#print STDERR "Running: \$runcmd\\n"; + +system (\$runcmd); + + +system "rm \${prefix}_ext_utr.stab; mv \${prefix}_pita_results.tab tmp_\${pid}; head -n 1 tmp_\${pid} | cut -f 1-5,8,10- > \${prefix}_pita_results.tab; cat tmp_\${pid} | ${moduleDir}/templates/lib/body.pl 2 -1 | tr -d '\\r' | cut -f 1-8,10- | ${moduleDir}/templates/lib/merge_columns.pl -1 4 -2 5 -d ':' | ${moduleDir}/templates/lib/merge_columns.pl -1 4 -2 5 -d ':' | sed 's/Seed:Mismatchs:G:U/Seed/g' | sort -k 13n >> \${prefix}_pita_results.tab; rm tmp_\${pid};"; + +system "cat \${prefix}_pita_results.tab | ${moduleDir}/templates/lib/body.pl 2 -1 | cut -f 1,2,13 | ${moduleDir}/templates/lib/modify_column.pl -c 2 -m '\\"-1\\"' | ${moduleDir}/templates/lib/average_rows.pl -k 0,1 -losoe -n | ${moduleDir}/templates/lib/cut.pl -f 2,3,1,4 | ${moduleDir}/templates/lib/modify_column.pl -c 3 -m '\\"-1\\"' | ${moduleDir}/templates/lib/modify_column.pl -c 3 -p 2 | sort -k 4n | ${moduleDir}/templates/lib/cap.pl \\"RefSeq,microRNA,Sites,Score\\" > \${prefix}_pita_results_targets.tab"; + +print STDERR "Done.\\n"; + +if (\$gxp == 1) +{ + print STDERR "Creating gxp file...\\n"; + + open (GXP_FILE, ">\${prefix}_pita_results.gxp"); + print GXP_FILE \$gxp_header; + close GXP_FILE; + + system "${moduleDir}/templates/lib/fasta2stab.pl \$utr_fn | ${moduleDir}/templates/lib/stab2length.pl | ${moduleDir}/templates/lib/lin.pl | ${moduleDir}/templates/lib/add_column.pl -s 0 | ${moduleDir}/templates/lib/cut.pl -f 2,1,4,3 | ${moduleDir}/templates/lib/add_column.pl -s 0 | ${moduleDir}/templates/lib/add_column.pl -s 1 | ${moduleDir}/templates/lib/tab2feature_gxt.pl -n 'UTR Sequences' >> \${prefix}_pita_results.gxp"; + system "${moduleDir}/templates/lib/body.pl 2 -1 \${prefix}_pita_results.tab | tr -d '\\r' | ${moduleDir}/templates/lib/cut.pl -f 1-4,2,14 | ${moduleDir}/templates/lib/uniquify.pl -c 1 | ${moduleDir}/templates/lib/tab2feature_gxt.pl -n 'PITA Predictions' -c '0,0,255,1' -lh 50 -l 'Filled box' -minc '0' -maxc '25' >> \${prefix}_pita_results.gxp"; + + + open (GXP_FILE, ">>\${prefix}_pita_results.gxp"); + print GXP_FILE "\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n"; + close GXP_FILE; + + print STDERR "Done.\\n"; +} + +sub removeIllegalXMLChars +{ + my \$str = \$_[0]; + + my \$res_str = ""; + for (my \$i = 0; \$i < length(\$str); \$i++) { + my \$char = substr(\$str, \$i, 1); + if ((ord(\$char) >= 32 and ord(\$char) <= 126) or ord(\$char) == 10 or ord(\$char) == 9) { + \$res_str .= \$char; + } + } + + \$res_str =~ s/\\&/&/g; + \$res_str =~ s/\\"/"/g; + \$res_str =~ s/\\'/'/g; + \$res_str =~ s/\\/>/g; + + return \$res_str; +} + +__DATA__ +syntax: pita_prediction.pl [OPTIONS] + +Execute the PITA algorithm for identifying and scoring microRNA target sites. + +options: + -utr : fasta file containing the UTRs to be scanned + -mir : fasta file containing the microRNA sequences + -upstream : fasta file containing the upstream sequence for each UTR. The IDs + in should match the IDs found int the UTR file. If less 200 bp are + given (or if no file is given), it is padded with Poly-A. + + -flank_up + -flank_down : Flank requirement in basepairs (default: zero for both) + + -ddG_context : Number of bases upstream and downstream for target site that are + taken into account when folding the UTR (default: 70) + + + -prefix : Add the string as a prefix to the output files (pita_results.tab and ext_utr.stab) + -gxp: Produce a gxp (Genomica project file) output file. + + Seed matching parameters: + + -l : Search for seed lengths of num1,...,num2 to the MicroRNA (default: 6-8) + + -gu : Lengths for which G:U wobbles are allowed and number of allowed wobbles. + Format of nums: ,,... (default: 6;0,7;1,8;1) + + -m : Lengths for which mismatches are allowed and number of allowed mismatches + Format of nums: ,,... + (default: 6;0,7;0,8;1) + + -loop : Lengths for which a single loop in either the target or the microrna is allowed + Format of nums: ,,... (default: none) + + From b7c9ea24a039adc1dd67de27918a804225535b94 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 26 Sep 2024 11:20:46 +0200 Subject: [PATCH 26/53] typo --- modules/local/mirna_targets/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/local/mirna_targets/main.nf b/modules/local/mirna_targets/main.nf index e525a9f5..ea931cdd 100644 --- a/modules/local/mirna_targets/main.nf +++ b/modules/local/mirna_targets/main.nf @@ -31,7 +31,7 @@ process MIRNA_TARGETS { bedtools intersect -a targetscan.bed -b miranda.bed | awk '{print \$6}' > mirna_type ## remove duplicate miRNA entries at MRE sites. - ## strategy: sory by circs, sort by start position, sort by site type - the goal is to take the best site type (i.e rank site type found at MRE site). + ## strategy: sort by circs, sort by start position, sort by site type - the goal is to take the best site type (i.e rank site type found at MRE site). paste ${prefix}.mirnas.tmp mirna_type | sort -k3n -k2n -k7r | awk -v OFS="\\t" '{print \$4,\$1,\$2,\$3,\$5,\$6,\$7}' | awk -F "\\t" '{if (!seen[\$1,\$2,\$3,\$4,\$5,\$6]++)print}' | sort -k1,1 -k3n > ${prefix}.mirna_targets.tmp echo -e "circRNA\\tmiRNA\\tStart\\tEnd\\tScore\\tEnergy_KcalMol\\tSite_type" | cat - ${prefix}.mirna_targets.tmp > ${prefix}.mirna_targets.txt From e321dc877c2a303507cf82f66ad0b0630df1c24c Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 26 Sep 2024 11:21:18 +0200 Subject: [PATCH 27/53] adding config for pita and adjusting config for tarpmir --- conf/modules.config | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/conf/modules.config b/conf/modules.config index 2569eba5..12213309 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -1058,7 +1058,17 @@ process { path: { "${params.outdir}/mirna_prediction/binding_sites/tools/tarpmir/output" }, mode: params.publish_dir_mode, saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, - pattern: "*.txt" + pattern: "*.bp" + ] + } + + withName: PITA { + ext.prefix = { "${meta.id}.pita" } + publishDir = [ + path: { "${params.outdir}/mirna_prediction/binding_sites/tools/pita/output" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, + pattern: "*.tab" ] } From d57f23413c8e5cb3ccb8b4c80e76e467c120dac0 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 26 Sep 2024 11:21:44 +0200 Subject: [PATCH 28/53] adding pita libs and Bin --- .../Bin/ViennaRNA/ViennaRNA-1.6/AUTHORS | 4 + .../Bin/ViennaRNA/ViennaRNA-1.6/COPYING | 19 + .../Bin/ViennaRNA/ViennaRNA-1.6/ChangeLog | 123 + .../ViennaRNA-1.6/Cluster/.deps/AD_main.Po | 1 + .../ViennaRNA-1.6/Cluster/.deps/AS_main.Po | 1 + .../ViennaRNA-1.6/Cluster/.deps/PS3D.Po | 1 + .../ViennaRNA-1.6/Cluster/.deps/cluster.Po | 1 + .../Cluster/.deps/distance_matrix.Po | 1 + .../ViennaRNA-1.6/Cluster/.deps/split.Po | 1 + .../ViennaRNA-1.6/Cluster/.deps/statgeom.Po | 1 + .../ViennaRNA-1.6/Cluster/.deps/treeplot.Po | 1 + .../ViennaRNA/ViennaRNA-1.6/Cluster/AD_main.c | 85 + .../ViennaRNA/ViennaRNA-1.6/Cluster/AS_main.c | 292 + .../ViennaRNA-1.6/Cluster/AnalyseDists.1 | 71 + .../ViennaRNA-1.6/Cluster/AnalyseSeqs.1 | 168 + .../ViennaRNA/ViennaRNA-1.6/Cluster/Makefile | 507 + .../ViennaRNA-1.6/Cluster/Makefile.am | 25 + .../ViennaRNA-1.6/Cluster/Makefile.in | 507 + .../ViennaRNA/ViennaRNA-1.6/Cluster/PS3D.c | 143 + .../ViennaRNA/ViennaRNA-1.6/Cluster/PS3D.h | 2 + .../Cluster/StrEdit_CostMatrix.h | 107 + .../ViennaRNA/ViennaRNA-1.6/Cluster/cluster.c | 281 + .../ViennaRNA/ViennaRNA-1.6/Cluster/cluster.h | 16 + .../ViennaRNA-1.6/Cluster/distance_matrix.c | 571 + .../ViennaRNA-1.6/Cluster/distance_matrix.h | 14 + .../ViennaRNA/ViennaRNA-1.6/Cluster/split.c | 332 + .../ViennaRNA/ViennaRNA-1.6/Cluster/split.h | 14 + .../ViennaRNA-1.6/Cluster/statgeom.c | 513 + .../ViennaRNA-1.6/Cluster/statgeom.h | 5 + .../ViennaRNA-1.6/Cluster/treeplot.c | 359 + .../ViennaRNA-1.6/Cluster/treeplot.h | 1 + .../ViennaRNA/ViennaRNA-1.6/Cluster/utils.h | 13 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/Makefile | 378 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/Makefile.am | 7 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/Makefile.in | 378 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/PS_dot.h | 32 + .../ViennaRNA/ViennaRNA-1.6/H/ProfileAln.h | 10 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/RNAstruct.h | 37 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/alifold.h | 14 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/aln_util.h | 8 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/cofold.h | 6 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/dist_vars.h | 31 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/duplex.h | 14 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/edit_cost.h | 54 + .../ViennaRNA/ViennaRNA-1.6/H/energy_const.h | 23 + .../ViennaRNA/ViennaRNA-1.6/H/energy_par.h | 60 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/fold.h | 8 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/fold_vars.h | 36 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/inverse.h | 18 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/pair_mat.h | 117 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/params.h | 32 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/part_func.h | 8 + .../ViennaRNA/ViennaRNA-1.6/H/part_func_co.h | 56 + .../ViennaRNA/ViennaRNA-1.6/H/profiledist.h | 14 + .../ViennaRNA/ViennaRNA-1.6/H/stringdist.h | 7 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/subopt.h | 12 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/treedist.h | 8 + .../Bin/ViennaRNA/ViennaRNA-1.6/H/utils.h | 41 + .../Bin/ViennaRNA/ViennaRNA-1.6/INSTALL | 91 + .../ViennaRNA/ViennaRNA-1.6/INSTALL.configure | 182 + .../ViennaRNA-1.6/Kinfold/.deps/baum.Po | 103 + .../ViennaRNA-1.6/Kinfold/.deps/cache.Po | 102 + .../ViennaRNA-1.6/Kinfold/.deps/getopt.Po | 49 + .../ViennaRNA-1.6/Kinfold/.deps/getopt1.Po | 51 + .../ViennaRNA-1.6/Kinfold/.deps/globals.Po | 104 + .../ViennaRNA-1.6/Kinfold/.deps/main.Po | 114 + .../ViennaRNA-1.6/Kinfold/.deps/nachbar.Po | 133 + .../ViennaRNA/ViennaRNA-1.6/Kinfold/AUTHORS | 2 + .../ViennaRNA/ViennaRNA-1.6/Kinfold/COPYING | 0 .../ViennaRNA/ViennaRNA-1.6/Kinfold/ChangeLog | 3 + .../ViennaRNA-1.6/Kinfold/Example/Makefile | 286 + .../ViennaRNA-1.6/Kinfold/Example/Makefile.am | 2 + .../ViennaRNA-1.6/Kinfold/Example/Makefile.in | 286 + .../ViennaRNA-1.6/Kinfold/Example/README | 55 + .../ViennaRNA-1.6/Kinfold/Example/hpin.ae.log | 20 + .../ViennaRNA-1.6/Kinfold/Example/hpin.e.log | 21 + .../ViennaRNA-1.6/Kinfold/Example/hpin.in | 3 + .../ViennaRNA-1.6/Kinfold/Example/hpin.log | 20 + .../Kinfold/Example/hpin.nolp.log | 20 + .../ViennaRNA-1.6/Kinfold/Example/traj | 312 + .../ViennaRNA-1.6/Kinfold/Example/traj.ae | 813 ++ .../ViennaRNA-1.6/Kinfold/Example/traj.e | 219 + .../ViennaRNA-1.6/Kinfold/Example/traj.nolp | 196 + .../ViennaRNA/ViennaRNA-1.6/Kinfold/INSTALL | 182 + .../ViennaRNA/ViennaRNA-1.6/Kinfold/Kinfold | Bin 0 -> 538539 bytes .../ViennaRNA/ViennaRNA-1.6/Kinfold/Makefile | 670 + .../ViennaRNA-1.6/Kinfold/Makefile.am | 7 + .../ViennaRNA-1.6/Kinfold/Makefile.in | 670 + .../Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/NEWS | 0 .../ViennaRNA/ViennaRNA-1.6/Kinfold/README | 12 + .../ViennaRNA-1.6/Kinfold/acinclude.m4 | 53 + .../ViennaRNA-1.6/Kinfold/aclocal.m4 | 891 ++ .../ViennaRNA/ViennaRNA-1.6/Kinfold/baum.c | 726 + .../ViennaRNA/ViennaRNA-1.6/Kinfold/baum.h | 20 + .../ViennaRNA/ViennaRNA-1.6/Kinfold/baum.o | Bin 0 -> 22408 bytes .../ViennaRNA/ViennaRNA-1.6/Kinfold/cache.c | 131 + .../ViennaRNA/ViennaRNA-1.6/Kinfold/cache.o | Bin 0 -> 6236 bytes .../ViennaRNA-1.6/Kinfold/cache_util.h | 32 + .../ViennaRNA/ViennaRNA-1.6/Kinfold/config.h | 74 + .../ViennaRNA-1.6/Kinfold/config.h.in | 73 + .../ViennaRNA-1.6/Kinfold/config.log | 653 + .../ViennaRNA-1.6/Kinfold/config.status | 1188 ++ .../ViennaRNA/ViennaRNA-1.6/Kinfold/configure | 5384 +++++++ .../ViennaRNA-1.6/Kinfold/configure.in | 55 + .../ViennaRNA/ViennaRNA-1.6/Kinfold/getopt.c | 1055 ++ .../ViennaRNA/ViennaRNA-1.6/Kinfold/getopt.h | 169 + .../ViennaRNA/ViennaRNA-1.6/Kinfold/getopt.o | Bin 0 -> 2892 bytes .../ViennaRNA/ViennaRNA-1.6/Kinfold/getopt1.c | 188 + .../ViennaRNA/ViennaRNA-1.6/Kinfold/getopt1.o | Bin 0 -> 2896 bytes .../ViennaRNA/ViennaRNA-1.6/Kinfold/globals.c | 428 + .../ViennaRNA/ViennaRNA-1.6/Kinfold/globals.h | 76 + .../ViennaRNA/ViennaRNA-1.6/Kinfold/globals.o | Bin 0 -> 21996 bytes .../ViennaRNA/ViennaRNA-1.6/Kinfold/main.c | 234 + .../ViennaRNA/ViennaRNA-1.6/Kinfold/main.o | Bin 0 -> 11520 bytes .../ViennaRNA/ViennaRNA-1.6/Kinfold/nachbar.c | 330 + .../ViennaRNA/ViennaRNA-1.6/Kinfold/nachbar.h | 21 + .../ViennaRNA/ViennaRNA-1.6/Kinfold/nachbar.o | Bin 0 -> 14412 bytes .../ViennaRNA/ViennaRNA-1.6/Kinfold/stamp-h1 | 1 + .../Bin/ViennaRNA/ViennaRNA-1.6/Makefile | 635 + .../Bin/ViennaRNA/ViennaRNA-1.6/Makefile.am | 24 + .../Bin/ViennaRNA/ViennaRNA-1.6/Makefile.in | 635 + .../Bin/ViennaRNA/ViennaRNA-1.6/NEWS | 92 + .../Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile | 319 + .../ViennaRNA/ViennaRNA-1.6/Perl/Makefile.PL | 12 + .../ViennaRNA/ViennaRNA-1.6/Perl/Makefile.am | 23 + .../ViennaRNA/ViennaRNA-1.6/Perl/Makefile.in | 319 + .../ViennaRNA-1.6/Perl/Makefile.perl | 830 ++ .../Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA.bs | 0 .../Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA.i | 455 + .../Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA.pm | 1075 ++ .../ViennaRNA/ViennaRNA-1.6/Perl/RNA_wrap.c | 6502 +++++++++ .../ViennaRNA/ViennaRNA-1.6/Perl/RNA_wrap.o | Bin 0 -> 404408 bytes .../ViennaRNA/ViennaRNA-1.6/Perl/RNAfold.cgi | 386 + .../ViennaRNA/ViennaRNA-1.6/Perl/RNAfold.pl | 141 + .../Perl/blib/arch/auto/RNA/.exists | 0 .../Perl/blib/arch/auto/RNA/RNA.bs | 0 .../Perl/blib/arch/auto/RNA/RNA.so | Bin 0 -> 996516 bytes .../ViennaRNA-1.6/Perl/blib/lib/.exists | 0 .../ViennaRNA-1.6/Perl/blib/lib/RNA.pm | 1075 ++ .../Perl/blib/lib/auto/RNA/.exists | 0 .../ViennaRNA-1.6/Perl/blib/man3/.exists | 0 .../ViennaRNA-1.6/Perl/blib/man3/RNA.3pm | 588 + .../ViennaRNA/ViennaRNA-1.6/Perl/pm_to_blib | 0 .../Bin/ViennaRNA/ViennaRNA-1.6/Perl/test.pl | 136 + .../ViennaRNA-1.6/Progs/.deps/RNALfold.Po | 120 + .../ViennaRNA-1.6/Progs/.deps/RNAalifold.Po | 129 + .../ViennaRNA-1.6/Progs/.deps/RNAcofold.Po | 127 + .../ViennaRNA-1.6/Progs/.deps/RNAddG.Po | 121 + .../ViennaRNA-1.6/Progs/.deps/RNAddG4.Po | 124 + .../ViennaRNA-1.6/Progs/.deps/RNAdistance.Po | 122 + .../ViennaRNA-1.6/Progs/.deps/RNAduplex.Po | 107 + .../ViennaRNA-1.6/Progs/.deps/RNAeval.Po | 118 + .../ViennaRNA-1.6/Progs/.deps/RNAfold.Po | 122 + .../ViennaRNA-1.6/Progs/.deps/RNAheat.Po | 119 + .../ViennaRNA-1.6/Progs/.deps/RNAinverse.Po | 122 + .../Progs/.deps/RNAmotif_distance.Po | 122 + .../Progs/.deps/RNAmotif_distance.Po~ | 122 + .../ViennaRNA-1.6/Progs/.deps/RNApaln.Po | 139 + .../ViennaRNA-1.6/Progs/.deps/RNApdist.Po | 135 + .../ViennaRNA-1.6/Progs/.deps/RNAplfold.Po | 122 + .../ViennaRNA-1.6/Progs/.deps/RNAplot.Po | 115 + .../ViennaRNA-1.6/Progs/.deps/RNAstats.Po | 122 + .../ViennaRNA-1.6/Progs/.deps/RNAsubopt.Po | 122 + .../ViennaRNA/ViennaRNA-1.6/Progs/Makefile | 559 + .../ViennaRNA/ViennaRNA-1.6/Progs/Makefile.am | 7 + .../ViennaRNA/ViennaRNA-1.6/Progs/Makefile.in | 527 + .../ViennaRNA/ViennaRNA-1.6/Progs/Makefile~ | 551 + .../ViennaRNA/ViennaRNA-1.6/Progs/RNALfold | Bin 0 -> 647078 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNALfold.c | 247 + .../ViennaRNA/ViennaRNA-1.6/Progs/RNALfold.o | Bin 0 -> 24896 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAalifold | Bin 0 -> 791018 bytes .../ViennaRNA-1.6/Progs/RNAalifold.c | 406 + .../ViennaRNA-1.6/Progs/RNAalifold.o | Bin 0 -> 45832 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAcofold | Bin 0 -> 779411 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAcofold.c | 624 + .../ViennaRNA/ViennaRNA-1.6/Progs/RNAcofold.o | Bin 0 -> 47968 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAddG | Bin 0 -> 609707 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAddG.c | 228 + .../Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAddG4 | Bin 0 -> 612531 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAddG4.c | 402 + .../ViennaRNA/ViennaRNA-1.6/Progs/RNAdistance | Bin 0 -> 114868 bytes .../ViennaRNA-1.6/Progs/RNAdistance.c | 548 + .../ViennaRNA-1.6/Progs/RNAdistance.o | Bin 0 -> 36552 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAduplex | Bin 0 -> 625294 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAduplex.c | 301 + .../ViennaRNA/ViennaRNA-1.6/Progs/RNAduplex.o | Bin 0 -> 27576 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAeval | Bin 0 -> 566364 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAeval.c | 229 + .../ViennaRNA/ViennaRNA-1.6/Progs/RNAeval.o | Bin 0 -> 23000 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAfold | Bin 0 -> 689189 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAfold.c | 268 + .../ViennaRNA/ViennaRNA-1.6/Progs/RNAfold.o | Bin 0 -> 26944 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAheat | Bin 0 -> 611758 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAheat.c | 242 + .../ViennaRNA/ViennaRNA-1.6/Progs/RNAheat.o | Bin 0 -> 24808 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAinverse | Bin 0 -> 633216 bytes .../ViennaRNA-1.6/Progs/RNAinverse.c | 234 + .../ViennaRNA-1.6/Progs/RNAinverse.o | Bin 0 -> 22160 bytes .../ViennaRNA-1.6/Progs/RNAmotif_distance | Bin 0 -> 102063 bytes .../ViennaRNA-1.6/Progs/RNAmotif_distance.c | 251 + .../ViennaRNA-1.6/Progs/RNAmotif_distance.c~ | 548 + .../ViennaRNA-1.6/Progs/RNAmotif_distance.o | Bin 0 -> 19216 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNApaln | Bin 0 -> 713629 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNApaln.c | 341 + .../ViennaRNA/ViennaRNA-1.6/Progs/RNApaln.o | Bin 0 -> 28680 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNApdist | Bin 0 -> 700847 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNApdist.c | 298 + .../ViennaRNA/ViennaRNA-1.6/Progs/RNApdist.o | Bin 0 -> 24760 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAplfold | Bin 0 -> 677966 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAplfold.c | 214 + .../ViennaRNA/ViennaRNA-1.6/Progs/RNAplfold.o | Bin 0 -> 20920 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAplot | Bin 0 -> 602365 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAplot.c | 127 + .../ViennaRNA/ViennaRNA-1.6/Progs/RNAplot.o | Bin 0 -> 13088 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAstats | Bin 0 -> 660439 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAstats.c | 363 + .../ViennaRNA/ViennaRNA-1.6/Progs/RNAsubopt | Bin 0 -> 646191 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/RNAsubopt.c | 231 + .../ViennaRNA/ViennaRNA-1.6/Progs/RNAsubopt.o | Bin 0 -> 23984 bytes .../ViennaRNA/ViennaRNA-1.6/Progs/dna_DM.par | 11653 +++++++++++++++ .../Bin/ViennaRNA/ViennaRNA-1.6/README | 83 + .../ViennaRNA-1.6/RNAforester/AUTHORS | 1 + .../ViennaRNA-1.6/RNAforester/COPYING | 34 + .../ViennaRNA-1.6/RNAforester/ChangeLog | 7 + .../ViennaRNA-1.6/RNAforester/INSTALL | 72 + .../ViennaRNA-1.6/RNAforester/Makefile | 577 + .../ViennaRNA-1.6/RNAforester/Makefile.am | 2 + .../ViennaRNA-1.6/RNAforester/Makefile.in | 577 + .../ViennaRNA/ViennaRNA-1.6/RNAforester/NEWS | 0 .../ViennaRNA-1.6/RNAforester/README | 39 + .../ViennaRNA/ViennaRNA-1.6/RNAforester/TODO | 0 .../ViennaRNA-1.6/RNAforester/aclocal.m4 | 862 ++ .../ViennaRNA-1.6/RNAforester/config.guess | 1354 ++ .../ViennaRNA-1.6/RNAforester/config.h | 74 + .../ViennaRNA-1.6/RNAforester/config.h.in | 73 + .../ViennaRNA-1.6/RNAforester/config.log | 675 + .../ViennaRNA-1.6/RNAforester/config.status | 1181 ++ .../ViennaRNA-1.6/RNAforester/configure | 5936 ++++++++ .../ViennaRNA-1.6/RNAforester/configure.in | 64 + .../ViennaRNA-1.6/RNAforester/depcomp | 423 + .../ViennaRNA-1.6/RNAforester/g2-0.70/CHANGES | 144 + .../ViennaRNA-1.6/RNAforester/g2-0.70/COPYING | 504 + .../RNAforester/g2-0.70/CVS/CVS/Entries | 1 + .../RNAforester/g2-0.70/CVS/CVS/Repository | 1 + .../RNAforester/g2-0.70/CVS/CVS/Root | 1 + .../RNAforester/g2-0.70/CVS/Entries | 29 + .../RNAforester/g2-0.70/CVS/Repository | 1 + .../RNAforester/g2-0.70/CVS/Root | 1 + .../RNAforester/g2-0.70/CVS/Template | 0 .../ViennaRNA-1.6/RNAforester/g2-0.70/INSTALL | 94 + .../RNAforester/g2-0.70/Makefile | 149 + .../RNAforester/g2-0.70/Makefile.in | 149 + .../ViennaRNA-1.6/RNAforester/g2-0.70/README | 80 + .../ViennaRNA-1.6/RNAforester/g2-0.70/TODO | 8 + .../g2-0.70/autom4te.cache/CVS/Entries | 1 + .../g2-0.70/autom4te.cache/CVS/Repository | 1 + .../g2-0.70/autom4te.cache/CVS/Root | 1 + .../g2-0.70/autom4te.cache/CVS/Template | 0 .../g2-0.70/autom4te.cache/output.0 | 6602 +++++++++ .../g2-0.70/autom4te.cache/requests | 123 + .../g2-0.70/autom4te.cache/traces.0 | 191 + .../RNAforester/g2-0.70/config.guess | 1450 ++ .../RNAforester/g2-0.70/config.log | 664 + .../RNAforester/g2-0.70/config.status | 745 + .../RNAforester/g2-0.70/config.sub | 1552 ++ .../RNAforester/g2-0.70/configure | 6602 +++++++++ .../RNAforester/g2-0.70/configure.in | 139 + .../RNAforester/g2-0.70/demo/CVS/CVS/Entries | 1 + .../g2-0.70/demo/CVS/CVS/Repository | 1 + .../RNAforester/g2-0.70/demo/CVS/CVS/Root | 1 + .../RNAforester/g2-0.70/demo/CVS/Entries | 21 + .../RNAforester/g2-0.70/demo/CVS/Repository | 1 + .../RNAforester/g2-0.70/demo/CVS/Root | 1 + .../RNAforester/g2-0.70/demo/CVS/Template | 0 .../RNAforester/g2-0.70/demo/Makefile | 87 + .../RNAforester/g2-0.70/demo/Makefile.in | 87 + .../RNAforester/g2-0.70/demo/demo_cpp.cpp | 40 + .../RNAforester/g2-0.70/demo/demo_f.f | 59 + .../RNAforester/g2-0.70/demo/descrip.mms | 57 + .../RNAforester/g2-0.70/demo/g2_anim.c | 60 + .../RNAforester/g2-0.70/demo/g2_arc.c | 148 + .../g2-0.70/demo/g2_splines_demo.c | 143 + .../RNAforester/g2-0.70/demo/g2_test.c | 254 + .../RNAforester/g2-0.70/demo/g2_test.f | 210 + .../RNAforester/g2-0.70/demo/handles.c | 58 + .../RNAforester/g2-0.70/demo/penguin.c | 63 + .../RNAforester/g2-0.70/demo/penguin.inc | 64 + .../RNAforester/g2-0.70/demo/pointer.c | 46 + .../RNAforester/g2-0.70/demo/simple_FIG.c | 30 + .../RNAforester/g2-0.70/demo/simple_PS.c | 30 + .../RNAforester/g2-0.70/demo/simple_X11.c | 31 + .../RNAforester/g2-0.70/demo/simple_gd.c | 31 + .../RNAforester/g2-0.70/demo/simple_win32.c | 31 + .../RNAforester/g2-0.70/demo/xlink.opt | 1 + .../RNAforester/g2-0.70/descrip.mms | 71 + .../RNAforester/g2-0.70/doc/CVS/CVS/Entries | 1 + .../g2-0.70/doc/CVS/CVS/Repository | 1 + .../RNAforester/g2-0.70/doc/CVS/CVS/Root | 1 + .../RNAforester/g2-0.70/doc/CVS/Entries | 3 + .../RNAforester/g2-0.70/doc/CVS/Repository | 1 + .../RNAforester/g2-0.70/doc/CVS/Root | 1 + .../RNAforester/g2-0.70/doc/CVS/Template | 0 .../RNAforester/g2-0.70/doc/Doxyfile | 1117 ++ .../RNAforester/g2-0.70/doc/g2_main.dox | 356 + .../ViennaRNA-1.6/RNAforester/g2-0.70/g2.dsp | 152 + .../ViennaRNA-1.6/RNAforester/g2-0.70/g2.dsw | 98 + .../RNAforester/g2-0.70/g2_anim.dsp | 100 + .../g2-0.70/g2_perl/CVS/CVS/Entries | 1 + .../g2-0.70/g2_perl/CVS/CVS/Repository | 1 + .../RNAforester/g2-0.70/g2_perl/CVS/CVS/Root | 1 + .../RNAforester/g2-0.70/g2_perl/CVS/Entries | 10 + .../g2-0.70/g2_perl/CVS/Repository | 1 + .../RNAforester/g2-0.70/g2_perl/CVS/Root | 1 + .../RNAforester/g2-0.70/g2_perl/CVS/Template | 0 .../RNAforester/g2-0.70/g2_perl/Changes | 5 + .../RNAforester/g2-0.70/g2_perl/G2.pm | 361 + .../RNAforester/g2-0.70/g2_perl/G2.xs | 922 ++ .../RNAforester/g2-0.70/g2_perl/MANIFEST | 7 + .../RNAforester/g2-0.70/g2_perl/Makefile.PL | 10 + .../g2-0.70/g2_perl/Makefile.PL.in | 10 + .../RNAforester/g2-0.70/g2_perl/README | 11 + .../RNAforester/g2-0.70/g2_perl/test.pl | 213 + .../RNAforester/g2-0.70/g2_perl/typemap | 28 + .../RNAforester/g2-0.70/g2demo.dsp | 95 + .../RNAforester/g2-0.70/g2dll.dsp | 161 + .../RNAforester/g2-0.70/g2res.dsp | 101 + .../ViennaRNA-1.6/RNAforester/g2-0.70/gd.dsp | 108 + .../RNAforester/g2-0.70/include/CVS/Entries | 1 + .../g2-0.70/include/CVS/Repository | 1 + .../RNAforester/g2-0.70/include/CVS/Root | 1 + .../RNAforester/g2-0.70/include/CVS/Template | 0 .../RNAforester/g2-0.70/include/g2.h | 200 + .../RNAforester/g2-0.70/include/g2_FIG.h | 54 + .../RNAforester/g2-0.70/include/g2_PS.h | 118 + .../RNAforester/g2-0.70/install-sh | 238 + .../ViennaRNA-1.6/RNAforester/g2-0.70/libg2.a | Bin 0 -> 209838 bytes .../RNAforester/g2-0.70/perl/CVS/CVS/Entries | 1 + .../g2-0.70/perl/CVS/CVS/Repository | 1 + .../RNAforester/g2-0.70/perl/CVS/CVS/Root | 1 + .../RNAforester/g2-0.70/perl/CVS/Entries | 5 + .../RNAforester/g2-0.70/perl/CVS/Repository | 1 + .../RNAforester/g2-0.70/perl/CVS/Root | 1 + .../RNAforester/g2-0.70/perl/CVS/Template | 0 .../RNAforester/g2-0.70/perl/Makefile.PL | 58 + .../RNAforester/g2-0.70/perl/README.perl | 18 + .../RNAforester/g2-0.70/perl/g2.pm | 10 + .../RNAforester/g2-0.70/perl/g2_wrap.c | 2172 +++ .../RNAforester/g2-0.70/simple_win32.dsp | 101 + .../RNAforester/g2-0.70/src/CVS/CVS/Entries | 1 + .../g2-0.70/src/CVS/CVS/Repository | 1 + .../RNAforester/g2-0.70/src/CVS/CVS/Root | 1 + .../RNAforester/g2-0.70/src/CVS/Entries | 27 + .../RNAforester/g2-0.70/src/CVS/Repository | 1 + .../RNAforester/g2-0.70/src/CVS/Root | 1 + .../RNAforester/g2-0.70/src/CVS/Template | 0 .../g2-0.70/src/FIG/CVS/CVS/Entries | 1 + .../g2-0.70/src/FIG/CVS/CVS/Repository | 1 + .../RNAforester/g2-0.70/src/FIG/CVS/CVS/Root | 1 + .../RNAforester/g2-0.70/src/FIG/CVS/Entries | 5 + .../g2-0.70/src/FIG/CVS/Repository | 1 + .../RNAforester/g2-0.70/src/FIG/CVS/Root | 1 + .../RNAforester/g2-0.70/src/FIG/CVS/Template | 0 .../RNAforester/g2-0.70/src/FIG/g2_FIG.c | 486 + .../RNAforester/g2-0.70/src/FIG/g2_FIG.h | 54 + .../RNAforester/g2-0.70/src/FIG/g2_FIG.o | Bin 0 -> 20580 bytes .../RNAforester/g2-0.70/src/FIG/g2_FIG_P.h | 82 + .../g2-0.70/src/FIG/g2_FIG_funix.h | 56 + .../g2-0.70/src/GD/CVS/CVS/Entries | 1 + .../g2-0.70/src/GD/CVS/CVS/Repository | 1 + .../RNAforester/g2-0.70/src/GD/CVS/CVS/Root | 1 + .../RNAforester/g2-0.70/src/GD/CVS/Entries | 5 + .../RNAforester/g2-0.70/src/GD/CVS/Repository | 1 + .../RNAforester/g2-0.70/src/GD/CVS/Root | 1 + .../RNAforester/g2-0.70/src/GD/CVS/Template | 0 .../RNAforester/g2-0.70/src/GD/g2_gd.c | 348 + .../RNAforester/g2-0.70/src/GD/g2_gd.h | 67 + .../RNAforester/g2-0.70/src/GD/g2_gd_P.h | 118 + .../RNAforester/g2-0.70/src/GD/g2_gd_funix.h | 54 + .../g2-0.70/src/PS/CVS/CVS/Entries | 1 + .../g2-0.70/src/PS/CVS/CVS/Repository | 1 + .../RNAforester/g2-0.70/src/PS/CVS/CVS/Root | 1 + .../RNAforester/g2-0.70/src/PS/CVS/Entries | 6 + .../RNAforester/g2-0.70/src/PS/CVS/Repository | 1 + .../RNAforester/g2-0.70/src/PS/CVS/Root | 1 + .../RNAforester/g2-0.70/src/PS/CVS/Template | 0 .../RNAforester/g2-0.70/src/PS/g2_PS.c | 624 + .../RNAforester/g2-0.70/src/PS/g2_PS.h | 118 + .../RNAforester/g2-0.70/src/PS/g2_PS.o | Bin 0 -> 26616 bytes .../RNAforester/g2-0.70/src/PS/g2_PS_P.h | 99 + .../g2-0.70/src/PS/g2_PS_definitions.h | 104 + .../RNAforester/g2-0.70/src/PS/g2_PS_funix.h | 56 + .../g2-0.70/src/Win32/CVS/CVS/Entries | 1 + .../g2-0.70/src/Win32/CVS/CVS/Repository | 1 + .../g2-0.70/src/Win32/CVS/CVS/Root | 1 + .../RNAforester/g2-0.70/src/Win32/CVS/Entries | 10 + .../g2-0.70/src/Win32/CVS/Repository | 1 + .../RNAforester/g2-0.70/src/Win32/CVS/Root | 1 + .../g2-0.70/src/Win32/CVS/Template | 0 .../g2-0.70/src/Win32/g2_Win32.ico | Bin 0 -> 766 bytes .../RNAforester/g2-0.70/src/Win32/g2_win32.c | 671 + .../RNAforester/g2-0.70/src/Win32/g2_win32.h | 68 + .../RNAforester/g2-0.70/src/Win32/g2_win32.rc | 167 + .../g2-0.70/src/Win32/g2_win32_P.h | 119 + .../g2-0.70/src/Win32/g2_win32_funix.h | 56 + .../g2-0.70/src/Win32/g2_win32_thread.c | 213 + .../RNAforester/g2-0.70/src/Win32/g2res.c | 7 + .../RNAforester/g2-0.70/src/Win32/resource.h | 21 + .../g2-0.70/src/X11/CVS/CVS/Entries | 1 + .../g2-0.70/src/X11/CVS/CVS/Repository | 1 + .../RNAforester/g2-0.70/src/X11/CVS/CVS/Root | 1 + .../RNAforester/g2-0.70/src/X11/CVS/Entries | 6 + .../g2-0.70/src/X11/CVS/Repository | 1 + .../RNAforester/g2-0.70/src/X11/CVS/Root | 1 + .../RNAforester/g2-0.70/src/X11/CVS/Template | 0 .../RNAforester/g2-0.70/src/X11/g2.xpm | 180 + .../RNAforester/g2-0.70/src/X11/g2_X11.c | 797 ++ .../RNAforester/g2-0.70/src/X11/g2_X11.h | 45 + .../RNAforester/g2-0.70/src/X11/g2_X11_P.h | 94 + .../g2-0.70/src/X11/g2_X11_funix.h | 60 + .../RNAforester/g2-0.70/src/g2.h | 200 + .../RNAforester/g2-0.70/src/g2_config.h | 42 + .../RNAforester/g2-0.70/src/g2_control_pd.c | 314 + .../RNAforester/g2-0.70/src/g2_control_pd.h | 39 + .../RNAforester/g2-0.70/src/g2_control_pd.o | Bin 0 -> 9960 bytes .../RNAforester/g2-0.70/src/g2_device.c | 206 + .../RNAforester/g2-0.70/src/g2_device.h | 64 + .../RNAforester/g2-0.70/src/g2_device.o | Bin 0 -> 9228 bytes .../RNAforester/g2-0.70/src/g2_fif.c | 499 + .../RNAforester/g2-0.70/src/g2_fif.o | Bin 0 -> 23384 bytes .../RNAforester/g2-0.70/src/g2_funix.h | 160 + .../RNAforester/g2-0.70/src/g2_graphic_pd.c | 684 + .../RNAforester/g2-0.70/src/g2_graphic_pd.h | 66 + .../RNAforester/g2-0.70/src/g2_graphic_pd.o | Bin 0 -> 20652 bytes .../g2-0.70/src/g2_physical_device.c | 78 + .../g2-0.70/src/g2_physical_device.h | 61 + .../g2-0.70/src/g2_physical_device.o | Bin 0 -> 6056 bytes .../RNAforester/g2-0.70/src/g2_splines.c | 880 ++ .../RNAforester/g2-0.70/src/g2_splines.o | Bin 0 -> 17800 bytes .../RNAforester/g2-0.70/src/g2_ui_control.c | 612 + .../RNAforester/g2-0.70/src/g2_ui_control.o | Bin 0 -> 15132 bytes .../RNAforester/g2-0.70/src/g2_ui_device.c | 196 + .../RNAforester/g2-0.70/src/g2_ui_device.o | Bin 0 -> 8612 bytes .../RNAforester/g2-0.70/src/g2_ui_graphic.c | 1045 ++ .../RNAforester/g2-0.70/src/g2_ui_graphic.o | Bin 0 -> 22280 bytes .../g2-0.70/src/g2_ui_virtual_device.c | 149 + .../g2-0.70/src/g2_ui_virtual_device.o | Bin 0 -> 7764 bytes .../RNAforester/g2-0.70/src/g2_util.c | 224 + .../RNAforester/g2-0.70/src/g2_util.h | 48 + .../RNAforester/g2-0.70/src/g2_util.o | Bin 0 -> 9632 bytes .../g2-0.70/src/g2_virtual_device.c | 82 + .../g2-0.70/src/g2_virtual_device.h | 32 + .../g2-0.70/src/g2_virtual_device.o | Bin 0 -> 6916 bytes .../ViennaRNA-1.6/RNAforester/install-sh | 251 + .../ViennaRNA-1.6/RNAforester/man/Makefile | 334 + .../ViennaRNA-1.6/RNAforester/man/Makefile.am | 2 + .../ViennaRNA-1.6/RNAforester/man/Makefile.in | 334 + .../RNAforester/man/RNAforester.1 | 266 + .../ViennaRNA-1.6/RNAforester/missing | 336 + .../ViennaRNA-1.6/RNAforester/mkinstalldirs | 99 + .../RNAforester/src/.deps/Arguments.Po | 402 + .../RNAforester/src/.deps/glib.Po | 90 + .../RNAforester/src/.deps/main.Po | 518 + .../RNAforester/src/.deps/ppforestbase.Po | 398 + .../src/.deps/progressive_align.Po | 494 + .../RNAforester/src/.deps/rna_algebra.Po | 423 + .../RNAforester/src/.deps/rna_alignment.Po | 473 + .../RNAforester/src/.deps/rna_alphabet.Po | 306 + .../src/.deps/rna_profile_alignment.Po | 524 + .../RNAforester/src/.deps/rnaforest.Po | 416 + .../src/.deps/rnaforester_options.Po | 412 + .../RNAforester/src/.deps/rnaforestsz.Po | 424 + .../RNAforester/src/.deps/rnafuncs.Po | 421 + .../RNAforester/src/.deps/wmatch.Po | 92 + .../RNAforester/src/Arguments.cpp | 221 + .../ViennaRNA-1.6/RNAforester/src/Arguments.h | 110 + .../ViennaRNA-1.6/RNAforester/src/Arguments.o | Bin 0 -> 253312 bytes .../ViennaRNA-1.6/RNAforester/src/Makefile | 493 + .../ViennaRNA-1.6/RNAforester/src/Makefile.am | 64 + .../ViennaRNA-1.6/RNAforester/src/Makefile.in | 493 + .../ViennaRNA-1.6/RNAforester/src/RNAforester | Bin 0 -> 2082025 bytes .../ViennaRNA-1.6/RNAforester/src/algebra.h | 66 + .../ViennaRNA-1.6/RNAforester/src/alignment.h | 93 + .../RNAforester/src/alignment.t.cpp | 1004 ++ .../ViennaRNA-1.6/RNAforester/src/debug.h | 30 + .../ViennaRNA-1.6/RNAforester/src/fold.h | 8 + .../ViennaRNA-1.6/RNAforester/src/fold_vars.h | 37 + .../ViennaRNA-1.6/RNAforester/src/glib.c | 355 + .../ViennaRNA-1.6/RNAforester/src/glib.o | Bin 0 -> 13864 bytes .../RNAforester/src/graphtypes.h | 89 + .../ViennaRNA-1.6/RNAforester/src/main.cpp | 908 ++ .../ViennaRNA-1.6/RNAforester/src/main.o | Bin 0 -> 532488 bytes .../ViennaRNA-1.6/RNAforester/src/match.defs | 40 + .../ViennaRNA-1.6/RNAforester/src/matrix.h | 61 + .../ViennaRNA-1.6/RNAforester/src/misc.h | 21 + .../ViennaRNA-1.6/RNAforester/src/misc.t.cpp | 37 + .../ViennaRNA-1.6/RNAforester/src/pairs.c | 140 + .../ViennaRNA-1.6/RNAforester/src/part_func.h | 13 + .../ViennaRNA-1.6/RNAforester/src/pointer.c | 80 + .../ViennaRNA-1.6/RNAforester/src/ppforest.h | 124 + .../RNAforester/src/ppforest.t.cpp | 226 + .../RNAforester/src/ppforestali.h | 52 + .../RNAforester/src/ppforestbase.cpp | 202 + .../RNAforester/src/ppforestbase.h | 226 + .../RNAforester/src/ppforestbase.o | Bin 0 -> 72544 bytes .../RNAforester/src/ppforestsz.h | 69 + .../RNAforester/src/ppforestsz.t.cpp | 77 + .../RNAforester/src/progressive_align.cpp | 343 + .../RNAforester/src/progressive_align.h | 32 + .../RNAforester/src/progressive_align.o | Bin 0 -> 390760 bytes .../ViennaRNA-1.6/RNAforester/src/readgraph.c | 129 + .../RNAforester/src/rna_algebra.cpp | 89 + .../RNAforester/src/rna_algebra.h | 636 + .../RNAforester/src/rna_algebra.o | Bin 0 -> 129436 bytes .../RNAforester/src/rna_alignment.cpp | 191 + .../RNAforester/src/rna_alignment.h | 87 + .../RNAforester/src/rna_alignment.o | Bin 0 -> 122216 bytes .../RNAforester/src/rna_alphabet.cpp | 33 + .../RNAforester/src/rna_alphabet.h | 99 + .../RNAforester/src/rna_alphabet.o | Bin 0 -> 36652 bytes .../RNAforester/src/rna_profile_alignment.cpp | 1179 ++ .../RNAforester/src/rna_profile_alignment.h | 141 + .../RNAforester/src/rna_profile_alignment.o | Bin 0 -> 362272 bytes .../RNAforester/src/rnaforest.cpp | 181 + .../ViennaRNA-1.6/RNAforester/src/rnaforest.h | 61 + .../ViennaRNA-1.6/RNAforester/src/rnaforest.o | Bin 0 -> 88932 bytes .../RNAforester/src/rnaforester_options.cpp | 228 + .../RNAforester/src/rnaforester_options.h | 134 + .../RNAforester/src/rnaforester_options.o | Bin 0 -> 190144 bytes .../RNAforester/src/rnaforestsz.cpp | 114 + .../RNAforester/src/rnaforestsz.h | 49 + .../RNAforester/src/rnaforestsz.o | Bin 0 -> 108248 bytes .../RNAforester/src/rnafuncs.cpp | 834 ++ .../ViennaRNA-1.6/RNAforester/src/rnafuncs.h | 36 + .../ViennaRNA-1.6/RNAforester/src/rnafuncs.o | Bin 0 -> 134520 bytes .../ViennaRNA-1.6/RNAforester/src/term.c | 66 + .../ViennaRNA-1.6/RNAforester/src/treeedit.h | 72 + .../RNAforester/src/treeedit.t.cpp | 174 + .../ViennaRNA-1.6/RNAforester/src/types.h | 7 + .../ViennaRNA-1.6/RNAforester/src/unpairs.c | 112 + .../ViennaRNA-1.6/RNAforester/src/utils.h | 52 + .../ViennaRNA-1.6/RNAforester/src/wmatch.c | 147 + .../ViennaRNA-1.6/RNAforester/src/wmatch.h | 40 + .../ViennaRNA-1.6/RNAforester/src/wmatch.o | Bin 0 -> 21896 bytes .../ViennaRNA-1.6/RNAforester/stamp-h1 | 1 + .../ViennaRNA/ViennaRNA-1.6/Readseq/Formats | 980 ++ .../ViennaRNA/ViennaRNA-1.6/Readseq/Make.com | 63 + .../ViennaRNA/ViennaRNA-1.6/Readseq/Make.ncbi | 110 + .../ViennaRNA/ViennaRNA-1.6/Readseq/Makefile | 111 + .../ViennaRNA/ViennaRNA-1.6/Readseq/Readme | 160 + .../ViennaRNA-1.6/Readseq/Readseq.help | 229 + .../ViennaRNA/ViennaRNA-1.6/Readseq/Stdfiles | 134 + .../ViennaRNA-1.6/Readseq/add.gdemenu | 123 + .../ViennaRNA-1.6/Readseq/alphabet.std | 3 + .../ViennaRNA/ViennaRNA-1.6/Readseq/macinit.c | 302 + .../ViennaRNA/ViennaRNA-1.6/Readseq/macinit.r | 412 + .../ViennaRNA/ViennaRNA-1.6/Readseq/multi.std | 25 + .../ViennaRNA-1.6/Readseq/nucleic.std | 5 + .../ViennaRNA/ViennaRNA-1.6/Readseq/readseq | Bin 0 -> 50619 bytes .../ViennaRNA/ViennaRNA-1.6/Readseq/readseq.c | 1143 ++ .../ViennaRNA-1.6/Readseq/readseq.c.orig | 1139 ++ .../ViennaRNA-1.6/Readseq/readseqSIOW.make | 42 + .../ViennaRNA-1.6/Readseq/translate.patch | 126 + .../ViennaRNA/ViennaRNA-1.6/Readseq/upper.std | 3 + .../ViennaRNA-1.6/Readseq/ureadasn.c | 305 + .../ViennaRNA-1.6/Readseq/ureadseq.c | 1880 +++ .../ViennaRNA-1.6/Readseq/ureadseq.c.orig | 1875 +++ .../ViennaRNA-1.6/Readseq/ureadseq.h | 170 + .../ViennaRNA-1.6/Readseq/ureadseq.h.orig | 169 + .../Bin/ViennaRNA/ViennaRNA-1.6/THANKS | 7 + .../ViennaRNA-1.6/Utils/.deps/b2ct.Po | 83 + .../ViennaRNA-1.6/Utils/.deps/popt.Po | 87 + .../Bin/ViennaRNA/ViennaRNA-1.6/Utils/Fold | 15 + .../ViennaRNA/ViennaRNA-1.6/Utils/Makefile | 457 + .../ViennaRNA/ViennaRNA-1.6/Utils/Makefile.am | 16 + .../ViennaRNA/ViennaRNA-1.6/Utils/Makefile.in | 457 + .../Bin/ViennaRNA/ViennaRNA-1.6/Utils/README | 41 + .../Bin/ViennaRNA/ViennaRNA-1.6/Utils/b2ct.c | 152 + .../Bin/ViennaRNA/ViennaRNA-1.6/Utils/b2ct.o | Bin 0 -> 16456 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/Utils/b2mt.pl | 42 + .../ViennaRNA/ViennaRNA-1.6/Utils/cmount.pl | 152 + .../ViennaRNA/ViennaRNA-1.6/Utils/coloraln.pl | 531 + .../ViennaRNA/ViennaRNA-1.6/Utils/colorrna.pl | 111 + .../Bin/ViennaRNA/ViennaRNA-1.6/Utils/ct2b.pl | 27 + .../ViennaRNA/ViennaRNA-1.6/Utils/dpzoom.pl | 46 + .../ViennaRNA/ViennaRNA-1.6/Utils/mountain.pl | 106 + .../Bin/ViennaRNA/ViennaRNA-1.6/Utils/popt | Bin 0 -> 16687 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/Utils/popt.c | 88 + .../Bin/ViennaRNA/ViennaRNA-1.6/Utils/popt.o | Bin 0 -> 5708 bytes .../ViennaRNA/ViennaRNA-1.6/Utils/relplot.pl | 184 + .../ViennaRNA-1.6/Utils/rotate_ss.pl | 138 + .../ViennaRNA/ViennaRNA-1.6/ViennaRNA.spec | 95 + .../ViennaRNA/ViennaRNA-1.6/ViennaRNA.spec.in | 95 + .../Bin/ViennaRNA/ViennaRNA-1.6/aclocal.m4 | 878 ++ .../Bin/ViennaRNA/ViennaRNA-1.6/config.guess | 1450 ++ .../Bin/ViennaRNA/ViennaRNA-1.6/config.h | 86 + .../Bin/ViennaRNA/ViennaRNA-1.6/config.h.in | 85 + .../Bin/ViennaRNA/ViennaRNA-1.6/config.log | 625 + .../Bin/ViennaRNA/ViennaRNA-1.6/config.status | 1228 ++ .../Bin/ViennaRNA/ViennaRNA-1.6/config.sub | 1552 ++ .../Bin/ViennaRNA/ViennaRNA-1.6/configure | 5965 ++++++++ .../Bin/ViennaRNA/ViennaRNA-1.6/configure.in | 118 + .../Bin/ViennaRNA/ViennaRNA-1.6/default.par | 11620 +++++++++++++++ .../Bin/ViennaRNA/ViennaRNA-1.6/depcomp | 522 + .../Bin/ViennaRNA/ViennaRNA-1.6/install-sh | 322 + .../ViennaRNA-1.6/lib/.deps/LPfold.Po | 117 + .../ViennaRNA-1.6/lib/.deps/Lfold.Po | 114 + .../ViennaRNA-1.6/lib/.deps/PS_dot.Po | 107 + .../ViennaRNA-1.6/lib/.deps/ProfileAln.Po | 112 + .../ViennaRNA-1.6/lib/.deps/ProfileDist.Po | 110 + .../ViennaRNA-1.6/lib/.deps/RNAstruct.Po | 91 + .../ViennaRNA-1.6/lib/.deps/alifold.Po | 116 + .../ViennaRNA-1.6/lib/.deps/alipfold.Po | 117 + .../ViennaRNA-1.6/lib/.deps/aln_util.Po | 108 + .../ViennaRNA-1.6/lib/.deps/cofold.Po | 114 + .../ViennaRNA-1.6/lib/.deps/dist_vars.Po | 1 + .../ViennaRNA-1.6/lib/.deps/duplex.Po | 117 + .../ViennaRNA-1.6/lib/.deps/energy_par.Po | 5 + .../ViennaRNA/ViennaRNA-1.6/lib/.deps/fold.Po | 117 + .../ViennaRNA-1.6/lib/.deps/fold_vars.Po | 61 + .../ViennaRNA-1.6/lib/.deps/inverse.Po | 112 + .../ViennaRNA/ViennaRNA-1.6/lib/.deps/list.Po | 82 + .../ViennaRNA-1.6/lib/.deps/naview.Po | 100 + .../ViennaRNA-1.6/lib/.deps/params.Po | 110 + .../ViennaRNA-1.6/lib/.deps/part_func.Po | 115 + .../ViennaRNA-1.6/lib/.deps/part_func_co.Po | 119 + .../ViennaRNA-1.6/lib/.deps/read_epars.Po | 110 + .../ViennaRNA-1.6/lib/.deps/stringdist.Po | 107 + .../ViennaRNA-1.6/lib/.deps/subopt.Po | 121 + .../ViennaRNA-1.6/lib/.deps/treedist.Po | 95 + .../ViennaRNA-1.6/lib/.deps/utils.Po | 97 + .../Bin/ViennaRNA/ViennaRNA-1.6/lib/LPfold.c | 752 + .../Bin/ViennaRNA/ViennaRNA-1.6/lib/LPfold.o | Bin 0 -> 63384 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/lib/Lfold.c | 856 ++ .../Bin/ViennaRNA/ViennaRNA-1.6/lib/Lfold.o | Bin 0 -> 55696 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/lib/Makefile | 473 + .../ViennaRNA/ViennaRNA-1.6/lib/Makefile.am | 13 + .../ViennaRNA/ViennaRNA-1.6/lib/Makefile.in | 473 + .../Bin/ViennaRNA/ViennaRNA-1.6/lib/PS_dot.c | 1112 ++ .../Bin/ViennaRNA/ViennaRNA-1.6/lib/PS_dot.o | Bin 0 -> 60248 bytes .../ViennaRNA/ViennaRNA-1.6/lib/ProfileAln.c | 280 + .../ViennaRNA/ViennaRNA-1.6/lib/ProfileAln.o | Bin 0 -> 21616 bytes .../ViennaRNA/ViennaRNA-1.6/lib/ProfileDist.c | 242 + .../ViennaRNA/ViennaRNA-1.6/lib/ProfileDist.o | Bin 0 -> 18600 bytes .../ViennaRNA/ViennaRNA-1.6/lib/RNAstruct.c | 587 + .../ViennaRNA/ViennaRNA-1.6/lib/RNAstruct.o | Bin 0 -> 35176 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/lib/alifold.c | 679 + .../Bin/ViennaRNA/ViennaRNA-1.6/lib/alifold.o | Bin 0 -> 55040 bytes .../ViennaRNA/ViennaRNA-1.6/lib/alipfold.c | 871 ++ .../ViennaRNA/ViennaRNA-1.6/lib/alipfold.o | Bin 0 -> 74528 bytes .../ViennaRNA/ViennaRNA-1.6/lib/aln_util.c | 151 + .../ViennaRNA/ViennaRNA-1.6/lib/aln_util.o | Bin 0 -> 17584 bytes .../ViennaRNA/ViennaRNA-1.6/lib/circfold.inc | 259 + .../Bin/ViennaRNA/ViennaRNA-1.6/lib/cofold.c | 1284 ++ .../Bin/ViennaRNA/ViennaRNA-1.6/lib/cofold.o | Bin 0 -> 96000 bytes .../ViennaRNA/ViennaRNA-1.6/lib/dist_vars.c | 9 + .../ViennaRNA/ViennaRNA-1.6/lib/dist_vars.o | Bin 0 -> 1744 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/lib/duplex.c | 483 + .../Bin/ViennaRNA/ViennaRNA-1.6/lib/duplex.o | Bin 0 -> 39608 bytes .../ViennaRNA/ViennaRNA-1.6/lib/energy_par.c | 362 + .../ViennaRNA/ViennaRNA-1.6/lib/energy_par.o | Bin 0 -> 402312 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/lib/fold.c | 1331 ++ .../Bin/ViennaRNA/ViennaRNA-1.6/lib/fold.o | Bin 0 -> 124184 bytes .../ViennaRNA/ViennaRNA-1.6/lib/fold_vars.c | 42 + .../ViennaRNA/ViennaRNA-1.6/lib/fold_vars.o | Bin 0 -> 10008 bytes .../ViennaRNA/ViennaRNA-1.6/lib/intloops.h | 11069 +++++++++++++++ .../Bin/ViennaRNA/ViennaRNA-1.6/lib/inverse.c | 529 + .../Bin/ViennaRNA/ViennaRNA-1.6/lib/inverse.o | Bin 0 -> 41616 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/lib/libRNA.a | Bin 0 -> 1593138 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/lib/list.c | 411 + .../Bin/ViennaRNA/ViennaRNA-1.6/lib/list.h | 65 + .../Bin/ViennaRNA/ViennaRNA-1.6/lib/list.o | Bin 0 -> 13928 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/lib/ll.a | Bin 0 -> 1584930 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/lib/naview.c | 1149 ++ .../Bin/ViennaRNA/ViennaRNA-1.6/lib/naview.o | Bin 0 -> 58328 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/lib/params.c | 143 + .../Bin/ViennaRNA/ViennaRNA-1.6/lib/params.o | Bin 0 -> 16848 bytes .../ViennaRNA/ViennaRNA-1.6/lib/part_func.c | 942 ++ .../ViennaRNA/ViennaRNA-1.6/lib/part_func.o | Bin 0 -> 77168 bytes .../ViennaRNA-1.6/lib/part_func_co.c | 1372 ++ .../ViennaRNA-1.6/lib/part_func_co.o | Bin 0 -> 92624 bytes .../ViennaRNA/ViennaRNA-1.6/lib/read_epars.c | 733 + .../ViennaRNA/ViennaRNA-1.6/lib/read_epars.o | Bin 0 -> 62592 bytes .../ViennaRNA/ViennaRNA-1.6/lib/stringdist.c | 435 + .../ViennaRNA/ViennaRNA-1.6/lib/stringdist.o | Bin 0 -> 30104 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/lib/subopt.c | 935 ++ .../Bin/ViennaRNA/ViennaRNA-1.6/lib/subopt.o | Bin 0 -> 50096 bytes .../ViennaRNA/ViennaRNA-1.6/lib/treedist.c | 657 + .../ViennaRNA/ViennaRNA-1.6/lib/treedist.o | Bin 0 -> 46336 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/lib/utils.c | 332 + .../Bin/ViennaRNA/ViennaRNA-1.6/lib/utils.o | Bin 0 -> 22968 bytes .../Bin/ViennaRNA/ViennaRNA-1.6/man/Makefile | 539 + .../ViennaRNA/ViennaRNA-1.6/man/Makefile.am | 7 + .../ViennaRNA/ViennaRNA-1.6/man/Makefile.in | 539 + .../ViennaRNA/ViennaRNA-1.6/man/RNALfold.1 | 41 + .../ViennaRNA/ViennaRNA-1.6/man/RNALfold.1.in | 41 + .../ViennaRNA/ViennaRNA-1.6/man/RNAalifold.1 | 97 + .../ViennaRNA-1.6/man/RNAalifold.1.in | 97 + .../ViennaRNA/ViennaRNA-1.6/man/RNAcofold.1 | 86 + .../ViennaRNA-1.6/man/RNAcofold.1.in | 86 + .../ViennaRNA/ViennaRNA-1.6/man/RNAdistance.1 | 83 + .../ViennaRNA-1.6/man/RNAdistance.1.in | 83 + .../ViennaRNA/ViennaRNA-1.6/man/RNAduplex.1 | 35 + .../ViennaRNA-1.6/man/RNAduplex.1.in | 35 + .../Bin/ViennaRNA/ViennaRNA-1.6/man/RNAeval.1 | 50 + .../ViennaRNA/ViennaRNA-1.6/man/RNAeval.1.in | 50 + .../Bin/ViennaRNA/ViennaRNA-1.6/man/RNAfold.1 | 179 + .../ViennaRNA/ViennaRNA-1.6/man/RNAfold.1.in | 179 + .../Bin/ViennaRNA/ViennaRNA-1.6/man/RNAheat.1 | 60 + .../ViennaRNA/ViennaRNA-1.6/man/RNAheat.1.in | 60 + .../ViennaRNA/ViennaRNA-1.6/man/RNAinverse.1 | 107 + .../ViennaRNA-1.6/man/RNAinverse.1.in | 107 + .../ViennaRNA/ViennaRNA-1.6/man/RNAlib.info | 1430 ++ .../ViennaRNA-1.6/man/RNAlib.texinfo | 1428 ++ .../ViennaRNA/ViennaRNA-1.6/man/RNApdist.1 | 67 + .../ViennaRNA/ViennaRNA-1.6/man/RNApdist.1.in | 67 + .../ViennaRNA/ViennaRNA-1.6/man/RNAplfold.1 | 46 + .../ViennaRNA-1.6/man/RNAplfold.1.in | 46 + .../Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplot.1 | 47 + .../ViennaRNA/ViennaRNA-1.6/man/RNAplot.1.in | 47 + .../ViennaRNA/ViennaRNA-1.6/man/RNAsubopt.1 | 78 + .../ViennaRNA-1.6/man/RNAsubopt.1.in | 78 + .../ViennaRNA/ViennaRNA-1.6/man/texinfo.tex | 7086 ++++++++++ .../Bin/ViennaRNA/ViennaRNA-1.6/missing | 360 + .../Bin/ViennaRNA/ViennaRNA-1.6/stamp-h1 | 1 + .../Bin/ViennaRNA/ViennaRNA-1.6/vienna13.par | 11705 ++++++++++++++++ .../pita/templates/known_mirs/fly_mirs.fasta | 294 + .../templates/known_mirs/human_mirs.fasta | 1354 ++ .../templates/known_mirs/mouse_mirs.fasta | 982 ++ .../pita/templates/known_mirs/worm_mirs.fasta | 308 + .../pita/templates/lib/RNAddG_compute.pl | 336 + .../local/pita/templates/lib/add_column.pl | 276 + .../local/pita/templates/lib/average_rows.pl | 316 + modules/local/pita/templates/lib/body.pl | 155 + modules/local/pita/templates/lib/cap.pl | 86 + modules/local/pita/templates/lib/cut.pl | 227 + modules/local/pita/templates/lib/dos2unix.pl | 56 + .../pita/templates/lib/extract_sequence.pl | 180 + .../local/pita/templates/lib/fasta2stab.pl | 86 + .../lib/find_potential_mirna_targets.pl | 389 + .../local/pita/templates/lib/format_number.pl | 38 + modules/local/pita/templates/lib/join.pl | 689 + modules/local/pita/templates/lib/libfile.pl | 1672 +++ modules/local/pita/templates/lib/libstats.pl | 816 ++ modules/local/pita/templates/lib/libtable.pl | 288 + modules/local/pita/templates/lib/lin.pl | 48 + modules/local/pita/templates/lib/load_args.pl | 142 + modules/local/pita/templates/lib/ltqnorm.pl | 70 + .../local/pita/templates/lib/merge_columns.pl | 94 + .../local/pita/templates/lib/modify_column.pl | 568 + modules/local/pita/templates/lib/pita_run.pl | 197 + .../pita/templates/lib/sequence_helpers.pl | 615 + .../local/pita/templates/lib/stab2length.pl | 65 + modules/local/pita/templates/lib/system.pl | 104 + .../pita/templates/lib/tab2feature_gxt.pl | 281 + modules/local/pita/templates/lib/transpose.pl | 125 + modules/local/pita/templates/lib/uniquify.pl | 120 + .../local/pita/templates/lib/vector_ops.pl | 869 ++ 757 files changed, 230373 insertions(+) create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/AUTHORS create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/COPYING create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/ChangeLog create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/AD_main.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/AS_main.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/PS3D.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/cluster.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/distance_matrix.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/split.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/statgeom.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/treeplot.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/AD_main.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/AS_main.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/AnalyseDists.1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/AnalyseSeqs.1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/Makefile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/Makefile.am create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/Makefile.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/PS3D.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/PS3D.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/StrEdit_CostMatrix.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/cluster.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/cluster.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/distance_matrix.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/distance_matrix.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/split.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/split.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/statgeom.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/statgeom.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/treeplot.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/treeplot.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/utils.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/Makefile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/Makefile.am create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/Makefile.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/PS_dot.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/ProfileAln.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/RNAstruct.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/alifold.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/aln_util.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/cofold.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/dist_vars.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/duplex.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/edit_cost.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/energy_const.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/energy_par.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/fold.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/fold_vars.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/inverse.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/pair_mat.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/params.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/part_func.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/part_func_co.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/profiledist.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/stringdist.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/subopt.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/treedist.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/utils.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/INSTALL create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/INSTALL.configure create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/baum.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/cache.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/getopt.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/getopt1.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/globals.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/main.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/nachbar.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/AUTHORS create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/COPYING create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/ChangeLog create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/Makefile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/Makefile.am create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/Makefile.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/README create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.ae.log create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.e.log create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.log create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.nolp.log create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/traj create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/traj.ae create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/traj.e create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/traj.nolp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/INSTALL create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Kinfold create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Makefile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Makefile.am create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Makefile.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/NEWS create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/README create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/acinclude.m4 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/aclocal.m4 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/baum.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/baum.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/baum.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/cache.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/cache.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/cache_util.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/config.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/config.h.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/config.log create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/config.status create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/configure create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/configure.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/getopt.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/getopt.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/getopt.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/getopt1.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/getopt1.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/globals.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/globals.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/globals.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/main.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/main.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/nachbar.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/nachbar.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/nachbar.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/stamp-h1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Makefile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Makefile.am create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Makefile.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/NEWS create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile.PL create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile.am create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile.perl create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA.bs create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA.i create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA.pm create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA_wrap.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA_wrap.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNAfold.cgi create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNAfold.pl create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/arch/auto/RNA/.exists create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/arch/auto/RNA/RNA.bs create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/arch/auto/RNA/RNA.so create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/lib/.exists create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/lib/RNA.pm create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/lib/auto/RNA/.exists create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/man3/.exists create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/man3/RNA.3pm create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/pm_to_blib create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/test.pl create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNALfold.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAalifold.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAcofold.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAddG.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAddG4.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAdistance.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAduplex.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAeval.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAfold.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAheat.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAinverse.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAmotif_distance.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAmotif_distance.Po~ create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNApaln.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNApdist.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAplfold.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAplot.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAstats.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAsubopt.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/Makefile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/Makefile.am create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/Makefile.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/Makefile~ create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNALfold create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNALfold.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNALfold.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAalifold create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAalifold.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAalifold.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAcofold create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAcofold.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAcofold.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAddG create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAddG.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAddG4 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAddG4.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAdistance create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAdistance.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAdistance.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAduplex create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAduplex.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAduplex.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAeval create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAeval.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAeval.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAfold create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAfold.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAfold.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAheat create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAheat.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAheat.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAinverse create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAinverse.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAinverse.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAmotif_distance create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAmotif_distance.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAmotif_distance.c~ create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAmotif_distance.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNApaln create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNApaln.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNApaln.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNApdist create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNApdist.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNApdist.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAplfold create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAplfold.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAplfold.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAplot create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAplot.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAplot.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAstats create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAstats.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAsubopt create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAsubopt.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAsubopt.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/dna_DM.par create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/README create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/AUTHORS create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/COPYING create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/ChangeLog create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/INSTALL create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/Makefile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/Makefile.am create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/Makefile.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/NEWS create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/README create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/TODO create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/aclocal.m4 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.guess create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.h.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.log create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.status create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/configure create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/configure.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/depcomp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CHANGES create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/COPYING create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/Template create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/INSTALL create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/Makefile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/Makefile.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/README create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/TODO create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/CVS/Template create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/output.0 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/requests create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/traces.0 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/config.guess create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/config.log create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/config.status create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/config.sub create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/configure create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/configure.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/Template create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/Makefile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/Makefile.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/demo_cpp.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/demo_f.f create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/descrip.mms create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_anim.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_arc.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_splines_demo.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_test.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_test.f create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/handles.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/penguin.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/penguin.inc create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/pointer.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_FIG.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_PS.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_X11.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_gd.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_win32.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/xlink.opt create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/descrip.mms create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/Template create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/Doxyfile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/g2_main.dox create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2.dsp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2.dsw create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_anim.dsp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/Template create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/Changes create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/G2.pm create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/G2.xs create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/MANIFEST create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/Makefile.PL create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/Makefile.PL.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/README create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/test.pl create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/typemap create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2demo.dsp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2dll.dsp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2res.dsp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/gd.dsp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/CVS/Template create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/g2.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/g2_FIG.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/g2_PS.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/install-sh create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/libg2.a create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/Template create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/Makefile.PL create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/README.perl create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/g2.pm create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/g2_wrap.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/simple_win32.dsp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/Template create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/Template create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/g2_FIG.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/g2_FIG.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/g2_FIG.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/g2_FIG_P.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/g2_FIG_funix.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/Template create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/g2_gd.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/g2_gd.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/g2_gd_P.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/g2_gd_funix.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/Template create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/g2_PS.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/g2_PS.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/g2_PS.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/g2_PS_P.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/g2_PS_definitions.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/g2_PS_funix.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/CVS/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/CVS/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/CVS/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/CVS/Template create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_Win32.ico create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32.rc create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32_P.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32_funix.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32_thread.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2res.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/resource.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/Entries create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/Repository create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/Root create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/Template create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2.xpm create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2_X11.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2_X11.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2_X11_P.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2_X11_funix.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_config.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_control_pd.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_control_pd.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_control_pd.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_device.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_device.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_device.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_fif.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_fif.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_funix.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_graphic_pd.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_graphic_pd.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_graphic_pd.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_physical_device.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_physical_device.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_physical_device.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_splines.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_splines.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_control.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_control.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_device.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_device.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_graphic.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_graphic.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_virtual_device.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_virtual_device.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_util.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_util.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_util.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_virtual_device.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_virtual_device.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_virtual_device.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/install-sh create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/man/Makefile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/man/Makefile.am create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/man/Makefile.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/man/RNAforester.1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/mkinstalldirs create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/Arguments.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/glib.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/main.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/ppforestbase.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/progressive_align.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rna_algebra.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rna_alignment.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rna_alphabet.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rna_profile_alignment.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rnaforest.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rnaforester_options.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rnaforestsz.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rnafuncs.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/wmatch.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Arguments.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Arguments.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Arguments.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Makefile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Makefile.am create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Makefile.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/RNAforester create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/algebra.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/alignment.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/alignment.t.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/debug.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/fold.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/fold_vars.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/glib.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/glib.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/graphtypes.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/main.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/main.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/match.defs create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/matrix.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/misc.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/misc.t.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/pairs.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/part_func.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/pointer.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforest.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforest.t.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestali.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestbase.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestbase.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestbase.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestsz.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestsz.t.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/progressive_align.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/progressive_align.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/progressive_align.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/readgraph.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_algebra.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_algebra.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_algebra.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alignment.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alignment.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alignment.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alphabet.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alphabet.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alphabet.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_profile_alignment.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_profile_alignment.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_profile_alignment.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforest.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforest.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforest.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforester_options.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforester_options.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforester_options.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforestsz.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforestsz.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforestsz.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnafuncs.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnafuncs.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnafuncs.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/term.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/treeedit.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/treeedit.t.cpp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/types.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/unpairs.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/utils.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/wmatch.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/wmatch.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/wmatch.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/stamp-h1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Formats create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Make.com create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Make.ncbi create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Makefile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Readme create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Readseq.help create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Stdfiles create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/add.gdemenu create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/alphabet.std create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/macinit.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/macinit.r create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/multi.std create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/nucleic.std create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/readseq create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/readseq.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/readseq.c.orig create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/readseqSIOW.make create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/translate.patch create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/upper.std create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/ureadasn.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/ureadseq.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/ureadseq.c.orig create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/ureadseq.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/ureadseq.h.orig create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/THANKS create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/.deps/b2ct.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/.deps/popt.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/Fold create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/Makefile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/Makefile.am create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/Makefile.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/README create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/b2ct.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/b2ct.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/b2mt.pl create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/cmount.pl create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/coloraln.pl create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/colorrna.pl create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/ct2b.pl create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/dpzoom.pl create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/mountain.pl create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/popt create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/popt.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/popt.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/relplot.pl create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/rotate_ss.pl create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/ViennaRNA.spec create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/ViennaRNA.spec.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/aclocal.m4 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.guess create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.h.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.log create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.status create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.sub create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/configure create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/configure.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/default.par create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/depcomp create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/install-sh create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/LPfold.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/Lfold.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/PS_dot.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/ProfileAln.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/ProfileDist.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/RNAstruct.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/alifold.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/alipfold.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/aln_util.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/cofold.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/dist_vars.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/duplex.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/energy_par.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/fold.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/fold_vars.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/inverse.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/list.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/naview.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/params.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/part_func.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/part_func_co.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/read_epars.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/stringdist.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/subopt.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/treedist.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/utils.Po create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/LPfold.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/LPfold.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Lfold.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Lfold.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Makefile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Makefile.am create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Makefile.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/PS_dot.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/PS_dot.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/ProfileAln.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/ProfileAln.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/ProfileDist.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/ProfileDist.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/RNAstruct.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/RNAstruct.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/alifold.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/alifold.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/alipfold.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/alipfold.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/aln_util.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/aln_util.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/circfold.inc create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/cofold.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/cofold.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/dist_vars.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/dist_vars.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/duplex.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/duplex.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/energy_par.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/energy_par.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/fold.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/fold.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/fold_vars.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/fold_vars.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/intloops.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/inverse.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/inverse.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/libRNA.a create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/list.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/list.h create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/list.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/ll.a create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/naview.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/naview.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/params.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/params.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/part_func.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/part_func.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/part_func_co.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/part_func_co.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/read_epars.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/read_epars.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/stringdist.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/stringdist.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/subopt.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/subopt.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/treedist.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/treedist.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/utils.c create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/utils.o create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/Makefile create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/Makefile.am create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/Makefile.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNALfold.1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNALfold.1.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAalifold.1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAalifold.1.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAcofold.1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAcofold.1.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAdistance.1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAdistance.1.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAduplex.1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAduplex.1.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAeval.1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAeval.1.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAfold.1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAfold.1.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAheat.1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAheat.1.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAinverse.1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAinverse.1.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAlib.info create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAlib.texinfo create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNApdist.1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNApdist.1.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplfold.1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplfold.1.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplot.1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplot.1.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAsubopt.1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAsubopt.1.in create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/texinfo.tex create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/missing create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/stamp-h1 create mode 100755 modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/vienna13.par create mode 100644 modules/local/pita/templates/known_mirs/fly_mirs.fasta create mode 100644 modules/local/pita/templates/known_mirs/human_mirs.fasta create mode 100644 modules/local/pita/templates/known_mirs/mouse_mirs.fasta create mode 100644 modules/local/pita/templates/known_mirs/worm_mirs.fasta create mode 100755 modules/local/pita/templates/lib/RNAddG_compute.pl create mode 100755 modules/local/pita/templates/lib/add_column.pl create mode 100755 modules/local/pita/templates/lib/average_rows.pl create mode 100755 modules/local/pita/templates/lib/body.pl create mode 100755 modules/local/pita/templates/lib/cap.pl create mode 100755 modules/local/pita/templates/lib/cut.pl create mode 100755 modules/local/pita/templates/lib/dos2unix.pl create mode 100755 modules/local/pita/templates/lib/extract_sequence.pl create mode 100755 modules/local/pita/templates/lib/fasta2stab.pl create mode 100755 modules/local/pita/templates/lib/find_potential_mirna_targets.pl create mode 100755 modules/local/pita/templates/lib/format_number.pl create mode 100755 modules/local/pita/templates/lib/join.pl create mode 100755 modules/local/pita/templates/lib/libfile.pl create mode 100755 modules/local/pita/templates/lib/libstats.pl create mode 100755 modules/local/pita/templates/lib/libtable.pl create mode 100755 modules/local/pita/templates/lib/lin.pl create mode 100755 modules/local/pita/templates/lib/load_args.pl create mode 100755 modules/local/pita/templates/lib/ltqnorm.pl create mode 100755 modules/local/pita/templates/lib/merge_columns.pl create mode 100755 modules/local/pita/templates/lib/modify_column.pl create mode 100755 modules/local/pita/templates/lib/pita_run.pl create mode 100755 modules/local/pita/templates/lib/sequence_helpers.pl create mode 100755 modules/local/pita/templates/lib/stab2length.pl create mode 100755 modules/local/pita/templates/lib/system.pl create mode 100755 modules/local/pita/templates/lib/tab2feature_gxt.pl create mode 100755 modules/local/pita/templates/lib/transpose.pl create mode 100755 modules/local/pita/templates/lib/uniquify.pl create mode 100755 modules/local/pita/templates/lib/vector_ops.pl diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/AUTHORS b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/AUTHORS new file mode 100755 index 00000000..a1946e08 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/AUTHORS @@ -0,0 +1,4 @@ +Ivo Hofacker (all parts) +Peter Stadler (design, documentation, cluster algorithms) +Walter Fontana (suboptimal folding, pre-historic implementation of mfe folding) +Stefan Wuchty (suboptimal folding) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/COPYING b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/COPYING new file mode 100755 index 00000000..c3eb63c1 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/COPYING @@ -0,0 +1,19 @@ + Disclaimer and Copyright + +The programs, library and source code of the Vienna RNA Package are free +software. They are distributed in the hope that they will be useful +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +Permission is granted for research, educational, and commercial use +and modification so long as 1) the package and any derived works are not +redistributed for any fee, other than media costs, 2) proper credit is +given to the authors and the Institute for Theoretical Chemistry of the +University of Vienna. + +If you want to include this software in a commercial product, please contact +the authors. + +Note that the file ./lib/naview.c has its own copyright attached. +The ./Readseq/ directory contains a modified version of Don Gilbert's +public domain readseq program. diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/ChangeLog b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/ChangeLog new file mode 100755 index 00000000..e9b9cff8 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/ChangeLog @@ -0,0 +1,123 @@ +2006-01-18 Ivo Hofacker + + * cleanup berni partition cofold code, including several bug fixes + +2006-01-16 Ivo Hofacker + + * update RNAplfold to working version + * add PS_dot_plot_turn() in PS_dot.c + +2005-11-07 Ivo Hofacker + + * add new utilities colorna and coloraln + +2005-10-11 Christoph Flamm + + * adapt PS_rna_plot() for drawing co-folded structures + +2005-07-24 Ivo Hofacker + + * fix a few memory problems in structure comparison routines + +2005-04-30 Ivo Hofacker + + * add folding of circular RNAs + +2005-03-11 Ivo Hofacker + + * add -mis option to RNAalifold to give "most informative + sequence" as consensus + +2005-02-10 Ivo Hofacker + + * move alifold() into the library + +2004-12-22 Stephan Bernhart + + * add partition function version of RNAcofold + +2004-12-23 Ivo Hofacker + + * add RNApaln for fast structural alignments (RNApdist improvement) + +2004-08-12 Ivo Hofacker + + * fix constrained folding in stochastic backtracking + +2004-07-21 Ivo Hofacker + + * add RNAduplex, to compute hybrid structures without + intra-molecular pairs + +2004-02-09 Ivo Hofacker + + * fix bug in fold that caused segfaults when using Intel compiler + * add computation of ensemble diversity to RNAfold + +2003-09-10 Ivo Hofacker + + * add annotation options to RNAplot + +2003-08-04 Ivo Hofacker + + * stochastic backtracking finally works. Try e.g. + RNAsubopt -p 10 + +2003-07-18 Ivo Hofacker + + * add relplot.pl and rotate_ss.pl utilities for reliability + annotation and rotation of rna structure plots + +2003-01-29 Ivo Hofacker + + * add RNALfold program to compute locally optimal structures with + maximum pair span. + * add RNAcofold for computing hybrid structure + +2002-11-07 Ivo Hofacker + + * change Make_bp_profile() and profile_edit_distance() to use + simple (float *) arrays; makes Perl access much easier. + RNApdist -B now works again + +2002-10-28 Ivo Hofacker + + * Improved Perl module with pod documentation; allow to write + things like + ($structure, $energy) = RNA::fold($seq); + Compatibility warning: the ptrvalue() and related functions are + gone, see the pod documentation for alternatives. + +2002-10-29 Ivo Hofacker + + * added svg structure plots in PS_dot.c and RNAplot + +2002-08-15 Ivo Hofacker + + * Improve reading of clustal files (alifold) + * add a sample alifold.cgi script + +2001-09-18 Ivo Hofacker + + * moved suboptimal folding into the library, thus it's now + accessible from the Perl module + +2001-08-31 Ivo Hofacker + + * added co-folding support in energy_of_struct(), and thus RNAeval + +2001-04-30 Ivo Hofacker + + * switch from handcrafted makefiles to automake and autoconf + +2001-04-05 Ivo Hofacker + + * added PS_rna_plot_a to produce structure plots with annotation + +2001-03-03 Ivo Hofacker + + * add alifold; predict consensus structures from alignment + +2000-09-28 Ivo Hofacker + + * add -d3 option to RNAfold for co-axial stacking diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/AD_main.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/AD_main.Po new file mode 100755 index 00000000..9ce06a81 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/AD_main.Po @@ -0,0 +1 @@ +# dummy diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/AS_main.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/AS_main.Po new file mode 100755 index 00000000..9ce06a81 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/AS_main.Po @@ -0,0 +1 @@ +# dummy diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/PS3D.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/PS3D.Po new file mode 100755 index 00000000..9ce06a81 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/PS3D.Po @@ -0,0 +1 @@ +# dummy diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/cluster.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/cluster.Po new file mode 100755 index 00000000..9ce06a81 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/cluster.Po @@ -0,0 +1 @@ +# dummy diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/distance_matrix.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/distance_matrix.Po new file mode 100755 index 00000000..9ce06a81 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/distance_matrix.Po @@ -0,0 +1 @@ +# dummy diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/split.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/split.Po new file mode 100755 index 00000000..9ce06a81 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/split.Po @@ -0,0 +1 @@ +# dummy diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/statgeom.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/statgeom.Po new file mode 100755 index 00000000..9ce06a81 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/statgeom.Po @@ -0,0 +1 @@ +# dummy diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/treeplot.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/treeplot.Po new file mode 100755 index 00000000..9ce06a81 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/.deps/treeplot.Po @@ -0,0 +1 @@ +# dummy diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/AD_main.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/AD_main.c new file mode 100755 index 00000000..a5b22f85 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/AD_main.c @@ -0,0 +1,85 @@ +#include +#include +#include +#include "split.h" +#include "cluster.h" +#include "distance_matrix.h" +#include "treeplot.h" +#include "utils.h" + + +#define PUBLIC +#define PRIVATE static + +PRIVATE void usage(void); + +main(int argc, char *argv[]) +{ + int i,j; + float **dm; + Split *S; + Union *U; + char type[5]; + + short Do_Split=1, Do_Wards=0, Do_Nj=0; + + for (i=1; i %s\n",type); + + if(Do_Split) { + S = split_decomposition(dm); + sort_Split(S); + print_Split(S); + free_Split(S); + } + if(Do_Wards) { + U = wards_cluster(dm); + + printf_phylogeny(U,"W"); + PSplot_phylogeny(U,"wards.ps","Ward's Method"); + free(U); + } + if(Do_Nj) { + U = neighbour_joining(dm); + printf_phylogeny(U,"Nj"); + PSplot_phylogeny(U,"nj.ps","Neighbor Joining"); + free(U); + } + free_distance_matrix(dm); + } + return 0; +} + + +PRIVATE void usage(void) +{ + nrerror("usage: AnalyseDist [-X[swn]]"); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/AS_main.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/AS_main.c new file mode 100755 index 00000000..c516f32c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/AS_main.c @@ -0,0 +1,292 @@ +#include +#include +#include "distance_matrix.h" +#include "statgeom.h" +#include "split.h" +#include "cluster.h" +#include "treeplot.h" +#include "utils.h" + + +#define PUBLIC +#define PRIVATE static + +PRIVATE char scale1[] = "....,....1....,....2....,....3....,....4"; +PRIVATE char scale2[] = "....,....5....,....6....,....7....,....8"; + +PRIVATE void usage(void); + +main(int argc, char *argv[]) +{ + int n,i,j,l; + int intty; + int outtty; + char *mask, junk[20]; + char **s; + char **ss[4]; + float *B; + float **dm; + Split *S; + Union *U; + char DistAlgorithm='H'; + int nn[4]; + short Do_Split=0, Do_Wards=0, Do_Stg=1, Do_4_Stg=0, Do_Nj=0, Do_Mat=0; + float per_digit, per_gap; + + mask = space(sizeof(char)*54); + strcpy (mask,"%ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"); + for (i=1; i %s\n","H (Hamming Distance)"); + break; + case 'A' : + dm = StrEdit_SimpleDistMatrix(s,n); + printf("> %s\n","A (Needleman-Wunsch Distance)"); + break; + case 'G' : + dm = StrEdit_GotohDistMatrix(s,n); + printf("> %s\n","G (Gotoh Distance)"); + break; + default: + nrerror("This can't happen."); + } + } + if(Do_Split) { + S = split_decomposition(dm); + sort_Split(S); + print_Split(S); + free_Split(S); + } + if(Do_Wards) { + U = wards_cluster(dm); + printf_phylogeny(U,"W"); + PSplot_phylogeny(U,"wards.ps","Ward's Method"); + free(U); + } + if(Do_Nj) { + U = neighbour_joining(dm); + printf_phylogeny(U,"Nj"); + PSplot_phylogeny(U,"nj.ps","Neighbor Joining"); + free(U); + } + if(Do_Mat) printf_distance_matrix(dm); + } + + if (dm!=NULL) free_distance_matrix(dm); + for(i=0;i Y x [comments] +.br +where 'x' gives the number of taxa, 'Y' is a single character that +indicates the type of distance and 'comment' is an arbitrary comment. +This matches the output format of, e.g., RNAdistance. +The input data file may contain arbitrary lines before and after the +distance matrix. All lines beginning with '> ' that are not of the +above form are written to stdout. The programm continues reading +until it encounters an EOF condition or the terminator character '@'. +.br +A list of taxa names can be specified in the input stream. The list +must begin with a line of the form +.br +* [fname] +.br +if fname is present, it will be used to name the postscript output files. +The entries have the form 'x : Taxon', +where x is the number of taxon, i.e., the corresponding row and column +of the distance matrix. The taxa list need not be complete. It must +end however with a line beginning with '*' or any of the separator +characters. The taxa list is printed on top of the output. + +.SH OPTIONS + +.IP \fB\-X[swn]\fI\fP +specifies the analysis methods to be used. +.IP \fB[s]\fI\fP +Split decomposition. +.IP \fB[w]\fI\fP +Cluster analysis using Ward's method. A PostScript file named '[fname_]wards.ps' +is created containing a drawing of the tree. +.IP \fB[n]\fI\fP +Cluster analysis using Saitou's neighbour joining method. +A PostScript file named '[fname_]nj.ps' is created containing a drawing of the tree. + +.SH REFERENCES + +The method of split decomposition was proposed by H.J. Bandelt and +A.W.M. Dress (Adv Math, 92:1992,47). +.br +The variance method for cluster analysis is due to H.J. Ward. +(J Amer Stat Ass, 58:1963,236). +.br +The neighbour joining method was published by Saitou and Nei +(Mol Biol Evol, 4:1987,406). +.br +This program is part of the Vienna RNA Package. + +.SH WARNING +This a beta test version. + +.SH VERSION +This man page is part of the Vienna RNA Package version 1.2 +.SH AUTHOR +Peter F Stadler and Ivo L Hofacker. +.SH BUGS +Comments should be sent to ivo@tbi.univie.ac.at. +.br diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/AnalyseSeqs.1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/AnalyseSeqs.1 new file mode 100755 index 00000000..c5ace8f9 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/AnalyseSeqs.1 @@ -0,0 +1,168 @@ +.TH ANALYSESEQS l +.ER +.SH NAME +AnalyseSeqs \- Analyse a set of sequences of common length +.SH SYNOPSIS +\fBAnalyseSeqs [\-X[\fIbswn\fP]] [\-Q] [\-M{mask}[+|!]] [\-D{H|A|G}] [\-d{S|H|D|B}] +.SH DESCRIPTION +.I AnalyseSeqs +reads a set of sequences from stdin and tries a variety of methods +for sequence analysis on them. Currently available are: +.br +Statistical geometry for quadruples of sequences; THIS IS +PRELIMINARY AND NOT WELL TESTED BY NOW. +.br +split decomposition; +neighbour joining and Ward's variance method for reconstructing +phylogenies using various distance measures. +For statistical geometry and the cluster methods PostScript output +is available. +.br +The program continues reading until it encounters one of the +separator characters '@' or '%'. Only sequences of alphabetical +characters or of a specified alphabet are processed, all other +lines are ignored. The program stops reading +if it either encounters an EOF condition, or if there are no +valid sequence data between two lines beginning with separator +characters. +.br +A list of taxa names can be specified in the input stream. The list +begins with a line beginning with '*'. Optionally, a file name prefix +[fn] for the PostScript output can be specified in this line. +The entries have the form 'x : Taxon', +where x is the number of taxon, i.e., of the corresponding entry in +the list of input sequences. The taxa list need not be complete. It must +end, however, with a line beginning with '*' or any of the separator +characters. The taxa list is printed on top of the output. The specified +taxa names are used as labels in the PostScript output. + +.SH OPTIONS +.IP \fB\-X[bswn]\fI\fP +specifies the analysis methods to be used. +.IP \fB[b]\fI\fP +Statistical Geometry. A PostScript file named '[fn_]box.ps' giving a +graphical representation of the statistical geometry is created. The +resulting box is a good measure of 'tree likeness' of the data set. +This is the default. +.IP \fB[s]\fI\fP +Split decomposition. +.IP \fB[w]\fI\fP +Cluster analysis using Ward's method. A PostScript file named '[fn_]wards.ps' +is created containing a drawing of the tree. +.IP \fB[n]\fI\fP +Cluster analysis using Saitou's neighbour joining method. A PostScript +file named '[fn_]nj.ps' is created containing a drawing of the tree. + +.IP \fB\-Q\fB +indicates that a statistical geometry analysis is to be performed +comparing four data sets, for instance to confirm the significance of +a proposed phylogeny. This option is only useful for statistical +geometry analysis and hence the -X option is ignored. Each of the +four data sets must be of the form +.br +* [filename_prefix] +.br +# number +.br +[list of taxa names] +.br +* +.br +list of sequences +.br +% +.br +where number is 1,2,3,4 for the four groups to be compared. + +.IP \fB\-M{mask}[+|!]\fB +allows to specify a mask for the input file. '{mask}' can be one +of the following letters indicating a predefined alphabet or +the %-sign followed by all characters to be accepted. A + sign +at the very end of the mask indicates that the input is to be +handled case sensitive. Default is conversion of the input to +upper case. A ! sign can be used to convert the input data to +RY code: GgAaXx -> R, UuCcKkTt -> Y, all other letters are +converted to *. +.IP \fB-Ma\fI\fP +all letters A-Z and a-z. +.IP \fB-Mu\fI\fP +uppercase letters. +.IP \fB-Ml\fI\fP +lowercase letters. +.IP \fB-Mc\fI\fP +digits [0-9]. +.IP \fB-Mn\fI\fP +all alphanumeric characters. +.IP \fB-MR\fI\fP +RNA alphabet (GCAUgcau). +.IP \fB-MD\fI\fP +DNA alphabet (GCATgcat). +.IP \fB-MA\fI\fP +Amino acids in one-letter code. +.IP \fB-MS\fI\fP +Secondary strcutures coded as '^.()' +.IP \fB-M%alphabet\fI\fP +use the specified alphabet. + +.IP \fB\-D\fB +specifies the algorithm to be used for calculating the +distance matrix of the input data set. Available are +.IP \fB-DH\fI\fP +Hamming Distance +.IP \fB-DA[,cost]\fI\fB +Simple alignment distance according to Needleman and Wunsch. +A gap cost different from 1. can be specified after the comma. +.IP \fB-DG[,cost1,cost2]\fI\fB +Gotoh's distance with gap cost function +g(k) = cost2+cost1*(k-1). cost2<=cost1 has to be fulfilled. +Default values are cost1=1., cost2=1., yielding the same +distance as option A. +.br +ONLY THE HAMMING DISTANCE IS WELL TESTED BY NOW !!! + +.IP \fB\-d\fB +specifies the edit cost matrix to be used. Available are +.IP \fB-dS\fI\fP +simple distance. Indel and substitution of different characters +all have cost 1. The indel cost can be set by specifying the +gap costs with the algorithm options -DA and -DG. This is the +default. +.IP \fB-dH\fI\fP +A distance matrix for RNA secondary structures. Inspired by +Hogeweg's similarity measure (J.Mol.Biol 1988). +Gap-function is set automatically. +.IP \fB-dD\fI\fP +Dayhoff's matrix for amino acid distances. +.IP \fB-dB\fI\fP +Distinguish purines and pyrimidines only. +CAUTION this option of course influences only the calculation of distances. +It does NOT affect computation of the statistical geometry. This is +done directly on the sequences. If you want to do statistical geometry on +RY sequences use the ! sign with the -M option, for instance -MR!. + +.SH REFERENCES +The method of statistical geometry has been introduced by +M. Eigen, R. Winkler-Oswatitsch and A.W.M. Dress +(Proc Natl Acad Sci, 85:1988,5912). +The method of split decomposition was proposed by +H.J. Bandelt and A.W.M. Dress +(Adv Math, 92:1992,47). +The variance method for cluster analysis is due to H.J. Ward +(J Amer Stat Ass, 58:1963,236). +The neighbour joining method was published by Saitou and Nei +(Mol Biol Evol, 4:1987,406). + +This program is part of the Vienna RNA Package + +.SH WARNING +This is the beta test version. Some options or combinations +of options may still produce nonsense. Please send bug reports to +ivo@tbi.univie.ac.at. + +.SH VERSION +This man page is part of the Vienna RNA Package version 1.2. +.SH AUTHOR +Peter F Stadler, Ivo L. Hofacker. +.SH BUGS +Comments should be sent to ivo@itc.univie.ac.at. +.br diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/Makefile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/Makefile new file mode 100755 index 00000000..c8c35bad --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/Makefile @@ -0,0 +1,507 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Cluster/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +SOURCES = $(AnalyseDists_SOURCES) $(AnalyseSeqs_SOURCES) + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/ViennaRNA +pkglibdir = $(libdir)/ViennaRNA +pkgincludedir = $(includedir)/ViennaRNA +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +bin_PROGRAMS = AnalyseDists$(EXEEXT) AnalyseSeqs$(EXEEXT) +subdir = Cluster +DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_AnalyseDists_OBJECTS = split.$(OBJEXT) distance_matrix.$(OBJEXT) \ + cluster.$(OBJEXT) treeplot.$(OBJEXT) AD_main.$(OBJEXT) +AnalyseDists_OBJECTS = $(am_AnalyseDists_OBJECTS) +AnalyseDists_LDADD = $(LDADD) +AnalyseDists_DEPENDENCIES = utils.o +am_AnalyseSeqs_OBJECTS = statgeom.$(OBJEXT) distance_matrix.$(OBJEXT) \ + cluster.$(OBJEXT) AS_main.$(OBJEXT) split.$(OBJEXT) \ + treeplot.$(OBJEXT) PS3D.$(OBJEXT) +AnalyseSeqs_OBJECTS = $(am_AnalyseSeqs_OBJECTS) +AnalyseSeqs_LDADD = $(LDADD) +AnalyseSeqs_DEPENDENCIES = utils.o +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(AnalyseDists_SOURCES) $(AnalyseSeqs_SOURCES) +DIST_SOURCES = $(AnalyseDists_SOURCES) $(AnalyseSeqs_SOURCES) +man1dir = $(mandir)/man1 +NROFF = nroff +MANS = $(man_MANS) +HEADERS = $(noinst_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run tar +AUTOCONF = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoconf +AUTOHEADER = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoheader +AUTOMAKE = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +ISODATE = 2006-06-13 +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run makeinfo +MAKE_CLUSTER_FALSE = +MAKE_CLUSTER_TRUE = # +MAKE_FORESTER_FALSE = # +MAKE_FORESTER_TRUE = +MAKE_KINFOLD_FALSE = # +MAKE_KINFOLD_TRUE = +MAKE_PERL_EXT_FALSE = # +MAKE_PERL_EXT_TRUE = +OBJEXT = o +PACKAGE = ViennaRNA +PACKAGE_BUGREPORT = rna@tbi.univie.ac.at +PACKAGE_NAME = ViennaRNA +PACKAGE_STRING = ViennaRNA 1.6 +PACKAGE_TARNAME = ViennaRNA +PACKAGE_VERSION = 1.6 +PATH_SEPARATOR = : +PerlCmd = /usr/bin/perl +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.6 +ac_ct_CC = gcc +ac_ct_RANLIB = ranlib +ac_ct_STRIP = +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +datadir = ${prefix}/share +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = RNAforester Kinfold +sysconfdir = ${prefix}/etc +target_alias = +man_MANS = AnalyseDists.1 AnalyseSeqs.1 +AnalyseDists_SOURCES = split.c \ + distance_matrix.c \ + cluster.c \ + treeplot.c \ + AD_main.c + +AnalyseSeqs_SOURCES = statgeom.c \ + distance_matrix.c \ + cluster.c \ + AS_main.c \ + split.c \ + treeplot.c \ + PS3D.c + +noinst_HEADERS = cluster.h split.h treeplot.h distance_matrix.h statgeom.h \ + utils.h PS3D.h StrEdit_CostMatrix.h + +LDADD = utils.o -lm +EXTRA_DIST = $(man_MANS) +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Cluster/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Cluster/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +AnalyseDists$(EXEEXT): $(AnalyseDists_OBJECTS) $(AnalyseDists_DEPENDENCIES) + @rm -f AnalyseDists$(EXEEXT) + $(LINK) $(AnalyseDists_LDFLAGS) $(AnalyseDists_OBJECTS) $(AnalyseDists_LDADD) $(LIBS) +AnalyseSeqs$(EXEEXT): $(AnalyseSeqs_OBJECTS) $(AnalyseSeqs_DEPENDENCIES) + @rm -f AnalyseSeqs$(EXEEXT) + $(LINK) $(AnalyseSeqs_LDFLAGS) $(AnalyseSeqs_OBJECTS) $(AnalyseSeqs_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/AD_main.Po +include ./$(DEPDIR)/AS_main.Po +include ./$(DEPDIR)/PS3D.Po +include ./$(DEPDIR)/cluster.Po +include ./$(DEPDIR)/distance_matrix.Po +include ./$(DEPDIR)/split.Po +include ./$(DEPDIR)/statgeom.Po +include ./$(DEPDIR)/treeplot.Po + +.c.o: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` +uninstall-info-am: +install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)" + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ + done +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ + rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(MANS) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-man + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: install-man1 + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am uninstall-man + +uninstall-man: uninstall-man1 + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-man1 \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-info-am uninstall-man uninstall-man1 + + +utils.o: + $(COMPILE) -c ../lib/utils.c +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/Makefile.am b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/Makefile.am new file mode 100755 index 00000000..ed5ca5d5 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/Makefile.am @@ -0,0 +1,25 @@ +bin_PROGRAMS = AnalyseDists AnalyseSeqs +man_MANS = AnalyseDists.1 AnalyseSeqs.1 + +AnalyseDists_SOURCES = split.c \ + distance_matrix.c \ + cluster.c \ + treeplot.c \ + AD_main.c + +AnalyseSeqs_SOURCES = statgeom.c \ + distance_matrix.c \ + cluster.c \ + AS_main.c \ + split.c \ + treeplot.c \ + PS3D.c +noinst_HEADERS = cluster.h split.h treeplot.h distance_matrix.h statgeom.h \ + utils.h PS3D.h StrEdit_CostMatrix.h + +LDADD = utils.o -lm + +utils.o: + $(COMPILE) -c ../lib/utils.c + +EXTRA_DIST = $(man_MANS) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/Makefile.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/Makefile.in new file mode 100755 index 00000000..7b6976fe --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/Makefile.in @@ -0,0 +1,507 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +SOURCES = $(AnalyseDists_SOURCES) $(AnalyseSeqs_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +bin_PROGRAMS = AnalyseDists$(EXEEXT) AnalyseSeqs$(EXEEXT) +subdir = Cluster +DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_AnalyseDists_OBJECTS = split.$(OBJEXT) distance_matrix.$(OBJEXT) \ + cluster.$(OBJEXT) treeplot.$(OBJEXT) AD_main.$(OBJEXT) +AnalyseDists_OBJECTS = $(am_AnalyseDists_OBJECTS) +AnalyseDists_LDADD = $(LDADD) +AnalyseDists_DEPENDENCIES = utils.o +am_AnalyseSeqs_OBJECTS = statgeom.$(OBJEXT) distance_matrix.$(OBJEXT) \ + cluster.$(OBJEXT) AS_main.$(OBJEXT) split.$(OBJEXT) \ + treeplot.$(OBJEXT) PS3D.$(OBJEXT) +AnalyseSeqs_OBJECTS = $(am_AnalyseSeqs_OBJECTS) +AnalyseSeqs_LDADD = $(LDADD) +AnalyseSeqs_DEPENDENCIES = utils.o +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(AnalyseDists_SOURCES) $(AnalyseSeqs_SOURCES) +DIST_SOURCES = $(AnalyseDists_SOURCES) $(AnalyseSeqs_SOURCES) +man1dir = $(mandir)/man1 +NROFF = nroff +MANS = $(man_MANS) +HEADERS = $(noinst_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKE_CLUSTER_FALSE = @MAKE_CLUSTER_FALSE@ +MAKE_CLUSTER_TRUE = @MAKE_CLUSTER_TRUE@ +MAKE_FORESTER_FALSE = @MAKE_FORESTER_FALSE@ +MAKE_FORESTER_TRUE = @MAKE_FORESTER_TRUE@ +MAKE_KINFOLD_FALSE = @MAKE_KINFOLD_FALSE@ +MAKE_KINFOLD_TRUE = @MAKE_KINFOLD_TRUE@ +MAKE_PERL_EXT_FALSE = @MAKE_PERL_EXT_FALSE@ +MAKE_PERL_EXT_TRUE = @MAKE_PERL_EXT_TRUE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PerlCmd = @PerlCmd@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +man_MANS = AnalyseDists.1 AnalyseSeqs.1 +AnalyseDists_SOURCES = split.c \ + distance_matrix.c \ + cluster.c \ + treeplot.c \ + AD_main.c + +AnalyseSeqs_SOURCES = statgeom.c \ + distance_matrix.c \ + cluster.c \ + AS_main.c \ + split.c \ + treeplot.c \ + PS3D.c + +noinst_HEADERS = cluster.h split.h treeplot.h distance_matrix.h statgeom.h \ + utils.h PS3D.h StrEdit_CostMatrix.h + +LDADD = utils.o -lm +EXTRA_DIST = $(man_MANS) +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Cluster/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Cluster/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +AnalyseDists$(EXEEXT): $(AnalyseDists_OBJECTS) $(AnalyseDists_DEPENDENCIES) + @rm -f AnalyseDists$(EXEEXT) + $(LINK) $(AnalyseDists_LDFLAGS) $(AnalyseDists_OBJECTS) $(AnalyseDists_LDADD) $(LIBS) +AnalyseSeqs$(EXEEXT): $(AnalyseSeqs_OBJECTS) $(AnalyseSeqs_DEPENDENCIES) + @rm -f AnalyseSeqs$(EXEEXT) + $(LINK) $(AnalyseSeqs_LDFLAGS) $(AnalyseSeqs_OBJECTS) $(AnalyseSeqs_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AD_main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AS_main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PS3D.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cluster.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/distance_matrix.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/split.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/statgeom.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treeplot.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +uninstall-info-am: +install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)" + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ + done +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ + rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(MANS) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-man + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: install-man1 + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am uninstall-man + +uninstall-man: uninstall-man1 + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-man1 \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ + tags uninstall uninstall-am uninstall-binPROGRAMS \ + uninstall-info-am uninstall-man uninstall-man1 + + +utils.o: + $(COMPILE) -c ../lib/utils.c +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/PS3D.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/PS3D.c new file mode 100755 index 00000000..7af4de63 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/PS3D.c @@ -0,0 +1,143 @@ +#include +#include +#include "utils.h" + +#define PUBLIC +#define PRIVATE static + +PUBLIC void ps3d_Preambel(FILE *fp, float view[3], float axis[3], char *projtype); +PUBLIC void PS_DrawSimplifiedBox(float X,float Y, float Z, float T, float P, FILE *fp); + + +PUBLIC void ps3d_Preambel(FILE *fp, float view[3], float axis[3], char *projtype) +{ + fprintf(fp,"%%!PS\n"); + fprintf(fp,"%%%%Title: RNA DotPlot\n"); + fprintf(fp,"%%%%Creator: RNAfold V.01.002c - by Oymolon\n"); + fprintf(fp,"%%%%CreationDate: %s", time_stamp()); +/* fprintf(fp,"%%%%BoundingBox: 66 211 518 662\n"); */ + fprintf(fp,"%%%%Pages: 1\n"); + fprintf(fp,"%%%%EndComments: Geil eyh !?\n"); + fprintf(fp,"%%Viewing vector\n"); + fprintf(fp,"/v1 { %f } def\n", view[0]); + fprintf(fp,"/v2 { %f } def\n", view[1]); + fprintf(fp,"/v3 { %f } def\n", view[2]); + fprintf(fp,"/a1 { %f } def\n", axis[0]); + fprintf(fp,"/a2 { %f } def\n", axis[1]); + fprintf(fp,"/a3 { %f } def\n", axis[2]); + fprintf(fp,"%%Define some coefficients for the projections.\n"); + fprintf(fp,"/y1a { v2 a3 mul v3 a2 mul sub } def\n"); + fprintf(fp,"/y2a { v3 a1 mul v1 a3 mul sub } def\n"); + fprintf(fp,"/y3a { v1 a2 mul v2 a1 mul sub } def\n"); + fprintf(fp,"/ya_len { y1a y1a mul y2a y2a mul y3a y3a mul add add sqrt } def\n"); + fprintf(fp,"/x1a { v2 y3a mul v3 y2a mul sub } def\n"); + fprintf(fp,"/x2a { v3 y1a mul v1 y3a mul sub } def\n"); + fprintf(fp,"/x3a { v1 y2a mul v2 y1a mul sub } def\n"); + fprintf(fp,"/xa_len { x1a x1a mul x2a x2a mul x3a x3a mul add add sqrt } def\n"); + fprintf(fp,"/x1 { x1a xa_len div } def\n"); + fprintf(fp,"/x2 { x2a xa_len div } def\n"); + fprintf(fp,"/x3 { x3a xa_len div } def\n"); + fprintf(fp,"/y1 { y1a ya_len div } def\n"); + fprintf(fp,"/y2 { y2a ya_len div } def\n"); + fprintf(fp,"/y3 { y3a ya_len div } def\n"); + fprintf(fp,"/sx { v1 v3 div } def\n"); + fprintf(fp,"/sy { v2 v3 div } def\n"); + fprintf(fp,"/v_len { v1 v1 mul v2 v2 mul v3 v3 mul add add sqrt } def\n"); + fprintf(fp,"/u_len { v1 v1 mul v2 v2 mul add sqrt } def\n"); + fprintf(fp,"/u1 { v2 u_len div } def\n"); + fprintf(fp,"/u2 { v1 neg u_len div } def\n"); + fprintf(fp,"/w1 { v1 v3 mul neg u_len div v_len div } def\n"); + fprintf(fp,"/w2 { v2 v3 mul neg u_len div v_len div } def\n"); + fprintf(fp,"/w3 { v1 v1 mul v2 v2 mul add u_len div v_len div } def\n"); + fprintf(fp,"%%Projection Operators\n"); + fprintf(fp,"%% Projection onto x-y plane in direction v\n"); + fprintf(fp,"/ProjXY { dup sx mul 4 -1 roll exch sub \n"); + fprintf(fp," 3 1 roll sy mul sub \n"); + fprintf(fp," } def \n"); + fprintf(fp,"%% Normal Projection onto a plane normal to (v1,v2,v3!=0)\n"); + fprintf(fp,"/Projnn { w3 mul 3 1 roll dup w2 mul 3 1 roll u2 mul exch \n"); + fprintf(fp," dup w1 mul 3 1 roll u1 mul add 4 1 roll add add \n"); + fprintf(fp," } def \n"); + fprintf(fp,"%% General Normal Projection\n"); + fprintf(fp,"/ProjN { dup y3 mul 4 1 roll x3 mul 3 1 roll dup \n"); + fprintf(fp," y2 mul 5 1 roll x2 mul 3 1 roll dup y1 mul \n"); + fprintf(fp," 6 1 roll x1 mul add add 4 1 roll add add \n"); + fprintf(fp," } def\n"); + fprintf(fp,"/Proj { Proj%s } def\n", projtype); + fprintf(fp,"/L3 { Proj lineto } def\n"); + fprintf(fp,"/RL3 { Proj rlineto } def\n"); + fprintf(fp,"/M3 { Proj moveto } def\n"); + fprintf(fp,"/RM3 { Proj rmoveto } def\n"); + fprintf(fp,"%% end 3D macros\n\n"); +} + +PUBLIC void PS_DrawSimplifiedBox(float X,float Y, float Z, float T, float P, FILE *fp) +{ + float t1, p1, t, lw; + t1 = T/sqrt(2.); + p1 = P/sqrt(3.); + t = X+t1+2*p1; /* approximate size */ + lw = 0.001*t; + fprintf(fp,"/scaling_factor { %f } def \n", 400./t); + fprintf(fp,"%f %f %f Proj \n", X+t1, Y+t1, Z+t1); + fprintf(fp,"scaling_factor mul 2 div 300 sub neg exch \n" ); + fprintf(fp,"scaling_factor mul 2 div 400 sub neg translate \n"); + fprintf(fp,"scaling_factor dup scale\n"); + fprintf(fp,"newpath\n"); + fprintf(fp,"%f setlinewidth\n",lw); + fprintf(fp,"0 0 0 M3\n"); + fprintf(fp,"%f %f %f L3\n", X , 0. , 0. ); + fprintf(fp,"%f %f %f L3\n", X+t1 , t1 , 0. ); + fprintf(fp,"%f %f %f L3\n", X+t1 , Y+t1 , 0. ); + fprintf(fp,"%f %f %f L3\n", t1 , Y+t1 , 0. ); + fprintf(fp,"%f %f %f L3\n", 0. , Y , 0. ); + fprintf(fp,"%f %f %f L3\n", 0. , 0. , 0. ); + fprintf(fp,"%f %f %f L3\n", 0. , 0. , Z ); + fprintf(fp,"%f %f %f L3\n", 0. , t1 , Z+t1 ); + fprintf(fp,"%f %f %f L3\n", 0. , Y+t1 , Z+t1 ); + fprintf(fp,"%f %f %f L3\n", 0. , Y+t1 , t1 ); + fprintf(fp,"%f %f %f L3\n", 0. , Y , 0. ); + fprintf(fp,"%f %f %f L3\n", 0. , 0. , 0. ); + fprintf(fp,"stroke\n"); + fprintf(fp,"%f %f %f M3\n", t1 , Y+t1 , 0. ); + fprintf(fp,"%f %f %f L3\n", 0. , Y+t1 , t1 ); + fprintf(fp,"stroke\n"); + fprintf(fp,"%f %f %f M3\n", X+t1 , t1 , 0. ); + fprintf(fp,"%f %f %f L3\n", X+t1 , 0. , t1 ); + fprintf(fp,"%f %f %f L3\n", X+t1 , 0. , Z+t1 ); + fprintf(fp,"%f %f %f L3\n", X+t1 , Y , Z+t1 ); + fprintf(fp,"%f %f %f L3\n", X+t1 , Y+t1 , Z ); + fprintf(fp,"%f %f %f L3\n", X+t1 , Y+t1 , 0. ); + fprintf(fp,"%f %f %f L3\n", X+t1 , t1 , 0. ); + fprintf(fp,"stroke\n"); + fprintf(fp,"%f %f %f M3\n", X+t1 , 0. , Z+t1 ); + fprintf(fp,"%f %f %f L3\n", t1 , 0. , Z+t1 ); + fprintf(fp,"%f %f %f L3\n", 0. , t1 , Z+t1 ); + fprintf(fp,"stroke\n"); + fprintf(fp,"%f %f %f M3\n", X+t1 , Y , Z+t1 ); + fprintf(fp,"%f %f %f L3\n", X , Y+t1 , Z+t1 ); + fprintf(fp,"%f %f %f L3\n", 0. , Y+t1 , Z+t1 ); + fprintf(fp,"stroke\n"); + fprintf(fp,"%f %f %f M3\n", X , 0. , 0. ); + fprintf(fp,"%f %f %f L3\n", X+t1 , 0. , t1 ); + fprintf(fp,"stroke\n"); + fprintf(fp,"%f %f %f M3\n", 0. , 0. , Z ); + fprintf(fp,"%f %f %f L3\n", t1 , 0. , Z+t1 ); + fprintf(fp,"stroke\n"); + fprintf(fp,"%f %f %f M3\n", X+t1 , Y+t1 , Z ); + fprintf(fp,"%f %f %f L3\n", X , Y+t1 , Z+t1 ); + fprintf(fp,"stroke\n"); + fprintf(fp,"%f %f %f M3\n", 0. , 0. , 0. ); + fprintf(fp,"%f %f %f RL3\n", -p1 , -p1 , -p1 ); + fprintf(fp,"stroke\n"); + fprintf(fp,"%f %f %f M3\n", X+t1 , Y+t1 , 0. ); + fprintf(fp,"%f %f %f RL3\n", p1 , p1 , -p1 ); + fprintf(fp,"stroke\n"); + fprintf(fp,"%f %f %f M3\n", X+t1 , 0. , Z+t1 ); + fprintf(fp,"%f %f %f RL3\n", p1 , -p1 , p1 ); + fprintf(fp,"stroke\n"); + fprintf(fp,"%f %f %f M3\n", 0. , Y+t1 , Z+t1 ); + fprintf(fp,"%f %f %f RL3\n", -p1 , p1 , p1 ); + fprintf(fp,"stroke\n"); + fprintf(fp,"showpage\n"); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/PS3D.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/PS3D.h new file mode 100755 index 00000000..842e5901 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/PS3D.h @@ -0,0 +1,2 @@ +extern void ps3d_Preambel(FILE *fp, float view[3], float axis[3], char *projtype); +extern void PS_DrawSimplifiedBox(float X,float Y, float Z, float T, float P, FILE *fp); diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/StrEdit_CostMatrix.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/StrEdit_CostMatrix.h new file mode 100755 index 00000000..25e45ad6 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/StrEdit_CostMatrix.h @@ -0,0 +1,107 @@ +#define DINF 100000.0 +#define GAP 1.0 + +/* -------------------------------------------------------------------------- */ + +/* BinCode: 'B' ... RNA sequences, but RY-distance only */ + +char StrEdit_BinCodeA[6] = "_GCAU"; +/* _ G C A U */ +float StrEdit_BinCodeM[5][5] = + { { 5., 1., 1., 1., 1. }, /* _ */ + { 1., 0., 1., 0., 1. }, /* G */ + { 1., 1., 0., 1., 0. }, /* C */ + { 1., 0., 1., 0., 1. }, /* A */ + { 1., 1., 0., 1., 0. } }; /* U */ + +/* -------------------------------------------------------------------------- */ + +/* Dayhoff: 'D' ... Dayhoff's matrix for Amino Acids */ +/* CAUTION THIS IS A SIMILARITY MATRIX !!! */ + +char StrEdit_DayhoffA[22] = +"_CSTPAGNDEQHRKMILVFYW"; +float StrEdit_DayhoffM[21][21] = +/* _ C S T P A G N D E Q H R K M I L V F Y W */ + {{21.,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP}, /* _ ... < ~gap~ > */ + {GAP,12., 0.,-2.,-3.,-2.,-3.,-4.,-5.,-5.,-5.,-3.,-4.,-5.,-5.,-2.,-6.,-2.,-4., 0.,-8.}, /* C ... Cysteine */ + {GAP, 0., 2., 1., 1., 1., 1., 1., 0., 0.,-1.,-1., 0., 0.,-2.,-1.,-3.,-1.,-3.,-3.,-2.}, /* S ... Serine */ + {GAP,-2., 1., 3., 0., 1., 0., 0., 0., 0.,-1.,-1.,-1., 0.,-1., 0.,-2., 0.,-3.,-3.,-5.}, /* T ... Threonine */ + {GAP,-3., 1., 0., 6., 1.,-1.,-1.,-1.,-1., 0., 0., 0.,-1.,-2.,-2.,-3.,-1.,-5.,-5.,-6.}, /* P ... Proline */ + {GAP,-2., 1., 1., 1., 2., 1., 0., 0., 0., 0.,-1.,-2.,-1.,-1.,-1.,-2., 0.,-4.,-3.,-6.}, /* A ... Alanine */ + {GAP,-3., 1., 0.,-1., 1., 5., 0., 1., 0.,-1.,-2.,-3.,-2.,-3.,-3.,-4.,-1.,-5.,-5.,-7.}, /* G ... Glycine */ + {GAP,-4., 1., 0.,-1., 0., 0., 2., 2., 2., 1., 2., 0., 1.,-2.,-2.,-3.,-2.,-4.,-2.,-4.}, /* N ... Asparagine */ + {GAP,-5., 0., 0.,-1., 0., 1., 2., 4., 3., 2., 1.,-1., 0.,-3.,-2.,-4.,-2.,-6.,-4.,-7.}, /* D ... Aspartic A */ + {GAP,-5., 0., 0.,-1., 0., 0., 1., 3., 4., 2., 1.,-1., 0.,-2.,-2.,-3.,-2.,-5.,-4.,-7.}, /* E ... Glutamic A */ + {GAP,-5.,-1.,-1., 0., 0.,-1., 1., 2., 2., 4., 3., 3., 1.,-1.,-2.,-2.,-2.,-5.,-4.,-5.}, /* Q ... Glutamine */ + {GAP,-3.,-1.,-1., 0.,-1.,-2., 2., 1., 1., 3., 6., 2., 0.,-2.,-2.,-2.,-2.,-2., 0.,-3.}, /* H ... Histidine */ + {GAP,-4., 0.,-1., 0.,-2.,-3., 0.,-1.,-1., 1., 2., 6., 3., 0.,-2.,-3.,-2.,-4.,-4.,-2.}, /* R ... Arginine */ + {GAP,-5., 0., 0.,-1.,-1.,-2., 1., 0., 0., 1., 0., 2., 5., 0.,-2.,-3.,-2.,-5.,-4.,-3.}, /* K ... Lysine */ + {GAP,-5.,-2.,-1.,-2.,-1.,-3.,-2.,-3.,-2.,-1.,-2., 0., 0., 6., 2., 4., 2., 0.,-2.,-4.}, /* M ... Methionine */ + {GAP,-2.,-1., 0.,-2.,-1.,-3.,-2.,-2.,-2.,-2.,-2.,-2.,-2., 2., 5., 2., 4., 1.,-1.,-5.}, /* I ... Isoleucine */ + {GAP,-6.,-3.,-2.,-3.,-2.,-4.,-3.,-4.,-3.,-2.,-2.,-3.,-3., 4., 2., 6., 2., 2.,-1.,-2.}, /* L ... Leucine */ + {GAP,-2.,-1., 0.,-1., 0.,-1.,-2.,-2.,-2.,-2.,-2.,-2.,-2., 2., 4., 2., 4.,-1.,-2.,-6.}, /* V ... Valine */ + {GAP,-4.,-3.,-3.,-5.,-4.,-5.,-4.,-6.,-5.,-5.,-2.,-4.,-5., 0., 1., 2.,-1., 9., 7., 0.}, /* F ... Phenylalanine */ + {GAP, 0.,-3.,-3.,-5.,-3.,-5.,-2.,-4.,-4.,-4., 0.,-4.,-4.,-2.,-1.,-1.,-2., 7.,10., 0.}, /* Y ... Tyrosine */ + {GAP,-8.,-2.,-5.,-6.,-6.,-7.,-4.,-7.,-7.,-5.,-3.,-2.,-2.,-4.,-5.,-2.,-6., 0., 0.,17.}}; /* W ... Tryptophane */ + +/* -------------------------------------------------------------------------- */ + +/* Hogeweg: 'H' ... Hogeweg's matrix for String Edit of Secondary Structures */ + +char StrEdit_HogewegA[6]="_.^()"; +float StrEdit_HogewegM[5][5] = +/* _ . ^ ( ) */ + { { 5., GAP, GAP, GAP, GAP }, /* _ ... */ + { GAP, 0., 1., 1., 1. }, /* . ... unpaired */ + { GAP, 1., 0., 1., 1. }, /* ^ ... hairpin-unpaired */ + { GAP, 1., 1., 0., DINF }, /* ( ... paired upstream */ + { GAP, 1., 1., DINF, 0. } }; /* ) ... paired downstream */ + +/* -------------------------------------------------------------------------- */ + +char StrEdit_GLHA[22] = "_ACDEFGHIKLMNPQRSTVWY"; +float StrEdit_GLHM[21][21] = { + {21.,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP,GAP}, + {GAP, 0.000, .156, .150, .148, .730, .045, .455, .346, .193, .335, + 1.018, .140, .058, .237, .308, .046, .010, .246, .124, .977}, /* ALA */ + {GAP, .156, 0.000, .219, .206, .779, .188, .412, .389, .150, .318, + .870, .183, .198, .225, .256, .149, .149, .289, .073, .940}, /* CYS */ + {GAP, .150, .219,0.000, .017, .840, .120, .337, .494, .129, .479, + 1.071, .047, .114, .122, .206, .108, .157, .395, .194, .963}, /* ASP */ + {GAP, .148, .206, .017,0.000, .836, .122, .328, .493, .114, .473, + 1.057, .030, .117, .110, .194, .103, .154, .393, .181, .950}, /* GLU */ + {GAP, .730, .779, .840, .836,0.000, .753,1.036, .595, .864, .586, + 1.301, .822, .763, .900, .957, .761, .729, .617, .726, .920}, /* PHE */ + {GAP, .045, .188, .120, .122, .753,0.000, .444, .376, .193, .377, + 1.055, .124, .014, .224, .302, .046, .054, .279, .157, .989}, /* GLY */ + {GAP, .455, .412, .337, .328,1.036, .444,0.000, .785, .279, .718, + 1.044, .321, .442, .225, .171, .411, .459, .682, .404, .824}, /* HIS */ + {GAP, .346, .389, .494, .493, .595, .376, .785,0.000, .513, .159, + 1.006, .485, .385, .575, .631, .391, .340, .103, .385,1.143}, /* ILE */ + {GAP, .193, .150, .129, .114, .864, .193, .279, .513,0.000, .461, + .954, .093, .194, .077, .119, .152, .193, .410, .152, .919}, /* LYS */ + {GAP, .335, .318, .479, .473, .586, .377, .718, .159, .461,0.000, + .872, .456, .389, .530, .571, .372, .327, .142, .319,1.035}, /* LEU */ + {GAP, 1.018, .870,1.071,1.057,1.301,1.055,1.044,1.006, .954, .872, + 0.000,1.033,1.065,1.013, .966,1.018,1.010, .977, .921,1.282}, /* MET */ + {GAP, .140, .183, .047, .030, .822, .124, .321, .485, .093, .456, + 1.033,0.000, .122, .102, .184, .095, .146, .383, .156, .930}, /* ASN */ + {GAP, .058, .198, .114, .117, .763, .014, .442, .385, .194, .389, + 1.065, .122,0.000, .222, .301, .054, .067, .289, .168, .996}, /* PRO */ + {GAP, .237, .225, .122, .110, .900, .224, .225, .575, .077, .530, + 1.013, .102, .222,0.000, .086, .192, .241, .472, .216, .910}, /* GLN */ + {GAP, .308, .256, .206, .194, .957, .302, .171, .631, .119, .571, + .966, .184, .301, .086,0.000, .265, .310, .528, .261, .901}, /* ARG */ + {GAP, .046, .149, .108, .103, .761, .046, .411, .391, .152, .372, + 1.018, .095, .054, .192, .265,0.000, .051, .289, .117, .963}, /* SER */ + {GAP, .010, .149, .157, .154, .729, .054, .459, .340, .193, .327, + 1.010, .146, .067, .241, .310, .051,0.000, .239, .119, .979}, /* THR */ + {GAP, .246, .289, .395, .393, .617, .279, .682, .103, .410, .142, + .977, .383, .289, .472, .528, .289, .239,0.000, .282,1.076}, /* VAL */ + {GAP, .124, .073, .194, .181, .726, .157, .404, .385, .152, .319, + .921, .156, .168, .216, .261, .117, .119, .282,0.000, .893}, /* TRP */ + {GAP, .977, .940, .963, .950, .920, .989, .824,1.143, .919,1.035, + 1.282, .930, .996, .910, .901, .963, .979,1.076, .893,0.000}, /* TYR */ +}; + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/cluster.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/cluster.c new file mode 100755 index 00000000..3cf75403 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/cluster.c @@ -0,0 +1,281 @@ +/* Last changed Time-stamp: <95/07/12 19:52:41 ivo> */ +/* + Cluster Analysis using Ward's Method + Ward J Amer Stat Ass, 58 (1963), p236 + c Peter Stadler and Ivo Hofacker +*/ +#include +#include +#include +#include "utils.h" + +#define PUBLIC +#define PRIVATE static + +#define INFINITY 1000000 + +typedef struct{ + int set1; + int set2; + float distance; + float distance2; + } Union; + +typedef struct { + int type; + int weight; + int father; + int sons; + int leftmostleaf; + } Postorder_list; + +PUBLIC Union *wards_cluster(float **clmat); +PUBLIC Union *neighbour_joining(float **clmat); +PUBLIC void printf_phylogeny(Union *tree, char *type); + + +/*--------------------------------------------------------------------*/ + +PUBLIC Union *wards_cluster(float **clmat) +{ + float **d; + int *indic; + int *size; + float *help; + Union *tree; + + float min,deno,xa,xb,x; + int i,j,step,s=0,t=0,n; + + n= (int)(clmat[0][0]); + + size = (int *) space((n+1)*sizeof(int)); + d = (float **) space((n+1)*sizeof(float *)); + for(i=0;i<=n;i++) + d[i] = (float *) space((n+1)*sizeof(float)); + indic = (int *) space((n+1)*sizeof(int)); + help = (float *) space((n+1)*sizeof(float)); + tree = (Union *) space((n+1)*sizeof(Union)); + + tree[0].set1 = n; + tree[0].set2 = 0; + tree[0].distance = 0.0; + tree[0].distance2 = 0.0; + + for (i=1;i<=n;i++) size[i]=1; + for (i=1; i<=n; i++){ + for(j=1; j<=n; j++){ + d[i][j] = clmat[i][j]; + } + } + + /* look for the indices [s,t] with minimum d[s][t]*/ + for(step=1;step %d %s ( Phylogeny using ",n, type); + switch(type[0]){ + case 'W' : + printf("Ward's Method )\n"); + printf("> Nodes Variance\n"); + for(i=1; i Nodes Branch Length in Tree\n"); + for(i=1; i +#include +#include +#include +#include "utils.h" +#include "StrEdit_CostMatrix.h" + +#define PUBLIC +#define PRIVATE static +#define MAXSEQS 1000 +#define MIN(A, B) ((A) < (B) ? (A) : (B)) +#define MIN3(A,B,C) (MIN((MIN((A),(B))),(C))) +#define MAX(A, B) ((A) > (B) ? (A) : (B)) + +PUBLIC float **read_distance_matrix(char type[]); +PUBLIC char **read_sequence_list(int *n_of_seqs, char *mask); +PUBLIC float **Hamming_Distance_Matrix(char **seqs, int n_of_seqs); +PUBLIC float **StrEdit_SimpleDistMatrix(char **seqs, int n_of_seqs); +PUBLIC float **StrEdit_GotohDistMatrix(char **seqs, int n_of_seqs); +PUBLIC void free_distance_matrix(float **x); +PUBLIC void printf_distance_matrix(float **x); +PUBLIC void printf_taxa_list(void); +PUBLIC char *get_taxon_label(int whoami); +PUBLIC float StrEdit_SimpleDist(char *str1, char *str2); +PUBLIC float StrEdit_GotohDist(char *str1, char *str2); +PUBLIC void Set_StrEdit_CostMatrix(char type); +PUBLIC void Set_StrEdit_GapCosts(float per_digit, float per_gap); + +/* NOTE: x[0][0] = (float)size_of_matrix; */ + +PRIVATE void read_taxa_list(void); +PRIVATE int string_consists_of(char line[],char *mask); +PRIVATE float StrEditCost( int i, int j, char *T1, char *T2); +PRIVATE int decode(char id); + +PRIVATE char Taxa_List[MAXSEQS][50]; +PRIVATE int Taxa_Numbers[MAXSEQS]; +PRIVATE int N_of_named_taxa=0; +PRIVATE char *file_name; +PRIVATE char N_of_infiles=0; +PRIVATE float **StrEdit_CostMatrix; +PRIVATE char *StrEdit_ValidAlphabet; +PRIVATE float StrEdit_GapCost = 1.; +PRIVATE float StrEdit_GotohAlpha = 1.; +PRIVATE float StrEdit_GotohBeta = 1.; + + + +PUBLIC float **read_distance_matrix(char type[]) +{ + char *line; + float **D; + float tmp; + int i,j,size; + + while(1) { + type[0]= '\0'; + size = 0; + D = NULL; + if ((line = get_line(stdin))==NULL) return NULL; + if (*line =='@') return NULL; + if (*line =='*') { + N_of_infiles++; + if(file_name) free(file_name); + + if(strlen(line)>1) { + file_name = (char *) space(sizeof(char)*strlen(line)); + sscanf(line,"*%s",file_name); + } else { + file_name = (char *) space(10); + sprintf(file_name,"%d",N_of_infiles); + } + read_taxa_list(); + } + else if (*line=='>') { + int r; + size = 0; + r = sscanf(line,"> %1s%*[ ] %d", type, &size); + fprintf(stderr, "%d ", r); + if (r==EOF) return NULL; + if((r==2)&&(size>1)) { + D=(float **)space((size+1)*sizeof(float *)); + for(i=0; i<=size; i++) + D[i] = (float *)space((size+1)*sizeof(float)); + D[0][0] = (float)size; + D[1][1] = 0.0; + for(i=2; i<= size; i++) { + D[i][i] = 0.0; + for(j=1; j1) { + file_name = (char *) space(sizeof(char)*strlen(line)); + sscanf(line,"*%s",file_name); + } else { + file_name = (char *) space(10); + sprintf(file_name,"%d",N_of_infiles); + } + read_taxa_list(); + free(line); + continue; + } + + len = strlen(line); + if(string_consists_of(line,mask)){ + if(mask[0]=='%') { + for(i=0;i false */ + return 1; /* loop left after last char -> true */ +} +/* -------------------------------------------------------------------------- */ + +PUBLIC void free_distance_matrix(float **x) +{ + int i,n; + n=(int) x[0][0]; + for(i=0;i<=n;i++) free(x[i]); + free(x); + x=NULL; +} + +/* -------------------------------------------------------------------------- */ + +PUBLIC void printf_distance_matrix(float **x) +{ + int i,j,n; + n=(int) x[0][0]; + printf("> X %d\n",n); + if(n>1){ + for(i=2;i<=n;i++) { + for(j=1;j0){ + printf("* List of Taxa: %s\n", file_name); + for(i=0;i0) i1 = decode(T1[i-1]); else i1 = 0; + if(j>0) j1 = decode(T2[j-1]); else j1 = 0; + if(StrEdit_CostMatrix==NULL) { + if(i&&j) return (float)(i1!=j1); + else return (float) StrEdit_GapCost; + } + else return (float) StrEdit_CostMatrix[i1][j1]; +} + +/* -------------------------------------------------------------------------- */ + +PRIVATE int decode(char id) +{ + int n,alen; + + if (!StrEdit_ValidAlphabet) return (int)id; + alen = strlen(StrEdit_ValidAlphabet); + if(!alen) return (int)id; + + for(n=0;n set to ~gap~\n"); + return 0; +} + +/* -------------------------------------------------------------------------- */ + +PUBLIC void Set_StrEdit_CostMatrix(char type) +{ + int i,j; + if(StrEdit_ValidAlphabet) { + free(StrEdit_ValidAlphabet); + StrEdit_ValidAlphabet = NULL; + } + if(StrEdit_CostMatrix) { + free(StrEdit_CostMatrix); + StrEdit_CostMatrix = NULL; + } + switch(type){ + case 'D' : + StrEdit_ValidAlphabet = (char*) space((20+2)*sizeof(char)); + strcpy(StrEdit_ValidAlphabet,StrEdit_DayhoffA); + StrEdit_CostMatrix = (float**) space((20+1)*sizeof(float*)); + for(i=0;i<=20;i++) + StrEdit_CostMatrix[i] = (float*)space((20+1)*sizeof(float)); + for(i=1;i<=20;i++) { + for(j=1;j<=20;j++) { + StrEdit_CostMatrix[i][j] = + MAX(StrEdit_DayhoffM[i][i],StrEdit_DayhoffM[j][j])- + StrEdit_DayhoffM[i][j]; + } + StrEdit_CostMatrix[i][0] = StrEdit_DayhoffM[i][i]; + StrEdit_CostMatrix[0][i] = StrEdit_DayhoffM[i][i]; + } + StrEdit_CostMatrix[0][0] = StrEdit_DayhoffM[0][0]; + break; + case 'A' : + StrEdit_ValidAlphabet = (char*) space((20+2)*sizeof(char)); + strcpy(StrEdit_ValidAlphabet,StrEdit_GLHA); + StrEdit_CostMatrix = (float**) space((20+1)*sizeof(float*)); + for(i=0;i<=20;i++) + StrEdit_CostMatrix[i] = (float*)space((20+1)*sizeof(float)); + for(i=1;i<=20;i++) { + for(j=1;j<=20;j++) + StrEdit_CostMatrix[i][j] = StrEdit_GLHM[i][j]; + StrEdit_CostMatrix[i][0] = StrEdit_CostMatrix[0][i] = + StrEdit_GapCost; + } + StrEdit_CostMatrix[0][0] = StrEdit_GLHM[0][0]; + break; + case 'B' : + StrEdit_ValidAlphabet = space((4+2)*sizeof(char)); + strcpy(StrEdit_ValidAlphabet,StrEdit_BinCodeA); + StrEdit_CostMatrix = (float**) space((4+1)*sizeof(float*)); + for(i=0;i<=4;i++) + StrEdit_CostMatrix[i] = (float*)space((4+1)*sizeof(float)); + for(i=0;i<=4;i++) + for(j=0;j<=4;j++) + StrEdit_CostMatrix[i][j] = StrEdit_BinCodeM[i][j]; + break; + case 'H' : + StrEdit_ValidAlphabet = space((4+2)*sizeof(char)); + strcpy(StrEdit_ValidAlphabet,StrEdit_HogewegA); + StrEdit_CostMatrix = (float**) space((4+1)*sizeof(float*)); + for(i=0;i<=4;i++) + StrEdit_CostMatrix[i] = (float*)space((4+1)*sizeof(float)); + for(i=0;i<=4;i++) + for(j=0;j<=4;j++) + StrEdit_CostMatrix[i][j] = StrEdit_HogewegM[i][j]; + StrEdit_GotohAlpha = 3.; + StrEdit_GotohBeta = 0.; + break; + default: + if(!StrEdit_GapCost) StrEdit_GapCost = 1.; /* This is the simple distance */ + } +} + +/* -------------------------------------------------------------------------- */ + +PUBLIC void Set_StrEdit_GapCosts(float per_digit, float per_gap) +{ + if(per_gap==0.) per_gap = per_digit; + if(per_digit<0) nrerror("Gap Costs invalid."); + if(per_digit>per_gap) nrerror("Gap Costs invalid."); + + StrEdit_GapCost = per_digit; + StrEdit_GotohAlpha = per_digit; /* Gotoh gap function g(k) = a + b(k-1) */ + StrEdit_GotohBeta = per_gap; + +} + +/* -------------------------------------------------------------------------- */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/distance_matrix.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/distance_matrix.h new file mode 100755 index 00000000..896598c7 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/distance_matrix.h @@ -0,0 +1,14 @@ +extern float **read_distance_matrix(char type[]); +extern char **read_sequence_list(int *n_of_seqs,char *mask); +extern float **Hamming_Distance_Matrix(char **seqs, int n_of_seqs); +extern float **StrEdit_SimpleDistMatrix(char **seqs, int n_of_seqs); +extern float **StrEdit_GotohDistMatrix(char **seqs, int n_of_seqs); +extern char *get_taxon_label(int whoami); +extern void free_distance_matrix(float **x); +extern void printf_distance_matrix(float **x); +extern void printf_taxa_list(void); +extern float StrEdit_SimpleDist(char *str1, char *str2); +extern float StrEdit_GotohDist(char *str1, char *str2); +extern void Set_StrEdit_CostMatrix(char type); +extern void Set_StrEdit_GapCosts(float per_digit, float per_gap); + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/split.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/split.c new file mode 100755 index 00000000..7d2d77de --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/split.c @@ -0,0 +1,332 @@ +/* Last changed Time-stamp: <95/07/12 19:49:53 ivo>*/ +/* + Split Decomposition of Distance Matrices + as described by H.J.Bandelt and A.W.M.Dress + Adv Math, 92 (1992) p47 + c Peter Stadler and Ivo L. Hofacker +*/ +#include +#include +#include +#include "utils.h" + +#define PUBLIC +#define PRIVATE static +#define DEBUG 0 +#define SHORT_OUTPUT 1 + +#define DINFTY 1.e32 +#define ZERO 1.e-10 + + +typedef struct { + short *splitlist[2]; + int splitsize; + double isolation_index; } Split; + +PUBLIC Split *split_decomposition(float **dist); +PUBLIC void free_Split(Split *x); +PUBLIC void print_Split(Split *x); +PUBLIC void sort_Split(Split *x); + +PUBLIC Split *split_decomposition(float **dist) +{ + + int elm, n_of_splits; + short *full_slots; + int i,j,sp,new_sp,spp; + int i2,j1,j2,maxlen; + int x,y,z; + double alpha,beta,tmp; + double test1,test2; + Split *SD, *S; + int number_of_points; + + number_of_points = (int) dist[0][0]; + + /* Initialize */ + elm = 2; + n_of_splits = 1; + maxlen = (number_of_points+1)*(number_of_points+1); + full_slots = (short *) space(2*(maxlen+1)*sizeof(short)); + full_slots[1]=1; + + SD = space((maxlen+1)*sizeof(Split)); + + SD[0].splitlist[0] = NULL; + SD[0].splitlist[1] = NULL; + SD[0].splitsize = 1; + SD[0].isolation_index = 0.0; + /**/ + SD[1].splitlist[0] = (short *) space((number_of_points+1)*sizeof(short)); + SD[1].splitlist[0][0] = number_of_points; + SD[1].splitlist[0][1] = 1; + SD[1].splitlist[1] = (short *) space((number_of_points+1)*sizeof(short)); + SD[1].splitlist[1][1] = 2; + SD[1].splitsize = 1; + SD[1].isolation_index = dist[1][2]; + + + /* Iteration */ + + for( elm=3; elm <= number_of_points; elm++){ + + for (sp=1, spp=n_of_splits;sp<=n_of_splits; sp++){ + + SD[sp].splitlist[0][0] = elm; + + /* 1. Split = {old_A | old_B+{elm}} */ + + alpha = 2.0*SD[sp].isolation_index; + for(i2=1; i2<=(elm - SD[sp].splitsize); i2++){ + if(i2==(elm-SD[sp].splitsize)) { + x = elm; + } + else{ + x= SD[sp].splitlist[1][i2]; + } + for(j1=1; j1 <= SD[sp].splitsize; j1++){ + y= SD[sp].splitlist[0][j1]; + for(j2=1; j2 <= (SD[sp].splitsize); j2++){ + z= SD[sp].splitlist[0][j2]; + + /* calculate the value beta = beta(elm,x; y,z) */ + + beta = dist[elm][y] + dist[x][z]; + tmp = dist[elm][z] + dist[x][y]; + if(tmp>beta) beta=tmp; + tmp = dist[elm][x] + dist[y][z]; + if(tmp>beta) beta=tmp; + beta -= ( dist[elm][x] + dist[y][z] ); + + if(beta ZERO){ + /* add {old_A | old_B + {elm}} to the split-list */ + spp++; + full_slots[spp] =1; + SD[spp].splitsize = SD[sp].splitsize; + SD[spp].isolation_index = alpha; + SD[spp].splitlist[0] = (short *) space((number_of_points+1)*sizeof(short)); + SD[spp].splitlist[0][0] = elm; + SD[spp].splitlist[1] = (short *) space((number_of_points+1)*sizeof(short)); + for(i=1; i<=SD[spp].splitsize; i++) + SD[spp].splitlist[0][i] = SD[sp].splitlist[0][i]; + for(i=1; i<=(elm-1-SD[spp].splitsize); i++) + SD[spp].splitlist[1][i] = SD[sp].splitlist[1][i]; + SD[spp].splitlist[1][elm-SD[spp].splitsize] = elm; + } + + /* 2. Split = {old_A+{elm} | old_B} */ + + alpha = 2.0*SD[sp].isolation_index; + for(i2=1; i2<= (SD[sp].splitsize+1); i2++){ + if(i2==(SD[sp].splitsize+1)){ + x= elm; + } + else + { + x= SD[sp].splitlist[0][i2]; + } + for(j1=1; j1 <= (elm-1-SD[sp].splitsize); j1++){ + y= SD[sp].splitlist[1][j1]; + for(j2=1; j2 <= (elm-1-SD[sp].splitsize); j2++){ + z= SD[sp].splitlist[1][j2]; + + /* calculate the value beta = beta(elm,x; y,z) */ + + beta = dist[elm][y] + dist[x][z]; + tmp = dist[elm][z] + dist[x][y]; + if(tmp>beta) beta=tmp; + tmp = dist[elm][x] + dist[y][z]; + if(tmp>beta) beta=tmp; + beta -= ( dist[elm][x] + dist[y][z] ); + + if(beta ZERO){ + /* replace {old_A | old_B} by {old_A+{elm} | old_B} in the splitlist */ + SD[sp].splitsize++; + SD[sp].splitlist[0][SD[sp].splitsize] = elm; + SD[sp].isolation_index = alpha; + } + else{ + /* remove {old_A | old_B} from the split list */ + full_slots[sp] = 0; + free(SD[sp].splitlist[0]); + SD[sp].splitlist[0] = NULL; + free(SD[sp].splitlist[1]); + SD[sp].splitlist[1] = NULL; + SD[sp].splitsize = 0; + SD[sp].isolation_index = 0.0; + } + } + + /* 3. Split = { {elm} | {1,...,elm-1} } */ + + alpha=DINFTY; + for(i=1;i<=elm-1;i++){ + for(j=1; j<=elm-1;j++){ + tmp = dist[elm][i]+dist[elm][j] - dist[i][j]; + if( tmp < alpha) alpha = tmp; + } + } + alpha/=2.; + if (alpha > ZERO){ + spp++; + full_slots[spp] = 1; + SD[spp].splitsize = 1; + SD[spp].isolation_index = alpha; + SD[spp].splitlist[0] = (short *) space((number_of_points+1)*sizeof(short)); + SD[spp].splitlist[0][0] = elm; + SD[spp].splitlist[1] = (short *) space((number_of_points+1)*sizeof(short)); + SD[spp].splitlist[0][1] = elm; + for (i=1; i<= elm-1; i++) + SD[spp].splitlist[1][i] = i; + } + /* note that spp now points to the last entry in the splitlist !!! */ + + /* garbage collection .... unfortunately a bit boring */ + + for ( sp=1, new_sp=0; sp<= spp; sp++ ){ + if (full_slots[sp]){ + new_sp++; + if(sp != new_sp){ + /* copy all the junk from sp to new_sp */ + full_slots[new_sp]=1; full_slots[sp]=0; + SD[new_sp].splitsize = SD[sp].splitsize; + SD[new_sp].isolation_index = SD[sp].isolation_index; + if(SD[new_sp].splitlist[0]==NULL) + SD[new_sp].splitlist[0] = (short *) space((number_of_points+1)*sizeof(short)); + if(SD[new_sp].splitlist[1]==NULL) + SD[new_sp].splitlist[1] = (short *) space((number_of_points+1)*sizeof(short)); + for(i=0;i<=elm;i++){ + SD[new_sp].splitlist[0][i] = SD[sp].splitlist[0][i]; + SD[new_sp].splitlist[1][i] = SD[sp].splitlist[1][i]; + } + free(SD[sp].splitlist[0]); + SD[sp].splitlist[0] = NULL; + free(SD[sp].splitlist[1]); + SD[sp].splitlist[1] = NULL; + SD[sp].splitsize = 0; + SD[sp].isolation_index = 0.0; + } + } + } + n_of_splits = new_sp; + SD[0].splitsize = n_of_splits; +#if DEBUG + for(test1=0, i=2; i<=elm; i++) for( j=1; j %d Split Decomposition",x[0].splitsize); + for (k=1; k<=x[0].splitsize; k++) { + if( (x[k].splitlist[0])&&(x[k].splitlist[1]) ) { + printf("\n%3d %8.4f : {",k,x[k].isolation_index); + for(j=1;j<=x[k].splitsize;j++) + printf(" %3d",x[k].splitlist[0][j]); + printf(" |"); +#if SHORT_OUTPUT + printf(" ..."); +#else + for(j=1;j<=(x[k].splitlist[0][0]-x[k].splitsize);j++) + printf(" %3d",x[k].splitlist[1][j]); + printf(" } "); +#endif + } + } + printf("\n %8.4f : { [Split prime fraction] }\n", x[0].isolation_index); +} + + +/* -------------------------------------------------------------------------- */ + +int CompareSplit(const void *v1 , const void *v2) +{ + Split *S1, *S2; + + S1 = (Split *) v1; S2 = (Split *) v2; + if(S1->isolation_index < S2->isolation_index) return +1; + if(S2->isolation_index < S1->isolation_index) return -1; + return 0; +} + +/* -------------------------------------------------------------------------- */ + +PUBLIC void sort_Split(Split *x) +{ + int i,j; + int t1; + + qsort((void *) &(x[1]), x[0].splitsize ,sizeof(Split),CompareSplit ); + + for(i=1; i<=x[0].splitsize; i++) { + if(x[i].splitsize > x[i].splitlist[0][0]-x[i].splitsize) { + for(j=1; j<=x[i].splitsize; j++) { + t1 = x[i].splitlist[0][j]; + x[i].splitlist[0][j] = x[i].splitlist[1][j]; + x[i].splitlist[1][j] = t1; + } + x[i].splitsize = x[i].splitlist[0][0]-x[i].splitsize; + } + } +} + + +/* -------------------------------------------------------------------------- */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/split.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/split.h new file mode 100755 index 00000000..caa7079e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/split.h @@ -0,0 +1,14 @@ +typedef struct { + int *split_list[2]; + int split_size; + double isolation_index; } Split; + +extern Split *split_decomposition(float **dist); +extern void free_Split(Split *x); +extern void sort_Split(Split *x); +extern void print_Split(Split *x); + + +/* Auxiliary information contained in datatype 'Split': + Split[0].splitsize .... contains the total number of splits. +*/ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/statgeom.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/statgeom.c new file mode 100755 index 00000000..4bd03a5c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/statgeom.c @@ -0,0 +1,513 @@ +/* Quadruple Statistics on an arbitrary alphabet + + Vienna RNA Package --- Peter F Stadler 1993 + +*/ + +#include +#include +#include +#include "utils.h" +#include "PS3D.h" +#include "distance_matrix.h" + +#define PUBLIC +#define PRIVATE static + +#define MIN2(A, B) ((A) < (B) ? (A) : (B)) +#define MIN4(A, B, C, D) MIN2( (MIN2((A),(B))), (MIN2((C),(D))) ) +#define MAX2(A, B) ((A) > (B) ? (A) : (B)) +#define MAX4(A, B, C, D) MAX2( (MAX2((A),(B))), (MAX2((C),(D))) ) + +PRIVATE int IBox[16]; + + +PUBLIC float *statgeom(char **seqs, int n_of_seqs); +PUBLIC float *statgeom4(char **ss[4], int nn[4]); +PUBLIC void printf_stg(float *B); + +PRIVATE void SingleBox(char *x1, char *x2, char *x3, char *x4); +PRIVATE void SortSingleBox(void); + +/* ----------------------------------------------------------------------- */ + +PUBLIC float *statgeom(char **seqs, int n_of_seqs) +{ + int i,j,k,l; + int i1; + + float *B; + float temp; + + if(n_of_seqs < 4) { + fprintf(stderr,"Less than 4 sequences for statistical geometry.\n"); + return NULL; + } + + B = (float *) space(16*sizeof(float)); + + for(i=3; i Statistical Geometry.\n"); + printf("> %d (sequence length)\n", (int) B[0]); + printf("> AAAA\n"); + printf(" %7.5f\n", B[1]); + printf("> BAAA ABAA AABA AAAB\n"); + printf(" %7.5f %7.5f %7.5f %7.5f\n", B[2],B[3],B[4],B[5]); + printf("> AABB ABAB ABBA\n"); + printf(" %7.5f %7.5f %7.5f\n", B[6],B[7],B[8]); + printf("> AABC ABAC ABCA BAAC BACA BCAA\n"); + printf(" %7.5f %7.5f %7.5f %7.5f %7.5f %7.5f\n" + ,B[9],B[10],B[11],B[12],B[13],B[14]); + printf("> ABCD\n"); + printf(" %7.5f\n",B[15]); +} + +/* ------------------------------------------------------------------------- */ + + +PUBLIC void SimplifiedBox(float *B, char *filename) +{ + char *tmp, temp[50]; + float X,Y,Z; + float T,P; + float t1, t2, t3, t4; + float p1, p2, p3, p4; + float x1, x2, y1, y2,z1,z2; + FILE *fp; + float view[3] = {0.3, 1.5, 0.1}; + float axis[3] = {1.0, 0.0, 0.0}; + + t1 = B[9]+B[10]+B[11]+B[15]; + t2 = B[9]+B[12]+B[13]+B[15]; + t3 = B[10]+B[12]+B[14]+B[15]; + t4 = B[11]+B[13]+B[14]+B[15]; + + p1 = B[2]; p2 = B[3]; p3 = B[4]; p4 = B[5]; + + x1 = B[6] + B[14]; + x2 = B[6] + B[9]; + y1 = B[7] + B[13]; + y2 = B[7] + B[10]; + z1 = B[8] + B[12]; + z2 = B[8] + B[11]; + + X = (x1+x2)/2.; Y = (y1+y2)/2.; Z = (z1+z2)/2; + T = (t1+t2+t3+t4)/4.; + P = (p1+p2+p3+p4)/4.; + + printf("> X = %7.5f \n",X); + printf("> Y = %7.5f \n",Y); + printf("> Z = %7.5f \n",Z); + printf("> T = %7.5f \n",T); + printf("> P = %7.5f \n",P); + + tmp = get_taxon_label(-1); /* retrieve the dataset identifier */ + + temp[0]='\0'; + if(tmp) { strcat(temp,tmp);strcat(temp,"_"); free(tmp); } + strcat(temp,filename); + + fp = fopen(temp,"w"); + if (fp!=NULL) { + ps3d_Preambel(fp, view, axis, "N"); + PS_DrawSimplifiedBox(X,Y,Z,T,P, fp); + fclose(fp); + } else fprintf(stderr,"couldn't open %s -- not drawing box\n", temp); +} + + + +/* ------------------------------------------------------------------------- */ + +PRIVATE void SingleBox(char *x1, char *x2, char *x3, char *x4) +{ + int len,i1,j1,k1,i,M,m; + int d[4]; + char t[4]; + + len=strlen(x1); + if(strlen(x2)!=len) nrerror("Sequences of unequal length in 'SingleBox'"); + if(strlen(x3)!=len) nrerror("Sequences of unequal length in 'SingleBox'"); + if(strlen(x4)!=len) nrerror("Sequences of unequal length in 'SingleBox'"); + + IBox[0] = len; + for(i=1; i<=15; i++) IBox[i] = 0; + + for(i1=0;i1= IBox[14] ) { /* 1,2 > 3,4 */ + IBB[9] = IBox[9]; + IBB[14] = IBox[14]; + if( IBox[7] >= IBox[8] ) { /* 13|24 */ + IBB[7] = IBox[7]; + IBB[8] = IBox[8]; + if( IBox[10] >= IBox[13] ) { /* 1>2>3>4 */ + IBB[10] = IBox[10]; + IBB[13] = IBox[13]; + IBB[11] = IBox[11]; + IBB[12] = IBox[12]; + s[0]=0; s[1]=1; s[2]=2; s[3]=3; /* 1 2 3 4 */ + } + else { /* 2>1>4>3 */ + IBB[10] = IBox[13]; + IBB[13] = IBox[10]; + IBB[11] = IBox[12]; + IBB[12] = IBox[11]; + s[0]=1; s[1]=0; s[2]=3; s[3]=2; /* 2 1 4 3 */ + } + } + else { /* 14|23 */ + IBB[7] = IBox[8]; + IBB[8] = IBox[7]; + if( IBox[11] >= IBox[12]) { /* 1>2>4>3 */ + IBB[10] = IBox[11]; + IBB[13] = IBox[12]; + IBB[11] = IBox[10]; + IBB[12] = IBox[13]; + s[0]=0; s[1]=1; s[2]=3; s[3]=2; /* 1 2 4 3 */ + } + else { /* 2>1>3>4 */ + IBB[10] = IBox[12]; + IBB[13] = IBox[11]; + IBB[11] = IBox[13]; + IBB[12] = IBox[10]; + s[0]=1; s[1]=0; s[2]=2; s[3]=3; /* 2 1 3 4 */ + } + } + } + else { /* 3,4 > 1,2 */ + IBB[9] = IBox[14]; + IBB[14]= IBox[9]; + if( IBox[7] >= IBox[8] ) { /* 31|42 */ + IBB[7] = IBox[7]; + IBB[8] = IBox[8]; + if(IBox[10] >= IBox[13]) { /* 3>4>1>2 */ + IBB[10] = IBox[10]; + IBB[13] = IBox[13]; + IBB[11] = IBox[12]; + IBB[12] = IBox[11]; + s[0]=2; s[1]=3; s[2]=0; s[3]=1; /* 3 4 1 2 */ + } + else { /* */ + IBB[10] = IBox[13]; + IBB[13] = IBox[10]; + IBB[11] = IBox[11]; + IBB[12] = IBox[12]; + s[0]=3; s[1]=2; s[2]=1; s[3]=0; /* 4 3 2 1 */ + } + } + else { /* 32|14 */ + IBB[7] = IBox[8]; + IBB[8] = IBox[7]; + if( IBox[11] >= IBox[12]) { /* 3>4>2>1 */ + IBB[10] = IBox[12]; + IBB[13] = IBox[11]; + IBB[11] = IBox[10]; + IBB[12] = IBox[13]; + s[0]=2; s[1]=3; s[2]=1; s[3]=0; /* 3 4 2 1 */ + } + else { /* 2>1>3>4 */ + IBB[10] = IBox[10]; + IBB[13] = IBox[13]; + IBB[11] = IBox[12]; + IBB[12] = IBox[11]; + s[0]=2; s[1]=3; s[2]=0; s[3]=1; /* 3 4 1 2 */ + } + } + } + } + else if (M == IBox[7] ) { /* 13|24 */ + IBB[6] = IBox[7]; + if( IBox[10] >= IBox[13] ) { /* 1,3 > 2,4 */ + IBB[9] = IBox[10]; + IBB[14] = IBox[13]; + if( IBox[6] >= IBox[8]) { /* 12|34 */ + IBB[7] = IBox[6]; + IBB[8] = IBox[8]; + if( IBox[9] >= IBox[14] ) { /* 1,2>3,4 */ + IBB[10] = IBox[9]; + IBB[13] = IBox[14]; + IBB[11] = IBox[11]; + IBB[12] = IBox[12]; + s[0]=0; s[1]=2; s[2]=1; s[3]=3; /* 1 3 2 4 */ + } + else { + IBB[10] = IBox[14]; + IBB[13] = IBox[9]; + IBB[11] = IBox[12]; + IBB[12] = IBox[11]; + s[0]=2; s[1]=0; s[2]=3; s[3]=1; /* 3 1 4 2 */ + } + } + else { /* 14|23 */ + IBB[7] = IBox[8]; + IBB[8] = IBox[6]; + if( IBox[11] >= IBox[12] ){ /* 1,4 > 2,3 */ + IBB[10] = IBox[11]; + IBB[13] = IBox[12]; + IBB[11] = IBox[9]; + IBB[12] = IBox[14]; + s[0]=0; s[1]=2; s[2]=3; s[3]=1; /* 1 3 4 2 */ + } + else { + IBB[10] = IBox[12]; + IBB[13] = IBox[11]; + IBB[11] = IBox[14]; + IBB[12] = IBox[9]; + s[0]=2; s[1]=0; s[2]=1; s[3]=3; /* 3 1 2 4 */ + } + } + } + else { /* 2,4 > 1,3 */ + IBB[9] = IBox[13]; + IBB[14] = IBox[10]; + if( IBox[6] >= IBox[8]) { /* 21|43 */ + IBB[7] = IBox[6]; + IBB[8] = IBox[8]; + if( IBox[9] >= IBox[14] ) { /* 2,1>4,3 */ + IBB[10] = IBox[9]; + IBB[13] = IBox[14]; + IBB[11] = IBox[12]; + IBB[12] = IBox[11]; + s[0]=1; s[1]=3; s[2]=0; s[3]=2; /* 2 4 1 3 */ + } + else { + IBB[10] = IBox[14]; + IBB[13] = IBox[9]; + IBB[11] = IBox[11]; + IBB[12] = IBox[12]; + s[0]=3; s[1]=1; s[2]=2; s[3]=0; /* 4 2 3 1 */ + } + } + else { /* 14|23 */ + IBB[7] = IBox[8]; + IBB[8] = IBox[6]; + if( IBox[11] >= IBox[12] ){ /* 1,4 > 2,3 */ + IBB[10] = IBox[11]; + IBB[13] = IBox[12]; + IBB[11] = IBox[14]; + IBB[12] = IBox[9]; + s[0]=3; s[1]=1; s[2]=0; s[3]=2; /* 4 2 1 3 */ + } + else { + IBB[10] = IBox[12]; + IBB[13] = IBox[11]; + IBB[11] = IBox[9]; + IBB[12] = IBox[14]; + s[0]=1; s[1]=3; s[2]=2; s[3]=0; /* 2 4 3 1 */ + } + } + } + } + else { /* 14 | 23 */ + IBB[6] = IBox[8]; + if( IBox[11] >= IBox[12] ) { /* 1,4 > 2,3 */ + IBB[9] = IBox[11]; + IBB[14] = IBox[12]; + if(IBox[6] >= IBox[7]) { /* 12|34 */ + IBB[7] = IBox[6]; + IBB[8] = IBox[7]; + if(IBox[9] >= IBox[14]) { /* 1,2>3,4 */ + IBB[10] = IBox[9]; + IBB[13] = IBox[14]; + IBB[11] = IBox[10]; + IBB[12] = IBox[13]; + s[0]=0; s[1]=3; s[2]=1; s[3]=2; /* 1 4 2 3 */ + } + else { /* 4,3>2,1 */ + IBB[10] = IBox[14]; + IBB[13] = IBox[9]; + IBB[11] = IBox[13]; + IBB[12] = IBox[10]; + s[0]=3; s[1]=0; s[2]=2; s[3]=1; /* 4 1 3 2 */ + } + } + else { /* 13|24 */ + IBB[7] = IBox[7]; + IBB[8] = IBox[6]; + if( IBox[10] >= IBox[13]) { /* 1,3 > 2,4 */ + IBB[10] = IBox[10]; + IBB[13] = IBox[13]; + IBB[11] = IBox[9]; + IBB[12] = IBox[14]; + s[0]=0; s[1]=3; s[2]=2; s[3]=1; /* 1 4 3 2 */ + } + else { + IBB[10] = IBox[13]; + IBB[13] = IBox[10]; + IBB[11] = IBox[14]; + IBB[12] = IBox[9]; + s[0]=3; s[1]=0; s[2]=1; s[3]=2; /* 4 1 2 3 */ + } + } + } + else { /* 2,3 > 1,4 */ + IBB[9] = IBox[12]; + IBB[14] = IBox[11]; + if(IBox[6] >= IBox[7]) { /* 34|12 */ + IBB[7] = IBox[6]; + IBB[8] = IBox[7]; + if(IBox[9] >= IBox[14]) { /* 2,1>4,3 */ + IBB[10] = IBox[9]; + IBB[13] = IBox[14]; + IBB[11] = IBox[13]; + IBB[12] = IBox[10]; + s[0]=1; s[1]=2; s[2]=0; s[3]=3; /* 2 3 1 4 */ + } + else { /* 4,3>2,1 */ + IBB[10] = IBox[14]; + IBB[13] = IBox[9]; + IBB[11] = IBox[10]; + IBB[12] = IBox[13]; + s[0]=2; s[1]=1; s[2]=3; s[3]=0; /* 3 2 4 1 */ + } + } + else { /* 31|42 */ + IBB[7] = IBox[7]; + IBB[8] = IBox[6]; + if( IBox[10] >= IBox[13]) { /* 1,3 > 2,4 */ + IBB[10] = IBox[10]; + IBB[13] = IBox[13]; + IBB[11] = IBox[14]; + IBB[12] = IBox[9]; + s[0]=2; s[1]=1; s[2]=0; s[3]=4; /* 3 2 1 4 */ + } + else { + IBB[10] = IBox[13]; + IBB[13] = IBox[10]; + IBB[11] = IBox[9]; + IBB[12] = IBox[14]; + s[0]=1; s[1]=2; s[2]=3; s[3]=0; /* 2 3 4 1 */ + } + } + } + } + /* HEUREKA */ + IBB[0] = IBox[0]; + IBB[1] = IBox[1]; + IBB[2] = IBox[2+s[0]]; + IBB[3] = IBox[2+s[1]]; + IBB[4] = IBox[2+s[2]]; + IBB[5] = IBox[2+s[3]]; + /* + IBB[6...14] see above :-) + */ + IBB[15] = IBox[15]; + + for(i=0;i<=15;i++) IBox[i] = IBB[i]; +} + +/* ----------------------------------------------------------------------- */ + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/statgeom.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/statgeom.h new file mode 100755 index 00000000..75119173 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/statgeom.h @@ -0,0 +1,5 @@ +extern float *statgeom(char **seqs, int n_of_seqs); +extern float *statgeom4(char **ss[4], int nn[4]); +extern void printf_stg(float *B); +extern void SimplifiedBox(float *B, char *filename); + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/treeplot.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/treeplot.c new file mode 100755 index 00000000..7a53260d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/treeplot.c @@ -0,0 +1,359 @@ +#include +#include +#include +#include "distance_matrix.h" +#include "utils.h" + +#define PUBLIC +#define PRIVATE static +#define MAX(A, B) ((A) > (B) ? (A) : (B)) +#define MIN(A, B) ((A) < (B) ? (A) : (B)) + +#define MAXTAXA_FOR_LABELS 200 + +typedef struct{ + int set1; + int set2; + float distance; + float distance2; + } Union; + +typedef struct _Node_ { + float height; + float brr; + float brl; + int whoami; + int size; + struct _Node_ *father; + struct _Node_ *left; + struct _Node_ *right; + } Node; + +PUBLIC void PSplot_phylogeny(Union *cluster, char *filename, char *type); + +PRIVATE Node *W2Phylo(Union *cluster); +PRIVATE Node *Nj2Phylo(Union *cluster); +PRIVATE void free_phylo_tree(Node *root); +PRIVATE void fill_height_into_tree(Node *root); +PRIVATE void fill_br_from_height(Node *root); +PRIVATE void plot_branch(Node *root, FILE *fp); +PRIVATE void format_number(float x); + +PRIVATE char str[10]; +PRIVATE float threshold; +PRIVATE int print_labels=1; + +/* --------------------------------------------------------------------------*/ + +PUBLIC void PSplot_phylogeny(Union *cluster, char *filename, char *type) +{ + int n; + char outfile[50]; + char *tmp, *tfont; + Node *root; + Node *tempnode; + FILE *fp; + float xsize, ysize, tfontsize, lfontsize, lwidth; + + n = cluster[0].set1; + switch(type[0]) { + case 'W' : + root = W2Phylo(cluster); + break; + case 'N' : + root = Nj2Phylo(cluster); + break; + default : + return; + } + + outfile[0] = '\0'; + tmp = get_taxon_label(-1); /* retrieve data set identifier */ + if(tmp) {strcat(outfile,tmp); strcat(outfile,"_"); free(tmp);} + strcat(outfile,filename); + + fp = fopen(outfile,"w"); + if (fp==NULL) { + fprintf(stderr,"couldn't open %s -- not doing treeplot\n", outfile); + return; + } + xsize = root->size; + tempnode = root; + while(tempnode->right) + tempnode = tempnode->right; + ysize = tempnode->height; + threshold = ysize*0.06; + + lwidth = MIN(1.5, 8/sqrt((double)n)); + tfontsize = MIN(15,550./(10+n)); + lfontsize = 2./3.*tfontsize; + if (n>30) tfont = "Helvetica"; + else tfont = "Times-Roman"; + if(n > MAXTAXA_FOR_LABELS) print_labels=0; + else print_labels=1; + fprintf(fp,"%%!PS-Adobe-2.0 EPSF-1.2\n"); + fprintf(fp,"%%%%Title: TreePlot (%s)\n",type); + fprintf(fp,"%%%%Creator: AnalyseDists\n"); + fprintf(fp,"%%%%CreationDate: %s", time_stamp()); + /* BoundingBox is only approximate */ + fprintf(fp,"%%%%BoundingBox: 35 45 535 640\n"); + fprintf(fp,"%%%%Pages: 1\n"); + fprintf(fp,"%%%%EndComments: No comment!\n"); + fprintf(fp,"288.5 50 translate\n"); + fprintf(fp,"%3.1f setlinewidth\n" + "/cmtx matrix currentmatrix def\n", lwidth); + fprintf(fp,"500 %g div 360 %g div scale\n", xsize, ysize); + fprintf(fp,"/rotshow {gsave cmtx setmatrix\n"); + fprintf(fp," 90 rotate 5 %4.1f rmoveto show grestore} def\n", + -tfontsize/4); + fprintf(fp,"/cshow {gsave cmtx setmatrix\n" + " /Helvetica findfont %4.1f scalefont setfont\n" + " 90 rotate 0 %3.1f rmoveto\n" + " dup stringwidth pop 2 div neg 0 rmoveto show\n" + " grestore} def\n", lfontsize, lfontsize/5); + fprintf(fp,"/%s findfont %4.1f scalefont setfont\n", tfont, tfontsize); + + fprintf(fp,"0 0 moveto\n"); + plot_branch(root,fp); + + fprintf(fp,"cmtx setmatrix stroke\nshowpage\n"); + free_phylo_tree(root); + fclose(fp); + +} + +/* --------------------------------------------------------------------------*/ + +PRIVATE Node *W2Phylo(Union *cluster) +{ + int i,n; + float b; + Node **taxa; + Node *father; + + n=cluster[0].set1; + taxa = (Node **) space(sizeof(Node*)*(n+1)); + + b = sqrt(MAX(cluster[n-1].distance,0.)); + for(i=1;i<=n;i++){ + taxa[i] = (Node *) space(sizeof(Node)); + taxa[i]->whoami = i; + taxa[i]->size = 1; + taxa[i]->height = b; + } + + for(i=1;iwhoami = 0; + father->left = taxa[cluster[i].set1]; + father->right = taxa[cluster[i].set2]; + father->size = father->left->size+father->right->size; + b = sqrt(MAX(cluster[n-1].distance-cluster[i].distance,0.)); + father->height = b; + father->left->father = father; + father->right->father = father; + taxa[cluster[i].set1] = father; + } + free(taxa); + father->whoami = -1; + fill_br_from_height(father); + return father; +} + + +/* --------------------------------------------------------------------------*/ + +PRIVATE void fill_br_from_height(Node *root) +{ + root->brr = root->right->height - root->height; + root->brl = root->left->height - root->height; + if(!root->left->whoami) fill_br_from_height(root->left); + if(!root->right->whoami) fill_br_from_height(root->right); + return; +} + +/* -------------------------------------------------------------------------- */ +#define ORDER(X) \ +if ((X)->brl>(X)->brr) { \ + xnode=(X)->right; \ + (X)->right=(X)->left; \ + (X)->left=xnode; \ + br = (X)->brr; \ + (X)->brr=(X)->brl; \ + (X)->brl=br; \ +} + + + +PRIVATE Node *Nj2Phylo(Union *cluster) +{ + int i,n, br; + float h1,h2,maxdist,dist; + Node **taxa; + Node *father; + Node *topnode; /* of the longest path in the tree */ + Node *tempnode, *xnode; + Node *root; + + maxdist = 0.; + n=cluster[0].set1; + taxa = (Node **) space(sizeof(Node*)*(n+1)); + + for(i=1;i<=n;i++){ + taxa[i] = (Node *) space(sizeof(Node)); + taxa[i]->whoami = i; + taxa[i]->size = 1; + } + + for(i=1;iwhoami = 0; + h1 = cluster[i].distance +taxa[cluster[i].set1]->height; + h2 = cluster[i].distance2+taxa[cluster[i].set2]->height; + dist = h1 + h2; + if(dist > maxdist) { + maxdist = dist; + topnode = father; + } + if(h1<=h2) { + father->brr = cluster[i].distance2; + father->brl = cluster[i].distance; + father->left = taxa[cluster[i].set1]; + father->right = taxa[cluster[i].set2]; + } + else { + father->brr = cluster[i].distance; + father->brl = cluster[i].distance2; + father->left = taxa[cluster[i].set2]; + father->right = taxa[cluster[i].set1]; + } + father->height = MAX(h1,h2); + father->size = father->left->size + father->right->size; + father->left->father = father; + father->right->father = father; + taxa[cluster[i].set1] = father; + } + + /* new root is inserted in the middle of the longest path */ + dist = maxdist/2.; + tempnode = topnode; + while (tempnode->height > dist) + tempnode = tempnode->right; + + topnode = tempnode->father; + /* new root must go between topnode and tempnode */ + h1 = dist - tempnode->height; + h2 = topnode->height - dist ; + + root = (Node *) space(sizeof(Node)); + root->father = NULL; + root->whoami = -1; + root->right = tempnode; + root->left = topnode; + root->height = 0.0; + root->brr = h1; + root->brl = h2; + root->size = n; + + topnode->size = n - tempnode->size; + + tempnode = root; + while(topnode->father) { + topnode->right = topnode->father; + topnode->brr = topnode->father->brr; + topnode->father = tempnode; + tempnode = topnode; + topnode = topnode->right; + topnode->size = tempnode->size - tempnode->left->size; + ORDER(tempnode); + } + /* topnode is now old root, remove it */ + if (tempnode->right==topnode) { + tempnode->right = topnode->left; + tempnode->brr = topnode->brr + topnode->brl; + tempnode->right->father = tempnode; + } else { + tempnode->left = topnode->left; + tempnode->brl = topnode->brr + topnode->brl; + tempnode->left->father = tempnode; + } + free(topnode); + ORDER(root); + + fill_height_into_tree(root); + + return root; +} + +/* -------------------------------------------------------------------------- */ + +PRIVATE void fill_height_into_tree(Node *root) +{ + if(root->whoami>0) return; + root->left->height = root->height + root->brl; + root->right->height = root->height + root->brr; + fill_height_into_tree(root->left); + fill_height_into_tree(root->right); + return; +} + +/* -------------------------------------------------------------------------- */ + +PRIVATE void free_phylo_tree(Node *root) { + if(root->left) free_phylo_tree(root->left); + if(root->right) free_phylo_tree(root->right); + free(root); +} + + +/* -------------------------------------------------------------------------- */ + +PRIVATE void plot_branch(Node *root, FILE *fp) +{ + char *label; + + fprintf(fp,"currentpoint %g 0 rlineto 0 %g rlineto \n", + -(float)(root->left->size)/2., root->brr); + if((print_labels)&&(root->brr > threshold)) { + format_number(root->brr); + fprintf(fp,"currentpoint 0 %g rlineto \n", -root->brr/2.); + fprintf(fp,"(%s) cshow moveto\n", str); + } + if(root->right->whoami==0) plot_branch(root->right,fp); + else if(print_labels) { + label = get_taxon_label(root->right->whoami); + fprintf(fp, "(%s) rotshow\n", label); + free(label); + } + fprintf(fp,"moveto\n"); + fprintf(fp,"currentpoint %g 0 rlineto 0 %g rlineto \n", + +(float)(root->right->size)/2., root->brl); + if((print_labels)&&(root->brl > threshold)) { + format_number(root->brl); + fprintf(fp,"currentpoint 0 %g rlineto \n", -root->brl/2.); + fprintf(fp,"(%s) cshow moveto\n",str); + } + if(root->left->whoami==0) plot_branch(root->left,fp); + else if(print_labels) { + label = get_taxon_label(root->left->whoami); + fprintf(fp, "(%s) rotshow\n", label); + free(label); + } + fprintf(fp,"moveto\n"); +} + +/* -------------------------------------------------------------------------- */ + +PRIVATE void format_number(float x) +{ + if(x >= 1.e5) { sprintf(str, "%4.1g",x ); return;} + if(x >= 100) { sprintf(str, "%.0f" ,x ); return;} + if(x >= 10) { sprintf(str, "%.1f", x ); return;} + if(x >= 1) { sprintf(str, "%.2f", x ); return;} + if(x >= 0.1) { sprintf(str, "%.2f", x ); return;} + if(x >= 0.01) { sprintf(str, "%.3f", x ); return;} + sprintf(str, "%4.1g",x ); + return; +} + +/* -------------------------------------------------------------------------- */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/treeplot.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/treeplot.h new file mode 100755 index 00000000..7897809a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/treeplot.h @@ -0,0 +1 @@ +extern void PSplot_phylogeny(Union *cluster, char *filename, char *type); diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/utils.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/utils.h new file mode 100755 index 00000000..b0cbae0c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Cluster/utils.h @@ -0,0 +1,13 @@ +/* Header file for utils.c */ + +extern void *space(unsigned size); +extern void nrerror(char *message); +extern double urn(); +extern int int_urn(int from, int to); +extern void filecopy(FILE *from, FILE *to); +extern char *time_stamp(); +extern char *random_string(int l, char *symbols); +extern int hamming(char *s1, char *s2); +extern char *get_line(FILE *fp); +extern unsigned short xsubi[3]; + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/Makefile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/Makefile new file mode 100755 index 00000000..f7ad3d30 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/Makefile @@ -0,0 +1,378 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# H/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/ViennaRNA +pkglibdir = $(libdir)/ViennaRNA +pkgincludedir = $(includedir)/ViennaRNA +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +subdir = H +DIST_COMMON = $(pkginclude_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(pkgincludedir)" +pkgincludeHEADERS_INSTALL = $(INSTALL_HEADER) +HEADERS = $(pkginclude_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run tar +AUTOCONF = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoconf +AUTOHEADER = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoheader +AUTOMAKE = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +ISODATE = 2006-06-13 +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run makeinfo +MAKE_CLUSTER_FALSE = +MAKE_CLUSTER_TRUE = # +MAKE_FORESTER_FALSE = # +MAKE_FORESTER_TRUE = +MAKE_KINFOLD_FALSE = # +MAKE_KINFOLD_TRUE = +MAKE_PERL_EXT_FALSE = # +MAKE_PERL_EXT_TRUE = +OBJEXT = o +PACKAGE = ViennaRNA +PACKAGE_BUGREPORT = rna@tbi.univie.ac.at +PACKAGE_NAME = ViennaRNA +PACKAGE_STRING = ViennaRNA 1.6 +PACKAGE_TARNAME = ViennaRNA +PACKAGE_VERSION = 1.6 +PATH_SEPARATOR = : +PerlCmd = /usr/bin/perl +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.6 +ac_ct_CC = gcc +ac_ct_RANLIB = ranlib +ac_ct_STRIP = +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +datadir = ${prefix}/share +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = RNAforester Kinfold +sysconfdir = ${prefix}/etc +target_alias = +pkginclude_HEADERS = energy_par.h pair_mat.h RNAstruct.h dist_vars.h \ + fold.h part_func.h stringdist.h edit_cost.h fold_vars.h \ + profiledist.h treedist.h energy_const.h inverse.h PS_dot.h \ + utils.h params.h subopt.h cofold.h duplex.h alifold.h aln_util.h \ + part_func_co.h ProfileAln.h + +EXTRA_DIST = $(pkginclude_HEADERS) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu H/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu H/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +uninstall-info-am: +install-pkgincludeHEADERS: $(pkginclude_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(pkgincludedir)" || $(mkdir_p) "$(DESTDIR)$(pkgincludedir)" + @list='$(pkginclude_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(pkgincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgincludedir)/$$f'"; \ + $(pkgincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgincludedir)/$$f"; \ + done + +uninstall-pkgincludeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(pkginclude_HEADERS)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pkgincludedir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgincludedir)/$$f"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(pkgincludedir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-pkgincludeHEADERS + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-pkgincludeHEADERS + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + ctags distclean distclean-generic distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man \ + install-pkgincludeHEADERS install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am \ + uninstall-pkgincludeHEADERS + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/Makefile.am b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/Makefile.am new file mode 100755 index 00000000..3dcb96a1 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/Makefile.am @@ -0,0 +1,7 @@ +pkginclude_HEADERS = energy_par.h pair_mat.h RNAstruct.h dist_vars.h \ + fold.h part_func.h stringdist.h edit_cost.h fold_vars.h \ + profiledist.h treedist.h energy_const.h inverse.h PS_dot.h \ + utils.h params.h subopt.h cofold.h duplex.h alifold.h aln_util.h \ + part_func_co.h ProfileAln.h + +EXTRA_DIST = $(pkginclude_HEADERS) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/Makefile.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/Makefile.in new file mode 100755 index 00000000..1f0f2fea --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/Makefile.in @@ -0,0 +1,378 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = H +DIST_COMMON = $(pkginclude_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(pkgincludedir)" +pkgincludeHEADERS_INSTALL = $(INSTALL_HEADER) +HEADERS = $(pkginclude_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKE_CLUSTER_FALSE = @MAKE_CLUSTER_FALSE@ +MAKE_CLUSTER_TRUE = @MAKE_CLUSTER_TRUE@ +MAKE_FORESTER_FALSE = @MAKE_FORESTER_FALSE@ +MAKE_FORESTER_TRUE = @MAKE_FORESTER_TRUE@ +MAKE_KINFOLD_FALSE = @MAKE_KINFOLD_FALSE@ +MAKE_KINFOLD_TRUE = @MAKE_KINFOLD_TRUE@ +MAKE_PERL_EXT_FALSE = @MAKE_PERL_EXT_FALSE@ +MAKE_PERL_EXT_TRUE = @MAKE_PERL_EXT_TRUE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PerlCmd = @PerlCmd@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +pkginclude_HEADERS = energy_par.h pair_mat.h RNAstruct.h dist_vars.h \ + fold.h part_func.h stringdist.h edit_cost.h fold_vars.h \ + profiledist.h treedist.h energy_const.h inverse.h PS_dot.h \ + utils.h params.h subopt.h cofold.h duplex.h alifold.h aln_util.h \ + part_func_co.h ProfileAln.h + +EXTRA_DIST = $(pkginclude_HEADERS) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu H/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu H/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +uninstall-info-am: +install-pkgincludeHEADERS: $(pkginclude_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(pkgincludedir)" || $(mkdir_p) "$(DESTDIR)$(pkgincludedir)" + @list='$(pkginclude_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(pkgincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgincludedir)/$$f'"; \ + $(pkgincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgincludedir)/$$f"; \ + done + +uninstall-pkgincludeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(pkginclude_HEADERS)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pkgincludedir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgincludedir)/$$f"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(pkgincludedir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-pkgincludeHEADERS + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-pkgincludeHEADERS + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + ctags distclean distclean-generic distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man \ + install-pkgincludeHEADERS install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am tags uninstall uninstall-am uninstall-info-am \ + uninstall-pkgincludeHEADERS + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/PS_dot.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/PS_dot.h new file mode 100755 index 00000000..04bb4b89 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/PS_dot.h @@ -0,0 +1,32 @@ +/* routines from PS_dot.c */ +extern int PS_rna_plot(char *string, char *structure, char *file); +/* write PostScript drawing of structure to file */ +extern int PS_rna_plot_a(char *string, char *structure, char *file, char *pre, char *post); +/* write PostScript drawing of structure to file with annotation */ +extern int gmlRNA(char *string, char *structure, char *ssfile, char option); +/* structure drawing in gml */ +extern int ssv_rna_plot(char *string, char *structure, char *ssfile); +/*write coord file for SStructView */ +extern int svg_rna_plot(char *string, char *structure, char *ssfile); +/*write RNAplot in SVG */ +extern int xrna_plot(char *string, char *structure, char *ssfile); +/*write .ss file for further editing in XRNA */ +extern int PS_dot_plot(char *string, char *file); +/* produce a PostScript dot plot of the pair probability matix */ +extern int rna_plot_type; /* 0= simple coordinates, 1= naview */ + +typedef struct cpair { + int i,j,mfe; + float p, hue, sat; +} cpair; +extern int PS_color_dot_plot(char *string, cpair *pi, char *filename); + +typedef struct plist { + int i; + int j; + float p; +}plist; +extern int PS_dot_plot_list(char *seq, char *filename, struct plist *pl, + struct plist *mf, char *comment); +extern int PS_dot_plot_turn(char *seq, struct plist *pl, char *filename, + int winSize); diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/ProfileAln.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/ProfileAln.h new file mode 100755 index 00000000..4462e119 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/ProfileAln.h @@ -0,0 +1,10 @@ +#ifndef PROFILEALN_H +#define PROFILEALN_H + +extern float profile_aln(const float *T1, const char *seq1, + const float *T2, const char *seq2); + +extern int set_paln_params(double gap_open, double gap_ext, + double seqweight, int free_ends); + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/RNAstruct.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/RNAstruct.h new file mode 100755 index 00000000..eb6cf246 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/RNAstruct.h @@ -0,0 +1,37 @@ +#define STRUC 1000 + +extern char *b2HIT(const char *structure); /* Full -> HIT [incl. root] */ +extern char *b2C(const char *structure); /* Full -> Coarse [incl. root] */ +extern char *b2Shapiro(const char *structure); /* Full -> weighted Shapiro [i.r.] */ +extern char *add_root(const char *); /* {Tree} -> ({Tree}R) */ + +extern char *expand_Shapiro(const char *coarse); +/* add S for stacks to coarse struct */ +extern char *expand_Full(const char *structure); /* Full -> FFull */ +extern char *unexpand_Full(const char *ffull); /* FFull -> Full */ +extern char *unweight(const char *wcoarse); /* remove weights from coarse struct */ + +extern void unexpand_aligned_F(char *align[2]); + +extern void parse_structure(const char *structure); /* make structure statistics */ + +extern int loop_size[STRUC]; /* loop sizes of a structure */ +extern int helix_size[STRUC]; /* helix sizes of a structure */ +extern int loop_degree[STRUC]; /* loop degrees of a structure */ +extern int loops; /* n of loops and stacks */ +extern int unpaired, pairs; /* n of unpaired digits and pairs */ + +/* + Example: + .((..(((...)))..((..)))). is the bracket or full tree + becomes expanded: - expand_Full() - + ((U)(((U)(U)((((U)(U)(U)P)P)P)(U)(U)(((U)(U)P)P)P)P)(U)R) + HIT: - b2HIT() - + ((U1)((U2)((U3)P3)(U2)((U2)P2)P2)(U1)R) + Coarse: - b2C() - + ((H)((H)M)R) + becomes expanded: - expand_Shapiro() - + (((((H)S)((H)S)M)S)R) + weighted Shapiro: - b2Shapiro() - + ((((((H3)S3)((H2)S2)M4)S2)E2)R) +*/ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/alifold.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/alifold.h new file mode 100755 index 00000000..bec45ed5 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/alifold.h @@ -0,0 +1,14 @@ +extern float alifold(char **strings, char *structure); +extern void free_alifold_arrays(void); +extern void update_alifold_params(void); +extern double cv_fact /* =1 */; +extern double nc_fact /* =1 */; +typedef struct { + short i; /* i,j in [0, n-1] */ + short j; + float p; /* probability */ + float ent; /* pseudo entropy for p(i,j) = S_i + S_j - p_ij*ln(p_ij) */ + short bp[8]; /* frequencies of pair_types */ + char comp; /* 1 iff pair is in mfe structure */ +} pair_info; +extern float alipf_fold(char **sequences, char *structure, pair_info **pi); diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/aln_util.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/aln_util.h new file mode 100755 index 00000000..1109b6f3 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/aln_util.h @@ -0,0 +1,8 @@ +#ifndef ALN_UTIL_H +#define ALN_UTIL_H + +extern int read_clustal(FILE *clust, char *AlignedSeqs[], char *names[]); +extern /*@only@*/ /*@notnull@*/ char *consensus(const char *AS[]); +extern /*@only@*/ /*@notnull@*/ char *consens_mis(const char *AS[]); + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/cofold.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/cofold.h new file mode 100755 index 00000000..90e559d4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/cofold.h @@ -0,0 +1,6 @@ +/* function from fold.c */ +extern float cofold(char *sequence, char *structure); +/* calculate energy of string on structure */ +extern void free_co_arrays(void); /* free arrays for mfe folding */ +extern void initialize_cofold(int length); /* allocate arrays for folding */ +extern void update_cofold_params(void); /* recalculate parameters */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/dist_vars.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/dist_vars.h new file mode 100755 index 00000000..92697205 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/dist_vars.h @@ -0,0 +1,31 @@ +#ifndef DIST_VARS_H +#define DIST_VARS_H +/* Global variables for Distance-Package */ + +extern int edit_backtrack; /* set to 1 if you want backtracking */ + +extern char *aligned_line[4]; /* containes alignment after backtracking */ + +extern int cost_matrix; /* 0 usual costs (default), 1 Shapiro's costs */ + +/* Global type defs for Distance-Package */ + +typedef struct { + int type; + int weight; + int father; + int sons; + int leftmostleaf; + } Postorder_list; + +typedef struct { + Postorder_list *postorder_list; + int *keyroots; + } Tree; + +typedef struct { + int type; + int sign; + float weight; + } swString; +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/duplex.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/duplex.h new file mode 100755 index 00000000..4d54c617 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/duplex.h @@ -0,0 +1,14 @@ +#ifndef DUPLEX_H +#define DUPLEX_H + +typedef struct { + int i; + int j; + char *structure; + float energy; +} duplexT; + +extern duplexT duplexfold(const char *s1, const char *s2); +extern duplexT *duplex_subopt(const char *s1, const char *s2, int delta, int w); + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/edit_cost.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/edit_cost.h new file mode 100755 index 00000000..d1cc12d6 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/edit_cost.h @@ -0,0 +1,54 @@ +/* + +cost.h :: global variables for Edit Costs + included by treedist.c and stringdist.c + +*/ +#define PRIVATE static + +PRIVATE char sep = ':'; +PRIVATE char *coding = "Null:U:P:H:B:I:M:S:E:R"; + +#define INF 10000 /* infinity */ + +typedef int CostMatrix[10][10]; + +PRIVATE CostMatrix *EditCost; /* will point to UsualCost or ShapiroCost */ + +PRIVATE CostMatrix UsualCost = +{ + +/* Null, U, P, H, B, I, M, S, E, R */ + + { 0, 1, 2, 2, 2, 2, 2, 1, 1, INF}, /* Null replaced */ + { 1, 0, 1, INF, INF, INF, INF, INF, INF, INF}, /* U replaced */ + { 2, 1, 0, INF, INF, INF, INF, INF, INF, INF}, /* P replaced */ + { 2, INF, INF, 0, 2, 2, 2, INF, INF, INF}, /* H replaced */ + { 2, INF, INF, 2, 0, 1, 2, INF, INF, INF}, /* B replaced */ + { 2, INF, INF, 2, 1, 0, 2, INF, INF, INF}, /* I replaced */ + { 2, INF, INF, 2, 2, 2, 0, INF, INF, INF}, /* M replaced */ + { 1, INF, INF, INF, INF, INF, INF, 0, INF, INF}, /* S replaced */ + { 1, INF, INF, INF, INF, INF, INF, INF, 0, INF}, /* E replaced */ + { INF, INF, INF, INF, INF, INF, INF, INF, INF, 0}, /* R replaced */ + +}; + + +PRIVATE CostMatrix ShapiroCost = +{ + +/* Null, U, P, H, B, I, M, S, E, R */ + + { 0, 1, 2, 100, 5, 5, 75, 5, 5, INF}, /* Null replaced */ + { 1, 0, 1, INF, INF, INF, INF, INF, INF, INF}, /* U replaced */ + { 2, 1, 0, INF, INF, INF, INF, INF, INF, INF}, /* P replaced */ + { 100, INF, INF, 0, 8, 8, 8, INF, INF, INF}, /* H replaced */ + { 5, INF, INF, 8, 0, 3, 8, INF, INF, INF}, /* B replaced */ + { 5, INF, INF, 8, 3, 0, 8, INF, INF, INF}, /* I replaced */ + { 75, INF, INF, 8, 8, 8, 0, INF, INF, INF}, /* M replaced */ + { 5, INF, INF, INF, INF, INF, INF, 0, INF, INF}, /* S replaced */ + { 5, INF, INF, INF, INF, INF, INF, INF, 0, INF}, /* E replaced */ + { INF, INF, INF, INF, INF, INF, INF, INF, INF, 0}, /* R replaced */ + +}; + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/energy_const.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/energy_const.h new file mode 100755 index 00000000..04892da4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/energy_const.h @@ -0,0 +1,23 @@ +/* + + energy constants, formerly defined in + energy_par.h + + customized for use with RNAedit by + S.Kopp, IMB-Jena, Germany, Mar 1996 + +*/ + +#ifndef _ENERGY_CONST_H +#define _ENERGY_CONST_H 1 + +#define GASCONST 1.98717 /* in [cal/K] */ +#define K0 273.15 +#define INF 1000000 +#define FORBIDDEN 9999 +#define BONUS 10000 +#define NBPAIRS 7 +#define TURN 3 +#define MAXLOOP 30 + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/energy_par.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/energy_par.h new file mode 100755 index 00000000..fee8e3c6 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/energy_par.h @@ -0,0 +1,60 @@ +/* + prototypes for energy_par.c +*/ + +#include "energy_const.h" + +extern double lxc37; /* parameter for logarithmic loop + energy extrapolation */ + +extern int stack37[NBPAIRS+1][NBPAIRS+1]; +extern int enthalpies[NBPAIRS+1][NBPAIRS+1]; /* stack enthalpies */ +extern int entropies[NBPAIRS+1][NBPAIRS+1]; /* not used anymore */ + +extern int hairpin37[31]; +extern int bulge37[31]; +extern int internal_loop37[31]; +extern int internal2_energy; +extern int old_mismatch_37[NBPAIRS+1][5][5]; +extern int mismatchI37[NBPAIRS+1][5][5]; /* interior loop mismatches */ +extern int mismatchH37[NBPAIRS+1][5][5]; /* same for hairpins */ +extern int mismatchM37[NBPAIRS+1][5][5]; /* same for multiloops */ +extern int mism_H[NBPAIRS+1][5][5]; /* mismatch enthalpies */ + +extern int dangle5_37[NBPAIRS+1][5]; /* 5' dangle exterior of pair */ +extern int dangle3_37[NBPAIRS+1][5]; /* 3' dangle */ +extern int dangle3_H[NBPAIRS+1][5]; /* corresponding enthalpies */ +extern int dangle5_H[NBPAIRS+1][5]; + +extern int int11_37[NBPAIRS+1][NBPAIRS+1][5][5]; /* 1x1 interior loops */ +extern int int11_H[NBPAIRS+1][NBPAIRS+1][5][5]; + +extern int int21_37[NBPAIRS+1][NBPAIRS+1][5][5][5]; /* 2x1 interior loops */ +extern int int21_H[NBPAIRS+1][NBPAIRS+1][5][5][5]; + +extern int int22_37[NBPAIRS+1][NBPAIRS+1][5][5][5][5]; /* 2x2 interior loops */ +extern int int22_H[NBPAIRS+1][NBPAIRS+1][5][5][5][5]; + +/* constants for linearly destabilizing contributions for multi-loops + F = ML_closing + ML_intern*(k-1) + ML_BASE*u */ +extern int ML_BASE37; +extern int ML_closing37; +extern int ML_intern37; + +/* Ninio-correction for asymmetric internal loops with branches n1 and n2 */ +/* ninio_energy = min{max_ninio, |n1-n2|*F_ninio[min{4.0, n1, n2}] } */ +extern int MAX_NINIO; /* maximum correction */ +extern int F_ninio37[5]; + +/* penalty for helices terminated by AU (actually not GC) */ +extern int TerminalAU; +/* penalty for forming bi-molecular duplex */ +extern int DuplexInit; +/* stabilizing contribution due to special hairpins of size 4 (tetraloops) */ +extern char Tetraloops[]; /* string containing the special tetraloops */ +extern int TETRA_ENERGY37[]; /* Bonus energy for special tetraloops */ +extern int TETRA_ENTH37; +extern char Triloops[]; /* string containing the special triloops */ +extern int Triloop_E37[]; /* Bonus energy for special Triloops */ + +extern double Tmeasure; /* temperature of param measurements */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/fold.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/fold.h new file mode 100755 index 00000000..703aa2d0 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/fold.h @@ -0,0 +1,8 @@ +/* function from fold.c */ +extern float fold(const char *sequence, char *structure); +/* calculate mfe-structure of sequence */ +extern float energy_of_struct(const char *string, const char *structure); +/* calculate energy of string on structure */ +extern void free_arrays(void); /* free arrays for mfe folding */ +extern void initialize_fold(int length); /* allocate arrays for folding */ +extern void update_fold_params(void); /* recalculate parameters */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/fold_vars.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/fold_vars.h new file mode 100755 index 00000000..815e790c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/fold_vars.h @@ -0,0 +1,36 @@ +/* to use floats instead of doubles in pf_fold() comment next line */ +#define LARGE_PF +#ifdef LARGE_PF +#define FLT_OR_DBL double +#else +#define FLT_OR_DBL float +#endif + +extern int noGU; /* GU not allowed at all */ +extern int no_closingGU; /* GU allowed only inside stacks */ +extern int tetra_loop; /* Fold with specially stable 4-loops */ +extern int energy_set; /* 0 = BP; 1=any mit GC; 2=any mit AU-parameter */ +extern int dangles; /* use dangling end energies (not in part_func!) */ +/*@null@*/ +extern char *nonstandards; /* contains allowed non standard bases */ +extern double temperature; /* rescale parameters to this temperature */ +extern int james_rule; /* interior loops of size 2 get energy 0.8Kcal and + no mismatches, default 1 */ +extern int logML; /* use logarithmic multiloop energy function */ +extern int cut_point; /* first position of 2nd strand for co-folding */ + +typedef struct bond { /* base pair */ + int i; + int j; +} bondT; +extern bondT *base_pair; /* list of base pairs */ + +extern FLT_OR_DBL *pr; /* base pairing prob. matrix */ +extern int *iindx; /* pr[i,j] -> pr[iindx[i]-j] */ +extern double pf_scale; /* scaling factor to avoid float overflows*/ +extern int fold_constrained; /* fold with constraints */ +extern int do_backtrack; /* calculate pair prob matrix in part_func() */ +extern int noLonelyPairs; /* avoid helices of length 1 */ +extern char backtrack_type; /* usually 'F'; 'C' require (1,N) to be bonded; + 'M' seq is part of a multi loop */ +char * option_string(void); diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/inverse.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/inverse.h new file mode 100755 index 00000000..e443dc7b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/inverse.h @@ -0,0 +1,18 @@ +/* prototypes from inverse.c */ +extern char *symbolset; /* alphabet default is "AUGC" */ +extern float inverse_fold(char *start, const char *target); +/* find sequences with predefined structure. + the found sequence is written to start, + return value is + energy_of_struct(start, target) - fold(start, structure), + i.e. 0. if search was successful; */ + +extern float inverse_pf_fold(char *start, const char *target); +/* inverse folding maximising the frequency of target in the + ensemble of structures, final sequence is written to start, returns + energy_of_struct(start, target) - part_func(start, structure) +*/ +extern float final_cost; /* when to stop inverse_pf_fold() */ +extern int give_up; /* default 0: try to minimize structure distance even if + no exact solution can be found */ + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/pair_mat.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/pair_mat.h new file mode 100755 index 00000000..0e4b2a09 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/pair_mat.h @@ -0,0 +1,117 @@ +#include +#define NBASES 8 +/*@notnull@*/ +static const char Law_and_Order[] = "_ACGUTXKI"; +static int BP_pair[NBASES][NBASES]= +/* _ A C G U X K I */ +{{ 0, 0, 0, 0, 0, 0, 0, 0}, + { 0, 0, 0, 0, 5, 0, 0, 5}, + { 0, 0, 0, 1, 0, 0, 0, 0}, + { 0, 0, 2, 0, 3, 0, 0, 0}, + { 0, 6, 0, 4, 0, 0, 0, 6}, + { 0, 0, 0, 0, 0, 0, 2, 0}, + { 0, 0, 0, 0, 0, 1, 0, 0}, + { 0, 6, 0, 0, 5, 0, 0, 0}}; + +#define MAXALPHA 20 /* maximal length of alphabet */ + +static short alias[MAXALPHA+1]; +static int pair[MAXALPHA+1][MAXALPHA+1]; +/* rtype[pair[i][j]]:=pair[j][i] */ +static int rtype[8] = {0, 2, 1, 4, 3, 6, 5, 7}; + +/* for backward compatibility */ +#define ENCODE(C) encode_char(c) + +static int encode_char(char c) { + /* return numerical representation of base used e.g. in pair[][] */ + int code; + if (energy_set>0) code = (int) (c-'A')+1; + else { + char *pos; + pos = strchr(Law_and_Order, c); + if (pos==NULL) code=0; + else code = (int) (pos-Law_and_Order); + if (code>4) code--; /* make T and U equivalent */ + } + return code; +} + +/*@+boolint +charint@*/ +/*@null@*/ +extern char *nonstandards; +extern void nrerror(const char message[]); +static void make_pair_matrix(void) +{ + int i,j; + + if (energy_set==0) { + for (i=0; i<5; i++) alias[i] = (short) i; + alias[5] = 3; /* X <-> G */ + alias[6] = 2; /* K <-> C */ + alias[7] = 0; /* I <-> default base '@' */ + for (i=0; i G */ + alias[i++] = 2; /* B <-> C */ + } + for (i=1; i GC */ + i++; + pair[i][i-1] = 1; /* BA <-> CG */ + } + } + else if (energy_set==2) { + for (i=1; i A*/ + alias[i++] = 4; /* B <-> U */ + } + for (i=1; i AU */ + i++; + pair[i][i-1] = 6; /* BA <-> UA */ + } + } + else if (energy_set==3) { + for (i=1; i G */ + alias[i++] = 2; /* B <-> C */ + alias[i++] = 1; /* C <-> A */ + alias[i++] = 4; /* D <-> U */ + } + for (i=1; i GC */ + i++; + pair[i][i-1] = 1; /* BA <-> CG */ + i++; + pair[i][i+1] = 5; /* CD <-> AU */ + i++; + pair[i][i-1] = 6; /* DC <-> UA */ + } + } + else nrerror("What energy_set are YOU using??"); + for (i=0; i<=MAXALPHA; i++) { + for (j=0; j<=MAXALPHA; j++) + rtype[pair[i][j]] = pair[j][i]; + } + } +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/params.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/params.h new file mode 100755 index 00000000..46d6122f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/params.h @@ -0,0 +1,32 @@ +#include "energy_const.h" +typedef struct { + int id; + int stack[NBPAIRS+1][NBPAIRS+1]; + int hairpin[31]; + int bulge[MAXLOOP+1]; + int internal_loop[MAXLOOP+1]; + int mismatchI[NBPAIRS+1][5][5]; + int mismatchH[NBPAIRS+1][5][5]; + int mismatchM[NBPAIRS+1][5][5]; + int dangle5[NBPAIRS+1][5]; + int dangle3[NBPAIRS+1][5]; + int int11[NBPAIRS+1][NBPAIRS+1][5][5]; + int int21[NBPAIRS+1][NBPAIRS+1][5][5][5]; + int int22[NBPAIRS+1][NBPAIRS+1][5][5][5][5]; + int F_ninio[5]; + double lxc; + int MLbase; + int MLintern[NBPAIRS+1]; + int MLclosing; + int TerminalAU; + int DuplexInit; + int TETRA_ENERGY[200]; + char Tetraloops[1401]; + int Triloop_E[40]; + char Triloops[241]; + double temperature; +} paramT; + +extern paramT *scale_parameters(void); +extern paramT *copy_parameters(void); +extern paramT *set_parameters(paramT *dest); diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/part_func.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/part_func.h new file mode 100755 index 00000000..633f1898 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/part_func.h @@ -0,0 +1,8 @@ +/* functions from part_func.c */ +extern float pf_fold(char *sequence, char *structure); +/* calculate partition function and base pair probabilities */ +extern void init_pf_fold(int length); /* allocate space for pf_fold() */ +extern void free_pf_arrays(void); /* free arrays from pf_fold() */ +extern void update_pf_params(int length); /*recalculate energy parameters */ +extern char bppm_symbol(const float *x); /* string representation of structure */ +extern double mean_bp_dist(int length); /* mean pair distance of ensemble */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/part_func_co.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/part_func_co.h new file mode 100755 index 00000000..484d34d9 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/part_func_co.h @@ -0,0 +1,56 @@ +/* functions from part_func.c */ +/* calculate partition function and base pair probabilities */ +#define LARGE_PF +#ifdef LARGE_PF +#define FLT_OR_DBL double +#else +#define FLT_OR_DBL float +#endif +extern int mirnatog; /*toggles no intrabp in 2nd mol*/ + +typedef struct cofoldF { + /* free energies for: */ + double F0AB; /* null model without DuplexInit */ + double FAB; /* all states with DuplexInit corretion */ + double FcAB; /* true hybrid states only */ + double FA; /* monomer A */ + double FB; /* monomer B */ +} cofoldF; + +extern cofoldF co_pf_fold(char *sequence, char *structure); /* calculate partition function and base pair probabilities */ +extern void init_co_pf_fold(int length); +extern void free_co_pf_arrays(void); +extern void update_co_pf_params(int length); /*recalculate energy parameters */ +extern char co_bppm_symbol(float *x); /* string representation of structure */ +extern void compute_probabilities(double FAB, double FEA, double FEB, + struct plist *prAB, + struct plist *prA, struct plist *prB, + int Alength); + + +typedef struct ConcEnt { + double A0; /*start concentration A*/ + double B0; /*start concentration B*/ + double ABc; /*End concentration AB*/ + double AAc; + double BBc; + double Ac; + double Bc; +} ConcEnt; + + + +typedef struct pairpro{ + struct plist *AB; + struct plist *AA; + struct plist *A; + struct plist *B; + struct plist *BB; +}pairpro; + + +extern struct ConcEnt *get_concentrations(double FEAB, double FEAA, double FEBB, double FEA, double FEB, double * startconc); + +extern struct plist *get_plist(struct plist *pl, int length, double cut_off); + +extern int make_probsum(int length, char *name); diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/profiledist.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/profiledist.h new file mode 100755 index 00000000..c1507de7 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/profiledist.h @@ -0,0 +1,14 @@ + +extern float *Make_bp_profile(int length); +/* condense pair probability matrix pr into a vector containing probabilities + for upstream paired, downstream paired and unpaired. This resulting + probability profile is used as input for profile_edit_distance */ + +extern float profile_edit_distance(const float *T1, const float *T2); +/* align two probability profiles */ + +extern void print_bppm(const float *T); +/* print string representation of probability profile */ + +extern void free_profile(float *T); +/* free space allocated in Make_bp_profile */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/stringdist.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/stringdist.h new file mode 100755 index 00000000..ba3383d4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/stringdist.h @@ -0,0 +1,7 @@ +#ifndef DIST_VARS_H +#include "dist_vars.h" /* defines the type Tree */ +#endif +extern swString *Make_swString(char *string); +/* make input for string_edit_distance */ +extern float string_edit_distance(swString *T1, swString *T2); +/* compare to structures using string alignment */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/subopt.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/subopt.h new file mode 100755 index 00000000..b20643ab --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/subopt.h @@ -0,0 +1,12 @@ +/* subopt.h */ +typedef struct { + float energy; /* energy of structure */ + char *structure; +} SOLUTION; + +extern SOLUTION *subopt (char *seq, char *sequence, int delta, FILE *fp); + /* returns list of subopt structures or writes to fp */ + +extern int subopt_sorted; /* sort output by energy */ + +/* End of file */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/treedist.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/treedist.h new file mode 100755 index 00000000..fd928c39 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/treedist.h @@ -0,0 +1,8 @@ +#ifndef DIST_VARS_H +#include "dist_vars.h" /* defines the type Tree */ +#endif +extern Tree *make_tree(char *struc); /* make input for tree_edit_distance */ +extern float tree_edit_distance(Tree *T1, Tree *T2); +/* compare to structures using tree editing */ +extern void print_tree(Tree *t); /* mainly for debugging */ +extern void free_tree(Tree *t); /* free space allocated by make_tree */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/utils.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/utils.h new file mode 100755 index 00000000..2fda4f11 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/H/utils.h @@ -0,0 +1,41 @@ +/* Header file for utils.c */ +#ifdef HAVE_CONFIG_H +#include +#endif +#ifdef WITH_DMALLOC +/* use dmalloc library to check for memory management bugs */ +#include "dmalloc.h" +#define space(S) calloc(1,(S)) +#else +extern /*@only@*/ /*@notnull@*/ +void *space(unsigned size) /*@ensures MaxSet(result) == (size-1);@*/; + /* allocate space safely */ +extern /*@only@*/ /*@notnull@*/ +void *xrealloc(/*@null@*/ /*@only@*/ /*@out@*/ /*@returned@*/ void *p, unsigned size) /*@modifies *p @*/ /*@ensures MaxSet(result) == (size-1) @*/; +#endif + +extern /*@exits@*/ void nrerror(const char message[]); /* die with error message */ +extern void init_rand(void); /* make random number seeds */ +extern unsigned short xsubi[3]; /* current 48bit random number */ +extern double urn(void); /* random number from [0..1] */ +extern int int_urn(int from, int to); /* random integer */ +extern void filecopy(FILE *from, FILE *to); /* inefficient `cp' */ +extern /*@observer@*/ char *time_stamp(void); /* current date in a string */ +extern /*@only@*/ /*@notnull@*/ char *random_string(int l, const char symbols[]); +/* random string of length l using characters from symbols[] */ +extern int hamming(const char *s1, const char *s2); +/* calculate hamming distance */ +extern /*@only@*/ /*@null@*/ char *get_line(const FILE *fp); /* read one (arbitrary length) line from fp */ + + +extern char *pack_structure(const char *struc); +/* pack secondary secondary structure, 5:1 compression using base 3 encoding */ +extern char *unpack_structure(const char *packed); +/* unpack sec structure packed with pack_structure() */ +extern short *make_pair_table(const char *structure); +/* returns a newly allocated table, such that: table[i]=j if (i.j) pair or + 0 if i is unpaired, table[0] contains the length of the structure. */ + +extern int bp_distance(const char *str1, const char *str2); +/* dist = {number of base pairs in one structure but not in the other} + same as edit distance with open-pair close-pair as move-set */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/INSTALL b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/INSTALL new file mode 100755 index 00000000..40e57398 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/INSTALL @@ -0,0 +1,91 @@ +Installation: + +This package uses GNU autoconf generated configure scripts, see the +file INSTALL.configure for generic configure documentation. + +Quickstart: Usually you'll just have to type: +---------- + ./configure + make +and (as root) + make install + +Install Paths: +------------- +The main programs, library, man, and info pages are +installed in the usual places by default +(i.e. /usr/local/{bin,lib,man,info}). In addition the following +install paths are used: +header files /usr/local/include/ViennaRNA [includedir/ViennaRNA] +parameter files /usr/local/share/ViennaRNA [datadir/ViennaRNA] +extra scripts /usr/local/share/ViennaRNA/bin [datadir/ViennaRNA/bin] +documentation /usr/local/share/ViennaRNA/doc [datadir/ViennaRNA/doc] + +All these locations can be changed by calling ./configure with +appropriate options. + +If you like having all software packages separated in their own directories +you could run e.g.: +./configure --prefix=/opt/packages/ViennaRNA --datadir=/opt/packages/ViennaRNA +resulting in /opt/packages/ViennaRNA/{bin,lib,man,info,include,doc} directories + +The installed location of the Perl module is determined by Perl's own +configuration, independent of any configure options. +To leave out the Perl modules run + ./configure --without-perl + +The programs AnalyseSeqs and AnalyseDists offer some cluster analysis +tools (split decomposition, statistical geometry, neighbor joining, +Ward's method) for sequences and distance data. To also build these +programs add --with-cluster to your configure options. + +This release includes the RNAforester and Kinfold programs, which can also +be obtained as independent packages. Running ./configure in the ViennaRNA +directory will configure those two packages as well. However, for detailed +information and compile time options, see the README and INSTALL files in +the respective subdirectories. + +The Kinfold program can be used to simulate the folding dynamics of an +RNA molecule, and is compiled by default. Use the --without-kinfold +option to skip compiling Kinfold. + +The RNAforester program is used for comparing secondary structures using +tree alignment. To compile RNAforester you'll need to first install the +g2 graphic library, then run configure with the --with-forester option. + +Calculation of partition functions (via RNAfold -p) uses double +precision floats by default, to avoid overflow errors on longer sequences. +If your machine has little memory and you dont't plan to fold sequences +over 1000 bases in length you can compile the package to do the computions +in single precision by giving ./configure the --enable-floatpf option. + +Memory requirements for a sequence of length n will be approximately +12*n^2 bytes for RNAfold -p in the double precision version, and + 4*n^2 bytes for the minimum free energy alone. + + +The readseq program is not integrated in the build process. If desired, +install readseq manually, following the instructions in the readseq +directory. + +There are man pages for all executables, the library is documented in +./man/RNAlib.texinfo. You can either print this file as a manual using +TeX (if you don't have texinfo.tex installed use the .dvi file) or use +it as online documentation if you have the GNU texinfo package installed. +Documentation in HTML can be found at http://www.tbi.univie.ac.at/~ivo/RNA/ + + +System specific notes: +calculating the partition function for long sequences ( >400 bases) +generates a lot of floating point underflows. On some system this can slow +down the calculation dramatically because an exception is invoked for each +underflow. How to avoid this problem is highly system specific: + +On SunOS 4.1 the remedy is calling nonstandard_arithmetic() add a -DSUN4 to +the CFLAGS in lib/makefile to do this. Use CC=gcc since SUN's standard cc +doesn't understand ANSI C. + +On HP machines running hpux-9 or hpux-10 add -DHP9 to the CFLAGS so that +fpsetfastmode() will be called. + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/INSTALL.configure b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/INSTALL.configure new file mode 100755 index 00000000..b42a17ac --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/INSTALL.configure @@ -0,0 +1,182 @@ +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' if you want to change +it or regenerate `configure' using a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not supports the `VPATH' +variable, you have to compile the package for one architecture at a time +in the source code directory. After you have installed the package for +one architecture, use `make distclean' before reconfiguring for another +architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=PATH' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/baum.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/baum.Po new file mode 100755 index 00000000..a96f3cb7 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/baum.Po @@ -0,0 +1,103 @@ +baum.o baum.o: baum.c /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/assert.h ../H/fold_vars.h \ + ../H/fold.h ../H/utils.h ./config.h ../H/pair_mat.h \ + /usr/include/ctype.h nachbar.h globals.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/assert.h: + +../H/fold_vars.h: + +../H/fold.h: + +../H/utils.h: + +./config.h: + +../H/pair_mat.h: + +/usr/include/ctype.h: + +nachbar.h: + +globals.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/cache.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/cache.Po new file mode 100755 index 00000000..fb3bc924 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/cache.Po @@ -0,0 +1,102 @@ +cache.o cache.o: cache.c /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h ../H/utils.h \ + ./config.h cache_util.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/utils.h: + +./config.h: + +cache_util.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/getopt.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/getopt.Po new file mode 100755 index 00000000..f4e11a5e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/getopt.Po @@ -0,0 +1,49 @@ +getopt.o getopt.o: getopt.c ./config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/gnu-versions.h + +./config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/gnu-versions.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/getopt1.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/getopt1.Po new file mode 100755 index 00000000..114d616f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/getopt1.Po @@ -0,0 +1,51 @@ +getopt1.o getopt1.o: getopt1.c ./config.h getopt.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/gnu-versions.h + +./config.h: + +getopt.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/gnu-versions.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/globals.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/globals.Po new file mode 100755 index 00000000..9eab258c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/globals.Po @@ -0,0 +1,104 @@ +globals.o globals.o: globals.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/assert.h /usr/include/errno.h \ + /usr/include/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/asm/errno.h ./getopt.h ../H/utils.h ./config.h globals.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/assert.h: + +/usr/include/errno.h: + +/usr/include/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/asm/errno.h: + +./getopt.h: + +../H/utils.h: + +./config.h: + +globals.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/main.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/main.Po new file mode 100755 index 00000000..d70751c2 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/main.Po @@ -0,0 +1,114 @@ +main.o main.o: main.c /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/assert.h /usr/include/ctype.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h ./getopt.h ../H/fold_vars.h ../H/fold.h \ + baum.h nachbar.h cache_util.h ../H/utils.h ./config.h globals.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/assert.h: + +/usr/include/ctype.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +./getopt.h: + +../H/fold_vars.h: + +../H/fold.h: + +baum.h: + +nachbar.h: + +cache_util.h: + +../H/utils.h: + +./config.h: + +globals.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/nachbar.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/nachbar.Po new file mode 100755 index 00000000..0efa1acd --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/.deps/nachbar.Po @@ -0,0 +1,133 @@ +nachbar.o nachbar.o: nachbar.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h globals.h \ + /usr/include/assert.h ../H/fold_vars.h ../H/energy_const.h ../H/utils.h \ + ./config.h cache_util.h baum.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +globals.h: + +/usr/include/assert.h: + +../H/fold_vars.h: + +../H/energy_const.h: + +../H/utils.h: + +./config.h: + +cache_util.h: + +baum.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/AUTHORS b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/AUTHORS new file mode 100755 index 00000000..bfcbc6ad --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/AUTHORS @@ -0,0 +1,2 @@ +Christoph Flamm and +Ivo L. Hofacker diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/COPYING b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/COPYING new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/ChangeLog b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/ChangeLog new file mode 100755 index 00000000..68c4b46a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/ChangeLog @@ -0,0 +1,3 @@ +2001-08-01 Christoph Flamm, Ivo L. Hofacker + + *Kinfold: initial version diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/Makefile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/Makefile new file mode 100755 index 00000000..b211a764 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/Makefile @@ -0,0 +1,286 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Example/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/kinfold +pkglibdir = $(libdir)/kinfold +pkgincludedir = $(includedir)/kinfold +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +subdir = Example +DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run tar +AUTOCONF = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoconf +AUTOHEADER = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoheader +AUTOMAKE = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = -I../H +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +ISODATE = 2006-06-13 +LDFLAGS = -L../lib +LIBOBJS = +LIBS = -lRNA -lm +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run makeinfo +OBJEXT = o +PACKAGE = kinfold +PACKAGE_BUGREPORT = rna@tbi.univie.ac.at +PACKAGE_NAME = Kinfold +PACKAGE_STRING = Kinfold 1.0 +PACKAGE_TARNAME = kinfold +PACKAGE_VERSION = 1.0 +PATH_SEPARATOR = : +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.0 +ac_ct_CC = gcc +ac_ct_STRIP = +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +datadir = ${prefix}/share +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +sysconfdir = ${prefix}/etc +target_alias = +EXTRA_DIST = hpin.ae.log hpin.in hpin.nolp.log traj \ + traj.e hpin.e.log hpin.log README traj.ae traj.nolp + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Example/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Example/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/Makefile.am b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/Makefile.am new file mode 100755 index 00000000..e553641d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = hpin.ae.log hpin.in hpin.nolp.log traj \ + traj.e hpin.e.log hpin.log README traj.ae traj.nolp diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/Makefile.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/Makefile.in new file mode 100755 index 00000000..8db11325 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/Makefile.in @@ -0,0 +1,286 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = Example +DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +EXTRA_DIST = hpin.ae.log hpin.in hpin.nolp.log traj \ + traj.e hpin.e.log hpin.log README traj.ae traj.nolp + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Example/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Example/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/README b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/README new file mode 100755 index 00000000..518bbc09 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/README @@ -0,0 +1,55 @@ +---------- +Folding Modes: + +(1) default mode: + start structure is open chain + stop structure is minimum free enegy structure + example: hairpin.log, traj + ../Kinfold --log hpin --num 10 <./hpin.in>& traj + +(2) multi-stop mode: + start structure is open chain + stop structure(s) are 2nd and following lines in hpin.in + example: hairpin.e.log, traj.e + ../Kinfold --stop --log hpin.e --num 10 <./hpin.in>& traj.e + +(3) refolding mode: + start structure is 2nd line in hpin.in + stop structure(s) are 3rd and following lines in hpin.in + example: hairpin.ae.log, traj.ae + ../Kinfold --start --stop --log hpin.ae --num 10 <./hpin.in>& traj.ae + +if you don't want to log the trajectories use option --silent +(trajectory files can get petty huge) + +---------- +Output: + +(A) log files (on each line you find): + randon seed + stop-structure-label or O ( for didn't reach stop-structure(s) ) + first passage time + stop-structure if stop-structure-label equals O + +(B) trajectory files (on each line you find): + structure + energy + time + number of neighbours of structure (only with --verbose) + code for the move (only with --verbose) + (i=base pair insert move, + d=base pair delete move, + s,S=base pair shift move, + I=base pair double insert move (only with --noLP) + D=base pair double delete move (only with --noLP) + ) + code for type of structure (only with --verbose) + (1=strict local minimum, + 2=degenerate local minimum, + 0=anything else + ) + stop-structure-label or O ( for didn't reach stop-structure(s) ) + +---------- +canonical example: hpin.nolp, traj.nolp + ../Kinfold --verbose --noLP --num 10 --log hpin.nolp < ./hpin.in > traj.nolp diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.ae.log b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.ae.log new file mode 100755 index 00000000..89bb1cd3 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.ae.log @@ -0,0 +1,20 @@ +#< +#Date: Thu Aug 2 15:09:44 2001 +#EnergyModel: dangle=2 Temp=37.0 logML=logarithmic Par=VRNA-1.4 +#MoveSet: noShift=off noLP=off +#Simulation: num=10 time=500.00 seed=clock fpt=on mc=Kawasaki +#Output: log=hairpin.ae silent=on lmin=off cut=20.00 +#ACUGAUCGUAGUCAC +#((((....))))... ( 0.40) +#..((((....)))). ( -0.60) X01 +(20760 15209 5246) X01 67.304 +(45270 55184 46987) X01 89.090 +(53914 48671 9491) X01 8.332 +(44432 62476 30554) X01 21.474 +(21206 16128 4429) X01 31.761 +( 5998 36361 17232) X01 33.787 +(35376 54746 29922) X01 4.436 +(51998 14938 13352) X01 38.070 +(17648 21853 64886) X01 51.808 +(16304 9322 17404) X01 30.137 +(46698 42323 39623) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.e.log b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.e.log new file mode 100755 index 00000000..14aca206 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.e.log @@ -0,0 +1,21 @@ +#< +#Date: Thu Aug 2 15:12:23 2001 +#EnergyModel: dangle=2 Temp=37.0 logML=logarithmic Par=VRNA-1.4 +#MoveSet: noShift=off noLP=off +#Simulation: num=10 time=500.00 seed=clock fpt=on mc=Kawasaki +#Output: log=hairpin.e silent=on lmin=off cut=20.00 +#ACUGAUCGUAGUCAC +#............... ( 0.00) +#..((((....)))). ( -0.60) X01 +#((((....))))... ( 0.40) X02 +(20919 15209 5246) X01 9.495 +(37503 34287 60895) X01 5.325 +(32207 13446 53388) X01 6.008 +(45167 5229 23791) X02 4.194 +(45433 53919 17806) X02 5.419 +(10205 8134 35980) X01 32.380 +(36817 5241 15865) X01 4.066 +(22891 28285 5106) X02 9.916 +(11239 25108 29130) X01 6.766 +(29917 23269 27183) X01 11.207 +(11597 13711 6518) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.in new file mode 100755 index 00000000..18ef5862 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.in @@ -0,0 +1,3 @@ +ACUGAUCGUAGUCAC +((((....))))... +..((((....)))). diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.log b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.log new file mode 100755 index 00000000..5b22424f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.log @@ -0,0 +1,20 @@ +#< +#Date: Thu Aug 2 15:07:51 2001 +#EnergyModel: dangle=2 Temp=37.0 logML=logarithmic Par=VRNA-1.4 +#MoveSet: noShift=off noLP=off +#Simulation: num=10 time=500.00 seed=clock fpt=on mc=Kawasaki +#Output: log=hairpin silent=on lmin=off cut=20.00 +#ACUGAUCGUAGUCAC +#............... ( 0.00) +#..((((....)))). ( -0.60) X01 +(20647 15209 5246) X01 3.761 +(45273 46965 58195) X01 59.663 +(38349 38236 54635) X01 2.485 +( 2807 18778 20846) X01 8.455 +( 9813 63338 21421) X01 7.325 +(36623 13209 39161) X01 7.609 +(15011 38369 16622) X01 6.431 +(38685 28037 30315) X01 8.799 +(59813 28723 56993) X01 3.397 +(12419 11904 47612) X01 29.864 +(41943 21469 46941) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.nolp.log b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.nolp.log new file mode 100755 index 00000000..4e15c052 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/hpin.nolp.log @@ -0,0 +1,20 @@ +#< +#Date: Thu Aug 2 16:24:42 2001 +#EnergyModel: dangle=2 Temp=37.0 logML=logarithmic Par=VRNA-1.4 +#MoveSet: noShift=off noLP=on +#Simulation: num=10 time=500.00 seed=clock fpt=on mc=Kawasaki +#Output: log=hpin.nolp silent=off lmin=off cut=20.00 +#ACUGAUCGUAGUCAC +#............... ( 0.00) +#..((((....)))). ( -0.60) X01 +(25258 15209 5246) X01 2.860 +(44730 44944 54555) X01 4.393 +(45786 38897 9635) X01 5.149 +( 1138 2575 3872) X01 1.976 +(18170 22215 30745) X01 11.294 +(15062 36074 3444) X01 25.262 +(45366 51780 48872) X01 5.836 +(47174 49996 2611) X01 4.510 +(36794 62744 9691) X01 14.810 +(48262 52565 918) X01 17.438 +(54706 34016 15011) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/traj b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/traj new file mode 100755 index 00000000..74be8538 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/traj @@ -0,0 +1,312 @@ +............... 0.00 0.314 24 i 1 +.......(....).. 2.10 0.516 10 d 0 +............... 0.00 0.903 24 i 1 +.(.....)....... 3.10 0.934 10 d 0 +............... 0.00 1.603 24 i 1 +....(......)... 4.80 1.606 11 d 0 +............... 0.00 1.983 24 i 1 +.......(....).. 2.10 1.999 10 d 0 +............... 0.00 2.325 24 i 1 +.......(......) 3.20 2.391 9 d 0 +............... 0.00 2.631 24 i 1 +...(........).. 1.80 2.701 12 i 0 +...((......)).. 0.70 3.004 9 i 0 +..(((......))). 0.20 3.254 8 d 0 +...((......)).. 0.70 3.608 9 i 0 +...(((....))).. -0.10 3.670 7 i 0 +..((((....)))). -0.60 3.761 6 _ 1 X1 +............... 0.00 0.400 24 i 1 +.....(...)..... 5.60 0.412 14 d 0 +............... 0.00 1.284 24 i 1 +.......(....).. 2.10 1.430 10 s 0 +.......(......) 3.20 1.436 9 d 0 +............... 0.00 3.099 24 i 1 +.......(....).. 2.10 3.144 10 s 0 +.(.....)....... 3.10 3.257 10 i 0 +((.....))...... 1.80 9.410 6 d 1 +(.......)...... 4.20 9.419 9 i 0 +((.....))...... 1.80 14.566 6 d 1 +.(.....)....... 3.10 14.611 10 s 0 +.(........).... 2.80 14.660 12 d 0 +............... 0.00 14.671 24 i 1 +(.......)...... 4.20 14.695 9 d 0 +............... 0.00 15.196 24 i 1 +.(........).... 2.80 15.444 12 d 0 +............... 0.00 15.498 24 i 1 +(..........)... 5.40 15.499 16 d 0 +............... 0.00 15.856 24 i 1 +..(....)....... 4.20 15.857 13 s 0 +..(..........). 5.20 15.873 16 d 0 +............... 0.00 16.005 24 i 1 +(.......)...... 4.20 16.027 9 d 0 +............... 0.00 16.203 24 i 1 +.(........).... 2.80 16.271 12 d 0 +............... 0.00 17.060 24 i 1 +.......(....).. 2.10 17.098 10 s 0 +.......(......) 3.20 17.102 9 i 0 +.......((....)) 2.80 17.212 6 d 1 +.......(......) 3.20 17.263 9 d 0 +............... 0.00 18.446 24 i 1 +.......(....).. 2.10 18.687 10 d 0 +............... 0.00 20.230 24 i 1 +..(......)..... 4.80 20.249 10 i 0 +.((......)).... 2.00 20.775 8 i 0 +.(((....))).... 1.10 21.103 6 i 0 +((((....))))... 0.40 21.150 5 d 1 +.(((....))).... 1.10 21.538 6 i 0 +((((....))))... 0.40 21.606 5 d 1 +(((......)))... 1.30 21.741 7 i 0 +((((....))))... 0.40 21.903 5 d 1 +.(((....))).... 1.10 22.125 6 i 0 +((((....))))... 0.40 23.012 5 d 1 +.(((....))).... 1.10 23.126 6 i 0 +((((....))))... 0.40 23.598 5 d 1 +(((......)))... 1.30 26.216 7 d 0 +.((......)).... 2.00 26.323 8 i 0 +.(((....))).... 1.10 26.344 6 d 0 +..((....))..... 3.90 26.485 8 i 0 +.(((....))).... 1.10 26.607 6 i 0 +((((....))))... 0.40 27.374 5 S 1 +(((.(...))))... 4.80 27.394 5 S 0 +((((....))))... 0.40 28.384 5 d 1 +(((......)))... 1.30 28.561 7 d 0 +.((......)).... 2.00 28.923 8 i 0 +.(((....))).... 1.10 29.158 6 i 0 +((((....))))... 0.40 29.370 5 d 1 +.(((....))).... 1.10 29.647 6 i 0 +((((....))))... 0.40 29.732 5 d 1 +.(((....))).... 1.10 30.038 6 i 0 +((((....))))... 0.40 30.183 5 d 1 +(((......)))... 1.30 30.218 7 i 0 +((((....))))... 0.40 33.237 5 d 1 +.(((....))).... 1.10 34.478 6 i 0 +((((....))))... 0.40 34.894 5 d 1 +.(((....))).... 1.10 34.941 6 i 0 +((((....))))... 0.40 35.253 5 d 1 +(((......)))... 1.30 35.383 7 i 0 +(((.(...))))... 4.80 35.404 5 S 0 +((((....))))... 0.40 35.652 5 d 1 +.(((....))).... 1.10 35.804 6 i 0 +((((....))))... 0.40 36.163 5 d 1 +.(((....))).... 1.10 36.782 6 i 0 +((((....))))... 0.40 37.013 5 d 1 +.(((....))).... 1.10 37.094 6 d 0 +.((......)).... 2.00 37.123 8 d 0 +.(........).... 2.80 37.152 12 d 0 +............... 0.00 39.960 24 i 1 +........(....). 5.10 39.975 11 d 0 +............... 0.00 41.639 24 i 1 +.(........).... 2.80 41.656 12 S 0 +.....(....).... 5.00 41.704 14 d 2 +............... 0.00 42.031 24 i 1 +(.......)...... 4.20 42.085 9 d 0 +............... 0.00 44.421 24 i 1 +.......(....).. 2.10 44.636 10 d 0 +............... 0.00 45.440 24 i 1 +.....(...)..... 5.60 45.445 14 d 0 +............... 0.00 46.263 24 i 1 +.(.....)....... 3.10 46.322 10 d 0 +............... 0.00 47.704 24 i 1 +.......(....).. 2.10 47.841 10 d 0 +............... 0.00 47.995 24 i 1 +...(.......)... 5.80 48.005 12 d 0 +............... 0.00 48.081 24 i 1 +.......(....).. 2.10 48.103 10 d 0 +............... 0.00 50.047 24 i 1 +......(...).... 5.00 50.050 13 d 2 +............... 0.00 50.580 24 i 1 +.......(....).. 2.10 50.623 10 d 0 +............... 0.00 53.181 24 i 1 +...(........).. 1.80 53.313 12 d 0 +............... 0.00 57.201 24 i 1 +.....(...)..... 5.60 57.204 14 d 0 +............... 0.00 57.493 24 i 1 +.......(....).. 2.10 57.544 10 d 0 +............... 0.00 57.667 24 i 1 +...(....)...... 4.90 57.690 13 d 0 +............... 0.00 58.504 24 i 1 +...(........).. 1.80 58.513 12 i 0 +..((........)). 1.30 59.207 11 i 0 +..(((......))). 0.20 59.523 8 i 0 +..((((....)))). -0.60 59.663 6 _ 1 X1 +............... 0.00 1.169 24 i 1 +...(........).. 1.80 1.236 12 i 0 +...((......)).. 0.70 1.461 9 i 0 +...(((....))).. -0.10 1.605 7 i 0 +..((((....)))). -0.60 2.485 6 _ 1 X1 +............... 0.00 1.158 24 i 1 +.....(.......). 5.50 1.172 10 d 2 +............... 0.00 2.459 24 i 1 +...(........).. 1.80 2.461 12 d 0 +............... 0.00 3.842 24 i 1 +...(........).. 1.80 3.903 12 d 0 +............... 0.00 4.947 24 i 1 +.(........).... 2.80 5.126 12 d 0 +............... 0.00 6.931 24 i 1 +...(........).. 1.80 6.991 12 i 0 +..((........)). 1.30 7.231 11 i 0 +..(((......))). 0.20 7.336 8 d 0 +...((......)).. 0.70 7.551 9 i 0 +..(((......))). 0.20 7.597 8 i 0 +..((((....)))). -0.60 8.455 6 _ 1 X1 +............... 0.00 0.898 24 i 1 +.......(....).. 2.10 0.904 10 d 0 +............... 0.00 1.771 24 i 1 +...(........).. 1.80 1.819 12 d 0 +............... 0.00 4.058 24 i 1 +.(........).... 2.80 4.166 12 d 0 +............... 0.00 4.949 24 i 1 +...(........).. 1.80 4.971 12 i 0 +...((......)).. 0.70 5.245 9 i 0 +..(((......))). 0.20 5.512 8 d 0 +...((......)).. 0.70 5.594 9 i 0 +...(((....))).. -0.10 6.930 7 i 0 +..((((....)))). -0.60 7.325 6 _ 1 X1 +............... 0.00 0.459 24 i 1 +...(........).. 1.80 0.584 12 d 0 +............... 0.00 1.684 24 i 1 +...(........).. 1.80 1.694 12 d 0 +............... 0.00 2.900 24 i 1 +.(........).... 2.80 3.049 12 d 0 +............... 0.00 3.478 24 i 1 +...(........).. 1.80 3.532 12 S 0 +.......(....).. 2.10 3.579 10 d 0 +............... 0.00 5.797 24 i 1 +..(.......).... 4.90 5.810 12 d 0 +............... 0.00 5.961 24 i 1 +...(........).. 1.80 6.140 12 d 0 +............... 0.00 6.310 24 i 1 +...(........).. 1.80 6.403 12 i 0 +...((......)).. 0.70 6.428 9 i 0 +..(((......))). 0.20 6.555 8 i 0 +..((((....)))). -0.60 7.609 6 _ 1 X1 +............... 0.00 0.088 24 i 1 +....(......)... 4.80 0.111 11 d 0 +............... 0.00 1.787 24 i 1 +..(.......).... 4.90 1.795 12 d 0 +............... 0.00 1.880 24 i 1 +...(....)...... 4.90 1.883 13 d 0 +............... 0.00 2.082 24 i 1 +.......(....).. 2.10 2.143 10 d 0 +............... 0.00 2.598 24 i 1 +...(........).. 1.80 2.606 12 d 0 +............... 0.00 3.354 24 i 1 +(.......)...... 4.20 3.363 9 d 0 +............... 0.00 4.364 24 i 1 +...(........).. 1.80 4.600 12 d 0 +............... 0.00 4.649 24 i 1 +.......(....).. 2.10 4.740 10 d 0 +............... 0.00 4.839 24 i 1 +...(........).. 1.80 4.912 12 i 0 +..((........)). 1.30 5.364 11 i 0 +..(((......))). 0.20 5.839 8 i 0 +..((((....)))). -0.60 6.431 6 _ 1 X1 +............... 0.00 0.176 24 i 1 +.......(...)... 6.30 0.183 13 d 0 +............... 0.00 4.665 24 i 1 +....(......)... 4.80 4.708 11 d 0 +............... 0.00 4.856 24 i 1 +(.......)...... 4.20 4.859 9 d 0 +............... 0.00 4.927 24 i 1 +.(.....)....... 3.10 4.957 10 i 0 +((.....))...... 1.80 6.571 6 d 1 +.(.....)....... 3.10 6.601 10 d 0 +............... 0.00 6.680 24 i 1 +.......(....).. 2.10 7.314 10 S 0 +...(........).. 1.80 7.318 12 i 0 +...((......)).. 0.70 7.403 9 i 0 +...(((....))).. -0.10 7.583 7 d 0 +...((......)).. 0.70 8.001 9 i 0 +..(((......))). 0.20 8.143 8 d 0 +...((......)).. 0.70 8.335 9 i 0 +...(((....))).. -0.10 8.692 7 i 0 +..((((....)))). -0.60 8.799 6 _ 1 X1 +............... 0.00 0.074 24 i 1 +.......(....).. 2.10 0.075 10 d 0 +............... 0.00 0.312 24 i 1 +....(......)... 4.80 0.353 11 i 0 +...((......)).. 0.70 0.538 9 i 0 +...(((....))).. -0.10 3.151 7 i 0 +..((((....)))). -0.60 3.397 6 _ 1 X1 +............... 0.00 0.793 24 i 1 +.......(....).. 2.10 0.820 10 d 0 +............... 0.00 1.892 24 i 1 +...(........).. 1.80 1.898 12 d 0 +............... 0.00 2.653 24 i 1 +.....(.......). 5.50 2.654 10 d 2 +............... 0.00 4.545 24 i 1 +..(....)....... 4.20 4.547 13 d 0 +............... 0.00 5.079 24 i 1 +.......(....).. 2.10 5.168 10 d 0 +............... 0.00 7.826 24 i 1 +...(........).. 1.80 7.993 12 d 0 +............... 0.00 8.472 24 i 1 +...(........).. 1.80 9.106 12 d 0 +............... 0.00 11.651 24 i 1 +.......(....).. 2.10 11.861 10 d 0 +............... 0.00 12.008 24 i 1 +...(........).. 1.80 12.011 12 d 0 +............... 0.00 12.876 24 i 1 +(....)......... 5.90 12.877 12 d 0 +............... 0.00 13.481 24 i 1 +...(........).. 1.80 13.679 12 d 0 +............... 0.00 13.833 24 i 1 +.......(......) 3.20 13.837 9 d 0 +............... 0.00 14.402 24 i 1 +..(....)....... 4.20 14.457 13 d 0 +............... 0.00 15.622 24 i 1 +...(........).. 1.80 15.714 12 d 0 +............... 0.00 15.857 24 i 1 +.(........).... 2.80 16.090 12 d 0 +............... 0.00 16.493 24 i 1 +..(......)..... 4.80 16.493 10 d 0 +............... 0.00 17.131 24 i 1 +.......(....).. 2.10 17.236 10 i 0 +.....(.(....)). 5.50 17.249 6 d 2 +.......(....).. 2.10 17.307 10 s 0 +.......(......) 3.20 17.308 9 s 0 +.......(....).. 2.10 17.359 10 d 0 +............... 0.00 17.850 24 i 1 +..(....)....... 4.20 17.853 13 d 0 +............... 0.00 18.199 24 i 1 +.......(......) 3.20 18.205 9 i 0 +.......((....)) 2.80 19.694 6 d 1 +.......(......) 3.20 19.706 9 i 0 +.......((....)) 2.80 20.133 6 d 1 +.......(......) 3.20 20.375 9 d 0 +............... 0.00 21.037 24 i 1 +..(....)....... 4.20 21.079 13 d 0 +............... 0.00 21.111 24 i 1 +...(........).. 1.80 21.243 12 i 0 +...((......)).. 0.70 21.519 9 i 0 +..(((......))). 0.20 21.731 8 d 0 +..((........)). 1.30 21.757 11 d 0 +...(........).. 1.80 21.839 12 d 0 +............... 0.00 22.513 24 i 1 +...(........).. 1.80 22.606 12 S 0 +.......(....).. 2.10 22.728 10 d 0 +............... 0.00 22.797 24 i 1 +......(...).... 5.00 22.800 13 d 2 +............... 0.00 23.800 24 i 1 +.(........).... 2.80 23.810 12 i 0 +.((......)).... 2.00 23.973 8 i 0 +(((......)))... 1.30 24.443 7 d 0 +((........))... 2.10 24.683 11 i 0 +(((......)))... 1.30 24.724 7 i 0 +((((....))))... 0.40 24.800 5 d 1 +(((......)))... 1.30 25.282 7 i 0 +((((....))))... 0.40 25.511 5 d 1 +(((......)))... 1.30 25.676 7 d 0 +((........))... 2.10 26.263 11 d 0 +.(........).... 2.80 26.284 12 d 0 +............... 0.00 27.482 24 i 1 +.......(....).. 2.10 27.697 10 d 0 +............... 0.00 27.921 24 i 1 +.......(....).. 2.10 28.000 10 d 0 +............... 0.00 28.692 24 i 1 +...(........).. 1.80 28.944 12 i 0 +...(.(...)..).. 9.30 28.945 7 d 0 +...(........).. 1.80 28.952 12 i 0 +...((......)).. 0.70 29.067 9 i 0 +...(((....))).. -0.10 29.608 7 i 0 +..((((....)))). -0.60 29.864 6 _ 1 X1 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/traj.ae b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/traj.ae new file mode 100755 index 00000000..a24120cf --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/traj.ae @@ -0,0 +1,813 @@ +((((....))))... 0.40 0.978 5 d 1 +(((......)))... 1.30 1.097 7 i 0 +((((....))))... 0.40 1.693 5 d 1 +(((......)))... 1.30 2.057 7 d 0 +((........))... 2.10 2.294 11 i 0 +(((......)))... 1.30 2.966 7 i 0 +((((....))))... 0.40 3.028 5 d 1 +.(((....))).... 1.10 3.490 6 d 0 +..((....))..... 3.90 3.576 8 i 0 +.(((....))).... 1.10 4.423 6 i 0 +((((....))))... 0.40 4.542 5 d 1 +(((......)))... 1.30 5.269 7 i 0 +((((....))))... 0.40 6.402 5 d 1 +((.(....).))... 4.60 6.404 6 i 0 +((((....))))... 0.40 7.354 5 d 1 +.(((....))).... 1.10 7.588 6 i 0 +((((....))))... 0.40 7.928 5 d 1 +(((......)))... 1.30 7.955 7 i 0 +((((....))))... 0.40 8.611 5 d 1 +.(((....))).... 1.10 8.954 6 d 0 +.(.(....).).... 5.30 8.992 7 i 0 +.(((....))).... 1.10 9.373 6 i 0 +((((....))))... 0.40 9.643 5 d 1 +.(((....))).... 1.10 9.959 6 i 0 +((((....))))... 0.40 10.071 5 d 1 +.(((....))).... 1.10 10.327 6 i 0 +((((....))))... 0.40 11.768 5 d 1 +.(((....))).... 1.10 12.221 6 i 0 +((((....))))... 0.40 13.621 5 d 1 +(((......)))... 1.30 13.820 7 i 0 +((((....))))... 0.40 15.389 5 d 1 +.(((....))).... 1.10 16.499 6 i 0 +((((....))))... 0.40 16.901 5 d 1 +(((......)))... 1.30 17.027 7 i 0 +((((....))))... 0.40 17.173 5 d 1 +.(((....))).... 1.10 17.215 6 d 0 +..((....))..... 3.90 17.224 8 i 0 +.(((....))).... 1.10 17.282 6 i 0 +((((....))))... 0.40 18.872 5 d 1 +.(((....))).... 1.10 19.374 6 i 0 +((((....))))... 0.40 20.811 5 d 1 +.(((....))).... 1.10 21.285 6 i 0 +((((....))))... 0.40 21.629 5 d 1 +.(((....))).... 1.10 21.633 6 i 0 +((((....))))... 0.40 21.654 5 d 1 +.(((....))).... 1.10 22.008 6 i 0 +((((....))))... 0.40 22.338 5 d 1 +(((......)))... 1.30 22.508 7 d 0 +((........))... 2.10 22.622 11 i 0 +(((......)))... 1.30 23.207 7 i 0 +((((....))))... 0.40 23.583 5 d 1 +(((......)))... 1.30 23.692 7 i 0 +((((....))))... 0.40 27.006 5 d 1 +(((......)))... 1.30 27.200 7 i 0 +((((....))))... 0.40 28.207 5 d 1 +(((......)))... 1.30 28.691 7 i 0 +((((....))))... 0.40 29.143 5 d 1 +.(((....))).... 1.10 29.205 6 i 0 +((((....))))... 0.40 29.293 5 d 1 +(((......)))... 1.30 29.428 7 d 0 +(.(......).)... 7.30 29.433 8 i 0 +(((......)))... 1.30 29.872 7 i 0 +((((....))))... 0.40 31.591 5 d 1 +.(((....))).... 1.10 31.899 6 i 0 +((((....))))... 0.40 33.064 5 d 1 +.(((....))).... 1.10 33.431 6 i 0 +((((....))))... 0.40 33.462 5 d 1 +(((......)))... 1.30 33.497 7 d 0 +.((......)).... 2.00 33.497 8 i 0 +.(((....))).... 1.10 33.633 6 i 0 +((((....))))... 0.40 36.022 5 d 1 +.(((....))).... 1.10 36.255 6 i 0 +((((....))))... 0.40 36.890 5 S 1 +(((.(...))))... 4.80 36.900 5 S 0 +((((....))))... 0.40 37.208 5 d 1 +(((......)))... 1.30 37.211 7 i 0 +((((....))))... 0.40 37.267 5 d 1 +.(((....))).... 1.10 37.511 6 i 0 +((((....))))... 0.40 37.921 5 d 1 +(((......)))... 1.30 37.996 7 i 0 +((((....))))... 0.40 38.006 5 d 1 +.(((....))).... 1.10 39.543 6 i 0 +((((....))))... 0.40 41.911 5 d 1 +(((......)))... 1.30 42.121 7 d 0 +.((......)).... 2.00 42.760 8 i 0 +.((.(...))).... 5.50 42.760 6 S 0 +.(((....))).... 1.10 43.034 6 i 0 +((((....))))... 0.40 43.467 5 d 1 +(((......)))... 1.30 43.505 7 d 0 +((........))... 2.10 43.579 11 d 0 +.(........).... 2.80 43.581 12 i 0 +((........))... 2.10 43.608 11 i 0 +(((......)))... 1.30 43.646 7 d 0 +((........))... 2.10 43.846 11 i 0 +(((......)))... 1.30 44.253 7 d 0 +((........))... 2.10 44.362 11 i 0 +(((......)))... 1.30 44.619 7 d 0 +.((......)).... 2.00 44.927 8 i 0 +.(((....))).... 1.10 46.271 6 d 0 +.((......)).... 2.00 46.281 8 i 0 +(((......)))... 1.30 46.310 7 i 0 +((((....))))... 0.40 46.730 5 d 1 +(((......)))... 1.30 46.732 7 d 0 +.((......)).... 2.00 46.752 8 i 0 +.(((....))).... 1.10 46.793 6 d 0 +.((......)).... 2.00 47.038 8 i 0 +.(((....))).... 1.10 48.384 6 i 0 +((((....))))... 0.40 49.173 5 d 1 +.(((....))).... 1.10 49.342 6 i 0 +((((....))))... 0.40 49.846 5 d 1 +.(((....))).... 1.10 51.006 6 d 0 +.((......)).... 2.00 51.258 8 i 0 +.(((....))).... 1.10 51.418 6 d 0 +.((......)).... 2.00 51.864 8 s 0 +.((....)..).... 6.60 51.894 5 s 0 +.((......)).... 2.00 52.076 8 i 0 +(((......)))... 1.30 52.120 7 i 0 +((((....))))... 0.40 54.096 5 d 1 +.(((....))).... 1.10 54.105 6 i 0 +((((....))))... 0.40 54.132 5 d 1 +.(((....))).... 1.10 54.211 6 i 0 +((((....))))... 0.40 55.985 5 d 1 +(((......)))... 1.30 56.439 7 d 0 +((........))... 2.10 56.655 11 i 0 +(((......)))... 1.30 57.291 7 d 0 +((........))... 2.10 57.470 11 d 0 +.(........).... 2.80 57.666 12 i 0 +((........))... 2.10 58.638 11 d 0 +.(........).... 2.80 58.651 12 d 0 +............... 0.00 61.380 24 i 1 +.......(....).. 2.10 61.481 10 d 0 +............... 0.00 61.639 24 i 1 +(.......)...... 4.20 61.644 9 s 0 +(....)......... 5.90 61.653 12 d 0 +............... 0.00 62.342 24 i 1 +...(........).. 1.80 62.416 12 d 0 +............... 0.00 64.641 24 i 1 +(..........)... 5.40 64.642 16 d 0 +............... 0.00 64.718 24 i 1 +(.......)...... 4.20 64.738 9 d 0 +............... 0.00 66.415 24 i 1 +.......(....).. 2.10 66.631 10 S 0 +...(........).. 1.80 66.858 12 i 0 +...((......)).. 0.70 66.889 9 i 0 +..(((......))). 0.20 66.992 8 i 0 +..(((.(...)))). 2.70 67.049 5 S 0 +..((((....)))). -0.60 67.304 6 _ 1 X1 +((((....))))... 0.40 0.265 5 d 1 +.(((....))).... 1.10 0.416 6 i 0 +((((....))))... 0.40 0.882 5 d 1 +.(((....))).... 1.10 1.119 6 d 0 +.((......)).... 2.00 1.172 8 i 0 +(((......)))... 1.30 2.099 7 d 0 +.((......)).... 2.00 2.164 8 i 0 +.(((....))).... 1.10 2.251 6 d 0 +.((......)).... 2.00 2.485 8 i 0 +(((......)))... 1.30 2.955 7 i 0 +((((....))))... 0.40 5.751 5 d 1 +(((......)))... 1.30 6.696 7 i 0 +((((....))))... 0.40 8.703 5 d 1 +(((......)))... 1.30 8.860 7 d 0 +.((......)).... 2.00 8.939 8 i 0 +(((......)))... 1.30 10.061 7 i 0 +((((....))))... 0.40 10.422 5 d 1 +.(((....))).... 1.10 10.549 6 i 0 +((((....))))... 0.40 10.990 5 d 1 +(((......)))... 1.30 11.018 7 i 0 +((((....))))... 0.40 11.375 5 d 1 +.(((....))).... 1.10 11.811 6 d 0 +.((......)).... 2.00 12.134 8 i 0 +.(((....))).... 1.10 12.335 6 i 0 +((((....))))... 0.40 13.085 5 d 1 +(((......)))... 1.30 13.353 7 d 0 +.((......)).... 2.00 13.359 8 i 0 +(((......)))... 1.30 13.741 7 i 0 +((((....))))... 0.40 14.274 5 d 1 +.(((....))).... 1.10 14.346 6 i 0 +((((....))))... 0.40 14.428 5 d 1 +.(((....))).... 1.10 14.563 6 i 0 +((((....))))... 0.40 14.916 5 d 1 +.(((....))).... 1.10 15.422 6 i 0 +((((....))))... 0.40 17.856 5 d 1 +(((......)))... 1.30 17.872 7 i 0 +((((....))))... 0.40 18.186 5 d 1 +(((......)))... 1.30 18.510 7 i 0 +((((....))))... 0.40 19.773 5 d 1 +(((......)))... 1.30 20.587 7 d 0 +((........))... 2.10 22.241 11 i 0 +(((......)))... 1.30 23.223 7 d 0 +((........))... 2.10 23.323 11 i 0 +(((......)))... 1.30 23.326 7 i 0 +((((....))))... 0.40 23.449 5 d 1 +(((......)))... 1.30 23.585 7 i 0 +((((....))))... 0.40 24.373 5 d 1 +.(((....))).... 1.10 24.643 6 i 0 +((((....))))... 0.40 26.047 5 d 1 +(((......)))... 1.30 26.290 7 i 0 +((((....))))... 0.40 28.291 5 d 1 +(((......)))... 1.30 28.294 7 i 0 +((((....))))... 0.40 28.396 5 d 1 +.(((....))).... 1.10 29.071 6 i 0 +((((....))))... 0.40 31.925 5 d 1 +.(((....))).... 1.10 32.342 6 i 0 +((((....))))... 0.40 33.311 5 d 1 +.(((....))).... 1.10 33.495 6 i 0 +((((....))))... 0.40 35.880 5 d 1 +.(((....))).... 1.10 36.029 6 i 0 +((((....))))... 0.40 36.195 5 d 1 +.(((....))).... 1.10 36.235 6 i 0 +((((....))))... 0.40 36.357 5 d 1 +(((......)))... 1.30 36.579 7 i 0 +((((....))))... 0.40 39.209 5 d 1 +.(((....))).... 1.10 40.215 6 i 0 +((((....))))... 0.40 40.459 5 d 1 +.(((....))).... 1.10 40.720 6 i 0 +((((....))))... 0.40 41.187 5 d 1 +.(((....))).... 1.10 41.396 6 i 0 +((((....))))... 0.40 41.738 5 d 1 +(((......)))... 1.30 41.823 7 d 0 +((........))... 2.10 41.921 11 i 0 +(((......)))... 1.30 42.981 7 d 0 +.((......)).... 2.00 43.093 8 i 0 +.(((....))).... 1.10 43.584 6 i 0 +((((....))))... 0.40 43.642 5 d 1 +.(((....))).... 1.10 43.657 6 i 0 +((((....))))... 0.40 43.837 5 d 1 +.(((....))).... 1.10 44.265 6 d 0 +.((......)).... 2.00 44.323 8 i 0 +(((......)))... 1.30 44.373 7 d 0 +.((......)).... 2.00 44.387 8 i 0 +(((......)))... 1.30 45.488 7 d 0 +.((......)).... 2.00 46.270 8 i 0 +(((......)))... 1.30 46.417 7 d 0 +.((......)).... 2.00 46.857 8 i 0 +.(((....))).... 1.10 46.968 6 i 0 +((((....))))... 0.40 47.434 5 d 1 +(((......)))... 1.30 47.711 7 d 0 +((........))... 2.10 48.799 11 i 0 +(((......)))... 1.30 48.897 7 i 0 +((((....))))... 0.40 48.928 5 d 1 +.(((....))).... 1.10 49.192 6 d 0 +.((......)).... 2.00 49.470 8 i 0 +(((......)))... 1.30 49.565 7 i 0 +((((....))))... 0.40 51.436 5 d 1 +.(((....))).... 1.10 51.698 6 i 0 +((((....))))... 0.40 52.297 5 d 1 +.(((....))).... 1.10 52.531 6 d 0 +.((......)).... 2.00 52.546 8 i 0 +.(((....))).... 1.10 52.573 6 i 0 +((((....))))... 0.40 53.084 5 d 1 +(((......)))... 1.30 53.333 7 i 0 +((((....))))... 0.40 54.620 5 d 1 +((.(....).))... 4.60 54.679 6 d 0 +((........))... 2.10 54.996 11 i 0 +((.(....).))... 4.60 55.002 6 i 0 +((((....))))... 0.40 55.138 5 d 1 +.(((....))).... 1.10 55.443 6 i 0 +((((....))))... 0.40 55.572 5 d 1 +.(((....))).... 1.10 55.784 6 i 0 +((((....))))... 0.40 58.258 5 d 1 +(((......)))... 1.30 58.564 7 i 0 +((((....))))... 0.40 58.623 5 d 1 +.(((....))).... 1.10 59.578 6 i 0 +((((....))))... 0.40 59.754 5 d 1 +.(((....))).... 1.10 60.332 6 d 0 +.((......)).... 2.00 60.580 8 i 0 +(((......)))... 1.30 60.971 7 i 0 +((((....))))... 0.40 63.220 5 d 1 +((.(....).))... 4.60 63.235 6 i 0 +((((....))))... 0.40 65.223 5 d 1 +(((......)))... 1.30 65.287 7 i 0 +((((....))))... 0.40 65.912 5 d 1 +(((......)))... 1.30 65.944 7 d 0 +.((......)).... 2.00 66.003 8 i 0 +.(((....))).... 1.10 66.158 6 i 0 +((((....))))... 0.40 66.563 5 d 1 +.(((....))).... 1.10 66.687 6 d 0 +.((......)).... 2.00 66.694 8 i 0 +.(((....))).... 1.10 66.928 6 i 0 +((((....))))... 0.40 67.720 5 d 1 +(((......)))... 1.30 68.380 7 i 0 +((((....))))... 0.40 70.343 5 d 1 +.(((....))).... 1.10 71.057 6 S 0 +.((.(...))).... 5.50 71.065 6 d 0 +.((......)).... 2.00 71.106 8 d 0 +.(........).... 2.80 71.175 12 i 0 +.((......)).... 2.00 71.315 8 i 0 +.(((....))).... 1.10 71.378 6 i 0 +((((....))))... 0.40 71.433 5 d 1 +.(((....))).... 1.10 72.072 6 i 0 +((((....))))... 0.40 73.485 5 d 1 +(((......)))... 1.30 73.723 7 i 0 +((((....))))... 0.40 73.951 5 d 1 +(((......)))... 1.30 73.967 7 i 0 +((((....))))... 0.40 74.479 5 d 1 +.(((....))).... 1.10 74.664 6 i 0 +((((....))))... 0.40 74.755 5 d 1 +.(((....))).... 1.10 74.819 6 d 0 +.((......)).... 2.00 75.531 8 i 0 +.(((....))).... 1.10 75.893 6 i 0 +((((....))))... 0.40 76.525 5 d 1 +.(((....))).... 1.10 76.835 6 i 0 +((((....))))... 0.40 77.375 5 d 1 +.(((....))).... 1.10 78.549 6 d 0 +.((......)).... 2.00 78.571 8 i 0 +(((......)))... 1.30 78.605 7 i 0 +((((....))))... 0.40 79.408 5 d 1 +.(((....))).... 1.10 80.116 6 i 0 +((((....))))... 0.40 80.998 5 d 1 +(((......)))... 1.30 81.704 7 d 0 +((........))... 2.10 81.730 11 i 0 +(((......)))... 1.30 81.790 7 i 0 +((((....))))... 0.40 83.169 5 d 1 +(((......)))... 1.30 83.253 7 d 0 +.((......)).... 2.00 83.436 8 d 0 +.(........).... 2.80 83.579 12 d 0 +............... 0.00 83.678 24 i 1 +...(..........) 5.40 83.686 15 d 0 +............... 0.00 85.370 24 i 1 +.....(...)..... 5.60 85.373 14 d 0 +............... 0.00 87.140 24 i 1 +...(........).. 1.80 87.166 12 i 0 +...((......)).. 0.70 87.338 9 i 0 +..(((......))). 0.20 87.606 8 i 0 +..((((....)))). -0.60 89.090 6 _ 1 X1 +((((....))))... 0.40 0.678 5 d 1 +.(((....))).... 1.10 0.750 6 d 0 +.((......)).... 2.00 0.918 8 i 0 +.(((....))).... 1.10 1.312 6 d 0 +..((....))..... 3.90 1.578 8 i 0 +.(((....))).... 1.10 1.624 6 d 0 +..((....))..... 3.90 1.692 8 i 0 +.(((....))).... 1.10 1.750 6 i 0 +((((....))))... 0.40 4.074 5 d 1 +((.(....).))... 4.60 4.074 6 i 0 +((((....))))... 0.40 4.800 5 d 1 +(((......)))... 1.30 5.060 7 d 0 +((........))... 2.10 5.101 11 d 0 +.(........).... 2.80 5.160 12 i 0 +.((......)).... 2.00 5.214 8 d 0 +..(......)..... 4.80 5.219 10 d 0 +............... 0.00 5.350 24 i 1 +.(........).... 2.80 5.362 12 d 0 +............... 0.00 7.244 24 i 1 +...(........).. 1.80 7.315 12 i 0 +...((......)).. 0.70 7.331 9 i 0 +..(((......))). 0.20 7.745 8 i 0 +..((((....)))). -0.60 8.332 6 _ 1 X1 +((((....))))... 0.40 0.173 5 d 1 +(((......)))... 1.30 0.768 7 i 0 +((((....))))... 0.40 1.566 5 d 1 +(((......)))... 1.30 2.176 7 i 0 +((((....))))... 0.40 2.691 5 d 1 +(((......)))... 1.30 2.868 7 i 0 +((((....))))... 0.40 2.949 5 d 1 +(((......)))... 1.30 3.380 7 i 0 +((((....))))... 0.40 5.203 5 d 1 +(((......)))... 1.30 5.434 7 i 0 +((((....))))... 0.40 6.219 5 d 1 +(((......)))... 1.30 6.811 7 i 0 +((((....))))... 0.40 7.414 5 d 1 +.(((....))).... 1.10 8.088 6 i 0 +((((....))))... 0.40 8.392 5 d 1 +.(((....))).... 1.10 9.119 6 i 0 +((((....))))... 0.40 10.302 5 d 1 +.(((....))).... 1.10 10.633 6 i 0 +((((....))))... 0.40 11.778 5 d 1 +(((......)))... 1.30 11.808 7 i 0 +((((....))))... 0.40 11.809 5 d 1 +.(((....))).... 1.10 12.048 6 i 0 +((((....))))... 0.40 12.589 5 d 1 +(((......)))... 1.30 12.689 7 d 0 +((........))... 2.10 13.245 11 i 0 +(((......)))... 1.30 13.612 7 i 0 +((((....))))... 0.40 14.376 5 d 1 +(((......)))... 1.30 14.380 7 i 0 +((((....))))... 0.40 14.727 5 d 1 +(((......)))... 1.30 15.649 7 d 0 +.((......)).... 2.00 15.714 8 s 0 +.((....)..).... 6.60 15.714 5 d 0 +.(........).... 2.80 15.730 12 d 0 +............... 0.00 15.879 24 i 1 +.......(....).. 2.10 15.968 10 d 0 +............... 0.00 16.186 24 i 1 +.......(......) 3.20 16.204 9 d 0 +............... 0.00 16.535 24 i 1 +.(........).... 2.80 16.537 12 d 0 +............... 0.00 16.559 24 i 1 +.......(....).. 2.10 16.659 10 d 0 +............... 0.00 17.329 24 i 1 +.(.....)....... 3.10 17.431 10 d 0 +............... 0.00 17.566 24 i 1 +...(........).. 1.80 17.672 12 d 0 +............... 0.00 18.127 24 i 1 +.......(....).. 2.10 18.137 10 d 0 +............... 0.00 18.912 24 i 1 +.(.....)....... 3.10 18.967 10 d 0 +............... 0.00 19.050 24 i 1 +...(........).. 1.80 19.148 12 i 0 +...((......)).. 0.70 19.234 9 i 0 +..(((......))). 0.20 19.396 8 i 0 +..((((...).))). 4.30 19.404 5 s 0 +..((((....)))). -0.60 21.474 6 _ 1 X1 +((((....))))... 0.40 0.396 5 d 1 +(((......)))... 1.30 0.461 7 i 0 +((((....))))... 0.40 0.926 5 d 1 +(((......)))... 1.30 1.622 7 d 0 +((........))... 2.10 2.586 11 i 0 +(((......)))... 1.30 3.202 7 i 0 +((((....))))... 0.40 3.449 5 d 1 +(((......)))... 1.30 3.602 7 i 0 +((((....))))... 0.40 4.043 5 d 1 +.(((....))).... 1.10 4.055 6 i 0 +((((....))))... 0.40 4.274 5 d 1 +.(((....))).... 1.10 4.645 6 d 0 +.((......)).... 2.00 4.818 8 d 0 +..(......)..... 4.80 4.829 10 d 0 +............... 0.00 4.938 24 i 1 +.....(...)..... 5.60 4.945 14 d 0 +............... 0.00 5.345 24 i 1 +..(.......).... 4.90 5.351 12 d 0 +............... 0.00 7.507 24 i 1 +..(....)....... 4.20 7.516 13 d 0 +............... 0.00 7.565 24 i 1 +.......(....).. 2.10 7.578 10 s 0 +.......(......) 3.20 7.655 9 d 0 +............... 0.00 8.823 24 i 1 +.......(....).. 2.10 8.874 10 d 0 +............... 0.00 11.756 24 i 1 +........(....). 5.10 11.845 11 s 0 +...(....)...... 4.90 11.860 13 d 0 +............... 0.00 11.918 24 i 1 +.(........).... 2.80 11.935 12 i 0 +.(.(....).).... 5.30 11.952 7 i 0 +.(((....))).... 1.10 13.403 6 i 0 +((((....))))... 0.40 13.524 5 d 1 +.(((....))).... 1.10 14.546 6 d 0 +.((......)).... 2.00 14.627 8 i 0 +(((......)))... 1.30 15.027 7 i 0 +((((....))))... 0.40 16.326 5 d 1 +(((......)))... 1.30 16.415 7 i 0 +((((....))))... 0.40 17.065 5 d 1 +(((......)))... 1.30 17.545 7 i 0 +((((....))))... 0.40 18.397 5 d 1 +.(((....))).... 1.10 18.463 6 i 0 +((((....))))... 0.40 18.894 5 d 1 +.(((....))).... 1.10 18.910 6 d 0 +.((......)).... 2.00 19.029 8 i 0 +.(((....))).... 1.10 19.595 6 i 0 +((((....))))... 0.40 19.827 5 d 1 +(((......)))... 1.30 20.332 7 d 0 +((........))... 2.10 20.393 11 d 0 +.(........).... 2.80 20.543 12 d 0 +............... 0.00 21.689 24 i 1 +.......(....).. 2.10 21.821 10 d 0 +............... 0.00 22.099 24 i 1 +..(....)....... 4.20 22.110 13 d 0 +............... 0.00 22.234 24 i 1 +.......(....).. 2.10 22.517 10 d 0 +............... 0.00 22.599 24 i 1 +.......(....).. 2.10 22.717 10 s 0 +.......(......) 3.20 22.863 9 i 0 +.......((....)) 2.80 24.062 6 d 1 +.......(......) 3.20 24.090 9 d 0 +............... 0.00 24.140 24 i 1 +..(..........). 5.20 24.150 16 d 0 +............... 0.00 24.275 24 i 1 +.......(....).. 2.10 24.750 10 d 0 +............... 0.00 26.055 24 i 1 +.......(....).. 2.10 26.059 10 d 0 +............... 0.00 27.865 24 i 1 +..(......)..... 4.80 27.876 10 d 0 +............... 0.00 28.200 24 i 1 +.(.....)....... 3.10 28.292 10 d 0 +............... 0.00 28.690 24 i 1 +...(........).. 1.80 29.044 12 i 0 +...((......)).. 0.70 30.424 9 i 0 +..(((......))). 0.20 30.735 8 i 0 +..((((....)))). -0.60 31.761 6 _ 1 X1 +((((....))))... 0.40 0.328 5 d 1 +.(((....))).... 1.10 1.061 6 i 0 +((((....))))... 0.40 1.159 5 d 1 +.(((....))).... 1.10 1.759 6 d 0 +.((......)).... 2.00 2.171 8 d 0 +..(......)..... 4.80 2.193 10 i 0 +.((......)).... 2.00 2.312 8 d 0 +.(........).... 2.80 2.447 12 d 0 +............... 0.00 6.435 24 i 1 +.......(....).. 2.10 6.473 10 d 0 +............... 0.00 7.075 24 i 1 +.......(......) 3.20 7.162 9 s 0 +.......(....).. 2.10 7.637 10 d 0 +............... 0.00 7.645 24 i 1 +...(........).. 1.80 7.796 12 d 0 +............... 0.00 8.422 24 i 1 +(....)......... 5.90 8.424 12 d 0 +............... 0.00 10.811 24 i 1 +.......(....).. 2.10 10.861 10 d 0 +............... 0.00 11.960 24 i 1 +..(....)....... 4.20 11.965 13 S 0 +.(.....)....... 3.10 11.985 10 d 0 +............... 0.00 13.497 24 i 1 +.......(....).. 2.10 13.896 10 d 0 +............... 0.00 14.903 24 i 1 +.(.....)....... 3.10 14.915 10 S 0 +.......(....).. 2.10 15.096 10 s 0 +.(.....)....... 3.10 15.149 10 i 0 +((.....))...... 1.80 15.325 6 d 1 +.(.....)....... 3.10 15.326 10 d 0 +............... 0.00 16.323 24 i 1 +.(.....)....... 3.10 16.365 10 d 0 +............... 0.00 16.695 24 i 1 +....(...)...... 5.60 16.715 14 d 0 +............... 0.00 16.984 24 i 1 +........(....). 5.10 16.997 11 s 0 +(.......)...... 4.20 17.021 9 d 0 +............... 0.00 19.510 24 i 1 +...(........).. 1.80 19.530 12 d 0 +............... 0.00 19.664 24 i 1 +......(...).... 5.00 19.684 13 d 2 +............... 0.00 20.898 24 i 1 +...(........).. 1.80 21.032 12 d 0 +............... 0.00 21.346 24 i 1 +.......(....).. 2.10 21.459 10 d 0 +............... 0.00 22.591 24 i 1 +..(....)....... 4.20 22.601 13 S 0 +.(.....)....... 3.10 22.613 10 d 0 +............... 0.00 23.575 24 i 1 +..(.......).... 4.90 23.586 12 S 0 +.(........).... 2.80 23.715 12 d 0 +............... 0.00 24.467 24 i 1 +.(.....)....... 3.10 24.560 10 d 0 +............... 0.00 26.253 24 i 1 +..(......)..... 4.80 26.255 10 d 0 +............... 0.00 26.958 24 i 1 +.....(....).... 5.00 26.964 14 d 2 +............... 0.00 27.634 24 i 1 +.......(....).. 2.10 27.638 10 d 0 +............... 0.00 28.569 24 i 1 +(.......)...... 4.20 28.624 9 d 0 +............... 0.00 29.419 24 i 1 +...(........).. 1.80 29.478 12 d 0 +............... 0.00 30.139 24 i 1 +...(........).. 1.80 30.175 12 S 0 +.......(....).. 2.10 30.236 10 d 0 +............... 0.00 32.185 24 i 1 +.......(....).. 2.10 32.465 10 d 0 +............... 0.00 32.835 24 i 1 +........(....). 5.10 32.835 11 d 0 +............... 0.00 32.979 24 i 1 +.(.....)....... 3.10 32.985 10 S 0 +.......(....).. 2.10 33.043 10 S 0 +...(........).. 1.80 33.057 12 i 0 +...((......)).. 0.70 33.167 9 i 0 +...(((....))).. -0.10 33.184 7 i 0 +..((((....)))). -0.60 33.787 6 _ 1 X1 +((((....))))... 0.40 0.004 5 d 1 +(((......)))... 1.30 0.120 7 d 0 +((........))... 2.10 0.259 11 d 0 +.(........).... 2.80 0.267 12 d 0 +............... 0.00 0.435 24 i 1 +.......(....).. 2.10 0.436 10 d 0 +............... 0.00 2.741 24 i 1 +....(......)... 4.80 2.749 11 i 0 +...((......)).. 0.70 3.014 9 i 0 +..(((......))). 0.20 3.214 8 i 0 +..((((....)))). -0.60 4.436 6 _ 1 X1 +((((....))))... 0.40 0.008 5 d 1 +(((......)))... 1.30 0.665 7 i 0 +((((....))))... 0.40 0.775 5 S 1 +(((.(...))))... 4.80 0.778 5 S 0 +((((....))))... 0.40 0.856 5 d 1 +(((......)))... 1.30 0.913 7 i 0 +((((....))))... 0.40 3.358 5 d 1 +(((......)))... 1.30 3.428 7 d 0 +.((......)).... 2.00 3.487 8 i 0 +(((......)))... 1.30 3.512 7 d 0 +((........))... 2.10 3.680 11 i 0 +(((......)))... 1.30 4.162 7 i 0 +((((....))))... 0.40 4.165 5 d 1 +.(((....))).... 1.10 4.390 6 i 0 +((((....))))... 0.40 4.434 5 d 1 +.(((....))).... 1.10 4.643 6 d 0 +.((......)).... 2.00 4.699 8 i 0 +.(((....))).... 1.10 5.269 6 i 0 +((((....))))... 0.40 6.307 5 d 1 +(((......)))... 1.30 6.811 7 i 0 +((((....))))... 0.40 6.820 5 d 1 +(((......)))... 1.30 7.248 7 i 0 +((((....))))... 0.40 7.411 5 S 1 +(((.(...))))... 4.80 7.412 5 d 0 +(((......)))... 1.30 7.800 7 i 0 +((((....))))... 0.40 8.136 5 S 1 +(((.(...))))... 4.80 8.144 5 S 0 +((((....))))... 0.40 9.043 5 d 1 +.(((....))).... 1.10 9.352 6 i 0 +((((....))))... 0.40 10.485 5 d 1 +(((......)))... 1.30 10.673 7 d 0 +((........))... 2.10 10.799 11 i 0 +(((......)))... 1.30 11.096 7 i 0 +((((....))))... 0.40 12.453 5 d 1 +(.((....)).)... 6.40 12.457 6 i 0 +((((....))))... 0.40 12.809 5 d 1 +.(((....))).... 1.10 13.192 6 i 0 +((((....))))... 0.40 13.490 5 d 1 +(((......)))... 1.30 13.526 7 d 0 +.((......)).... 2.00 14.046 8 d 0 +.(........).... 2.80 14.168 12 d 0 +............... 0.00 14.582 24 i 1 +..(......)..... 4.80 14.594 10 d 0 +............... 0.00 15.487 24 i 1 +.(........).... 2.80 15.508 12 d 0 +............... 0.00 17.471 24 i 1 +.......(......) 3.20 17.495 9 i 0 +.......((....)) 2.80 17.809 6 d 1 +.......(......) 3.20 17.899 9 d 0 +............... 0.00 18.691 24 i 1 +.(........).... 2.80 18.917 12 d 0 +............... 0.00 20.907 24 i 1 +.(.....)....... 3.10 21.043 10 d 0 +............... 0.00 21.214 24 i 1 +.......(....).. 2.10 21.307 10 d 0 +............... 0.00 25.976 24 i 1 +..(......)..... 4.80 25.986 10 d 0 +............... 0.00 26.109 24 i 1 +.......(....).. 2.10 26.162 10 d 0 +............... 0.00 26.669 24 i 1 +...(........).. 1.80 26.728 12 d 0 +............... 0.00 28.296 24 i 1 +..(..........). 5.20 28.314 16 d 0 +............... 0.00 28.771 24 i 1 +.(........).... 2.80 28.872 12 d 0 +............... 0.00 31.255 24 i 1 +.....(....).... 5.00 31.260 14 d 2 +............... 0.00 32.864 24 i 1 +..(....)....... 4.20 32.889 13 D 0 +..(....)....... 4.20 33.006 13 d 0 +............... 0.00 35.626 24 i 1 +.......(....).. 2.10 35.692 10 d 0 +............... 0.00 35.830 24 i 1 +.....(.......). 5.50 35.838 10 d 2 +............... 0.00 36.363 24 i 1 +...(........).. 1.80 36.445 12 d 0 +............... 0.00 36.635 24 i 1 +..........(...) 5.50 36.699 15 d 0 +............... 0.00 36.824 24 i 1 +.......(....).. 2.10 36.916 10 d 0 +............... 0.00 37.390 24 i 1 +...(........).. 1.80 37.629 12 i 0 +...((......)).. 0.70 37.722 9 i 0 +...(((....))).. -0.10 38.062 7 i 0 +..((((....)))). -0.60 38.070 6 _ 1 X1 +((((....))))... 0.40 2.027 5 d 1 +.(((....))).... 1.10 2.957 6 i 0 +((((....))))... 0.40 3.178 5 d 1 +.(((....))).... 1.10 3.178 6 i 0 +((((....))))... 0.40 3.707 5 d 1 +(((......)))... 1.30 5.020 7 d 0 +((........))... 2.10 5.276 11 i 0 +(((......)))... 1.30 5.545 7 d 0 +.((......)).... 2.00 6.328 8 i 0 +.(((....))).... 1.10 6.486 6 i 0 +((((....))))... 0.40 8.767 5 d 1 +.(((....))).... 1.10 9.793 6 i 0 +((((....))))... 0.40 12.306 5 d 1 +.(((....))).... 1.10 13.032 6 d 0 +.((......)).... 2.00 13.059 8 i 0 +(((......)))... 1.30 13.338 7 d 0 +((........))... 2.10 14.803 11 d 0 +.(........).... 2.80 14.808 12 i 0 +((........))... 2.10 14.914 11 i 0 +(((......)))... 1.30 15.422 7 i 0 +((((....))))... 0.40 15.472 5 d 1 +(((......)))... 1.30 16.221 7 d 0 +.((......)).... 2.00 16.506 8 i 0 +(((......)))... 1.30 16.543 7 i 0 +((((....))))... 0.40 17.626 5 d 1 +.(((....))).... 1.10 17.974 6 i 0 +((((....))))... 0.40 18.033 5 d 1 +(((......)))... 1.30 18.048 7 i 0 +((((....))))... 0.40 18.171 5 d 1 +.(((....))).... 1.10 18.324 6 i 0 +((((....))))... 0.40 18.768 5 d 1 +.(((....))).... 1.10 18.978 6 i 0 +((((....))))... 0.40 20.413 5 d 1 +(((......)))... 1.30 20.513 7 d 0 +.((......)).... 2.00 20.564 8 i 0 +(((......)))... 1.30 20.858 7 i 0 +((((....))))... 0.40 22.828 5 d 1 +(((......)))... 1.30 23.081 7 i 0 +((((....))))... 0.40 24.033 5 d 1 +(((......)))... 1.30 24.042 7 d 0 +((........))... 2.10 24.737 11 i 0 +(((......)))... 1.30 24.762 7 i 0 +((((....))))... 0.40 26.252 5 d 1 +(((......)))... 1.30 26.439 7 i 0 +((((....))))... 0.40 28.450 5 d 1 +(((......)))... 1.30 28.501 7 d 0 +.((......)).... 2.00 28.987 8 i 0 +(((......)))... 1.30 29.212 7 i 0 +((((....))))... 0.40 29.271 5 d 1 +(((......)))... 1.30 29.439 7 i 0 +((((....))))... 0.40 30.089 5 d 1 +.(((....))).... 1.10 30.257 6 d 0 +.((......)).... 2.00 30.278 8 i 0 +(((......)))... 1.30 30.457 7 i 0 +((((....))))... 0.40 31.118 5 d 1 +.(((....))).... 1.10 31.299 6 i 0 +((((....))))... 0.40 34.582 5 d 1 +(((......)))... 1.30 34.890 7 i 0 +((((....))))... 0.40 37.923 5 d 1 +(((......)))... 1.30 37.924 7 i 0 +((((....))))... 0.40 39.004 5 d 1 +(((......)))... 1.30 39.134 7 i 0 +((((....))))... 0.40 39.407 5 d 1 +(((......)))... 1.30 39.480 7 i 0 +((((....))))... 0.40 39.734 5 d 1 +.(((....))).... 1.10 40.012 6 d 0 +..((....))..... 3.90 40.078 8 i 0 +.(((....))).... 1.10 40.247 6 d 0 +.((......)).... 2.00 40.344 8 i 0 +.(((....))).... 1.10 41.064 6 i 0 +((((....))))... 0.40 41.292 5 d 1 +.(((....))).... 1.10 41.986 6 d 0 +.((......)).... 2.00 42.071 8 i 0 +(((......)))... 1.30 42.084 7 i 0 +((((....))))... 0.40 43.933 5 d 1 +(((......)))... 1.30 44.303 7 i 0 +((((....))))... 0.40 44.468 5 d 1 +((.(....).))... 4.60 44.535 6 i 0 +((((....))))... 0.40 45.238 5 d 1 +.(((....))).... 1.10 45.626 6 i 0 +((((....))))... 0.40 46.234 5 d 1 +(((......)))... 1.30 46.329 7 d 0 +.((......)).... 2.00 46.417 8 i 0 +(((......)))... 1.30 46.783 7 i 0 +((((....))))... 0.40 46.918 5 d 1 +.(((....))).... 1.10 47.913 6 d 0 +.((......)).... 2.00 48.358 8 i 0 +(((......)))... 1.30 48.456 7 d 0 +((........))... 2.10 48.957 11 d 0 +.(........).... 2.80 49.420 12 s 0 +.(.....)....... 3.10 49.459 10 d 0 +............... 0.00 49.556 24 i 1 +...(........).. 1.80 49.577 12 i 0 +...((......)).. 0.70 49.934 9 i 0 +...(((....))).. -0.10 50.790 7 i 0 +..((((....)))). -0.60 51.808 6 _ 1 X1 +((((....))))... 0.40 0.428 5 d 1 +.(((....))).... 1.10 0.549 6 i 0 +((((....))))... 0.40 0.709 5 d 1 +.(((....))).... 1.10 1.033 6 i 0 +((((....))))... 0.40 1.678 5 d 1 +.(((....))).... 1.10 1.716 6 i 0 +((((....))))... 0.40 2.278 5 d 1 +(((......)))... 1.30 2.337 7 d 0 +.((......)).... 2.00 2.391 8 i 0 +(((......)))... 1.30 3.075 7 i 0 +((((....))))... 0.40 4.664 5 d 1 +(((......)))... 1.30 4.848 7 i 0 +((((....))))... 0.40 5.315 5 d 1 +.(((....))).... 1.10 5.386 6 i 0 +((((....))))... 0.40 7.709 5 d 1 +(((......)))... 1.30 7.794 7 i 0 +((((....))))... 0.40 7.818 5 d 1 +(((......)))... 1.30 7.899 7 d 0 +((........))... 2.10 7.978 11 d 0 +.(........).... 2.80 7.979 12 i 0 +((........))... 2.10 8.113 11 i 0 +(((......)))... 1.30 8.503 7 i 0 +((((....))))... 0.40 8.813 5 d 1 +.(((....))).... 1.10 9.058 6 i 0 +((((....))))... 0.40 9.474 5 d 1 +.(((....))).... 1.10 9.490 6 i 0 +((((....))))... 0.40 9.567 5 d 1 +.(((....))).... 1.10 9.785 6 i 0 +((((....))))... 0.40 12.025 5 d 1 +(((......)))... 1.30 12.404 7 d 0 +.((......)).... 2.00 12.453 8 i 0 +.(((....))).... 1.10 12.668 6 d 0 +.((......)).... 2.00 12.674 8 i 0 +.(((....))).... 1.10 12.689 6 i 0 +((((....))))... 0.40 14.635 5 d 1 +(((......)))... 1.30 14.810 7 i 0 +((((....))))... 0.40 17.013 5 d 1 +(((......)))... 1.30 17.019 7 i 0 +((((....))))... 0.40 17.443 5 d 1 +(((......)))... 1.30 17.630 7 i 0 +((((....))))... 0.40 18.744 5 d 1 +(((......)))... 1.30 19.326 7 i 0 +((((....))))... 0.40 21.272 5 d 1 +.(((....))).... 1.10 21.486 6 i 0 +((((....))))... 0.40 21.572 5 d 1 +.(((....))).... 1.10 21.584 6 i 0 +((((....))))... 0.40 22.460 5 d 1 +.(((....))).... 1.10 23.232 6 i 0 +((((....))))... 0.40 24.431 5 d 1 +.(((....))).... 1.10 24.435 6 d 0 +..((....))..... 3.90 24.436 8 i 0 +.(((....))).... 1.10 25.373 6 i 0 +((((....))))... 0.40 25.737 5 d 1 +(((......)))... 1.30 25.920 7 i 0 +((((....))))... 0.40 26.915 5 S 1 +(((.(...))))... 4.80 26.925 5 d 0 +(((......)))... 1.30 27.529 7 d 0 +.((......)).... 2.00 27.660 8 d 0 +.(........).... 2.80 27.683 12 d 0 +............... 0.00 28.464 24 i 1 +...(....)...... 4.90 28.477 13 s 0 +...(........).. 1.80 28.625 12 i 0 +...((......)).. 0.70 29.513 9 i 0 +..(((......))). 0.20 29.750 8 i 0 +..((((....)))). -0.60 30.137 6 _ 1 X1 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/traj.e b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/traj.e new file mode 100755 index 00000000..2c7c6fa7 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/traj.e @@ -0,0 +1,219 @@ +............... 0.00 0.596 24 i 1 +.......(....).. 2.10 0.746 10 d 0 +............... 0.00 0.864 24 i 1 +(.......)...... 4.20 0.912 9 d 0 +............... 0.00 1.171 24 i 1 +.......(......) 3.20 1.380 9 d 0 +............... 0.00 4.876 24 i 1 +...(........).. 1.80 4.950 12 S 0 +.......(....).. 2.10 5.137 10 d 0 +............... 0.00 5.559 24 i 1 +..(......)..... 4.80 5.577 10 d 0 +............... 0.00 6.931 24 i 1 +.......(....).. 2.10 6.970 10 d 0 +............... 0.00 7.341 24 i 1 +...(........).. 1.80 7.626 12 d 0 +............... 0.00 8.780 24 i 1 +...(........).. 1.80 8.972 12 i 0 +...((......)).. 0.70 9.298 9 i 0 +..(((......))). 0.20 9.438 8 i 0 +..((((....)))). -0.60 9.495 6 _ 1 X1 +............... 0.00 2.988 24 i 1 +.(........).... 2.80 3.023 12 d 0 +............... 0.00 4.665 24 i 1 +...(.......)... 5.80 4.672 12 s 0 +...(........).. 1.80 4.693 12 i 0 +..((........)). 1.30 5.012 11 i 0 +..(((......))). 0.20 5.167 8 i 0 +..((((....)))). -0.60 5.325 6 _ 1 X1 +............... 0.00 1.603 24 i 1 +..(....)....... 4.20 1.619 13 d 0 +............... 0.00 1.951 24 i 1 +....(......)... 4.80 1.958 11 d 0 +............... 0.00 3.732 24 i 1 +.......(....).. 2.10 3.832 10 d 0 +............... 0.00 3.895 24 i 1 +...(........).. 1.80 3.918 12 d 0 +............... 0.00 4.104 24 i 1 +.......(....).. 2.10 4.131 10 S 0 +...(........).. 1.80 4.345 12 d 0 +............... 0.00 4.448 24 i 1 +...(........).. 1.80 4.513 12 i 0 +..((........)). 1.30 4.796 11 i 0 +..(((......))). 0.20 5.229 8 i 0 +..((((....)))). -0.60 6.008 6 _ 1 X1 +............... 0.00 0.993 24 i 1 +.......(....).. 2.10 1.190 10 d 0 +............... 0.00 1.262 24 i 1 +...(.......)... 5.80 1.269 12 d 0 +............... 0.00 1.981 24 i 1 +.......(....).. 2.10 2.028 10 d 0 +............... 0.00 2.529 24 i 1 +.......(....).. 2.10 2.546 10 d 0 +............... 0.00 2.639 24 i 1 +(..........)... 5.40 2.643 16 i 0 +((........))... 2.10 2.980 11 i 0 +(((......)))... 1.30 3.028 7 i 0 +((((....))))... 0.40 4.194 5 _ 1 X2 +............... 0.00 0.054 24 i 1 +(..........)... 5.40 0.057 16 d 0 +............... 0.00 0.110 24 i 1 +.(.....)....... 3.10 0.445 10 i 0 +((.....))...... 1.80 3.483 6 d 1 +.(.....)....... 3.10 3.574 10 s 0 +.(........).... 2.80 3.627 12 i 0 +((........))... 2.10 4.287 11 i 0 +(((......)))... 1.30 4.882 7 i 0 +((((....))))... 0.40 5.419 5 _ 1 X2 +............... 0.00 0.253 24 i 1 +....(......)... 4.80 0.256 11 d 0 +............... 0.00 0.383 24 i 1 +.......(....).. 2.10 0.466 10 d 0 +............... 0.00 1.275 24 i 1 +.(........).... 2.80 1.294 12 d 0 +............... 0.00 1.562 24 i 1 +...(.......)... 5.80 1.563 12 d 0 +............... 0.00 1.671 24 i 1 +...(........).. 1.80 1.957 12 S 0 +.......(....).. 2.10 2.029 10 d 0 +............... 0.00 2.409 24 i 1 +.....(.......). 5.50 2.418 10 d 2 +............... 0.00 2.421 24 i 1 +.......(......) 3.20 2.489 9 d 0 +............... 0.00 3.678 24 i 1 +.......(......) 3.20 3.814 9 s 0 +.......(....).. 2.10 3.820 10 s 0 +.......(......) 3.20 3.887 9 d 0 +............... 0.00 4.415 24 i 1 +..(..........). 5.20 4.438 16 d 0 +............... 0.00 5.269 24 i 1 +...(........).. 1.80 5.396 12 d 0 +............... 0.00 5.825 24 i 1 +.(.....)....... 3.10 5.911 10 d 0 +............... 0.00 6.122 24 i 1 +.......(....).. 2.10 6.336 10 s 0 +.(.....)....... 3.10 6.346 10 d 0 +............... 0.00 8.023 24 i 1 +.(........).... 2.80 8.126 12 d 0 +............... 0.00 8.552 24 i 1 +...(........).. 1.80 8.553 12 d 0 +............... 0.00 10.330 24 i 1 +.(.....)....... 3.10 10.332 10 d 0 +............... 0.00 11.609 24 i 1 +.(.....)....... 3.10 11.627 10 S 0 +.......(....).. 2.10 11.725 10 S 0 +...(........).. 1.80 11.810 12 d 0 +............... 0.00 11.872 24 i 1 +........(....). 5.10 11.875 11 d 0 +............... 0.00 12.252 24 i 1 +...(.......)... 5.80 12.258 12 d 0 +............... 0.00 12.686 24 i 1 +.......(......) 3.20 12.865 9 i 0 +.......((....)) 2.80 13.815 6 d 1 +.......(......) 3.20 13.866 9 d 0 +............... 0.00 15.046 24 i 1 +.(.....)....... 3.10 15.063 10 d 0 +............... 0.00 15.479 24 i 1 +.......(....).. 2.10 15.564 10 s 0 +..(....)....... 4.20 15.615 13 d 0 +............... 0.00 16.260 24 i 1 +...(..........) 5.40 16.268 15 d 0 +............... 0.00 18.202 24 i 1 +(.......)...... 4.20 18.203 9 d 0 +............... 0.00 19.593 24 i 1 +.(........).... 2.80 19.720 12 d 0 +............... 0.00 21.111 24 i 1 +.......(......) 3.20 21.140 9 d 0 +............... 0.00 21.152 24 i 1 +.....(....).... 5.00 21.161 14 d 2 +............... 0.00 22.588 24 i 1 +.......(....).. 2.10 22.605 10 s 0 +.......(......) 3.20 22.649 9 d 0 +............... 0.00 23.969 24 i 1 +.....(.......). 5.50 23.982 10 d 2 +............... 0.00 24.575 24 i 1 +...(....)...... 4.90 24.604 13 d 0 +............... 0.00 25.254 24 i 1 +.......(....).. 2.10 25.263 10 d 0 +............... 0.00 25.868 24 i 1 +........(....). 5.10 25.883 11 i 0 +.......((....)) 2.80 26.080 6 d 1 +........(....). 5.10 26.096 11 S 0 +.....(.......). 5.50 26.103 10 d 2 +............... 0.00 27.378 24 i 1 +.......(....).. 2.10 27.771 10 d 0 +............... 0.00 30.157 24 i 1 +...(........).. 1.80 30.318 12 i 0 +...(.(....).).. 4.80 30.334 8 i 0 +...(((....))).. -0.10 31.290 7 i 0 +..((((....)))). -0.60 32.380 6 _ 1 X1 +............... 0.00 0.057 24 i 1 +..(....)....... 4.20 0.070 13 d 0 +............... 0.00 0.149 24 i 1 +..(..........). 5.20 0.154 16 d 0 +............... 0.00 0.391 24 i 1 +(.......)...... 4.20 0.434 9 d 0 +............... 0.00 0.528 24 i 1 +.(........).... 2.80 0.565 12 d 0 +............... 0.00 1.325 24 i 1 +...(........).. 1.80 1.635 12 i 0 +...((......)).. 0.70 2.006 9 i 0 +...(((....))).. -0.10 2.106 7 i 0 +..((((....)))). -0.60 4.066 6 _ 1 X1 +............... 0.00 0.595 24 i 1 +...(..........) 5.40 0.598 15 d 0 +............... 0.00 4.842 24 i 1 +.......(....).. 2.10 4.928 10 d 0 +............... 0.00 4.963 24 i 1 +.......(....).. 2.10 5.200 10 d 0 +............... 0.00 5.285 24 i 1 +(.......)...... 4.20 5.309 9 d 0 +............... 0.00 5.908 24 i 1 +...(........).. 1.80 5.945 12 d 0 +............... 0.00 6.161 24 i 1 +.......(....).. 2.10 6.174 10 s 0 +.(.....)....... 3.10 6.209 10 d 0 +............... 0.00 8.002 24 i 1 +(.......)...... 4.20 8.023 9 d 0 +............... 0.00 8.066 24 i 1 +.(........).... 2.80 8.113 12 i 0 +.((......)).... 2.00 8.654 8 d 0 +.(........).... 2.80 8.667 12 i 0 +((........))... 2.10 8.710 11 i 0 +(((......)))... 1.30 9.191 7 i 0 +((((....))))... 0.40 9.916 5 _ 1 X2 +............... 0.00 0.272 24 i 1 +(..........)... 5.40 0.279 16 d 0 +............... 0.00 1.794 24 i 1 +.......(....).. 2.10 1.886 10 d 0 +............... 0.00 2.390 24 i 1 +..(......)..... 4.80 2.413 10 d 0 +............... 0.00 5.053 24 i 1 +...(........).. 1.80 5.253 12 i 0 +..((........)). 1.30 5.364 11 i 0 +..(((......))). 0.20 6.090 8 i 0 +..((((....)))). -0.60 6.766 6 _ 1 X1 +............... 0.00 0.146 24 i 1 +.......(....).. 2.10 0.227 10 s 0 +.......(......) 3.20 0.312 9 d 0 +............... 0.00 2.574 24 i 1 +.......(....).. 2.10 2.654 10 d 0 +............... 0.00 3.356 24 i 1 +.......(......) 3.20 3.413 9 d 0 +............... 0.00 4.742 24 i 1 +...(........).. 1.80 4.921 12 d 0 +............... 0.00 6.128 24 i 1 +.......(....).. 2.10 6.463 10 s 0 +.......(......) 3.20 6.478 9 d 0 +............... 0.00 7.229 24 i 1 +...(........).. 1.80 7.262 12 S 0 +.......(....).. 2.10 7.291 10 d 0 +............... 0.00 7.603 24 i 1 +...(........).. 1.80 7.707 12 i 0 +..((........)). 1.30 7.752 11 i 0 +..(((......))). 0.20 8.740 8 d 0 +..((........)). 1.30 8.940 11 i 0 +..(((......))). 0.20 9.363 8 d 0 +...((......)).. 0.70 9.382 9 i 0 +...(((....))).. -0.10 9.435 7 i 0 +..((((....)))). -0.60 11.207 6 _ 1 X1 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/traj.nolp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/traj.nolp new file mode 100755 index 00000000..82446cbc --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Example/traj.nolp @@ -0,0 +1,196 @@ +............... 0.00 0.863 8 I 1 +((........))... 2.10 1.003 2 D 0 +............... 0.00 1.267 8 I 1 +..((........)). 1.30 2.040 2 D 0 +............... 0.00 2.066 8 I 1 +...((......)).. 0.70 2.527 3 i 0 +..(((......))). 0.20 2.706 3 i 0 +..((((....)))). -0.60 2.860 2 _ 1 X1 +............... 0.00 0.157 8 I 1 +.((......)).... 2.00 0.188 3 D 0 +............... 0.00 0.647 8 I 1 +((.....))...... 1.80 0.790 1 D 0 +............... 0.00 1.349 8 I 1 +.((......)).... 2.00 1.373 3 D 0 +............... 0.00 2.185 8 I 1 +.......((....)) 2.80 2.209 1 D 0 +............... 0.00 2.274 8 I 1 +..((........)). 1.30 2.294 2 D 0 +............... 0.00 2.297 8 I 1 +....((....))... 4.00 2.304 2 D 0 +............... 0.00 2.430 8 I 1 +..((........)). 1.30 2.607 2 i 0 +..(((......))). 0.20 2.781 3 i 0 +..((((....)))). -0.60 4.393 2 _ 1 X1 +............... 0.00 0.611 8 I 1 +((........))... 2.10 0.678 2 D 0 +............... 0.00 0.938 8 I 1 +..((........)). 1.30 0.946 2 D 0 +............... 0.00 1.465 8 I 1 +..((........)). 1.30 1.667 2 i 0 +..(((......))). 0.20 1.684 3 d 0 +..((........)). 1.30 1.744 2 D 0 +............... 0.00 2.581 8 I 1 +...((......)).. 0.70 2.582 3 i 0 +..(((......))). 0.20 2.770 3 i 0 +..((((....)))). -0.60 5.149 2 _ 1 X1 +............... 0.00 0.283 8 I 1 +...((......)).. 0.70 0.682 3 i 0 +...(((....))).. -0.10 1.340 3 i 0 +..((((....)))). -0.60 1.976 2 _ 1 X1 +............... 0.00 0.538 8 I 1 +((.....))...... 1.80 1.110 1 D 0 +............... 0.00 1.117 8 I 1 +.......((....)) 2.80 1.265 1 D 0 +............... 0.00 1.774 8 I 1 +..((........)). 1.30 1.855 2 D 0 +............... 0.00 1.939 8 I 1 +.((......)).... 2.00 2.352 3 i 0 +.(((....))).... 1.10 2.554 3 i 0 +((((....))))... 0.40 2.737 2 d 1 +.(((....))).... 1.10 2.749 3 d 0 +..((....))..... 3.90 2.802 2 D 0 +............... 0.00 2.883 8 I 1 +.((......)).... 2.00 3.086 3 D 0 +............... 0.00 3.106 8 I 1 +.((......)).... 2.00 3.270 3 D 0 +............... 0.00 3.947 8 I 1 +((........))... 2.10 4.212 2 D 0 +............... 0.00 5.683 8 I 1 +.((......)).... 2.00 5.779 3 D 0 +............... 0.00 6.344 8 I 1 +.......((....)) 2.80 6.404 1 D 0 +............... 0.00 6.430 8 I 1 +..((........)). 1.30 6.631 2 D 0 +............... 0.00 7.128 8 I 1 +.((......)).... 2.00 7.330 3 D 0 +............... 0.00 8.600 8 I 1 +...((......)).. 0.70 8.724 3 i 0 +...(((....))).. -0.10 8.817 3 i 0 +..((((....)))). -0.60 11.294 2 _ 1 X1 +............... 0.00 0.737 8 I 1 +...((......)).. 0.70 1.023 3 D 0 +............... 0.00 1.148 8 I 1 +..((........)). 1.30 1.188 2 D 0 +............... 0.00 1.391 8 I 1 +.......((....)) 2.80 1.399 1 D 0 +............... 0.00 1.609 8 I 1 +...((......)).. 0.70 1.660 3 D 0 +............... 0.00 2.056 8 I 1 +..((........)). 1.30 4.023 2 D 0 +............... 0.00 4.811 8 I 1 +.((......)).... 2.00 4.984 3 i 0 +(((......)))... 1.30 5.115 3 i 0 +((((....))))... 0.40 5.972 2 d 1 +.(((....))).... 1.10 6.095 3 i 0 +((((....))))... 0.40 6.341 2 d 1 +.(((....))).... 1.10 6.502 3 i 0 +((((....))))... 0.40 6.791 2 d 1 +.(((....))).... 1.10 6.815 3 i 0 +((((....))))... 0.40 6.969 2 d 1 +.(((....))).... 1.10 7.740 3 i 0 +((((....))))... 0.40 7.834 2 d 1 +.(((....))).... 1.10 7.901 3 i 0 +((((....))))... 0.40 8.679 2 d 1 +.(((....))).... 1.10 9.193 3 i 0 +((((....))))... 0.40 10.500 2 d 1 +.(((....))).... 1.10 10.511 3 i 0 +((((....))))... 0.40 12.019 2 d 1 +(((......)))... 1.30 12.366 3 i 0 +((((....))))... 0.40 12.976 2 d 1 +.(((....))).... 1.10 13.973 3 i 0 +((((....))))... 0.40 15.004 2 d 1 +(((......)))... 1.30 15.385 3 i 0 +((((....))))... 0.40 17.588 2 d 1 +(((......)))... 1.30 18.008 3 d 0 +((........))... 2.10 18.130 2 D 0 +............... 0.00 18.333 8 I 1 +((.....))...... 1.80 18.571 1 D 0 +............... 0.00 19.396 8 I 1 +((.....))...... 1.80 19.415 1 D 0 +............... 0.00 21.273 8 I 1 +.((......)).... 2.00 21.429 3 D 0 +............... 0.00 23.675 8 I 1 +...((......)).. 0.70 23.984 3 i 0 +...(((....))).. -0.10 24.218 3 d 0 +...((......)).. 0.70 24.358 3 i 0 +..(((......))). 0.20 25.015 3 i 0 +..((((....)))). -0.60 25.262 2 _ 1 X1 +............... 0.00 1.135 8 I 1 +....((....))... 4.00 1.169 2 D 0 +............... 0.00 1.623 8 I 1 +((.....))...... 1.80 2.158 1 D 0 +............... 0.00 2.440 8 I 1 +..((........)). 1.30 3.010 2 i 0 +..(((......))). 0.20 3.126 3 i 0 +..((((....)))). -0.60 5.836 2 _ 1 X1 +............... 0.00 0.344 8 I 1 +((.....))...... 1.80 0.832 1 D 0 +............... 0.00 1.147 8 I 1 +((........))... 2.10 1.205 2 D 0 +............... 0.00 1.858 8 I 1 +..((........)). 1.30 1.999 2 D 0 +............... 0.00 2.376 8 I 1 +...((......)).. 0.70 2.429 3 i 0 +...(((....))).. -0.10 2.902 3 i 0 +..((((....)))). -0.60 4.510 2 _ 1 X1 +............... 0.00 1.170 8 I 1 +...((......)).. 0.70 1.575 3 D 0 +............... 0.00 2.094 8 I 1 +...((......)).. 0.70 2.555 3 i 0 +..(((......))). 0.20 3.023 3 d 0 +..((........)). 1.30 3.143 2 D 0 +............... 0.00 4.066 8 I 1 +...((......)).. 0.70 4.118 3 D 0 +............... 0.00 5.705 8 I 1 +((.....))...... 1.80 6.199 1 D 0 +............... 0.00 6.537 8 I 1 +.......((....)) 2.80 6.560 1 D 0 +............... 0.00 7.315 8 I 1 +...((......)).. 0.70 7.839 3 D 0 +............... 0.00 9.584 8 I 1 +..((........)). 1.30 9.726 2 i 0 +..(((......))). 0.20 10.435 3 d 0 +..((........)). 1.30 10.477 2 D 0 +............... 0.00 10.720 8 I 1 +...((......)).. 0.70 10.836 3 i 0 +...(((....))).. -0.10 11.222 3 i 0 +..((((....)))). -0.60 14.810 2 _ 1 X1 +............... 0.00 1.369 8 I 1 +.((......)).... 2.00 1.401 3 D 0 +............... 0.00 1.972 8 I 1 +((.....))...... 1.80 2.022 1 D 0 +............... 0.00 2.388 8 I 1 +((.....))...... 1.80 2.476 1 D 0 +............... 0.00 2.653 8 I 1 +((.....))...... 1.80 2.972 1 D 0 +............... 0.00 3.061 8 I 1 +....((....))... 4.00 3.063 2 D 0 +............... 0.00 3.153 8 I 1 +...((......)).. 0.70 3.599 3 i 0 +..(((......))). 0.20 3.615 3 d 0 +...((......)).. 0.70 3.731 3 D 0 +............... 0.00 5.177 8 I 1 +.((......)).... 2.00 5.410 3 i 0 +(((......)))... 1.30 5.625 3 i 0 +((((....))))... 0.40 5.692 2 d 1 +.(((....))).... 1.10 5.960 3 i 0 +((((....))))... 0.40 7.442 2 d 1 +(((......)))... 1.30 7.516 3 i 0 +((((....))))... 0.40 7.714 2 d 1 +(((......)))... 1.30 7.722 3 i 0 +((((....))))... 0.40 9.493 2 d 1 +.(((....))).... 1.10 9.883 3 i 0 +((((....))))... 0.40 10.322 2 d 1 +.(((....))).... 1.10 10.774 3 i 0 +((((....))))... 0.40 11.162 2 d 1 +.(((....))).... 1.10 11.464 3 d 0 +.((......)).... 2.00 11.558 3 D 0 +............... 0.00 12.111 8 I 1 +..((........)). 1.30 12.425 2 D 0 +............... 0.00 13.764 8 I 1 +((........))... 2.10 14.010 2 D 0 +............... 0.00 15.494 8 I 1 +...((......)).. 0.70 15.596 3 i 0 +...(((....))).. -0.10 16.198 3 i 0 +..((((....)))). -0.60 17.438 2 _ 1 X1 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/INSTALL b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/INSTALL new file mode 100755 index 00000000..b42a17ac --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/INSTALL @@ -0,0 +1,182 @@ +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' if you want to change +it or regenerate `configure' using a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes awhile. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not supports the `VPATH' +variable, you have to compile the package for one architecture at a time +in the source code directory. After you have installed the package for +one architecture, use `make distclean' before reconfiguring for another +architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + In addition, if you use an unusual directory layout you can give +options like `--bindir=PATH' to specify different values for particular +kinds of files. Run `configure --help' for a list of the directories +you can set and what kinds of files go in them. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. To + suppress all normal output, redirect it to `/dev/null' (any error + messages will still be shown). + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Kinfold b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Kinfold new file mode 100755 index 0000000000000000000000000000000000000000..92e9c582995db803fcdfd249c2ab3f92b1bffe75 GIT binary patch literal 538539 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Makefile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Makefile new file mode 100755 index 00000000..9ef004e5 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Makefile @@ -0,0 +1,670 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +SOURCES = $(Kinfold_SOURCES) + +srcdir = . +top_srcdir = . + +pkgdatadir = $(datadir)/kinfold +pkglibdir = $(libdir)/kinfold +pkgincludedir = $(includedir)/kinfold +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +bin_PROGRAMS = Kinfold$(EXEEXT) +DIST_COMMON = README $(am__configure_deps) $(srcdir)/../config.guess \ + $(srcdir)/../config.sub $(srcdir)/../depcomp \ + $(srcdir)/../install-sh $(srcdir)/../missing \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS COPYING \ + ChangeLog INSTALL NEWS +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_Kinfold_OBJECTS = baum.$(OBJEXT) cache.$(OBJEXT) globals.$(OBJEXT) \ + main.$(OBJEXT) nachbar.$(OBJEXT) getopt.$(OBJEXT) \ + getopt1.$(OBJEXT) +Kinfold_OBJECTS = $(am_Kinfold_OBJECTS) +Kinfold_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = $(SHELL) $(top_srcdir)/../depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(Kinfold_SOURCES) +DIST_SOURCES = $(Kinfold_SOURCES) +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run tar +AUTOCONF = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoconf +AUTOHEADER = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoheader +AUTOMAKE = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = -I../H +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +ISODATE = 2006-06-13 +LDFLAGS = -L../lib +LIBOBJS = +LIBS = -lRNA -lm +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run makeinfo +OBJEXT = o +PACKAGE = kinfold +PACKAGE_BUGREPORT = rna@tbi.univie.ac.at +PACKAGE_NAME = Kinfold +PACKAGE_STRING = Kinfold 1.0 +PACKAGE_TARNAME = kinfold +PACKAGE_VERSION = 1.0 +PATH_SEPARATOR = : +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.0 +ac_ct_CC = gcc +ac_ct_STRIP = +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +datadir = ${prefix}/share +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +sysconfdir = ${prefix}/etc +target_alias = +SUBDIRS = Example +Kinfold_SOURCES = baum.c cache.c globals.c main.c nachbar.c \ + baum.h cache_util.h globals.h nachbar.h \ + getopt.c getopt.h getopt1.c + +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +.SUFFIXES: .c .o .obj +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ + cd $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +Kinfold$(EXEEXT): $(Kinfold_OBJECTS) $(Kinfold_DEPENDENCIES) + @rm -f Kinfold$(EXEEXT) + $(LINK) $(Kinfold_LDFLAGS) $(Kinfold_OBJECTS) $(Kinfold_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/baum.Po +include ./$(DEPDIR)/cache.Po +include ./$(DEPDIR)/getopt.Po +include ./$(DEPDIR)/getopt1.Po +include ./$(DEPDIR)/globals.Po +include ./$(DEPDIR)/main.Po +include ./$(DEPDIR)/nachbar.Po + +.c.o: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/.. + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile $(PROGRAMS) config.h +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-binPROGRAMS clean-generic clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-compile distclean-generic distclean-hdr \ + distclean-recursive distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Makefile.am b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Makefile.am new file mode 100755 index 00000000..38f29123 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Makefile.am @@ -0,0 +1,7 @@ +bin_PROGRAMS = Kinfold +SUBDIRS = Example + +Kinfold_SOURCES = baum.c cache.c globals.c main.c nachbar.c \ + baum.h cache_util.h globals.h nachbar.h \ + getopt.c getopt.h getopt1.c + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Makefile.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Makefile.in new file mode 100755 index 00000000..de6782f8 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/Makefile.in @@ -0,0 +1,670 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +SOURCES = $(Kinfold_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +bin_PROGRAMS = Kinfold$(EXEEXT) +DIST_COMMON = README $(am__configure_deps) $(srcdir)/../config.guess \ + $(srcdir)/../config.sub $(srcdir)/../depcomp \ + $(srcdir)/../install-sh $(srcdir)/../missing \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS COPYING \ + ChangeLog INSTALL NEWS +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_Kinfold_OBJECTS = baum.$(OBJEXT) cache.$(OBJEXT) globals.$(OBJEXT) \ + main.$(OBJEXT) nachbar.$(OBJEXT) getopt.$(OBJEXT) \ + getopt1.$(OBJEXT) +Kinfold_OBJECTS = $(am_Kinfold_OBJECTS) +Kinfold_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I. +depcomp = $(SHELL) $(top_srcdir)/../depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(Kinfold_SOURCES) +DIST_SOURCES = $(Kinfold_SOURCES) +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +SUBDIRS = Example +Kinfold_SOURCES = baum.c cache.c globals.c main.c nachbar.c \ + baum.h cache_util.h globals.h nachbar.h \ + getopt.c getopt.h getopt1.c + +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +.SUFFIXES: .c .o .obj +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ + cd $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +Kinfold$(EXEEXT): $(Kinfold_OBJECTS) $(Kinfold_DEPENDENCIES) + @rm -f Kinfold$(EXEEXT) + $(LINK) $(Kinfold_LDFLAGS) $(Kinfold_OBJECTS) $(Kinfold_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/baum.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/globals.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nachbar.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/.. + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile $(PROGRAMS) config.h +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-binPROGRAMS clean-generic clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-compile distclean-generic distclean-hdr \ + distclean-recursive distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-binPROGRAMS install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-compile mostlyclean-generic \ + mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am uninstall-binPROGRAMS uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/NEWS b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/NEWS new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/README b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/README new file mode 100755 index 00000000..adcae530 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/README @@ -0,0 +1,12 @@ + Kinfold - Kinetic Folding Program for Nucleic Acids + + Copyright (C) 2001 Christoph Flamm, Ivo L. Hofacker + + for the energy evaluation Kinfold uses routines from + the Vienna-RNA-Package Version 1.4. + you can download the source code for Vienna-RNA-Package from + http://www.tbi.univie.ac.at/~ivo/RNA/ + +Comments are welcome. + + - Christoph Flamm, diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/acinclude.m4 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/acinclude.m4 new file mode 100755 index 00000000..01c514d0 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/acinclude.m4 @@ -0,0 +1,53 @@ +dnl -*-autoconf-*- + +AC_DEFUN([AC_PATH_VRNA], +[AC_MSG_CHECKING([for ViennaRNA package]) +if test -z "$ac_VRNA_includes"; then + for ac_dir in \ + ../H \ + /usr/local/include/ViennaRNA \ + /usr/local/include \ + /usr/include/ViennaRNA \ + /usr/local/ViennaRNA/H \ + /usr/local/share/ViennaRNA/include \ + /opt/ViennaRNA/include \ + ;\ + do + if test -r "$ac_dir/part_func.h"; then + ac_VRNA_includes=$ac_dir + break + fi + done +fi +if test $ac_VRNA_includes; then + CPPFLAGS="$CPPFLAGS -I$ac_VRNA_includes" +fi + +if [[ -d ../lib ] && [ "$ac_VRNA_includes" = "../H" ]]; then + ac_VRNA_lib=../lib +fi + +if test -z "$ac_VRNA_lib"; then +for ac_dir in `echo "$ac_VRNA_includes" | sed -e s/include/lib/ -e s/H$/lib/` \ + /usr/local/lib \ + ; \ +do + for ac_extension in a so sl; do + if test -r $ac_dir/libRNA.$ac_extension; then + ac_VRNA_lib=$ac_dir + break 2 + fi + done +done +fi # $ac_VRNA_lib = NO +if test $ac_VRNA_lib; then + LDFLAGS="-L$ac_VRNA_lib $LDFLAGS" +fi +AC_MSG_RESULT([ headers in "$ac_VRNA_includes" and library... "$ac_VRNA_lib"]) + +dnl So far we've only set up paths, we could also check for +dnl usability of headers and library like so +dnl AC_CHECK_HEADER(part_func.h, [], +dnl [AC_MSG_ERROR([Cannot find ViennaRNA headers])]) +dnl AC_CHECK_LIB(RNA, fold) +]) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/aclocal.m4 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/aclocal.m4 new file mode 100755 index 00000000..74c85d4f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/aclocal.m4 @@ -0,0 +1,891 @@ +# generated automatically by aclocal 1.9.5 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.9.5])]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 7 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +#serial 3 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + + +# Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +AC_DEFUN([AM_WITH_DMALLOC], +[AC_MSG_CHECKING([if malloc debugging is wanted]) +AC_ARG_WITH(dmalloc, +[ --with-dmalloc use dmalloc, as in + http://www.dmalloc.com/dmalloc.tar.gz], +[if test "$withval" = yes; then + AC_MSG_RESULT(yes) + AC_DEFINE(WITH_DMALLOC,1, + [Define if using the dmalloc debugging malloc package]) + LIBS="$LIBS -ldmalloc" + LDFLAGS="$LDFLAGS -g" +else + AC_MSG_RESULT(no) +fi], [AC_MSG_RESULT(no)]) +]) + +AU_DEFUN([fp_WITH_DMALLOC], [AM_WITH_DMALLOC]) + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 12 + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. +# +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + +m4_include([acinclude.m4]) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/baum.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/baum.c new file mode 100755 index 00000000..8e9a451d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/baum.c @@ -0,0 +1,726 @@ +/* + Last changed Time-stamp: <2006-01-16 11:27:31 ivo> + c Christoph Flamm and Ivo L Hofacker + {xtof,ivo}@tbi.univie.ac.at + Kinfold: $Name: $ + $Id: baum.c,v 1.5 2006/01/16 10:37:47 ivo Exp $ +*/ + +#include +#include +#include +#include +#include "fold_vars.h" +#include "fold.h" +#include "utils.h" +#include "pair_mat.h" +#include "nachbar.h" +#include "globals.h" + + +#define MYTURN 4 +#define ORDER(x,y) if ((x)->nummer>(y)->nummer) {tempb=x; x=y; y=tempb;} + +/* item of structure ringlist */ +typedef struct _baum { + int nummer; /* number of base in sequence */ + char typ; /* 'r' virtualroot, 'p' or 'q' paired, 'u' unpaired */ + unsigned short base; /* 0<->unknown, 1<->A, 2<->C, 3<->G, 4<->U */ + struct _baum *up; + struct _baum *next; + struct _baum *prev; + struct _baum *down; +} baum; + +static char UNUSED rcsid[]="$Id: baum.c,v 1.5 2006/01/16 10:37:47 ivo Exp $"; +static int poListop = 0; /* polist counter = no_of_bp */ +static short *pairList; +static short *typeList; +static short *aliasList; +static baum *rl; /* ringlist */ +static baum *wurzl; /* virtualroot of ringlist-tree */ +static baum **poList; /* post order list of bp's */ +static char **ptype; + +static int comp_struc(const void *A, const void *B); +extern int energy_of_struct_pt (char *string, + short * ptable, short *s, short *s1); +/* PUBLIC FUNCTIONES */ +void ini_or_reset_rl (void); +void move_it (void); +void update_tree (int i, int j); +void clean_up_rl (void); + +/* PRIVATE FUNCTIONES */ +static void ini_ringlist(void); +static void reset_ringlist(void); +static void struc2tree (char *struc); +static void close_bp (baum *i, baum *j); +static void open_bp (baum *i); +static void make_poList (baum *root); +static void inb (baum *root); +static void inb_nolp (baum *root); +static void dnb (baum *rli); +static void dnb_nolp (baum *rli); +static void fnb (baum *rli); +static void make_ptypes(const short *S); +/* debugging tool(s) */ +#if 0 +static void rl_status(void); +#endif + +/* convert structure in bracked-dot-notation to a ringlist-tree */ +static void struc2tree(char *struc) { + char* struc_copy; + int ipos, jpos, balance = 0; + baum *rli, *rlj; + + struc_copy = (char *)calloc(GSV.len+1, sizeof(char)); + assert(struc_copy); + strcpy(struc_copy,struc); + + for (ipos = 0; ipos < GSV.len; ipos++) { + if (struc_copy[ipos] == ')') { + jpos = ipos; + struc_copy[ipos] = '.'; + balance++; + while (struc_copy[--ipos] != '('); + struc_copy[ipos] = '.'; + balance--; + rli = &rl[ipos]; + rlj = &rl[jpos]; + close_bp(rli, rlj); + } + } + + if (balance) { + fprintf(stderr, + "struc2tree(): start structure is not balanced !\n%s\n%s\n", + GAV.farbe, struc); + exit(1); + } + + poListop = 1; + make_poList(NULL); + GSV.currE = GSV.startE = + (float )energy_of_struct_pt(GAV.farbe, + pairList, typeList, aliasList) / 100.0; + free(struc_copy); +} + +/**/ +static void ini_ringlist(void) { + int i; + + /* needed by function energy_of_struct_pt() from Vienna-RNA-1.4 */ + pairList = (short *)calloc(GSV.len + 2, sizeof(short)); + assert(pairList != NULL); + typeList = (short *)calloc(GSV.len + 2, sizeof(short)); + assert(typeList != NULL); + aliasList = (short *)calloc(GSV.len + 2, sizeof(short)); + assert(aliasList != NULL); + pairList[0] = typeList[0] = aliasList[0] = GSV.len; + ptype = (char **)calloc(GSV.len + 2, sizeof(char *)); + assert(ptype != NULL); + for (i=0; i<=GSV.len; i++) { + ptype[i] = (char*)calloc(GSV.len + 2, sizeof(char)); + assert(ptype[i] != NULL); + } + + /* allocate virtual root */ + wurzl = (baum *)calloc(1, sizeof(baum)); + assert(wurzl != NULL); + /* allocate ringList */ + rl = (baum *)calloc(GSV.len+1, sizeof(baum)); + assert(rl != NULL); + /* allocate PostOrderList */ + poList = (baum **)calloc(GSV.len+2, sizeof(baum *)); + assert(poList != NULL); + + /* initialize virtualroot */ + wurzl->typ = 'r'; + wurzl->nummer = -1; + /* connect virtualroot to ringlist-tree in down direction */ + wurzl->down = &rl[GSV.len]; + /* initialize post-order list */ + poList[poListop++] = wurzl; + + make_pair_matrix(); + + /* initialize rest of ringlist-tree */ + for(i = 0; i < GSV.len; i++) { + int c; + GAV.currform[i] = '.'; + GAV.prevform[i] = 'x'; + pairList[i+1] = 0; + rl[i].typ = 'u'; + /* decode base to numeric value */ + c = encode_char(GAV.farbe[i]); + rl[i].base = typeList[i+1] = c; + aliasList[i+1] = alias[typeList[i+1]]; + /* astablish links for node of the ringlist-tree */ + rl[i].nummer = i; + rl[i].next = &rl[i+1]; + rl[i].prev = ((i == 0) ? &rl[GSV.len] : &rl[i-1]); + rl[i].up = rl[i].down = NULL; + } + GAV.currform[GSV.len] = GAV.prevform[GSV.len] = '\0'; + make_ptypes(aliasList); + + rl[i].nummer = i; + rl[i].base = 0; + /* make ringlist circular in next, prev direction */ + rl[i].next = &rl[0]; + rl[i].prev = &rl[i-1]; + /* make virtual basepair for virtualroot */ + rl[i].up = wurzl; + rl[i].typ = 'x'; +} + +/**/ +void ini_or_reset_rl(void) { + + /* if there is no ringList-tree make a new one */ + if (wurzl == NULL) { + ini_ringlist(); + + /* start structure */ + struc2tree(GAV.startform); + GSV.currE = GSV.startE = energy_of_struct(GAV.farbe, GAV.startform); + + + /* stop structure(s) */ + if ( GTV.stop ) { + int i; + + qsort(GAV.stopform, GSV.maxS, sizeof(char *), comp_struc); + for (i = 0; i< GSV.maxS; i++) + GAV.sE[i] = energy_of_struct(GAV.farbe_full, GAV.stopform[i]); + } + else { + if(GTV.noLP) + noLonelyPairs=1; + initialize_fold(GSV.len); + /* fold sequence to get Minimum free energy structure (Mfe) */ + GAV.sE[0] = fold(GAV.farbe_full, GAV.stopform[0]); + free_arrays(); + /* revaluate energy of Mfe (maye differ if --logML=logarthmic */ + GAV.sE[0] = energy_of_struct(GAV.farbe_full, GAV.stopform[0]); + } + GSV.stopE = GAV.sE[0]; + ini_nbList(strlen(GAV.farbe_full)*strlen(GAV.farbe_full)); + } + else { + /* reset ringlist-tree to start conditions */ + reset_ringlist(); + if(GTV.start) struc2tree(GAV.startform); + else { + GSV.currE = GSV.startE; + poListop = 1; + } + } +} + +/**/ +static void reset_ringlist(void) { + int i; + + for(i = 0; i < GSV.len; i++) { + GAV.currform[i] = '.'; + GAV.prevform[i] = 'x'; + pairList[i+1] = 0; + rl[i].typ = 'u'; + rl[i].next = &rl[i + 1]; + rl[i].prev = ((i == 0) ? &rl[GSV.len] : &rl[i - 1]); + rl[i].up = rl[i].down = NULL; + } + rl[i].next = &rl[0]; + rl[i].prev = &rl[i-1]; + rl[i].up = wurzl; +} + +/* update ringlist-tree */ +void update_tree(int i, int j) { + + baum *rli, *rlj, *tempb; + + if ( abs(i) < GSV.len) { /* >> single basepair move */ + if ((i > 0) && (j > 0)) { /* insert */ + rli = &rl[i-1]; + rlj = &rl[j-1]; + close_bp(rli, rlj); + } + else if ((i < 0)&&(j < 0)) { /* delete */ + i = -i; + rli = &rl[i-1]; + open_bp(rli); + } + else { /* shift */ + if (i > 0) { /* i remains the same, j shifts */ + j=-j; + rli=&rl[i-1]; + rlj=&rl[j-1]; + open_bp(rli); + ORDER(rli, rlj); + close_bp(rli, rlj); + } + else { /* j remains the same, i shifts */ + baum *old_rli; + i = -i; + rli = &rl[i-1]; + rlj = &rl[j-1]; + old_rli = rlj->up; + open_bp(old_rli); + ORDER(rli, rlj); + close_bp(rli, rlj); + } + } + } /* << single basepair move */ + else { /* >> double basepair move */ + if ((i > 0) && (j > 0)) { /* insert */ + rli = &rl[i-GSV.len-2]; + rlj = &rl[j-GSV.len-2]; + close_bp(rli->next, rlj->prev); + close_bp(rli, rlj); + } + else if ((i < 0)&&(j < 0)) { /* delete */ + i = -i; + rli = &rl[i-GSV.len-2]; + open_bp(rli); + open_bp(rli->next); + } + } /* << double basepair move */ + + poListop = 1; + make_poList(NULL); +} + +/* open a particular base pair */ +void open_bp(baum *i) { + + baum *in; /* points to i->next */ + + /* change string representation */ + GAV.currform[i->nummer] = '.'; + GAV.currform[i->down->nummer] = '.'; + + /* change pairtable representation */ + pairList[1 + i->nummer] = 0; + pairList[1 + i->down->nummer] = 0; + + /* change tree representation */ + in = i->next; + i->typ = 'u'; + i->down->typ = 'u'; + i->next = i->down->next; + i->next->prev = i; + in->prev = i->down; + i->down->next = in; + i->down = in->prev->up = NULL; +} + +/* close a particular base pair */ +void close_bp (baum *i, baum *j) { + + baum *jn; /* points to j->next */ + + /* change string representation */ + GAV.currform[i->nummer] = '('; + GAV.currform[j->nummer] = ')'; + + /* change pairtable representation */ + pairList[1 + i->nummer] = 1+ j->nummer; + pairList[1 + j->nummer] = 1 + i->nummer; + + /* change tree representation */ + jn = j->next; + i->typ = 'p'; + j->typ = 'q'; + i->down = j; + j->up = i; + i->next->prev = j; + j->next->prev = i; + j->next = i->next; + i->next = jn; +} + +/* for a given tree, generate postorder-list */ +static void make_poList (baum *root) { + + baum *stop, *rli; + + if (!root) root = wurzl; + stop = root->down; + + /* foreach base in ringlist ... */ + for (rli = stop->next; rli != stop; rli = rli->next) { + /* ... explore subtee if bp found */ + if (rli->typ == 'p') { + /* fprintf(stderr, "%d >%d<\n", poListop, rli->nummer); */ + poList[poListop++] = rli; + if ( poListop > GSV.len+1 ) { + fprintf(stderr, "Something went wrong in make_poList()\n"); + exit(1); + } + make_poList(rli); + } + } + return; +} + +/* for a given ringlist, generate all structures + with one additional basepair */ +static void inb(baum *root) { + + int EoT = 0; + baum *stop,*rli,*rlj; + + stop=root->down; + /* loop ringlist over all possible i positions */ + for(rli=stop->next;rli!=stop;rli=rli->next){ + /* potential i-position is already paired */ + if(rli->typ=='p') continue; + /* loop ringlist over all possible j positions */ + for(rlj=rli->next;rlj!=stop;rlj=rlj->next){ + /* base pair must enclose at least 3 bases */ + if(rlj->nummer - rli->nummer < MYTURN) continue; + /* potential j-position is already paired */ + if(rlj->typ=='p') continue; + /* if i-j can form a base pair ... */ + if(ptype[rli->nummer][rlj->nummer]){ + /* close the base bair and ... */ + close_bp(rli,rlj); + /* ... evaluate energy of the structure */ + EoT = energy_of_struct_pt(GAV.farbe, pairList, typeList, aliasList); + /* open the base pair again... */ + open_bp(rli); + /* ... and put the move and the enegy + of the structure into the neighbour list */ + update_nbList(1 + rli->nummer, 1 + rlj->nummer, EoT); + } + } + } +} + +/* for a given ringlist, generate all structures (canonical) + with one additional base pair (BUT WITHOUT ISOLATED BASE PAIRS) */ +static void inb_nolp(baum *root) { + + int EoT = 0; + baum *stop, *rli, *rlj; + + stop = root->down; + /* loop ringlist over all possible i positions */ + for (rli=stop->next;rli!=stop;rli=rli->next) { + /* potential i-position is already paired */ + if (rli->typ=='p') continue; + /* loop ringlist over all possible j positions */ + for (rlj=rli->next;rlj!=stop;rlj=rlj->next) { + /* base pair must enclose at least 3 bases */ + if (rlj->nummer - rli->nummer < MYTURN) continue; + /* potential j-position is already paired */ + if (rlj->typ=='p') continue; + /* if i-j can form a base pair ... */ + if (ptype[rli->nummer][rlj->nummer]) { + /* ... and extends a helix ... */ + if (((rli->prev==stop && rlj->next==stop) && stop->typ != 'x') || + (rli->next == rlj->prev)) { + /* ... close the base bair and ... */ + close_bp(rli,rlj); + /* ... evaluate energy of the structure */ + EoT = energy_of_struct_pt(GAV.farbe, pairList, typeList, aliasList); + /* open the base pair again... */ + open_bp(rli); + /* ... and put the move and the enegy + of the structure into the neighbour list */ + update_nbList(1 + rli->nummer, 1 + rlj->nummer, EoT); + } + /* if double insertion is possible ... */ + else if ((rlj->nummer - rli->nummer >= MYTURN+2)&& + (rli->next->typ != 'p' && rlj->prev->typ != 'p') && + (rli->next->next != rlj->prev->prev) && + (ptype[rli->next->nummer][rlj->prev->nummer])) { + /* close the two base bair and ... */ + close_bp(rli->next, rlj->prev); + close_bp(rli, rlj); + /* ... evaluate energy of the structure */ + EoT = energy_of_struct_pt(GAV.farbe, pairList, typeList, aliasList); + /* open the two base pair again ... */ + open_bp(rli); + open_bp(rli->next); + /* ... and put the move and the enegy + of the structure into the neighbour list */ + update_nbList(1+rli->nummer+GSV.len+1, 1+rlj->nummer+GSV.len+1, EoT); + } + } + } + } +} + +/* for a given ringlist, generate all structures + with one less base pair */ +static void dnb(baum *rli){ + + int EoT = 0; + baum *rlj; + + rlj=rli->down; + open_bp(rli); + EoT = energy_of_struct_pt(GAV.farbe, pairList, typeList, aliasList); + close_bp(rli,rlj); + update_nbList(-(1 + rli->nummer), -(1 + rlj->nummer), EoT); +} + +/* for a given ringlist, generate all structures (canonical) + with one less base pair (BUT WITHOUT ISOLATED BASE PAIRS) */ +static void dnb_nolp(baum *rli) { + + int EoT = 0; + baum *rlj; + baum *rlin = NULL; /* pointers to following pair in helix, if any */ + baum *rljn = NULL; + baum *rlip = NULL; /* pointers to preceding pair in helix, if any */ + baum *rljp = NULL; + + rlj = rli->down; + + /* immediate interior base pair ? */ + if (rlj->next == rlj->prev) { + rlin = rlj->next; + rljn = rlin->down; + } + + /* immediate exterior base pair and not virtualroot ? */ + if (rli->prev == rli->next && rli->next->typ != 'x') { + rlip = rli->next->up; + rljp = rli->next; + } + + /* double delete ? */ + if (rlip==NULL && rlin && rljn->next != rljn->prev ) { + /* open the two base pairs ... */ + open_bp(rli); + open_bp(rlin); + /* ... evaluate energy of the structure ... */ + EoT = energy_of_struct_pt(GAV.farbe, pairList, typeList, aliasList); + /* ... and put the move and the enegy + of the structure into the neighbour list ... */ + update_nbList(-(1+rli->nummer+GSV.len+1),-(1+rlj->nummer+GSV.len+1), EoT); + /* ... and close the two base pairs again */ + close_bp(rlin, rljn); + close_bp(rli, rlj); + } else { /* single delete */ + /* the following will work only if boolean expr are shortcicuited */ + if (rlip==NULL || (rlip->prev == rlip->next && rlip->prev->typ != 'x')) + if (rlin ==NULL || (rljn->next == rljn->prev)) { + /* open the base pair ... */ + open_bp(rli); + /* ... evaluate energy of the structure ... */ + EoT = energy_of_struct_pt(GAV.farbe, pairList, typeList, aliasList); + /* ... and put the move and the enegy + of the structure into the neighbour list ... */ + update_nbList(-(1 + rli->nummer),-(1 + rlj->nummer), EoT); + /* and close the base pair again */ + close_bp(rli, rlj); + } + } +} + +/* for a given ringlist, generate all structures + with one shifted base pair */ +static void fnb(baum *rli) { + + int EoT = 0, x; + baum *rlj, *stop, *help_rli, *help_rlj; + + stop = rli->down; + + /* examin interior loop of bp(ij); (.......) + i of j move -> <- */ + for (rlj = stop->next; rlj != stop; rlj = rlj->next) { + /* prevent shifting to paired position */ + if ((rlj->typ=='p')||(rlj->typ=='q')) continue; + /* j-position of base pair shifts to k position (ij)->(ik) inummer-rli->nummer >= MYTURN) + && (ptype[rli->nummer][rlj->nummer]) ) { + /* open original basepair */ + open_bp(rli); + /* close shifted version of original basepair */ + close_bp(rli, rlj); + /* evaluate energy of the structure */ + EoT = energy_of_struct_pt(GAV.farbe, pairList, typeList, aliasList); + /* put the move and the enegy of the structure into the neighbour list */ + update_nbList(1+rli->nummer, -(1+rlj->nummer), EoT); + /* open shifted basepair */ + open_bp(rli); + /* restore original basepair */ + close_bp(rli, stop); + } + /* i-position of base pair shifts to position k (ij)->(kj) inummer-rlj->nummer >= MYTURN) + && (ptype[stop->nummer][rlj->nummer]) ) { + /* open original basepair */ + open_bp(rli); + /* close shifted version of original basepair */ + close_bp(rlj, stop); + /* evaluate energy of the structure */ + EoT = energy_of_struct_pt(GAV.farbe, pairList, typeList, aliasList); + /* put the move and the enegy of the structure into the neighbour list */ + update_nbList(-(1 + rlj->nummer), 1 + stop->nummer, EoT); + /* open shifted basepair */ + open_bp(rlj); + /* restore original basepair */ + close_bp(rli, stop); + } + } + /* examin exterior loop of bp(ij); (.......) + i or j moves <- -> */ + for (rlj=rli->next;rlj!=rli;rlj=rlj->next) { + if ((rlj->typ=='p') || (rlj->typ=='q' ) || (rlj->typ=='x')) continue; + x=rlj->nummer-rli->nummer; + if (x<0) x=-x; + /* j-position of base pair shifts to position k */ + if ((x >= MYTURN) && (ptype[rli->nummer][rlj->nummer])) { + if (rli->nummernummer) { + help_rli=rli; + help_rlj=rlj; + } + else { + help_rli=rlj; + help_rlj=rli; + } + /* open original basepair */ + open_bp(rli); + /* close shifted version of original basepair */ + close_bp(help_rli,help_rlj); + /* evaluate energy of the structure */ + EoT = energy_of_struct_pt(GAV.farbe, pairList, typeList, aliasList); + /* put the move and the enegy of the structure into the neighbour list */ + update_nbList(1 + rli->nummer, -(1 + rlj->nummer), EoT); + /* open shifted base pair */ + open_bp(help_rli); + /* restore original basepair */ + close_bp(rli,stop); + } + x = rlj->nummer-stop->nummer; + if (x < 0) x = -x; + /* i-position of base pair shifts to position k */ + if ((x >= MYTURN) && (ptype[stop->nummer][rlj->nummer])) { + if (stop->nummer < rlj->nummer) { + help_rli = stop; + help_rlj = rlj; + } + else { + help_rli = rlj; + help_rlj = stop; + } + /* open original basepair */ + open_bp(rli); + /* close shifted version of original basepair */ + close_bp(help_rli, help_rlj); + /* evaluate energy of the structure */ + EoT = energy_of_struct_pt(GAV.farbe, pairList, typeList, aliasList); + /* put the move and the enegy of the structure into the neighbour list */ + update_nbList(-(1 + rlj->nummer), 1 + stop->nummer, EoT); + /* open shifted basepair */ + open_bp(help_rli); + /* restore original basepair */ + close_bp(rli,stop); + } + } +} + +/* for a given tree (structure), + generate all neighbours according to moveset */ +void move_it (void) { + int i; + + GSV.currE = + energy_of_struct_pt(GAV.farbe, pairList, typeList, aliasList)/100.; + + if ( GTV.noLP ) { /* canonical neighbours only */ + for (i = 0; i < poListop; i++) { + /* canonical base pair insert neighbours */ + inb_nolp(poList[i]); + + if (i > 0) { /* virtual root bp should never be removed !!! */ + /* canonical base pair delete neighbours */ + dnb_nolp(poList[i]); + } + } + } + else { /* all neighbours */ + for (i = 0; i < poListop; i++) { + /* base pair insert neighbours */ + inb(poList[i]); + + if (i > 0) { /* virtual root bp should never be removed !!! */ + /* base pair delete neighbours */ + dnb(poList[i]); + /* base pair shift neighbours */ + if ( GTV.noShift == 0 ) fnb(poList[i]); + } + } + } +} + +/**/ +void clean_up_rl(void) { + + free(pairList); pairList=NULL; + free(typeList); typeList = NULL; + free(aliasList); aliasList = NULL; + free(rl); rl=NULL; + free(wurzl); wurzl=NULL; + free(poList); poList=NULL; poListop=0; +} + +/**/ +static int comp_struc(const void *A, const void *B) { + int aE, bE; + aE = (int)(100 * energy_of_struct(GAV.farbe_full, ((char **)A)[0])); + bE = (int)(100 * energy_of_struct(GAV.farbe_full, ((char **)B)[0])); + return (aE-bE); +} + +#if 0 +/**/ +static void rl_status(void) { + + int i; + + printf("\n%s\n%s\n", GAV.farbe, GAV.currform); + for (i=0; i <= GSV.len; i++) { + printf("%2d %c %c %2d %2d %2d %2d\n", + rl[i].nummer, + i == GSV.len ? 'X': GAV.farbe[i], + rl[i].typ, + rl[i].up==NULL?0:(rl[i].up)->nummer, + rl[i].down==NULL?0:(rl[i].down)->nummer, + (rl[i].prev)->nummer, + (rl[i].next)->nummer); + } + printf("---\n"); +} +#endif + +#define TURN MYTURN-1 +static void make_ptypes(const short *S) { + int n,i,j,k,l; + n=S[0]; + for (k=1; kn) continue; + type = pair[S[i]][S[j]]; + while ((i>=1)&&(j<=n)) { + if ((i>1)&&(j + c Christoph Flamm and Ivo L Hofacker + {xtof,ivo}@tbi.univie.ac.at + Kinfold: $Name: $ + $Id: baum.h,v 1.1.1.1 2001/08/02 16:48:58 xtof Exp $ +*/ + +#ifndef BAUM_H +#define BAUM_H + +/* used in main.c */ +extern void ini_or_reset_rl(void); +extern void move_it(void); +extern void clean_up_rl(void); + +/* used in nachbar.c */ +extern void update_tree(int i,int j); + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/baum.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/baum.o new file mode 100755 index 0000000000000000000000000000000000000000..d679346222e80853da364fb0b3d063a4f7f224ba GIT binary patch literal 22408 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 + c Christoph Flamm and Ivo L Hofacker + {xtof,ivo}@tbi.univie.ac.at + Kinfold: $Name: $ + $Id: cache.c,v 1.2 2005/02/16 17:00:48 ivo Exp $ +*/ + +#include +#include +#include +#include +#include "utils.h" +#include "cache_util.h" + +/* + modify cache_f(), cache_comp() and the typedef of cache_entry + in cache_utils.h to suit your application +*/ + +/* PUBLIC FUNCTIONES */ +cache_entry *lookup_cache (char *x); +int write_cache (cache_entry *x); +/* void delete_cache (cache_entry *x); */ +void kill_cache(); +void initialize_cache(); + +/* PRIVATE FUNCTIONES */ +/* static int cache_comp(cache_entry *x, cache_entry *y); */ +static unsigned cache_f (char *x); + +/* #define CACHESIZE 67108864 -1 */ /* 2^26 -1 must be power of 2 -1 */ +/* #define CACHESIZE 33554432 -1 */ /* 2^25 -1 must be power of 2 -1 */ +/* #define CACHESIZE 16777216 -1 */ /* 2^24 -1 must be power of 2 -1 */ +/* #define CACHESIZE 4194304 -1 */ /* 2^22 -1 must be power of 2 -1 */ +#define CACHESIZE 1048576 -1 /* 2^20 -1 must be power of 2 -1 */ +/* #define CACHESIZE 262144 -1 */ /* 2^18 -1 must be power of 2 -1 */ +/* next is default */ +/* #define CACHESIZE 65536 -1 */ /* 2^16 -1 must be power of 2 -1 */ +/* #define CACHESIZE 16384 -1 */ /* 2^14 -1 must be power of 2 -1 */ +/* #define CACHESIZE 4096 -1 */ /* 2^12 -1 must be power of 2 -1 */ + +static cache_entry *cachetab[CACHESIZE+1]; +static char UNUSED rcsid[] ="$Id: cache.c,v 1.2 2005/02/16 17:00:48 ivo Exp $"; +unsigned long collisions=0; + +/* stolen from perl source */ +char coeff[] = { + 61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1, + 61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1, + 61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1, + 61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1, + 61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1, + 61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1, + 61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1, + 61,59,53,47,43,41,37,31,29,23,17,13,11,7,3,1}; + +/* key must not be longer than 128 */ +#pragma inline (cache_f) +unsigned cache_f(char *x) { + register char *s; + register int i; + register unsigned cache; + + s = x; + + for (i=0, cache = 0; + /* while */ *s; + s++, i++ , cache *= 5 ) { + cache += *s * coeff[i]; + } + + /* divide through CACHESIZE for normalization */ + return ((cache) & (CACHESIZE)); +} + + +/* returns NULL unless x is in the cache */ +cache_entry *lookup_cache (char *x) { + int cacheval; + cache_entry *c; + + cacheval=cache_f(x); + if ((c=cachetab[cacheval])) + if (strcmp(c->structure,x)==0) return c; + + return NULL; +} + +/* returns 1 if x already was in the cache */ +int write_cache (cache_entry *x) { + int cacheval; + cache_entry *c; + + cacheval=cache_f(x->structure); + if ((c=cachetab[cacheval])) { + free(c->structure); + free(c->neighbors); + free(c->rates); + free(c); + } + cachetab[cacheval]=x; + return 0; +} + +/**/ +void initialize_cache () { } + +/**/ +void kill_cache () { + int i; + + for (i=0;istructure); + free (cachetab[i]->neighbors); + free (cachetab[i]->rates); + free (cachetab[i]); + } + cachetab[i]=NULL; + } +} + +#if 0 +/**/ +static int cache_comp(cache_entry *x, cache_entry *y) { + return strcmp(((cache_entry *)x)->structure, ((cache_entry *)y)->structure); +} +#endif + +/* End of file */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/cache.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/cache.o new file mode 100755 index 0000000000000000000000000000000000000000..a3caf7a17a7bb10b6d7bc80d9fb5b78e9a5ac3c1 GIT binary patch literal 6236 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 CN7g3* literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/cache_util.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/cache_util.h new file mode 100755 index 00000000..47ed1fa9 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/cache_util.h @@ -0,0 +1,32 @@ +/* + Last changed Time-stamp: <2001-08-02 14:58:06 xtof> + c Christoph Flamm and Ivo L Hofacker + {xtof,ivo}@tbi.univie.ac.at + Kinfold: $Name: $ + $Id: cache_util.h,v 1.1.1.1 2001/08/02 16:48:58 xtof Exp $ +*/ + +#ifndef CACHE_UTIL_H +#define CACHE_UTIL_H + +#ifdef __GNUC__ +#define UNUSED __attribute__ ((unused)) +#else +#define UNUSED +#endif + +typedef struct { + char *structure; + int top; /* number of neighbors */ + int lmin; /* is a local minimum ? */ + double flux; /* sum of rates */ + double energy; /* energy of this structure */ + short *neighbors; + float *rates; +} cache_entry; + +extern cache_entry *lookup_cache (char *x); +extern int write_cache (cache_entry *x); +void kill_cache(void); + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/config.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/config.h new file mode 100755 index 00000000..fb0f7d73 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/config.h @@ -0,0 +1,74 @@ +/* config.h. Generated by configure. */ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FOLD_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `m' library (-lm). */ +#define HAVE_LIBM 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +/* #undef HAVE_STRDUP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Name of package */ +#define PACKAGE "kinfold" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "rna@tbi.univie.ac.at" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "Kinfold" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "Kinfold 1.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "kinfold" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.0" + +/* Define to 1 if you have the ANSI C header files. */ +/* #undef STDC_HEADERS */ + +/* Version number of package */ +#define VERSION "1.0" + +/* Define if using the dmalloc debugging malloc package */ +/* #undef WITH_DMALLOC */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/config.h.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/config.h.in new file mode 100755 index 00000000..7224bfa2 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/config.h.in @@ -0,0 +1,73 @@ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_FOLD_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `m' library (-lm). */ +#undef HAVE_LIBM + +/* Define to 1 if you have the header file. */ +#undef HAVE_LIMITS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRDUP + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TIME_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION + +/* Define if using the dmalloc debugging malloc package */ +#undef WITH_DMALLOC + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/config.log b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/config.log new file mode 100755 index 00000000..5e2ff49c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/config.log @@ -0,0 +1,653 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by Kinfold configure 1.0, which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ ./configure --prefix=/usr/local --cache-file=/dev/null --srcdir=. + +## --------- ## +## Platform. ## +## --------- ## + +hostname = mcluster02 +uname -m = x86_64 +uname -r = 2.6.9-34.ELsmp +uname -s = Linux +uname -v = #1 SMP Fri Feb 24 16:56:28 EST 2006 + +/usr/bin/uname -p = unknown +/bin/uname -X = unknown + +/bin/arch = x86_64 +/usr/bin/arch -k = unknown +/usr/convex/getsysinfo = unknown +hostinfo = unknown +/bin/machine = unknown +/usr/bin/oslevel = unknown +/bin/universe = unknown + +PATH: /storage/appl/n1ge6u7/bin/lx24-amd64 +PATH: /opt/sun/n1gc/bin +PATH: /usr/local/bin +PATH: /bin +PATH: /usr/bin +PATH: /opt/c3-4/ +PATH: /usr/X11R6/bin +PATH: /usr/local/bin +PATH: /usr/local/bin/X11R5 +PATH: /usr/local/X11R5/bin +PATH: /usr/X11R6/bin +PATH: /home/rabani/Develop/perl/GeneXPress +PATH: /home/rabani/Develop/perl/Genome +PATH: /home/rabani/Develop/perl/Lib +PATH: /home/rabani/Develop/perl/Parsers +PATH: /home/rabani/Develop/perl/RNA +PATH: /home/rabani/Develop/perl/Sequence +PATH: /home/rabani/Develop/perl/System +PATH: /home/rabani/Develop/perl/Web +PATH: /home/rabani/Develop/perl/Web/DataDir +PATH: /home/rabani/Develop/genie_release64/Programs +PATH: /storage/appl/matlab14.3/bin +PATH: /home/rabani + + +## ----------- ## +## Core tests. ## +## ----------- ## + +configure:1364: checking for a BSD-compatible install +configure:1419: result: /usr/bin/install -c +configure:1430: checking whether build environment is sane +configure:1473: result: yes +configure:1538: checking for gawk +configure:1554: found /bin/gawk +configure:1564: result: gawk +configure:1574: checking whether make sets $(MAKE) +configure:1594: result: yes +configure:1763: checking if malloc debugging is wanted +configure:1784: result: no +configure:1835: checking for gcc +configure:1851: found /usr/bin/gcc +configure:1861: result: gcc +configure:2105: checking for C compiler version +configure:2108: gcc --version &5 +gcc (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2) +Copyright (C) 2004 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:2111: $? = 0 +configure:2113: gcc -v &5 +Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.5/specs +Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=x86_64-redhat-linux +Thread model: posix +gcc version 3.4.5 20051201 (Red Hat 3.4.5-2) +configure:2116: $? = 0 +configure:2118: gcc -V &5 +gcc: `-V' option must have argument +configure:2121: $? = 1 +configure:2144: checking for C compiler default output file name +configure:2147: gcc conftest.c >&5 +configure:2150: $? = 0 +configure:2196: result: a.out +configure:2201: checking whether the C compiler works +configure:2207: ./a.out +configure:2210: $? = 0 +configure:2227: result: yes +configure:2234: checking whether we are cross compiling +configure:2236: result: no +configure:2239: checking for suffix of executables +configure:2241: gcc -o conftest conftest.c >&5 +configure:2244: $? = 0 +configure:2269: result: +configure:2275: checking for suffix of object files +configure:2296: gcc -c conftest.c >&5 +configure:2299: $? = 0 +configure:2321: result: o +configure:2325: checking whether we are using the GNU C compiler +configure:2349: gcc -c conftest.c >&5 +configure:2355: $? = 0 +configure:2359: test -z + || test ! -s conftest.err +configure:2362: $? = 0 +configure:2365: test -s conftest.o +configure:2368: $? = 0 +configure:2381: result: yes +configure:2387: checking whether gcc accepts -g +configure:2408: gcc -c -g conftest.c >&5 +configure:2414: $? = 0 +configure:2418: test -z + || test ! -s conftest.err +configure:2421: $? = 0 +configure:2424: test -s conftest.o +configure:2427: $? = 0 +configure:2438: result: yes +configure:2455: checking for gcc option to accept ANSI C +configure:2525: gcc -c -g -O2 conftest.c >&5 +configure:2531: $? = 0 +configure:2535: test -z + || test ! -s conftest.err +configure:2538: $? = 0 +configure:2541: test -s conftest.o +configure:2544: $? = 0 +configure:2562: result: none needed +configure:2580: gcc -c -g -O2 conftest.c >&5 +conftest.c:2: error: syntax error before "me" +configure:2586: $? = 1 +configure: failed program was: +| #ifndef __cplusplus +| choke me +| #endif +configure:2730: checking for style of include used by make +configure:2758: result: GNU +configure:2786: checking dependency style of gcc +configure:2876: result: gcc3 +configure:2893: checking whether make sets $(MAKE) +configure:2913: result: yes +configure:2937: checking build system type +configure:2955: result: x86_64-unknown-linux-gnu +configure:2963: checking host system type +configure:2977: result: x86_64-unknown-linux-gnu +configure:3000: checking for ViennaRNA package +configure:3043: result: headers in "../H" and library... "../lib" +configure:3050: checking for exp in -lm +configure:3080: gcc -o conftest -g -O2 -I../H -L../lib conftest.c -lm >&5 +conftest.c:18: warning: conflicting types for built-in function 'exp' +configure:3086: $? = 0 +configure:3090: test -z + || test ! -s conftest.err +configure:3093: $? = 0 +configure:3096: test -s conftest +configure:3099: $? = 0 +configure:3112: result: yes +configure:3132: checking how to run the C preprocessor +configure:3167: gcc -E -I../H conftest.c +configure:3173: $? = 0 +configure:3205: gcc -E -I../H conftest.c +conftest.c:12:28: ac_nonexistent.h: No such file or directory +configure:3211: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "Kinfold" +| #define PACKAGE_TARNAME "kinfold" +| #define PACKAGE_VERSION "1.0" +| #define PACKAGE_STRING "Kinfold 1.0" +| #define PACKAGE_BUGREPORT "rna@tbi.univie.ac.at" +| #define PACKAGE "kinfold" +| #define VERSION "1.0" +| #define HAVE_LIBM 1 +| /* end confdefs.h. */ +| #include +configure:3250: result: gcc -E +configure:3274: gcc -E -I../H conftest.c +configure:3280: $? = 0 +configure:3312: gcc -E -I../H conftest.c +conftest.c:12:28: ac_nonexistent.h: No such file or directory +configure:3318: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "Kinfold" +| #define PACKAGE_TARNAME "kinfold" +| #define PACKAGE_VERSION "1.0" +| #define PACKAGE_STRING "Kinfold 1.0" +| #define PACKAGE_BUGREPORT "rna@tbi.univie.ac.at" +| #define PACKAGE "kinfold" +| #define VERSION "1.0" +| #define HAVE_LIBM 1 +| /* end confdefs.h. */ +| #include +configure:3362: checking for egrep +configure:3372: result: grep -E +configure:3377: checking for ANSI C header files +configure:3402: gcc -c -g -O2 -I../H conftest.c >&5 +configure:3408: $? = 0 +configure:3412: test -z + || test ! -s conftest.err +configure:3415: $? = 0 +configure:3418: test -s conftest.o +configure:3421: $? = 0 +configure:3510: gcc -o conftest -g -O2 -I../H -L../lib conftest.c -lRNA -lm >&5 +/usr/bin/ld: skipping incompatible ../lib/libRNA.a when searching for -lRNA +/usr/bin/ld: cannot find -lRNA +collect2: ld returned 1 exit status +configure:3513: $? = 1 +configure: program exited with status 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "Kinfold" +| #define PACKAGE_TARNAME "kinfold" +| #define PACKAGE_VERSION "1.0" +| #define PACKAGE_STRING "Kinfold 1.0" +| #define PACKAGE_BUGREPORT "rna@tbi.univie.ac.at" +| #define PACKAGE "kinfold" +| #define VERSION "1.0" +| #define HAVE_LIBM 1 +| /* end confdefs.h. */ +| #include +| #if ((' ' & 0x0FF) == 0x020) +| # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +| # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +| #else +| # define ISLOWER(c) (('a' <= (c) && (c) <= 'i') || ('j' <= (c) && (c) <= 'r') || ('s' <= (c) && (c) <= 'z')) +| # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +| #endif +| +| #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +| int +| main () +| { +| int i; +| for (i = 0; i < 256; i++) +| if (XOR (islower (i), ISLOWER (i)) +| || toupper (i) != TOUPPER (i)) +| exit(2); +| exit (0); +| } +configure:3533: result: no +configure:3557: checking for sys/types.h +configure:3573: gcc -c -g -O2 -I../H conftest.c >&5 +configure:3579: $? = 0 +configure:3583: test -z + || test ! -s conftest.err +configure:3586: $? = 0 +configure:3589: test -s conftest.o +configure:3592: $? = 0 +configure:3603: result: yes +configure:3557: checking for sys/stat.h +configure:3573: gcc -c -g -O2 -I../H conftest.c >&5 +configure:3579: $? = 0 +configure:3583: test -z + || test ! -s conftest.err +configure:3586: $? = 0 +configure:3589: test -s conftest.o +configure:3592: $? = 0 +configure:3603: result: yes +configure:3557: checking for stdlib.h +configure:3573: gcc -c -g -O2 -I../H conftest.c >&5 +configure:3579: $? = 0 +configure:3583: test -z + || test ! -s conftest.err +configure:3586: $? = 0 +configure:3589: test -s conftest.o +configure:3592: $? = 0 +configure:3603: result: yes +configure:3557: checking for string.h +configure:3573: gcc -c -g -O2 -I../H conftest.c >&5 +configure:3579: $? = 0 +configure:3583: test -z + || test ! -s conftest.err +configure:3586: $? = 0 +configure:3589: test -s conftest.o +configure:3592: $? = 0 +configure:3603: result: yes +configure:3557: checking for memory.h +configure:3573: gcc -c -g -O2 -I../H conftest.c >&5 +configure:3579: $? = 0 +configure:3583: test -z + || test ! -s conftest.err +configure:3586: $? = 0 +configure:3589: test -s conftest.o +configure:3592: $? = 0 +configure:3603: result: yes +configure:3557: checking for strings.h +configure:3573: gcc -c -g -O2 -I../H conftest.c >&5 +configure:3579: $? = 0 +configure:3583: test -z + || test ! -s conftest.err +configure:3586: $? = 0 +configure:3589: test -s conftest.o +configure:3592: $? = 0 +configure:3603: result: yes +configure:3557: checking for inttypes.h +configure:3573: gcc -c -g -O2 -I../H conftest.c >&5 +configure:3579: $? = 0 +configure:3583: test -z + || test ! -s conftest.err +configure:3586: $? = 0 +configure:3589: test -s conftest.o +configure:3592: $? = 0 +configure:3603: result: yes +configure:3557: checking for stdint.h +configure:3573: gcc -c -g -O2 -I../H conftest.c >&5 +configure:3579: $? = 0 +configure:3583: test -z + || test ! -s conftest.err +configure:3586: $? = 0 +configure:3589: test -s conftest.o +configure:3592: $? = 0 +configure:3603: result: yes +configure:3557: checking for unistd.h +configure:3573: gcc -c -g -O2 -I../H conftest.c >&5 +configure:3579: $? = 0 +configure:3583: test -z + || test ! -s conftest.err +configure:3586: $? = 0 +configure:3589: test -s conftest.o +configure:3592: $? = 0 +configure:3603: result: yes +configure:3632: checking limits.h usability +configure:3644: gcc -c -g -O2 -I../H conftest.c >&5 +configure:3650: $? = 0 +configure:3654: test -z + || test ! -s conftest.err +configure:3657: $? = 0 +configure:3660: test -s conftest.o +configure:3663: $? = 0 +configure:3673: result: yes +configure:3677: checking limits.h presence +configure:3687: gcc -E -I../H conftest.c +configure:3693: $? = 0 +configure:3713: result: yes +configure:3748: checking for limits.h +configure:3755: result: yes +configure:3632: checking sys/time.h usability +configure:3644: gcc -c -g -O2 -I../H conftest.c >&5 +configure:3650: $? = 0 +configure:3654: test -z + || test ! -s conftest.err +configure:3657: $? = 0 +configure:3660: test -s conftest.o +configure:3663: $? = 0 +configure:3673: result: yes +configure:3677: checking sys/time.h presence +configure:3687: gcc -E -I../H conftest.c +configure:3693: $? = 0 +configure:3713: result: yes +configure:3748: checking for sys/time.h +configure:3755: result: yes +configure:3623: checking for unistd.h +configure:3628: result: yes +configure:3632: checking fold.h usability +configure:3644: gcc -c -g -O2 -I../H conftest.c >&5 +configure:3650: $? = 0 +configure:3654: test -z + || test ! -s conftest.err +configure:3657: $? = 0 +configure:3660: test -s conftest.o +configure:3663: $? = 0 +configure:3673: result: yes +configure:3677: checking fold.h presence +configure:3687: gcc -E -I../H conftest.c +configure:3693: $? = 0 +configure:3713: result: yes +configure:3748: checking for fold.h +configure:3755: result: yes +configure:3769: checking for an ANSI C-conforming const +configure:3836: gcc -c -g -O2 -I../H conftest.c >&5 +configure:3842: $? = 0 +configure:3846: test -z + || test ! -s conftest.err +configure:3849: $? = 0 +configure:3852: test -s conftest.o +configure:3855: $? = 0 +configure:3866: result: yes +configure:3881: checking for strdup +configure:3938: gcc -o conftest -g -O2 -I../H -L../lib conftest.c -lRNA -lm >&5 +conftest.c:49: warning: conflicting types for built-in function 'strdup' +/usr/bin/ld: skipping incompatible ../lib/libRNA.a when searching for -lRNA +/usr/bin/ld: cannot find -lRNA +collect2: ld returned 1 exit status +configure:3944: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "Kinfold" +| #define PACKAGE_TARNAME "kinfold" +| #define PACKAGE_VERSION "1.0" +| #define PACKAGE_STRING "Kinfold 1.0" +| #define PACKAGE_BUGREPORT "rna@tbi.univie.ac.at" +| #define PACKAGE "kinfold" +| #define VERSION "1.0" +| #define HAVE_LIBM 1 +| #define HAVE_SYS_TYPES_H 1 +| #define HAVE_SYS_STAT_H 1 +| #define HAVE_STDLIB_H 1 +| #define HAVE_STRING_H 1 +| #define HAVE_MEMORY_H 1 +| #define HAVE_STRINGS_H 1 +| #define HAVE_INTTYPES_H 1 +| #define HAVE_STDINT_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_LIMITS_H 1 +| #define HAVE_SYS_TIME_H 1 +| #define HAVE_UNISTD_H 1 +| #define HAVE_FOLD_H 1 +| /* end confdefs.h. */ +| /* Define strdup to an innocuous variant, in case declares strdup. +| For example, HP-UX 11i declares gettimeofday. */ +| #define strdup innocuous_strdup +| +| /* System header to define __stub macros and hopefully few prototypes, +| which can conflict with char strdup (); below. +| Prefer to if __STDC__ is defined, since +| exists even on freestanding compilers. */ +| +| #ifdef __STDC__ +| # include +| #else +| # include +| #endif +| +| #undef strdup +| +| /* Override any gcc2 internal prototype to avoid an error. */ +| #ifdef __cplusplus +| extern "C" +| { +| #endif +| /* We use char because int might match the return type of a gcc2 +| builtin and then its argument prototype would still apply. */ +| char strdup (); +| /* The GNU C library defines this for functions which it implements +| to always fail with ENOSYS. Some functions are actually named +| something starting with __ and the normal name is an alias. */ +| #if defined (__stub_strdup) || defined (__stub___strdup) +| choke me +| #else +| char (*f) () = strdup; +| #endif +| #ifdef __cplusplus +| } +| #endif +| +| int +| main () +| { +| return f != strdup; +| ; +| return 0; +| } +configure:3969: result: no +configure:4090: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by Kinfold config.status 1.0, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on mcluster02 + +config.status:699: creating Makefile +config.status:699: creating Example/Makefile +config.status:803: creating config.h +config.status:917: config.h is unchanged +config.status:1097: executing depfiles commands + +## ---------------- ## +## Cache variables. ## +## ---------------- ## + +ac_cv_build=x86_64-unknown-linux-gnu +ac_cv_build_alias=x86_64-unknown-linux-gnu +ac_cv_c_compiler_gnu=yes +ac_cv_c_const=yes +ac_cv_env_CC_set= +ac_cv_env_CC_value= +ac_cv_env_CFLAGS_set= +ac_cv_env_CFLAGS_value= +ac_cv_env_CPPFLAGS_set= +ac_cv_env_CPPFLAGS_value= +ac_cv_env_CPP_set= +ac_cv_env_CPP_value= +ac_cv_env_LDFLAGS_set= +ac_cv_env_LDFLAGS_value= +ac_cv_env_build_alias_set= +ac_cv_env_build_alias_value= +ac_cv_env_host_alias_set= +ac_cv_env_host_alias_value= +ac_cv_env_target_alias_set= +ac_cv_env_target_alias_value= +ac_cv_exeext= +ac_cv_func_strdup=no +ac_cv_header_fold_h=yes +ac_cv_header_inttypes_h=yes +ac_cv_header_limits_h=yes +ac_cv_header_memory_h=yes +ac_cv_header_stdc=no +ac_cv_header_stdint_h=yes +ac_cv_header_stdlib_h=yes +ac_cv_header_string_h=yes +ac_cv_header_strings_h=yes +ac_cv_header_sys_stat_h=yes +ac_cv_header_sys_time_h=yes +ac_cv_header_sys_types_h=yes +ac_cv_header_unistd_h=yes +ac_cv_host=x86_64-unknown-linux-gnu +ac_cv_host_alias=x86_64-unknown-linux-gnu +ac_cv_lib_m_exp=yes +ac_cv_objext=o +ac_cv_path_install='/usr/bin/install -c' +ac_cv_prog_AWK=gawk +ac_cv_prog_CPP='gcc -E' +ac_cv_prog_ac_ct_CC=gcc +ac_cv_prog_cc_g=yes +ac_cv_prog_cc_stdc= +ac_cv_prog_egrep='grep -E' +ac_cv_prog_make_make_set=yes +am_cv_CC_dependencies_compiler_type=gcc3 + +## ----------------- ## +## Output variables. ## +## ----------------- ## + +ACLOCAL='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run aclocal-1.9' +AMDEPBACKSLASH='\' +AMDEP_FALSE='#' +AMDEP_TRUE='' +AMTAR='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run tar' +AUTOCONF='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoconf' +AUTOHEADER='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoheader' +AUTOMAKE='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run automake-1.9' +AWK='gawk' +CC='gcc' +CCDEPMODE='depmode=gcc3' +CFLAGS='-g -O2' +CPP='gcc -E' +CPPFLAGS=' -I../H' +CYGPATH_W='echo' +DEFS='-DHAVE_CONFIG_H' +DEPDIR='.deps' +ECHO_C='' +ECHO_N='-n' +ECHO_T='' +EGREP='grep -E' +EXEEXT='' +INSTALL_DATA='${INSTALL} -m 644' +INSTALL_PROGRAM='${INSTALL}' +INSTALL_SCRIPT='${INSTALL}' +INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s' +ISODATE='2006-06-13' +LDFLAGS='-L../lib ' +LIBOBJS='' +LIBS='-lRNA -lm ' +LTLIBOBJS='' +MAKEINFO='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run makeinfo' +OBJEXT='o' +PACKAGE='kinfold' +PACKAGE_BUGREPORT='rna@tbi.univie.ac.at' +PACKAGE_NAME='Kinfold' +PACKAGE_STRING='Kinfold 1.0' +PACKAGE_TARNAME='kinfold' +PACKAGE_VERSION='1.0' +PATH_SEPARATOR=':' +SET_MAKE='' +SHELL='/bin/sh' +STRIP='' +VERSION='1.0' +ac_ct_CC='gcc' +ac_ct_STRIP='' +am__fastdepCC_FALSE='#' +am__fastdepCC_TRUE='' +am__include='include' +am__leading_dot='.' +am__quote='' +am__tar='${AMTAR} chof - "$$tardir"' +am__untar='${AMTAR} xf -' +bindir='${exec_prefix}/bin' +build='x86_64-unknown-linux-gnu' +build_alias='' +build_cpu='x86_64' +build_os='linux-gnu' +build_vendor='unknown' +datadir='${prefix}/share' +exec_prefix='${prefix}' +host='x86_64-unknown-linux-gnu' +host_alias='' +host_cpu='x86_64' +host_os='linux-gnu' +host_vendor='unknown' +includedir='${prefix}/include' +infodir='${prefix}/info' +install_sh='/home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/install-sh' +libdir='${exec_prefix}/lib' +libexecdir='${exec_prefix}/libexec' +localstatedir='${prefix}/var' +mandir='${prefix}/man' +mkdir_p='mkdir -p --' +oldincludedir='/usr/include' +prefix='/usr/local' +program_transform_name='s,x,x,' +sbindir='${exec_prefix}/sbin' +sharedstatedir='${prefix}/com' +sysconfdir='${prefix}/etc' +target_alias='' + +## ----------- ## +## confdefs.h. ## +## ----------- ## + +#define HAVE_FOLD_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIBM 1 +#define HAVE_LIMITS_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_SYS_TIME_H 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_UNISTD_H 1 +#define PACKAGE "kinfold" +#define PACKAGE_BUGREPORT "rna@tbi.univie.ac.at" +#define PACKAGE_NAME "Kinfold" +#define PACKAGE_STRING "Kinfold 1.0" +#define PACKAGE_TARNAME "kinfold" +#define PACKAGE_VERSION "1.0" +#define VERSION "1.0" + +configure: exit 0 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/config.status b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/config.status new file mode 100755 index 00000000..4be07f4d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/config.status @@ -0,0 +1,1188 @@ +#! /bin/sh +# Generated by configure. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=${CONFIG_SHELL-/bin/sh} +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by Kinfold $as_me 1.0, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +config_files=" Makefile Example/Makefile" +config_headers=" config.h" +config_commands=" depfiles" + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." +ac_cs_version="\ +Kinfold config.status 1.0 +configured by ./configure, generated by GNU Autoconf 2.59, + with options \"'--prefix=/usr/local' '--cache-file=/dev/null' '--srcdir=.'\" + +Copyright (C) 2003 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=. +INSTALL="/usr/bin/install -c" +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +if $ac_cs_recheck; then + echo "running /bin/sh ./configure " '--prefix=/usr/local' '--cache-file=/dev/null' '--srcdir=.' $ac_configure_extra_args " --no-create --no-recursion" >&6 + exec /bin/sh ./configure '--prefix=/usr/local' '--cache-file=/dev/null' '--srcdir=.' $ac_configure_extra_args --no-create --no-recursion +fi + +# +# INIT-COMMANDS section. +# + +AMDEP_TRUE="" ac_aux_dir="./.." + +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "Example/Makefile" ) CONFIG_FILES="$CONFIG_FILES Example/Makefile" ;; + "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF +s,@SHELL@,/bin/sh,;t t +s,@PATH_SEPARATOR@,:,;t t +s,@PACKAGE_NAME@,Kinfold,;t t +s,@PACKAGE_TARNAME@,kinfold,;t t +s,@PACKAGE_VERSION@,1.0,;t t +s,@PACKAGE_STRING@,Kinfold 1.0,;t t +s,@PACKAGE_BUGREPORT@,rna@tbi.univie.ac.at,;t t +s,@exec_prefix@,${prefix},;t t +s,@prefix@,/usr/local,;t t +s,@program_transform_name@,s,x,x,,;t t +s,@bindir@,${exec_prefix}/bin,;t t +s,@sbindir@,${exec_prefix}/sbin,;t t +s,@libexecdir@,${exec_prefix}/libexec,;t t +s,@datadir@,${prefix}/share,;t t +s,@sysconfdir@,${prefix}/etc,;t t +s,@sharedstatedir@,${prefix}/com,;t t +s,@localstatedir@,${prefix}/var,;t t +s,@libdir@,${exec_prefix}/lib,;t t +s,@includedir@,${prefix}/include,;t t +s,@oldincludedir@,/usr/include,;t t +s,@infodir@,${prefix}/info,;t t +s,@mandir@,${prefix}/man,;t t +s,@build_alias@,,;t t +s,@host_alias@,,;t t +s,@target_alias@,,;t t +s,@DEFS@,-DHAVE_CONFIG_H,;t t +s,@ECHO_C@,,;t t +s,@ECHO_N@,-n,;t t +s,@ECHO_T@,,;t t +s,@LIBS@,-lRNA -lm ,;t t +s,@INSTALL_PROGRAM@,${INSTALL},;t t +s,@INSTALL_SCRIPT@,${INSTALL},;t t +s,@INSTALL_DATA@,${INSTALL} -m 644,;t t +s,@CYGPATH_W@,echo,;t t +s,@PACKAGE@,kinfold,;t t +s,@VERSION@,1.0,;t t +s,@ACLOCAL@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run aclocal-1.9,;t t +s,@AUTOCONF@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoconf,;t t +s,@AUTOMAKE@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run automake-1.9,;t t +s,@AUTOHEADER@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoheader,;t t +s,@MAKEINFO@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run makeinfo,;t t +s,@install_sh@,/home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/install-sh,;t t +s,@STRIP@,,;t t +s,@ac_ct_STRIP@,,;t t +s,@INSTALL_STRIP_PROGRAM@,${SHELL} $(install_sh) -c -s,;t t +s,@mkdir_p@,mkdir -p --,;t t +s,@AWK@,gawk,;t t +s,@SET_MAKE@,,;t t +s,@am__leading_dot@,.,;t t +s,@AMTAR@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run tar,;t t +s,@am__tar@,${AMTAR} chof - "$$tardir",;t t +s,@am__untar@,${AMTAR} xf -,;t t +s,@CC@,gcc,;t t +s,@CFLAGS@,-g -O2,;t t +s,@LDFLAGS@,-L../lib ,;t t +s,@CPPFLAGS@, -I../H,;t t +s,@ac_ct_CC@,gcc,;t t +s,@EXEEXT@,,;t t +s,@OBJEXT@,o,;t t +s,@DEPDIR@,.deps,;t t +s,@am__include@,include,;t t +s,@am__quote@,,;t t +s,@AMDEP_TRUE@,,;t t +s,@AMDEP_FALSE@,#,;t t +s,@AMDEPBACKSLASH@,\,;t t +s,@CCDEPMODE@,depmode=gcc3,;t t +s,@am__fastdepCC_TRUE@,,;t t +s,@am__fastdepCC_FALSE@,#,;t t +s,@ISODATE@,2006-06-13,;t t +s,@build@,x86_64-unknown-linux-gnu,;t t +s,@build_cpu@,x86_64,;t t +s,@build_vendor@,unknown,;t t +s,@build_os@,linux-gnu,;t t +s,@host@,x86_64-unknown-linux-gnu,;t t +s,@host_cpu@,x86_64,;t t +s,@host_vendor@,unknown,;t t +s,@host_os@,linux-gnu,;t t +s,@CPP@,gcc -E,;t t +s,@EGREP@,grep -E,;t t +s,@LIBOBJS@,,;t t +s,@LTLIBOBJS@,,;t t +CEOF + + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + sed "/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +} + +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done + +# +# CONFIG_HEADER section. +# + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' +ac_dC=' ' +ac_dD=',;t' +# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='$,\1#\2define\3' +ac_uC=' ' +ac_uD=',;t' + +for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + # Remove the trailing spaces. + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + + # Handle all the #define templates only if necessary. + if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then + # If there are no defines, we may have an empty if/fi + : + cat >$tmp/defines.sed <$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in + + fi # grep + + # Handle all the #undef templates + cat >$tmp/undefs.sed <$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + echo "/* Generated by configure. */" >$tmp/config.h + else + echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + fi + cat $tmp/in >>$tmp/config.h + rm -f $tmp/in + if test x"$ac_file" != x-; then + if diff $ac_file $tmp/config.h >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + rm -f $ac_file + mv $tmp/config.h $ac_file + fi + else + cat $tmp/config.h + rm -f $tmp/config.h + fi +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'`/stamp-h$_am_stamp_count +done + +# +# CONFIG_COMMANDS section. +# +for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue + ac_dest=`echo "$ac_file" | sed 's,:.*,,'` + ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_dir=`(dirname "$ac_dest") 2>/dev/null || +$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_dest" : 'X\(//\)[^/]' \| \ + X"$ac_dest" : 'X\(//\)$' \| \ + X"$ac_dest" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_dest" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 +echo "$as_me: executing $ac_dest commands" >&6;} + case $ac_dest in + depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`(dirname "$mf") 2>/dev/null || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`(dirname "$file") 2>/dev/null || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p $dirpart/$fdir + else + as_dir=$dirpart/$fdir + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 +echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} + { (exit 1); exit 1; }; }; } + + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + esac +done + +{ (exit 0); exit 0; } diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/configure b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/configure new file mode 100755 index 00000000..bd34f413 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/configure @@ -0,0 +1,5384 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.59 for Kinfold 1.0. +# +# Report bugs to . +# +# Copyright (C) 2003 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +exec 6>&1 + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_config_libobj_dir=. +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Maximum number of lines to put in a shell here document. +# This variable seems obsolete. It should probably be removed, and +# only ac_max_sed_lines should be used. +: ${ac_max_here_lines=38} + +# Identity of this package. +PACKAGE_NAME='Kinfold' +PACKAGE_TARNAME='kinfold' +PACKAGE_VERSION='1.0' +PACKAGE_STRING='Kinfold 1.0' +PACKAGE_BUGREPORT='rna@tbi.univie.ac.at' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif +#if HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE ISODATE build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPP EGREP LIBOBJS LTLIBOBJS' +ac_subst_files='' + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +ac_prev= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_option in + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + eval "enable_$ac_feature=no" ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "enable_$ac_feature='$ac_optarg'" ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package| sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "with_$ac_package='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/-/_/g'` + eval "with_$ac_package=no" ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + eval "$ac_envvar='$ac_optarg'" + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute paths. +for ac_var in exec_prefix prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# Be sure to have absolute paths. +for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ + localstatedir libdir includedir oldincludedir infodir mandir +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then its parent. + ac_confdir=`(dirname "$0") 2>/dev/null || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r $srcdir/$ac_unique_file; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { (exit 1); exit 1; }; } + else + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } + fi +fi +(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || + { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 + { (exit 1); exit 1; }; } +srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +ac_env_build_alias_set=${build_alias+set} +ac_env_build_alias_value=$build_alias +ac_cv_env_build_alias_set=${build_alias+set} +ac_cv_env_build_alias_value=$build_alias +ac_env_host_alias_set=${host_alias+set} +ac_env_host_alias_value=$host_alias +ac_cv_env_host_alias_set=${host_alias+set} +ac_cv_env_host_alias_value=$host_alias +ac_env_target_alias_set=${target_alias+set} +ac_env_target_alias_value=$target_alias +ac_cv_env_target_alias_set=${target_alias+set} +ac_cv_env_target_alias_value=$target_alias +ac_env_CC_set=${CC+set} +ac_env_CC_value=$CC +ac_cv_env_CC_set=${CC+set} +ac_cv_env_CC_value=$CC +ac_env_CFLAGS_set=${CFLAGS+set} +ac_env_CFLAGS_value=$CFLAGS +ac_cv_env_CFLAGS_set=${CFLAGS+set} +ac_cv_env_CFLAGS_value=$CFLAGS +ac_env_LDFLAGS_set=${LDFLAGS+set} +ac_env_LDFLAGS_value=$LDFLAGS +ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +ac_cv_env_LDFLAGS_value=$LDFLAGS +ac_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_env_CPPFLAGS_value=$CPPFLAGS +ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_cv_env_CPPFLAGS_value=$CPPFLAGS +ac_env_CPP_set=${CPP+set} +ac_env_CPP_value=$CPP +ac_cv_env_CPP_set=${CPP+set} +ac_cv_env_CPP_value=$CPP + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures Kinfold 1.0 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +_ACEOF + + cat <<_ACEOF +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data [PREFIX/share] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of Kinfold 1.0:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-dmalloc use dmalloc, as in + http://www.dmalloc.com/dmalloc.tar.gz + --with-ViennaRNA-include where to search for ViennaRNA header files + --with-ViennaRNA-lib where to search for libRNA.a + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have + headers in a nonstandard directory + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + ac_popdir=`pwd` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d $ac_dir || continue + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + cd $ac_dir + # Check for guested configure; otherwise get Cygnus style configure. + if test -f $ac_srcdir/configure.gnu; then + echo + $SHELL $ac_srcdir/configure.gnu --help=recursive + elif test -f $ac_srcdir/configure; then + echo + $SHELL $ac_srcdir/configure --help=recursive + elif test -f $ac_srcdir/configure.ac || + test -f $ac_srcdir/configure.in; then + echo + $ac_configure --help + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi + cd $ac_popdir + done +fi + +test -n "$ac_init_help" && exit 0 +if $ac_init_version; then + cat <<\_ACEOF +Kinfold configure 1.0 +generated by GNU Autoconf 2.59 + +Copyright (C) 2003 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit 0 +fi +exec 5>config.log +cat >&5 <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by Kinfold $as_me 1.0, which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ $0 $@ + +_ACEOF +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +hostinfo = `(hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_sep= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" + # Get rid of the leading space. + ac_sep=" " + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Be sure not to use single quotes in there, as some shells, +# such as our DU 5.0 friend, will then `close' the trap. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +{ + (set) 2>&1 | + case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in + *ac_space=\ *) + sed -n \ + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + ;; + *) + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------- ## +## Output files. ## +## ------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + sed "/^$/d" confdefs.h | sort + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core && + rm -rf conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status + ' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo >confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . $cache_file;; + *) . ./$cache_file;; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in `(set) 2>&1 | + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val="\$ac_cv_env_${ac_var}_value" + eval ac_new_val="\$ac_env_${ac_var}_value" + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + + + + + + + + + + + + + + + +am__api_version="1.9" +ac_aux_dir= +for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do + if test -f $ac_dir/install-sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f $ac_dir/install.sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f $ac_dir/shtool; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 +echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} + { (exit 1); exit 1; }; } +fi +ac_config_guess="$SHELL $ac_aux_dir/config.guess" +ac_config_sub="$SHELL $ac_aux_dir/config.sub" +ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. We don't cache a + # path for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the path is relative. + INSTALL=$ac_install_sh + fi +fi +echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6 + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +test "$program_prefix" != NONE && + program_transform_name="s,^,$program_prefix,;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s,\$,$program_suffix,;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$AWK" && break +done + +echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +all: + @echo 'ac_maketemp="$(MAKE)"' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` +if test -n "$ac_maketemp"; then + eval ac_cv_prog_make_${ac_make}_set=yes +else + eval ac_cv_prog_make_${ac_make}_set=no +fi +rm -f conftest.make +fi +if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + SET_MAKE= +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='kinfold' + VERSION='1.0' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + STRIP=$ac_ct_STRIP +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + + +echo "$as_me:$LINENO: checking if malloc debugging is wanted" >&5 +echo $ECHO_N "checking if malloc debugging is wanted... $ECHO_C" >&6 + +# Check whether --with-dmalloc or --without-dmalloc was given. +if test "${with_dmalloc+set}" = set; then + withval="$with_dmalloc" + if test "$withval" = yes; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define WITH_DMALLOC 1 +_ACEOF + + LIBS="$LIBS -ldmalloc" + LDFLAGS="$LDFLAGS -g" +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi; + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CC" && break +done + + CC=$ac_ct_CC +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 + (eval $ac_link_default) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Find the output, starting from the most likely. This scheme is +# not robust to junk in `.', hence go to wildcards (a.*) only as a last +# resort. + +# Be careful to initialize this variable, since it used to be cached. +# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +ac_cv_exeext= +# b.out is created by i960 compilers. +for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) + ;; + conftest.$ac_ext ) + # This is the source file. + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool, + # but it would be cool to find out if it's true. Does anybody + # maintain Libtool? --akim. + export ac_cv_exeext + break;; + * ) + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6 + +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 +echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6 + +echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + export ac_cv_exeext + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6 + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6 +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +CFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cc_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_stdc=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_stdc=$ac_arg +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext +done +rm -f conftest.$ac_ext conftest.$ac_objext +CC=$ac_save_CC + +fi + +case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 ;; + *) + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; +esac + +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +#ifndef __cplusplus + choke me +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +#include +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + + ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6 +rm -f confinc confmf + +# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval="$enable_dependency_tracking" + +fi; +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CC" am_compiler_list= + +echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +all: + @echo 'ac_maketemp="$(MAKE)"' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` +if test -n "$ac_maketemp"; then + eval ac_cv_prog_make_${ac_make}_set=yes +else + eval ac_cv_prog_make_${ac_make}_set=no +fi +rm -f conftest.make +fi +if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + SET_MAKE= +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + SET_MAKE="MAKE=${MAKE-make}" +fi + + + ac_config_headers="$ac_config_headers config.h" + + + + +ISODATE=`date +%Y-%m-%d` + + +# Make sure we can run config.sub. +$ac_config_sub sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 +echo "$as_me: error: cannot run $ac_config_sub" >&2;} + { (exit 1); exit 1; }; } + +echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6 +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_build_alias=$build_alias +test -z "$ac_cv_build_alias" && + ac_cv_build_alias=`$ac_config_guess` +test -z "$ac_cv_build_alias" && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6 +build=$ac_cv_build +build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6 +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_host_alias=$host_alias +test -z "$ac_cv_host_alias" && + ac_cv_host_alias=$ac_cv_build_alias +ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6 +host=$ac_cv_host +host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + + + +# Check whether --with-ViennaRNA-include or --without-ViennaRNA-include was given. +if test "${with_ViennaRNA_include+set}" = set; then + withval="$with_ViennaRNA_include" + ac_VRNA_includes="$withval" +fi; + + +# Check whether --with-ViennaRNA-lib or --without-ViennaRNA-lib was given. +if test "${with_ViennaRNA_lib+set}" = set; then + withval="$with_ViennaRNA_lib" + ac_VRNA_lib="$withval" +fi; + +echo "$as_me:$LINENO: checking for ViennaRNA package" >&5 +echo $ECHO_N "checking for ViennaRNA package... $ECHO_C" >&6 +if test -z "$ac_VRNA_includes"; then + for ac_dir in \ + ../H \ + /usr/local/include/ViennaRNA \ + /usr/local/include \ + /usr/include/ViennaRNA \ + /usr/local/ViennaRNA/H \ + /usr/local/share/ViennaRNA/include \ + /opt/ViennaRNA/include \ + ;\ + do + if test -r "$ac_dir/part_func.h"; then + ac_VRNA_includes=$ac_dir + break + fi + done +fi +if test $ac_VRNA_includes; then + CPPFLAGS="$CPPFLAGS -I$ac_VRNA_includes" +fi + +if [ -d ../lib ] && [ "$ac_VRNA_includes" = "../H" ]; then + ac_VRNA_lib=../lib +fi + +if test -z "$ac_VRNA_lib"; then +for ac_dir in `echo "$ac_VRNA_includes" | sed -e s/include/lib/ -e s/H$/lib/` \ + /usr/local/lib \ + ; \ +do + for ac_extension in a so sl; do + if test -r $ac_dir/libRNA.$ac_extension; then + ac_VRNA_lib=$ac_dir + break 2 + fi + done +done +fi # $ac_VRNA_lib = NO +if test $ac_VRNA_lib; then + LDFLAGS="-L$ac_VRNA_lib $LDFLAGS" +fi +echo "$as_me:$LINENO: result: headers in \"$ac_VRNA_includes\" and library... \"$ac_VRNA_lib\"" >&5 +echo "${ECHO_T} headers in \"$ac_VRNA_includes\" and library... \"$ac_VRNA_lib\"" >&6 + + + + + +echo "$as_me:$LINENO: checking for exp in -lm" >&5 +echo $ECHO_N "checking for exp in -lm... $ECHO_C" >&6 +if test "${ac_cv_lib_m_exp+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char exp (); +int +main () +{ +exp (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_m_exp=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_m_exp=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_m_exp" >&5 +echo "${ECHO_T}$ac_cv_lib_m_exp" >&6 +if test $ac_cv_lib_m_exp = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBM 1 +_ACEOF + + LIBS="-lm $LIBS" + +fi + + +LIBS="-lRNA ${LIBS}" + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6 +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +if test "${ac_cv_prog_egrep+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +echo "${ECHO_T}$ac_cv_prog_egrep" >&6 + EGREP=$ac_cv_prog_egrep + + +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6 +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + + +for ac_header in limits.h sys/time.h unistd.h fold.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ----------------------------------- ## +## Report this to rna@tbi.univie.ac.at ## +## ----------------------------------- ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 +if test "${ac_cv_c_const+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset x; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *ccp; + char **p; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + ccp = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++ccp; + p = (char**) ccp; + ccp = (char const *const *) p; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + } +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_const=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_c_const=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +echo "${ECHO_T}$ac_cv_c_const" >&6 +if test $ac_cv_c_const = no; then + +cat >>confdefs.h <<\_ACEOF +#define const +_ACEOF + +fi + + + +for ac_func in strdup +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + ac_config_files="$ac_config_files Makefile Example/Makefile" +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +{ + (set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} | + sed ' + t clear + : clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + : end' >>confcache +if diff $cache_file confcache >/dev/null 2>&1; then :; else + if test -w $cache_file; then + test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + cat confcache >$cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +}' +fi + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_i=`echo "$ac_i" | + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + # 2. Add them. + ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by Kinfold $as_me 1.0, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +_ACEOF + +# Files that config.status was made for. +if test -n "$ac_config_files"; then + echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_headers"; then + echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_links"; then + echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_commands"; then + echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +fi + +cat >>$CONFIG_STATUS <<\_ACEOF + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +Kinfold config.status 1.0 +configured by $0, generated by GNU Autoconf 2.59, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2003 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=$srcdir +INSTALL="$INSTALL" +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS section. +# + +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + + + +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "Example/Makefile" ) CONFIG_FILES="$CONFIG_FILES Example/Makefile" ;; + "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "\$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +s,@SHELL@,$SHELL,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +s,@exec_prefix@,$exec_prefix,;t t +s,@prefix@,$prefix,;t t +s,@program_transform_name@,$program_transform_name,;t t +s,@bindir@,$bindir,;t t +s,@sbindir@,$sbindir,;t t +s,@libexecdir@,$libexecdir,;t t +s,@datadir@,$datadir,;t t +s,@sysconfdir@,$sysconfdir,;t t +s,@sharedstatedir@,$sharedstatedir,;t t +s,@localstatedir@,$localstatedir,;t t +s,@libdir@,$libdir,;t t +s,@includedir@,$includedir,;t t +s,@oldincludedir@,$oldincludedir,;t t +s,@infodir@,$infodir,;t t +s,@mandir@,$mandir,;t t +s,@build_alias@,$build_alias,;t t +s,@host_alias@,$host_alias,;t t +s,@target_alias@,$target_alias,;t t +s,@DEFS@,$DEFS,;t t +s,@ECHO_C@,$ECHO_C,;t t +s,@ECHO_N@,$ECHO_N,;t t +s,@ECHO_T@,$ECHO_T,;t t +s,@LIBS@,$LIBS,;t t +s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@CYGPATH_W@,$CYGPATH_W,;t t +s,@PACKAGE@,$PACKAGE,;t t +s,@VERSION@,$VERSION,;t t +s,@ACLOCAL@,$ACLOCAL,;t t +s,@AUTOCONF@,$AUTOCONF,;t t +s,@AUTOMAKE@,$AUTOMAKE,;t t +s,@AUTOHEADER@,$AUTOHEADER,;t t +s,@MAKEINFO@,$MAKEINFO,;t t +s,@install_sh@,$install_sh,;t t +s,@STRIP@,$STRIP,;t t +s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t +s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t +s,@mkdir_p@,$mkdir_p,;t t +s,@AWK@,$AWK,;t t +s,@SET_MAKE@,$SET_MAKE,;t t +s,@am__leading_dot@,$am__leading_dot,;t t +s,@AMTAR@,$AMTAR,;t t +s,@am__tar@,$am__tar,;t t +s,@am__untar@,$am__untar,;t t +s,@CC@,$CC,;t t +s,@CFLAGS@,$CFLAGS,;t t +s,@LDFLAGS@,$LDFLAGS,;t t +s,@CPPFLAGS@,$CPPFLAGS,;t t +s,@ac_ct_CC@,$ac_ct_CC,;t t +s,@EXEEXT@,$EXEEXT,;t t +s,@OBJEXT@,$OBJEXT,;t t +s,@DEPDIR@,$DEPDIR,;t t +s,@am__include@,$am__include,;t t +s,@am__quote@,$am__quote,;t t +s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t +s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t +s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t +s,@CCDEPMODE@,$CCDEPMODE,;t t +s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t +s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t +s,@ISODATE@,$ISODATE,;t t +s,@build@,$build,;t t +s,@build_cpu@,$build_cpu,;t t +s,@build_vendor@,$build_vendor,;t t +s,@build_os@,$build_os,;t t +s,@host@,$host,;t t +s,@host_cpu@,$host_cpu,;t t +s,@host_vendor@,$host_vendor,;t t +s,@host_os@,$host_os,;t t +s,@CPP@,$CPP,;t t +s,@EGREP@,$EGREP,;t t +s,@LIBOBJS@,$LIBOBJS,;t t +s,@LTLIBOBJS@,$LTLIBOBJS,;t t +CEOF + +_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_HEADER section. +# + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' +ac_dC=' ' +ac_dD=',;t' +# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='$,\1#\2define\3' +ac_uC=' ' +ac_uD=',;t' + +for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + # Remove the trailing spaces. + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + +_ACEOF + +# Transform confdefs.h into two sed scripts, `conftest.defines' and +# `conftest.undefs', that substitutes the proper values into +# config.h.in to produce config.h. The first handles `#define' +# templates, and the second `#undef' templates. +# And first: Protect against being on the right side of a sed subst in +# config.status. Protect against being in an unquoted here document +# in config.status. +rm -f conftest.defines conftest.undefs +# Using a here document instead of a string reduces the quoting nightmare. +# Putting comments in sed scripts is not portable. +# +# `end' is used to avoid that the second main sed command (meant for +# 0-ary CPP macros) applies to n-ary macro definitions. +# See the Autoconf documentation for `clear'. +cat >confdef2sed.sed <<\_ACEOF +s/[\\&,]/\\&/g +s,[\\$`],\\&,g +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp +t end +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +: end +_ACEOF +# If some macros were called several times there might be several times +# the same #defines, which is useless. Nevertheless, we may not want to +# sort them, since we want the *last* AC-DEFINE to be honored. +uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines +sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs +rm -f confdef2sed.sed + +# This sed command replaces #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +cat >>conftest.undefs <<\_ACEOF +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +_ACEOF + +# Break up conftest.defines because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS +echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS +echo ' :' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.defines >/dev/null +do + # Write a limited-size here document to $tmp/defines.sed. + echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS + # Speed up: don't consider the non `#define' lines. + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/defines.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines +echo ' fi # grep' >>$CONFIG_STATUS +echo >>$CONFIG_STATUS + +# Break up conftest.undefs because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #undef templates' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.undefs >/dev/null +do + # Write a limited-size here document to $tmp/undefs.sed. + echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS + # Speed up: don't consider the non `#undef' + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/undefs.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail + rm -f conftest.undefs + mv conftest.tail conftest.undefs +done +rm -f conftest.undefs + +cat >>$CONFIG_STATUS <<\_ACEOF + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + echo "/* Generated by configure. */" >$tmp/config.h + else + echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + fi + cat $tmp/in >>$tmp/config.h + rm -f $tmp/in + if test x"$ac_file" != x-; then + if diff $ac_file $tmp/config.h >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + rm -f $ac_file + mv $tmp/config.h $ac_file + fi + else + cat $tmp/config.h + rm -f $tmp/config.h + fi +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'`/stamp-h$_am_stamp_count +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_COMMANDS section. +# +for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue + ac_dest=`echo "$ac_file" | sed 's,:.*,,'` + ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_dir=`(dirname "$ac_dest") 2>/dev/null || +$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_dest" : 'X\(//\)[^/]' \| \ + X"$ac_dest" : 'X\(//\)$' \| \ + X"$ac_dest" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_dest" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 +echo "$as_me: executing $ac_dest commands" >&6;} + case $ac_dest in + depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`(dirname "$mf") 2>/dev/null || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`(dirname "$file") 2>/dev/null || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p $dirpart/$fdir + else + as_dir=$dirpart/$fdir + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 +echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} + { (exit 1); exit 1; }; }; } + + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + esac +done +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/configure.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/configure.in new file mode 100755 index 00000000..d1dad181 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/configure.in @@ -0,0 +1,55 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT([Kinfold], [1.0], [rna@tbi.univie.ac.at]) + +dnl Every other copy of the package version number gets its value from here +AM_INIT_AUTOMAKE + +dnl configure options +AM_WITH_DMALLOC + +dnl Checks for programs. +AC_PROG_CC +AC_PROG_MAKE_SET + +dnl create a config.h file (Automake will add -DHAVE_CONFIG_H) +AM_CONFIG_HEADER(config.h) + +AC_SUBST(VERSION) + +ISODATE=`date +%Y-%m-%d` +AC_SUBST(ISODATE) + +AC_CANONICAL_HOST + +AC_ARG_WITH(ViennaRNA-include, + [ --with-ViennaRNA-include where to search for ViennaRNA header files], + ac_VRNA_includes="$withval", + ) + +AC_ARG_WITH(ViennaRNA-lib, + [ --with-ViennaRNA-lib where to search for libRNA.a], + ac_VRNA_lib="$withval", + ) + +AC_PATH_VRNA + +dnl Checks for libraries. +dnl Replace `main' with a function in -lm: +AC_CHECK_LIB(m, exp) + +dnl checking for -lRNA will fail if both are built simultaneously +dnl AC_CHECK_LIB(RNA, fold) +LIBS=["-lRNA ${LIBS}"] + + +dnl Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS(limits.h sys/time.h unistd.h fold.h) + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST + +dnl Checks for library functions. +AC_CHECK_FUNCS(strdup) + +AC_OUTPUT(Makefile Example/Makefile) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/getopt.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/getopt.c new file mode 100755 index 00000000..4744e433 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/getopt.c @@ -0,0 +1,1055 @@ +/* Getopt for GNU. + NOTE: getopt is now part of the C library, so if you don't know what + "Keep this file name-space clean" means, talk to drepper@gnu.org + before changing it! + + Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000 + Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* This tells Alpha OSF/1 not to define a getopt prototype in . + Ditto for AIX 3.2 and . */ +#ifndef _NO_PROTO +# define _NO_PROTO +#endif + +#ifdef HAVE_CONFIG_H +# include +#endif + +#if !defined __STDC__ || !__STDC__ +/* This is a separate conditional since some stdc systems + reject `defined (const)'. */ +# ifndef const +# define const +# endif +#endif + +#include + +/* Comment out all this code if we are using the GNU C Library, and are not + actually compiling the library itself. This code is part of the GNU C + Library, but also included in many other GNU distributions. Compiling + and linking in this code is a waste when using the GNU C library + (especially if it is a shared library). Rather than having every GNU + program understand `configure --with-gnu-libc' and omit the object files, + it is simpler to just do this in the source for each such file. */ + +#define GETOPT_INTERFACE_VERSION 2 +#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2 +# include +# if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION +# define ELIDE_CODE +# endif +#endif + +#ifndef ELIDE_CODE + + +/* This needs to come after some library #include + to get __GNU_LIBRARY__ defined. */ +#ifdef __GNU_LIBRARY__ +/* Don't include stdlib.h for non-GNU C libraries because some of them + contain conflicting prototypes for getopt. */ +# include +# include +#endif /* GNU C library. */ + +#ifdef VMS +# include +# if HAVE_STRING_H - 0 +# include +# endif +#endif + +#ifndef _ +/* This is for other GNU distributions with internationalized messages. + When compiling libc, the _ macro is predefined. */ +# ifdef HAVE_LIBINTL_H +# include +# define _(msgid) gettext (msgid) +# else +# define _(msgid) (msgid) +# endif +#endif + +/* This version of `getopt' appears to the caller like standard Unix `getopt' + but it behaves differently for the user, since it allows the user + to intersperse the options with the other arguments. + + As `getopt' works, it permutes the elements of ARGV so that, + when it is done, all the options precede everything else. Thus + all application programs are extended to handle flexible argument order. + + Setting the environment variable POSIXLY_CORRECT disables permutation. + Then the behavior is completely standard. + + GNU application programs can use a third alternative mode in which + they can distinguish the relative order of options and other arguments. */ + +#include "getopt.h" + +/* For communication from `getopt' to the caller. + When `getopt' finds an option that takes an argument, + the argument value is returned here. + Also, when `ordering' is RETURN_IN_ORDER, + each non-option ARGV-element is returned here. */ + +char *optarg; + +/* Index in ARGV of the next element to be scanned. + This is used for communication to and from the caller + and for communication between successive calls to `getopt'. + + On entry to `getopt', zero means this is the first call; initialize. + + When `getopt' returns -1, this is the index of the first of the + non-option elements that the caller should itself scan. + + Otherwise, `optind' communicates from one call to the next + how much of ARGV has been scanned so far. */ + +/* 1003.2 says this must be 1 before any call. */ +int optind = 1; + +/* Formerly, initialization of getopt depended on optind==0, which + causes problems with re-calling getopt as programs generally don't + know that. */ + +int __getopt_initialized; + +/* The next char to be scanned in the option-element + in which the last option character we returned was found. + This allows us to pick up the scan where we left off. + + If this is zero, or a null string, it means resume the scan + by advancing to the next ARGV-element. */ + +static char *nextchar; + +/* Callers store zero here to inhibit the error message + for unrecognized options. */ + +int opterr = 1; + +/* Set to an option character which was unrecognized. + This must be initialized on some systems to avoid linking in the + system's own getopt implementation. */ + +int optopt = '?'; + +/* Describe how to deal with options that follow non-option ARGV-elements. + + If the caller did not specify anything, + the default is REQUIRE_ORDER if the environment variable + POSIXLY_CORRECT is defined, PERMUTE otherwise. + + REQUIRE_ORDER means don't recognize them as options; + stop option processing when the first non-option is seen. + This is what Unix does. + This mode of operation is selected by either setting the environment + variable POSIXLY_CORRECT, or using `+' as the first character + of the list of option characters. + + PERMUTE is the default. We permute the contents of ARGV as we scan, + so that eventually all the non-options are at the end. This allows options + to be given in any order, even with programs that were not written to + expect this. + + RETURN_IN_ORDER is an option available to programs that were written + to expect options and other ARGV-elements in any order and that care about + the ordering of the two. We describe each non-option ARGV-element + as if it were the argument of an option with character code 1. + Using `-' as the first character of the list of option characters + selects this mode of operation. + + The special argument `--' forces an end of option-scanning regardless + of the value of `ordering'. In the case of RETURN_IN_ORDER, only + `--' can cause `getopt' to return -1 with `optind' != ARGC. */ + +static enum +{ + REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER +} ordering; + +/* Value of POSIXLY_CORRECT environment variable. */ +static char *posixly_correct; + +#ifdef __GNU_LIBRARY__ +/* We want to avoid inclusion of string.h with non-GNU libraries + because there are many ways it can cause trouble. + On some systems, it contains special magic macros that don't work + in GCC. */ +# include +# define my_index strchr +#else + +# if HAVE_STRING_H +# include +# else +# include +# endif + +/* Avoid depending on library functions or files + whose names are inconsistent. */ + +#ifndef getenv +extern char *getenv (); +#endif + +static char * +my_index (str, chr) + const char *str; + int chr; +{ + while (*str) + { + if (*str == chr) + return (char *) str; + str++; + } + return 0; +} + +/* If using GCC, we can safely declare strlen this way. + If not using GCC, it is ok not to declare it. */ +#ifdef __GNUC__ +/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h. + That was relevant to code that was here before. */ +# if (!defined __STDC__ || !__STDC__) && !defined strlen +/* gcc with -traditional declares the built-in strlen to return int, + and has done so at least since version 2.4.5. -- rms. */ +extern int strlen (const char *); +# endif /* not __STDC__ */ +#endif /* __GNUC__ */ + +#endif /* not __GNU_LIBRARY__ */ + +/* Handle permutation of arguments. */ + +/* Describe the part of ARGV that contains non-options that have + been skipped. `first_nonopt' is the index in ARGV of the first of them; + `last_nonopt' is the index after the last of them. */ + +static int first_nonopt; +static int last_nonopt; + +#ifdef _LIBC +/* Bash 2.0 gives us an environment variable containing flags + indicating ARGV elements that should not be considered arguments. */ + +/* Defined in getopt_init.c */ +extern char *__getopt_nonoption_flags; + +static int nonoption_flags_max_len; +static int nonoption_flags_len; + +static int original_argc; +static char *const *original_argv; + +/* Make sure the environment variable bash 2.0 puts in the environment + is valid for the getopt call we must make sure that the ARGV passed + to getopt is that one passed to the process. */ +static void +__attribute__ ((unused)) +store_args_and_env (int argc, char *const *argv) +{ + /* XXX This is no good solution. We should rather copy the args so + that we can compare them later. But we must not use malloc(3). */ + original_argc = argc; + original_argv = argv; +} +# ifdef text_set_element +text_set_element (__libc_subinit, store_args_and_env); +# endif /* text_set_element */ + +# define SWAP_FLAGS(ch1, ch2) \ + if (nonoption_flags_len > 0) \ + { \ + char __tmp = __getopt_nonoption_flags[ch1]; \ + __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \ + __getopt_nonoption_flags[ch2] = __tmp; \ + } +#else /* !_LIBC */ +# define SWAP_FLAGS(ch1, ch2) +#endif /* _LIBC */ + +/* Exchange two adjacent subsequences of ARGV. + One subsequence is elements [first_nonopt,last_nonopt) + which contains all the non-options that have been skipped so far. + The other is elements [last_nonopt,optind), which contains all + the options processed since those non-options were skipped. + + `first_nonopt' and `last_nonopt' are relocated so that they describe + the new indices of the non-options in ARGV after they are moved. */ + +#if defined __STDC__ && __STDC__ +static void exchange (char **); +#endif + +static void +exchange (argv) + char **argv; +{ + int bottom = first_nonopt; + int middle = last_nonopt; + int top = optind; + char *tem; + + /* Exchange the shorter segment with the far end of the longer segment. + That puts the shorter segment into the right place. + It leaves the longer segment in the right place overall, + but it consists of two parts that need to be swapped next. */ + +#ifdef _LIBC + /* First make sure the handling of the `__getopt_nonoption_flags' + string can work normally. Our top argument must be in the range + of the string. */ + if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len) + { + /* We must extend the array. The user plays games with us and + presents new arguments. */ + char *new_str = malloc (top + 1); + if (new_str == NULL) + nonoption_flags_len = nonoption_flags_max_len = 0; + else + { + memset (__mempcpy (new_str, __getopt_nonoption_flags, + nonoption_flags_max_len), + '\0', top + 1 - nonoption_flags_max_len); + nonoption_flags_max_len = top + 1; + __getopt_nonoption_flags = new_str; + } + } +#endif + + while (top > middle && middle > bottom) + { + if (top - middle > middle - bottom) + { + /* Bottom segment is the short one. */ + int len = middle - bottom; + register int i; + + /* Swap it with the top part of the top segment. */ + for (i = 0; i < len; i++) + { + tem = argv[bottom + i]; + argv[bottom + i] = argv[top - (middle - bottom) + i]; + argv[top - (middle - bottom) + i] = tem; + SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); + } + /* Exclude the moved bottom segment from further swapping. */ + top -= len; + } + else + { + /* Top segment is the short one. */ + int len = top - middle; + register int i; + + /* Swap it with the bottom part of the bottom segment. */ + for (i = 0; i < len; i++) + { + tem = argv[bottom + i]; + argv[bottom + i] = argv[middle + i]; + argv[middle + i] = tem; + SWAP_FLAGS (bottom + i, middle + i); + } + /* Exclude the moved top segment from further swapping. */ + bottom += len; + } + } + + /* Update records for the slots the non-options now occupy. */ + + first_nonopt += (optind - last_nonopt); + last_nonopt = optind; +} + +/* Initialize the internal data when the first call is made. */ + +#if defined __STDC__ && __STDC__ +static const char *_getopt_initialize (int, char *const *, const char *); +#endif +static const char * +_getopt_initialize (argc, argv, optstring) + int argc; + char *const *argv; + const char *optstring; +{ + /* Start processing options with ARGV-element 1 (since ARGV-element 0 + is the program name); the sequence of previously skipped + non-option ARGV-elements is empty. */ + + first_nonopt = last_nonopt = optind; + + nextchar = NULL; + + posixly_correct = getenv ("POSIXLY_CORRECT"); + + /* Determine how to handle the ordering of options and nonoptions. */ + + if (optstring[0] == '-') + { + ordering = RETURN_IN_ORDER; + ++optstring; + } + else if (optstring[0] == '+') + { + ordering = REQUIRE_ORDER; + ++optstring; + } + else if (posixly_correct != NULL) + ordering = REQUIRE_ORDER; + else + ordering = PERMUTE; + +#ifdef _LIBC + if (posixly_correct == NULL + && argc == original_argc && argv == original_argv) + { + if (nonoption_flags_max_len == 0) + { + if (__getopt_nonoption_flags == NULL + || __getopt_nonoption_flags[0] == '\0') + nonoption_flags_max_len = -1; + else + { + const char *orig_str = __getopt_nonoption_flags; + int len = nonoption_flags_max_len = strlen (orig_str); + if (nonoption_flags_max_len < argc) + nonoption_flags_max_len = argc; + __getopt_nonoption_flags = + (char *) malloc (nonoption_flags_max_len); + if (__getopt_nonoption_flags == NULL) + nonoption_flags_max_len = -1; + else + memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), + '\0', nonoption_flags_max_len - len); + } + } + nonoption_flags_len = nonoption_flags_max_len; + } + else + nonoption_flags_len = 0; +#endif + + return optstring; +} + +/* Scan elements of ARGV (whose length is ARGC) for option characters + given in OPTSTRING. + + If an element of ARGV starts with '-', and is not exactly "-" or "--", + then it is an option element. The characters of this element + (aside from the initial '-') are option characters. If `getopt' + is called repeatedly, it returns successively each of the option characters + from each of the option elements. + + If `getopt' finds another option character, it returns that character, + updating `optind' and `nextchar' so that the next call to `getopt' can + resume the scan with the following option character or ARGV-element. + + If there are no more option characters, `getopt' returns -1. + Then `optind' is the index in ARGV of the first ARGV-element + that is not an option. (The ARGV-elements have been permuted + so that those that are not options now come last.) + + OPTSTRING is a string containing the legitimate option characters. + If an option character is seen that is not listed in OPTSTRING, + return '?' after printing an error message. If you set `opterr' to + zero, the error message is suppressed but we still return '?'. + + If a char in OPTSTRING is followed by a colon, that means it wants an arg, + so the following text in the same ARGV-element, or the text of the following + ARGV-element, is returned in `optarg'. Two colons mean an option that + wants an optional arg; if there is text in the current ARGV-element, + it is returned in `optarg', otherwise `optarg' is set to zero. + + If OPTSTRING starts with `-' or `+', it requests different methods of + handling the non-option ARGV-elements. + See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. + + Long-named options begin with `--' instead of `-'. + Their names may be abbreviated as long as the abbreviation is unique + or is an exact match for some defined option. If they have an + argument, it follows the option name in the same ARGV-element, separated + from the option name by a `=', or else the in next ARGV-element. + When `getopt' finds a long-named option, it returns 0 if that option's + `flag' field is nonzero, the value of the option's `val' field + if the `flag' field is zero. + + The elements of ARGV aren't really const, because we permute them. + But we pretend they're const in the prototype to be compatible + with other systems. + + LONGOPTS is a vector of `struct option' terminated by an + element containing a name which is zero. + + LONGIND returns the index in LONGOPT of the long-named option found. + It is only valid when a long-named option has been found by the most + recent call. + + If LONG_ONLY is nonzero, '-' as well as '--' can introduce + long-named options. */ + +int +_getopt_internal (argc, argv, optstring, longopts, longind, long_only) + int argc; + char *const *argv; + const char *optstring; + const struct option *longopts; + int *longind; + int long_only; +{ + int print_errors = opterr; + if (optstring[0] == ':') + print_errors = 0; + + optarg = NULL; + + if (optind == 0 || !__getopt_initialized) + { + if (optind == 0) + optind = 1; /* Don't scan ARGV[0], the program name. */ + optstring = _getopt_initialize (argc, argv, optstring); + __getopt_initialized = 1; + } + + /* Test whether ARGV[optind] points to a non-option argument. + Either it does not have option syntax, or there is an environment flag + from the shell indicating it is not an option. The later information + is only used when the used in the GNU libc. */ +#ifdef _LIBC +# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \ + || (optind < nonoption_flags_len \ + && __getopt_nonoption_flags[optind] == '1')) +#else +# define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0') +#endif + + if (nextchar == NULL || *nextchar == '\0') + { + /* Advance to the next ARGV-element. */ + + /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been + moved back by the user (who may also have changed the arguments). */ + if (last_nonopt > optind) + last_nonopt = optind; + if (first_nonopt > optind) + first_nonopt = optind; + + if (ordering == PERMUTE) + { + /* If we have just processed some options following some non-options, + exchange them so that the options come first. */ + + if (first_nonopt != last_nonopt && last_nonopt != optind) + exchange ((char **) argv); + else if (last_nonopt != optind) + first_nonopt = optind; + + /* Skip any additional non-options + and extend the range of non-options previously skipped. */ + + while (optind < argc && NONOPTION_P) + optind++; + last_nonopt = optind; + } + + /* The special ARGV-element `--' means premature end of options. + Skip it like a null option, + then exchange with previous non-options as if it were an option, + then skip everything else like a non-option. */ + + if (optind != argc && !strcmp (argv[optind], "--")) + { + optind++; + + if (first_nonopt != last_nonopt && last_nonopt != optind) + exchange ((char **) argv); + else if (first_nonopt == last_nonopt) + first_nonopt = optind; + last_nonopt = argc; + + optind = argc; + } + + /* If we have done all the ARGV-elements, stop the scan + and back over any non-options that we skipped and permuted. */ + + if (optind == argc) + { + /* Set the next-arg-index to point at the non-options + that we previously skipped, so the caller will digest them. */ + if (first_nonopt != last_nonopt) + optind = first_nonopt; + return -1; + } + + /* If we have come to a non-option and did not permute it, + either stop the scan or describe it to the caller and pass it by. */ + + if (NONOPTION_P) + { + if (ordering == REQUIRE_ORDER) + return -1; + optarg = argv[optind++]; + return 1; + } + + /* We have found another option-ARGV-element. + Skip the initial punctuation. */ + + nextchar = (argv[optind] + 1 + + (longopts != NULL && argv[optind][1] == '-')); + } + + /* Decode the current option-ARGV-element. */ + + /* Check whether the ARGV-element is a long option. + + If long_only and the ARGV-element has the form "-f", where f is + a valid short option, don't consider it an abbreviated form of + a long option that starts with f. Otherwise there would be no + way to give the -f short option. + + On the other hand, if there's a long option "fubar" and + the ARGV-element is "-fu", do consider that an abbreviation of + the long option, just like "--fu", and not "-f" with arg "u". + + This distinction seems to be the most useful approach. */ + + if (longopts != NULL + && (argv[optind][1] == '-' + || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1]))))) + { + char *nameend; + const struct option *p; + const struct option *pfound = NULL; + int exact = 0; + int ambig = 0; + int indfound = -1; + int option_index; + + for (nameend = nextchar; *nameend && *nameend != '='; nameend++) + /* Do nothing. */ ; + + /* Test all long options for either exact match + or abbreviated matches. */ + for (p = longopts, option_index = 0; p->name; p++, option_index++) + if (!strncmp (p->name, nextchar, nameend - nextchar)) + { + if ((unsigned int) (nameend - nextchar) + == (unsigned int) strlen (p->name)) + { + /* Exact match found. */ + pfound = p; + indfound = option_index; + exact = 1; + break; + } + else if (pfound == NULL) + { + /* First nonexact match found. */ + pfound = p; + indfound = option_index; + } + else + /* Second or later nonexact match found. */ + ambig = 1; + } + + if (ambig && !exact) + { + if (print_errors) + fprintf (stderr, _("%s: option `%s' is ambiguous\n"), + argv[0], argv[optind]); + nextchar += strlen (nextchar); + optind++; + optopt = 0; + return '?'; + } + + if (pfound != NULL) + { + option_index = indfound; + optind++; + if (*nameend) + { + /* Don't test has_arg with >, because some C compilers don't + allow it to be used on enums. */ + if (pfound->has_arg) + optarg = nameend + 1; + else + { + if (print_errors) + { + if (argv[optind - 1][1] == '-') + /* --option */ + fprintf (stderr, + _("%s: option `--%s' doesn't allow an argument\n"), + argv[0], pfound->name); + else + /* +option or -option */ + fprintf (stderr, + _("%s: option `%c%s' doesn't allow an argument\n"), + argv[0], argv[optind - 1][0], pfound->name); + } + + nextchar += strlen (nextchar); + + optopt = pfound->val; + return '?'; + } + } + else if (pfound->has_arg == 1) + { + if (optind < argc) + optarg = argv[optind++]; + else + { + if (print_errors) + fprintf (stderr, + _("%s: option `%s' requires an argument\n"), + argv[0], argv[optind - 1]); + nextchar += strlen (nextchar); + optopt = pfound->val; + return optstring[0] == ':' ? ':' : '?'; + } + } + nextchar += strlen (nextchar); + if (longind != NULL) + *longind = option_index; + if (pfound->flag) + { + *(pfound->flag) = pfound->val; + return 0; + } + return pfound->val; + } + + /* Can't find it as a long option. If this is not getopt_long_only, + or the option starts with '--' or is not a valid short + option, then it's an error. + Otherwise interpret it as a short option. */ + if (!long_only || argv[optind][1] == '-' + || my_index (optstring, *nextchar) == NULL) + { + if (print_errors) + { + if (argv[optind][1] == '-') + /* --option */ + fprintf (stderr, _("%s: unrecognized option `--%s'\n"), + argv[0], nextchar); + else + /* +option or -option */ + fprintf (stderr, _("%s: unrecognized option `%c%s'\n"), + argv[0], argv[optind][0], nextchar); + } + nextchar = (char *) ""; + optind++; + optopt = 0; + return '?'; + } + } + + /* Look at and handle the next short option-character. */ + + { + char c = *nextchar++; + char *temp = my_index (optstring, c); + + /* Increment `optind' when we start to process its last character. */ + if (*nextchar == '\0') + ++optind; + + if (temp == NULL || c == ':') + { + if (print_errors) + { + if (posixly_correct) + /* 1003.2 specifies the format of this message. */ + fprintf (stderr, _("%s: illegal option -- %c\n"), + argv[0], c); + else + fprintf (stderr, _("%s: invalid option -- %c\n"), + argv[0], c); + } + optopt = c; + return '?'; + } + /* Convenience. Treat POSIX -W foo same as long option --foo */ + if (temp[0] == 'W' && temp[1] == ';') + { + char *nameend; + const struct option *p; + const struct option *pfound = NULL; + int exact = 0; + int ambig = 0; + int indfound = 0; + int option_index; + + /* This is an option that requires an argument. */ + if (*nextchar != '\0') + { + optarg = nextchar; + /* If we end this ARGV-element by taking the rest as an arg, + we must advance to the next element now. */ + optind++; + } + else if (optind == argc) + { + if (print_errors) + { + /* 1003.2 specifies the format of this message. */ + fprintf (stderr, _("%s: option requires an argument -- %c\n"), + argv[0], c); + } + optopt = c; + if (optstring[0] == ':') + c = ':'; + else + c = '?'; + return c; + } + else + /* We already incremented `optind' once; + increment it again when taking next ARGV-elt as argument. */ + optarg = argv[optind++]; + + /* optarg is now the argument, see if it's in the + table of longopts. */ + + for (nextchar = nameend = optarg; *nameend && *nameend != '='; nameend++) + /* Do nothing. */ ; + + /* Test all long options for either exact match + or abbreviated matches. */ + for (p = longopts, option_index = 0; p->name; p++, option_index++) + if (!strncmp (p->name, nextchar, nameend - nextchar)) + { + if ((unsigned int) (nameend - nextchar) == strlen (p->name)) + { + /* Exact match found. */ + pfound = p; + indfound = option_index; + exact = 1; + break; + } + else if (pfound == NULL) + { + /* First nonexact match found. */ + pfound = p; + indfound = option_index; + } + else + /* Second or later nonexact match found. */ + ambig = 1; + } + if (ambig && !exact) + { + if (print_errors) + fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), + argv[0], argv[optind]); + nextchar += strlen (nextchar); + optind++; + return '?'; + } + if (pfound != NULL) + { + option_index = indfound; + if (*nameend) + { + /* Don't test has_arg with >, because some C compilers don't + allow it to be used on enums. */ + if (pfound->has_arg) + optarg = nameend + 1; + else + { + if (print_errors) + fprintf (stderr, _("\ +%s: option `-W %s' doesn't allow an argument\n"), + argv[0], pfound->name); + + nextchar += strlen (nextchar); + return '?'; + } + } + else if (pfound->has_arg == 1) + { + if (optind < argc) + optarg = argv[optind++]; + else + { + if (print_errors) + fprintf (stderr, + _("%s: option `%s' requires an argument\n"), + argv[0], argv[optind - 1]); + nextchar += strlen (nextchar); + return optstring[0] == ':' ? ':' : '?'; + } + } + nextchar += strlen (nextchar); + if (longind != NULL) + *longind = option_index; + if (pfound->flag) + { + *(pfound->flag) = pfound->val; + return 0; + } + return pfound->val; + } + nextchar = NULL; + return 'W'; /* Let the application handle it. */ + } + if (temp[1] == ':') + { + if (temp[2] == ':') + { + /* This is an option that accepts an argument optionally. */ + if (*nextchar != '\0') + { + optarg = nextchar; + optind++; + } + else + optarg = NULL; + nextchar = NULL; + } + else + { + /* This is an option that requires an argument. */ + if (*nextchar != '\0') + { + optarg = nextchar; + /* If we end this ARGV-element by taking the rest as an arg, + we must advance to the next element now. */ + optind++; + } + else if (optind == argc) + { + if (print_errors) + { + /* 1003.2 specifies the format of this message. */ + fprintf (stderr, + _("%s: option requires an argument -- %c\n"), + argv[0], c); + } + optopt = c; + if (optstring[0] == ':') + c = ':'; + else + c = '?'; + } + else + /* We already incremented `optind' once; + increment it again when taking next ARGV-elt as argument. */ + optarg = argv[optind++]; + nextchar = NULL; + } + } + return c; + } +} + +int +getopt (argc, argv, optstring) + int argc; + char *const *argv; + const char *optstring; +{ + return _getopt_internal (argc, argv, optstring, + (const struct option *) 0, + (int *) 0, + 0); +} + +#endif /* Not ELIDE_CODE. */ + +#ifdef TEST + +/* Compile with -DTEST to make an executable for use in testing + the above definition of `getopt'. */ + +int +main (argc, argv) + int argc; + char **argv; +{ + int c; + int digit_optind = 0; + + while (1) + { + int this_option_optind = optind ? optind : 1; + + c = getopt (argc, argv, "abc:d:0123456789"); + if (c == -1) + break; + + switch (c) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + if (digit_optind != 0 && digit_optind != this_option_optind) + printf ("digits occur in two different argv-elements.\n"); + digit_optind = this_option_optind; + printf ("option %c\n", c); + break; + + case 'a': + printf ("option a\n"); + break; + + case 'b': + printf ("option b\n"); + break; + + case 'c': + printf ("option c with value `%s'\n", optarg); + break; + + case '?': + break; + + default: + printf ("?? getopt returned character code 0%o ??\n", c); + } + } + + if (optind < argc) + { + printf ("non-option ARGV-elements: "); + while (optind < argc) + printf ("%s ", argv[optind++]); + printf ("\n"); + } + + exit (0); +} + +#endif /* TEST */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/getopt.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/getopt.h new file mode 100755 index 00000000..b0147e9d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/getopt.h @@ -0,0 +1,169 @@ +/* Declarations for getopt. + Copyright (C) 1989,90,91,92,93,94,96,97,98 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _GETOPT_H + +#ifndef __need_getopt +# define _GETOPT_H 1 +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* For communication from `getopt' to the caller. + When `getopt' finds an option that takes an argument, + the argument value is returned here. + Also, when `ordering' is RETURN_IN_ORDER, + each non-option ARGV-element is returned here. */ + +extern char *optarg; + +/* Index in ARGV of the next element to be scanned. + This is used for communication to and from the caller + and for communication between successive calls to `getopt'. + + On entry to `getopt', zero means this is the first call; initialize. + + When `getopt' returns -1, this is the index of the first of the + non-option elements that the caller should itself scan. + + Otherwise, `optind' communicates from one call to the next + how much of ARGV has been scanned so far. */ + +extern int optind; + +/* Callers store zero here to inhibit the error message `getopt' prints + for unrecognized options. */ + +extern int opterr; + +/* Set to an option character which was unrecognized. */ + +extern int optopt; + +#ifndef __need_getopt +/* Describe the long-named options requested by the application. + The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector + of `struct option' terminated by an element containing a name which is + zero. + + The field `has_arg' is: + no_argument (or 0) if the option does not take an argument, + required_argument (or 1) if the option requires an argument, + optional_argument (or 2) if the option takes an optional argument. + + If the field `flag' is not NULL, it points to a variable that is set + to the value given in the field `val' when the option is found, but + left unchanged if the option is not found. + + To have a long-named option do something other than set an `int' to + a compiled-in constant, such as set a value from `optarg', set the + option's `flag' field to zero and its `val' field to a nonzero + value (the equivalent single-letter option character, if there is + one). For long options that have a zero `flag' field, `getopt' + returns the contents of the `val' field. */ + +struct option +{ +# if defined __STDC__ && __STDC__ + const char *name; +# else + char *name; +# endif + /* has_arg can't be an enum because some compilers complain about + type mismatches in all the code that assumes it is an int. */ + int has_arg; + int *flag; + int val; +}; + +/* Names for the values of the `has_arg' field of `struct option'. */ + +# define no_argument 0 +# define required_argument 1 +# define optional_argument 2 +#endif /* need getopt */ + + +/* Get definitions and prototypes for functions to process the + arguments in ARGV (ARGC of them, minus the program name) for + options given in OPTS. + + Return the option character from OPTS just read. Return -1 when + there are no more options. For unrecognized options, or options + missing arguments, `optopt' is set to the option letter, and '?' is + returned. + + The OPTS string is a list of characters which are recognized option + letters, optionally followed by colons, specifying that that letter + takes an argument, to be placed in `optarg'. + + If a letter in OPTS is followed by two colons, its argument is + optional. This behavior is specific to the GNU `getopt'. + + The argument `--' causes premature termination of argument + scanning, explicitly telling `getopt' that there are no more + options. + + If OPTS begins with `--', then non-option arguments are treated as + arguments to the option '\0'. This behavior is specific to the GNU + `getopt'. */ + +#if defined __STDC__ && __STDC__ +# ifdef __GNU_LIBRARY__ +/* Many other libraries have conflicting prototypes for getopt, with + differences in the consts, in stdlib.h. To avoid compilation + errors, only prototype getopt for the GNU C library. */ +extern int getopt (int __argc, char *const *__argv, const char *__shortopts); +# else /* not __GNU_LIBRARY__ */ +extern int getopt (); +# endif /* __GNU_LIBRARY__ */ + +# ifndef __need_getopt +extern int getopt_long (int __argc, char *const *__argv, const char *__shortopts, + const struct option *__longopts, int *__longind); +extern int getopt_long_only (int __argc, char *const *__argv, + const char *__shortopts, + const struct option *__longopts, int *__longind); + +/* Internal only. Users should not call this directly. */ +extern int _getopt_internal (int __argc, char *const *__argv, + const char *__shortopts, + const struct option *__longopts, int *__longind, + int __long_only); +# endif +#else /* not __STDC__ */ +extern int getopt (); +# ifndef __need_getopt +extern int getopt_long (); +extern int getopt_long_only (); + +extern int _getopt_internal (); +# endif +#endif /* __STDC__ */ + +#ifdef __cplusplus +} +#endif + +/* Make sure we later can get all the definitions and declarations. */ +#undef __need_getopt + +#endif /* getopt.h */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/getopt.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/getopt.o new file mode 100755 index 0000000000000000000000000000000000000000..db55539aaf6598f0a3e07a9b3e6f9194ba9bfd98 GIT binary patch literal 2892 zcma)8O^g&(5U$tLGjDcgcUTxi5Q$3`borZMVY6<4EI$jZt1B3P&=BL;Gt;v>+1c)4 zx@QqCMl{A~0>r=tJSYeCVuUCrp7dbi!9;Iz(sG$ z17*q@XRwlqx)+k2v|MKCq;(6R?Jw9falwbj8NS&``zACOPe2pJPTJ=|YOGhO)Cebj zpZO(K(3ha^Q^x_rq}QO}oO;7hTORq?=6`U6;330=+YWSSSc zR^Nhkwb1+ZR#@*5I;7Dh>t3Oo^gcMR6*{8Xm#lR{x9e|VU9aXbXLzUn8gzs53?0)s z-~+Ov3H`893*D#B!g;f*BI57?Z5Fyk?KbqVejV1W>Y$-V^&h}(Dl{RcbpTpauNnG? zz76LIwPc)U^(^S5LUXO*r}f8B?-%-<{u$PTQpWT86zG(C(>T9KX}fPb#E()~)JdM& zZ+((kfYYbZGAZ*e0^W>PX=kp2eI9LFnv(V?&r8~uS(`D2&dG*S0EQ6Lgw7i6Huu;xeVXUbE%5$pjE7Ul}5YjQZFf%>mm0h2&;9!FptN! zQ7^}0c&6zFtmQ;hnmJwyoF%v9dR0SCx9Z{Dtn37?F_zmk;~32Qt#AlOAM;zTQ#I+i*At% z4c*{uaoY9jZt+mvE1sykp65Jy>|j^gFLy1F_{8}w=S-BKC<%SzmQ~k04XmhkP&9KE?;CbU?C7uWg$QjVZ zsNvi;_Qz&LbuIdQJUTlS>Eg`s{zuwcz2SO(*B9C5+|X}^g^JN)?~u=I(JrFtsi{3f zBizj`(o8A@XBK%ijA1Ln`B)0kfI`&?9V(QAfJL|5o+~-!a?4$!Ld$K41`Up_jk@Q? zG6$l9=Z9{AGwujNZax(%{^Fv`2kHL~yd(L6Ao+Yz^!@72wnf}1ehK0K=JycW(|rAx z-*$;7;Y{9ZG3l{Q_Q)`Q&(}>nt1?hK#vZ=*RfxJ@;zp&r_yYj;B@MYfr;Z6Z}?*4?+=5?6u;}z`7Nev|4a2kV9?| z+$i{<;0{5YY546GJR~?H_^jXyg80pWe^c#8u3EmL=Qt&&$9|eCG{7W#) zn}Iy{32qUb5S$h~A?ON*g0Bj`E%=@wo)5&u4;m2vEx;cHe-peTnBktnzD{tP;JDzV O;H= +#endif + +#include "getopt.h" + +#if !defined __STDC__ || !__STDC__ +/* This is a separate conditional since some stdc systems + reject `defined (const)'. */ +#ifndef const +#define const +#endif +#endif + +#include + +/* Comment out all this code if we are using the GNU C Library, and are not + actually compiling the library itself. This code is part of the GNU C + Library, but also included in many other GNU distributions. Compiling + and linking in this code is a waste when using the GNU C library + (especially if it is a shared library). Rather than having every GNU + program understand `configure --with-gnu-libc' and omit the object files, + it is simpler to just do this in the source for each such file. */ + +#define GETOPT_INTERFACE_VERSION 2 +#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2 +#include +#if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION +#define ELIDE_CODE +#endif +#endif + +#ifndef ELIDE_CODE + + +/* This needs to come after some library #include + to get __GNU_LIBRARY__ defined. */ +#ifdef __GNU_LIBRARY__ +#include +#endif + +#ifndef NULL +#define NULL 0 +#endif + +int +getopt_long (argc, argv, options, long_options, opt_index) + int argc; + char *const *argv; + const char *options; + const struct option *long_options; + int *opt_index; +{ + return _getopt_internal (argc, argv, options, long_options, opt_index, 0); +} + +/* Like getopt_long, but '-' as well as '--' can indicate a long option. + If an option that starts with '-' (not '--') doesn't match a long option, + but does match a short option, it is parsed as a short option + instead. */ + +int +getopt_long_only (argc, argv, options, long_options, opt_index) + int argc; + char *const *argv; + const char *options; + const struct option *long_options; + int *opt_index; +{ + return _getopt_internal (argc, argv, options, long_options, opt_index, 1); +} + + +#endif /* Not ELIDE_CODE. */ + +#ifdef TEST + +#include + +int +main (argc, argv) + int argc; + char **argv; +{ + int c; + int digit_optind = 0; + + while (1) + { + int this_option_optind = optind ? optind : 1; + int option_index = 0; + static struct option long_options[] = + { + {"add", 1, 0, 0}, + {"append", 0, 0, 0}, + {"delete", 1, 0, 0}, + {"verbose", 0, 0, 0}, + {"create", 0, 0, 0}, + {"file", 1, 0, 0}, + {0, 0, 0, 0} + }; + + c = getopt_long (argc, argv, "abc:d:0123456789", + long_options, &option_index); + if (c == -1) + break; + + switch (c) + { + case 0: + printf ("option %s", long_options[option_index].name); + if (optarg) + printf (" with arg %s", optarg); + printf ("\n"); + break; + + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + if (digit_optind != 0 && digit_optind != this_option_optind) + printf ("digits occur in two different argv-elements.\n"); + digit_optind = this_option_optind; + printf ("option %c\n", c); + break; + + case 'a': + printf ("option a\n"); + break; + + case 'b': + printf ("option b\n"); + break; + + case 'c': + printf ("option c with value `%s'\n", optarg); + break; + + case 'd': + printf ("option d with value `%s'\n", optarg); + break; + + case '?': + break; + + default: + printf ("?? getopt returned character code 0%o ??\n", c); + } + } + + if (optind < argc) + { + printf ("non-option ARGV-elements: "); + while (optind < argc) + printf ("%s ", argv[optind++]); + printf ("\n"); + } + + exit (0); +} + +#endif /* TEST */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/getopt1.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/getopt1.o new file mode 100755 index 0000000000000000000000000000000000000000..7a36c6f5f745378125d9003b3bc1d558d2264c00 GIT binary patch literal 2896 zcmb7GU2GIp6h3!$ws*U`U0N2j2Zt6C6-YQ!%%=6h(6KVwG!_`g<>vMSX%(FHbAP7%Z=v% zQYdB;(Y^<@yK=j8Q$>LE3dm`pt0+W~yvYI}dlIMgRBW%lOx#wmXY~?Whx%P&JQ&^(_h_o$`Yi?6lQ~%$C-5 zQf91!2$r<&Pm~YRye{iAQl_md$TDf`IDxeB4ykjCc(=y!W~c4j=$3l>Y0@M?)AkUO zu3=2+9kiVnj{JhG-C_&DAjk}1L7danmbVC3FwMwcXx(0>c{xJW^)c<0+sL|-=_+}K zXpw2ZoTN~zn68sw6J5=;Bu|p_y-YXA0gBwubXfjD)-_DG$SXwGiaBx`+$L93sP!Vy zbX0y!^Z~ADOwN<@Ak#ha4q1nU-uJ@pc~UB} zmc=WYJ|cf3>zH^!J5S3jsmBFvt~GdE_7U!7`lO6#?tV_=DcMif3Gs$@eikxz_p9Xa zQ5O|O2S0CJ&;CHF8%ddv9Vd1(snX7VKc#j|1-G}mXgt` zYOCp1!+NWM^k2$JmOTrT?nzNB+aOup>BunQPP9O z*sIi)sZ3klKs}Gel5Xc{XPb4Sma^0-xC>rw1bq=O$yU&c6bYDF#jDP@7PywB4bUNA za$;gvX&4X1Mm`hZL}wb931Zw#aL!0EW#iPm*aN2$MJTFDYu5EDm8Mz*r>W|!q1GE~ z-4B$JF%URG7%K-?+#1E07&z6i(NK86{>NBLj}l(|34`Pt)()Uw-AD)6FU6*R^Lq&G z^rHSRKYBaRx@J(k%Z4Bt8+|T}Oy+O!x=GI~4`bVfyxS-d-$im2jd_&Qcu^gc*Q0ou zIVi%LnCK}Ico-YKXh`11`rGKY?{Djp-NQ?=55bVxNYy@<3Yo$=12g6w9Pc!nG7)Z6gupGHr({O^Z& zXC}luS0rvuQ4%GkJJODrTDF7aPn~Ly)UwW!9e;7!F9m&e1vZ&_EwC9>x4@KEG4>N; z$n}f^jQWoS^>p^gzMJs?;}qjD#*>WCFe=76<7vhh8DD3-$atCY8sja-uNc2){F(80 zM*TU&{O-f1P@WqZ#~3FWPcYKI0Qtp?FEi4A73tq&r00Y9r;J}Re#dx+@h&6%MUej* U#?6d78OIr?8BZ}@V*HTtFO3F-q5uE@ literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/globals.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/globals.c new file mode 100755 index 00000000..2a544812 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/globals.c @@ -0,0 +1,428 @@ +/* + Last changed Time-stamp: <2005-02-18 14:25:33 ivo> + c Christoph Flamm and Ivo L Hofacker + {xtof,ivo}@tbi.univie.ac.at + Kinfold: $Name: $ + $Id: globals.c,v 1.5 2005/02/18 13:29:04 ivo Exp $ +*/ + +#include +#include +#include +#include +#include +#include +#include "utils.h" +#include "globals.h" + +/* forward declarations privat functions */ +static void ini_globs(void); +static void ini_gtoggles (void); +static void ini_gvars(void); +static void ini_garrays (void); +static void usage(int status); +static void display_settings(void); +static void display_fileformat(void); +static char *verbose(int optval, const char *which); +static int process_options (int argc, char *argv[]); + +static char UNUSED rcsid[] ="$Id: globals.c,v 1.5 2005/02/18 13:29:04 ivo Exp $"; +#define MAXMSG 8 +static char msg[MAXMSG][60] = +{{"off"}, + {"on"}, + {"current time"}, + {"take from input file"}, + {"open chain"}, + {"mfe structure of sequence"}, + {"ViennaRNA-Package-1.4 defaults"}, + {""} +}; + +static struct option const long_options[] = +{ {"dangle", required_argument, 0, 0}, + {"Temp", required_argument, 0, 0}, + {"Par", required_argument, 0, 0}, + {"logML", no_argument, >V.logML, 0}, + {"noShift", no_argument, >V.noShift, 1}, + {"noLP", no_argument, >V.noLP, 1}, + {"seed", required_argument, 0, 0}, + {"time", required_argument, 0, 0}, + {"num", required_argument, 0, 0}, + {"start", no_argument, >V.start, 1}, + {"stop", no_argument, >V.stop, 1}, + {"fpt", no_argument, >V.fpt, 0}, + {"met", no_argument, >V.mc, 1}, + {"grow", required_argument, 0, 0}, + {"glen", required_argument, 0, 0}, + {"log", required_argument, 0, 0}, + {"silent", no_argument, 0, 0}, + {"lmin", no_argument, >V.lmin, 1}, + {"cut", required_argument, 0, 0}, + {"help", no_argument, 0, 'h'}, + {"verbose", no_argument, 0, 0}, + {NULL, 0, NULL, 0} +}; + +/**/ +void decode_switches(int argc, char *argv[]) { + ini_globs(); + strcpy(GAV.ProgramName, argv[0]); + process_options(argc, argv); +} + +/**/ +void clean_up_globals(void) { + int i; + free(GAV.ProgramName); + free(GAV.ParamFile); + free(GAV.BaseName); + free(GAV.farbe); + free(GAV.farbe_full); + free(GAV.startform); + free(GAV.currform); + free(GAV.prevform); + for (i = 0; i < GSV.maxS; i++) free(GAV.stopform[i]); + free(GAV.stopform); + free(GAV.sE); +} + +/**/ +static void usage(int status) { + fprintf(stderr, "\n%s - Kinetic Folding Program for Nucleic Acids -\n", + GAV.ProgramName); + fprintf(stderr, "Usage: %s [OPTION] < FILE\n", GAV.ProgramName); + fprintf(stderr, + "Options:\n" + " EnergyModel\n" + " --dangle <0|1|2> set dangling end model to (non|normal|double)\n" + " --Temp set simulation temperature to \n" + " --Par use energy-parameter-file \n" + " --logML use linear multiloop-function not logarithmic\n" + " MoveSet\n" + " --noShift turn off shift-moves\n" + " --noLP forbit structures with isolated base-pairs\n" + " Simulation\n" + " --seed set random seed to \n" + " --time set maxtime of simulation to \n" + " --num set number of simulations to \n" + " --start set start structure\n" + " --stop set stop structure(s)\n" + " --met use Metropolis rule not Kawasaki rule\n" + " --fpt stop stop structure(s) is reached\n" + " --grow grow chain every time steps\n" + " Output\n" + " --log set basename of log-file to \n" + " --err set basename of error-log-file to \n" + " --silent no output to stdout\n" + " --verbose more information to stdout\n" + " --lmin output only local minima to stdout\n" + " --cut output structures with E <= to stdout\n"); + display_settings(); + display_fileformat(); + exit (status); +} + +/**/ +static void display_fileformat(void) { + fprintf(stderr, + "Input File Format:\n" + "1st line sequence\n" + "2nd line start structure (if option --start is used)\n" + "following lines stop structures\n\n"); +} + +/**/ +void log_prog_params(FILE *FP) { + fprintf( FP, + "#<\n#Date: %s" + "#EnergyModel: dangle=%d Temp=%.1f logML=%s Par=%s\n" + "#MoveSet: noShift=%s noLP=%s\n" + "#Simulation: num=%d time=%.2f seed=%s fpt=%s mc=%s\n" + "#Output: log=%s silent=%s lmin=%s cut=%.2f\n", + time_stamp(), + GTV.dangle, + GSV.Temp, + verbose(GTV.logML, "logML"), + GAV.ParamFile, + verbose(GTV.noShift, NULL), + verbose(GTV.noLP, NULL), + GSV.num, + GSV.time, + verbose(GTV.seed, "seed"), + verbose(GTV.fpt, NULL), + verbose(GTV.mc, "met"), + GAV.BaseName, + verbose(GTV.silent, NULL), + verbose(GTV.lmin, NULL), + GSV.cut); + fflush(FP); +} + +/**/ +void log_start_stop(FILE *FP) { + int i; + fprintf(FP, "#%s\n#%s (%6.2f)\n", GAV.farbe, GAV.startform, GSV.startE); + for (i = 0; i < GSV.maxS; i++) { + fprintf(FP, "#%s (%6.2f) X%02d\n", GAV.stopform[i], GAV.sE[i], i+1); + } + fprintf(FP, "(%-5hu %5hu %5hu)", GAV.subi[0], GAV.subi[1], GAV.subi[2]); + fflush(FP); +} + +/**/ +static void display_settings(void) { + fprintf(stderr, + "Default Settings:\n" + " EnergyModel\n" + " --dangle = %d\n" + " --Temp = %.2f\n" + " --Par = %s\n" + " --logML = %s\n" + " MoveSet\n" + " --noShift = %s\n" + " --noLP = %s\n" + " Simulation\n" + " --seed = %s\n" + " --time = %.1f\n" + " --num = %d\n" + " --start = %s\n" + " --stop = %s\n" + " --met = %s\n" + " --fpt = %s\n" + " Output\n" + " --log = %s\n" + " --silent = %s\n" + " --verbose = %s\n" + " --lmin = %s\n" + " --cut = %.2f\n", + GTV.dangle, + GSV.Temp, + GAV.ParamFile, + verbose(GTV.logML, "logML"), + verbose(GTV.noShift, NULL), + verbose(GTV.noLP, NULL), + verbose(GTV.seed, "seed"), + GSV.time, + GSV.num, + verbose(GTV.start, "start"), + verbose(GTV.stop, "stop"), + verbose(GTV.mc, "met"), + verbose(GTV.fpt, NULL), + GAV.BaseName, + verbose(GTV.silent, NULL), + verbose(GTV.verbose, NULL), + verbose(GTV.lmin, NULL), + GSV.cut); +} + +/**/ +static char *verbose (int optval, const char *which) { + if (which == NULL) return msg[optval]; + else { + if ( strcmp(which, "seed") == 0 ) { + if (optval == 0 ) return "clock"; + else { + sprintf(msg[MAXMSG - 1], + "%hu %hu %hu", GAV.subi[0], GAV.subi[1],GAV.subi[2]); + return msg[MAXMSG - 1]; + } + } + + if ( strcmp(which, "met") == 0 ) { + if ( optval == 0 ) return "Kawasaki"; + else return "Metropolis"; + } + + if ( strcmp(which, "logML") == 0 ) { + if ( optval == 0 ) return "linear"; + else return "logarithmic"; + } + + if ( strcmp(which, "start") == 0 ) { + if ( optval == 0 ) return "OpenChain"; + else return "input file"; + } + + if ( strcmp(which, "stop") == 0 ) { + if ( optval == 0 ) return "Mfe"; + else return "input file"; + } + } + return "hae?"; +} + +/**/ +static void ini_globs (void) { + ini_gtoggles(); + ini_gvars(); + ini_garrays(); +} + +/**/ +static int process_options (int argc, char *argv[]) { + int c, itmp; + float ftmp; + double dtmp; + int option_index = 0; + while ((c = getopt_long (argc, argv, "h", + long_options, &option_index)) != EOF) { + switch (c) { + case 0: + if (strcmp(long_options[option_index].name,"dangle")==0) { + itmp = -1; + if (sscanf(optarg, "%d", &itmp) == 0) + usage(EXIT_FAILURE); + else if (itmp == 0 || itmp == 1 || itmp == 2 || itmp == 3) + GTV.dangle = itmp; + else { + fprintf(stderr, "Value of --dangle must be 0|1|2 >%d<\n", itmp); + usage (EXIT_FAILURE); + } + } + + if (strcmp(long_options[option_index].name,"Temp")==0) { + ftmp = -1.0; + if (sscanf(optarg, "%f", &ftmp) == 0) + usage(EXIT_FAILURE); + else if ( ftmp >= 0 ) + GSV.Temp = ftmp; + else { + fprintf(stderr, "Value of --Temp must be >= 0 >%.2f<\n", ftmp); + usage (EXIT_FAILURE); + } + } + + if (strcmp(long_options[option_index].name,"Par")==0) { + if (sscanf(optarg, "%s", GAV.ParamFile) == 0) + usage(EXIT_FAILURE); + else { + GTV.Par = 1; + } + } + + if (strcmp(long_options[option_index].name,"silent")==0) { + GTV.silent = 1; + GTV.verbose = 0; + } + + if (strcmp(long_options[option_index].name,"verbose")==0) { + if (GTV.silent == 0) + GTV.verbose = 1; + } + + if (strcmp(long_options[option_index].name,"seed")==0) { + if (sscanf(optarg, "%hu=%hu=%hu", + &GAV.subi[0], &GAV.subi[1], &GAV.subi[2]) == 0) + usage(EXIT_FAILURE); + else GTV.seed = 1; + } + + if (strcmp(long_options[option_index].name,"time")==0) { + dtmp = -1.0; + if (sscanf(optarg, "%lf", &dtmp) == 0) + usage(EXIT_FAILURE); + else if ( dtmp > 0 ) + GSV.time = dtmp; + else { + fprintf(stderr, "Value of --time must be > 0 >%lf<\n", dtmp); + usage(EXIT_FAILURE); + } + } + + if (strcmp(long_options[option_index].name,"num")==0) { + itmp = -1; + if (sscanf(optarg, "%d", &itmp) == 0) + usage(EXIT_FAILURE); + else if ( itmp > 0 ) + GSV.num = itmp; + else { + fprintf(stderr, "Value of --num must be > 0 >%d<\n", itmp); + usage(EXIT_FAILURE); + } + } + + if (strcmp(long_options[option_index].name,"log")==0) + if (sscanf(optarg, "%s", GAV.BaseName) == 0) + usage(EXIT_FAILURE); + + if (strcmp(long_options[option_index].name,"cut")==0) + if (sscanf(optarg, "%f", &GSV.cut) == 0) + usage(EXIT_FAILURE); + + if (strcmp(long_options[option_index].name,"grow")==0) + if (sscanf(optarg, "%lf", &GSV.grow) == 0) + usage(EXIT_FAILURE); + + if (strcmp(long_options[option_index].name,"glen")==0) + if (sscanf(optarg, "%d", &GSV.glen) == 0) + usage(EXIT_FAILURE); + + break; + + case 'h': + usage (0); + default: + usage (EXIT_FAILURE); + } + } + return optind; +} + +/**/ +static void ini_gtoggles(void) { + GTV.Par = 0; + GTV.seed = 0; + GTV.dangle = 2; + GTV.logML = 1; + GTV.noLP = 0; + GTV.noShift = 0; + GTV.start = 0; + GTV.stop = 0; + GTV.silent = 0; + GTV.verbose = 0; + GTV.lmin = 0; + GTV.fpt = 1; + GTV.mc = 0; +} + +/**/ +static void ini_gvars(void) { + GSV.len = 0; + GSV.num = 1; + GSV.maxS = 99; + GSV.cut = 20; + GSV.Temp = 37.0; + GSV.startE = 0.0; + GSV.stopE = 0.0; + GSV.currE = 0.0; + GSV.time = 500.0; + GSV.simTime = 0.0; + GSV.glen = 15; +} + +/**/ +static void ini_garrays(void) { + GAV.ProgramName = (char *)calloc((size_t)256, sizeof(char)); + assert(GAV.ProgramName != NULL); + GAV.ParamFile = (char *)calloc((size_t)256, sizeof(char)); + assert(GAV.ParamFile != NULL); + strcpy(GAV.ParamFile,"VRNA-1.4"); + GAV.BaseName = (char *)calloc((size_t)256, sizeof(char)); + assert(GAV.BaseName != NULL); + strcpy(GAV.BaseName, "kinout"); + GAV.stopform = (char **)calloc(GSV.maxS + 1, sizeof(char *)); + assert(GAV.stopform != NULL); + GAV.farbe = NULL; + GAV.startform = NULL; + GAV.currform = NULL; + GAV.prevform = NULL; +} + +/* End of file */ + + + + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/globals.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/globals.h new file mode 100755 index 00000000..a58c0f3c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/globals.h @@ -0,0 +1,76 @@ +/* + Last changed Time-stamp: <2005-02-16 13:16:43 ivo> + c Christoph Flamm and Ivo L Hofacker + {xtof,ivo}@tbi.univie.ac.at + Kinfold: $Name: $ + $Id: globals.h,v 1.2 2005/02/16 17:00:48 ivo Exp $ +*/ + +#ifndef GLOBDEFS_H +#define GLOBDEFS_H + +#ifdef __GNUC__ +#define UNUSED __attribute__ ((unused)) +#else +#define UNUSED +#endif + +typedef struct _GlobVars { + int len; + int num; + int maxS; + int steps; + float cut; + float Temp; + float startE; + float stopE; + float currE; + double grow; + int glen; + double time; + double simTime; +} GlobVars; + +typedef struct _GlobArrays { + char *ParamFile; + char *ProgramName; + char *BaseName; /* output file basename */ + char *farbe; /* sequence */ + char *farbe_full; /* full sequence (for chain growth simulation) */ + char *startform; /* start structure */ + char **stopform; /* stop structure(s) */ + char *currform; /* current structure */ + char *prevform; /* current structure of previous time step */ + float *sE; /* energy(s) of stop structure(s) */ + unsigned short subi[3]; /* seeds for random-number-generator */ +} GlobArrays; + +typedef struct _GlobToogles { + int Par; + int seed; + int dangle; + int logML; + int noLP; + int noShift; + int start; + int stop; + int silent; + int lmin; + int fpt; + int mc; + int verbose; +} GlobToggles; + +void decode_switches(int argc, char *argv[]); +void clean_up_globals(void); +void log_prog_params(FILE *FP); +void log_start_stop(FILE *FP); + +GlobVars GSV; +GlobArrays GAV; +GlobToggles GTV; + +#endif + + +/* End of file */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/globals.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/globals.o new file mode 100755 index 0000000000000000000000000000000000000000..f2a6185de63c77b47b96010dc6054ad68f9982ce GIT binary patch literal 21996 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 + c Christoph Flamm and Ivo L Hofacker + {xtof,ivo}@tbi.univie.ac.at + Kinfold: $Name: $ + $Id: main.c,v 1.3 2005/02/18 13:29:04 ivo Exp $ +*/ + +#include +#include +#include +#include +#include +#include +#include "fold_vars.h" +#include "fold.h" +#include "baum.h" +#include "nachbar.h" +#include "cache_util.h" +#include "utils.h" +#include "globals.h" + +static char UNUSED rcsid[] ="$Id: main.c,v 1.3 2005/02/18 13:29:04 ivo Exp $"; +extern void read_parameter_file(const char fname[]); +extern void get_from_cache(cache_entry *c); + +/* PRIVAT FUNCTIONS */ +static void ini_energy_model(void); +static void read_data(void); +static char *getline(FILE *fp); +static void clean_up(void); + +/**/ +int main(int argc, char *argv[]) { + int i; + char * start; + + /* + process command-line optiones + */ + decode_switches(argc, argv); + + /* + initialize energy parameters + */ + ini_energy_model(); + + /* + read input file + */ + read_data(); + + /* + perform GSV.num simulations + */ + + start = strdup(GAV.startform); /* remember startform for next run */ + for (i = 0; i < GSV.num; i++) { + + /* + initialize or reset ringlist to start conditions + */ + if (GSV.grow>0) { + if (strlen(GAV.farbe)>GSV.glen) { + start[GSV.glen] = '\0'; + GAV.farbe[GSV.glen] = '\0'; + strcpy(GAV.startform,start); + strcpy(GAV.currform,start); + GSV.len=GSV.glen; + } + clean_up_rl(); + } + ini_or_reset_rl(); + + /* + perform simulation + */ + for (GSV.steps = 1;; GSV.steps++) { + cache_entry *c; + + /* + take neighbourhood of current structure from cache if there + else generate it from scratch + */ + if ( (c = lookup_cache(GAV.currform)) ) get_from_cache(c); + else move_it(); + + /* + select a structure from neighbourhood of current structure + and make it to the new current structure. + stop simulation if stop condition is met. + */ + if ( sel_nb() > 0 ) break; + + /* if (GSV.grow>0) grow_chain(); */ + } + } + + /* + clean up memory + */ + free(start); + clean_up(); + return(0); +} + +/**/ +static void ini_energy_model(void) { + if ( !GTV.seed ) { + init_rand(); + GAV.subi[0] = xsubi[0]; + GAV.subi[1] = xsubi[1]; + GAV.subi[2] = xsubi[2]; + } + else { + xsubi[0] = GAV.subi[0]; + xsubi[1] = GAV.subi[1]; + xsubi[2] = GAV.subi[2]; + } + logML = GTV.logML; + dangles = GTV.dangle; + temperature = GSV.Temp; + if( GTV.Par ) read_parameter_file(GAV.ParamFile); + update_fold_params(); +} + +/**/ +static void read_data(void) { + char *ctmp, **s; + int i, len; + + /* + read sequence + */ + ctmp = getline(stdin); + len = strlen(ctmp); + GAV.farbe = (char *)calloc(len+1, sizeof(char)); + assert(GAV.farbe != NULL); + sscanf(ctmp, "%s", GAV.farbe); + GSV.len = strlen(GAV.farbe); + for (i = 0; i < len; i++) GAV.farbe[i] = toupper(GAV.farbe[i]); + free (ctmp); + /* allocate some global arrays */ + GAV.currform = (char *)calloc(GSV.len +1, sizeof(char)); + assert(GAV.currform != NULL); + GAV.prevform = (char *)calloc(GSV.len +1, sizeof(char)); + assert(GAV.prevform != NULL); + GAV.startform = (char *)calloc(GSV.len +1, sizeof(char)); + assert(GAV.startform != NULL); + + /* + read start structure + */ + if (GTV.start) { + ctmp = getline(stdin); + len = strlen(ctmp); + sscanf(ctmp, "%s", GAV.startform); + + if (strlen(GAV.startform) != GSV.len) { + fprintf(stderr, + "read_data():\n%s\n%s\n unequal length!\n", + GAV.farbe, GAV.startform); + exit(1); + } + free (ctmp); + } + else { /* start structure is open chain */ + for (i = 0; i< GSV.len; i++) GAV.startform[i] = '.'; + } + + /* + read stop structure(s) + */ + if (GTV.stop) { + s = GAV.stopform; + while (( ctmp = getline(stdin))) { + *s = (char *)calloc(GSV.len+1, sizeof(char)); + sscanf(ctmp, "%s", *s); + + if ( (s-GAV.stopform) >= GSV.maxS ) { + fprintf(stderr, + "WARNING: Can handle a maximum of %d stop structures\n", + GSV.maxS ); + break; + } + + if (strlen(*s) != GSV.len) { + fprintf(stderr, "read_data():\n%s\n%s\n unequal length!\n", + GAV.farbe, *s); + exit(1); + } + + s++; + free (ctmp); + } + GSV.maxS = (s-GAV.stopform); + } + else { + GSV.maxS = 1; + GAV.stopform[0] = (char *)calloc(GSV.len+1, sizeof(char)); + } + + GAV.farbe_full = strdup(GAV.farbe); + + GAV.sE = (float *)calloc(GSV.maxS, sizeof(float)); +} + +/**/ +static char *getline(FILE *fp) { + char s[512], *line, *cp; + + line = NULL; + do { + if (fgets(s, 512, fp) == NULL) break; + cp = strchr(s, '\n'); + if (cp != NULL) *cp = '\0'; + if (line == NULL) { + line = (char *)calloc((strlen(s) + 1), sizeof(char)); + assert(line != NULL); + } + else + line = (char *)realloc(line, strlen(s) + strlen(line) + 1); + strcat(line, s); + } while(cp == NULL); + return(line); +} + +/**/ +void clean_up(void) { + clean_up_globals(); + clean_up_rl(); + clean_up_nbList(); + kill_cache(); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/main.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/main.o new file mode 100755 index 0000000000000000000000000000000000000000..48988d33bb347db2b4b17dca4e5bdcd7ced4ac56 GIT binary patch literal 11520 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 yMBll;RS~hjH4*VVy^P3y3%< + c Christoph Flamm and Ivo L Hofacker + {xtof,ivo}@tbi.univie.ac.at + Kinfold: $Name: $ + $Id: nachbar.c,v 1.6 2006/01/16 10:38:11 ivo Exp $ +*/ + +#include +#include +#include +#include +#include +#include +#include +#include "globals.h" +#include "assert.h" +#include "fold_vars.h" +#include "energy_const.h" +#include "utils.h" +#include "cache_util.h" +#include "baum.h" + +static char UNUSED rcsid[]="$Id: nachbar.c,v 1.6 2006/01/16 10:38:11 ivo Exp $"; + +/* arrays */ +static short *neighbor_list=NULL; +static float *bmf; /* boltzmann weight of structure */ + +/* variables */ +/* static double highestE = -1000.0; */ +/* static double OhighestE = -1000.0; */ +/* static char *highestS, *OhighestS; */ +static int lmin = 1; +static int top = 0; +static int is_from_cache = 0; +/* static double meanE = 0.0; */ +static double totalflux = 0.0; +static double Zeit = 0.0; +static double zeitInc = 0.0; +static double _RT = 0.6; + +/* public functiones */ +void ini_nbList(int chords); +void update_nbList(int i, int j, int iE); +int sel_nb(void); +void clean_up_nbList(void); +extern void update_tree(int i, int j); + +/* privat functiones */ +static void reset_nbList(void); +static void grow_chain(void); +static FILE *logFP=NULL; + +/**/ +void ini_nbList(int chords) { + char logFN[256]; + + _RT = (((temperature + K0) * GASCONST) / 1000.0); + if (neighbor_list!=NULL) return; + /* + list for move coding + make room for 2*chords neighbors (safe bet) + */ + if (chords == 0) chords = 1; + neighbor_list = (short *)calloc(4*chords, sizeof(short)); + assert(neighbor_list != NULL); + /* + list for Boltzmann-factors + */ + bmf = (float *)calloc(2*chords, sizeof(double)); + assert(bmf != NULL); + + /* open log-file */ + logFP = fopen(strcat(strcpy(logFN, GAV.BaseName), ".log"), "a+"); + assert(logFP != NULL); + + /* log initial condition */ + log_prog_params(logFP); + log_start_stop(logFP); +} + +/**/ +void update_nbList(int i, int j, int iE) { + double E, dE, p; + + E = (double)iE/100.; + neighbor_list[2*top] = (short )i; + neighbor_list[2*top+1] = (short )j; + + /* compute rates and some statistics */ + /* meanE += E; */ + dE = E-GSV.currE; + if( GTV.mc ) { + /* metropolis rule */ + if (dE < 0) p = 1; + else p = exp(-(dE / _RT)); + } + else /* kawasaki rule */ + p = exp(-0.5 * (dE / _RT)); + + totalflux += p; + bmf[top++] = (float )p; + if (dE < 0) lmin = 0; + if ((dE == 0) && (lmin==1)) lmin = 2; +} + +/**/ +void get_from_cache(cache_entry *c) { + top = c->top; + totalflux = c->flux; + GSV.currE = c->energy; + lmin = c->lmin; + memcpy(neighbor_list, c->neighbors, 2*top*sizeof(short)); + memcpy(bmf, c->rates, top*sizeof(float)); + is_from_cache = 1; +} + +/**/ +void put_in_cache(void) { + cache_entry *c; + + if ((c = (cache_entry *) malloc(sizeof(cache_entry)))==NULL) { + fprintf(stderr, "out of memory\n"); exit(255); + } +/* c->structure = strdup(GAV.currform); */ + c->structure = (char *) calloc(GSV.len+1, sizeof(char)); + strcpy(c->structure, GAV.currform); + c->neighbors = (short *) malloc(top*2*sizeof(short)); + memcpy(c->neighbors,neighbor_list,top*2*sizeof(short)); + c->rates = (float *) malloc(top*sizeof(float)); + memcpy(c->rates, bmf, top*sizeof(float)); + c->top = top; + c->lmin = lmin; + c->flux = totalflux; + c->energy = GSV.currE; + write_cache(c); +} + +/*============*/ + +int sel_nb(void) { + + char trans, **s; + int next; + double pegel = 0.0, schwelle = 0.0, zufall = 0.0; + int found_stop=0; + + /* before we select a move, store current conformation in cache */ + /* ... unless it just came from there */ + if ( !is_from_cache ) put_in_cache(); + is_from_cache = 0; + + /* draw 2 different a random number */ + schwelle = urn(); + while ( zufall==0 ) zufall = urn(); + + /* advance internal clock */ + if (totalflux>0) + zeitInc = (log(1. / zufall) / totalflux); + else { + if (GSV.grow>0) zeitInc=GSV.grow; + else zeitInc = GSV.time; + } + + Zeit += zeitInc; + if (GSV.grow>0 && GSV.len < strlen(GAV.farbe_full)) grow_chain(); + + /* meanE /= (double)top; */ + + /* normalize boltzmann weights */ + schwelle *=totalflux; + + /* and choose a neighbour structure next */ + for (next = 0; next < top; next++) { + pegel += bmf[next]; + if (pegel > schwelle) break; + } + + /* in case of rounding errors */ + if (next==top) next=top-1; + + /* + process termination contitiones + */ + /* is current structure identical to a stop structure ?*/ + for (found_stop = 0, s = GAV.stopform; *s; s++) { + if (strcmp(*s, GAV.currform) == 0) { + found_stop = (s - GAV.stopform) + 1; + break; + } + } + + if ( ((found_stop > 0) && (GTV.fpt == 1)) || (Zeit > GSV.time) ) { + /* met condition to stop simulation */ + + /* this gose to stdout */ + if ( !GTV.silent ) { + printf("%s %6.2f %10.3f", GAV.currform, GSV.currE, Zeit); + if ( GTV.verbose ) printf("%4d _ %d", top, lmin); + if (found_stop) printf(" X%d\n", found_stop);/* found a stop structure */ + else printf(" O\n"); /* time for simulation is exceeded */ + fflush(stdout); + } + + /* this goes to log */ + /* comment log steps of simulation as well !!! %6.2f round */ + if ( found_stop ) fprintf(logFP," X%02d %12.3f\n", found_stop, Zeit); + else fprintf(logFP," O %12.3f %d %s\n", Zeit, lmin, GAV.currform); + GAV.subi[0] = xsubi[0]; + GAV.subi[1] = xsubi[1]; + GAV.subi[2] = xsubi[2]; + fprintf(logFP, "(%5hu %5hu %5hu)", GAV.subi[0], GAV.subi[1], GAV.subi[2]); + fflush(logFP); + + Zeit = 0.0; + /* highestE = OhighestE = -1000.0; */ + reset_nbList(); + return(1); + } + else { + /* continue simulation */ + int flag = 0; + if( (!GTV.silent) && (GSV.currE <= GSV.stopE+GSV.cut) ) { + if (!GTV.lmin || (lmin==1 && strcmp(GAV.prevform, GAV.currform) != 0)) { + char format[64]; + flag = 1; + sprintf(format, "%%-%ds %%6.2f %%10.3f", strlen(GAV.farbe_full)); + printf(format, GAV.currform, GSV.currE, Zeit); + } + if ( flag && GTV.verbose ) { + int ii, jj; + if (next<0) trans='g'; /* growth */ + else { + ii = neighbor_list[2*next]; + jj = neighbor_list[2*next+1]; + if (abs(ii) < GSV.len) { + if ((ii > 0) && (jj > 0)) trans = 'i'; + else if ((ii < 0) && (jj < 0)) trans = 'd'; + else if ((ii > 0) && (jj < 0)) trans = 's'; + else trans = 'S'; + } else { + if ((ii > 0) && (jj > 0)) trans = 'I'; + else trans = 'D'; + } + } + printf("%4d %c %d", top, trans, lmin); + } + if (flag) printf("\n"); + } + } + + + /* store last lmin seen, so we can avoid printing the same lmin twice */ + if (lmin==1) + strcpy(GAV.prevform, GAV.currform); + +#if 0 + if (lmin==1) { + /* went back to previous lmin */ + if (strcmp(GAV.prevform, GAV.currform) == 0) { + if (OhighestE < highestE) { + highestE = OhighestE; /* delete loop */ + strcpy(highestS, OhighestS); + } + } else { + strcpy(GAV.prevform, GAV.currform); + OhighestE = 10000.; + } + } + + if ( strcmp(GAV.currform, GAV.startform)==0 ) { + OhighestE = highestE = -1000.; + highestS[0] = 0; + } + + /* log highes energy */ + if (GSV.currE > highestE) { + OhighestE = highestE; + highestE = GSV.currE; + strcpy(OhighestS, highestS); + strcpy(highestS, GAV.currform); + } +#endif + + if (next>=0) update_tree(neighbor_list[2*next], neighbor_list[2*next+1]); + else { + clean_up_rl(); ini_or_reset_rl(); + } + + reset_nbList(); + return(0); +} + +/*==========================*/ +static void reset_nbList(void) { + + top = 0; + totalflux = 0.0; + /* meanE = 0.0; */ + lmin = 1; +} + +/*======================*/ +void clean_up_nbList(void){ + + free(neighbor_list); + free(bmf); + fprintf(logFP,"\n"); + fclose(logFP); +} + +/*======================*/ +static void grow_chain(void){ + int newl; + /* note Zeit=0 corresponds to chain length GSV.glen */ + if (Zeit<(GSV.len+1-GSV.glen) * GSV.grow) return; + newl = GSV.len+1; + Zeit = (newl-GSV.glen) * GSV.grow; + top=0; /* prevent structure move in sel_nb */ + + if (GSV.len + c Christoph Flamm and Ivo L Hofacker + {xtof,ivo}@tbi.univie.ac.at + Kinfold: $Name: $ + $Id: nachbar.h,v 1.2 2005/02/16 17:00:48 ivo Exp $ +*/ + +#ifndef NACHBAR_H +#define NACHBAR_H + +/* used in baum.c */ +extern void ini_nbList(int chords); +extern void update_nbList(int i,int j, int iE); + +/* used in main.c */ +extern int sel_nb(void); +extern void clean_up_nbList(void); + +extern void grow_chain(void); +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/nachbar.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/nachbar.o new file mode 100755 index 0000000000000000000000000000000000000000..1ebb04335f2c582ad58e1e367e90d8a2b0d0c561 GIT binary patch literal 14412 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/stamp-h1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/stamp-h1 new file mode 100755 index 00000000..4547fe1b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Kinfold/stamp-h1 @@ -0,0 +1 @@ +timestamp for config.h diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Makefile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Makefile new file mode 100755 index 00000000..f5afa2b3 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Makefile @@ -0,0 +1,635 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +srcdir = . +top_srcdir = . + +pkgdatadir = $(datadir)/ViennaRNA +pkglibdir = $(libdir)/ViennaRNA +pkgincludedir = $(includedir)/ViennaRNA +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/ViennaRNA.spec.in \ + $(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS COPYING \ + ChangeLog INSTALL NEWS THANKS config.guess config.sub depcomp \ + install-sh missing +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = ViennaRNA.spec +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(pkgdatadir)" +pkgdataDATA_INSTALL = $(INSTALL_DATA) +DATA = $(pkgdata_DATA) +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = lib Progs man Utils H Perl Cluster RNAforester Kinfold +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run tar +AUTOCONF = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoconf +AUTOHEADER = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoheader +AUTOMAKE = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +ISODATE = 2006-06-13 +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run makeinfo +MAKE_CLUSTER_FALSE = +MAKE_CLUSTER_TRUE = # +MAKE_FORESTER_FALSE = # +MAKE_FORESTER_TRUE = +MAKE_KINFOLD_FALSE = # +MAKE_KINFOLD_TRUE = +MAKE_PERL_EXT_FALSE = # +MAKE_PERL_EXT_TRUE = +OBJEXT = o +PACKAGE = ViennaRNA +PACKAGE_BUGREPORT = rna@tbi.univie.ac.at +PACKAGE_NAME = ViennaRNA +PACKAGE_STRING = ViennaRNA 1.6 +PACKAGE_TARNAME = ViennaRNA +PACKAGE_VERSION = 1.6 +PATH_SEPARATOR = : +PerlCmd = /usr/bin/perl +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.6 +ac_ct_CC = gcc +ac_ct_RANLIB = ranlib +ac_ct_STRIP = +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +datadir = ${prefix}/share +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = RNAforester Kinfold +sysconfdir = ${prefix}/etc +target_alias = +PLDIR = Perl +#CLDIR = Cluster +FDIR = RNAforester +KINDIR = Kinfold +SUBDIRS = lib Progs man Utils H $(PLDIR) $(CLDIR) $(FDIR) $(KINDIR) + +#DIST_SUBDIRS = lib Progs man Utils AliFold H Perl Cluster +pkgdata_DATA = vienna13.par default.par +EXTRA_DIST = $(pkgdata_DATA) INSTALL.configure Readseq +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ + cd $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +ViennaRNA.spec: $(top_builddir)/config.status $(srcdir)/ViennaRNA.spec.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +uninstall-info-am: +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)" + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \ + $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/. $(distdir)/man + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile $(DATA) config.h +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(pkgdatadir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-pkgdataDATA + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am uninstall-pkgdataDATA + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-recursive ctags \ + ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \ + dist-tarZ dist-zip distcheck distclean distclean-generic \ + distclean-hdr distclean-recursive distclean-tags \ + distcleancheck distdir distuninstallcheck dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-pkgdataDATA install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am uninstall-info-am uninstall-pkgdataDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Makefile.am b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Makefile.am new file mode 100755 index 00000000..4fe8f49a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Makefile.am @@ -0,0 +1,24 @@ + +if MAKE_PERL_EXT + PLDIR = Perl +endif + +if MAKE_CLUSTER + CLDIR = Cluster +endif + +if MAKE_FORESTER + FDIR = RNAforester +endif + +if MAKE_KINFOLD + KINDIR = Kinfold +endif + +SUBDIRS = lib Progs man Utils H $(PLDIR) $(CLDIR) $(FDIR) $(KINDIR) + +#DIST_SUBDIRS = lib Progs man Utils AliFold H Perl Cluster + +pkgdata_DATA = vienna13.par default.par + +EXTRA_DIST = $(pkgdata_DATA) INSTALL.configure Readseq diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Makefile.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Makefile.in new file mode 100755 index 00000000..7dc08309 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Makefile.in @@ -0,0 +1,635 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/ViennaRNA.spec.in \ + $(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS COPYING \ + ChangeLog INSTALL NEWS THANKS config.guess config.sub depcomp \ + install-sh missing +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = ViennaRNA.spec +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(pkgdatadir)" +pkgdataDATA_INSTALL = $(INSTALL_DATA) +DATA = $(pkgdata_DATA) +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = lib Progs man Utils H Perl Cluster RNAforester Kinfold +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKE_CLUSTER_FALSE = @MAKE_CLUSTER_FALSE@ +MAKE_CLUSTER_TRUE = @MAKE_CLUSTER_TRUE@ +MAKE_FORESTER_FALSE = @MAKE_FORESTER_FALSE@ +MAKE_FORESTER_TRUE = @MAKE_FORESTER_TRUE@ +MAKE_KINFOLD_FALSE = @MAKE_KINFOLD_FALSE@ +MAKE_KINFOLD_TRUE = @MAKE_KINFOLD_TRUE@ +MAKE_PERL_EXT_FALSE = @MAKE_PERL_EXT_FALSE@ +MAKE_PERL_EXT_TRUE = @MAKE_PERL_EXT_TRUE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PerlCmd = @PerlCmd@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +@MAKE_PERL_EXT_TRUE@PLDIR = Perl +@MAKE_CLUSTER_TRUE@CLDIR = Cluster +@MAKE_FORESTER_TRUE@FDIR = RNAforester +@MAKE_KINFOLD_TRUE@KINDIR = Kinfold +SUBDIRS = lib Progs man Utils H $(PLDIR) $(CLDIR) $(FDIR) $(KINDIR) + +#DIST_SUBDIRS = lib Progs man Utils AliFold H Perl Cluster +pkgdata_DATA = vienna13.par default.par +EXTRA_DIST = $(pkgdata_DATA) INSTALL.configure Readseq +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ + cd $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +ViennaRNA.spec: $(top_builddir)/config.status $(srcdir)/ViennaRNA.spec.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +uninstall-info-am: +install-pkgdataDATA: $(pkgdata_DATA) + @$(NORMAL_INSTALL) + test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)" + @list='$(pkgdata_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \ + $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \ + done + +uninstall-pkgdataDATA: + @$(NORMAL_UNINSTALL) + @list='$(pkgdata_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \ + done + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + $(mkdir_p) $(distdir)/. $(distdir)/man + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile $(DATA) config.h +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(pkgdatadir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: install-pkgdataDATA + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am uninstall-pkgdataDATA + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-recursive ctags \ + ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \ + dist-tarZ dist-zip distcheck distclean distclean-generic \ + distclean-hdr distclean-recursive distclean-tags \ + distcleancheck distdir distuninstallcheck dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-pkgdataDATA install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \ + uninstall uninstall-am uninstall-info-am uninstall-pkgdataDATA + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/NEWS b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/NEWS new file mode 100755 index 00000000..bf0ffe4a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/NEWS @@ -0,0 +1,92 @@ +Upcoming +----------- +- Updated parameters for both RNA and DNA using the data compiled by + David Mathews . + +Version 1.6 +------------ +- The RNAforester program for tree-alignments of RNA structures is now + distributed with the Vienna RNA package, see the RNAforester + subdirectory for more information. RNAforester was written by Matthias + Hoechsmann +- The Kinfold program for stochastic simulation of folding trajectories is + no included in the package, see the Kinfold subdirectory. +- cofolding of two structures now supports suboptimal folding and + partition function folding (still experimental). + ATTENTION: Energies of hybrid structures now inlcude the Duplex-initiation + energy, which was neglected in previous version. +- RNAplfold is a partition function variant of RNALfold. It computes the + mean probability of a (local) base pair averaged over all sequence + windows that contain the pair. +- new utilities to color alignments and consensus structures + +Version 1.5pre +----------- +- ViennaRNA now uses autoconfig generated configure scripts for even better + portability (should compile on any UNIX, Linux, MacOS X, Windows with + Cygwin). +- The new RNAalifold program predicts consensus structures for a set of + aligned sequences. +- Complete suboptimal folding is now integrated in the library. +- Beginning support for co-folding of two strands: energy_of_struct() and + RNAeval can now compute energies of duplex structures. +- RNAcofold predicts hybrid structures of two RNA strands +- RNAduplex predicts hybrid structures, while allowing only inter-molecular + base pairs (useful for finding potential binding sites) +- RNALfold predicts locally stable structures in long sequences. +- Major changes to Perl module. See the pod documentation (perldoc RNA). +- RNAsubopt can do stochastic backtracking to produce samples of suboptimal + structures with Boltzmann statistics. +- New utilities to rotate secondary structure plots and annotate them with + reliability data. +- Various small bug fixes + +Version 1.4 +----------- +- New Turner parameters as described in Mathews et.al. JMB v288, 1999. + Small changes to format of parameter files (old param files won't work!) +- mfe and suboptimal folding will produce only structures without isolated + pairs if noLonelyPairs=1 (-noLP option), for partition function folding + pairs that can only occur as isolated pairs are not formed. +- setting dangles=3 (-d3 option) will allow co-axial stacking of adjacent + helices in mfe folding and energy_of_struct(). + +Version 1.3.1 +------------- +- RNAheat would produce spikes in the specific heat because dangling end + energies did not go smoothly to 0. +- PS dot plots now have an option to use a log scale (edit _dp.ps file + and set logscale to true). + +Version 1.3 +----------- +- Secondary structure plots now use E. Bruccoleri's naview routines for + layout by default. New utility RNAplot produces secondary structure plots + from structures in bracket notation with several options. +- New -d2 option in RNAfold and RNAeval sets dangles=2, which makes + energy_of_struct() and fold() treat dangling ends as in pf_fold(). + -noLP option in RNAfold etc sets noLonelyPairs=1, which avoids most + structures containing lonely base pairs (helices of length 1). +- new utility functions pack_structure() unpack_structure() make_pair_table() + and bp_distance(). RNAdistance adds bp_distance() via -DP switch. +- First release of RNAsubopt for complete suboptimal folding. +- fixed bug in asymmetry penalty for interior loops. +- Default compilation now uses doubles for partition function folding. + +Version 1.2.1 +------------- +- Fixed bug in version 1.2 of the RNAheat program causing overflow errors + for most input sequences. +- The PS_dot_plot() and PS_rna_plot() routines now return an int. The return + value is 0 if the file could not be written, 1 otherwise. +- This version contains the alpha version of a perl5 module, which let's you + access all the capabilities of the Vienna RNA library from perl scripts. + +Version 1.2 +----------- +- New energy parameters from (Walter et.al 1994). +- Energy parameters can be read from file. +- RNAeval and energy_of_struct() support logarithmic energy function for + multi-loops. +- gmlRNA() produces secondary structure drawing in gml (Graph Meta Language). +- Many bug fixes. diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile new file mode 100755 index 00000000..e40112b0 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile @@ -0,0 +1,319 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Perl/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + +SOURCES = RNA.i ptr2array.i Makefile.PL + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/ViennaRNA +pkglibdir = $(libdir)/ViennaRNA +pkgincludedir = $(includedir)/ViennaRNA +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +subdir = Perl +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run tar +AUTOCONF = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoconf +AUTOHEADER = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoheader +AUTOMAKE = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +ISODATE = 2006-06-13 +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run makeinfo +MAKE_CLUSTER_FALSE = +MAKE_CLUSTER_TRUE = # +MAKE_FORESTER_FALSE = # +MAKE_FORESTER_TRUE = +MAKE_KINFOLD_FALSE = # +MAKE_KINFOLD_TRUE = +MAKE_PERL_EXT_FALSE = # +MAKE_PERL_EXT_TRUE = +OBJEXT = o +PACKAGE = ViennaRNA +PACKAGE_BUGREPORT = rna@tbi.univie.ac.at +PACKAGE_NAME = ViennaRNA +PACKAGE_STRING = ViennaRNA 1.6 +PACKAGE_TARNAME = ViennaRNA +PACKAGE_VERSION = 1.6 +PATH_SEPARATOR = : +PerlCmd = /usr/bin/perl +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.6 +ac_ct_CC = gcc +ac_ct_RANLIB = ranlib +ac_ct_STRIP = +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +datadir = ${prefix}/share +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = RNAforester Kinfold +sysconfdir = ${prefix}/etc +target_alias = +SOURCES = RNA.i ptr2array.i Makefile.PL +EXTRA_DIST = RNA.pm RNA_wrap.c RNAfold.pl test.pl RNAfold.cgi RNA.i Makefile.PL +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Perl/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Perl/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-local +check: check-am +all-am: Makefile all-local +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-exec-local + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-local + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am all-local check check-am check-local clean \ + clean-generic distclean distclean-generic distdir dvi dvi-am \ + html html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am \ + install-exec-local install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-local pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-info-am + + +Makefile.perl: Makefile.PL Makefile + /usr/bin/perl Makefile.PL + +# the perl command repairs some errors in the SWIG CVS version +RNA_wrap.c: RNA.i + swig -perl5 -shadow RNA.i +# /usr/bin/perl -i -npe 's/\A\s+\;\s+\Z//; s/SWIGTYPE_p_unsigned_short/SWIGTYPE_p_short/' RNA_wrap.c + +all-local: RNA_wrap.c Makefile.perl + $(MAKE) -f Makefile.perl + +install-exec-local: all-local + $(MAKE) -f Makefile.perl install + +check-local: all-local + $(MAKE) -f Makefile.perl test + +mostlyclean-local: Makefile.perl + $(MAKE) -f Makefile.perl clean +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile.PL b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile.PL new file mode 100755 index 00000000..bb18cfc6 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile.PL @@ -0,0 +1,12 @@ +# File : Makefile.PL +use ExtUtils::MakeMaker; +WriteMakefile( + MAKEFILE => "Makefile.perl", + NAME => "RNA", + LIBS => ["-lm"], + MYEXTLIB => "../lib/libRNA.a", + PM => {"RNA.pm", '$(INST_LIBDIR)/RNA.pm'}, + OBJECT => "RNA_wrap.o", + AUTHOR => 'Ivo Hofacker ', + VERSION => 0.2 +); diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile.am b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile.am new file mode 100755 index 00000000..a6a1474a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile.am @@ -0,0 +1,23 @@ +SOURCES = RNA.i ptr2array.i Makefile.PL + +EXTRA_DIST = RNA.pm RNA_wrap.c RNAfold.pl test.pl RNAfold.cgi RNA.i Makefile.PL + +Makefile.perl: Makefile.PL Makefile + @PerlCmd@ Makefile.PL + +# the perl command repairs some errors in the SWIG CVS version +RNA_wrap.c: RNA.i + swig -perl5 -shadow RNA.i +# @PerlCmd@ -i -npe 's/\A\s+\;\s+\Z//; s/SWIGTYPE_p_unsigned_short/SWIGTYPE_p_short/' RNA_wrap.c + +all-local: RNA_wrap.c Makefile.perl + $(MAKE) -f Makefile.perl + +install-exec-local: all-local + $(MAKE) -f Makefile.perl install + +check-local: all-local + $(MAKE) -f Makefile.perl test + +mostlyclean-local: Makefile.perl + $(MAKE) -f Makefile.perl clean diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile.in new file mode 100755 index 00000000..0acb53e4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile.in @@ -0,0 +1,319 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +SOURCES = RNA.i ptr2array.i Makefile.PL + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = Perl +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +DIST_SOURCES = +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKE_CLUSTER_FALSE = @MAKE_CLUSTER_FALSE@ +MAKE_CLUSTER_TRUE = @MAKE_CLUSTER_TRUE@ +MAKE_FORESTER_FALSE = @MAKE_FORESTER_FALSE@ +MAKE_FORESTER_TRUE = @MAKE_FORESTER_TRUE@ +MAKE_KINFOLD_FALSE = @MAKE_KINFOLD_FALSE@ +MAKE_KINFOLD_TRUE = @MAKE_KINFOLD_TRUE@ +MAKE_PERL_EXT_FALSE = @MAKE_PERL_EXT_FALSE@ +MAKE_PERL_EXT_TRUE = @MAKE_PERL_EXT_TRUE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PerlCmd = @PerlCmd@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +SOURCES = RNA.i ptr2array.i Makefile.PL +EXTRA_DIST = RNA.pm RNA_wrap.c RNAfold.pl test.pl RNAfold.cgi RNA.i Makefile.PL +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Perl/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Perl/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +uninstall-info-am: +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-local +check: check-am +all-am: Makefile all-local +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-exec-local + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-local + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am + +.PHONY: all all-am all-local check check-am check-local clean \ + clean-generic distclean distclean-generic distdir dvi dvi-am \ + html html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am \ + install-exec-local install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-local pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-info-am + + +Makefile.perl: Makefile.PL Makefile + @PerlCmd@ Makefile.PL + +# the perl command repairs some errors in the SWIG CVS version +RNA_wrap.c: RNA.i + swig -perl5 -shadow RNA.i +# @PerlCmd@ -i -npe 's/\A\s+\;\s+\Z//; s/SWIGTYPE_p_unsigned_short/SWIGTYPE_p_short/' RNA_wrap.c + +all-local: RNA_wrap.c Makefile.perl + $(MAKE) -f Makefile.perl + +install-exec-local: all-local + $(MAKE) -f Makefile.perl install + +check-local: all-local + $(MAKE) -f Makefile.perl test + +mostlyclean-local: Makefile.perl + $(MAKE) -f Makefile.perl clean +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile.perl b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile.perl new file mode 100755 index 00000000..a8492194 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/Makefile.perl @@ -0,0 +1,830 @@ +# This Makefile is for the RNA extension to perl. +# +# It was generated automatically by MakeMaker version +# 6.03 (Revision: 1.63) from the contents of +# Makefile.PL. Don't edit this file, edit Makefile.PL instead. +# +# ANY CHANGES MADE HERE WILL BE LOST! +# +# MakeMaker ARGV: () +# +# MakeMaker Parameters: + +# AUTHOR => q[Ivo Hofacker ] +# LIBS => [q[-lm]] +# MAKEFILE => q[Makefile.perl] +# MYEXTLIB => q[../lib/libRNA.a] +# NAME => q[RNA] +# OBJECT => q[RNA_wrap.o] +# PM => { RNA.pm=>q[$(INST_LIBDIR)/RNA.pm] } +# VERSION => q[0.2] + +# --- MakeMaker post_initialize section: + + +# --- MakeMaker const_config section: + +# These definitions are from config.sh (via /usr/lib/perl5/5.8.0/i386-linux-thread-multi/Config.pm) + +# They may have been overridden via Makefile.PL or on the command line +AR = ar +CC = gcc +CCCDLFLAGS = -fPIC +CCDLFLAGS = -rdynamic -Wl,-rpath,/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE +DLEXT = so +DLSRC = dl_dlopen.xs +LD = gcc +LDDLFLAGS = -shared -L/usr/local/lib +LDFLAGS = -L/usr/local/lib +LIBC = /lib/libc-2.3.2.so +LIB_EXT = .a +OBJ_EXT = .o +OSNAME = linux +OSVERS = 2.4.21-23.elsmp +RANLIB = : +SO = so +EXE_EXT = +FULL_AR = /usr/bin/ar + + +# --- MakeMaker constants section: +AR_STATIC_ARGS = cr +NAME = RNA +DISTNAME = RNA +NAME_SYM = RNA +VERSION = 0.2 +VERSION_SYM = 0_2 +XS_VERSION = 0.2 +INST_ARCHLIB = blib/arch +INST_SCRIPT = blib/script +INST_BIN = blib/bin +INST_LIB = blib/lib +INSTALLDIRS = site +PREFIX = /usr +SITEPREFIX = /usr +VENDORPREFIX = /usr +INSTALLPRIVLIB = /usr/lib/perl5/5.8.0 +INSTALLSITELIB = /usr/lib/perl5/site_perl/5.8.0 +INSTALLVENDORLIB = /usr/lib/perl5/vendor_perl/5.8.0 +INSTALLARCHLIB = /usr/lib/perl5/5.8.0/i386-linux-thread-multi +INSTALLSITEARCH = /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi +INSTALLVENDORARCH = /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi +INSTALLBIN = /usr/bin +INSTALLSITEBIN = /usr/bin +INSTALLVENDORBIN = /usr/bin +INSTALLSCRIPT = /usr/bin +PERL_LIB = /usr/lib/perl5/5.8.0 +PERL_ARCHLIB = /usr/lib/perl5/5.8.0/i386-linux-thread-multi +SITELIBEXP = /usr/lib/perl5/site_perl/5.8.0 +SITEARCHEXP = /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi +LIBPERL_A = libperl.a +MYEXTLIB = ../lib/libRNA.a +FIRST_MAKEFILE = Makefile +MAKE_APERL_FILE = Makefile.aperl +PERLMAINCC = $(CC) +PERL_INC = /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE +PERL = /usr/bin/perl +FULLPERL = /usr/bin/perl +PERLRUN = $(PERL) +FULLPERLRUN = $(FULLPERL) +PERLRUNINST = $(PERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" +FULLPERLRUNINST = $(FULLPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" +ABSPERL = $(PERL) +ABSPERLRUN = $(ABSPERL) +ABSPERLRUNINST = $(ABSPERLRUN) "-I$(INST_ARCHLIB)" "-I$(INST_LIB)" +FULL_AR = /usr/bin/ar +PERL_CORE = 0 +NOOP = $(SHELL) -c true +NOECHO = @ + +VERSION_MACRO = VERSION +DEFINE_VERSION = -D$(VERSION_MACRO)=\"$(VERSION)\" +XS_VERSION_MACRO = XS_VERSION +XS_DEFINE_VERSION = -D$(XS_VERSION_MACRO)=\"$(XS_VERSION)\" +PERL_MALLOC_DEF = -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc -Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc + +MAKEMAKER = /usr/lib/perl5/5.8.0/ExtUtils/MakeMaker.pm +MM_VERSION = 6.03 + +# FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle). +# BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg Oracle) +# PARENT_NAME = NAME without BASEEXT and no trailing :: (eg Foo::Bar) +# DLBASE = Basename part of dynamic library. May be just equal BASEEXT. +FULLEXT = RNA +BASEEXT = RNA +PARENT_NAME = +DLBASE = $(BASEEXT) +OBJECT = RNA_wrap$(OBJ_EXT) +LDFROM = $(OBJECT) +LINKTYPE = dynamic + +# Handy lists of source code files: +XS_FILES= +C_FILES = RNA_wrap.c +O_FILES = RNA_wrap.o +H_FILES = +MAN1PODS = +MAN3PODS = RNA.pm +INST_MAN1DIR = blib/man1 +MAN1EXT = 1 +INSTALLMAN1DIR = /usr/share/man/man1 +INSTALLSITEMAN1DIR = /usr/share/man/man1 +INSTALLVENDORMAN1DIR = /usr/share/man/man1 +INST_MAN3DIR = blib/man3 +MAN3EXT = 3pm +INSTALLMAN3DIR = /usr/share/man/man3 +INSTALLSITEMAN3DIR = /usr/share/man/man3 +INSTALLVENDORMAN3DIR = /usr/share/man/man3 +PERM_RW = 644 +PERM_RWX = 755 + +# work around a famous dec-osf make(1) feature(?): +makemakerdflt: all + +.SUFFIXES: .xs .c .C .cpp .i .s .cxx .cc $(OBJ_EXT) + +# Nick wanted to get rid of .PRECIOUS. I don't remember why. I seem to recall, that +# some make implementations will delete the Makefile when we rebuild it. Because +# we call false(1) when we rebuild it. So make(1) is not completely wrong when it +# does so. Our milage may vary. +# .PRECIOUS: Makefile # seems to be not necessary anymore + +.PHONY: all config static dynamic test linkext manifest + +# Where is the Config information that we are using/depend on +CONFIGDEP = $(PERL_ARCHLIB)/Config.pm $(PERL_INC)/config.h + +# Where to put things: +INST_LIBDIR = $(INST_LIB) +INST_ARCHLIBDIR = $(INST_ARCHLIB) + +INST_AUTODIR = $(INST_LIB)/auto/$(FULLEXT) +INST_ARCHAUTODIR = $(INST_ARCHLIB)/auto/$(FULLEXT) + +INST_STATIC = $(INST_ARCHAUTODIR)/$(BASEEXT)$(LIB_EXT) +INST_DYNAMIC = $(INST_ARCHAUTODIR)/$(DLBASE).$(DLEXT) +INST_BOOT = $(INST_ARCHAUTODIR)/$(BASEEXT).bs + +EXPORT_LIST = + +PERL_ARCHIVE = + +PERL_ARCHIVE_AFTER = + +TO_INST_PM = RNA.pm + +PM_TO_BLIB = RNA.pm \ + $(INST_LIBDIR)/RNA.pm + + +# --- MakeMaker tool_autosplit section: +# Usage: $(AUTOSPLITFILE) FileToSplit AutoDirToSplitInto +AUTOSPLITFILE = $(PERLRUN) -e 'use AutoSplit; autosplit($$ARGV[0], $$ARGV[1], 0, 1, 1) ;' + + + +# --- MakeMaker tool_xsubpp section: + +XSUBPPDIR = /usr/lib/perl5/5.8.0/ExtUtils +XSUBPP = $(XSUBPPDIR)/xsubpp +XSPROTOARG = +XSUBPPDEPS = $(XSUBPPDIR)/typemap $(XSUBPP) +XSUBPPARGS = -typemap $(XSUBPPDIR)/typemap +XSUBPP_EXTRA_ARGS = + + +# --- MakeMaker tools_other section: + +SHELL = /bin/sh +CHMOD = chmod +CP = cp +LD = gcc +MV = mv +NOOP = $(SHELL) -c true +RM_F = rm -f +RM_RF = rm -rf +TEST_F = test -f +TOUCH = touch +UMASK_NULL = umask 0 +DEV_NULL = > /dev/null 2>&1 + +# The following is a portable way to say mkdir -p +# To see which directories are created, change the if 0 to if 1 +MKPATH = $(PERLRUN) "-MExtUtils::Command" -e mkpath + +# This helps us to minimize the effect of the .exists files A yet +# better solution would be to have a stable file in the perl +# distribution with a timestamp of zero. But this solution doesn't +# need any changes to the core distribution and works with older perls +EQUALIZE_TIMESTAMP = $(PERLRUN) "-MExtUtils::Command" -e eqtime + +# Here we warn users that an old packlist file was found somewhere, +# and that they should call some uninstall routine +WARN_IF_OLD_PACKLIST = $(PERL) -we 'exit unless -f $$ARGV[0];' \ +-e 'print "WARNING: I have found an old package in\n";' \ +-e 'print "\t$$ARGV[0].\n";' \ +-e 'print "Please make sure the two installations are not conflicting\n";' + +UNINST=0 +VERBINST=0 + +MOD_INSTALL = $(PERL) "-I$(INST_LIB)" "-I$(PERL_LIB)" "-MExtUtils::Install" \ +-e "install({@ARGV},'$(VERBINST)',0,'$(UNINST)');" + +DOC_INSTALL = $(PERL) -e '$$\="\n\n";' \ +-e 'print "=head2 ", scalar(localtime), ": C<", shift, ">", " L<", $$arg=shift, "|", $$arg, ">";' \ +-e 'print "=over 4";' \ +-e 'while (defined($$key = shift) and defined($$val = shift)){print "=item *";print "C<$$key: $$val>";}' \ +-e 'print "=back";' + +UNINSTALL = $(PERLRUN) "-MExtUtils::Install" \ +-e 'uninstall($$ARGV[0],1,1); print "\nUninstall is deprecated. Please check the";' \ +-e 'print " packlist above carefully.\n There may be errors. Remove the";' \ +-e 'print " appropriate files manually.\n Sorry for the inconveniences.\n"' + + +# --- MakeMaker dist section: +ZIPFLAGS = -r +TO_UNIX = @$(NOOP) +TAR = tar +POSTOP = @$(NOOP) +ZIP = zip +DIST_DEFAULT = tardist +CI = ci -u +SHAR = shar +COMPRESS = gzip --best +DIST_CP = best +PREOP = @$(NOOP) +TARFLAGS = cvf +DISTVNAME = $(DISTNAME)-$(VERSION) +SUFFIX = .gz +RCS_LABEL = rcs -Nv$(VERSION_SYM): -q + + +# --- MakeMaker macro section: + + +# --- MakeMaker depend section: + + +# --- MakeMaker cflags section: + +CCFLAGS = -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm +OPTIMIZE = -O2 -g -pipe -march=i386 -mcpu=i686 +PERLTYPE = +MPOLLUTE = + + +# --- MakeMaker const_loadlibs section: + +# RNA might depend on some other libraries: +# See ExtUtils::Liblist for details +# +EXTRALIBS = -lm +LDLOADLIBS = -lm +BSLOADLIBS = +LD_RUN_PATH = /lib + + +# --- MakeMaker const_cccmd section: +CCCMD = $(CC) -c $(PASTHRU_INC) $(INC) \ + $(CCFLAGS) $(OPTIMIZE) \ + $(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \ + $(XS_DEFINE_VERSION) + +# --- MakeMaker post_constants section: + + +# --- MakeMaker pasthru section: + +PASTHRU = LIB="$(LIB)"\ + LIBPERL_A="$(LIBPERL_A)"\ + LINKTYPE="$(LINKTYPE)"\ + PREFIX="$(PREFIX)"\ + OPTIMIZE="$(OPTIMIZE)"\ + PASTHRU_DEFINE="$(PASTHRU_DEFINE)"\ + PASTHRU_INC="$(PASTHRU_INC)" + + +# --- MakeMaker c_o section: + +.c.i: + gcc -E -c $(PASTHRU_INC) $(INC) \ + $(CCFLAGS) $(OPTIMIZE) \ + $(PERLTYPE) $(MPOLLUTE) $(DEFINE_VERSION) \ + $(XS_DEFINE_VERSION) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c > $*.i + +.c.s: + $(CCCMD) -S $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c + +.c$(OBJ_EXT): + $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c + +.C$(OBJ_EXT): + $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.C + +.cpp$(OBJ_EXT): + $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.cpp + +.cxx$(OBJ_EXT): + $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.cxx + +.cc$(OBJ_EXT): + $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.cc + + +# --- MakeMaker xs_c section: + +.xs.c: + $(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $(XSUBPP_EXTRA_ARGS) $*.xs > $*.xsc && $(MV) $*.xsc $*.c + + +# --- MakeMaker xs_o section: + +.xs$(OBJ_EXT): + $(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.xsc && $(MV) $*.xsc $*.c + $(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c + + +# --- MakeMaker top_targets section: + +all :: pure_all manifypods + @$(NOOP) + +pure_all :: config pm_to_blib subdirs linkext + @$(NOOP) + +subdirs :: $(MYEXTLIB) + @$(NOOP) + +config :: Makefile.perl $(INST_LIBDIR)/.exists + @$(NOOP) + +config :: $(INST_ARCHAUTODIR)/.exists + @$(NOOP) + +config :: $(INST_AUTODIR)/.exists + @$(NOOP) + +$(INST_AUTODIR)/.exists :: /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/perl.h + @$(MKPATH) $(INST_AUTODIR) + @$(EQUALIZE_TIMESTAMP) /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/perl.h $(INST_AUTODIR)/.exists + + -@$(CHMOD) $(PERM_RWX) $(INST_AUTODIR) + +$(INST_LIBDIR)/.exists :: /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/perl.h + @$(MKPATH) $(INST_LIBDIR) + @$(EQUALIZE_TIMESTAMP) /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/perl.h $(INST_LIBDIR)/.exists + + -@$(CHMOD) $(PERM_RWX) $(INST_LIBDIR) + +$(INST_ARCHAUTODIR)/.exists :: /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/perl.h + @$(MKPATH) $(INST_ARCHAUTODIR) + @$(EQUALIZE_TIMESTAMP) /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/perl.h $(INST_ARCHAUTODIR)/.exists + + -@$(CHMOD) $(PERM_RWX) $(INST_ARCHAUTODIR) + +config :: $(INST_MAN3DIR)/.exists + @$(NOOP) + + +$(INST_MAN3DIR)/.exists :: /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/perl.h + @$(MKPATH) $(INST_MAN3DIR) + @$(EQUALIZE_TIMESTAMP) /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/perl.h $(INST_MAN3DIR)/.exists + + -@$(CHMOD) $(PERM_RWX) $(INST_MAN3DIR) + +help: + perldoc ExtUtils::MakeMaker + + +# --- MakeMaker linkext section: + +linkext :: $(LINKTYPE) + @$(NOOP) + + +# --- MakeMaker dlsyms section: + + +# --- MakeMaker dynamic section: + +## $(INST_PM) has been moved to the all: target. +## It remains here for awhile to allow for old usage: "make dynamic" +#dynamic :: Makefile.perl $(INST_DYNAMIC) $(INST_BOOT) $(INST_PM) +dynamic :: Makefile.perl $(INST_DYNAMIC) $(INST_BOOT) + @$(NOOP) + + +# --- MakeMaker dynamic_bs section: + +BOOTSTRAP = RNA.bs + +# As Mkbootstrap might not write a file (if none is required) +# we use touch to prevent make continually trying to remake it. +# The DynaLoader only reads a non-empty file. +$(BOOTSTRAP): Makefile.perl $(INST_ARCHAUTODIR)/.exists + @echo "Running Mkbootstrap for $(NAME) ($(BSLOADLIBS))" + @$(PERLRUN) \ + "-MExtUtils::Mkbootstrap" \ + -e "Mkbootstrap('$(BASEEXT)','$(BSLOADLIBS)');" + @$(TOUCH) $(BOOTSTRAP) + $(CHMOD) $(PERM_RW) $@ + +$(INST_BOOT): $(BOOTSTRAP) $(INST_ARCHAUTODIR)/.exists + @rm -rf $(INST_BOOT) + -cp $(BOOTSTRAP) $(INST_BOOT) + $(CHMOD) $(PERM_RW) $@ + + +# --- MakeMaker dynamic_lib section: + +# This section creates the dynamically loadable $(INST_DYNAMIC) +# from $(OBJECT) and possibly $(MYEXTLIB). +ARMAYBE = : +OTHERLDFLAGS = +INST_DYNAMIC_DEP = + +$(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)/.exists $(EXPORT_LIST) $(PERL_ARCHIVE) $(PERL_ARCHIVE_AFTER) $(INST_DYNAMIC_DEP) + $(RM_F) $@ + LD_RUN_PATH="$(LD_RUN_PATH)" $(LD) $(LDDLFLAGS) $(LDFROM) $(OTHERLDFLAGS) -o $@ $(MYEXTLIB) $(PERL_ARCHIVE) $(LDLOADLIBS) $(PERL_ARCHIVE_AFTER) $(EXPORT_LIST) + $(CHMOD) $(PERM_RWX) $@ + + +# --- MakeMaker static section: + +## $(INST_PM) has been moved to the all: target. +## It remains here for awhile to allow for old usage: "make static" +#static :: Makefile.perl $(INST_STATIC) $(INST_PM) +static :: Makefile.perl $(INST_STATIC) + @$(NOOP) + + +# --- MakeMaker static_lib section: + +$(INST_STATIC): $(OBJECT) $(MYEXTLIB) $(INST_ARCHAUTODIR)/.exists + $(RM_RF) $@ + cp $(MYEXTLIB) $@ + $(FULL_AR) $(AR_STATIC_ARGS) $@ $(OBJECT) && $(RANLIB) $@ + $(CHMOD) $(PERM_RWX) $@ + @echo "$(EXTRALIBS)" > $(INST_ARCHAUTODIR)/extralibs.ld + + + +# --- MakeMaker manifypods section: +POD2MAN_EXE = /usr/bin/pod2man +POD2MAN = $(PERL) -we '%m=@ARGV;for (keys %m){' \ +-e 'next if -e $$m{$$_} && -M $$m{$$_} < -M $$_ && -M $$m{$$_} < -M "Makefile.perl";' \ +-e 'print "Manifying $$m{$$_}\n";' \ +-e 'system(q[$(PERLRUN) $(POD2MAN_EXE) ].qq[$$_>$$m{$$_}])==0 or warn "Couldn\047t install $$m{$$_}\n";' \ +-e 'chmod(oct($(PERM_RW)), $$m{$$_}) or warn "chmod $(PERM_RW) $$m{$$_}: $$!\n";}' + +manifypods : pure_all RNA.pm + @$(POD2MAN) \ + RNA.pm \ + $(INST_MAN3DIR)/RNA.$(MAN3EXT) + +# --- MakeMaker processPL section: + + +# --- MakeMaker installbin section: + + +# --- MakeMaker subdirs section: + +# none + +# --- MakeMaker clean section: + +# Delete temporary files but do not touch installed files. We don't delete +# the Makefile here so a later make realclean still has a makefile to use. + +clean :: + -rm -rf ./blib $(MAKE_APERL_FILE) $(INST_ARCHAUTODIR)/extralibs.all perlmain.c tmon.out mon.out so_locations pm_to_blib *$(OBJ_EXT) *$(LIB_EXT) perl.exe perl perl$(EXE_EXT) $(BOOTSTRAP) $(BASEEXT).bso $(BASEEXT).def lib$(BASEEXT).def $(BASEEXT).exp $(BASEEXT).x core core.*perl.*.? *perl.core + -mv Makefile.perl Makefile.perl.old $(DEV_NULL) + + +# --- MakeMaker realclean section: + +# Delete temporary files (via clean) and also delete installed files +realclean purge :: clean + rm -rf $(INST_AUTODIR) $(INST_ARCHAUTODIR) + rm -rf $(DISTVNAME) + rm -f $(INST_DYNAMIC) $(INST_BOOT) + rm -f $(INST_STATIC) + rm -f $(INST_LIBDIR)/RNA.pm + rm -rf Makefile.perl Makefile.perl.old + + +# --- MakeMaker dist_basics section: +distclean :: realclean distcheck + $(NOECHO) $(NOOP) + +distcheck : + $(PERLRUN) "-MExtUtils::Manifest=fullcheck" -e fullcheck + +skipcheck : + $(PERLRUN) "-MExtUtils::Manifest=skipcheck" -e skipcheck + +manifest : + $(PERLRUN) "-MExtUtils::Manifest=mkmanifest" -e mkmanifest + +veryclean : realclean + $(RM_F) *~ *.orig */*~ */*.orig + + + +# --- MakeMaker dist_core section: + +dist : $(DIST_DEFAULT) + @$(PERL) -le 'print "Warning: Makefile possibly out of date with $$vf" if ' \ + -e '-e ($$vf="$(VERSION_FROM)") and -M $$vf < -M "Makefile.perl";' + +tardist : $(DISTVNAME).tar$(SUFFIX) + +zipdist : $(DISTVNAME).zip + +$(DISTVNAME).tar$(SUFFIX) : distdir + $(PREOP) + $(TO_UNIX) + $(TAR) $(TARFLAGS) $(DISTVNAME).tar $(DISTVNAME) + $(RM_RF) $(DISTVNAME) + $(COMPRESS) $(DISTVNAME).tar + $(POSTOP) + +$(DISTVNAME).zip : distdir + $(PREOP) + $(ZIP) $(ZIPFLAGS) $(DISTVNAME).zip $(DISTVNAME) + $(RM_RF) $(DISTVNAME) + $(POSTOP) + +uutardist : $(DISTVNAME).tar$(SUFFIX) + uuencode $(DISTVNAME).tar$(SUFFIX) \ + $(DISTVNAME).tar$(SUFFIX) > \ + $(DISTVNAME).tar$(SUFFIX)_uu + +shdist : distdir + $(PREOP) + $(SHAR) $(DISTVNAME) > $(DISTVNAME).shar + $(RM_RF) $(DISTVNAME) + $(POSTOP) + + +# --- MakeMaker dist_dir section: +distdir : + $(RM_RF) $(DISTVNAME) + $(PERLRUN) "-MExtUtils::Manifest=manicopy,maniread" \ + -e "manicopy(maniread(),'$(DISTVNAME)', '$(DIST_CP)');" + + + +# --- MakeMaker dist_test section: + +disttest : distdir + cd $(DISTVNAME) && $(ABSPERLRUN) Makefile.PL + cd $(DISTVNAME) && $(MAKE) $(PASTHRU) + cd $(DISTVNAME) && $(MAKE) test $(PASTHRU) + + +# --- MakeMaker dist_ci section: + +ci : + $(PERLRUN) "-MExtUtils::Manifest=maniread" \ + -e "@all = keys %{ maniread() };" \ + -e 'print("Executing $(CI) @all\n"); system("$(CI) @all");' \ + -e 'print("Executing $(RCS_LABEL) ...\n"); system("$(RCS_LABEL) @all");' + + +# --- MakeMaker install section: + +install :: all pure_install doc_install + +install_perl :: all pure_perl_install doc_perl_install + +install_site :: all pure_site_install doc_site_install + +install_vendor :: all pure_vendor_install doc_vendor_install + +pure_install :: pure_$(INSTALLDIRS)_install + +doc_install :: doc_$(INSTALLDIRS)_install + @echo Appending installation info to $(INSTALLARCHLIB)/perllocal.pod + +pure__install : pure_site_install + @echo INSTALLDIRS not defined, defaulting to INSTALLDIRS=site + +doc__install : doc_site_install + @echo INSTALLDIRS not defined, defaulting to INSTALLDIRS=site + +pure_perl_install :: + @$(MOD_INSTALL) \ + read $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist \ + write $(INSTALLARCHLIB)/auto/$(FULLEXT)/.packlist \ + $(INST_LIB) $(INSTALLPRIVLIB) \ + $(INST_ARCHLIB) $(INSTALLARCHLIB) \ + $(INST_BIN) $(INSTALLBIN) \ + $(INST_SCRIPT) $(INSTALLSCRIPT) \ + $(INST_MAN1DIR) $(INSTALLMAN1DIR) \ + $(INST_MAN3DIR) $(INSTALLMAN3DIR) + @$(WARN_IF_OLD_PACKLIST) \ + $(SITEARCHEXP)/auto/$(FULLEXT) + + +pure_site_install :: + @$(MOD_INSTALL) \ + read $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist \ + write $(INSTALLSITEARCH)/auto/$(FULLEXT)/.packlist \ + $(INST_LIB) $(INSTALLSITELIB) \ + $(INST_ARCHLIB) $(INSTALLSITEARCH) \ + $(INST_BIN) $(INSTALLSITEBIN) \ + $(INST_SCRIPT) $(INSTALLSCRIPT) \ + $(INST_MAN1DIR) $(INSTALLSITEMAN1DIR) \ + $(INST_MAN3DIR) $(INSTALLSITEMAN3DIR) + @$(WARN_IF_OLD_PACKLIST) \ + $(PERL_ARCHLIB)/auto/$(FULLEXT) + +pure_vendor_install :: + @$(MOD_INSTALL) \ + $(INST_LIB) $(INSTALLVENDORLIB) \ + $(INST_ARCHLIB) $(INSTALLVENDORARCH) \ + $(INST_BIN) $(INSTALLVENDORBIN) \ + $(INST_SCRIPT) $(INSTALLSCRIPT) \ + $(INST_MAN1DIR) $(INSTALLVENDORMAN1DIR) \ + $(INST_MAN3DIR) $(INSTALLVENDORMAN3DIR) + +doc_perl_install :: + -@$(MKPATH) $(INSTALLARCHLIB) + -@$(DOC_INSTALL) \ + "Module" "$(NAME)" \ + "installed into" "$(INSTALLPRIVLIB)" \ + LINKTYPE "$(LINKTYPE)" \ + VERSION "$(VERSION)" \ + EXE_FILES "$(EXE_FILES)" \ + >> $(INSTALLARCHLIB)/perllocal.pod + +doc_site_install :: + -@$(MKPATH) $(INSTALLARCHLIB) + -@$(DOC_INSTALL) \ + "Module" "$(NAME)" \ + "installed into" "$(INSTALLSITELIB)" \ + LINKTYPE "$(LINKTYPE)" \ + VERSION "$(VERSION)" \ + EXE_FILES "$(EXE_FILES)" \ + >> $(INSTALLSITEARCH)/perllocal.pod + +doc_vendor_install :: + + +uninstall :: uninstall_from_$(INSTALLDIRS)dirs + +uninstall_from_perldirs :: + @$(UNINSTALL) $(PERL_ARCHLIB)/auto/$(FULLEXT)/.packlist + +uninstall_from_sitedirs :: + @$(UNINSTALL) $(SITEARCHEXP)/auto/$(FULLEXT)/.packlist + + +# --- MakeMaker force section: +# Phony target to force checking subdirectories. +FORCE: + @$(NOOP) + + +# --- MakeMaker perldepend section: + +PERL_HDRS = \ + $(PERL_INC)/EXTERN.h \ + $(PERL_INC)/INTERN.h \ + $(PERL_INC)/XSUB.h \ + $(PERL_INC)/av.h \ + $(PERL_INC)/cc_runtime.h \ + $(PERL_INC)/config.h \ + $(PERL_INC)/cop.h \ + $(PERL_INC)/cv.h \ + $(PERL_INC)/dosish.h \ + $(PERL_INC)/embed.h \ + $(PERL_INC)/embedvar.h \ + $(PERL_INC)/fakethr.h \ + $(PERL_INC)/form.h \ + $(PERL_INC)/gv.h \ + $(PERL_INC)/handy.h \ + $(PERL_INC)/hv.h \ + $(PERL_INC)/intrpvar.h \ + $(PERL_INC)/iperlsys.h \ + $(PERL_INC)/keywords.h \ + $(PERL_INC)/mg.h \ + $(PERL_INC)/nostdio.h \ + $(PERL_INC)/op.h \ + $(PERL_INC)/opcode.h \ + $(PERL_INC)/opnames.h \ + $(PERL_INC)/patchlevel.h \ + $(PERL_INC)/perl.h \ + $(PERL_INC)/perlapi.h \ + $(PERL_INC)/perlio.h \ + $(PERL_INC)/perlsdio.h \ + $(PERL_INC)/perlsfio.h \ + $(PERL_INC)/perlvars.h \ + $(PERL_INC)/perly.h \ + $(PERL_INC)/pp.h \ + $(PERL_INC)/pp_proto.h \ + $(PERL_INC)/proto.h \ + $(PERL_INC)/regcomp.h \ + $(PERL_INC)/regexp.h \ + $(PERL_INC)/regnodes.h \ + $(PERL_INC)/scope.h \ + $(PERL_INC)/sv.h \ + $(PERL_INC)/thrdvar.h \ + $(PERL_INC)/thread.h \ + $(PERL_INC)/unixish.h \ + $(PERL_INC)/utf8.h \ + $(PERL_INC)/util.h \ + $(PERL_INC)/warnings.h + +$(OBJECT) : $(PERL_HDRS) + + +# --- MakeMaker makefile section: + +$(OBJECT) : $(FIRST_MAKEFILE) + +# We take a very conservative approach here, but it\'s worth it. +# We move Makefile to Makefile.old here to avoid gnu make looping. +Makefile.perl : Makefile.PL $(CONFIGDEP) + @echo "Makefile out-of-date with respect to $?" + @echo "Cleaning current config before rebuilding Makefile..." + -@$(RM_F) Makefile.perl.old + -@$(MV) Makefile.perl Makefile.perl.old + -$(MAKE) -f Makefile.perl.old clean $(DEV_NULL) || $(NOOP) + $(PERLRUN) Makefile.PL + @echo "==> Your Makefile has been rebuilt. <==" + @echo "==> Please rerun the make command. <==" + false + + + +# --- MakeMaker staticmake section: + +# --- MakeMaker makeaperl section --- +MAP_TARGET = perl +FULLPERL = /usr/bin/perl + +$(MAP_TARGET) :: static $(MAKE_APERL_FILE) + $(MAKE) -f $(MAKE_APERL_FILE) $@ + +$(MAKE_APERL_FILE) : $(FIRST_MAKEFILE) + @echo Writing \"$(MAKE_APERL_FILE)\" for this $(MAP_TARGET) + @$(PERLRUNINST) \ + Makefile.PL DIR= \ + MAKEFILE=$(MAKE_APERL_FILE) LINKTYPE=static \ + MAKEAPERL=1 NORECURS=1 CCCDLFLAGS= + + +# --- MakeMaker test section: + +TEST_VERBOSE=0 +TEST_TYPE=test_$(LINKTYPE) +TEST_FILE = test.pl +TEST_FILES = +TESTDB_SW = -d + +testdb :: testdb_$(LINKTYPE) + +test :: $(TEST_TYPE) + +test_dynamic :: pure_all + PERL_DL_NONLAZY=1 $(FULLPERLRUN) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE) + +testdb_dynamic :: pure_all + PERL_DL_NONLAZY=1 $(FULLPERLRUN) $(TESTDB_SW) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE) + +test_ : test_dynamic + +test_static :: pure_all $(MAP_TARGET) + PERL_DL_NONLAZY=1 ./$(MAP_TARGET) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE) + +testdb_static :: pure_all $(MAP_TARGET) + PERL_DL_NONLAZY=1 ./$(MAP_TARGET) $(TESTDB_SW) "-I$(INST_LIB)" "-I$(INST_ARCHLIB)" $(TEST_FILE) + + + +# --- MakeMaker ppd section: +# Creates a PPD (Perl Package Description) for a binary distribution. +ppd: + @$(PERL) -e "print qq{\n\t$(DISTNAME)\n\t\n\tIvo Hofacker <ivo\@tbi.univie.ac.at>\n}" > $(DISTNAME).ppd + @$(PERL) -e "print qq{\t\n}" >> $(DISTNAME).ppd + @$(PERL) -e "print qq{\t\t\n\t\t\n\t\t\n\t\n\n}" >> $(DISTNAME).ppd + +# --- MakeMaker pm_to_blib section: + +pm_to_blib: $(TO_INST_PM) + @$(PERLRUNINST) "-MExtUtils::Install" \ + -e "pm_to_blib({qw{RNA.pm $(INST_LIBDIR)/RNA.pm}},'$(INST_LIB)/auto','$(PM_FILTER)')" + @$(TOUCH) $@ + +# --- MakeMaker selfdocument section: + + +# --- MakeMaker postamble section: + + +# End. diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA.bs b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA.bs new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA.i b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA.i new file mode 100755 index 00000000..c408b19c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA.i @@ -0,0 +1,455 @@ +%module RNA +//%pragma(perl5) modulecode="@EXPORT=qw(fold);" +%pragma(perl5) include="RNA.pod" +%{ +#include "../H/utils.h" +#include "../H/fold_vars.h" +#undef fold +#include "../H/fold.h" +#include "../H/cofold.h" +#include "../H/part_func.h" +#include "../H/PS_dot.h" +#include "../H/inverse.h" +#include "../H/RNAstruct.h" +#include "../H/treedist.h" +#include "../H/stringdist.h" +#include "../H/profiledist.h" +#include "../H/dist_vars.h" +#include "../H/pair_mat.h" +#include "../H/subopt.h" +#include "../H/energy_const.h" +#include "../H/params.h" +%} +// +%include carrays.i +%array_functions(int, intP); +%array_class(int, intArray); +%array_functions(float, floatP); +%array_class(float, floatArray); +%array_functions(double, doubleP); +%array_class(double, doubleArray); +%array_functions(short, shortP); +%include cdata.i + +%constant double VERSION = 0.3; +%include typemaps.i +%typemap(perl5,in) FILE * { + if (SvOK($input)) /* check for undef */ + $1 = PerlIO_findFILE(IoIFP(sv_2io($input))); + else $1 = NULL; +} + +%typemap(python,in) FILE * { + if (PyFile_Check($input)) /* check for undef */ + $1 = PyFile_AsFile($input); + else $1 = NULL; +} + +//%title "Interface to the Vienna RNA library" +//%section "Folding Routines" +//%subsection "Minimum free Energy Folding" + +%rename (fold) my_fold; + +%{ + char *my_fold(char *string, char *constraints, float *energy) { + char *struc; + float en; + struc = calloc(strlen(string)+1,sizeof(char)); + if (constraints && fold_constrained) + strncpy(struc, constraints, strlen(string)); + *energy = fold(string, struc); + if (constraints) + strncpy(constraints, struc, strlen(constraints)); + return(struc); + } +%} + +%newobject my_fold; +char *my_fold(char *string, char *constraints = NULL, float *OUTPUT); +%ignore fold; +%include "../H/fold.h" + +%rename (cofold) my_cofold; + +%{ + char *my_cofold(char *string, char *constraints, float *energy) { + char *struc; + float en; + struc = calloc(strlen(string)+1,sizeof(char)); + if (constraints && fold_constrained) + strncpy(struc, constraints, strlen(string)); + *energy = cofold(string, struc); + if (constraints) + strncpy(constraints, struc, strlen(constraints)); + return(struc); + } +%} + +%newobject my_cofold; +char *my_cofold(char *string, char *constraints = NULL, float *OUTPUT); +%ignore cofold; +%include "../H/cofold.h" + +//%subsection "Partition function Folding" + +%rename (pf_fold) my_pf_fold; +%{ + char *my_pf_fold(char *string, char *constraints, float *energy) { + char *struc; + float en; + struc = calloc(strlen(string)+1,sizeof(char)); + if (constraints && fold_constrained) + strncpy(struc, constraints, strlen(string)); + *energy = pf_fold(string, struc); + if (constraints) + strncpy(constraints, struc, strlen(constraints)); + return(struc); + } +%} + +%newobject my_pf_fold; +char *my_pf_fold(char *string, char *constraints = NULL, float *OUTPUT); + +%ignore pf_fold; +%include "../H/part_func.h" + +%newobject pbacktrack; +extern char *pbacktrack(char *sequence); + +//%subsection "Inverse Folding" + +%rename (inverse_fold) my_inverse_fold; +%{ + char *my_inverse_fold(char *start, const char *target, float *cost) { + char *seq; + int n; + n = strlen(target); + seq = random_string(n, symbolset); + if (start) + strncpy(seq, start, strlen(start)); + *cost = inverse_fold(seq, target); + if (start) + /* for backward compatibility modify start */ + strncpy(start, seq, strlen(start)); + return(seq); + } +%} + +%newobject my_inverse_fold; +char * my_inverse_fold(char *start, const char *target, float *OUTPUT); + +%rename (inverse_pf_fold) my_inverse_pf_fold; +%{ + char *my_inverse_pf_fold(char *start, const char *target, float *cost) { + char *seq; + int n; + n = strlen(target); + seq = random_string(n, symbolset); + if (start) strncpy(seq, start, n); + *cost = inverse_pf_fold(seq, target); + if (start) + /* for backward compatibility modify start */ + strncpy(start, seq, strlen(start)); + return(seq); + } +%} + +%newobject my_inverse_pf_fold; +char * my_inverse_pf_fold(char *start, const char *target, float *OUTPUT); + +%ignore inverse_fold; +%ignore inverse_pf_fold; +%include "../H/inverse.h" + +//%subsection "Global Variables to Modify Folding" +//extern double *pr; /* base pairing prob. matrix */ +%include "../H/fold_vars.h" +%extend bondT { + bondT *get(int i) { + return self+i; + } +} + +//%include "../H/subopt.h" +// from subopt.h + +typedef struct { + float energy; /* energy of structure */ + char *structure; +} SOLUTION; + +%newobject subopt; +extern SOLUTION *subopt (char *seq, char *constraint, int delta, FILE *fp=NULL); + +extern int subopt_sorted; /* sort output by energy */ +%extend SOLUTION { + SOLUTION *get(int i) { +// static int size=-1; +// if (size<0) { +// SOLUTION *s; +// for (s=self; s->structure; s++); +// size= (int) (s-self); +// } +// if (i>=size) { +// warn("value out of range"); +// return NULL; +// } + return self+i; + } + + int size() { + SOLUTION *s; + for (s=self; s->structure; s++); + return (int)(s-self); + } + + ~SOLUTION() { + SOLUTION *s; + for (s=self; s->structure; s++) free(s->structure); + free(self); + } +} +%{ +double get_pr(int i, int j) { + int ii; + if (i>j) {ii=i; i=j; j=ii;} + return pr[iindx[i]-j]; +} +%} +double get_pr(int i, int j); +/* Get probability of pair i.j from the pr array */ + +//%section "Parsing and Comparing Structures" +// from RNAstruct.h + +%newobject b2HIT; +%newobject b2C; +%newobject b2Shapiro; +%newobject add_root; +%newobject expand_Shapiro; +%newobject expand_Full; +%newobject unexpand_Full; +%newobject unweight; +char *b2HIT(char *structure); // Full -> HIT [incl. root] +char *b2C(char *structure); // Full -> Coarse [incl. root] +char *b2Shapiro(char *structure); // Full -> weighted Shapiro [i.r] +char *add_root(char *); // {Tree} -> ({Tree}R) +char *expand_Shapiro(char *coarse); // add S for stacks to coarse struct +char *expand_Full(char *structure); // Full -> FFull +char *unexpand_Full(char *ffull); // FFull -> Full +char *unweight(char *wcoarse); // remove weights from coarse struct +void unexpand_aligned_F(char *align[2]); +void parse_structure(char *structure); // make structure statistics +int loop_size[1000]; // loop sizes of a structure +int helix_size[1000]; // helix sizes of a structure +int loop_degree[1000]; // loop degrees of a structure +int loops; // n of loops and stacks +int unpaired, pairs; // n of unpaired digits and pairs + +%include "../H/treedist.h" +%include "../H/stringdist.h" +%newobject Make_bp_profile; +%include "../H/profiledist.h" +// from dist_vars.h +int edit_backtrack; /* set to 1 if you want backtracking */ +char *aligned_line[2]; /* containes alignment after backtracking */ +int cost_matrix; /* 0 usual costs (default), 1 Shapiro's costs */ + +//%section "Utilities" +%newobject space; +%newobject time_stamp; +%newobject random_string; +%newobject get_line; +%newobject pack_structure; +%newobject unpack_structure; +%newobject make_pair_table; + +%include "../H/utils.h" + +// from read_epars.c +extern void read_parameter_file(char *fname); +/* read energy parameters from file */ +extern void write_parameter_file(char *fname); +/* write energy parameters to file */ + +// this doesn't work currently +%inline %{ +void *deref_any(void **ptr, int index) { + /* dereference arbitray pointer */ + return (void *) ptr[index]; +} +%} + +// from params.h + +extern paramT *scale_parameters(void); +extern paramT *copy_parameters(void); +extern paramT *set_parameters(paramT *dest); +%{ +char *get_aligned_line(int i) { + i = i % 2; + return aligned_line[i]; +} +%} + +char *get_aligned_line(int); + + + +//%include ptr2array.i + + + +%inline %{ + short *make_loop_index(const char *structure) { + /* number each position by which loop it belongs to (positions start at 0) */ + int i,j,hx,l,nl; + int length; + short *stack; + short *loop; + length = strlen(structure); + stack = (short *) space(sizeof(short)*(length+1)); + loop = (short *) space(sizeof(short)*(length+2)); + hx=l=nl=0; + for (i=0; i0) + l = loop[stack[hx-1]]; /* index of enclosing loop */ + else l=0; /* external loop has index 0 */ + if (hx<0) { + fprintf(stderr, "%s\n", structure); + nrerror("unbalanced brackets in make_pair_table"); + } + } + } + free(stack); + return loop; + } +%} + +%inline %{ +float energy_of_move(const char *string, char *structure, int mi, int mj) { + extern int energy_of_struct_pt(const char *string, short * ptable, + short *s, short *s1); +#define ILLEGAL 999.; + int i,j,hx,l,nl; + int length; + short *stack, *table, *loop; + short *S, *S1; + int energy; + + if (mj<0) { + if ((structure[-mi]!='(') || (structure[-mj]!=')')) + return 1001; /* illegal delete pair */ + } else + if ((structure[mi]!='.') || (structure[mj]!='.')) + return 1002; /* illegal add pair */ + + /* make the pair table and loop index l*/ + length = strlen(structure); + stack = (short *) space(sizeof(short)*(length+1)); + loop = (short *) space(sizeof(short)*(length+2)); + table = (short *) space(sizeof(short)*(length+2)); + table[0] = length; + hx=l=nl=0; + for (i=1; i<=length; i++) { + if (structure[i-1] == '(') { + nl++; l=nl; + stack[hx++]=i; + } + loop[i]=l; + if (structure[i-1] ==')') { + j=stack[--hx]; + if (hx>0) + l = loop[stack[hx-1]]; /* index of enclosing loop */ + else l=0; /* external loop has index 0 */ + if (hx<0) { + fprintf(stderr, "%s\n", structure); + nrerror("unbalanced brackets in energy_of_move"); + } + table[i]=j; + table[j]=i; + } + } + if (hx!=0) { + fprintf(stderr, "%s\n", structure); + nrerror("unbalanced brackets in energy_of_move"); + } + + if (loop[abs(mi)+1] != loop[abs(mj)+1]) { /* not in same loop => illegal */ + free(stack); + free(loop); + free(table); + return 1003.; + } + + /* if we get here the move is legal */ + if (mj<0) { /* delete pair */ + structure[-mi] = '.'; + structure[-mj] = '.'; + table[-mi+1] = table[-mj+1] = 0; + } else { /* insert pair */ + structure[mi] = '('; + structure[mj] = ')'; + table[mi+1] = mj+1; + table[mj+1] = mi+1; + } + + S = (short *) space(sizeof(short)*(length+1)); + S[0] = length; + for (i=1; i<=length; i++) { + char *pos; + pos = strchr(Law_and_Order, string[i-1]); + if (pos==NULL) S[i]=0; + else S[i] = pos-Law_and_Order; + } + + energy = energy_of_struct_pt(string, table, S, S); + + free(S); + free(stack); + free(loop); + free(table); + return (float) energy/100.; +} +%} + +%init %{ +/* work around segfault when script tries to free symbolset */ + +symbolset = (char *) space(21); +strcpy(symbolset, "AUGC"); + +%} + + +// Convert Perl array reference int a char ** +// not needed curently +//%typemap(perl5,in) char ** { +// AV *tempav; +// I32 len; +// int i; +// SV **tv; +// if (!SvROK($input)) croak("$input is not a reference."); +// if (SvTYPE(SvRV($input)) != SVt_PVAV) croak("$input is not an array."); +// tempav = (AV*)SvRV($input); +// len = av_len(tempav); +// $1 = (char **) malloc((len+2)*sizeof(char *)); +// for (i = 0; i <= len; i++) { +// tv = av_fetch(tempav, i, 0); +// $1[i] = (char *) SvPV(*tv,PL_na); +// } +// $1[i] = 0; +//} +// This cleans up our char ** array after the function call +//%typemap(perl5,freearg) char ** { +// free($1); +//} +%include "../H/PS_dot.h" diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA.pm b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA.pm new file mode 100755 index 00000000..a4cb55d5 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA.pm @@ -0,0 +1,1075 @@ +# This file was automatically generated by SWIG +package RNA; +require Exporter; +require DynaLoader; +@ISA = qw(Exporter DynaLoader); +package RNAc; +bootstrap RNA; +package RNA; +@EXPORT = qw( ); +=head1 NAME + +RNA - interface to the Vienna RNA library (libRNA.a) +Version 0.3 + +=head1 SYNOPSIS + + use RNA; + $seq = "CGCAGGGAUACCCGCG"; + ($struct, $mfe) = RNA::fold($seq); #predict mfe structure of $seq + RNA::PS_rna_plot($seq, $struct, "rna.ps"); # write PS plot to rna.ps + $F = RNA::pf_fold($seq); # compute partition function and pair pobabilities + RNA::PS_dot_plot($seq, "dot.ps"); # write dot plot to dot.ps + ... + +=head1 DESCRIPTION + +The RNA.pm package gives access to almost all functions in the libRNA.a +library of the Vienna RNA PACKAGE. The Perl wrapper is generated using +SWIG http://www.swig.org/ with relatively little manual intervention. +For each C function in the library the perl package provides a function +of the same name and calling convention (with few exceptions). For +detailed information you should therefore also consult the documentation +of the library (info RNAlib). + +Note that in general C arrays are wrapped into opaque objects that can +only be accessed via helper functions. SWIG provides a couple of general +purpose helper functions, see the section at the end of this file. C +structures are wrapped into Perl objects using SWIG's shadow class +mechanism, resulting in a tied hash with keys named after the structure +members. + +For the interrested reader we list for each scalar type of the +corepsonding C variable in brackets, and point out the header files +containing the C declaration. + +=head2 Folding Routines + +Minimum free Energy Folding (from fold.h) + +=over 4 + +=item fold SEQUENCE + +=item fold SEQUENCE, CONSTRAINTS + +computes the minimum free energy structure of the string SEQUENCE and returns +the predicted structure and energy, e.g. + + ($structure, $mfe) = RNA::fold("UGUGUCGAUGUGCUAU"); + +If a second argument is supplied and +L<$fold_constrained|/$fold_constrained>==1 the CONSTRAINTS string is +used to specify constraints on the predicted structure. The +characters '|', 'x', '<', '>' mark bases that are paired, unpaired, +paired upstream, or downstream, respectively; matching brackets "( )" +denote base pairs, dots '.' are used for unconstrained bases. + +In the two argument version the CONSTRAINTS string is modified and holds the +predicted structure upon return. This is done for backwards compatibility only, +and might change in future versions. + +=item energy_of_struct SEQUENCE, STRUCTURE + +returns the energy of SEQUENCE on STRUCTURE (in kcal/mol). The string structure +must hold a valid secondary structure in bracket notation. + +=item update_fold_params + +recalculate the pair matrix and energy parameters after a change in folding +parameters. In many cases (such as changes to +L<$temperature|/$temperature>) the fold() routine will call +update_fold_params automatically when necessary. + +=item free_arrays + +frees memory allocated internally when calling L. + +=back + +Partition function Folding (from part_func.h) + +=over 4 + +=item pf_fold SEQUENCE + +=item pf_fold SEQUENCE, CONSTRAINTS + +calculates the partition function over all possible secondary +structures and the matrix of pair probabilities for SEQUENCE and +returns a two element list consisting of a string summarizing possible +structures. See below on how to access the pair probability matrix. As +with L the second argument can be used to specify folding +constraints. Constraints are implemented by excluding base pairings +that contradict the constraint, but without bonus +energies. Constraints of type '|' (paired base) are ignored. In the +two argument version CONSTRAINTS is modified to contain the structure +string on return (obsolete feature, for backwards compatibility only) + +=item get_pr I, J + +After calling C the global C variable C points to the +computed pair probabilities. Perl access to the C is facilitated by +the C helper function that looks up and returns the +probability of the pair (I,J). + +=item free_pf_arrays + +frees memory allocated for pf_fold + +=item update_pf_params LENGTH + +recalculate energy parameters for pf_fold. In most cases (such as +simple changes to L<$temperature|/$temperature>) C +will take appropriate action automatically. + +=back + +Suboptimal Folding (from subopt.h) + +=over 4 + +=item subopt SEQUENCE, CONSTRAINTS, DELTA + +=item subopt SEQUENCE, CONSTRAINTS, DELTA, FILEHANDLE + +compute all structures of SEQUENCE within DELTA*0.01 kcal/mol of the +optimum. If specified, results are written to FILEHANDLE and nothing +is returned. Else, the C function returnes a list of C structs of type +SOLUTION. The list is wrapped by SWIG as a perl object that can be +accesses as follows: + + $solution = subopt($seq, undef, 500); + for (0..$solution->size()-1) { + printf "%s %6.2f\n", $solution->get($_)->{structure}, + $solution->get($_)->{energy}; + } + +=back + +Inverse Folding (from inverse.h) + +=over 4 + +=item inverse_fold START, TARGET + +find a sequence that folds into structure TARGET, by optimizing the +sequence until its mfe structure (as returned by L) is +TARGET. Startpoint of the optimization is the sequence START. Returns +a list containing the sequence found and the final value of the cost +function, i.e. 0 if the search was successful. A random start sequence +can be generated using L. + +=item inverse_pf_fold START, TARGET + +optimizes a sequence (beginning with START) by maximising the +frequency of the structure TARGET in the thermodynamic ensemble +of structures. Returns a list containing the optimized sequence and +the final value of the cost function. The cost function is given by +C, i.e.C<-RT*log(p(TARGET))> + +=item $final_cost [float] + +holds the value of the cost function where the optimization in +C should stop. For values <=0 the optimization will +only terminate at a local optimimum (which might take very long to reach). + +=item $symbolset [char *] + +the string symbolset holds the allowed characters to be used by +C and C, the default alphabet is "AUGC" + + +=item $give_up [int] + +If non-zero stop optimization when its clear that no exact solution +can be found. Else continue and eventually return an approximate +solution. Default 0. + +=back + +Global Variables to Modify Folding (from fold_vars.h) + +=over 4 + +=item $noGU [int] + +Do not allow GU pairs to form, default 0. + +=item $no_closingGU [int] + +allow GU only inside stacks, default 0. + +=item $tetra_loop [int] + +Fold with specially stable 4-loops, default 1. + +=item $energy_set [int] + +0 = BP; 1=any mit GC; 2=any mit AU-parameter, default 0. + +=item $dangles [int] + +How to compute dangling ends. 0: no dangling end energies, 1: "normal" +dangling ends (default), 2: simplified dangling ends, 3: "normal" + +co-axial stacking. Note that L treats cases 1 and 3 +as 2. The same holds for the main computation in L, +however subopt will re-evalute energies using +L for cases 1 and 3. See the more +detailed discussion in RNAlib.texinfo. + +=item $nonstandards [char *] + +contains allowed non standard bases, default empty string "" + +=item $temperature [double] + +temperature in degrees Celsius for rescaling parameters, default 37C. + +=item $logML [int] + +use logarithmic multiloop energy function in +L, default 0. + +=item $noLonelyPairs [int] + +consider only structures without isolated base pairs (helices of length 1). +For L only eliminates pairs +that can B occur as isolated pairs. Default 0. + +=item $base_pair [struct bond *] + +list of base pairs from last call to L. Better use +the structure string returned by L. + +=item $pf_scale [double] + +scaling factor used by L to avoid overflows. Should +be set to exp(-F/(RT*length)) where F is a guess for the ensmble free +energy (e.g. use the mfe). + + +=item $fold_constrained [int] + +apply constraints in the folding algorithms, default 0. + +=item $do_backtrack [int] + +If 0 do not compute the pair probabilities in L +(only the partition function). Default 1. + +=item $backtrack_type [char] + +usually 'F'; 'C' require (1,N) to be bonded; 'M' backtrack as if the +sequence was part of a multi loop. Used by L + +=item $pr [double *] + +the base pairing prob. matrix computed by L. + +=item $iindx [int *] + +Array of indices for moving withing the C array. Better use +L. + + +=back + +=head2 Parsing and Comparing Structures + +from RNAstruct.h: these functions convert between strings +representating secondary structures with various levels of coarse +graining. See the documentation of the C library for details + +=over 4 + +=item b2HIT STRUCTURE + +Full -> HIT [incl. root] + +=item b2C STRUCTURE + +Full -> Coarse [incl. root] + +=item b2Shapiro STRUCTURE + +Full -> weighted Shapiro [i.r.] + +=item add_root STRUCTURE + +{Tree} -> ({Tree}R) + +=item expand_Shapiro COARSE + +add S for stacks to coarse struct + +=item expand_Full STRUCTURE + +Full -> FFull + +=item unexpand_Full FSTRUCTURE + +FFull -> Full + +=item unweight WCOARSE + +remove weights from coarse struct + +=item unexpand_aligned_F ALIGN + + + +=item parse_structure STRUCTURE + +computes structure statistics, and fills the following global variables: + +$loops [int] number of loops (and stacks) +$unpaired [int] number of unpaired positions +$pairs [int] number of paired positions +$loop_size[int *] holds all loop sizes +$loop_degree[int *] holds all loop degrees +$helix_size[int *] holds all helix lengths + +=back + +from treedist.h: routines for computing tree-edit distances between structures + +=over 4 + +=item make_tree STRUCTURE + +make input for tree_edit_distance (a Tree * pointer). + +=item tree_edit_distance T1, T2 + +compare to structures using tree editing. C, C must have been +created using C + +=item print_tree T + +mainly for debugging + +=item free_tree T + +free space allocated by make_tree + +=back + +from stringdist.h routines to compute structure distances via string-editing + +=over 4 + +=item Make_swString STRUCTURE + +[ returns swString * ] +make input for string_edit_distance + +=item string_edit_distance S1, S2 + +[ returns float ] +compare to structures using string alignment. C, C should be +created using C + +=back + +from profiledist + +=over + +=item Make_bp_profile LENGTH + +[ returns (float *) ] +condense pair probability matrix C into a vector containing +probabilities for upstream paired, downstream paired and +unpaired. This resulting probability profile is used as input for +profile_edit_distance + +=item profile_edit_distance T1, T2 + +[ returns float ] +align two probability profiles produced by C + +=item print_bppm T + +[ returns void ] +print string representation of probability profile + +=item free_profile T + +[ returns void ] +free space allocated in Make_bp_profile + +=back + +Global variables for computing structure distances + +=over 4 + +=item $edit_backtrack [int] + +set to 1 if you want backtracking + +=item $aligned_line [(char *)[2]] + +containes alignmed structures after computing structure distance with +C + +=item $cost_matrix [int] + +0 usual costs (default), 1 Shapiro's costs + +=back + +=head2 Utilities (from utils.h) + +=over 4 + +=item space SIZE + +allocate memory from C. Usually not needed in Perl + +=item nrerror MESSGAE + +die with error message. Better use Perl's C + +=item $xsubi [unsigned short[3]] + +libRNA uses the rand48 48bit random number generator if available, the +current random number is always stored in $xsubi. + +=item init_rand + +initialize the $xsubi random number from current time + +=item urn + +returns a random number between 0 and 1 using the random number +generator from the RNA library. + +=item int_urn FROM, TO + +returns random integer in the range [FROM..TO] + +=item time_stamp + +current date in a string. In perl you might as well use C + +=item random_string LENGTH, SYMBOLS + +returns a string of length LENGTH using characters from the string +SYMBOLS + +=item hamming S1, S2 + +calculate hamming distance of the strings C and C. + + +=item pack_structure STRUCTURE + +pack secondary structure, using a 5:1 compression via 3 +encoding. Returns the packed string. + +=item unpack_structure PACKED + +unpacks a secondary structure packed with pack_structure + +=item make_pair_table STRUCTURE + +returns a pair table as a newly allocated (short *) C array, such +that: table[i]=j if (i.j) pair or 0 if i is unpaired, table[0] +contains the length of the structure. + +=item bp_distance STRUCTURE1, STRUCTURE2 + +returns the base pair distance of the two STRUCTURES. dist = {number +of base pairs in one structure but not in the other} same as edit +distance with open-pair close-pair as move-set + +=back + +from PS_plot.h + +=over 4 + +=item PS_rna_plot SEQUENCE, STRUCTURE, FILENAME + +write PostScript drawing of structure to FILENAME. Returns 1 on +sucess, 0 else. + +=item PS_rna_plot_a SEQUENCE, STRUCTURE, FILENAME, PRE, POST + +write PostScript drawing of structure to FILENAME. The strings PRE and +POST contain PostScript code that is included verbatim in the plot just +before (after) the data. Returns 1 on sucess, 0 else. + +=item gmlRNA SEQUENCE, STRUCTURE, FILENAME, OPTION + +write structure drawing in gml (Graph Meta Language) to +FILENAME. OPTION should be a single character. If uppercase the gml +output will include the SEQUENCE as node labels. IF OPTION equal 'x' +or 'X' write graph with coordinates (else only connectivity +information). Returns 1 on sucess, 0 else. + +=item ssv_rna_plot SEQUENCE, STRUCTURE, SSFILE + +write structure drfawing as coord file for SStructView Returns 1 on +sucess, 0 else. + +=item xrna_plot SEQUENCE, STRUCTURE, SSFILE + +write structure drawing as ".ss" file for further editing in XRNA. +Returns 1 on sucess, 0 else. + +=item PS_dot_plot SEQUENCE, FILENAME + +write a PostScript dot plot of the pair probability matix to +FILENAME. Returns 1 on sucess, 0 else. + +=item $rna_plot_type [int] + +Select layout algorithm for structure drawings. Currently available +0= simple coordinates, 1= naview, default 1. + +=back + +from read_epars.c + +=over 4 + +=item read_parameter_file FILENAME + +read energy parameters from FILENAME + +=item write_parameter_file FILENAME + +write energy parameters to FILENAME + +=back + +=head2 SWIG helper functions + +The package includes generic helper functions to access C arrays +of type C, C and C, such as: + +=over 4 + +=item intP_getitem POINTER, INDEX + +return the element INDEX from the array + +=item intP_setitem POINTER, INDEX, VALUE + +set element INDEX to VALUE + +=item new_intP NELEM + +allocate a new C array of integers with NELEM elements and return the pointer + +=item delete_intP POINTER + +deletes the C array by calling free() + +=back + +substituting C with C or C gives the corresponding +functions for arrays of float or double. You need to know the correct C +type however, and the function work only for arrays of simple types. + +On the lowest level the C function gives direct access to any data +in the form of a Perl string. + +=over + +=item cdata POINTER, SIZE + +copies SIZE bytes at POINTER to a Perl string (with binary data) + +=item memmove POINTER, STRING + +copies the (binary) string STRING to the memory location pointed to by +POINTER. + + +=back + +In combination with Perl's C this provides a generic way to convert +C data structures to Perl. E.g. + + RNA::parse_structure($structure); # fills the $RNA::loop_degree array + @ldegrees = unpack "I*", RNA::cdata($RNA::loop_degree, ($RNA::loops+1)*4); + +Warning: using these functions with wrong arguments will corrupt your +memory and lead to a segmentation fault. + +=head1 AUTHOR + +Ivo L. Hofacker + +=cut + +# ---------- BASE METHODS ------------- + +package RNA; + +sub TIEHASH { + my ($classname,$obj) = @_; + return bless $obj, $classname; +} + +sub CLEAR { } + +sub FIRSTKEY { } + +sub NEXTKEY { } + +sub FETCH { + my ($self,$field) = @_; + my $member_func = "swig_${field}_get"; + $self->$member_func(); +} + +sub STORE { + my ($self,$field,$newval) = @_; + my $member_func = "swig_${field}_set"; + $self->$member_func($newval); +} + +sub this { + my $ptr = shift; + return tied(%$ptr); +} + + +# ------- FUNCTION WRAPPERS -------- + +package RNA; + +*new_intP = *RNAc::new_intP; +*delete_intP = *RNAc::delete_intP; +*intP_getitem = *RNAc::intP_getitem; +*intP_setitem = *RNAc::intP_setitem; +*new_floatP = *RNAc::new_floatP; +*delete_floatP = *RNAc::delete_floatP; +*floatP_getitem = *RNAc::floatP_getitem; +*floatP_setitem = *RNAc::floatP_setitem; +*new_doubleP = *RNAc::new_doubleP; +*delete_doubleP = *RNAc::delete_doubleP; +*doubleP_getitem = *RNAc::doubleP_getitem; +*doubleP_setitem = *RNAc::doubleP_setitem; +*new_shortP = *RNAc::new_shortP; +*delete_shortP = *RNAc::delete_shortP; +*shortP_getitem = *RNAc::shortP_getitem; +*shortP_setitem = *RNAc::shortP_setitem; +*cdata = *RNAc::cdata; +*memmove = *RNAc::memmove; +*fold = *RNAc::fold; +*energy_of_struct = *RNAc::energy_of_struct; +*free_arrays = *RNAc::free_arrays; +*initialize_fold = *RNAc::initialize_fold; +*update_fold_params = *RNAc::update_fold_params; +*cofold = *RNAc::cofold; +*free_co_arrays = *RNAc::free_co_arrays; +*initialize_cofold = *RNAc::initialize_cofold; +*update_cofold_params = *RNAc::update_cofold_params; +*pf_fold = *RNAc::pf_fold; +*init_pf_fold = *RNAc::init_pf_fold; +*free_pf_arrays = *RNAc::free_pf_arrays; +*update_pf_params = *RNAc::update_pf_params; +*bppm_symbol = *RNAc::bppm_symbol; +*mean_bp_dist = *RNAc::mean_bp_dist; +*pbacktrack = *RNAc::pbacktrack; +*inverse_fold = *RNAc::inverse_fold; +*inverse_pf_fold = *RNAc::inverse_pf_fold; +*option_string = *RNAc::option_string; +*subopt = *RNAc::subopt; +*get_pr = *RNAc::get_pr; +*b2HIT = *RNAc::b2HIT; +*b2C = *RNAc::b2C; +*b2Shapiro = *RNAc::b2Shapiro; +*add_root = *RNAc::add_root; +*expand_Shapiro = *RNAc::expand_Shapiro; +*expand_Full = *RNAc::expand_Full; +*unexpand_Full = *RNAc::unexpand_Full; +*unweight = *RNAc::unweight; +*unexpand_aligned_F = *RNAc::unexpand_aligned_F; +*parse_structure = *RNAc::parse_structure; +*make_tree = *RNAc::make_tree; +*tree_edit_distance = *RNAc::tree_edit_distance; +*print_tree = *RNAc::print_tree; +*free_tree = *RNAc::free_tree; +*Make_swString = *RNAc::Make_swString; +*string_edit_distance = *RNAc::string_edit_distance; +*Make_bp_profile = *RNAc::Make_bp_profile; +*profile_edit_distance = *RNAc::profile_edit_distance; +*print_bppm = *RNAc::print_bppm; +*free_profile = *RNAc::free_profile; +*space = *RNAc::space; +*xrealloc = *RNAc::xrealloc; +*nrerror = *RNAc::nrerror; +*init_rand = *RNAc::init_rand; +*urn = *RNAc::urn; +*int_urn = *RNAc::int_urn; +*filecopy = *RNAc::filecopy; +*time_stamp = *RNAc::time_stamp; +*random_string = *RNAc::random_string; +*hamming = *RNAc::hamming; +*get_line = *RNAc::get_line; +*pack_structure = *RNAc::pack_structure; +*unpack_structure = *RNAc::unpack_structure; +*make_pair_table = *RNAc::make_pair_table; +*bp_distance = *RNAc::bp_distance; +*read_parameter_file = *RNAc::read_parameter_file; +*write_parameter_file = *RNAc::write_parameter_file; +*deref_any = *RNAc::deref_any; +*scale_parameters = *RNAc::scale_parameters; +*copy_parameters = *RNAc::copy_parameters; +*set_parameters = *RNAc::set_parameters; +*get_aligned_line = *RNAc::get_aligned_line; +*make_loop_index = *RNAc::make_loop_index; +*energy_of_move = *RNAc::energy_of_move; +*PS_rna_plot = *RNAc::PS_rna_plot; +*PS_rna_plot_a = *RNAc::PS_rna_plot_a; +*gmlRNA = *RNAc::gmlRNA; +*ssv_rna_plot = *RNAc::ssv_rna_plot; +*svg_rna_plot = *RNAc::svg_rna_plot; +*xrna_plot = *RNAc::xrna_plot; +*PS_dot_plot = *RNAc::PS_dot_plot; +*PS_color_dot_plot = *RNAc::PS_color_dot_plot; +*PS_dot_plot_list = *RNAc::PS_dot_plot_list; + +############# Class : RNA::intArray ############## + +package RNA::intArray; +@ISA = qw( RNA ); +%OWNER = (); +%ITERATORS = (); +sub new { + my $pkg = shift; + my $self = RNAc::new_intArray(@_); + bless $self, $pkg if defined($self); +} + +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + RNAc::delete_intArray($self); + delete $OWNER{$self}; + } +} + +*getitem = *RNAc::intArray_getitem; +*setitem = *RNAc::intArray_setitem; +*cast = *RNAc::intArray_cast; +*frompointer = *RNAc::intArray_frompointer; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : RNA::floatArray ############## + +package RNA::floatArray; +@ISA = qw( RNA ); +%OWNER = (); +%ITERATORS = (); +sub new { + my $pkg = shift; + my $self = RNAc::new_floatArray(@_); + bless $self, $pkg if defined($self); +} + +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + RNAc::delete_floatArray($self); + delete $OWNER{$self}; + } +} + +*getitem = *RNAc::floatArray_getitem; +*setitem = *RNAc::floatArray_setitem; +*cast = *RNAc::floatArray_cast; +*frompointer = *RNAc::floatArray_frompointer; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : RNA::doubleArray ############## + +package RNA::doubleArray; +@ISA = qw( RNA ); +%OWNER = (); +%ITERATORS = (); +sub new { + my $pkg = shift; + my $self = RNAc::new_doubleArray(@_); + bless $self, $pkg if defined($self); +} + +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + RNAc::delete_doubleArray($self); + delete $OWNER{$self}; + } +} + +*getitem = *RNAc::doubleArray_getitem; +*setitem = *RNAc::doubleArray_setitem; +*cast = *RNAc::doubleArray_cast; +*frompointer = *RNAc::doubleArray_frompointer; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : RNA::bondT ############## + +package RNA::bondT; +@ISA = qw( RNA ); +%OWNER = (); +%ITERATORS = (); +*swig_i_get = *RNAc::bondT_i_get; +*swig_i_set = *RNAc::bondT_i_set; +*swig_j_get = *RNAc::bondT_j_get; +*swig_j_set = *RNAc::bondT_j_set; +*get = *RNAc::bondT_get; +sub new { + my $pkg = shift; + my $self = RNAc::new_bondT(@_); + bless $self, $pkg if defined($self); +} + +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + RNAc::delete_bondT($self); + delete $OWNER{$self}; + } +} + +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : RNA::SOLUTION ############## + +package RNA::SOLUTION; +@ISA = qw( RNA ); +%OWNER = (); +%ITERATORS = (); +*swig_energy_get = *RNAc::SOLUTION_energy_get; +*swig_energy_set = *RNAc::SOLUTION_energy_set; +*swig_structure_get = *RNAc::SOLUTION_structure_get; +*swig_structure_set = *RNAc::SOLUTION_structure_set; +*get = *RNAc::SOLUTION_get; +*size = *RNAc::SOLUTION_size; +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + RNAc::delete_SOLUTION($self); + delete $OWNER{$self}; + } +} + +sub new { + my $pkg = shift; + my $self = RNAc::new_SOLUTION(@_); + bless $self, $pkg if defined($self); +} + +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : RNA::cpair ############## + +package RNA::cpair; +@ISA = qw( RNA ); +%OWNER = (); +%ITERATORS = (); +*swig_i_get = *RNAc::cpair_i_get; +*swig_i_set = *RNAc::cpair_i_set; +*swig_j_get = *RNAc::cpair_j_get; +*swig_j_set = *RNAc::cpair_j_set; +*swig_mfe_get = *RNAc::cpair_mfe_get; +*swig_mfe_set = *RNAc::cpair_mfe_set; +*swig_p_get = *RNAc::cpair_p_get; +*swig_p_set = *RNAc::cpair_p_set; +*swig_hue_get = *RNAc::cpair_hue_get; +*swig_hue_set = *RNAc::cpair_hue_set; +*swig_sat_get = *RNAc::cpair_sat_get; +*swig_sat_set = *RNAc::cpair_sat_set; +sub new { + my $pkg = shift; + my $self = RNAc::new_cpair(@_); + bless $self, $pkg if defined($self); +} + +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + RNAc::delete_cpair($self); + delete $OWNER{$self}; + } +} + +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : RNA::plist ############## + +package RNA::plist; +@ISA = qw( RNA ); +%OWNER = (); +%ITERATORS = (); +*swig_i_get = *RNAc::plist_i_get; +*swig_i_set = *RNAc::plist_i_set; +*swig_j_get = *RNAc::plist_j_get; +*swig_j_set = *RNAc::plist_j_set; +*swig_p_get = *RNAc::plist_p_get; +*swig_p_set = *RNAc::plist_p_set; +sub new { + my $pkg = shift; + my $self = RNAc::new_plist(@_); + bless $self, $pkg if defined($self); +} + +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + RNAc::delete_plist($self); + delete $OWNER{$self}; + } +} + +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +# ------- VARIABLE STUBS -------- + +package RNA; + +*VERSION = *RNAc::VERSION; +*symbolset = *RNAc::symbolset; +*final_cost = *RNAc::final_cost; +*give_up = *RNAc::give_up; +*noGU = *RNAc::noGU; +*no_closingGU = *RNAc::no_closingGU; +*tetra_loop = *RNAc::tetra_loop; +*energy_set = *RNAc::energy_set; +*dangles = *RNAc::dangles; +*nonstandards = *RNAc::nonstandards; +*temperature = *RNAc::temperature; +*james_rule = *RNAc::james_rule; +*logML = *RNAc::logML; +*cut_point = *RNAc::cut_point; + +my %__base_pair_hash; +tie %__base_pair_hash,"RNA::bondT", $RNAc::base_pair; +$base_pair= \%__base_pair_hash; +bless $base_pair, RNA::bondT; +*pr = *RNAc::pr; +*iindx = *RNAc::iindx; +*pf_scale = *RNAc::pf_scale; +*fold_constrained = *RNAc::fold_constrained; +*do_backtrack = *RNAc::do_backtrack; +*noLonelyPairs = *RNAc::noLonelyPairs; +*backtrack_type = *RNAc::backtrack_type; +*subopt_sorted = *RNAc::subopt_sorted; +*loop_size = *RNAc::loop_size; +*helix_size = *RNAc::helix_size; +*loop_degree = *RNAc::loop_degree; +*loops = *RNAc::loops; +*unpaired = *RNAc::unpaired; +*pairs = *RNAc::pairs; +*edit_backtrack = *RNAc::edit_backtrack; +*aligned_line = *RNAc::aligned_line; +*cost_matrix = *RNAc::cost_matrix; +*xsubi = *RNAc::xsubi; +*rna_plot_type = *RNAc::rna_plot_type; +1; diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA_wrap.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA_wrap.c new file mode 100755 index 00000000..6aba3c29 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA_wrap.c @@ -0,0 +1,6502 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.24 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make + * changes to this file unless you know what you are doing--modify the SWIG + * interface file instead. + * ----------------------------------------------------------------------------- */ + + +#ifndef SWIG_TEMPLATE_DISAMBIGUATOR +# if defined(__SUNPRO_CC) +# define SWIG_TEMPLATE_DISAMBIGUATOR template +# else +# define SWIG_TEMPLATE_DISAMBIGUATOR +# endif +#endif + +/*********************************************************************** + * swigrun.swg + * + * This file contains generic CAPI SWIG runtime support for pointer + * type checking. + * + ************************************************************************/ + +/* This should only be incremented when either the layout of swig_type_info changes, + or for whatever reason, the runtime changes incompatibly */ +#define SWIG_RUNTIME_VERSION "1" + +/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ +#ifdef SWIG_TYPE_TABLE +#define SWIG_QUOTE_STRING(x) #x +#define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x) +#define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE) +#else +#define SWIG_TYPE_TABLE_NAME +#endif + +#include + +#ifndef SWIGINLINE +#if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +#else +# define SWIGINLINE +#endif +#endif + +/* + You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for + creating a static or dynamic library from the swig runtime code. + In 99.9% of the cases, swig just needs to declare them as 'static'. + + But only do this if is strictly necessary, ie, if you have problems + with your compiler or so. +*/ +#ifndef SWIGRUNTIME +#define SWIGRUNTIME static +#endif +#ifndef SWIGRUNTIMEINLINE +#define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void *(*swig_converter_func)(void *); +typedef struct swig_type_info *(*swig_dycast_func)(void **); + +typedef struct swig_type_info { + const char *name; + swig_converter_func converter; + const char *str; + void *clientdata; + swig_dycast_func dcast; + struct swig_type_info *next; + struct swig_type_info *prev; +} swig_type_info; + +/* + Compare two type names skipping the space characters, therefore + "char*" == "char *" and "Class" == "Class", etc. + + Return 0 when the two name types are equivalent, as in + strncmp, but skipping ' '. +*/ +SWIGRUNTIME int +SWIG_TypeNameComp(const char *f1, const char *l1, + const char *f2, const char *l2) { + for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) { + while ((*f1 == ' ') && (f1 != l1)) ++f1; + while ((*f2 == ' ') && (f2 != l2)) ++f2; + if (*f1 != *f2) return *f1 - *f2; + } + return (l1 - f1) - (l2 - f2); +} + +/* + Check type equivalence in a name list like ||... +*/ +SWIGRUNTIME int +SWIG_TypeEquiv(const char *nb, const char *tb) { + int equiv = 0; + const char* te = tb + strlen(tb); + const char* ne = nb; + while (!equiv && *ne) { + for (nb = ne; *ne; ++ne) { + if (*ne == '|') break; + } + equiv = SWIG_TypeNameComp(nb, ne, tb, te) == 0; + if (*ne) ++ne; + } + return equiv; +} + +/* + Register a type mapping with the type-checking +*/ +SWIGRUNTIME swig_type_info * +SWIG_TypeRegisterTL(swig_type_info **tl, swig_type_info *ti) { + swig_type_info *tc, *head, *ret, *next; + /* Check to see if this type has already been registered */ + tc = *tl; + while (tc) { + /* check simple type equivalence */ + int typeequiv = (strcmp(tc->name, ti->name) == 0); + /* check full type equivalence, resolving typedefs */ + if (!typeequiv) { + /* only if tc is not a typedef (no '|' on it) */ + if (tc->str && ti->str && !strstr(tc->str,"|")) { + typeequiv = SWIG_TypeEquiv(ti->str,tc->str); + } + } + if (typeequiv) { + /* Already exists in the table. Just add additional types to the list */ + if (ti->clientdata) tc->clientdata = ti->clientdata; + head = tc; + next = tc->next; + goto l1; + } + tc = tc->prev; + } + head = ti; + next = 0; + + /* Place in list */ + ti->prev = *tl; + *tl = ti; + + /* Build linked lists */ + l1: + ret = head; + tc = ti + 1; + /* Patch up the rest of the links */ + while (tc->name) { + head->next = tc; + tc->prev = head; + head = tc; + tc++; + } + if (next) next->prev = head; + head->next = next; + + return ret; +} + +/* + Check the typename +*/ +SWIGRUNTIME swig_type_info * +SWIG_TypeCheck(const char *c, swig_type_info *ty) { + swig_type_info *s; + if (!ty) return 0; /* Void pointer */ + s = ty->next; /* First element always just a name */ + do { + if (strcmp(s->name,c) == 0) { + if (s == ty->next) return s; + /* Move s to the top of the linked list */ + s->prev->next = s->next; + if (s->next) { + s->next->prev = s->prev; + } + /* Insert s as second element in the list */ + s->next = ty->next; + if (ty->next) ty->next->prev = s; + ty->next = s; + s->prev = ty; + return s; + } + s = s->next; + } while (s && (s != ty->next)); + return 0; +} + +/* + Cast a pointer up an inheritance hierarchy +*/ +SWIGRUNTIMEINLINE void * +SWIG_TypeCast(swig_type_info *ty, void *ptr) { + return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr); +} + +/* + Dynamic pointer casting. Down an inheritance hierarchy +*/ +SWIGRUNTIME swig_type_info * +SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { + swig_type_info *lastty = ty; + if (!ty || !ty->dcast) return ty; + while (ty && (ty->dcast)) { + ty = (*ty->dcast)(ptr); + if (ty) lastty = ty; + } + return lastty; +} + +/* + Return the name associated with this type +*/ +SWIGRUNTIMEINLINE const char * +SWIG_TypeName(const swig_type_info *ty) { + return ty->name; +} + +/* + Return the pretty name associated with this type, + that is an unmangled type name in a form presentable to the user. +*/ +SWIGRUNTIME const char * +SWIG_TypePrettyName(const swig_type_info *type) { + /* The "str" field contains the equivalent pretty names of the + type, separated by vertical-bar characters. We choose + to print the last name, as it is often (?) the most + specific. */ + if (type->str != NULL) { + const char *last_name = type->str; + const char *s; + for (s = type->str; *s; s++) + if (*s == '|') last_name = s+1; + return last_name; + } + else + return type->name; +} + +/* + Search for a swig_type_info structure +*/ +SWIGRUNTIME swig_type_info * +SWIG_TypeQueryTL(swig_type_info *tl, const char *name) { + swig_type_info *ty = tl; + while (ty) { + if (ty->str && (SWIG_TypeEquiv(ty->str,name))) return ty; + if (ty->name && (strcmp(name,ty->name) == 0)) return ty; + ty = ty->prev; + } + return 0; +} + +/* + Set the clientdata field for a type +*/ +SWIGRUNTIME void +SWIG_TypeClientDataTL(swig_type_info *tl, swig_type_info *ti, void *clientdata) { + swig_type_info *tc, *equiv; + if (ti->clientdata) return; + /* if (ti->clientdata == clientdata) return; */ + ti->clientdata = clientdata; + equiv = ti->next; + while (equiv) { + if (!equiv->converter) { + tc = tl; + while (tc) { + if ((strcmp(tc->name, equiv->name) == 0)) + SWIG_TypeClientDataTL(tl,tc,clientdata); + tc = tc->prev; + } + } + equiv = equiv->next; + } +} + +/* + Pack binary data into a string +*/ +SWIGRUNTIME char * +SWIG_PackData(char *c, void *ptr, size_t sz) { + static char hex[17] = "0123456789abcdef"; + unsigned char *u = (unsigned char *) ptr; + const unsigned char *eu = u + sz; + register unsigned char uu; + for (; u != eu; ++u) { + uu = *u; + *(c++) = hex[(uu & 0xf0) >> 4]; + *(c++) = hex[uu & 0xf]; + } + return c; +} + +/* + Unpack binary data from a string +*/ +SWIGRUNTIME const char * +SWIG_UnpackData(const char *c, void *ptr, size_t sz) { + register unsigned char *u = (unsigned char *) ptr; + register const unsigned char *eu = u + sz; + for (; u != eu; ++u) { + register int d = *(c++); + register unsigned char uu = 0; + if ((d >= '0') && (d <= '9')) + uu = ((d - '0') << 4); + else if ((d >= 'a') && (d <= 'f')) + uu = ((d - ('a'-10)) << 4); + else + return (char *) 0; + d = *(c++); + if ((d >= '0') && (d <= '9')) + uu |= (d - '0'); + else if ((d >= 'a') && (d <= 'f')) + uu |= (d - ('a'-10)); + else + return (char *) 0; + *u = uu; + } + return c; +} + +/* + This function will propagate the clientdata field of type to any new + swig_type_info structures that have been added into the list of + equivalent types. It is like calling SWIG_TypeClientData(type, + clientdata) a second time. +*/ +SWIGRUNTIME void +SWIG_PropagateClientDataTL(swig_type_info *tl, swig_type_info *type) { + swig_type_info *equiv = type->next; + swig_type_info *tc; + if (!type->clientdata) return; + while (equiv) { + if (!equiv->converter) { + tc = tl; + while (tc) { + if ((strcmp(tc->name, equiv->name) == 0) && !tc->clientdata) + SWIG_TypeClientDataTL(tl,tc, type->clientdata); + tc = tc->prev; + } + } + equiv = equiv->next; + } +} + +/* + Pack 'void *' into a string buffer. +*/ +SWIGRUNTIME char * +SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) { + char *r = buff; + if ((2*sizeof(void *) + 2) > bsz) return 0; + *(r++) = '_'; + r = SWIG_PackData(r,&ptr,sizeof(void *)); + if (strlen(name) + 1 > (bsz - (r - buff))) return 0; + strcpy(r,name); + return buff; +} + +SWIGRUNTIME const char * +SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) { + if (*c != '_') { + if (strcmp(c,"NULL") == 0) { + *ptr = (void *) 0; + return name; + } else { + return 0; + } + } + return SWIG_UnpackData(++c,ptr,sizeof(void *)); +} + +SWIGRUNTIME char * +SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) { + char *r = buff; + size_t lname = (name ? strlen(name) : 0); + if ((2*sz + 2 + lname) > bsz) return 0; + *(r++) = '_'; + r = SWIG_PackData(r,ptr,sz); + if (lname) { + strncpy(r,name,lname+1); + } else { + *r = 0; + } + return buff; +} + +SWIGRUNTIME const char * +SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { + if (*c != '_') { + if (strcmp(c,"NULL") == 0) { + memset(ptr,0,sz); + return name; + } else { + return 0; + } + } + return SWIG_UnpackData(++c,ptr,sz); +} + +#ifdef __cplusplus +} +#endif + +/*********************************************************************** + * common.swg + * + * This file contains generic SWIG runtime support for pointer + * type checking as well as a few commonly used macros to control + * external linkage. + * + * Author : David Beazley (beazley@cs.uchicago.edu) + * + * Copyright (c) 1999-2000, The University of Chicago + * + * This file may be freely redistributed without license or fee provided + * this copyright message remains intact. + ************************************************************************/ + + +#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if !defined(STATIC_LINKED) +# define SWIGEXPORT(a) __declspec(dllexport) a +# else +# define SWIGEXPORT(a) a +# endif +#else +# define SWIGEXPORT(a) a +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + +/*************************************************************************/ + + +/* The static type info list */ + +static swig_type_info *swig_type_list = 0; +static swig_type_info **swig_type_list_handle = &swig_type_list; + + +/* Register a type mapping with the type-checking */ +static swig_type_info * +SWIG_TypeRegister(swig_type_info *ti) { + return SWIG_TypeRegisterTL(swig_type_list_handle, ti); +} + +/* Search for a swig_type_info structure */ +static swig_type_info * +SWIG_TypeQuery(const char *name) { + return SWIG_TypeQueryTL(*swig_type_list_handle, name); +} + +/* Set the clientdata field for a type */ +static void +SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { + SWIG_TypeClientDataTL(*swig_type_list_handle, ti, clientdata); +} + +/* This function will propagate the clientdata field of type to +* any new swig_type_info structures that have been added into the list +* of equivalent types. It is like calling +* SWIG_TypeClientData(type, clientdata) a second time. +*/ +static void +SWIG_PropagateClientData(swig_type_info *type) { + SWIG_PropagateClientDataTL(*swig_type_list_handle, type); +} + +#ifdef __cplusplus +} +#endif + +/* ---------------------------------------------------------------------- -*- c -*- + * perl5.swg + * + * Perl5 runtime library + * $Header: /cvsroot/swig/SWIG/Lib/perl5/perlrun.swg,v 1.20 2004/11/29 23:13:57 wuzzeb Exp $ + * ----------------------------------------------------------------------------- */ + +#define SWIGPERL +#define SWIGPERL5 +#ifdef __cplusplus +/* Needed on some windows machines---since MS plays funny games with the header files under C++ */ +#include +#include +extern "C" { +#endif +#include "EXTERN.h" +#include "perl.h" +#include "XSUB.h" + +/* Get rid of free and malloc defined by perl */ +#undef free +#undef malloc + +#ifndef pTHX_ +#define pTHX_ +#endif + +#include +#ifdef __cplusplus +} +#endif + +/* Macro to call an XS function */ + +#ifdef PERL_OBJECT +# define SWIG_CALLXS(_name) _name(cv,pPerl) +#else +# ifndef MULTIPLICITY +# define SWIG_CALLXS(_name) _name(cv) +# else +# define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv) +# endif +#endif + +/* Contract support */ + +#define SWIG_contract_assert(expr,msg) if (!(expr)) { SWIG_croak(msg); } else + +/* Note: SwigMagicFuncHack is a typedef used to get the C++ compiler to just shut up already */ + +#ifdef PERL_OBJECT +#define MAGIC_PPERL CPerlObj *pPerl = (CPerlObj *) this; +typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *); + +#ifdef __cplusplus +extern "C" { +#endif +typedef int (CPerlObj::*SwigMagicFuncHack)(SV *, MAGIC *); +#ifdef __cplusplus +} +#endif + +#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b) +#define SWIGCLASS_STATIC +#else +#define MAGIC_PPERL +#define SWIGCLASS_STATIC static +#ifndef MULTIPLICITY +#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b) +typedef int (*SwigMagicFunc)(SV *, MAGIC *); + +#ifdef __cplusplus +extern "C" { +#endif +typedef int (*SwigMagicFuncHack)(SV *, MAGIC *); +#ifdef __cplusplus +} +#endif + + +#else +#define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b) +typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *); +#ifdef __cplusplus +extern "C" { +#endif +typedef int (*SwigMagicFuncHack)(struct interpreter *, SV *, MAGIC *); +#ifdef __cplusplus +} +#endif + +#endif +#endif + +#if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE) +#define PerlIO_exportFILE(fh,fl) (FILE*)(fh) +#endif + +/* Modifications for newer Perl 5.005 releases */ + +#if !defined(PERL_REVISION) || ((PERL_REVISION >= 5) && ((PERL_VERSION < 5) || ((PERL_VERSION == 5) && (PERL_SUBVERSION < 50)))) +# ifndef PL_sv_yes +# define PL_sv_yes sv_yes +# endif +# ifndef PL_sv_undef +# define PL_sv_undef sv_undef +# endif +# ifndef PL_na +# define PL_na na +# endif +#endif + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define SWIG_OWNER 1 +#define SWIG_SHADOW 2 + +/* Common SWIG API */ + +#ifdef PERL_OBJECT +# define SWIG_ConvertPtr(obj, pp, type, flags) \ + SWIG_Perl_ConvertPtr(pPerl, obj, pp, type, flags) +# define SWIG_NewPointerObj(p, type, flags) \ + SWIG_Perl_NewPointerObj(pPerl, p, type, flags) +# define SWIG_MakePackedObj(sv, p, s, type) \ + SWIG_Perl_MakePackedObj(pPerl, sv, p, s, type) +# define SWIG_ConvertPacked(obj, p, s, type, flags) \ + SWIG_Perl_ConvertPacked(pPerl, obj, p, s, type, flags) + +#else +# define SWIG_ConvertPtr(obj, pp, type, flags) \ + SWIG_Perl_ConvertPtr(obj, pp, type, flags) +# define SWIG_NewPointerObj(p, type, flags) \ + SWIG_Perl_NewPointerObj(p, type, flags) +# define SWIG_MakePackedObj(sv, p, s, type) \ + SWIG_Perl_MakePackedObj(sv, p, s, type ) +# define SWIG_ConvertPacked(obj, p, s, type, flags) \ + SWIG_Perl_ConvertPacked(obj, p, s, type, flags) +#endif + +/* Perl-specific API */ +#ifdef PERL_OBJECT +# define SWIG_MakePtr(sv, ptr, type, flags) \ + SWIG_Perl_MakePtr(pPerl, sv, ptr, type, flags) +# define SWIG_SetError(str) \ + SWIG_Perl_SetError(pPerl, str) +#else +# define SWIG_MakePtr(sv, ptr, type, flags) \ + SWIG_Perl_MakePtr(sv, ptr, type, flags) +# define SWIG_SetError(str) \ + SWIG_Perl_SetError(str) +# define SWIG_SetErrorSV(str) \ + SWIG_Perl_SetErrorSV(str) +#endif + +#define SWIG_SetErrorf SWIG_Perl_SetErrorf + + +#ifdef PERL_OBJECT +# define SWIG_MAYBE_PERL_OBJECT CPerlObj *pPerl, +#else +# define SWIG_MAYBE_PERL_OBJECT +#endif + +static swig_type_info ** +SWIG_Perl_GetTypeListHandle() { + static void *type_pointer = (void *)0; + SV *pointer; + + /* first check if pointer already created */ + if (!type_pointer) { + pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE); + if (pointer && SvOK(pointer)) { + type_pointer = INT2PTR(swig_type_info **, SvIV(pointer)); + } + } + + return (swig_type_info **) type_pointer; +} + +/* + Search for a swig_type_info structure + */ +SWIGRUNTIMEINLINE swig_type_info * +SWIG_Perl_GetTypeList() { + swig_type_info **tlh = SWIG_Perl_GetTypeListHandle(); + return tlh ? *tlh : (swig_type_info*)0; +} + +#define SWIG_Runtime_GetTypeList SWIG_Perl_GetTypeList + +static swig_type_info * +SWIG_Perl_TypeCheckRV(SWIG_MAYBE_PERL_OBJECT SV *rv, swig_type_info *ty) { + swig_type_info *s; + if (!ty) return 0; /* Void pointer */ + s = ty->next; /* First element always just a name */ + do { + if (sv_derived_from(rv, (char *) s->name)) { + if (s == ty->next) return s; + /* Move s to the top of the linked list */ + s->prev->next = s->next; + if (s->next) { + s->next->prev = s->prev; + } + /* Insert s as second element in the list */ + s->next = ty->next; + if (ty->next) ty->next->prev = s; + ty->next = s; + s->prev = ty; + return s; + } + s = s->next; + } while (s && (s != ty->next)); + return 0; +} + +/* Function for getting a pointer value */ + +static int +SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags) { + swig_type_info *tc; + void *voidptr = (void *)0; + + /* If magical, apply more magic */ + if (SvGMAGICAL(sv)) + mg_get(sv); + + /* Check to see if this is an object */ + if (sv_isobject(sv)) { + SV *tsv = (SV*) SvRV(sv); + IV tmp = 0; + if ((SvTYPE(tsv) == SVt_PVHV)) { + MAGIC *mg; + if (SvMAGICAL(tsv)) { + mg = mg_find(tsv,'P'); + if (mg) { + sv = mg->mg_obj; + if (sv_isobject(sv)) { + tmp = SvIV((SV*)SvRV(sv)); + } + } + } else { + return -1; + } + } else { + tmp = SvIV((SV*)SvRV(sv)); + } + voidptr = (void *)tmp; + if (!_t) { + *(ptr) = voidptr; + return 0; + } + } else if (! SvOK(sv)) { /* Check for undef */ + *(ptr) = (void *) 0; + return 0; + } else if (SvTYPE(sv) == SVt_RV) { /* Check for NULL pointer */ + *(ptr) = (void *) 0; + if (!SvROK(sv)) + return 0; + else + return -1; + } else { /* Don't know what it is */ + *(ptr) = (void *) 0; + return -1; + } + if (_t) { + /* Now see if the types match */ + char *_c = HvNAME(SvSTASH(SvRV(sv))); + tc = SWIG_TypeCheck(_c,_t); + if (!tc) { + *ptr = voidptr; + return -1; + } + *ptr = SWIG_TypeCast(tc,voidptr); + return 0; + } + *ptr = voidptr; + return 0; +} + +static void +SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, int flags) { + if (ptr && (flags & SWIG_SHADOW)) { + SV *self; + SV *obj=newSV(0); + HV *hash=newHV(); + HV *stash; + sv_setref_pv(obj, (char *) t->name, ptr); + stash=SvSTASH(SvRV(obj)); + if (flags & SWIG_OWNER) { + HV *hv; + GV *gv=*(GV**)hv_fetch(stash, "OWNER", 5, TRUE); + if (!isGV(gv)) + gv_init(gv, stash, "OWNER", 5, FALSE); + hv=GvHVn(gv); + hv_store_ent(hv, obj, newSViv(1), 0); + } + sv_magic((SV *)hash, (SV *)obj, 'P', Nullch, 0); + SvREFCNT_dec(obj); + self=newRV_noinc((SV *)hash); + sv_setsv(sv, self); + SvREFCNT_dec((SV *)self); + sv_bless(sv, stash); + } + else { + sv_setref_pv(sv, (char *) t->name, ptr); + } +} + +static SWIGINLINE SV * +SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *ptr, swig_type_info *t, int flags) { + SV *result = sv_newmortal(); + SWIG_MakePtr(result, ptr, t, flags); + return result; +} + +static void + SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) { + char result[1024]; + char *r = result; + if ((2*sz + 1 + strlen(type->name)) > 1000) return; + *(r++) = '_'; + r = SWIG_PackData(r,ptr,sz); + strcpy(r,type->name); + sv_setpv(sv, result); +} + +/* Convert a packed value value */ +static int +SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty, int flags) { + swig_type_info *tc; + const char *c = 0; + + if ((!obj) || (!SvOK(obj))) return -1; + c = SvPV(obj, PL_na); + /* Pointer values must start with leading underscore */ + if (*c != '_') return -1; + c++; + c = SWIG_UnpackData(c,ptr,sz); + if (ty) { + tc = SWIG_TypeCheck(c,ty); + if (!tc) return -1; + } + return 0; +} + +static SWIGINLINE void +SWIG_Perl_SetError(SWIG_MAYBE_PERL_OBJECT const char *error) { + if (error) sv_setpv(perl_get_sv("@", TRUE), error); +} + +static SWIGINLINE void +SWIG_Perl_SetErrorSV(SWIG_MAYBE_PERL_OBJECT SV *error) { + if (error) sv_setsv(perl_get_sv("@", TRUE), error); +} + +static void +SWIG_Perl_SetErrorf(const char *fmt, ...) { + va_list args; + va_start(args, fmt); + sv_vsetpvfn(perl_get_sv("@", TRUE), fmt, strlen(fmt), &args, Null(SV**), 0, Null(bool*)); + va_end(args); +} + +/* Macros for low-level exception handling */ +#define SWIG_fail goto fail +#define SWIG_croak(x) { SWIG_SetError(x); goto fail; } +#define SWIG_croakSV(x) { SWIG_SetErrorSV(x); goto fail; } +/* most preprocessors do not support vararg macros :-( */ +/* #define SWIG_croakf(x...) { SWIG_SetErrorf(x); goto fail; } */ + + +typedef XS(SwigPerlWrapper); +typedef SwigPerlWrapper *SwigPerlWrapperPtr; + +/* Structure for command table */ +typedef struct { + const char *name; + SwigPerlWrapperPtr wrapper; +} swig_command_info; + +/* Information for constant table */ + +#define SWIG_INT 1 +#define SWIG_FLOAT 2 +#define SWIG_STRING 3 +#define SWIG_POINTER 4 +#define SWIG_BINARY 5 + +/* Constant information structure */ +typedef struct swig_constant_info { + int type; + const char *name; + long lvalue; + double dvalue; + void *pvalue; + swig_type_info **ptype; +} swig_constant_info; + +#ifdef __cplusplus +} +#endif + +/* Structure for variable table */ +typedef struct { + const char *name; + SwigMagicFunc set; + SwigMagicFunc get; + swig_type_info **type; +} swig_variable_info; + +/* Magic variable code */ +#ifndef PERL_OBJECT +#define swig_create_magic(s,a,b,c) _swig_create_magic(s,a,b,c) + #ifndef MULTIPLICITY + static void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *)) { + #else + static void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *)) { + #endif +#else +# define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c) +static void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *)) { +#endif + MAGIC *mg; + sv_magic(sv,sv,'U',(char *) name,strlen(name)); + mg = mg_find(sv,'U'); + mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL)); + mg->mg_virtual->svt_get = (SwigMagicFuncHack) get; + mg->mg_virtual->svt_set = (SwigMagicFuncHack) set; + mg->mg_virtual->svt_len = 0; + mg->mg_virtual->svt_clear = 0; + mg->mg_virtual->svt_free = 0; +} + + + + + + +#ifdef do_open + #undef do_open +#endif +#ifdef do_close + #undef do_close +#endif +#ifdef scalar + #undef scalar +#endif +#ifdef list + #undef list +#endif +#ifdef apply + #undef apply +#endif +#ifdef convert + #undef convert +#endif +#ifdef Error + #undef Error +#endif +#ifdef form + #undef form +#endif +#ifdef vform + #undef vform +#endif +#ifdef LABEL + #undef LABEL +#endif +#ifdef METHOD + #undef METHOD +#endif +#ifdef Move + #undef Move +#endif +#ifdef yylex + #undef yylex +#endif +#ifdef yyparse + #undef yyparse +#endif +#ifdef yyerror + #undef yyerror +#endif +#ifdef invert + #undef invert +#endif +#ifdef ref + #undef ref +#endif +#ifdef ENTER + #undef ENTER +#endif + + +/* -------- TYPES TABLE (BEGIN) -------- */ + +#define SWIGTYPE_p_SOLUTION swig_types[0] +#define SWIGTYPE_p_intArray swig_types[1] +#define SWIGTYPE_p_double swig_types[2] +#define SWIGTYPE_p_bond swig_types[3] +#define SWIGTYPE_p_plist swig_types[4] +#define SWIGTYPE_p_cpair swig_types[5] +#define SWIGTYPE_p_swString swig_types[6] +#define SWIGTYPE_p_float swig_types[7] +#define SWIGTYPE_p_void swig_types[8] +#define SWIGTYPE_p_floatArray swig_types[9] +#define SWIGTYPE_p_doubleArray swig_types[10] +#define SWIGTYPE_p_p_void swig_types[11] +#define SWIGTYPE_p_short swig_types[12] +#define SWIGTYPE_p_p_char swig_types[13] +#define SWIGTYPE_p_char swig_types[14] +#define SWIGTYPE_p_unsigned_short swig_types[15] +#define SWIGTYPE_p_paramT swig_types[16] +#define SWIGTYPE_p_Tree swig_types[17] +#define SWIGTYPE_p_FILE swig_types[18] +#define SWIGTYPE_p_int swig_types[19] +static swig_type_info *swig_types[21]; + +/* -------- TYPES TABLE (END) -------- */ + +#define SWIG_init boot_RNA + +#define SWIG_name "RNAc::boot_RNA" +#define SWIG_prefix "RNAc::" + +#ifdef __cplusplus +extern "C" +#endif +#ifndef PERL_OBJECT +#ifndef MULTIPLICITY +SWIGEXPORT(void) SWIG_init (CV* cv); +#else +SWIGEXPORT(void) SWIG_init (pTHXo_ CV* cv); +#endif +#else +SWIGEXPORT(void) SWIG_init (CV *cv, CPerlObj *); +#endif + + +#include "../H/utils.h" +#include "../H/fold_vars.h" +#undef fold +#include "../H/fold.h" +#include "../H/cofold.h" +#include "../H/part_func.h" +#include "../H/PS_dot.h" +#include "../H/inverse.h" +#include "../H/RNAstruct.h" +#include "../H/treedist.h" +#include "../H/stringdist.h" +#include "../H/profiledist.h" +#include "../H/dist_vars.h" +#include "../H/pair_mat.h" +#include "../H/subopt.h" +#include "../H/energy_const.h" +#include "../H/params.h" + + +static int *new_intP(int nelements) { + return (int *) calloc(nelements,sizeof(int)); +} + +static void delete_intP(int *ary) { + free(ary); +} + +static int intP_getitem(int *ary, int index) { + return ary[index]; +} +static void intP_setitem(int *ary, int index, int value) { + ary[index] = value; +} + + +typedef int intArray; + +static intArray *new_intArray(int nelements){ + return (int *) calloc(nelements,sizeof(int)); +} +static void delete_intArray(intArray *self){ + free(self); +} +static int intArray_getitem(intArray *self,int index){ + return self[index]; +} +static void intArray_setitem(intArray *self,int index,int value){ + self[index] = value; +} +static int *intArray_cast(intArray *self){ + return self; +} +static intArray *intArray_frompointer(int *t){ + return (intArray *) t; +} + +static float *new_floatP(int nelements) { + return (float *) calloc(nelements,sizeof(float)); +} + +static void delete_floatP(float *ary) { + free(ary); +} + +static float floatP_getitem(float *ary, int index) { + return ary[index]; +} +static void floatP_setitem(float *ary, int index, float value) { + ary[index] = value; +} + + +typedef float floatArray; + +static floatArray *new_floatArray(int nelements){ + return (float *) calloc(nelements,sizeof(float)); +} +static void delete_floatArray(floatArray *self){ + free(self); +} +static float floatArray_getitem(floatArray *self,int index){ + return self[index]; +} +static void floatArray_setitem(floatArray *self,int index,float value){ + self[index] = value; +} +static float *floatArray_cast(floatArray *self){ + return self; +} +static floatArray *floatArray_frompointer(float *t){ + return (floatArray *) t; +} + +static double *new_doubleP(int nelements) { + return (double *) calloc(nelements,sizeof(double)); +} + +static void delete_doubleP(double *ary) { + free(ary); +} + +static double doubleP_getitem(double *ary, int index) { + return ary[index]; +} +static void doubleP_setitem(double *ary, int index, double value) { + ary[index] = value; +} + + +typedef double doubleArray; + +static doubleArray *new_doubleArray(int nelements){ + return (double *) calloc(nelements,sizeof(double)); +} +static void delete_doubleArray(doubleArray *self){ + free(self); +} +static double doubleArray_getitem(doubleArray *self,int index){ + return self[index]; +} +static void doubleArray_setitem(doubleArray *self,int index,double value){ + self[index] = value; +} +static double *doubleArray_cast(doubleArray *self){ + return self; +} +static doubleArray *doubleArray_frompointer(double *t){ + return (doubleArray *) t; +} + +static short *new_shortP(int nelements) { + return (short *) calloc(nelements,sizeof(short)); +} + +static void delete_shortP(short *ary) { + free(ary); +} + +static short shortP_getitem(short *ary, int index) { + return ary[index]; +} +static void shortP_setitem(short *ary, int index, short value) { + ary[index] = value; +} + + +typedef struct SWIGCDATA { + char *data; + int len; +} SWIGCDATA; + + + +static SWIGCDATA cdata_void(void *ptr, int nelements) { + + + + SWIGCDATA d; + d.data = (char *) ptr; + + + + d.len = nelements; + + return d; +} + + + char *my_fold(char *string, char *constraints, float *energy) { + char *struc; + float en; + struc = calloc(strlen(string)+1,sizeof(char)); + if (constraints && fold_constrained) + strncpy(struc, constraints, strlen(string)); + *energy = fold(string, struc); + if (constraints) + strncpy(constraints, struc, strlen(constraints)); + return(struc); + } + +float energy_of_struct(char const *,char const *); +void free_arrays(void); +void initialize_fold(int); +void update_fold_params(void); + + char *my_cofold(char *string, char *constraints, float *energy) { + char *struc; + float en; + struc = calloc(strlen(string)+1,sizeof(char)); + if (constraints && fold_constrained) + strncpy(struc, constraints, strlen(string)); + *energy = cofold(string, struc); + if (constraints) + strncpy(constraints, struc, strlen(constraints)); + return(struc); + } + +void free_co_arrays(void); +void initialize_cofold(int); +void update_cofold_params(void); + + char *my_pf_fold(char *string, char *constraints, float *energy) { + char *struc; + float en; + struc = calloc(strlen(string)+1,sizeof(char)); + if (constraints && fold_constrained) + strncpy(struc, constraints, strlen(string)); + *energy = pf_fold(string, struc); + if (constraints) + strncpy(constraints, struc, strlen(constraints)); + return(struc); + } + +void init_pf_fold(int); +void free_pf_arrays(void); +void update_pf_params(int); +char bppm_symbol(float const *); +double mean_bp_dist(int); +char *pbacktrack(char *); + + char *my_inverse_fold(char *start, const char *target, float *cost) { + char *seq; + int n; + n = strlen(target); + seq = random_string(n, symbolset); + if (start) + strncpy(seq, start, strlen(start)); + *cost = inverse_fold(seq, target); + if (start) + /* for backward compatibility modify start */ + strncpy(start, seq, strlen(start)); + return(seq); + } + + + char *my_inverse_pf_fold(char *start, const char *target, float *cost) { + char *seq; + int n; + n = strlen(target); + seq = random_string(n, symbolset); + if (start) strncpy(seq, start, n); + *cost = inverse_pf_fold(seq, target); + if (start) + /* for backward compatibility modify start */ + strncpy(start, seq, strlen(start)); + return(seq); + } + +extern char *symbolset; +extern float final_cost; +extern int give_up; +extern int noGU; +extern int no_closingGU; +extern int tetra_loop; +extern int energy_set; +extern int dangles; +extern char *nonstandards; +extern double temperature; +extern int james_rule; +extern int logML; +extern int cut_point; +static bondT *bondT_get(bondT *self,int i){ + return self+i; + } +extern bondT *base_pair; +extern double *pr; +extern int *iindx; +extern double pf_scale; +extern int fold_constrained; +extern int do_backtrack; +extern int noLonelyPairs; +extern char backtrack_type; +static SOLUTION *SOLUTION_get(SOLUTION *self,int i){ +// static int size=-1; +// if (size<0) { +// SOLUTION *s; +// for (s=self; s->structure; s++); +// size= (int) (s-self); +// } +// if (i>=size) { +// warn("value out of range"); +// return NULL; +// } + return self+i; + } +static int SOLUTION_size(SOLUTION *self){ + SOLUTION *s; + for (s=self; s->structure; s++); + return (int)(s-self); + } +static void delete_SOLUTION(SOLUTION *self){ + SOLUTION *s; + for (s=self; s->structure; s++) free(s->structure); + free(self); + } +SOLUTION *subopt(char *,char *,int,FILE *); +extern int subopt_sorted; + +double get_pr(int i, int j) { + int ii; + if (i>j) {ii=i; i=j; j=ii;} + return pr[iindx[i]-j]; +} + +Tree *make_tree(char *); +float tree_edit_distance(Tree *,Tree *); +void print_tree(Tree *); +void free_tree(Tree *); +swString *Make_swString(char *); +float string_edit_distance(swString *,swString *); +float *Make_bp_profile(int); +float profile_edit_distance(float const *,float const *); +void print_bppm(float const *); +void free_profile(float *); +void *space(unsigned int); +void *xrealloc(void *,unsigned int); +void nrerror(char const []); +void init_rand(void); +extern unsigned short xsubi[3]; +double urn(void); +int int_urn(int,int); +void filecopy(FILE *,FILE *); +char *time_stamp(void); +char *random_string(int,char const []); +int hamming(char const *,char const *); +char *get_line(FILE const *); +char *pack_structure(char const *); +char *unpack_structure(char const *); +short *make_pair_table(char const *); +int bp_distance(char const *,char const *); +void read_parameter_file(char *); +void write_parameter_file(char *); + +void *deref_any(void **ptr, int index) { + /* dereference arbitray pointer */ + return (void *) ptr[index]; +} + +paramT *scale_parameters(void); +paramT *copy_parameters(void); +paramT *set_parameters(paramT *); + +char *get_aligned_line(int i) { + i = i % 2; + return aligned_line[i]; +} + + + short *make_loop_index(const char *structure) { + /* number each position by which loop it belongs to (positions start at 0) */ + int i,j,hx,l,nl; + int length; + short *stack; + short *loop; + length = strlen(structure); + stack = (short *) space(sizeof(short)*(length+1)); + loop = (short *) space(sizeof(short)*(length+2)); + hx=l=nl=0; + for (i=0; i0) + l = loop[stack[hx-1]]; /* index of enclosing loop */ + else l=0; /* external loop has index 0 */ + if (hx<0) { + fprintf(stderr, "%s\n", structure); + nrerror("unbalanced brackets in make_pair_table"); + } + } + } + free(stack); + return loop; + } + + +float energy_of_move(const char *string, char *structure, int mi, int mj) { + extern int energy_of_struct_pt(const char *string, short * ptable, + short *s, short *s1); +#define ILLEGAL 999.; + int i,j,hx,l,nl; + int length; + short *stack, *table, *loop; + short *S, *S1; + int energy; + + if (mj<0) { + if ((structure[-mi]!='(') || (structure[-mj]!=')')) + return 1001; /* illegal delete pair */ + } else + if ((structure[mi]!='.') || (structure[mj]!='.')) + return 1002; /* illegal add pair */ + + /* make the pair table and loop index l*/ + length = strlen(structure); + stack = (short *) space(sizeof(short)*(length+1)); + loop = (short *) space(sizeof(short)*(length+2)); + table = (short *) space(sizeof(short)*(length+2)); + table[0] = length; + hx=l=nl=0; + for (i=1; i<=length; i++) { + if (structure[i-1] == '(') { + nl++; l=nl; + stack[hx++]=i; + } + loop[i]=l; + if (structure[i-1] ==')') { + j=stack[--hx]; + if (hx>0) + l = loop[stack[hx-1]]; /* index of enclosing loop */ + else l=0; /* external loop has index 0 */ + if (hx<0) { + fprintf(stderr, "%s\n", structure); + nrerror("unbalanced brackets in energy_of_move"); + } + table[i]=j; + table[j]=i; + } + } + if (hx!=0) { + fprintf(stderr, "%s\n", structure); + nrerror("unbalanced brackets in energy_of_move"); + } + + if (loop[abs(mi)+1] != loop[abs(mj)+1]) { /* not in same loop => illegal */ + free(stack); + free(loop); + free(table); + return 1003.; + } + + /* if we get here the move is legal */ + if (mj<0) { /* delete pair */ + structure[-mi] = '.'; + structure[-mj] = '.'; + table[-mi+1] = table[-mj+1] = 0; + } else { /* insert pair */ + structure[mi] = '('; + structure[mj] = ')'; + table[mi+1] = mj+1; + table[mj+1] = mi+1; + } + + S = (short *) space(sizeof(short)*(length+1)); + S[0] = length; + for (i=1; i<=length; i++) { + char *pos; + pos = strchr(Law_and_Order, string[i-1]); + if (pos==NULL) S[i]=0; + else S[i] = pos-Law_and_Order; + } + + energy = energy_of_struct_pt(string, table, S, S); + + free(S); + free(stack); + free(loop); + free(table); + return (float) energy/100.; +} + +int PS_rna_plot(char *,char *,char *); +int PS_rna_plot_a(char *,char *,char *,char *,char *); +int gmlRNA(char *,char *,char *,char); +int ssv_rna_plot(char *,char *,char *); +int svg_rna_plot(char *,char *,char *); +int xrna_plot(char *,char *,char *); +int PS_dot_plot(char *,char *); +extern int rna_plot_type; +int PS_color_dot_plot(char *,cpair *,char *); +int PS_dot_plot_list(char *,char *,struct plist *,struct plist *,char *); +#ifdef PERL_OBJECT +#define MAGIC_CLASS _wrap_RNA_var:: +class _wrap_RNA_var : public CPerlObj { +public: +#else +#define MAGIC_CLASS +#endif +SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + sv = sv; mg = mg; + croak("Value is read-only."); + return 0; +} +SWIGCLASS_STATIC int _wrap_set_symbolset(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + { + char *_a = (char *) SvPV(sv,PL_na); + if (symbolset) free((char *) symbolset); + symbolset = (char *) malloc(strlen(_a)+1); + strcpy((char *)symbolset,_a); + } + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_symbolset(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + if (symbolset) { + sv_setpv((SV*)sv, (char *) symbolset); + } else { + sv_setsv((SV*)sv, &PL_sv_undef); + } + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_final_cost(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + final_cost = (float) SvNV(sv); + + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_final_cost(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setnv(sv, (double) final_cost); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_give_up(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + give_up = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_give_up(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) give_up); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_noGU(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + noGU = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_noGU(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) noGU); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_no_closingGU(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + no_closingGU = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_no_closingGU(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) no_closingGU); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_tetra_loop(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + tetra_loop = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_tetra_loop(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) tetra_loop); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_energy_set(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + energy_set = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_energy_set(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) energy_set); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_dangles(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + dangles = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_dangles(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) dangles); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_nonstandards(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + { + char *_a = (char *) SvPV(sv,PL_na); + if (nonstandards) free((char *) nonstandards); + nonstandards = (char *) malloc(strlen(_a)+1); + strcpy((char *)nonstandards,_a); + } + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_nonstandards(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + if (nonstandards) { + sv_setpv((SV*)sv, (char *) nonstandards); + } else { + sv_setsv((SV*)sv, &PL_sv_undef); + } + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_temperature(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + temperature = (double) SvNV(sv); + + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_temperature(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setnv(sv, (double) temperature); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_james_rule(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + james_rule = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_james_rule(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) james_rule); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_logML(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + logML = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_logML(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) logML); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_cut_point(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + cut_point = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_cut_point(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) cut_point); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_base_pair(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + { + void *temp; + if (SWIG_ConvertPtr(sv, (void **) &base_pair, SWIGTYPE_p_bond,0) < 0) { + croak("Type error in argument $argnum of base_pair. Expected _p_bond"); + } + base_pair = (bondT *) temp; + } + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_base_pair(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(SvRV(sv),(IV) base_pair); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_pr(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + { + void *temp; + if (SWIG_ConvertPtr(sv, (void **) &pr, SWIGTYPE_p_double,0) < 0) { + croak("Type error in argument $argnum of pr. Expected _p_double"); + } + pr = (double *) temp; + } + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_pr(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(SvRV(sv),(IV) pr); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_iindx(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + { + void *temp; + if (SWIG_ConvertPtr(sv, (void **) &iindx, SWIGTYPE_p_int,0) < 0) { + croak("Type error in argument $argnum of iindx. Expected _p_int"); + } + iindx = (int *) temp; + } + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_iindx(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(SvRV(sv),(IV) iindx); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_pf_scale(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + pf_scale = (double) SvNV(sv); + + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_pf_scale(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setnv(sv, (double) pf_scale); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_fold_constrained(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + fold_constrained = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_fold_constrained(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) fold_constrained); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_do_backtrack(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + do_backtrack = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_do_backtrack(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) do_backtrack); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_noLonelyPairs(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + noLonelyPairs = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_noLonelyPairs(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) noLonelyPairs); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_backtrack_type(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + backtrack_type = (char) *SvPV(sv,PL_na); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_backtrack_type(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setpvn((SV *) sv, &backtrack_type, 1); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_subopt_sorted(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + subopt_sorted = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_subopt_sorted(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) subopt_sorted); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_loop_size(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + { + int i; + int *temp; + int *b = (int *) loop_size; + if (SWIG_ConvertPtr(sv, (void **) &temp, SWIGTYPE_p_int,0) < 0) { + croak("Type error in argument $argnum of loop_size. Expected _p_int"); + } + for (i = 0; i < 1000; i++) b[i] = temp[i]; + } + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_loop_size(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(SvRV(sv),(IV) loop_size); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_helix_size(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + { + int i; + int *temp; + int *b = (int *) helix_size; + if (SWIG_ConvertPtr(sv, (void **) &temp, SWIGTYPE_p_int,0) < 0) { + croak("Type error in argument $argnum of helix_size. Expected _p_int"); + } + for (i = 0; i < 1000; i++) b[i] = temp[i]; + } + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_helix_size(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(SvRV(sv),(IV) helix_size); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_loop_degree(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + { + int i; + int *temp; + int *b = (int *) loop_degree; + if (SWIG_ConvertPtr(sv, (void **) &temp, SWIGTYPE_p_int,0) < 0) { + croak("Type error in argument $argnum of loop_degree. Expected _p_int"); + } + for (i = 0; i < 1000; i++) b[i] = temp[i]; + } + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_loop_degree(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(SvRV(sv),(IV) loop_degree); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_loops(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + loops = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_loops(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) loops); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_unpaired(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + unpaired = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_unpaired(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) unpaired); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_pairs(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + pairs = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_pairs(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) pairs); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_edit_backtrack(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + edit_backtrack = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_edit_backtrack(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) edit_backtrack); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_aligned_line(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + { + int i; + char * *temp; + char * *b = (char * *) aligned_line; + if (SWIG_ConvertPtr(sv, (void **) &temp, SWIGTYPE_p_p_char,0) < 0) { + croak("Type error in argument $argnum of aligned_line. Expected _p_p_char"); + } + for (i = 0; i < 2; i++) b[i] = temp[i]; + } + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_aligned_line(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(SvRV(sv),(IV) aligned_line); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_cost_matrix(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + cost_matrix = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_cost_matrix(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) cost_matrix); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_xsubi(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + { + int i; + unsigned short *temp; + unsigned short *b = (unsigned short *) xsubi; + if (SWIG_ConvertPtr(sv, (void **) &temp, SWIGTYPE_p_unsigned_short,0) < 0) { + croak("Type error in argument $argnum of xsubi. Expected _p_unsigned_short"); + } + for (i = 0; i < 3; i++) b[i] = temp[i]; + } + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_xsubi(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(SvRV(sv),(IV) xsubi); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_set_rna_plot_type(pTHX_ SV* sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + rna_plot_type = (int) SvIV(sv); + return 1; +} + + +SWIGCLASS_STATIC int _wrap_val_rna_plot_type(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + mg = mg; + sv_setiv(sv, (IV) rna_plot_type); + return 1; +} + + + + +#ifdef PERL_OBJECT +}; +#endif + +#ifdef __cplusplus +extern "C" { +#endif +XS(_wrap_new_intP) { + { + int arg1 ; + int *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: new_intP(nelements);"); + } + arg1 = (int) SvIV(ST(0)); + result = (int *)new_intP(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_int, 0|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_delete_intP) { + { + int *arg1 = (int *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: delete_intP(ary);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_int,0) < 0) { + SWIG_croak("Type error in argument 1 of delete_intP. Expected _p_int"); + } + } + delete_intP(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_intP_getitem) { + { + int *arg1 = (int *) 0 ; + int arg2 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: intP_getitem(ary,index);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_int,0) < 0) { + SWIG_croak("Type error in argument 1 of intP_getitem. Expected _p_int"); + } + } + arg2 = (int) SvIV(ST(1)); + result = (int)intP_getitem(arg1,arg2); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_intP_setitem) { + { + int *arg1 = (int *) 0 ; + int arg2 ; + int arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: intP_setitem(ary,index,value);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_int,0) < 0) { + SWIG_croak("Type error in argument 1 of intP_setitem. Expected _p_int"); + } + } + arg2 = (int) SvIV(ST(1)); + arg3 = (int) SvIV(ST(2)); + intP_setitem(arg1,arg2,arg3); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_new_intArray) { + { + int arg1 ; + intArray *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: new_intArray(nelements);"); + } + arg1 = (int) SvIV(ST(0)); + result = (intArray *)new_intArray(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_intArray, SWIG_SHADOW|SWIG_OWNER); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_delete_intArray) { + { + intArray *arg1 = (intArray *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: delete_intArray(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_intArray,0) < 0) { + SWIG_croak("Type error in argument 1 of delete_intArray. Expected _p_intArray"); + } + } + delete_intArray(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_intArray_getitem) { + { + intArray *arg1 = (intArray *) 0 ; + int arg2 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: intArray_getitem(self,index);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_intArray,0) < 0) { + SWIG_croak("Type error in argument 1 of intArray_getitem. Expected _p_intArray"); + } + } + arg2 = (int) SvIV(ST(1)); + result = (int)intArray_getitem(arg1,arg2); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_intArray_setitem) { + { + intArray *arg1 = (intArray *) 0 ; + int arg2 ; + int arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: intArray_setitem(self,index,value);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_intArray,0) < 0) { + SWIG_croak("Type error in argument 1 of intArray_setitem. Expected _p_intArray"); + } + } + arg2 = (int) SvIV(ST(1)); + arg3 = (int) SvIV(ST(2)); + intArray_setitem(arg1,arg2,arg3); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_intArray_cast) { + { + intArray *arg1 = (intArray *) 0 ; + int *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: intArray_cast(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_intArray,0) < 0) { + SWIG_croak("Type error in argument 1 of intArray_cast. Expected _p_intArray"); + } + } + result = (int *)intArray_cast(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_int, 0|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_intArray_frompointer) { + { + int *arg1 = (int *) 0 ; + intArray *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: intArray_frompointer(t);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_int,0) < 0) { + SWIG_croak("Type error in argument 1 of intArray_frompointer. Expected _p_int"); + } + } + result = (intArray *)intArray_frompointer(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_intArray, SWIG_SHADOW|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_new_floatP) { + { + int arg1 ; + float *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: new_floatP(nelements);"); + } + arg1 = (int) SvIV(ST(0)); + result = (float *)new_floatP(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_float, 0|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_delete_floatP) { + { + float *arg1 = (float *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: delete_floatP(ary);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_float,0) < 0) { + SWIG_croak("Type error in argument 1 of delete_floatP. Expected _p_float"); + } + } + delete_floatP(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_floatP_getitem) { + { + float *arg1 = (float *) 0 ; + int arg2 ; + float result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: floatP_getitem(ary,index);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_float,0) < 0) { + SWIG_croak("Type error in argument 1 of floatP_getitem. Expected _p_float"); + } + } + arg2 = (int) SvIV(ST(1)); + result = (float)floatP_getitem(arg1,arg2); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_floatP_setitem) { + { + float *arg1 = (float *) 0 ; + int arg2 ; + float arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: floatP_setitem(ary,index,value);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_float,0) < 0) { + SWIG_croak("Type error in argument 1 of floatP_setitem. Expected _p_float"); + } + } + arg2 = (int) SvIV(ST(1)); + arg3 = (float) SvNV(ST(2)); + + floatP_setitem(arg1,arg2,arg3); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_new_floatArray) { + { + int arg1 ; + floatArray *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: new_floatArray(nelements);"); + } + arg1 = (int) SvIV(ST(0)); + result = (floatArray *)new_floatArray(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_floatArray, SWIG_SHADOW|SWIG_OWNER); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_delete_floatArray) { + { + floatArray *arg1 = (floatArray *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: delete_floatArray(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_floatArray,0) < 0) { + SWIG_croak("Type error in argument 1 of delete_floatArray. Expected _p_floatArray"); + } + } + delete_floatArray(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_floatArray_getitem) { + { + floatArray *arg1 = (floatArray *) 0 ; + int arg2 ; + float result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: floatArray_getitem(self,index);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_floatArray,0) < 0) { + SWIG_croak("Type error in argument 1 of floatArray_getitem. Expected _p_floatArray"); + } + } + arg2 = (int) SvIV(ST(1)); + result = (float)floatArray_getitem(arg1,arg2); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_floatArray_setitem) { + { + floatArray *arg1 = (floatArray *) 0 ; + int arg2 ; + float arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: floatArray_setitem(self,index,value);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_floatArray,0) < 0) { + SWIG_croak("Type error in argument 1 of floatArray_setitem. Expected _p_floatArray"); + } + } + arg2 = (int) SvIV(ST(1)); + arg3 = (float) SvNV(ST(2)); + + floatArray_setitem(arg1,arg2,arg3); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_floatArray_cast) { + { + floatArray *arg1 = (floatArray *) 0 ; + float *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: floatArray_cast(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_floatArray,0) < 0) { + SWIG_croak("Type error in argument 1 of floatArray_cast. Expected _p_floatArray"); + } + } + result = (float *)floatArray_cast(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_float, 0|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_floatArray_frompointer) { + { + float *arg1 = (float *) 0 ; + floatArray *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: floatArray_frompointer(t);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_float,0) < 0) { + SWIG_croak("Type error in argument 1 of floatArray_frompointer. Expected _p_float"); + } + } + result = (floatArray *)floatArray_frompointer(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_floatArray, SWIG_SHADOW|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_new_doubleP) { + { + int arg1 ; + double *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: new_doubleP(nelements);"); + } + arg1 = (int) SvIV(ST(0)); + result = (double *)new_doubleP(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_double, 0|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_delete_doubleP) { + { + double *arg1 = (double *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: delete_doubleP(ary);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_double,0) < 0) { + SWIG_croak("Type error in argument 1 of delete_doubleP. Expected _p_double"); + } + } + delete_doubleP(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_doubleP_getitem) { + { + double *arg1 = (double *) 0 ; + int arg2 ; + double result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: doubleP_getitem(ary,index);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_double,0) < 0) { + SWIG_croak("Type error in argument 1 of doubleP_getitem. Expected _p_double"); + } + } + arg2 = (int) SvIV(ST(1)); + result = (double)doubleP_getitem(arg1,arg2); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_doubleP_setitem) { + { + double *arg1 = (double *) 0 ; + int arg2 ; + double arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: doubleP_setitem(ary,index,value);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_double,0) < 0) { + SWIG_croak("Type error in argument 1 of doubleP_setitem. Expected _p_double"); + } + } + arg2 = (int) SvIV(ST(1)); + arg3 = (double) SvNV(ST(2)); + + doubleP_setitem(arg1,arg2,arg3); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_new_doubleArray) { + { + int arg1 ; + doubleArray *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: new_doubleArray(nelements);"); + } + arg1 = (int) SvIV(ST(0)); + result = (doubleArray *)new_doubleArray(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_doubleArray, SWIG_SHADOW|SWIG_OWNER); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_delete_doubleArray) { + { + doubleArray *arg1 = (doubleArray *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: delete_doubleArray(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_doubleArray,0) < 0) { + SWIG_croak("Type error in argument 1 of delete_doubleArray. Expected _p_doubleArray"); + } + } + delete_doubleArray(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_doubleArray_getitem) { + { + doubleArray *arg1 = (doubleArray *) 0 ; + int arg2 ; + double result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: doubleArray_getitem(self,index);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_doubleArray,0) < 0) { + SWIG_croak("Type error in argument 1 of doubleArray_getitem. Expected _p_doubleArray"); + } + } + arg2 = (int) SvIV(ST(1)); + result = (double)doubleArray_getitem(arg1,arg2); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_doubleArray_setitem) { + { + doubleArray *arg1 = (doubleArray *) 0 ; + int arg2 ; + double arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: doubleArray_setitem(self,index,value);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_doubleArray,0) < 0) { + SWIG_croak("Type error in argument 1 of doubleArray_setitem. Expected _p_doubleArray"); + } + } + arg2 = (int) SvIV(ST(1)); + arg3 = (double) SvNV(ST(2)); + + doubleArray_setitem(arg1,arg2,arg3); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_doubleArray_cast) { + { + doubleArray *arg1 = (doubleArray *) 0 ; + double *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: doubleArray_cast(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_doubleArray,0) < 0) { + SWIG_croak("Type error in argument 1 of doubleArray_cast. Expected _p_doubleArray"); + } + } + result = (double *)doubleArray_cast(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_double, 0|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_doubleArray_frompointer) { + { + double *arg1 = (double *) 0 ; + doubleArray *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: doubleArray_frompointer(t);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_double,0) < 0) { + SWIG_croak("Type error in argument 1 of doubleArray_frompointer. Expected _p_double"); + } + } + result = (doubleArray *)doubleArray_frompointer(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_doubleArray, SWIG_SHADOW|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_new_shortP) { + { + int arg1 ; + short *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: new_shortP(nelements);"); + } + arg1 = (int) SvIV(ST(0)); + result = (short *)new_shortP(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_short, 0|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_delete_shortP) { + { + short *arg1 = (short *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: delete_shortP(ary);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_short,0) < 0) { + SWIG_croak("Type error in argument 1 of delete_shortP. Expected _p_short"); + } + } + delete_shortP(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_shortP_getitem) { + { + short *arg1 = (short *) 0 ; + int arg2 ; + short result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: shortP_getitem(ary,index);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_short,0) < 0) { + SWIG_croak("Type error in argument 1 of shortP_getitem. Expected _p_short"); + } + } + arg2 = (int) SvIV(ST(1)); + result = (short)shortP_getitem(arg1,arg2); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_shortP_setitem) { + { + short *arg1 = (short *) 0 ; + int arg2 ; + short arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: shortP_setitem(ary,index,value);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_short,0) < 0) { + SWIG_croak("Type error in argument 1 of shortP_setitem. Expected _p_short"); + } + } + arg2 = (int) SvIV(ST(1)); + arg3 = (short) SvIV(ST(2)); + shortP_setitem(arg1,arg2,arg3); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_cdata) { + { + void *arg1 = (void *) 0 ; + int arg2 ; + SWIGCDATA result; + int argvi = 0; + dXSARGS; + + arg2 = 1; + if ((items < 1) || (items > 2)) { + SWIG_croak("Usage: cdata(ptr,nelements);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, 0,0) < 0) { + SWIG_croak("Type error in argument 1 of cdata. Expected _p_void"); + } + } + if (items > 1) { + arg2 = (int) SvIV(ST(1)); + } + result = cdata_void(arg1,arg2); + + { + ST(argvi) = sv_newmortal(); + sv_setpvn((SV*)ST(argvi++),(&result)->data,(&result)->len); + } + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_memmove) { + { + void *arg1 = (void *) 0 ; + void *arg2 = (void *) 0 ; + int arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: memmove(data,indata,inlen);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, 0,0) < 0) { + SWIG_croak("Type error in argument 1 of memmove. Expected _p_void"); + } + } + { + STRLEN temp; + arg2 = (void *) SvPV(ST(1),temp); + arg3 = (int) temp; + } + memmove(arg1,(void const *)arg2,arg3); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_fold) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) NULL ; + float *arg3 = (float *) 0 ; + char *result; + float temp3 ; + int argvi = 0; + dXSARGS; + + arg3 = &temp3; + if ((items < 1) || (items > 2)) { + SWIG_croak("Usage: fold(string,constraints);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (items > 1) { + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + } + result = (char *)my_fold(arg1,arg2,arg3); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + { + if (argvi >= items) { + EXTEND(sp,1); + } + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi),(double) *(arg3)); + argvi++; + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_energy_of_struct) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + float result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: energy_of_struct(string,structure);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + result = (float)energy_of_struct((char const *)arg1,(char const *)arg2); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_free_arrays) { + { + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: free_arrays();"); + } + free_arrays(); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_initialize_fold) { + { + int arg1 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: initialize_fold(length);"); + } + arg1 = (int) SvIV(ST(0)); + initialize_fold(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_update_fold_params) { + { + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: update_fold_params();"); + } + update_fold_params(); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_cofold) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) NULL ; + float *arg3 = (float *) 0 ; + char *result; + float temp3 ; + int argvi = 0; + dXSARGS; + + arg3 = &temp3; + if ((items < 1) || (items > 2)) { + SWIG_croak("Usage: cofold(string,constraints);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (items > 1) { + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + } + result = (char *)my_cofold(arg1,arg2,arg3); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + { + if (argvi >= items) { + EXTEND(sp,1); + } + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi),(double) *(arg3)); + argvi++; + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_free_co_arrays) { + { + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: free_co_arrays();"); + } + free_co_arrays(); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_initialize_cofold) { + { + int arg1 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: initialize_cofold(length);"); + } + arg1 = (int) SvIV(ST(0)); + initialize_cofold(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_update_cofold_params) { + { + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: update_cofold_params();"); + } + update_cofold_params(); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_pf_fold) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) NULL ; + float *arg3 = (float *) 0 ; + char *result; + float temp3 ; + int argvi = 0; + dXSARGS; + + arg3 = &temp3; + if ((items < 1) || (items > 2)) { + SWIG_croak("Usage: pf_fold(string,constraints);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (items > 1) { + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + } + result = (char *)my_pf_fold(arg1,arg2,arg3); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + { + if (argvi >= items) { + EXTEND(sp,1); + } + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi),(double) *(arg3)); + argvi++; + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_init_pf_fold) { + { + int arg1 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: init_pf_fold(length);"); + } + arg1 = (int) SvIV(ST(0)); + init_pf_fold(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_free_pf_arrays) { + { + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: free_pf_arrays();"); + } + free_pf_arrays(); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_update_pf_params) { + { + int arg1 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: update_pf_params(length);"); + } + arg1 = (int) SvIV(ST(0)); + update_pf_params(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_bppm_symbol) { + { + float *arg1 = (float *) 0 ; + char result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: bppm_symbol(x);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_float,0) < 0) { + SWIG_croak("Type error in argument 1 of bppm_symbol. Expected _p_float"); + } + } + result = (char)bppm_symbol((float const *)arg1); + + ST(argvi) = sv_newmortal(); + sv_setpvn((SV*)ST(argvi++), &result, 1); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_mean_bp_dist) { + { + int arg1 ; + double result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: mean_bp_dist(length);"); + } + arg1 = (int) SvIV(ST(0)); + result = (double)mean_bp_dist(arg1); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_pbacktrack) { + { + char *arg1 = (char *) 0 ; + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: pbacktrack(sequence);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (char *)pbacktrack(arg1); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_inverse_fold) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + float *arg3 = (float *) 0 ; + char *result; + float temp3 ; + int argvi = 0; + dXSARGS; + + arg3 = &temp3; + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: inverse_fold(start,target);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + result = (char *)my_inverse_fold(arg1,(char const *)arg2,arg3); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + { + if (argvi >= items) { + EXTEND(sp,1); + } + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi),(double) *(arg3)); + argvi++; + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_inverse_pf_fold) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + float *arg3 = (float *) 0 ; + char *result; + float temp3 ; + int argvi = 0; + dXSARGS; + + arg3 = &temp3; + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: inverse_pf_fold(start,target);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + result = (char *)my_inverse_pf_fold(arg1,(char const *)arg2,arg3); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + { + if (argvi >= items) { + EXTEND(sp,1); + } + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi),(double) *(arg3)); + argvi++; + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_bondT_i_set) { + { + bondT *arg1 = (bondT *) 0 ; + int arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: bondT_i_set(self,i);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_bond,0) < 0) { + SWIG_croak("Type error in argument 1 of bondT_i_set. Expected _p_bond"); + } + } + arg2 = (int) SvIV(ST(1)); + if (arg1) (arg1)->i = arg2; + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_bondT_i_get) { + { + bondT *arg1 = (bondT *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: bondT_i_get(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_bond,0) < 0) { + SWIG_croak("Type error in argument 1 of bondT_i_get. Expected _p_bond"); + } + } + result = (int) ((arg1)->i); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_bondT_j_set) { + { + bondT *arg1 = (bondT *) 0 ; + int arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: bondT_j_set(self,j);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_bond,0) < 0) { + SWIG_croak("Type error in argument 1 of bondT_j_set. Expected _p_bond"); + } + } + arg2 = (int) SvIV(ST(1)); + if (arg1) (arg1)->j = arg2; + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_bondT_j_get) { + { + bondT *arg1 = (bondT *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: bondT_j_get(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_bond,0) < 0) { + SWIG_croak("Type error in argument 1 of bondT_j_get. Expected _p_bond"); + } + } + result = (int) ((arg1)->j); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_bondT_get) { + { + bondT *arg1 = (bondT *) 0 ; + int arg2 ; + bondT *result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: bondT_get(self,i);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_bond,0) < 0) { + SWIG_croak("Type error in argument 1 of bondT_get. Expected _p_bond"); + } + } + arg2 = (int) SvIV(ST(1)); + result = (bondT *)bondT_get(arg1,arg2); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_bond, SWIG_SHADOW|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_new_bondT) { + { + bondT *result; + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: new_bondT();"); + } + result = (bondT *)(bondT *) calloc(1, sizeof(bondT)); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_bond, SWIG_SHADOW|SWIG_OWNER); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_delete_bondT) { + { + bondT *arg1 = (bondT *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: delete_bondT(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_bond,0) < 0) { + SWIG_croak("Type error in argument 1 of delete_bondT. Expected _p_bond"); + } + } + free((char *) arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_option_string) { + { + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: option_string();"); + } + result = (char *)option_string(); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_SOLUTION_energy_set) { + { + SOLUTION *arg1 = (SOLUTION *) 0 ; + float arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: SOLUTION_energy_set(self,energy);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_SOLUTION,0) < 0) { + SWIG_croak("Type error in argument 1 of SOLUTION_energy_set. Expected _p_SOLUTION"); + } + } + arg2 = (float) SvNV(ST(1)); + + if (arg1) (arg1)->energy = arg2; + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_SOLUTION_energy_get) { + { + SOLUTION *arg1 = (SOLUTION *) 0 ; + float result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: SOLUTION_energy_get(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_SOLUTION,0) < 0) { + SWIG_croak("Type error in argument 1 of SOLUTION_energy_get. Expected _p_SOLUTION"); + } + } + result = (float) ((arg1)->energy); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_SOLUTION_structure_set) { + { + SOLUTION *arg1 = (SOLUTION *) 0 ; + char *arg2 = (char *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: SOLUTION_structure_set(self,structure);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_SOLUTION,0) < 0) { + SWIG_croak("Type error in argument 1 of SOLUTION_structure_set. Expected _p_SOLUTION"); + } + } + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + { + if (arg1->structure) free((char*)arg1->structure); + if (arg2) { + arg1->structure = (char *) malloc(strlen(arg2)+1); + strcpy((char*)arg1->structure,arg2); + } else { + arg1->structure = 0; + } + } + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_SOLUTION_structure_get) { + { + SOLUTION *arg1 = (SOLUTION *) 0 ; + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: SOLUTION_structure_get(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_SOLUTION,0) < 0) { + SWIG_croak("Type error in argument 1 of SOLUTION_structure_get. Expected _p_SOLUTION"); + } + } + result = (char *) ((arg1)->structure); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_SOLUTION_get) { + { + SOLUTION *arg1 = (SOLUTION *) 0 ; + int arg2 ; + SOLUTION *result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: SOLUTION_get(self,i);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_SOLUTION,0) < 0) { + SWIG_croak("Type error in argument 1 of SOLUTION_get. Expected _p_SOLUTION"); + } + } + arg2 = (int) SvIV(ST(1)); + result = (SOLUTION *)SOLUTION_get(arg1,arg2); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_SOLUTION, SWIG_SHADOW|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_SOLUTION_size) { + { + SOLUTION *arg1 = (SOLUTION *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: SOLUTION_size(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_SOLUTION,0) < 0) { + SWIG_croak("Type error in argument 1 of SOLUTION_size. Expected _p_SOLUTION"); + } + } + result = (int)SOLUTION_size(arg1); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_delete_SOLUTION) { + { + SOLUTION *arg1 = (SOLUTION *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: delete_SOLUTION(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_SOLUTION,0) < 0) { + SWIG_croak("Type error in argument 1 of delete_SOLUTION. Expected _p_SOLUTION"); + } + } + delete_SOLUTION(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_new_SOLUTION) { + { + SOLUTION *result; + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: new_SOLUTION();"); + } + result = (SOLUTION *)(SOLUTION *) calloc(1, sizeof(SOLUTION)); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_SOLUTION, SWIG_SHADOW|SWIG_OWNER); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_subopt) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + int arg3 ; + FILE *arg4 = (FILE *) NULL ; + SOLUTION *result; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 4)) { + SWIG_croak("Usage: subopt(seq,constraint,delta,fp);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + arg3 = (int) SvIV(ST(2)); + if (items > 3) { + { + if (SvOK(ST(3))) /* check for undef */ + arg4 = PerlIO_findFILE(IoIFP(sv_2io(ST(3)))); + else arg4 = NULL; + } + } + result = (SOLUTION *)subopt(arg1,arg2,arg3,arg4); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_SOLUTION, SWIG_SHADOW|SWIG_OWNER); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_get_pr) { + { + int arg1 ; + int arg2 ; + double result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: get_pr(i,j);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + result = (double)get_pr(arg1,arg2); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_b2HIT) { + { + char *arg1 = (char *) 0 ; + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: b2HIT(structure);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (char *)b2HIT(arg1); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_b2C) { + { + char *arg1 = (char *) 0 ; + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: b2C(structure);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (char *)b2C(arg1); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_b2Shapiro) { + { + char *arg1 = (char *) 0 ; + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: b2Shapiro(structure);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (char *)b2Shapiro(arg1); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_add_root) { + { + char *arg1 = (char *) 0 ; + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: add_root(char *);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (char *)add_root(arg1); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_expand_Shapiro) { + { + char *arg1 = (char *) 0 ; + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: expand_Shapiro(coarse);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (char *)expand_Shapiro(arg1); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_expand_Full) { + { + char *arg1 = (char *) 0 ; + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: expand_Full(structure);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (char *)expand_Full(arg1); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_unexpand_Full) { + { + char *arg1 = (char *) 0 ; + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: unexpand_Full(ffull);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (char *)unexpand_Full(arg1); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_unweight) { + { + char *arg1 = (char *) 0 ; + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: unweight(wcoarse);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (char *)unweight(arg1); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_unexpand_aligned_F) { + { + char **arg1 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: unexpand_aligned_F(align);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_p_char,0) < 0) { + SWIG_croak("Type error in argument 1 of unexpand_aligned_F. Expected _p_p_char"); + } + } + unexpand_aligned_F(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_parse_structure) { + { + char *arg1 = (char *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: parse_structure(structure);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + parse_structure(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_make_tree) { + { + char *arg1 = (char *) 0 ; + Tree *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: make_tree(struc);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (Tree *)make_tree(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_Tree, 0|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_tree_edit_distance) { + { + Tree *arg1 = (Tree *) 0 ; + Tree *arg2 = (Tree *) 0 ; + float result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: tree_edit_distance(T1,T2);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_Tree,0) < 0) { + SWIG_croak("Type error in argument 1 of tree_edit_distance. Expected _p_Tree"); + } + } + { + if (SWIG_ConvertPtr(ST(1), (void **) &arg2, SWIGTYPE_p_Tree,0) < 0) { + SWIG_croak("Type error in argument 2 of tree_edit_distance. Expected _p_Tree"); + } + } + result = (float)tree_edit_distance(arg1,arg2); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_print_tree) { + { + Tree *arg1 = (Tree *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: print_tree(t);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_Tree,0) < 0) { + SWIG_croak("Type error in argument 1 of print_tree. Expected _p_Tree"); + } + } + print_tree(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_free_tree) { + { + Tree *arg1 = (Tree *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: free_tree(t);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_Tree,0) < 0) { + SWIG_croak("Type error in argument 1 of free_tree. Expected _p_Tree"); + } + } + free_tree(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_Make_swString) { + { + char *arg1 = (char *) 0 ; + swString *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: Make_swString(string);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (swString *)Make_swString(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_swString, 0|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_string_edit_distance) { + { + swString *arg1 = (swString *) 0 ; + swString *arg2 = (swString *) 0 ; + float result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: string_edit_distance(T1,T2);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_swString,0) < 0) { + SWIG_croak("Type error in argument 1 of string_edit_distance. Expected _p_swString"); + } + } + { + if (SWIG_ConvertPtr(ST(1), (void **) &arg2, SWIGTYPE_p_swString,0) < 0) { + SWIG_croak("Type error in argument 2 of string_edit_distance. Expected _p_swString"); + } + } + result = (float)string_edit_distance(arg1,arg2); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_Make_bp_profile) { + { + int arg1 ; + float *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: Make_bp_profile(length);"); + } + arg1 = (int) SvIV(ST(0)); + result = (float *)Make_bp_profile(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_float, 0|SWIG_OWNER); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_profile_edit_distance) { + { + float *arg1 = (float *) 0 ; + float *arg2 = (float *) 0 ; + float result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: profile_edit_distance(T1,T2);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_float,0) < 0) { + SWIG_croak("Type error in argument 1 of profile_edit_distance. Expected _p_float"); + } + } + { + if (SWIG_ConvertPtr(ST(1), (void **) &arg2, SWIGTYPE_p_float,0) < 0) { + SWIG_croak("Type error in argument 2 of profile_edit_distance. Expected _p_float"); + } + } + result = (float)profile_edit_distance((float const *)arg1,(float const *)arg2); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_print_bppm) { + { + float *arg1 = (float *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: print_bppm(T);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_float,0) < 0) { + SWIG_croak("Type error in argument 1 of print_bppm. Expected _p_float"); + } + } + print_bppm((float const *)arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_free_profile) { + { + float *arg1 = (float *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: free_profile(T);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_float,0) < 0) { + SWIG_croak("Type error in argument 1 of free_profile. Expected _p_float"); + } + } + free_profile(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_space) { + { + unsigned int arg1 ; + void *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: space(size);"); + } + arg1 = (unsigned int) SvUV(ST(0)); + result = (void *)space(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_void, 0|SWIG_OWNER); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_xrealloc) { + { + void *arg1 = (void *) 0 ; + unsigned int arg2 ; + void *result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: xrealloc(p,size);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, 0,0) < 0) { + SWIG_croak("Type error in argument 1 of xrealloc. Expected _p_void"); + } + } + arg2 = (unsigned int) SvUV(ST(1)); + result = (void *)xrealloc(arg1,arg2); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_void, 0|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_nrerror) { + { + char *arg1 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: nrerror(message);"); + } + arg1 = SvPV(ST(0),PL_na); + + nrerror((char const (*))arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_init_rand) { + { + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: init_rand();"); + } + init_rand(); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_urn) { + { + double result; + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: urn();"); + } + result = (double)urn(); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_int_urn) { + { + int arg1 ; + int arg2 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: int_urn(from,to);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + result = (int)int_urn(arg1,arg2); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_filecopy) { + { + FILE *arg1 = (FILE *) 0 ; + FILE *arg2 = (FILE *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: filecopy(from,to);"); + } + { + if (SvOK(ST(0))) /* check for undef */ + arg1 = PerlIO_findFILE(IoIFP(sv_2io(ST(0)))); + else arg1 = NULL; + } + { + if (SvOK(ST(1))) /* check for undef */ + arg2 = PerlIO_findFILE(IoIFP(sv_2io(ST(1)))); + else arg2 = NULL; + } + filecopy(arg1,arg2); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_time_stamp) { + { + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: time_stamp();"); + } + result = (char *)time_stamp(); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_random_string) { + { + int arg1 ; + char *arg2 ; + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: random_string(l,symbols);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = SvPV(ST(1),PL_na); + + result = (char *)random_string(arg1,(char const (*))arg2); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_hamming) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: hamming(s1,s2);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + result = (int)hamming((char const *)arg1,(char const *)arg2); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_get_line) { + { + FILE *arg1 = (FILE *) 0 ; + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: get_line(fp);"); + } + { + if (SvOK(ST(0))) /* check for undef */ + arg1 = PerlIO_findFILE(IoIFP(sv_2io(ST(0)))); + else arg1 = NULL; + } + result = (char *)get_line((FILE const *)arg1); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_pack_structure) { + { + char *arg1 = (char *) 0 ; + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: pack_structure(struc);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (char *)pack_structure((char const *)arg1); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_unpack_structure) { + { + char *arg1 = (char *) 0 ; + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: unpack_structure(packed);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (char *)unpack_structure((char const *)arg1); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + free(result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_make_pair_table) { + { + char *arg1 = (char *) 0 ; + short *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: make_pair_table(structure);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (short *)make_pair_table((char const *)arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_short, 0|SWIG_OWNER); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_bp_distance) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: bp_distance(str1,str2);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + result = (int)bp_distance((char const *)arg1,(char const *)arg2); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_read_parameter_file) { + { + char *arg1 = (char *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: read_parameter_file(fname);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + read_parameter_file(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_write_parameter_file) { + { + char *arg1 = (char *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: write_parameter_file(fname);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + write_parameter_file(arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_deref_any) { + { + void **arg1 = (void **) 0 ; + int arg2 ; + void *result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: deref_any(ptr,index);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_p_void,0) < 0) { + SWIG_croak("Type error in argument 1 of deref_any. Expected _p_p_void"); + } + } + arg2 = (int) SvIV(ST(1)); + result = (void *)deref_any(arg1,arg2); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_void, 0|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_scale_parameters) { + { + paramT *result; + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: scale_parameters();"); + } + result = (paramT *)scale_parameters(); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_paramT, 0|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_copy_parameters) { + { + paramT *result; + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: copy_parameters();"); + } + result = (paramT *)copy_parameters(); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_paramT, 0|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_set_parameters) { + { + paramT *arg1 = (paramT *) 0 ; + paramT *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: set_parameters(dest);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_paramT,0) < 0) { + SWIG_croak("Type error in argument 1 of set_parameters. Expected _p_paramT"); + } + } + result = (paramT *)set_parameters(arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_paramT, 0|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_get_aligned_line) { + { + int arg1 ; + char *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: get_aligned_line(int);"); + } + arg1 = (int) SvIV(ST(0)); + result = (char *)get_aligned_line(arg1); + + ST(argvi) = sv_newmortal(); + if (result) { + sv_setpv((SV*)ST(argvi++), (char *) result); + } else { + sv_setsv((SV*)ST(argvi++), &PL_sv_undef); + } + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_make_loop_index) { + { + char *arg1 = (char *) 0 ; + short *result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: make_loop_index(structure);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (short *)make_loop_index((char const *)arg1); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_short, 0|0); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_energy_of_move) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + int arg3 ; + int arg4 ; + float result; + int argvi = 0; + dXSARGS; + + if ((items < 4) || (items > 4)) { + SWIG_croak("Usage: energy_of_move(string,structure,mi,mj);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + arg3 = (int) SvIV(ST(2)); + arg4 = (int) SvIV(ST(3)); + result = (float)energy_of_move((char const *)arg1,arg2,arg3,arg4); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_PS_rna_plot) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: PS_rna_plot(string,structure,file);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + if (!SvOK((SV*) ST(2))) arg3 = 0; + else arg3 = (char *) SvPV(ST(2), PL_na); + result = (int)PS_rna_plot(arg1,arg2,arg3); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_PS_rna_plot_a) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + char *arg4 = (char *) 0 ; + char *arg5 = (char *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 5) || (items > 5)) { + SWIG_croak("Usage: PS_rna_plot_a(string,structure,file,pre,post);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + if (!SvOK((SV*) ST(2))) arg3 = 0; + else arg3 = (char *) SvPV(ST(2), PL_na); + if (!SvOK((SV*) ST(3))) arg4 = 0; + else arg4 = (char *) SvPV(ST(3), PL_na); + if (!SvOK((SV*) ST(4))) arg5 = 0; + else arg5 = (char *) SvPV(ST(4), PL_na); + result = (int)PS_rna_plot_a(arg1,arg2,arg3,arg4,arg5); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_gmlRNA) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + char arg4 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 4) || (items > 4)) { + SWIG_croak("Usage: gmlRNA(string,structure,ssfile,option);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + if (!SvOK((SV*) ST(2))) arg3 = 0; + else arg3 = (char *) SvPV(ST(2), PL_na); + arg4 = (char) *SvPV(ST(3),PL_na); + result = (int)gmlRNA(arg1,arg2,arg3,arg4); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_ssv_rna_plot) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: ssv_rna_plot(string,structure,ssfile);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + if (!SvOK((SV*) ST(2))) arg3 = 0; + else arg3 = (char *) SvPV(ST(2), PL_na); + result = (int)ssv_rna_plot(arg1,arg2,arg3); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_svg_rna_plot) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: svg_rna_plot(string,structure,ssfile);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + if (!SvOK((SV*) ST(2))) arg3 = 0; + else arg3 = (char *) SvPV(ST(2), PL_na); + result = (int)svg_rna_plot(arg1,arg2,arg3); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_xrna_plot) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: xrna_plot(string,structure,ssfile);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + if (!SvOK((SV*) ST(2))) arg3 = 0; + else arg3 = (char *) SvPV(ST(2), PL_na); + result = (int)xrna_plot(arg1,arg2,arg3); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_PS_dot_plot) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: PS_dot_plot(string,file);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + result = (int)PS_dot_plot(arg1,arg2); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_cpair_i_set) { + { + cpair *arg1 = (cpair *) 0 ; + int arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: cpair_i_set(self,i);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_cpair,0) < 0) { + SWIG_croak("Type error in argument 1 of cpair_i_set. Expected _p_cpair"); + } + } + arg2 = (int) SvIV(ST(1)); + if (arg1) (arg1)->i = arg2; + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_cpair_i_get) { + { + cpair *arg1 = (cpair *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: cpair_i_get(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_cpair,0) < 0) { + SWIG_croak("Type error in argument 1 of cpair_i_get. Expected _p_cpair"); + } + } + result = (int) ((arg1)->i); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_cpair_j_set) { + { + cpair *arg1 = (cpair *) 0 ; + int arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: cpair_j_set(self,j);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_cpair,0) < 0) { + SWIG_croak("Type error in argument 1 of cpair_j_set. Expected _p_cpair"); + } + } + arg2 = (int) SvIV(ST(1)); + if (arg1) (arg1)->j = arg2; + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_cpair_j_get) { + { + cpair *arg1 = (cpair *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: cpair_j_get(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_cpair,0) < 0) { + SWIG_croak("Type error in argument 1 of cpair_j_get. Expected _p_cpair"); + } + } + result = (int) ((arg1)->j); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_cpair_mfe_set) { + { + cpair *arg1 = (cpair *) 0 ; + int arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: cpair_mfe_set(self,mfe);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_cpair,0) < 0) { + SWIG_croak("Type error in argument 1 of cpair_mfe_set. Expected _p_cpair"); + } + } + arg2 = (int) SvIV(ST(1)); + if (arg1) (arg1)->mfe = arg2; + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_cpair_mfe_get) { + { + cpair *arg1 = (cpair *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: cpair_mfe_get(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_cpair,0) < 0) { + SWIG_croak("Type error in argument 1 of cpair_mfe_get. Expected _p_cpair"); + } + } + result = (int) ((arg1)->mfe); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_cpair_p_set) { + { + cpair *arg1 = (cpair *) 0 ; + float arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: cpair_p_set(self,p);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_cpair,0) < 0) { + SWIG_croak("Type error in argument 1 of cpair_p_set. Expected _p_cpair"); + } + } + arg2 = (float) SvNV(ST(1)); + + if (arg1) (arg1)->p = arg2; + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_cpair_p_get) { + { + cpair *arg1 = (cpair *) 0 ; + float result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: cpair_p_get(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_cpair,0) < 0) { + SWIG_croak("Type error in argument 1 of cpair_p_get. Expected _p_cpair"); + } + } + result = (float) ((arg1)->p); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_cpair_hue_set) { + { + cpair *arg1 = (cpair *) 0 ; + float arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: cpair_hue_set(self,hue);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_cpair,0) < 0) { + SWIG_croak("Type error in argument 1 of cpair_hue_set. Expected _p_cpair"); + } + } + arg2 = (float) SvNV(ST(1)); + + if (arg1) (arg1)->hue = arg2; + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_cpair_hue_get) { + { + cpair *arg1 = (cpair *) 0 ; + float result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: cpair_hue_get(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_cpair,0) < 0) { + SWIG_croak("Type error in argument 1 of cpair_hue_get. Expected _p_cpair"); + } + } + result = (float) ((arg1)->hue); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_cpair_sat_set) { + { + cpair *arg1 = (cpair *) 0 ; + float arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: cpair_sat_set(self,sat);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_cpair,0) < 0) { + SWIG_croak("Type error in argument 1 of cpair_sat_set. Expected _p_cpair"); + } + } + arg2 = (float) SvNV(ST(1)); + + if (arg1) (arg1)->sat = arg2; + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_cpair_sat_get) { + { + cpair *arg1 = (cpair *) 0 ; + float result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: cpair_sat_get(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_cpair,0) < 0) { + SWIG_croak("Type error in argument 1 of cpair_sat_get. Expected _p_cpair"); + } + } + result = (float) ((arg1)->sat); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_new_cpair) { + { + cpair *result; + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: new_cpair();"); + } + result = (cpair *)(cpair *) calloc(1, sizeof(cpair)); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_cpair, SWIG_SHADOW|SWIG_OWNER); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_delete_cpair) { + { + cpair *arg1 = (cpair *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: delete_cpair(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_cpair,0) < 0) { + SWIG_croak("Type error in argument 1 of delete_cpair. Expected _p_cpair"); + } + } + free((char *) arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_PS_color_dot_plot) { + { + char *arg1 = (char *) 0 ; + cpair *arg2 = (cpair *) 0 ; + char *arg3 = (char *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + SWIG_croak("Usage: PS_color_dot_plot(string,pi,filename);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + { + if (SWIG_ConvertPtr(ST(1), (void **) &arg2, SWIGTYPE_p_cpair,0) < 0) { + SWIG_croak("Type error in argument 2 of PS_color_dot_plot. Expected _p_cpair"); + } + } + if (!SvOK((SV*) ST(2))) arg3 = 0; + else arg3 = (char *) SvPV(ST(2), PL_na); + result = (int)PS_color_dot_plot(arg1,arg2,arg3); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_plist_i_set) { + { + plist *arg1 = (plist *) 0 ; + int arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: plist_i_set(self,i);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_plist,0) < 0) { + SWIG_croak("Type error in argument 1 of plist_i_set. Expected _p_plist"); + } + } + arg2 = (int) SvIV(ST(1)); + if (arg1) (arg1)->i = arg2; + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_plist_i_get) { + { + plist *arg1 = (plist *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: plist_i_get(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_plist,0) < 0) { + SWIG_croak("Type error in argument 1 of plist_i_get. Expected _p_plist"); + } + } + result = (int) ((arg1)->i); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_plist_j_set) { + { + plist *arg1 = (plist *) 0 ; + int arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: plist_j_set(self,j);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_plist,0) < 0) { + SWIG_croak("Type error in argument 1 of plist_j_set. Expected _p_plist"); + } + } + arg2 = (int) SvIV(ST(1)); + if (arg1) (arg1)->j = arg2; + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_plist_j_get) { + { + plist *arg1 = (plist *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: plist_j_get(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_plist,0) < 0) { + SWIG_croak("Type error in argument 1 of plist_j_get. Expected _p_plist"); + } + } + result = (int) ((arg1)->j); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_plist_p_set) { + { + plist *arg1 = (plist *) 0 ; + float arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + SWIG_croak("Usage: plist_p_set(self,p);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_plist,0) < 0) { + SWIG_croak("Type error in argument 1 of plist_p_set. Expected _p_plist"); + } + } + arg2 = (float) SvNV(ST(1)); + + if (arg1) (arg1)->p = arg2; + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_plist_p_get) { + { + plist *arg1 = (plist *) 0 ; + float result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: plist_p_get(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_plist,0) < 0) { + SWIG_croak("Type error in argument 1 of plist_p_get. Expected _p_plist"); + } + } + result = (float) ((arg1)->p); + + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi++), (double) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_new_plist) { + { + plist *result; + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + SWIG_croak("Usage: new_plist();"); + } + result = (plist *)(plist *) calloc(1, sizeof(plist)); + + ST(argvi) = sv_newmortal(); + SWIG_MakePtr(ST(argvi++), (void *) result, SWIGTYPE_p_plist, SWIG_SHADOW|SWIG_OWNER); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_delete_plist) { + { + plist *arg1 = (plist *) 0 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + SWIG_croak("Usage: delete_plist(self);"); + } + { + if (SWIG_ConvertPtr(ST(0), (void **) &arg1, SWIGTYPE_p_plist,0) < 0) { + SWIG_croak("Type error in argument 1 of delete_plist. Expected _p_plist"); + } + } + free((char *) arg1); + + + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + +XS(_wrap_PS_dot_plot_list) { + { + char *arg1 = (char *) 0 ; + char *arg2 = (char *) 0 ; + struct plist *arg3 = (struct plist *) 0 ; + struct plist *arg4 = (struct plist *) 0 ; + char *arg5 = (char *) 0 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 5) || (items > 5)) { + SWIG_croak("Usage: PS_dot_plot_list(string,filename,pl,mf,comment);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + if (!SvOK((SV*) ST(1))) arg2 = 0; + else arg2 = (char *) SvPV(ST(1), PL_na); + { + if (SWIG_ConvertPtr(ST(2), (void **) &arg3, SWIGTYPE_p_plist,0) < 0) { + SWIG_croak("Type error in argument 3 of PS_dot_plot_list. Expected _p_plist"); + } + } + { + if (SWIG_ConvertPtr(ST(3), (void **) &arg4, SWIGTYPE_p_plist,0) < 0) { + SWIG_croak("Type error in argument 4 of PS_dot_plot_list. Expected _p_plist"); + } + } + if (!SvOK((SV*) ST(4))) arg5 = 0; + else arg5 = (char *) SvPV(ST(4), PL_na); + result = (int)PS_dot_plot_list(arg1,arg2,arg3,arg4,arg5); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); + fail: + ; + } + croak(Nullch); +} + + + +/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ + +static void *_p_floatArrayTo_p_float(void *x) { + return (void *)((float *) ((floatArray *) x)); +} +static void *_p_intArrayTo_p_int(void *x) { + return (void *)((int *) ((intArray *) x)); +} +static void *_p_doubleArrayTo_p_double(void *x) { + return (void *)((double *) ((doubleArray *) x)); +} +static swig_type_info _swigt__p_SOLUTION[] = {{"RNA::SOLUTION", 0, "SOLUTION *", 0, 0, 0, 0},{"RNA::SOLUTION", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_intArray[] = {{"RNA::intArray", 0, "struct intArray *|intArray *", 0, 0, 0, 0},{"RNA::intArray", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_double[] = {{"_p_double", 0, "double *", 0, 0, 0, 0},{"RNA::doubleArray", _p_doubleArrayTo_p_double, 0, 0, 0, 0, 0},{"_p_double", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_bond[] = {{"RNA::bondT", 0, "struct bond *|bondT *", 0, 0, 0, 0},{"RNA::bondT", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_plist[] = {{"RNA::plist", 0, "struct plist *", 0, 0, 0, 0},{"RNA::plist", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_cpair[] = {{"RNA::cpair", 0, "struct cpair *|cpair *", 0, 0, 0, 0},{"RNA::cpair", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_swString[] = {{"_p_swString", 0, "swString *", 0, 0, 0, 0},{"_p_swString", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_float[] = {{"_p_float", 0, "float *", 0, 0, 0, 0},{"_p_float", 0, 0, 0, 0, 0, 0},{"RNA::floatArray", _p_floatArrayTo_p_float, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_void[] = {{"_p_void", 0, "void *", 0, 0, 0, 0},{"_p_void", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_floatArray[] = {{"RNA::floatArray", 0, "struct floatArray *|floatArray *", 0, 0, 0, 0},{"RNA::floatArray", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_doubleArray[] = {{"RNA::doubleArray", 0, "struct doubleArray *|doubleArray *", 0, 0, 0, 0},{"RNA::doubleArray", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_p_void[] = {{"_p_p_void", 0, "void **", 0, 0, 0, 0},{"_p_p_void", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_short[] = {{"_p_short", 0, "short *", 0, 0, 0, 0},{"_p_short", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_p_char[] = {{"_p_p_char", 0, "char **", 0, 0, 0, 0},{"_p_p_char", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_char[] = {{"_p_char", 0, "char *", 0, 0, 0, 0},{"_p_char", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_unsigned_short[] = {{"_p_unsigned_short", 0, "unsigned short *", 0, 0, 0, 0},{"_p_unsigned_short", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_paramT[] = {{"_p_paramT", 0, "paramT *", 0, 0, 0, 0},{"_p_paramT", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_Tree[] = {{"_p_Tree", 0, "Tree *", 0, 0, 0, 0},{"_p_Tree", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_FILE[] = {{"_p_FILE", 0, "FILE *", 0, 0, 0, 0},{"_p_FILE", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; +static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *", 0, 0, 0, 0},{"RNA::intArray", _p_intArrayTo_p_int, 0, 0, 0, 0, 0},{"_p_int", 0, 0, 0, 0, 0, 0},{0, 0, 0, 0, 0, 0, 0}}; + +static swig_type_info *swig_types_initial[] = { +_swigt__p_SOLUTION, +_swigt__p_intArray, +_swigt__p_double, +_swigt__p_bond, +_swigt__p_plist, +_swigt__p_cpair, +_swigt__p_swString, +_swigt__p_float, +_swigt__p_void, +_swigt__p_floatArray, +_swigt__p_doubleArray, +_swigt__p_p_void, +_swigt__p_short, +_swigt__p_p_char, +_swigt__p_char, +_swigt__p_unsigned_short, +_swigt__p_paramT, +_swigt__p_Tree, +_swigt__p_FILE, +_swigt__p_int, +0 +}; + + +/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ + +static swig_constant_info swig_constants[] = { +{ SWIG_FLOAT, (char *) SWIG_prefix "VERSION", 0, (double) 0.3, 0, 0}, +{0,0,0,0,0,0} +}; +#ifdef __cplusplus +} +#endif +static swig_variable_info swig_variables[] = { + { "RNAc::symbolset", MAGIC_CLASS _wrap_set_symbolset, MAGIC_CLASS _wrap_val_symbolset,0 }, + { "RNAc::final_cost", MAGIC_CLASS _wrap_set_final_cost, MAGIC_CLASS _wrap_val_final_cost,0 }, + { "RNAc::give_up", MAGIC_CLASS _wrap_set_give_up, MAGIC_CLASS _wrap_val_give_up,0 }, + { "RNAc::noGU", MAGIC_CLASS _wrap_set_noGU, MAGIC_CLASS _wrap_val_noGU,0 }, + { "RNAc::no_closingGU", MAGIC_CLASS _wrap_set_no_closingGU, MAGIC_CLASS _wrap_val_no_closingGU,0 }, + { "RNAc::tetra_loop", MAGIC_CLASS _wrap_set_tetra_loop, MAGIC_CLASS _wrap_val_tetra_loop,0 }, + { "RNAc::energy_set", MAGIC_CLASS _wrap_set_energy_set, MAGIC_CLASS _wrap_val_energy_set,0 }, + { "RNAc::dangles", MAGIC_CLASS _wrap_set_dangles, MAGIC_CLASS _wrap_val_dangles,0 }, + { "RNAc::nonstandards", MAGIC_CLASS _wrap_set_nonstandards, MAGIC_CLASS _wrap_val_nonstandards,0 }, + { "RNAc::temperature", MAGIC_CLASS _wrap_set_temperature, MAGIC_CLASS _wrap_val_temperature,0 }, + { "RNAc::james_rule", MAGIC_CLASS _wrap_set_james_rule, MAGIC_CLASS _wrap_val_james_rule,0 }, + { "RNAc::logML", MAGIC_CLASS _wrap_set_logML, MAGIC_CLASS _wrap_val_logML,0 }, + { "RNAc::cut_point", MAGIC_CLASS _wrap_set_cut_point, MAGIC_CLASS _wrap_val_cut_point,0 }, + { "RNAc::base_pair", MAGIC_CLASS _wrap_set_base_pair, MAGIC_CLASS _wrap_val_base_pair,&SWIGTYPE_p_bond }, + { "RNAc::pr", MAGIC_CLASS _wrap_set_pr, MAGIC_CLASS _wrap_val_pr,&SWIGTYPE_p_double }, + { "RNAc::iindx", MAGIC_CLASS _wrap_set_iindx, MAGIC_CLASS _wrap_val_iindx,&SWIGTYPE_p_int }, + { "RNAc::pf_scale", MAGIC_CLASS _wrap_set_pf_scale, MAGIC_CLASS _wrap_val_pf_scale,0 }, + { "RNAc::fold_constrained", MAGIC_CLASS _wrap_set_fold_constrained, MAGIC_CLASS _wrap_val_fold_constrained,0 }, + { "RNAc::do_backtrack", MAGIC_CLASS _wrap_set_do_backtrack, MAGIC_CLASS _wrap_val_do_backtrack,0 }, + { "RNAc::noLonelyPairs", MAGIC_CLASS _wrap_set_noLonelyPairs, MAGIC_CLASS _wrap_val_noLonelyPairs,0 }, + { "RNAc::backtrack_type", MAGIC_CLASS _wrap_set_backtrack_type, MAGIC_CLASS _wrap_val_backtrack_type,0 }, + { "RNAc::subopt_sorted", MAGIC_CLASS _wrap_set_subopt_sorted, MAGIC_CLASS _wrap_val_subopt_sorted,0 }, + { "RNAc::loop_size", MAGIC_CLASS _wrap_set_loop_size, MAGIC_CLASS _wrap_val_loop_size,&SWIGTYPE_p_int }, + { "RNAc::helix_size", MAGIC_CLASS _wrap_set_helix_size, MAGIC_CLASS _wrap_val_helix_size,&SWIGTYPE_p_int }, + { "RNAc::loop_degree", MAGIC_CLASS _wrap_set_loop_degree, MAGIC_CLASS _wrap_val_loop_degree,&SWIGTYPE_p_int }, + { "RNAc::loops", MAGIC_CLASS _wrap_set_loops, MAGIC_CLASS _wrap_val_loops,0 }, + { "RNAc::unpaired", MAGIC_CLASS _wrap_set_unpaired, MAGIC_CLASS _wrap_val_unpaired,0 }, + { "RNAc::pairs", MAGIC_CLASS _wrap_set_pairs, MAGIC_CLASS _wrap_val_pairs,0 }, + { "RNAc::edit_backtrack", MAGIC_CLASS _wrap_set_edit_backtrack, MAGIC_CLASS _wrap_val_edit_backtrack,0 }, + { "RNAc::aligned_line", MAGIC_CLASS _wrap_set_aligned_line, MAGIC_CLASS _wrap_val_aligned_line,&SWIGTYPE_p_p_char }, + { "RNAc::cost_matrix", MAGIC_CLASS _wrap_set_cost_matrix, MAGIC_CLASS _wrap_val_cost_matrix,0 }, + { "RNAc::xsubi", MAGIC_CLASS _wrap_set_xsubi, MAGIC_CLASS _wrap_val_xsubi,&SWIGTYPE_p_unsigned_short }, + { "RNAc::rna_plot_type", MAGIC_CLASS _wrap_set_rna_plot_type, MAGIC_CLASS _wrap_val_rna_plot_type,0 }, +{0,0,0,0} +}; +static swig_command_info swig_commands[] = { +{"RNAc::new_intP", _wrap_new_intP}, +{"RNAc::delete_intP", _wrap_delete_intP}, +{"RNAc::intP_getitem", _wrap_intP_getitem}, +{"RNAc::intP_setitem", _wrap_intP_setitem}, +{"RNAc::new_intArray", _wrap_new_intArray}, +{"RNAc::delete_intArray", _wrap_delete_intArray}, +{"RNAc::intArray_getitem", _wrap_intArray_getitem}, +{"RNAc::intArray_setitem", _wrap_intArray_setitem}, +{"RNAc::intArray_cast", _wrap_intArray_cast}, +{"RNAc::intArray_frompointer", _wrap_intArray_frompointer}, +{"RNAc::new_floatP", _wrap_new_floatP}, +{"RNAc::delete_floatP", _wrap_delete_floatP}, +{"RNAc::floatP_getitem", _wrap_floatP_getitem}, +{"RNAc::floatP_setitem", _wrap_floatP_setitem}, +{"RNAc::new_floatArray", _wrap_new_floatArray}, +{"RNAc::delete_floatArray", _wrap_delete_floatArray}, +{"RNAc::floatArray_getitem", _wrap_floatArray_getitem}, +{"RNAc::floatArray_setitem", _wrap_floatArray_setitem}, +{"RNAc::floatArray_cast", _wrap_floatArray_cast}, +{"RNAc::floatArray_frompointer", _wrap_floatArray_frompointer}, +{"RNAc::new_doubleP", _wrap_new_doubleP}, +{"RNAc::delete_doubleP", _wrap_delete_doubleP}, +{"RNAc::doubleP_getitem", _wrap_doubleP_getitem}, +{"RNAc::doubleP_setitem", _wrap_doubleP_setitem}, +{"RNAc::new_doubleArray", _wrap_new_doubleArray}, +{"RNAc::delete_doubleArray", _wrap_delete_doubleArray}, +{"RNAc::doubleArray_getitem", _wrap_doubleArray_getitem}, +{"RNAc::doubleArray_setitem", _wrap_doubleArray_setitem}, +{"RNAc::doubleArray_cast", _wrap_doubleArray_cast}, +{"RNAc::doubleArray_frompointer", _wrap_doubleArray_frompointer}, +{"RNAc::new_shortP", _wrap_new_shortP}, +{"RNAc::delete_shortP", _wrap_delete_shortP}, +{"RNAc::shortP_getitem", _wrap_shortP_getitem}, +{"RNAc::shortP_setitem", _wrap_shortP_setitem}, +{"RNAc::cdata", _wrap_cdata}, +{"RNAc::memmove", _wrap_memmove}, +{"RNAc::fold", _wrap_fold}, +{"RNAc::energy_of_struct", _wrap_energy_of_struct}, +{"RNAc::free_arrays", _wrap_free_arrays}, +{"RNAc::initialize_fold", _wrap_initialize_fold}, +{"RNAc::update_fold_params", _wrap_update_fold_params}, +{"RNAc::cofold", _wrap_cofold}, +{"RNAc::free_co_arrays", _wrap_free_co_arrays}, +{"RNAc::initialize_cofold", _wrap_initialize_cofold}, +{"RNAc::update_cofold_params", _wrap_update_cofold_params}, +{"RNAc::pf_fold", _wrap_pf_fold}, +{"RNAc::init_pf_fold", _wrap_init_pf_fold}, +{"RNAc::free_pf_arrays", _wrap_free_pf_arrays}, +{"RNAc::update_pf_params", _wrap_update_pf_params}, +{"RNAc::bppm_symbol", _wrap_bppm_symbol}, +{"RNAc::mean_bp_dist", _wrap_mean_bp_dist}, +{"RNAc::pbacktrack", _wrap_pbacktrack}, +{"RNAc::inverse_fold", _wrap_inverse_fold}, +{"RNAc::inverse_pf_fold", _wrap_inverse_pf_fold}, +{"RNAc::bondT_i_set", _wrap_bondT_i_set}, +{"RNAc::bondT_i_get", _wrap_bondT_i_get}, +{"RNAc::bondT_j_set", _wrap_bondT_j_set}, +{"RNAc::bondT_j_get", _wrap_bondT_j_get}, +{"RNAc::bondT_get", _wrap_bondT_get}, +{"RNAc::new_bondT", _wrap_new_bondT}, +{"RNAc::delete_bondT", _wrap_delete_bondT}, +{"RNAc::option_string", _wrap_option_string}, +{"RNAc::SOLUTION_energy_set", _wrap_SOLUTION_energy_set}, +{"RNAc::SOLUTION_energy_get", _wrap_SOLUTION_energy_get}, +{"RNAc::SOLUTION_structure_set", _wrap_SOLUTION_structure_set}, +{"RNAc::SOLUTION_structure_get", _wrap_SOLUTION_structure_get}, +{"RNAc::SOLUTION_get", _wrap_SOLUTION_get}, +{"RNAc::SOLUTION_size", _wrap_SOLUTION_size}, +{"RNAc::delete_SOLUTION", _wrap_delete_SOLUTION}, +{"RNAc::new_SOLUTION", _wrap_new_SOLUTION}, +{"RNAc::subopt", _wrap_subopt}, +{"RNAc::get_pr", _wrap_get_pr}, +{"RNAc::b2HIT", _wrap_b2HIT}, +{"RNAc::b2C", _wrap_b2C}, +{"RNAc::b2Shapiro", _wrap_b2Shapiro}, +{"RNAc::add_root", _wrap_add_root}, +{"RNAc::expand_Shapiro", _wrap_expand_Shapiro}, +{"RNAc::expand_Full", _wrap_expand_Full}, +{"RNAc::unexpand_Full", _wrap_unexpand_Full}, +{"RNAc::unweight", _wrap_unweight}, +{"RNAc::unexpand_aligned_F", _wrap_unexpand_aligned_F}, +{"RNAc::parse_structure", _wrap_parse_structure}, +{"RNAc::make_tree", _wrap_make_tree}, +{"RNAc::tree_edit_distance", _wrap_tree_edit_distance}, +{"RNAc::print_tree", _wrap_print_tree}, +{"RNAc::free_tree", _wrap_free_tree}, +{"RNAc::Make_swString", _wrap_Make_swString}, +{"RNAc::string_edit_distance", _wrap_string_edit_distance}, +{"RNAc::Make_bp_profile", _wrap_Make_bp_profile}, +{"RNAc::profile_edit_distance", _wrap_profile_edit_distance}, +{"RNAc::print_bppm", _wrap_print_bppm}, +{"RNAc::free_profile", _wrap_free_profile}, +{"RNAc::space", _wrap_space}, +{"RNAc::xrealloc", _wrap_xrealloc}, +{"RNAc::nrerror", _wrap_nrerror}, +{"RNAc::init_rand", _wrap_init_rand}, +{"RNAc::urn", _wrap_urn}, +{"RNAc::int_urn", _wrap_int_urn}, +{"RNAc::filecopy", _wrap_filecopy}, +{"RNAc::time_stamp", _wrap_time_stamp}, +{"RNAc::random_string", _wrap_random_string}, +{"RNAc::hamming", _wrap_hamming}, +{"RNAc::get_line", _wrap_get_line}, +{"RNAc::pack_structure", _wrap_pack_structure}, +{"RNAc::unpack_structure", _wrap_unpack_structure}, +{"RNAc::make_pair_table", _wrap_make_pair_table}, +{"RNAc::bp_distance", _wrap_bp_distance}, +{"RNAc::read_parameter_file", _wrap_read_parameter_file}, +{"RNAc::write_parameter_file", _wrap_write_parameter_file}, +{"RNAc::deref_any", _wrap_deref_any}, +{"RNAc::scale_parameters", _wrap_scale_parameters}, +{"RNAc::copy_parameters", _wrap_copy_parameters}, +{"RNAc::set_parameters", _wrap_set_parameters}, +{"RNAc::get_aligned_line", _wrap_get_aligned_line}, +{"RNAc::make_loop_index", _wrap_make_loop_index}, +{"RNAc::energy_of_move", _wrap_energy_of_move}, +{"RNAc::PS_rna_plot", _wrap_PS_rna_plot}, +{"RNAc::PS_rna_plot_a", _wrap_PS_rna_plot_a}, +{"RNAc::gmlRNA", _wrap_gmlRNA}, +{"RNAc::ssv_rna_plot", _wrap_ssv_rna_plot}, +{"RNAc::svg_rna_plot", _wrap_svg_rna_plot}, +{"RNAc::xrna_plot", _wrap_xrna_plot}, +{"RNAc::PS_dot_plot", _wrap_PS_dot_plot}, +{"RNAc::cpair_i_set", _wrap_cpair_i_set}, +{"RNAc::cpair_i_get", _wrap_cpair_i_get}, +{"RNAc::cpair_j_set", _wrap_cpair_j_set}, +{"RNAc::cpair_j_get", _wrap_cpair_j_get}, +{"RNAc::cpair_mfe_set", _wrap_cpair_mfe_set}, +{"RNAc::cpair_mfe_get", _wrap_cpair_mfe_get}, +{"RNAc::cpair_p_set", _wrap_cpair_p_set}, +{"RNAc::cpair_p_get", _wrap_cpair_p_get}, +{"RNAc::cpair_hue_set", _wrap_cpair_hue_set}, +{"RNAc::cpair_hue_get", _wrap_cpair_hue_get}, +{"RNAc::cpair_sat_set", _wrap_cpair_sat_set}, +{"RNAc::cpair_sat_get", _wrap_cpair_sat_get}, +{"RNAc::new_cpair", _wrap_new_cpair}, +{"RNAc::delete_cpair", _wrap_delete_cpair}, +{"RNAc::PS_color_dot_plot", _wrap_PS_color_dot_plot}, +{"RNAc::plist_i_set", _wrap_plist_i_set}, +{"RNAc::plist_i_get", _wrap_plist_i_get}, +{"RNAc::plist_j_set", _wrap_plist_j_set}, +{"RNAc::plist_j_get", _wrap_plist_j_get}, +{"RNAc::plist_p_set", _wrap_plist_p_set}, +{"RNAc::plist_p_get", _wrap_plist_p_get}, +{"RNAc::new_plist", _wrap_new_plist}, +{"RNAc::delete_plist", _wrap_delete_plist}, +{"RNAc::PS_dot_plot_list", _wrap_PS_dot_plot_list}, +{0,0} +}; + + +static void SWIG_Perl_SetTypeListHandle(swig_type_info **handle) { + SV *pointer; + + /* create a new pointer */ + pointer = get_sv("swig_runtime_data::type_pointer" SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE); + sv_setiv(pointer, PTR2IV(swig_type_list_handle)); +} + +static swig_type_info ** +SWIG_Perl_LookupTypePointer(swig_type_info **type_list_handle) { + swig_type_info **type_pointer; + + /* first check if module already created */ + type_pointer = SWIG_Perl_GetTypeListHandle(); + if (type_pointer) { + return type_pointer; + } else { + /* create a new module and variable */ + SWIG_Perl_SetTypeListHandle(type_list_handle); + return type_list_handle; + } +} + + +#ifdef __cplusplus +extern "C" +#endif + +XS(SWIG_init) { + dXSARGS; + int i; + static int _init = 0; + if (!_init) { + swig_type_list_handle = SWIG_Perl_LookupTypePointer(swig_type_list_handle); + for (i = 0; swig_types_initial[i]; i++) { + swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]); + } + _init = 1; + } + + /* Install commands */ + for (i = 0; swig_commands[i].name; i++) { + newXS((char*) swig_commands[i].name,swig_commands[i].wrapper, (char*)__FILE__); + } + + /* Install variables */ + for (i = 0; swig_variables[i].name; i++) { + SV *sv; + sv = perl_get_sv((char*) swig_variables[i].name, TRUE | 0x2); + if (swig_variables[i].type) { + SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0); + } else { + sv_setiv(sv,(IV) 0); + } + swig_create_magic(sv, (char *) swig_variables[i].name, swig_variables[i].set, swig_variables[i].get); + } + + /* Install constant */ + for (i = 0; swig_constants[i].type; i++) { + SV *sv; + sv = perl_get_sv((char*)swig_constants[i].name, TRUE | 0x2); + switch(swig_constants[i].type) { + case SWIG_INT: + sv_setiv(sv, (IV) swig_constants[i].lvalue); + break; + case SWIG_FLOAT: + sv_setnv(sv, (double) swig_constants[i].dvalue); + break; + case SWIG_STRING: + sv_setpv(sv, (char *) swig_constants[i].pvalue); + break; + case SWIG_POINTER: + SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0); + break; + case SWIG_BINARY: + SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype)); + break; + default: + break; + } + SvREADONLY_on(sv); + } + + SWIG_TypeClientData(SWIGTYPE_p_intArray, (void*) "RNA::intArray"); + SWIG_TypeClientData(SWIGTYPE_p_floatArray, (void*) "RNA::floatArray"); + SWIG_TypeClientData(SWIGTYPE_p_doubleArray, (void*) "RNA::doubleArray"); + SWIG_TypeClientData(SWIGTYPE_p_bond, (void*) "RNA::bondT"); + SWIG_TypeClientData(SWIGTYPE_p_SOLUTION, (void*) "RNA::SOLUTION"); + + /* work around segfault when script tries to free symbolset */ + + symbolset = (char *) space(21); + strcpy(symbolset, "AUGC"); + + + SWIG_TypeClientData(SWIGTYPE_p_cpair, (void*) "RNA::cpair"); + SWIG_TypeClientData(SWIGTYPE_p_plist, (void*) "RNA::plist"); + ST(0) = &PL_sv_yes; + XSRETURN(1); +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA_wrap.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNA_wrap.o new file mode 100755 index 0000000000000000000000000000000000000000..ba5cde282f719bd31a7e23ff8094f752e8bae2bf GIT binary patch literal 404408 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 lKC9%rOWf!)iKPJV5P3IynM#9F zFThtYE2n;L5a3oXTS3ha32-~GqA~ieD0zpMEu^CEl;i7VzogFjo|Ge)uThJ10k(PB zSR($#a(vMQqKzg2c6iyo2>_er__8CUO40l^xeSm}^oXcv zZ7!QiEcqLecYQ8vrr~~6j&Clz7docsaRF}5Whc|1JR$0RC6}E>SUu%DgIcsTm;Ifn zeT^t;doFv1kbF^&FF@$*qAfxVx1c9S0es2J^S0(Pg(`YkAla77zE4QLN>lrsvPdpF zhos7DVo)B;V?oNhRU}@K$G(Y~Y0)19_)s1@iimKVKx1Vd`_nXluglKKV_k&R8>0EE z^Vs#6Cls}alGo(1d_v=|qU+Y?F^zEkn*e{8$F3%N{<~=Y`aE_qNtHLn*Nu5>*0BKp zF&tD4gEf!cLIb*6?+S2F9-BcGy+;#gn521ZBQ@cD@pXS5n_U5LkD#1|jLjqB z|F8Jkz}SDO346sDH8M7Vy6ywfIg1&~hvihXPqeq0v8PFld?>)BjNJyyspzBgFzBFX z#{Nt!xu2$LIc3WkyO0|A$pAjS4>GnF)@{)Nje{!~8%4scYbXaFV%qgYgo;CCUdgoA z32BF8IRCy1E(;h-MNY>k4zFg~*9gxX$KQC}YnYZl2C(XQi^FS~w)P~zF2`;TuV-3| z3$WX949~xjY3qo}J&p9-ri6_QAAE zNmMh3=*AsP+d}0JaQu*ueGAjp5LNjd+l`g=FV5F~Limo8aC5%aL8|i@?mL9& z$=9l=zsAe__vUMUs{dFCFVELrC#skr;Ro}zMoNF2gjeKiWONlxl<-6OS~KBS;Sh3R zWxl48R+uE=Rr&A&13um%B;o3O?HfeilO?u&%_Z^WqFaiATT1l% zbqRO)wXxKn*U0>xe(hsw-?cLT9>11L{qt=J|JScAruNiIc&}fpqxx=^{k_kxg=su) zk??-M_67QWtArN@vK>NRA0Do7) zD+5|rCEz>sFIK=kyugFK?J0yXUflHX5AxIxoiBYFG0V?J+Rqo&Ox z`LWRT>c7>R_ABDQ zKS}+!M$_Cxe}9(xZ>^?{p#Iz;@ma5Fe<1zV;`jt)lT)@)(@Kb6cgg;vj18& zZSZKo?@72#(-skb{@3v>6bt)M(-`sBUPl8juS3&lUvJR|67JNry<|UpB=Os$X>Sle z?RR|0>1Us&DTMz4S^x5&wx8sM+bImN9|yG%ji=Ws^xcC&t%3A^u7pgbl|k)F%I|l!D)fC-P-`XrDsWbDcy&;l1pdo8Zov0A{%e9t;dxm7 z+T^}*B$7RXKR4W{_yDsG@U?n|2y{@`1LzfX1{oo=Ao_eEpeg}*mBMK#VY7P;mGB?@ zxtvOXr-zqNLxvKqkns}Ex0G-}w1hKJ!WQ>OR6<3WqI``?*dj}~h)kO;7%~X3s5vO@Phpt z6gFr$x%{XM75zD=R6r`*3+X#(1i99*(l?|Pved!Gfno=ZT*=@0m>YdHsEjOGtoIFB zk13IZT}Qdf$+t%fE5FDEG)kl>WHlJSK}XZv1z{5G3y>az#*i^a3oFa0(?UN?`5{j-!*5u!jkRFMz*290rBL#=6(ga3-;m97{GJzLQ^n=!8^G+ zL*3fdpr)YiI0*y+#=@dK_^c7CV0O+{xAq4RO>hV|g(&R|aDK4RL6dx>)wYiVI8=W1 zYR?P8dTuvn|Wz(Pr+$AK{oMo7= zf+*a>?%)K&m|q1nT#%2CEkW0~OC^J_cR&>G5rT{%oGv^UBlx;Ih1rw6bu`rQAb$y^s~?Ec5iA7;Rrir?Kp0=^0`#GPyvooY zf)jH7=w68I1)K0^E(AgVFGLy97z|#<0ZSQOvJ9;a*;K_L)^>eZp&f!E|LlI9iX0DC zej6<>#0!n1#kdtfL(9wbaifKXmLoPmf?iQ-zEP@nO))C*JFfOnD+0>Ue`0iUcDSdY z{DMdE=QLDOiWj1iptX`g)=CCjD;Z*~q|m5Dn*}Yd4t0o;FVxP15>$)0lB8g+q300_ zJKfI`3fF+7_d+C0#0!DKFe?hfttgaQQ5a!GVWbs>GAjz@1`67EV4#kcMU`q7LCdK} zOR!ukflyb+aHZ@l8>3Bv&P522pw98i&~pMn|1a)afO$a>Z1t2^QO4s1n~$z6UNOMzg)X8d^z;$b3Qu$|yC-$(60x3qx(jgvGk2LW9b`X#?m*|!16KhjZZ3+~Ou#Rd5d~uLI7L@j?*Bu~x#EU?q&>tb{SqN*EPZ!kAAw0txhFSvvV$RHRYWdeR<1c;df0b>M+P67qy5eN)4k3c{(k3b-3jKEq{ z7Z@y{QuZM*2n->g2aUjG=<`6KfX1+UL9>COllZssOvP9Qiq3)RaF$JEZm>n*D4}F0 zvnQaK0>xsirmz5V1WH=D#GcBI23-b*2~}OmC{QynT&Uw2>_uurc`mQvOl9a}#65p? zuK|Vy7o&oYVb6@g3o*v0S;zQu)-gWaI>wdOF`i}}m@i* z`#LqfL4uRD=jm%mf>X4oF%;@|Ws9b21t0_UPKOx(O05YdgW4#+&d~k|^{ul{!$V63_U*~AIP^T_-+`!3YuJ#YYxk*aY^R>G`gX&!pyg(Vc99)<4clR44 z`iK@cKq4071$!J~+nxUtE=m+u2Yz$=1*EcXfEnF^=lC}-+cpJIf%xWQMPzIY6i|T8 z0B-K!zj?|aTLyUTANE7jyD*zbA{i7R;E#a46d1?xau!KlLpsRoT#{HTB-~_>-b5E>$|P| zEj`|OB_4-9gJ!x8aDH>C&!K=}FXNBHTZNCxFzO?R2*Y=&^kEp);qcO5<26O~xzt^F z<5J0U?c5FI#!g^RfO!v~8#bV8mX4jEjSFB;OfGi@P=|g9^J-kaBvDoS0BkkRFF~(% z1IBb*K!QH)TWJ2c0tp7RJs9P210@*Lz5z8cPLp7v_LU$&!*nXvUM&GQNPaEVo(0p5 z8zRAS?QO!UP=aH$S$=>+B{*Ii068=6D969h42WROfsPzk;&`8fleNM0b+~NN6zxjF zs!W1YwS^e@aibi6L_a#qDz%@XKgNxv5&+K7&cjHL8|U~I2WM(Wl>$7*@gXmHmbMNy z$hhMixgbVo*_ql;sYO#9@9@O4wFCGa_c^{r!dW&~qhRxKr%Uic?MoPsanmFk7i%X$ zjEp}%rcs|fDH^S^ zry)GXJx%06q~=neLOz#Dqn%Ia5{Joc0WS4Xe9IqhetW#)`~YpszhWHT4%q;1a5%q) z67#=uDqgr$N<6e25-9&$j%rFW7|#yp)k6^`dE(Qcu{;Wdx(vjk4jRaa4F+k#$Wqul zAihCC0Xf)Q2}f6$JEQUAojA{O`~3KL7W4O`l{Voa9Ov zG>JS5E|n}dmrAyfOC?j;rIN+zQb}{VRGR;}RPv&@RB}QLZA5wMY{^?XSbi93VaYx8 zh=k-aaj8cEaH%v+cd6vaDZL6WR49^?KjNKwyMy2o&tQt0fwSeM>9Y-%A zNqje4F;N*dF#rfoSO>rgWmpA)YT3d?PQa6tVUrA41$?|R?05rqv+wf1|lAIQY%`nmNf(Z8z^bmlqwD{1$=s-8@_juSIMWMqik@yl21hu zJn|&`>B0-hw>D8LpL0Xj}VK~?|~9#tWrLUu+s1t~2V9h9H;whQy9L1BWnhuMjA5)v{Oc;y)T*d{q|O zf)_8M2THys3vI=V18%(dhLg}%%i8c_!7#k|wv)DpsAUnn$SK8(I$6ekyx2)8Zj@y# zyu+)_9E=w?J5S?fG~mT4;Hi@DaJQ>k)`%D7g!)2R#$vp93Y=21NS4uz7oR{5lr%W6 zM!aYTF_+x$Jc}2)882=hf)_t?{sd%&KE;bLv{cE@ zWf>8?_z?}m3Ry-6Ui_T~`j<|MZ&J%T@uJ*`7mqk;w~Si02QMZ=9G5&M%V?x3ty7^smKB=2iLXCsKbF!&7nU-WYDSyH@^*laMmILHHl$r2?@m^M4p19=1y5UoZvG zUqp#s)`Y z1>X|gR?Z&4SOnh|Zh|rFW~$*G0gYEm$pbu*{Ix%ZC<~T4ZU)_ztSrUz2!|IPRx*%= zXQYEV4;@LNO$8Mgqg#EL>;}(uXu~k-!SkeZSkb1@h|QIts*QpO4c17|tKA0y8a!Wu zKJDv}W5EmL)GnYYV2UeD%QOjixY8I?&w31eRO1}hfHvH)&*n_PE z|DU%vfsdl--bTBpCosuOlF6RPVq}p(0?A|n!WtuCQ#9--DghD*vSkGXHGrTfYXo;x zL{Vf>Tv=p^D2S*S5qHpl@`?+HB5t63=0HO1?_|L@-4cP~G>rcc%Br=I6jbyamw zPv>rvZoN0_OWpGxb0DH-M12LLnwAN%r_GqB5s=uQ#dn2tIq?T|sb5TTp}VkKFgeDa zapF)wjqs}zhmI7(v(og(bfqZ$W*!&E#>NyN^s&E7Gco2n44AQhNN4KY^tD2Wo9HI3 zXoIr9P1=v|TVVLSw7!q+gru~@@cF#nKQU7J{CvC3@csw&`l4!3O#Lz!z0DUb`#l|h z6%NTK0P-&_nF!P8eFH;@FM*b(bmq*5OkX0OM{X~DPvuMEiv}7&=vNRSZmPa9U0$07 zh#Ft3Q7s<2JB4z(9BjOc$_e$q%hymjU6B9V@g9M6H31Vk;P#Mv1kT|gcdE%lc_^pL z;Sl$)@CtF$Et|0M$lr%`B_-&5qT~4mY zhYRy56JW`7)MseB_#bIEX)zkZ`j2NG_M?*W3}X=bQ7dG`e2sI&IwAO?mguq76^8Yl zG~LmYCrmM{@1^O9o;-SnVf`RYU(8ZE_D5;@V`4EnStmXGrC}`JBse9_#F+arb6P)n zco=FL^CX5E>$Hcs(Bdk@J%ea=B*ZhGROCj@L$ZxJGBRSCg`nW9xQ{_SIung){U%L! zOn018*6$uUjK$DbJJuhvDqqZ9EnxmBO+TulyCorR!nfuD*XK@(KtHx_6pzz}xSvHq zVq?iL^2Oiov9WdoA%2nmu$28#r|Fmh>FPd+TT4BDjUP??u{}o=X!a zFdrrW)UjfZ)NamKwDG;4z-K6COPd-90p%?s(D3P=+@oSYhEj=edof zmk~kB8%|guZo1tU;-<#Hg(f-% zGhc|CZj*<&sndqI={vpE(&NaEw`E#Vn@w9&25VO6UYWjCFun zY<&qI3}@)hnD*dy8g|qo95Xo?XO3BB#n6olv)rPQj*b&B6%xiB^E1Xwv(jo1rJfjr zoU1IlYQm*)%yK`>YKz-1Hl_yijXBLCczhKPefMH7#C-})ltlHJ)2&v>x%_)1e)A5= zxyI%kU0G6Pn6s@_%sF~InRBG+VWM*-I=&)(1ZNsRo&s1{6VP9S`OVWN-Z#N$lOWaj zZZ_H^^1j<}?Y|5!(nC^;La5vABJ}ogm*a@AH<8T6Q08l&NR=hQq)>xg`%8G=P4G<^-eb7P zxqZ{+C<|}i8{>0ojJUm&8X=GLeu=)88Yz$UwrUQG-?o7(^JimWMRA$WdkB+4s`yzD zedFtTIS*#c`-FTAkUgo1-lORLsqtiilXo~8I5mNup`umtaWGR8+hRBTUL?NM z=FEqpE{>W>uuW|~f?YF5%_j8O)aIk;=-o&>DIwmKn8;Er_AtC_fs!I#tUz_T_G4v| z67ncq+g#rlcU_uWMp{$fgkpTLYS*{1HNIwbQz=c=x3q&5QU(h@{=|Me+TI z4QqYgB@rkWErrW%*biZ}ON(jOkNmg5{s|{nS}aAt-SSh|dojkO#j$-D_B1TM)8g4~ zfL#*_JE4m>{u|iO`(P*b7xuj8ecr2xPtr(X&)$YFM##QoqOe!J=JS?gyh&@q{8sGn z84(mhf*0diV@{0-ij|Yw+=!s)I5vB^@*m_~WtNA)XE{qQEpIb@p4P`m{jRgVe} zF=!!Ict})e4l>f8zsfMWq`+;D%cPLhVe4jz!z!myE-e(yVQpzS0P6%~k%mzi{`a_8 zk*6KqZih+7yJ~$IBx0{9?68X_g11~W3k5DmRrD{lijd!DV0Z zQv5B8T9(>U9AJr+0vZ|(Ygt;uT4HQBhX+D{Rtng(WLm(42mo_f>eMke8+g?i!%a%N zq!kJqTjHsP+S0TT483?Q8JopM`+gxzBNfksnm&% zxy7ow48)sbWn&I)_vj@en--Vm@OE9(91C5q9nD@iMjT(5_8nT=d|sTn=CBMpZ#Ri^ z9g`=W@_D~dHTThYu#2lnMimEws@cWI%4*nhs@bJgQx{y#>s(FV;A?=50HC{b1@!>G z-2+?dcwei4EvJI_wF>HkEBHWG@Df#UG#SY;u3$F6lQ7t!f0!iG8ovWU!I|(i>^I5ghnllwM(ey40aCOLI-};8p#bIqLcY?P%a;c8g7tP z8+lh3!lxyTWMe{1GVVW3O9F9zm#X%?dcSEAy)c>|GKN-aA##H21=2v)CR zwPN?Lxi&K0Mw8O#6bWx6LA!Z<{xy4mQlYg{wI{V{pJW z(!|++kEE0{8=OkAy}ItVGnJ0Gqvcc5V}T2e-?w} zsSq*!4R1?R#;FjRG7zqu2MHN3pfi7AU<_I5EeGL^j-7yTj)4i3-Z*6gpVNTP1p}Y6 zfsOPDK)DXr&t~IBBJ#6=@MjQ8<3_>s8aI-&Gtq0@NYcZk4wQbx#m^{4lwn+h&F13Q zQ2dNCNQm?+l(Rs|rx7%fQ3`?ZP7q3>hLRY}B~hVt9gH__w**QuqtpYTd9>n^tf3?a zb4gYxbAVElhoe#$B^d~h1fis8C@H~QQWVNtK>468P%;>06%bAZp=4+%8NpmK6iWCI zd@D=SPG?4;Zzm_lC`Fw$l+M9iIxCdHKpEHuN98d}84z{`q2y^OdBI%r6v{(D8A1yB zGD;l~y3%MWyK`R+rEf5oz6#|lprq36i$X@p1HzIZltK-qFqliBLTNn|@0z96=Lkkw z1_Uo|OWRyVXec9sxr|UK6M+&(br&&;9|$)Ep%iH-MZsK(6v_)g8AqdODWent;fo-Y zQVpdvm`kZb`5h=ZmjR`WQ5t~IAzmpe(@@HSxs)jsJjHHYOI&6!N(K;;X$X>SG($s~ z!6-cB%&<{%HrYeYt&POWhlZT{k>pXc&1YZ&{U!)_z6Lx$7AzlrkXf3_^KWLwPtjR1YhZQlKO>11 zB$pR8lox}!yr@vRjKED9%(><^M)3pTrXZAU8p^g{F548!Y@qy#J5T0rMkxZq7eOey zHI&`KTy`szy+HY1Tr@CB0}wjU2`d%t*HHEcbJ?#@lCMKo#6R;OqhtVKaS+Nu4do!C z6pG2^ppBBV4*+TJ(X{Y!Bf3%&6H)zNW!TcI*WFx%}C=Yf8 z$_Yj}4TJ&Ir=-dg8p?@aekW{{oD&Ye9~Hkw*W)>8+_Ex%W8^}ht`0)}O+)@InBQ+U zvXNc{ly!vi52I`XLO7kplHWfX%0I#U{;^SVJct>`&&97rruaP#c&f?)mpwPS6%~(b$1HyMfD6tw!ETaq)?Hj95GDl(;y_?E>PMtN*xd) zE>&FGYbfo5xwKa(?i=v;ujs-ghf(}Mpx^!5igGlRoM0|F3Z*|#Mugy~?u@bw2ww)F zbk|V22XpDJP?iCOmgHsuqci|vWU}H?prI55b16_L9|NUP9*!EoC`CYcE(m3ShB6?S z%K(Ma^hWeDAJxq$n}D$BGR0-6hBA~lyL#V@gS5NHIy5Jx!kBw z)&k{Hn#)QUs<( z2}2B^&!Ea(9pE>gtIR-kvxBOfuT?oenD~6VN+bP}QHJp?P34Ojg%G|ALRqY#EDk2V z*ha~ryL3dnRwI6IF!AMzcoC{xLUZk-T;*w0mq)gY)uURKj|LNe)UMJ<{}3o0JUD6% zqY%QgK`3i9lr_P`*VrgIrIPrw8u4|(#Mdk0NkzE1NCVU>TqXU`-XL2Ne?_bEm0;qp z*i{;&TK=|Cau%SYXW$IwpLEE@ghxDC%>#=i3^A}6V{r+SgbKqw zVr8)jl^HZz%Z3OSk0IE1O~S<&<+y1_w@h7!jp z+|A<@$|9iL-3Tbn7-cpP4g{ez(@>fPb7`hfE&%0V51_PWlzJd^Zl@Hr)=*kA3Wu<@ zjgqq#A*4aBt#}N`9-Z5H=eF$P&b2>jqa2N|a z9JOFw=b=fi!{gM{*Nc+WN_g}M@(_!a_BXThK+LR__zI<%#xWiyvp zK7{#UZXDzdRG2G|6acncUY4#aifiJ+Cxv71O{Ex;XyPP_~ogT9gN70i)w)8tS>38bVS9VT{Ollz$c#k>>9aG9Ui6LFUu^(zncFPD@iID>iRcuFuN*Gp z{*&Km0*Z5~V?60G>wwa|6ZYll@}w52C-q2e_0)Gnq&`7i$xfu!=#hGwBQ-oNh2r*% z9XE0QtW~jkR*w~%GFH#(v0^iqXg`fPYXi2dSkh3Kos5s{G$aVvX|SSz%>l&*Y<6r! zzO5v1(Eg#TIT^S* zEpT;u;Oafg;TkxDI`f>s?dI6XapnyV!E>K_Q^jeIKF+WyN!j5ZzM@)F&qN_Cq;A&)kxvbRJ`M3K8El21G){le?AZc6kg zn&?k-(cgJq?h4Ug0e^%e`ZFQZ8B#u1O25#11e;Rn7kZCiGnc4^qKa5-Sxt#24Jm)1 zKI#W0$bFMaf`^oPWRL(m6Bm0pt`NP$?0|kyAih%W;HEej`6-i--6R#sX^%4k=M=4dPfu3rkGNF`+yq%Q=Zn8LOC3o|0v(*vuu`cVf1rM{%>p zlZL|VN_=G3AVI*c#0LdzG$__#vtuIy_AW9=rk!c@UIh0dnt`&Nu9O`Vtn8p6h4+p8 zTc*JM37XOH)8k~I?S@o4aP73fwbKLFBXlTS1N{N8#R*)R9XRe(?L*btrGpAox*jMt zWuVgaK(U!iG_!jdMi*>Z3t_lwixHo(*rWI~0+SMKb|^%A%8@~8>`bHAgK$swKwl?& zT_aAnPV#h{KNUsaqbbaSP_rIK-r85iqCks9fgX$NLL=cC7zTh(omlh{;%TH2>$tum zG~8+WsaW*aW5K43MSndOY~~WpZ+hbvHnyw>U~nv^Vvk}`*9Z50z{Zv>Vv&jrQe$Tt zy;j5hv9G_JM6n7)i425X(6T85Q6d8&7qo2V63eZaLEgibJr9PQXox{N2rIF* zDC|Q^*dA_EJQKrHOb`aUca6d-t`Fv-okuRP|G4dByAp2|>l4YT08IC#xd|Uc5P5Lrj`qQD~;TpIB02z+- zdu{1Fa4zSDms8A&&^b7%xZ&?pLAhTK3Y#)0_v=AnGnYvJc@2Imj4kU?Qc#%vEItq! z{B%V`CK24GW3z)GB69~aNS~c)^m-NU^8x_q?H13C$W<%;@H;}mQ%rB!Nw!tOEhH4l z#!#~XC^rnjzFd55)FQP}kJOu?KMh8t76PEqiPZBlQj<7Rn>bR#JEY_R^@X5Fy{IDf zl8jU-U-YmkBlVJuR54%lu$fDw_YN|Qcd=#dBL#)ohwzczfCS-s3Ln&wRt-ipvDuLk z;qpQtiL^6~-Y4OHbp}xSIUT8AP^kI^O)&l3)YwM;jw-mfpqqN{gqlS_Yd#$NGHmZ? zVS7gp+ZUlP4MW(T0YI4(w)Z$raws_vO7PsH-dAy|*M|}|Wt{5up@hxcHvsd{P+S{h z%l-(497>2mGzdE(zz+s6+VnaGm+P`2q|j{&g*>1X%D%F@8b#H#I6oF@Cgb=ku2Z6q zX`+wmqJIrNGy3o{}!_6-TlnX(pi4jKKO{~LA@k3wS{@~MuO&Jt3 zOk0PsnM-@PWwe#Ro;^kCC_x20uFp;tUy!4AN(38oe4%#~&ta z3V>m9K;bp(FcBRdP=?7);++Av4G~BZ!^}FMbSuKXj8tM+@R~I-Ok1<2hrK@vkvfdJ z_BoNdB#at>RErx1O+-9QIiNHZKPTZ6rJ0IUa~UZ)ps*<;)m%nO4k&Eq66vRJ!bLE) ztRzxUnB5v5*#RU7*I96)aLoq6udvyX5#jm)8Qmb#&NO=Wz)|$|yLp|{k**60)pbDw z%5`!;NxcQ`U-*!83^Vh9c5DpxW!O4uVe6=et$$cGTm$D(=Lsilon_eMDlIomEl#?q zKy}r-6q_ z1p02U7cOGOdV@UKI?Y7Um;@vP!_3n-awVYcSPax+F;I_1Nmx2u10Dc)u=?kP%U~hi zS+Ncgq2W$5RK;SL9t$>QEQaZ^U^AC!y0Kml!`^QlklhoXwrmlLtB^rz z>`bHA5V%KP0)3<8m`f|xQF0yAY8DE*w?Hx}%v^=zMwY5bOwuATNsq*>VW)AYD-Z#I z6eki>gj`cjGgHF|o&!;)0#PmlAy=$y%0QIMK*$vwrE75moqVLc}-xn4O z*T7%E&vQi27c!k`=1!&bF1^XwluGZ?o1D#DqK4;_4gBW9$m&EqX_|?_4z>6mU6bB>!%G;3rKx-r`!^~wk^4H1Om!rT+P5Me* z`io(A!8H&IfFeiwV^X>tJRj%gm($FuFlr2L{wGvWR?DEs!IMoHl+`jQa`0p`mq;f~ z!sQvZtf8c!FncsU5SjM)pvZIvw+FDqHS9 zo@OS>PEvI{+*-FnvNg;!a0PrTT}8-9ZPg;RRgYACSR`Bn1pt`sMCvuWlkhaNog*c0 zjqDJSGDmW(cB)wI(mN2FGFH3v4#Z|I(f$vvQGdjiHJ3CLW-q}<_QOaJu$%Bf0jn!R zJVDcrjR;sOGDxPKY4m;u?$0#^$`q$7O$iFtl%R=bia7U-{OL7tf3!W4Pr}UEK1NUv%hgc{FMgw4#6S&VfQgTT7JdEHuPG6`v9oB~wHf5X+>q82gxwipk zE3RVR!St*c-eaYwXq5W6iwd;TjkZfKMIipV@qx(9#s@_v5!|L@vx6Waa|bd= zpPgy+dL8a>;JCid8!qE4j*NQ^u;DjFr6G%4ROn-iz7e zU2It&k%q$Tqxi@^i39K%v=i8Il=Zvku42q72z9W@wR^p+{nYmw*HNkBoZ;jyp0`d>*M(B1p>BG(bk2?AOUtJ z#s#?D-T}uha+Vs4+|&q0{xLY3_r@bx>oqsQXu1&lvZdE*(%0(JcY2?{2hv}{G0Pn3 z>ul+~7F*8^KPXLn->|`p6#&gY-1Zw)T%MD0k+Te&GA_@_xX4+CO(XMN)Jq{K0*PJN zY_%c;?;wMO*qKKDi3KD-7Res3nT(>xmMEQjG@W~NonLqZa1Cq)z$QoMTe{ADtW!=9 zZwsB6Sj9K|`<2Xh^yX(%%6vy}el~N7cH_l(C>mSVZ=|6x+jTd(djt|p5C@S(Q8>$Uqz#Y>A_qX@uS_JMl)LHKY?i(-tsK8l+9Ou9d;|}s4Fa5mVRa?Z7`&JZY z(6dD+MCADH8Sl%moe*KeO(pSM5nH*$`K_f`fnv+<1S9)OBsr(SqT{vLbJbGc&y2(_ z1+N4&-^6CeNd&JR86?%tGie)S!{_z|FX7xieF^9LY6ZgA1^}K$_R!ME$KjI;lg7ft<83K< zK=t?vP$g~=h<+C;EU}0S^J$AXHe~?AeA*(8&72gfQTz%d&L`fbkKg|rnR(zs0b2%Q zKVh?DBLa2~86?imH1c~b0-I+tk+kxeg(yl`iG8WPm8QLwuD!o+!z0k%0RVZ9_RD?z z6Ipph+(w$EEI!3Yx5=<9;I7nGmKLQwlY&ay`Q{)t&XAm{Vv{Cga|3rSHf3zmWNb!o z?_!f5Q6qj{$Wdxza0;3&;*bpVnaL=Md_t)msHq*Ot1a<8wF+wghT0L1+QCwQZ0RAw zL`#d2bf}agN77+R&Tze{*_3jI>rKrj%OL_5_$oQClANt{BX5$=^rL9$Y9(iqCTEf^ zXNIp8Tm!2BKraX2-Z({3oGK~GiJnbKajK*!CwexSB7xq4O;H?=(a1dA8cB`MT!x|@ zPbrEu8pRr&;$q(*xCRCSV1X0yIf9~n`pi{?@6ZXeDGA@96K0bMQxz{@Q-s4X9+~|p zrYn4A9g2EBtq8Bs2(QoyuksyQ1H!+8@G2*!_bZAI=oHzM6d%wjvdI()Gz%OQ#XpGR z`YVt;<1_P6)Oe$!_>4yJ8J*&LzLgt5@fZNMfFiH_o|U~=p0n$uDbLyU`Z>EnmdbN> zqkhglr_??#)yi|0O{w;IsaBq|Y_eM7cMh9U`^Ykg`#BlOA#`#mUHY6-dq`7zNLSn7 zYX#T9d;rut4f3&~_=(;iY)Xos=ncZA?BoEw1Dm3FHRd66dKi*#(aBM?W0Ruztw!-% zo#I*FAh-rP0^o$xAm0g!b|?Q{5&l6Z%%&v#gHD)D*~wAG3)mFlpNR0`&PdLqlcT8T zi;D1hjqrJ$uqXV`3n2U%0F1`=!10fwctNMgrlfd5r^u%4PwEcBO_!f=uEjr=F;n%`7uowVzhmgDcEZM2ccs+7!_;7SvSM5}u>~B*7 zZkGb&l^vT>!0l3iys~4{$b1?#(JIqGwWF}vBE%|lA~J}&ooVFXdOw7;i$$^mO@X3? zZz^RgG-WGvWlx1C!!6PFzrj6cV)jT<>q-$`WEvl|A0Q2zOTgAOR+`VTDEzE_;E_TR4YeQ zHd!t4`wN>=oAeOG4NOIH2BRsIj{8WdJ)@~TqpMAbICltYEdVq)YR~Fwf78_duB-h+ zSNo@~_AjOOoUYb3S?xJpEt{;C_+1YkdqStWdAAA^UhL}ilBg{NFoc~hcCeEQM>} zNdP2z>`}3+BTrnVbrXV|`(53Yz8+Ga92MD=`g%xxa#Uo~$lQ*aNM9bReH@!DMd(|P z45Dsl8u{xVfslzbK@Ev8jV}!2{Ub`*5KY+-U0G?w7`O&*1wdy<*)T_0%RJx=*BWkw z5_X;5aBNCp*Xa$%rjdCcDk5PqsI>x{tw9L89T~*j&NTApuSEU1;Yg-NnDr=H)S!e- z)r3veh20TxDO>}?05HN4R_+KBO;({dS*21|r8gOyQdyPWWNaFlQ&AHstN#j5|DtMJ zgizKM8ARRAH1h9w6hdNgu9){kn9ERf@@u8+9!=Rjy0TRfv*8*T0)QEgvPF(E(PWG5 zCKEcBh(ewdmMW3U^yah8QZY;}(^ayWORQTT!I0y*44W-f zs9%W;l4oZcy*9x8y;czH4Kc;2!(aA!L&)fZpK^M|+ry0fk&nS?%Oyyji7-zC!}}i< zrf0M;J)?)|m55cx!KVNK4xdizaHI%E8snH1a5!F%8M72(tl2 zFP~I|Picft>4dGwK5z}p0l*0-_NOBV(7AX0bHtniz{%VEzbO7^B!4-&vnlzX(N7{a zjm(DuOfB)pk9ejNHQO3QON>PZF}E`@d+qLx*=yMosJ@=Qy9tXl>)>$fX(cZ#GI(+h zi_|V-n@2{%H82_go=|)C@qv7pipqXf%35p6TIxt(d`U-1-l%<73`e5APvMd9a^u<@F( z@w%|vB3JzdVbK66b%afDgo!4*SxCW3QOKMq3c2+rDUp+Pk+#XR*JQo<*vuu?1%KjK z5ZJN@!^j?m1hZEvK1lsQP}_vf7An+lM+V8WGmTz1!+lUb1jmP%V$|W;D?Wq_n!V!X z>@{``oL+GwnHOpLf$`1XDopdVFwN7$^kC$4xCXKTu)qn^opzWwFn5Vya9|dwz}&3| zhE3V}ck8XsW-ifeb{@ZO!B0|fNLCWk* zqt_z1Z@d%-x0G)#K5%5txZ^+fS|sVBjqVA}}8#g9O=`M(-!!ep4rSq=eYNwoP$@ z(pCng@EL+gM6xB)%)s$ixl~ZLXhGSc2W4+$1KxNZ=mLNS1cm#_wxAQ}H5HNVvY*IB z51X=|Y?mRCiyk&v6IIX?d>l>rxog4nS|5`4BF#b+t;G+e?KXT*qx+st_lHQlJ;MmJ z1i&9o8@?|GYxo-bXFXa9X z%Jhz7?y|qyg2d2wmaRh8^IN2LL+W=?D6X0Rkc}sANUA_+4-f+yVf4 zlQcI+J6%AkE+9<_Xs-)kQwnIW3t*E4P?e*xDFKD+!Tm%Wk^;Y3hN8uZN90A3;fD&E6I3-}bE`UubV7xAXO%^~^K7maMI7k9!v_(?m zH#ec^y<{bzMiWq@3%Jie2Cjka09fD%n4=4rs|&b837Dq~U{ea1rwd?{1yGf*V^ac_ zZv=N-92@3Jzgdr>ldY71m70K+x_}q`bKx4e4FIbg0gved9@hn|QUadP1+XavJfRC< zlLb(fN3kgZL-19nd4lG}t$y<~isp>yzgI~0s%b$u*DJZnl50wE?|ce zuu~VnrWCMK7r-V9pepHA^-4h8^Wc8A8ogjX%KJ$0_q(B zpXvfW(*=C41bm?jU{ebCLKna$3!o}514AXCfds7Sh~y0B0Tf-Gt^}OX1f0Tuqhe;E*Z;<6E=;^{eY%5)-u%d6E>T*SYw?- z2644Bjr@BzLB-(4NPJOdA&PorDk;9G;3>@)rA=u~qCN~j%B=wKcB1%qaywZ*o ze>jTguqf@uwO^Q0ia$!bam^+NpX$g2CB=9!zO**a5#tt7W*&;R=P1T4G{!A-##vDV z;Tq@;fMkbpE1NN|B3efgzH@DVxf0Mu3Xu0M*pvd=NCEQBG@C4ds@#Ol5fI`Y(iU82l7IJC-DGP-Coy67^7M2+nX88HCp?8xXQdCP@hcUuOl>Jc@kKrH>Z zS$Zl}c~X^J8?h->RZ@-Kf0 z;vZ{=WMq_?fuez3RRl(A5g4gQU~<$qT@ZoaQQrtB0yo+bV2w8^jidCg$EMUcO7D7X z;{G4Fk;eN_&#%~Q)4pYCT{deWB?B46)y_2XUwj!V9&jO99Az#; zk?#s6Ww9n@u`cDYs3-CuWhDR}bfhfRPp@TBgzubQwMyB&`su}{RCcd^da=o;7gcG1 zp(6l4`lr)t+bd8|mWpIel<9{|H7mcggj zv-;_^PN`b2pI&TARqOTBi%lbQAu6V>R}2=!#8#I1lq{gkH-ZX8LncEWNwmF<{F$#p ze3J|$d!x+RDC*irMPRQMfxUVJK8~vIjR+J2px%kVJ|W7K7h7*f@uNF(%G$3KzoYk1 zHl^Zs^d8D4w5f(Fa$n2>hc(;2%8#{^(-31`+|_!Mz5)S~H@xHZ!9Oum~1& zvnyJgo7t2aUD4Xy%%+hU05oZgLp@d4Y}P``Y-A8uJJZOI-U=0WWFkq3HXBf6UaO=e zLMz8NPe-((}nh&KHwdS{@LlA%e-(52)>7r`~K9RPhDDVfnYMRDVh`(akJe2SeX zv1}zQM;FGX6qch4W0TJ-s&N-K#eds2RQFROBz>aIdK9%Es`&TO`1jHI-xyst1pF5Q zpvd9h&t}Z$Rew#+RkBdt(zsg586f4z)fAgj&HyP#uBO<;`)^P$b-8kosK;hY676&t z86?EcH1a3D28okeAt{bFGf?#TaHX?Y(^;(Rtc;!t*T7H!%yx8+i*AdV#(pAWyi!ss zmB?FzY)U1iQi;4Z$R;-oRdE2DA{?$`X z4}viFom&;f+jNR-N{YAX6xn2o1UeWT6h(TT&+M6iWO1}vgrb=v6~)CG#ll5wqMESIHhGGnS^3O2=f$qtZx&qA^~+MJD| zKW|cuS8I${>x^HHUIN#^3;^tNdcjkIBJQY)8<1<*lIQNz!g78|@r+WlR;rPgacoL8 zYo!`_8OJ88q54l^Q);f+2_d(2NAg-U`iE(38Lia3rm1;NSMy=?0JsJ^1E9fCvm=`C z2+LK?PGQ<#+wM~Q>vaBXO8#{^e>Ryv)wlth;&1E%^^9mFpGTW@D4J5N_KKDfF@B#IZ)k($*J!g0MdwNt z<6kw#zv_&AG0Wf@*a`rDxIG8|X7>^9K)=gDg-?e+q#QX~{;A~rCFRJ`l1(Y+FDXZk zmTa;dBJdM7CFij^C@E-;Bqqi*CZKq-k`ogXJP*gjX!CHJn0aswEC4`?BPT9~21Vzo zwRmCLKgCIip#_Gs)=w0sSZ^f7X!o<(lyZ_{wENj?vK%7tH8v$@)ay{PA__@|81poW zx|Az99W*%|bUA%u-Yphf0aRrlGknFrUvNC2#I1gv%hw9EtMlftx5>8AvL=agQfMfGv)k9kv`^6zx=ucS*)_Qf5;!-X$5! zNtsP%Om!T@rWk)jjNhdT)emCK1{58*OELaHWBh^6xFKdNTm!oRQ13AQP-lEdG5$zr z%%)`gk87S(!Sm|`f2G4fxSZ%h8j(u+tbY2GlPlUZ(Z4^s@&T^x1Yysvs zF`;>4wF_uAr4&!Bb^*;Mw+z*h21*X&5I6l1`205eh<9rwNwH=g9QrO*ypuHENjmQ~ zu}7AGcN74U9o|iJ-c1$nW;$;+CGTcBZ#J1X)zJ-<9Nzin+aUWSeJj`@)+|KP`C7%e zgT}an&Nx4IDO>{w!MHOqZcd|4hRv84MgeKs6R{GIB?ZWZ5t~v#mJ}ctMr<0HKcFV+ zLwTt7acs5-(TCO}gQ(k?Mt&VB+mVE%U#w}|Ya0FTQ_A{j%KGWbZjAkM1(dA=zz9d# zRf4;Ha$FrNE-K}No&%JwYosoDQOTy%b&b>|FDlvOhM@|(gP)>5XFr&K*Aq!G8U{u0 zKB(vyYxIkC`qi9qZjCkTQI!6;5^$>~;8tD0ir6-i>ecpqxyW1n#8f$JsQRMSV-BwNAR$bl4u}?h*bpZfuan!x0tJ|)t+ab+Te)egn zG>g+RX?)owOj~=M)GlAH@w(E!TWXiTG-Xq2-z~Mv-$t>?+KH_NaY}pU0n~csJ;ugXq1QZMLIjX1vIlu}J$+70Q7!x^ehQA?O&f_BI81T9ZdHl;du98b{l z6lIgu5ueteuhg9)b$h5Go5Y!UD0<-yrLIX_@RFiQoVKLMjOz{8z^4E(BJGK;nUo_N zvbnDAQcYd5uI@6Wu7$3SO{uPhu8vLFcHpxHn^N~~J%k;iQ#3cutRuSnmAYI_U9PUK zFmCVLaDNp5iH^Fiy1H(4%>z(39{?GSy6bdx*K2Y{N;z`La)Xj{qm(0;ENn_SH%d8j z$-*YfAp$MISIMb52qjO`iB=J3W}xVw50sn=O-_X_=gzoVxCROU(ASYu6-R*1D!y7U zw(oaOQ~ak({_?tsP04?{b)5vds2%;8tLb4WT8H$#EqLi)Gl&#g3ZI5dK z*T6rhZ-Jw1ouf=FY1V5Ew?PTps5cy&QrJel;n*}X6Tp;&efTk+!a>cp1|h5mGKjgI zY2-Kl2%6rGMe;_RxeP^Df3AeRp$U6K7xqcqSD!)Hr>JkOBW#Z&Of=bEy~*BE%J%6^ z#->!ZPj50djm)2=vSq0DCv3I|q3j$oh`OC=`P7Am%6fF z;$A!qWiJ3=pQEh7Q6`$~sMci1l(4V$CSy|y`&w@@Hu3xyDxxMEi&}SMvo#1|2arL` z?Myr;@i8<#8jj@8I5QbVhrd$7{?vs1sS68_p9k1B$jEQ_5oFgJRV`eWi}D33`*=tT)+2rEHR}j7_O*lCF$RBQp$CNm&u9-G$8-A(Xv?45Dsl8u@>c zvZpRVGB@5#M$!3`O4(dZ*<4-O1My4Y8rTnj1&*?LdXvr9n(R&`>@Hmxn^M?ax-d44 z%&(=eJk(#t&3G3Y#rLD4U23qHbpz`Ew6L)EsgR zW4W+pQ!+j%8Owz&n?`0QKvU!kP|s7?Y}O+3n~*_V?M%G(@k^+f6pG~Ac+-!f=l)Vs zzSX3Bt4lExu7GPG4gdze?&Q0q-^JV4!eSNiy{(MzW&I#Z?Mveyg-+-G&PgTvl$0$m zjoFm4Pf6MG(wI#nvjb?5>|g%G*MZ<=D-^PCL3l(od0fJ&*sQ82>uKB|gw43s5N@3v%+D&;j zjm*XXCSkkJ|Jf;k%w-3*sAYqiwmwbbQx zN_hVQAa3rRMmz7(lXUP!WOWPU64%|^9fVY8(O zeLoKdv^&|Zxw?~4RhoVSJDeIvr>!B+fl(5?6!rub}K#`*?&rv4&>lIqV zJ7)H6n3TFaBLcxb*P9MZZK+n5u2?+2-}GaVs2*|`J0YH(}H{?*Cm*K6uldw zgk7fzyG|E2IbjrB19Jc{+YvU>5hj}K2EEB{RLXABn~Y7V>?Xa**u?t}P!lQhquQz1 zY!O1)EMyRMJJZO&`xr#EybMWIf?1EE4IZVeN>f&)E4w?PCtL&917MY-Y?@RiSH05{ z=Ag&htKJz(*e$v+Hl?szbYW~7nU$!Bgq?2eGOk6#e$RF6^m<3tO^vuuS@cAu_{O{wfYT^XBr{+DWk zvQ4Nq5-e>ILRk}J5Oq5f&&GZOQAReB^$BJfiWY_|W$QI%>vd&Y6O!Q?IFI@opp56^ zjY1jEZqF$l&r2P0K4w$ucwXv|^D&z|A5#T2*c9C(M0a>DlDY(Q8H!$rRCMb!x^+6; zg9*Lh8h8!>e>e@X+inPE{DxxurerMVV>Tt@Hzi{^AG2v>z6EHC{MiVXF$8tltVQID zkU?DSOe0^sALkpo-T7I9S%;!&2};Umnv~CUDd!VjiHDRoj^lP`v^^hxk-+nDX=rcG0(?G5~w@Wl)aEpvZ3| z*u?w4K$3zo4vdMltv~auETGIiK?NdOEf5L{hwY8oZg~OT)|3ko@w9kslxP;37zN?8 zK!mOB49cWDyapkCH2f-Q)fUQr%i!~%;}`1q-3`AjJ>chKzg6&A>-hO>zx>|c5pEii z=1JxzI6T@ywN>+^;6+69B)NzXKWD!*iIxHUb9UaB;kq=5)&N%RH`DoR4YpJ9N{Zwp zC`C!b^t3bSsPQskhgfdpW{&t4e^moyCMM#{z?L9va}qf9hXq) zu$&^4%6)(snI8h>5fr@ypPflABYPtqxivUvKaA`{NOBg?!Czv}sy#ft;|c7Tg&oh( z$H0#N(8r*@q2J>NM8L^eMKt`d+Sdd6M{J#%!s^rpiTD?2eFFUfUa6J%3)_LDzeEt; zou0c89EG9G9GIuF6fdJ2g-JZlp^tlE9kv$l(!H>c-(N`&@N=`dghW&`oGjo4ix z)=ken1dsQdx{RaPvX8;YIw=sgPtW>O>};8y<^F-dU!I=hi27sO8e^p2rF5{cYc zeDt}@W&DjTt2N~f%udHgRxa%i%f1pH^sg87h#u{b=S?yf^}=UCMW(RG=n#^FeP0so z8~vzLtZIpjr7q#grORA&UUfK61+^|}GNTuDmWQ*DvClN`CD1LHUfzMYC#)|LfxlwCY6)Wf^S<0Uy2h?u_+coWK`gH%@);aL{JwUj-3{`3@|QO z`19q+7}*8KwJ_<&&uAQkx`o)~YFdcVQ&iK!q!?zDmS6yFY0{Ay)p+ZR`7EN9QG(sp zCIv2|8oQU9H^JA4pk7TCMpA`-qc`>7fz$}DB)lu-4Be1%i5|s$#u6u`(S>^KXEZ8L zFiD!(b;=m*Uya?aRrX$wx1&*VGnIF%D#3%DRNQR}_9oGu(d8O|>}v#{8zjg$^o@}M zgn9|@jmtzi=h=HkT333`a<}M^Ar@h!ZHq_F8{(u0u~vi`##L`YYTG4ekecRILohkF zT`G+OUKq>Rhk z)V8{Ux*29$#Z6&Fi1+uI=72KvqsS2PCnL?PKf}Vv^oRUSrkyF}X{ zQ+mRRv8_m2kj2{8gA|Oo5b7X6d518+w96XPo#TJpQo=J7{|jz9RpGfe4IhT|j0iu4 z&JPIDslT<1t2P3*L-hHRHtIB>WAA(knSMvHo!QR7i8>4 z^iu7*W}q&jB$^XdZAMk8jZ2Y>!_Gy(;J+qpMyy8OAg~gip~f|PP?+w13Ax;*8r_TC z9y4$Tq=#JJ7pKaHuq*8YVvTDqAo}UiZ-@hCBR}FV?2=CIO0q*;lh+(>G2aNcI+XS( z$7q@!*RCJBR&P4LI@sK^e=_I>As_ED(muQtrICrPkR4*t+fpKiUF7j2jST+8-ok@k zJ`^z{*uyf?E}>o_?r*$obG{(mzo)#Vr=;0A9f<1_7J9xw=Mk71KDk6_w!5&~bD;*vQ ziP^%#Adhhud8D_5M`GeI;js#RDPqAz9&U<9QsNBZkw+fuF7lX56UQZq4-1cm5O}{!))w$u3d67pbwQcjn z7Q&;5JceB4v5`i>OA~tu4}(0WUF2~bD^@c(ah&j21?dqFUgR+f-O9Wyae?s2Badyt z9%z?Wli|@Kah>p}!*~*L7`wqk=3ST#%~px;3XdZ4_y@ZW_L4mr&!+lP;n6ekl<+|G zjELl4u&l5>E;G`?JHw-Qq957l>*SG--9+1Cxsg`h0vE@PV*;?6~c z;S4u%_84Y*b!A2Rq^V;^PfDLOVNCk?v18LGbnM)*ec9OdlO{~5p3#2%lv0f^a)uwh>xf$ttc5?+)?U30~#=@p~PI*cU&l~u*XCF44jVyrZ%V(dXogLIm4Mb-j)G8;8 zhlzabPnc3wQRc{)K!gw>KAsFIx}pT!q}H(&x0Feq2pU?IYZzZ4tC~_$RV?%DU8=OI z7vcdda^vYaPX+&sZ=ozMw3@oRaB3aX4&Wo6{9AL7DFL=JA#JGf_q%%)=umDcecE_ zR&^?+Gs-KvkM?w}s+<H9x(T5q~@ z@p*Kq72&DrV!i6FnSFyb?&xE)mn^Yj%dPP>R@~xr>#7=8n*=K~*P1>w&6Vn(-32&1 zU0E?!QjN7`R(Z*i>Ln|?wCiGR1=yikH4j@ax`zU_+=>}G#(LUaZiOzk!ak%55;nUs zqpS(Q^Lu`FW%|2x-ZIg3h2Pbh{+AKB=O0&EtW{Ryy3$|l>gM0#8XaLhX1Q`q&o<9G zPy2r=JZ~Mge4Y=3O|Nc7cs^X#@$YW4Jzd(RrFkkm&D*85_f&dDEbHirUg;U;S>owZ z>3Pe_{>jsCUsut2cGr|H!#j03 zwB+rT*389L)Y$db^rKUn_w`)b*Q(03e9b(2t?Hk;bS}1HezL+AThnr_uxIb^^tIkJ z##*~-YIN4in>J62j{i0jeWp3{gz>Xs$e1XpX5 z4M13(J$*dmUG4p2(pGxXwplaxxUR*%XQF3ZQEs z2v4#L&+8+jy{D}!Ey~mF|I3X3zqqxy+%wO!VeVm10@UP0dFKAl8UIH@vdz^c%5$6R z`X~|C&h&9{U|U(Yq4adbn1ZQ3YMcS=*+&W|-F79#5{Tx8K#>@9G ze(T<9+}W^x69?Xd1OEzh4KbCZW79~|6QL|A&#vx#6-ip`1>aAC6djmGinfLdMW0pG zSWlCO^?B81Yn}JM6umf&6nzjn)_Q(gIX-nod#gy%8ve_C z265mj9Qciw6m_j~Vi{+huP(Rdg^i^Max2XP*K^{C`8eVN?deB+gCkb*5gdf?Dvw(C z`$*mQm7A@HeXgNFQTwQxqV`^B7K*fva3AXX z0mnEU;g9kf>#hij!Jp-ut%bCwcZ9zy%dI{tHlvt;)tgsw5Xk`q^RBJ zyQm}7ms8ZX3iRL+;fqQN+XkNq+eT11D1e^>@W&DV6}Gxc3fmjLvDOZddc&uO?cs6? z+fM?Z765qH`@f6`Ybq&h4G`pXg!5$-w#AVYgfnHEt=dRU(tSeGDJjVr5ssIUq^Ibp z;EpgyD7rITDB4|CW9<;QZvgl8$p2Dwyn+-x7CzQGR#A>mUD5Mpr08=2@H7CvjQlr6 z`zuJ%YvDnPYK0=ab{2{j;K1`jk=7BOLwyHvjMEW*oLXZo_tOz4r*5_$pgp}K+>ax^ z=OZ`>A51-JJtvMhh$CL~Yf-zaf;z(a@QXUan^P%jdjxuLNBFgzI>Pb@5w<5lK-1 zVwxIGPjL;zxgAA8I5B0jwKB>z*z{becC9d@27mmvD=)@+rTmecZ0qxgTx)%KIqfXQ zn$3Kg*b9iAQ9Ai6<6MhOtieR@d&Jr_1;y6q!u@Hue;GwV z>^9Bylo?grvD-2%E*|%+$K<-sb#3g&u0DR(HPP$n*peF8I@9k-b9MDwKG!R#v)nb_ zw7jm{OlyW~rfDsk;<_EfS2Q)_RnEjZ4oeSL$EdHTc2$#URgLR;Gs?BW6>fbu*)<1H ztLdn>J>6VSno(7P>i)?!)+?ObT~7Y48UDG%WO|LYb22sRekwm6eAH?jbwpzQACR6%wB#Bg)+et_JZkMH59`&5o2>(}!6zb`X-;r! zPdjR@6_7{i0GgHMI)SP+HPgRLcE^Wq783zES+zG~B8a2YIM{i3a74~d_|Up1o}7Q1 zu-RG?Ptgl@2J&MP`RfUUyhb>G0q1AqU4wMzl3?Ur6ZTkj!nqF4Z!&VV>ls=+Gv{dQ zr%C13y)k30Qex*U}nmVFJlJTe{g=nn2?bLkyqV-j(ZbS6uA6I))njmKy6=DK+*} zRZuac$eW=9M zCTi+l>lPg4oOnNsqsd^cKF+ryI!_}ctub);fjh_MOj=RvIycr zfwC!RK`#1Nkg9lH5cz+fd1l^s&YP2$;(b4v%=~6wo_Xe(^=z5vZ(GlgZkgvRtmjv@ z%=2qKlIII|-J(4I(t7@~dUoSPpYN^T@3|^_k2q!T>bX7p!(A-}yROn(cfby|OEcuI z?}52yvQLRu#Lol|_fzrPv!Cm!`v(3ti$8jFIqsv=>WQ z&wggNx^HCYa#25Z{N!`WK5g9hm^;y ztUQ)|B`>V%%6CgHU(Da0z53lcBItTd-Ip^vSeXnS{d8VL4*MD?P_F?fcD%t44RWK3AyFy8m5eO$81;k&CGUG)ehP3e5CFy_BU6lfC*Qw$Wa(IlX4`p{uIHGy3y)&<^yixFZf< zMHIW(Xe1Y+B)U%`dY_fqfr+5Z=Kghx)jqwq<||P$BK>NnzHaXz))i~&KC!)xOd`CQ z2qm&7PqD?jRic?p{@!Z&zNguEBBfB63FOZvJzk~OO#(A%5nX8HW zIqUfvJpYgNJicWa@iFJn&)dK3y1J_-_tgDYX2kKx(mUg4B$-Z;)?%AIoGx_!Gj%%{R`^o>)zC8J>XR_qCC^Px-o|%U{)ivYO_gs9) zj6asMU#y#xeP-r!b^Gr4waMkW_isPBfAZ7W$2;q0W+t~~SI;@MZhk$3S82xDwRe2} z^V!et_xhbI1pKRR?_DOpfrvNx{OoU*vH_pHVFqcQdVltvb&Z*S@ljESFT46H|Eg=R z&)&PV?)VH7_hmC1d%Nynj{EnIpO)`EbKk<52k&wG?DBB-yh&>&ACmq240fxtAFDeo zQ@3c_?8YTzwr*zq`)1(u_ZgFqV>Q8MB)gq>d*Yaj_TRT>^7_9|UVCA7_^}!9>zTZf zlLvJ(>L)i&KIv!Kolnc2dRlhp?(8m;PkVgw@jcn4YqGabntWB=J|>gl^hEa|haA6P z$

      ?kCC$!pvvl@uHvAa&{fNXo_x8-Ta6TkIJS}>87&u_r&IGB zn8}q#2ff8$v2XDr=h!_uk}DNCnBs6(zEa4^u@Hwj$EoES7#QwZPfiZ`IFEYZC08kyN22(o zT5^?vk9j}+g~5SUp@sF(Q|RNYj*CWYd^)4UQmiO80p6+5GcYnPuld1&J_?iL%$1K$ zT2+qAlm~oGtRkZWF0t}(K35tnj)dhHF09N^xgE|+PhqeyQV4CtF~^zi0ou)ZvR1Ts zVCABjTQ28UkBcg_C9H+xqg3naXd~a<`G{O2yWVnf$WlhZlYr!+cd(dG7N^QiK_Y!; zS)Fn(W5JB+*+u8-}DUNmx77`7Xuv9OJj5t5iR}(F#E@5e0 zDQh^`sI@rNR1x@1BoVp7q!w)_ezws%1%L|oX)bknB6`3k-VeKp~BEmafRt~%0EZcI+vnoZL z&{+%&uPBsZ$3f}5RdrUnio-pfxq)Dq@HTQ=MESScoI1|WsnWbveqt;=)P{5Jj%-6K zjwKEhhowOo$DFsN$1XaqlMymEZuCmJ#7RXiN*at_K~8Hp)(Ba{Di|$X-hEUqt5U** zl@2}5oj7yR5ZKjxRC}j$=xUx9nU?nFO9SPi!}*?`T)9~Eb;`L^2IyS1A7^>w=-{9W zH9B0&Ze?MhuiwWMdGRCDkuEHx29-n==WK`a%L}=Ycq|lS&W?0KbNS(J-$P3@9fMZv z(^7VT7fVc)l}p1m)&{Q`pY;xDm&(Q7fk;SjsAdSwfpij=ckNqM;VY$ll;c&Le;(va zwevk(E|kkfKT6rITBgpO>u7n{nWUI8lDu(L*pH`jte85?4|&l`qA1d9!&3L>hlXN0 z7vcz{12VXLTq}swQN!9cj))++kvzkV%b?>2LEFedZ)GLO4dq-=pDW9ZGPRw03grTP zY1kLd%4)IKm~EC;kGF-dkGGVPda4UbY)fIKE`&oadMT%g*?ceza0uDUN6uSdlk-DI z-_Rg&I1iP|ie#9|ioT@Ps`1fs+Sv+XE}m{%&mnj8HZjLgn~*zto1~wi-jFk?FR@Gd zLsX6Us`@I8^V2^%J}$9K##PCWjEha|Vt>NNY$~qIj@yM+)OUAruvnJE;9>QY2Ic5@ zSUuh*j$UoT>hU&7KVh-ePgrcprnRlkW@x3S)m4y|oS9rnuBtMO*P`T-hj0&y|$@x`vwad-gmmw)rVH6 z^I?Gxt0T8_5kOFDr)g@IjcQmqkG{U~92+&MXzcU`LLGa;F$3PaqasO)>FcXOm_o%7|@wH$0~H&zORy|Js$NlrxGgqtL1t1>M?=bJ`RY*zF5=2^(&O=o|D>*loM#?j4)QuenRlsbFi#}cu4jgTeNd65R zLJ_ucurS;=(jP~u1FjclgHVCw+PEtAKU9dt*Kv`>f-LQF+Gqh$BMxcFP1%iYwHX8B z-C!z-7S&Le0cogHlcB5}TQii8Elf$8%f=ZL)itkLR})*6lp6%`R4<%(TxlXlkwOzW zb7^@m30KKo=^;IwzZQ)YdLz+wNaU099blKip1L3 z+spsZQN`58mEA>=L}M2#ABZ5SiNy}F$k{j&+gc*D-UCZ3O?n4}KZAIjxY<~lHKWoT$0BqfQdnbeDYmQ@Gm{k_iG-HZSZOT|nv@TN9EgA%h=YMk zwVc@4Q>X-uCOHh{#YSo*PR|Zj6R-g9<~vj}RBaZZp=z-Jb#Ve(qMNCkl~}a%2G!}^ zCd!8s(`v@(M6-mObZQ%GP>GHWsC6~VvE%jxmE_&VXHH#eSCV&|C{*o=&`?&0t5G29 zI=(<^?Fxj{5?nKt3x;x2HvU@d_ZT<-xBS~4uVegMKUKqU<=d>S=id&Bxtwh}FmG^} zC$>z(j>gDCGV*cz)jsZ0;>8U4PDYJkZsR(~!(7iDd-;BfT84R(!_R`7c+6oPisuRpuMwEd zm^--E--!8tQR^|+^UQ_htxhiKV&06BZwIj4?H`kh;A;feb7OxUO1?wEn=mhHu+SU} zUXOX*o{D?Gn=zO6QoIU0hPi2PP4AQ7wU{?M{5f#jbmBlse!dDe@4*jBzT3eYFw0GQ z`F;q#7IVWsiXR1+FmHC4*Je!{1znHo#0&2!@^k|6q2${Zg4uw%jeGg0fO!GPtixQ- zUG7?+JWwD{5Xd6~@{E8y6d+FlY}y(-ltEp~mDe`ZrmaW^)qon~R_!vBL0!u|+&0u0 zX(hi=?&ZsOy3-Zuf4Q^2j<=j@eLh?*x3^-q&ZT=rjr6_STZu2}_Zk=PmukfC-I8J6 z3ckg~E5B)${JdMz{;l92xOg9{5x;kPEAb`$zTo10sYd+XEg9ym;6J-~U#}6rcY7=G zCH-zC43uwsrz_I`-Yv9ytLB|uyz+Zp$i<$UdHnAG`VF{rM{A_--Tp6Wtab5T zP$Pct_J4{0dKd54YQ*o|{x9)=&&B&djrhIW|0VusUA(`k5x?{gd62Ny=fl-w{vpeu1*hQ@ou5rTQ$#c)pMxR7dw5K(<@Ft&*`6c`mIiX$mzdy z`rn;C1$jcgcRRhs=|?&JBTgT6`o&KFlGDHM^q)KZC8uXZX5rh#>H9lh!Cfeyh`e?DQ9%{;Jcr zMjn%IH>bBaeSye#2bdyh>@{;d&PXC9~w-Z^AZ%?Nm>h$BB zUUvE=PQTviw>kYMPXCqDUvm22oxT+^r+ibLzK7FiI(?qgk8}Ef(^onDQm22(>9;$5 zgVUdL`X8OXmB_n%4NgDE=}Vm6?erB+Kg;QtI{g}_f8FVKI{g8sKjHM>IQ=!J{|EB6 zeD84j{!X9o^bb3I(COzn{W_^>hupf{i9CTT*)Iq@`z7Eu*bmSd=-lP#B17k34z2lI^2~Xl>Nq@hAug$ zRT!x>3=B6Uwf5@sU`FZp3rE+yZEwq&7&BNL=Y}LV8nA)cD>g%x$MlkdIl?@@}z<8t~gZIR$#Z! z6nc~WnHheiGc8{>kUP%wW^p@jaojUjk_E1uq{n%qI#PkEnk1KG^mXeS72KG_zJb#aud|f7KIN^ z!i|e2Zo??Kz`Nb4NK3=Dq3$bIM{eziexg2R+fM`5Zap7?YrAT%F*RB`Ov|GSShLk? zr{P;H>P=CD1$(v_WTe0|sIA?fuQH$shG5<9**4Qjyy(y!4labJmJ&ILhiZ>i#me%m}`iK%&U zjqSo!=fRKqY3<+w)^2ncfot!C*XjO3t?U;i~b*p{X(hfXH0 z*_vey !-eNe`rN7YI$;)}I|XeUf9lQzB{OsP)6+Cc)TdDVcmo8L#^=&agnbr;)` zG-@_??KFH7kMCk>bzx89RM&w$q?H!NoprAfDxv}BrBP1Ei^!uI2XJJt_TvqQ51N7rg=;(oWA44KVm!}{O=RG|t`FYt5 z_W5wf)N3c?(n%hfk2Cuwv=%$r8NtlejUm<$00Q zdDT}qs`Da8ujvjGm8V(OfwnXbm)G&$8#`ys=#=wt6Q*N%YkbJ?E#*R4YhSQ_hb)Oc`IziHF*>GS$4fQ(Z4^#7!^LTZzZh zsh;7iuFt4YTh#s{CDhJrTA9NWq_sk)h4m*&tHW7Q(({3;yG4zIGu$O|9g|$ylQ)MN z<%DOUr^-)aoxZvsyLf_2MdHp;(vh<5JkGtw6{E)9VeX7eO3qKM%SMr>w7Q7SomN+d zyZ$gCz1Tj;NERGDO++B~KRGDo@@MNIzKB$_9%A`ft|f^Vda6{0a^V?612cx?V6~4k zxSurMvmE5D?KhXN?R!S4T$oYf0=aEKmv6oAG(JG3A_>gUW9LCS;gzU~LWS{%_ocSP ze{`8D&9lpUa8bwm_O+7Uu6ne#hP-SYwk+&8v0;nD){vLqLfC&lU3YJ+nv7k_5zSeg zb6!=91JI&reJl<%QSP>+PVMR6nz?)PwC(BOe>1GR16MP2qF$U=trx%+)r&i*Jwg0$ zUN(34Zi4WxFK81uuTK2VOHbdj`2W3jb26+=yH@rlNZZO6<1Pc%ih%Jo?(5Ze2Yrt( z4a|^E?}v-j^6E+Q8vWinq|>MmJFcd-IBbo6{}#gj`{~x`S6iHJjefNSVI5sqpViH( zfhVAg7Lm;Zrp^_UujGQx2KeZHnpo&~v@+}wE!kLx_~gY5z)`r1A=->gNAq0ECv$hCnt_%i%J z=;UoDO_HM{Kv%k!Npp-lX%h#vSuF>u_rf+~=R2jlzy$e>&&B zeApu-BoX+ymhC4qC7v*2d&Xo!MIJYB5|9siJeLeR32KGKJIj=v3diVb4o}XPP zRqfq7IG58K)Rk`s?>wNI`nfMt;P8_ zUtYOea!lYJwzb?f`FP-VWFoBGLzyV7+)GIdD|c2V3M)TQoEBE@w@egP?z^OgmAfz# zg_XN8X<_Bw%tT@39!*+Uxnna?Sh;hP*3NPt=grz#?&+kpv)tjCD1Eupla_b6?=w+Y zx&M0kxnGqQc3H#3 zVb|mKOwb0N*L&V0_q2`++^gCMx3qNSPS-?vmOEYpK3-^J!P%3}6Q1bPmHS^E-aSDZ zavv-$tlSlwD6HHaOA9Oa$|edc_sr7DD|gT)DzDs0OA9Oa)g}rn_t(zX&~P={Fsg zp8mBTNKe0Eo-x;_q`zT-F*m2UuRSWg{@Om6p8wL~^!#t4(N9mQzh#~2_1ADhdiotF zrKdl3N_zTj%hKy_b60x(T}x+6qrYWzinR7$cWQe6&2W1D*PfPMe{Cb_>6ccdr@x7T zHMRZDNUy*8wdwUYc2;`*tvxqA|Lf1^PH_r-HC$lKCsN$6z1WyDQ{0;_L*`F$@A!-{ z4>0$dh<`ME-k4VqpeAy!zs{I7nTg%kU2n|(DgAfshV<}l|DB${`md#jUw6x!q`y8r zeA_qQB>g+n<8S+Jdi-PGOAo*KE@OU@R)0S*=Eo`S>+UmV_muWq|DZ9)r?h|l!|Cp& z$Bp?}O8RY28S}jqck>Hl9!_!J@N9bcb(@g8Q|Np1uZ`I?CI0#s)B9)JZ;g@rZWGb} zrr#N}F~xoC<@Efo-OL;>CI6*YjX5mEef?k4%U}Omdj2-QZp^_c`EN3r)cWh-aR#}k zHc|bopPVtPQ}W-mZ6=jIJL=QjOViTb*S#a%ef@6f?i(7?-8WB9cdy?!-Mwl5jM*)v z{yPrHm_MYrw>4){$G5QqGpX`n)0|A|_`ZzCG*ZX^!_(8RpPQck+WDDO`J-)NdieE6 zr{{0eqICCq9tTO2e>Qw5lgeM3j?0*@q_oeb6EdmefbHG8LHKiz%o-gNi2htk`>>ETSOd}4TERomO%K26R~hq63Vn?|pB{eg|D=as_S^LE4ZlwhZ~l-Ter$8P{IKayZ^EDd zk}-0henR)~v1TTVB+01t*3Q1my-Rcpld{^MR9HGV&dDcp;m|lI`&$TC z43D!9?$ns;i{4psXOA&T=5Q3^jgU0N4!Ir zgt|RD>fLNI)-py~&E|LL*+0gdBX=+dB;8O*=X!?@?_@kO)KMc&CCT+Qo`Y1|gs26uUERDBnF|Kr~h zHd8L~j*e0NEwZq&M~@4etJZm+K>{w&qD#G7txH1YmB`sMwP#tD)6z<0(T{Ch{Aq8k zXL9`;#b(y!-XVE|$UGl81$TtZ_gL4{1j5&g&FTN;t>br#&EcQ*mR092Y3(Txsk-+4=H?|$&(?O%_rT-<(0 zKhkW9923_#%w_9+FgxDM{RMN!TJe-`YiBHSvL%hr{F^f$@`2*v(f$C*(2u=CaHQXS@Fz8F`5}^p zKlS$R$4Hug<}Je0_eORBw3)&~_T~?fb##{A{A7do8XT`QS3Tlw_4Kg*0>{T5P1*`) z?0l@+R!5BeHzsYx@78QTXvX4$;W8F&s$nnwzw<=3e|uoneEP|xt@s^!s@m3_$Tmkl zJ>FjYH~hTX-kp#(f3IOL{vZ2=_b>e1=HHz4jJI>#U#%BE>#fI~Wj6DF>D}y!Rrlj2 zd;cnFD@nedu+^%4VpFwW{gtfs&sE!MRekFDq^-o;{cCS4MbVS9JHFuUTv62e*~mJe z4|^uoeCkDGy7)1v9FJ%l`F2CqS<@u@U;cezFSQZ#b{S*lp_n7vLkwakpV(cBYG&a~ zHc#Y$!@lUxVE0Ru{}y0A3bhMvvPpVB{^apO)@%*yg3)(9ZgaOXrX6+a+ahZ-x-FZt zsB=&^qWt&d_Qo7I)tDnt{?Tr6Tevg+P~SxP$F#+M)~?31pw^%+LM=j-Q2zTP=0Br8 zK!q$uZHsD>%5mQ}FyD%L1GU}mY#5?%M)~gtdl_>tYS+D~2h>xTr=t7sOw4Daeu4Ub zs4Gwpqx?5_I(3S=3iV~wiKt6Z{+ru~JLZwuF|$#>#r$q` z|BdWt%&PratUyhj>1~Z^#eBvAlm#`n$(VD|UqJb<2fMqQjp=SN=3A%-FrR?#zm1sx za-cCU9c0Ym2V;xA3FW^|>`tCTc+{Uz{+o6Pn`(#h2sdia!&p2(zYpcV`Pg0ae#-m- zV=hO13G>0|{`(f@$LG=xN3i)ik2EolVfJ4ucK@1h%xMdZxd-(&Q~~9`7chTgp)va% z#o-0i80J0D{dYO$D~{%2Q`7+;^tN0o!2E?pJQTi|$8b?MVxENVzjHAE>R8&kgH1uy zZ!oV!_us3S-@eqCZ8~W~R0HNWQ2rai?&HT39<}2M-j;U4e8!2i6Kd{Bv=jOZDF5|f zclXKE^C`3w>H*9rp!;tl=D&Q@nBV8KsoU5U zoevh+tVM0=p|7C(?^~Gf=%XG{$M$<$V@5E4e}KMpDu*ag_hX)p?!Ox_zcFac7l({_ z6}2_$vnc;f8>XL^Xs6R?CsZ5eJ<$DkIp(V>ghw@xcw5>D^A|>Grxmml>PF0y(EWD~ z=3lL%o>$XOsNY~-iSEBwF~9wE+UX413Dto44V3>zuzUX+Xb4re)|eyFZ$$ZT`dVZD zc&0JS&th{LWl%ZM-M10*Q|C~RsN%Wa7Fx&r?0Fo7JKvb=Q2&E@KDz(z!`$$n97sUz zb^(_K(C?_MW3NP(O*IN@6b;}b11Q27ufgUch@V7*&DUZ=e=*}8FSm!j18#l zb+P?)%)4C=jiAm(`R@kI@4CU5y-?pk`EMiUpWH|rqFVmj+tU7+xB0R$JE2~?Ikunv zHR8X8_)%x0{C5N9cdaLW)HhK6+lcum-ynWe%Qw9(@nhcR+r*E0?T*-f`klsH$>iXA z)U5Bu_MMm)eUEUcTT%Yoi23NdIJk^@4&}c|cSAp8(9aK`AC&y!gGloJ+lcwOd*KJD zHTQX2V{X8F;SZrB)O8QW_V;1F>Bo$fsDJz{wx9m6F_RyqpP)Yccx-4+ApA=XBfMmWt>AjkGYKQzZWpy`zwA(ViWmA zZNPj0y8mv#{Oa@YnqQL#ltHZ%-F=f@fIt5a{2BEI%74>eWO4d8^efb?-|`?S`bL!h zIP zuOe5VmSNrr-GAp`F8nWJ;a@rIhALq`7TtgMVV?F6+8VXpYxHsS^(g;M7rWPu`84VU zR3qwql>Zw3$>kZ;T-4Dh|4sTAWqQMyCs6$4xLJ<=5Xyh^v3n|$F`G~ykY53DUk~O< zTV+f=>hl~h@!x%zTer!WHq`DMEb-rb%rmyf4KLfde0xqyHJ@zx%M;j)NX+QIDYBjv7Jv?^Vo)A446WGRJ1j0`wbD{+o{7 zUL5pjLfwt>-wT+VJJ|q5?SC9}g}wphzxmkx{&@0&`k71`-1jQxmrkV4P)kpW?MEfvHhfB@>wLGsF|n5_MMmyt7Oc4)Q3i6`w`5itfbvgr>&0d zFUNes$1`RbYV+x_{j@VkcMa*Hetl+aKk2NDIrQv|nTLAxoY?+V%=?{}F)gTj&X4V1 zz})(uv;%7Y3up)Q4JiN3$L{_MGv=qL85hO&otPiLIAfkg9d=1<--G#}OEc!HsDGl` zP}iXRH|?^FdC%q01M2Y4#P&Uyr+*fE)YuiV{R^0%zKTAM+WVT=em>^Qu7jRYpSdx% zzYp_&-Gn_V`}Np}l|=Iif})b*H~(fxM==ChxMf1wur9R7v=3d(;y*uC!=`VeZ5X9wh>bgBruU2fF_*$Gq$} z8MDoAp>I?_<~LCO8^Lbr?=t4csNH^#U-Y|C{%gg~ybL{|{)w85x(4OHX@7u6yh8pq zlRuO}lyP2)TNmBMEBq2n9Fa#!%&BrI%v26S?1lbK zl>eqO5n7iJoaY&s0+kkz0VE;kPA42)> zB2NB&mea{!MAgeFQ1?BI{iCR-oV&Mg#?K#6N58wyNS^)oFm}(OF2=rXk2-T6`X^DJ zK%Il~-w!Z9fchzFYyA07%Dyl8J{c9}-!1vFEFC>$Z`ucW4V0G!M|ca|3>Js`8tgxI z4dmp9-y!4|?XekUYtueLnB$j??P&{H`yMVXD)KJw>JEMpykgpm<$*q)DD2jlbA!cF zu2?edqa(eub3Frn10#`_6{ejF@}&XR#`~NH-2;hsg;-;L2TDnXmNc`d64$ zr4@bTSoSJ<_{nsBEZ6xM9Uic8_lyn=t#;fhCrx<|{n zRQjn}wRf-bY3U`2{0btETfJ{!MIkp@lH>+R&Qe2S?_#8DFgKK6n?CBE9=ICam$RQi~Df$Hq z7o6Ckzc67sso9de2``PA(+5BU(h1LL!~~_b2CD6aoJY)XPTmJGos~jiI9H(3D@NAD z-Kmy06$8al+LV?RBIzqZ zCcWK4bA?qSroE@on;XoprV8v&i`y#qyL%(~E{b0+R7MA>&`OCi=Umg% zLW91AstyDU_2r6Pry8wOyJVlMR3T`2i1-HBUbl2L)MthUDnogC;Zc#PJu)q}#4?;8 z?du;|4Uuzxi&~Jv=6&~cL_n@P%&LJR)tHB-rLpDb85||xI#&*X*q6Yao!=hU{?`tr zcQ0qDZ4|#P&9EcQsNH3wyu-e{x`m?KA|pe&kHM%+JDD08tj|iyxNH(}i3Hg53@MrSoxF6kgI(gtc}rr|oEbG9pxG=v!rJk4m1lvD`H# zGPbT)NQ&BlNTfWR*B`jo{8hR}b3M?O;b5C^BUgT25-FA-oD#nWpQEvROgpL3pxU9T zx_(v1v$+=Pt_*Z3-xdBZT-r!doK%B{<6Igl7fORRw#qQ9W}YX84Gxtm zK^K?NK(==W%CL$~+XJkt9b@QX!Vx8iE3H&mH%t~kyl1w`NG}**$4E-EdNr<=uUihn zKKn>9D*nd0X-`? zDKa+FK?@bv8|g_Aec5eidnSSbz0%ES0~ab*a`GSzeZN-6lQs=&x3Xe{Mk}p`qq4W1 zuaFKcXh%gyXz{^6(=m7cu}2=cbU`PS3ft=GGD2d@71Pe}t=-rhZ8q|#trQYC}MZbP-mvw-lyt^(4EW$zH9ocIw|iO8WtQ8cvMN*^rr zjttR>1`GLK!(ih{ymKgDUannGD4t5}f|ccv7#Lp;Y894Qtk^af&LNqUEoHYO;KY@j zg9;JXmL7M+q6H_mA9LifmPJ6F$|c&7iwdhms4}^sBI9&Ch#uL#Xn}O+P$rYO+_T>9 zlpQTixZnh^9f^ivLDVzA;?9};Ft zXc3(uc+*}OmVsR=%mxuls7s~c{2)SEH?mhhlozog;fi|lD_22MfY$WPfPF!#XSJOF z%=L~AcT+x&urM%0vaowgx1G>-Ae7Ej95xZRoHsZCbDd&5OenHHH7h-BW!FMuJo+U^pULuH3@vF&5w?PCo*zVX3>(Wns)}TdcwqaGErAXN?kC?7 zK0S|>qRP23FR6Dgw^bnn4Wp2V?;J79%Q?UauuiTM_Azj8$)857C zP~;&psR>JyEA!=HTN82PX`6cbb8+N-WZkAmIgxXK%rzB8H#IO0$zYBE@0v1>+Kwfb zb1hzExvP|nenqFxiR8bD5PL()0!#!9_bIDLk+w=-QFZ9J@ldWwln)a3LxJ0gUGD)Mp;j-<=BFi!T z5n+gdOGh%1!WgS_G`CjnAdITNPuP%atj-0UOXlVl9J64_!js|&nMe}(ky$#IqvBo3 zr5bYfV4v26um$@Qa7ZXtj>qfQGS@u4&S*`k=1Cp+=%phnhElXX3lo52E9r%5ZX2-Q$J)aA&#P* z-xeh!^Nu&Y`2nnj5Bc94G@VRsqGbtcYgh(Ck;R$PSV^T5sVKjCDBm~GZHMuJUJ{ci zdWxqqp16jPao+N5D<>hzy6NO#VMSq3ha3cCOQRg6+Aq^$>A8FR$A*Aj?v8UZ#|11z;!$Fh(f)ih~`Xg zXipc1cDIPSL|!T7`wF&6=Z}^sZ#%?eu)K`%JRSX)x>8F+#`@nxJrfD{_4_&g#{} zjH^tpkUE$jJ7zgxr|Uup3y%*9%>tP{G%5tHD^-@MN_O@9sqlz))}v?{)7e$*S?$)1 zn0QhNNWQ`ltzhLAS!8}HjD+QYfgTFA@R;Ko<~6j;Y@InP=x?%G(gBeddX8lZfAr#x z1;-pOnLFxu9k(r?QbytCF=4^S%frH6#?6YVt{PCWRxYx`lz0#3A|pc;h(QQNdmnwx zwv$SgLQ%B1)C3esT|lS43i}apIwCPV8b%=z)3Ny24!hRk#dzDkb}(1MRPLqYu@jUT z?lq+|tPjX1fg1K+m`D%vT{D*B;zX!V}B z+aUr)kBAU7Hz8a};a|!Sn3>vc0mm5}WPzbLoTF>&`qIY=<)WP=(z^!3`Ht`gXkn;t z1p}QjQ_X?&+E8@SQNgxRSF=CsWivZe9}NxXcp!>B0b3RtzpNvR*}9`5Q2@a z2lT8)u9nprltU6?oyi zcVL+O$%t)awkboCm8+zMbeXDOhZrqPv^3ySj@X6tg4=-vol9U>Q!Xn zh`z}+y;%5;V>+^oz;e1v&(@ipQrRUMe$d1AHs+4Yp$&~s7;!A$uS!V zCsdE6F{xPzJ6aESnQezvQ1c==$1zl$@~3{KYL*W4DVdh3-F6|Wl4UVbYa_Z=nEEhP zbn{``UFfD|L|57;o-5cTF-=YQTvclJXKj%vm=+?&x_OkHAe+UDL>I!hOJbH)w968< z2<0rx2D7CqGIbLn;o1DWfW}Q`Wc7|+23eqB_rp&PG+P1nNPlI>9)hL8+q+l6+>Yo_ zMg#Yk$%d@iFm=*Nq!fBY#4S>jtZIC*U&YnOieZ7|=37^u0G%v4is`>KI(tWa;# z%&|;`WIM2mt|RLrBAp_~1?xOfA%h{kyS$o4ZV|cJB^=x^bd98AF%4&bG+X&-Jglr@ zC}AOQp95Ju;O{?QUMJC`q#PyDP8>tKGpSUSB- zP}+|jGPS~$gm7TY@~%V&Z?ft!ai+Q zirBkdTA}yDfORn&iA3m4W&D7kgc>aIMnAVhhmlKLjMU6qgoqtar*W)MA1(1Lu-jz1 z+f=og=_DAbj+n1#QDroQpkyOd`cQtPpQ@D}Fv=o2-?=pe>F`U8gpFx@H$O5!K^m zUiI!p65GLr&{$U<9bt8Vd9jM6md2&&SWYD^-QTbs6h=kA!zf!eWjg+fa4@W9XZTW< z)90t{(yv8qWno29WjZLaxmt20<+v7mHEu*;mcb~>9}Q@m#7PFSw_I`U8*>SHQnOFAzw|Ds9Q~QPc`3Zn|wKHRFpbl+%-! zjY7y=2HQURFdez8I*8tbQ-&i#@gB7|}~E-6LDjjwmHw74=n+1Bh3-a9zBs<%9()3F{(!D36N-I5?e zS%#2_kX_Ayxgey#SZvMr4e-ka(K>ahKksTL9{W0El|hD8IeH+O(tTWA^soa0J45oT z2lNzK4yE4cmt8En>rN}QX6MFH7G(+8u+tCO(IxG=jPyw>fKwg1-|7bp;ZF?Uox@Dj zWtG4Z0~IF(XvHjdM8GnHoODo;!pfCi%SmB)6rXDDX4_;~X8FY8COn7+2*_5rmF(M7 zCb3`<3|_u=D%}GEu6Be<{J{uWeV3KVV6ETz8h6W-Gc%S9EE^Z%$t@hWoF@oeq))-}?h1YR| zZ{Ltx2U3}E{tc_~^i~a&*(Ld?NWtJ?P$E;QA^YELZ`-~m!$<~_fsP@Ez->tOrE_~0WK_S?3kljAnz14`Xv%)=D}!#9eM4{w)|E1mUFtMe048XID(Lz@Ui=XKT?T9k#`*Xj;ii1p`eOvSo>nW3b%z#aJZyw6?ZjByoY-WUN~=2>dc0H~ zH+mx9>fj&1>0Xr^mE%RSNoX_b4kh|UIVT&sZtsqyIIl9t3m8PZFt=e5&P4DP##^C3 z^@c3ePHJUDW9f-0WU)t%i0IHWQnb(JNKjdm_fnTV6+(}5C&sFVIu=m++@^`_unkn$ zK?-PK5&Nd2rB0UPI%G>+rVFb%mR1%9b(pWI?&iJXX(5`k8?&zatL&y&j!_uk2^mB+D$qd;I|_UDa@+iHfJ5 z2S;t~nXpKD(y!fVgQeAT$B07c5we)t>liHLq|*}H?#en6kBi76KQ#uGiS#0eH|-$- zJ9iLjq$QQc<6UVtZ_-A!t6~()p5fG)w`6Xytau)2PX{n=vc*I7K!!4kK-8@H^sNvs z9-RiYyvY^APawjj4l5MV&g`GMO&i2K^4C)+aoIMy+z-{k|2)#zdF(hk&@N z*k#R4cp>d2W25h^Ux()gqg1%gHU$~*^{IfQI0 zLwdJVp&fp$TtWo)i1J8Lx1Ov7Ymf}txDgSSsro<{N0sGdqh);VFaqt!qIM)b3PZHa zR)|_w!DI@mJ0smPAc=#04Rg+N&} ziyr)z^2=!vId5&LA1deAs*qweOHgvuI%mtK#1W31B_IYSH#K0e6`|8`WY!*CsICjQ zY%g;dj-GHHgc*iNd3MgqJVvNiP7lc;PbN9b{oG4)OB*%Mvg}k=9w3Ky8P|2?z;57c zV#3qA)s3^_}0hX&`*Ldh-Je-A9C>5hi7_86aEgaGSx=p<$H_=N)@Y z=YkVEnX_BDS~fx`l<~aU3UQwJ+WX0XAIhYZ(qJ6Yb^Be?n6~kvoMCk-V{QDe)_ zuE@|K?aW4Iq}nN|1zQQ0aaf^6j`wiXSoUtMXPbY!Kd!4V6j3@aGmHV&mf1I{I&95R zCwoBDPE}=`wT(%CFAcd}BuEy9Zl{ZOUDdMdZe22TmBDaGZ}tm}$|1E~$35NW4?Rha zY#CH2*5l`$bYZux$3Sg~v_kgnk(zi5VTs$Xwv1kOTVy$40f%DbWX%G5D5jIMgt9|A z_c+5@Yv!D`jIxeHv$*3kmJPGsM*xOB&-67@LK(VVBx9@X8*AjH==vCX9XjzaOv34I|Su-p6w{8!~H6~2DYl$YZuN% zv>0ePD)dlR5cJ2|?V43s zzseufMyM;^zn9U$T@aDkIvmWlqk7dvYCW|qJ&yc2Az$62DzpzZ2CF>ML~d<%MZP>B zH-{KP+3SG>>u}Al zoYhJn>_O%I9NoFboE4ra8%G?&&^532-X0EW%G|2E+n!cs-($pWthyexm$2=6fzThLO@RYXN?ZQ2r|aio z+p+60K;jI26Cg+ zVb`!^VTDC?dq&0ba;Y6QC++T%+cr{uSzElIYM!E))7f_u3{{+D6zJ~qzfkEt1Ecv+Gi?U zv($?MIvr4^$Vn9%iA`u&Gn=P&BQ@CevnyepG?5UqkXAs9mPW{GFr3NefJ_58vSnpM zTe+jdetINCCU@H$C*sUG?IMD!6-I5xmHDLB1AG8xw6dRmEGyfU5!=z=BbGr}xyLWy z$r^_&r%5Za$SBiil~xgjv2>LqiICW8JCleH5jheIs)^gHgx20241PiyxgJ`J}Qe?Z1ga_U?omY>DybKw$ISWau0wbCkXvqQLrh>$_006 zWGBkbR<`5h_vZBV3U**ewb?27CT+j(BQ9YRM27-*w8h)8v81XQ>S8w~)OI-!Qx ze(08&sM|8I;u!7fj?;=rz!GmvRQ4Q&VppkB=eik^=&I4=TIj*9n|c~${|k{ZVhwE7 z4#-lVNC)-|fZR)#83X48#At^>>ch<&@CmC}DVetC(qr}($^+qDQ1uZB19ts={t*mn zLco?zq7|B8m%|mu2eZJS5s~d%rxoZYXI8dqCJgrVkoR zSF2-j!ODK_s@F&vWGoF5h zRCt(Q;M2oHh{%1+D6|#bWg^arBEG|65WM2S3sFTETSW4;0t7yyWql#O8tWHg?R$zc zDLX=Oun*2dNAb&1N*LoFMOJHfFi?Rb256Rzec@uZ2O+tIORci9fqQKs23SLm9cgDW#@3kWw}fy#1DJ%EU|lup@G<=bqFid!XP;<#n9;2$dC>7k{p%g zBqGa7HFwIt^!WA#+fKjtg59RyYZlI%cSu7cXWsX9N8Zg$#9^U`nT!>x_j?luEoa&U zXWAY#vkMkCQyEsit4kK0W{MZJu`*?V?V`ZUa#4ax+_N}eug+p2;dF7l$_^hvfL0Bl zR*@6S2hKqg?v;&R7qu*m=1QYoDuM^OVK;cV4>8{k?TYe)-0KK92We5tgHL(N?Byt+C~hI`HLK zg4u_`XqLP)YhKt}O!|4ZV}N0N>$iKGEms5fQa&HwM=?v7W|Vvf9iBCFcTuza7dKI- zIo%g=ZD-b8F$GKaH8_0;Jxuow(tQU75ch3RKHYOMOT0e5hFsQMD~|4KaQd0(VSF2Q zdYfs&Lfp4Q`S|2@Pl?Z$W2`%C-o7Um?h}9Fe!bKEV>VBnlQq+wAJKdkuErduYj!7H z>>5x)dp_N-V3v4yM9KG0;`6jASp13lE=v6QZ`*UTreimc;&gAvDonSDbW7W7x;x?K z)BOqNFuqf+%bJhi&wt+SK`g@fuH7%DgSX@6{Cd_jh{1i{?HOM^G0)OErY01~?;#0(v*ZA{oEq30Y@DfkUV*fJ!irz8sCsv;J z#NW-^PBNQeI(uT~H9K1-sZXinFuu>vo@8#_3rqI}QF|+^hxU`qAA`p+CBD#AaF~MN z>N?1pt*YYAMzycjS<6XcFIf{X1gx|4_-&o@Y;+z>Gs3UiQ1Tj;;P+u3gKjsY*I^@k zP@X`)&*3HLYpD=<%~;&~(1mdee-nH*-iNd>eQf*t;(QZwlOdz)d^H<>y62 z`_#KH|7GCKbSz)~o4}=a#PQz+9s~RMd3DdUy)$;_B|5VX?A`wcu76kTF0ZRC1ABK~ z1v8rh_a<=Dt~_r}JxG1e2d@K5y9hoJ+<>_g#iNv_8@xI2UjhrC^Zw5OuLt}1E&|u@ z9=m@5Tmt*@t_N=h`}({W-1hD`zrO^JfxY|R!Sx6azC87i_&Tt6-v_)YaQ^^!83pj} zCxF+3h0jU(N)mogV~%t9Q{c^DA3to@l=h0l-w7TA4>4MZw6nB^6@Xk+!o-EV3st! z`!INIfIk6l2=FD~G0N`!UkzRs;M>6_zz>42h335fC&6t2ei1xI{rUXA3iiMKDE%S) zvSzB8OxgTzMv8j_*#9P^;6uQdQ~zWEw2kQi%cofW$Dc?}Ip<`>|#m?25< zB=a124D$=ri{S9fnn1w80SPp81_y$*b%!wrU)I2QgD-1G%h)1of8Zp}5yuZon1Z znfTuWek#B-z|*2;m}*+U9RWTBye`0V!5ad66u6$Y)o&`#fkL|hJ|5f@l=max<^cDA zuL%4v2Okr-m%$qY_tjt-Gkkh$!A$`^A3PY~i@}!%_%q;d1^Dyez979Xg8vq{e+7J4 z)F4yMH^4msz5{$yfbRxx4Db)Z=LYfr6g&<7;Pbx`d}4rq0lqHq|2%kA;Qs%>cL(m9 z!FL4ie+B<7!2bg8MqlvhZ3XW8z|REuTi`~Sc)Rf5 z1)mt;d%)KQ_($Ne0B-v_}jrZ2kv))PYT@c2mdy3 z{|UGfxIYG-9_4qc`8oKK!2LP!vcUbf;4cU6uYm6j@c)9Z2>ibeell>M1TFt5z}tW~ z2L5*h?-sdFHSYu;72pQ&x&ZG3{#Jlzf*Cg5H`N>nZVK>W;L`&<4}3#_j|NYP@D%eQ z@Cy;1YWwOw5uRdlxKEG7jH#vjQi<_)mfVTftK!_bKK(;0+O;YJLEoHZ88t2f?!g{4jXm$o~}c z1o)J|{aNs}0e%7eLV$k{o*ao~Q_Y{iM+EWx9Xvm97vbo{zfqM!3Vt`kI-w3e$oZU`Q{Z29Gg7*yYh2TR1{AqA!fUgAK5u|?| zcpz}U3A{GIUk86Cz_)>)3BrFLY*-KR^?M(9dVqfno*&>x!TkY#8hl}ZH-T>r()$f~ zLxBGP{(XS|0)8+E|4;B%5j{*XS;n5d0z3sgIhqDcH9LT31o$1`Qv$pP_>%#CFL*4# z`-3+JxE0(GO)I9FL%|&ZJ_3AtfZM^>2Dk&<7UcH?@H2t?N5Q8A?gj8Wc8%*_#^x1) zdj;GXxPJ_MS>S#qSk{+(`+X9;A;6b_WqrxJ{}=e?Ap94=O{_0@caa4i4BWp89t_;S z34S4PzY}~@;64WaZGayDPi8&J$Nw|%zk=|OgO3W_p81-xc-mDdvyh zg97|F@NWbEZ-9>u+~0;QFrD=;pP%i({Q;f^z9PW8f(t?Ty}%m-_kF=<2JTH@Sx@uv z9}K=KaDP8|QQ*D+e0$)&2>i*weJS{n!2QGE`vUho_~pR8AG~$czo(cY*fhB8FyCAO z-ZgMP1AJKEeh&Eb0AB$9UVtwH9~6ZD9QZ8iSidP&R-1#J$6vzS7~oqle=oq_#=Ko5 z|4gxNvHUm1+>875f&YgvzuMsApK2Zf%TF`t$In@TAB=u_fuGv|pB~^B!B+wf?m%m-W%R1xy%>Xx?5Qm=+?l>t9{}J%mDRKA};I?IP z{w@S>?uzsGW$?9yIDg*-FYAxv-vC~BY8?NIU^5)Y|4;DR)8hQ?h-}$55{KUp%*~Ie z{uh8Zt&YRzz{}2v^S1(Azc$X_<>0Zi;{4qRUVCmF|DE9V=fe|Sef%eS4#NxvHQ0r{5Rw9_k!#1jQu|$?%$35 z{~j#AW$yD+hitR?E`BD_5z><9crrNjGx*WJg@w7T-m2CsjRpUZRQ{~%a?{o3O^ zxb(O&KXc(L;I^mW84jNdHoxF!1s(n@c*C=?`RV*D&A*1{IsZQb*S{FI z=QH58-||y~&V4g@)9-YROX`0LvdY-Yas1Q4Yc~_8i+?Uye)3O#23h=n6ukbgar&o$ z>tBoGI~Tn9b$-s)rFRv$iEuuDw}3n9*e7!J^Ihd(YyZvyzU(_ejU7iw;1opSiGSj#?!%@r^k3UxPIRlF9bL3&(Acu{L5Zl2b;)$ za9CuQHqMiHesUgo>_C3f%;oQWAF-N=n{07{1T3rAC1TPzn@lLyt{_42C_63_W;`j~)Z$2|_pX0!r&WUjeyy5(~ z{4%#`x&Xf9^7~nE+eI<{8o1*U_6?l-Jz&G8YrD(u)8hV_I6tp|H}LaqIY-ZvkoB9c z;pgof-Wk09M%-D~lK%5PaQ)Z$c{J7}1s@C^yDj#AG`Q{iG5(0S^K)!Iz9DgcC@%jR zaMQ#5^qI@=rC{?YKNIHg7bW~geiqE(Z-du88M{9K?)Z7^{tIx!v$6Xt;7z~cXVYBx z40DMweh$sYzY};ZKY!-k_W>_sli9l;3U1)%&Aj`uV8hRudG~Jc*yfl&RKT156w~v0 z;QGI0%+;(hOMP7pUeC{x`SPv@uYEm^?;dcQsf)_HQNm~IqV!$_Z{TOee1850UJo(& z{7hjkQ{rdCJimGucpX0%=KJ&h;4yw4>^9ea^TGbxv2HhWa)4!MKP`b*CGdYH@YMNufSOOoNz$YefA%V*Yd`<#i1}@Q; z7~*aFUzu>fE`e`K;5!ret_1!exPi9x@yByZE&r3aZwTC0?$t1_5?mIfeQ(|DuK^W;Lj!SEeZVH1b!%i zf04kyN#Iu#_>BbKuEFpRc34BljACkcH6L@g~pOV1+3A`eK*Cg;|34DD5 z-<-gAC-6fFyfJ~FPvE~M@YZ{p=o5aodjdBm@PP?DH-V2%;LZd-F@cvQ@IV5OB=G48 zd~O0?p1?OI@V68A2MPRm0{{$~W&y;P)nQYXTpdz(*zUaS5DD;N=N? zMgm_9Ue8a?zRVab^1x>k?$;-9_|%wxsf8;R@-Byk{))4|S}fOu;``ouF-ERUCGEst zaJMY>IL=ah`X`cNZ`C&9$KJt;Jp@o)gZJ!0U*oLBcg;7F$61Qc;2G^W)^V2N(_fy7 zy;a+2F6Gi*)ica`uWg*Q<}&_0pg7j?Z&Zli;3e$X>o`mC=^nm}F4cut+~aGvaYRWw z@h1-?*xPdM@|F}Nwu|oHhJ?dy;W*9+NM!nIa_kslagUxljJ+hR#Mihx@3HR*oFr6@ zpTU!|)UX!c)pro%1Zvrf|LD~Xy@?kGsOcafxOqD6y?WclYS@c^xqlkIUm$*ycH%F1 zTrAGTILjzT_iAYD)y7$6>;3vR_9=TT?$Mj>aYP9#@ul}5V=o~V_vAY&5%tz|kP!YI z4ts4bj<|-k_^$e~hbZ##w&GWB?#5AuSlsuH>#pfVo z$-N^Ng|&|WRC%yZD8%t3puffG-+hQ8@|W!+3ofs6vp<6N`f&{95@@YA?)|R_+7~2( z9~GSVDz~Iyo4D$|sA^kN{o`-(!#LqD8`iK5o{yXtzh653CafivnN3x11aU32zp!d1 zx1!~tHhaU^%v?0DndjrI)~s5KY6q$|TQ%;1iqC^oJ6N?jR%>ZeO=IEt8}Zqqv9xHo z7LBY$gSTj$EgDO!3$Bs1YVcN#tW|@zYGkb%OREc~k+r&T8s~u;?m&(6Kn-`G#(AIy zKTzX5P=g=n!fBibxo{fiK^pELjq@Ol>>!PW$C0I&2f1(>*+DLx#(A)YJ6Pj9Sc4y| zaUQI}57ux8Yn%tWa2n@q7f$1xt&z>vSY~T1vo+jojcm3Hr*Y19;WW-U8hnn%IY)!f z(QtD#&N&)xj>b91g|l(CG`Vm#&Xy({yrs#;+0tZ#w=~(vTAFO|mL?lnOOp$3BWr2W z;InLGEj;5#4YthE$YyCQvow}j8p|vVK1(B;rLoM?Sei8!rQMch4bB665@)jpZ`R0~ zH5R4amSz`RBWux2C<(VH?Y1bElRsBty&_b-Ii9(ixO>%l5mR>ZHtm{ixO>%l5mUCZp(pMFeTxZ12s!Z!YxX> zElRsBO1mvev@Hi|>PovUO3*DzyDbN4UX*rQly+N`Xj_zMTa;Q`l%QLbgjl&&2dwa=*<@u=)y-U z)CP$meu_M>Le#Sl=Bky8MjxO`Mitt6$t`-RFpARpil0TYQfTB`A0eu?3t!2Ib77^j z4p+MB_hrf@COE~-i1m0yp0A8 zBCPUU^MO1K61|D$dIfL0Ra@z+tvu!&=6u{Es2Z6(ne5;BRGX?F6Ll#@b9PrTHGaIu zTUBQz{Ivm>AhWa1oW6z_+JuiQ`sY~X^`+2HjD>iuFX!$$XJ}RZBV`(mpHYrq-b%W} zNkuM78qu%7+1jt+SR-T&tF*_XY|K(ZAG<50E|54tobn2ttDfeg+B+ljyvXE#!$5sS zKW(Zo@jD0qpRYHMzjE6D_jm8oU^o&oMy4boqLY%7Qih^vP*H}+kVxp1LPUlP6(tIt zkPsp=g^mnSNXV3gBne4nDt_0s_cP*rzP~?uT&?T1?$>(VYpr|l`#s(JFS7V3%98o( z<0;p}}yxpDnXX}q=&y|woas57ZwPbIFOG%D1ob;W(v-@|6<* zpU=82h5mfVe5w6EpRiQYK6vlX-0NO@{T|aF1Fn;v>AGFF-WeCqqWF!w(&JG}dH;Nw zFMi%hNv`*F|IFoj=8xz7ulppO;6mrq z&sU6+S^w2>o%ws8bx&?xKa=k7{YsAsUcXoA*@Wwxbq}umyZd`CKa!qx`OEpN`1{%M!` ztbf{;S+svGbA3gb>k2G>>x*aK{qLi_cxKm$hqZ3g?2y(cwrSb2U5oZ7wm+m<>lP>S z?D9U{xq^MV=!u72a7G_LOQiTnc|M?{cr8&cpI+Vl%pN=(yV#3OcINq|54I=?o@(bw z6@&brpD3OBN6-EEETMHrF&BQ8L+=<)tzE}bkpCW@|B}7*AntWX6(6fyY|!i2j(o$P z&*)u0Cr6YXUAgWEpGVBce|ttgv;8z54OwjQkV{|d{ur}e$92`w&rkm0<(}_HuIqbv zN8Xv%`%JJtKFH1|7xEEM|MT+;g_C(s_ul>2`%K>4Jn`t*bvGdExZcxbOUL%_b;`MX zG8-R5|CiU%bvH1@PU{`CF3-C7x;9JU8*u3-HvH$$*ES=6eNFm5HVV&x`%9m{zhaf% zRf>yJ`UsjrkK&tAkHWe)mA}23xxvoplg}sOf!%rAWsj96y1lPXJfN;uX=3fp46a+t z{dijIUssnITDOD#_>j?Jg7toq`Nz>b&v)JbIgZx4pJT3P*#pHNUjF4_lv{tp1x`w3s^=Xihqr0&n3#TCcy-sjwtd$O6=eO3g^SA5suvqS&<8P(q& zG5yEwZs|uE>zzaIzI>>~Uw$6-=TDs0`;pT6KQi+F=kqj1-&1+gW$7n8fBW&x`af_f z{a9t)d&zng{PAeV;wlu2iYlElYg>}N_`safV<1`YKRa{%a%J;@XBY5z-eONT>iIlN z{Ip)h_rvv5^2poujx0V?^7KCE{`-HnSD|=ImajC{`(mbe75yJy7Ztnz`5B+<9g!>e z|NO$Ic;~e4!YihrkwO3G3!C-7r1{GiGwXdY@?XC=$c=UJ{F$Zwc&@(x=aKln#uk5) za!To3= zx;x$C+W1mh@D6s}o$Md?ugY&pOB>rH@-@ zKQX?iB;QT(K7-8u4@#1>;dfW9rvtS9-q5@kN&1bFHOmV3$NT&j{R@&`B!4UZqxjDy z&mUb8zb1Zb{)WOlJ`cwHM@jOWCwD0;TpWK@{3y9=Sz&zqr1)p#Ze@j6PYubqyT>w9Mzu&FjQZl~J#Hz4oS)qCSQSqH+-Lk@9==@&;o&Vwby~_%B$$iQSkHYdi zsP0AE`<4|xO8i^7Us+)TexKX^TT9yYq4^Gk<~tT`sR?MetT~>S^jdgrv8!isN4}XJIt|%1t z*#ut6-z!V%{SjL42K+L<^=<^K4B`0*wyF0-+w?mV+V6Zl{rcmu8f6^@h~*Ishm z36kT^ioYQKdfAr!2+en|ZR&X%TE}!~9j_+-sd4gtEy=r99>d?*@C&T^-6Vc5c`VmM ze2e&QvQ}AP7&QMVX#RU)`F3T6na0U8SCVIeEW_Pf+JRbKGZ=lI!J zjFb0xN#0(P>vw4U$oShO*Y5-IkH^0uxqf{Pi}@=;^KS*qcVizy^EZ>^KU#AAwokkt z^tel)$6afj{x?hd-v-U|ux+m2Ine&|p#8rzej@vjzxDIDYLer2knTfh{BY=TM?;V6 zVx0b`O8TD#?RTl|0g1rQM12)>t~)F zZ8J_YX#c~Z{f~uJxHmi=mOq8_4=>YST_{`wD|F{|5qjJm(BtmcGtOg@ah`@A|F&($ z;m;(C{VPNJ`!{ipvmNxlp-y;+{+dF;zjL6192&o~!I#<>W3{7tqQ=LKm0 znb7|Jt(oI|1iepL8u~Y6Rj%b9beyfB$L#<;u8y8@_Lq#)2zq=w+l(^^+J6YN|1HK( z<-W`~$Gspq?hVPlekbvtpvV0NJ#It(mdO5FNcwLJ&9jef_H|om|Blf9ryJ)!@@nH8 zH$rmU9g=-8A@P~eHmeK|2LA?$#Oe!-06%Di{ne;jU@5I zm zCFkEU@qW;8E`c6*t#SI_Ea`t6G|$7fIsZ4H{ojH1Uts(!)*pI3)Yt_MoPR|?ecn_QwPoeB((o?(EhLKss9~G{tuzYe{Y-o zRd*}(uMX|MJ1pOe^@bjItmL?El6B~j_|?#HZh#(ln{oQzE$M$hG|%(48D}B1|6*wW zAB~^G>rJiFaXU+n+gmbD18BSx^tf)&oGtMAr{~^%+w;1ou{2S-E7bM5M zAsJ_0;y*!;`we>BhP6xmw~+MT7Mf=t+l+H8w0|dP|5J=N=RO&_{8a-(N&XL^$A52|{8jfT^{)=?zdI~{9_tT1?pVoj-K6WE_|?#HZh#(ln{oQz zE$M$hG|%(48D{~s{~~DrZ;kii>jUU{)U5+=EEM*Kp2y+P{zpUmchQsoR7w7`pvPZk zoBZRT{U<>CKVkfQ?njJs+-H*GzLlKE>cqF+vvk}J(BtYr`|mI5-w2wgjcvv`3p!43 zX#atF`VW!xzd>HW>u>yh@sG$0nUDBa|2^tL^4FK-Z!Gbhk_k;@^Q)hVlAoyC3tD_^QNzGd`Tp(b=0g_v2eh_Dvn= z`qYE2Pjfx>9VMy1gQUJ5@x9~wN$MLCKP-N$I+5HPKfUje~u*Y_3>ll?}5(8qqdok>50FV_#ERScz%d&=3|*;K7Nvn zTUHM;?iSEIHEfe-Pf48Lk}bv?!zwow3SFS{coK9T&o@rLizRukl+-^eeq8)SN&Qpf zr^nBf%;RVA%i>o``q$hSlE1DbKfm-_^ev(Dcv|A;CjRflN5zkepBO(ietP`dlIvh; z{L1(>lKsEoevt9Ekc_{*q%MAcx9A(iH;Zo@-zENhc^qFK#a|OYTry90#@`qJh$R1; z@gKy08egbi8h2AkJzGQ9Z8zJj8^26ltgA`l&5hq&D73T9`kyFS|DKZbx=@nmDrlZz zw#jox;u8~p$oR-Y;Wg;`&w;N0=f=tNjU>-1$$3@WzvQb*>y(^Vt$2QMz3BO6`r`T@ z8-GIlsgnM~;>X6{9X}Pi{_iIKN#b87Uhx2qr>?5f@ulO(^BeO;-(0f($HX5W-(AxG z^7!lGZ;pQ~{<-*=NJErzIlAB_|Ea&@JD(R{+I0e-}}x zatqH%gsy*E==z@k?bkz+=N!pATpE8({BX(n-Wh*i{3DXi`x~|i0vmS3G{(j=08XwJLqinOTzev_~ z!$zg`sR~`6U7+>tC8_TKNqsHj+s1d2)Yl`vcYHs|`izJl8-KT?|D5>w@r&YDL+7Vz zWBTzvx4oo}T9P{Umeg@je9QQwC3$l(T;hG>2gP3e*A$|G@a>@f{^~o*CaS{xayg-C&z_8=Lrq z#3vcQoo9C1X8mVM*8d&JxC~babBAs6OiFxe;?s#-2J9zPf-&ss^I z4O&9#uP*U5CBC+#{s!?);}4gt$0_k=$6p}nKQ4Y!{A2MiL+9`7#8)N0RDD@Zyet|z6&(pd5I55e6ZwvhR2VIze|#DX8hdvkD&ATjcw-f*TgqCoHliA z1grdq`xV=)$L^B#s4uCvnWSGUXr4~C$nE{LuJY-ta0x*iE#pSIBT>8|IvUXtT3l+-sQ zepviyNqrOIC&xc2S)aM_^Wzsu`d4iY$-liM|E?0>06ITyZF3)Zf}~#$NxyR>bqtIj z5`Tl__y^;s#lHldkGZy)kA;aZO?qx> zNc?!?_Y?{jLFaK0bRKUqPM+H(dG3+aKQ(@O{7gyx^WqoAFOke++0l?Z8%y$RA?e>V zzIA;2_#V)CyfX0{6Tc<#sqxd}XU5NqUl{*`Dbb7 zwIub|lhoBPzGZyd`0kSRKQDej{9wuW;cBMSECH3ql zsi#qV=lJgNJ>&bw4~`!t+w(dZ|3v(B=(@dbn|1pr@h=kp+W5pm;aA(Nf2H=2_1|1l zPYp>u`#|$Fv`wCtiMLI>qw)Lr+%xF<_lB|0MoP z$vB0MknuN^j9*RScZKf1#)-E`{3yx!A0K~Od@spyL*qxr-yZ)={7dogLDyrUZPw%4 z#D7Y>+;PP3FBJX(UDs_T>skl8KJ}pM(_ByeM@j1MAgQlMeDC;vlKO_k4~riyS)WJa zr^UZ0>AyUFO?-t;C0`vnKlN<;eSJwCEhTjvEve&#_#W}+Nb+7EKQ{gz=zKhCoB5cY z_-l#JG5!GaWt;g}CYg_)B;%HKhK#!fG*1oNCa*OlboU*cOr=kc_}&rST_iI0jO z7e6t6YW(#0wCH{Qbf%ljAYvPAX z=IPG(`{Eyw9RnR=cY?J4X#3v^HknxB3zCLvQ=Rnv0bK~UsMv`ZhX6{9X}Pi{_iIKN#b87Ua=d;Q&&~#_|oy?>%}*htp73b$H#Y< z^uIj*y7-&pAB%r3{$qFPSEp+|6L;LlT^t(_p4@2UI#gCSp?}Yft@lQ(De{THz_(hWbRZoWG-&T@;XNhkB zUH{_~KP~ZIlIwOr{FU+7OOCrM{=xXi<6nX1TafsY#FtCX=ePLEr_iR3s*-$rOX_P9 z-x9hW?QAoTCnw%B@$-y7!tbZsW<9Q#tjDdAJa`uJZ>k+x0@v2p0LUk?pJKH9*0TRqn)JRDUyCYp?Uh*CeM(>hb2DB_+xxO7`h&l zq1VSW%P^eFY;OtKz(O7a{K-$c^?%=q);2gKhRe^>ki z@lVCih<{h|`nOneAGj*<-xIHNI-d30QZoLIlJnSIGJccz!{Xb-pA22Ueu-b6__dPr zA00nF{(ecmnelVuKaBq=zU++B_*+2NqlRtPV^8V)Bz~~*#|wp4wprKXBbbWe5 z*JrSvR!|>1~_) zz=4u}LnQrfkkm0YenR|1k~&_GpCA7PbUs$tW2e(j-oy4ogB&%`fGe1P#M3WeLC^EeJVk5i13=UGXfmn8Mii(eSOL{k6i_(IQ8 z|H_hi+*y*RZv6g|{wKws9e+Xm5a>MKlla4lKau#n_=WLH;#bEP&Mu9=x#T*iBN>1H z_=6<-|H%0E@h3>?>K%Vk{N?e(;%|$eB0KPPUi_=^Z%O9qllZUVznA3Sv=^kFZ6x!$ zlf*ZTZxi1Mx^Ac0X5G$D{Nlt18-KD;xXCu_f2U;qACTmKT$2A4Xr4K?$+IBwC5eA) z{3+J_oYMMNg|7cD&^&ud@*E&Jua@y`<2y;}?-AcSzMo|MN5qefzgyCOPW=4%Me(bl z>%Zl>^ke)TCFAcdIj&`V+xSlLJ>q-E50MAEMfG*2hn*Lf4~k0mrc(|B%$NwWN-nV3le79j9&9wUK09kA$vITj=`mJiFp?y(Gt7 zD5-Bq{IK}ZlKLjZPmX_5vOaU;=f^LS^sjm$q^|8H`FEB02GIFwYuoSZOZxSY^gBmV z$H4d@@i$10e=vSp{7caJm}{H)SeW?I#Fra?mig*SocY*TG9Oz@#@$&m?*7m`O>C2= zRpK2IKi>Frd|w|rkAtA|c$0DR+%Cy;kEH&o@zdjHO6s2%zc7A@WFE`@4au{yB+nL- z{!Qas$G4B~0iDMy6TdO>TN0ldKRteC{Ji*u@jpnegAMzY#@|9R{`QjnUnhS5_=6;M zwT^1YJ~Qz*j8EtL`q1@X4qgB9 z7nSmCBFVF*+Nj>{X z>S+|;Ilg;*&-niFgX2fZ_IzJI{)zbM&~%Y0A zo*I&R_JQVUXq!AO6K|V%N8>MW8x39m-q7_QY@9sTOY)4A%)^BE$?;E0=JVzFIq~mH z)_+C(n)nKrl=|0`f(bo~b;er4jei7{Oj@W#(xRT_gmtX zFD;E%RdPN%Nb0B^Ur&+zsuJ)V-}pCLKV z+0Z--Y?EhM;;R#1WBf%v-+fSNJ!(SNqdqiG6G@&HlKMNwpA>(Fr2f9~gW|82tjGBH zN%49vdg#BJoznU*dknHtTV^WIfK8tDqyAoqb=O2*$&QrGU1^*bQ`U-5@Y#_t+` zdi=TZmqFKWv~BW@m*l%&a{f=ozYzbLB;S(w74g5sZ+&Gc&(4xO`$N~GiEY-SRpK2I z?`Hg!LZPQ^*7e_#b-fn4KEt5vbC;g_9+c#LTvFf5@pIzem(;g7etG;)lJ%)J1d?Za zNuFIL{oBT$5PxcXU+DY{v(0_rSjq7dB*#A_sbgCF%kghW@_rM)CVqpfO7l?-Iv+J9 z`RYjW)iXY`P-tqK`DiVfk4}<)r%3u;0G-#1ZIfqc;v*9uWBk=Z;c4hRPKVCp+s4WB zu_VtIlKNN27p^Y(%98r4OZwN0uPvF!X7R1#+e`WnioY)Y=J*NFd3-7HHxqv^@zwE# zYsf=gm8IiL$B(Zsxei*zcZlyQ+5bJ`FO0ufl4p4QnE1QmABle^{vCN7ub=Tt<5x)L zscne?_wXZ%fxr zGVXWKJU`hcPsO37cvVTfI;=8_-}8j7e?92>H;3jqO46@`phn?l#EhGaf=m(;bF@!7my+GhQakgR_PNxu^%{mz4~|3$XRb9Le)5+7~+b-u3; zUH{3@^?%Dac|MZl`CKv&E8~BQuXrP#dDueIe+NnbT9Wl|8h>Q`v6B8*#@`r!OZ=kv zZ{t@>uGb2jgZcj<$zNTPXZQGh;}48KEdH4Ib0mLPe^LAu@z+Vt>$dp2<0nb-&y1fN z|6%-!_%-nrhL`%+l+;;AQs;j0P2-P@?;=_EUhxCtuY|7G2-~dJxWw;Ie6sO33We#m zS@+qJb$?$n?q`y5zlP>nYnwb9jVQ&pl*G4#Ro>+9JD}^{6uR#1jFYFUq~B?h`RN-! zDE?~6{EUhp7e7(5?k~j8j((f<8GkFu_zmNm#UB}edi;6u{o_Z+kB@%$Qr#@`hGpZEvj zXUGox+){Gi_F>|S5?>~n$6w+rjHXRp8%xI7Q&QIf@lE27k3TKGmpqE^m&RWif4wBn z#P~=FEB;#Hhe@*;E$@M!e{^j^LqoE%vFT&ZhB)OX}$ue^UGzl01Fm2gQ$*)bm*UjQH8m>+=KKT%TVi z{(a)V7@u1xR2oa1eY?5jI$Tki7&gozioV%_*3Es#a|mgLbAT&;_r`tRFdcQ`1j&J ziT^#`ztORt%_RNnO6qJ7f3PHf>-diG-6Z`lioYWMy7>F!AB&$R$uled-T03sdA^Qc z6~Fa3Jo|7@Nj(Qh>TDvdC%$8RH%Xqe7CfUzp;_r!nP}2WR zc`^5+iGPv!H zFSX5lUZ40aiH|e>F2BELoB4c7GM}$O=W`BpKIiKhZ?U9~Zzc8p9`E0v=r@zpx1*&0 z9`XB1=Cf6Nhxo3N{+G&2S@`L>0gZ+AV%^^zQSp`?x>@x$UrOX`>qKRNzM$@$KWpC7+S z(trDVA^B@b^6xG2y<~lU9+~)%#BY%Q=KEIh6XG9|9QS(sd-0#de-r;>eAS8c=e+Ak z#@}Bu{y~!bN5;30KS7fJy!Zj}gX4$CkBOfmJ8->8?$=&R{GG(-OXhKD{L1(>l5w`X z4^r1|lDhVi_*U^9;=4*-Uwg)17=N*(|LFMf@%P8SAOBhW()i8q=Qzf#AsKf!NuERF zkB;vs8TZuqbK?6-`j3bo8-I8F%=o$SAIgjPJ^1)a571`Z9pnIhJ|wBs(LoL}QNc!)ORZz4Ia zuC%WB!(s9L%{J$IV&Z2e-pBa+yk6Vpe1}Tk-(d0m4Hn7wr=;(1u=xH4 zi|=oG##=0@<6B96zsLJK)B4RM_3bF>zeoJO()YLc4)I+j{V$c5v!02MO#F7qI1j`> z9{;T5xcTv4$FGFN_qRuhbH1BO>exn7-_EeghrGYp=6oAV-``;I{S6l1-}D^UOLE+W zk~)UO4~riysbfO?Dus;zJU@LHhm{KOz1h z$#Jj8zZd^W{5SDG##eoe{+xFm$@u$A#y?2<{ubXp{sc+>^Wq1@4~`!mKPG;P?7;OV zeSb^*oy6x$=5cBK%J?;sakhILQrB*hy7rRzR`DI;yGq~R;xCN9SkixV{P_6$6_ zGVXSg{(HpNk8dG)y+2A0=KUk_?uqx5)Z0IPaQsk7zWd`Ji=P(%Vf>=_)zJC;-8S>N z$up4pwvyCW6IPke?;qG^J`a?>{=wqwA9OxX&~sc5$#LgM>bo@ln)u<8`tFRsFa8n9 ze9nr0H~wQu|KH^myq`^jjI*U=oEnmG_KZIuzKP_x6XJWuUjRMd%WQMLHzs~-;^U2f zTqrzjoAZ4}a=x#@;`Nk_rv7@B_9`XB1-{0ap#CMhS zzb5{s_%ZQM#m|VJ75_o}=kco~`)94ZlIN*C2N{2JNnP7X>fIy0etcue_+8>pjXyj7 z+W1@J$3y4yVcX2-vx&cw_#ER4cy6a{=JPAbeEtHR&%*Pi`P>{@UkyopyGiP65Z^TZ za7ld~<4=k|Lo%P2$6ptJv!ws@_}TIA#4m>a{I$Y#{taP%q;*K^ki5^;k8cv+LXx+0 zeE0aC@%`fm$KNCQdE6uM&&1D=oabBdAH{zz$zS=ukb0^~*9|(~d)a2b8z^s_}*VJ`gPKdsy7}#>ul-lIL6LzK{2J z?DU&S>fce)e~Wf8%Gxzb(oCQ+(Nrw5ex9 ziLWiG^Plleq3d&$ZPw@b#7|579OIwz`-8Sw=c^>^d>eGV#zEI>ik`gBO2&IhQs2Dz zh4D)yb*zpryj1F6S+ZU`OY+o>-(S-Ir1-Pq`^1lsS2I6}Kalto$^8E}epdY3l6))T z*Th$Nx#X)!#@}9Y9tTLyyQ$>9v324d6YnND&$HwE#$O^CXKeh0_=nD3mXS{im@fJwt{k!;|eDfairr&_FcXBM)A!g;z!2c8Go-N|Kst`$G;-U|9Sj3@vGvizD}Ha zww2Vgvn0>H@r~n~OY*dj?-qZBz&Z>DXozj=u-O#Cb3pBDV-Sp04A<0Z$v82?86y!bEUzmMPKE&4Mb+epUWMKb=L zlKhS04~=gv$$x76Iq`ktuZkZYKS_4r^8zH--;BgxPyAiU{4R?BHh#5aoUP|V>e^XS zR~?BzJpS1DE|UFtMtq<6izNL=#@`u#Z~V;ox$z&yuZsUYzS7&J{98)u*-=u@?vnh? zSm66C3&`x z^luv9I=+2;59rq|S0;XA;h%=mfn3*&!~+%H#tuQYx&$@tq!&ZBnxe({YY zb#;#K9^W(m+W1@J$3y4&VcX2}vx&cw`0K{M;Oj%%%=1^0d0r)%kKZNrZ1#RB&$iG! zwI%WWB=LsE7xO$5==!vUu1|O4^y?+*ccJ9GhQtqxA1yhr3GtKTpOmc6-1zzNizNN4 zegMh8y(Isx65jy2K3x+(J@IoTuTvMtUlo6& zp7X0FtxH;$B>&;@$HkunU7udInb!e{Uzzw&<6jmEV{EfN_e$1hiX{KDlKgK%^Sp1H zJc|=wp7?6xOIVYSO6yYPCa!b_0)&XYg60I>(PmKO1zu#uL^~8Y_mQWN!DkGB+oEOp7GE;57;Kp zQ;E+={8i&idEPGc`dJ8FpC62qXRRd927E8a^QtcKH6^~b+?^^`ZSmHJ4({; zL};EfY?G&N;)4<&VtiSla2s@e#zEI-igEHhE6MYcr2cvF3*(na>R%mS;Cl!5uPj-g z-6VPTiT|gh|LO7P#rKcD9=bl05}%s*bBTW(|7HAl@oVEN@wKJnZ!5We8c4=(8h^NC zojb;#6n}=Ku7UAG;%|r_2d(Rg#Q&T4tCD$nFaFc`uO#^@bFc0A)ueSv{DJY!<2yjt zshe%q>FmV&CO**kH-*A=wps7dlJ&k@l7EUM|1@ZxS8bE$y~ICF{7d8C@;oT$dKVUz z)_Y@Up6Zf3J4nuJpZEjg50TX0Ccbn0$&&RR5PxO-^^*QGKua6S{BJppH zf5+bm+h*P?aWCM!ZwsBjn$YW|zMeXpNa}1MsiR~3N%3b$>gXFkDE?~6{Ed&F6#tl{ z|HAlX@hjsi@*e6u)P#OrQCCt&14$hROX_GH-!ZN;p2olDz6v^zZK3mcf^quwkn}r8 zQvap#*TfH()PHCEeesV-=5bd1yYU}O`j_WDt->|j_esXtPBP9el6|;ueB=1$lH*Q{ zKQsQk_)FujiN8}aFAu~&9{;T5JZ8ne8~?E+|F7{I@?L2@)g)h!>?Emk&-nV1{)fc3 zia$fv;^%hpgX2d+*WnJ^tiz%}*e)Yme;ZG0!my7Y-37=MMN|K#|m<6nq>9lF0)CH{Njm3YtcxLT6B>PhNq z7~e9!ZG3mxp3moqzdC-HnGkM z@#e;V;CX+xndcKF^W0OC=ORg-!O%RzY?J4X#3v^HknxrL`~mgM_3 zAH;ti|FtAvC9W06-%K+8HWJ?`{?Pc=l03)9pBCRs(tkkwmGKiL-~X8w|8o4B&~^RP zHtYIb;y)+;yYU|jg-yBk+#lOX_Q&p$IvYsp{1-G&Yun`MlK82KpJn_f{*Dy7KL$bf z$4$n`bGszZJ(BsJ8b3XLrsTZl#V?FsBH15h>|yh4EXlKlq<_=+Bjb;a?+V=?LlYmF z`0bMG_ksAwDTrUlo6& zmv`yW|N!Gc$ zq+cJ&ybgfox!N{)MkPKj@d?I%;dubib)F7g=eLcM=VM8pFC_D@I=;Z(&{vk6S9MAM zn(?(I>)ax~P5g0^{#V5hkH0nkZs#Aeo zkB{#z*)QkC4~QQu$#YBmf8y_ppAN0-y~ICF{42@4{1{)3xwJ0l)O@uib?q15D86%i z_xQ7+>vV~2*6F&$M<+B>C&b zH;Qi!o!1Vwnb+=#_e%VHCp9>`8 zej^!oH8fB8Lb+m|%_Q;dB=MbK75+8ipYz!iI-jkf{W?neb(7S8ZhZgv%Ov&R7=LU0 ze@ z>V7i*h4|Mb`If}5h_6sa9_DKk=)7+ysc$z)eR~_HZ)4lc`(cuK?*g5_lc4i=k)GqO zkQ{fNq>kI;?~Q+0QpdCLuf)G8nZK{%e~AB8(!XwbNd5+r{0B??iScK~pBH~y{N3@B z;%CLb8~<_q*YT_3D_0;t?-%>ZYq>v?jDLh={9`2Rc4GXQ@#jhEx-$O8_*>#1g09<( ziNBHfJjr}5ivKo#wItux8$ib2Su%bdi9b5NQ~XKs*TmlxKPLXZ_$l!(%b~nq$m`f2 ziLXff7wPyFq2o)(m)yTLjBgfyq@@38@#n_>JAQQh`1t$dUyXk|{v%2Lui}4*|5cKI zt4ff1c9PVyhr}Nl-#-2XNuIOfFNhx~>3?nf&GC;(?z3mc&yD|3l4nW$iuhk7c`8?i z)Kg7T&%Tm8E#lk6cZFVWXW8a@>zDZDi4Qf-o*!+S>+NpI_4YLMdYcZt-e&6=Z=Phl z1(N;qUHs4S<*MMRZ&OMCZ6y77l3Z_%<6FcZCF$QkesKKI`1|6g#6J`NYW&;rUr4T> zAL7@>Z?Iu0|E`jH_LkJsAik|^!gZDSnTek#x!x{~zb1aTq~3etAC7+_{-yXge zW<8KVB@S3!ZZT7=%lKs#K7T>?1`=Only1Pp1K235yed7nkUoAPGQSsyA zCrb9i3-Pn#-;wk$Yy!!@p(KAbiQi9N&-e8bZyg$Y$x}DJL3}64>%`gd1L6luzHS^5KQ{huNuEdJr^SCD z`MPmw{L1*Us-^w4DRh6;kkqxiq^^3#d5>vgn|VG$`u+}!@9)t4b-teCE|wg3rDWbm z#gB`hD5-C1{Pg&llKu5r{Id9!lKwR}gXFIx$-ke(A1iNQA0^&1@$)77>$3Qv@i$55 zCw^M|i}7>g=f|&-oHsXS#r?Ihbls%uCOOZ#@eSe+mW*>ke2@5Z;;)Mz6@Q0hUrdUh z8vmRm&j<0J$A2Ba(dNXdXIn`j%$IpvjAj$J{eEF?tGwwzbzo(?01LB)V^0bcc7~f6O|Lpj_@uMaC zYf}6(@iQd*Yi|7f_(hUDE8^G0Z?iR?{Z&U&&;F7+n?d(i8{6!!u8E(XcyHs}6JBha zdA>%nzixx>uW``*HAPR}XC--GlFa+O_=WLHB=xP1FKkolUsO8vk|t50ZSRQw&1Jd@(5#=kGwU(4cujW1sl&;F_=ohRu$N#`m4p!m*`{dHFS z1@V_d_t%ZK*c@Cg3Nn$iLWW~ zwI%g6h;JHyxMY8w5`T951(N>b;_r`tG=8oe!9Gg->%@PM?5}b=L&o1oGXCb$`H4R$ z{?Pbi<4=gcP;%abB>U^S#78B5hvYmb#ZQfYPBPB?_{H(x#&5g}aq6lrscQ$xzNj1D zApT%Up3d>z<9o&rjlV5^yd=*f@z2E1kmPwQ{-gMxB>QXQU7__z>yhlQz2g5F|1U|N zqvDT??=RV3*T&x*KLNVG9=6T?dN%P_5}#w7uf0FE%{+f4*ivGFIwpBmpMeqj7a$$5{H?5|0QPfh$e$$8F>pBKMCGR~U#io4UMu75~;T}izS z;t!VWi`MZSAx_3Y5a=#YITU;%s!Hg zzo%sU`jY*1NPMgKcGCHY9~gf{{D}Cm@sCT+d%9$Q%}#t?;tM3_xh#Hl{BM$Rw%-#{ zS1n0hdrN%l_>S@2B>Up*_`dO%Nc!Ize^>ki@w4JTjQ>oM=ll3y-diG-6Z>~SNy-@FO}4Def%x)Pf7OIYw_>IFNW@~?`*Tb)+SzQFWQV>6;|1( zT%m?-=6Mgv{%Qo>UrnL=tF@lGJ4%l0CYkqh7CaLen_*>)uBiUci#J?2(x}^Wl z@f++-oBW$d{EpD?=O1W$B>P%YM;l4M<0N&Q7JqL1za__yj=wj4GITzkwat9YO8ni# zKQg{?xx&}BnU5bO^HF{u$hezG#@!K`r?zeKG)TN@;w_DDQm)ViI*%to=ka{whOvyZc7QZZhrKEq&dXW5eB>DG~_@m`0zVDRysfnL08ULdA zE8?${9QQ!{_s72?xqd#1|04cJ==$)3zvBA*Lo)u>lDc++RsK<~u(xg2xsha@kA$vQTj+Xq z*K=Gi$#EA-=4(j&u=vrE`XT49=DgKoB zvn1=*FaGlQYbABv6aR4h6Y=lIe;NOsB+qa0l@BP5TUC;02T47(<6B79zjJ)|_zR)y ze~E3b&+8H&mH3^;H!W9~WSjMWQnLQ9LDzo{bp4m=8E>WJ{MSh4Ym){gzm>%AD5-C+ z_J#*q<^6iB>#qz{M97B7Igia+P;R(TizmX(=v-pnCdF*ZbHoo60 z={H2u?*>U7W8){pKP0K+_4xPVzk;6s3fr82p$R14hLU_$VU;b*6>8dM9_vcxv7w~j zVUm7rp?SL6CQr}AFHC%Z@#^IYw?XG|9CRM17$?uOk~}X->Yo?CFn)=o{?+k?gG>D@ zOXhKBNuIj#`%C(t6n|EHpZF1S4Bux>{DH)$NM2|D8$T=lZArc_3u7zC$JTwU*3R*Z9-p&z017ar{;BH%iw3zW6Ee&q(@z8UI84uko8S zE3H>u==cpJ;~y+Ju3h5&Y>(x2Thed1q~EQQeR6O7Bk@m3j(!3cP4&c;tw0&x?JIT+pNbd$$Gpe z8TV7kxIaMitg%g=4G%5Fw~)lQg;lmGSEwDoU;LqZjyuXW#~q*eX^HnVzHPa}wb1n+ z23`NL#uzK_^L{@5)%dq0=lx0iSMlFV)_KuLYq$KMivr=-3Ic6|B|AEl+Z)ThGZ<~0R#7{E5W4S_a+syw!$^2g}8TS@Ro^jAT z585WrGl{>H_$=c!%N3SF=W#i79?Kt9%Cm_i&z6$F<-oNeZDl4KsAl;nR!GVUB`o{w#l=j+5*CH|}Noy!%rZBv@Zn$UTy3(eC& zlILJa{cYkq$Db^z|J?Zg@s~;FaZLO@@efM+e-Qt9{MYeS+7f5n%_ZY*C+WXOeEs+q z@;}U*Y{BpQB;F(Ob0n`z1LKFp-yq31K7LaCWAU?~>-bsX%MxEHIsdX_AoXo5sc#EO zzJ~G5;*X3!Bfd}kAn1BrZ=3ZPllVP}KV*EDa)oDXv#zg5*7ZZ^K3@o3pC9zpu~ze6|A053wj57cdP5?(^u0s(XY`T z(4W#1ex=uG-&9unX0lo*KfMIKhShUxW*6#n!+dY%2U$J0@$?z=1y<{ArvE}eNWUcg z+#WIihWRM9^g7*__*UmjVRgO?R_j%u*Q7U~_ofe_kCA?Eb3N8`Th06y=68BNLs;mT z$9it(t)AO;t9>6^?fXW0otU*X);dY7=F?iuXO=ND>Ypb_Kkrh~&%3hcbzL2+>zY`- zug>(|^g&kdYdn1heSy{U-a+3_|IO<9m-NVWG}ijDt$J3geGAb`S^a%YHF|w|bF1q+ z(|gmWS^a&@Tw7899*g-+%3>?S_nIEHuEsi7T&w+)Tb(N-J*U<673ekT z4d~y}2hk@>KZn^K>p84seiQS%JfA5nbi`vl&$Cv~^RE2x>y7ktdE>5gM5`xtzK^Wl zPim{4m7d4yd?o1>={2mLO9Z_Ky}#A<^Xwx1^K|AnGr!AfpQH3M^vhPSdqa<1Ut^ss zq4fJr>#^SNXIAGc%zSCjXATQh^H}e3`5KSiO&1^#ABDt=3P{Q0hFHtj_b9^!+U6vF>L$^R<|7?D;JE=UE=>e)hDw zpQEJj=LG5dIon<9F11>Bt<^bxp&zFIVReqb=y&M4arjilB|WVKF8tLrP$zoIv! z_ofe_kEYL{FQRX@`unn9>A%s>Sgrqr{*E54anRG)CAv>m=PGPfV>NnxdULDw zdeFb4e@~xEpGV(n>*{}3N&lUG*6RLUr~gBLX0?9OCQ|1~XLX)zR=onfCcOc@9la}k znAQE5Mqff-EB$%c;jumshnYXc{GXoB8Wy_au|5w^tv(O2ng*YTc+#JT^wQ_cX?4B= zR_~`gy*j;~)w$cyyU=@CeI6#!XVVv3U4Mdpk$#mPxtZp*Z(OT=6Ioqf%r4daVZJ8w z4Xn=9j^35t$Le)6=!@v9=-cSO($84^@0_k${qLM!FdwP8#yUqVtM!svKR0>-tJjsb zdR=Yin==26^z-QBv7W~W<|i>f%k$a7Ld!kY^VnqdJdQ|zKTk+Mk3ZeD?@g=o{A2aL z-_v8Z2>K^h=S*#NeO7uNtLIUPUYp+7>iQvenVuK(vzcFP^*z}@-$~zR^}1{H2lS`( z$SpPR=V*1_OjhqNkJWz%QJncNnXhK`ej3x;(mPx2GnPJ^zS!!&FW5-mMc;3A{VDoo z`YWsdz94ohsdFW=I#*`t=abuGJ)aWHS75$|=d*`}ns}`9x3_veeWahyKU_uP7wA{4p3iG~)Yic|ajmW|Y_)zFdL{bT^ltRN^pW(*^d(k5 zFE-JCrXR3c{|5bE`g5z_-$ZQ_?EA6R`$}SUeLi||dO3P?TUftNGv9~#!B(H63G|ut zg;wkBp&zB6qF-8Kyw)z|;x4JJGtb@7Hm!ns)+9!hEgWjJ$i@uV+ z!Rr0*p&zB6vRdZ~{T@ALJ9Yj3GMUwRGFY7_ht=n_D7_rLiq$#|>8!0gi^K)H(__;29zMNL)D`0iM%G0aU>sg(z z4ZRD!m-Wwe`fU1QtLsnDFVe5lBe&PQ_Kj<`Zz8Mfi`nJ+xx{>J<{MjmULxo{=>4r; zH<3PzzKFh_zJq?+*45vy((lqAS-tO2gw(lWS)D7s)%v;VMd+pJ&FJmvU9CPR1L>pa zldRTRL;s2X3;i$p9r}OtI34slohPx?c~V)epMzeIUczeq2J}|+4)js<8T18K>#U=1 zr|-2|=LG#C{e{)%Id(^>^CYr5PfF|a&+}2z z^M{!~>G_;tp}#!V=lP!1=lPZN&)ra`;Pae7`g|#^&X>{ZxfZ0CqF1mwUmbcgdONGn z^I-ZI`V_0{chis1PtqUR75eW|J4@{!+iL#=R-fCn^z8I}R_oQIH=?(qccu5EPqljA z^R0f)t!91;^FLd?&tvqn^#57y^M)R+i^e+FM^-(B)p;|~3t9dCrJU98U+Od8lKBX$ zpI?3GL+N9z)|*LROg~`t^XnY_CjDRO=l#ZGJ?~iGNS!00_2){)%oP^O=CR&)L96E- zF8#c#OaJ_8>8{sxw0d0+tNSpVK7l^n>U>M->*!mpp7%-mpY-ci*T?HBwSF?I_0w7P z(srf(dnV=^GT+kbd4EIiOCMtOx`p)B^iA}=^keiJR`2_v)$@MCe6(&F`}tYD&lJ|r zkDkkFpUU()^d|Iv^x^bzR^Q**^riH*R_h$5pQ2x)zoy6PuIqH3_*UzrwK`9BdOoXl zzMxm4x3l^=(2qWxKF;d%HHW^8{-f18yXXh$cdR~Nujo;FXsq)jmi~OD_E?{_R^oPF4CW`A?|wJSgUoXTHW`h^mX*DR_8lFKS4il_4#^4 ze?yPbGq^st)%r!O)-O$OVOQyM#C%`ohgf~SCemlo7g_DUmwt?XntqjjpC0vFU9a~Y z&+7A)!s;BEtj>|k>U|cYm#0^?+NT4(Cw%~YHhn35t<~pZC;b5ZcdK>o&>z!Z)06ko zyv~!+>O48E)+t6WPp@jVP9u67`UtDf*KGPK`bMkI*IxQD`f00muF~(*WA;|p=PQ}j zc`{g?C$IG9tE9*Jd{tq-F7wSipF1qn(PQ1`-d3NlQPQ8U3DTdhMebU6jn%rFt?v5) z`U(1ZtMlEYKcv5~`h3OjBehNnt93G1U0W*sj*+i1}H}FS7c4t*7sx|7x|~ zIr-isJ{w(u< zc|K2A=)T8#{x7Vaf2{t&^N%M#{Qg_|d^xSoSHS9im8Vyy*Rwib8+sRdFRSN2i9VaY z*y{Qd^o#VX^vDA=uYKcM?VHHz`eJsCe*evUZRQ(WeJ&#CJ?Q_y(~Hnc)0@%T)4N(d-+}Z|^hs9htfBuz|Aqb+ z{SN&O85e*3UsNNH1Zvegk?ddI$O_`V{(Xt94eCf|ekM()}h55tGpY(iQ{r=ly zeV*@GeV$**55NB&9DJS=NS`mI)%h}7J=cQtQuGQ|=c_|+MsH{Jc^*t3L!V-G{cidZ z`bqjfcCF6Ce3T&?YyUV_`zNzHR|a|xtMw|;YttLk`_hNe$6DRzS@b3JHCF2!qMxK+ zq`#s^8LI1i9;*!D5%eDP{#N&SG<_<4j@3F_>3iu% z=y&N)=x?mniT%CQc@kNjC#BUo+35x7b*-LP1ic4+i1hQC;IW?9T;`WEzuxot!$LoM ztmk#a>Umw1eqMh|Kd;B`I>%e9b3`2>b-xl@^)yyJi`DrG(o4}RSUs;6^bYjyR@cv` zucmLJACUg_{RZ>@GXI?U#3S{3?{B@o_5Soy^slV`xnm1kO25BlzAy7btbU!DNS{St zWVPN;^gZ;$^vlxcd&2xX=A(_$>vVq-TAeSI)%h}6tyh6wliq;dn?8g-M*8{9^;pku zHS=4T-|6`R`uFS}>-n9xdVbff_I+%%?;GiLVvg2W>m;$7Pir-wS;j1=f6p%c+)GJ6 z_sX8vb#<(+Yhv}jI@5d82U)$Z@$?z=1y;{}2Yo;NH>>L(+jaWyNXAI*6US9y#M=$)jW$1vu{Gyj9txtGv?r2k~K-WmFJ`UC0v^~z)2uNY&c&KKY6 ze92|Z&-LGUEv0&hZ_6Bz>aQIp)z<(AQhtzoYas z^vhP)M;<5F>s(g*q_Em2gVp`ZOD{$*YxTMY^j7o^^a0ZMZz}Wim|tdf?#=XH=m)LV zyFq_Ke=B|eVvX0l?q5=?^QE&oUv?R@P*|vt$GU%It?pj~>HF7A`u=ru*X#OQy>6J* zIi}I))0bPFV+(yZ{gBoDyGp-Le`0lgnh8?tXR}&AuT?KEeIHtRyg}!%K8N)=tnTk* z`W*TatJm+K@2CGp|4Vw^XUvBt2J6MJdS8jH_DMs}VzpicdR=-m>HFK!W8L4r%nxIJ zwC4+lg=TrI`@78Q{%*8df0xz!I3T^wd5^WuP39jm|IG76^eiR?&n2Gpb4ek+PA02$ za#@|fB)uZNhSm9-(!ZvEWA$7{)2GtsSY3aZeu{pH{*oSfvaZv@EQ z-WRuD==WR9*Ji%4)$@y>_n`N;T5kq@5q%YX8~s=M1*`jegZ?l5xz+uMIz{SSA6uO_ ziPidr=%wl5^mg>F^gdSq++ZYqGJTfSIxFZK>1V9|xxr2PL;5@E=Nx;g=JlLEwZ30g z=gJ{t77Ys(_E_(yob~rne)vAh58p?3y{^C2>xNl>AL;Yy%dO70g}$49$ol(8zfXT+ zb$yy?QtM~4T0gHz2{i)3?!oll~rFXZ|1NpIN=1 zC_hM@<0GqcB(_?w5WO@#oZgP!mEOnd_irQUljt+8*4a$|g?^BJoBoLY%4(gM)1}Un z!0J57t=7p(&quFq_4~lD>AmQKq@VvdkM;a#GryGiA3a|zEVR>OJ^w>i&;O$I^Z#4= z`9F5oIo?{GBkByP`<2+Lr?Ki;tj<@EUW#79>iM^zcc6E-x_&-=C4B?^6#X*&2K}R% zdY$%7YPD|~t944!E7EJwo6^6g_p|yrF^WEgKHF-Y9rXS5-{?xI*6(Hqg*)4S8h+S>X#L|;T-Wp%%|(SM~MwOaoU{W1MDJ=tu{>zo;^ z&Y8pN`XcnQ^tx8}qaD2~y^q!PGw6%xtE@hs+vva2k6K-Si~b+|B|X_3&HFso=drpz zoL-CG$ZGxe^zQV2R@eVPUqD|$KTJPGzht$}UHTLH8>@9<&6PS&LaXx>wE7-}(`(Ti zS*;U6??LZxwa#ezRQgt{b&k<5(XUH?AOG`M-^cgN$DF6J_Kz=P77q)h_E_J?>{j2$ zBGTW-QqteYuiSO+##XOuZT0!+NgqfbVRgP~^!fDVR^P|H^kekXR@aB-ORXQv`dn5$ zAH6ue9K9307kwaot=*{KcQAjD`QujKm&^29^nb1PiM&8+|F~BBC$j44={f1;ZC(93 zL2pEFWpzKg()-beTCKC3zJb1-ex81ne%I=`zo182sIkry%W9pBR_FYT{yDuKy#>8J zeI$J{eU{bwE9e{PJFM0}N54Y9Lyxg2*f+k_d6HROUzlEoUdd|x`t+9c2&?PAr%$BM zpl_$|qaU+c=Mwz}{ejgwujx@2YpnBRvHJWMv${X!=~b=PX-scR?`*YBfBN_Il~(KQ zq93E5wp!;J{Q>={)jE-vNPm8;&Xdh*of7m4^aj%3$Ce)J`}hs>eVHHX`4VBFi5~0w zILGSyxLx}DxLf-Bc*(HCg+gblSqYtEyuv%w1eFJ?v{XG3D{jSyL2&=_Bcr>9efXUqRnU-(j`>Ir+hl;q#w6h{~rA*{VhG!YR&6BIjzo9z-pbc^s4kaR_nB)ccPE6 z`o7PnucU9VT4xXaDE*YxI#=lT=pU^K*2!XZp1fA)DPpxwMfz9thF0r*P47mZW_6yG z^lkJ#R_mOgU!-5PTIV7C6+P+NV4dt%=P6)yp5j*PRHoOVH?dl$1HC7Gy487B)3?y~ zN&h_j!(;tC{EPWJ%s=vc$*|CSkM;8~_K#9O50gp%JWM0~^Dv*g&R5*(eC4dZ&vod{ z=5xot)lhyU3=u_yk>D%f1 z=*Q^y=uhcyt=5mdQR+O2tj?3tYW>3WGW1IH4)mV%0rWZaW%M7d*55@xNI!11{yq9r z`dfOcO`6wvvRIubx7GFG^jh>rR_nK?cc=HWy8Z|H0{RO2VfrchC98Gr(x1@ZSgjLl zv($MKTAin$)#oUjUZ39FYMn0hKJ>v>>r9}}q;Iua=NSDg{eM>LJfJ_PzqeW^?iQ)@ zB(XYA5vz5o((BRNNdMgE=COWm3}SvX^HV%uDlD|XWBuG%WA$_6i1g2m6Vg97uDNT! z2Uhz%wfY=K`zh%0ta?(b^JSvvrWdmMxlxneh~CQjzR+jV7t(*F|3*JUe@Bn8HP|<%zJ$J!zKed=>U({aexLrt>V8DpCbe%I ztNW4AYW+g=()4h8J9<}oAFJm+f9^^R=&$IXZrAH{p7d7d$!@iN zVR{*QC9Cz@(!Zhircb9Yq_3nOrk|o;vReNR{W1Nu)%rBJEdLyfK zBIrHn{jIJaO`l5NYW+Q;pQZoLYMlr4=k)hh>%`qDb)FfP8E71dMm4Sy3za7 zhgq#NnLdZU-D;iR>F4QprN57lJ=XUzY?svjv8_KZGUgXyp|l?B`2IypiM?0qJc+E%Q^@M`Uzy&J-qLEFuJnHNp;qfmqR*ypw_4{n`Z@Yv zR_pvje?brZ8m#k?)p?Ryou`P^I#ub7>22hPUmrd8uaC@+W`2t2OY7H1kNxYT^{^C>!>^C-+V6qYeow7`ecTuHcvd~B)%(mu&rL66{p%yW5xtew^%Lkb=?m$<(to3$ zp}(WY*ss@X-*{H*l(1X%^UdnKb(wE!^?mF}|Caup)$1nH=g^nXH_~^}&su#SuhQ?+ zpIHC;ctC33I9BIMXtjPJdTDw%y&b(Py^qy%A3>i)pJ}zuX8JGmgY?_#K zI!}75^JKSLzc9TFy^_`XZRy|8d()@W7t&YK57ST4FIlaBhyIxU+G_nIhosJv*6KW2 zt$H}U7QK38LaUmrd8ua8Hh_K$7-d66;8=+{S&{p+Lk zuaEM>uaEM>uaE9}T}P|e^|1c+kv@Sw-RgWx>FelQt$%%_|4F}Yb$z^}QtKzPT0fmt zFGH_FuTAe~x9PbsKb848R^Pi-^v(2LR_pyizeK-A|BwEfp75Bi*Y_@s)w!}+ohz@^ z`z}Qfr`NPvzYDz&eK37KeIfbc4^JKL;Pado5E7R-H zn^>*if!>oo!0P&$^u_em^ds~O^ea~DJfy#(NBTWjC!Y0lvpP>9tIuI2dTn}R>+{fi z(g#?bXAFHBeXI5Ni++}VUHbFON>{=JgN`aEa1`aBnr{ydkG z{ycx>u5&lGdR=R)=h~A#kUqldeADRj>C3G?&wJ^|=%=l&51o)&KbG~mta>Kte=lE- z`D)D9WxgkUAbkXV8ht)}qt(C1JVZZ9zi9P7ZqpypUs>({=^s+(N^f

      Vienna RNA Secondary Structure Prediction

      \n"; + print "

      ", + "A web interface to the RNAfold programm

      \n"; + + print "This server will predict secondary structures of single stranded\n", + "RNA or DNA sequences. If the options look confusing read the\n", + "", + "help page

      \n"; + + print "News: based on ViennaRNA-1.5
      \n", + "Try the new SVG plot if your browser supports it!\n

      \n"; + &print_prompt($query); +} + +sub print_prompt { + my($query) = @_; + + print $query->startform(-action=>'/cgi-bin/RNAfold.cgi#Results'); + print "Name of sequence ", + "(choose a unique identifier)
      \n> "; + print $query->textfield('name'); + + + print "

      \nType in your sequence\nTs will be ", + "automatically replaced by Us.\nAny symbols except ", + "AUCGTXKI will be interpreted as nonbonding bases. ", + "Maximum sequence length is currently $maxlength
      \n"; + + print $query->textarea(-name=>'Sequence', + -rows=>5, + -columns=>70, + -default=>""); + + print "

      \nChoose Fold Algorithm
      \n"; + + print $query->popup_menu(-name => 'pffold', + -values => ['mfe','pf'], + -default => 'pf', + -labels => {'mfe', 'minimum free energy only', + 'pf', + 'partition function and pair probabilities'} + ); + print $query->popup_menu(-name => 'Params', + -values => ['RNA','oldRNA','DNA'], + -default => 'RNA', + -labels => {'RNA', 'use RNA parameters', + 'oldRNA', 'old RNA parameters', + 'DNA', 'use DNA parameters'} + ); + + print "

      Options to modify the fold algorithm

      \n"; + print "Rescale energy parameters to temperature\n", + $query->textfield(-name=>'Temp', + -default=>37, + -size=>3); + print "C

      \n"; + print $query->checkbox_group( + -name=>'toggles', + -values=>['-4', '-d', '-noGU', '-noCloseGU', + '-noLP'], + -labels=>{'-4', 'no special tetraloops', + '-d', 'no dangling end energies', + '-noGU', 'no GU pairs', + '-noCloseGU', + 'no GU pairs at the end of helices', + '-noLP', 'avoid isolated base pairs' + }, + -linebreak=>'yes', + -defaults=>[]); + + print "\n
      ", + "Should we produce a mountain plot of the structure? \n", + $query->checkbox(-name=>'plot', -checked=>'ON'); + print "\n
      View a plot of the mfe structure inline using\n", + "an SVG image (may requires plugin)\n", + $query->checkbox(-name=>'SVG', checked=>'ON'); + print "
      \nor using the SStructView java applet?\n", + $query->checkbox(-name=>'SSview'); + + print "

      \n",$query->reset, "\n"; + print $query->submit('Action','Fold it'), "\n"; + print $query->endform, "\n"; + + if (!$query->param) { + my @old_files = $query->cookie('old_files'); + if (@old_files) { + print "

      The results from your last run should still be in\n"; + foreach my $f (@old_files) { + print " $f"; + } + print ".\n"; + } + } + print "


      \n"; +} + +sub do_work { +# setpriority(PRIO_PROCESS, 0, 19); + my($query) = @_; + my($OK_CHARS) = '-a-zA-Z0-9_.@ '; + my($RNAfold_id, $junk); + my($WORK_DIR) = $serverroot . $hdir; + my($sfact) = 1.02; + chdir $WORK_DIR || die("can't change directory"); + + # clean old files + foreach my $f (< *.ps *.png *.coords *.svg>) { + unlink($f) if (-M $f)>1.5; + } + + my $Sequence = $query->param('Sequence'); + if (length($Sequence) < 1) { # do nothing + &print_header($query); + return; + } + $Sequence =~ s/[\n\s]//gm; # remove whitespace and linebreaks + $Sequence = uc $Sequence; # upper case + if ($query->param('Params') eq 'DNA') { + $Sequence =~ s/U/T/g; # U -> T + } else { + $Sequence =~ s/T/U/g; # T -> U + } + + my $name = $query->param('name'); + + my $options = ""; + $options .= " -p" if ($query->param('pffold') eq 'pf'); + $options .= " -P dna.par" if $query->param('Params') eq 'DNA'; + $options .= " -P vienna13.par" if $query->param('Params') eq 'oldRNA'; + $options .= " " . join(' ', $query->param('toggles')); + $RNA::tetra_loop = 0 if $options =~ /-4/; + $RNA::dangles = 0 if $options =~ /-d/; + $RNA::noGU = 1 if $options =~ /-noGU/; + $RNA::no_closingGU = 1 if $options =~ /-noCloseGU/; + $RNA::noLonelyPairs = 1 if $options =~ /-noLP/; + + if ($query->param('Temp') =~ /([-+]?\d+\.?\d*)/) { + $RNA::temperature = $1; + $options .= " -T $1" if $1 != 37; + } + + # remove strange characters, so we can pass strings to shell + $options =~ s/[^$OK_CHARS]//go; + if ($name =~ /(\S+)/) { + $name = $1; + } else { + $name = "s$$"; + } + + $name =~ s/\///g; # no / allowed in file names + my $fname_ss = $name . "_ss.ps"; + my $fname_dp = ($options =~ /-p /)?($name . "_dp.ps"):""; + my $fname_co = $name . ".coords"; + my $fname_svg = $name . ".svg"; + my $ss_escaped = uri_escape($fname_ss); + my $dp_escaped = uri_escape($fname_dp); + my $png_escaped = uri_escape($name . ".png"); + + my $the_cookie = $query->cookie(-name=>'old_files', + -value=>[$ss_escaped,$dp_escaped,$png_escaped], + -expires=>'+1d', + -path=>'/cgi-bin'); + + &print_header($query, $the_cookie); # don't print anything before this line + + print "

      Here are your results

      \n"; + + if ($query->param('Params') eq 'DNA') { + print "DNA parameters provided by courtesy of " . + "", + "John SantaLucia Jr.
      \n", + "In any publication using these relsults, please cite:
      \n", + "SantaLucia, J Jr (1998) ", + "\"A unified view of polymer, dumbbell, and oligonucleotide DNA ", + "nearest-neighbor thermodynamics.\"\n", + "Proc. Natl. Acad. Sci. USA 95, 1460-1465.\n", + "


      \n"; + } else { + print "RNA parameters are described in
      \n" . + "D.H. Mathews, J. Sabina, M. Zucker and H. Turner\n", + "\"Expanded Sequence Dependence of Thermodynamic Parameters ", + "Provides Robust Prediction of RNA Secondary Structure\",\n", + "JMB, 288, pp 911-940, 1999
      \n"; + } +# print $query->query_string, "
      \n"; + my $length = length($Sequence); + if ($length > $maxlength) { + print "Sorry, this interface is still being tested.\n", + "Currently, sequences longer than $maxlength bases will currently ", + "not be processed. Your sequence has length $length.
      \n"; + return; + } + + print "An equivalent RNAfold command line would have been
      \n"; + print "RNAfold $options

      \n"; + if ($query->param('Params') eq 'DNA') { + RNA::read_parameter_file("$paramdir/dna.par"); + } elsif ($query->param('Params') eq 'oldRNA') { + RNA::read_parameter_file("$paramdir/vienna13.par"); + } + + my ($structure, $mfe) = RNA::fold($Sequence); + print "The optimal secondary structure in bracket notation is given below\n"; + my $eseq = $Sequence; + encode_entities($eseq); + + print "

      \n";
      +   print "> $name\n$eseq\n$structure";
      +   printf " (%6.2f)\n", $mfe;
      +   print "

      \n"; + print "The minimum free energy in kcal/mol is given in parenthesis.\n"; + + if (!($structure =~ /\(/)) {$RNA::rna_plot_type = 0}; + RNA::PS_rna_plot($Sequence, $structure, $fname_ss); + print "You may look at the PostScript drawing of the structure\n"; + my $efname = $fname_ss; encode_entities($efname); + print "in $efname.

      \n"; + + if ($options =~ /-p/) { + $RNA::dangles = 2 if $RNA::dangles; + my $min_en = RNA::energy_of_struct($Sequence, $structure); + my $kT = ($RNA::temperature+273.15)*1.98717/1000.; # in Kcal + $RNA::pf_scale = exp(-($sfact*$min_en)/$kT/$length); + my ($pf_struct, $energy) = RNA::pf_fold($Sequence); + print "The free energy of the thermodynamic ensemble is "; + printf "%6.2f kcal/mol\n", $energy; + RNA::PS_dot_plot($Sequence, $fname_dp); + print "
      The PostScript dot plot containing the base pair ", + "probabilities is in\n", + encode_entities($fname_dp), ".\n"; + } + print "

      "; + + mountain($name, $structure, $options) if $query->param('plot') eq 'on'; + + if ($query->param('SSview') eq 'on') { + my $ret = RNA::ssv_rna_plot($Sequence, $structure, $fname_co); + if ($ret == 0) { + print "error: ssv_rna_plot plot failed, sorry


      \n"; + return; + } + my $escaped = uri_escape($fname_co); + print "Please be patient while the applet is loading
      \n"; + print "\n", + "\n", + "\n", +# "\n", + "\n", + "
      \n"; + print "For information on the java applet see the ", + "SStructView home page

      \n"; + } + + if ($query->param('SVG') eq 'on') { + my $ret = RNA::svg_rna_plot($Sequence, $structure, $fname_svg); + if ($ret == 0) { + print "error: svg_rna_plot plot failed, sorry


      \n"; + return; + } + my $escaped = uri_escape($fname_svg); + print "
      \n"; + print 'Note: you need the ', + "Adobe SVG plugin or an SVG enabled browser to view the graphics
      \n"; + } + + print "Your output files will be deleted from this server after one day.\n"; + +# $myself = $query->self_url; +# print "
      Back to the input form"; + print "
      Scroll back to the top to submit another sequence.\n"; + + my ($user,$system,$cuser,$csystem) = times; + print "
      Time used for this call ",$user+$system, " seconds\n"; + print "
      \n"; +} + +sub print_tail { + print <Ivo Hofacker + <ivo\@tbi.univie.ac.at> +
      + Vienna RNA Home Page +END +} + +sub mountain { + my($name, $structure, $options) = @_; + my $length = length $structure; + my $width = 480; + my $height = 300; + + # FIXME: legend_lables when doing mfe only + my $skip = 10**(int (log($length)/log(10.) - 0.5)); + my $obj = Chart::Lines->new( $width, $height ); + $obj->set ('title' => $name, + 'x_label' => 'Position', + 'y_label' => 'Height', + 'min_val' => 0, + 'legend_labels' => ['mfe'], + 'skip_x_ticks' => $skip); + + $obj->add_dataset ((0..$length)); + + #my $bp = $RNA::base_pair; + #my $npair = RNA::bond_i_get($bp); + my @mp = (0); # valid indices 1..length + my $h = 0; + foreach (split(//, $structure)) { + $h-- if $_ eq ')'; + push @mp, $h; + $h++ if $_ eq '('; + } + warn "illegal structure $structure" if $mp[-1] != 0; + $obj->add_dataset (@mp[0..$length]); # @mp[1..$length] ?? + + if ($options =~ /-p/) { # we have base pairing probs + $obj->set('legend_labels' => ['mfe', 'pf']); + my $bpp = RNA::Make_bp_profile($length); + my @bpp = unpack("f*",RNA::cdata($bpp, ($length+1)*4*3)); + $mp[0] = $mp[1] = 0; # use indices [1..length] + for my $i (1..$length) { + $mp[$i] -= $bpp[$i*3+2]; # paired downstream + $mp[$i+1] = $mp[$i] + $bpp[$i*3+1]; # upstream + } + + $obj->add_dataset (@mp[0..$length]); + } + + $name .= ".png"; + $obj->png("$name"); + my $png_escaped = uri_escape($name); + print "\"Mountain

      \n"; +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNAfold.pl b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNAfold.pl new file mode 100755 index 00000000..b719d022 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNAfold.pl @@ -0,0 +1,141 @@ +#!/usr/bin/perl +# -*-Perl-*- +# Last changed Time-stamp: <2003-02-03 18:27:19 ivo> + +use RNA; +use Getopt::Long; +use strict; +use warnings; + + Getopt::Long::config("no_ignore_case"); + +use vars qw/$opt_debug $opt_v $ParamFile $pf $ns_bases/; +my $sfact=1.07; +&usage() unless GetOptions("p|p1" => \$pf, + "p0" => sub {$pf=1; $RNA::do_backtrack=0}, + "C" => \$RNA::fold_constrained, + "T=f" => \$RNA::temperature, + "4" => sub {$RNA::tetra_loop = 0}, + "d|d0" => sub {$RNA::dangles=0}, + "d2" => sub {$RNA::dangles=2},, + "noGU" => \$RNA::noGU, + "noCloseGU" => \$RNA::no_closingGU, + "noLP" => \$RNA::noLonelyPairs, + "e=i" => \$RNA::energy_set, + "P=s" => \$ParamFile, + "nsp=s" => \$ns_bases, + "S=f" => \$sfact); + + RNA::read_parameter_file($ParamFile) if ($ParamFile); + +if ($ns_bases) { + $RNA::nonstandards = ""; + foreach my $p ( split(/,/, $ns_bases) ) { + if ($p =~ s/^-//) { + $RNA::nonstandards .= reverse($p) + } + $RNA::nonstandards .= $p; + } + print "$RNA::nonstandards\n"; +} + +my $istty = (-t STDIN) && (-t STDOUT); +if (($RNA::fold_constrained)&&($istty)) { +print < : base i is paired with a base j>i +matching brackets ( ): base i pairs base j +END +} + +if ($istty) { + print "\nInput string (upper or lower case); @ to quit\n"; + for (1..8) { print "....,....$_";} + print "\n"; +} +my $fname; +while (<>) { # main loop: continue until end of file + my ($string, $cstruc, $structure, $min_en); + # skip comment lines and get filenames + if (/^>\s*(\S*)/) { + $fname = $1; + next; + } + last if (/^@/); + + if (/(\S+)/) { + $string = $1; + } else { + next; + } + + $string = uc($string); + my $length = length($string); + printf("length = %d\n", $length) if ($istty); + + if ($RNA::fold_constrained) { + $_ = <>; + $cstruc = $1 if (/(\S+)/); + die("constraint string has wrong length") + if (length($cstruc)!=$length); + ($structure, $min_en) = RNA::fold($string, $structure); + } else { + ($structure, $min_en) = RNA::fold($string); + } + print "$string\n$structure"; + if ($istty) { + printf("\n minimum free energy = %6.2f kcal/mol\n", $min_en); + } else { + printf(" (%6.2f)\n", $min_en); + } + my $ffname = ($fname) ? ($fname . '_ss.ps') : 'rna.ps'; + RNA::PS_rna_plot($string, $structure, $ffname); + + if ($pf) { + + # recompute with dangles as in pf_fold() + $RNA::dangles=2 if ($RNA::dangles); + $min_en = RNA::energy_of_struct($string, $structure); + + my $kT = ($RNA::temperature+273.15)*1.98717/1000.; # in Kcal + $RNA::pf_scale = exp(-($sfact*$min_en)/$kT/$length); + print STDERR "scaling factor $RNA::pf_scale\n" if ($length>2000); + + $structure = $cstruc if ($RNA::fold_constrained); + my $energy = RNA::pf_fold($string, $structure); + + if ($RNA::do_backtrack) { + print $structure; + printf(" [%6.2f]\n", $energy) if (!$istty); + print "\n"; + } + if (($istty)||(!$RNA::do_backtrack)) { + printf(" free energy of ensemble = %6.2f kcal/mol\n", $energy); + printf(" frequency of mfe structure in ensemble %g\n", + exp(($energy-$min_en)/$kT)); + } + + if ($RNA::do_backtrack) { + $ffname = ($fname)?($fname . "_dp.ps"):"dot.ps"; + &RNA::PS_dot_plot($string, $ffname); + } + } + undef $fname; +} + + RNA::free_pf_arrays() if ($pf); + RNA::free_arrays(); + +sub usage() +{ + die("usage: " . + "RNAfold [-p[0]] [-C] [-T temp] [-4] [-d] [-noGU] [-noCloseGU]\n" . + " [-e e_set] [-P paramfile] [-nsp pairs] [-S scale]"); +} + + +# End of file diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/arch/auto/RNA/.exists b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/arch/auto/RNA/.exists new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/arch/auto/RNA/RNA.bs b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/arch/auto/RNA/RNA.bs new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/arch/auto/RNA/RNA.so b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/arch/auto/RNA/RNA.so new file mode 100755 index 0000000000000000000000000000000000000000..530ce938f14c61cb9eb3c0242d5d6271f13728b1 GIT binary patch literal 996516 zcmdqqcYIXE|1bX8Bot|eDo6{xLkLI_kkA8!5FsGdC1pthDN7239;#FcO0S`J2vwv= zR74QOC`CY&Ac&x#R7F6!ulK%Rn_Z&c`@4_d{qOGQb9|on%$zwh=ggUNb~g#*I|O#L zSS-f*@-&`CqU?*tG=?Ex7ja}YHa^D7)HIb$1xLQKyf}Ga9>dQs1npK*grxzNcaZimbbr|qCt{h-^j@$$mXTNvV7ZCHsjwWDby$CnB@*k!u*mB@ECaco z0+(`qFx-k|0rHn(nS-Sd^P*rd*Q4QHENie-LmBs17=kfa7GgPw{2B09EPr6hL@a%m z({&h2XQWMp@=C)p3G1;~KE?6@mM&O^B0U33Wvmau;(W;gZiVG36W&K&9W470_lE1R zY{AkPi}Q6FE8`HacS~E2bsLs$$a@L)fEn;3xEXfDG75{l4rAHLbw>jJvxh5_kve)v7&ZE!c!s?sHJBbFfKpTr`sw-5(nc^k`nSQ4-l z!ZI7nBIN(&D5d|Ig0u-(UPpMI>G=_dV%dS^JEm2{dH|M9h`(jpDcBNeeX+=EEtT~O zSRV^N$Fj;TUGm;QoX)fl;Rr0#kp2)$C#<){G8{`5;$2W)*RZt1dK1Pi5I4g50LJ^^ zJg!Um{}*3A{|BA&%~hsCuK52?Se+Ynaof19+j>>E_5WJ!%|w6L$gMzgw{_=gOXte} zhq3>W-irMtlH8qniL@uIgJlw9VF=fo!uD9YVwudeK-dn;axCds6RG6^<=j+Kdgr{-tCs|zWN4&K1}FEr@I$$TaV%TyKq0(SHV$SUq)Ng zhOjo*g(Y0CNGDKtwz~&de+`Q~Q^+epF*f)K*MFf-j&tQKv|@>7d=CDOr4yD~SOT!f z>l-W$u)KxkHWqnR!SaJ+&6xVMCcMsdFU}RW5NBd}6N@L(Wh&N;T63a#A4TN*Ce2k?8%GAZ;{@Q?`E|zgjEQQLNFZ5Z&+SK-h4O= z-hp{x49nXQ`(yoUSRKBMWjxjgV|gD-Di(RoQ_P3(43?dYg>Kkp2Yek?!*USod0;~< z@@j&mE7p&|Y48KM7|Q~zx5CmN%QnP=;Ar?Wmi1V?5wFIw3`;32v#_+s(jChq^EDsqL$TDr(gTYhmMCQU!Z0jzu>4Q2JmQdoY%3^M+P}wo+h8e6ge?? zd7AtV({kdM9I?Fbke8<^;4tI5?#I(;!?JSXLXP}Yyw8xArzz}E-g9VN#G$;$(D-GC zX-l24wqqQn}(+a>b={#bt8E zujY!&=8DVZip!ft=+dAG1x-3~ikc#(8cxC88x~U@hp-rq=XRWew7MQ?rk5;v4Xl2Xw4AYZm`fqdWJUE7z(_Q9n+%ouLJ1g9+ZRWH+!@jmP)y@aPZimpk0 zeNdebF3y7(N)q>l{(%Hti-bR{Cv?q1Ct37xNi3_5jV{Vf6 zHIku$i%y>FrT$wOGI#yF9PeW!UW<06BGZ}QU5A8JFK<)Lml%R+VXouxOpaG^4^xTl z%Yz{kHLsv!q&tp>Z2!J1{y~SFROhH~T&}nu_U~=Cn9otKwC4~ynN{D*F=tEss}7}{ z?dzai+B{FwoX4{Xj!&k|%W=m9E*-%f%eP8kqzC?=;R! z);Wtg%l6*F1{t^^Y-QXT=hJ_%m*W{l>fem*?%u#m%I$CCe1)ucj;|7?2adn*EKkRM zT*@y+JMXUXG;1B_w}9z~*#4*M`ka9M`=7L!yR7dEn1vgKbNv5;@to~e|4SGTK4bIn z_!n_JBc%Db+WUn}$?IJGU&ZrZ&9Q$xyI}vR802Gle0K7Bp3D4u=y&Qs*Y#fq?a8)T z%s94h9QtRk=DObeIbN%9`xQ9;=`B6Y2Fwf6|JLZA{cjHw$K&~qPT7uU2N~}Z(4LIv zuHzAh@pXN;^LQ39g|R=MQm*~=)LR0!#JIuo8jeTQbJuv>iu!%#6m)zZBiH|wT;(64 zeJ0Aofz|E{!mwyV7d<#>H#$(irB<2>0Xd75NL`2yxs9FMH^ zo;l<39qd1Ax`$bXblLx8nE9Tk<5^hZQaEpRJW#~&{2fO@odHX3ON6zaXrXsmGk9+e);mvVAp)T729VXcWu8G{YiH_-ve;I1KqCguXBx`?{GYP8he;mS^o+dGi^}n>tKi4c~B*#ObjNe2LV@0}@PeQ#u z4P5v87C5lpnDi<-_E*4!VSjeahZV4IDR1Za*uwVgNBQ8+p5`Z{OMXnQ@v&Mi+KH~` zo%J%GwQ?P=chITSD_-U)j;n0H62;|1T<7!0e5BjgSWIuW_Y~^$pX7Sp=#Kqn%SmK= zd!V24lII#ZUhQR|1bXB=Uxi`&j8xZrQx)+;Jg=Yz$9PI({}4Lno2AIOi|f(C{rjW- zLD3d7fyXlf{mJh(9B{wx%Iin_gYm-tIAeUIZ&H8pF#9mhWczo~k6?UI z>U^G*?$T1E9y<#=xMsJ{r_P9 zRo(7i;kl0Qd>q#-PuKZrk?VLgM0>NockOSaoR@;G>$wMx#~`=ozaP+^%y`%Mnt_gI z`QiS=t# zU>A<#n-|x6FixKHdA>6GJJ0R;t`zb!KCUZ7 z`rLv!^WWQOPwHXU@%fwQAKgNEe71}IrC!(1jOBb6#_{yO;41$S`j?IVInUpZ(w++z z)0FMc!hX}Eyd3YByJy{siUyaX;?N z@@J4gXsT;|XolmH{ei2$SFoSp>8|mJe_O8OnT6|BzNm4|XH7AlvlilcnaAS{VpG`letIMN?|k7@8h@VudsvtL z$#YdYK3sFY|Gtm?ZFIX{=b^u;b6xYr*XVBuKdIM0 zRxOX5&jTmCMK3d{<$cL{5 z9OI*adCKkgBUz5;R2ffix!&JA!1=7|wtYeL-}`%u=>ui|lhKagm9F`ymK<+fZ*s2W zdW(eF`Ca|rE8`chPdGlm;Q8Fl*b8xXHU=5KAd~r~3F`BN}C6;qAL#)p#5LVOu)Z~NQt*=R0%i4A9N5$!PzWbjj_*daFKd(QdF>guFORZP{tUN&i}8oZPj`D> zeTMq7!(GSw8rq-g?V4Xa(Ebdor{gVzX^GP%GH*3GAk?)12{A~0u-R*g}3}Tyz|Qw8PjRU1=R9(*ckIHX?r_cD+hl)ue{8USsecRFBravjfZJin(L+v78R=3jBlKWLlOAL6=RI`vB>vw%O90%`-yTs zaXL=4x61g%Yc3YKlzzhY-V41P-#5tk3Xt)<(Di&1fkF{(&&O8e zXDqguQ;ze4&l6E!2JW{qEy?!N&|ZV~%4v}CvKiwseJws;WckNv-`z{D=T-T60q@4H z=W#nukbkD@c_|*-r#*GeZzD0DGAer+>8I@P59}wqyz6}5Vt;2l+Jo<$a@}t`V?1Ye zFKN;p?ZfA993OJs%JB%q@wkgGn#ys!jzWL@-R>9Nu;290T%Z40(f;&0uJbz!3POug}H)(r3AzM@u5kzK@G^n1|zdJ;(kAVLYMRh)b9UXm9pFbiy$| z7BPM0cw_#N_iIxBnzOp}aov&RSU)51o%3sF$y1U6WzZ6CP0^E-0 z1J-|!>#WQETTV;Q4pC6vV`OCbHpF?ugkI$R2lR<9JPYWf3FF8K3(g?gZVv*Hb zI3K?FJbfB6Wq(cOe)GDQxySp-LtH;;n9QBei;J+oi~+9uLpAinzl!U5>MFLk<9Xb9 zz6;2FI>aOA^X7)g&%(p4^YgjBGX8>H?}xAC8vkc-9cJ}&eg5l%HalNFSQ)|d?~8Ru z*R1XP2DRzdxt+0g3hdstO`x@V$BsQagjhq`v<>WFHCAh6YQHB2Y7@W8@Q*t68@{||LUCE7H-{hOa1Q- zM#LwF#n^J4uw02+Bv(UN#`^D0YL0tv*vtROa8#|`d2v*@mCdya_Z+vLx+nj4R}-V+ z6LO!+7t%Dy)lVkA*v;^W(4FJ1#A&+vdr3?8N3svD!luLSvo9!{gmbIcf`!{~s%Sp)jk| zv==M24|d|vqd zLz5ElA0|Y{4YwsEYL9azz1Wnn__&A=YqX3DmUE_H484#tfm$mxBdj4PHa)KL@j zIc(jN;_XS%j_ENWIxdpMdUg-&71FtTkd-Ig)vVk(u3hEi=+H<`u(`GLKQjMg%l}A9 zbj;3bBin7uZcXr8WR&A&eCxSwuFRu=UH-G zstGve%uP;+{?=YXpCD?*R*LL>8ik)ii`E%iPBT&sB`PFqZcvp@pe4XMA%Z;3)eL7b{h!p zX-$X=wc2BHE)2I6tMk?o85`3hs155$OdOtjo5bOfxsy`y5QPTxZ^mx&yLO% z*NmYl?z5vaC3l(F!R|AYmXfsG};DwuqGsRWCrnny-XG-oe?%mch?%kGVI#OS3rh5{a z>1-e_F5Db(0fytE47Mf2SUV*}C0K{rFl>_&j2(eo9%w?M-4-4_I67QQVcbL~#)l2D z;Ss~JS!|@^P&wD}+#Zor(l2^=&N{}vTsd~8ptU`FYbI6$xQg0iLnGbxC6iT7sUE$p zad>EUwFGryi@`CWk%>9`!4;p#C<=MDr0^)si$u%uq>)ow&)&|~p@qdVBN0w`98yCuM@7hSj0?wfhvIw&!kY6r0;?}PZRoR# z+_>FxoQ0!t{8CUK=9vUD*fDtzcATcD1mn8+u|GWH;Y?|7LgeblS&P-?Ay*pXI3+kf ze)inQ2>W)Pht4RFj0py31{FBob)gFw8aZ3Xy>Jc@MMe*|S(7Qy zhR4JwVj4$~gfkv$l_|_bgvLeUydWRP40C^ILPR3+W9_zt&?G#Mm?5FDwnS?}GN#~| z_{eU7COjG4lXplaEEG3jnP#*};R*4fLop6;_>*iYN%;8yt78r}5%E^nLtb2bV0@e{ zW@Iq7OGFiX__HRBv~xUZ!|lW4j6RfD6Y;=~Q|Xv;9nUsVwwUM?t7FxX7-5T)(I|JF z=meA$5{=`opR)ra#|~o{H?|a$f|{d^a}IUecL)xG+_-Qb$3b@-X(nlBa}r}i6NYM8 z6m%6v+i}svqQRjtx;d^>Ya&k+tBMUxaofVN!^njA5v~&(9q(B0++E&mM|A8Q*uj;T zJlurgIm;?{3`hI0zdk*6Rffz+oGod4V$KM49DEZJYYR=36N)D;6O$6&sHy2_jl*>p zkF{=X`dEWH2X*dlLS$&jK}|Fv9YT7vv33Xw2|x*F(4j}Cz7i%xvyiS>J4h{o&M~He z<6U%|l(r?{0U|V}O)n|awoOkdtt0O>Ye3FgPGX~+#70&m;^L1Ajj=~#m^uzQl47G1 zaVo>3I&&QxIFqEc&h>6sM=KgOM82vCeoTN&@Y520ev*L86#tjcJ7iQ^lj4)@xE^r9 zV1jWxf#CX2P6{`P7~gS&aYQkB4UV^C8X7DYna#9Mw#V2~I?JTytR&2_xoj2{inEi1 zH>%iZa7=Pyl)$0{_&aaE!TND51iiL~iz6b7_CS`H=VD=Xd~g~?tLhb8EZB2;#R zX$coO+88SDO$@HzxQNEhj1{BE(O6l*U<^0m^3Z1n%MHZX;uEbAwy@+#Ts+akthl@} zJTQ9o{U+b!1!6dKaJ-8(0osrbCOkSJ-0}Vs2PzJ`G#HN&j;CMD5?0I{aWABp#OPQY z5^IV~!|@5|F5c8))(IURjhkbxR5`eEsuL2zF}J$k8Xfii>z1y&v&vIw1ZF>duFiRK z*U<4C7mJakw^zJdmx);OboMqem>+O4#l=Tps>8b6;c|kZ(RkA$sg669BO7x}5|a{b zxZnrNXGU5HW*EPJgaC``14NFYK5y0nl26xK{(*Q+Gr@+o_+gbhUH>}?% zXWg~dFegnu7W}_>S@6BUzyF7iB;8V7>#`#$?Ml(#T-F*~ssFC=|0G3z8^VM8m352J z|2p^Qs$bS*apu2RyZl~)tL*<&%DK&d*CRE%*YWSxNQ#tjm2y88?zOv0Xlm}*S@yqr z^Y1igivDhh>|b8aI$qRS)|KikDaXi_>fQ_2y0fhFoM`zMd+Dl0es@Jm;3wrw9@hS1 zS!d08U)ZyID_rZ+KB-&lcdbbYX_vEYDt`Owe^aN925Hy-?tfBBOKM%RPy7Z_u5JE% zPue2c!pmgh`wsaYA{a|z#b|sxkk|aowBpgx_%uI{dBC`+Bla?XGxm1G_^loJase-C z?>^>9toa@}`Qz|&+4y?FOryu>DSC!pq_=3Le{{PV)Q`5JUFi&ZjGm%r=tX*q)_tz^ z4xl6Gbb5$>OXVC(`zz4yG?FIJ6uN+}rAO#7dX4@;^IEk2<}`-xp`Xx`^enwjE8>Td zrF~6kM>>>_q|<2zJw-3kU+6qft#28 zoc=;v=hgap&`26f6X_m$f?lM*(Zcz(o(j~L2GLL&L&wu>`h@n*uk{S22k3eFGyQ`W zd`Zi9qi@rpbP7F4uhIMkbi2~DISr>nX#yQd&(mLNyMkIzI2}uu(+}t=8dQkoY5u|* zm!~)B-_%w_^X+sd-AMP*kLWRao?fT7=|funWvw@gCemj#-dpph(1mmx-9?YkQ}iOe zK_5_qpLdq)s4#t%)}W1P8yZCW( zr48^)CDNYGbOBvPSJUnE^;fjKKkZ0+(6?wfjizl%>vmJ$xRV`)JrZkBj zq}Qkiei%gBpGeo!Z|TeBSudSH-=Uw=Ec!jYL-SYA?aR?xv<0=&A@m)(nC_#W(F=5N zMXh%fokQ2qo%8_xk^1=PcFpJznnEYjcj*>-h(4vBm9(A;v?J|GLufy0r4cliCeSr> zD}6*gE9-tQz^_Z%p5y1L!!qhVG?#>gjfG(DrmPeV^{9AJL=q5`99;*4O%K(a!XJnod8W zr)a$fx?L06nx3SSd^LX-{f&Ax)O2s!jrOF|>0x@2-lOIGbo*dBl1`%E)7$i=Mq0iE zZARaqR+>yl)0K2H-9-=5vW>OgMzlYTp#@*l{DE{GE!RZT>(RM%6Fo-DHq~;4o2lV+ z3|&IEP!IgFw9LO<={nl%bxnWlw1vhAE!EZZV|tqAZKe68Xh#}KC($K5&-lz52 zYW$eCXs_{+4r)|KbsTNeN#h0dGHn{5>4iG0ezXnkO~Yt3O{8P#WIB_+M;Fs{x`Cdc zk7@ZXy8ke`nVzSeyK4R++8|Kl)%0sxs+*?wqciA-^dDL;NXsSA1GHgxO7_vRjo+-(@;8|&ZH;kOdaFr7x{(;f6My-EM1W5RU%1#~H0MJt4B{x~|Du8Pp~AE>uYuDzak}itU?RrM5ONXe>X}O^q7l={g=u8?DtLb0S+w=+T z5~ulZ((%JI-b}C2f9UxH&A&wpBx+oleotRY()8o>KJ`o1^ro~UO{UZ78QNjEmhVZY z)7A7ldWRMoq2&kAM4FwV=|9oG>7SOhx|!~!2kCiwoj#{| z$LaP}XcO9zM$y^y5IsT9)64WWy-zLUwf>^CGaW;Z(r@T@^g4Y=8>DJI9cgbGOXtw# zbQ?WO@6vy0kqKJgD-+d`^c}j4{z}_V(sKQ11l>dPP1gLfG>C@MJX19P+;r7Qgz~T z^&`4}wZ=8psFC!C^%{5EpoY<8`h*tPsQH!Y?kyVc-lm?U_i2Icntq10ee@)~M(@(6G;fBsqbRLNd(vo{NVDk0ow{9tU20R>lKw-> z?q)s>r_pp0olf`C1N1lgfL7R}^;MxAXcsz)PNlo(etL#pqz~v{w8UPm|5e(acA+*p zl+K`==so(%KCQ=>wxb`=6ZAZN;{z>!n0oEkxHPRs`_ZZNCawCRmhV8{q@U2&4`}{X z`ZK*vAJdKpwOk2+G@h^B9(mubaJOaZ@(~szt&osZmF|{2XLNn>t^g6vopU~&D;OAOTQThrk zM=R6XbSzy=SJJgKgMQ*nKcV%v{6ZZ_Bk5Y&;#uR9fphjsK+8E^FMLPNa`%iSIQ(na-lme$e#VSJW`Not~#&*_uC(uA=+s z7xW&jbXChYrJLzqdW@c;cj(JM>UQbZ)b;cudX#=g-?*;j*3#Yd2p#;B<{zU)Zm>N4 zo?3p^^fI&|ZAshG-ZX-ar&H+~x{n^C-_nV8_%@pLv_O4rgo^mm%~mTq5))}T#k zZ)&CSbOGH(Gieqr^^4ZqmG+@FI*BfzYiI_|q**kZ-le5})%q*YUNn@hqWkGb^f}FU zTem+-zocjB%sZNYoEG>^<2R^{*8E-5L+B8iPRrfZ{MYE`^cQNmr}=H^Hv0B`O+P`u zqQf3&`UpCfwt1-O-jCGsv^MQT`%)X7LQm4C^vyrCo`G~OT|+bJDcb8#E&m(s_*moJ zwD4aV7pE2I+w>Uyik_ndp6GU^=rB5prqWaN8=CS|w;M+%(>ZiLz4J`VJ)lef)_4`& zKzGv*X@%!nt{!bphtU!AJbfEKk0PJb#?di!J3U47S+rb9T8;YB7PJ!`M`zP{G@Wju zd+2ZUA6gWDPf6NUo>rmtXar561KL?*7M?Vpd;xdnnst>)3jh7 z-L5n3M+egbG$OB-o0MNI{F3?#H3c;8Ni*q1`hXTMsO3Uv8r?uYr!5L;xpDM6`joaR ztodPd1HDHp7Sa5f^n3c0zWlQ052Nd7ZEsEYr6cHUx|m*~H|Wbnb-TCd_p~x|4oNPtdRE4H{8W z_xFJIDy4Bh8bNo`Ecy!m9)R?>BCSrx(=~J#{hWSDzol2GC;lFj)K`~=&~Q4L&ZS%E zG1{e!ZaJqx1o}hPWGX9>dZ2vC(jCQG@=|L6MIQl+K zr<>>rDt|;*>MKG0X(~NJuhTM>w0sLXn!Za1RMz}==|0-3il%q2ss_=wXd<0LSJ7Sc zPg2` zFQIE_7JW*CYq1>NNv~0BZOz|L^VZS06755G(S!6T&8AOixw^W2YdVBZrTgg_`WN-C zr`xrsgK0YbfL@`usHv~pCDF~)tAVD!LC4Y0XhmPm?@H6@2eeN^=KHD58mXh{cKV2R zXsr3k^enCYnx>a)qPC!!^f&rxQ_Z(DQ~jH(ztS@J`xr7lD$@Qml%~?@^d$Y7-f5-V zKcO|=(6}8PO#h*ttu=oGlrEqj(~C5{otFEh zy;`e-+KKj}L+AuLi!Py`(JboIQR}Hmhtg5BRwvExPZQ{S^kaI4{!AML=yvJ!1Nsf^ z)LHYV(m(04E}A~3t9p_CNy`LkdPQ25)}jq)01cwU=sLQGUZej|dyv+@g#Jb&x@&qg zJw~t4Ucs8*kEYYF=@aVlrj{#AU!f^t$7VfR}l%f@BP1=aIqm$_j zx|;5wm+3?LoaT8;_fwrVrrl|8nn4c=}fwq z?xEfKYJDT=9GXQ-_hY|k1KNxR&`ERwT~80uFX$sWqQBNVk$y>kq`%QWs2QN;i_yBY z4Gp4^)J{jxcjXgeB6`_M2tn=YeU=tX*+KBbm0t-la0Lp#$DI)rA>N3>cv+eiIr zHyTcd(eZRQ{gK|J?xtVTi?nEz zma9cu(nR_$-9Y!ykLhXp9lc2(QIBY?zZ&(Ut!W?~K*Q-Innst>^>imaLcgH-hv@#= z(=N0-?L*(D<>IycY`T=LrI+Y!`t~p_Kb4kF(6}mXK;NW?=@XhKQOhrF4xY>M>Qz<)@`-1KOGPqVY7DuAipc@1j1_HEv0V)3wg@8Ja(NraF(VrXSPi zG-#HV`-~2rt#J%Zq2uWMIhy~JPDs=E4t-^=#s_K3_cSg#Ppw7U&_LRQ4yH+T4qZTZ z(_{2J{h5}Tulot4Gw33^p6;PX>2q3Yfo@-&Hl>~DU>Z-y)AjTdnnkl|^@Un*e;P%T z>HBm&-Ayy;m-KsjhyG0qFVgxO(H7K3htUo6ApMv=qy-jhJtb&M+J>&D=c(rsEuWvJ z)Ae*K{eT{(FD=#WUZy2!S$cwI(|_o`WxCzRwDNL|-=@Q92K|dxU!moe(be=mjbEwx z$uyNtp=ophT}spGdb)+~rX|v~-j1{feVazoc-m@}mcLJ*(?Y8?-JhPI4`{tLntzYh zT&r;uy+*sN)AX_Q5zW6|(~Hs|8bOE9%`}64N}o`(LF*|@m(pGIrHz{3kOt6Mw7@3K zuT0}<)6JURlD4H&=_WdRipnqHU|r?u#Enn4fHPw1F!y8T4Dgl^t3xn4Y6oX@LyQFGoY@5NfCE=nlG!uw`ifgx_vR~N1IVAwbA)>DLqQR zpxHFQ4~ z%b%r>=u>JrsQD{ttwS0&rf<+-x|{w@^B>mo6=+pjpEjd!(L|a`m(sO#54}il(8?d_ zem+(f#QKB1M5YW_6(+GiSDX&PNhFVb_z zwA>|{O>fZlpKE?Ey6CvZ&uOa@8oxuA(!5`2`XL%~QsX(a{3(t9pwDTCFExE24W~(T zC0%n`%k83>Uuk?HOZEF&t^JMaOP8L}_yj$4R^x11@tnr3=qNg$E~R_v&-5`3JFnZ< z{Z?&9Kcg4u+zXn2ntEToM*U~#Q&m}Eakd~u$>1=wD_WVxEFQk5#HSS2?q=V^6 zdVyxs@;~TyRp^K-8ZV*S>2CTt{hEGDuhYKSx_uN)p{aB=-AX^9*XS);;HuWsn}*Xd z^aFZ~o}$0e2ej~yTFZ_?ZJE`3NJ(`VGw(t5mTep-ln(-O2aEk}K5 zRa%qQrM|Q=ZAM#Ce;Qm@+Yv(h&;fK1ji6C9hT3ToO`&6GDxFNH(OEQ&&ZCRyGMY}; z(v5U0&7gbeetL*z(xdb^Jw>zVS$ct9rrGp5y-9D=yYwM_OrKFxkLQ`nzxyoTPpqX! zsflAbnxA^p60|h+p;c*3>Ps8bX4IdyrvWsWhR{BA5RITw)J~IV3QeVx=`@-~=g~zp zovx)DX$IXx_tQ*zlpd#9^enwVFVk##o!+Fk>0SDeKBmv8iRXEt`KdQ8K}%B~T9wwM zzO*rIM*V4f8bE_-2<<}$(FhtvW2l`b(G)s{rqaoD8l6Sc=sdcJrqi`_Bh8?D=zf|> zkJ95bi=L$y=w+HsuhX0KE`3NJ(`VG!d7fx~>O-s2nzSzUrHyGb+LHRy_B4P7(qI}w z`_KV&5RITwG=`?qX>=J)r~9cHrv1xL%h5qJijJX~^fj|I(Xgb|U4^flE_S1575RIZ^XeK>QFH@gnwx717edqw1PB+p+)C^}kXgNBF zM$s`elOCs+sm}2lCT$G=vVKQPfUTXeymX)950aPB+pF zx}Rp!<1~w2pxN{$y-OccGm`D6-n2CJp*5*5ZASfR01c*n=pY(J?KFj^(rGk}E~4pl zBh8@uX(l~Rv*-nyO>fe>^f5J~*njFxOH&_OllszT)Sm{>VA_WcqEXaNQ)nukM$_mb znoc*;47#6Y(&IFXUZC0ZCcR4^Q!|?Vr{1(Q^`SMXFKtHsX#fqTedr(>MeQ_&rqXFN zjV_|;bR*56`)MXUPP6C*noV!gyYw+NW7vP{O-oZBT9f+HX4Ibs&|un!4x&-iPE%+q zokr8>BAQM&(hRzvX42y{i(a7F^d`MaCy %fI(0^OyX)!=n8AYT_QcpB|+t_&bW0 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�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

      F5(Up#bI(W5CzGf#!9klK)8bLA`0CFC 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%0AHKb*5P(-9Xg8U@zoAO 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%0A4_xr{> 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 z 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 e_7IN==t#6nHCt*j(==1 the CONSTRAINTS string is +used to specify constraints on the predicted structure. The +characters '|', 'x', '<', '>' mark bases that are paired, unpaired, +paired upstream, or downstream, respectively; matching brackets "( )" +denote base pairs, dots '.' are used for unconstrained bases. + +In the two argument version the CONSTRAINTS string is modified and holds the +predicted structure upon return. This is done for backwards compatibility only, +and might change in future versions. + +=item energy_of_struct SEQUENCE, STRUCTURE + +returns the energy of SEQUENCE on STRUCTURE (in kcal/mol). The string structure +must hold a valid secondary structure in bracket notation. + +=item update_fold_params + +recalculate the pair matrix and energy parameters after a change in folding +parameters. In many cases (such as changes to +L<$temperature|/$temperature>) the fold() routine will call +update_fold_params automatically when necessary. + +=item free_arrays + +frees memory allocated internally when calling L. + +=back + +Partition function Folding (from part_func.h) + +=over 4 + +=item pf_fold SEQUENCE + +=item pf_fold SEQUENCE, CONSTRAINTS + +calculates the partition function over all possible secondary +structures and the matrix of pair probabilities for SEQUENCE and +returns a two element list consisting of a string summarizing possible +structures. See below on how to access the pair probability matrix. As +with L the second argument can be used to specify folding +constraints. Constraints are implemented by excluding base pairings +that contradict the constraint, but without bonus +energies. Constraints of type '|' (paired base) are ignored. In the +two argument version CONSTRAINTS is modified to contain the structure +string on return (obsolete feature, for backwards compatibility only) + +=item get_pr I, J + +After calling C the global C variable C points to the +computed pair probabilities. Perl access to the C is facilitated by +the C helper function that looks up and returns the +probability of the pair (I,J). + +=item free_pf_arrays + +frees memory allocated for pf_fold + +=item update_pf_params LENGTH + +recalculate energy parameters for pf_fold. In most cases (such as +simple changes to L<$temperature|/$temperature>) C +will take appropriate action automatically. + +=back + +Suboptimal Folding (from subopt.h) + +=over 4 + +=item subopt SEQUENCE, CONSTRAINTS, DELTA + +=item subopt SEQUENCE, CONSTRAINTS, DELTA, FILEHANDLE + +compute all structures of SEQUENCE within DELTA*0.01 kcal/mol of the +optimum. If specified, results are written to FILEHANDLE and nothing +is returned. Else, the C function returnes a list of C structs of type +SOLUTION. The list is wrapped by SWIG as a perl object that can be +accesses as follows: + + $solution = subopt($seq, undef, 500); + for (0..$solution->size()-1) { + printf "%s %6.2f\n", $solution->get($_)->{structure}, + $solution->get($_)->{energy}; + } + +=back + +Inverse Folding (from inverse.h) + +=over 4 + +=item inverse_fold START, TARGET + +find a sequence that folds into structure TARGET, by optimizing the +sequence until its mfe structure (as returned by L) is +TARGET. Startpoint of the optimization is the sequence START. Returns +a list containing the sequence found and the final value of the cost +function, i.e. 0 if the search was successful. A random start sequence +can be generated using L. + +=item inverse_pf_fold START, TARGET + +optimizes a sequence (beginning with START) by maximising the +frequency of the structure TARGET in the thermodynamic ensemble +of structures. Returns a list containing the optimized sequence and +the final value of the cost function. The cost function is given by +C, i.e.C<-RT*log(p(TARGET))> + +=item $final_cost [float] + +holds the value of the cost function where the optimization in +C should stop. For values <=0 the optimization will +only terminate at a local optimimum (which might take very long to reach). + +=item $symbolset [char *] + +the string symbolset holds the allowed characters to be used by +C and C, the default alphabet is "AUGC" + + +=item $give_up [int] + +If non-zero stop optimization when its clear that no exact solution +can be found. Else continue and eventually return an approximate +solution. Default 0. + +=back + +Global Variables to Modify Folding (from fold_vars.h) + +=over 4 + +=item $noGU [int] + +Do not allow GU pairs to form, default 0. + +=item $no_closingGU [int] + +allow GU only inside stacks, default 0. + +=item $tetra_loop [int] + +Fold with specially stable 4-loops, default 1. + +=item $energy_set [int] + +0 = BP; 1=any mit GC; 2=any mit AU-parameter, default 0. + +=item $dangles [int] + +How to compute dangling ends. 0: no dangling end energies, 1: "normal" +dangling ends (default), 2: simplified dangling ends, 3: "normal" + +co-axial stacking. Note that L treats cases 1 and 3 +as 2. The same holds for the main computation in L, +however subopt will re-evalute energies using +L for cases 1 and 3. See the more +detailed discussion in RNAlib.texinfo. + +=item $nonstandards [char *] + +contains allowed non standard bases, default empty string "" + +=item $temperature [double] + +temperature in degrees Celsius for rescaling parameters, default 37C. + +=item $logML [int] + +use logarithmic multiloop energy function in +L, default 0. + +=item $noLonelyPairs [int] + +consider only structures without isolated base pairs (helices of length 1). +For L only eliminates pairs +that can B occur as isolated pairs. Default 0. + +=item $base_pair [struct bond *] + +list of base pairs from last call to L. Better use +the structure string returned by L. + +=item $pf_scale [double] + +scaling factor used by L to avoid overflows. Should +be set to exp(-F/(RT*length)) where F is a guess for the ensmble free +energy (e.g. use the mfe). + + +=item $fold_constrained [int] + +apply constraints in the folding algorithms, default 0. + +=item $do_backtrack [int] + +If 0 do not compute the pair probabilities in L +(only the partition function). Default 1. + +=item $backtrack_type [char] + +usually 'F'; 'C' require (1,N) to be bonded; 'M' backtrack as if the +sequence was part of a multi loop. Used by L + +=item $pr [double *] + +the base pairing prob. matrix computed by L. + +=item $iindx [int *] + +Array of indices for moving withing the C array. Better use +L. + + +=back + +=head2 Parsing and Comparing Structures + +from RNAstruct.h: these functions convert between strings +representating secondary structures with various levels of coarse +graining. See the documentation of the C library for details + +=over 4 + +=item b2HIT STRUCTURE + +Full -> HIT [incl. root] + +=item b2C STRUCTURE + +Full -> Coarse [incl. root] + +=item b2Shapiro STRUCTURE + +Full -> weighted Shapiro [i.r.] + +=item add_root STRUCTURE + +{Tree} -> ({Tree}R) + +=item expand_Shapiro COARSE + +add S for stacks to coarse struct + +=item expand_Full STRUCTURE + +Full -> FFull + +=item unexpand_Full FSTRUCTURE + +FFull -> Full + +=item unweight WCOARSE + +remove weights from coarse struct + +=item unexpand_aligned_F ALIGN + + + +=item parse_structure STRUCTURE + +computes structure statistics, and fills the following global variables: + +$loops [int] number of loops (and stacks) +$unpaired [int] number of unpaired positions +$pairs [int] number of paired positions +$loop_size[int *] holds all loop sizes +$loop_degree[int *] holds all loop degrees +$helix_size[int *] holds all helix lengths + +=back + +from treedist.h: routines for computing tree-edit distances between structures + +=over 4 + +=item make_tree STRUCTURE + +make input for tree_edit_distance (a Tree * pointer). + +=item tree_edit_distance T1, T2 + +compare to structures using tree editing. C, C must have been +created using C + +=item print_tree T + +mainly for debugging + +=item free_tree T + +free space allocated by make_tree + +=back + +from stringdist.h routines to compute structure distances via string-editing + +=over 4 + +=item Make_swString STRUCTURE + +[ returns swString * ] +make input for string_edit_distance + +=item string_edit_distance S1, S2 + +[ returns float ] +compare to structures using string alignment. C, C should be +created using C + +=back + +from profiledist + +=over + +=item Make_bp_profile LENGTH + +[ returns (float *) ] +condense pair probability matrix C into a vector containing +probabilities for upstream paired, downstream paired and +unpaired. This resulting probability profile is used as input for +profile_edit_distance + +=item profile_edit_distance T1, T2 + +[ returns float ] +align two probability profiles produced by C + +=item print_bppm T + +[ returns void ] +print string representation of probability profile + +=item free_profile T + +[ returns void ] +free space allocated in Make_bp_profile + +=back + +Global variables for computing structure distances + +=over 4 + +=item $edit_backtrack [int] + +set to 1 if you want backtracking + +=item $aligned_line [(char *)[2]] + +containes alignmed structures after computing structure distance with +C + +=item $cost_matrix [int] + +0 usual costs (default), 1 Shapiro's costs + +=back + +=head2 Utilities (from utils.h) + +=over 4 + +=item space SIZE + +allocate memory from C. Usually not needed in Perl + +=item nrerror MESSGAE + +die with error message. Better use Perl's C + +=item $xsubi [unsigned short[3]] + +libRNA uses the rand48 48bit random number generator if available, the +current random number is always stored in $xsubi. + +=item init_rand + +initialize the $xsubi random number from current time + +=item urn + +returns a random number between 0 and 1 using the random number +generator from the RNA library. + +=item int_urn FROM, TO + +returns random integer in the range [FROM..TO] + +=item time_stamp + +current date in a string. In perl you might as well use C + +=item random_string LENGTH, SYMBOLS + +returns a string of length LENGTH using characters from the string +SYMBOLS + +=item hamming S1, S2 + +calculate hamming distance of the strings C and C. + + +=item pack_structure STRUCTURE + +pack secondary structure, using a 5:1 compression via 3 +encoding. Returns the packed string. + +=item unpack_structure PACKED + +unpacks a secondary structure packed with pack_structure + +=item make_pair_table STRUCTURE + +returns a pair table as a newly allocated (short *) C array, such +that: table[i]=j if (i.j) pair or 0 if i is unpaired, table[0] +contains the length of the structure. + +=item bp_distance STRUCTURE1, STRUCTURE2 + +returns the base pair distance of the two STRUCTURES. dist = {number +of base pairs in one structure but not in the other} same as edit +distance with open-pair close-pair as move-set + +=back + +from PS_plot.h + +=over 4 + +=item PS_rna_plot SEQUENCE, STRUCTURE, FILENAME + +write PostScript drawing of structure to FILENAME. Returns 1 on +sucess, 0 else. + +=item PS_rna_plot_a SEQUENCE, STRUCTURE, FILENAME, PRE, POST + +write PostScript drawing of structure to FILENAME. The strings PRE and +POST contain PostScript code that is included verbatim in the plot just +before (after) the data. Returns 1 on sucess, 0 else. + +=item gmlRNA SEQUENCE, STRUCTURE, FILENAME, OPTION + +write structure drawing in gml (Graph Meta Language) to +FILENAME. OPTION should be a single character. If uppercase the gml +output will include the SEQUENCE as node labels. IF OPTION equal 'x' +or 'X' write graph with coordinates (else only connectivity +information). Returns 1 on sucess, 0 else. + +=item ssv_rna_plot SEQUENCE, STRUCTURE, SSFILE + +write structure drfawing as coord file for SStructView Returns 1 on +sucess, 0 else. + +=item xrna_plot SEQUENCE, STRUCTURE, SSFILE + +write structure drawing as ".ss" file for further editing in XRNA. +Returns 1 on sucess, 0 else. + +=item PS_dot_plot SEQUENCE, FILENAME + +write a PostScript dot plot of the pair probability matix to +FILENAME. Returns 1 on sucess, 0 else. + +=item $rna_plot_type [int] + +Select layout algorithm for structure drawings. Currently available +0= simple coordinates, 1= naview, default 1. + +=back + +from read_epars.c + +=over 4 + +=item read_parameter_file FILENAME + +read energy parameters from FILENAME + +=item write_parameter_file FILENAME + +write energy parameters to FILENAME + +=back + +=head2 SWIG helper functions + +The package includes generic helper functions to access C arrays +of type C, C and C, such as: + +=over 4 + +=item intP_getitem POINTER, INDEX + +return the element INDEX from the array + +=item intP_setitem POINTER, INDEX, VALUE + +set element INDEX to VALUE + +=item new_intP NELEM + +allocate a new C array of integers with NELEM elements and return the pointer + +=item delete_intP POINTER + +deletes the C array by calling free() + +=back + +substituting C with C or C gives the corresponding +functions for arrays of float or double. You need to know the correct C +type however, and the function work only for arrays of simple types. + +On the lowest level the C function gives direct access to any data +in the form of a Perl string. + +=over + +=item cdata POINTER, SIZE + +copies SIZE bytes at POINTER to a Perl string (with binary data) + +=item memmove POINTER, STRING + +copies the (binary) string STRING to the memory location pointed to by +POINTER. + + +=back + +In combination with Perl's C this provides a generic way to convert +C data structures to Perl. E.g. + + RNA::parse_structure($structure); # fills the $RNA::loop_degree array + @ldegrees = unpack "I*", RNA::cdata($RNA::loop_degree, ($RNA::loops+1)*4); + +Warning: using these functions with wrong arguments will corrupt your +memory and lead to a segmentation fault. + +=head1 AUTHOR + +Ivo L. Hofacker + +=cut + +# ---------- BASE METHODS ------------- + +package RNA; + +sub TIEHASH { + my ($classname,$obj) = @_; + return bless $obj, $classname; +} + +sub CLEAR { } + +sub FIRSTKEY { } + +sub NEXTKEY { } + +sub FETCH { + my ($self,$field) = @_; + my $member_func = "swig_${field}_get"; + $self->$member_func(); +} + +sub STORE { + my ($self,$field,$newval) = @_; + my $member_func = "swig_${field}_set"; + $self->$member_func($newval); +} + +sub this { + my $ptr = shift; + return tied(%$ptr); +} + + +# ------- FUNCTION WRAPPERS -------- + +package RNA; + +*new_intP = *RNAc::new_intP; +*delete_intP = *RNAc::delete_intP; +*intP_getitem = *RNAc::intP_getitem; +*intP_setitem = *RNAc::intP_setitem; +*new_floatP = *RNAc::new_floatP; +*delete_floatP = *RNAc::delete_floatP; +*floatP_getitem = *RNAc::floatP_getitem; +*floatP_setitem = *RNAc::floatP_setitem; +*new_doubleP = *RNAc::new_doubleP; +*delete_doubleP = *RNAc::delete_doubleP; +*doubleP_getitem = *RNAc::doubleP_getitem; +*doubleP_setitem = *RNAc::doubleP_setitem; +*new_shortP = *RNAc::new_shortP; +*delete_shortP = *RNAc::delete_shortP; +*shortP_getitem = *RNAc::shortP_getitem; +*shortP_setitem = *RNAc::shortP_setitem; +*cdata = *RNAc::cdata; +*memmove = *RNAc::memmove; +*fold = *RNAc::fold; +*energy_of_struct = *RNAc::energy_of_struct; +*free_arrays = *RNAc::free_arrays; +*initialize_fold = *RNAc::initialize_fold; +*update_fold_params = *RNAc::update_fold_params; +*cofold = *RNAc::cofold; +*free_co_arrays = *RNAc::free_co_arrays; +*initialize_cofold = *RNAc::initialize_cofold; +*update_cofold_params = *RNAc::update_cofold_params; +*pf_fold = *RNAc::pf_fold; +*init_pf_fold = *RNAc::init_pf_fold; +*free_pf_arrays = *RNAc::free_pf_arrays; +*update_pf_params = *RNAc::update_pf_params; +*bppm_symbol = *RNAc::bppm_symbol; +*mean_bp_dist = *RNAc::mean_bp_dist; +*pbacktrack = *RNAc::pbacktrack; +*inverse_fold = *RNAc::inverse_fold; +*inverse_pf_fold = *RNAc::inverse_pf_fold; +*option_string = *RNAc::option_string; +*subopt = *RNAc::subopt; +*get_pr = *RNAc::get_pr; +*b2HIT = *RNAc::b2HIT; +*b2C = *RNAc::b2C; +*b2Shapiro = *RNAc::b2Shapiro; +*add_root = *RNAc::add_root; +*expand_Shapiro = *RNAc::expand_Shapiro; +*expand_Full = *RNAc::expand_Full; +*unexpand_Full = *RNAc::unexpand_Full; +*unweight = *RNAc::unweight; +*unexpand_aligned_F = *RNAc::unexpand_aligned_F; +*parse_structure = *RNAc::parse_structure; +*make_tree = *RNAc::make_tree; +*tree_edit_distance = *RNAc::tree_edit_distance; +*print_tree = *RNAc::print_tree; +*free_tree = *RNAc::free_tree; +*Make_swString = *RNAc::Make_swString; +*string_edit_distance = *RNAc::string_edit_distance; +*Make_bp_profile = *RNAc::Make_bp_profile; +*profile_edit_distance = *RNAc::profile_edit_distance; +*print_bppm = *RNAc::print_bppm; +*free_profile = *RNAc::free_profile; +*space = *RNAc::space; +*xrealloc = *RNAc::xrealloc; +*nrerror = *RNAc::nrerror; +*init_rand = *RNAc::init_rand; +*urn = *RNAc::urn; +*int_urn = *RNAc::int_urn; +*filecopy = *RNAc::filecopy; +*time_stamp = *RNAc::time_stamp; +*random_string = *RNAc::random_string; +*hamming = *RNAc::hamming; +*get_line = *RNAc::get_line; +*pack_structure = *RNAc::pack_structure; +*unpack_structure = *RNAc::unpack_structure; +*make_pair_table = *RNAc::make_pair_table; +*bp_distance = *RNAc::bp_distance; +*read_parameter_file = *RNAc::read_parameter_file; +*write_parameter_file = *RNAc::write_parameter_file; +*deref_any = *RNAc::deref_any; +*scale_parameters = *RNAc::scale_parameters; +*copy_parameters = *RNAc::copy_parameters; +*set_parameters = *RNAc::set_parameters; +*get_aligned_line = *RNAc::get_aligned_line; +*make_loop_index = *RNAc::make_loop_index; +*energy_of_move = *RNAc::energy_of_move; +*PS_rna_plot = *RNAc::PS_rna_plot; +*PS_rna_plot_a = *RNAc::PS_rna_plot_a; +*gmlRNA = *RNAc::gmlRNA; +*ssv_rna_plot = *RNAc::ssv_rna_plot; +*svg_rna_plot = *RNAc::svg_rna_plot; +*xrna_plot = *RNAc::xrna_plot; +*PS_dot_plot = *RNAc::PS_dot_plot; +*PS_color_dot_plot = *RNAc::PS_color_dot_plot; +*PS_dot_plot_list = *RNAc::PS_dot_plot_list; + +############# Class : RNA::intArray ############## + +package RNA::intArray; +@ISA = qw( RNA ); +%OWNER = (); +%ITERATORS = (); +sub new { + my $pkg = shift; + my $self = RNAc::new_intArray(@_); + bless $self, $pkg if defined($self); +} + +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + RNAc::delete_intArray($self); + delete $OWNER{$self}; + } +} + +*getitem = *RNAc::intArray_getitem; +*setitem = *RNAc::intArray_setitem; +*cast = *RNAc::intArray_cast; +*frompointer = *RNAc::intArray_frompointer; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : RNA::floatArray ############## + +package RNA::floatArray; +@ISA = qw( RNA ); +%OWNER = (); +%ITERATORS = (); +sub new { + my $pkg = shift; + my $self = RNAc::new_floatArray(@_); + bless $self, $pkg if defined($self); +} + +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + RNAc::delete_floatArray($self); + delete $OWNER{$self}; + } +} + +*getitem = *RNAc::floatArray_getitem; +*setitem = *RNAc::floatArray_setitem; +*cast = *RNAc::floatArray_cast; +*frompointer = *RNAc::floatArray_frompointer; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : RNA::doubleArray ############## + +package RNA::doubleArray; +@ISA = qw( RNA ); +%OWNER = (); +%ITERATORS = (); +sub new { + my $pkg = shift; + my $self = RNAc::new_doubleArray(@_); + bless $self, $pkg if defined($self); +} + +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + RNAc::delete_doubleArray($self); + delete $OWNER{$self}; + } +} + +*getitem = *RNAc::doubleArray_getitem; +*setitem = *RNAc::doubleArray_setitem; +*cast = *RNAc::doubleArray_cast; +*frompointer = *RNAc::doubleArray_frompointer; +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : RNA::bondT ############## + +package RNA::bondT; +@ISA = qw( RNA ); +%OWNER = (); +%ITERATORS = (); +*swig_i_get = *RNAc::bondT_i_get; +*swig_i_set = *RNAc::bondT_i_set; +*swig_j_get = *RNAc::bondT_j_get; +*swig_j_set = *RNAc::bondT_j_set; +*get = *RNAc::bondT_get; +sub new { + my $pkg = shift; + my $self = RNAc::new_bondT(@_); + bless $self, $pkg if defined($self); +} + +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + RNAc::delete_bondT($self); + delete $OWNER{$self}; + } +} + +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : RNA::SOLUTION ############## + +package RNA::SOLUTION; +@ISA = qw( RNA ); +%OWNER = (); +%ITERATORS = (); +*swig_energy_get = *RNAc::SOLUTION_energy_get; +*swig_energy_set = *RNAc::SOLUTION_energy_set; +*swig_structure_get = *RNAc::SOLUTION_structure_get; +*swig_structure_set = *RNAc::SOLUTION_structure_set; +*get = *RNAc::SOLUTION_get; +*size = *RNAc::SOLUTION_size; +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + RNAc::delete_SOLUTION($self); + delete $OWNER{$self}; + } +} + +sub new { + my $pkg = shift; + my $self = RNAc::new_SOLUTION(@_); + bless $self, $pkg if defined($self); +} + +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : RNA::cpair ############## + +package RNA::cpair; +@ISA = qw( RNA ); +%OWNER = (); +%ITERATORS = (); +*swig_i_get = *RNAc::cpair_i_get; +*swig_i_set = *RNAc::cpair_i_set; +*swig_j_get = *RNAc::cpair_j_get; +*swig_j_set = *RNAc::cpair_j_set; +*swig_mfe_get = *RNAc::cpair_mfe_get; +*swig_mfe_set = *RNAc::cpair_mfe_set; +*swig_p_get = *RNAc::cpair_p_get; +*swig_p_set = *RNAc::cpair_p_set; +*swig_hue_get = *RNAc::cpair_hue_get; +*swig_hue_set = *RNAc::cpair_hue_set; +*swig_sat_get = *RNAc::cpair_sat_get; +*swig_sat_set = *RNAc::cpair_sat_set; +sub new { + my $pkg = shift; + my $self = RNAc::new_cpair(@_); + bless $self, $pkg if defined($self); +} + +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + RNAc::delete_cpair($self); + delete $OWNER{$self}; + } +} + +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +############# Class : RNA::plist ############## + +package RNA::plist; +@ISA = qw( RNA ); +%OWNER = (); +%ITERATORS = (); +*swig_i_get = *RNAc::plist_i_get; +*swig_i_set = *RNAc::plist_i_set; +*swig_j_get = *RNAc::plist_j_get; +*swig_j_set = *RNAc::plist_j_set; +*swig_p_get = *RNAc::plist_p_get; +*swig_p_set = *RNAc::plist_p_set; +sub new { + my $pkg = shift; + my $self = RNAc::new_plist(@_); + bless $self, $pkg if defined($self); +} + +sub DESTROY { + return unless $_[0]->isa('HASH'); + my $self = tied(%{$_[0]}); + return unless defined $self; + delete $ITERATORS{$self}; + if (exists $OWNER{$self}) { + RNAc::delete_plist($self); + delete $OWNER{$self}; + } +} + +sub DISOWN { + my $self = shift; + my $ptr = tied(%$self); + delete $OWNER{$ptr}; +} + +sub ACQUIRE { + my $self = shift; + my $ptr = tied(%$self); + $OWNER{$ptr} = 1; +} + + +# ------- VARIABLE STUBS -------- + +package RNA; + +*VERSION = *RNAc::VERSION; +*symbolset = *RNAc::symbolset; +*final_cost = *RNAc::final_cost; +*give_up = *RNAc::give_up; +*noGU = *RNAc::noGU; +*no_closingGU = *RNAc::no_closingGU; +*tetra_loop = *RNAc::tetra_loop; +*energy_set = *RNAc::energy_set; +*dangles = *RNAc::dangles; +*nonstandards = *RNAc::nonstandards; +*temperature = *RNAc::temperature; +*james_rule = *RNAc::james_rule; +*logML = *RNAc::logML; +*cut_point = *RNAc::cut_point; + +my %__base_pair_hash; +tie %__base_pair_hash,"RNA::bondT", $RNAc::base_pair; +$base_pair= \%__base_pair_hash; +bless $base_pair, RNA::bondT; +*pr = *RNAc::pr; +*iindx = *RNAc::iindx; +*pf_scale = *RNAc::pf_scale; +*fold_constrained = *RNAc::fold_constrained; +*do_backtrack = *RNAc::do_backtrack; +*noLonelyPairs = *RNAc::noLonelyPairs; +*backtrack_type = *RNAc::backtrack_type; +*subopt_sorted = *RNAc::subopt_sorted; +*loop_size = *RNAc::loop_size; +*helix_size = *RNAc::helix_size; +*loop_degree = *RNAc::loop_degree; +*loops = *RNAc::loops; +*unpaired = *RNAc::unpaired; +*pairs = *RNAc::pairs; +*edit_backtrack = *RNAc::edit_backtrack; +*aligned_line = *RNAc::aligned_line; +*cost_matrix = *RNAc::cost_matrix; +*xsubi = *RNAc::xsubi; +*rna_plot_type = *RNAc::rna_plot_type; +1; diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/lib/auto/RNA/.exists b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/lib/auto/RNA/.exists new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/man3/.exists b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/man3/.exists new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/man3/RNA.3pm b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/man3/RNA.3pm new file mode 100755 index 00000000..063e052a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/blib/man3/RNA.3pm @@ -0,0 +1,588 @@ +.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "RNA 3" +.TH RNA 3 "2005-11-21" "perl v5.8.0" "User Contributed Perl Documentation" +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 7 +\& use RNA; +\& $seq = "CGCAGGGAUACCCGCG"; +\& ($struct, $mfe) = RNA::fold($seq); #predict mfe structure of $seq +\& RNA::PS_rna_plot($seq, $struct, "rna.ps"); # write PS plot to rna.ps +\& $F = RNA::pf_fold($seq); # compute partition function and pair pobabilities +\& RNA::PS_dot_plot($seq, "dot.ps"); # write dot plot to dot.ps +\& ... +.Ve +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The \s-1RNA\s0.pm package gives access to almost all functions in the libRNA.a +library of the Vienna \s-1RNA\s0 \s-1PACKAGE\s0. The Perl wrapper is generated using +\&\s-1SWIG\s0 http://www.swig.org/ with relatively little manual intervention. +For each C function in the library the perl package provides a function +of the same name and calling convention (with few exceptions). For +detailed information you should therefore also consult the documentation +of the library (info RNAlib). +.PP +Note that in general C arrays are wrapped into opaque objects that can +only be accessed via helper functions. \s-1SWIG\s0 provides a couple of general +purpose helper functions, see the section at the end of this file. C +structures are wrapped into Perl objects using \s-1SWIG\s0's shadow class +mechanism, resulting in a tied hash with keys named after the structure +members. +.PP +For the interrested reader we list for each scalar type of the +corepsonding C variable in brackets, and point out the header files +containing the C declaration. +.Sh "Folding Routines" +.IX Subsection "Folding Routines" +Minimum free Energy Folding (from fold.h) +.IP "fold \s-1SEQUENCE\s0" 4 +.IX Item "fold SEQUENCE" +.PD 0 +.IP "fold \s-1SEQUENCE\s0, \s-1CONSTRAINTS\s0" 4 +.IX Item "fold SEQUENCE, CONSTRAINTS" +.PD +computes the minimum free energy structure of the string \s-1SEQUENCE\s0 and returns +the predicted structure and energy, e.g. +.Sp +.Vb 1 +\& ($structure, $mfe) = RNA::fold("UGUGUCGAUGUGCUAU"); +.Ve +.Sp +If a second argument is supplied and +$fold_constrained==1 the \s-1CONSTRAINTS\s0 string is +used to specify constraints on the predicted structure. The +characters '|', 'x', '<', '>' mark bases that are paired, unpaired, +paired upstream, or downstream, respectively; matching brackets \*(L"( )\*(R" +denote base pairs, dots '.' are used for unconstrained bases. +.Sp +In the two argument version the \s-1CONSTRAINTS\s0 string is modified and holds the +predicted structure upon return. This is done for backwards compatibility only, +and might change in future versions. +.IP "energy_of_struct \s-1SEQUENCE\s0, \s-1STRUCTURE\s0" 4 +.IX Item "energy_of_struct SEQUENCE, STRUCTURE" +returns the energy of \s-1SEQUENCE\s0 on \s-1STRUCTURE\s0 (in kcal/mol). The string structure +must hold a valid secondary structure in bracket notation. +.IP "update_fold_params" 4 +.IX Item "update_fold_params" +recalculate the pair matrix and energy parameters after a change in folding +parameters. In many cases (such as changes to +$temperature) the \fIfold()\fR routine will call +update_fold_params automatically when necessary. +.IP "free_arrays" 4 +.IX Item "free_arrays" +frees memory allocated internally when calling fold. +.PP +Partition function Folding (from part_func.h) +.IP "pf_fold \s-1SEQUENCE\s0" 4 +.IX Item "pf_fold SEQUENCE" +.PD 0 +.IP "pf_fold \s-1SEQUENCE\s0, \s-1CONSTRAINTS\s0" 4 +.IX Item "pf_fold SEQUENCE, CONSTRAINTS" +.PD +calculates the partition function over all possible secondary +structures and the matrix of pair probabilities for \s-1SEQUENCE\s0 and +returns a two element list consisting of a string summarizing possible +structures. See below on how to access the pair probability matrix. As +with fold the second argument can be used to specify folding +constraints. Constraints are implemented by excluding base pairings +that contradict the constraint, but without bonus +energies. Constraints of type '|' (paired base) are ignored. In the +two argument version \s-1CONSTRAINTS\s0 is modified to contain the structure +string on return (obsolete feature, for backwards compatibility only) +.IP "get_pr I, J" 4 +.IX Item "get_pr I, J" +After calling \f(CW\*(C`pf_fold\*(C'\fR the global C variable \f(CW\*(C`pr\*(C'\fR points to the +computed pair probabilities. Perl access to the C is facilitated by +the \f(CW\*(C`get_pr\*(C'\fR helper function that looks up and returns the +probability of the pair (I,J). +.IP "free_pf_arrays" 4 +.IX Item "free_pf_arrays" +frees memory allocated for pf_fold +.IP "update_pf_params \s-1LENGTH\s0" 4 +.IX Item "update_pf_params LENGTH" +recalculate energy parameters for pf_fold. In most cases (such as +simple changes to $temperature) \f(CW\*(C`pf_fold\*(C'\fR +will take appropriate action automatically. +.PP +Suboptimal Folding (from subopt.h) +.IP "subopt \s-1SEQUENCE\s0, \s-1CONSTRAINTS\s0, \s-1DELTA\s0" 4 +.IX Item "subopt SEQUENCE, CONSTRAINTS, DELTA" +.PD 0 +.IP "subopt \s-1SEQUENCE\s0, \s-1CONSTRAINTS\s0, \s-1DELTA\s0, \s-1FILEHANDLE\s0" 4 +.IX Item "subopt SEQUENCE, CONSTRAINTS, DELTA, FILEHANDLE" +.PD +compute all structures of \s-1SEQUENCE\s0 within DELTA*0.01 kcal/mol of the +optimum. If specified, results are written to \s-1FILEHANDLE\s0 and nothing +is returned. Else, the C function returnes a list of C structs of type +\&\s-1SOLUTION\s0. The list is wrapped by \s-1SWIG\s0 as a perl object that can be +accesses as follows: +.Sp +.Vb 5 +\& $solution = subopt($seq, undef, 500); +\& for (0..$solution->size()-1) { +\& printf "%s %6.2f\en", $solution->get($_)->{structure}, +\& $solution->get($_)->{energy}; +\& } +.Ve +.PP +Inverse Folding (from inverse.h) +.IP "inverse_fold \s-1START\s0, \s-1TARGET\s0" 4 +.IX Item "inverse_fold START, TARGET" +find a sequence that folds into structure \s-1TARGET\s0, by optimizing the +sequence until its mfe structure (as returned by fold) is +\&\s-1TARGET\s0. Startpoint of the optimization is the sequence \s-1START\s0. Returns +a list containing the sequence found and the final value of the cost +function, i.e. 0 if the search was successful. A random start sequence +can be generated using random_string. +.IP "inverse_pf_fold \s-1START\s0, \s-1TARGET\s0" 4 +.IX Item "inverse_pf_fold START, TARGET" +optimizes a sequence (beginning with \s-1START\s0) by maximising the +frequency of the structure \s-1TARGET\s0 in the thermodynamic ensemble +of structures. Returns a list containing the optimized sequence and +the final value of the cost function. The cost function is given by +\&\f(CW\*(C`energy_of_struct(seq, TARGET) \- pf_fold(seq)\*(C'\fR, i.e.\f(CW\*(C`\-RT*log(p(TARGET))\*(C'\fR +.IP "$final_cost [float]" 4 +.IX Item "$final_cost [float]" +holds the value of the cost function where the optimization in +\&\f(CW\*(C`inverse_pf_fold\*(C'\fR should stop. For values <=0 the optimization will +only terminate at a local optimimum (which might take very long to reach). +.IP "$symbolset [char *]" 4 +.IX Item "$symbolset [char *]" +the string symbolset holds the allowed characters to be used by +\&\f(CW\*(C`inverse_fold\*(C'\fR and \f(CW\*(C`inverse_pf_fold\*(C'\fR, the default alphabet is \*(L"\s-1AUGC\s0\*(R" +.IP "$give_up [int]" 4 +.IX Item "$give_up [int]" +If non-zero stop optimization when its clear that no exact solution +can be found. Else continue and eventually return an approximate +solution. Default 0. +.PP +Global Variables to Modify Folding (from fold_vars.h) +.IP "$noGU [int]" 4 +.IX Item "$noGU [int]" +Do not allow \s-1GU\s0 pairs to form, default 0. +.IP "$no_closingGU [int]" 4 +.IX Item "$no_closingGU [int]" +allow \s-1GU\s0 only inside stacks, default 0. +.IP "$tetra_loop [int]" 4 +.IX Item "$tetra_loop [int]" +Fold with specially stable 4\-loops, default 1. +.IP "$energy_set [int]" 4 +.IX Item "$energy_set [int]" +0 = \s-1BP\s0; 1=any mit \s-1GC\s0; 2=any mit AU\-parameter, default 0. +.IP "$dangles [int]" 4 +.IX Item "$dangles [int]" +How to compute dangling ends. 0: no dangling end energies, 1: \*(L"normal\*(R" +dangling ends (default), 2: simplified dangling ends, 3: \*(L"normal\*(R" + +co-axial stacking. Note that pf_fold treats cases 1 and 3 +as 2. The same holds for the main computation in subopt, +however subopt will re-evalute energies using +energy_of_struct for cases 1 and 3. See the more +detailed discussion in RNAlib.texinfo. +.IP "$nonstandards [char *]" 4 +.IX Item "$nonstandards [char *]" +contains allowed non standard bases, default empty string "" +.IP "$temperature [double]" 4 +.IX Item "$temperature [double]" +temperature in degrees Celsius for rescaling parameters, default 37C. +.IP "$logML [int]" 4 +.IX Item "$logML [int]" +use logarithmic multiloop energy function in +energy_of_struct, default 0. +.IP "$noLonelyPairs [int]" 4 +.IX Item "$noLonelyPairs [int]" +consider only structures without isolated base pairs (helices of length 1). +For pf_fold only eliminates pairs +that can \fBonly\fR occur as isolated pairs. Default 0. +.IP "$base_pair [struct bond *]" 4 +.IX Item "$base_pair [struct bond *]" +list of base pairs from last call to fold. Better use +the structure string returned by fold. +.IP "$pf_scale [double]" 4 +.IX Item "$pf_scale [double]" +scaling factor used by pf_fold to avoid overflows. Should +be set to exp(\-F/(RT*length)) where F is a guess for the ensmble free +energy (e.g. use the mfe). +.IP "$fold_constrained [int]" 4 +.IX Item "$fold_constrained [int]" +apply constraints in the folding algorithms, default 0. +.IP "$do_backtrack [int]" 4 +.IX Item "$do_backtrack [int]" +If 0 do not compute the pair probabilities in pf_fold +(only the partition function). Default 1. +.IP "$backtrack_type [char]" 4 +.IX Item "$backtrack_type [char]" +usually 'F'; 'C' require (1,N) to be bonded; 'M' backtrack as if the +sequence was part of a multi loop. Used by inverse_fold +.IP "$pr [double *]" 4 +.IX Item "$pr [double *]" +the base pairing prob. matrix computed by pf_fold. +.IP "$iindx [int *]" 4 +.IX Item "$iindx [int *]" +Array of indices for moving withing the \f(CW\*(C`pr\*(C'\fR array. Better use +get_pr. +.Sh "Parsing and Comparing Structures" +.IX Subsection "Parsing and Comparing Structures" +from RNAstruct.h: these functions convert between strings +representating secondary structures with various levels of coarse +graining. See the documentation of the C library for details +.IP "b2HIT \s-1STRUCTURE\s0" 4 +.IX Item "b2HIT STRUCTURE" +Full \-> \s-1HIT\s0 [incl. root] +.IP "b2C \s-1STRUCTURE\s0" 4 +.IX Item "b2C STRUCTURE" +Full \-> Coarse [incl. root] +.IP "b2Shapiro \s-1STRUCTURE\s0" 4 +.IX Item "b2Shapiro STRUCTURE" +Full \-> weighted Shapiro [i.r.] +.IP "add_root \s-1STRUCTURE\s0" 4 +.IX Item "add_root STRUCTURE" +{Tree} \-> ({Tree}R) +.IP "expand_Shapiro \s-1COARSE\s0" 4 +.IX Item "expand_Shapiro COARSE" +add S for stacks to coarse struct +.IP "expand_Full \s-1STRUCTURE\s0" 4 +.IX Item "expand_Full STRUCTURE" +Full \-> FFull +.IP "unexpand_Full \s-1FSTRUCTURE\s0" 4 +.IX Item "unexpand_Full FSTRUCTURE" +FFull \-> Full +.IP "unweight \s-1WCOARSE\s0" 4 +.IX Item "unweight WCOARSE" +remove weights from coarse struct +.IP "unexpand_aligned_F \s-1ALIGN\s0" 4 +.IX Item "unexpand_aligned_F ALIGN" +.PD 0 +.IP "parse_structure \s-1STRUCTURE\s0" 4 +.IX Item "parse_structure STRUCTURE" +.PD +computes structure statistics, and fills the following global variables: +.Sp +$loops [int] number of loops (and stacks) +\&\f(CW$unpaired\fR [int] number of unpaired positions +\&\f(CW$pairs\fR [int] number of paired positions +\&\f(CW$loop_size\fR[int *] holds all loop sizes +\&\f(CW$loop_degree\fR[int *] holds all loop degrees +\&\f(CW$helix_size\fR[int *] holds all helix lengths +.PP +from treedist.h: routines for computing tree-edit distances between structures +.IP "make_tree \s-1STRUCTURE\s0" 4 +.IX Item "make_tree STRUCTURE" +make input for tree_edit_distance (a Tree * pointer). +.IP "tree_edit_distance T1, T2" 4 +.IX Item "tree_edit_distance T1, T2" +compare to structures using tree editing. \f(CW\*(C`T1\*(C'\fR, \f(CW\*(C`T2\*(C'\fR must have been +created using \f(CW\*(C`tree_edit_distance\*(C'\fR +.IP "print_tree T" 4 +.IX Item "print_tree T" +mainly for debugging +.IP "free_tree T" 4 +.IX Item "free_tree T" +free space allocated by make_tree +.PP +from stringdist.h routines to compute structure distances via string-editing +.IP "Make_swString \s-1STRUCTURE\s0" 4 +.IX Item "Make_swString STRUCTURE" +[ returns swString * ] +make input for string_edit_distance +.IP "string_edit_distance S1, S2" 4 +.IX Item "string_edit_distance S1, S2" +[ returns float ] +compare to structures using string alignment. \f(CW\*(C`S1\*(C'\fR, \f(CW\*(C`S2\*(C'\fR should be +created using \f(CW\*(C`Make_swString\*(C'\fR +.PP +from profiledist +.IP "Make_bp_profile \s-1LENGTH\s0" 4 +.IX Item "Make_bp_profile LENGTH" +[ returns (float *) ] +condense pair probability matrix \f(CW\*(C`pr\*(C'\fR into a vector containing +probabilities for upstream paired, downstream paired and +unpaired. This resulting probability profile is used as input for +profile_edit_distance +.IP "profile_edit_distance T1, T2" 4 +.IX Item "profile_edit_distance T1, T2" +[ returns float ] +align two probability profiles produced by \f(CW\*(C`Make_bp_profile\*(C'\fR +.IP "print_bppm T" 4 +.IX Item "print_bppm T" +[ returns void ] +print string representation of probability profile +.IP "free_profile T" 4 +.IX Item "free_profile T" +[ returns void ] +free space allocated in Make_bp_profile +.PP +Global variables for computing structure distances +.IP "$edit_backtrack [int]" 4 +.IX Item "$edit_backtrack [int]" +set to 1 if you want backtracking +.IP "$aligned_line [(char *)[2]]" 4 +.IX Item "$aligned_line [(char *)[2]]" +containes alignmed structures after computing structure distance with +\&\f(CW\*(C`edit_backtrack==1\*(C'\fR +.IP "$cost_matrix [int]" 4 +.IX Item "$cost_matrix [int]" +0 usual costs (default), 1 Shapiro's costs +.Sh "Utilities (from utils.h)" +.IX Subsection "Utilities (from utils.h)" +.IP "space \s-1SIZE\s0" 4 +.IX Item "space SIZE" +allocate memory from C. Usually not needed in Perl +.IP "nrerror \s-1MESSGAE\s0" 4 +.IX Item "nrerror MESSGAE" +die with error message. Better use Perl's \f(CW\*(C`die\*(C'\fR +.IP "$xsubi [unsigned short[3]]" 4 +.IX Item "$xsubi [unsigned short[3]]" +libRNA uses the rand48 48bit random number generator if available, the +current random number is always stored in \f(CW$xsubi\fR. +.IP "init_rand" 4 +.IX Item "init_rand" +initialize the \f(CW$xsubi\fR random number from current time +.IP "urn" 4 +.IX Item "urn" +returns a random number between 0 and 1 using the random number +generator from the \s-1RNA\s0 library. +.IP "int_urn \s-1FROM\s0, \s-1TO\s0" 4 +.IX Item "int_urn FROM, TO" +returns random integer in the range [\s-1FROM\s0..TO] +.IP "time_stamp" 4 +.IX Item "time_stamp" +current date in a string. In perl you might as well use \f(CW\*(C`locatime\*(C'\fR +.IP "random_string \s-1LENGTH\s0, \s-1SYMBOLS\s0" 4 +.IX Item "random_string LENGTH, SYMBOLS" +returns a string of length \s-1LENGTH\s0 using characters from the string +\&\s-1SYMBOLS\s0 +.IP "hamming S1, S2" 4 +.IX Item "hamming S1, S2" +calculate hamming distance of the strings \f(CW\*(C`S1\*(C'\fR and \f(CW\*(C`S2\*(C'\fR. +.IP "pack_structure \s-1STRUCTURE\s0" 4 +.IX Item "pack_structure STRUCTURE" +pack secondary structure, using a 5:1 compression via 3 +encoding. Returns the packed string. +.IP "unpack_structure \s-1PACKED\s0" 4 +.IX Item "unpack_structure PACKED" +unpacks a secondary structure packed with pack_structure +.IP "make_pair_table \s-1STRUCTURE\s0" 4 +.IX Item "make_pair_table STRUCTURE" +returns a pair table as a newly allocated (short *) C array, such +that: table[i]=j if (i.j) pair or 0 if i is unpaired, table[0] +contains the length of the structure. +.IP "bp_distance \s-1STRUCTURE1\s0, \s-1STRUCTURE2\s0" 4 +.IX Item "bp_distance STRUCTURE1, STRUCTURE2" +returns the base pair distance of the two \s-1STRUCTURES\s0. dist = {number +of base pairs in one structure but not in the other} same as edit +distance with open-pair close-pair as move-set +.PP +from PS_plot.h +.IP "PS_rna_plot \s-1SEQUENCE\s0, \s-1STRUCTURE\s0, \s-1FILENAME\s0" 4 +.IX Item "PS_rna_plot SEQUENCE, STRUCTURE, FILENAME" +write PostScript drawing of structure to \s-1FILENAME\s0. Returns 1 on +sucess, 0 else. +.IP "PS_rna_plot_a \s-1SEQUENCE\s0, \s-1STRUCTURE\s0, \s-1FILENAME\s0, \s-1PRE\s0, \s-1POST\s0" 4 +.IX Item "PS_rna_plot_a SEQUENCE, STRUCTURE, FILENAME, PRE, POST" +write PostScript drawing of structure to \s-1FILENAME\s0. The strings \s-1PRE\s0 and +\&\s-1POST\s0 contain PostScript code that is included verbatim in the plot just +before (after) the data. Returns 1 on sucess, 0 else. +.IP "gmlRNA \s-1SEQUENCE\s0, \s-1STRUCTURE\s0, \s-1FILENAME\s0, \s-1OPTION\s0" 4 +.IX Item "gmlRNA SEQUENCE, STRUCTURE, FILENAME, OPTION" +write structure drawing in gml (Graph Meta Language) to +\&\s-1FILENAME\s0. \s-1OPTION\s0 should be a single character. If uppercase the gml +output will include the \s-1SEQUENCE\s0 as node labels. \s-1IF\s0 \s-1OPTION\s0 equal 'x' +or 'X' write graph with coordinates (else only connectivity +information). Returns 1 on sucess, 0 else. +.IP "ssv_rna_plot \s-1SEQUENCE\s0, \s-1STRUCTURE\s0, \s-1SSFILE\s0" 4 +.IX Item "ssv_rna_plot SEQUENCE, STRUCTURE, SSFILE" +write structure drfawing as coord file for SStructView Returns 1 on +sucess, 0 else. +.IP "xrna_plot \s-1SEQUENCE\s0, \s-1STRUCTURE\s0, \s-1SSFILE\s0" 4 +.IX Item "xrna_plot SEQUENCE, STRUCTURE, SSFILE" +write structure drawing as \*(L".ss\*(R" file for further editing in \s-1XRNA\s0. +Returns 1 on sucess, 0 else. +.IP "PS_dot_plot \s-1SEQUENCE\s0, \s-1FILENAME\s0" 4 +.IX Item "PS_dot_plot SEQUENCE, FILENAME" +write a PostScript dot plot of the pair probability matix to +\&\s-1FILENAME\s0. Returns 1 on sucess, 0 else. +.IP "$rna_plot_type [int]" 4 +.IX Item "$rna_plot_type [int]" +Select layout algorithm for structure drawings. Currently available +0= simple coordinates, 1= naview, default 1. +.PP +from read_epars.c +.IP "read_parameter_file \s-1FILENAME\s0" 4 +.IX Item "read_parameter_file FILENAME" +read energy parameters from \s-1FILENAME\s0 +.IP "write_parameter_file \s-1FILENAME\s0" 4 +.IX Item "write_parameter_file FILENAME" +write energy parameters to \s-1FILENAME\s0 +.Sh "\s-1SWIG\s0 helper functions" +.IX Subsection "SWIG helper functions" +The package includes generic helper functions to access C arrays +of type \f(CW\*(C`int\*(C'\fR, \f(CW\*(C`float\*(C'\fR and \f(CW\*(C`double\*(C'\fR, such as: +.IP "intP_getitem \s-1POINTER\s0, \s-1INDEX\s0" 4 +.IX Item "intP_getitem POINTER, INDEX" +return the element \s-1INDEX\s0 from the array +.IP "intP_setitem \s-1POINTER\s0, \s-1INDEX\s0, \s-1VALUE\s0" 4 +.IX Item "intP_setitem POINTER, INDEX, VALUE" +set element \s-1INDEX\s0 to \s-1VALUE\s0 +.IP "new_intP \s-1NELEM\s0" 4 +.IX Item "new_intP NELEM" +allocate a new C array of integers with \s-1NELEM\s0 elements and return the pointer +.IP "delete_intP \s-1POINTER\s0" 4 +.IX Item "delete_intP POINTER" +deletes the C array by calling \fIfree()\fR +.PP +substituting \f(CW\*(C`intP\*(C'\fR with \f(CW\*(C`floatP\*(C'\fR or \f(CW\*(C`doubleP\*(C'\fR gives the corresponding +functions for arrays of float or double. You need to know the correct C +type however, and the function work only for arrays of simple types. +.PP +On the lowest level the \f(CW\*(C`cdata\*(C'\fR function gives direct access to any data +in the form of a Perl string. +.IP "cdata \s-1POINTER\s0, \s-1SIZE\s0" 4 +.IX Item "cdata POINTER, SIZE" +copies \s-1SIZE\s0 bytes at \s-1POINTER\s0 to a Perl string (with binary data) +.IP "memmove \s-1POINTER\s0, \s-1STRING\s0" 4 +.IX Item "memmove POINTER, STRING" +copies the (binary) string \s-1STRING\s0 to the memory location pointed to by +\&\s-1POINTER\s0. +.PP +In combination with Perl's \f(CW\*(C`unpack\*(C'\fR this provides a generic way to convert +C data structures to Perl. E.g. +.PP +.Vb 2 +\& RNA::parse_structure($structure); # fills the $RNA::loop_degree array +\& @ldegrees = unpack "I*", RNA::cdata($RNA::loop_degree, ($RNA::loops+1)*4); +.Ve +.PP +Warning: using these functions with wrong arguments will corrupt your +memory and lead to a segmentation fault. +.SH "AUTHOR" +.IX Header "AUTHOR" +Ivo L. Hofacker diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/pm_to_blib b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/pm_to_blib new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/test.pl b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/test.pl new file mode 100755 index 00000000..0cd5b7d6 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/test.pl @@ -0,0 +1,136 @@ +#!/usr/bin/perl -Iblib/arch -Iblib/lib + +# Last changed Time-stamp: <2005-07-23 16:04:56 ivo> + +######################### We start with some black magic to print on failure. +# (It may become useful if the test is moved to ./t subdirectory.) +use strict; +use Test; +use lib qw|blib/arch blib/lib|; + +BEGIN { plan tests => 19; } + +use RNA; +use warnings; + +######################### End of black magic. + +# Insert your test code below (better if it prints "ok 13" +# (correspondingly "not ok 13") depending on the success of chunk 13 +# of the test code): + +my $seq1 ="CGCAGGGAUACCCGCG"; +my $struc1="(((.((....)).)))"; +my $seq2 ="GCGCCCAUAGGGACGC"; +my $struc2="((((((...))).)))"; +# calculate a hamming distance (from util.c) +ok(RNA::hamming($seq1, $seq2), 16); + +# check a global variable +ok($RNA::temperature, 37); + +# fold a sequence + +# old obsolete way of calling fold() +my $struct = $seq1; # wierd way of allocating space +my $mfe=RNA::fold($seq1, $struct); +ok($struct, $struc1); + +# new better interface +($struct, $mfe) = RNA::fold($seq1); +ok($struct eq $struc1); +# check energy +ok(RNA::energy_of_struct($seq1,$struc1), $mfe); + +# check constrained folding +$RNA::fold_constrained = 1; +my($struct3, $cmfe) = RNA::fold($seq1, '....xx....xx...'); +ok($struct3, '(((..........)))'); +ok(RNA::energy_of_struct($seq1,$struct3), $cmfe); +$RNA::fold_constrained = 0; + +# test cofold +$RNA::cut_point = length($seq1)+1; +my($costruct, $comfe) = RNA::cofold($seq1 . $seq2); +ok($costruct, '(((.((....)).)))((((((...))).)))'); +$cmfe = RNA::energy_of_struct($seq1 . $seq2, $costruct); +ok(abs($comfe-$cmfe)<1e-5); +$RNA::cut_point=-1; + +# pf_fold +my $f = RNA::pf_fold($seq1, $struct); +ok(($f<$mfe)&&($mfe-$f<0.8)); + +# tree distance +my $xstruc = RNA::expand_Full($struc1); +my $T1 = RNA::make_tree($xstruc); +$xstruc = RNA::expand_Full($struc2); +my $T2 = RNA::make_tree($xstruc); +$RNA::edit_backtrack = 1; +my $tree_dist = RNA::tree_edit_distance($T1, $T2); +# print RNA::get_aligned_line(0), RNA::get_aligned_line(1),"\n"; +ok($tree_dist,4); + +# check access to a C array +#ok(RNA::ptrvalue($RNA::iindx,3),108); +ok(RNA::intP_getitem($RNA::iindx,3),108); + +#RNA::shortP_setitem($RNA::xsubi, 0, 171); +#RNA::shortP_setitem($RNA::xsubi, 1, 42); +#RNA::shortP_setitem($RNA::xsubi, 2, 93); +RNA::memmove($RNA::xsubi, pack('S3', 171,42,93)); +ok(pack('S3', 171,42,93), RNA::cdata($RNA::xsubi, 6)); + +# get a bp prob in two different ways +my $p1 = RNA::get_pr(2,15); +my $ii = RNA::intP_getitem($RNA::iindx, 2); +my $p2 = RNA::doubleP_getitem($RNA::pr, $ii-15); +ok(($p1<0.999) && ($p1>0.99) && (abs($p1-$p2)<1.2e-7)); + +my $bpf = RNA::Make_bp_profile(length($seq1)); +my @bpf = unpack("f*",RNA::cdata($bpf, length($seq1)*4*3)); +ok (($bpf[2*3]+$bpf[2*3+1]>.99999)&&$bpf[2*3+2]==0 && + ($bpf[2*3+1]>=$p1)); + +my $pack = RNA::pack_structure($struc1); +ok (RNA::unpack_structure($pack), $struc1); + + +RNA::parse_structure($struc1); +ok(($RNA::loops==2) && ($RNA::pairs==5)&&($RNA::unpaired==6) && + (RNA::intP_getitem($RNA::loop_degree,1)==2)); + + +RNA::PS_rna_plot($seq1, $struc1, "test_ss.ps"); +my $anote = "2 15 1 gmark\n" . "3 cmark\n"; +RNA::PS_rna_plot_a($seq1, $struc1, "test_ss_a.ps", undef, $anote); +RNA::PS_dot_plot($seq1, "test_dp.ps"); +RNA::ssv_rna_plot($seq1, $struct, "test.coord"); +# print "$seq1, $struct, $mfe, $f\n"; +print "please check the two postscript files test_ss.ps and test_dp.ps\n"; +RNA::write_parameter_file("test.par"); + +$RNA::symbolset = "GC"; +my $start = RNA::random_string(length $struc1, $RNA::symbolset); +my ($sinv, $cost) = RNA::inverse_fold($start, $struc1); +my ($ss, $en) = RNA::fold($sinv); +ok($ss, $struc1); + +RNA::free_pf_arrays(); +RNA::free_arrays(); + +$RNA::subopt_sorted = 1; +$RNA::noLonelyPairs = 1; +my $solution = RNA::subopt($seq1, undef, 500, undef); + +printf "%d suboptimals\n", $solution->size(); +for (0..$solution->size()) { + # the last access should produce a "value out of range" warning + printf "%s %6.2f\n", $solution->get($_)->{structure}, + $solution->get($_)->{energy} + if defined $solution->get($_); +} +$RNA::cut_point = 3; +my $e = RNA::energy_of_struct("GCGC", "(())"); +ok(int($e*100+0.5), 70); + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNALfold.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNALfold.Po new file mode 100755 index 00000000..4dcaeaf4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNALfold.Po @@ -0,0 +1,120 @@ +RNALfold.o RNALfold.o: RNALfold.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/fold.h ../H/part_func.h \ + ../H/fold_vars.h ../H/utils.h ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/fold.h: + +../H/part_func.h: + +../H/fold_vars.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAalifold.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAalifold.Po new file mode 100755 index 00000000..1367f8ca --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAalifold.Po @@ -0,0 +1,129 @@ +RNAalifold.o RNAalifold.o: RNAalifold.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/fold.h ../H/part_func.h \ + ../H/fold_vars.h ../H/PS_dot.h ../H/utils.h ../config.h ../H/pair_mat.h \ + ../H/alifold.h ../H/aln_util.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/fold.h: + +../H/part_func.h: + +../H/fold_vars.h: + +../H/PS_dot.h: + +../H/utils.h: + +../config.h: + +../H/pair_mat.h: + +../H/alifold.h: + +../H/aln_util.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAcofold.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAcofold.Po new file mode 100755 index 00000000..e1eaa698 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAcofold.Po @@ -0,0 +1,127 @@ +RNAcofold.o RNAcofold.o: RNAcofold.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/PS_dot.h ../H/cofold.h ../H/fold.h \ + ../H/part_func_co.h ../H/part_func.h ../H/fold_vars.h ../H/utils.h \ + ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/PS_dot.h: + +../H/cofold.h: + +../H/fold.h: + +../H/part_func_co.h: + +../H/part_func.h: + +../H/fold_vars.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAddG.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAddG.Po new file mode 100755 index 00000000..16926a85 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAddG.Po @@ -0,0 +1,121 @@ +RNAddG.o RNAddG.o: RNAddG.c /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/fold.h ../H/part_func.h \ + ../H/fold_vars.h ../H/PS_dot.h ../H/utils.h ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/fold.h: + +../H/part_func.h: + +../H/fold_vars.h: + +../H/PS_dot.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAddG4.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAddG4.Po new file mode 100755 index 00000000..2eaaa922 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAddG4.Po @@ -0,0 +1,124 @@ +RNAddG4.o RNAddG4.o: RNAddG4.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/fold.h ../H/part_func.h \ + ../H/fold_vars.h ../H/PS_dot.h ../H/utils.h ../config.h ../H/duplex.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/fold.h: + +../H/part_func.h: + +../H/fold_vars.h: + +../H/PS_dot.h: + +../H/utils.h: + +../config.h: + +../H/duplex.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAdistance.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAdistance.Po new file mode 100755 index 00000000..7ec96ad1 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAdistance.Po @@ -0,0 +1,122 @@ +RNAdistance.o RNAdistance.o: RNAdistance.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/dist_vars.h ../H/RNAstruct.h \ + ../H/treedist.h ../H/stringdist.h ../H/utils.h ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/dist_vars.h: + +../H/RNAstruct.h: + +../H/treedist.h: + +../H/stringdist.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAduplex.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAduplex.Po new file mode 100755 index 00000000..121c5ba6 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAduplex.Po @@ -0,0 +1,107 @@ +RNAduplex.o RNAduplex.o: RNAduplex.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/ctype.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/duplex.h ../H/fold.h ../H/fold_vars.h \ + ../H/utils.h ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/ctype.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/duplex.h: + +../H/fold.h: + +../H/fold_vars.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAeval.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAeval.Po new file mode 100755 index 00000000..b5739b89 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAeval.Po @@ -0,0 +1,118 @@ +RNAeval.o RNAeval.o: RNAeval.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/fold_vars.h ../H/fold.h ../H/utils.h \ + ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/fold_vars.h: + +../H/fold.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAfold.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAfold.Po new file mode 100755 index 00000000..3eaa5148 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAfold.Po @@ -0,0 +1,122 @@ +RNAfold.o RNAfold.o: RNAfold.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/fold.h ../H/part_func.h \ + ../H/fold_vars.h ../H/PS_dot.h ../H/utils.h ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/fold.h: + +../H/part_func.h: + +../H/fold_vars.h: + +../H/PS_dot.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAheat.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAheat.Po new file mode 100755 index 00000000..f1ae7506 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAheat.Po @@ -0,0 +1,119 @@ +RNAheat.o RNAheat.o: RNAheat.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/ctype.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h ../H/utils.h \ + ../config.h ../H/fold_vars.h ../H/fold.h ../H/part_func.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/ctype.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +../H/utils.h: + +../config.h: + +../H/fold_vars.h: + +../H/fold.h: + +../H/part_func.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAinverse.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAinverse.Po new file mode 100755 index 00000000..ba74ed89 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAinverse.Po @@ -0,0 +1,122 @@ +RNAinverse.o RNAinverse.o: RNAinverse.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/inverse.h ../H/fold_vars.h ../H/fold.h \ + ../H/part_func.h ../H/utils.h ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/inverse.h: + +../H/fold_vars.h: + +../H/fold.h: + +../H/part_func.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAmotif_distance.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAmotif_distance.Po new file mode 100755 index 00000000..297871c4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAmotif_distance.Po @@ -0,0 +1,122 @@ +RNAmotif_distance.o RNAmotif_distance.o: RNAmotif_distance.c \ + /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/dist_vars.h ../H/RNAstruct.h \ + ../H/treedist.h ../H/stringdist.h ../H/utils.h ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/dist_vars.h: + +../H/RNAstruct.h: + +../H/treedist.h: + +../H/stringdist.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAmotif_distance.Po~ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAmotif_distance.Po~ new file mode 100755 index 00000000..7ec96ad1 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAmotif_distance.Po~ @@ -0,0 +1,122 @@ +RNAdistance.o RNAdistance.o: RNAdistance.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/dist_vars.h ../H/RNAstruct.h \ + ../H/treedist.h ../H/stringdist.h ../H/utils.h ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/dist_vars.h: + +../H/RNAstruct.h: + +../H/treedist.h: + +../H/stringdist.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNApaln.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNApaln.Po new file mode 100755 index 00000000..46f257b2 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNApaln.Po @@ -0,0 +1,139 @@ +RNApaln.o RNApaln.o: RNApaln.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/asm-x86_64/errno.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h ../H/part_func.h \ + ../H/fold.h ../H/fold_vars.h ../H/profiledist.h ../H/dist_vars.h \ + ../H/utils.h ../config.h ../H/ProfileAln.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/errno.h: + +/usr/include/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/asm/errno.h: + +/usr/include/asm-x86_64/errno.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +../H/part_func.h: + +../H/fold.h: + +../H/fold_vars.h: + +../H/profiledist.h: + +../H/dist_vars.h: + +../H/utils.h: + +../config.h: + +../H/ProfileAln.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNApdist.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNApdist.Po new file mode 100755 index 00000000..e93a96bf --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNApdist.Po @@ -0,0 +1,135 @@ +RNApdist.o RNApdist.o: RNApdist.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/asm-x86_64/errno.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h ../H/part_func.h \ + ../H/fold_vars.h ../H/profiledist.h ../H/dist_vars.h ../H/utils.h \ + ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/errno.h: + +/usr/include/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/asm/errno.h: + +/usr/include/asm-x86_64/errno.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +../H/part_func.h: + +../H/fold_vars.h: + +../H/profiledist.h: + +../H/dist_vars.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAplfold.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAplfold.Po new file mode 100755 index 00000000..cac72381 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAplfold.Po @@ -0,0 +1,122 @@ +RNAplfold.o RNAplfold.o: RNAplfold.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/fold.h ../H/part_func.h \ + ../H/fold_vars.h ../H/utils.h ../config.h ../H/PS_dot.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/fold.h: + +../H/part_func.h: + +../H/fold_vars.h: + +../H/utils.h: + +../config.h: + +../H/PS_dot.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAplot.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAplot.Po new file mode 100755 index 00000000..8735197e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAplot.Po @@ -0,0 +1,115 @@ +RNAplot.o RNAplot.o: RNAplot.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \ + /usr/include/getopt.h ../H/utils.h ../config.h ../H/PS_dot.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +../H/utils.h: + +../config.h: + +../H/PS_dot.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAstats.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAstats.Po new file mode 100755 index 00000000..3950db63 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAstats.Po @@ -0,0 +1,122 @@ +RNAstats.o RNAstats.o: RNAstats.c ../config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/part_func.h ../H/fold.h \ + ../H/fold_vars.h ../H/utils.h ../H/subopt.h + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/part_func.h: + +../H/fold.h: + +../H/fold_vars.h: + +../H/utils.h: + +../H/subopt.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAsubopt.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAsubopt.Po new file mode 100755 index 00000000..dfdadd9e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/.deps/RNAsubopt.Po @@ -0,0 +1,122 @@ +RNAsubopt.o RNAsubopt.o: RNAsubopt.c ../config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/confname.h \ + /usr/include/getopt.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/part_func.h ../H/fold.h \ + ../H/fold_vars.h ../H/utils.h ../H/subopt.h + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/part_func.h: + +../H/fold.h: + +../H/fold_vars.h: + +../H/utils.h: + +../H/subopt.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/Makefile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/Makefile new file mode 100755 index 00000000..08c498a4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/Makefile @@ -0,0 +1,559 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Progs/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +SOURCES = RNALfold.c RNAalifold.c RNAcofold.c RNAdistance.c RNAmotif_distance.c RNAduplex.c RNAeval.c RNAfold.c RNAheat.c RNAinverse.c RNApaln.c RNApdist.c RNAplfold.c RNAplot.c RNAsubopt.c RNAstats.c RNAddG.c RNAddG4.c + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/ViennaRNA +pkglibdir = $(libdir)/ViennaRNA +pkgincludedir = $(includedir)/ViennaRNA +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +bin_PROGRAMS = RNAfold$(EXEEXT) RNAeval$(EXEEXT) RNAheat$(EXEEXT) \ + RNApdist$(EXEEXT) RNAdistance$(EXEEXT) RNAmotif_distance$(EXEEXT) RNAinverse$(EXEEXT) \ + RNAplot$(EXEEXT) RNAsubopt$(EXEEXT) RNALfold$(EXEEXT) \ + RNAcofold$(EXEEXT) RNApaln$(EXEEXT) RNAduplex$(EXEEXT) \ + RNAalifold$(EXEEXT) RNAplfold$(EXEEXT) +subdir = Progs +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +RNALfold_SOURCES = RNALfold.c +RNALfold_OBJECTS = RNALfold.$(OBJEXT) +RNALfold_LDADD = $(LDADD) +RNALfold_DEPENDENCIES = ../lib/libRNA.a +RNAalifold_SOURCES = RNAalifold.c +RNAalifold_OBJECTS = RNAalifold.$(OBJEXT) +RNAalifold_LDADD = $(LDADD) +RNAalifold_DEPENDENCIES = ../lib/libRNA.a +RNAcofold_SOURCES = RNAcofold.c +RNAcofold_OBJECTS = RNAcofold.$(OBJEXT) +RNAcofold_LDADD = $(LDADD) +RNAcofold_DEPENDENCIES = ../lib/libRNA.a +RNAdistance_SOURCES = RNAdistance.c +RNAdistance_OBJECTS = RNAdistance.$(OBJEXT) +RNAdistance_LDADD = $(LDADD) +RNAdistance_DEPENDENCIES = ../lib/libRNA.a +RNAmotif_distance_SOURCES = RNAmotif_distance.c +RNAmotif_distance_OBJECTS = RNAmotif_distance.$(OBJEXT) +RNAmotif_distance_LDADD = $(LDADD) +RNAmotif_distance_DEPENDENCIES = ../lib/libRNA.a +RNAduplex_SOURCES = RNAduplex.c +RNAduplex_OBJECTS = RNAduplex.$(OBJEXT) +RNAduplex_LDADD = $(LDADD) +RNAduplex_DEPENDENCIES = ../lib/libRNA.a +RNAeval_SOURCES = RNAeval.c +RNAeval_OBJECTS = RNAeval.$(OBJEXT) +RNAeval_LDADD = $(LDADD) +RNAeval_DEPENDENCIES = ../lib/libRNA.a +RNAfold_SOURCES = RNAfold.c +RNAfold_OBJECTS = RNAfold.$(OBJEXT) +RNAfold_LDADD = $(LDADD) +RNAfold_DEPENDENCIES = ../lib/libRNA.a +RNAheat_SOURCES = RNAheat.c +RNAheat_OBJECTS = RNAheat.$(OBJEXT) +RNAheat_LDADD = $(LDADD) +RNAheat_DEPENDENCIES = ../lib/libRNA.a +RNAinverse_SOURCES = RNAinverse.c +RNAinverse_OBJECTS = RNAinverse.$(OBJEXT) +RNAinverse_LDADD = $(LDADD) +RNAinverse_DEPENDENCIES = ../lib/libRNA.a +RNApaln_SOURCES = RNApaln.c +RNApaln_OBJECTS = RNApaln.$(OBJEXT) +RNApaln_LDADD = $(LDADD) +RNApaln_DEPENDENCIES = ../lib/libRNA.a +RNApdist_SOURCES = RNApdist.c +RNApdist_OBJECTS = RNApdist.$(OBJEXT) +RNApdist_LDADD = $(LDADD) +RNApdist_DEPENDENCIES = ../lib/libRNA.a +RNAplfold_SOURCES = RNAplfold.c +RNAplfold_OBJECTS = RNAplfold.$(OBJEXT) +RNAplfold_LDADD = $(LDADD) +RNAplfold_DEPENDENCIES = ../lib/libRNA.a +RNAplot_SOURCES = RNAplot.c +RNAplot_OBJECTS = RNAplot.$(OBJEXT) +RNAplot_LDADD = $(LDADD) +RNAplot_DEPENDENCIES = ../lib/libRNA.a +RNAsubopt_SOURCES = RNAsubopt.c +RNAsubopt_OBJECTS = RNAsubopt.$(OBJEXT) +RNAsubopt_LDADD = $(LDADD) +RNAsubopt_DEPENDENCIES = ../lib/libRNA.a +RNAstats_SOURCES = RNAstats.c +RNAstats_OBJECTS = RNAstats.$(OBJEXT) +RNAstats_LDADD = $(LDADD) +RNAstats_DEPENDENCIES = ../lib/libRNA.a +RNAddG_SOURCES = RNAddG.c +RNAddG_OBJECTS = RNAddG.$(OBJEXT) +RNAddG_LDADD = $(LDADD) +RNAddG_DEPENDENCIES = ../lib/libRNA.a +RNAddG4_SOURCES = RNAddG4.c +RNAddG4_OBJECTS = RNAddG4.$(OBJEXT) +RNAddG4_LDADD = $(LDADD) +RNAddG4_DEPENDENCIES = ../lib/libRNA.a +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = RNALfold.c RNAalifold.c RNAcofold.c RNAdistance.c RNAmotif_distance.c\ + RNAduplex.c RNAeval.c RNAfold.c RNAheat.c RNAinverse.c \ + RNApaln.c RNApdist.c RNAplfold.c RNAplot.c RNAsubopt.c RNAstats.c RNAddG.c RNAddG4.c +DIST_SOURCES = RNALfold.c RNAalifold.c RNAcofold.c RNAdistance.c RNAmotif_distance.c\ + RNAduplex.c RNAeval.c RNAfold.c RNAheat.c RNAinverse.c \ + RNApaln.c RNApdist.c RNAplfold.c RNAplot.c RNAsubopt.c RNAstats.c RNAddG.c RNAddG4.c +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run tar +AUTOCONF = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoconf +AUTOHEADER = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoheader +AUTOMAKE = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +ISODATE = 2006-06-13 +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run makeinfo +MAKE_CLUSTER_FALSE = +MAKE_CLUSTER_TRUE = # +MAKE_FORESTER_FALSE = # +MAKE_FORESTER_TRUE = +MAKE_KINFOLD_FALSE = # +MAKE_KINFOLD_TRUE = +MAKE_PERL_EXT_FALSE = # +MAKE_PERL_EXT_TRUE = +OBJEXT = o +PACKAGE = ViennaRNA +PACKAGE_BUGREPORT = rna@tbi.univie.ac.at +PACKAGE_NAME = ViennaRNA +PACKAGE_STRING = ViennaRNA 1.6 +PACKAGE_TARNAME = ViennaRNA +PACKAGE_VERSION = 1.6 +PATH_SEPARATOR = : +PerlCmd = /usr/bin/perl +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.6 +ac_ct_CC = gcc +ac_ct_RANLIB = ranlib +ac_ct_STRIP = +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +datadir = ${prefix}/share +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = RNAforester Kinfold +sysconfdir = ${prefix}/etc +target_alias = +LDADD = ../lib/libRNA.a -lm +INCLUDES = -I../H +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Progs/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Progs/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +RNALfold$(EXEEXT): $(RNALfold_OBJECTS) $(RNALfold_DEPENDENCIES) + @rm -f RNALfold$(EXEEXT) + $(LINK) $(RNALfold_LDFLAGS) $(RNALfold_OBJECTS) $(RNALfold_LDADD) $(LIBS) +RNAalifold$(EXEEXT): $(RNAalifold_OBJECTS) $(RNAalifold_DEPENDENCIES) + @rm -f RNAalifold$(EXEEXT) + $(LINK) $(RNAalifold_LDFLAGS) $(RNAalifold_OBJECTS) $(RNAalifold_LDADD) $(LIBS) +RNAcofold$(EXEEXT): $(RNAcofold_OBJECTS) $(RNAcofold_DEPENDENCIES) + @rm -f RNAcofold$(EXEEXT) + $(LINK) $(RNAcofold_LDFLAGS) $(RNAcofold_OBJECTS) $(RNAcofold_LDADD) $(LIBS) +RNAdistance$(EXEEXT): $(RNAdistance_OBJECTS) $(RNAdistance_DEPENDENCIES) + @rm -f RNAdistance$(EXEEXT) + $(LINK) $(RNAdistance_LDFLAGS) $(RNAdistance_OBJECTS) $(RNAdistance_LDADD) $(LIBS) +RNAmotif_distance$(EXEEXT): $(RNAmotif_distance_OBJECTS) $(RNAmotif_distance_DEPENDENCIES) + @rm -f RNAmotif_distance$(EXEEXT) + $(LINK) $(RNAdistance_LDFLAGS) $(RNAmotif_distance_OBJECTS) $(RNAmotif_distance_LDADD) $(LIBS) +RNAduplex$(EXEEXT): $(RNAduplex_OBJECTS) $(RNAduplex_DEPENDENCIES) + @rm -f RNAduplex$(EXEEXT) + $(LINK) $(RNAduplex_LDFLAGS) $(RNAduplex_OBJECTS) $(RNAduplex_LDADD) $(LIBS) +RNAeval$(EXEEXT): $(RNAeval_OBJECTS) $(RNAeval_DEPENDENCIES) + @rm -f RNAeval$(EXEEXT) + $(LINK) $(RNAeval_LDFLAGS) $(RNAeval_OBJECTS) $(RNAeval_LDADD) $(LIBS) +RNAfold$(EXEEXT): $(RNAfold_OBJECTS) $(RNAfold_DEPENDENCIES) + @rm -f RNAfold$(EXEEXT) + $(LINK) $(RNAfold_LDFLAGS) $(RNAfold_OBJECTS) $(RNAfold_LDADD) $(LIBS) +RNAheat$(EXEEXT): $(RNAheat_OBJECTS) $(RNAheat_DEPENDENCIES) + @rm -f RNAheat$(EXEEXT) + $(LINK) $(RNAheat_LDFLAGS) $(RNAheat_OBJECTS) $(RNAheat_LDADD) $(LIBS) +RNAinverse$(EXEEXT): $(RNAinverse_OBJECTS) $(RNAinverse_DEPENDENCIES) + @rm -f RNAinverse$(EXEEXT) + $(LINK) $(RNAinverse_LDFLAGS) $(RNAinverse_OBJECTS) $(RNAinverse_LDADD) $(LIBS) +RNApaln$(EXEEXT): $(RNApaln_OBJECTS) $(RNApaln_DEPENDENCIES) + @rm -f RNApaln$(EXEEXT) + $(LINK) $(RNApaln_LDFLAGS) $(RNApaln_OBJECTS) $(RNApaln_LDADD) $(LIBS) +RNApdist$(EXEEXT): $(RNApdist_OBJECTS) $(RNApdist_DEPENDENCIES) + @rm -f RNApdist$(EXEEXT) + $(LINK) $(RNApdist_LDFLAGS) $(RNApdist_OBJECTS) $(RNApdist_LDADD) $(LIBS) +RNAplfold$(EXEEXT): $(RNAplfold_OBJECTS) $(RNAplfold_DEPENDENCIES) + @rm -f RNAplfold$(EXEEXT) + $(LINK) $(RNAplfold_LDFLAGS) $(RNAplfold_OBJECTS) $(RNAplfold_LDADD) $(LIBS) +RNAplot$(EXEEXT): $(RNAplot_OBJECTS) $(RNAplot_DEPENDENCIES) + @rm -f RNAplot$(EXEEXT) + $(LINK) $(RNAplot_LDFLAGS) $(RNAplot_OBJECTS) $(RNAplot_LDADD) $(LIBS) +RNAsubopt$(EXEEXT): $(RNAsubopt_OBJECTS) $(RNAsubopt_DEPENDENCIES) + @rm -f RNAsubopt$(EXEEXT) + $(LINK) $(RNAsubopt_LDFLAGS) $(RNAsubopt_OBJECTS) $(RNAsubopt_LDADD) $(LIBS) +RNAstats$(EXEEXT): $(RNAstats_OBJECTS) $(RNAstats_DEPENDENCIES) + @rm -f RNAstats$(EXEEXT) + $(LINK) $(RNAstats_LDFLAGS) $(RNAstats_OBJECTS) $(RNAstats_LDADD) $(LIBS) +RNAddG$(EXEEXT): $(RNAddG_OBJECTS) $(RNAddG_DEPENDENCIES) + @rm -f RNAddG$(EXEEXT) + $(LINK) $(RNAddG_LDFLAGS) $(RNAddG_OBJECTS) $(RNAddG_LDADD) $(LIBS) +RNAddG4$(EXEEXT): $(RNAddG4_OBJECTS) $(RNAddG4_DEPENDENCIES) + @rm -f RNAddG4$(EXEEXT) + $(LINK) $(RNAddG4_LDFLAGS) $(RNAddG4_OBJECTS) $(RNAddG4_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/RNALfold.Po +include ./$(DEPDIR)/RNAalifold.Po +include ./$(DEPDIR)/RNAcofold.Po +include ./$(DEPDIR)/RNAdistance.Po +include ./$(DEPDIR)/RNAmotif_distance.Po +include ./$(DEPDIR)/RNAduplex.Po +include ./$(DEPDIR)/RNAeval.Po +include ./$(DEPDIR)/RNAfold.Po +include ./$(DEPDIR)/RNAheat.Po +include ./$(DEPDIR)/RNAinverse.Po +include ./$(DEPDIR)/RNApaln.Po +include ./$(DEPDIR)/RNApdist.Po +include ./$(DEPDIR)/RNAplfold.Po +include ./$(DEPDIR)/RNAplot.Po +include ./$(DEPDIR)/RNAsubopt.Po +include ./$(DEPDIR)/RNAstats.Po +include ./$(DEPDIR)/RNAddG.Po +include ./$(DEPDIR)/RNAddG4.Po + +.c.o: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-binPROGRAMS uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/Makefile.am b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/Makefile.am new file mode 100755 index 00000000..2ee42b45 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/Makefile.am @@ -0,0 +1,7 @@ +bin_PROGRAMS = RNAfold RNAeval RNAheat RNApdist RNAdistance RNAinverse \ + RNAplot RNAsubopt RNALfold RNAcofold RNApaln RNAduplex \ + RNAalifold RNAplfold RNAstats + +LDADD = ../lib/libRNA.a -lm + +INCLUDES = -I../H diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/Makefile.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/Makefile.in new file mode 100755 index 00000000..3e63007e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/Makefile.in @@ -0,0 +1,527 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +SOURCES = RNALfold.c RNAalifold.c RNAcofold.c RNAdistance.c RNAduplex.c RNAeval.c RNAfold.c RNAheat.c RNAinverse.c RNApaln.c RNApdist.c RNAplfold.c RNAplot.c RNAsubopt.c + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +bin_PROGRAMS = RNAfold$(EXEEXT) RNAeval$(EXEEXT) RNAheat$(EXEEXT) \ + RNApdist$(EXEEXT) RNAdistance$(EXEEXT) RNAinverse$(EXEEXT) \ + RNAplot$(EXEEXT) RNAsubopt$(EXEEXT) RNALfold$(EXEEXT) \ + RNAcofold$(EXEEXT) RNApaln$(EXEEXT) RNAduplex$(EXEEXT) \ + RNAalifold$(EXEEXT) RNAplfold$(EXEEXT) +subdir = Progs +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +RNALfold_SOURCES = RNALfold.c +RNALfold_OBJECTS = RNALfold.$(OBJEXT) +RNALfold_LDADD = $(LDADD) +RNALfold_DEPENDENCIES = ../lib/libRNA.a +RNAalifold_SOURCES = RNAalifold.c +RNAalifold_OBJECTS = RNAalifold.$(OBJEXT) +RNAalifold_LDADD = $(LDADD) +RNAalifold_DEPENDENCIES = ../lib/libRNA.a +RNAcofold_SOURCES = RNAcofold.c +RNAcofold_OBJECTS = RNAcofold.$(OBJEXT) +RNAcofold_LDADD = $(LDADD) +RNAcofold_DEPENDENCIES = ../lib/libRNA.a +RNAdistance_SOURCES = RNAdistance.c +RNAdistance_OBJECTS = RNAdistance.$(OBJEXT) +RNAdistance_LDADD = $(LDADD) +RNAdistance_DEPENDENCIES = ../lib/libRNA.a +RNAduplex_SOURCES = RNAduplex.c +RNAduplex_OBJECTS = RNAduplex.$(OBJEXT) +RNAduplex_LDADD = $(LDADD) +RNAduplex_DEPENDENCIES = ../lib/libRNA.a +RNAeval_SOURCES = RNAeval.c +RNAeval_OBJECTS = RNAeval.$(OBJEXT) +RNAeval_LDADD = $(LDADD) +RNAeval_DEPENDENCIES = ../lib/libRNA.a +RNAfold_SOURCES = RNAfold.c +RNAfold_OBJECTS = RNAfold.$(OBJEXT) +RNAfold_LDADD = $(LDADD) +RNAfold_DEPENDENCIES = ../lib/libRNA.a +RNAheat_SOURCES = RNAheat.c +RNAheat_OBJECTS = RNAheat.$(OBJEXT) +RNAheat_LDADD = $(LDADD) +RNAheat_DEPENDENCIES = ../lib/libRNA.a +RNAinverse_SOURCES = RNAinverse.c +RNAinverse_OBJECTS = RNAinverse.$(OBJEXT) +RNAinverse_LDADD = $(LDADD) +RNAinverse_DEPENDENCIES = ../lib/libRNA.a +RNApaln_SOURCES = RNApaln.c +RNApaln_OBJECTS = RNApaln.$(OBJEXT) +RNApaln_LDADD = $(LDADD) +RNApaln_DEPENDENCIES = ../lib/libRNA.a +RNApdist_SOURCES = RNApdist.c +RNApdist_OBJECTS = RNApdist.$(OBJEXT) +RNApdist_LDADD = $(LDADD) +RNApdist_DEPENDENCIES = ../lib/libRNA.a +RNAplfold_SOURCES = RNAplfold.c +RNAplfold_OBJECTS = RNAplfold.$(OBJEXT) +RNAplfold_LDADD = $(LDADD) +RNAplfold_DEPENDENCIES = ../lib/libRNA.a +RNAplot_SOURCES = RNAplot.c +RNAplot_OBJECTS = RNAplot.$(OBJEXT) +RNAplot_LDADD = $(LDADD) +RNAplot_DEPENDENCIES = ../lib/libRNA.a +RNAsubopt_SOURCES = RNAsubopt.c +RNAsubopt_OBJECTS = RNAsubopt.$(OBJEXT) +RNAsubopt_LDADD = $(LDADD) +RNAsubopt_DEPENDENCIES = ../lib/libRNA.a +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = RNALfold.c RNAalifold.c RNAcofold.c RNAdistance.c \ + RNAduplex.c RNAeval.c RNAfold.c RNAheat.c RNAinverse.c \ + RNApaln.c RNApdist.c RNAplfold.c RNAplot.c RNAsubopt.c +DIST_SOURCES = RNALfold.c RNAalifold.c RNAcofold.c RNAdistance.c \ + RNAduplex.c RNAeval.c RNAfold.c RNAheat.c RNAinverse.c \ + RNApaln.c RNApdist.c RNAplfold.c RNAplot.c RNAsubopt.c +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKE_CLUSTER_FALSE = @MAKE_CLUSTER_FALSE@ +MAKE_CLUSTER_TRUE = @MAKE_CLUSTER_TRUE@ +MAKE_FORESTER_FALSE = @MAKE_FORESTER_FALSE@ +MAKE_FORESTER_TRUE = @MAKE_FORESTER_TRUE@ +MAKE_KINFOLD_FALSE = @MAKE_KINFOLD_FALSE@ +MAKE_KINFOLD_TRUE = @MAKE_KINFOLD_TRUE@ +MAKE_PERL_EXT_FALSE = @MAKE_PERL_EXT_FALSE@ +MAKE_PERL_EXT_TRUE = @MAKE_PERL_EXT_TRUE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PerlCmd = @PerlCmd@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +LDADD = ../lib/libRNA.a -lm +INCLUDES = -I../H +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Progs/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Progs/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +RNALfold$(EXEEXT): $(RNALfold_OBJECTS) $(RNALfold_DEPENDENCIES) + @rm -f RNALfold$(EXEEXT) + $(LINK) $(RNALfold_LDFLAGS) $(RNALfold_OBJECTS) $(RNALfold_LDADD) $(LIBS) +RNAalifold$(EXEEXT): $(RNAalifold_OBJECTS) $(RNAalifold_DEPENDENCIES) + @rm -f RNAalifold$(EXEEXT) + $(LINK) $(RNAalifold_LDFLAGS) $(RNAalifold_OBJECTS) $(RNAalifold_LDADD) $(LIBS) +RNAcofold$(EXEEXT): $(RNAcofold_OBJECTS) $(RNAcofold_DEPENDENCIES) + @rm -f RNAcofold$(EXEEXT) + $(LINK) $(RNAcofold_LDFLAGS) $(RNAcofold_OBJECTS) $(RNAcofold_LDADD) $(LIBS) +RNAdistance$(EXEEXT): $(RNAdistance_OBJECTS) $(RNAdistance_DEPENDENCIES) + @rm -f RNAdistance$(EXEEXT) + $(LINK) $(RNAdistance_LDFLAGS) $(RNAdistance_OBJECTS) $(RNAdistance_LDADD) $(LIBS) +RNAduplex$(EXEEXT): $(RNAduplex_OBJECTS) $(RNAduplex_DEPENDENCIES) + @rm -f RNAduplex$(EXEEXT) + $(LINK) $(RNAduplex_LDFLAGS) $(RNAduplex_OBJECTS) $(RNAduplex_LDADD) $(LIBS) +RNAeval$(EXEEXT): $(RNAeval_OBJECTS) $(RNAeval_DEPENDENCIES) + @rm -f RNAeval$(EXEEXT) + $(LINK) $(RNAeval_LDFLAGS) $(RNAeval_OBJECTS) $(RNAeval_LDADD) $(LIBS) +RNAfold$(EXEEXT): $(RNAfold_OBJECTS) $(RNAfold_DEPENDENCIES) + @rm -f RNAfold$(EXEEXT) + $(LINK) $(RNAfold_LDFLAGS) $(RNAfold_OBJECTS) $(RNAfold_LDADD) $(LIBS) +RNAheat$(EXEEXT): $(RNAheat_OBJECTS) $(RNAheat_DEPENDENCIES) + @rm -f RNAheat$(EXEEXT) + $(LINK) $(RNAheat_LDFLAGS) $(RNAheat_OBJECTS) $(RNAheat_LDADD) $(LIBS) +RNAinverse$(EXEEXT): $(RNAinverse_OBJECTS) $(RNAinverse_DEPENDENCIES) + @rm -f RNAinverse$(EXEEXT) + $(LINK) $(RNAinverse_LDFLAGS) $(RNAinverse_OBJECTS) $(RNAinverse_LDADD) $(LIBS) +RNApaln$(EXEEXT): $(RNApaln_OBJECTS) $(RNApaln_DEPENDENCIES) + @rm -f RNApaln$(EXEEXT) + $(LINK) $(RNApaln_LDFLAGS) $(RNApaln_OBJECTS) $(RNApaln_LDADD) $(LIBS) +RNApdist$(EXEEXT): $(RNApdist_OBJECTS) $(RNApdist_DEPENDENCIES) + @rm -f RNApdist$(EXEEXT) + $(LINK) $(RNApdist_LDFLAGS) $(RNApdist_OBJECTS) $(RNApdist_LDADD) $(LIBS) +RNAplfold$(EXEEXT): $(RNAplfold_OBJECTS) $(RNAplfold_DEPENDENCIES) + @rm -f RNAplfold$(EXEEXT) + $(LINK) $(RNAplfold_LDFLAGS) $(RNAplfold_OBJECTS) $(RNAplfold_LDADD) $(LIBS) +RNAplot$(EXEEXT): $(RNAplot_OBJECTS) $(RNAplot_DEPENDENCIES) + @rm -f RNAplot$(EXEEXT) + $(LINK) $(RNAplot_LDFLAGS) $(RNAplot_OBJECTS) $(RNAplot_LDADD) $(LIBS) +RNAsubopt$(EXEEXT): $(RNAsubopt_OBJECTS) $(RNAsubopt_DEPENDENCIES) + @rm -f RNAsubopt$(EXEEXT) + $(LINK) $(RNAsubopt_LDFLAGS) $(RNAsubopt_OBJECTS) $(RNAsubopt_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNALfold.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNAalifold.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNAcofold.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNAdistance.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNAduplex.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNAeval.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNAfold.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNAheat.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNAinverse.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNApaln.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNApdist.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNAplfold.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNAplot.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNAsubopt.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-binPROGRAMS uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/Makefile~ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/Makefile~ new file mode 100755 index 00000000..a2029ec8 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/Makefile~ @@ -0,0 +1,551 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Progs/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +SOURCES = RNALfold.c RNAalifold.c RNAcofold.c RNAdistance.c RNAduplex.c RNAeval.c RNAfold.c RNAheat.c RNAinverse.c RNApaln.c RNApdist.c RNAplfold.c RNAplot.c RNAsubopt.c RNAstats.c RNAddG.c RNAddG4.c + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/ViennaRNA +pkglibdir = $(libdir)/ViennaRNA +pkgincludedir = $(includedir)/ViennaRNA +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +bin_PROGRAMS = RNAfold$(EXEEXT) RNAeval$(EXEEXT) RNAheat$(EXEEXT) \ + RNApdist$(EXEEXT) RNAdistance$(EXEEXT) RNAinverse$(EXEEXT) \ + RNAplot$(EXEEXT) RNAsubopt$(EXEEXT) RNALfold$(EXEEXT) \ + RNAcofold$(EXEEXT) RNApaln$(EXEEXT) RNAduplex$(EXEEXT) \ + RNAalifold$(EXEEXT) RNAplfold$(EXEEXT) +subdir = Progs +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +RNALfold_SOURCES = RNALfold.c +RNALfold_OBJECTS = RNALfold.$(OBJEXT) +RNALfold_LDADD = $(LDADD) +RNALfold_DEPENDENCIES = ../lib/libRNA.a +RNAalifold_SOURCES = RNAalifold.c +RNAalifold_OBJECTS = RNAalifold.$(OBJEXT) +RNAalifold_LDADD = $(LDADD) +RNAalifold_DEPENDENCIES = ../lib/libRNA.a +RNAcofold_SOURCES = RNAcofold.c +RNAcofold_OBJECTS = RNAcofold.$(OBJEXT) +RNAcofold_LDADD = $(LDADD) +RNAcofold_DEPENDENCIES = ../lib/libRNA.a +RNAdistance_SOURCES = RNAdistance.c +RNAdistance_OBJECTS = RNAdistance.$(OBJEXT) +RNAdistance_LDADD = $(LDADD) +RNAdistance_DEPENDENCIES = ../lib/libRNA.a +RNAduplex_SOURCES = RNAduplex.c +RNAduplex_OBJECTS = RNAduplex.$(OBJEXT) +RNAduplex_LDADD = $(LDADD) +RNAduplex_DEPENDENCIES = ../lib/libRNA.a +RNAeval_SOURCES = RNAeval.c +RNAeval_OBJECTS = RNAeval.$(OBJEXT) +RNAeval_LDADD = $(LDADD) +RNAeval_DEPENDENCIES = ../lib/libRNA.a +RNAfold_SOURCES = RNAfold.c +RNAfold_OBJECTS = RNAfold.$(OBJEXT) +RNAfold_LDADD = $(LDADD) +RNAfold_DEPENDENCIES = ../lib/libRNA.a +RNAheat_SOURCES = RNAheat.c +RNAheat_OBJECTS = RNAheat.$(OBJEXT) +RNAheat_LDADD = $(LDADD) +RNAheat_DEPENDENCIES = ../lib/libRNA.a +RNAinverse_SOURCES = RNAinverse.c +RNAinverse_OBJECTS = RNAinverse.$(OBJEXT) +RNAinverse_LDADD = $(LDADD) +RNAinverse_DEPENDENCIES = ../lib/libRNA.a +RNApaln_SOURCES = RNApaln.c +RNApaln_OBJECTS = RNApaln.$(OBJEXT) +RNApaln_LDADD = $(LDADD) +RNApaln_DEPENDENCIES = ../lib/libRNA.a +RNApdist_SOURCES = RNApdist.c +RNApdist_OBJECTS = RNApdist.$(OBJEXT) +RNApdist_LDADD = $(LDADD) +RNApdist_DEPENDENCIES = ../lib/libRNA.a +RNAplfold_SOURCES = RNAplfold.c +RNAplfold_OBJECTS = RNAplfold.$(OBJEXT) +RNAplfold_LDADD = $(LDADD) +RNAplfold_DEPENDENCIES = ../lib/libRNA.a +RNAplot_SOURCES = RNAplot.c +RNAplot_OBJECTS = RNAplot.$(OBJEXT) +RNAplot_LDADD = $(LDADD) +RNAplot_DEPENDENCIES = ../lib/libRNA.a +RNAsubopt_SOURCES = RNAsubopt.c +RNAsubopt_OBJECTS = RNAsubopt.$(OBJEXT) +RNAsubopt_LDADD = $(LDADD) +RNAsubopt_DEPENDENCIES = ../lib/libRNA.a +RNAstats_SOURCES = RNAstats.c +RNAstats_OBJECTS = RNAstats.$(OBJEXT) +RNAstats_LDADD = $(LDADD) +RNAstats_DEPENDENCIES = ../lib/libRNA.a +RNAddG_SOURCES = RNAddG.c +RNAddG_OBJECTS = RNAddG.$(OBJEXT) +RNAddG_LDADD = $(LDADD) +RNAddG_DEPENDENCIES = ../lib/libRNA.a +RNAddG4_SOURCES = RNAddG4.c +RNAddG4_OBJECTS = RNAddG4.$(OBJEXT) +RNAddG4_LDADD = $(LDADD) +RNAddG4_DEPENDENCIES = ../lib/libRNA.a +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = RNALfold.c RNAalifold.c RNAcofold.c RNAdistance.c \ + RNAduplex.c RNAeval.c RNAfold.c RNAheat.c RNAinverse.c \ + RNApaln.c RNApdist.c RNAplfold.c RNAplot.c RNAsubopt.c RNAstats.c RNAddG.c RNAddG4.c +DIST_SOURCES = RNALfold.c RNAalifold.c RNAcofold.c RNAdistance.c \ + RNAduplex.c RNAeval.c RNAfold.c RNAheat.c RNAinverse.c \ + RNApaln.c RNApdist.c RNAplfold.c RNAplot.c RNAsubopt.c RNAstats.c RNAddG.c RNAddG4.c +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run tar +AUTOCONF = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoconf +AUTOHEADER = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoheader +AUTOMAKE = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +ISODATE = 2006-06-13 +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run makeinfo +MAKE_CLUSTER_FALSE = +MAKE_CLUSTER_TRUE = # +MAKE_FORESTER_FALSE = # +MAKE_FORESTER_TRUE = +MAKE_KINFOLD_FALSE = # +MAKE_KINFOLD_TRUE = +MAKE_PERL_EXT_FALSE = # +MAKE_PERL_EXT_TRUE = +OBJEXT = o +PACKAGE = ViennaRNA +PACKAGE_BUGREPORT = rna@tbi.univie.ac.at +PACKAGE_NAME = ViennaRNA +PACKAGE_STRING = ViennaRNA 1.6 +PACKAGE_TARNAME = ViennaRNA +PACKAGE_VERSION = 1.6 +PATH_SEPARATOR = : +PerlCmd = /usr/bin/perl +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.6 +ac_ct_CC = gcc +ac_ct_RANLIB = ranlib +ac_ct_STRIP = +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +datadir = ${prefix}/share +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = RNAforester Kinfold +sysconfdir = ${prefix}/etc +target_alias = +LDADD = ../lib/libRNA.a -lm +INCLUDES = -I../H +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Progs/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Progs/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +RNALfold$(EXEEXT): $(RNALfold_OBJECTS) $(RNALfold_DEPENDENCIES) + @rm -f RNALfold$(EXEEXT) + $(LINK) $(RNALfold_LDFLAGS) $(RNALfold_OBJECTS) $(RNALfold_LDADD) $(LIBS) +RNAalifold$(EXEEXT): $(RNAalifold_OBJECTS) $(RNAalifold_DEPENDENCIES) + @rm -f RNAalifold$(EXEEXT) + $(LINK) $(RNAalifold_LDFLAGS) $(RNAalifold_OBJECTS) $(RNAalifold_LDADD) $(LIBS) +RNAcofold$(EXEEXT): $(RNAcofold_OBJECTS) $(RNAcofold_DEPENDENCIES) + @rm -f RNAcofold$(EXEEXT) + $(LINK) $(RNAcofold_LDFLAGS) $(RNAcofold_OBJECTS) $(RNAcofold_LDADD) $(LIBS) +RNAdistance$(EXEEXT): $(RNAdistance_OBJECTS) $(RNAdistance_DEPENDENCIES) + @rm -f RNAdistance$(EXEEXT) + $(LINK) $(RNAdistance_LDFLAGS) $(RNAdistance_OBJECTS) $(RNAdistance_LDADD) $(LIBS) +RNAduplex$(EXEEXT): $(RNAduplex_OBJECTS) $(RNAduplex_DEPENDENCIES) + @rm -f RNAduplex$(EXEEXT) + $(LINK) $(RNAduplex_LDFLAGS) $(RNAduplex_OBJECTS) $(RNAduplex_LDADD) $(LIBS) +RNAeval$(EXEEXT): $(RNAeval_OBJECTS) $(RNAeval_DEPENDENCIES) + @rm -f RNAeval$(EXEEXT) + $(LINK) $(RNAeval_LDFLAGS) $(RNAeval_OBJECTS) $(RNAeval_LDADD) $(LIBS) +RNAfold$(EXEEXT): $(RNAfold_OBJECTS) $(RNAfold_DEPENDENCIES) + @rm -f RNAfold$(EXEEXT) + $(LINK) $(RNAfold_LDFLAGS) $(RNAfold_OBJECTS) $(RNAfold_LDADD) $(LIBS) +RNAheat$(EXEEXT): $(RNAheat_OBJECTS) $(RNAheat_DEPENDENCIES) + @rm -f RNAheat$(EXEEXT) + $(LINK) $(RNAheat_LDFLAGS) $(RNAheat_OBJECTS) $(RNAheat_LDADD) $(LIBS) +RNAinverse$(EXEEXT): $(RNAinverse_OBJECTS) $(RNAinverse_DEPENDENCIES) + @rm -f RNAinverse$(EXEEXT) + $(LINK) $(RNAinverse_LDFLAGS) $(RNAinverse_OBJECTS) $(RNAinverse_LDADD) $(LIBS) +RNApaln$(EXEEXT): $(RNApaln_OBJECTS) $(RNApaln_DEPENDENCIES) + @rm -f RNApaln$(EXEEXT) + $(LINK) $(RNApaln_LDFLAGS) $(RNApaln_OBJECTS) $(RNApaln_LDADD) $(LIBS) +RNApdist$(EXEEXT): $(RNApdist_OBJECTS) $(RNApdist_DEPENDENCIES) + @rm -f RNApdist$(EXEEXT) + $(LINK) $(RNApdist_LDFLAGS) $(RNApdist_OBJECTS) $(RNApdist_LDADD) $(LIBS) +RNAplfold$(EXEEXT): $(RNAplfold_OBJECTS) $(RNAplfold_DEPENDENCIES) + @rm -f RNAplfold$(EXEEXT) + $(LINK) $(RNAplfold_LDFLAGS) $(RNAplfold_OBJECTS) $(RNAplfold_LDADD) $(LIBS) +RNAplot$(EXEEXT): $(RNAplot_OBJECTS) $(RNAplot_DEPENDENCIES) + @rm -f RNAplot$(EXEEXT) + $(LINK) $(RNAplot_LDFLAGS) $(RNAplot_OBJECTS) $(RNAplot_LDADD) $(LIBS) +RNAsubopt$(EXEEXT): $(RNAsubopt_OBJECTS) $(RNAsubopt_DEPENDENCIES) + @rm -f RNAsubopt$(EXEEXT) + $(LINK) $(RNAsubopt_LDFLAGS) $(RNAsubopt_OBJECTS) $(RNAsubopt_LDADD) $(LIBS) +RNAstats$(EXEEXT): $(RNAstats_OBJECTS) $(RNAstats_DEPENDENCIES) + @rm -f RNAstats$(EXEEXT) + $(LINK) $(RNAstats_LDFLAGS) $(RNAstats_OBJECTS) $(RNAstats_LDADD) $(LIBS) +RNAddG$(EXEEXT): $(RNAddG_OBJECTS) $(RNAddG_DEPENDENCIES) + @rm -f RNAddG$(EXEEXT) + $(LINK) $(RNAddG_LDFLAGS) $(RNAddG_OBJECTS) $(RNAddG_LDADD) $(LIBS) +RNAddG4$(EXEEXT): $(RNAddG4_OBJECTS) $(RNAddG4_DEPENDENCIES) + @rm -f RNAddG4$(EXEEXT) + $(LINK) $(RNAddG4_LDFLAGS) $(RNAddG4_OBJECTS) $(RNAddG4_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/RNALfold.Po +include ./$(DEPDIR)/RNAalifold.Po +include ./$(DEPDIR)/RNAcofold.Po +include ./$(DEPDIR)/RNAdistance.Po +include ./$(DEPDIR)/RNAduplex.Po +include ./$(DEPDIR)/RNAeval.Po +include ./$(DEPDIR)/RNAfold.Po +include ./$(DEPDIR)/RNAheat.Po +include ./$(DEPDIR)/RNAinverse.Po +include ./$(DEPDIR)/RNApaln.Po +include ./$(DEPDIR)/RNApdist.Po +include ./$(DEPDIR)/RNAplfold.Po +include ./$(DEPDIR)/RNAplot.Po +include ./$(DEPDIR)/RNAsubopt.Po +include ./$(DEPDIR)/RNAstats.Po +include ./$(DEPDIR)/RNAddG.Po +include ./$(DEPDIR)/RNAddG4.Po + +.c.o: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-binPROGRAMS uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNALfold b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNALfold new file mode 100755 index 0000000000000000000000000000000000000000..e158564ad8559a9c859008847beff528f14e5ef2 GIT binary patch literal 647078 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�U+YxaE4KTlUwGVbC~DT(;G_5B+~ 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≪n5fJ{Y=0%8J`#q-YrGw-&Fn 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 Qzdf2N8kXGZ$eqXk1LBSL!2kdN literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNALfold.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNALfold.c new file mode 100755 index 00000000..7e7a723a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNALfold.c @@ -0,0 +1,247 @@ +/* Last changed Time-stamp: <2003-04-23 11:56:44 ivo> */ +/* + Ineractive Access to folding Routines + + c Ivo L Hofacker + Vienna RNA package +*/ + +#include +#include +#include +#include +#include +#include +#include "fold.h" +#include "part_func.h" +#include "fold_vars.h" +#include "utils.h" + +extern float Lfold(char *string, char *structure, int maxdist); +extern void read_parameter_file(const char fname[]); + +/*@unused@*/ +static char rcsid[] = "$Id: RNALfold.c,v 1.2 2003/07/14 13:38:47 ivo Exp $"; + +#define PRIVATE static + +static char scale1[] = "....,....1....,....2....,....3....,....4"; +static char scale2[] = "....,....5....,....6....,....7....,....8"; + +PRIVATE void usage(void); + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char *argv[]) +{ + char *string, *line; + char *structure=NULL, *cstruc=NULL; + char fname[13], ffname[20], gfname[20]; + char *ParamFile=NULL; + char *ns_bases=NULL, *c; + int i, length, l, sym, r; + double energy, min_en; + double kT, sfact=1.07; + int pf=0, istty; + int noconv=0; + int maxdist=150; + + do_backtrack = 1; + string=NULL; + for (i=1; i : base i is paired with a base j>i\n"); + printf("matching brackets ( ): base i pairs base j\n"); + } + + do { /* main loop: continue until end of file */ + if (istty) { + printf("\nInput string (upper or lower case); @ to quit\n"); + printf("%s%s\n", scale1, scale2); + } + fname[0]='\0'; + if ((line = get_line(stdin))==NULL) break; + + /* skip comment lines and get filenames */ + while ((*line=='*')||(*line=='\0')||(*line=='>')) { + if (*line=='>') + (void) sscanf(line, ">%12s", fname); + printf("%s\n", line); + free(line); + if ((line = get_line(stdin))==NULL) break; + } + + if ((line ==NULL) || (strcmp(line, "@") == 0)) break; + + string = (char *) space(strlen(line)+1); + (void) sscanf(line,"%s",string); + free(line); + length = (int) strlen(string); + + structure = (char *) space((unsigned) length+1); + if (fold_constrained) { + cstruc = get_line(stdin); + if (cstruc!=NULL) + strncpy(structure, cstruc, length); + else + fprintf(stderr, "constraints missing\n"); + } + for (l = 0; l < length; l++) { + string[l] = toupper(string[l]); + if (!noconv && string[l] == 'T') string[l] = 'U'; + } + if (istty) + printf("length = %d\n", length); + + /* initialize_fold(length); */ + update_fold_params(); + min_en = Lfold(string, structure, maxdist); + printf("%s\n%s", string, structure); + if (istty) + printf("\n minimum free energy = %6.2f kcal/mol\n", min_en); + else + printf(" (%6.2f)\n", min_en); + + (void) fflush(stdout); + + if (pf) { + + if (dangles==1) { + dangles=2; /* recompute with dangles as in pf_fold() */ + min_en = energy_of_struct(string, structure); + dangles=1; + } + + kT = (temperature+273.15)*1.98717/1000.; /* in Kcal */ + pf_scale = exp(-(sfact*min_en)/kT/length); + if (length>2000) fprintf(stderr, "scaling factor %f\n", pf_scale); + + init_pf_fold(length); + + if (cstruc!=NULL) + strncpy(structure, cstruc, length+1); + energy = pf_fold(string, structure); + + if (do_backtrack) { + printf("%s", structure); + if (!istty) printf(" [%6.2f]\n", energy); + else printf("\n"); + } + if ((istty)||(!do_backtrack)) + printf(" free energy of ensemble = %6.2f kcal/mol\n", energy); + printf(" frequency of mfe structure in ensemble %g\n", + exp((energy-min_en)/kT)); + + if (do_backtrack) { + if (fname[0]!='\0') { + strcpy(ffname, fname); + strcat(ffname, "_dp.ps"); + } else strcpy(ffname, "dot.ps"); + /* (void) PS_dot_plot(string, ffname); */ + } + free_pf_arrays(); + + } + if (cstruc!=NULL) free(cstruc); + (void) fflush(stdout); + free(string); + free(structure); + } while (1); + return 0; +} + +PRIVATE void usage(void) +{ + nrerror("usage:\n" + "RNALfold [-L span]\n" + " [-T temp] [-4] [-d[2|3]] [-noGU] [-noCloseGU]\n" + " [-noLP] [-P paramfile] [-nsp pairs] [-noconv]\n"); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNALfold.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNALfold.o new file mode 100755 index 0000000000000000000000000000000000000000..187f0c0ff872b247261142f14063a0f73397b6e7 GIT binary patch literal 24896 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAalifold b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAalifold new file mode 100755 index 0000000000000000000000000000000000000000..9c17cc61ce4ccb05d5fdf653a82fcf43dfcbbe85 GIT binary patch literal 791018 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 z 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

      ZSIJ3aW^{oeYAK8@QQ4>q-y!Y672ZTVbn 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 */ +/* + Access to alifold Routines + + c Ivo L Hofacker + Vienna RNA package +*/ + +#include +#include +#include +#include +#include +#include +#include "fold.h" +#include "part_func.h" +#include "fold_vars.h" +#include "PS_dot.h" +#include "utils.h" +#include "pair_mat.h" +#include "alifold.h" +#include "aln_util.h" +extern void read_parameter_file(const char fname[]); +/*@unused@*/ +static const char rcsid[] = "$Id: RNAalifold.c,v 1.13 2005/03/21 12:50:44 ivo Exp $"; + +#define PRIVATE static + +static const char scale[] = "....,....1....,....2....,....3....,....4" + "....,....5....,....6....,....7....,....8"; + +PRIVATE void /*@exits@*/ usage(void); +PRIVATE char *annote(const char *structure, const char *AS[]); +PRIVATE void print_pi(const pair_info pi, FILE *file); +PRIVATE cpair *make_color_pinfo(const pair_info *pi); +PRIVATE void mark_endgaps(char *seq, char egap); +/*--------------------------------------------------------------------------*/ +#define MAX_NUM_NAMES 500 +int main(int argc, char *argv[]) +{ + char *string; + char *structure=NULL, *cstruc=NULL; + char ffname[20], gfname[20], fname[13]=""; + char *ParamFile=NULL; + char *ns_bases=NULL, *c; + int n_seq, i, length, sym, r; + int endgaps=0, mis=0; + double min_en, real_en, sfact=1.07; + int pf=0, istty; + char *AS[MAX_NUM_NAMES]; /* aligned sequences */ + char *names[MAX_NUM_NAMES]; /* sequence names */ + FILE *clust_file = stdin; + + do_backtrack = 1; + string=NULL; + dangles=2; + for (i=1; i : base i is paired with a base j>i\n"); + printf("matching brackets ( ): base i pairs base j\n"); + } + if (fold_constrained) { + if (istty) printf("%s\n", scale); + cstruc = get_line(stdin); + } + + if (istty && (clust_file == stdin)) { + printf("\nInput aligned sequences in clustalw format\n"); + if (!fold_constrained) printf("%s\n", scale); + } + + n_seq = read_clustal(clust_file, AS, names); + if (endgaps) + for (i=0; i2000) fprintf(stderr, "scaling factor %f\n", pf_scale); + fflush(stdout); + + /* init_alipf_fold(length); */ + + if (cstruc!=NULL) + strncpy(structure, cstruc, length+1); + energy = alipf_fold(AS, structure, &pi); + + if (do_backtrack) { + printf("%s", structure); + if (!istty) printf(" [%6.2f]\n", energy); + else printf("\n"); + } + if ((istty)||(!do_backtrack)) + printf(" free energy of ensemble = %6.2f kcal/mol\n", energy); + printf(" frequency of mfe structure in ensemble %g\n", + exp((energy-min_en)/kT)); + + if (do_backtrack) { + FILE *aliout; + cpair *cp; + if (fname[0]!='\0') { + strcpy(ffname, fname); + strcat(ffname, "_ali.out"); + } else strcpy(ffname, "alifold.out"); + aliout = fopen(ffname, "w"); + if (!aliout) { + fprintf(stderr, "can't open %s skipping output\n", ffname); + } else { + short *ptable; int k; + ptable = make_pair_table(mfe_struc); + fprintf(aliout, "%d sequence; length of alignment %d\n", + n_seq, length); + fprintf(aliout, "alifold output\n"); + for (k=0; pi[k].i>0; k++) { + pi[k].comp = (ptable[pi[k].i] == pi[k].j) ? 1:0; + print_pi(pi[k], aliout); + } + fprintf(aliout, "%s\n", structure); + free(ptable); + } + fclose(aliout); + if (fname[0]!='\0') { + strcpy(ffname, fname); + strcat(ffname, "_dp.ps"); + } else strcpy(ffname, "alidot.ps"); + cp = make_color_pinfo(pi); + (void) PS_color_dot_plot(string, cp, ffname); + free(cp); + } + free(mfe_struc); + free(pi); + } + if (cstruc!=NULL) free(cstruc); + free(base_pair); + (void) fflush(stdout); + free(string); + free(structure); + for (i=0; AS[i]; i++) { + free(AS[i]); free(names[i]); + } + return 0; +} + +void mark_endgaps(char *seq, char egap) { + int i,n; + n = strlen(seq); + for (i=0; i0 && (seq[i]=='-'); i--) { + seq[i] = egap; + } +} + +void print_pi(const pair_info pi, FILE *file) { + const char *pname[8] = {"","CG","GC","GU","UG","AU","UA", "--"}; + int i; + + /* numbering starts with 1 in output */ + fprintf(file, "%5d %5d %2d %5.1f%% %7.3f", + pi.i, pi.j, pi.bp[0], 100.*pi.p, pi.ent); + for (i=1; i<=7; i++) + if (pi.bp[i]) fprintf(file, " %s:%-4d", pname[i], pi.bp[i]); + /* if ((!pi.sym)&&(pi.j>=0)) printf(" *"); */ + if (!pi.comp) fprintf(file, " +"); + fprintf(file, "\n"); +} + +#define MIN2(A, B) ((A) < (B) ? (A) : (B)) + +PRIVATE cpair *make_color_pinfo(const pair_info *pi) { + cpair *cp; + int i, n; + for (n=0; pi[n].i>0; n++); + cp = (cpair *) space(sizeof(cpair)*(n+1)); + for (i=0; i0) { + snprintf(pps, 64, "%d %d %d gmark\n", i, j, pfreq[0]); + strcat(ps, pps); + } + if (vi>1) { + snprintf(pps, 64, "%d cmark\n", i); + strcat(ps, pps); + } + if (vj>1) { + snprintf(pps, 64, "%d cmark\n", j); + strcat(ps, pps); + } + } + free(ptable); + return ps; +} + +/*-------------------------------------------------------------------------*/ + +PRIVATE void usage(void) +{ + nrerror("usage:\n" + "RNAalifold [-cv float] [-nc float] [-E] [-mis]\n" + " [-p[0]] [-C] [-T temp] [-4] [-d] [-noGU] [-noCloseGU]\n" + " [-noLP] [-e e_set] [-P paramfile] [-nsp pairs] [-S scale]\n" + ); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAalifold.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAalifold.o new file mode 100755 index 0000000000000000000000000000000000000000..557da475c5fa60cdb769c01eb1cf2327a29a5b3e GIT binary patch literal 45832 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 XxlU#pvoMYNFpW5wLvTAHhT(q#(ZGCo literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAcofold b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAcofold new file mode 100755 index 0000000000000000000000000000000000000000..f7fcc1830f0e379ae243ad0fcc4d41a67983f7c1 GIT binary patch literal 779411 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�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 z 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 VIXBBByz@`Ep`{A0_vP~Y{{SqKmcRf2 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAcofold.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAcofold.c new file mode 100755 index 00000000..57276800 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAcofold.c @@ -0,0 +1,624 @@ +/* Last changed Time-stamp: <2006-01-19 11:49:34 ivo> */ +/* + c Ivo L Hofacker, Vienna RNA package +*/ + +#include +#include +#include +#include +#include +#include +#include "PS_dot.h" +#include "cofold.h" +#include "fold.h" +#include "part_func_co.h" +#include "part_func.h" +#include "fold_vars.h" +#include "utils.h" + +extern void read_parameter_file(const char fname[]); + +/*@unused@*/ +static char rcsid[] = "$Id: RNAcofold.c,v 1.6 2006/01/19 11:30:04 ivo Exp $"; + +#define PRIVATE static + +static char scale[] = "....,....1....,....2....,....3....,....4" + "....,....5....,....6....,....7....,....8"; + +PRIVATE char *costring(char *string); +PRIVATE char *tokenize(char *line); +PRIVATE void usage(void); +PRIVATE cofoldF do_partfunc(char *string, int length, int Switch, struct plist **tpr, struct plist **mf); +PRIVATE double *read_concentrations(FILE *fp); +PRIVATE void do_concentrations(double FEAB, double FEAA, double FEBB, double FEA, double FEB, double *startconces); +PRIVATE struct plist *get_mfe_plist(struct plist *pl); + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char *argv[]) +{ + char *string, *line; + char *structure=NULL, *cstruc=NULL; + char fname[53], ffname[20]; + char *ParamFile=NULL; + char *ns_bases=NULL, *c; + char *Concfile; + int i, length, l, sym, r; + double min_en; + double kT, sfact=1.07; + int pf=0, istty; + int noconv=0; + int doT=0; /*compute dimere free energies etc.*/ + int doC=0; /*toggle to compute concentrations*/ + int doQ=0; /*toggle to compute prob of base being paired*/ + int cofi=0; /*toggle concentrations stdin / file*/ + struct plist *prAB; + struct plist *prAA; /*pair probabilities of AA dimer*/ + struct plist *prBB; + struct plist *prA; + struct plist *prB; + struct plist *mfAB; + struct plist *mfAA; /*pair mfobabilities of AA dimer*/ + struct plist *mfBB; + struct plist *mfA; + struct plist *mfB; + double *ConcAandB; + + do_backtrack = 1; + string=NULL; + Concfile=NULL; + for (i=1; i : base i is paired with a base j>i\n"); + printf("matching brackets ( ): base i pairs base j\n"); + } + + do { /* main loop: continue until end of file */ + cut_point = -1; + if (istty) { + printf("\nInput sequence(s); @ to quit\n"); + printf("Use '&' as spearator between 2 sequences that shall form a complex.\n"); + printf("%s\n", scale); + } + fname[0]='\0'; + if ((line = get_line(stdin))==NULL) break; + + /* skip comment lines and get filenames */ + while ((*line=='*')||(*line=='\0')||(*line=='>')) { + if (*line=='>') + (void) sscanf(line, ">%51s", fname); + printf("%s\n", line); + free(line); + if ((line = get_line(stdin))==NULL) break; + } + + if ((line ==NULL) || (strcmp(line, "@") == 0)) break; + + string = tokenize(line); /* frees line */ + + length = (int) strlen(string); + if (doC) { + FILE *fp; + if (cofi) { /* read from file */ + fp = fopen(Concfile, "r"); + if (fp==NULL) { + fprintf(stderr, "could not open concentration file %s", Concfile); + nrerror("\n"); + } + ConcAandB = read_concentrations(fp); + fclose(fp); + } else { + printf("Please enter concentrations [mol/l]\n format: ConcA ConcB\n return to end\n"); + ConcAandB = read_concentrations(stdin); + } + } + + structure = (char *) space((unsigned) length+1); + if (fold_constrained) { + cstruc = tokenize(get_line(stdin)); + if (cstruc!=NULL) + strncpy(structure, cstruc, length); + else + fprintf(stderr, "constraints missing\n"); + } + + for (l = 0; l < length; l++) { + string[l] = toupper(string[l]); + if (!noconv && string[l] == 'T') string[l] = 'U'; + } + if (istty) { + if (cut_point == -1) + printf("length = %d\n", length); + else + printf("length1 = %d\nlength2 = %d\n", + cut_point-1, length-cut_point+1); + } + + /*compute mfe of AB dimer*/ + min_en = cofold(string, structure); + mfAB=(struct plist *) space(sizeof(struct plist) * (length+1)); + mfAB=get_mfe_plist(mfAB); + + if (cut_point == -1) printf("%s\n%s", string, structure); /*no cofold*/ + + else { + char *pstring, *pstruct; + pstring = costring(string); + pstruct = costring(structure); + printf("%s\n%s", pstring, pstruct); + free(pstring); + free(pstruct); + } + if (istty) + printf("\n minimum free energy = %6.2f kcal/mol\n", min_en); + else + printf(" (%6.2f)\n", min_en); + + (void) fflush(stdout); + + if (fname[0]!='\0') { + strcpy(ffname, fname); + strcat(ffname, "_ss.ps"); + } else { + strcpy(ffname, "rna.ps"); + } + if (length<2000) + (void) PS_rna_plot(string, structure, ffname); + else { + fprintf(stderr,"INFO: structure too long, not doing xy_plot\n"); + free_co_arrays(); + } + + /*compute partition function*/ + if (pf) { + cofoldF AB, AA, BB; + if (dangles==1) { + dangles=2; /* recompute with dangles as in pf_fold() */ + min_en = energy_of_struct(string, structure); + dangles=1; + } + + kT = (temperature+273.15)*1.98717/1000.; /* in Kcal */ + pf_scale = exp(-(sfact*min_en)/kT/length); + if (length>2000) fprintf(stderr, "scaling factor %f\n", pf_scale); + + init_co_pf_fold(length); + + if (cstruc!=NULL) + strncpy(structure, cstruc, length+1); + AB = co_pf_fold(string, structure); + + if (do_backtrack) { + char *costruc; + costruc = (char *) space(sizeof(char)*(strlen(structure)+2)); + if (cut_point<0) printf("%s", structure); + else { + strncpy(costruc, structure, cut_point-1); + strcat(costruc, "&"); + strcat(costruc, structure+cut_point-1); + printf("%s", costruc); + } + if (!istty) printf(" [%6.2f]\n", AB.FAB); + else printf("\n");/*8.6.04*/ + } + if ((istty)||(!do_backtrack)) + printf(" free energy of ensemble = %6.2f kcal/mol\n", AB.FAB); + printf(" frequency of mfe structure in ensemble %g", + exp((AB.FAB-min_en)/kT)); + + printf(" , delta G binding=%6.2f\n", AB.FcAB - AB.FA - AB.FB); + + prAB=(struct plist *) space(sizeof(struct plist) * (2*length)); + prAB=get_plist(prAB, length,0.00001); + + /* if (doQ) make_probsum(length,fname); */ /*compute prob of base paired*/ + free_co_arrays(); + if (doT) { /* cofold of all dimers, monomers */ + int Blength, Alength; + char *Astring, *Bstring; + char *Newstring; + char Newname[30]; + char comment[80]; + if (cut_point<0) { + printf("Sorry, i cannot do that with only one molecule, please give me two or leave it\n"); + free(mfAB); + free(prAB); + continue; + } + if (dangles==1) dangles=2; + Alength=cut_point-1; /*length of first molecule*/ + Blength=length-cut_point+1; /*length of 2nd molecule*/ + + Astring=(char *)space(sizeof(char)*(Alength+1));/*Sequence of first molecule*/ + Bstring=(char *)space(sizeof(char)*(Blength+1));/*Sequence of second molecule*/ + strncat(Astring,string,Alength); + strncat(Bstring,string+Alength,Blength); + + /* compute AA dimer */ + prAA=(struct plist *) space(sizeof(struct plist) * (4*Alength)); + mfAA=(struct plist *) space(sizeof(struct plist) * (Alength+1)); + AA=do_partfunc(Astring, Alength, 2, &prAA, &mfAA); + /* compute BB dimer */ + prBB=(struct plist *) space(sizeof(struct plist) * (4*Blength)); + mfBB=(struct plist *) space(sizeof(struct plist) * (Blength+1)); + BB=do_partfunc(Bstring, Blength, 2, &prBB, &mfBB); + /*free_co_pf_arrays();*/ + + /* compute A monomer */ + prA=(struct plist *) space(sizeof(struct plist) * (2*Alength)); + mfA=(struct plist *) space(sizeof(struct plist) * (Alength+1)); + do_partfunc(Astring, Alength, 1, &prA, &mfA); + + /* compute B monomer */ + prB=(struct plist *) space(sizeof(struct plist) * (2*Blength)); + mfB=(struct plist *) space(sizeof(struct plist) * (Blength+1)); + do_partfunc(Bstring, Blength, 1, &prB, &mfB); + + compute_probabilities(AB.F0AB, AB.FA, AB.FB, prAB, prA, prB, Alength); + compute_probabilities(AA.F0AB, AA.FA, AA.FA, prAA, prA, prA, Alength); + compute_probabilities(BB.F0AB, BB.FA, BB.FA, prBB, prA, prB, Blength); + printf("Free Energies:\nAB\t\tAA\t\tBB\t\tA\t\tB\n%.6f\t%6f\t%6f\t%6f\t%6f\n", + AB.FcAB, AA.FcAB, BB.FcAB, AB.FA, AB.FB); + + if (doC) { + do_concentrations(AB.FcAB, AA.FcAB, BB.FcAB, AB.FA, AB.FB, ConcAandB); + free(ConcAandB);/*freeen*/ + } + + if (fname[0]!='\0') { + strcpy(ffname, fname); + strcat(ffname, "_dp5.ps"); + } else strcpy(ffname, "dot5.ps"); + /*output of the 5 dot plots*/ + + /*AB dot_plot*/ + /*write Free Energy into comment*/ + sprintf(comment,"\n%%Heterodimer AB FreeEnergy= %.9f\n", AB.FcAB); + /*reset cut_point*/ + cut_point=Alength+1; + /*write New name*/ + strcpy(Newname,"AB"); + strcat(Newname,ffname); + (void)PS_dot_plot_list(string, Newname, prAB, mfAB, comment); + + /*AA dot_plot*/ + sprintf(comment,"\n%%Homodimer AA FreeEnergy= %.9f\n",AA.FcAB); + /*write New name*/ + strcpy(Newname,"AA"); + strcat(Newname,ffname); + /*write AA sequence*/ + Newstring=(char*)space((2*Alength+1)*sizeof(char)); + strcpy(Newstring,Astring); + strcat(Newstring,Astring); + (void)PS_dot_plot_list(Newstring, Newname, prAA, mfAA, comment); + free(Newstring); + + /*BB dot_plot*/ + sprintf(comment,"\n%%Homodimer BB FreeEnergy= %.9f\n",BB.FcAB); + /*write New name*/ + strcpy(Newname,"BB"); + strcat(Newname,ffname); + /*write BB sequence*/ + Newstring=(char*)space((2*Blength+1)*sizeof(char)); + strcpy(Newstring,Bstring); + strcat(Newstring,Bstring); + /*reset cut_point*/ + cut_point=Blength+1; + (void)PS_dot_plot_list(Newstring, Newname, prBB, mfBB, comment); + free(Newstring); + + /*A dot plot*/ + /*reset cut_point*/ + cut_point=-1; + sprintf(comment,"\n%%Monomer A FreeEnergy= %.9f\n",AB.FA); + /*write New name*/ + strcpy(Newname,"A"); + strcat(Newname,ffname); + /*write BB sequence*/ + (void)PS_dot_plot_list(Astring, Newname, prA, mfA, comment); + + /*B monomer dot plot*/ + sprintf(comment,"\n%%Monomer B FreeEnergy= %.9f\n",AB.FB); + /*write New name*/ + strcpy(Newname,"B"); + strcat(Newname,ffname); + /*write BB sequence*/ + (void)PS_dot_plot_list(Bstring, Newname, prB, mfB, comment); + free(Astring); free(Bstring); free(prAB); free(prAA); free(prBB); free(prA); free(prB); + free(mfAB); free(mfAA); free(mfBB); free(mfA); free(mfB); + + } /*end if(doT)*/ + + }/*end if(pf)*/ + + + if (do_backtrack) { + if (fname[0]!='\0') { + strcpy(ffname, fname); + strcat(ffname, "_dp.ps"); + } else strcpy(ffname, "dot.ps"); + + if (!doT) { + if (pf) { (void) PS_dot_plot_list(string, ffname, prAB, mfAB, "doof"); + free(prAB);} + free(mfAB); + } + } + if (!doT) free_co_pf_arrays(); + + + if (cstruc!=NULL) free(cstruc); + (void) fflush(stdout); + free(string); + free(structure); + } while (1); + return 0; +} + +PRIVATE char *tokenize(char *line) +{ + char *pos, *copy; + int cut = -1; + + copy = (char *) space(strlen(line)+1); + (void) sscanf(line, "%s", copy); + pos = strchr(copy, '&'); + if (pos) { + cut = (int) (pos-copy)+1; + if (cut >= strlen(copy)) cut = -1; + if (strchr(pos+1, '&')) nrerror("more than one cut-point in input"); + for (;*pos;pos++) *pos = *(pos+1); /* splice out the & */ + } + if (cut > -1) { + if (cut_point==-1) cut_point = cut; + else if (cut_point != cut) { + fprintf(stderr,"cut_point = %d cut = %d\n", cut_point, cut); + nrerror("Sequence and Structure have different cut points."); + } + } + free(line); + return copy; +} + +PRIVATE char *costring(char *string) +{ + char *ctmp; + int len; + + len = strlen(string); + ctmp = (char *)space((len+2) * sizeof(char)); + /* first sequence */ + (void) strncpy(ctmp, string, cut_point-1); + /* spacer */ + ctmp[cut_point-1] = '&'; + /* second sequence */ + (void) strcat(ctmp, string+cut_point-1); + + return ctmp; +} + +PRIVATE cofoldF do_partfunc(char *string, int length, int Switch, struct plist **tpr, struct plist **mfpl) { + /*compute mfe and partition function of dimere or monomer*/ + char *Newstring; + char *tempstruc; + double min_en; + double sfact=1.07; + double kT; + cofoldF X; + kT = (temperature+273.15)*1.98717/1000.; + switch (Switch) + { + case 1: /*monomer*/ + cut_point=-1; + tempstruc = (char *) space((unsigned)length+1); + min_en = fold(string, tempstruc); + pf_scale = exp(-(sfact*min_en)/kT/(length)); + *mfpl=get_mfe_plist(*mfpl); + free_arrays(); + /*En=pf_fold(string, tempstruc);*/ + init_co_pf_fold(length); + X=co_pf_fold(string, tempstruc); + + *tpr=get_plist(*tpr, length,0.00001); + free_co_pf_arrays(); + free(tempstruc); + break; + + case 2: /*dimer*/ + Newstring=(char *)space(sizeof(char)*(length*2+1)); + strcat(Newstring,string); + strcat(Newstring,string); + cut_point=length+1; + tempstruc = (char *) space((unsigned)length*2+1); + min_en = cofold(Newstring, tempstruc); + pf_scale =exp(-(sfact*min_en)/kT/(2*length)); + *mfpl=get_mfe_plist(*mfpl); + free_co_arrays(); + init_co_pf_fold(2*length); + X=co_pf_fold(Newstring, tempstruc); + *tpr=get_plist(*tpr, 2*length,0.00001); + free_co_pf_arrays(); + free(Newstring); + free(tempstruc); + break; + + default: + printf("Error in get_partfunc\n, computing neither mono- nor dimere!\n"); + exit (42); + + } + return X; +} + + +PRIVATE void do_concentrations(double FEAB, double FEAA, double FEBB, double FEA, double FEB, double *startconc) { + /* compute and print concentrations out of free energies, calls get_concentrations */ + struct ConcEnt *result; + int i, n; + + result=get_concentrations(FEAB, FEAA, FEBB, FEA, FEB, startconc); + + printf("Initial concentrations\t\trelative Equilibrium concentrations\n"); + printf("A\t\t B\t\t AB\t\t AA\t\t BB\t\t A\t\t B\n"); + for (n=0; (startconc[2*n]>0) || (startconc[2*n+1]>0); n++); /* count */ + for (i=0; i=2*n) { + n*=2; + startc=(double *)xrealloc(startc,(2*n+1)*sizeof(double)); + } + c = sscanf(line,"%lf %lf", &startc[i], &startc[i+1]); + free(line); + if (c<2) break; + i+=2; + } + startc[i]=startc[i+1]=0; + return startc; +} + +static struct plist *get_mfe_plist(struct plist *pl) { + /*get list of mfe structure out of base_pairs array*/ + int l; + for(l=1; l<=base_pair[0].i; l++) + { + pl[l-1].i=base_pair[l].i; + pl[l-1].j=base_pair[l].j; + pl[l-1].p=0.95; + } + pl[l-1].i=0; + pl[l-1].j=0; + pl[l-1].p=0.; + pl=(struct plist *)xrealloc(pl,l*sizeof(struct plist)); + return pl; +} + + +PRIVATE void usage(void) +{ + nrerror("usage:\n" + "RNAcofold [-a] [-c] [-f concfile]\n" + "[-p[0]] [-C] [-T temp] [-4] [-d[2|3]] [-noGU] [-noCloseGU]\n" + "[-noLP] [-e e_set] [-P paramfile] [-nsp pairs] [-S scale] " + "[-noconv]\n"); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAcofold.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAcofold.o new file mode 100755 index 0000000000000000000000000000000000000000..7156ed19b7142f811f1aac9b2e993179df03263f GIT binary patch literal 47968 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

      ~<3ng_F6Kda^$ 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 AjQ{`u literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAddG4.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAddG4.c new file mode 100755 index 00000000..1a740b8d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAddG4.c @@ -0,0 +1,402 @@ +/* Last changed Time-stamp: <2005-09-22 10:10:55 ivo> */ +/* + * Ineractive Access to folding Routines + * + * c Ivo L Hofacker Vienna RNA package + */ + +#include +#include +#include +#include +#include +#include +#include "fold.h" +#include "part_func.h" +#include "fold_vars.h" +#include "PS_dot.h" +#include "utils.h" +#include "duplex.h" + +static void print_struc(duplexT const *dup); +double LogOfSumOfExps (double* exps, int num_exps); + +/* @unused@ */ +static char rcsid[] = "$Id: RNAfold.c,v 1.18 2005/10/30 20:07:12 ivo Exp $"; + +#define PRIVATE static +#define MIN_NUMBER_TO_EXPONENTIATE -100 + +static char scale1[] = "....,....1....,....2....,....3....,....4"; +static char scale2[] = "....,....5....,....6....,....7....,....8"; + +PRIVATE void usage(void); + + +int array_size_i = 0; +int array_size_j = 0; +int *array_i; +int *array_j; +int five_prime_length = 0; +int E5p, E3p; +int debug_mode = 0; + +/*--------------------------------------------------------------------------*/ + +int +main(int argc, char *argv[]) +{ + char *string, *line; + char *structure = NULL, *constraint = NULL, *sub_target = NULL; + char *ParamFile = NULL; + char *ns_bases = NULL, *c; + int i, length, l, sym, r; + double energy, min_en; + double kT, sfact = 1.07; + int noconv = 0; + + duplexT hybrid; + + double dG0, dG1, dG2, P; + double ddG[50]; + double dG1array[50]; + double dG2array[50]; + + int n_exps = 0; + + + int restrict_from = 0; /* Where to start and end restriction of */ + int restrict_to = 0; /* mRNA folding so that miRNA can bind */ + int target_start = 0; /* Base where target starts */ + int upstream_rest = 0; /* Number of bases to be restricted upstream of target */ + + string = NULL; + for (i = 1; i < argc; i++) { + if (argv[i][0] == '-') + switch (argv[i][1]) { + case 'T': + if (argv[i][2] != '\0') + usage(); + if (i == argc - 1) + usage(); + r = sscanf(argv[++i], "%lf", &temperature); + if (!r) + usage(); + break; + case 'n': + if (strcmp(argv[i], "-noGU") == 0) + noGU = 1; + if (strcmp(argv[i], "-noCloseGU") == 0) + no_closingGU = 1; + if (strcmp(argv[i], "-noLP") == 0) + noLonelyPairs = 1; + if (strcmp(argv[i], "-nsp") == 0) { + if (i == argc - 1) + usage(); + ns_bases = argv[++i]; + } + if (strcmp(argv[i], "-noconv") == 0) + noconv = 1; + break; + case '4': + tetra_loop = 0; + break; + case 'e': + if (i == argc - 1) + usage(); + r = sscanf(argv[++i], "%d", &energy_set); + if (!r) + usage(); + break; + + case 'f': + if (i == argc - 1) + usage(); + r = sscanf(argv[++i], "%i", &restrict_from); + if (!r) + usage(); + break; + + case 't': + if (i == argc - 1) + usage(); + r = sscanf(argv[++i], "%i", &restrict_to); + if (!r) + usage(); + break; + + case 's': + if (i == argc - 1) + usage(); + r = sscanf(argv[++i], "%i", &target_start); + if (!r) + usage(); + target_start--; /* zero-based */ + break; + + case 'u': + if (i == argc - 1) + usage(); + r = sscanf(argv[++i], "%i", &upstream_rest); + if (!r) + usage(); + break; + + case 'S': + if (i == argc - 1) + usage(); + r = sscanf(argv[++i], "%lf", &sfact); + if (!r) + usage(); + break; + case 'd': + dangles = 0; + if (argv[i][2] != '\0') { + r = sscanf(argv[i] + 2, "%d", &dangles); + if (r != 1) + usage(); + } + break; + case 'P': + if (i == argc - 1) + usage(); + ParamFile = argv[++i]; + break; + default: + usage(); + } + } + + if (ParamFile != NULL) + read_parameter_file(ParamFile); + + if (ns_bases != NULL) { + nonstandards = space(33); + c = ns_bases; + i = sym = 0; + if (*c == '-') { + sym = 1; + c++; + } + while (*c != '\0') { + if (*c != ',') { + nonstandards[i++] = *c++; + nonstandards[i++] = *c; + if ((sym) && (*c != *(c - 1))) { + nonstandards[i++] = *c; + nonstandards[i++] = *(c - 1); + } + } + c++; + } + } + + /* Some global parameters for the folding routines */ + do_backtrack = 0; + dangles = 2; + fold_constrained = 0; + + /* main loop: continue until end of file */ + + do { + + n_exps = 0; + + /* Read and prepare sequence ***************************/ + + if ((line = get_line(stdin)) == NULL) + break; + + string = (char *) space(strlen(line) + 1); + (void) sscanf(line, "%s", string); + free(line); + length = (int) strlen(string); + + structure = (char *) space((unsigned) length + 1); + constraint = (char *) space((unsigned) length + 1); + + sub_target = (char *) space(restrict_to + 1); + + + for (l = 0; l < length; l++) { + string[l] = toupper(string[l]); + if (!noconv && string[l] == 'T') + string[l] = 'U'; + } + + /* Fold with no constraint ********************************************/ + + min_en = fold(string, structure); + printf ("%s\t", structure); + + fold_constrained = 0; + + kT = (temperature + 273.15) * 1.98717 / 1000.; /* in Kcal */ + pf_scale = exp(-(sfact * min_en) / kT / length); + init_pf_fold(length); + + dG0 = pf_fold(string, structure); + + free_pf_arrays(); + + /* Create constraint sequence from length restrict_from to restrict_to */ + /* and calculate the fold for each constrain */ + + int i,j; + + for (i = restrict_from; i <= restrict_to; i++) + { + /* Build constraint string */ + + memset (constraint, ' ', length); + + for (j = (target_start + upstream_rest); j > (target_start - i); j--) + { + constraint[j] = 'x'; + } + + /* for (j = 0 - upstream_rest; j < i; j++) + { + constraint[j+target_start] = 'x'; + }*/ + + if (i < restrict_to) + constraint[target_start-i] = '|'; + + fold_constrained = 1; + strncpy(structure, constraint, length + 1); + + /* printf ("%d (from=%d; to=%d; upstream=%d): Constraint is: **%s**\n", i, restrict_from, restrict_to, upstream_rest, structure); */ + + /* Fold with constraint *******************************************/ + + min_en = fold(string, structure); + printf ("%s", structure); + if (i < restrict_to) + printf (";"); + + pf_scale = exp(-(sfact * min_en) / kT / length); + init_pf_fold(length); + + strncpy(structure, constraint, length + 1); + dG1 = pf_fold(string, structure); + + /* Call RNAduplex to calculate the hybridization energy */ + + /* strncpy (sub_target, string+target_start, i); + sub_target[i]='\x0'; */ + + + update_fold_params(); + + /* For future use: calcualte pf-like by summing many suboptimal structs + if (delta>=0) { + duplexT *sub; + subopt = duplex_subopt(s1, s2, delta, 0); + for (sub=subopt; sub->i >0; sub++) { + print_struc(sub); + free(sub->structure); + } + free(subopt); + } + */ + + /* hybrid = duplexfold(sub_target, miRNA); + /* print_struc(&hybrid); + free(hybrid.structure); */ + + printf ("\tno_hybrid_struct"); + + dG2 = 0; /*hybrid.energy; */ + + dG1array[n_exps] = dG1; + dG2array[n_exps] = dG2; + + ddG[n_exps++] = - (dG1 + dG2 - dG0); + /* printf ("dG0=%g, dG1=%g, dG2=%g, ddG=%g\t", dG0, dG1, dG2, -ddG[n_exps-1]); */ + } + + double ddGsum = -LogOfSumOfExps (ddG, n_exps); + + P = 1 / ( 1 + exp(ddGsum / kT) ); /* Probability of being bound */ + + printf ("\t%g\t", dG0); + + for (i=0; i= 2000) free(base_pair); + (void) fflush(stdout); + free(string); + free(structure); + free(constraint); + } while (1); + return 0; +} + +static void print_struc(duplexT const *dup) { + int l1; + l1 = strchr(dup->structure, '&')-dup->structure; + printf("%s %3d,%-3d : %3d,%-3d (%5.2f)\n", dup->structure, dup->i+1-l1, + dup->i, dup->j, dup->j+strlen(dup->structure)-l1-2, dup->energy); +} + + +double LogOfSumOfExps (double* exps, int num_exps) +{ + + // compute log(exp(a_1)+exp(a_2)+...exp(a_n)) using: + // max(a_1,a_2,..a_n) + log(1+exp(a_2-max(a_1,a_2,..a_n))+...exp(a_n-max(a_1,a_2,..a_n))) + + double max_index = 0; + double max = exps[0]; + int i; + + for (i = 1; i < num_exps; ++i) + { + if (exps[i] > max) + { + max = exps[i]; + max_index = i; + } + } + + double remaining_summand = 1.0; + for (i = 0; i < num_exps; ++i) + { + if (i != max_index) + { + double difference = exps[i] - max; + if (difference > MIN_NUMBER_TO_EXPONENTIATE) + remaining_summand += exp(difference); + } + } + + double result = max + log(remaining_summand); + + return result; +} + + +PRIVATE void +usage(void) +{ + nrerror("usage:\n" + "RNAfold [-p[0]] [-C] [-T temp] [-4] [-d[2|3]] [-noGU] [-noCloseGU]\n" + " [-noLP] [-e e_set] [-P paramfile] [-nsp pairs] [-S scale]\n" + " [-noconv] \n\n" + " RNAddG special switches:\n" + " -f \n" + " -t \n" ); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAdistance b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAdistance new file mode 100755 index 0000000000000000000000000000000000000000..ee7546539455247b8d08e05b5c0b446d8f57c126 GIT binary patch literal 114868 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 F{|i=FZ?ymb literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAdistance.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAdistance.c new file mode 100755 index 00000000..40022eb9 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAdistance.c @@ -0,0 +1,548 @@ +/* + Distances of Secondary Structures + Walter Fontana, Ivo L Hofacker, Peter F Stadler + Vienna RNA Package +*/ +#include +#include +#include +#include +#include +#include +#include "dist_vars.h" +#include "RNAstruct.h" +#include "treedist.h" +#include "stringdist.h" +#include "utils.h" + +#define MAXNUM 1000 /* max number of structs for distance matrix */ + +#define PUBLIC +#define PRIVATE static +/*@unused@*/ +static char rcsid[] = "$Id: RNAdistance.c,v 1.8 2005/07/24 08:35:15 ivo Exp $"; +PRIVATE void command_line(int argc, char *argv[]); +PRIVATE void usage(void); +PRIVATE int parse_input(char *line); +PRIVATE int check_tree(char *line, char alpha[]); +PRIVATE int check_brackets(char *line); +PRIVATE void print_aligned_lines(FILE *somewhere); + +PRIVATE char ruler[] ="....,....1....,....2....,....3....,....4" +"....,....5....,....6....,....7....,....8"; +PRIVATE int types=1; +PRIVATE int task; +PRIVATE int taxa_list; +PRIVATE char outfile[50], *list_title; + +PRIVATE char ttype[10]="f"; +PRIVATE int n=0; + +int main(int argc, char *argv[]) +{ + char *line=NULL, *xstruc, *cc; + Tree *T[10][MAXNUM]; + int tree_types = 0, ttree; + swString *S[10][MAXNUM]; + char *P[MAXNUM]; /* structures for base pair distances */ + int string_types = 0, tstr; + int i,j, tt, istty, type; + int it, is; + FILE *somewhere=NULL; + + command_line(argc, argv); + + if((outfile[0]=='\0')&&(task==2)&&(edit_backtrack)) + strcpy(outfile,"backtrack.file"); + if(outfile[0]!='\0') somewhere = fopen(outfile,"w"); + if (somewhere==NULL) somewhere = stdout; + istty = isatty(fileno(stdin))&&isatty(fileno(stdout)); + + do { + if ((istty)&&(n==0)) { + printf("\nInput structure; @ to quit\n"); + printf("%s\n", ruler); + } + do { + if (line!=NULL) free(line); + line=get_line(stdin); + } while ((type=parse_input(line))==0); + + if (((type==999)||(type==888))&&(task==2)) { /* do matrices */ + if (taxa_list) + printf("* END of taxa list\n"); + + ttree = 0; tstr = 0; + for (tt=0; tt< types; tt++) { + printf("> %c %d\n", ttype[tt], n); + if(islower(ttype[tt])) { + for (i=1; i1) { + for (it=0, is=0, i=0; i1) { + for (it=0, is=0, i=0; i') { + if (taxa_list) + printf("%d :%s\n", n+1, line+1); + else printf("%s\n", line); + return 0; + } + + cp = strchr(line,' '); + if (cp) *cp='\0'; /* get rid of junk at the end of line */ + + switch (line[0]) { + case '.' : + type = 1; + break; + + case '(' : /* it's a tree */ + i=1; + xx = 0; + type = 4; /* coarse */ + rooted = 0; + while (line[i]) { + if (line[i]=='.'){ + type = 1; /* Full */ + break; + } + if ( (line[i]=='U')||(line[i]=='P') ) { + type = 2; /* FFull */ + xx = 1; + break; + } + if (line[i]=='S') { + type = 3; + xx = 1; + break; /* Shapiro tree */ + } + if ((line[i]!='(')&&(line[i]!=')')) xx = 1; + i++; + } + if(!xx) type =1; + + rooted = (line[strlen(line)-2]=='R'); + break; + case '@' : + return 999; + + default: + return 0; + } + + switch (type) { + case 1: + if(check_brackets(line)) + return 1; + break; + case 2: + if(check_tree(line,"UP") ) { + if(rooted) return 2; + else return -2; + } + break; + case 3: + if(check_tree(line,"HBIMSE") ){ + if(rooted) return -3; + else return -3; + } + break; + case 4: + if(check_tree(line,"HBIM") ){ + if(rooted) return 4; + else return -4; + } + break; + } + return 0; +} + +/*--------------------------------------------------------------------------*/ + + +PRIVATE int check_tree(char *line, char alpha[]) +{ + int n, i, o; + char *pos; + + n = (int) strlen(line); + + if( line[0] != '(' ) return 0; + i=o=1; + while( line[i] ){ + while( line[i] == '(' ){ + o++; + i++; + } + pos=strchr(alpha, (int)line[i]); + if (pos) { + while (isdigit((int) line[++i])); + if (line[i]!=')') return 0; + } + if (line[i]=='R') { + i++; + if ((i!=n-1)||(line[i]!=')')) return 0; + } + if (line[i]==')') { + o--; + if(o< 0) return 0; + if( (i0) return 0; + return 1; +} + +/*--------------------------------------------------------------------------*/ + + +PRIVATE int check_brackets(char *line) +{ + int i,o; + + i=o=0; + while( line[i] ){ + switch(line[i]) { + case '(' : + o++; + i++; + break; + case '.' : + i++; + break; + case ')' : + i++; + o--; + if(o<0) return 0; + break; + default: + return 0; + } + } + if (o>0) return 0; + return 1; +} + +/*--------------------------------------------------------------------------*/ + + +PRIVATE void command_line(int argc, char *argv[]) +{ + int i; + + edit_backtrack = 0; + types=1; ttype[0]='f'; task=1; + + for (i=1; i= argc) outfile[0] = '\0'; + else if (argv[i+1][0]=='-') outfile[0] = '\0'; + else { + i++; + strncpy(outfile,argv[i],49); + } + edit_backtrack = 1; + break; + default: + usage(); + } + } +} + +/*--------------------------------------------------------------------------*/ + +PRIVATE void print_aligned_lines(FILE *somewhere) +{ + if (edit_backtrack) { + fprintf(somewhere, "\n%s\n%s\n", aligned_line[0], aligned_line[1]); + fflush(somewhere); + } +} + +/*--------------------------------------------------------------------------*/ + +PRIVATE void usage(void) +{ + nrerror("usage: RNAdistance [-D[fhwcFHWCP]] [-X[p|m|f|c]] [-S] [-B [file]]"); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAdistance.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAdistance.o new file mode 100755 index 0000000000000000000000000000000000000000..f6f5225c6408c6714dc6e8282dc70d8475fb0431 GIT binary patch literal 36552 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAduplex b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAduplex new file mode 100755 index 0000000000000000000000000000000000000000..2b3085c79016c1d8ef1e5c83e9f71a65abcb0b34 GIT binary patch literal 625294 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%0DV6(4B3hJ3GYd&K_y}wcdE~ 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%0Dd@Z#UQEg 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 oT1e8 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%0A{4ib0eO&NDxw;X`h31NyO(V8@%SE z2pQLX8jq<|R$sL?SgVHR=^-Akd`{dl*4Yppi+s#t(}1Qf#aiShWojkNBD16=o>NkW z;IYB4Cx|38Y#28TUDVLs */ +/* + Compute duplex structure of two RNA strands + + c Ivo L Hofacker + Vienna RNA package +*/ + +#include +#include +#include +#include +#include +#include "duplex.h" +#include "fold.h" +#include "fold_vars.h" +#include "utils.h" + +extern void read_parameter_file(const char fname[]); +extern int subopt_sorted; +static void print_struc(duplexT const *dup); +void parse_mapping_array (int **map_array, int *array_size, char *arguments_string); + +/*@unused@*/ +static char rcsid[] = "$Id: RNAduplex.c,v 1.4 2005/07/24 08:35:15 ivo Exp $"; + +static char scale[] = "....,....1....,....2....,....3....,....4" + "....,....5....,....6....,....7....,....8"; + +static void usage(void); + +#define PRIVATE static + +int array_size_i = 0; +int array_size_j = 0; +int *array_i = NULL; +int *array_j = NULL; +int five_prime_length = 0; +int auto_five_prime_length = 0; +int E5p, E3p; +int debug_mode = 0; +int all_pairs = 0; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char *argv[]) +{ + char *s1, *s2, *line; + char fname[13]; + char tmp_string[255]; + char *ParamFile=NULL; + char *ns_bases=NULL, *c; + int i, l, sym, r; + double deltaf; + double kT, sfact=1.07; + int pf=0, istty, delta=-1; + int noconv=0; + int l1, l2; + + for (i=1; i=argc-1) usage(); + r=sscanf(argv[++i], "%lf", &deltaf); + if (r!=1) usage(); + delta = (int) (0.1+deltaf*100); + break; + case 's': subopt_sorted=1; + break; + case 'i': + if (i>=argc-1) usage(); + r=sscanf(argv[++i], "%s", tmp_string); + if (r!=1) usage(); + + parse_mapping_array (&array_i, &array_size_i, tmp_string); + break; + + case 'j': + if (i>=argc-1) usage(); + r=sscanf(argv[++i], "%s", tmp_string); + if (r!=1) usage(); + + parse_mapping_array (&array_j, &array_size_j, tmp_string); + break; + + case '5': + if (i>=argc-1) usage(); + r=sscanf(argv[++i], "%d", &five_prime_length); + if (r!=1) usage(); + if (five_prime_length == 0) auto_five_prime_length = 1; + break; + + case 'D': + if (i>=argc-1) usage(); + r=sscanf(argv[++i], "%d", &debug_mode); + if (r!=1) usage(); + break; + + case 'a': + if (i>=argc-1) usage(); + r=sscanf(argv[++i], "%d", &all_pairs); + if (r!=1) usage(); + break; + + case 'd': dangles=0; + if (argv[i][2]!='\0') { + r=sscanf(argv[i]+2, "%d", &dangles); + if (r!=1) usage(); + } + break; + case 'P': + if (i==argc-1) usage(); + ParamFile = argv[++i]; + break; + default: usage(); + } + } + + if (ParamFile != NULL) + read_parameter_file(ParamFile); + + if (ns_bases != NULL) { + nonstandards = space(33); + c=ns_bases; + i=sym=0; + if (*c=='-') { + sym=1; c++; + } + while (*c!='\0') { + if (*c!=',') { + nonstandards[i++]=*c++; + nonstandards[i++]=*c; + if ((sym)&&(*c!=*(c-1))) { + nonstandards[i++]=*c; + nonstandards[i++]=*(c-1); + } + } + c++; + } + } + istty = isatty(fileno(stdout))&&isatty(fileno(stdin)); + + do { /* main loop: continue until end of file */ + duplexT mfe, *subopt; + if (istty) { + printf("\nInput two sequences (one line each); @ to quit\n"); + printf("%s\n", scale); + } + fname[0]='\0'; + + if ((line = get_line(stdin))==NULL) break; + /* skip empty lines, comment lines, name lines */ + while (line && ((*line=='*')||(*line=='\0')||(*line=='>'))) { + printf("%s\n", line); free(line); + if ((line = get_line(stdin))==NULL) break; + } + if ((line ==NULL) || (strcmp(line, "@") == 0)) break; + + s1 = (char *) space(strlen(line)+1); + (void) sscanf(line,"%s",s1); free(line); + + if ((line = get_line(stdin))==NULL) break; + /* skip comment lines and get filenames */ + while ((*line=='*')||(*line=='\0')||(*line=='>')) { + printf("%s\n", line); free(line); + if ((line = get_line(stdin))==NULL) break; + } + if ((line ==NULL) || (strcmp(line, "@") == 0)) break; + + s2 = (char *) space(strlen(line)+1); + (void) sscanf(line,"%s",s2); free(line); + + + /* get force_binding strings */ + if (!all_pairs) + { + if ((line = get_line(stdin))==NULL) break; + (void) sscanf(line,"%s",tmp_string); free(line); + parse_mapping_array (&array_i, &array_size_i, tmp_string); + + if ((line = get_line(stdin))==NULL) break; + (void) sscanf(line,"%s",tmp_string); free(line); + parse_mapping_array (&array_j, &array_size_j, tmp_string); + } + + for (l = 0; l < strlen(s1); l++) { + s1[l] = toupper(s1[l]); + if (!noconv && s1[l] == 'T') s1[l] = 'U'; + } + for (l = 0; l < strlen(s2); l++) { + s2[l] = toupper(s2[l]); + if (!noconv && s2[l] == 'T') s2[l] = 'U'; + } + if (istty) + printf("lengths = %d,%d\n", strlen(s1), strlen(s2)); + + /* initialize_fold(length); */ + update_fold_params(); + if (delta>=0) { + duplexT *sub; + subopt = duplex_subopt(s1, s2, delta, 0); + for (sub=subopt; sub->i >0; sub++) { + print_struc(sub); + free(sub->structure); + } + free(subopt); + } + else { + mfe = duplexfold(s1, s2); + + /* print_struc(&mfe); */ + + l1 = strchr(mfe.structure, '&') - mfe.structure; + l2 = strlen(mfe.structure) - l1 - 1; + + printf ("%s\t%d\t%d\t%d\t%d\t%d\t%d\t%5.2f\t%5.2f\t%5.2f\n", + mfe.structure, + mfe.i+1-l1, + mfe.i, + mfe.j, + mfe.j+l2-1, + l1, + l2, + mfe.energy, (float) (E5p) / 100., (float) (E3p) / 100.); + + + free(mfe.structure); + } + (void) fflush(stdout); + + (void) fflush(stdout); + free(s1); free(s2); + } while (1); + return 0; +} + +static void print_struc(duplexT const *dup) { + int l1; + l1 = strchr(dup->structure, '&')-dup->structure; + + + printf("%s %3d,%-3d : %3d,%-3d (%5.2f)\n", dup->structure, dup->i+1-l1, + dup->i, dup->j, dup->j+strlen(dup->structure)-l1-2, dup->energy); +} + +static void usage(void) +{ + nrerror("usage:\n" + "RNAduplex [-e range] [-s]\n" + " [-T temp] [-4] [-d] [-noGU] [-noCloseGU]\n" + " [-noLP] [-P paramfile] [-nsp pairs] [-noconv]\n"); +} + +void parse_mapping_array (int **map_array, int *array_size, char *arguments_string) +{ + char *p; + int value; + int cur_array_size = 0; + + if (*map_array) free (*map_array); + + *map_array = (int *) space(sizeof(int) * (50)); + + p = strtok (arguments_string,","); + while (p != NULL) + { + value = atoi (p); + /* printf ("position %i: string=%s, value=%i\n", cur_array_size, p, value); */ + (*map_array)[cur_array_size++] = value; + p = strtok (NULL, ","); + } + + *array_size = cur_array_size; +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAduplex.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAduplex.o new file mode 100755 index 0000000000000000000000000000000000000000..026b1f4c545f8af981c5d102e0e978253ff8bfa6 GIT binary patch literal 27576 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 V>sgkOi)HLD%ZRhT%#RqR{{t`2C5Qk3 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAeval b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAeval new file mode 100755 index 0000000000000000000000000000000000000000..f70c774c0fbcde409fc1c88f007a738ee6812cee GIT binary patch literal 566364 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

      {9XaEOT35Tfb%))60yy=hM#jSXL{y-<}jYq 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 */ +/* + + Calculate Energy of given Sequences and Structures + c Ivo L Hofacker + Vienna RNA Pckage +*/ +#include +#include +#include +#include +#include +#include +#include +#include "fold_vars.h" +#include "fold.h" +#include "utils.h" +#ifdef __GNUC__ +#define UNUSED __attribute__ ((unused)) +#else +#define UNUSED +#endif + +/*@unused@*/ +static char UNUSED rcsid[]="$Id: RNAeval.c,v 1.8 2001/08/23 08:31:13 ivo Exp $"; + +#define PUBLIC +#define PRIVATE static + +static char scale[] = "....,....1....,....2....,....3....,....4" + "....,....5....,....6....,....7....,....8"; + +PRIVATE char *costring(char *string); +PRIVATE char *tokenize(char *line); +PRIVATE void usage(void); +extern int logML; +extern int cut_point; +extern int eos_debug; +extern void read_parameter_file(const char fname[]); + +int main(int argc, char *argv[]) +{ + char *line, *string, *structure; + char fname[12]; + char *ParamFile=NULL; + int i, l, length1, length2; + float energy; + int istty; + int noconv=0; + + string=NULL; + for (i=1; i')) { + if (*line=='>') + (void) sscanf(line, ">%s", fname); + printf("%s\n", line); + free(line); + if ((line = get_line(stdin))==NULL) break; + } + + if (line==NULL) break; + if (strcmp(line, "@") == 0) {free(line); break;} + + string = tokenize(line); + free(line); + length2 = (int) strlen(string); + + if ((line = get_line(stdin))==NULL) break; + /* skip comment lines */ + while ((*line=='*')||(*line=='\0')||(*line=='>')) { + printf("%s\n", line); + free(line); + if ((line = get_line(stdin))==NULL) break; + } + if (line==NULL) break; + if (strcmp(line, "@") == 0) {free(line); break;} + + structure = tokenize(line); + free(line); + length1 = (int) strlen(structure); + + if(length1!=length2) + nrerror("Sequence and Structure have unequal length."); + + for (l = 0; l < length1; l++) { + string[l] = toupper((int)string[l]); + if (!noconv && string[l] == 'T') string[l] = 'U'; + } + + if (istty) { + if (cut_point == -1) + printf("length = %d\n", length1); + else + printf("length1 = %d\nlength2 = %d\n", + cut_point-1, length1-cut_point+1); + } + + energy = energy_of_struct(string, structure); + if (cut_point == -1) + printf("%s\n%s", string, structure); + else { + char *pstring, *pstruct; + pstring = costring(string); + pstruct = costring(structure); + printf("%s\n%s", pstring, pstruct); + free(pstring); + free(pstruct); + } + if (istty) + printf("\n energy = %6.2f\n", energy); + else + printf(" (%6.2f)\n", energy); + + free(string); + free(structure); + (void) fflush(stdout); + } while (1); + return 0; +} + +PRIVATE char *tokenize(char *line) +{ + char *token, *copy, *ctmp; + int cut = -1; + + copy = (char *) space(strlen(line)+1); + ctmp = (char *) space(strlen(line)+1); + (void) sscanf(line, "%s", copy); + ctmp[0] = '\0'; + token = strtok(copy, "&"); + cut = strlen(token)+1; + while (token) { + strcat(ctmp, token); + token = strtok(NULL, "&"); + } + if (cut > strlen(ctmp)) cut = -1; + if (cut > -1) { + if (cut_point==-1) cut_point = cut; + else if (cut_point != cut) { + fprintf(stderr,"cut_point = %d cut = %d\n", cut_point, cut); + nrerror("Sequence and Structure have different cut points."); + } + } + free(copy); + + return ctmp; +} + +PRIVATE char *costring(char *string) +{ + char *ctmp; + int len; + + len = strlen(string); + ctmp = (char *)space((len+2) * sizeof(char)); + /* first sequence */ + (void) strncpy(ctmp, string, cut_point-1); + /* spacer */ + ctmp[cut_point-1] = '&'; + /* second sequence */ + (void) strcat(ctmp, string+cut_point-1); + + return ctmp; +} + +PRIVATE void usage(void) +{ + nrerror("usage: RNAeval [-T temp] [-4] [-d[0|1|2]] [-e e_set] [-logML] [-P paramfile]"); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAeval.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAeval.o new file mode 100755 index 0000000000000000000000000000000000000000..62589174580722be405a789feb1168eb050857bf GIT binary patch literal 23000 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

      o9?i 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 X%f8GH%jkn;%md4abH6#yh++9ZTMs;= literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAfold b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAfold new file mode 100755 index 0000000000000000000000000000000000000000..4245295d400a2132e7196bda3d5097496d45fea8 GIT binary patch literal 689189 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 z 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 4JreoGxni$ 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%0D_Z|IDwPGkY*Y^Ck&%%RI%g^F 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 */ +/* + Ineractive Access to folding Routines + + c Ivo L Hofacker + Vienna RNA package +*/ + +#include +#include +#include +#include +#include +#include +#include "fold.h" +#include "part_func.h" +#include "fold_vars.h" +#include "PS_dot.h" +#include "utils.h" +extern void read_parameter_file(const char fname[]); +extern float circfold(const char *string, char *structure); +/*@unused@*/ +static char rcsid[] = "$Id: RNAfold.c,v 1.18 2005/10/30 20:07:12 ivo Exp $"; + +#define PRIVATE static + +static char scale1[] = "....,....1....,....2....,....3....,....4"; +static char scale2[] = "....,....5....,....6....,....7....,....8"; + +PRIVATE void usage(void); + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char *argv[]) +{ + char *string, *line; + char *structure=NULL, *cstruc=NULL; + char fname[13], ffname[20], gfname[20]; + char *ParamFile=NULL; + char *ns_bases=NULL, *c; + int i, length, l, sym, r; + double energy, min_en; + double kT, sfact=1.07; + int pf=0, istty; + int noconv=0; + int circ=0; + + do_backtrack = 1; + string=NULL; + for (i=1; i : base i is paired with a base j>i\n"); + printf("matching brackets ( ): base i pairs base j\n"); + } + + do { /* main loop: continue until end of file */ + if (istty) { + printf("\nInput string (upper or lower case); @ to quit\n"); + printf("%s%s\n", scale1, scale2); + } + fname[0]='\0'; + if ((line = get_line(stdin))==NULL) break; + + /* skip comment lines and get filenames */ + while ((*line=='*')||(*line=='\0')||(*line=='>')) { + if (*line=='>') + (void) sscanf(line, ">%12s", fname); + printf("%s\n", line); + free(line); + if ((line = get_line(stdin))==NULL) break; + } + + if ((line ==NULL) || (strcmp(line, "@") == 0)) break; + + string = (char *) space(strlen(line)+1); + (void) sscanf(line,"%s",string); + free(line); + length = (int) strlen(string); + + structure = (char *) space((unsigned) length+1); + if (fold_constrained) { + cstruc = get_line(stdin); + if (cstruc!=NULL) + strncpy(structure, cstruc, length); + else + fprintf(stderr, "constraints missing\n"); + } + for (l = 0; l < length; l++) { + string[l] = toupper(string[l]); + if (!noconv && string[l] == 'T') string[l] = 'U'; + } + if (istty) + printf("length = %d\n", length); + + /* initialize_fold(length); */ + if (circ) + min_en = circfold(string, structure); + else + min_en = fold(string, structure); + printf("%s\n%s", string, structure); + if (istty) + printf("\n minimum free energy = %6.2f kcal/mol\n", min_en); + else + printf(" (%6.2f)\n", min_en); + + (void) fflush(stdout); + + if (fname[0]!='\0') { + strcpy(ffname, fname); + strcat(ffname, "_ss.ps"); + strcpy(gfname, fname); + strcat(gfname, "_ss.g"); + } else { + strcpy(ffname, "rna.ps"); + strcpy(gfname, "rna.g"); + } + if (length<2000) + (void) PS_rna_plot(string, structure, ffname); + else { + struct bond *bp; + fprintf(stderr,"INFO: structure too long, not doing xy_plot\n"); + + /* free mfe arrays but preserve base_pair for PS_dot_plot */ + bp = base_pair; base_pair = space(16); + free_arrays(); /* free's base_pair */ + base_pair = bp; + } + if (pf) { + if (circ) + nrerror("Currently no partition function for circular RNAs. Please implement it!"); + if (dangles==1) { + dangles=2; /* recompute with dangles as in pf_fold() */ + min_en = energy_of_struct(string, structure); + dangles=1; + } + + kT = (temperature+273.15)*1.98717/1000.; /* in Kcal */ + pf_scale = exp(-(sfact*min_en)/kT/length); + if (length>2000) fprintf(stderr, "scaling factor %f\n", pf_scale); + + init_pf_fold(length); + + if (cstruc!=NULL) + strncpy(structure, cstruc, length+1); + energy = pf_fold(string, structure); + + if (do_backtrack) { + printf("%s", structure); + if (!istty) printf(" [%6.2f]\n", energy); + else printf("\n"); + } + if ((istty)||(!do_backtrack)) + printf(" free energy of ensemble = %6.2f kcal/mol\n", energy); + printf(" frequency of mfe structure in ensemble %g; ", + exp((energy-min_en)/kT)); + if (do_backtrack) { + printf("ensemble diversity %-6.2f", mean_bp_dist(length)); + if (fname[0]!='\0') { + strcpy(ffname, fname); + strcat(ffname, "_dp.ps"); + } else strcpy(ffname, "dot.ps"); + (void) PS_dot_plot(string, ffname); + } + printf("\n"); + free_pf_arrays(); + + } + if (cstruc!=NULL) free(cstruc); + if (length>=2000) free(base_pair); + (void) fflush(stdout); + free(string); + free(structure); + } while (1); + return 0; +} + +PRIVATE void usage(void) +{ + nrerror("usage:\n" + "RNAfold [-p[0]] [-C] [-T temp] [-4] [-d[2|3]] [-noGU] [-noCloseGU]\n" + " [-noLP] [-e e_set] [-P paramfile] [-nsp pairs] [-S scale]\n" + " [-noconv] [-circ] \n"); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAfold.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAfold.o new file mode 100755 index 0000000000000000000000000000000000000000..22fadda5d179470f129d0728477bc5fcd93e4f47 GIT binary patch literal 26944 zcmeHve|%KcweOysfJ2Cx00B{{4w5J+1>Ctlw_swi?4}ikRHHG zG`b!BRb3s}cV_noSMEFG(@Sc~2CEus%1%_(*OYx!wRCaMAM1PmyY5L;AGqPeyWuwX zuZKopTM6}47nUEYE}Vn_+$Yk#0Ph=49+(6|(d~l==6>+4l}o~}UD}&{q^o>J$H%^> zD?K;$&%Wu4dF$r%^bHn1hw@mfR3q2bnI+QC1-5o(J%Mal-_v;O$IIaJ>4*C-7=!|f z!Tt^Z+S^)K(EU+5ulH+M-~E=a`=XPCxUBm`+PkFZ&$7{F-5>cj-wL(QOomI@TM{fA z4D?86s=B@FK&auM`M`UkeN#96YckH_NwoLLmGS z;e!Xd2e%Y>(&s^&ipvMnQyh5`ZWz?1L3TSRl09_X8|b|V4TgA2b9xTRTX&zY`^T0L z)ykb3@aH@G%lc}%Px!vm*S+7@y$~vq>z)Y2!OewTsDyM$4T0{yK+gf+W-mm+x7XYC z<+;8)_iui|cW2+I!w-7WXLNmev2XL0;8>vNH>v^MKX@GCDQjn8ZTDMI;C-9>WKgV| z`YU~#FMvM5!p#o@#?7~OdZZdTMuDFFfu84}s;qB_?m*9R$%AlJ&$E)O?j4V&FYbA+ zru$W2_t!vW*<00f-}Bu%8@iV+{t1Zc-s-}F8tn9iY$0HnSk>pg<$Yy+OM3ng==oS? z^=G~@)rC`~Zfw1|2jru^v4F|yeVDY$C>420cm1TW3vl7G`FV? zRu@JQt7NQtwWzw`t5-0x+rAF!16x-Xu2MDydft=@dp8tL>K^oMu7K`((~z1lRCB<$ zo8)MFe4FP317<;QLVQ-`JNIXw`Iafh_YJyVLwE4UuRQq7_YHX3qP~K@sPAf)g4)k~ z*Zfp=E1mZSAXr|o@Gw|N+3nkQ1;|(T{9cM();*XWSG9F%p=U|Y-<3vUT(z&}lYtTt@$FsU8R!Gz(%#ueWH*mPB8aa(-{tFm{V#)qkY)v#p#v`h zBPUCk1by8(;PTd*!MR6$o9_a0@PKqE5I(TDciywoFLDV3xec23p9YtKU&Do(T_KwV zV9d*@*$0QHsz6nR4_wwe``Ljjp^Y=W56rh&uu2Tf0#?q_Fyo`0I7j<7e+^K3p4QD7 zu%PCO-rOV7Ugc__=k+SNnpEvWl}mbl{`syYJ%`|~0N;1_`~Fv7`TpvjqrMuMcR|SIQt&vc0Fgk?q3Rxqe7>urfL#9@_%L_? z)}y}cuQ-qN&hOZK$E12D^Ocyr);VAjFxY4sm`ym)Jer}8lm z&i4afec>2$`*33h?#FtZ_5xcUE$jjTUI*+u<6AcrRvxO(UKLEGa6+}RaYD65k`Gub z4F-`)63K@7bzldWRo(Nx^q(KsKf?g%&ls$6i+c|FHqU}cEe;_VU|^piI`9%k z_l9S2`%>1oqOodaRb$mPRlx)OpPqmR<%|Cw9K=;bEg{k%x%9jU;u)v7fiJ;6vPBNG zv#t!>B~4c|t+d~%bJm&PV9YRpxY#r&(nA)TK+msvQX3cmZB7;pJPD5VUxYS)Xy=c5 zTp=Y@P;t_Bo?x{e4s3^Z&g?pHzBFIX@lW7Z%}BO^P8i?*U;YU)R_+f6-p0f_=K=4SyrcJ>fv5zJ5s z3C?R7i(MfFvwnfY3tLTSa+17xyz-W%xNHJPDsV)0ES?tGBUFPCQpLz^F=(yG?MSN1 zlSX*&V8%0YItSLgVV?0|Wi(6@^9ZPJ!V#g6XQLzQY`V~8# z*r|%0Ky0aEPa(Eku@i}{RP1TQ1{8Zbv9*ewMC>xfp5eIx+{l`;O0j;=Es||f>{;Yd zyJF8KHm%sHo_6VAr(&mj76NNc>GCLkhG(hdZzR6hvlVn(Q*I)Drsp2XZz29d&o`y~ zcH*l%RkHqW;^z~8AMw@F8f(gf#4q&RFXbQhh!Ng-Kzc6$eWSdPju8GmBhgVT6G!ZY z=LDd~loSB(kRDgQ~AXyAj^+1D}fqV+x#nGh7f|06^~l(b4lLSty}Y zvU#°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 J)`J+9{{f$AjVk~E literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAheat b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAheat new file mode 100755 index 0000000000000000000000000000000000000000..8c671ca6ed04d4ff66b176307c3f56cf5a671fa3 GIT binary patch literal 611758 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 QiLw(?Fy-P^1aAia0Nv|H{Qv*} literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAheat.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAheat.c new file mode 100755 index 00000000..f00a6351 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAheat.c @@ -0,0 +1,242 @@ +/* + Heat Capacity of RNA molecule + + c Ivo Hofacker and Peter Stadler + Vienna RNA package + + + calculates specific heat using C = - T d^2/dT^2 G(T) +*/ + +#include +#include +#include +#include +#include +#include +#include "utils.h" +#include "fold_vars.h" +#include "fold.h" +#include "part_func.h" +extern void read_parameter_file(const char fname[]); + +#define PRIVATE static +#define PUBLIC +#define MAXWIDTH 201 +/*@unused@*/ +static char rcsid[] = "$Id: RNAheat.c,v 1.12 2000/09/28 11:23:14 ivo Rel $"; + +PRIVATE float F[MAXWIDTH]; +PRIVATE float ddiff(float f[], float h, int m); +PRIVATE void usage(void); + +#define GASCONST 1.98717 /* in [cal/K] */ +#define K0 273.15 + +PRIVATE void heat_capacity(char *string, float T_min, float T_max, + float h, int m) +{ + int length, i; + char *structure; + float hc, kT, min_en; + + length = (int) strlen(string); + + do_backtrack = 0; + + temperature = T_min -m*h; + initialize_fold(length); + structure = (char *) space((unsigned) length+1); + min_en = fold(string, structure); + free(structure); free_arrays(); + kT = (temperature+K0)*GASCONST/1000; /* in kcal */ + pf_scale = exp(-(1.07*min_en)/kT/length ); + init_pf_fold(length); + + for (i=0; i<2*m+1; i++) { + F[i] = pf_fold(string, NULL); /* T_min -2h */ + temperature += h; + kT = (temperature+K0)*GASCONST/1000; + pf_scale=exp(-(F[i]/length +h*0.00727)/kT); /* try to extrapolate F */ + update_pf_params(length); + } + while (temperature <= (T_max+m*h+h)) { + + hc = - ddiff(F,h,m)* (temperature +K0 - m*h -h); + printf("%g %g\n", (temperature-m*h-h), hc); + + for (i=0; i<2*m; i++) + F[i] = F[i+1]; + F[2*m] = pf_fold(string, NULL); + temperature += h; + kT = (temperature+K0)*GASCONST/1000; + pf_scale=exp(-(F[i]/length +h*0.00727)/kT); + update_pf_params(length); + } + free_pf_arrays(); +} + +/* ------------------------------------------------------------------------- */ + +PRIVATE float ddiff(float f[], float h, int m) +{ + float fp; + int i; + float A, B; + A = (float)(m*(m+1)*(2*m+1)/3 ); /* 2*sum(x^2) */ + B = (float)(m*(m+1)*(2*m+1) ) * (float)(3*m*m+3*m-1) /15.; /* 2*sum(x^4) */ + + fp=0.; + for (i=0; i<2*m+1; i++) + fp += f[i]*( A - (float) ( (2*m+1)*(i-m)*(i-m)) ); + + fp /= ( ( A*A - B*( (float)(2*m+1) ) )*h*h/2. ); + return (float)fp; + +} + +/* ------------------------------------------------------------------------- */ + +static char scale1[] = "....,....1....,....2....,....3....,....4"; +static char scale2[] = "....,....5....,....6....,....7....,....8"; + +/*---------------------------------------------------------------------------*/ + +int main(int argc, char *argv[]) +{ + char *string, *line; + char *ns_bases=NULL, *c; + char *ParamFile=NULL; + int i, length, l, sym; + float T_min, T_max, h; + int mpoints; + int istty; + int noconv = 0; + + T_min=0.; T_max=100.; h=1; mpoints=2; + string=NULL; + dangles = 2; /* dangles can be 0 (no dangles) or 2, default is 2 */ + + for (i=1; i100) mpoints=100; + break; + case 'd': dangles=0; + break; + case 'P': + if (i==argc-1) usage(); + else + ParamFile= argv[++i]; + break; + default: usage(); + } + } + + if (ParamFile!=NULL) + read_parameter_file(ParamFile); + + if (ns_bases!=NULL) { + nonstandards = space(33); + c=ns_bases; + i=sym=0; + if (*c=='-') { + sym=1; c++; + } + while (*c!='\0') { + if (*c!=',') { + nonstandards[i++]=*c++; + nonstandards[i++]=*c; + if ((sym)&&(*c!=*(c-1))) { + nonstandards[i++]=*c; + nonstandards[i++]=*(c-1); + } + } + c++; + } + } + + istty = isatty(fileno(stdout))&&isatty(fileno(stdin)); + + do { + if (istty) { + printf("\nInput string (upper or lower case); @ to quit\n"); + printf("%s%s\n", scale1, scale2); + } + + if ((line = get_line(stdin))==NULL) break; + + /* skip comment lines and get filenames */ + while ((*line=='*')||(*line=='\0')||(*line=='>')) { + printf("%s\n", line); + free(line); + if ((line = get_line(stdin))==NULL) break; + } + if (line==NULL) break; + if (strcmp(line, "@") == 0) {free(line); break;} + + string = (char *) space(strlen(line)+1); + (void) sscanf(line,"%s",string); + free(line); + length = (int) strlen(string); + + for (l = 0; l < length; l++) { + string[l] = toupper(string[l]); + if (!noconv && string[l] == 'T') string[l] = 'U'; + } + + if (istty) + printf("length = %d\n", length); + + heat_capacity(string, T_min, T_max, h, mpoints); + free(string); + (void) fflush(stdout); + } while (1); + return 0; +} + +PRIVATE void usage(void) +{ + nrerror("usage: RNAheat [-Tmin t1] [-Tmax t2] [-h stepsize] [-m ipoints] [-4] [-d]\n" + " [-noGU] [-noCloseGU] [-noLP] [-e 1|2] [-P paramfile] [-nsp pairs]"); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAheat.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAheat.o new file mode 100755 index 0000000000000000000000000000000000000000..399ead99ae9e870943eac521272515992b648136 GIT binary patch literal 24808 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 */ +#include +#include +#include +#include +#include +#include +#include "inverse.h" +#include "fold_vars.h" +#include "fold.h" +#include "part_func.h" +#include "utils.h" +#ifdef dmalloc +#include "/usr/local/include/dmalloc.h" +#define space(X) calloc(1,(X)) +#endif + +#define PUBLIC +#define PRIVATE static +/*@unused@*/ +static char rcsid[] = "$Id: RNAinverse.c,v 1.11 2000/09/28 12:59:21 ivo Rel $"; +static char scale[] = "....,....1....,....2....,....3....,....4" + "....,....5....,....6....,....7....,....8"; + +#define REPEAT_DEFAULT 100 +#define INFINITY 100000 + +extern void read_parameter_file(const char fname[]); + +PRIVATE void usage(void); +extern int inv_verbose; + +int main(int argc, char *argv[]) +{ + char *start, *structure, *rstart, *str2, *line; + char *ParamFile=NULL; + int i,j, length, l, hd; + double energy=0., kT; + int pf, mfe, istty; + int repeat, found; + + do_backtrack = 0; pf = 0; mfe = 1; + repeat = 0; + init_rand(); + for (i=1; i')) { + printf("%s\n", line); + free(line); + if ((line = get_line(stdin))==NULL) break; + } + /* stop at eof or '@' */ + if (line==NULL) break; + if (strcmp(line, "@") == 0) {free(line); break;} + + structure = (char *) space(strlen(line)+1); + (void) sscanf(line,"%s",structure); /* scanf gets rid of trailing junk */ + free(line); + + length = (int) strlen(structure); + str2 = (char *) space((unsigned)length+1); + + if ((line = get_line(stdin))!=NULL) + if (strcmp(line, "@") == 0) {free(line); break;} + + start = (char *) space((unsigned) length+1); + if (line !=NULL) { + (void) strncpy(start, line, length); + free(line); + } + + if (istty) printf("length = %d\n", length); + + if (repeat!=0) found = (repeat>0)? repeat : (-repeat); + else found = 1; + + initialize_fold(length); + + rstart = (char *) space((unsigned)length+1); + while(found>0) { + char *string; + string = (char *) space((unsigned)length+1); + strcpy(string, start); + for (i=0; i=0) || (energy<=0.0) ) { + found--; + hd = hamming(rstart, string); + printf("%s %3d", string, hd); + if (energy>0) { /* no solution found */ + printf(" d= %g\n", energy); + if(istty) { + energy = fold(string,str2); + printf("%s\n", str2); + } + } else printf("\n"); + } + } + if (pf) { + if (!(mfe && give_up && (energy>0))) { + /* unless we gave up in the mfe part */ + double prob, min_en, sfact=1.07; + + /* get a reasonable pf_scale */ + min_en = fold(string,str2); + pf_scale = exp(-(sfact*min_en)/kT/length); + init_pf_fold(length); + + energy = inverse_pf_fold(string, structure); + prob = exp(-energy/kT); + hd = hamming(rstart, string); + printf("%s %3d (%g)\n", string, hd, prob); + free_pf_arrays(); + } + if (!mfe) found--; + } + (void) fflush(stdout); + free(string); + } + free(rstart); + free_arrays(); + + free(structure); + free(str2); + free(start); + (void) fflush(stdout); + } while (1); + return 0; +} + + +PRIVATE void usage(void) +{ + nrerror("usage: RNAinverse [-F[mp]] [-a ALPHABET] [-R [repeats]] [-f final]\n" + " [-T temp] [-4] [-d[2]] [-noGU] [-P paramfile] [-e e_set] [-v]"); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAinverse.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAinverse.o new file mode 100755 index 0000000000000000000000000000000000000000..82a01b113041603e29e1850a32d891e81a5fa31e GIT binary patch literal 22160 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAmotif_distance.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAmotif_distance.c new file mode 100755 index 00000000..46223bc7 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAmotif_distance.c @@ -0,0 +1,251 @@ +/************************************************************************/ +/* Distances of Secondary Structures */ +/************************************************************************/ + + +#include +#include +#include +#include +#include +#include +#include "dist_vars.h" +#include "RNAstruct.h" +#include "treedist.h" +#include "stringdist.h" +#include "utils.h" + + +#define MAXNUM 1000 /* max number of structs for distance matrix */ +#define PRIVATE static +#define PUBLIC + + + +PRIVATE void usage(void); +PRIVATE int parse_input(char *line); + + + +PRIVATE int types = 1; /* number of distance types */ +PRIVATE char ttype[10] = "f"; /* distance types */ +PRIVATE int n = 0; /* number of structures read so far */ + + +int main(int argc, char *argv[]) +{ + int tree_types = 0, ttree; + int string_types = 0, tstr; + char *line=NULL, *xstruc, *cc; + int i, j, tt, type; + int it, is; + float dist; + int comp_to_first = 0; + int max = MAXNUM; + + + edit_backtrack = 0; + + /* reading parameters */ + for (i = 1; i < argc; i++) { + if (argv[i][0] == '-') { + if (argv[i][1] == 'D') { + strncpy(ttype, argv[i]+2, 9); + types = (int)strlen(ttype); + } + else if (argv[i][1] == 'F') + comp_to_first = 1; + else if (argv[i][1] == 'M') { + max = atoi(argv[i+1]) + 10; + i++; + } + else + usage(); + } + else + usage(); + } + + Tree *T[5][max]; + swString *S[5][max]; + char *P[max]; /* structures for base pair distances */ + + /* reading sequences from stdin and calculating distances */ + line = get_line(stdin); + type = parse_input(line); + while (type != 999) { + + while (type == 0) { + if (line != NULL) + free(line); + + line = get_line(stdin); + type = parse_input(line); + } + + tree_types = 0; + string_types = 0; + for(tt = 0; tt < types; tt++) { + + switch(ttype[tt]){ + case 'f' : + case 'F' : + xstruc = expand_Full(line); + if(islower(ttype[tt])) /* tree_edit */ + T[tree_types++][n] = make_tree(xstruc); + if(isupper(ttype[tt])) /* string edit */ + S[string_types++][n] = Make_swString(xstruc); + free(xstruc); + break; + + case 'P': + P[n] = strdup(line); + break; + + case 'h' : + case 'H' : + xstruc = b2HIT(line); + if(islower(ttype[tt])) + T[tree_types++][n] = make_tree(xstruc); + if(isupper(ttype[tt])) + S[string_types++][n] = Make_swString(xstruc); + free(xstruc); + break; + + case 'c' : + case 'C' : + cc = b2C(line); + xstruc = expand_Shapiro(cc); + free(cc); + if(islower(ttype[tt])) + T[tree_types++][n] = make_tree(xstruc); + if(isupper(ttype[tt])) + S[string_types++][n] = Make_swString(xstruc); + free(xstruc); + break; + + case 'w' : + case 'W' : + xstruc = b2Shapiro(line); + if(islower(ttype[tt])) + T[tree_types++][n] = make_tree(xstruc); + if(isupper(ttype[tt])) + S[string_types++][n] = Make_swString(xstruc); + free(xstruc); + break; + + default: + nrerror("Unknown distance type"); + } + } + n++; + + if (n >= 2) { + it = 0; + is = 0; + if (comp_to_first) { + for (i=0; i < types; i++) { + if(islower(ttype[i])) { + dist = tree_edit_distance(T[it][0], T[it][1]); + free_tree(T[it][1]); + it++; + } + else if (ttype[i]=='P') { + dist = (float)bp_distance(P[0], P[1]); + free(P[1]); + } + else /* isupper(ttype[i]) */ { + dist = string_edit_distance(S[is][0], S[is][1]); + free(S[is][1]); + is++; + } + printf("%c: %g \n", ttype[i], dist); + } + n = 1; + } + else { + for (i=0; i < types; i++) { + if(islower(ttype[i])) { + dist = tree_edit_distance(T[it][0], T[it][1]); + free_tree(T[it][0]); + free_tree(T[it][1]); + it++; + } + else if (ttype[i]=='P') { + dist = (float)bp_distance(P[0], P[1]); + free(P[0]); + free(P[1]); + } + else /* isupper(ttype[i]) */ { + dist = string_edit_distance(S[is][0], S[is][1]); + free(S[is][0]); + free(S[is][1]); + is++; + } + printf("%c: %g \n", ttype[i], dist); + } + n = 0; + } + } + fflush(stdout); + + free(line); + line = get_line(stdin); + type = parse_input(line); + } + + if (comp_to_first) { + it = 0; + is = 0; + for (i=0; i < types; i++) { + if(islower(ttype[i])) + free_tree(T[it++][0]); + else if (ttype[i]=='P') + free(P[0]); + else /* isupper(ttype[i]) */ + free(S[is++][1]); + } + } + + return 0; +} + +/*--------------------------------------------------------------------------*/ + +PRIVATE int parse_input(char *line) +{ + int i,o; + + if (line == NULL) + return 999; + + i=o=0; + while( line[i] ){ + switch(line[i]) { + case '(' : + o++; + i++; + break; + case '.' : + i++; + break; + case ')' : + i++; + o--; + if(o<0) return 0; + break; + default: + return 0; + } + } + if (o>0) + return 0; + return 1; +} + +/*--------------------------------------------------------------------------*/ + +PRIVATE void usage(void) +{ + nrerror("usage: RNAmotif_distance [-D[fhwcFHWCP]] [-F] [-M ]"); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAmotif_distance.c~ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAmotif_distance.c~ new file mode 100755 index 00000000..40022eb9 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAmotif_distance.c~ @@ -0,0 +1,548 @@ +/* + Distances of Secondary Structures + Walter Fontana, Ivo L Hofacker, Peter F Stadler + Vienna RNA Package +*/ +#include +#include +#include +#include +#include +#include +#include "dist_vars.h" +#include "RNAstruct.h" +#include "treedist.h" +#include "stringdist.h" +#include "utils.h" + +#define MAXNUM 1000 /* max number of structs for distance matrix */ + +#define PUBLIC +#define PRIVATE static +/*@unused@*/ +static char rcsid[] = "$Id: RNAdistance.c,v 1.8 2005/07/24 08:35:15 ivo Exp $"; +PRIVATE void command_line(int argc, char *argv[]); +PRIVATE void usage(void); +PRIVATE int parse_input(char *line); +PRIVATE int check_tree(char *line, char alpha[]); +PRIVATE int check_brackets(char *line); +PRIVATE void print_aligned_lines(FILE *somewhere); + +PRIVATE char ruler[] ="....,....1....,....2....,....3....,....4" +"....,....5....,....6....,....7....,....8"; +PRIVATE int types=1; +PRIVATE int task; +PRIVATE int taxa_list; +PRIVATE char outfile[50], *list_title; + +PRIVATE char ttype[10]="f"; +PRIVATE int n=0; + +int main(int argc, char *argv[]) +{ + char *line=NULL, *xstruc, *cc; + Tree *T[10][MAXNUM]; + int tree_types = 0, ttree; + swString *S[10][MAXNUM]; + char *P[MAXNUM]; /* structures for base pair distances */ + int string_types = 0, tstr; + int i,j, tt, istty, type; + int it, is; + FILE *somewhere=NULL; + + command_line(argc, argv); + + if((outfile[0]=='\0')&&(task==2)&&(edit_backtrack)) + strcpy(outfile,"backtrack.file"); + if(outfile[0]!='\0') somewhere = fopen(outfile,"w"); + if (somewhere==NULL) somewhere = stdout; + istty = isatty(fileno(stdin))&&isatty(fileno(stdout)); + + do { + if ((istty)&&(n==0)) { + printf("\nInput structure; @ to quit\n"); + printf("%s\n", ruler); + } + do { + if (line!=NULL) free(line); + line=get_line(stdin); + } while ((type=parse_input(line))==0); + + if (((type==999)||(type==888))&&(task==2)) { /* do matrices */ + if (taxa_list) + printf("* END of taxa list\n"); + + ttree = 0; tstr = 0; + for (tt=0; tt< types; tt++) { + printf("> %c %d\n", ttype[tt], n); + if(islower(ttype[tt])) { + for (i=1; i1) { + for (it=0, is=0, i=0; i1) { + for (it=0, is=0, i=0; i') { + if (taxa_list) + printf("%d :%s\n", n+1, line+1); + else printf("%s\n", line); + return 0; + } + + cp = strchr(line,' '); + if (cp) *cp='\0'; /* get rid of junk at the end of line */ + + switch (line[0]) { + case '.' : + type = 1; + break; + + case '(' : /* it's a tree */ + i=1; + xx = 0; + type = 4; /* coarse */ + rooted = 0; + while (line[i]) { + if (line[i]=='.'){ + type = 1; /* Full */ + break; + } + if ( (line[i]=='U')||(line[i]=='P') ) { + type = 2; /* FFull */ + xx = 1; + break; + } + if (line[i]=='S') { + type = 3; + xx = 1; + break; /* Shapiro tree */ + } + if ((line[i]!='(')&&(line[i]!=')')) xx = 1; + i++; + } + if(!xx) type =1; + + rooted = (line[strlen(line)-2]=='R'); + break; + case '@' : + return 999; + + default: + return 0; + } + + switch (type) { + case 1: + if(check_brackets(line)) + return 1; + break; + case 2: + if(check_tree(line,"UP") ) { + if(rooted) return 2; + else return -2; + } + break; + case 3: + if(check_tree(line,"HBIMSE") ){ + if(rooted) return -3; + else return -3; + } + break; + case 4: + if(check_tree(line,"HBIM") ){ + if(rooted) return 4; + else return -4; + } + break; + } + return 0; +} + +/*--------------------------------------------------------------------------*/ + + +PRIVATE int check_tree(char *line, char alpha[]) +{ + int n, i, o; + char *pos; + + n = (int) strlen(line); + + if( line[0] != '(' ) return 0; + i=o=1; + while( line[i] ){ + while( line[i] == '(' ){ + o++; + i++; + } + pos=strchr(alpha, (int)line[i]); + if (pos) { + while (isdigit((int) line[++i])); + if (line[i]!=')') return 0; + } + if (line[i]=='R') { + i++; + if ((i!=n-1)||(line[i]!=')')) return 0; + } + if (line[i]==')') { + o--; + if(o< 0) return 0; + if( (i0) return 0; + return 1; +} + +/*--------------------------------------------------------------------------*/ + + +PRIVATE int check_brackets(char *line) +{ + int i,o; + + i=o=0; + while( line[i] ){ + switch(line[i]) { + case '(' : + o++; + i++; + break; + case '.' : + i++; + break; + case ')' : + i++; + o--; + if(o<0) return 0; + break; + default: + return 0; + } + } + if (o>0) return 0; + return 1; +} + +/*--------------------------------------------------------------------------*/ + + +PRIVATE void command_line(int argc, char *argv[]) +{ + int i; + + edit_backtrack = 0; + types=1; ttype[0]='f'; task=1; + + for (i=1; i= argc) outfile[0] = '\0'; + else if (argv[i+1][0]=='-') outfile[0] = '\0'; + else { + i++; + strncpy(outfile,argv[i],49); + } + edit_backtrack = 1; + break; + default: + usage(); + } + } +} + +/*--------------------------------------------------------------------------*/ + +PRIVATE void print_aligned_lines(FILE *somewhere) +{ + if (edit_backtrack) { + fprintf(somewhere, "\n%s\n%s\n", aligned_line[0], aligned_line[1]); + fflush(somewhere); + } +} + +/*--------------------------------------------------------------------------*/ + +PRIVATE void usage(void) +{ + nrerror("usage: RNAdistance [-D[fhwcFHWCP]] [-X[p|m|f|c]] [-S] [-B [file]]"); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAmotif_distance.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAmotif_distance.o new file mode 100755 index 0000000000000000000000000000000000000000..aeb26bc48ada9a63ace52ffca57e62b21f1e557f GIT binary patch literal 19216 zcmeI3dw5mVmB9D8C&3GZ+=TFwmsfcR2sea>O#qcZ0yh*i1%gxqm&?t~Ly~*LeL%1X zDFG#o!PNHaFdx-nI*+2ZQ~GtPj9Q9-B44FLEp4efHmf&KETSZ1C7mD#>j0o=O zJ@Sq%L@H2ny5!~d+eB(^$uZy2oYIb~Q&Y2d`a7;pN&9=B>pdQf9B*GxD$>6yIkxBY zj)M13)YtdGe;ro?skcgwoj8I{K|axYy!Z6Bmw~AEAEK{|cu;apu=CgDcb2ayKY9VY zme*8u{;qs=`Lo!2Rp-aSj(=|}FMI7&PPCw8XdjgsiOa?S2n>l=q(Ox$uSF-d-@d{e=~g4?f$S^W^f* z^xduwu`MM1&m|7I$2ovvqpsvEGT# zBdF@ye#ZOsAgIA)egMOV|D?l;?$$vUKL8g!az4s?Pf4ttf$i;wx`v~H-s2q~SvwYV ztvD$ocnR5_)2Z2&C2yCPo!nlbW&X})* z^ny}QdFb5J3e$5b+Wuj+Z}*d6wkq;^u&eSQ1Q_&vXWijo*MjrGuGD$2Qtzrc_`a{O z^2K1+_E!{wTwpixzVEKe7v_FI~JBdv&ebAMBbR>`JPre0LrTc74J7zHizw z*+XTg8Z`S3z7fc!gd9B1a=*dDz%c{n;1|3?r1BtSf|B#6W@0nUk;(*m&z^~Ua7=wO zVT8h&$b@nz6AGrK1x<9-Kw1(ohIukzNDHO}@(Z{$lNqIVugcxU*%(&uN!SB$on2h` z2Qbv#>Unw~NVIy@qLzX*+$k@bi^D;c*J4%Y3o1#Sd)j0ukKhT0`=GpZf?Y*0^Ur-y zu?S{<&(FaVUR-!R6SaJM_JG6XoxkUc<>HUQd{2M-m3v|O_hz-6`fe~%c`g_k2bRzj ztg6bxy+EuJG=s3IbmqLGbzTS7oX{-aZrr}W$k~2I&T2*uqLGWZzOuy!d(^rf&4ptg z*8C7<{?ClD=i;5v4-@A23wEA>?T=FaI%l8c%615$-6e!C!Giqr)6{OOD-L zUR%Dde0_Q7G)-#fiK@s+-;;ZB()ArCy$G)K)Y_`ZDF~6axJuaKwjZaxtoLMv+OO{W z>+BX%M{xpdX6ruOW%|C|9bRJ#VWK41`LJcr2L}6cK(=rAv_a> zoj-W+t%HTIq3TuDoDo3h4W2)^sz``jpBOAF1BxuG2(__Ah--!@rQE8bQn=N4QB8<} zlLdAf#1@1YOnP7g_3|vRf+|C<2hC#Wl8<)TsxKg&po<&xs)`D&q1Hm^RgmjMj8 z4#cVg^b8PUs3t;dQGk?h%;WyU(Clq_YE+J4=sH|84B`l|L?cJTBQv59qcUEExHi** z0gav`=0Lbu9W%}G{S3@UL9iPcIROX6B3j<>eJFgz1BDA8|imtvz5 zZ=eyiDseK2DJ4#^qH=(3N}O)Z2hpC;ZYg<&RVC$JBnPZrVB4P1LGmo?VJYt=dA`*u z^?OJzw=l!@g#9EhBKaW66*3xo!Xc8ESo@{^w=CiH=6Yv?Fc9Yp79~v1;Q=^METeLt zgvAEvDK&JVq$6tNUL`%Nrm{ffdT)b%x!#AMM;-=@CWm|h4FD|#katL@H_>9r1qj=M zT5R5&{5*IP9%dIw>vldZ6eanTl%u2qC8;>`_W% z1WK?3l{9jZl)Mlr`p@-Zf4Q#hQ6mB5-w%g8d%V&fqpVZku}Y$-#-XNXf>(_$Cr23> zzY3`DO*mk&&dV85Lgwh%>MfAXzu1LJHHA&W`Xw62GBi$twNk)U5A7d1*D#7$z`(Fa z;n_wuSQE24K|OhEvL>);60s+i5qPjBaqGy8s9GlXZIPmCxe?>WVu*#2h_IYS9M%-J zG3p)?3R5W!D+7*JVG}e?8^@}g`w*teltSWDlL4f}Tv81oU-R2e%2He4)YMpFg$ z@flDZTSoHON~ZzV7G^0A133==@!vN&$d-hrCs`mpHo^ES~2isRV?aM6-J=uOZ2+uOv&UIV~T$ic49+h(T z;e~HmN_a>U>|E5cES3B5C=8_OfG{5gpUz$|kS6H5eLyoxLu117_w6U}zT*)ONXsAR z4+8u0yMybn(9M!P03U^7KsKTU`QlW zbOPuV}*S(9Vg zm+$Mgx0C@p;3>186NvtB-vRsf8hch59_K#x#kHlS$)H`h(;j``pX>(jQhV6*_ImG| z4<|q4oxWtvqxNQR#P*fhn`>V1Of2wzeaV`y?}CPXc9Hk_ucU59oqa#IW1uv&%#Jxq z`_Aq1*0ru#V}Eg{cih77on5fT{*mx5ecUs*@K^TAGCNRaM<06}EZQSIH(PJnYdzDg z$30UD>=B+@tjF6+=dD4Z#WT;c69?@4GJBkNoPAt)=3B{m-%Q$rZVK94ygR+gwf4Q< zokzS0?<1apFz=A_bTZr!o#*d2t^T`bRNP(PxHYmQc<18kb?ZQ0f`=9U1+jF?t?NWh zY*Q@0HRk7a;KvyilOpr{lN$VfdCTKT{r~g-{R|9)5aC_2*AiA+LEbgq9$Xwykn80x z5=_n$K3!LadPF{o!H2W_g8My-hYYCLm-CPv?9Q!xaKO?IXk$Cs{EpRZ>3-*ET=%g9SW z!wR_mQ%ajhY>|&Hq#{pj>stgZQNz`1Y1S;UimOWqY<(qsWzK~)YE(5Ks8&$jQU`=BM(U!v-NWKf)L{T*}$t>01gY6fvoRZdXr`v-+j zD1FLj;i&=3COT(X2VF`-{D97usO9Rf9ki0G@D3ykXmOP%8RF*ZFCDFwT;*IqN3P;K z4i@Oh)z3MomaFv+TF=#lgKD|TNd#M5&E&I|tDILY#n(DlNG(@+g@P7WpK-KSa+N0p z2E^4@9j*1n_;?9rKApkVKU4M944O~V@_A=^)*q$n>lrkfro7Ub`dY63(bZ6^LdYEX zvXozb0b3%(Rh~I*dj89q#9FS7aS|Wm>Qo2S@+5xVK_RZzI><>Dj|x0;b)qxC5La(> zP_6nXA;f1L6v_-u)$XK_(@yBsT>WAOJxJBBWe`U&&awTedk5@a%Xua9GC{_Rfwu}| zW}G|`f9XWvRbK6<((mr@i+(Eo?$IN`tXh7j;F|gaY^g2brkM0K-D&dn z@y&DB2ZF#O<-p!Fyqo$w#y?d*oQgMzP_i+eNNr5l3t92wXT(s|9iirUWK$>w?_G(e zSVKs@Xh{y5p=hj5MC+PTp^f3lrc?qBvT19gDHWBC=~%LT#S?YWM5q~F^F%Tpg9iENAF6K-HzY-YL-?lxU8}8vOFm z$2f+HQKVbplmtKV`ub!PhEU(s9F4_Aa_cHN0ufF$M6@WCGIUNv!*$dZq-1!D8bKu9 z(i%#|!At@Igw9)p%0Z+toPg29;q7+m?KS?z{@H;!fw}%!GiS~%nKiS-KV>BhI~YzW zK4aEY=~Q}Yg^^>tDizv@IOo#4jI23YpK5_5HAlnskeNgjMy8^~HzlaIhU-eyX_kOo z>DdfzNrg8yN1aUIjG${LZ)ylUcAQL^R~bbphN_#Q+Y<3Oys6iRQ;pGtz}XaAqfHHs zDfO<0>mn6z7IK-W?v8nBC*EAg0pP29Ob&cW)$&Tw3h(sMP*bcGrnU{tq$4u3un=(( zVt&**!Z>i?y!Ox>EXaQEnDFU<7MmQGTE%^WkryB=B}j@0ff7a|m)R^)+!$|(7AL|R z!?C8~rO{YZw0KcdtawdRG!_ekt4wW1N#N$<>O>qC=W00}k#r&yi8rTPz*;QY29uJG zrIXRRS#k_`nW!~}ao;=#A{R>+FP`V00;^`~r!N{2NN#I^d4w}$TAmxZmWVco11WSF zs0*jUBCs);glcqSx*-(axG@pkA_7uJp{7`Uybq8UWFQg8&S<_QPzvpuSVHQG_32xm z2)Dp@9cez=7$Q+Qf-R$uZfkmD474FOEt+s59BV+P`t+3`7!ioYQ_%oqX$E{6f}JG* zmtsp4cBTJ?;s+bJiPF=KV{swX%$>Nv(NL8!aH6NKJ}rA^D)B6B?D)=!et4fBMcR{z z(}Olqcz-2DexKw9(-+=BP}S@|k@}nZrd$Gj=_bN1)Ga3z1RJini8-LD+g10=q znEh{qMl&YVUt6Yn?Ui5f;nOULXv)kV-m^`c*z*aRs6q7LhYX9Ui;r2^{J((%gTnKK z{?WJTKMV|Q^6NWPWjQibooN_EGyOS^R%prA|2^vOcY3M{_v7Te8FjFP`O2yuuN z$qvWQW_Lm*+xV~2_^(nUjz16naevOsmw_2BfCzDHm^_I#b#ji}pTUDr$>#qG{=^2Q zN1f#SX zF?I1(*JP-AVw~!L`-@&o-6PPLE&dlNe$ErlA1(ppA5nj9=kvc@ z&$Yg1?#FZx0Fz-G_n*OvbT)Mhft!0bst&qAbtp1A7^3uTu6^uzaGL6Wm?j6O6Tdo| z`NwTKoB!%!)&DbwLqk+bS&pceBi`%H(ggmpTd}i7g7IZrVaVxAhT+8ScQ;oGwln%n z2V9euW}iLbOPi&|!yNO7oaI4eY66@++PL_eEjHWgmwM7vCrmHuZy?HcP_)$#)zp$X z*>VTY$Xv69`IMkqY=Jvg|6&Wexfo5h`k~sO7!Pe`MvE;lOZ|)O+%@~Q+3L5%z7Ql^ zjPA$g0?8KrEx?CD-dd>#e~(|}qK|Lm+3etNm)ZCR7an!tTV41L7rw`Zf5n9#a^c@` z;m2M0OD_Dp3xC6fzvIH+bK$>t;rJtAw*32C_!t*{oeK}R@T_l(F?y3%9~|`8QTa2b zh$W(lL_DFs+ZdlY)Vpj$GzA|n;HyTxdNIcrvv@PS)25<{Sh(5wa8ci!PBy|@dIUcm zgf`;KGJjB!cKKIN(Fz|~Qt+aWue*I)&_hVR|8Hz{el15Mu}JGSJi}KGv2oU_#&By> zA`Z1+)oO@*6LngFHRl^hw5>H9s|zhjH#dXkVnH%@4u!y8T^cU7Fw7$s+^6t4kjpoy zg7+YNR=J8l_CZ+;`Nx7B@BQ$%wXy^?j(aKd%^JsBH}f`)>vrzbxNhfRjpKcd?Z`hH z2N_={kn{e1n)H$T;2)Q_G&|P;WIOK>$2{n}?uVK_-e*}Ke)yCH^PtDW?e^cXnoBjq7>ncH!S4j^oAnNfb|M`cr`OxSn;FaimY8>Bz*#0?<2Q>bg#`XB$C2qz)h`uXfessU%G_J=VAa2^J(Dd<{oa4Mh<1;mW zm&WyZ329u9zm>S@w_DTK<3FfzJ^t^y*ulRY$71H;#~Lqzb{^MnG_L#oP~*DaLG**9 z8UIbh(XYP#Z`Zhp3PThr{D!BjPy=x&VK$)aY(l7GwqcJGBw_ss?8wU*q zuMsTFt4JT;kFYT3-#!;8?C_tF{$hjk`{^=+pC)~LZ^FX%`PnF>u*3N|hV#t&-zGbo z4gDyMYrDaDT%87=OL_aM!CT1w*A32kPZ+#`>^yC7{>y^X2A6-t2n^qku<*G4Q;Fgo zIy3(&#q)u|my?`J{#k!5sxxuT*&RquIM>0Q$b36x>dGVN`zmx1A zHaLEd#`2WG-zE74gLjgA&fvu)zh&?VBwsN&U$>taoY%n+8aI#YUKOVB8~jBYSHR$- z$u8%Q?Ua&Ut)b83y2s$t$WEKVdAtu8{F@Z#K7+qa{1Jom|BG{oI1Yzg${vRe&inAQ zhMfko{}YYtU+vz~INnEYCMOpS`y0s4dj`LUxCb8spm07fkewmKIez#AAj@!r^L=of zW(VVpll~1F$2i|5K3(Ie{|xaGjidfFS`YIzj{3|OY8>^yLGdrsIO^X|cJ9zP>hteo zcNu&lv|*{!INIUAsAnqyAXZA3^@vZdcmvtrVDN(!Xp6z|dpeeT z4PH$4?QL!YKq@Sl~U9cI{tpVyF6=!l)dd?DH8->;Zo!3q@f z`JB1=e14YZ)h~Og-|o;a>*F^8ENp)!>GOJF&ibWF-O*>h(1izGc(n^(>%up<@J53l zqr9~moa1bB;q5MbuM6*S;rm_qL4)%jY92B;$9dR=A93NwT=f-DoI~8yFE#Wx qkj(F+rhc`d-%7II;3Nt+`)+n<8LjeDYaYBD9@Ze}=M2gK)U0sY=lilmMl z7~{FTnKH!Rrn`^@U_%bM$1!|nu}1jJVw=D;?x_?UF5_;by9?>G5@^r=r@scD*G-!E z!1aBun>4P+q=}OYXZ4uX@A@9s_vtx(O3&Vce@c&>+;+!ML6XHW@+9CY{QBURgZILFf5ZI({7CO|9mZQX{L*9M*C0%qye`&m(Z5LuS@G+E-?jK%hhI

      _rUd*Cn_c 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
      PWF~~{|L3!^&R%EjwbovbefHkxKmU-Q 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 +#include +#include +#include +#include +#include +#include +#include "part_func.h" +#include "fold.h" +#include "fold_vars.h" +#include "profiledist.h" +#include "dist_vars.h" +#include "utils.h" +#include "ProfileAln.h" + +#define PUBLIC +#define PRIVATE static + +#define MAXLENGTH 10000 +#define MAXSEQ 1000 +/*@unused@*/ +static char rcsid[] = "$Id: RNApaln.c,v 1.3 2005/07/24 08:35:15 ivo Exp $"; + +static double gapo=1.5, gape=0.666, seqw=0.5; +static int endgaps=0; + +PRIVATE void command_line(int argc, char *argv[]); +PRIVATE void usage(void); +PRIVATE void print_aligned_lines(FILE *somewhere); + +PRIVATE char task; +PRIVATE char outfile[50]; +PRIVATE char ruler[] ="....,....1....,....2....,....3....,....4" + "....,....5....,....6....,....7....,....8"; + +extern void PS_dot_plot(char *string, char *file); +extern void read_parameter_file(const char fname[]); +extern float profile_aln(const float *T1, const char *seq1, + const float *T2, const char *seq2); +static int noconv = 0; + +int main(int argc, char *argv[]) + +{ + float *T[MAXSEQ]; + char *seq[MAXSEQ]; + int i,j, istty, n=0; + int type, length, taxa_list=0; + float dist; + FILE *somewhere=NULL; + char *structure; + char *line=NULL, fname[20], *list_title=NULL; + + command_line(argc, argv); + + if((outfile[0]=='\0')&&(task=='m')&&(edit_backtrack)) + strcpy(outfile,"backtrack.file"); + if (outfile[0]!='\0') somewhere = fopen(outfile,"w"); + if (somewhere==NULL) somewhere = stdout; + istty = (isatty(fileno(stdout))&&isatty(fileno(stdin))); + + while (1) { + if ((istty)&&(n==0)) { + printf("\nInput sequence; @ to quit\n"); + printf("%s\n", ruler); + } + + type = 0; + do { /* get sequence to fold */ + if (line!=NULL) free(line); + *fname='\0'; + if ((line=get_line(stdin))==NULL) {type = 999; break;} + if (line[0]=='@') type = 999; + if (line[0]=='*') { + if (taxa_list==0) { + if (task=='m') taxa_list=1; + printf("%s\n", line); + type = 0; + } else { + list_title = strdup(line); + type = 888; + } + } + if (line[0]=='>') { + if (sscanf(line,">%12s", fname)!=0) + strcat(fname, "_dp.ps"); + if (taxa_list) + printf("%d : %s\n", n+1, line+1); + else printf("%s\n",line); + type = 0; + } + if (isalpha(line[0])) { + char *cp; + cp =strchr(line,' '); + if (cp) *cp='\0'; + type = 1; + } + } while(type==0); + + if( (task == 'm')&&(type>800) ) { + if (taxa_list) + printf("* END of taxa list\n"); + printf("> p %d (pdist)\n",n); + for (i=1; i %d %d\n",i+1,j+1); + print_aligned_lines(somewhere); + } + printf("\n"); + } + if (type==888) { /* do another distance matrix */ + n = 0; + printf("%s\n", list_title); + free(list_title); + } + } + + if(type>800) { + for (i=0; i1) { + dist = profile_aln(T[1], seq[1], T[0], seq[0]); + printf("%g\n",dist); + print_aligned_lines(somewhere); + free_profile(T[1]); free(seq[1]); + n=1; + } + break; + case 'c' : + if (n>1) { + dist = profile_aln(T[1], seq[1], T[0],seq[0]); + printf("%g\n",dist); + print_aligned_lines(somewhere); + free_profile(T[0]); free(seq[0]); + T[0] = T[1]; seq[0] = seq[1]; + n=1; + } + break; + + case 'm' : + break; + + default : + nrerror("This can't happen."); + } /* END switch task */ + (void) fflush(stdout); + } /* END while */ + if (line !=NULL) free(line); + return 0; +} + +/* ----------------------------------------------------------------- */ + +PRIVATE void command_line(int argc, char *argv[]) +{ + + int i, sym; + char *ns_bases=NULL, *c; + char *ParamFile=NULL; + + task = 'p'; + for (i=1; i= argc) outfile[0] = '\0'; + else if (argv[i+1][0]=='-') outfile[0] = '\0'; + else { + i++; + strncpy(outfile,argv[i],49); + } + edit_backtrack = 1; + break; + case 'P': + if (++iywpdv&_ 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
      r2jvTOqad5*aZZ_gKNfk9 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNApdist.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNApdist.c new file mode 100755 index 00000000..39517449 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNApdist.c @@ -0,0 +1,298 @@ +/* + Distances of Secondary Structure Ensembles + Peter F Stadler, Ivo L Hofacker, Sebastian Bonhoeffer + Vienna RNA Package +*/ +#include +#include +#include +#include +#include +#include +#include +#include "part_func.h" +#include "fold_vars.h" +#include "profiledist.h" +#include "dist_vars.h" +#include "utils.h" + +#define PUBLIC +#define PRIVATE static + +#define MAXLENGTH 10000 +#define MAXSEQ 1000 +/*@unused@*/ +static char rcsid[] = "$Id: RNApdist.c,v 1.8 2002/11/07 12:19:41 ivo Exp $"; + +PRIVATE void command_line(int argc, char *argv[]); +PRIVATE void usage(void); +PRIVATE void print_aligned_lines(FILE *somewhere); + +PRIVATE char task; +PRIVATE char outfile[50]; +PRIVATE char ruler[] ="....,....1....,....2....,....3....,....4" + "....,....5....,....6....,....7....,....8"; + +extern void PS_dot_plot(char *string, char *file); +extern void read_parameter_file(const char fname[]); +static int noconv = 0; + +int main(int argc, char *argv[]) + +{ + float *T[MAXSEQ]; + int i,j, istty, n=0; + int type, length, taxa_list=0; + float dist; + FILE *somewhere=NULL; + char *structure; + char *line=NULL, fname[20], *list_title=NULL; + + command_line(argc, argv); + + if((outfile[0]=='\0')&&(task=='m')&&(edit_backtrack)) + strcpy(outfile,"backtrack.file"); + if (outfile[0]!='\0') somewhere = fopen(outfile,"w"); + if (somewhere==NULL) somewhere = stdout; + istty = (isatty(fileno(stdout))&&isatty(fileno(stdin))); + + while (1) { + if ((istty)&&(n==0)) { + printf("\nInput sequence; @ to quit\n"); + printf("%s\n", ruler); + } + + type = 0; + do { /* get sequence to fold */ + if (line!=NULL) free(line); + *fname='\0'; + if ((line=get_line(stdin))==NULL) {type = 999; break;} + if (line[0]=='@') type = 999; + if (line[0]=='*') { + if (taxa_list==0) { + if (task=='m') taxa_list=1; + printf("%s\n", line); + type = 0; + } else { + list_title = strdup(line); + type = 888; + } + } + if (line[0]=='>') { + if (sscanf(line,">%12s", fname)!=0) + strcat(fname, "_dp.ps"); + if (taxa_list) + printf("%d : %s\n", n+1, line+1); + else printf("%s\n",line); + type = 0; + } + if (isalpha(line[0])) { + char *cp; + cp =strchr(line,' '); + if (cp) *cp='\0'; + type = 1; + } + } while(type==0); + + if( (task == 'm')&&(type>800) ) { + if (taxa_list) + printf("* END of taxa list\n"); + printf("> p %d (pdist)\n",n); + for (i=1; i %d %d\n",i+1,j+1); + print_aligned_lines(somewhere); + } + printf("\n"); + } + if (type==888) { /* do another distance matrix */ + n = 0; + printf("%s\n", list_title); + free(list_title); + } + } + + if(type>800) { + for (i=0; i1) { + dist = profile_edit_distance(T[1], T[0]); + printf("%g\n",dist); + print_aligned_lines(somewhere); + free_profile(T[1]); + n=1; + } + break; + case 'c' : + if (n>1) { + dist = profile_edit_distance(T[1], T[0]); + printf("%g\n",dist); + print_aligned_lines(somewhere); + free_profile(T[0]); + T[0] = T[1]; + n=1; + } + break; + + case 'm' : + break; + + default : + nrerror("This can't happen."); + } /* END switch task */ + (void) fflush(stdout); + } /* END while */ + if (line !=NULL) free(line); + return 0; +} + +/* ----------------------------------------------------------------- */ + +PRIVATE void command_line(int argc, char *argv[]) +{ + + int i, sym; + char *ns_bases=NULL, *c; + char *ParamFile=NULL; + + task = 'p'; + for (i=1; i= argc) outfile[0] = '\0'; + else if (argv[i+1][0]=='-') outfile[0] = '\0'; + else { + i++; + strncpy(outfile,argv[i],49); + } + edit_backtrack = 1; + break; + case 'P': + if (++iRf&45_rq4Jr(zYJ8H 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAplfold b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAplfold new file mode 100755 index 0000000000000000000000000000000000000000..f84342abc083dbebd9e735a0e7cb95e4c953778e GIT binary patch literal 677966 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

      rC&va<6{A6*Jc8Jib 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 F{tqmRF@^vD literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAplfold.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAplfold.c new file mode 100755 index 00000000..6bfae6cb --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAplfold.c @@ -0,0 +1,214 @@ +/* Last changed Time-stamp: <2006-01-16 10:38:56 ivo> */ +/* + Ineractive Access to folding Routines + + c Ivo L Hofacker + Vienna RNA package +*/ + +#include +#include +#include +#include +#include +#include +#include "fold.h" +#include "part_func.h" +#include "fold_vars.h" +#include "utils.h" +#include "PS_dot.h" + +extern float Lfold(char *string, char *structure, int maxdist); +extern void read_parameter_file(const char fname[]); +extern int pfl_fold(char *sequence, int winSize, float cutoff, struct plist **pl); +extern void init_pf_foldLP(int length); +extern void free_pf_arraysLP(void); + +/*@unused@*/ +static char rcsid[] = "$Id: RNAplfold.c,v 1.2 2006/01/16 09:49:07 ivo Exp $"; + +#define PRIVATE static + +static char scale[] = "....,....1....,....2....,....3....,....4" + "....,....5....,....6....,....7....,....8"; + +PRIVATE void usage(void); + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char *argv[]) +{ + char *string, *line; + char *structure=NULL, *cstruc=NULL; + char fname[30], ffname[20]; + char *ParamFile=NULL; + char *ns_bases=NULL, *c; + int i, length, l, sym,r; + int istty; + int noconv=0; + int maxdist=70; + int winSize; + float cutoff=0.01; + int hit; + plist *pl; + do_backtrack = 1; + string=NULL; + dangles=2; + for (i=1; i')) { + if (*line=='>') + (void) sscanf(line, ">%12s", fname); + printf("%s\n", line); + free(line); + if ((line = get_line(stdin))==NULL) break; + } + + if ((line ==NULL) || (strcmp(line, "@") == 0)) break; + + string = (char *) space(strlen(line)+1); + (void) sscanf(line,"%s",string); + free(line); + length = (int) strlen(string); + + structure = (char *) space((unsigned) length+1); + + for (l = 0; l < length; l++) { + string[l] = toupper(string[l]); + if (!noconv && string[l] == 'T') string[l] = 'U'; + } + if (istty) + printf("length = %d\n", length); + + /* initialize_fold(length); */ + update_fold_params(); + maxdist=winSize; + if (length= 5) { + pf_scale = -1; + + init_pf_foldLP(length); + + hit=pfl_fold(string, maxdist, cutoff, &pl); + free_pf_arraysLP(); + if (fname[0]!='\0') { + strcpy(ffname, fname); + strcat(ffname, "_dp.ps"); + } + else strcpy(ffname, "plfold_dp.ps"); + PS_dot_plot_turn(string, pl, ffname, maxdist); + free(pl); + + if (cstruc!=NULL) free(cstruc); + (void) fflush(stdout); + } + free(string); + free(structure); + } while (1); + return 0; +} + +PRIVATE void usage(void) +{ + nrerror("usage:\n" + "RNAplfold [-L span]\n" + " [-T temp] [-4] [-d[0|1|2]] [-noGU] [-noCloseGU]\n" + " [-noLP] [-P paramfile] [-nsp pairs] [-noconv]\n"); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAplfold.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAplfold.o new file mode 100755 index 0000000000000000000000000000000000000000..890c13b5d35242864d58d28f166369e9dfed887c GIT binary patch literal 20920 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 +*/ + +#include +#include +#include +#include +#include +#include +#include "utils.h" +#include "PS_dot.h" + +#define PRIVATE static + +PRIVATE char scale[] = ".........1.........2.........3.........4.........5.........6.........7.........8"; + +PRIVATE void usage(void); + + +/*--------------------------------------------------------------------------*/ + +extern int svg_rna_plot(char *string, char *structure, char *ssfile); + +int main(int argc, char *argv[]) +{ + + char *string=NULL, *line; + char *structure=NULL, *pre=NULL, *post=NULL; + char fname[13], ffname[20]; + int i, r; + float energy; + int istty; + char format[5]="ps"; + + string=NULL; + for (i=1; i')) { + if (*line=='>') + sscanf(line, ">%12s", fname); + printf("%s\n", line); + free(line); + if ((line = get_line(stdin))==NULL) line = "@"; + } + + if (strcmp(line, "@") == 0) break; + + string = (char *) space(strlen(line)+1); + sscanf(line,"%s",string); + free(line); + + if ((line = get_line(stdin))==NULL) break; + structure = (char *) space(strlen(line)+1); + sscanf(line,"%s (%f)", structure, &energy); + free(line); + + if (strlen(string)!=strlen(structure)) + nrerror("sequence and structure have unequal length!"); + + if (fname[0]!='\0') { + strcpy(ffname, fname); + strcat(ffname, "_ss"); + } else + strcpy(ffname, "rna"); + + switch (format[0]) { + case 'p': + strcat(ffname, ".ps"); + PS_rna_plot_a(string, structure, ffname, pre, post); + break; + case 'g': + strcat(ffname, ".gml"); + gmlRNA(string, structure, ffname, 'x'); + break; + case 'x': + strcat(ffname, ".ss"); + xrna_plot(string, structure, ffname); + break; + case 's': + strcat(ffname, ".svg"); + svg_rna_plot(string, structure, ffname); + break; + default: + usage(); + } + fflush(stdout); + free(string); + free(structure); + } while (1); + return 0; +} + +PRIVATE void usage(void) +{ + nrerror("usage: RNAplot [-t 0|1] [-o ps|gml|xrna|svg] [--pre ] [--post ]"); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAplot.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAplot.o new file mode 100755 index 0000000000000000000000000000000000000000..d93f9766e657c25886d89d2903665a220b469edb GIT binary patch literal 13088 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAstats b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAstats new file mode 100755 index 0000000000000000000000000000000000000000..d6ad3106815d6802ae59497997d008bcb28d9835 GIT binary patch literal 660439 zcmbrn3t&@4_CKDs2~=&pMOr`wj2e{klKKN}1+;+_Z!`#M5m4l@feMO(kP5n`6w)G> z5a_z7sI1~^bzNN0brlfWw51PFuz+YmL42S$76d_|Advs(GjnemYTfVe`~O`??>x?& zIp@ronKREjFUK=9J}%B;KJk{DE%Y5t$reHKufEx1lJGo>!^Sw$2Tg@iv%z2I z_-y#-&*sZw7k``ILKX-canLu3?vxCPI3>d=AkFs~1E2Xe)7^=5k^=+r|L`*Dyl&dm zKi$ypx@nVoPn-Hk{+!-(GH>X8L%%+=ruVsC&`;@+l3VW>DKIj7GfxI|!>G(PD>x$pS z_+5@)FZ^0Qbh}8s%zAucrEEd)P$}JVYWFwq1kCg|5+v9f;ex@cdtR4U0 zq28zA*9E^0`0=>{zpL@P48Ke8`)|+fU?di1uL0b>Mfg@D{42a;;Y*D0_gjRoFv2ft zfhWrl+`<;{uN&bf5Z(?Yo_*gafx*`1!Eejm2-)|9cP@8@^UR%eE>u{52z-?NMyFW`wV45ng44PsW?|Xhe(pl8$h@ z0TcUr1)f;^8x8sgA>1AdXu8qPKg?$R2FtYR4_IbBI@4#FHT4mCuFtbfo-@OeH*Na# znR%A+w>>uguE`Hfo#mT6bI7!bvt~`6Wf?#IfrqC*GJckC;!NN8@fM)+N>nrQecmY( zXIf_YW_o8lj@P8=`98~|v!(-k-UE|;vn&r!ewZ z^#b-fGYtKR0~U`FkC&zW)T!votd;`Avu~F0@lp77Inv%~gE;o#=3}<^>`U3Nn~&Mv zGu-S87-#A=!+S8mcp41+#9@#qVh+TF$M(&7Ot?|?1^m&N@Yw#iDJGnGN1vgRFXl_$ z%qKA>9D<8JDKX(@o509UG2!gP%*P%Ro@55%-90AUv>_PXHzxez82HSX@K}2yJ0_gv zWl3khOnA2#_@go5*TjT3#e`oQ6K=V+ zS^vAogeS&?v+psVl$h{dW+2|G|4^d73pG@~9@SCrofLR&JyW14S!4V zM7q&Gg(<@aB6zy}iGEi3aJ}%~OFyf6I3)ac(a$O#UMu{!(a)+KUM2j4>1UM=mkR$) z^s_35i-iAr`dPihGlahf{cMuL6NLXN`dP)pBZU7l`dPKZ*}{Jb{jAdAzQTVY{jADi zyYR=;&ng^F5&qLRz|X21wg~?*`dMYeN6#Uk+mH0Ks)i2;|2OoriiYcje=q&4n&FV} z@1&nqGQ3v!x6;q57+xj(mGrX;hD(Ki1O2Re;UeLGmwr~c@C@O9i+)zM@C4z1g??7C z@Cf05o_sKdVgm=vngr zApLgw4+#IC=w}rP*9-r>^s{P&L&AR-{j3tdOYPn8ePfFE!1s2PXd+KzFm_KoWQ?&yeIcWo&9GN(nYtvGNgU$xoovn~1^NbyT4 zbz2SC{?f0VMJ);W;v@A!wW-e0r)W^S+aTnTs&>$q(&#{%P@<~YcK3(!??mE{;ZOr9 zYRS(0?`muZ-5o7)TdMN%@=E2ebfoGZ^yKwW10v|Kjx;i_r1BI@G`O{@EzZcdTdJbj zm6kVv+VEpO3rs5DD0SZB9O=}~s@{lN@k6{b*C`Cak#~dkzWO|XxwRT+FelF66sIiR z0qh^L$|<8luB>n8j>;^Apd(esl+m^?5qAt2fVSYD&fr)_oZEZImDM=UjT}ZXhd`Q& zS2UNDfc4Gvh8XP61H%)({Fwr4ip07winX!u1G3?aY(DM;k^eg5$~vGdyAFzlGU@Bl zj^1~_bFA}z=QvQ)&gx+DdqexIjy(tVjdgU=yP!a2)?-|bP9PYB6C&&ZhE`G}>Wyb& zQY4BLDIx`16Ql4b|514mW==-Lc~4Hp2~if#T(|bi$W3vO(B10%LyPdvI$LYo`hVI9 z3rEO!My<;+dJ))G^4m7OB`MD!~u%SM~052drNfW%gEzSE6l< zRJ*bc7lenEobV-jw3GV9BP^C-B@v}~F@Vdj#Gj1A`r|Y4ia;sn+}hFNEV`w)M?0q! zC!wiR-oLnbi*I7lsb0RjP)wr{uX=Z@k(x;LqNI4`{SK;k8^W^@9;q&gEJ}^@^+1}N z?uhuVLU?xxZvfvDkjm9Xl0?WK|)zvC5KbfFh7)S<%H(vQsJf z7QIQpHW;;$wWat|c>PTYO7TZ@=&76V1X*I5n2uVeKsjRaF3LFKswl$!erHJ62 zc}nh%JY{5Eq&82vXDbRk`DrB3kIn%8Tt`7xu4AkU0wzESTu5S37F~)gjwwArlu(Zp zNX!*iudW!Zyr0^4QLbai;2LXR6b^#bfX^}EwqWPJs`iy0+$O4Fa!E!zqiT&#p4ygG z5fxcI1}Q%zd}EUD6Yp`!(m$@^m@>}gNYUSebTUo=6;jx)0~Y-Ww83NvqPqqCHJ$1T zlAEb7g9zPPEr}}$DJA*f*D3VeHDH<}R|#^mKn;v_WUBtEq{g|dCC8N%TLH2@u8eg# z`k@hd03K!WWOU3*$$0z)fXmVMIGT`Q0t`)v_M=PtNeh?1+1Y7XN15tfQD(=7DEC_5 zh(xyI!*!g8={m=>n9opEv&Bx zf;|Y_^V6O!D4D)2nXkh88lGsQ6!%A^7nJr>M%mW2AwNhDvO#=5y&Nf_(ISAs;WhwQ z%Ch79dOv^Dkl8nDp@^f}($#5U?X9(aaUB|bJVkTjElTl?r~+zmPW*<^u(8VKc5_-F z`Xr!?)G5W6Au>{}+fYnw@JquNA;1-YxC6@_MZn<9D)ZMqCBo6!7L91FgSby774|dSGo_?0u{(r{ya1x!RN>o zIii>7>kL11n*Yo6U2lr8V_llMGx&%Z2LBG_0q!jW-0OV~C zpN+~}Mf;JdUkp+`T10OnNp>ZGY~_74YiQvXrS@f`NC5|yIEs*IoX6oxuO9$uD#7Dy zy#s?@&qn*H{}PGlU%+G~(g`~0WrO|>-T--mAi+lvD?5&oS~ME!{LSotGeV|$;2d9N zHsfs2`_w55dLj$a_KrrIXd4pG)^oJ&a`6T?Gr|`FK>rAttLRg_AE|*hk*eF2veXP1 zN`n_!GX{)xj4k*+{BPzL81&;U=tZ?km-cm;jw*z@y!Ln`QvMIy~OtM)dQG?5cVPU2+nw9^6lyD8IhY7tQeB zRw_@0G9kY@CC9e==8l#P9E7Rbjtxwr*(wo)$m4%U^t*7E*U5x{&}=Uw;P~HNN=~w$ zQQMgl8aX0%Y01+?tWr`PBjHh?06ho=FmQADpNMe>`h8ixiz(4PSs3zuUG>q+A|`g+xC zxsK7{+o0O|80y%qFt|yAemi|HMB4*>0R7*KShmM{Px@bN_Fqo_gU$Yn=RJ9qA6{gsvTzbV4w)3y2vJ>_I& zQ4tzoSG^i^#;b~}&azYW?@3VShnc)~KL7T9WcsanweySN9BHqazYuRrV2~R*l|+2^ ziG2Pz548-*hj5Pjf6PtQ-jSIuLJqf%v|9qnA79(fQnDp~Xq1`%pZwIu_3j6JX+;A- z^iJQz|5to1<>N8rGa@P<+ojAZv~mrw;&k;Q?ZATUhQ2q+N^bbD(jlwYD#z z5PWKF3k;Vh(EDU&M`Ssykhij?Mzs-PEdmha4_PChJbtY4 z6AY>S)$y=C2lmv5qnU!Mpl6)Ndq8)>=h41#t|x)&3Q)BJ5{R$03c}boptpB`CHIvD?{1f`@09AdPDl8IF3)fS7gNnk-Wd*jdd zVm6hr{;87h1dmC zEb6G#A)<;ulzQrUQco@16eIONR73KTK!`@NaJGHnx8Zvs#&VUF zA~+F-!|m|?K9i_uqM1N6Ei<7AqM6WskWyeKzp_s%Rkg7WT{|A=|G*8H9MQIBY*Dpo zj-wuJlB3C~{lfel$^I`soRVfZ4 z6PMO-K|}rxs5ox#PUs9~&n~f6PnbFiqc!X0mYs=>Om$=>I(L$l_^!| z0rupSe4#9_Hn@W1V5 z%u$p!28D?go(dVVy>SNnUG6^@uN1#6fPafaJ{ep5zk!pAlCAlVWbAYbPo$7Xfv79EpPP^4c~OkTv*sc}cuxF*58 zeeEbq_#8w|($);>XbIm1id63>Zf_+}?gq-E_?>EeqgiSIl~M~=BO$|)zuUW2of@i( zW?TL<^4cKCP}XdfnaUgsk>e61EZN~3BNNxTy{DZUNcS+MyaL!h1*%1uV|T8X2*?_c z1pB=&YCAZX8hI4eOR&=fc06$*iTth6mhg3gs?W=r7RW+i{Bx9c5!_o;?+GMg@yFG{ z|FP77htQxY<<(MZ%9`DTCYQfv2k)1e)JdiR2qj8ycrK$p9n(M}uy5)8mhgwdGGfy& zf6h_H3^2L@b^=q7QS$67+QBAE!5mM!u7I2h?nIlYp^|1bJ z!pKpi4|L(L%?V1xY?Z3F(V;Ye$K<2eOTOA!8yeqH7LP&jF=cG>xRV4Olf3;D-=mXH z;Ef464D?1N4;E-BlyQ~%rXPe+ki1U-j;Ew-86Y&Q0Fy~(Gd;Pn^t>a|VD?Pa9|IZ^ zv5)mpl74qA=)z{u+W|__B{+)PU*H(q^|2QM$rWAN2^n*(q-2Zla+bx&=7g8XJZ!Ik zVMG~1d94qNu$}D;4AVw0S`kVvxlJ#Gs!ES)2*E??wevVIYdy}E41Bu&oveO!NCQkF zYBUutd4H2o4ml~P>MwoIk*v+~r!E$gWL=c!%x9vqL5^^b2F+wV_3hEOj>1~QA$P@h zHh20VAkB4TH};oWIL0=N_EWc1-Xw7*tT~j zhdt`ZPnA2^t21zN8KPqLTOx?w##c!nC23U_vWYXv%Q&nxmLG7Avgiq58q>wII4?Oi zU<MZugng2FLNu;JSd4iMP#_U@E4=-y6Tk?cb+yi|$H3F%V&!NGhDg>-=7eU{^L48l_ z+Y{Wv2_Z{qj71}tLPBh9K$Mu|S$G4ma1Ngesh6X`q~=Y6(gGiGzXIIAYgeOqL(*@|#iQe`h>s*+P-qf=r`4KK{mNsc40$k*bKtG5YZjqxn6y zvSnT(4~SjWbVTKXP4@FIe0V7x%9<)Q*g2j$ep{4=>=CWe;Qu8`g9;j=NziCcKrcrn z1pW45t);!SIc-vlw5uMCraf?M0@1YK{i5cy^Hh zI&4iOo~Z|Edr%>rLKYMbWu7;S;gG2vz#KkJ?MHHa>JZ37(eh=(MgcsRgTv9 z9d$e^tIj6P_Ci6k6Qh-lD6U*+ORn{?m8Rl=R4zzH3sPBl2Yjtl{wu9BLAkJjOv*v_ zUYfz(CEdalqDk5vtC}87M|6cdZnH~kqOOA(7&t*|8>~RtVS|9JRXy%8i*eN(!r7uI zijGCu$~j;Z1?@qq;kL&&IU}`Bn9h&=Ey|v=g~xE75Vqc$ zqZZ3!nP?iZRyihl2YhHXJPtK{jRCNf07FfHwaox;V`dVDmn|Pby1tK|(Y8e*K80G4 zJW0662zM#mjjt1YD8bho;A3LI`^SJ!B>1zYp)21QuT66_aCCOSseS5!NB3wx457Ry zJz4=qQ7Gd2VH)NO4o$%{;S;IcePO$COc#rG7H~;UZ5!qb^9I94J*qs-xfP7rmWS9L zJ4!0^XZp`#y_fB)>dkc|nU?)#!>ZqghTQ59X1*BTi1u8zL`aW}`b-cu8r@t4MZcEK znxuN*8gXne`lq8Q9xh%`=|;2s(2lws4zv&syO`g`+B~$@&f>$OY#wJTYO>=k`k}oj zZ!DY%n?`};Fj1rw52F@n73zj=?x!65FA1C5D44ONxi$!nv0yzZ+Jr1{8YimQG!N?6Ev?fZmEnLMfU>fzMJmHr29I$AC&H%bdQtn;dI|6 z-M7;{RJyOF`zGnWn(jW*-IngFq`T@KxI0Mq2Qb$43#I!a!knW(1A}haWVh(Yq&tD( z-%GawcdhN$`wcGZWoR5i!Te8V@OlQ<+P*jZoRO(2)nApNBaG1SDazRxEOPvRPf0|~ z8ER+mR+etYxDNAn%K(gdyF!~j7tpTY!*Q-)e!RX4(^@XA5w_y~9gSLpCx|s{JTC1A zz1s-!#-@^8W65XK`!T(3=?x^W>edmuV5>k-4re7f6PBYL*1mFS$L|O_gc+k&e4F5| zI2f<*8g63znJ6~Ht9^ykAJO-|>8qyiP1E-zeb1Y|`SdL@efQBNGqzgBpU0C*6AJ4L;Ze24WKCSmp_jR$D`lbhq|fVVnEH z5lkNFTf>ov_SJpiO3sUOf5x>N`hZw0x^G5(?0x)4VcJ&Dz6(*qt?yz9{oV?664kSv z2pFIEZaM<6hKhi`O7|UDLE5GC`Sh`Ck1ON0zWe7Wa4P(JGj^J=Sk?1a7GUyv-A%}A z19y-reZEnK*8grkd(@tv#Eb@~Gv*)S2GM;h9d^7_ZKESwyx((V;*IT6T!`nRcl|69 z8DOism(vkdTCt-aB9vu=uy6>LZ0iutUT4C^as|K+7L_O4BQ~&7fTAj{1dLOZTBJ(# zexb&Fq3zc{877*LMTpb(L*BFD&^I8^HQ+rXVQ(+OuqVcawQJ@Is4)o1b7{jY%F>!d zz$)dFEl#oR4tq5mV(xG$b}V4Fv8FN283{T4P4R_rROMvtSC%${AE#JY80Kvp5*(Y5 zkdv_`Cu65e+k?Gz^FFyvDR(`L?rE2^JPn|jPRbq0Y5H1BH({1A&`-=x7rudMXw`d4 zc?o?S(kUxLC6zvOUFEL1=ZqO`?=F!zo(3Kgy8?2?Jz!I>dr7O>KH5o)m5 zov65uqN6KWXGi0jwtqB+cUzp=v4C}5dP4+rm)I&)YprCVAo^PLyV;BSrI=K>wC&1^ zz^0UpL$4$D$+`lA_Sv~=5E1#Q{*9t=Ey~jZt{y`k3^zL+XjmP%F!1u{I{f^^Ph_=7=fuq)hk2Qz-p1ih2kev#0<{;C^6tF zu{h&?bEP++h#85Ae=W7rU26>imj&+%zUTfsQtOW-6qd$hWU7EGYl%pyEc+)QvFy<_ z3SlY8h5^e^v9ZNa?27WgspKJ4~3s-UJG zIAEaec0mrL%qUyTQf8qiRs;Q?#|vgyfhREN130m5%wKhdsx5I~YRUqNxPwR4-gA_~ zn-k3KjV%&Gej89M!j<9j&5broIs@?5ps)Sc*h67;X4SY9&rw$0;MYirS=(XWZLV~z zAS`jzAs{#!J^gawRMAFI5|jvY30VIEK-H_el(I?v!PR$4@iK%vQKv_p!$5=y$QKg` zfdw2TT>El+YXIZAH68|4u49Bt`#eV}_Y6M=FGfBtEX8+6fNORU9P^Kaq6gT?JDNx$fyHWfVG_4H{J?U|39Bs(bH3h*{h%L_!6p9(wH9)tV4RW4 zR%8?W4!w^DB|vJ`K(SyKrLt{spx{l6i)GO`u_D6>A)m5jaSGx3zlcs2wO|ciZtrfb z$(63>Ibmxf?`n00fQ6aps!0Srb#uRDl^{O|OHP210o8gBNhvOw@k&E%tA%QrjH+I% z6d&X}9I_jeRL$uzHE1ou)J6(9z74abW0H1rbc9*^-0|noFbY79n~?cd0JTdBqb>T@ z0pkX8mF2Qp&;w=r?rt>xAl;dWS|VhK^qBlsin(K2^==e^XyvG*ajd){A*$78QKX(F zO~^BMpQW%1l=VV#7POX=o>2xpsbU-#t*OE83hURPuaLRhTg56xwP6Y@i6gD#B2|p~ zOrpU}>JHGBx&z%`H>8Bs?CXPe>T!YP3$~I%ny4GZ7O<{JFdNF$Fe`3qZRb(=k@eyN<3yVdrG+EBx4`&=q*i5bH`I z9l#`k*d;<_s4XBqX*;wv^&{WIrbG+7K@Oka1#S!-F~r6)7Dd@obUTxU=w6FW(%hmj z^>m6bnwqKsA*BMIdPND5pTRgO(EsF}UC=~HCFf|*T8HMqV4q4nhbuXwD-qSsx}B*! zl|rMHB}ch#7D!$Q1knnBx&F@*qZMFIR7`XC!TMSvY$D1(1PX{TDg0PRL?qvZW(bmz z0LqgCz#oIJMzG?ypbd{K5z2?jgaU(BbS-SLu`a*#Iskx>*Vo$77|P}x&eao>$z=nJ^-I2jJ*m0wr%4hr4J73Qxyqdfi*|frW%!8LIaT0@ z6ZQ~SqQ$udefJQwPFdf&vEh5!!$9vWM?(^6yw=}zGdcnU_?zZ%5QFvf5PXp;%$fim z{$*+KQ)6fodb~ItQ0D3o@iz@riaGf)ZdKHw<8VLdsuj{?@R^oFcGVkb5XnPsE}89OoC=iOD61#={l zEFfX4&%{&>zMZ0t55dY)SL9?Jz%K3-3l-evl4)$r7}Zt4f~%}A8eb4A{!VQy3=v@m zVsb35k^AjakjCvrn;4QOH0p+Tv7|TTWYwxGh&Dq1Rv#i-E?pk71BKh0?*M^19=2e~oQz*l_X!^-cj!b=-(FGX=}d0UkE zV&M31#pTRuXfCd&Wtw}CCZ@O=Ux0PDcNoIZ)rCZ{r}ZRAp#R4RMUS=*FB&N{>Y4z+ z?qgatmT|>i(d1_k9qz;Z-vQfIqzAQ&Ey^(ON9gj|#RWEsswsMIQd^JM!Dy7GV9QFm zM?J@!Ss#Z5UABn6{}557{jl1Ob_o4By54$bufnLJiiP*1gi%-6`Cvd%7J>?t+p#MK zg9O?Jdd^lT1_Si=*{!t{0&8<~v24e0g7(Ldp(z*Sf6_x4*mS%wtU*KL!*7n+U15my z83DAkS_!vSywctgfws3~+zWUqOM}>rsJw4minH+phbYB2C0Q&3hbhIEqNNo>FrHXS;+_lJ%{U2w#;-#0Z^CE~(x}kCt>wH^Y6xPnU598imBo%ukO!6! zWO@;jh!A4vjGXl~NQ36L*kOb&5eepR6xn5CTM0&&b%g$DH{GLcCn70$j}fbh--xhr zwqxRLWTq@@$Khv}^#H^+kK*mHqA~ClyIfoYRtv<&xEFX=i^g7AHU?>+z={846-yp- zI~6AFUA~NF$27SB^j8E2W>__h)})-!ufVJl{fQc|R=73mj)3*AhRn=7(XGq4orTyF z`@6A}x())zbMzJ{DrKD|J3F@)$KHaitg0nXcnkEwl0E>hTXP*tRF?e;tQ`eMbmm=EZm1GVH41AL{kyWhmN}x8u%=(KlQ3W$nmVJZ2v_oS?C`y^NQ%MMo zHS49Xf_+X1P$(bQZfaTeV{f~?$IU8Clm{4%ZXO~q?UQ3eV8@1=&<>2F(F4n{u%~IN z+>UxZ?VKu&4HG@PePQhhV3S}a_zlKtWctk_+y;|t}jGdGxrYw>mlhn|)C zi#-kjx}_5s5hY@Egc9yC+zcl!L&4qT&cFV4crlmKbTS6PQ;z_=fRf#h$K9tovQY zxQc~{t)Wln1c!Ysx?W6rIF;cQSu#)HqxvaJxH{$1j=HpCs8J{PA{?hI(4a<5-Q|wg zkU^vlF{|J}*GYd)a2z%kO4A?bL@r`W%!G(0-Y{At@FDqS@v}Oimn#!mi1Bd}sb#~~ zXPXPsry42?my1M897W>&p5Pc`0L(gha?TCqd=E#79>)aqB&z@e&ol=POk$u1tr->% zxcqb4emOMEbtEERBG!@|7(D9x8rWK5tH=aeG*WuSf-s|h8B^zp88Z%sgeJ0bX{oweZ^IRV&%I6W+~~z zA|N@&oHrBoWmyjA6zjB89D`8{TPV;$gfZR2h- zIAqg-;}WtdHM5hO4Qs^UqYzELv<@(FL5Yw@^31ve`|)}ZL#<>bCp|je(8|RS=T|PY z+_6>b4pu4j{55G9lmkT*U^x)#ETjN>K7#rseFB+_?<&3D#&g8q4P!CU<+b}*8hjx1X1E9YgaMn4%y z{TG{IDuPzeiZ6ALopG}Uv8*b@3cH(7nmi7Z*Xmf>G2$_;>)BI7rm^ye*1aXnV+4t5X8pJTVU{!Ef+yFWC4~u6sSWuR6f)KT1q9Dq47hm3e z&8>)RKg~)PLsXSHY7AJPPp@m0Bv?hyp}p-4#?$K}6-Lek9cxlg%CRs*>I$ESFep~Y zB9}yIM{t((0_?qGPMHW9yvTJ?#4L%Wi&1l^V+VxXiUowT#)ZD0`oh%~tS}UIgHF?p zI&m(sqou4nDg!n0=U-ARqSw^RH?m^gEA46=!J7i;n2idMhCvtfm2~k5k4L8pl>a2k z?5oX_zdoP}e=5eG$)$+efc+hEb*+3PfMosC_kU=1Q{j#=V^yexD;s98(;7a2F|8@` zz~JamA&_=C0K!{DY;s$;QE;QhD{Ty8P6~8#b^+8SlR9G%y$6|=7lC>GhwDNAYO$W? z3=YFIY|6(mH4!T@1=*;6>u*6#HzxDVB?!|1%Pp~Db_~TS8XGT8kaO|}jguAI^f2XF z3nkxy^w>EYhq&w%QT5GMwXU!$3zQA^?dTS0M-D%4=F;pU=XPKhF+QG9vV%x6<^*Mv zO9`>kux?kf?L~uIECwGCw6*fF_VC+&-Y%>N89qD5Y_88sOSpFcrz{wQW(izMg)vMB zw(i&nbmUf5vu+LF2nhB&>@1Atw(L!a72?9n(9DL}2VnJ{AT*tE2eKMj`0`$+wb#P$dB4wGz90UEY7u2Lx0Thj` zNBC_2xfok+Ie(=!VMyVvM?ZNz&Pxq5w)30Q(4slri6y>VH^u>&l7<587F%}YV%?qb zX1C61NKNPPM5GB(OCa>Evo4QRWi=MAD4&Yjq2JLLbsx6f53GHS?QtE)56xaHC4v3p z+R5mGtN+j(t-vvj_Y6#Pdr$Jz{|NB7Oz?t5f*MzRq&or%8GzY%j)Bp2!A<=-A+#h`G))`{ID@ODp#$ zkJ?fa%D)j9FA%vSGY{Id5uOBFA_8D*&A{Y`&oRP{@kV*>jCi=m>ie+C0;NV#pbJ)> z#_aU+GN!Ikx!5?q5wFgMJ5EWIH(1$qk9q%;#& z)4S;nI9h}`%A|hS>WxjwU~34-&p)SnE3g2|)g2tt7R{QSYdkqv!@+)uTt_D^@c@i0 z)80to3QvB#mg>-cLJng=XrkT+le8-M?TdQg;c^b($Z03hTpTcz1d^GZ!M%4Rcga}P zPbse1oxwJlML&NYzrhZG0r1>HrzB=tcn{{;5K>xrVflP&+IPLl^f}BPzJ=*5iX5Z# ztcH1m^e3)^4mR|Zh4A)89WCkmcu@!^X+#BjN$3b{G zgQ=Zab-2)v)d)bdxx-S3xxiGgPs(2}?*r{Y25bkUM0u~wm>nX?s4a5`0P(k30`Yfv znTX{g$N4x}Hx>V9;0ZQV)^7#7%In#4yxq$b+bqnaxq^SjXa*HfSsE{TL)&4X1sk%| z!3#LN@HtelUTgKMKpgV-0sr8 zn2L(q4o=hwwriM0?o)6`PBS>O4$mEc?MaQ->m8wdkj&al7Dd|2c(KHAR3C+w&0aK> zdga=R@kO8d*`0`~U@H=Qzy#PfB~=WebAQx7LWv-1lE5`+Bwya+uArCQuA1n~I)r!X zNucwb1m>~0=Y^Zf$JEQ!ex!WxSvz~9o=E8lblG?#Uuik;Az_#Qz#KR=p{2tR zfnn7hc)8aj7|+pLh$%SAnzeTxkIH#4<=_k?6+ui%4y_I)Sdm_jW_U%`UcdTT_)v~1_f?foA*G|zF~3(N4vahRackRoEz_^;=|7d%GU3vs zyH)MCdD+-6i_Hbw<$X!>at4Jq9mVBI{{(e`_8FnF6=>Ob!^DwyptAaN&XZ?wxOEto zq&dTwb+{0h6d0lTlg(zTYEbrI#gbp{(S8;iI>nx%@|A2OGh@)?uV?khEA?n6$}#uL zdjWt{FL@WMUay^>_En}mvlbDRG7~e6b6j{N;LnGCi_qH%z1-;E?{R9pm?{_ho5c~a z%$%%WRCMzx*wcY|bQo#DcoY@dfe-qle%^*!h|Q&3iYwlQ@UnM=6prZ6AuoBihHp^W zdkEx(OvPqk6*fUB#qS`2Q+Xe&&i<Iy&#FO>qmvrUb=W;|Mk(;pGfqTt@;~hM5URuWGK;A_4S9Ai66Yi>>iej+X7NjQD5fzU=oMDrH|%^`{A z-YA+0F=)(t*Mj3GN%}4|=sOOxg!Ek^YT6_oS^u_~#Qp+zh4y2a3R!^2GjE$j#z(QU zzB)&`wX^44vzLhWSDsFu8nP!~S~)nj`=l~6+X5roD`K)`qwYV`wy;L#&wK00-#e!| zVAc;eAGx$|%4SG1@}p$@8SFCuQBEN{wrl5_J6E^2R^I&QnX0c+IPbX`i|bQEzd+7z zEDeIH&V4EBC}H2i-k>~snS@yjzcmS~kY^Iw7QWd`q0j+Pd6A&9!l~()A9iV{%T`EA zKU!@HYzJtT$|C8NTOWB(p**4rqq@M+7jx9k4b%cqX}^Oy4r&25|uc1(6TD^6)f_oMt2X690$jybSlH_AoY@_vz_*GC;exRGfP6WhlOR_ zDSxQoJ(ZUud?I%L>4(5in9WHHeS)CA#*2|&4{ZCUm|Aw5Jb-r}uCRQN!MpRdn4<=hkw?0HtE9z6~ z`Sod$$gHyLw5$ksMsbfi54WgK&QWDW4yPqL!b3ju4{>a)F9tBgfkqtW)~4&aSn@Hl z8`MkS-dko#7uDd`w*WMMGZVxxtY6a&M6!>l!O|sk{!ICW$V48Z=4C!U9CAZ1p{kW@Oi*by0(IQxw`S2e1NM)%NPYAthR|$}{WR z0cCkl#Na%{@xQOEiCI%0W9SMqY%`xW{CYrus)FxQ=$+^6a%r55Nzhk zZ;wJyotkkxPl$^Nac2~Q1=kFLdzmbf((zFUmUJ`3J%qS~IA%m4m}xUaKSBsz7DORP zcr(N$guo#UOZi`-5U4gW5J$nh#PNC*f(e>&Y$t?}>3dNK?ksMGSRKVt9fjy{9>n4( zj!&Zy9nXW{6riNzU=*U$c@RURIDUyjuoZ2l!$Am9ayIm9vh-;?HAB#jkr2sIh>OmH zH~`;z&LNhkMImSeHRIp`cL~uw3Xyys#7aUi7J6?j7tj;WQ67s$TSKX`+6NGX1Tol;;>_VEs=UB}AS%DR35V#DKQR5wJS)|LGU zDbXAL^mmcq*`BDb3*Zjx=sn7L1Wvyk?Nm4&smfR37+m9#avlfNM{*?5UWDREAVPWe zQQVUlJ}Z(saQ69#8r&!rMnwam--*2*XjGIE7s?oGK(B#u&Gy@;9WX!3&I-V9BB%^H zk9$K+;A9ER7|phHe+Q;qEj&SZ!o0E)hHp;B;l}&f?7F=lV=H+yjpk{1{>rw7Dy zkzKTAxVkj|uiioswMT~#|IU6dvM*Uk(c~jb} z(da;CjL~e{24gm%*zun5P*Y z(~WvL4`w%hUCuMYx)(c-!f}M*d0oKp$S+`cY8WsRaBqShL7|5C0a^J3+_(T3UIalr zIOwb|U}Q){j$$PEY)d|my(-qdR)H`+9_%1lg*PVPSx@=g7VPyj4@kQ!zOlK3&(j&m zv1BEPUTVNm^imiv8og8ld#PnWX>2gys7&=&+p!QwbZrZ{0bvzf2;i%2;Zo#87oR`M z9Q2!+!`Ym9*%4%p@s^Q!Vh?0~$^UES>n8zW4Ew{To~|QpxW7m&`*RI~yogIvFeB>L zaC3_=T>JD>(Tm(VNO!B)fM zBR_$iYXB{K{7kSTrYiNDU%})SCnK?E)R1T@*Fg)hkCS$lweT;7yiGYPOGly%TF6>i z+6iH;$lF=gI?uzDHJ_2^z9!GYT6Bv0SI*-cfCvAWX*OOlOw-%U^y$N3x_gxA2~noq zFaPhE&TWlp&c3$7bW9Pur&h{?&&A?kfyphWyQkKRqtEi58!j{#fmE8RnJC~*bKzkr zF+;^V-6D8~dC!T%?r26mT9Y{b4=~0MyohgLvd43R}P)0Or?-3 zi?Wl{s6#Iq!sYgpPG~j_wVH%x*;=?B+uX2JhK)@06}m z2Cf1}W(8N41`zmvDSww^%6}0)u1KVuvLSiry7NWP1LzdX6jj5)YeG$c(8U4dsL*Q( zFoAyrnh~-;t1fF@+#^s-H7dldGDWr!H#+PXal=d`75Q_MAsZba7Pk`HTOp5MGNG!l>9n;Ng9v)+W4}yL_9tzmrM6ahB z<-Ca*!2Kqq5i;EDA*&2G`@{`!qkgcmC?D7!F;a)%tudhL;ND`m>*4;`a5upH3EX)| zz8r4-95@i;sm)69^{@_cw0gs3h>-2*PLZs-82#3V93kjOR&o^e^#+=i667#I^adjs z3j;=Q6N*l+KrrkFCg2D}&e)(!(+~WJqWI|XZyA#sO=G!+tXCJKqmsGJZyoJ}e}qS>O%87fuFH*9dC}*QB?p6@z7lSKk5@760dN`VrV_|<)s(u4eZhIUP6s*>53o8i1 zL5k$QM>FnEUy!&(hhXBaQG+XJXS9lYFV4gM4tKL;vzu|x0q#wtnVSsJR0{M!O@pRY z)bm=Pt|ZwU7fG`3Zbsb&s6RANOSIyOl@&CdT1D+>4K>FV67@qsy@}@6hb(fv?0Km$ zS4RQ5_k?D=fnY;3V&q+&s@L$IEkiS!k(MH@!$*=%Z5wY1@O!f zo~f0RRl{6J^mu)aIlML`@pqh#{$FsKjtrgaCLud;+8{W^P`y=7Yj}lNROiSkXv4)F zbHL6ch=R8O-U4`?26xRR>L7QXX9RaXlRF={n_+M#r+c|w1f`im-uXF{X+|vPeYt!u zjG#{B9c%uy@x&y%QP7^?z!VOsu^^5;ArJxo3EoK%P-p3#0`C-fxnf0mHFrc4Auo(u%l<0vym`u@@Bga= z;iQ~cJrXkqs4e;#+@ry-2A4AUY6Ro1lunf$ura{4@1qWuvS)!Mko*~(fwX}c*gwF2 zLw^u}f#h`}^zQ^)hvYJ9xPh9JkdlypkdV5kunK%lAn9$+GGW%MY#l<4*(Q;YV{c40 zr69SOY*M|A`Yt4b`RP9SJqLxjd~}D-;aSCx@oLuYneS4TNzrVofRF`Y+yeBLJ`$-R zc9AP**O+U)%#|}}&AGPGp9g5UxGo5}-VYD6G_n!)9Zg-y%@^e6^j}z#Kj`r!@OMiR z7!5p%`998BenX-{`c1^o8lq=|Kl2M(-0yZ2);|}|+}dt_tLbC8DvoW%w^{MWi9fx< z_=U1`-xcLL=25ZV0PD5b504CAa-K+$W<<_61Tbr zt(S3&iMj%ZQSY@DW1Y9YpwXxwxP2Rp zirMKC!6j)U)^NX!5_|$7Ioin_eB(e_a~8i}8$0k*RU`ttnL|K_-`M)Ox!BNig(M3H zUE%54Oe3%8x|2JELO20~jXvV`Sa68%yOcum#Fy15nU2L-u$qfu05|p~7)!-mdy?x< zxyFht7M^g{H#l$}*11xG12<8L^!>0-v413MA0}jLv(dh0XXEQo{348H?&H`!)759^ z?imFy=SH?mrPywrwP)Vl!G3O!ciS-U<{<%V;P_zWUe}XW)%%&hCP8eRb}FN-m5kyh zY3v}`L-GOE4q%|(^=u-R=m8>v5&CRm;rkp~Y);79SFloaG+F!R^?)`cm%oU{&ReZ? z=Z2c>NHu5;TA#$XYqEi9Y<41PE!+PngYH(>`_lGsWa#R8A!wA^oXW6+|s$?c)fax070H4D%Z!*+Sm8p7_FcmIn zvNT?Z*$x?>gTpV_;_!q(;@XE#TYWf_XngyyArw&h1jMkT7%eV7vhLM~BS55OD0*k> z-og*%r8pAfRJZphMoq{#;SRVCH+i&EF72c{F!nI74`MaJypI0d8LA8R>0}0MZjqxQ z<^*3?ksU8b8=(fQKRSc=;K+CioQ>k9Gn4efXGIa#M#iVsngF1MTw$*IFlF$5~D!Z?I2=?6h0rr zrn0OA&4!`BQ9_hu6A_97Cy`;^?{UuE(V=k~RGi!T7PdzWiV`2JIj-E#!voe8*y|)n z@eQ~=;5x`y>k1x3EjfaMQWl5tS5S6a!1|5yL9U}io|cNur!Z!23#1+(b(-~FNu09m z2S5`|6L!u^Ih>H9ht#dui43uK*RR4_gAhY^UfXy|WGjHRpG-9;efPRnNWt0lqo<7& zb|F=n1B(}hiX=GZ5C!f8rcxbx8B%~1UgL}M?IiM0`rs2u0IyRPvZv<8TbJ@AjU3b& zvE4*~84|$VKbnw$KUM;`E~(#W@zo$x1(c-=fPov4Jv4VzQ|qC3)s{Wh(mi7x+4DN` zB9ustJ5W%K``?1-NLeuo!`#{P0=xm+mg&@o{Ch>|WTTeGZYO0Cw^j(yeHKfe)@yY5 zaZrJp*dG;-*O6iBO;3lLt`Xr!p?SO^-s4J`8b zN_moMWRm|B_Qcj@}k|Mcwwrob^m-z;3V{vgN|unUnx*3W={7LRQ=DxJOvK3CR3 zc(=nl?`CYuv;iKK2X~l28wwDx8ZkAlPLc6&AH5dbiI{Boo<~fiTEqcKAvTx{ss(_4 zo5*=k72P+(-Kt8d-X`oRK`-YH4lLJSdY7!Fsld3%bs6?cA8cF$2ufgr=n8`a*Xd74 zpvw)Q@Iw%}EDEKhJG2kQQEPot6g5jE4MDPP68)>W-%0Kt0Zmt+KdJIJ#Wki2`vLpw zBtgjUL;YgprIa=4FD@4Jw+C!xmOghcDn_E%hIrro;RT2@8b4qN-wm&6JmJkCqAkm2<;>dvswVlB}!jM+%v2OI^*KZ zX^uqRnThSBn>*n?!z#dFg(`sSJ39E<`J0mRcbAVwuKG;Ksc{Pkc^oUmF#EblQihO} zA_8zP9Td{hxHU#zf)qiN_N$-=40YnoH`iz<^aqeu&{M_REinfUT1Zq3Jy9C9lhM#{ zN91IPOmF`?djC`YCduK_LgPO`?-necVxw86r1!5+g5CxKybOTf(<|itgT4`9sId;M zQme?*YzH5)TPl8RgCimpdQu!h(sm;xPfM=Hi=}B=A?2%Jg@+$OYN~_$-o;T0p-KBq z`<2Y6@6$gA{n!pnez7Z2+@uU^uvbMKL@-utt?gvu!-sBvHFqmDCK2CH*ag~WA*e$= zyaD<6n-g0KoN%_`2RivSO0RqG%vJ2e`B}iPyPKa~#E)9A4|% zq+;)n|4^nIWitR6oY>YFhZXTR#D?>OFpcJBfL>g9#1j)P80Dqh^NsvJCMMIuGYS9g^Aqr zzlJn~Uqfo(C$7Fo@T52Dr;1U^)&#%>XT<5;59!f<65GG3^=-&)81EnRLVOrqkv7yw zbI(_mM+-}S{`lKh=Vu=KeJxLVIQV#+{xb}e#wE>lQH~EriErl`n;Fe5%89xM#5%R= zU^dM9ri!L3@F9)|kW{TWV&4%-#|Me@SAZ@j3zu+O9dpNId?Dubxc;~~*!e!p23h;! zz8~L=dE;R4cEBA#M)~xBhxsDV@mb|Lcm8tN>*mt)FAZi)3b^}!y^s>XjC__^)*jb*>%4$|)b#$+B zIpX@@Pkg#Q&5yz;D55s+fl-x#QS%m<1zBIs9q#s4h%FjW+wMUXHc*9UYW+PUM~>9$ zo^x0HXm_ULlDzt0YIe|iWBLwtMP$3S6&nuG1LI?{sra6vfjj#;0N`EBnWQ?M_6g zT3fiT6RtLJ

      wXkG3Jgg}%~u0bFhk!#LY0;fiAx?9b}ipEU@}HRgtLR4fdbadA0B zh`DW6vj^s(5f~ls#BMa)H~W?T$q8AlY!?HeUI8CYD8|F>$~uc$fqoF*w6>jc;4D#& zHrMjlV5joI$atLCi^KhD&>wj3iH9?FD0{X}?Ag$%O=73UJ3r8~VJ^1-djb5LRZ||v zL4z8=tipF3)1YioHK9*hBj!V}t3qDrfEtE7-WKRDqT>aA*ZuO6x2&_g-_8E^{kY{u zvyOYLQW&pBO_2SC_H)M0$d)9JvGH2#Yh0P)sOd$B#4xbl$^Z-=Y^NvMEm?_kKRYfuTC`u{%sKm6amqzZ<|X3# zlWUuA+l}M!NULt_i2d_oQ+IsfCAdW`C#zandJsw=H=?_=3USr$7lVUi+a=(Vw|P6= z-Vo+Qqc`nZZ$(v2oi0|ZdE0IXx9v^<_w$m>HXrmi@&j-!uHE%k7cAi$@EiB+;*0U(hFxwiH_yL`sXJj}i5>gsm(APxZp0yY$b((&yjjjoXv`vw-FclJ z@8eqq;VR3{LX2q0;eQpT14!ei>2W{byqh2qbjPm#XyG1&l;R7K(BD*$ zzY~SpTk<0k)mq;~29d%V%AzEXmPlZr<9s^98|T74kR_khP|&gQMnmf$n@6vti27IJ z6|lbLio>Q#Sb@0Cjh|32*bj)|5@Hoz2}y5>8|`w6annx@G;hZu>-DbS-PT426`1Y8 zl>ozsyr4PqT=P`;VHt}%_j0nnDf}{=403tnV2KqDsZ8RaJ}@-ef#EB=D73yvi1NaR z-GPhu0qz#p_U#XEqvbCSLok_0vRWoNi&tw&1cg@sbuj>9iTfD-^NE`Q3WT+@eBvC8{NeG5|>uScvMu}JZ#NI_`^tP2b< zinQ=cz?`{4zzhQn%H65$oi~iw_`$WThQjm8XNLs6O60krMfqSVHITMOLRbI+Nm0iC z#;5t5S$mabi4>J6cY(SNB=$v$xiZCeyaLu3oOOag;=E5nti}sC8{ahyJD7S}=LO+g zffn6PpBlL%+OQB#K8`+KT$5<~8MP>%Cz8W2GG@D)LDaeqfJ=vrX? zzi!`g9xZ=_|7=%fSruv?6y|bZz|{t>!1B@}C`4qNQp{CnC|-Qw#fbl{14=NVbV6zZ zul|x@KQxEI@@!myJ$7-Z=&bVm1R`dq_(?(D6Rs4$#B4BQheg?HxAzn0huod!6njnG z-gDS!%8iO{@6lmA{JQ2N<6C?DOkT{l_5x`>WQlJF%1`bEiWhW3ZlW2(cn_9(mt4g2 z3s3#99HJ|8#F)?D7epU(VLsiJ@Yg0VC5|DZMk&Rk;RA%fS^)AU%+F_gb99@_xb-x7ZaaHsRqT2!1=zt5{tffhz!pSGv7B5o$B*d9e91w4ONHlySROP(VotH-0=Ps~9%Hc~9 z8~H>j-YW!(xi2Bm?HHawdSc_I{1y{FzKDFPn?JsIoLL6at_L#tIYh`2#l4`@HJBCy z;ter)G@~H$XNcru>>qwg((?+iNP1YDSThaZ2tqJ}>-KKL<)652!tFg3z8Xw7 zS0CC_Fr`GrVg2#(%bc*IocKa54K352n&OXiMI=7&^2sn>A-j+=gZ;)Vc?rO4rB)Oz z&Sw7$*DZ#87jSE6@lya2-+M_!991?+ZVU!VEIcRx7}za|KiFOn?@D-W!3rD2cz`u9 zlNMGsEiCLQz!zS`S6#&SUC>)i5%viLjV&o%UPpS0my_T6g#2dlQkn-`39oV+NccW5 zuLfO?^S%f36IS}|AQd)g%=civ^sz1KJ&bhW+XTT)i#jG)^b;sJOd2S~y@@GZZ~ich z8eB9-KZ7yD@4g8Go}Qip%@$t@DaGNr=%-+qa|&~g`4r3~neXmP%zR(#f_w{QzP?@} zPxG5F$aCyBE%QvTWQJCx!ty>p1hW<@`NXosSI7%}qj6m|b5q1-)?DB38k8XDKt_ zXg=Fu77NJl1D^*i*aT>F0iq$M4|u-|MA!da=Cy)3WQuPP;Fgx9xTTO-_$`7Wyp`fp zC>Bg?D#bic=WjZv6#pR92+|KEE%cv?p!f5iI*Y#Wf=V=!1-(83nCSo~FadErU zz-P`Nj{$E9OH8W0vCfDdI-gtsTqZ5+Eg*>Lrq2{-0tR#HX8T|PV_ zFLWuJ(wjngWt#fp3Y-Z%n~5qqG%z-3Wt0k&I&N1&ZV7HbdT-f4c8y>>6YB#1NWr4i zE|)TVuQQ=vF)f7R<>b`1{Nn$QyLXR|y14%TH`!eX2-#>8OIy_K$Iya+285Of=q_wz zg8`!kMa7yBf}{qB$p%rm1d^cZW&g=kopI`^Rq|keT<~=ggTiXU?2CLyd*+6Y~m0*a&rItEd3zWbt6| z-?eDbzy(2f*|sBU$Anmu>P5Qc_S{z3?VH&h9k-45TJFoiKI^W;Y1~C=>O6`>kfpLs z)mWqpZdJd8bCLW}zSgH8+8T>=|0Xw6QEbp1>*Bd%*o{(ptn5yYJNM>b;X&HBJGEc= zmj5+*4;h6t-G|`q28mPwYC#jzpzLM{&^s3j2mvb%1*s#d8+WPi+e+B3wJPjuxtCam zarmh$P2)^Qjiwf-Tx?fsYBTv8S$fpBw#>{8uvx%a5R7eFWmd1rn|{UWm5Q98GFZR< z<+H`{V%bEzVJ<#3QiHkS&6=z=Om;{HYlHBVCQDe;W&zB?^M)xo5Oi-^rPU1jH<^`^ zm3FD7Q$VI)H6C0a(fOX8bQnp(CeSF^KpGV)>|S=0-QN?dnKIHQ;y~XMeQruTRM1(t z+cz_TWjVzzhehYSwxsei=HeMt#T2OWM zbLYm{=-jd;zZ}61B-F5M9H}tGcP-TzC`xwJz~R`IHHWCm*Sr_PMqzWD!e+-pKLk&~ z*w`Jy(-3^D%3_aK*bXMO2V84(LOB*5haXMckonN0iAolRwejZuCmQ zwnfB7bGOF43%4NxfIo=Q7g)M&M?x7T`4O8@Da-OFAjw&u>_$9p_rH~UVnbU5sF*io zGDk-Bg8xpQ33o&K>>KF$j3IZqFwc$0*^iS}7$Alir~`VMTNHh1L_(5n_Wd+0Sok>4 z@&W78qs)MinFnP{WxKXyX(nh}yRu&}`b1ImW$k4a3tC~!0jaGErpG-8>~;upAKedV zma)=-T{{hSahleg(cKFUK;j@)svR8mwcH8^%E6aI?tMiOES2wLU5F&>h*1}K#iQW{ z_B(7B-ltchkqbCu;IKWmeU&y)@LDj!jtX$*iW3ZSxp#=2;g05tL3R$iw<#cc*t~jv zOdDGJQIi9u)B)a?X?ql+lG>N-=72`x0AF*0YMfWu*=c=jcUqAv#j@5~eS*pZ_Br-& z<)>y-AkMqE^4%GgyNj#$nVVreY0kud_SkJ!hW1yc!Mtl8YhGhES>ne~4LiYXkzRG% z`LiIrA+~+B_D2Tp@V~{C*py9Ze`KH0)W)dRcmHZ_lCatI^OIf9F6kM&`LmkYVOq93 zoWV8;*%wC^&l*nKcRw2zrjQ{^-Og6Y*(pKalc&(6J_}m11Bp8u0r9Y&w#O#+OC|!%n{Dg(zofi4E(e z1ao`L?5!#vXQ0!Yze*I24I}|G`_O}C+s(MY*Rv6fZEw;(klGG_U!biBJ*EG|fJu4@ zvB4Wyr&UT=1TZLr>rAgE?c><#ZQ9g&# zlzjpvpKD4swTNQcW#$5GD4&>7;@jy7#vV3necW@qLC7Z6GSwYw^|+hw5Mfj~voj6{ z3$br~;UU!@nBtDya%3ioEXCo<53!J(doq7YPR^h)6mmewL}P+(&laZ)pcb9U_PeK; zl8ncukW6(2-Jvb2OIg4_RT-bOG+6j4)xDbhDJb#9?8T1(qG_9H5}ht$)jdBp?v`~L z>i`@EA~UyLBTFg|&|}YuF^?guFmR3JX2xLz>i}&JotTlPxHbxUt(Qt!CG{p+1RmEe z^sFqcoQ^&|)$M7eQ<%49jNGByc$3PkJeG&?#gR{ea)NhLfDRSKJppH?Bwqsuv|S3Z z!f>$?6G^g{!sR}T?JuBNn)uy(W!Lb>#-BV$nBjfFW3gSPR1gZ7hvY9`CA^n}fHTC1 zxbrmfZ!?mDy{ssPSkYoDD=?e>_e83M$Pg;Cy%Ua!ug^FDZAwcDhH}OT`lL>zrJTEnwka! zcHAZtk;{_<#hg#gAr9gC$sSF%@f!$aiTfcAB87|H`pSFJe2soxj^I8c`j6r$78dQk zQAio!S(}HC=)?)h;-H6%D?Qs_yUKDh%$}{08Y1OQpJWDOk!H_|e(v9!rEBszKhAMw zI$JlZfM!dyFA09rVmr`Kei!*Q7CpO`$O*l_j?wnd;jS zIWeQCmz$L?|xAc9@YeB zK*Om&_E69^*>mabX1Zw4ZHCDmm(x?QulXh>WH2_aIp~f&e58kS=z)CukAS?dQ#4w(T_8bgc^5yebr@zXMPbO{st&vTX9 z%+kvnjp)=jD&fA*NTSxhugdp4Ea5GJPL_~8#g*^rt~FGi$qK_^to<;1ABE&|(_3$g zYk^?i(gNmhHw==q)Lg|$W^8iu?i}RBZePne|N0yq^_p#3o3%r?Oyaa*zhg;-$$cCL zH2*+fyZ-4GgpZ}C$5Tzj9A_K;5Q=B96c!>@)?{Sn0rr)xo+&Z*v)X>JeT7<@9iJ)K zq$l=P#a12^H9jd#jVafkE|jt;y>-L!k2y^fR4*3a9HqhjVczW1%w-+lEMkhm56C zbVp}LlLc3j)>r5MZ%#>yT(0$(1>c#j?8g$FHW)Ag9B)L|8o@vh5Q}VMYl^L{^gAaz+ zbpKYJNtWt6ZY{K^*_&yXu`@|4<=3z0)o>bYx|I0s_Y78@W?Nkx=RT&y#U16QxxVHH z-XWgTj-GeKzg%35&|tk07q23Zu}7D-?6&Gnow9^^rgu0lq+R<#nl%VVzr<2nLH88w zf{+iz^|d^}hws6>O?N^5z30MM81WX_luRi*ynaIEYy4zJWZ;)cj}`^Gm(!Grv~0bp1v9!`C^a+M-y5dpI#v^35m2iO<64ea)TJWs1%*tBTD+(RWhx zBa$vr{(qWk@}^V%P9tz?&VPx5<+b(QZ3Pn88|VBf^nfP=`_$dO=JO0U;l0>oAN(U6 zbPr1IM8SbHy+PR+sSU=~-zpY313P#rflUV`zUDXCh+yA36#bah8ot%Y-*!dO z9p`~AKq_PNCgu9w@~TZeB7zTDC4z--!%zeZkM@Li5(;CjK?ugL^)$WhEqr^~*?PG_ zkisbJ25#U4W4VoS&j^mDGyXz%T3~&jf&Sjf`qv%l$Hkntm;ae|vgP}C8UfAJP{wCv z?5sfBDUBsga1V+^4OT?&Gbj=@_>xYVP7_@x#6d)<=7nsUsKF`OEcdcwkMD&EP5kW{ zHjEExdxyMLX+fcW83OLO&9So0FkoA3cNpImKg+Sx7N_KNwW-I_6^ES0S^TvXCoiW0 zUT9GH+_P(X%cJKE-xHgZ7rlcajGc1M$B?Gj;F!y-n>EJqUS*uYzr~3j6wyLNrO}IG zg!pAxi4sOP0jwqeE7zX|MyN^`R1QGX{m5;S#5bHZcQu$ zY{++fExKBU24U)P0rMApr27?$FNaeLZ9YQh41+jnK%d^pW-RnfpvmyHbo0ewqgE)S zGPZKh^{Cz7PW}B^qgHE;(rXEVhI`yCWL0Z3eQV!vSjPp(3XeGWkkOrb49o@$Z-fe8 z_O;!n;JK<=KA-;CjL^o?wCdq_d^ zO8{6jp!r4P;Vk9a95Z1>Y1!s{ZIa&%r9K^Cup!+aE!*!gYXe)cqby_+W1eMlSTez? zypmv%K0{2|af7NNL`nT|ArEJ zgPzwh*z>$4@+^HfL}&x+jam{Wz>f4LD#(x}UM} zr=Qb1>KbkqyZcz#5V3uX6Rvzr;~$P%ASd4^@6H>}M2+>@CwtJ*DJ&T6>cPg?_{R(V zQ0+JLV7Y;ZgP$FZqU!2zD7sZh+R-RxK|f^{prfPqCpp)4#Bcu?OiXP2G8&^Nmg(X7 z>Y)T)!Pq^fcNq?(85{#?rO~d~rde;MPljDZlP@3~(>qCOlV)pD_WvQhWX-*|*vgMy)qR~)%m zwt#m~iA+HfHI-y%s5m3-LS~vSjvZbUx^+%`)R3@yy~#tehctj9wHqnJ9r}Z*U0KOy z*o63`*-01O;>5^~r>!iEy-| zi1!W*2jFScWUB0@?H)Lkv;a*=8jOcVv({Rg>g)*zWLR}dN1oOzL;H>ZrG6lRj+NZv zaSx(=XYpXF1>Gg95k{^Kutc%9GhEaELHGxg@s2O9i$}?O_!LQ@9M#T@7=oi;`n~#J zBiP|azi*??aIFXrif^VEbVaICH4@;&+7d z^Hm9E-44i!?!j={J{xktY{9F$ttB|rQOud26#=uN2aH)ZcJhCgoTvZ~?<`1%g2^cuIp))9v|;G571$~{5FXdjD#me)7a2}(T?EZpnF z`&vtS%V1JJ`_WLIr|1mvGD_FU(#L&5s-hF`wI#HkM&ja12;|_*!-kk|)rO*x(nA?M zC8P7gEOz1t*omj5q~1+G(VyDc0wz?xGn6&^ zuTa|_PI>BSXfLL~h`vL{`%~gW>^z`nLb#y&HxfWVULK+LG+)gL=p#DVgUw$pDgs?- z%y>?e?ee3{)elU29nf$pO0wHU0_gZ*MUk!=-Sca`(gHF2t_-b}LXk945yja++SFr! z=?EUsEQ9U$B)>{^n~FE%b`_!=Wa0fR@MdZ%mXna7g1*^D zjHGS{`BVEWscQQbvF0YNMIWv2pp9Tf<(v;0-NL`ATC%3O|1VFy#YJ$?d;)-lgVfI_h4EIA? zM0LcdprYQO=*P)8tE0p32;ycY-_c8TQwMnX!?$)7A<4J+gPte-K1J0m%g?t8oze$2 zWJ>3Z7S%bkv!)#p`t1r@L-LjA^0(%<(;*>yLAd%uWAPF6Gjm3&2C^$DxnQ>u>9c;d zT4heO(eyGyekdbhjv8mG=j@X0F{9KlpIC!IkIKh+VbU1v)V^vjHKB@WP8ri$n4Bz1 z$q*{3I%V;2IK=HqSuG*Vw9T-vI#4i}Nkv-fq=y+F)Zdsqc7|D0Ax#QyQDMy6;S2(= zXPTFsyvyGQ>*6(EhpRqS>Kdg|+E^AwX=A_P0lnM1z(=XqIx2^gKWZ^b8&>6TmoV)! zwy6CL8m%{Lhoi7zWLga6jg)}yAzg6PG>ROhL)vC0Gw=C8a1H9VbaHbkS%f48+3r4> zXygEAj@9J+dIchvf0bw%A($C+`Fl`a&Vgk6;_}sw!1pkSbeJBZ2i)=l&?Zf`Xvn*7 z2+fwQ_JC0n;ZDq1^w;U8P@^RXnGw2xIoe0Dkm^h~jSK=f2r(f&X5k(Iu~k}?=C3*7 z(Rdpv@yE#*IOK6yxKPxtHAS)-l4gY+b|N&?nn}kPX@73B3taE?-I) z_k`2sx6EcpKu<$&xt|w;zKNhVb!Flcg>`VcDbY_H)pzLz&=sN9c0oxIjtII6a$=yy zR&?fU-;7)&ohBXGBM>oU+(;*qyWbSQhK*M)4281$h|DJ&glabQS+hx`7aF-5srm0c z@!SbLT-KDJd$ks+bpM(kr@@k5Vm5Y1Xk2fRzUBow4b<|QF4o$$HpNbHhkoUm63;F8 z(t=w?n8QS?MM|Gmc6eH}@=%>Cc>t`|R6>sO-amy`&SZL$twG|xVntfDXgiVmD({{M zJu_3_S%)?{a{y%(`!pkDGp%?f8aSBhUWbd66t{pOFmh*Z(!l&Lm6rctaKXOB4o(=ocu1#tyxuH9m5-X$ffWdP6i6)pkP2TJeaPUP@_gBJ7m|&JNNI% zJRbG6oTR2z?wcRoWNzNUnecqc+w(iTmy^H^=)D)?$>fzKyv2Bx{JG%6d3dPMA_`9uo8}CN0lbPS9Pf{pmM!f_1>b(rMN2zjG-b7_P%BXf{E`PYC4G!!N zd)0>y0tjkq_oV)K!+Tvk8~Ae5zDza}lSU?<+RH(ZZ^yEcyvyF1Xy>a0QR6l>I=q3F zJ`Ged87-BAP+7~(*|(qUO8mAcl`7n~Y)kTFuu1p*nm;8L)hzD6T`FYwm}Aa!@t8}X z;^+2pjAX`3Cp~>WGmrhuu%AtzotRGVajn>COX+CeqV5E;gg5kOcGEsjhY-$u5DvR) zy)Mm2lj5@zS3G4#!t_bQ-!l+E2$NQJAU-z=xyOt`?utiZdAGOq9ffAT`i#Pt_Ot1; zucUjD>00sf7xaX|P*Zz*LY5V;CC>-4JHvhmPxN63&v*I!d?h{L>Zt^99bbvS(o;z< zWK@Z^Q+*~M_-I}!vRC#IWc%8t1K*hUuDEuXE4+!%cB3$ORYvrX@BWuDx79+?EE4~G zx+@gFHZ$R)rOedsgjNo8HUnF}Mf6Tk`uSS&F@)RY-uVNX0 zCviaW7!e}PXQUzjgX#PaDF1!wuOH~^ZoZ5GFYh{i#(F+~s?TLTpLgqXVbA9s`qVqR zQA{X!<9t2+4)c)B6}LtVvqx~-xBRZ?=nbtW+iUA}r!WCdBI%e9qutTRuzhj=uGFrl z6NOJ=`=|cRUVKQ7hs@IMquWeRePl_VrUBiom1HZS$zK`J>piR9^TP!ITbntt+&V51 zU1e4Ilc3BG??LO6R}u&P65pJXN=@{>AH%B39^cwV)>U?V<2r}x!NtZ6r*b9CH^)2g z#vHzL+voerybCH>p?IKp$fazrZk}o~*h&+VHNF_mz!ICasm5>=suRwpoBr3CrPq5C zPGZF#MLBsdLJ~>xfh4DSFVQrb@8TMWykWMT5>61)$)|H(_j<2)5Rp!(xO~Se*^<1z z_%C3x;pkKrq^wX9zeD(aYnLjb)mFlCrUbB$BW<)qK;`CY#GJ07!gLrtWlNRh&!J_u zgzr!SXGzQQ=VY#URUEs5VR?r`+?^`*^lmvybiYfVVzD^hptXF1I@U;fU|y;KprKC$ zbp46Z5{&qG4P2e6tGOhL_Uj_WRO3PTe-56s-12jGDdH^>GWT4hC`#xWg|GQsW!4pn z@px$B0je4EsB?4T)KF~v4?$Vk*3!)hR;1o*6GcdlYccOopQ!B4 z0aACptR08lB8Fn4pS?au2T?||e-8T7*{~SO#YQoq;uu!-Flcpqt@Z;Opi)Y)x75(< zmF5ksoTJe1jl8b0Xw7d_zIg5^ckV3{?RInd>EN>Z!boXMV10yTOgC*QnSI(C=n8-$ zrGQ`fiZ8y;Yz=KQFc{`wSMZ_bN@L&ss^sNXBXpETh+!~7@!6?x^S5GPO z7F;e9qTgLX1Fe zF?&iiLzD{V2(9t8Jw|SO@j^r2dLy4-KsDMP6DMu!aA=&b^-99xQ$G{-2&Z)Brxu}< zXFYxBBFcQewmYeiG26)+NKZR)WNv}SmoWHck+g)_s%}U!Bl?Mj&%*90Y0b(Isz6v; zTa6g*Hx3PS`^*qmK8mK%D$Xc4${5D}~EF;ie8$w%*48oKB$AE-|z! zTe&(u^%JM9&_)QBX9bUi4}SH}YG+;!?F?eVFE;*6`C?HcTkm0VHK%T+8wRg-y`&nAMcUp9I21^n$5&YUG|R`fHJ>f3nD6{K#0HzW(haqpB}CE^+;B&{_V%f-5*tB^5WLe~61!pqq~uKBaj`dBjB>w=)*J2OIS2x_kx2#qPz6RPP!iP^BX5?x ztjPU~Wpq2~0qP>nS|!s2Djbg#B465`UrLI^0@D~6ShdLP3DPl7jfW{rb7U=xK4dp; znOO$?FRYhHg5bR-P4Tr{M;zX|%wz*TF=nED!Nz5-)R}OHy~HIs6Aaf;pyGLmuW{M% z)NlxpLwl0nHqlnrW1_QCBl<+AgmKO^WYjG7gVqNn{c~p9#%Fs6EMPe{PD551N#JQ5 zc$dUC8L3}5zQq6_t%+Jdi}aHw>Nw+lzk$6XdlO&K2 z2>}oMPlSL*3pGudd~I7ffG%?X)Cd7L;RkneR`DX&=`_SzW$!$bz1%!nk-Ux0C#Jl` zUV2^fKM{#x5poN9s@iWPYx#y~YZ(%q7LO@7>6^(UUK1R4gw94M!|K*qbqpgR)9Zr0 zGDiy<;YfhIY1LQx_3IHlCLTUp;2AyY8NqyuNnGq$NjM1h7%K@sNA-WM=eo-d)**2DRV{ni!7(g?k@lqdj;7DNJ6Y3RQ#(A(+7GW7Qyj0)g`;l@ zS7u8wz~T1FqFDqsTQ(1=;(pk?Ptf^pUimEj5;r2VX6U6_;<57I0j1L(*dPGzL1t!P#*6VxzA!t$P7pb2ZV={!#O;*~oNp?j<+N$5l$oo@PN;o>O1CDr;$s zQBz8{ZA*9qnm)t1hZDgDmOU!ha_mH+KWIAr1?I(HPfvOFa| zNOEq^3KbW0w;By2rwm_wEEo?48t5HU+()mbd&jOv1^d>1gS4L;V_#d8NPzY{s}JM+ zkyb8;(eH3d?iuM0cj4iwX~P;T&I5UiSNaz-?UbMci8&l=tHWwrWdyMK(Z@j= zX&@kj(V2I$UOa~bBVT+bCD8^=k3JAlUuRfYDF&Nrn@p0Z_dE2%(7Na;XW{Mej^M8V z7EQFg^%0h*_Axr@kr8)!eQj;{)1Uw{bz1SD|2W0*>ABNb0H(!;HnU;vI-#ehE9QhN z`vSyWwk8XBG`xZ>$>`)g5|I* z$emWD_x#9(%zj^|6=uKxA|CDc1zGWXQwztfT5)cyKM8v_`e(7xA8e0V)|vhOsqFU) z$8|Kkr;Yy9LeHw6js70?_ zcjW&Ke&2)M%DKo%=Hz=OP4zY3OXf*4e9ceevV~{+4g|D;U&4m2_q4(oz8up&wQ(61 zM#afHW!(E9UrvM9nFjA;FLhjlNp|xwnSRPw*P|BB z!bJxkgV9u{nP(*4M$0LxI* z$Ni(B_2nx%$rqv!*|!PH?ZS}H_m90u`BI;u zIxVBRG(Hay4xt0F@oykP;0EMZ_+Y(lMZO+8<+tSwYCAPD9W(_nb3_-&Y?OQEnYWn+ zQCb%IzN88$6>h2A$OWiwiqRQvPosmVMPH&r{Y%4@9~-8JZCX3Tn*#xz^HNM{OS>@& z>MO#JCaHpa&0mFx6!~_ZT?ExAihfM_Wh#HnTjuta1Mi~3{X|R>V3(cD5MU2*ez0lM zR98cmu{gVb`CEE1q%0I|=N+FB2e`y@ete!kMXTI;Shq};N!lZmWJiz{e2A24hEVIM zscPyJp$JXC$R1H!3$l(8TGL{VJVM*fsfp8L`m0M~_d&+w76MRYN`o@?Nn5vB@9V5% zSOxK-Xwny2mOrVe@UtQ+#deZ*K_L#UYVv3MX7Wc_?%XY1U+!pd@G$$njEJ}E41nAN z@(6;5os*`93R97jQs53Vfm4+d1Q0VB7{1U= zM=)?va-+EvfmsS!hjtj11mKL`HfSIq z--v?${rkadBTA^W$Sb&0eBqW=0=Zh_^3B)}{sxjkikrU<*6-VC1Qosouz`GGBH03X z8RL9k{Ocr37DBTu{XoIg*W5xeg10Pv%I=lyQ23fJB9BE32c4#eE4ht4-MO=3y8aPn zpU^XoOQVCf?T(eTmcz<7qa915CK)sxLF-0vtD6A{z&~YW5K;IUjSQIPw#A)5tlJ%;f%KI2WIR!ZpS4=<%$vs4=Vzyr?BHPU+Tvj<>Ic!pAAQ6pXGa{52VKyqj9bf~Q^ z#pR-u7U2~hNqecQ7LjW#*Qn=ktEnu%tYK1Y^xxXyhoEuV7q`5%^bB+EWnO;CTFhI8 z+#czNWNk+%Bef&zEFLT@$)C-udwc(lnN^ct6VlX@!hC$Un3h=H9z^Q&C$*2ayyj17 znl#rHd7p1&r86r3HO2P_Pu+ZWN8R($RlIYzGCD6JwX8Pzy`Qo|8676BrsdZ1$5Rge zbMSdg%S#*1#oXbyZPQEDbj%*A?M8|?dFCQo9!;7CgUT`#lj3hEHx+#&F@UD8!$#<} zm@eWu(&br9jrbo$qYC#eA573}+UtuyLP#_*k`y}4t%=u)l3-cmBg`RLqgJzNYT;8H z>mhh7D}_q~=y>Op9_5IztXzMwas`~VkqqnX?~go6XslhYqHqz8vXV+Hz5=$IonqrX z9a5Q$?umIz_(l_Dh7w^=gW(NElk{%(&It^H#-o6J3yq_11u4`QhXe`xPKugxipOwa}xl*X%3{6Xbm1%RHlJwJy#PQPg{RcLT~Z+9RLj!OnmWm z3dLtY63e>+R=^;iG^W)`x*nOH$+-v~j>rujp+lXK@~y364a)4{BLFa;$peY~$oL~CwIsqNfEbDXF!>e(#myb8^(lG{b*_9m9FkUYqDu;m0 zVT?!3Js#hcY1vck|7#L5httw-xbJ93LqCO$`7kk4JIC1IYaX$MME8i=w%sTW^YhKV z?~9wA43XT_QBECB4T%pB;YRl)-_|m!`a^x<4iRVYjRbc?Bb|e+6bD(gcJlpWySP){ zMfqcFyD=N>Yrd5jt&*851~Y>DNZ{ToVKHH)+8aW0?UN9FA#B$_KpiXn& z;IQlm{hZC=ZgYZ`;sos#&1ddqSWBKLVjGo$Y&yf?U1jP_{xHVQN}`{b^8kl4GItTuM_N&Hq=luk zuhCE)MagFHb+krH(?w%gnns|t|4biW!IpOaskR&!=)snx19A5VmNjkZ`81tMp?fr6|}W1VOu z{_RvkSsMPgwuQ^EEqsKor)>+%q+#kQU$b8*t?@B39Ro8A=!;^RMX|()awO?7Sml_t zIqqx?Bztz7WF+?P!r^3vj(_6TET#0K8|hgey=Z;vXLPx7_XjdviLZUbboW*Y>SMzB zYzEpKPMk!0|F_!Eub5M)^zxx@A(u)UUw@pLb3l#Az;3p1@fpLR=M7K;G7f023}&v} zg&@V5Z6%Oeduxz+iQT#PdXBZaiz`1ZiDEVeTR_@{R6ptf%AP%PPcKGPM-HI7V2 zII`JFwc;;I&wZQ9lU=r~7nYAHd~VrjSh|x*Mv;Q_3i0uJuZUT0$1Y5$bvk(08Y;Up&ikijS4-|ti}2DfQBB`NGWoxXA2CKrbePsufv2F+HzWqZimB`F_b}{!&P%oAwSj57ewnbRAUL-gyrqX>$SF#9s(VvM$?K34@o0 zJ9Y)0#Ig&D^Xccqa`Za#+;8ddesmpqi_$kIv?|%P03K^{bTHw9iYaG0&ZP#hcuBdb*yXQ17NKlF@v>$h0ur(NRkaoeogp z8Q!56rh7i>K-7D3;xrdGTLB)zjlcP(?4nFQkR<(J(2{>BefLb%cE>9nZQB-jLXb2A zVoEz2vZbL@{m;{g0mk09@o5|%5qA#(+K1z!q2-rqK+ZS-B+4%{UW!mr76J^8C(PqN zy!6IXE~XVrwi+dpyVEdirh4J_ zpAFQ2SGfAHRvDqCSv7edUW`zDT>t2y;I=df8MuB7TIU@aa5HEd^FQBA295qRXpi3T z40fPD^(=YV!lD0?e@{0cY8tS=^u2TgN~+tn7^wkf@uC6I-3;N=<{=N1ED?0FzN0sY zw*7&g7QrzIohHz#jb~ii)2d$??=j%eT%uJp>RH~|3pRc1S@NK5-H+3)Tir843+xCL zceIx-{+zrmkgB1U$hevgs*56@T?^|=dK`r4~f8Uz#^~E#o zDIQwN3H*-EAd;MpjsvfiyAqe3L})jIy+cHV(AS|Xi6Eg+?DwY2qLjD(?bFyZHe7Ww zXIxS5Lfojg19?3pJ}14O+NybP>3z&Qog{_cdr5Lh#G8=i&z&1l;!pf8N@en~nC(yo zo~}$(sjlduD|^HwI%)|=kD7!#l`1iXB&Gr_)q4~l%Ukk27T9N2oD}fw=!loLb16n~ zTBZs4XlFzVUY_XQ}2+V>kyFAX*lejg`lem4D3EFGkVvU`b*kpiy zQSaCCQZY&q9pi*mrL{G1qK(uT7MawUG2!;t9VQcr%QzC;hD49z!dzFF^k z*Lt(YuPcewWfeE=&q~x&bk}#*Ss*N-KH0X26}foao8CuJ5Pzju2KU^tqO9oDtc2Ti z>7B%ta$DMYWwBvT@+Q!9=L(Hp8IR0%twR6kN{Z?OvT*FOtPbzk_fMmfWNg}*k+=$W`lUhifxmecZdt=w!JYtN4_8{Qd= z7on1L7|rLysmDWwpZZ#FBCV2*I21zI)|H*&byH3ViP4Dx@|_J=sQJ%CP6%;2kdNjw z4F^&;(2SDG*Wh1o#)tOzMobL|QloOXYq1SEOTEeXXvCaAl_B;(^e9P_%syf1spWi@ z5%W~gWIP&|2!)NMuu$|vsc{TPqJ=&`7y9rZ+>Z@v@n3P7E&_z+W)eRX_-3I1tW-yV zU}@BopLpXABr#Go{d2cQGVdXrp2q2AwS?PyH(?XKZ}Qi-b};Cq$`;V;#0<9PFv_)j zN0@^`irI-Yee4E4A7V*C!&{%XDi*8-gtJqRhhs~#5+6~D$v_wfZ<9}> zBKMRW?uH_kpOTY!fp`Hp{_h|@X(AfyQ2tQ+5JT@U#w8h)%mzuN_Y4YQ6eHN+S*Ihv zkbA4n`gpCF5^51I3p7~qEj;9F{WSw8op1Gm>=7|l>dOQrwWlGel*WOSWuQgZtfLn%(7Wx|umO`#ly=V&N8`Pc89rspz>Xxj?Bf?c6 z3}Js_WX=(lB>Ngc-dn7C?$E8CjBdC0N&FMNr;*0DR<|0>U?#ZEDoNZpb4o74rjdMw zy*I;KfTf>@Ksjjb{={R1@o+V|bH2D+;$eC|yF>`cNRCbqJ^S2n?8dCb&~$*XB(+Bn zHZV$5QjBWm!3t*bGzR-&-#zO~=QCn}iy zg~3Jd6Urm$5#T(8Up6t_nsCh58cbEc+#%b9fDuGh(<1Ue|dh=T%Wn5NTRgA+GqB@ZKIHRm+tvtYK~-O;J_ zaMS<_{HIAO2zmvqH8Yp@G3lKdI=Wvwk{(iU zX>s&miQ9W7QNV8YQF9QI`eSkGK;n$sMgNk2pp|r~&-xdApT%}TI6C<-H8A^U>v+F3 z%qljak+~obVnr~NKIOP2>Fkla#J7&YVc!Hm~rp$ zp7cwr*&{ppyO2C{u*o^*E??-`Xx>Z`CwK)M$WFeIEWB!;82b|YtZlXI)Ph@Q^LJY* ze;x|+XGefPJ16ib@uc3ek4-+`=82x-RY61EPNm-WUD1xbgsnRy-v{v7uzT|PGx*kv zb#of|I2`(HHs>dz%n;!j`^&utIMS2cboP!`hKz~u&KrU(Nyos+&-Tt9A&JJQ1Bt8q zGZ2IS^AcUSmq~z|%<^PR0=T-$QE^S11o+l#kRh1_I1P_u65wRKqQ1}d+|BQ?2*6IG z8(|k(V#gQ+2tc?Ia|9?lZ4jV6<~@h%5zAr@p!9XiO?7xbG-XScKKcaHI%5vtN}6ZQ z0hnX#o?GZDki8*>Zw9r>iBtN460Xx>`5FSuOUk}AUp)cDx*rwxaAn>Cg2{ThoS63{ z9C)p$cNQK<((I`B5`2lDacV-U*AQJK?!wRcFTv~>qWg?EF>xZA;zne)Ke2{*!&fKn zLBtwvc?;$iyE*d1}gBMtqzM0opPlXRr;J$9ea91g%^ z-is$=mR*;N9^td;Fz0Mr@E}Tr-}K$wfgeukfldT8pqexQEb>|A-zAjp9=a}!P_w|mz8%8vYt~~vu|O6G{DSGcPN})ohW&;+;hq6Q!;|64nG}#W zR?X|@_S}m9RQ%|U4qe@Kzp*>vTf5%QrQjptwA02XK~<;(V!=^oP*mmvP`HBC{(7p5tUQHmGfmSmJd1&^2J>UPA_9?7B!||kHZ<;iGjx5MPMK4*%U9mm+x&fmZvXy`D9kNRNX2_Bsv*K{{ zmk~W>B4Hig(fno9UFNZF2y%|hRHN9^B6HNntRV>HTU*1IVx|5fHzU10XdWz_F)_{C z8Hkd~n*3Z2!ZK82Ebr?$=%)Yrh&2^O$RX&Yv0@14=pOtaUlRvskqY&5vU6_%tK;Ke zOeew!cL6i5`B%c9*yP6v4_Ce$ig|xp$ja9G2l3c!S)zk?5fiygJzK#>+j~2o(szmaC_f}+)wlt5$bDunJ!rHG&egC2Qf&fJCCmo<^$3chraTBHcU}~KBZVRf&-?3xf zJV96Ku`e)QwZ**6%F5Mr6w|Q8jCynv0VukK76>-zC$2XNZWbnsiHqi4$KT~cE>IeQ z1nbJybZa#4GGdrYE4~8QCgP7Z>cl(4dmerVP;dUtZUul4-F%)e_0R1cN)oqsH{TPz zx%ho+$3fIY1#g5~h}UyBX8)LH?80$~WvDo|0wK%(M2QR%#k_Gc!dB%*UyTiZ8b1ON zcE_>MeMb@xkwQl{?~x100Io(70Iu6`d~0iSNjeP9fAg=h#2I#L0 zcWEF_r1EuLw}LGl-fGIxFF6?S?P&ij;7VLfJIs<6JLOk@7J#*|v8J`W2xpp;rPRKb z*Fb$HYd^9lzD8a6GvyzQKhdr=nmJPH;xHRD4|EL(H|@zubaP)n9J8`JczU*}iI)`w z!y8bssx`odYC)e3m0=6R(KmMdj(!*cRHFDZ^3cbhk~evecy%UvFn+bi*&k12#+don zB{@$nGGDtHKV9Lm!P8md!I~>^dgqnFnaDxHFHm&luGrvz8;@MKvMaWIjVMsdqtVF$ zqIh#9miJYqu?SNF!l0=2eF%7#p(*D1M0azWAuWfa-V>a9$hP&>(@+T>WTtW`<6~zF z{To8rP_yv5y|3VRdz<+?(fd4qeQVEgX3wN9Hg)7D6c!YZFk3IJpf)>)HuIPJ-g=ElV`UQmuNX|C+Ww1b>q3EZC7<-ztSWOHx z%@W%66$?_h0t?jstVRI!U$3a<@%^aqc%VK7b^1`z05$K)vw1W%wpB{ezWYDJ)_S7> z?laNJuaP7&fifO4Y0ZOqOvsW&2ELa%@I{%lQ4}7#mbauK{A)5eROwQ@yz9nakxKzs zGjSZ>6TNHr>svb+cnT!I$472p9(+CAtpQ)D#={Z<{%^5CCS2GV@*S0 zLolheI`N|fdmUuL$me}K(PjS3_lIWKF}V9+)bqV1yOVbr{!X%(xaS+?pUJJ7{g$?lc@*lZd2u@t zG4CXju^2aRr0|&cdz|BHX};YE6$YQh=R>E^7o&`^bGt|+cJfonI;FPdIi-bE%^<4z zQV!Cw{AHQQUZY%nc*Gu~T$;buT$zk=y{S!&vHZ1mF_pZ`=jSWwVMLAPFNYC**{17g zcPfFC|1!&8H&bfjJk`r#Lh{D<9CdhaS7`^Zwi(bM?aXQYeM1Jw5)J! zNY`KvYQnK^V4{Q@1Aht^UX|1E)|Jq8w9S+I84O#oIZT4XPxTMSrl5y2^KdwNKL4j5 zc8o#Xn>ujw#?CJ_H%L&J)XN7%5yZRKtdC6f# zo^)JXx_(D~V*u}{`9L5p%+a|AdOnl?B7E+Tj?YMZ#nC^8qm%N(x^X;-K@Z1r^#SRY zv^UGw{1pPtVg@ail1vVV1v8=_E%%`|9XpASW!z)Zl#h)y$->cr1cr4wMB?Qq0*~Vp zdVj}aT@o8RBgzXb|0*s-U_kHLeLtoVD%{_2O4m8z=*TdS2E-Q9qQR?4UtIV^Z`%g^sR7>@2z+JWSou6m-UE7wVUPUJI; z5xD5cu71>~{e0nphJR@*O!IXvQ210h_O)zql#Jt!Cu$rr~1r!%?))i;457 zBOLc82-fRQyAIRFJ@r211i@79OJR2Ogt*$ zKQWcM`lrfXMrYvhaMP!$1_XS2v#z`aVS+t5`U{y2ezosGd41s_W{N<`TaeQFcSEiMrl@ef6Sw zi?6?=`bP7;*uQxG{Q9cMRkYVhT3sKhuB`V*$Z^gsOVs3R! zb>s#UH`a+;R8?Q^uUZtTTU=`+&L(0?MSayVf#V3AS5*_K@J|~!&_B9wV+Q&Ms7*A- zUtd!_Pj%Ur`Wx!2=J~H*P_@WEe{qe8h%Bh`*H>NFP_?MCO68!OD0NQ417(>1JSzRO^u{yKOlZ%HYC>uX&Wm2Cs` zm)X{+8JGSwraf}6|3<)k-uu=6f4Yaiq<;@P;cLDm{{Iy`7CUe+Jmvom{$DvR-{PUR zoFd2lvVMH$zllG|i61?0*gU@rdN^#p-O~P~f@om6DNu~M`8A8LS0bl)QJR`6e`Q5Y zWkXGc=8XTkD~HV+HEiBh10iGnnu@w>sEpM0q^YtcUF5G6MfXP_V@{Fh`02X-T>}Ba zO^4U}7gts`)YZ{MThmnY9U>S>FAeg#mNHwri``gX)Wp9RNXU(1pKq~=vE_1j`yHnum{ z_0lL_d)f$qjr4ZJ|i)&rA zb(1I0oK;eCrvGx_v#1K-0czm?1w}8cs#tXO+}f+>u?U*NDc_LQ+*1NeuWUOq|5xwt zylrIZKW==m>%1Qohv#1O#&hRoefaChuE(+iwp$MU^A~~arXU=z>b%yJVvs}Z*jISTI z$QeC=Tvt)M7+kMnoa>lVODbv_s$2u>=3NcjQF(1Ws9ZnLd}}azzvjUY)xahx_Vm;J z@JgDWmXE2@j1)8DI^93)>@oE&Q`FV47YizCYOAYy1L(Xy=Qh+_Q{`fcR@E)4sJYq< z`@(9_KT^5i>IJOawbhGUJpm?N_2RnTkcAC3k?P*hJ{6I6%ou8RDoTI$G=zY$$Htq_ zW8%jilYgu}d*Uq^#=ES0w&RZfe3G;K2F)nB+Aw_eu9?L%i!XGQRWS_eb-k;suG)Hr z&3F0F7d09N851Rgb*rtaI}?Uwd_Ba4aW)PkHKW9qW=Dg7^RHe6)m+^34d^QE$Mvp& z$ggW=scY&q*R-jwS<}#ecg+gA{DChYM-bq2v7wdM_JHD;pfos4V9z)?19xm-dhm`7 zH3N8TP%n^8xC7`u{PT``^U(BA61K z`JMU!!^X|CF%G_&@bNw2MKePK9U1}F!Ma;a6hGatsA_3#Rb>P^T*b-&!*3!X+1FG> zt~R89jA&fLBC{^eV+CHgkkJ%TH+b4h9ttH6F8$cP>C=AO64PvGVpYXFJCD_)s|AH~ z1`Zft*TrL?Hei5ZX4pH;uYgqbf^F=v&(wouy^1?rt?!PLuZ@V>F$NtaCHR-;%TU@C z`ln4be`o3MEE5v6{-8nvenV13W8~*&g8e3w-z4`dx#*65q&pu*pt9kNMOQa0(*B)m4EoivZ}g;!C51EGMoGZR7qunbtJ;1ND)vT*D&Y^K; z)fq^IGqp@m>5Sr;!xvU89pztm#Oi9&p^IOPYqMa|tA;ExQX9FEklAd4Z zdG+%G=Ii(0x9+`;`(www%W-dZ+(yT}!Ex&xx6*OvIPNURo$0veIc`_At!J*|zP`YI zzkH2#f8%^Fcibh8dyV6kJMKk}JKb?7I<98fqIwug(Xi6G#hQMad-&%U&8v<~U0fe= z_5K0_MXW9<4NfgO$6qJe0Xboy5snC@2D+9)H)?7Yvmk#_tjlKgnN8b*NxGuqnU@AjY@^ckeM!>3MVbu%P5PdqYsC(*rD~{*&^o9m zdzEV{YW$T8D(YAr3|Z-krsOZ#uPm&%whAg*U3Yb)VlFIW@Aj}~o6v{voj;@G3;Evp z<9maT-AB|_)v`sTe(fWxD{2@AXDi8OuE8u!U$B`Z{lH2iToTQzS_FZutP%wK>?av! z{d(w>5mEw>r&8&C6Tt_j^dg6Lny?e4H;h|4CY8Dc zw{|S`;~vEA#_c?h^0II*NTq6VOJ}4~o8``=Ufj)Pv~PgRl{1TSaQ(RDxTUy_xShE7 z;jX)s`f(59b}Jk=3%L3(OQnY6mg1J;*5cOU=FCo|qBknz!7X@*a&R}|-iKSdhj!wY?*+a->f4t} z1#lZ5XWVexaW~+0;%>zaJVASL%W=DLH{%ZBsJI&!H6_=Q*HhGon}d5F zZUOEA+*;gDxz8~kCz9?TJPSx;>%=WMGw7TP&Q?rLtdz06cH&lHa7Em(R7N@?V zCeLN9nQPqYkB&6kza3Dt>#q)gYO!@;Hg4q*7*&FH0ntrVY8ZMXGvyA+k z#|D($^{NBM>8;*1{bsbeA8~=AF zp7w;YhtQs2_V6{{R*yz#Dm{d3n4jS0p>Lhv4Vdp!&0m*mT6Rv8x-2}%muEtNKOC={ zzjiz)5x&j|pR0oS_0%^d-ScVL8{M|&79=)ZKF%_gJ1bxUj+nnDe`_W!UgMsc?QilJ zyt!BDF16{dgr4e0J%X-!)>Bg`d$R*$)nwBN&aacd{EC1Hc%~OF;49+}T+E2u@i%Zr zX9QYg)BniiLeWO>n4awyoW~L0>BRSGcbnQ17aq5ILV|X2A2?4UpEOH5ud?M%SD*M< ze6gsap0s-7WVRSnE3nyQF2QRP`3uSeCgdU~oOZ3rJU@F#lRKR4CrrceC(^BR(oJyE zrSU}Nd_ep`C!Qy<%1(@v?`jAMK5+pRMj`ePL(Dsf6^Ko%Fx5$(4R> zX4skEeMTyfMhPdK;L}R}^0@&MlGi&<Y%Z-!`u%V6N0fhAz~rmy?I%!m z@Sv9t8p_cZ4>T@Y$X~v~=6~OmV(JfS*0h2Q%$ph61vWzMeO>8S+Vry=gfipuKbSv) zYd(3}TWtQ%=tK$W{A+AFsx-f${GCU5ffKIs^y`a{&BT{G@hvvmb&-f{lZVdO z0Oi|6x^5@kFPwDKn>=gW7ck|V@lkz$BHhND113eGlP+DK+W7(TolbmuT~oe6tTo-o z<(s}H(@ZVZKZ^K*TLSo8t~1SFLl@SFUNvbx5TQUOX;EW)3P^v46UC; z{x?aw7%1Mud@ZbpXIcshFWG7zz%!Q{db;8|F`=_tz*VO;2?9x{6+Dxs^%0G#8 z~YH$Gw0cbrTBzb|Uv7x5*^p9@VdeJ!ADu2l|QA-~}_((?qa&f;(=dqPwH^RsPg z2mi_6`F9&~g;%AR`aj37SpGIW6>K`;)q3&=x&kJk!UmgpwTbY}PWW%ZUH$s@D?O#A z8UA5f_Cdo9*>r;Ao8&M5AYcN#y>K+^`Ei_(nTJCMvB&tAO@D!tetKKx8t>)V1)@|U zEaNCGM7s75ZMw&M`wLgke77to{E*oX1k(F~q2yaezI8`zzBHdQ!{Iv>e-H5oop?Xr z`laWu;;Q1YVQM>1nKL@iU`Z?sLXB^e;X5wYGL_bKA`6=H$ zga@2(wL`!3_zV8q)h;JK-Cz3U>>omA|Df_;CtbUf?kg&UpTdt2-syyY!-U%KTpu4p zYc9RMJfBJ#o@;t*W|OCseX1pxic{US#2X&REW{U!5n%&Pg!4-|zc2evhda%79q*Pn z379hG7sw76H;tEDzi#2=EOV|vrj1YId7{7lcF@kX!EL`G(dM_tsSwg+enT8LjVI2h z%ULE|?M0Tecc!VU-HFh6>IaKse(CwtI51$o)8T&S+aaH>aueH&cj@}kxLvHMg98F4 z1z3X}J??q0$N%a5V&yY}hXLD?2i=1&;;ka#%`xD3gt>f-++@~D(6~}%1|6}id zV7|+)y3qGl9NP)h+B7X?aH6%LZ-6w=G_)`iS}INoRXRZ=Wx{O<5=7!fZ$%|&8YGHD z2~nd&%@h2^Xk#Z7iB_NujujeOE4QHy5khN=ggfC+1Cw4;=`ir#^_lngWp;PhdFD)? ze>3mwCs|qNtlvI+{oiNpz0Wz%5&zy1KjRO-;$a52AMuNh_)CxYtB&|}NBnI^{Kg~x z{v-auBmUtdzVC?Nd&D0);@>>t-#g-GJoCu^h+lNXUwXt}b;Peb;%__RHy-i#AMpBmU44f1))XIeXgC-ggx#xlyC`!>_OXeyi_#YVACU3^ylZ(mO{1$r7N1XmfT8?Kq#(rj*YlMAeu3LCnU|C>U zU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>U zU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>U zU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>UU|C>U zU|C>UU|C>UU|HZ|El~gR?D}~^C++Y2&h_gveEfH>U!UR6J#_v03_oAA89E-Xu68rL zygnvA!`#2~KU%WP(D9gca6aqcyyG$J;CwHSKVN;$(DC>;)#nU+OHQ_l{3k{GuSI)a z(O_^ETE|15AN$|euiy3CH?ZS(l^*}=l$7Sfz@!%7(ksto)lCQHB zpZ{R}_A3SO(+b#X9urQA=K2xNLhE?YBY7Ll=lnVX8Sbsv9D&b2zx+2s$Aixk+rfM; zen#kc@cA2x#|Ryd%h03a!RO+Cgia4Wf3WN~0zKSE+`C}*JSiGXZ`gGwXP|XF=wVDY zX2N{J=VShgOM37v+rwlhlbkg^z<;Zt)`xvR-ZF;ddQ<0`1UGlIC97%_gNTRFJ0uac+9x{ z^lJA-b^bjCF!(^x#Pw^B@tu3rtjFuCzwfKu{$K$N{(0HTy-%*gKu#NP#(HfpkAGRR z{7hZ@+0_pWIv(nze^|f$QUMJ1^62#Viqhk+ALWNZr-wL`H~gJ0b7mZ zz43A{4?cfS@qcFZ0h6)g!ROy!zx`YR{M(O#N2dp$e|zzKdjb5R>a){>&)-qMu@lU$ zY;_ei9G{Q1nqxkf&m-`8@*%n!_UU~m>%$K#Ke4dt^Kgn|0jeePAo z4+d&e`QsP{f46Az<*C&UPM*(t{EhPEzpk8>!!Y=8UHj>EoplTtsCUg_{zU-{Zgw7X z?ZdyuUULc9{OK$-KA(B;xf<*r7r;MSw&(MY)$yIh5B`P%K7Ui;j}*XaCI0x4!rH)} zRnYO^^Kl&KUp`mA-CY2yfB0OSsjXl!bhGogiW-j3lefWq?%p&4pUdYF_#-(Q%;&Qn zeExftvm@~NH&=fn@Oj38;G3PtRn%~Nt_I7z%-GH6<}&gYmZN_DP#4e8@%Xa3b_R9(41clO%`ofWyyG#;=6tUnvmDO(cCLL+igwX8 zoOzkGwsFnvw@PR8NcooeQ1GTt$oScL~r^nlhhq<{qTIT2-59{~V{GVU# zVDQ|sjWt5+LNMrf{NcLx&T4Os4+ejsu63PxWcG4iTJ656etT;H4EE~L$+uUJP8NF1 z_0>tyF1m)}^Koov8+sVm)o!q{oX_2Rf2aU9r)R729`L0_@ATkvcF#QC*xvDA({Zi9 z+?mf`S@iEMfbs8m@VWNc>rfA{v)c3*3gCz8T0Xaiq;`R=(eBlwlW(scohl6gpLQFzoPmbq2s}(#+(uO+&prGjt8H6 zCSwG4{>{2}1U|p7+KsSRk50b5dUUeT!~H=W1MB~!Xs~-Bd=Y!8eEzhui`;{a&-75s z$y-?M#plM=JooUdI%X^LDQ#dm*6G3L;za+jwcCyd9p}ASKDV}IY=QZ&Hob!1N&iT9s=lsVS=yx*8jjD`I^5N*CtgJj$LDI;5!O1~jeF|s zkBeAOyowr*&&RpiT8F!_@6*+Z=e?fT)jsE0zv-*v@qd@kXXxrWYoIgyTG3|cc>IH^ z&1U!mb?ppaSM6r_YbEy#9gn|P_4o{5T-VMpw{bq};JoAUA4>Xtb08RWdeGV2$UHD>0iIX1=c0bh-pdP% z_BBPbo&tkES++9IdPe~aIv&R1@2>fowL2L6p}LlA)|6n-wcD%5-!A#gCCLke+lq%h zK+jCTpwr`()$T9XZ~wUf2K4xN^~ndY=Q&P_cG2r__!I$FD zS_16ZCq931UGp6U@JY4l+U?bY&#eP~v;g+(-fhL>uA+Zm0nCn_9(-=U!Z-oDkJE!Z zBb*d%T!V9b7Fx%H&)I2&uCC+rU#xZ`u$6U=5jq}x{!8V95%~PI)!ztgmHY|jb9;Fs zbUfJ2bG0MzxqZJ8x^{c@;B)IrBk;L>#}PU`_&m?O1k>XxYB)YO9_2X&vD?*kd~UCl zZm_zKt&F*OmQx>{9(+Eoaa*h9bMa$s4K{CJE5BLqg^i(nKF%fcT*hoGzID=L{VWYmGBl^POSt-??W( zXXtp$Iyj$oaNhBlb#T6yhrO^FIv(awGw?5&tjAi5hEI;`DzC3&?^nZTp>;g0Q+Y?o zy8xc`hOOmTH@3EHZv!^hx9{nB($6_!I@nwFeuMRLxZ`1M*)y~DKfEIWTYK`2FxOiP zhdUm>QNP&(u;*ew4(@ndh8`V{FDzTxe_%s8L zKDQU{omBAl4IX?h*6iH^`>Y+0%h03a!DrqB@!lPSlJ-0`5Z{i`o2@C-fN@wf~ z4gq#QDcT1L2gJfzXdMrFjQhc4!Q1|5;2lSQjNgqhM)P@|kAdml@!<1upIn^K(;jI6 zFSeR_@VPN3kY{mXCz!mKp-0Dq&y%|_IXgZ0T+9aKNLMqk-+4mEqpNf1F@rH^hSBah z?s%w8X2?Bk#B;6YJpGQi(z~oTVi%&H>%vPSO5;JlO?(|?QE>Jf3jRhOKU&&d-I z3umG6NA6c}?k~w**!aWe@;4wp`J8_P=ST*>1qb{J5T6%c(!qd^nRt@A-Dvdo4dw z$8uks!yOOr{KzX~wmCWc;kwpZ47z9IVfQnAn8#YPfNyplS5d?9x%UljFMEUcmi_tM zn$o-L9C#;y&yAaof%h2r<5!FJ-E|DSH^Aq!9(?|bo{OyGU z@|8a_$AgXe@_g2V&(*d8amD8uTVQn@pR1_?&#B{^nMYS&vEO+@$HO>0gE*LB{x+QR z#NvoM9_rW`=Kh^`dz$Lv89E;Gx8a@+4d;B6KgS)9PQJZ*%yKyA+pDPIu9wc{ zM&p{B@8ZaJb64Xkd`HpDd%aI&e1_Gq#&ct^bqToB<89TKvD)66_YUEXN4Gco+_H^( ziF$xcaK|Ix3iDp-v#Jg3yFKnr^z&{J{L;eKoBTf+wIsY(k50b5dUUeTW3GKpipD32 z5%GQ&TE|2G^O_qyzPjx5k@^js6!5wEwfj79Z)Yp(AnwP&dtn_9KDQ^6v0dzRJlJ&J zo8@!0{`XMTdo=D7$p)>G>oW-IqxYc}rDaHj{KTYuwEbvfMeU{g6d?#=SK zd4)Ln&=Ge$_}uv6{Y3lJFgqKE=%7Y~`P_Sq_I8a`@LoMS`S$A3$wH60_Bkoq2gTrFoKFM%Mh`X$$Z0;8Zvi>NR(=bZV|RM+xqbug6&(*Ym3IN-3ZEN40@gP>9(*ot z1LBIEGX}wGR6e(c9QcAd-m6C^-(EdBS-P5mZs!Rdk9iHw`C5lt>u~1pYaQ8s;0e;dwu zSJznso#EGtHbci_{x+QR`P*>Lzpm&r%-@D{-tp+Z`}W1vc80Fqtb_B8$NX(L=kvGW zoXff_RaL2>D zBj)~|)qd>}=UZXcW$YWkUAw({h$1q>tdN>^BbR=%XV zto4X9AQt%C-1-&83p}vFgD-!){4HjH*yVHa{AqO^AY<2VuO56Z56B9vU))wa9Dio@ z59~d6dhogVJ$nQ5dbYZX8V-MJWz*%S=58uVHHf>KLU_H=!x_y*@@8Z}S@qBQA4)#3lVFo%L&#QKxVf74i zz}|wj`#duXcRZ|9c#hg0O`zj(8G3X)?1kEI%yac{r-yF{dG4331N88`>G(eLNzuGJ z_Td4}LhE?YgDj)Wd~V-ld}oaw_C~V*0rR>2&e3lj4?edKmG{tKKDS?zy;->9!RPkz z>{|vp9+#m<$Aiy3XOwqt;Z6@emp|eoK##YS9bQv?1WtqC zy+P0H2Rc3YT+U>igXv*UZ-kSg&Ces9h1T()M`R7=bNiwr&|@469P@en72NUQbMZ0) zpJxv?xZ}a+#*z^_9+#m<$Aiy}LnCy0@cB5-IqvEbx}7I)DREcYk4)8qBk#x>pp4cI^Q{MdLO?CQ0>JnTPvW+(4f!5t4Z zw)!LQYQcMXbb5S6>ERiiJkJGpdWbV)fqFE+R##EO@%db@@ws}*Gm!y4_Y95r2(Xnp zZ~S&Zrw3b!7d1?PKRi43!2#H6uGjYR;B&V3d{Us}!RO`+>XpD=9-SV1?prIqjS}ee z;PZDD&tDjTt=>}Cr+$M^igwX89G}ni8lQW9GxIN)&*g__6a#Ga_G&xcr#d~@Nk;y7a!yq8C(2cP@44!HxJ9(-<0drq|ru+><< zIX)@cMb~hAKGtfE`J8`8;Pa0bZ3MOwyCZaZu+^*T+7b9;e9p}=TaC4vzP*YX&N`p5{h`XKfcn-NN$z*BdyMBszqXD8#vu3e@!h9R4{M0}Ha`tmXYxF} zdqY5->wa%8AGq0hTtyAX=lq-RZ@_&1VBu#J4)FQCMZ0eR{_viFS}eflvmSgdZsJ>* z&-MNM0r=c_JI2t>&f_X-I6jxZsi$E+=il7#U_SQ@cg6ykKg7r_^?QKNXFd4b*pS?X z`CR;r{^fK1=DV=)&CX*U^H0itbROX>H2#=*@VW7M1U{F)Bk=h+7C0u?w-p|tnlQ=ank6{|DMc5*(qac&MV1K(an z4QF09uetqJ`Q2PH^G*1UqIqX0b4yqaYwgDMfliONRU7m3yjKKwJi5Kv=a#K}t8APj zc07DTNWb1?4ft-)M~a?xCHSQU-j{sV0DJZ5!-+{IiNC zM*?hR{o`}%_dv&k&%K|RwRX7U!KTKG?90M@Zf!X4H^LncKL5>X@Be`X*jc=cF~sM_ zDDN!?_Uh5ew^xr&7JAI})k)FD`pxlKXdMqeA8q289^<;OV?MWkFalfUJ=Nfj2cM7g z0>>Q>HqD-FFrS-OjL`Am^Ko9_n4QOGG92@H)@FnE>e0!!SC3AXuD+t%c|ylyUW0SK z*5N9~nm@5IL)P9#{F-Vv!<^5~`SvPmICbWmD)z^Ftr}vj!+o+pE@D0LDrz`BU+ZvJ zx1M+vH5{L>b-1frPn^g6lS`=K_}&om;`?w{QNz8w^z+Pvxp$ze>&Rx#X8k504?Lruc^cf+qP`(y4d5jMcwW)I z%MTST@WP@we(C_eA!I#%e*S85jkU@DH-*{i{=)WM1DzgxZtcbz zYJktx5x%n&U@LK8y)VG$Zzw+BGeF0KFRkZ{Yd3uUMRna*4$!sRs|TNZj%a)?h|l%^ zx&b;p_}rK}uD8(RDrz`BmqXUl16^Im=hkA!XP4ND?_XAS2y}Yzx!>hsfX~@)Tq|WO zdE_070H51qAMM=n;7j9(|IrZOb1|7`rQojJUOo8Sp5QnR@ws?UEW@21e9o>vRlf)5 zf%ga}MH}PdBG%#f{94I80@>!ej?azbBaqd&HbSQdpO5<-j``fP6C<$IGmAC?pMQSw z8KL9Bm)6@y;PVHn&k?$Id-dS+j6cDAp6^TscY5&o=an8K&||@q%LXUqbNOXH5LmPu z`wKU-UCfI=JOH0B+Rbf)^V~NTFRQ=DzYWf_UgPuC-{ac`&9cuTEek9QEDJ0PEDJ0P zEDJ0PJOM3m-s^Im3A%5deZ1C%X0T>C!_OCOhK|RptKAINd}o;ZcRubz<+$T<8G3X) zyxTlOr-$b!XW-v2tn0nI{AC4fc~UgbrFw4EbDgd^IRmZZ;k!7WU;7gG*Z+RMv%vp~ ze^<%j+2wo>#Q&P{T^#>6`V|E~P;Fd8o~PAs{`ZalarMIm9gpW#JO8KpiweH4u6=&t z&nTaJh8iE=H1Pa!$Adk5PYoac-#Xu0nr(F%dUQO<;av(c`j(dGxH~<3L&)Bb=djtD zJ=n?`Bk+z3d{Q*e(gM%Q!e^m%Jm}&76alise4f2@d*Y7ik^djej1`243!Z$Jl_9^MI) z-+!?ndG5J#wtZ@-``k}JeSY%`@U+IJpc0gU4F~| z5me!sP@O`dx`LVnvfO`gv@_}sTla*TwD^ z)NkGohUK~#^i4VM2EcN?#94wq0F9xATOK$6Tv9r^gJ&mKpeMhK@(~T{U}0Go(fv@!Y@jj>r2- zz8U8Jo%^oK410NWdf3yLVU$0|@@NLWWoL1HnKc|a=6X%tXiRr+e?#TI`swM_&V5*( z8kdYy#tiW)|I{$@x6|YG)t|A>b?zPRCB`v1A#Xpu!23*e*Uwn5?d9PcLY`mwiMpO_ z?iU>oHMV=HTr;lGX)ljX596{NHxA+Lxt~rCamG%@L;4vn+3G54I6j~2H9pTXOYbQi z9P@de`!n70KDdogQpOS0KJ%{>ZzmzF**&t;7%z3-DeZeE!jD4?M#HcRcu9 z-+;XEULKtue11~>0MGToogRFi_X5?cj@fFiOHPV*N434k8jjEBdX3M;p?LI7UYO72 z&a(>4Nnp0}POtn{$0yHcJ=n_kzvcIXL!Ns^PJVliEqOlIYkPU{xfmg%Itu3VnFpU6 z59BwQlINeQ9(>M!@`C;_pU-;mIXzPkCC}-1*)<%W%iFPD<8$LJJHT?C&!1D+Tm*Iv zdFks}RamZz-B}MlXWL&afaN-WXfHQlxz1K|y|$MJpBrP1S+HF1c<{Me^Fsx&T;I#1 z(}Tb0?-@;)KAj$XF0MW62g~)YE@8j(gpP-28)sPWrS|@KbNOwC@qN@B&+nu`8@B9cz)e6pTD<$1HRn=^M`pg z@NO&2=d&Js?*0Jy8RqkRyTo@t9P_#H7Kj1(X6G^2J||_rJIW3hS;O&N@!o{Ks64_F-B%sjgKiv7+LIv#3>88SAHSnkfiw=;A+)Uh*+edpL7!wl-; z89E-;v1U-W&tNZOhFJ&a9gkTy=aGHHUAtKh=X`q=HJo|byyj;APF-c5<~Q}(9Yr&z zd~JcflrJxA4AREB)@K)3Yw7fOTk-I_buW7}*5o=K?qSvf{GPp8W1O-7B?acZ?jaoy zd(GAi_5a_w><#VJqmys19-S=oNUVqf$0tS8 zC%CA+R6gflz&9S=4YUx0sLKF_;h zzg)jN?s)LI_yqh5vl;n;8WHAmu>-8lzgLL;j_>>9(+Ep zxzU49*_=&aaJ4 zDOi5+IlHhwOnyFhuC9jVdZ!1U8~=^Zuw3tWu$8!pfBA^d^{+;R<$A}1&)q-7C@enN znM|&M<+|KSe8OU3uO6Lzd-dpK>1qbLohNiW<~2CyYaOny;l#!aS$iAtYpUH0KUQ{~ zfp4#(hEq4lyR{B?HS392QN!VB+yiSJ?()|Y=ep$N5^6X;e@ErHHISdE`y0I0;cnbh zXMbG8dg4{oaD2Yj;jU&qv8%7nvwqW8$76jT?rOgecNI0<%PY_Ag?@d3d6IdU+@I?@ z^}P9*`IGsU_Uh2jsye_PjC+E6L|2P`UDdJf8=j@{Jh1hW_Z7|D&AzNTleyIki)OCn z+*+CEYkfoLO~u1A2KfK!!W|Fqj{JCCV=eC8HShNRgKr3#Z<^zoi+Wz6YqwVq-w^th zlF538XRgV5Tk)`0^s)l$4S02W_=b?V-s=ngW3_vAVS2DNxXg7pJ~#ITz7++NVXo`= zob7?VRhX^veJS6LbKL2{=RZ_>0ycs9+%d4f6I<~O_~;Syxji1>e{;bd55Dv~6fnPs z`P?23c>fW1?e^-y=i(cPJ@~fbk^e#DyJU{}eAa`{Ju3q|XA9F~t{F~>W-UZ~T+})o zpL-TUe#^Dw`CQlWIX}p6xtTooJdn25Y?J4+9(-;sPkzgflzdZLKbO zZcT-a$(cN#dGMva<@W$c+I+j_A32 z(X4%YJ|l1zTF1k8aeU9icLW0ODt^|It$PQ27spA~l(s^9Fz1^C?m^RaId=y>qCJ$idSfsV&z=+W`u zb9+wNdxkqb_+0*oj{rU1Qg(Pv^$|EJns)=ovF$9hjt4#D?^jmt1^C<^BtHe{@zgrc zSOD|6XDdFZt`BrP_*`6h4kEzkA1S*1sX)hr&)-vR?6(Fw9+#m<$Ai!9(R$t_(CNYF zawg*(Ob>f{Bb*e?dzmAgh1T()M`R7=^B*Z0N1(?z7C7ef_$#>M!RO*-1U@&GjL`Am zb7RQ}9goY6HWUx##@EM}V!=cYGJ<^k6ITqJ|0Z z$Ghvg4-UXqbG^2g2cNUO=coc54?Z_vP_G2`^62#7^Y5rW{V(1?rw5o>A_a=>X)i+3GfG7jrT#e zn(MW_Jow!6r=E!lbUgT6EN85O_wwlU;B(JJkvq`o!RN-b=Ty4@TaERbG39?V{J=^lxl`sB$WxzO_!0`yK2a<6A*rTgL(8j{CVfF3{;=4N>3br-2XGwZ8r6 z-Vjjdy5F122X1yAS5d?9IsdYMfY1F;Z_gD6`260YdFD94A8)O5wOD}9XFd2_+{Cvq zpX=NIHV^Q*@iy@T-|RfDqK4yh`I~wg=5zkd{SM}H?}KD4fcZn5+)}>>_v-__yyiv^>uTeilh3`^JI*iJ%9;|p209*m zZmvJp0v!)FH76g}1^C=|M)Q6t-0|RZag})i%+B5;Q=0_%++OgwM!Q#!PQJZ*bh6N6 zu6<65=055^7dQ*8K#p zRIxwaYt;~I9qyC;aS`i@S5d?9`C5m&y7k1XsNwj0t;1d2dg46hpIkx>$LHf3oa40) zcjI0=`{TUV6TABAJnJ`obv)Mh;jZ@ka92^oy}a_=GY{t8fv&D2n|Yh{n}9sqB(x*0KOq)J>D8opsRPiJL1_r-6x|v^pwq)Qggl>;brzT&S5d?9x&4vxd6llN<40|*YX#WK zcarS820A_X+}e#b)BvBWBYe*(z*geGdS8Ig-%xzMXMm0eUs}(}x(&?dUsTt9NOKUKd6=z;eLCq*0M;v&}J`21SQJObI~x{l9{<0FvOxHdwk2cM7o9FFPENA%nqRr6pcy+a#!J6+3 zbN|lAeW)CFJT60zj)!-fXXy0s{NxP$Yv1J`R3Cq@e*X`JPm0Da)~oenz4t7%j)(8! z_#V^u)ZT>u74QE^zpMCIPqt6xdjs}2eHZ7a>)1B~K3MIZR>yRBRsH7wpZMQ5zD3aS zcwV*he6+m}|9{%|IPUb|bI)J1p=SxiI6bVP$Z2^FpB#N;pGKa; zXQ6dG=pmQCrhG2XVLtc1ihWMM!Svu;qCcLI!K@*M8;;B)yQx8ylYk6$Z0{Iw(g_QEFx_WA55 z!uI3NLhE?Y!#7pr68x77^SNhAJWBz4H<2FpDUHRj>-gNByDgpS8t zt2w8~4Blgzf!}86cy!-Yvv)K@YP1p0{X6e?yszY&Vea3#@4C#emq(|EJ&hSg`Ex9f zX5ibasNu*l*K6KqGM*ZzywfHBpI+_Ma>il*<511=fugww7?-^hDvvuoUSDlITk_e} z<}>TsFE8v}T+d&)N4t0EM^4Z6+Fl;MA*42NuTgWT8#*3pY~#frJIbSe*~_ET!+X*n zss8jyN6!j&dWbX63ei@Od4)&gErw5<2o%~#U2A+eDY|%r%0M0LOWi2DGa8w^$gq z+3Rq8ZaslNz-l@^m&@K6g57iYoR7Ry0=tesj0@g3fIqJ=pU-;m zxw_1~0p?piH&%EjDPsn@dxvoz{;7hSnMYS&vEO+@$75b^bIzYL%-@D{uHK!Y?rwZ}z$6bM*ol?9-?VIv&0u`)P?fEP3 z#dbXS+`5o;U26d1kDWhKbl1PXWOJY5bMft&0kLlFX|Eoge0%liWTD4g`%;PU|FO|>D zo%tB17d?!LYBksz5}&Kz&9&hFS-@8BENor}zou}f2cH|8#RvTQ!W|F1jU{p#esy6! zH($7~0RB%KJowxgA%5ZiSisK42Hy;a?Vs_vxuCHL{vQQ<_2}f=t4AkGSC_Egc|yly zUW0SK*5TGVoOPJB4tL{yVPm0tnEQ|WkU6I@1=&o)wXVPbwb#U&P)*1L@UcWji+RKZ-YcA@Y2K}3V zS>Lk8W*tQCn|qnhSRc8ij>W;p3R^4r^rBl=F^{xnWBtbbTOHHsL4N&vR>uEFus&m* z$#vFFJcnbBWgX%@g*`{*-3ffmQ>~@g)6+-ReP&y+5Bc@~jJozq3R}mzx2~g$xu5l! zuH9ZeJQKn`gBd8GTJc_=wMJv_7g|JHBj#@>g~hOMrmhU0TKVSn}^e^=L$ zjb8RRwXv?nR_+UIY463pYo`aFiy!{QOFw+BZWK@YFvn*H>%Hn>YrkqsKDYnly@wyJ z{(o|V2VaU$@x#CD&*$n={pTBVUAw({@Hu(KC!P8Cw&G!biTw79{zXBj2cN&I+SqS; zOSSngM?J2hhU0VjE5GCk%;)^V{_F_zx%C;olYcNRPs ze)yN4V7Ah)b#r+R^SOODYjN@%?s)Jexm+jDVLlh1;zu07UAw({@cGM*eB?QPw-pcZ zFFwT?-08vRAFp=*PyH^>VS2caT=qK+d~SR;e!|8dKA-D4KIdQdhsn=Y^z{uy`2Q^2 z>A~m55qSX{-}qdv$X{6ev(>|KQ|Be}tq zgU{W+++Sew-c~$}Z^j>3{&srsIs1?w{?!6{EO>I+;G}#m=j4P~d^n~S?fT7b7h|e1 z&zNM)pzosH+%|B}bT5$SFrP2l&20m;cTnuz|j{WT!o?f-e3?C@k3|(BkzWSTNw_axG>b1Fl=N%8q!(C&%qpTrHoU%~o9wcKNY42j?7j-tm}o-1%M} z%jajaRp*c8^YdMgG0v~C{gdzIPsTj=9L@~BCo_Y06la*q!(C&%sb`Hh^PbKLpf{Frmx`QH4P zbKH3syK{~^?{aI-ap!yWSb4tRR?Fvo{B^N=p5wZ{Iv#6m-ygd-OP;Sana9_h^D^>$ z`F#0&t-aoef$lzd8S6eP&mUhoxP1QP^T*BN^Ox6rcZTjB?>+b#eynISbYr4#XUyQ+ z3NyU0Xft>>dxnmOclKxS?S>iVHqK`qoOe8Y`(p;*hL~a2!MS(KXXtob#@Igl+xhbO z^0^q8bKLpf{Frmx`JCgLE6+c9 zTwgwaY`LOJ@?6qQG#lVVz6$2{W+&fv@>Lp7N9h%LbPf1K(Y#a45LF;N1oIen;USD0ucj^ZT6z zZ?FFuly>k4TQVPx?OdO0-(SaXEx;$Vv9HkXtKaV}AZKVDpS|*ZQ}y$G1^&|CFO*LI zxZs_GZXJ)k@_k$NeXZc0fd`&<7d)CC9pCe&@h|(+hkf-=W-_Ar9gY9vA9AC0Ht6JY z9sg?2f7}=K{~g!$zol;{pMGOM2rYfVp^=Mxr{#zCd*q8O{7c91(Erz$zx_`#v<^nu zPLt1X{3?FpUo`UT|Fp5B4Swi{*c`s->qdb#dL2KhQZU4QOP^e|>b zX1PqSQ8#V;W!&%jzbu;Z@Ph@>2VZtUN6YxfChU)Ptw6h66TBs}{@g#b%UIX(NI${) z^Ou@KoNVzRTjbOCmV9i^Pk5w1|G!jBqtSDVN8}3Djy~=^XtC8;6Y5tx_ppy0d5GUF z9+yE+y-N1fH10QaaPE&BUwfpzsqlD@kN)tMyzzy5IlZ;R&o$!zG#@3u<+{Hu9&$^6 zk5(V(L%XqtqZ68O=;t0|4VU~L^?2j4KY9Ml0x~DR>7DvzOP7nL(-rW=T*Dd1NB>@{ zc4+KRu3Q_uC9B`*I`_w3>@xC5UvPNvyK9ZXr|}?{{zg5z{^YlOPF`x`{8i;|em{*z z*PnjG+^7e8eslE~nO%3SK>t_m^DX@reLKFM=(Z7m4-^<*9n;7C?)?SEzt9}Z)!YlT z^VKY#EH!wd;87l`r{i%mVtlRv1rM-O%-q7P*4aI{A{{ z@>+eNU1C7{L%|l0%b=5AezS$~7f&=Ys%QCYq^V638__*@OJ2XrZ}Z>8cz6`~;c+lL z(ia>We*Pj$$0z+gntbWs++>V3vG|^*l zJMz}ov+G#i7y5nOIv$ZLSeyIn8uzD+@o2^m_eb{97R?xnK3?1LxC|QK&NUp_jHl!~ z6p+KXO72nS90za7i$|_yAMH9?`U&1@*YVjaA3sDEeDviWcCC(`-+rWZJR(=HHiv3Y z7qr~-uGMj3AomZoL+-bdjUGiN!w&R1?KG(u8EB|->kFrEgwD@+cMU&t9&suJ-5g*Zai_b;V z$Z!J2xw`|bK>smIM*S^r?Rcs#~!QnBt+v4H6N0TpoTL(`LqLJfY zRSoy-!d?H7CD+5D@u9!en10ju3nm`)#0PBgSoCF^i--X+X?)H2i-)+CTgKtUvt#37 z=E2(eZGdD6)|ePh))a4K3%vTe2mFw8Kxk!|@pHwEntw9iP4O z8DGWoDDzr}dnCWzljHy!C%<1@=i(PFb_?!&ftLI})OCD=mbha7@xGeA;H`EYpS|)W zzl~WyU)Kub2d{OwwGKDNm$(?gZ_bTV{>B>aQ0HqM?nX|HHeAP7V-s;Y*KlIgeK+%T zzS+CZ)%mgG(XFqIIpkPhUAvCQUisEK+zsE(HJtma@rvCK1#E2GQhUcQXgLn;s>`=f~@l9~&3$)Aw#gRGH zc&#z!w7NZgkL@}>)y*#X=%dfI4tHa|D*oe-LmjVmxEuCJj3xepW2>%)TkCM2XuH^O z;boT<11knr46GPfF|cCbi5vq}BCo$?fn|YZfn|YZfn|YZfn|Xwm<685_2-iPi8p`p z+>8B&>^<~s?_nkZ+R*H7Wt!t-^t-U565&k?b+l`X8R4mwXing3ZR|#tQB5h-g+6 z`S@d&W%Re0?)pa~!w6`deAVpt?Z=MV@i%Ziyv5@(==qKc*`jZ9g?)S*g&bd7n7sbp zc%+T`JKmD_*80uwe4F<)li%V@&bhYh@7nQNaVdAUc<`I+{e?%@U%n$E*V8W7(%ZKo zws>^?jq>H&G4U}lEs|}sm zw9v!)qOlD-#g}7Wj`auQ>)LBaTE{2ty!*=5xfVST8d-efBV(A~`TbMvNA$(c#(}Y2 z$Kx_+{K5WoAU~dT0BA58f0G%_n2hFlge`eT-=@Eg$Jm!+{pHWOzbzhOBKCy0-vjt#~Lozy4QYb>Dl#<*7Ya;(MLVViKa$O zO_+A<9DTR=Tr{0*^f$hdJG#~3!!;b=gvS2t^H}p74}Zqbu|G6E7-`xD!j~`bCF7Po zTqD_G<812IE;wS!f4f*vSTE}D2w#V{in@`;~ z@2~iKYeDAAY6kH{6gB_Ca{72uQpV0`EtTF2uuX#D%&Q4Sc-Lt#KR@}u$B zpX(!-fGwJ*(={zvqlziocM;j{?YczcdhzJEa!gd{t5H} zZ}GSc`mIMf=ucKWGcO`>u6a&0G%|o7jikY3KUD zmaKkv?f2HTnX94U@ykU^+^3)5@R-|me8S_=?|=Lx91v89?Jo9kHoXFP=1Kh(BKia&h=?bOS}7z=cB$IkISHS zH5~b)L&hfl<|8_|hHRY;I+?Wx#u9q@z^WhSi|XCUuu@b0NnMD*2#CM_P}qj zcDEOv_ldjpx-C8zO^>c)4VQQ)x7vsd>_RX1<=CaOK_~CXBm0+`$H)LfZ z_R8nJjgNlmIqFuVhrbur^}i*bSks@eEOwy}n)rIbkw^3pXJTTD$7RsTCYSw@JGznE zS`r_JW)93w$q(0#uqCfHt~GwreeADJAGUvJbAP#ZY}fHgyGN5xJARti9mULdRt*=w zZSm;j>uR`b#lw2F@iMyA;lp#DtM+-P+oIj@)6Hs!uD+7Thk_Ruh-z-^pjY-CJbxg)9_g?oSbBfT^ zJ;t%j-Px%d>pJ^&Ji7I@uD`Bb$78R2>c+JW_sM&y{N2?cVuN2E>-=1MFkaiyI-hs# zI-iTjJ@Sn;oWAw7*5Mw><+Tp?iT9r_Cc7H$+A+S@I^0@^t58_$a5b)Wyg&t7We$+aDiz4FoPP>^R? z^mTikdyg*92X*~F7Wrbk>`l6s{$$MF-xiO{pp)VL0``RQw10jmK!ef51Uedw=6HlH zdHFW}g>x-mx*iT~?vH%26THP^uYC5;XIbo}7WrXW;4L1bY>u_-ES3#o}aK6_~Iii`7I~JFWEX9bTTKu#Y*(ewd@~Xh8C=^_#5p|(DjeD zS3dgai%fKOZSvc94_{QU#UpYBYuCw_{Kg~iaHO3WI2`$I@wsR^`Q^9R9P{l^=bi@@ z6J*ei&#o1m=A%wt*Yd5u*clB!{j*JYpa(+3PaGN>yZ+N|k9?8kTJ<%KS9SXEd&ux< zJR%z$zO#IO<6Ga(ISlQ@J3HTcq;2t8^lcw3+k9%ak$>V+3?_EvpBxaAp@~g@dAC0? z?)Si!59Gnz--Acm;duR4fAU3+=YF%r!|&vMw0ADZawy0cuRnj@jUTV=_(acOZRipG z(9y0Ho@+vOHcqia+I2iGgT}uP9OZ!VJQN0GgVEgcjKgR!n&T0+?+_%Qd;)9MZU6X&r0d|M&UcEVdcI{EnUP~bP%wcYb|a%#5U7N3izC%@T= z{P@MjYPf4hTJl>>!oJ#dHt6I{f9~7q?@-6Cmm{b7DEZA^;oI>@j#jf%>jQn@JJxWy z)_aS$d4UGVC0d$;ItDn_^QoMR{_8_5NA$pZ!ERiXJ^9^F3B{5HateEQd?>(k#C747~y z|KLCy`#P;%$7ip6ay)ay@Sx|j3v!?9`bXOiDVr0-Qsi6biQDJvcdR` zz91tSyF}j5IvaHIiXVMy4{M{3J^gj7lLtuVI} z?}>T1)8Vpc$#3x=eO9|4>3DSdcJk3v+e3kRPG4!4KDz!di$(_d&CkXke9_1#{u7g-v5()< zE;_(lGW$(D89&8XuGNpc8hOn9IiK5geA4dG6YUH^-=>~c{t(A98qQtalwg!jF5ekd^481o}B9a<-6$3wf+cDZ)!E3~d% z$78R2?qT}Qc&;xwZXP)5*74}%>uS;1&b={uJiquje{i66JT8MqhPj4|U7{m7jLEt8 z!f5$DcuQV9qARRjM@v7!TkSeNd*ySlo%Jv$&sYz4{i8*$U^M;(XfT=>$~_%MOH68a zIMUFs0=gP5`AxQaj`Af3=p!b`8r_4p zx%T!tKka`(M9*N?#@~q}wB$FvvyK!!w2!`>9+yEQe^>QdH7-{GM`giR*yJ)vZzO+kThlg|Pu5j0X+C?@vG=7u|V=XGb?b{^JwLcWl_wIr% z9*e$ga}hDn)mL&-&WOpxvvEos%hk}}5w_$@t>*e%+tof}U#GR}`0SO>eM#=gweX;) zd1S`@u79+>@)^6=I^2zW7@M&N`xy^&FNC*j+O_L^!f$)}bFUT8WP$Z{YhhzE8r=2& zSmaARlo)ZXcu&m3TRbj?{3s z?K(bt);in`dvx|)v?sQ0x*ASS%B|d&_}F~vP>{K7@1lr zG2hZxXkELG&tCb|aQe=8t}i*h*5MxUV{C6s&b=3AtIUa5a#lVVz6$2{ZrB%{R7UAbVN%P8@4z?+Msn3C-`oUud~Dc#DU9ERg4Kw6nizzZRU zXRmyo{Q=`M6P~g0y#dcioyH@229u+cPycrp9ESerIX@%U>2Vn}a@ohGhkbKA?St_- z+MxjL&f__ny=t`R9=s*5zOsLrJvnxXzx}?|-=Ths&t0>{W3PPTZkEOKQ2b60e_K4F zXRvmMYCp?&t!QM`jxDtlV|@C*8*x!S7jtBZ_{TUbBYjVHY;$h4N#^=-e zi!2%A_2=)Tt{boI_>8)SNA#deXxHl4_mXnY&{u3cw(EFY2JPOGPwh!wV;-Ky+Q@b| z(%2($!FSrZW`r$y^%vh}Z0~rCeL2?OwZifDokv>7=l1%IF0MQ6UeVQX-b<{@9=?{I zUH@pEeDs-Zr6we|_WbTzF*e(8i_b;VBL~?JNBNSE?muivhUB+zcF_l|vq2|s*I!}) zKCLE>sVVvo4>Z4xuqC6pAUF)yde#;XITs#dU!isFIzD^lOU;^f34OV@$US)&z8#Of z@)@XybU!zIc+AKggRoJA2Hu&IX;#`k2@HT)U^gu3g7tuY8B% zJJ+nnb3Vc=_nwYNr*9|UJ=G7proFz@4#}&lzMn@9evW^W-|kbf!HbVN(8s-*9?>bd zvlH6kc&&DPgO+%Q@!9IHYuEAFD_`=P-RY^Xc?u1OnsOJ05Pn>M*GbhNRr^w+iP`0SNWY|MICXUcv4 zu2b~rkUkFX{4$RlfC zu{#{TV_%N-*R|{T?3FL_^TFZBBiG(u=l)kx*FRb(pZG_IT!S3qVE=; zi>Al6a}7r}@t@jOJN9QEc*_Qzysnk!{zki?;XBe|ugH~a$97vh_Q~c{tAlE>~Uwp(ZkmKSL%`q?+3Jo4% zOUAVhcVlc}Se>>iiS08H~?vcD&>u{&v&yyEp zjnu_f#-DpCzQ%Q*F)m%_zKyol;nq5wxyo9H+a9aCJX^FUj=j1X&OIJvp3a}@4{%pO z?%m_K8CvK2j)!*W=1sYFtG~Hj$78R2Y88-qy1tC}{zlz89-Vw^9j=dc@xyOyrVeD! zj@H?t;6-U?`$PM*jntTMo)hG?d}5CB?rd*=zR2OJk~ngBX;g=bs02%!^ikG z?xo7FwGQ`*xzoisnz2hx917SHP5!KPxKFg-WyJI1v24C#V8y_SffWNQ238DQWDHb^ zxBiv|mIamtmIamtmIamtmIa<*7P!dzaP__BA9D;?8}>Y=y%fiOckWq}?5m(zkM|6U z_m9#J9%1e~=bmw~{ygr_*k`k^lk2t3aWI;_*2sgNK4-jFK6)JrUR;p=Zm;7XDZRX_ z7~0&w^T-v9*2x#!c@`)A(VvWd3$5dE88kB3Pay}4r~R};0UC@ZCb9`f(+X6 z*|mbxeALP7TE6ucJEP&Jf3^t^^gw9%i9=&!*MHjWkuS1btG>qZs!pHso_ePNK8;6Y zgTr^0&u@HdFZD3A6YuPN>yfs_XVJHPux#_G*+%|}OEH+(m49+TOok>l{rL`7Xz&PI zK9C1l!t`1gUM959}T!hmcrntPsc7!5{qJi?Z|hib=n+QM5r#=abD z$B&6Uc#8)g=018_y@7w?9M<0(OE>Ql;+b~}J3gI!e0V7E8|*qYp&UVj(d5)@zmCUc z(30QmM1DMDV>R5hBQ5!@CShOgIvaE{r$6`Y^mnLZ*UOR9e3blVukh`7BuA^+sr7+A z@EvQoTOzb!o$ec9$BV!(Qs_Xp)hazS14KtY~)#@Fxi==OrNgGbnsPyhOK zeXjK`!2Nap!GSjRby~ZQ&tCcDc;<-VLC9bvEea6+ima9@a)5d;06zbv*XUr+y$0Szvt`f7R4zkG2Ld z>b#|gT48P{-V^h1r^98@lHcM#{z!haPu5G4-**>H{E~0f%kh@X(baW%ry>51{kQt- z+I4*P%13^(lIc*OujKb#b*@(J`hP6)(G!nDfqKrh(IYn7;&B;tGRSX!HvU96GK&Ai zq;_cR1E*bdfVbrJn|LyQim_a)A9*$MnEP`+x9j+%-J{8;ojBuP$B~5`YV5@L77y11 za_uZ%e$QMd?dYlhI}5u07j4<)qGF({;pC*)&3y^)d+YpAV6HLdM`Aj(PR@>pcB$=h z?bugnUAvCQUisX^^quisUvk_$aMZ2i(aG1*RJEUS3dfX z*S(b=^p$IGuXEpM?fT!6FaAy(X_x$_ch-@jhxXBTi_b;V>EG3G=xWZ?+0N-D9v*9+ zyOz#u8asz321XisAa-``*simQYxc;OcFF7TaBkfd?)p!=$OebTk8)wGMdi1Bo8-Cn zhXQ)sU9iPt(U)y5A_ltpN?yqsF`0NaPKjf=8X7#pmVBwzT%T*Z+Gp(Rw00ezz4Ey) z$vwFi9`rPiyl0?wJod_G>|X0|H|}9<#vbfxJj}fiM(b?awd?%BZ+rT4uNBXD!TP$j zu(25p?)rZ$@}(Y%KCTt-iFtU7$7RsR`YQfNezOnx$&vh)ALBhLdcj-rMpxIRK8Sx} zf7gzErN6FS$7ip6H;kTlxyEYuEAFE1w!p-x<&KCCAq~+#`OB?TyK~_rh#7`X}u=e>_<2fi|!< z9j)uHYuEAEE1#NT)?=;1J(Aytvd=w7A0@x#gj{(nJ|F8u^z#hCRACz9<^I zuXVT^HQic=yZrdOsJLGJE?=$~STV3-V8y_SffWN65d&2^ufJu1Wr1aZWr1aZWr1aZ zWq~J{1umj4Tz#(j##RhuFU#JEW9{rc0sAYV`5pKRE!PHb@vx5t^8Af<_E+uKg46o5 z2b2BJwCninmCv(3V0>o6Gd8|A;2EjYctp=&a&+?P|L%gr&>ubLXXH9PE`vrc``Glb zZ;q#ZFg`~+6rkOCJV&!vjTYU5x8&7V_Aj$1$1d@=-?#cZ)Nk>*Yqogol~3HwvUnbf z-|69Ri%0Yf*6vX4XZfxbjjYB(=;hef{RH~WyE4F1ULJo}-} zN7#}z`7Kt&zjpCAd|C{R{YSozPj$0PzT~&(LGo-~^4mW83ktga(MDMu&$P&QILe}b zX(-Ui3x7?^;2g z14SDlJmir)jE}Z>xYi$>YrFo);*XALr+?oTfxG_GuIq1>PaApuveGwW6B_y1`7|C| zycd1jFUvNMZW}QQ#%JHeKQIo9Pj)o^0l6O2Wd|H2zC1bq){GHTwPBwYYxAzxBH!||`Xg_x9>bm%TOIE-0t?_g0506Llk!$%K-$D<|*YVNr z-U4=pqeotR4{Bp1{rz&I3|WANgE=C={HWHc89hv8b!+TtPS!ei_!w60ypXRmyzS+g#oFZUL? zClAB7v-&y?@)Z_n$>vDM|kDl)A8u^?c}?s`eE0!*O%HMd3DwI^T@%^@o)0meJVD1@lgl* zxHr=yIt6!jLOUF<)sAn_67MiRTm5zIIzD^lOMbIEJ@u9RzN^lC8=~v~vB<}kbY zxzFEqiXNSO(FxAI!r1K?E%$D6C{_F#9*`SlxwesBGXcshmM_TL^xpM8;Zi~kr`Shn9|I#sf z=>J2t4tLLyw#B29Z>}-5;aBk!|Dw@T|KhIef62iE`vUfZ>izj+xeV7Gd3BIX4>d)$6NC1W39tIl2>aT?)3Y4 z@?xx!y4cG2b5F(Bxb8E?rR&_c(bhWLT8A@NS?h4yV|ABji}u8^S69Qi$Aiq%`BVJ? z?kdQ=dmJ}I>wMqw&<@?aDc5fGH@E9}?3GWg0y0n6m+{`;s9VRQlW(oV^|3B~_>Ilf zf$Z7QI-7RwI)AKnxZd`it>gz=i~ZE-$#1{iUEsRpz?dJMj~0wt11knr46GPfF|cA_#lVVz z6$2{0wt z11knr46GPfF|cA_#lY3Yz!U6KC`;UBfn|YZfn|YZfn|YZfn|YZfn|YZfn|YZfn|YZ zft%I>{?FBU!|(jg_3N*G==yaS{MUky{qO77@A~Z<*zvo5_xkn!_3`W1zx=@)*zupJ zYwoT#hXNS{~7iB%ZmQS0{CB* z9C&^joVB z_(cVsfAP4be*4n}@Lwsr<1zZ%@xQEgpHqF0fX5%J_9KYFUoZY6;PH)h?Fe|xKBvdG z)U{$3W`nON9$#HN{#gNx7d_}G24H^vr^Vw3>-<*=;J;LGRX+dYC9^yrNAlsn745g{ z{8c4C4E|=({_XJ?27k9`|Gw~3s~rqFpZ|^0S04Xr0sQF&AFgZp`|bkx+sjUJ3eWE^ zfc1yRkJN7;D}X<%pz}E%zgM;$0grF4en!CKUst;k@F3F&ozL-*&p%xNvlkxp60`7+ z7T_WF_!Z`NJm~dv1+a1Js(jw%^lz2SpM8`W26q%qY#VQ3@aCfZ_rmmoLFef{d)`GAFAIvpa0?d?FVWM9pNw3wZB2HUBXmCh+r@vZ zOI};@-BvtaP`tmj0RHGv4`aq(FM!=|URmwb&i|+YR@dTj(Qr~c)Smdk;38=1LUlQ; zuEpcLX=>vU@EFe>pOt2eR*%8z?vvtip0sXkU$iHm1ui1*&7+Jj##UIat4Y4E#>JmG zVmWDyGL9LKVR@tWy1&|~*SJ>tm>%X%=Fb1{i0R?JgQxKw#>4OC&gN?{J)TuO*ulLG z#)FIjec|!6`aNI{Mpt?S)Twxk^FB4OaUydY7@sbpFT>}Zf7SA2r;~XYY<|vu;zErB zXYOpC_o1S}ozKl{^qb&l9HPYZ~_tMa*e&3Xs9 z)F80@G#@6{dyiPYzNwDc-`W|Rxifpw8SZ?p-u=bu*Bl(+V_wTXAFSWN_Z7%jwV}Bi zc+ZgsUwwD|23}my`5X_j8$-wj<3TrbXR^b17`Nn^_Aot+Yy6=--1!`jAFba4avP7^ ziyjb{cqG1I;|m_|tlt7`cvU{{ayoNoIlvaMu~h!3LD>{GuVo*0`=KN5d~SYje2cC0 zgU44F{z&}>P6~{%#!a~f{BC~!orRxW?E#y0J~uyi|9D-2bpqI&n0)y1H*9`xJ;ptR z4lq6V#r&Ed;m+se6DI-rP7i$t#AnxzEaEO;+_@^BuRMS9<@w7i{>&}iw~e)M7YF9& z#v}RgwMT4T`^$AK57l6Bm*?i^=Gv|Uw-l%$U!r{-1AV`+XvSS*Kaiv5=W^o}#S1)8 zZMr-+?^ZL&VPgtxe(qj^CmwLujvn}tiyUy5=jP|{D47EEy{&lMQ}lqbh#tnWfST0& z-1PzDCLR|JC&fd}rWR52z!yPtzfeB`H4Yxe>K3$Y) z&*_oa33l%?e;k1xYLOA#2goOv#tW;@l8d)rLGTj zKF4G1%P}62D;SUT6O4yFq7kmj=Uq;lbE`bHi0kBc7Y^4$Df z9-Rzee(qk8^|j1vjnCE#0_Nv$C_djaK$qv{-7l#e%=0?1`T6}v-dPXt+R?+B|I4b6 zK$qv{){!gtw&L+=b^Qo0tai_=zD6)V|Ga890v;C)C&hz5-IoFvK~oR7&js)}Z<_kT zeKUZ^dDGm3N5Eq|cYGFFH?}X@lg|Pdk@x14<`Q34;8|XCPR}#j55Kd(^V{ZcY8mqx z&mr1-H0QJ*@rnY^8M;QTVo$`Hr+sVB1(MlV0?d`*|DV0wf1W9u&9Wf=MY%h7f4|w8=bd-nd8dBUzWF#m=RQp6UKZ!)b_~pC2HlK<=ZR=I z9-~cNxu-+J`5g|7sYU4({Jm|H_bbaE?#?xu0#*L4Bz|&q3OB90q^t&-B@J zaGuDy7;UD7dBtZ2d1><;KJ$}0agT{M$EQq3G5k0upv|;!e$Mp^x@nU)QjPvK$~;o} zaxBk0;<`1@6tG-5KWCY7&4T+^$*`Fh)SYvqu`sM7k;mo8K#A6OSBmW*UqUw>zPdl z>7ixLbdaBG7POfb`g07zF%fN!OPCJk3F{ke)>Y2W89$%#v{}dZSDCXNa-PNfV!dTL z`0Qoga&AL9=TCfAz5$!(R9IIThR-wdFbzx_=P;4VoMVT-!;gmRA+-6dxAU|c;ZHZ8 z&Gx(r<613+V6H5rC|ANx1XYss?-ZuSXmzmdwE^K-in$-JVQaWKzlxK2Zx&kDvxWB0K+ zKeuD#x8YBBq%!CHoOZV`deP>30MlW|544#U&d-kk{eBqQ9K$jlzqDC{IM|o7uVr7zK4{G^Kx2PL!~Tpm zRz7Xcow@fI-9K;Hm;D;;oZ~f) zb2u)shVygIA4#_+x__?sDD2vywK+ex`{vf>{5%GE7iu^^58XSbyJcx>^lOxPq&Cg* zR&@Wo<+&)1?KxIte-&z&S9Zx}*E&danC(_SEB zMe5t5wBKG1{1Rih`KX&`qwhHb{mpH#xhKqhLGFz&#hNAeDL8*)-^KYF_ouj4$~|GO zxi-O{_jhoAm17mI)p8$(Yn^=Wh&uB*;DR|2?lCajKj;1o_gg8G`%PSX@?rYd{Q;dUcjBC0~2W_T>(t?8 z&iOfIkcaueJz37r)me4;@fny76RCXd8UUY(_WWz4GUxs|>jc;RS!ZZ74vvwzme2C0 z&HZ!cJN4&YpiKwsANRYdBkf3K&UA1OfO9a~9@yMJ=lE|M3~i3%nGW($CT-sB!2R>} zuz7xvHrI*wSDACX#xWerf%Ts{@;S@-BhL-8T~bFr?^s49aC6^)^Ha7p?kljZvOcqK zU|xlnIrp78_h+5qUgFm zclKG4%A9*T%uBW@wl(I1T>~KIc>~rl_OWcAtb5FN`f-nA4Q$54I|uB(8uKu;Z|9y7 z`=Cpq+hgdnX>(4@^4SiV)R#8*WT*%GD(=70W;$4hS(lj(+L6kf`mrygF0>Da&2+F% zQZL$U&yo133-#yTAZ<1nJ&&x2}Kj-t8&l2{leC~2y%f5xxYZ~hU>l|&C8ROWOv`Bq>l=i=!1CiP|>(#zAk>cRoG2A?gb`x$m z=L|O-tAv|Kad0jgZa9VsH{tS$IqwNKk>UtX195m7h$F=jo(AH*jf3;^a1$vG&dO{8>iUK?&WcMdn zxP0ROrjqxJYE6&}*O?Y2V%z03_;k+f> zM2drR!*Ij7T)629TDaj{DcnSggLAfU!?|L(3FjdWPXlqJI5@WrH=K)xoA5LcbFLR| z_H~<%%KK^UVSnV;|MpBYn!0EXL~|gT1JN9a=0G$DqB#)FfoKjyb0C@n(Hw~8Kr{!U zIq;vE16>>;_Ltd)EO`xPEzC-(^>`NU8^dUozyo3OVJsi*P_w%^J*YWw9K39k}Y3b<`N>R%5Sw)ZC3Oh-r9Y+s?Y+kwx4 zVI8%6v_sAA>S%xPF%I(5CLirlVYEv}pGklTa_%&z&qjPBaM$256U3mUS%Y5(KN3@;myo$E-Xx|>*k3@0g z{`G$)U+_qe{(fUQus`cApD~4;S3(KVTtD%|`oZ+_|H->xB-)}4j_Gf*M_U*sDzCBvzzr8YFhIOPm7|y3`e=`$q z)`d_S*Xy`e!!s+EZ*T42K^Eg6f2eKOH7qTXJn~Ek3mb`#`jXBwAd&nn&HC>tPRqNu zww0A`bl6=ut0T_??2hNxphwI6=jVU4%y-ShXgk+=5^d+r>-)ByMC#X~efzF$C{jK} zY5)28gkeYY_Z!QB{n;-0jN#gM^bBP4oNagI(S&>oHRL0Xo_pQ3Uybgo>ALZsat1Ow zSKGCY?yjBhj&8@G(fN6EUPk9?IxqMfWxa{6$uzIcMQTUUxmt7EiIhM8A6m3;|M_|P z-`2PPf9gpz%+IeUzp<%lG`Yxu{n>6fu87Xhcb#`fDwEK;Io;%;9i5-=T8E?a^XUAX z?Stc<=>GYx?ITkEvae~;ar@8D_y4wWd$i1>WzK#idN%5()r0@GcD}El6;XM6S6`wN z*56(Z?9a9lou9Xyo7;JJq%xsjs38w=bbh{T-xi&pN9X5kAJO^wu5BYy-||b)qI0#M zpZEW5KVD~kd$ZGMilgn~$J<3TkD_@Ltpm|I z5Um5zIuNY`(K-;V1JODVtpm|I@N3tB=xjBb1JNAVzd69~j_uCyTVvLc$GWW@N^97; zb0_Jcv{1fCanS!|6V8Us2CcV=i#Ef3ZFnYy#Q`s+)7zj&lK=mqt=WgNb{Bs%j@{R} z-Q`&%I?Ml;{zZzHG}c$vRa-YnV_mj&7qCTJ2(P=AZ%=i19AwxwWZOq54yP4`wGYdC z&pxcv|Lb*^-*MPong3M!uaQ@K(usBOm;UW3{-5IaYvk3Q;^4O-_l02}urK87Nk%k| zeN$Gyblaf(pV9{Q#Ji`uyQgqJ#cxk>?5RHf6u)TQ-TS)xYvk3Q$}ZYITDITawGWON z_LPr5#qZZB^ZgkIzx(x5@?%fDyGsYZ1HGqk`^qocKK8DC@ENqP@_ct?zOUp{&i;&J zU)J5-rGwuU-W)^6BYi#^cJDLOk$vH3_zd=KChYz1fYsm0Hg9Z%;8l=$>g9a%- zcn;4UGI8RN;jkEh7HA|6B60X|1fUdK4s`XbwbkK<5DW);M-+3lj^&_sU7* zcc1JpFgQVk8~P<;EHVmw+~4EAIca6Ehr#ZPF%Rc$q^*VFx5r86JKFql4D$orjFan5 z{H=uv=X)A_x8mKhM_|*CFZ>s-8!>-bJ9h5e3O$yzx#gY&gpPp13MXX%g3}7 z1E(53+Sh^hDrgxd-c4|G5Ar_PoeV7!pNc%>FOq(woevqzqf=m*HqyAix*mr1azkUB z+@G~J`N+e(p>4xje``nL3sEcRBwr*$`P|q27>4nahi=krVA6H&@6%>?I6%7??Pjf77ssbSU-0c$5G&02Y+iA_IuD+@2w&2X3)lh&l=J;fEH?Y z7YB9z5c&sTm}Z8}MOYfPKiZ_t0U!NmhVZeSjetLG+g8KlVc1_I9h|$J1wEEQzguD3 zcpcC=9~%ur+G)U(4IgdN*x#@(v^HtKvE_ef(OXT#AilHTmg$j^9AfhmHqG}^4Y%wOwfoRrDFleEDw)Q9m?Mx;1M2G<%ZHBS&SREs!gL*O!#?Q3#XVbwr{=eyhXJwGr(yUFI^$(?4H|;(BET5G@UQ4q!Y1TiKX5F;;J7zBo+t%**_TZPx2V^b zFw7$_!Y06^!nB9!1k(+s7^WZ00GI&GVK5_M#=sl}GYRGxn5i)3FgAYPp~AV*@i5oG zFh0iR22UH99GLDflzj-yaF`=tD37u#VP?V9!khrZd|Cp-ygCzR1rrb3e?(FptAL1M>pRt1xfEY=L1ue**J4 z%vUhq!t8*Nu3h729b`T;@0ss5zkT3mK4immg`s{WFo(hngJJ%Thhbeg9%dTMOqjVa zbui46MKGtpEQMJH!}Nrw-{wQO{Tjypk9>!|4>rf?@4?;%W5d(02&OG)4`JMR4($98 ze}<#qXz<(v!*RX{@uy6Nqu=qcH)0%f7-&{LZ0O<&2aSl0X){9 z_U?Y+X^n(A&f*-P2sX!8v}q`l{Pg48AqF&#mpZ{PjP)lk{g#68G;GQ^1;+XlGaUVR z9+_j1H89qn;VF}Rc6`FISg1eaqfCaQU#NWY?e3R2`M}#B`}&x`bp9&p1L1rSrQ!*v zhhkPGR9E4KVYQBd@xXXt_9i^o_WDP;_800VjXLb^XR5o>FPw+^@<;tcf0iCfvu-QT z;!rzWk5D<`I`2*XEIH%hK&bq1_nz`UocG6YsD7bth6_(us4SZwrdtd3QuTp^{gJ<7 z_>dt7<>n6`JFy_QPf_2Ze!0Dii~IHJUEC`-|EQ|U+!5ssnqJtu08f@E^X_w_S2Tb2 zSX+L{{ON(_qnnsdHLdkY0cC#|udH4EH2*j-8~$v~f30n&VIegCHb~R_WgRsCNdv+d z4b=QE=UM)y<21i7cTfDc4YmB+ey92S`S-*>d9>v(UZ(l~$Y)A~pVp^jqUGOwZa{H; zG&2G-NSZ%mf#u)$wdOAl?W;qAYW~bqEdRFeHGf7%2vdkt^IyBl@+YPZQofJuCjYy@ zS9`I{K7zBNwzR6Ip>AI7iQ*b`s&mV$d1Oh5IP}7fAlF*-rw@U1UTs75yqePbhPvvS z8KNtgYvv7~C=OPR(rI(%)q@Vgcn}(@8tTeR=ggZ|E2;sjYO3mHoLE|4)gTrFR+iVy zm{V0RE>b~j>Kn>yD$DCC>%~nf=-k?>y7Gnvbyeaq;92E!tLjVZ7R;# zHXEdAvqe1!HSs@cI{oUV9tyxcyeBA-JIJZWOWS`ttp?Q zstQ>0K@O))0&Q+}{oL|~X){NHhf_z3M*uGh!DE2WF}QSuxE)Si+4_~jXHyXNA$%nS zju0OQQ9p#-2{dMO>EJ=*hk}zcWgt_>LFlXrT2)|9lg131Tsn5-*pWwwV}XX1)}T7f zgWqDH32YB+4)x+H!l4t68dN%T?9iizPXWgrA*2aR5@*p9>Z)~se>a0tD$^SEenM5< z+-l_8poyXb;9(1D=Tt2miRvdN0Ya@_y_mw8K`=sGt=+wq$A%ynA^v6Dy%{1F^#H+p z_eLJ@cN~l(*r8sFs(T$+$CS^mVx6q5o2M#R0zw#fX;mc}04r;G&9o|U0a{5dIt$cU zRC)1Cu+f;1l+QH}N3a8KLRa$*l3G(&RaZB!P81-n`r2~HnG4rK)a^NQ=1mi~C~Xl< z9Xbv1I?#f;8j+{fE~R@q+|+Cu`?R|N8mi}3q1!5-TPr>WWWaf7fw~{7f>txj=OQ;} zh(EzSqpG2F4mt~wj`Sk>*<@TWO?5|Cvq{&45syU^p36L8r&QWdUV%op9W>KyRZcvP zv@NV(P*Ke!i_cY>`4D+KM~J}?s`?Vsk(2^gEv%ha*P!|l+rN~ceUC;38mhWdQH@RA z5xUt86-7zGu10lvrn9*oWOhl_<#VbRRq0+S0iDRS>bhyFi`s;)OgY+R2K(rF=s;D1 zOKTg%Un0=O!&&GV=FJ#0TD$_+v<2w$=An?q$LNI?)Kt$eh0h`+tZH6;X=PQ#f*C5& zqg0~#B$Ppo5IeAtaEZD?>X+Z@ZP~v{1 zSvyPXk%j2<>%pLFp?(T6xVTJ(=W{a#MKuDoXb!s8nySW{d6iY-9D`Xbig2GHFgL|l z2F$LWGe?X;g<{a^n)<4`hVtp?&cyYGR#`O%{cugy!Upk~Ax+04ra^Q=>UDhZnqk0P zJR+;8vr=%dQt+nLLYx6tXBgGCnja4pAfa4m;IXFbE5l8j2UXBf)>ZS}2~-%=J2WZ$ zeCW@xf|nhjCG4>73Q*;nNY57_I$UFPy-)(DYdQXWUe}2TEPbxK!Qpsa=Yr_=y148m zV_fMB;&HR&-5%G!5!UB%)`2tTJXUk(2Rc{MX{3347Z7k|NXEqUhcyN)FT0Dpm7sg# zWd(!f2`{^8Pm*MGPM*)pWi?N-fr;Lc^lf8cy0=CBg!&xvUep%5zRY-Y>eBt-Sc4X-FF-+)32$=5K5H}M|%5$eqx`;cD(ch(0?u+BN z!E;{){++x;h#G}(9v{aL@l=>qpw%+`kvar~_}fCM-G%FGMB?+fP6Y>Q;6EVT=XNy$ zx!tXM0?A2I+WLD>QUD%^s?nElIsKOLuS80MjmEQo8_h(<#2EA^@&J`~_5n%NLLR8l zdqlG=ng}J5M+gfc#fJY*g)S(!a_#kYJ6E_)iN83 z2%S}jW!%D`J&7hDff=jlSxlIMp>hW6l)Op7Rw#w_P=75*?V5m8OKke@RALZIvmp_Lp%jxQ@flQ|--7)g#?Aw=7!!Mo@8;e5 zdQeJCOvcHK=wU|pAXE@-JHulfJaSKEW=|;uEth*9+9}!&h5yQ+|FO;f$|>4b!GB}W ze`>S8a*7VC;QxA70AjJPU~C;%X)~{KiVpXKw@rJ^+tJvX_rzviFOapkM`*n+}Md$9FFN^M<1U-78e}lzFwFxX&|yF}PP6&B^?|kH-H`ahx3E~V`hJls0l>sM0v^RmVAWS3K5?S*Ah7h#TY@INB^=943<}W=y zGUUBW@Amf_64~3?jH&rv?#@9z?j}CH1v~2v?F^s-PZ3xRMRjg9uj}1N9)n)z&~gh;XGCs0R_Q zR0H)O!j)#A9z?j(4b+1OSB8Ol5aG%+P!A$pSqADsgezOlMlzf{J&17SO76ird3q4x z>S$7=2NA9=2I@hCD_>Tr1nNPAtB2$|T5u5IDwHD?HiHOPk!*zQ;2^@)TMbxTd1esd z8lc7`t~@h{a1D~oVOO3RM7RbUYz7go!<06`L4<3V8Khtk;q&=BGVb*;Or07zxHiOc zF)Rc#d&MEd(Kse{OO0{V!A_4LmntKYTcScb(f zt`*b`#y3qQvIB8eP<<&A*?~CcX^_M|L&h?k^t%=s0ZHsUWSpTkSSouF8E>e^4L_1m ziKO1tpp~K4T3&WCvbCX3w!G|ZWWrJ%+f2*LZbv3QNI$=8oZ)r!cq(Z*#U~j-BdnlW zQrmo~gRI|PMoo~}%;#kERWgNheMq}2=tc2K?6hQRckQ<^=tt>E?7d`~(IQ|Yx`Mo_ zOdze&YRt|}wlhi%w7l%)WQL)ZSzfMJ$xN08B$OClu>})aM|=i3K6wPf{qwj0IB;UR zgSJ)wAcbN}Soi~h-_`zLqH{>k04e{#3%pWH3`CwI&K$=$Mla<}ZC+%5Yj zcgz0C-Lijjx9p$XE&C^Tw&cdXWBMm|uKb;Xx_@%F?4R5%`zLqH{>dHIKe@yDCwGx# z#~$pT+`Z-b3Y-4P9o9d&!}=$8SpVb>>z~}iq(CLPMvf;$#LJMQ?4gD?vSpECnR)N6;FjJvX$+sxHK5QE|l6`IC_%foC-!fA$6l{ z-3B%Gc|Q6xRJUp??QN#=wnF1i!1z3a;)enxzRE_B#ins3VA3{3l3Y6vqy3zvpuGed z23unxwKt^}%8f?S51j(^61nJ&lQCQ_qKI__7&0rcwJj)ZxvKUI25e56BR4>}=p4Ww z4lZ@oHl|%E3wjAB)uDjHQZTMv(A&aAfT{VAV7wnDK9tfl`zo~6l=^A}Pjkj0_$La_ z3gZ50^sf!##R|_4VmHPPX^VuD?ohS$Kww_?XC;5CS)fwBdmBl*11o~jCM+k>1H*DFA8 zvDDb~->&>e!9T6WqPgT2?O#Vix%}z;AXPl;O(M_h8=$|q8f+=ZogGTVYe2fVG@hSr zi)V*q@!X&=i$~+_z^S7#4}*9lf!V z)DteH3Rxbbi`7Z-`kYS`?^@04)4U>{)L_$!5%JuG31W}Pm3N?;J101DrIGq>zW`$q zmq51;jVM<6J~^r!xy|^zaDe7`1{}KJD^*=NI#-B}46zakz$o~1IFmNR-HDT(wean9 z864lkfnR6t^_2M_daxs97gd1ftk>1%I2&=D} z@unW=3sp~}!aYssFr^C4#cVFQp}`=hNQlCDCm7^vT<0V{$YQ8qC$bry$wwNnqbJ0? z$@ZiC`V<4s3$iBm2AqTn=uBhCYY96sP6Zz${GPs*^qty=Dq#D;sbn#DuRoYiGI zedGHHQ8b@$24T;^VEG&-5pkpH?S!+~AB#n7@FkUj*eM0*I-pKDaBS=kM*$qg2g1<@ zjvEew<6t-%F&oIb{J;R^h$RPUyVGd+d<&mWli}z&5ROVX7Q%sF_R)xr!{4Hlft-4l zx5)k-h)s;S4xE2xkdxu~=fQBC3CF32km-+L%0-$B=hn{<&U5SF;dkX8rz8l`>n`90 z;{uc?x*nx%BySVQdC%f6E8Mfw8=!87=uTVV$UhX1vF&iM4}l1ekD1l^5>Uo6-ycHD z>ocAhUo@;+Yw2!)lbUSajY2Jf3m+^o7ls{d!55U6il8e+$ zP_oB^0qt=d%ADyvL8@^G!+BB*Vw*loq8;w*3Yv%`Kn}uX+m^0i~K8=Mq zfM)^Z5Z1d^E;VZ{GuhYsIIZDCgh{Ed!t=M4Ybo@49hhphR%(e6MlB7GBSi5gD7DTf zLgX6#VI&Y5j7Dz*r9aJhHBKLeBriddbq(mE1eBA=hke?7cIgEw%1c1R?|{##ITw?h zD_m-15HK3sso7It)KA_kl(cq-Yvry{sDcQ}X>=1%2A&AlswnWh6D6F3yH;>qE@eqA zVsxEn0J?qQT4{iU1~Fb%P$}aFV4at>UbPdi{ud?Pkj$9a&hUez*U@ZZ;xve_3gyoh zB`?Inv-L#HSw@gxz}p0g8pN*)4W^@UtH|7<#7lkJoTEjoM&8A=HQ*eA6a$*5Q>q5> z+at&mC6A+9j!Az_OIk*?+Zn*KB{3NW97B+)LHr0TTZd zApWc$32P;!F&()TTEeju*Fl5$XZK2im9v;{l1z4~lKFJ~CN>?03StIuj!C`UhX1pB?;ChU=BQp%Sd~p(9RzWIM8T!S5V&s8z-vlbwYI6BZfNL4xfbS4Y zdf3je&}LR~;<*Gj4lF8oTQPt`ZkhZy6@0B3PsEGlkdka`S$9xgn-3LhlV$B3%IXyZ zwo+b73aEZpnT>Q5Ak|lr`iX&DC3kur1nMT#k%PIS?hH_g^}B?TJm3>V=L}^|`CX4q zqc0xA7a|NvN)n=T5Z)Pjnu@N;Fb(Leh|GPAkt%h_0gs>#Im5KLd_#=?poKUk)GY># zLmHgn&nck+8=f0Embj!!3oXPUF5!&OLN`t~I+kFvAJnm{81OAaj>req?`kqk1O5_1 z%$;dME({H6JI?{vFgYVDRQR%L!+OK6thNIju$TcxovQ=P)&U0aERJ)yCa#@th;<>v zrbZ(=7V8s1{f!nnYitH>VbP4rLRZ_A0OyF^nR{ z9;ZdzI9XMV0qvQiN0?GSXR59*kA%w276WFn7L2=Hg$x*`0k=`yk%oA#3F%G=$pxLY z2!A2NAN8pYze2MXVq`F0$D4kEB~=7zxj`D16bxT}GYz96Lo5yw=Qnef7~%kq{w-&q znKMWm(M)R=InIXe$yOvvG8+2UG(d-ueu9cQ3S%{NaDg3V0mUthDQ*U?kRyZEXH$Ll)PyZvBs5mux!wS2lsu_8_p>8x(ad&(0it&ikC+9-Dt-lLE zEaqrtaHZC{Uqt7k*137E$Mf^g^|+hQ^|;l!9?!*yvH~WC4r$N%czss`nsYuFPD9nA zJ3#RriB8e%*7+;R5f{v7bkNuv@2nOZ@KCif0-)&d(!1*sarHC;P`T zY__}}VVt}&Kac!ix9(30&h&4gZ}7;EpGSVMTUP<9lh@$qkss{V)hf8q&m%wBtsBNL zIP&A4Nd`+4LCyLAsMyj=Quz=-UMu}P@`K&F3dO%p`hComVe)askJWIm?`SwufN5Z{p@*87-d zvxnD8@8RiO5Uuncp3VectJ!1^p8oOrY7x%sW9fUSJ4LF>LTWV#o>xMt!P7q;E@cOq z6GY3?K&^QO^mx>6w@gpC98Gj_LI90GB#y_1*Z2{_NgOdwxDp2ocjCy=!jm{=%t(yN z$BY?)ZTK-`#t2_R54PyU!-n<~vH0&J;u3~ITztYN{I^QP`Nh_W6Gn@K#0f`@6p4uw zhKi&_oa`0J2~)t(CgBdm**4)-{HG**i2u|C7X+pyY=b*JfrmZYCA&3PnKT;Wxnw9;RKV|Lz~ma7v{C4oF+kJFnhDko zKy9&hzmkk4teRdQonGIK_)qbpZ#WT=%d1uOZ8EWSD+|C^h~FbXG7g*yc@^XBeT0qo zD$1AzNZHpAYywC{tO~eR-MqN1+G0@fd*#>cxo&Y=h*Vy)(b1)y#WXAEG{&c^Q%cve zHLZYWYQ=)-LSEbCpvGWHr=1)9AGL0RjjT(9^AWIRCc=@GhrjoMvU1bLEG;|W<@7Jw{N2V);U9`)cE`u&}Y(+>c$ z9z4ky-y)cXvVQ6^ptK42^N@*ts!e-Q_b5Awi`#FrVoRuiz;lDn@y-L>HxNPD52?`o0K!8i zBBh>N|3gW}kaQ{jvMB0XS!~4r$=F{YaGM~en$&s)Q#=x;NGrg56 z$Yq3xytV4dzam2H8g-unG~1$bAmO2i$jSsWgWBZ1$f%g$4pNp?1P~N!wbQhH2_$t2 z&@)&50KO5&7?nCIl@=31r97pQJXWiu(I_IQq|x0(=*%?wj0mR&HR^mEV)Rh_p41I0 zO?~smL#Jfwh4Y?EjI#eQ_OX!HDTST~$Z4?d1*VqztfzY_5Oeh)m4t%;g@5^Q+Qn+s zOdj?Fm^+uE=Af?}$|x6>p}UGDtAbtQu;w`qVg6F7BYJ*@w$UwCfc$5$=cl642hh+8 z>Om=3j6adz4YXR)9w+SuMLPtvwWQ@F;IBLWME+5rZ6<92X}?#r>7WTz&w?jNdr8q2 zfmTdfheZ4p;!otS0IiI)M$%4IG!BqglJ*p7uPE9E&^D5mhsk(BPyC7ezk{}ov=d1? zUD3G6pNrxwc!sopDjJvh$C1XFdqFS!iTs#2bfl!6MA{jOmI2y&(*8l(>xxzc8eb(T z=!&UdK_C2y{K23lB6|x?Chbf`n*@jM(k;oORM$aKSd1s&ww3J2mC-U=OeTC?nrn&W5-^3gNEo(;!s zbmYVFJsde!6U&`N-q|w^@1t~(H?f*=wEI2c=m%JPfJk*eK=HwC4>6C(AU7E&Ylh{7!NlsX5tghy{9yTUtns;3Ep_f>PfNk*eK=M+c?88zS}H7E&Ylh{DH$Qr`=as@;Wu3QB!1MCyAj zq(<-&h1uxubq>5AB2~K!UG!8r@P3HY_ghGf;3Enff>O7JNY(DbDM6`QL!@qPAvJ=J zDExa+>IWfGwY%_^pwtgSq<+vsY6Krqn2V>D&Vdg@q-uAehn^}2J`9oiVGF4dd_>_1 zL8%{wNY(DbV}nvZ3X%Fz3#k!&MB$S`sUL?()$YQ-1f_l)BK6}IQX}|?!j5?M>Kyna zM5=Zddg-Zh;FA!kpR|w~!ABHwomxx%G(@U)7fuaI{WL`Cr!AyL@DYVi2c>=%B2~K! zZwpHOEJW&OEu=>95rv&Fg3!8d3z4ebg?@Uf9M~2jbz2Lm5qw19qM+2zL!@eVVQEn6 z=OI!*Zy_~;k0{(6l)61cs&*IN5tO<;MC$eyQX}|?!Y&vG=^XeXM5=Zd#?e#dz!xD> zzi1&ff{!TtT~O+mAyT!wuskUB%MhtwwvZaZM-)CAl=@YORP8RjGbr_|5UF3akQ%{9 z6z1aztaIS&5UJW-*ovMi2fhxG`gIGb5q$9YRZs1Ig-F!y!qT9`e}zc=R||;|d@xq$ zg7%ku+)u@d16CP?JYJ0wiasH+RMKB~IIiRXRShr@ilfDUaDXw-hN{(}c=}4tm&?E_ zayj11jRoO+a$&x9fl{a=CQ8Po7L6`cK}9ZyZeLUA62t!cAiHrX_N9jXSg?1dk|V4R zBSSPFCFw6b9N7gmcZu9*fzM+kH{xgxb-Kx+cSlUTjSDkeSNn{1 zm`N`Pz==V(v8m%w72-J)LZh#Vkmni=sY8(V#~}QhCS3gq0g6#+JVJ$^4j$^I(V0XD zuhEMt{EY~ImI*hb(S+wx+7u<=TL!7cYMO@G^;)_{vx!hIG+F^9+J6Umrx-ay7lz2I zQu6-7Ae5)!i$U;}3Xyz@l01y;)KtUSgpjP!N+P6Oqt}TbStD@*BxC&_igR5=^$1?! zc@8)@1@VYJ`fVC+B;X()E1z?o0i1F;D-F;mdH$u?Jnb_>+Nxe`^NK$DB##$nR! zMhf+59SuCI_ez45qfhJ1(sJ}^9Ru`f9rm1vL7&z!K%dqzK%dqzK%dT0Gf~+`pUyEp zLs?dRHSnaj*EOlH=%bJ7v;qOIR2IV`3+Vc&PG?OY(af(;=Nzo*WzGEhbk0OgKiTlB zMD`c`)C-htc*_1XbgHS`k~x^YFwTIO4cfF@_`o>i4zS={%ZMYP1iIly{JGsC1FVin zKv1_l5z}0D@-)-YH_F9G7!R;I{lGksq3Gx*+{c0F_PWc-6yq5|t5auqap?kQ;QE@}z_XSCXmefG5aTH%l_d)(KJ8Eqr5{iGAeZAVcjz@tyK-GcMnugOyO>VbX#pFo}#O7 ze+&j&W7xRrXw>QV2{39@UN z07%GTj0!daCh-L9N;F|?5S|5Rn+x!FDLmS412JU{(EUL8d3+53sdqtW8ZS3Xrkp#J z<}!UD=6sAU{Y2wvhpRm{kXK~*@etSddORTME;H#Hzc@g-;tR;njN#n&ekwWRM78H2 z|4MKfKo*j%fIO<*XdyR}o;Xg(2Py1ZFhDiNl)+0{BsY>|7fC{yiQtaY17O14Ws6L< zb!N7;JBbL{rqGc<2}$g7yHm`c2s=?!k0SxUCgc=Q!{Xm*71dGcSp-l~flKiCPsEFw z8eM)0y)62UNF4}KtmiGp6h%G%6?8Q|DH3jE6bil!--MS5don4VmjH4PPs1|^xmBm( z*Mw?yKrtWndz9-`s6DO~QjIrN;Y@D8U)z-+q?`iRIbcaS1CFh5;OFr%Gf_Q3(g*Ld zc_rNse7d|KWjZU{^USq$=9qG|L)CndWs#%GPB}#`Z?2PS#PY7(X!1RES%7hf?4`_c zA-7P_DFE17lJ8N(s{o<{Us9BBFjb$)TocCj>3D;IK|iIMJILKJ^h$w_dJ;6>L0H*w z2}F22lq+RiUsNpetNRdKqT_k=^mbx(lX*DT9g{UixjjDC-;O-p9n=0+B`A&?#LI2i z{-To_%_f(DIucUi&Vz%TO0*R1OQ?FrVo?3AZ5XSl-)m@!j^Ng)PhOWO#1rQR6y08* zsvc4oq2m4Qhm@=NJ$qN^d-m?jAl-Gz@rYL6D`u_)ar3;PyXacbV+J7^>bzm|6=Tdl zdppQ~%N1k1e!Lio;=)Ib=G*d3>w`@k{|l zs$w$)3XAVTV;m%U1P6cAa&xeU@-VM0Vc&zMmOeV!fBMjl1cp%l225?b?`O!+li@-cF)3H6GxYfi@lvO&mW znJLbyTG2Mu4MyIiDQ8Q%n+)fN#zwc5A`hlMbCthLZ4WL4*7q2Ae9X8+Uc)KhB3Gki z(QGrJ3zi3fa0CkRCREb@1bV*#nA|YWptj3EYJDq3Tt}8uWU&c$ys<}tLkB;ZY&Qa` z;0iSXrC~jEF(s#-fj@l(T_W%QluIe`40V%VnUVH8V~+-JdN=wnx7m@%w-O{zS;$o? z%o4+!d1e5Du?T=Lc+Xj`WMuaPBpgTPm8=9`0OCD7dH%WZD?qo4_wM8cWUM1#9xHSa zP!g|&)bK7q(T-=|<++q~waUR<6XAGcqZ~5o@eI3)G0BM;^>~VD_k=bxaqg1Q$fHD} zHwN|xl=CN@XcK<^Spjee@hM_c2TN~ePM&=x>I3eO_%nmKR&72hNu6o>GgI(9{4%-Z zuaJo69jRc*J`35ycP8b7RQg^(=E%cT)qOSq z#vBS9M1V|Hpq8N4@?8g%zMXMAGMZJkQMBKTAwU|`dV+FZgFouu;a+f5lkFXyYNLWU zCqRFZd=6AmV&0)Db%1RU#k(rkrce>(Tn9Q8QQ&icbfx}#%nms@vlg+w&j(HVtE^gE z8LP8uT>C^!-P*wKGhGO*jLOMd`PyLUs_7HZ7xDhsU=QVpY`&u}Gve{*lIn$htMEwk zkevzrQv9y9SdUP@H*!#l;__A;-;^e!o_-xrbbH;q8sGFw z*azdAnC9_KOz8M#H}{A1}{rJ!J(4DkqqC>wfCIivQ)MdCvP8(WR^m9=t$;#g?B%a z>8|{nM=~1kek8M6@na<8!@#8vK=VC97`QN@Ee9?->2~0vQ@-oKiwbtQ)RhChxSgWpYGC(j-C z3Ig~&D}h{jr#W$R(M|bdG+g3}yB7VO->c#GuDGQP>RYRrzj4RSB=l>zIxcPjVXTIC zCB^YQCV$+0iuvWVxDkZ$8h(==$Aj4ZR?jNm)fsU-9PMxYrG}&9c!blRkOhJ6yw#hW zxa-j<{fVPAUKih*Z$J8zHXxbqy!GqiUrO^hF9Uza>8I0s6N)TjA60iI3xkgFoYs z3SVmiT^=E4RR^J~l;+cgMuLhp>{mOXeRgju3RPF?E%XiD;nN{I_BAz)GMhy$c zOxzQP(#S31nYlmCXStcRL2iU*Rt2$F#51dc_)!thtXhurCvr%!&?DlRS3!oZBK{`B zpd#2N+)uN_vpzuyCw&aByOH7X&dZV))VyN)6y9s)ylQ|uc`j}#_@_ZW(S{eWKd&CT zie~%xycGdxfGZ5}v}tRv-I@oGqMr0w)aePpRG#imYrb|%EnACpc^2A>bA~K7Vx02= zlqN>uVbtzvL@6twxO1^gG#+D&%~9QAdR?TrCT316#lq~pfuCu z0(FClVNsW_P0{T2yxGgTdFh&U^TIXl?uIwfoMRPxw;J5xrJXr%v8rje=zceJx&|7S znIgGxb%1J%trmW<7zsdf}>;&9IwFfdph2Q<8?Ydhoj47c#!RY!_~N1 z^zcLWMW7V%y^hB(ha(q``B%Wv9gch85M4*2f0nJOQnJaE0(AvfveH{;g?8tw%_HDVS5%sbT{5*mhECJ-FS~#wyMISSkcp6Q!G7Q(?vWf%b}R+tv2As`8eJf|h&S1^DhSY+6zF;l0NRoQ4FLUAV^`4Cc#cd_ z)kndJ*P?G7#W zd-6Ic!7IQNy5t5(%BA49bQ7@=;~Gcz7aC{dYa*8SzI#zb zs}e1Z@yO(V}EKxk?jJx4SvsN|!6gBBN~PB`DF zL>#wCpxVCzwGxxzb0AybKy@eD`S9sHkosy|_9*ae&Hk4HfJL{N61JJ<_Hs8^RC^iwchg=zc>)f$ zm#$C3!S+%PN9uZrQ0?W9K&ri5^^|EZ_dQMNqW@)3p{%XZOb?pk>;){4|F;=y)bQXKL%{N-aT;|iH*;yd}tfC_vrWb{=J zn{syODX*XpMW(X*6%untY4EtwT3g}b#l%(Xadm~8*T+q$^x`E zS0Z&i>P_i1nLin)qrS3Iv0=^Z5Nlk$1L3lgiEh;RT4|xmmAR2Z3)ItJir@%e$ z06;kfz9fKd3Y@tGB3OnRKKCBuqeSI<();E?uA!^(dD-ueEF|TNF{2z*FI;M}kBw;A zpEnZMqV)JEcXg&tmqS7dJ5~)JBxJX&;Xk)xfp38UDSX&#dddf6qgG1D#1GL}*P|_N zhU|V_$adfcI62%(;~>*@5aYV&BgD*MwuWmyMipc$&P{`-ZpCq*z`<5LfeyCfMmp30 zfeyCf`{78fMHtnJzW~B7bt4D|FMw>EIfHV2sf2Pq_$hpg(-HLo)W5Oxee5$TLcJ86 z@Hrud`5LYOR6{4j45-El8zCcdpLfG{sKznEAz#43F~UMR*ynvm2m8FfUqX%CcF>w* zgq1+5&%5y}I5v3@>VFo3C1#jlCzJfrceeT| z_{P5(aGYgP+e^=WZ&?&9+5r~yA&vNRyW{yix8-oE$%bD9>eA3{J%_sBT&KFNai+Wa z$GZV=;nRo+u1E3LvD-@d!E{^Bb?mn01ERq?*HgEr08~rVaKTPMwnPp8L8t~OirFuu zNMTFVzDEJ}nY1MUG5EN>u~8V#CQAMze1#bN?{u8ZV31?<0J_QOc+f`ycng8AK8ZYN zbBvl{dmS82Si|@=9tYf6=`%z5FDJgc75p`R0JzJTX3UQbslm)l#h&4kYMiIh3q%;6 zX!JNfTgl;xMwfV`=!pA@HA0ue!$<}-!LN%N)mh)oqRTUk)Z!;am&1sw-CP#ql>nW4 zYRsH?KL$$wi+ND3wCdoMB6TIozvCPZ-4`gLt8pW06NqYjc&4Hq3&t*wQIN(?Q8_PF`p&Z^( zQsqQu)O*T(0wi#-tkGX7Z!kYB$QvV_cr9$b5pw*O0Tr7sR+nm=l5jVW9-7CgC7bi& zAhD_n*O)5rM*+L2Le`iUxH7^7xckn>p#c2^v^y;b6pd>grHL6LLqJ+~U)$QSCD&6f3X)Ep2=t)t?ZjTqgr{-pv zZttrUsk^-qX>hRHt4LRwe!#s@h0lVuV1-nU=+0{gseBfELK*=t_J7vc;WMkD zHz8l-wXABN>h+Z}Q<7C*>5#7?E?tJ7s3nw&EZ}?w_{7D)Hvx0H^{GPM_C%OPXm~In zXJ6aZic39EXElP;_$y*n{u+1BMzZww5)?GQ6wO-FFz5YO~ zmIpO{8(0f}QAOT82dd!9Y0gVZ(XkprQ;p{Xi(x#j3O%jQ&-M<$>pgw32E0n3zYima^~Ny7XRh}g#_K(O`fD(9Sm^bh!?=Io zOXU6mq%CI{HTaQo_z?IwJ(Os_%lD_Lh!7uE&t?{>>npL}xkTM!hji33V8-{%Lwt#f z`$xlg@24-vXvV8PeH{$oRi8e4)#rhzY25xYkDPwRKFDy71r_^9MT1nN{sO>$-yxXv za5u^CYBCYWFNDuHFsa~eML&Jj=S&qm*XSJ24;3(O&16}3P+psJ6>FJc?Y9-9GMU28 z6}!1MlGni#d@L4=5$bBsjHf_-54kaXB>N{_I)0biNE$RwIKxu1DJRj8aF`Bq`@P3} z9l^n|-!ZCHtnaVD|2{H~3*1WI#4N}#V8aT;Ttd<3XRLer5iuu`fo z`?!X`K(DE)s^OwlTN;B=99L*9?=msP-+|y8P$Ful=nHi47c$ka%WFVK+=i`74(4Ib zv#JsMUByr80ux+ScEqhosLHYz0@x3&+Yhu~fl`*^68FIl|8MF`L9@{nIA(_*Ukc*c zRlCE#ufG)3;!9@uQqUQQEBGa|eek8AbCo=`!|(5i>Wt3=F?DKN->tu7=5FyNGk1$G znT38Hs4v3(>|^$=4n?cvHoc>^=^gcy!dcc>wP)m}FShApxlQkQCIWGrK9<|`PK<_2 zT(R7ycf1;Y?~3I%z2mD=%-^_UxlQl*HC!DR%WZlmR>QlJV!2K4#Qk0|znm63f-qjg zZ_;DAP4Be2MES1Hh~+lD)B0`=N5^uT-br{1P;Jx4a+}^sOh5#{W}Dtgx(WHDw&`QJ zP46^s)5mg~-f5Gg__0kN%WZn6d7D0#+w@NJHhnC&>7C|n`dDt$J88UOR&CSAa+}^s zKU86C)5ktQ|8_jt<<7%4eJr=>os2Stu}vS#$E=g7_2V{u9J7#}lsYEu)&C-nc@?B) z3zbUCKFiIl4RS*}W>pY-MI5s#h#wVk z%ql)p6HdY(w&~-TS3!oZBCggjs0hq9y_0n-N;vUoWWLNr-zwWnx^16(_V)n@!xRx? zD}I2DNxb@0H@~^IF@j0M1m@%$@nDjtG6TM2*u+N}s22mBtpaT}%=XdLJ`c0%DaxOL zCIX67jzC@J8-%!}6Tp0fFjc=O&CHN8RlgF=J_10$5^aF_n1S}uuRybIgH68zZGe6S zn)Mq#`W0vc^efN?G@%{Fq#E!zxMR}ULmG&<}qhC5UK)-a%vO*aB(y;-dp9o0R?-{effK9(=Y}oXB#u})z zJFN3*B9;9|On-hl6>noqf<+e48%aOla79lI{Uku#NuVv)O!}qcTE!H10W1?(zjVA@ z(Not^(m+#u?0&q78pQn_49g)&wX9wuUBAG=bBF*++8{-@wM`9x3gN9@;oue0?iWhH;bPSP-%rE)&Z|af z^=WwDN;-|S7N3S!S4PJaT?_B#S2$wy2Nb=*E2F)r`;~ydK|^@NR8B6Cd*# zKqITPD>1Gb72K6X3I<6K_B>tmbhV)~;Sltk`L4`3F3`DBD(uw=)-!dOW4zNyTkUVp zV#cOuY|moGs*-c(*|V6jX>C+^dloY`Jx^hK7BjY8Uxn>i%-D>>6t-tEV>7jW>MSO+ zkkP5)_3D2S&%6p!aTb%g6U3U!t$1O*HtS;6e-44tohhou zI}>${7jds)!tG3=ADUNOPokqKQ1=CFPEJ>}A!kY{SQ2=+E#9fb86 z;~rr6X&U*2a{`)?Q+YK4wdsR#h&j_qZ~IUivLgV5v|#L{&U7+$>p8B{XFACn-wBJV zORzX(&U8}s!Jr{ICqQa@s&}UxXC%!qHde*)?x?eY66C~o&{8`mWIRnJH!!F?68*+% zs`nBQ?@V+yN;+$ekXwy?Hlo8F)6QQh?O_7QQ{Y>GOqFZ}dv=y0>sAVSkaF-Qg~!KC zYu^f^fomA?i*ln8`h~Hp5GIq?6*@0asmlOG8{VwjjniQW@+iEN28AJ7UgRI}h6vWl~WSP2l$7 zLQ0j8n-C~Z2`N|XqSFKjc#Rq?monD`I?&ipGfI^sXQ&*D$w!o(A4Z7hsmC9sWZ4A_ zcU?%7E2#ISauYJD0D(HJZpNj+U5+!nwZ_Kh9}r-zEQGu~Uc74DSkdnnhpNozI=bW% z!+vtiATVOP8M3;f4s}qEkYNQts6-mQ0i>1h;9>!$bOWAFLE3)|aT4{?_;lcGRo-0` z|NX?OfV;X_?{d0Jk&lB>1uCwIM96lHE+?9AQL7#Zsh04y@29}|>Y$XyQ!&uY=Ru)v zO4Qwe+1zP&x+^@k2xW8x71dau=hSYV5zSUxIT|kqZ+;!lQ1wtjV|z-`tu-=ieS7SU zs8cufu)KJBb=N-y9_mgudjhTI6;6*mY0o(6Gm17@pgb-Suo8NGp3r+J5}q-%&( zgWsT<*1N<*sL!2Bo#B0?D7cFFZpqQQ(^yha$5dEYoL9+2-m4kv$G=qkr7mHx4sfkG2uRPZC-U-z2 zP$>N{9IgNy&%kjy9sh*mEjr$XzNo1z0Y-v4|o)H(7Ebda#RcF>M?XcS>-4>@MJ*eW(F(i zUs{SC807{$h(-B0tL;0gVaWqjt7_uY=K!@0_!eazpjyG(6mXzwhFjP_mN2T%lrmxf z%lsI&k5y7ta5+#hu2f?4l&JHSM@im4kYMLR-E*JDxGz*5m{YS9-y>xzo{5J*`f(1$ zAA&Agy9TOusw9#oktVs8w4f);{c2 zV!eH-MC-k_m7uov_5rrNy=@izfA>Cn?LC7 zQZcfq1NXtZUh2w&qRw=6BJOXFzSKDxI}5Teu~pVT+M43r(i9OPvKs79m^c329GJ)QqpFPK_m-$6~0(Mo=~*0u6RXW0o*e}OTXvQCWFt-|6* zv((?O7gek&&k5pff)nnJ5m7!VbGt*FtB6a)eabtEgmziJqK)99%o6z7XPpa$y0Ex` zd8b2k8zOEP-sKR>6miNgFe>(Lhq#hT;%4KXCuCFW6=?()N?lS34(iHA;vjEV?iGVP zngxkN865QYlEW6w;m_h+tXT@>J>M@%{kf*dM-1+FdK)IDA0|Pp{SNU~BL0g|RU%3a0`ezzv*Xx2>tRAafd{_ zH7^^F_#0j}X3m~l+*tYKHMTG0o?Bd!dg+&s5`U&GE?J#AFB`{=SEtU)#&HwWsq?aN z+=c2ibyT4cd7?UXUN(-qNS!(_8^=vjr-h@EMMFbhHjbODt~xIp$4ybE&dbJe(_A}H z$2PYjcga&{&+Q+5EAq48tzS0At;qZ2xq8|7A8;%3LCH_6lcrrTR?H*qCH-~3uZ!)RD1GR znRd#%b0{}fY`NJNiEGZ5n?1?Fa?8!WI8$B_TW&uGk8xMwQ~)WX%Zd|QZuaC~fs(Wv zmt5DO>#iJ^Pz^cI70QubLGF<(e`{ri=stJj9?@5mP&`*On2u9x!Z!tvm%-Du#Fee; zEl@|SI+JDj0>S-yQ9kLkD9=QjRoPqAu@$8*#7(LSaq+OIGJ=aPOk5#uS3EBo zYIB8E;iuH`ZIlzgIk8?;x~3FT|5X%RpNVGg!0Cm!>C`S{epQ@c!(X2K5hvD!M+9FH zI$ir*&ntc>)Daz+1h(B$Xz#_cFWsUqF3-hc{qAy3$}a)`y9Iw&#bo^CnS}U*E`swL zqS%+EdQU2@9}eYyUnKYY9PWbQS0ux7Yf2jCOV?tdvS%e9YtmwAZWGl}N%^?LM^ya= zRox(}21L~XSv5sf$u(6kt`e8OE8F#o%CD=+Q?EndcfBX%Pen4IYEZDfXc?9*(9L8y zir>T8^fiLfWS975tY70?{8q&*83`}F4rkZX*-~)^Ev30cL)*kzEuFo9vrF;raJsyP zj$I~<9Y6jlisGr=%NL0@GUe%CL|Oa}&ur)7-Gwvi(Q@`>LN`~4`%2rF;|aAe!2A`+ zu0IPfGl;9H_X2$Y5n}e5#}lm8725)JtBsXHcutUy(3Ao+V7i(!-u;v4n#7h4G~*&1T>vKK^QKB*X!72adSFikFv1j(54n zivprN?u(3bs*WffpN}UJ_?4F6F{DrBK-!feH8 z=GY`xva1kLfgl^QvY0_MX32`8UI88RE*!RPU=$g7V zAs#HfD0Ja$m*N~RIE!Cxoj5|ueo?$j6qppzxGX}AU#uEOPef~%s0P&OWYxGjof2^s zJ(_B+Vs#qXf+NCok=Ue|I+k^*5Lh&g#c4bSO@PZyfosMJ$!8e04&e$@VhYB0*fBT5 zEJj=na~zGB7@NO!%$>m=O;s`OLkAmOa0YuU4fZ$`5F@6nAt6!|kpq2!>4y#VC7M&G zpJL>d;a)RVl%TN(V~6m+rt6N?|M$!tI&owl(qR~vQj9RJhz?6bcT6*)lY%;4XpdNt zl}^w^<2lgJg^Is&2bg@McU%N@MmW+WrCn9{;z*X%jxc|!0{)YYxlSQ-of=usIPo-c z#p#9xjDNOeJf0f4RB(tTUpCd117}_tzY6gKYt$UrELJUz`b7fA1fzDP9%WGLv(J#}5Y|#ZVqB){t zqVrDIa%G=Td5)0>@39E|Vecp&5n;aRj%Xw=LQpgOV4QDScN}QJrHBp%Mns3Y&=eEw z7MW8KO|CMhpWtH@4TKKPGo?^i7)fDa6iqUG=p-|G=p-}7aX0LFib-ZHwS>uJXxvGN zla4`C)di_A_9^4wRRCOoByA%YPBOM+rDQdjk7*Pre6n>?` zl+Y*nm1^PQp;mASSpj@WOhlMM9IKdWd~2Fvh+Bm&ZR55cVRhsEYZ>%+y{CbuU99~1#n?BU4Ga^MO9WUg~bWECj zL`s?^>^nQ6ZS;-W&QWSm0SbPiqZ!mZN1Z~=j#5s7KhE$ zBg`QpPyd9e^dDy*DpUVE($%2}`vqctjvpy9cvuB#GAUx#MvzNZb)XBew+Ki! zCtVd?m6BoFHCNI_T_>e1gsL(qDrZUn=9qGwIF0F6WR=-s*2VM+BCg5=6cZ{X8hG1J z>lExFrc_aSJ|zHoLlc{PXG&NQIZYIdQO=cw_7)E9A=L$7?a;`9)6{q8kJ0N8cCg3bu$%RowB-iTHnPV>! zd0oVuAaod!I0y|7t3%3XneqiKc2pEpezmWlW_=n@r06hsIJk zyrWMO!NeXHjS;jrObm?}kLW!v?JW`RNDCGf+NPV$J~LYnS-w#Cj*O)k`^zMA8I2<| z2byPPULCu9}Sr6Ie2a zhCXZpIN^0RMP9spB=X~IaRHGwGA8Cmuc#1rX%BGj&^6RN-BlGD#YTV{IBWw%#=v|L z(H9uk!LmQHvat2^VolQCUhY*I}>^P7-#P{ozuqcvfI^g(p}6TMdG zDJCO@U5U&%!gXkOTIDsA8OsvJ8%0h;-UuEOhcc&W5^oPhmWo(L33W#9TH}9CnW-*=9)%vYshMA zud55x&&D56khq}*5TZc>g6&&_fi_TaSF66Iv95Y^O-P*L_Gnv2ZA-A-!MM+3Kao@@ zSX%52+r?^5-^{kP&S6{p4c*`K6tvmbj>~*{^-K1A9M~2w8`sL(T3ON_)_%G&(@vjI znaSSTVb62r7R}9?$C3}TW-m+bx{__%Ul%@dWaoo*zhnPqwfeeys%BNqYA;&I#`)Qn zRv({sDy^XR6rcSid)9@#oqy&Uwk^HCv!J)TdsbHUA3c% z-+gWsui8<%qrUUZJC)rm-g~4tbnCPHm-ezmww1STVOzaN-~CPfId-fQ&ttP3UQ*oK z%O;)J%)Z*y#a_44*;#AQPQTE0i}KzzD9@{QrhcQ@mtW6)cKHN*Rx*E`|69cMcW}AF zw=mVY-n)~1t&69#S1f+wSzj;P3AQ_3yp?^vi!a~>Y^y!XRh#h)Yd_4xXmgNx2m5@_ zvKOrrZ1MhHpoFt*^4Vuu^$Bs3vIo}%7&CaPwrWRRUw1{I?@*xk#ZdTJcF_r5_sg)) zPD^CFakn?o&UP`s`1(Q@8YyN?UA%|&b=jA@*ySf!)9F94si&FuG~$HI^)Lq0w%YJL zjFEnt)fr=vW(Px)76m&a;{qh(g2|ck($=IwO)Es(FsP}nWxpPnLj=PZD=XHue zb0D-~Yc;Al^&|TMcA_8aFD(=RZ&bOKvC(JQw!;ISf{fmsOK1OyUF2mA=_?2Lw4S|b zeEPZkjLw4B(mMF5P})65c-Ye)Ok?v~*$pT72W<1{`~rJ^0vpFmSo|Iqf4IkY>eQ+7 ztGFhdvi&SDXwKto_8oStqk7@2{kvw? zEwisk4zZ~`-OW82%-`z%xaY{TJ*=HiWr-(V;+edTZN|F>KV+L>oLlV$6WsQyBztu- z`&y@crHfAt7l->g!}Z%Yy!j$8aM!wnz8ACk0MFpFN?H4fIy)y3BA>?jkyCu;b)Vg0 zXD0DBdr=~Pp|q04w}#!F`~W}X-rZ+sjODkUv#(47Jt-9-VOy6n!) z{Ppm^bnmt2Bn;f2+t+`_-D%HAv@;S>|CF79F5JwIpM-^{yKsKRSiZ?lP2#6`MzDv6 zop0$_Cn3##9u^nhv1h~|I?2X}bAHC2kqpY^V|Jf(iiAKcwbMnh%j55Q5!4E}iJdc! z|CWDXXN_b3V%b-_cp#4_2V3^#*B$b$V59fgbH=k~d%nx}VmQCYhj5UQl=phz#ZzHE z&CW|a!hU5z(S1Sg^YxwS<00`My3yCy$42wkV6QKDgf($5+r$Sm(!zCY-C35_#e80# z5zY_!@zBBylybsv1?Wbp_zT5l(8*|uK+grz9dSm^m-Jz<^U_ocd z$4@^EZBDFHOGbRA+zwk-BgvxDMF!llXMIV8ZX*Zu{!QU7feQJa45h!_G>y zuTJKVZLjb3q&{%O&Q8AT^~}zmdiHeJ3D#&|GYvH4LRkPaa?5YIT*7X1^AF(p!gq!ysV87jV{2BJy5y$u&Yy*CN*v?L5<8eGC z%09E*3!>YFAZ<6g_&e;$uKn!C7JTT*u4C*qi~HGQX#E66e}FyO1)aTN`C%0A!Ypn` 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 dUCq(aqHq-;fHwc`^&)}RtV&mBj1db zo_AwJ|8Tqze9S%Y!{o^R^(6THBmC-6&!%4OdB*;ypyw^}h@+Ip@ZVpdXFT-4{a$cR z5Aw=`oqdoWDtvhy`LVqbkZ+2tyD`GY<-?>KNZn0%Rl@#Gr}(ezfkzV z&Xri#+#eT*y#0Iv>*RSMFZ);I9DX(UzI!r8^IWqr-vIr6@Piz`!+$pmU+#zN!2gDN zMj+p?9v_Lwe;4vEhWw^p4eA(mz8aCg5AvUc`sIC`$T@k_&4avh>(4gA2mYBIk>54s zr4Hcz1rPHbC43FWDsK)JK3wmx^I{}Q5_&v5m!tn1gpZ4R5A;+$nh4d;fu2*Kr!R8f zcV5U#9!B<;%R@cZ!WGbS6ZEe+!{}%JEEB%Qid)pu+}`fbn$y|g_w+V*_j)bey*<72 zT3bi8c)ou~c3Rq>Iwh0!eYu+0@9OYF^rfy*wVr&yysN#`Tbem)w202^^k=nq&S-A; z!;h)^&GQy`=ELkW=gpb3kg6vgHPLG3#i8j5M^5s26%0dcwT7R854EO`njnVv_K3an zdYWgIyw=Y4nf`Ij-2v0t)hnOF?-BF5WNv=zyp9%OyL%UQmAr$Kepho_w>PzUzTez2 z)1THov()XCI$Ansmi(64&E4Ld=3`5tj6bKjx4UhD*WBLL+#{-_S7|}l)XvVXNgbu` zSqp#eZXqi0)FPFMI zn%e{1A>Rn-G+O#ErQYu50A#z{+Qq^E z9yzt8y|bsSW0tuHzs}HM@Qmi3(9D_geSr4TxPUZpYyfH3KW-MrA7Rq8cpwAb3@bIlDVF|W6+JuoOp$v{ZvC{vZ|Bd2<;LKI}JFW+mC^lX{eD-$&H4&C6FOd6Z?5=+}=dR<=6ycx27@E2nvS_3PbS*U3MzCFc<8{rGZ^?9YhE12GV*vahkX|NSF+tss z$w>seO3l6Aj8ac8&FP)pUFw-FzVk}$rNE(l0a-FfQf7{n7+4<+C)T#evN+yD68n?A z?4)dZf|QU+>BH*A?(4}a3c?{3sJ(4QOJJ@PhB?h`9f`zYQ>Pq!h(Bi3m{H?ACc_lz zf|b-0IphuG7!u>P9?zdL&F`Am+tS}B;UWvw z1g7{w`lG^%vE4y=35s2tlrAZFzP#SiX67jon(4K7&XTkj*P~#`Jf&AhOLK4kQDojN z#|AITiq*lyB!6a4r$1XNwTv2e>{{5rqo_8OO;RFQ)1srJyVTt+%b-iFlPQX`8TXc+ zd7*(OiRp)+aFn{6!^PD)zq_rs)PIQ9ppHhko?h8Ey8FwSjPyHO1INf>^}_8y48jXC zH<^Q&+rOJhskuF!-4UON@A^xMT3H1BxuC>_U(X7%V5TgYUKvfkRu;~~y3)jr>mzV< zxX%4x)Y8l_@nzLSXW)1B1_^2$ESmExD$%3WUW+!ZYee1oYEXeZxH8s-5p-5c%!Gk!fHsG5uLJI;E-{oNcBi$ zIwB4a)^ng)N(5sgrJ`qUG#O_%&yhtwE3APXrTJm$mlJ`ck0~@LZ42NAv-l!oh2_$E zvR|<$yNjv^9tsR3gmUNmD)mi6P*>YxT3E9U`OB+VT` zsSoxhaa31#DNMF7NMT(rEoh5W8=md3iH-|ql?{%SK~Lj`G2zC$Omm({P zDcYNZGkyOAKPLF{s^2|Nwg$OJuz3~kw#di8Bf)i;uPWk)r&a9mez5rlGX1r8bWZK; zD77z4$`LBqh{_yjaux0kxBk}7u4rKnq9gYc{gt+bXThKxgd2fBuSYUY0vaCuxqk%# z9uv5KffVUBuT=uj?dE`_hlt1$>_0*<;cx>G&&z-PUz9;R=SAW!Tdd99j$k23crb=@z!SCw1G{{=kn$$tO< literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAstats.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAstats.c new file mode 100755 index 00000000..333f54c9 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAstats.c @@ -0,0 +1,363 @@ +/* + * RNA folding statistics program Based on RNAsubopt. + */ + +#include +#include +#include +#include +#include +#include +#include +#include "part_func.h" +#include "fold.h" +#include "fold_vars.h" +#include "utils.h" +#include "subopt.h" +extern void read_parameter_file(const char fname[]); +extern int st_back; +/* @unused@ */ +static char UNUSED rcsid[] = "$Id: RNAstats.c,v 1.0 2006/01/02 Exp $"; + +#define ENTROPY(X) (X==0 ? 0 : (-X*log2f(X))) + +#define PRIVATE static + +static char scale[] = "....,....1....,....2....,....3....,....4" + "....,....5....,....6....,....7....,....8"; + +extern double print_energy; +PRIVATE void usage(void); +float *bp_entropy(int length); +extern char *pbacktrack(char *sequence); +/*--------------------------------------------------------------------------*/ + +int +main(int argc, char *argv[]) +{ + char *line; + char *sequence; + char *ss = NULL; + char *ParamFile = NULL; + char *ns_bases = NULL, *c; + int i, length, l, sym, r; + double deltaf, deltap = 0; + int delta = 100; + int statType = 1; + int slideOffset = 1; + int slideWindow = 200; + + do_backtrack = 1; + dangles = 2; + + /* Read command line arguments ********************************************/ + + for (i = 1; i < argc; i++) { + if (argv[i][0] == '-') + switch (argv[i][1]) { + case 'T': + if (argv[i][2] != '\0') + usage(); + if (i == argc - 1) + usage(); + r = sscanf(argv[++i], "%lf", &temperature); + if (r != 1) + usage(); + break; + case 'S': + if (argv[i][2] != '\0') + usage(); + if (i == argc - 1) + usage(); + (void) sscanf(argv[++i], "%d", &statType); + break; + case 'o': + if (argv[i][2] != '\0') + usage(); + if (i == argc - 1) + usage(); + (void) sscanf(argv[++i], "%d", &slideOffset); + break; + case 'w': + if (argv[i][2] != '\0') + usage(); + if (i == argc - 1) + usage(); + (void) sscanf(argv[++i], "%d", &slideWindow); + break; + case 'n': + if (strcmp(argv[i], "-noGU") == 0) + noGU = 1; + if (strcmp(argv[i], "-noCloseGU") == 0) + no_closingGU = 1; + if (strcmp(argv[i], "-noLP") == 0) + noLonelyPairs = 1; + if (strcmp(argv[i], "-nsp") == 0) { + if (i == argc - 1) + usage(); + ns_bases = argv[++i]; + } + break; + case '4': + tetra_loop = 0; + break; + case 'd': + dangles = 0; + if (argv[i][2] != '\0') { + r = sscanf(argv[i] + 2, "%d", &dangles); + if (r != 1) + usage(); + } + break; + case 'P': + if (i == argc - 1) + usage(); + ParamFile = argv[++i]; + break; + case 's': + subopt_sorted = 1; + break; + case 'l': + if (strcmp(argv[i], "-logML") == 0) { + logML = 1; + break; + } else + usage(); + break; + case 'e': + if (i >= argc - 1) + usage(); + if (strcmp(argv[i], "-ep") == 0) + r = sscanf(argv[++i], "%lf", &deltap); + else { + r = sscanf(argv[++i], "%lf", &deltaf); + delta = (int) (0.1 + deltaf * 100); + } + if (r != 1) + usage(); + break; + default: + usage(); + } + } + + if (ParamFile != NULL) + read_parameter_file(ParamFile); + + if (ns_bases != NULL) { + nonstandards = space(33); + c = ns_bases; + i = sym = 0; + if (*c == '-') { + sym = 1; + c++; + } + while (*c) { + if (*c != ',') { + nonstandards[i++] = *c++; + nonstandards[i++] = *c; + if ((sym) && (*c != *(c - 1))) { + nonstandards[i++] = *c; + nonstandards[i++] = *(c - 1); + } + } + c++; + } + } + + + /* Main Loop. Process each line as a sequence *****************************/ + + int mergePos = (int)(floor(((float)(slideWindow - slideOffset)) / 2)) + 1; + + do { + + /* Read sequence, make sure it's long enough and allocate memory for structure */ + + if ((line = get_line(stdin)) == NULL) + break; + + if (slideWindow > strlen(line)) + { + fprintf(stderr, "Sequence length (%d) should be at least window-length (%d)", strlen(line), slideWindow); + nrerror ("Quitting."); + } + + /* printf ("Sliding window %d\n", slideWindow); */ + + sequence = (char *) space(strlen(line) + 1); + (void) sscanf(line, "%s", sequence); + free(line); + + length = (int) strlen(sequence); + + for (l = 0; l < length; l++) + sequence[l] = toupper(sequence[l]); + + + /* Some deltap calculations */ + + if (logML != 0 || dangles == 1 || dangles == 3) + if (deltap <= 0) + deltap = delta / 100. + 0.001; + if (deltap > 0) + print_energy = deltap; + + int i, j; + double mfe, kT; + + int startPos; + char rememberBp; + + st_back = 1; + + /* Construct the sub-sequence to be processed, based on the window size + and offset. Then calculate the required statistics for each such sub-sequence */ + + ss = (char *) space((unsigned)(slideWindow + 1)); + + for (startPos = 0; startPos <= (length - slideWindow); startPos += slideOffset) + { + /* Crop the sequence at window size */ + + rememberBp = sequence[startPos + slideWindow]; + sequence[startPos + slideWindow] = 0; + + /* Initial folding of the sequence */ + + mfe = fold((char*)(sequence + startPos), ss); + + kT = (temperature + 273.15) * 1.98717 / 1000.; /* in Kcal */ + pf_scale = exp(-(1.03 * mfe) / kT / length); + + (void) pf_fold((char*)(sequence + startPos), NULL); + + float *bpProfile; + float *bpEntropy; + float basePairedP; + char na; + + /* Use the Make_bp_profile function to calculate the probability of + each bp to be paired. Then either print out this probability + or the entropy of this probability */ + + bpProfile = (float *)Make_bp_profile (slideWindow); + bpEntropy = (float *)bp_entropy (slideWindow); + + /* P[i*3+0] unpaired, P[i*3+1] upstream, P[i*3+2] downstream p */ + + /* First time only -- pad with data before mergePos */ + if (!startPos) + { + for (j = 1; j < mergePos; j++) + { + basePairedP = (1-bpProfile[j*3]); + na = sequence[startPos + j - 1]; + + printf("%d\t%d\tPairness\t%.2f\t%c\n", j, j, basePairedP, na); + printf("%d\t%d\tPairness_Entropy\t%.2f\t%c\n", j, j, ENTROPY(basePairedP) + ENTROPY((1-basePairedP)), na); + printf("%d\t%d\tEntropy\t%.2f\t%c\n", j, j, bpEntropy[j], na); + /* Not printing dG */ + } + } + + /* Always -- print center data */ + for (j = mergePos; j < mergePos + slideOffset; j++) + { + basePairedP = (1-bpProfile[j*3]); + na = sequence[startPos + j - 1]; + + printf("%d\t%d\tPairness\t%.2f\t%c\n", j+startPos, j+startPos, basePairedP, na); + printf("%d\t%d\tPairness_Entropy\t%.2f\t$c\n", j+startPos, j+startPos, ENTROPY(basePairedP) + ENTROPY((1-basePairedP)), na); + printf("%d\t%d\tEntropy\t%.2f\t%c\n", j+startPos, j+startPos, bpEntropy[j], na); + } + + /* Always -- print dG data (but only once) */ + printf("%d\t%d\tdG\t%.2f\n", startPos+mergePos, (startPos+mergePos+slideOffset-1), -mfe); + + /* Last time only -- pad with data after mergePos */ + if (startPos + slideOffset > length - slideWindow) + { + for (j = mergePos + slideOffset; j < slideWindow+1; j++) + { + basePairedP = (1-bpProfile[j*3]); + na = sequence[startPos + j - 1]; + + printf("%d\t%d\tPairness\t%.2f\t%c\n", j+startPos, j+startPos, basePairedP, na); + printf("%d\t%d\tPairness_Entropy\t%.2f\t%c\n", j+startPos, j+startPos, ENTROPY(basePairedP) + ENTROPY((1-basePairedP)), na); + printf("%d\t%d\tEntropy\t%.2f\t%c\n", j+startPos, j+startPos, bpEntropy[j], na); + } + } + + free (bpProfile); + free (bpEntropy); + + /* Restore the bp at the position where we placed the "0" beofre */ + sequence[startPos + slideWindow] = rememberBp; + } + + (void) fflush(stdout); + + free_pf_arrays(); + free(ss); + free(sequence); + + } while (1); + return 0; +} + +/******************************************************************************/ + +float *bp_entropy(int length) +{ + int i,j; + int L=3; + float *P; + float entropy; + + P = (float *) space((length)*sizeof(float)); + + for (i=1; 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

      t)(R$}j!{t;ED|(%(-K3G@HZyFJgZIKK8bu| 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±v4`FgpU;Rh6D zYQ9{qX7~X`nVRd%)eL`%yiCpK%GG>ssT&WA%G7+iT+OFHPR%FF)qFCjxn#0!`vk?nMM9Mcys7gj1r$#l0Mm2{yD*7SPfF-2yZQwtZ9}61VQ&p&obxlO(CkgIa{97){7%P2_lRrOMS4R^bDOM2-ia z11UQU!p2fL9>h+L@bOYP9_)^|6#EDns!6*%I9ug%gjaz|;N`)Q*$vS?-TSifQZk!?fZJfZMyR z5<}t+M{$mGo|V}I(WsqL)ZIY1OpS_Z)L&toeEd(i=^K_dY(?-_*6`@8+8W8oLS8}iDCvlV?|mdbYas# z$N(?%{0FZW{&EnVmHq(m0Ue7vLMB)lYQlv&JavRcr5ZS5t~Ygr?3L&ubarBCu{N3a zX6U3sS)ANSi;ha!av{nxBAhoT>Wt7}WVn@d?K)jq8g2pP${|u*FV^Tf(7>gk!~tP^ zHiW_0z#yEWk=M`+$Z(SunIpJ-2*ohF82eSBo&r2e!>r-Fob}9KP>Pf#+&eu(-IA48 zl}nJTmby9?vF0aI_E>aQB#qY`ZPUdsxb&HIvAOU0H1Xf)6NT?#klRb?HYfP&Iv5%5%+J@s zz#O)|GVk=?U$DuM8yfWAUFyH=`+&b!|7DrpFIHz|nOTRZ8?xg7d9@_!L(gPG&tw^s z7pP~lbk?noqO+JNMLomxP4!=v{@YSLlclqI9mUAqR-Kid1nB&Sh2MD2zUV&&iX=I% zU)yTT=rUBYnuL9h!>Jk54Q?LB>>%e#NxJ_h<@S$}$hjFgQlnuGP3N%5MuIyJH(Ybr z8!loZ#hB(8mDzz@jW~Qx<1s@;kL$Q+sOTLxZ#Zl$slWwxFhgEJ8*gY^LGEYmZMFA7 zoIDJ(Tv+B_gIO*tksxWDo1HGYniySsX>>Jllf!jVF0q-BO0M(6fNKf^u8E`O0xX$NX`S4s_CJX-tesylh&vOwTl>>{2fGrlpu6%+(}L@D_|mlC1hpVd3tn*)hwo%HD#)uxp`$I@;S6D$Qt9ge-5rb!A@5|! zWG3XDZ@H=^e8A}<{DNkb3>Ub9b}&QOr&M72R?z7@HS164J3B5 z{`o*reW)l1JAOP@qKISXqNko?w^9eHo@2*mC8Qt2n61;hd-c4#_cUA~QiRVdl_tDS zZ}`=RH~i|kT&4A{PW@?s?5L>cJs)>(tzw_uDE$4KKsS6@enzoI-H_cBeSKN`oUKA% zr)!_H?DHpe15i)+KFe{{#OFA!hWKla8%=z^<7$a7 zb=(BvAy^;f;hi;pFC!X!1uDv%Bdk5jO3VG${QzHd)UOGlz06(NPYAM#9sT$`PKcRIn9chp$op zrvDvqZ>`nL=3a4B=!0OJSOa@6LM{3835VW74Y0&;zV9xC0bizUR7V5WJ1R5)*~_Ur z1B&+1T63uAHAjVt<~S7=%|K6%(hbD67W)`GKAk!DouEUQW?SS5{#*yD;OMQ@;fqEPk8)fU@%E0ZCf?C;HN-nPZZz>{99K)cyW=JhAA?Xa zGk%CO)gl_aH!8}EC+t7kipVYD;{a=+s?3LPp`siWIRnc4t%VQJaHqD`z}E8G8b-<) zzXZFcZM0VXo`9?^J=qyI4gVFTP=^6dRNaVLr<)eVXhU{wgltx>

      AVf?0%YR-_1> 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 Qf9W>4IWD;dluNSz23}2@MgRZ+ literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAsubopt.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAsubopt.c new file mode 100755 index 00000000..416f6870 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAsubopt.c @@ -0,0 +1,231 @@ +/* Last changed Time-stamp: <2004-08-12 12:45:17 ivo> */ +/* + Ineractive access to suboptimal folding + + c Ivo L Hofacker + Vienna RNA package +*/ +#include +#include +#include +#include +#include +#include +#include +#include "part_func.h" +#include "fold.h" +#include "fold_vars.h" +#include "utils.h" +#include "subopt.h" +extern void read_parameter_file(const char fname[]); +extern int st_back; +/*@unused@*/ +static char UNUSED rcsid[] = "$Id: RNAsubopt.c,v 1.11 2004/08/12 10:59:31 ivo Exp $"; + +#define PRIVATE static + +static char scale[] = "....,....1....,....2....,....3....,....4" + "....,....5....,....6....,....7....,....8"; + +extern double print_energy; +PRIVATE void usage(void); +extern char *pbacktrack(char *sequence); +/*--------------------------------------------------------------------------*/ + +int main(int argc, char *argv[]) +{ + char *line; + char *sequence; + char *structure = NULL; + char fname[21]; + char *ParamFile = NULL; + char *ns_bases = NULL, *c; + int i, length, l, sym, r; + int istty; + double deltaf, deltap=0; + int delta=100; + int n_back = 0; + + do_backtrack = 1; + dangles = 2; + for (i=1; i=argc-1) usage(); + if (strcmp(argv[i],"-ep")==0) + r=sscanf(argv[++i], "%lf", &deltap); + else { + r=sscanf(argv[++i], "%lf", &deltaf); + delta = (int) (0.1+deltaf*100); + } + if (r!=1) usage(); + break; + default: usage(); + } + } + + if (ParamFile != NULL) + read_parameter_file(ParamFile); + + if (ns_bases != NULL) { + nonstandards = space(33); + c=ns_bases; + i=sym=0; + if (*c=='-') { + sym=1; c++; + } + while (*c) { + if (*c!=',') { + nonstandards[i++]=*c++; + nonstandards[i++]=*c; + if ((sym)&&(*c!=*(c-1))) { + nonstandards[i++]=*c; + nonstandards[i++]=*(c-1); + } + } + c++; + } + } + istty = isatty(fileno(stdout))&&isatty(fileno(stdin)); + if ((fold_constrained)&&(istty)) { + printf("Input constraints using the following notation:\n"); + /* printf("| : paired with another base\n"); */ + printf(". : no constraint at all\n"); + printf("x : base must not pair\n"); + } + + do { /* main loop: continue until end of file */ + if (istty) { + printf("\nInput string (upper or lower case); @ to quit\n"); + printf("%s\n", scale); + } + fname[0]='\0'; + if ((line = get_line(stdin))==NULL) break; + + /* skip comment lines and get filenames */ + while ((*line=='*')||(*line=='\0')||(*line=='>')) { + if (*line=='>') + (void) sscanf(line, ">%20s", fname); + free(line); + if ((line = get_line(stdin))==NULL) break;; + } + + if ((line==NULL) || strcmp(line, "@") == 0) break; + + sequence = (char *) space(strlen(line)+1); + (void) sscanf(line,"%s",sequence); + free(line); + length = (int) strlen(sequence); + + structure = (char *) space((unsigned) length+1); + if (fold_constrained) { + char *cstruc; + cstruc = get_line(stdin); + if (cstruc!=NULL) { + strncpy(structure, cstruc, length); + for (i=0; i0) + print_energy = deltap; + + /* first lines of output (suitable for sort +1n) */ + if (fname[0] != '\0') + printf("> %s [%d]\n", fname, delta); + + if (n_back>0) { + int i; + double mfe, kT; + char *ss; + st_back=1; + ss = (char *) space(strlen(sequence)+1); + strncpy(ss, structure, length); + mfe = fold(sequence, ss); + kT = (temperature+273.15)*1.98717/1000.; /* in Kcal */ + pf_scale = exp(-(1.03*mfe)/kT/length); + strncpy(ss, structure, length); + (void) pf_fold(sequence, ss); + init_rand(); + free(ss); + for (i=0; ijLx+UR&CR_e8tx7E0jOxA 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 VE&X8`>#&S|vWz&l!*&qE^q(g=y4L^z literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/dna_DM.par b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/dna_DM.par new file mode 100755 index 00000000..72b1515f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/dna_DM.par @@ -0,0 +1,11653 @@ +## RNAfold parameter file +/* This file contains energy parameters for folding DNA */ +/* The parameters were made available by David Mathews */ +/* and are identical to the ones distributed with RNAstructure */ + +/* WARNING!! This file is still incomplete and largely untested */ +/* It does not contain: */ +/* terminal mismatch energies for 1xn and 2x3 loops */ +/* we currently still use dangling ends instead of terminal mismatches */ +/* in multi-loops and the exterior loop. */ +/* There's no special parameters for co-axial stacking */ + +# stack_energies +/* CG GC GU UG AU UA @ */ + -220 -190 -20 -60 -130 -160 0 + -190 -220 -50 0 -160 -130 0 + -20 -50 130 80 -10 40 0 + -60 0 80 20 70 40 0 + -130 -160 -10 70 -80 -100 0 + -160 -130 40 40 -100 -60 0 + 0 0 0 0 0 0 0 + + +# stack_enthalpies +/* CG GC GU UG AU UA @ */ + -980 -750 -240 -430 -580 -990 0 + -750 -790 -240 430 -780 -850 0 + -240 -240 500 800 -170 -90 0 + -430 430 800 -670 370 -90 0 + -580 -780 -170 370 -530 -720 0 + -990 -850 -90 -90 -720 -670 0 + 0 0 0 0 0 0 0 + + +# dangle5 +/* N A C G T */ +/* NP */ INF INF INF INF INF +/* CG */ -50 -100 -50 -60 -80 +/* GC */ -40 -60 -40 -60 -60 +/* GT */ -40 -60 -40 -60 -60 +/* TG */ -50 -100 -50 -60 -80 +/* AT */ -40 -40 -40 -60 -80 +/* TA */ 70 -30 10 70 10 +/* NN */ 70 -30 10 70 10 + +# dangle3 +/* N A C G T */ +/* NP */ INF INF INF INF INF +/* CG */ -30 -90 -30 -50 -40 +/* GC */ 0 -100 -30 0 -50 +/* GT */ 0 -100 -30 0 -50 +/* TG */ -30 -90 -30 -50 -40 +/* AT */ -20 -40 -20 -50 -30 +/* TA */ 50 10 50 10 20 +/* NN */ 50 10 50 10 20 + +# dangle5_enthalpies +/* N A C G T */ +/* NP */ INF INF INF INF INF +/* CG */ -90 -620 -330 -510 -90 +/* GC */ -420 -460 -420 -470 -500 +/* GT */ -420 -460 -420 -470 -500 +/* TG */ -90 -620 -330 -510 -90 +/* AT */ -60 -90 -60 -250 -900 +/* TA */ 200 80 200 150 110 +/* NN */ 200 80 200 150 110 + +# dangle3_enthalpies +/* N A C G T */ +/* NP */ INF INF INF INF INF +/* CG */ -20 -190 -20 -400 -550 +/* GC */ -250 -800 -250 -310 -390 +/* GT */ -250 -800 -250 -310 -390 +/* TG */ -20 -190 -20 -400 -550 +/* AT */ 200 -530 200 -480 90 +/* TA */ 630 430 630 250 260 +/* NN */ 630 430 630 250 260 + +# int11_energies +/* CG..CG */ +/* N */ 160 90 160 90 90 +/* A */ 90 70 90 -20 90 +/* C */ 160 90 160 90 60 +/* G */ 90 -20 90 20 90 +/* T */ 90 90 60 90 0 +/* CG..GC */ +/* N */ 130 100 130 100 80 +/* A */ 50 50 10 -120 10 +/* C */ 130 100 130 100 80 +/* G */ 10 -40 10 -60 10 +/* T */ 100 100 70 100 70 +/* CG..GT */ +/* N */ 130 100 130 100 80 +/* A */ 50 50 10 -120 10 +/* C */ 130 100 130 100 80 +/* G */ 10 -40 10 -60 10 +/* T */ 100 100 70 100 70 +/* CG..TG */ +/* N */ 160 90 160 90 90 +/* A */ 90 70 90 -20 90 +/* C */ 160 90 160 90 60 +/* G */ 90 -20 90 20 90 +/* T */ 90 90 60 90 0 +/* CG..AT */ +/* N */ 180 120 180 120 110 +/* A */ 120 120 110 -80 110 +/* C */ 180 120 180 120 -60 +/* G */ 110 -10 110 -70 110 +/* T */ 120 120 0 120 -40 +/* CG..TA */ +/* N */ 220 140 220 140 170 +/* A */ 170 140 170 70 170 +/* C */ 220 140 220 140 120 +/* G */ 170 40 170 30 170 +/* T */ 140 140 120 140 80 +/* CG..NN */ +/* N */ 220 140 220 140 170 +/* A */ 170 140 170 70 170 +/* C */ 220 140 220 140 120 +/* G */ 170 40 170 30 170 +/* T */ 140 140 120 140 80 +/* GC..CG */ +/* N */ 130 50 130 10 100 +/* A */ 100 50 100 -40 100 +/* C */ 130 10 130 10 70 +/* G */ 100 -120 100 -60 100 +/* T */ 80 10 80 10 70 +/* GC..GC */ +/* N */ 100 40 100 40 90 +/* A */ 40 20 40 -150 40 +/* C */ 100 40 100 40 70 +/* G */ 40 -150 40 -180 40 +/* T */ 90 40 70 40 90 +/* GC..GT */ +/* N */ 100 40 100 40 90 +/* A */ 40 20 40 -150 40 +/* C */ 100 40 100 40 70 +/* G */ 40 -150 40 -180 40 +/* T */ 90 40 70 40 90 +/* GC..TG */ +/* N */ 130 50 130 10 100 +/* A */ 100 50 100 -40 100 +/* C */ 130 10 130 10 70 +/* G */ 100 -120 100 -60 100 +/* T */ 80 10 80 10 70 +/* GC..AT */ +/* N */ 260 140 260 130 160 +/* A */ 140 140 120 -20 120 +/* C */ 260 130 260 130 160 +/* G */ 120 10 120 -110 120 +/* T */ 130 130 90 130 90 +/* GC..TA */ +/* N */ 200 120 200 120 170 +/* A */ 170 70 170 70 170 +/* C */ 200 120 200 120 130 +/* G */ 170 40 170 50 170 +/* T */ 200 120 200 120 40 +/* GC..NN */ +/* N */ 260 140 260 130 170 +/* A */ 170 140 170 70 170 +/* C */ 260 130 260 130 160 +/* G */ 170 40 170 50 170 +/* T */ 200 130 200 130 90 +/* GT..CG */ +/* N */ 130 50 130 10 100 +/* A */ 100 50 100 -40 100 +/* C */ 130 10 130 10 70 +/* G */ 100 -120 100 -60 100 +/* T */ 80 10 80 10 70 +/* GT..GC */ +/* N */ 100 40 100 40 90 +/* A */ 40 20 40 -150 40 +/* C */ 100 40 100 40 70 +/* G */ 40 -150 40 -180 40 +/* T */ 90 40 70 40 90 +/* GT..GT */ +/* N */ 100 40 100 40 90 +/* A */ 40 20 40 -150 40 +/* C */ 100 40 100 40 70 +/* G */ 40 -150 40 -180 40 +/* T */ 90 40 70 40 90 +/* GT..TG */ +/* N */ 130 50 130 10 100 +/* A */ 100 50 100 -40 100 +/* C */ 130 10 130 10 70 +/* G */ 100 -120 100 -60 100 +/* T */ 80 10 80 10 70 +/* GT..AT */ +/* N */ 260 140 260 130 160 +/* A */ 140 140 120 -20 120 +/* C */ 260 130 260 130 160 +/* G */ 120 10 120 -110 120 +/* T */ 130 130 90 130 90 +/* GT..TA */ +/* N */ 200 120 200 120 170 +/* A */ 170 70 170 70 170 +/* C */ 200 120 200 120 130 +/* G */ 170 40 170 50 170 +/* T */ 200 120 200 120 40 +/* GT..NN */ +/* N */ 260 140 260 130 170 +/* A */ 170 140 170 70 170 +/* C */ 260 130 260 130 160 +/* G */ 170 40 170 50 170 +/* T */ 200 130 200 130 90 +/* TG..CG */ +/* N */ 160 90 160 90 90 +/* A */ 90 70 90 -20 90 +/* C */ 160 90 160 90 60 +/* G */ 90 -20 90 20 90 +/* T */ 90 90 60 90 0 +/* TG..GC */ +/* N */ 130 100 130 100 80 +/* A */ 50 50 10 -120 10 +/* C */ 130 100 130 100 80 +/* G */ 10 -40 10 -60 10 +/* T */ 100 100 70 100 70 +/* TG..GT */ +/* N */ 130 100 130 100 80 +/* A */ 50 50 10 -120 10 +/* C */ 130 100 130 100 80 +/* G */ 10 -40 10 -60 10 +/* T */ 100 100 70 100 70 +/* TG..TG */ +/* N */ 160 90 160 90 90 +/* A */ 90 70 90 -20 90 +/* C */ 160 90 160 90 60 +/* G */ 90 -20 90 20 90 +/* T */ 90 90 60 90 0 +/* TG..AT */ +/* N */ 180 120 180 120 110 +/* A */ 120 120 110 -80 110 +/* C */ 180 120 180 120 -60 +/* G */ 110 -10 110 -70 110 +/* T */ 120 120 0 120 -40 +/* TG..TA */ +/* N */ 220 140 220 140 170 +/* A */ 170 140 170 70 170 +/* C */ 220 140 220 140 120 +/* G */ 170 40 170 30 170 +/* T */ 140 140 120 140 80 +/* TG..NN */ +/* N */ 220 140 220 140 170 +/* A */ 170 140 170 70 170 +/* C */ 220 140 220 140 120 +/* G */ 170 40 170 30 170 +/* T */ 140 140 120 140 80 +/* AT..CG */ +/* N */ 180 120 180 110 120 +/* A */ 120 120 120 -10 120 +/* C */ 180 110 180 110 0 +/* G */ 120 -80 120 -70 120 +/* T */ 110 110 -60 110 -40 +/* AT..GC */ +/* N */ 260 140 260 120 130 +/* A */ 140 140 130 10 130 +/* C */ 260 120 260 120 90 +/* G */ 130 -20 130 -110 130 +/* T */ 160 120 160 120 90 +/* AT..GT */ +/* N */ 260 140 260 120 130 +/* A */ 140 140 130 10 130 +/* C */ 260 120 260 120 90 +/* G */ 130 -20 130 -110 130 +/* T */ 160 120 160 120 90 +/* AT..TG */ +/* N */ 180 120 180 110 120 +/* A */ 120 120 120 -10 120 +/* C */ 180 110 180 110 0 +/* G */ 120 -80 120 -70 120 +/* T */ 110 110 -60 110 -40 +/* AT..AT */ +/* N */ 290 120 290 100 140 +/* A */ 120 120 100 -40 120 +/* C */ 290 100 290 100 60 +/* G */ 100 -40 100 -10 100 +/* T */ 140 120 60 100 140 +/* AT..TA */ +/* N */ 230 130 230 120 150 +/* A */ 150 130 150 50 150 +/* C */ 230 120 230 120 120 +/* G */ 150 0 150 40 150 +/* T */ 130 120 130 120 30 +/* AT..NN */ +/* N */ 290 140 290 120 150 +/* A */ 150 140 150 50 150 +/* C */ 290 120 290 120 120 +/* G */ 150 0 150 40 150 +/* T */ 160 120 160 120 140 +/* TA..CG */ +/* N */ 220 170 220 170 140 +/* A */ 140 140 140 40 140 +/* C */ 220 170 220 170 120 +/* G */ 140 70 140 30 140 +/* T */ 170 170 120 170 80 +/* TA..GC */ +/* N */ 200 170 200 170 200 +/* A */ 120 70 120 40 120 +/* C */ 200 170 200 170 200 +/* G */ 120 70 120 50 120 +/* T */ 170 170 130 170 40 +/* TA..GT */ +/* N */ 200 170 200 170 200 +/* A */ 120 70 120 40 120 +/* C */ 200 170 200 170 200 +/* G */ 120 70 120 50 120 +/* T */ 170 170 130 170 40 +/* TA..TG */ +/* N */ 220 170 220 170 140 +/* A */ 140 140 140 40 140 +/* C */ 220 170 220 170 120 +/* G */ 140 70 140 30 140 +/* T */ 170 170 120 170 80 +/* TA..AT */ +/* N */ 230 150 230 150 130 +/* A */ 130 130 120 0 120 +/* C */ 230 150 230 150 130 +/* G */ 120 50 120 40 120 +/* T */ 150 150 120 150 30 +/* TA..TA */ +/* N */ 220 180 220 180 180 +/* A */ 180 160 180 90 180 +/* C */ 220 180 220 180 110 +/* G */ 180 90 180 100 180 +/* T */ 180 180 110 180 120 +/* TA..NN */ +/* N */ 230 180 230 180 200 +/* A */ 180 160 180 90 180 +/* C */ 230 180 230 180 200 +/* G */ 180 90 180 100 180 +/* T */ 180 180 130 180 120 +/* NN..CG */ +/* N */ 220 170 220 170 140 +/* A */ 140 140 140 40 140 +/* C */ 220 170 220 170 120 +/* G */ 140 70 140 30 140 +/* T */ 170 170 120 170 80 +/* NN..GC */ +/* N */ 260 170 260 170 200 +/* A */ 140 140 130 40 130 +/* C */ 260 170 260 170 200 +/* G */ 130 70 130 50 130 +/* T */ 170 170 160 170 90 +/* NN..GT */ +/* N */ 260 170 260 170 200 +/* A */ 140 140 130 40 130 +/* C */ 260 170 260 170 200 +/* G */ 130 70 130 50 130 +/* T */ 170 170 160 170 90 +/* NN..TG */ +/* N */ 220 170 220 170 140 +/* A */ 140 140 140 40 140 +/* C */ 220 170 220 170 120 +/* G */ 140 70 140 30 140 +/* T */ 170 170 120 170 80 +/* NN..AT */ +/* N */ 290 150 290 150 160 +/* A */ 140 140 120 0 120 +/* C */ 290 150 290 150 160 +/* G */ 120 50 120 40 120 +/* T */ 150 150 120 150 140 +/* NN..TA */ +/* N */ 230 180 230 180 180 +/* A */ 180 160 180 90 180 +/* C */ 230 180 230 180 130 +/* G */ 180 90 180 100 180 +/* T */ 200 180 200 180 120 +/* NN..NN */ +/* N */ 290 180 290 180 200 +/* A */ 180 160 180 90 180 +/* C */ 290 180 290 180 200 +/* G */ 180 90 180 100 180 +/* T */ 200 180 200 180 140 + +# int11_enthalpies +/* CG..CG */ +/* N */ 610 610 510 610 510 +/* A */ 610 400 510 610 510 +/* C */ 510 510 410 510 160 +/* G */ 610 610 510 10 510 +/* T */ 510 510 160 510 -270 +/* CG..GC */ +/* N */ 930 930 750 930 460 +/* A */ 460 -60 460 130 460 +/* C */ 930 930 750 930 190 +/* G */ 460 390 460 -90 460 +/* T */ 930 930 50 930 210 +/* CG..GT */ +/* N */ 930 930 750 930 460 +/* A */ 460 -60 460 130 460 +/* C */ 930 930 750 930 190 +/* G */ 460 390 460 -90 460 +/* T */ 930 930 50 930 210 +/* CG..TG */ +/* N */ 610 610 510 610 510 +/* A */ 610 400 510 610 510 +/* C */ 510 510 410 510 160 +/* G */ 610 610 510 10 510 +/* T */ 510 510 160 510 -270 +/* CG..AT */ +/* N */ 530 500 530 390 530 +/* A */ 530 500 530 -220 530 +/* C */ 390 390 260 390 -1230 +/* G */ 530 -630 530 -990 530 +/* T */ 390 390 -490 390 -750 +/* CG..TA */ +/* N */ 1320 1000 1320 1130 1320 +/* A */ 1320 1000 1320 1130 1320 +/* C */ 960 960 590 960 10 +/* G */ 1320 690 1320 -110 1320 +/* T */ 960 960 300 960 70 +/* CG..NN */ +/* N */ 1320 1000 1320 1130 1320 +/* A */ 1320 1000 1320 1130 1320 +/* C */ 960 960 750 960 190 +/* G */ 1320 690 1320 10 1320 +/* T */ 960 960 300 960 210 +/* GC..CG */ +/* N */ 930 460 930 460 930 +/* A */ 930 -60 930 390 930 +/* C */ 750 460 750 460 50 +/* G */ 930 130 930 -90 930 +/* T */ 460 460 190 460 210 +/* GC..GC */ +/* N */ 600 390 600 390 390 +/* A */ 390 260 390 240 390 +/* C */ 600 390 600 390 -60 +/* G */ 390 240 390 -280 390 +/* T */ 390 390 -60 390 30 +/* GC..GT */ +/* N */ 600 390 600 390 390 +/* A */ 390 260 390 240 390 +/* C */ 600 390 600 390 -60 +/* G */ 390 240 390 -280 390 +/* T */ 390 390 -60 390 30 +/* GC..TG */ +/* N */ 930 460 930 460 930 +/* A */ 930 -60 930 390 930 +/* C */ 750 460 750 460 50 +/* G */ 930 130 930 -90 930 +/* T */ 460 460 190 460 210 +/* GC..AT */ +/* N */ 1280 1090 1280 1090 1160 +/* A */ 1000 1000 410 450 410 +/* C */ 1280 1090 1280 1090 1160 +/* G */ 890 890 410 -500 410 +/* T */ 1090 1090 130 1090 50 +/* GC..TA */ +/* N */ 1320 690 1320 1130 1320 +/* A */ 1320 -140 1320 1130 1320 +/* C */ 1290 420 1290 420 -40 +/* G */ 1320 690 1320 340 1320 +/* T */ 420 420 370 420 -1000 +/* GC..NN */ +/* N */ 1320 1090 1320 1130 1320 +/* A */ 1320 1000 1320 1130 1320 +/* C */ 1290 1090 1290 1090 1160 +/* G */ 1320 890 1320 340 1320 +/* T */ 1090 1090 370 1090 210 +/* GT..CG */ +/* N */ 930 460 930 460 930 +/* A */ 930 -60 930 390 930 +/* C */ 750 460 750 460 50 +/* G */ 930 130 930 -90 930 +/* T */ 460 460 190 460 210 +/* GT..GC */ +/* N */ 600 390 600 390 390 +/* A */ 390 260 390 240 390 +/* C */ 600 390 600 390 -60 +/* G */ 390 240 390 -280 390 +/* T */ 390 390 -60 390 30 +/* GT..GT */ +/* N */ 600 390 600 390 390 +/* A */ 390 260 390 240 390 +/* C */ 600 390 600 390 -60 +/* G */ 390 240 390 -280 390 +/* T */ 390 390 -60 390 30 +/* GT..TG */ +/* N */ 930 460 930 460 930 +/* A */ 930 -60 930 390 930 +/* C */ 750 460 750 460 50 +/* G */ 930 130 930 -90 930 +/* T */ 460 460 190 460 210 +/* GT..AT */ +/* N */ 1280 1090 1280 1090 1160 +/* A */ 1000 1000 410 450 410 +/* C */ 1280 1090 1280 1090 1160 +/* G */ 890 890 410 -500 410 +/* T */ 1090 1090 130 1090 50 +/* GT..TA */ +/* N */ 1320 690 1320 1130 1320 +/* A */ 1320 -140 1320 1130 1320 +/* C */ 1290 420 1290 420 -40 +/* G */ 1320 690 1320 340 1320 +/* T */ 420 420 370 420 -1000 +/* GT..NN */ +/* N */ 1320 1090 1320 1130 1320 +/* A */ 1320 1000 1320 1130 1320 +/* C */ 1290 1090 1290 1090 1160 +/* G */ 1320 890 1320 340 1320 +/* T */ 1090 1090 370 1090 210 +/* TG..CG */ +/* N */ 610 610 510 610 510 +/* A */ 610 400 510 610 510 +/* C */ 510 510 410 510 160 +/* G */ 610 610 510 10 510 +/* T */ 510 510 160 510 -270 +/* TG..GC */ +/* N */ 930 930 750 930 460 +/* A */ 460 -60 460 130 460 +/* C */ 930 930 750 930 190 +/* G */ 460 390 460 -90 460 +/* T */ 930 930 50 930 210 +/* TG..GT */ +/* N */ 930 930 750 930 460 +/* A */ 460 -60 460 130 460 +/* C */ 930 930 750 930 190 +/* G */ 460 390 460 -90 460 +/* T */ 930 930 50 930 210 +/* TG..TG */ +/* N */ 610 610 510 610 510 +/* A */ 610 400 510 610 510 +/* C */ 510 510 410 510 160 +/* G */ 610 610 510 10 510 +/* T */ 510 510 160 510 -270 +/* TG..AT */ +/* N */ 530 500 530 390 530 +/* A */ 530 500 530 -220 530 +/* C */ 390 390 260 390 -1230 +/* G */ 530 -630 530 -990 530 +/* T */ 390 390 -490 390 -750 +/* TG..TA */ +/* N */ 1320 1000 1320 1130 1320 +/* A */ 1320 1000 1320 1130 1320 +/* C */ 960 960 590 960 10 +/* G */ 1320 690 1320 -110 1320 +/* T */ 960 960 300 960 70 +/* TG..NN */ +/* N */ 1320 1000 1320 1130 1320 +/* A */ 1320 1000 1320 1130 1320 +/* C */ 960 960 750 960 190 +/* G */ 1320 690 1320 10 1320 +/* T */ 960 960 300 960 210 +/* AT..CG */ +/* N */ 530 530 390 530 390 +/* A */ 500 500 390 -630 390 +/* C */ 530 530 260 530 -490 +/* G */ 390 -220 390 -990 390 +/* T */ 530 530 -1230 530 -750 +/* AT..GC */ +/* N */ 1280 1000 1280 890 1090 +/* A */ 1090 1000 1090 890 1090 +/* C */ 1280 410 1280 410 130 +/* G */ 1090 450 1090 -500 1090 +/* T */ 1160 410 1160 410 50 +/* AT..GT */ +/* N */ 1280 1000 1280 890 1090 +/* A */ 1090 1000 1090 890 1090 +/* C */ 1280 410 1280 410 130 +/* G */ 1090 450 1090 -500 1090 +/* T */ 1160 410 1160 410 50 +/* AT..TG */ +/* N */ 530 530 390 530 390 +/* A */ 500 500 390 -630 390 +/* C */ 530 530 260 530 -490 +/* G */ 390 -220 390 -990 390 +/* T */ 530 530 -1230 530 -750 +/* AT..AT */ +/* N */ 980 980 980 980 980 +/* A */ 980 490 980 710 980 +/* C */ 980 980 750 980 430 +/* G */ 980 710 980 410 980 +/* T */ 980 980 430 980 570 +/* AT..TA */ +/* N */ 1470 1290 1470 1070 150 +/* A */ 1290 1290 150 1070 150 +/* C */ 1470 1040 1470 1040 -160 +/* G */ 180 180 150 160 150 +/* T */ 1040 1040 350 1040 -480 +/* AT..NN */ +/* N */ 1470 1290 1470 1070 1090 +/* A */ 1290 1290 1090 1070 1090 +/* C */ 1470 1040 1470 1040 430 +/* G */ 1090 710 1090 410 1090 +/* T */ 1160 1040 1160 1040 570 +/* TA..CG */ +/* N */ 1320 1320 960 1320 960 +/* A */ 1000 1000 960 690 960 +/* C */ 1320 1320 590 1320 300 +/* G */ 1130 1130 960 -110 960 +/* T */ 1320 1320 10 1320 70 +/* TA..GC */ +/* N */ 1320 1320 1290 1320 420 +/* A */ 690 -140 420 690 420 +/* C */ 1320 1320 1290 1320 370 +/* G */ 1130 1130 420 340 420 +/* T */ 1320 1320 -40 1320 -1000 +/* TA..GT */ +/* N */ 1320 1320 1290 1320 420 +/* A */ 690 -140 420 690 420 +/* C */ 1320 1320 1290 1320 370 +/* G */ 1130 1130 420 340 420 +/* T */ 1320 1320 -40 1320 -1000 +/* TA..TG */ +/* N */ 1320 1320 960 1320 960 +/* A */ 1000 1000 960 690 960 +/* C */ 1320 1320 590 1320 300 +/* G */ 1130 1130 960 -110 960 +/* T */ 1320 1320 10 1320 70 +/* TA..AT */ +/* N */ 1470 1290 1470 180 1040 +/* A */ 1290 1290 1040 180 1040 +/* C */ 1470 150 1470 150 350 +/* G */ 1070 1070 1040 160 1040 +/* T */ 150 150 -160 150 -480 +/* TA..TA */ +/* N */ 1740 1430 1740 1430 1430 +/* A */ 1430 1210 1430 1190 1430 +/* C */ 1740 1430 1740 1430 250 +/* G */ 1430 1190 1430 840 1430 +/* T */ 1430 1430 250 1430 620 +/* TA..NN */ +/* N */ 1740 1430 1740 1430 1430 +/* A */ 1430 1290 1430 1190 1430 +/* C */ 1740 1430 1740 1430 370 +/* G */ 1430 1190 1430 840 1430 +/* T */ 1430 1430 250 1430 620 +/* NN..CG */ +/* N */ 1320 1320 960 1320 960 +/* A */ 1000 1000 960 690 960 +/* C */ 1320 1320 750 1320 300 +/* G */ 1130 1130 960 10 960 +/* T */ 1320 1320 190 1320 210 +/* NN..GC */ +/* N */ 1320 1320 1290 1320 1090 +/* A */ 1090 1000 1090 890 1090 +/* C */ 1320 1320 1290 1320 370 +/* G */ 1130 1130 1090 340 1090 +/* T */ 1320 1320 1160 1320 210 +/* NN..GT */ +/* N */ 1320 1320 1290 1320 1090 +/* A */ 1090 1000 1090 890 1090 +/* C */ 1320 1320 1290 1320 370 +/* G */ 1130 1130 1090 340 1090 +/* T */ 1320 1320 1160 1320 210 +/* NN..TG */ +/* N */ 1320 1320 960 1320 960 +/* A */ 1000 1000 960 690 960 +/* C */ 1320 1320 750 1320 300 +/* G */ 1130 1130 960 10 960 +/* T */ 1320 1320 190 1320 210 +/* NN..AT */ +/* N */ 1470 1290 1470 1090 1160 +/* A */ 1290 1290 1040 710 1040 +/* C */ 1470 1090 1470 1090 1160 +/* G */ 1070 1070 1040 410 1040 +/* T */ 1090 1090 430 1090 570 +/* NN..TA */ +/* N */ 1740 1430 1740 1430 1430 +/* A */ 1430 1290 1430 1190 1430 +/* C */ 1740 1430 1740 1430 250 +/* G */ 1430 1190 1430 840 1430 +/* T */ 1430 1430 370 1430 620 +/* NN..NN */ +/* N */ 1740 1430 1740 1430 1430 +/* A */ 1430 1290 1430 1190 1430 +/* C */ 1740 1430 1740 1430 1160 +/* G */ 1430 1190 1430 840 1430 +/* T */ 1430 1430 1160 1430 620 + +# int21_energies +/* CG N ..CG */ + 540 470 540 470 470 /* N */ + 470 470 470 470 450 /* A */ + 540 470 540 470 470 /* C */ + 470 470 470 470 440 /* G */ + 470 450 470 440 470 /* T */ +/* CG A ..CG */ + 470 450 470 360 470 /* N */ + 450 450 450 360 450 /* A */ + 470 450 470 360 470 /* C */ + 360 360 360 360 360 /* G */ + 470 450 470 360 470 /* T */ +/* CG C ..CG */ + 540 470 540 470 440 /* N */ + 470 470 470 470 440 /* A */ + 540 470 540 470 440 /* C */ + 470 470 470 470 440 /* G */ + 440 440 440 440 440 /* T */ +/* CG G ..CG */ + 470 360 470 400 470 /* N */ + 360 360 360 360 360 /* A */ + 470 360 470 400 470 /* C */ + 400 360 400 400 400 /* G */ + 470 360 470 400 470 /* T */ +/* CG T ..CG */ + 470 470 440 470 380 /* N */ + 470 470 440 470 380 /* A */ + 440 440 440 440 380 /* C */ + 470 470 440 470 380 /* G */ + 380 380 380 380 380 /* T */ +/* CG N ..GC */ + 510 480 510 480 460 /* N */ + 480 480 480 480 460 /* A */ + 510 480 510 480 460 /* C */ + 480 480 480 480 460 /* G */ + 460 460 460 460 460 /* T */ +/* CG A ..GC */ + 430 430 390 260 390 /* N */ + 430 430 390 260 390 /* A */ + 390 390 390 260 390 /* C */ + 260 260 260 260 260 /* G */ + 390 390 390 260 390 /* T */ +/* CG C ..GC */ + 510 480 510 480 460 /* N */ + 480 480 480 480 460 /* A */ + 510 480 510 480 460 /* C */ + 480 480 480 480 460 /* G */ + 460 460 460 460 460 /* T */ +/* CG G ..GC */ + 390 340 390 320 390 /* N */ + 340 340 340 320 340 /* A */ + 390 340 390 320 390 /* C */ + 320 320 320 320 320 /* G */ + 390 340 390 320 390 /* T */ +/* CG T ..GC */ + 480 480 450 480 450 /* N */ + 480 480 450 480 450 /* A */ + 450 450 450 450 450 /* C */ + 480 480 450 480 450 /* G */ + 450 450 450 450 450 /* T */ +/* CG N ..GT */ + 510 480 510 480 460 /* N */ + 480 480 480 480 460 /* A */ + 510 480 510 480 460 /* C */ + 480 480 480 480 460 /* G */ + 460 460 460 460 460 /* T */ +/* CG A ..GT */ + 430 430 390 260 390 /* N */ + 430 430 390 260 390 /* A */ + 390 390 390 260 390 /* C */ + 260 260 260 260 260 /* G */ + 390 390 390 260 390 /* T */ +/* CG C ..GT */ + 510 480 510 480 460 /* N */ + 480 480 480 480 460 /* A */ + 510 480 510 480 460 /* C */ + 480 480 480 480 460 /* G */ + 460 460 460 460 460 /* T */ +/* CG G ..GT */ + 390 340 390 320 390 /* N */ + 340 340 340 320 340 /* A */ + 390 340 390 320 390 /* C */ + 320 320 320 320 320 /* G */ + 390 340 390 320 390 /* T */ +/* CG T ..GT */ + 480 480 450 480 450 /* N */ + 480 480 450 480 450 /* A */ + 450 450 450 450 450 /* C */ + 480 480 450 480 450 /* G */ + 450 450 450 450 450 /* T */ +/* CG N ..TG */ + 540 470 540 470 470 /* N */ + 470 470 470 470 450 /* A */ + 540 470 540 470 470 /* C */ + 470 470 470 470 440 /* G */ + 470 450 470 440 470 /* T */ +/* CG A ..TG */ + 470 450 470 360 470 /* N */ + 450 450 450 360 450 /* A */ + 470 450 470 360 470 /* C */ + 360 360 360 360 360 /* G */ + 470 450 470 360 470 /* T */ +/* CG C ..TG */ + 540 470 540 470 440 /* N */ + 470 470 470 470 440 /* A */ + 540 470 540 470 440 /* C */ + 470 470 470 470 440 /* G */ + 440 440 440 440 440 /* T */ +/* CG G ..TG */ + 470 360 470 400 470 /* N */ + 360 360 360 360 360 /* A */ + 470 360 470 400 470 /* C */ + 400 360 400 400 400 /* G */ + 470 360 470 400 470 /* T */ +/* CG T ..TG */ + 470 470 440 470 380 /* N */ + 470 470 440 470 380 /* A */ + 440 440 440 440 380 /* C */ + 470 470 440 470 380 /* G */ + 380 380 380 380 380 /* T */ +/* CG N ..AT */ + 560 500 560 500 490 /* N */ + 500 500 500 500 490 /* A */ + 560 500 560 500 490 /* C */ + 500 500 500 500 340 /* G */ + 490 490 490 340 490 /* T */ +/* CG A ..AT */ + 500 500 490 300 490 /* N */ + 500 500 490 300 490 /* A */ + 490 490 490 300 490 /* C */ + 300 300 300 300 300 /* G */ + 490 490 490 300 490 /* T */ +/* CG C ..AT */ + 560 500 560 500 320 /* N */ + 500 500 500 500 320 /* A */ + 560 500 560 500 320 /* C */ + 500 500 500 500 320 /* G */ + 320 320 320 320 320 /* T */ +/* CG G ..AT */ + 490 370 490 310 490 /* N */ + 370 370 370 310 370 /* A */ + 490 370 490 310 490 /* C */ + 310 310 310 310 310 /* G */ + 490 370 490 310 490 /* T */ +/* CG T ..AT */ + 500 500 380 500 340 /* N */ + 500 500 380 500 340 /* A */ + 380 380 380 380 340 /* C */ + 500 500 380 500 340 /* G */ + 340 340 340 340 340 /* T */ +/* CG N ..TA */ + 600 520 600 520 550 /* N */ + 520 520 520 520 520 /* A */ + 600 520 600 520 550 /* C */ + 520 520 520 520 500 /* G */ + 550 520 550 500 550 /* T */ +/* CG A ..TA */ + 550 520 550 450 550 /* N */ + 520 520 520 450 520 /* A */ + 550 520 550 450 550 /* C */ + 450 450 450 450 450 /* G */ + 550 520 550 450 550 /* T */ +/* CG C ..TA */ + 600 520 600 520 500 /* N */ + 520 520 520 520 500 /* A */ + 600 520 600 520 500 /* C */ + 520 520 520 520 500 /* G */ + 500 500 500 500 500 /* T */ +/* CG G ..TA */ + 550 420 550 410 550 /* N */ + 420 420 420 410 420 /* A */ + 550 420 550 410 550 /* C */ + 410 410 410 410 410 /* G */ + 550 420 550 410 550 /* T */ +/* CG T ..TA */ + 520 520 500 520 460 /* N */ + 520 520 500 520 460 /* A */ + 500 500 500 500 460 /* C */ + 520 520 500 520 460 /* G */ + 460 460 460 460 460 /* T */ +/* CG N ..NN */ + 600 520 600 520 550 /* N */ + 520 520 520 520 520 /* A */ + 600 520 600 520 550 /* C */ + 520 520 520 520 500 /* G */ + 550 520 550 500 550 /* T */ +/* CG A ..NN */ + 550 520 550 450 550 /* N */ + 520 520 520 450 520 /* A */ + 550 520 550 450 550 /* C */ + 450 450 450 450 450 /* G */ + 550 520 550 450 550 /* T */ +/* CG C ..NN */ + 600 520 600 520 500 /* N */ + 520 520 520 520 500 /* A */ + 600 520 600 520 500 /* C */ + 520 520 520 520 500 /* G */ + 500 500 500 500 500 /* T */ +/* CG G ..NN */ + 550 420 550 410 550 /* N */ + 420 420 420 410 420 /* A */ + 550 420 550 410 550 /* C */ + 410 410 410 410 410 /* G */ + 550 420 550 410 550 /* T */ +/* CG T ..NN */ + 520 520 500 520 460 /* N */ + 520 520 500 520 460 /* A */ + 500 500 500 500 460 /* C */ + 520 520 500 520 460 /* G */ + 460 460 460 460 460 /* T */ +/* GC N ..CG */ + 510 430 510 390 480 /* N */ + 430 430 430 390 430 /* A */ + 510 430 510 390 480 /* C */ + 390 390 390 390 390 /* G */ + 480 430 480 390 480 /* T */ +/* GC A ..CG */ + 480 430 480 340 480 /* N */ + 430 430 430 340 430 /* A */ + 480 430 480 340 480 /* C */ + 340 340 340 340 340 /* G */ + 480 430 480 340 480 /* T */ +/* GC C ..CG */ + 510 390 510 390 450 /* N */ + 390 390 390 390 390 /* A */ + 510 390 510 390 450 /* C */ + 390 390 390 390 390 /* G */ + 450 390 450 390 450 /* T */ +/* GC G ..CG */ + 480 260 480 320 480 /* N */ + 260 260 260 260 260 /* A */ + 480 260 480 320 480 /* C */ + 320 260 320 320 320 /* G */ + 480 260 480 320 480 /* T */ +/* GC T ..CG */ + 460 390 460 390 450 /* N */ + 390 390 390 390 390 /* A */ + 460 390 460 390 450 /* C */ + 390 390 390 390 390 /* G */ + 450 390 450 390 450 /* T */ +/* GC N ..GC */ + 480 420 480 420 470 /* N */ + 420 420 420 420 420 /* A */ + 480 420 480 420 450 /* C */ + 420 420 420 420 420 /* G */ + 470 420 450 420 470 /* T */ +/* GC A ..GC */ + 420 400 420 230 420 /* N */ + 400 400 400 230 400 /* A */ + 420 400 420 230 420 /* C */ + 230 230 230 230 230 /* G */ + 420 400 420 230 420 /* T */ +/* GC C ..GC */ + 480 420 480 420 450 /* N */ + 420 420 420 420 420 /* A */ + 480 420 480 420 450 /* C */ + 420 420 420 420 420 /* G */ + 450 420 450 420 450 /* T */ +/* GC G ..GC */ + 420 230 420 200 420 /* N */ + 230 230 230 200 230 /* A */ + 420 230 420 200 420 /* C */ + 200 200 200 200 200 /* G */ + 420 230 420 200 420 /* T */ +/* GC T ..GC */ + 470 420 450 420 470 /* N */ + 420 420 420 420 420 /* A */ + 450 420 450 420 450 /* C */ + 420 420 420 420 420 /* G */ + 470 420 450 420 470 /* T */ +/* GC N ..GT */ + 480 420 480 420 470 /* N */ + 420 420 420 420 420 /* A */ + 480 420 480 420 450 /* C */ + 420 420 420 420 420 /* G */ + 470 420 450 420 470 /* T */ +/* GC A ..GT */ + 420 400 420 230 420 /* N */ + 400 400 400 230 400 /* A */ + 420 400 420 230 420 /* C */ + 230 230 230 230 230 /* G */ + 420 400 420 230 420 /* T */ +/* GC C ..GT */ + 480 420 480 420 450 /* N */ + 420 420 420 420 420 /* A */ + 480 420 480 420 450 /* C */ + 420 420 420 420 420 /* G */ + 450 420 450 420 450 /* T */ +/* GC G ..GT */ + 420 230 420 200 420 /* N */ + 230 230 230 200 230 /* A */ + 420 230 420 200 420 /* C */ + 200 200 200 200 200 /* G */ + 420 230 420 200 420 /* T */ +/* GC T ..GT */ + 470 420 450 420 470 /* N */ + 420 420 420 420 420 /* A */ + 450 420 450 420 450 /* C */ + 420 420 420 420 420 /* G */ + 470 420 450 420 470 /* T */ +/* GC N ..TG */ + 510 430 510 390 480 /* N */ + 430 430 430 390 430 /* A */ + 510 430 510 390 480 /* C */ + 390 390 390 390 390 /* G */ + 480 430 480 390 480 /* T */ +/* GC A ..TG */ + 480 430 480 340 480 /* N */ + 430 430 430 340 430 /* A */ + 480 430 480 340 480 /* C */ + 340 340 340 340 340 /* G */ + 480 430 480 340 480 /* T */ +/* GC C ..TG */ + 510 390 510 390 450 /* N */ + 390 390 390 390 390 /* A */ + 510 390 510 390 450 /* C */ + 390 390 390 390 390 /* G */ + 450 390 450 390 450 /* T */ +/* GC G ..TG */ + 480 260 480 320 480 /* N */ + 260 260 260 260 260 /* A */ + 480 260 480 320 480 /* C */ + 320 260 320 320 320 /* G */ + 480 260 480 320 480 /* T */ +/* GC T ..TG */ + 460 390 460 390 450 /* N */ + 390 390 390 390 390 /* A */ + 460 390 460 390 450 /* C */ + 390 390 390 390 390 /* G */ + 450 390 450 390 450 /* T */ +/* GC N ..AT */ + 640 520 640 510 540 /* N */ + 520 520 510 510 510 /* A */ + 640 510 640 510 540 /* C */ + 510 510 510 510 510 /* G */ + 540 510 540 510 540 /* T */ +/* GC A ..AT */ + 520 520 500 360 500 /* N */ + 520 520 500 360 500 /* A */ + 500 500 500 360 500 /* C */ + 360 360 360 360 360 /* G */ + 500 500 500 360 500 /* T */ +/* GC C ..AT */ + 640 510 640 510 540 /* N */ + 510 510 510 510 510 /* A */ + 640 510 640 510 540 /* C */ + 510 510 510 510 510 /* G */ + 540 510 540 510 540 /* T */ +/* GC G ..AT */ + 500 390 500 270 500 /* N */ + 390 390 390 270 390 /* A */ + 500 390 500 270 500 /* C */ + 270 270 270 270 270 /* G */ + 500 390 500 270 500 /* T */ +/* GC T ..AT */ + 510 510 470 510 470 /* N */ + 510 510 470 510 470 /* A */ + 470 470 470 470 470 /* C */ + 510 510 470 510 470 /* G */ + 470 470 470 470 470 /* T */ +/* GC N ..TA */ + 580 500 580 500 550 /* N */ + 500 500 500 500 500 /* A */ + 580 500 580 500 550 /* C */ + 500 500 500 500 500 /* G */ + 550 500 550 500 550 /* T */ +/* GC A ..TA */ + 550 450 550 450 550 /* N */ + 450 450 450 450 450 /* A */ + 550 450 550 450 550 /* C */ + 450 450 450 450 450 /* G */ + 550 450 550 450 550 /* T */ +/* GC C ..TA */ + 580 500 580 500 510 /* N */ + 500 500 500 500 500 /* A */ + 580 500 580 500 510 /* C */ + 500 500 500 500 500 /* G */ + 510 500 510 500 510 /* T */ +/* GC G ..TA */ + 550 420 550 430 550 /* N */ + 420 420 420 420 420 /* A */ + 550 420 550 430 550 /* C */ + 430 420 430 430 430 /* G */ + 550 420 550 430 550 /* T */ +/* GC T ..TA */ + 580 500 580 500 420 /* N */ + 500 500 500 500 420 /* A */ + 580 500 580 500 420 /* C */ + 500 500 500 500 420 /* G */ + 420 420 420 420 420 /* T */ +/* GC N ..NN */ + 640 520 640 510 550 /* N */ + 520 520 510 510 510 /* A */ + 640 510 640 510 550 /* C */ + 510 510 510 510 510 /* G */ + 550 510 550 510 550 /* T */ +/* GC A ..NN */ + 550 520 550 450 550 /* N */ + 520 520 500 450 500 /* A */ + 550 500 550 450 550 /* C */ + 450 450 450 450 450 /* G */ + 550 500 550 450 550 /* T */ +/* GC C ..NN */ + 640 510 640 510 540 /* N */ + 510 510 510 510 510 /* A */ + 640 510 640 510 540 /* C */ + 510 510 510 510 510 /* G */ + 540 510 540 510 540 /* T */ +/* GC G ..NN */ + 550 420 550 430 550 /* N */ + 420 420 420 420 420 /* A */ + 550 420 550 430 550 /* C */ + 430 420 430 430 430 /* G */ + 550 420 550 430 550 /* T */ +/* GC T ..NN */ + 580 510 580 510 470 /* N */ + 510 510 500 510 470 /* A */ + 580 500 580 500 470 /* C */ + 510 510 500 510 470 /* G */ + 470 470 470 470 470 /* T */ +/* GT N ..CG */ + 510 430 510 390 480 /* N */ + 430 430 430 390 430 /* A */ + 510 430 510 390 480 /* C */ + 390 390 390 390 390 /* G */ + 480 430 480 390 480 /* T */ +/* GT A ..CG */ + 480 430 480 340 480 /* N */ + 430 430 430 340 430 /* A */ + 480 430 480 340 480 /* C */ + 340 340 340 340 340 /* G */ + 480 430 480 340 480 /* T */ +/* GT C ..CG */ + 510 390 510 390 450 /* N */ + 390 390 390 390 390 /* A */ + 510 390 510 390 450 /* C */ + 390 390 390 390 390 /* G */ + 450 390 450 390 450 /* T */ +/* GT G ..CG */ + 480 260 480 320 480 /* N */ + 260 260 260 260 260 /* A */ + 480 260 480 320 480 /* C */ + 320 260 320 320 320 /* G */ + 480 260 480 320 480 /* T */ +/* GT T ..CG */ + 460 390 460 390 450 /* N */ + 390 390 390 390 390 /* A */ + 460 390 460 390 450 /* C */ + 390 390 390 390 390 /* G */ + 450 390 450 390 450 /* T */ +/* GT N ..GC */ + 480 420 480 420 470 /* N */ + 420 420 420 420 420 /* A */ + 480 420 480 420 450 /* C */ + 420 420 420 420 420 /* G */ + 470 420 450 420 470 /* T */ +/* GT A ..GC */ + 420 400 420 230 420 /* N */ + 400 400 400 230 400 /* A */ + 420 400 420 230 420 /* C */ + 230 230 230 230 230 /* G */ + 420 400 420 230 420 /* T */ +/* GT C ..GC */ + 480 420 480 420 450 /* N */ + 420 420 420 420 420 /* A */ + 480 420 480 420 450 /* C */ + 420 420 420 420 420 /* G */ + 450 420 450 420 450 /* T */ +/* GT G ..GC */ + 420 230 420 200 420 /* N */ + 230 230 230 200 230 /* A */ + 420 230 420 200 420 /* C */ + 200 200 200 200 200 /* G */ + 420 230 420 200 420 /* T */ +/* GT T ..GC */ + 470 420 450 420 470 /* N */ + 420 420 420 420 420 /* A */ + 450 420 450 420 450 /* C */ + 420 420 420 420 420 /* G */ + 470 420 450 420 470 /* T */ +/* GT N ..GT */ + 480 420 480 420 470 /* N */ + 420 420 420 420 420 /* A */ + 480 420 480 420 450 /* C */ + 420 420 420 420 420 /* G */ + 470 420 450 420 470 /* T */ +/* GT A ..GT */ + 420 400 420 230 420 /* N */ + 400 400 400 230 400 /* A */ + 420 400 420 230 420 /* C */ + 230 230 230 230 230 /* G */ + 420 400 420 230 420 /* T */ +/* GT C ..GT */ + 480 420 480 420 450 /* N */ + 420 420 420 420 420 /* A */ + 480 420 480 420 450 /* C */ + 420 420 420 420 420 /* G */ + 450 420 450 420 450 /* T */ +/* GT G ..GT */ + 420 230 420 200 420 /* N */ + 230 230 230 200 230 /* A */ + 420 230 420 200 420 /* C */ + 200 200 200 200 200 /* G */ + 420 230 420 200 420 /* T */ +/* GT T ..GT */ + 470 420 450 420 470 /* N */ + 420 420 420 420 420 /* A */ + 450 420 450 420 450 /* C */ + 420 420 420 420 420 /* G */ + 470 420 450 420 470 /* T */ +/* GT N ..TG */ + 510 430 510 390 480 /* N */ + 430 430 430 390 430 /* A */ + 510 430 510 390 480 /* C */ + 390 390 390 390 390 /* G */ + 480 430 480 390 480 /* T */ +/* GT A ..TG */ + 480 430 480 340 480 /* N */ + 430 430 430 340 430 /* A */ + 480 430 480 340 480 /* C */ + 340 340 340 340 340 /* G */ + 480 430 480 340 480 /* T */ +/* GT C ..TG */ + 510 390 510 390 450 /* N */ + 390 390 390 390 390 /* A */ + 510 390 510 390 450 /* C */ + 390 390 390 390 390 /* G */ + 450 390 450 390 450 /* T */ +/* GT G ..TG */ + 480 260 480 320 480 /* N */ + 260 260 260 260 260 /* A */ + 480 260 480 320 480 /* C */ + 320 260 320 320 320 /* G */ + 480 260 480 320 480 /* T */ +/* GT T ..TG */ + 460 390 460 390 450 /* N */ + 390 390 390 390 390 /* A */ + 460 390 460 390 450 /* C */ + 390 390 390 390 390 /* G */ + 450 390 450 390 450 /* T */ +/* GT N ..AT */ + 640 520 640 510 540 /* N */ + 520 520 510 510 510 /* A */ + 640 510 640 510 540 /* C */ + 510 510 510 510 510 /* G */ + 540 510 540 510 540 /* T */ +/* GT A ..AT */ + 520 520 500 360 500 /* N */ + 520 520 500 360 500 /* A */ + 500 500 500 360 500 /* C */ + 360 360 360 360 360 /* G */ + 500 500 500 360 500 /* T */ +/* GT C ..AT */ + 640 510 640 510 540 /* N */ + 510 510 510 510 510 /* A */ + 640 510 640 510 540 /* C */ + 510 510 510 510 510 /* G */ + 540 510 540 510 540 /* T */ +/* GT G ..AT */ + 500 390 500 270 500 /* N */ + 390 390 390 270 390 /* A */ + 500 390 500 270 500 /* C */ + 270 270 270 270 270 /* G */ + 500 390 500 270 500 /* T */ +/* GT T ..AT */ + 510 510 470 510 470 /* N */ + 510 510 470 510 470 /* A */ + 470 470 470 470 470 /* C */ + 510 510 470 510 470 /* G */ + 470 470 470 470 470 /* T */ +/* GT N ..TA */ + 580 500 580 500 550 /* N */ + 500 500 500 500 500 /* A */ + 580 500 580 500 550 /* C */ + 500 500 500 500 500 /* G */ + 550 500 550 500 550 /* T */ +/* GT A ..TA */ + 550 450 550 450 550 /* N */ + 450 450 450 450 450 /* A */ + 550 450 550 450 550 /* C */ + 450 450 450 450 450 /* G */ + 550 450 550 450 550 /* T */ +/* GT C ..TA */ + 580 500 580 500 510 /* N */ + 500 500 500 500 500 /* A */ + 580 500 580 500 510 /* C */ + 500 500 500 500 500 /* G */ + 510 500 510 500 510 /* T */ +/* GT G ..TA */ + 550 420 550 430 550 /* N */ + 420 420 420 420 420 /* A */ + 550 420 550 430 550 /* C */ + 430 420 430 430 430 /* G */ + 550 420 550 430 550 /* T */ +/* GT T ..TA */ + 580 500 580 500 420 /* N */ + 500 500 500 500 420 /* A */ + 580 500 580 500 420 /* C */ + 500 500 500 500 420 /* G */ + 420 420 420 420 420 /* T */ +/* GT N ..NN */ + 640 520 640 510 550 /* N */ + 520 520 510 510 510 /* A */ + 640 510 640 510 550 /* C */ + 510 510 510 510 510 /* G */ + 550 510 550 510 550 /* T */ +/* GT A ..NN */ + 550 520 550 450 550 /* N */ + 520 520 500 450 500 /* A */ + 550 500 550 450 550 /* C */ + 450 450 450 450 450 /* G */ + 550 500 550 450 550 /* T */ +/* GT C ..NN */ + 640 510 640 510 540 /* N */ + 510 510 510 510 510 /* A */ + 640 510 640 510 540 /* C */ + 510 510 510 510 510 /* G */ + 540 510 540 510 540 /* T */ +/* GT G ..NN */ + 550 420 550 430 550 /* N */ + 420 420 420 420 420 /* A */ + 550 420 550 430 550 /* C */ + 430 420 430 430 430 /* G */ + 550 420 550 430 550 /* T */ +/* GT T ..NN */ + 580 510 580 510 470 /* N */ + 510 510 500 510 470 /* A */ + 580 500 580 500 470 /* C */ + 510 510 500 510 470 /* G */ + 470 470 470 470 470 /* T */ +/* TG N ..CG */ + 540 470 540 470 470 /* N */ + 470 470 470 470 450 /* A */ + 540 470 540 470 470 /* C */ + 470 470 470 470 440 /* G */ + 470 450 470 440 470 /* T */ +/* TG A ..CG */ + 470 450 470 360 470 /* N */ + 450 450 450 360 450 /* A */ + 470 450 470 360 470 /* C */ + 360 360 360 360 360 /* G */ + 470 450 470 360 470 /* T */ +/* TG C ..CG */ + 540 470 540 470 440 /* N */ + 470 470 470 470 440 /* A */ + 540 470 540 470 440 /* C */ + 470 470 470 470 440 /* G */ + 440 440 440 440 440 /* T */ +/* TG G ..CG */ + 470 360 470 400 470 /* N */ + 360 360 360 360 360 /* A */ + 470 360 470 400 470 /* C */ + 400 360 400 400 400 /* G */ + 470 360 470 400 470 /* T */ +/* TG T ..CG */ + 470 470 440 470 380 /* N */ + 470 470 440 470 380 /* A */ + 440 440 440 440 380 /* C */ + 470 470 440 470 380 /* G */ + 380 380 380 380 380 /* T */ +/* TG N ..GC */ + 510 480 510 480 460 /* N */ + 480 480 480 480 460 /* A */ + 510 480 510 480 460 /* C */ + 480 480 480 480 460 /* G */ + 460 460 460 460 460 /* T */ +/* TG A ..GC */ + 430 430 390 260 390 /* N */ + 430 430 390 260 390 /* A */ + 390 390 390 260 390 /* C */ + 260 260 260 260 260 /* G */ + 390 390 390 260 390 /* T */ +/* TG C ..GC */ + 510 480 510 480 460 /* N */ + 480 480 480 480 460 /* A */ + 510 480 510 480 460 /* C */ + 480 480 480 480 460 /* G */ + 460 460 460 460 460 /* T */ +/* TG G ..GC */ + 390 340 390 320 390 /* N */ + 340 340 340 320 340 /* A */ + 390 340 390 320 390 /* C */ + 320 320 320 320 320 /* G */ + 390 340 390 320 390 /* T */ +/* TG T ..GC */ + 480 480 450 480 450 /* N */ + 480 480 450 480 450 /* A */ + 450 450 450 450 450 /* C */ + 480 480 450 480 450 /* G */ + 450 450 450 450 450 /* T */ +/* TG N ..GT */ + 510 480 510 480 460 /* N */ + 480 480 480 480 460 /* A */ + 510 480 510 480 460 /* C */ + 480 480 480 480 460 /* G */ + 460 460 460 460 460 /* T */ +/* TG A ..GT */ + 430 430 390 260 390 /* N */ + 430 430 390 260 390 /* A */ + 390 390 390 260 390 /* C */ + 260 260 260 260 260 /* G */ + 390 390 390 260 390 /* T */ +/* TG C ..GT */ + 510 480 510 480 460 /* N */ + 480 480 480 480 460 /* A */ + 510 480 510 480 460 /* C */ + 480 480 480 480 460 /* G */ + 460 460 460 460 460 /* T */ +/* TG G ..GT */ + 390 340 390 320 390 /* N */ + 340 340 340 320 340 /* A */ + 390 340 390 320 390 /* C */ + 320 320 320 320 320 /* G */ + 390 340 390 320 390 /* T */ +/* TG T ..GT */ + 480 480 450 480 450 /* N */ + 480 480 450 480 450 /* A */ + 450 450 450 450 450 /* C */ + 480 480 450 480 450 /* G */ + 450 450 450 450 450 /* T */ +/* TG N ..TG */ + 540 470 540 470 470 /* N */ + 470 470 470 470 450 /* A */ + 540 470 540 470 470 /* C */ + 470 470 470 470 440 /* G */ + 470 450 470 440 470 /* T */ +/* TG A ..TG */ + 470 450 470 360 470 /* N */ + 450 450 450 360 450 /* A */ + 470 450 470 360 470 /* C */ + 360 360 360 360 360 /* G */ + 470 450 470 360 470 /* T */ +/* TG C ..TG */ + 540 470 540 470 440 /* N */ + 470 470 470 470 440 /* A */ + 540 470 540 470 440 /* C */ + 470 470 470 470 440 /* G */ + 440 440 440 440 440 /* T */ +/* TG G ..TG */ + 470 360 470 400 470 /* N */ + 360 360 360 360 360 /* A */ + 470 360 470 400 470 /* C */ + 400 360 400 400 400 /* G */ + 470 360 470 400 470 /* T */ +/* TG T ..TG */ + 470 470 440 470 380 /* N */ + 470 470 440 470 380 /* A */ + 440 440 440 440 380 /* C */ + 470 470 440 470 380 /* G */ + 380 380 380 380 380 /* T */ +/* TG N ..AT */ + 560 500 560 500 490 /* N */ + 500 500 500 500 490 /* A */ + 560 500 560 500 490 /* C */ + 500 500 500 500 340 /* G */ + 490 490 490 340 490 /* T */ +/* TG A ..AT */ + 500 500 490 300 490 /* N */ + 500 500 490 300 490 /* A */ + 490 490 490 300 490 /* C */ + 300 300 300 300 300 /* G */ + 490 490 490 300 490 /* T */ +/* TG C ..AT */ + 560 500 560 500 320 /* N */ + 500 500 500 500 320 /* A */ + 560 500 560 500 320 /* C */ + 500 500 500 500 320 /* G */ + 320 320 320 320 320 /* T */ +/* TG G ..AT */ + 490 370 490 310 490 /* N */ + 370 370 370 310 370 /* A */ + 490 370 490 310 490 /* C */ + 310 310 310 310 310 /* G */ + 490 370 490 310 490 /* T */ +/* TG T ..AT */ + 500 500 380 500 340 /* N */ + 500 500 380 500 340 /* A */ + 380 380 380 380 340 /* C */ + 500 500 380 500 340 /* G */ + 340 340 340 340 340 /* T */ +/* TG N ..TA */ + 600 520 600 520 550 /* N */ + 520 520 520 520 520 /* A */ + 600 520 600 520 550 /* C */ + 520 520 520 520 500 /* G */ + 550 520 550 500 550 /* T */ +/* TG A ..TA */ + 550 520 550 450 550 /* N */ + 520 520 520 450 520 /* A */ + 550 520 550 450 550 /* C */ + 450 450 450 450 450 /* G */ + 550 520 550 450 550 /* T */ +/* TG C ..TA */ + 600 520 600 520 500 /* N */ + 520 520 520 520 500 /* A */ + 600 520 600 520 500 /* C */ + 520 520 520 520 500 /* G */ + 500 500 500 500 500 /* T */ +/* TG G ..TA */ + 550 420 550 410 550 /* N */ + 420 420 420 410 420 /* A */ + 550 420 550 410 550 /* C */ + 410 410 410 410 410 /* G */ + 550 420 550 410 550 /* T */ +/* TG T ..TA */ + 520 520 500 520 460 /* N */ + 520 520 500 520 460 /* A */ + 500 500 500 500 460 /* C */ + 520 520 500 520 460 /* G */ + 460 460 460 460 460 /* T */ +/* TG N ..NN */ + 600 520 600 520 550 /* N */ + 520 520 520 520 520 /* A */ + 600 520 600 520 550 /* C */ + 520 520 520 520 500 /* G */ + 550 520 550 500 550 /* T */ +/* TG A ..NN */ + 550 520 550 450 550 /* N */ + 520 520 520 450 520 /* A */ + 550 520 550 450 550 /* C */ + 450 450 450 450 450 /* G */ + 550 520 550 450 550 /* T */ +/* TG C ..NN */ + 600 520 600 520 500 /* N */ + 520 520 520 520 500 /* A */ + 600 520 600 520 500 /* C */ + 520 520 520 520 500 /* G */ + 500 500 500 500 500 /* T */ +/* TG G ..NN */ + 550 420 550 410 550 /* N */ + 420 420 420 410 420 /* A */ + 550 420 550 410 550 /* C */ + 410 410 410 410 410 /* G */ + 550 420 550 410 550 /* T */ +/* TG T ..NN */ + 520 520 500 520 460 /* N */ + 520 520 500 520 460 /* A */ + 500 500 500 500 460 /* C */ + 520 520 500 520 460 /* G */ + 460 460 460 460 460 /* T */ +/* AT N ..CG */ + 560 500 560 490 500 /* N */ + 500 500 500 490 500 /* A */ + 560 500 560 490 500 /* C */ + 490 490 490 490 380 /* G */ + 500 500 500 380 500 /* T */ +/* AT A ..CG */ + 500 500 500 370 500 /* N */ + 500 500 500 370 500 /* A */ + 500 500 500 370 500 /* C */ + 370 370 370 370 370 /* G */ + 500 500 500 370 500 /* T */ +/* AT C ..CG */ + 560 490 560 490 380 /* N */ + 490 490 490 490 380 /* A */ + 560 490 560 490 380 /* C */ + 490 490 490 490 380 /* G */ + 380 380 380 380 380 /* T */ +/* AT G ..CG */ + 500 300 500 310 500 /* N */ + 300 300 300 300 300 /* A */ + 500 300 500 310 500 /* C */ + 310 300 310 310 310 /* G */ + 500 300 500 310 500 /* T */ +/* AT T ..CG */ + 490 490 320 490 340 /* N */ + 490 490 320 490 340 /* A */ + 320 320 320 320 320 /* C */ + 490 490 320 490 340 /* G */ + 340 340 320 340 340 /* T */ +/* AT N ..GC */ + 640 520 640 500 510 /* N */ + 520 520 510 500 510 /* A */ + 640 510 640 500 510 /* C */ + 500 500 500 500 470 /* G */ + 510 510 510 470 510 /* T */ +/* AT A ..GC */ + 520 520 510 390 510 /* N */ + 520 520 510 390 510 /* A */ + 510 510 510 390 510 /* C */ + 390 390 390 390 390 /* G */ + 510 510 510 390 510 /* T */ +/* AT C ..GC */ + 640 500 640 500 470 /* N */ + 500 500 500 500 470 /* A */ + 640 500 640 500 470 /* C */ + 500 500 500 500 470 /* G */ + 470 470 470 470 470 /* T */ +/* AT G ..GC */ + 510 360 510 270 510 /* N */ + 360 360 360 270 360 /* A */ + 510 360 510 270 510 /* C */ + 270 270 270 270 270 /* G */ + 510 360 510 270 510 /* T */ +/* AT T ..GC */ + 540 500 540 500 470 /* N */ + 500 500 500 500 470 /* A */ + 540 500 540 500 470 /* C */ + 500 500 500 500 470 /* G */ + 470 470 470 470 470 /* T */ +/* AT N ..GT */ + 640 520 640 500 510 /* N */ + 520 520 510 500 510 /* A */ + 640 510 640 500 510 /* C */ + 500 500 500 500 470 /* G */ + 510 510 510 470 510 /* T */ +/* AT A ..GT */ + 520 520 510 390 510 /* N */ + 520 520 510 390 510 /* A */ + 510 510 510 390 510 /* C */ + 390 390 390 390 390 /* G */ + 510 510 510 390 510 /* T */ +/* AT C ..GT */ + 640 500 640 500 470 /* N */ + 500 500 500 500 470 /* A */ + 640 500 640 500 470 /* C */ + 500 500 500 500 470 /* G */ + 470 470 470 470 470 /* T */ +/* AT G ..GT */ + 510 360 510 270 510 /* N */ + 360 360 360 270 360 /* A */ + 510 360 510 270 510 /* C */ + 270 270 270 270 270 /* G */ + 510 360 510 270 510 /* T */ +/* AT T ..GT */ + 540 500 540 500 470 /* N */ + 500 500 500 500 470 /* A */ + 540 500 540 500 470 /* C */ + 500 500 500 500 470 /* G */ + 470 470 470 470 470 /* T */ +/* AT N ..TG */ + 560 500 560 490 500 /* N */ + 500 500 500 490 500 /* A */ + 560 500 560 490 500 /* C */ + 490 490 490 490 380 /* G */ + 500 500 500 380 500 /* T */ +/* AT A ..TG */ + 500 500 500 370 500 /* N */ + 500 500 500 370 500 /* A */ + 500 500 500 370 500 /* C */ + 370 370 370 370 370 /* G */ + 500 500 500 370 500 /* T */ +/* AT C ..TG */ + 560 490 560 490 380 /* N */ + 490 490 490 490 380 /* A */ + 560 490 560 490 380 /* C */ + 490 490 490 490 380 /* G */ + 380 380 380 380 380 /* T */ +/* AT G ..TG */ + 500 300 500 310 500 /* N */ + 300 300 300 300 300 /* A */ + 500 300 500 310 500 /* C */ + 310 300 310 310 310 /* G */ + 500 300 500 310 500 /* T */ +/* AT T ..TG */ + 490 490 320 490 340 /* N */ + 490 490 320 490 340 /* A */ + 320 320 320 320 320 /* C */ + 490 490 320 490 340 /* G */ + 340 340 320 340 340 /* T */ +/* AT N ..AT */ + 670 500 670 480 520 /* N */ + 500 500 480 480 500 /* A */ + 670 480 670 480 480 /* C */ + 480 480 480 480 480 /* G */ + 520 500 480 480 520 /* T */ +/* AT A ..AT */ + 500 500 480 340 500 /* N */ + 500 500 480 340 500 /* A */ + 480 480 480 340 480 /* C */ + 340 340 340 340 340 /* G */ + 500 500 480 340 500 /* T */ +/* AT C ..AT */ + 670 480 670 480 440 /* N */ + 480 480 480 480 440 /* A */ + 670 480 670 480 440 /* C */ + 480 480 480 480 440 /* G */ + 440 440 440 440 440 /* T */ +/* AT G ..AT */ + 480 340 480 370 480 /* N */ + 340 340 340 340 340 /* A */ + 480 340 480 370 480 /* C */ + 370 340 370 370 370 /* G */ + 480 340 480 370 480 /* T */ +/* AT T ..AT */ + 520 480 440 480 520 /* N */ + 480 480 440 480 480 /* A */ + 440 440 440 440 440 /* C */ + 480 480 440 480 480 /* G */ + 520 480 440 480 520 /* T */ +/* AT N ..TA */ + 610 510 610 500 530 /* N */ + 510 510 510 500 510 /* A */ + 610 510 610 500 530 /* C */ + 500 500 500 500 500 /* G */ + 530 510 530 500 530 /* T */ +/* AT A ..TA */ + 530 510 530 430 530 /* N */ + 510 510 510 430 510 /* A */ + 530 510 530 430 530 /* C */ + 430 430 430 430 430 /* G */ + 530 510 530 430 530 /* T */ +/* AT C ..TA */ + 610 500 610 500 500 /* N */ + 500 500 500 500 500 /* A */ + 610 500 610 500 500 /* C */ + 500 500 500 500 500 /* G */ + 500 500 500 500 500 /* T */ +/* AT G ..TA */ + 530 380 530 420 530 /* N */ + 380 380 380 380 380 /* A */ + 530 380 530 420 530 /* C */ + 420 380 420 420 420 /* G */ + 530 380 530 420 530 /* T */ +/* AT T ..TA */ + 510 500 510 500 410 /* N */ + 500 500 500 500 410 /* A */ + 510 500 510 500 410 /* C */ + 500 500 500 500 410 /* G */ + 410 410 410 410 410 /* T */ +/* AT N ..NN */ + 670 520 670 500 530 /* N */ + 520 520 510 500 510 /* A */ + 670 510 670 500 530 /* C */ + 500 500 500 500 500 /* G */ + 530 510 530 500 530 /* T */ +/* AT A ..NN */ + 530 520 530 430 530 /* N */ + 520 520 510 430 510 /* A */ + 530 510 530 430 530 /* C */ + 430 430 430 430 430 /* G */ + 530 510 530 430 530 /* T */ +/* AT C ..NN */ + 670 500 670 500 500 /* N */ + 500 500 500 500 500 /* A */ + 670 500 670 500 500 /* C */ + 500 500 500 500 500 /* G */ + 500 500 500 500 500 /* T */ +/* AT G ..NN */ + 530 380 530 420 530 /* N */ + 380 380 380 380 380 /* A */ + 530 380 530 420 530 /* C */ + 420 380 420 420 420 /* G */ + 530 380 530 420 530 /* T */ +/* AT T ..NN */ + 540 500 540 500 520 /* N */ + 500 500 500 500 480 /* A */ + 540 500 540 500 470 /* C */ + 500 500 500 500 480 /* G */ + 520 480 470 480 520 /* T */ +/* TA N ..CG */ + 600 550 600 550 520 /* N */ + 550 550 550 550 520 /* A */ + 600 550 600 550 520 /* C */ + 550 550 550 550 500 /* G */ + 520 520 520 500 520 /* T */ +/* TA A ..CG */ + 520 520 520 420 520 /* N */ + 520 520 520 420 520 /* A */ + 520 520 520 420 520 /* C */ + 420 420 420 420 420 /* G */ + 520 520 520 420 520 /* T */ +/* TA C ..CG */ + 600 550 600 550 500 /* N */ + 550 550 550 550 500 /* A */ + 600 550 600 550 500 /* C */ + 550 550 550 550 500 /* G */ + 500 500 500 500 500 /* T */ +/* TA G ..CG */ + 520 450 520 410 520 /* N */ + 450 450 450 410 450 /* A */ + 520 450 520 410 520 /* C */ + 410 410 410 410 410 /* G */ + 520 450 520 410 520 /* T */ +/* TA T ..CG */ + 550 550 500 550 460 /* N */ + 550 550 500 550 460 /* A */ + 500 500 500 500 460 /* C */ + 550 550 500 550 460 /* G */ + 460 460 460 460 460 /* T */ +/* TA N ..GC */ + 580 550 580 550 580 /* N */ + 550 550 550 550 550 /* A */ + 580 550 580 550 580 /* C */ + 550 550 550 550 550 /* G */ + 580 550 580 550 580 /* T */ +/* TA A ..GC */ + 500 450 500 420 500 /* N */ + 450 450 450 420 450 /* A */ + 500 450 500 420 500 /* C */ + 420 420 420 420 420 /* G */ + 500 450 500 420 500 /* T */ +/* TA C ..GC */ + 580 550 580 550 580 /* N */ + 550 550 550 550 550 /* A */ + 580 550 580 550 580 /* C */ + 550 550 550 550 550 /* G */ + 580 550 580 550 580 /* T */ +/* TA G ..GC */ + 500 450 500 430 500 /* N */ + 450 450 450 430 450 /* A */ + 500 450 500 430 500 /* C */ + 430 430 430 430 430 /* G */ + 500 450 500 430 500 /* T */ +/* TA T ..GC */ + 550 550 510 550 420 /* N */ + 550 550 510 550 420 /* A */ + 510 510 510 510 420 /* C */ + 550 550 510 550 420 /* G */ + 420 420 420 420 420 /* T */ +/* TA N ..GT */ + 580 550 580 550 580 /* N */ + 550 550 550 550 550 /* A */ + 580 550 580 550 580 /* C */ + 550 550 550 550 550 /* G */ + 580 550 580 550 580 /* T */ +/* TA A ..GT */ + 500 450 500 420 500 /* N */ + 450 450 450 420 450 /* A */ + 500 450 500 420 500 /* C */ + 420 420 420 420 420 /* G */ + 500 450 500 420 500 /* T */ +/* TA C ..GT */ + 580 550 580 550 580 /* N */ + 550 550 550 550 550 /* A */ + 580 550 580 550 580 /* C */ + 550 550 550 550 550 /* G */ + 580 550 580 550 580 /* T */ +/* TA G ..GT */ + 500 450 500 430 500 /* N */ + 450 450 450 430 450 /* A */ + 500 450 500 430 500 /* C */ + 430 430 430 430 430 /* G */ + 500 450 500 430 500 /* T */ +/* TA T ..GT */ + 550 550 510 550 420 /* N */ + 550 550 510 550 420 /* A */ + 510 510 510 510 420 /* C */ + 550 550 510 550 420 /* G */ + 420 420 420 420 420 /* T */ +/* TA N ..TG */ + 600 550 600 550 520 /* N */ + 550 550 550 550 520 /* A */ + 600 550 600 550 520 /* C */ + 550 550 550 550 500 /* G */ + 520 520 520 500 520 /* T */ +/* TA A ..TG */ + 520 520 520 420 520 /* N */ + 520 520 520 420 520 /* A */ + 520 520 520 420 520 /* C */ + 420 420 420 420 420 /* G */ + 520 520 520 420 520 /* T */ +/* TA C ..TG */ + 600 550 600 550 500 /* N */ + 550 550 550 550 500 /* A */ + 600 550 600 550 500 /* C */ + 550 550 550 550 500 /* G */ + 500 500 500 500 500 /* T */ +/* TA G ..TG */ + 520 450 520 410 520 /* N */ + 450 450 450 410 450 /* A */ + 520 450 520 410 520 /* C */ + 410 410 410 410 410 /* G */ + 520 450 520 410 520 /* T */ +/* TA T ..TG */ + 550 550 500 550 460 /* N */ + 550 550 500 550 460 /* A */ + 500 500 500 500 460 /* C */ + 550 550 500 550 460 /* G */ + 460 460 460 460 460 /* T */ +/* TA N ..AT */ + 610 530 610 530 510 /* N */ + 530 530 530 530 510 /* A */ + 610 530 610 530 510 /* C */ + 530 530 530 530 510 /* G */ + 510 510 510 510 510 /* T */ +/* TA A ..AT */ + 510 510 500 380 500 /* N */ + 510 510 500 380 500 /* A */ + 500 500 500 380 500 /* C */ + 380 380 380 380 380 /* G */ + 500 500 500 380 500 /* T */ +/* TA C ..AT */ + 610 530 610 530 510 /* N */ + 530 530 530 530 510 /* A */ + 610 530 610 530 510 /* C */ + 530 530 530 530 510 /* G */ + 510 510 510 510 510 /* T */ +/* TA G ..AT */ + 500 430 500 420 500 /* N */ + 430 430 430 420 430 /* A */ + 500 430 500 420 500 /* C */ + 420 420 420 420 420 /* G */ + 500 430 500 420 500 /* T */ +/* TA T ..AT */ + 530 530 500 530 410 /* N */ + 530 530 500 530 410 /* A */ + 500 500 500 500 410 /* C */ + 530 530 500 530 410 /* G */ + 410 410 410 410 410 /* T */ +/* TA N ..TA */ + 600 560 600 560 560 /* N */ + 560 560 560 560 540 /* A */ + 600 560 600 560 560 /* C */ + 560 560 560 560 500 /* G */ + 560 540 560 500 560 /* T */ +/* TA A ..TA */ + 560 540 560 470 560 /* N */ + 540 540 540 470 540 /* A */ + 560 540 560 470 560 /* C */ + 470 470 470 470 470 /* G */ + 560 540 560 470 560 /* T */ +/* TA C ..TA */ + 600 560 600 560 490 /* N */ + 560 560 560 560 490 /* A */ + 600 560 600 560 490 /* C */ + 560 560 560 560 490 /* G */ + 490 490 490 490 490 /* T */ +/* TA G ..TA */ + 560 470 560 480 560 /* N */ + 470 470 470 470 470 /* A */ + 560 470 560 480 560 /* C */ + 480 470 480 480 480 /* G */ + 560 470 560 480 560 /* T */ +/* TA T ..TA */ + 560 560 490 560 500 /* N */ + 560 560 490 560 500 /* A */ + 490 490 490 490 490 /* C */ + 560 560 490 560 500 /* G */ + 500 500 490 500 500 /* T */ +/* TA N ..NN */ + 610 560 610 560 580 /* N */ + 560 560 560 560 550 /* A */ + 610 560 610 560 580 /* C */ + 560 560 560 560 550 /* G */ + 580 550 580 550 580 /* T */ +/* TA A ..NN */ + 560 540 560 470 560 /* N */ + 540 540 540 470 540 /* A */ + 560 540 560 470 560 /* C */ + 470 470 470 470 470 /* G */ + 560 540 560 470 560 /* T */ +/* TA C ..NN */ + 610 560 610 560 580 /* N */ + 560 560 560 560 550 /* A */ + 610 560 610 560 580 /* C */ + 560 560 560 560 550 /* G */ + 580 550 580 550 580 /* T */ +/* TA G ..NN */ + 560 470 560 480 560 /* N */ + 470 470 470 470 470 /* A */ + 560 470 560 480 560 /* C */ + 480 470 480 480 480 /* G */ + 560 470 560 480 560 /* T */ +/* TA T ..NN */ + 560 560 510 560 500 /* N */ + 560 560 510 560 500 /* A */ + 510 510 510 510 490 /* C */ + 560 560 510 560 500 /* G */ + 500 500 490 500 500 /* T */ +/* NN N ..CG */ + 600 550 600 550 520 /* N */ + 550 550 550 550 520 /* A */ + 600 550 600 550 520 /* C */ + 550 550 550 550 500 /* G */ + 520 520 520 500 520 /* T */ +/* NN A ..CG */ + 520 520 520 420 520 /* N */ + 520 520 520 420 520 /* A */ + 520 520 520 420 520 /* C */ + 420 420 420 420 420 /* G */ + 520 520 520 420 520 /* T */ +/* NN C ..CG */ + 600 550 600 550 500 /* N */ + 550 550 550 550 500 /* A */ + 600 550 600 550 500 /* C */ + 550 550 550 550 500 /* G */ + 500 500 500 500 500 /* T */ +/* NN G ..CG */ + 520 450 520 410 520 /* N */ + 450 450 450 410 450 /* A */ + 520 450 520 410 520 /* C */ + 410 410 410 410 410 /* G */ + 520 450 520 410 520 /* T */ +/* NN T ..CG */ + 550 550 500 550 460 /* N */ + 550 550 500 550 460 /* A */ + 500 500 500 500 460 /* C */ + 550 550 500 550 460 /* G */ + 460 460 460 460 460 /* T */ +/* NN N ..GC */ + 640 550 640 550 580 /* N */ + 550 550 550 550 550 /* A */ + 640 550 640 550 580 /* C */ + 550 550 550 550 550 /* G */ + 580 550 580 550 580 /* T */ +/* NN A ..GC */ + 520 520 510 420 510 /* N */ + 520 520 510 420 510 /* A */ + 510 510 510 420 510 /* C */ + 420 420 420 420 420 /* G */ + 510 510 510 420 510 /* T */ +/* NN C ..GC */ + 640 550 640 550 580 /* N */ + 550 550 550 550 550 /* A */ + 640 550 640 550 580 /* C */ + 550 550 550 550 550 /* G */ + 580 550 580 550 580 /* T */ +/* NN G ..GC */ + 510 450 510 430 510 /* N */ + 450 450 450 430 450 /* A */ + 510 450 510 430 510 /* C */ + 430 430 430 430 430 /* G */ + 510 450 510 430 510 /* T */ +/* NN T ..GC */ + 550 550 540 550 470 /* N */ + 550 550 510 550 470 /* A */ + 540 510 540 510 470 /* C */ + 550 550 510 550 470 /* G */ + 470 470 470 470 470 /* T */ +/* NN N ..GT */ + 640 550 640 550 580 /* N */ + 550 550 550 550 550 /* A */ + 640 550 640 550 580 /* C */ + 550 550 550 550 550 /* G */ + 580 550 580 550 580 /* T */ +/* NN A ..GT */ + 520 520 510 420 510 /* N */ + 520 520 510 420 510 /* A */ + 510 510 510 420 510 /* C */ + 420 420 420 420 420 /* G */ + 510 510 510 420 510 /* T */ +/* NN C ..GT */ + 640 550 640 550 580 /* N */ + 550 550 550 550 550 /* A */ + 640 550 640 550 580 /* C */ + 550 550 550 550 550 /* G */ + 580 550 580 550 580 /* T */ +/* NN G ..GT */ + 510 450 510 430 510 /* N */ + 450 450 450 430 450 /* A */ + 510 450 510 430 510 /* C */ + 430 430 430 430 430 /* G */ + 510 450 510 430 510 /* T */ +/* NN T ..GT */ + 550 550 540 550 470 /* N */ + 550 550 510 550 470 /* A */ + 540 510 540 510 470 /* C */ + 550 550 510 550 470 /* G */ + 470 470 470 470 470 /* T */ +/* NN N ..TG */ + 600 550 600 550 520 /* N */ + 550 550 550 550 520 /* A */ + 600 550 600 550 520 /* C */ + 550 550 550 550 500 /* G */ + 520 520 520 500 520 /* T */ +/* NN A ..TG */ + 520 520 520 420 520 /* N */ + 520 520 520 420 520 /* A */ + 520 520 520 420 520 /* C */ + 420 420 420 420 420 /* G */ + 520 520 520 420 520 /* T */ +/* NN C ..TG */ + 600 550 600 550 500 /* N */ + 550 550 550 550 500 /* A */ + 600 550 600 550 500 /* C */ + 550 550 550 550 500 /* G */ + 500 500 500 500 500 /* T */ +/* NN G ..TG */ + 520 450 520 410 520 /* N */ + 450 450 450 410 450 /* A */ + 520 450 520 410 520 /* C */ + 410 410 410 410 410 /* G */ + 520 450 520 410 520 /* T */ +/* NN T ..TG */ + 550 550 500 550 460 /* N */ + 550 550 500 550 460 /* A */ + 500 500 500 500 460 /* C */ + 550 550 500 550 460 /* G */ + 460 460 460 460 460 /* T */ +/* NN N ..AT */ + 670 530 670 530 540 /* N */ + 530 530 530 530 510 /* A */ + 670 530 670 530 540 /* C */ + 530 530 530 530 510 /* G */ + 540 510 540 510 540 /* T */ +/* NN A ..AT */ + 520 520 500 380 500 /* N */ + 520 520 500 380 500 /* A */ + 500 500 500 380 500 /* C */ + 380 380 380 380 380 /* G */ + 500 500 500 380 500 /* T */ +/* NN C ..AT */ + 670 530 670 530 540 /* N */ + 530 530 530 530 510 /* A */ + 670 530 670 530 540 /* C */ + 530 530 530 530 510 /* G */ + 540 510 540 510 540 /* T */ +/* NN G ..AT */ + 500 430 500 420 500 /* N */ + 430 430 430 420 430 /* A */ + 500 430 500 420 500 /* C */ + 420 420 420 420 420 /* G */ + 500 430 500 420 500 /* T */ +/* NN T ..AT */ + 530 530 500 530 520 /* N */ + 530 530 500 530 480 /* A */ + 500 500 500 500 470 /* C */ + 530 530 500 530 480 /* G */ + 520 480 470 480 520 /* T */ +/* NN N ..TA */ + 610 560 610 560 560 /* N */ + 560 560 560 560 540 /* A */ + 610 560 610 560 560 /* C */ + 560 560 560 560 500 /* G */ + 560 540 560 500 560 /* T */ +/* NN A ..TA */ + 560 540 560 470 560 /* N */ + 540 540 540 470 540 /* A */ + 560 540 560 470 560 /* C */ + 470 470 470 470 470 /* G */ + 560 540 560 470 560 /* T */ +/* NN C ..TA */ + 610 560 610 560 510 /* N */ + 560 560 560 560 500 /* A */ + 610 560 610 560 510 /* C */ + 560 560 560 560 500 /* G */ + 510 500 510 500 510 /* T */ +/* NN G ..TA */ + 560 470 560 480 560 /* N */ + 470 470 470 470 470 /* A */ + 560 470 560 480 560 /* C */ + 480 470 480 480 480 /* G */ + 560 470 560 480 560 /* T */ +/* NN T ..TA */ + 580 560 580 560 500 /* N */ + 560 560 500 560 500 /* A */ + 580 500 580 500 490 /* C */ + 560 560 500 560 500 /* G */ + 500 500 490 500 500 /* T */ +/* NN N ..NN */ + 670 560 670 560 580 /* N */ + 560 560 560 560 550 /* A */ + 670 560 670 560 580 /* C */ + 560 560 560 560 550 /* G */ + 580 550 580 550 580 /* T */ +/* NN A ..NN */ + 560 540 560 470 560 /* N */ + 540 540 540 470 540 /* A */ + 560 540 560 470 560 /* C */ + 470 470 470 470 470 /* G */ + 560 540 560 470 560 /* T */ +/* NN C ..NN */ + 670 560 670 560 580 /* N */ + 560 560 560 560 550 /* A */ + 670 560 670 560 580 /* C */ + 560 560 560 560 550 /* G */ + 580 550 580 550 580 /* T */ +/* NN G ..NN */ + 560 470 560 480 560 /* N */ + 470 470 470 470 470 /* A */ + 560 470 560 480 560 /* C */ + 480 470 480 480 480 /* G */ + 560 470 560 480 560 /* T */ +/* NN T ..NN */ + 580 560 580 560 520 /* N */ + 560 560 510 560 500 /* A */ + 580 510 580 510 490 /* C */ + 560 560 510 560 500 /* G */ + 520 500 490 500 520 /* T */ + +# int21_enthalpies +/* CG N ..CG */ + 2500 2500 2500 2500 2500 /* N */ + 2500 2500 2500 2500 2500 /* A */ + 2500 2500 2400 2500 2400 /* C */ + 2500 2500 2500 2500 2500 /* G */ + 2500 2500 2400 2500 2400 /* T */ +/* CG A ..CG */ + 2500 2500 2500 2500 2500 /* N */ + 2500 2290 2290 2500 2290 /* A */ + 2500 2290 2400 2500 2400 /* C */ + 2500 2500 2500 2500 2500 /* G */ + 2500 2290 2400 2500 2400 /* T */ +/* CG C ..CG */ + 2400 2400 2400 2400 2050 /* N */ + 2400 2400 2400 2400 2050 /* A */ + 2400 2400 2300 2400 2050 /* C */ + 2400 2400 2400 2400 2050 /* G */ + 2050 2050 2050 2050 2050 /* T */ +/* CG G ..CG */ + 2500 2500 2500 2500 2500 /* N */ + 2500 2500 2500 2500 2500 /* A */ + 2500 2500 2400 1900 2400 /* C */ + 2500 2500 1900 1900 1900 /* G */ + 2500 2500 2400 1900 2400 /* T */ +/* CG T ..CG */ + 2400 2400 2050 2400 1620 /* N */ + 2400 2400 2050 2400 1620 /* A */ + 2050 2050 2050 2050 1620 /* C */ + 2400 2400 2050 2400 1620 /* G */ + 1620 1620 1620 1620 1620 /* T */ +/* CG N ..GC */ + 2820 2820 2820 2820 2350 /* N */ + 2820 2820 2820 2820 2350 /* A */ + 2820 2820 2640 2820 2350 /* C */ + 2820 2820 2820 2820 2100 /* G */ + 2350 2350 2350 2100 2350 /* T */ +/* CG A ..GC */ + 2350 2350 2350 2020 2350 /* N */ + 2350 1830 2350 2020 2350 /* A */ + 2350 2350 2350 2020 2350 /* C */ + 2020 2020 2020 2020 2020 /* G */ + 2350 2350 2350 2020 2350 /* T */ +/* CG C ..GC */ + 2820 2820 2820 2820 2080 /* N */ + 2820 2820 2820 2820 2080 /* A */ + 2820 2820 2640 2820 2080 /* C */ + 2820 2820 2820 2820 2080 /* G */ + 2080 2080 2080 2080 2080 /* T */ +/* CG G ..GC */ + 2350 2280 2350 1800 2350 /* N */ + 2280 2280 2280 1800 2280 /* A */ + 2350 2280 2350 1800 2350 /* C */ + 1800 1800 1800 1800 1800 /* G */ + 2350 2280 2350 1800 2350 /* T */ +/* CG T ..GC */ + 2820 2820 2100 2820 2100 /* N */ + 2820 2820 1940 2820 2100 /* A */ + 1940 1940 1940 1940 1940 /* C */ + 2820 2820 1940 2820 2100 /* G */ + 2100 2100 2100 2100 2100 /* T */ +/* CG N ..GT */ + 2820 2820 2820 2820 2350 /* N */ + 2820 2820 2820 2820 2350 /* A */ + 2820 2820 2640 2820 2350 /* C */ + 2820 2820 2820 2820 2100 /* G */ + 2350 2350 2350 2100 2350 /* T */ +/* CG A ..GT */ + 2350 2350 2350 2020 2350 /* N */ + 2350 1830 2350 2020 2350 /* A */ + 2350 2350 2350 2020 2350 /* C */ + 2020 2020 2020 2020 2020 /* G */ + 2350 2350 2350 2020 2350 /* T */ +/* CG C ..GT */ + 2820 2820 2820 2820 2080 /* N */ + 2820 2820 2820 2820 2080 /* A */ + 2820 2820 2640 2820 2080 /* C */ + 2820 2820 2820 2820 2080 /* G */ + 2080 2080 2080 2080 2080 /* T */ +/* CG G ..GT */ + 2350 2280 2350 1800 2350 /* N */ + 2280 2280 2280 1800 2280 /* A */ + 2350 2280 2350 1800 2350 /* C */ + 1800 1800 1800 1800 1800 /* G */ + 2350 2280 2350 1800 2350 /* T */ +/* CG T ..GT */ + 2820 2820 2100 2820 2100 /* N */ + 2820 2820 1940 2820 2100 /* A */ + 1940 1940 1940 1940 1940 /* C */ + 2820 2820 1940 2820 2100 /* G */ + 2100 2100 2100 2100 2100 /* T */ +/* CG N ..TG */ + 2500 2500 2500 2500 2500 /* N */ + 2500 2500 2500 2500 2500 /* A */ + 2500 2500 2400 2500 2400 /* C */ + 2500 2500 2500 2500 2500 /* G */ + 2500 2500 2400 2500 2400 /* T */ +/* CG A ..TG */ + 2500 2500 2500 2500 2500 /* N */ + 2500 2290 2290 2500 2290 /* A */ + 2500 2290 2400 2500 2400 /* C */ + 2500 2500 2500 2500 2500 /* G */ + 2500 2290 2400 2500 2400 /* T */ +/* CG C ..TG */ + 2400 2400 2400 2400 2050 /* N */ + 2400 2400 2400 2400 2050 /* A */ + 2400 2400 2300 2400 2050 /* C */ + 2400 2400 2400 2400 2050 /* G */ + 2050 2050 2050 2050 2050 /* T */ +/* CG G ..TG */ + 2500 2500 2500 2500 2500 /* N */ + 2500 2500 2500 2500 2500 /* A */ + 2500 2500 2400 1900 2400 /* C */ + 2500 2500 1900 1900 1900 /* G */ + 2500 2500 2400 1900 2400 /* T */ +/* CG T ..TG */ + 2400 2400 2050 2400 1620 /* N */ + 2400 2400 2050 2400 1620 /* A */ + 2050 2050 2050 2050 1620 /* C */ + 2400 2400 2050 2400 1620 /* G */ + 1620 1620 1620 1620 1620 /* T */ +/* CG N ..AT */ + 2420 2420 2420 2280 2420 /* N */ + 2420 2390 2420 2280 2420 /* A */ + 2420 2420 2420 2280 2420 /* C */ + 2280 2280 2280 2280 1670 /* G */ + 2420 2420 2420 1670 2420 /* T */ +/* CG A ..AT */ + 2420 2420 2420 1670 2420 /* N */ + 2420 2390 2420 1670 2420 /* A */ + 2420 2420 2420 1670 2420 /* C */ + 1670 1670 1670 1670 1670 /* G */ + 2420 2420 2420 1670 2420 /* T */ +/* CG C ..AT */ + 2280 2280 2280 2280 660 /* N */ + 2280 2280 2280 2280 660 /* A */ + 2280 2280 2150 2280 660 /* C */ + 2280 2280 2280 2280 660 /* G */ + 660 660 660 660 660 /* T */ +/* CG G ..AT */ + 2420 1260 2420 900 2420 /* N */ + 1260 1260 1260 900 1260 /* A */ + 2420 1260 2420 900 2420 /* C */ + 900 900 900 900 900 /* G */ + 2420 1260 2420 900 2420 /* T */ +/* CG T ..AT */ + 2280 2280 1400 2280 1140 /* N */ + 2280 2280 1400 2280 1140 /* A */ + 1400 1400 1400 1400 1140 /* C */ + 2280 2280 1400 2280 1140 /* G */ + 1140 1140 1140 1140 1140 /* T */ +/* CG N ..TA */ + 3210 3020 3210 3020 3210 /* N */ + 3020 2890 2890 3020 2890 /* A */ + 3210 2890 3210 3020 3210 /* C */ + 3020 3020 3020 3020 3020 /* G */ + 3210 2890 3210 3020 3210 /* T */ +/* CG A ..TA */ + 3210 3020 3210 3020 3210 /* N */ + 3020 2890 2890 3020 2890 /* A */ + 3210 2890 3210 3020 3210 /* C */ + 3020 3020 3020 3020 3020 /* G */ + 3210 2890 3210 3020 3210 /* T */ +/* CG C ..TA */ + 2850 2850 2850 2850 1900 /* N */ + 2850 2850 2850 2850 1900 /* A */ + 2850 2850 2480 2850 1900 /* C */ + 2850 2850 2850 2850 1900 /* G */ + 1900 1900 1900 1900 1900 /* T */ +/* CG G ..TA */ + 3210 2580 3210 1780 3210 /* N */ + 2580 2580 2580 1780 2580 /* A */ + 3210 2580 3210 1780 3210 /* C */ + 1780 1780 1780 1780 1780 /* G */ + 3210 2580 3210 1780 3210 /* T */ +/* CG T ..TA */ + 2850 2850 2190 2850 1960 /* N */ + 2850 2850 2190 2850 1960 /* A */ + 2190 2190 2190 2190 1960 /* C */ + 2850 2850 2190 2850 1960 /* G */ + 1960 1960 1960 1960 1960 /* T */ +/* CG N ..NN */ + 3210 3020 3210 3020 3210 /* N */ + 3020 2890 2890 3020 2890 /* A */ + 3210 2890 3210 3020 3210 /* C */ + 3020 3020 3020 3020 3020 /* G */ + 3210 2890 3210 3020 3210 /* T */ +/* CG A ..NN */ + 3210 3020 3210 3020 3210 /* N */ + 3020 2890 2890 3020 2890 /* A */ + 3210 2890 3210 3020 3210 /* C */ + 3020 3020 3020 3020 3020 /* G */ + 3210 2890 3210 3020 3210 /* T */ +/* CG C ..NN */ + 2850 2850 2850 2850 2080 /* N */ + 2850 2850 2850 2850 2080 /* A */ + 2850 2850 2640 2850 2080 /* C */ + 2850 2850 2850 2850 2080 /* G */ + 2080 2080 2080 2080 2080 /* T */ +/* CG G ..NN */ + 3210 2580 3210 2500 3210 /* N */ + 2580 2580 2580 2500 2580 /* A */ + 3210 2580 3210 1900 3210 /* C */ + 2500 2500 1900 1900 1900 /* G */ + 3210 2580 3210 1900 3210 /* T */ +/* CG T ..NN */ + 2850 2850 2190 2850 2100 /* N */ + 2850 2850 2190 2850 2100 /* A */ + 2190 2190 2190 2190 1960 /* C */ + 2850 2850 2190 2850 2100 /* G */ + 2100 2100 2100 2100 2100 /* T */ +/* GC N ..CG */ + 2820 2350 2820 2350 2820 /* N */ + 2350 2350 2350 2350 2350 /* A */ + 2820 2350 2820 2350 2820 /* C */ + 2350 2350 2350 2350 2350 /* G */ + 2820 2350 2820 2350 2820 /* T */ +/* GC A ..CG */ + 2820 2280 2820 2280 2820 /* N */ + 2280 1830 1830 2280 1830 /* A */ + 2820 1830 2820 2280 2820 /* C */ + 2280 2280 2280 2280 2280 /* G */ + 2820 1830 2820 2280 2820 /* T */ +/* GC C ..CG */ + 2640 2350 2640 2350 2350 /* N */ + 2350 2350 2350 2350 2350 /* A */ + 2640 2350 2640 2350 1940 /* C */ + 2350 2350 2350 2350 2350 /* G */ + 2350 2350 1940 2350 1940 /* T */ +/* GC G ..CG */ + 2820 2020 2820 2020 2820 /* N */ + 2020 2020 2020 2020 2020 /* A */ + 2820 2020 2820 1800 2820 /* C */ + 2020 2020 1800 1800 1800 /* G */ + 2820 2020 2820 1800 2820 /* T */ +/* GC T ..CG */ + 2350 2350 2350 2350 2350 /* N */ + 2350 2350 2350 2350 2350 /* A */ + 2350 2350 2080 2350 2100 /* C */ + 2350 2350 2350 2350 2350 /* G */ + 2350 2350 2100 2350 2100 /* T */ +/* GC N ..GC */ + 2490 2280 2490 2280 2280 /* N */ + 2280 2280 2280 2280 2280 /* A */ + 2490 2280 2490 2280 2280 /* C */ + 2280 2280 2280 2280 2280 /* G */ + 2280 2280 2280 2280 2280 /* T */ +/* GC A ..GC */ + 2280 2150 2280 2130 2280 /* N */ + 2150 2150 2150 2130 2150 /* A */ + 2280 2150 2280 2130 2280 /* C */ + 2130 2130 2130 2130 2130 /* G */ + 2280 2150 2280 2130 2280 /* T */ +/* GC C ..GC */ + 2490 2280 2490 2280 2280 /* N */ + 2280 2280 2280 2280 2280 /* A */ + 2490 2280 2490 2280 1830 /* C */ + 2280 2280 2280 2280 2280 /* G */ + 2280 2280 1830 2280 1830 /* T */ +/* GC G ..GC */ + 2280 2130 2280 1610 2280 /* N */ + 2130 2130 2130 1610 2130 /* A */ + 2280 2130 2280 1610 2280 /* C */ + 1610 1610 1610 1610 1610 /* G */ + 2280 2130 2280 1610 2280 /* T */ +/* GC T ..GC */ + 2280 2280 2280 2280 2280 /* N */ + 2280 2280 2280 2280 2280 /* A */ + 2280 2280 1830 2280 1830 /* C */ + 2280 2280 2280 2280 2280 /* G */ + 2280 2280 1830 2280 1920 /* T */ +/* GC N ..GT */ + 2490 2280 2490 2280 2280 /* N */ + 2280 2280 2280 2280 2280 /* A */ + 2490 2280 2490 2280 2280 /* C */ + 2280 2280 2280 2280 2280 /* G */ + 2280 2280 2280 2280 2280 /* T */ +/* GC A ..GT */ + 2280 2150 2280 2130 2280 /* N */ + 2150 2150 2150 2130 2150 /* A */ + 2280 2150 2280 2130 2280 /* C */ + 2130 2130 2130 2130 2130 /* G */ + 2280 2150 2280 2130 2280 /* T */ +/* GC C ..GT */ + 2490 2280 2490 2280 2280 /* N */ + 2280 2280 2280 2280 2280 /* A */ + 2490 2280 2490 2280 1830 /* C */ + 2280 2280 2280 2280 2280 /* G */ + 2280 2280 1830 2280 1830 /* T */ +/* GC G ..GT */ + 2280 2130 2280 1610 2280 /* N */ + 2130 2130 2130 1610 2130 /* A */ + 2280 2130 2280 1610 2280 /* C */ + 1610 1610 1610 1610 1610 /* G */ + 2280 2130 2280 1610 2280 /* T */ +/* GC T ..GT */ + 2280 2280 2280 2280 2280 /* N */ + 2280 2280 2280 2280 2280 /* A */ + 2280 2280 1830 2280 1830 /* C */ + 2280 2280 2280 2280 2280 /* G */ + 2280 2280 1830 2280 1920 /* T */ +/* GC N ..TG */ + 2820 2350 2820 2350 2820 /* N */ + 2350 2350 2350 2350 2350 /* A */ + 2820 2350 2820 2350 2820 /* C */ + 2350 2350 2350 2350 2350 /* G */ + 2820 2350 2820 2350 2820 /* T */ +/* GC A ..TG */ + 2820 2280 2820 2280 2820 /* N */ + 2280 1830 1830 2280 1830 /* A */ + 2820 1830 2820 2280 2820 /* C */ + 2280 2280 2280 2280 2280 /* G */ + 2820 1830 2820 2280 2820 /* T */ +/* GC C ..TG */ + 2640 2350 2640 2350 2350 /* N */ + 2350 2350 2350 2350 2350 /* A */ + 2640 2350 2640 2350 1940 /* C */ + 2350 2350 2350 2350 2350 /* G */ + 2350 2350 1940 2350 1940 /* T */ +/* GC G ..TG */ + 2820 2020 2820 2020 2820 /* N */ + 2020 2020 2020 2020 2020 /* A */ + 2820 2020 2820 1800 2820 /* C */ + 2020 2020 1800 1800 1800 /* G */ + 2820 2020 2820 1800 2820 /* T */ +/* GC T ..TG */ + 2350 2350 2350 2350 2350 /* N */ + 2350 2350 2350 2350 2350 /* A */ + 2350 2350 2080 2350 2100 /* C */ + 2350 2350 2350 2350 2350 /* G */ + 2350 2350 2100 2350 2100 /* T */ +/* GC N ..AT */ + 3170 2980 3170 2980 3050 /* N */ + 2980 2980 2980 2980 2980 /* A */ + 3170 2980 3170 2980 3050 /* C */ + 2980 2980 2980 2980 2980 /* G */ + 3050 2980 3050 2980 3050 /* T */ +/* GC A ..AT */ + 2890 2890 2340 2340 2340 /* N */ + 2890 2890 2300 2340 2300 /* A */ + 2340 2300 2300 2340 2300 /* C */ + 2340 2340 2340 2340 2340 /* G */ + 2340 2300 2300 2340 2300 /* T */ +/* GC C ..AT */ + 3170 2980 3170 2980 3050 /* N */ + 2980 2980 2980 2980 2980 /* A */ + 3170 2980 3170 2980 3050 /* C */ + 2980 2980 2980 2980 2980 /* G */ + 3050 2980 3050 2980 3050 /* T */ +/* GC G ..AT */ + 2780 2780 2780 1390 2780 /* N */ + 2780 2780 2780 1390 2780 /* A */ + 2780 2780 2300 1390 2300 /* C */ + 1390 1390 1390 1390 1390 /* G */ + 2780 2780 2300 1390 2300 /* T */ +/* GC T ..AT */ + 2980 2980 2020 2980 2020 /* N */ + 2980 2980 2020 2980 1940 /* A */ + 2020 2020 2020 2020 2020 /* C */ + 2980 2980 2020 2980 1940 /* G */ + 1940 1940 1940 1940 1940 /* T */ +/* GC N ..TA */ + 3210 3020 3210 3020 3210 /* N */ + 2580 2580 2580 2580 2580 /* A */ + 3210 2580 3210 3020 3210 /* C */ + 3020 3020 3020 3020 3020 /* G */ + 3210 2580 3210 3020 3210 /* T */ +/* GC A ..TA */ + 3210 3020 3210 3020 3210 /* N */ + 1750 1750 1750 1750 1750 /* A */ + 3210 1750 3210 3020 3210 /* C */ + 3020 3020 3020 3020 3020 /* G */ + 3210 1750 3210 3020 3210 /* T */ +/* GC C ..TA */ + 3180 2310 3180 2310 2310 /* N */ + 2310 2310 2310 2310 2310 /* A */ + 3180 2310 3180 2310 1850 /* C */ + 2310 2310 2310 2310 2310 /* G */ + 2310 2310 1850 2310 1850 /* T */ +/* GC G ..TA */ + 3210 2580 3210 2580 3210 /* N */ + 2580 2580 2580 2580 2580 /* A */ + 3210 2580 3210 2230 3210 /* C */ + 2580 2580 2230 2230 2230 /* G */ + 3210 2580 3210 2230 3210 /* T */ +/* GC T ..TA */ + 2310 2310 2310 2310 890 /* N */ + 2310 2310 2310 2310 890 /* A */ + 2310 2310 2260 2310 890 /* C */ + 2310 2310 2310 2310 890 /* G */ + 890 890 890 890 890 /* T */ +/* GC N ..NN */ + 3210 3020 3210 3020 3210 /* N */ + 2980 2980 2980 2980 2980 /* A */ + 3210 2980 3210 3020 3210 /* C */ + 3020 3020 3020 3020 3020 /* G */ + 3210 2980 3210 3020 3210 /* T */ +/* GC A ..NN */ + 3210 3020 3210 3020 3210 /* N */ + 2890 2890 2300 2340 2300 /* A */ + 3210 2300 3210 3020 3210 /* C */ + 3020 3020 3020 3020 3020 /* G */ + 3210 2300 3210 3020 3210 /* T */ +/* GC C ..NN */ + 3180 2980 3180 2980 3050 /* N */ + 2980 2980 2980 2980 2980 /* A */ + 3180 2980 3180 2980 3050 /* C */ + 2980 2980 2980 2980 2980 /* G */ + 3050 2980 3050 2980 3050 /* T */ +/* GC G ..NN */ + 3210 2780 3210 2580 3210 /* N */ + 2780 2780 2780 2580 2780 /* A */ + 3210 2780 3210 2230 3210 /* C */ + 2580 2580 2230 2230 2230 /* G */ + 3210 2780 3210 2230 3210 /* T */ +/* GC T ..NN */ + 2980 2980 2350 2980 2350 /* N */ + 2980 2980 2350 2980 2350 /* A */ + 2350 2350 2260 2350 2100 /* C */ + 2980 2980 2350 2980 2350 /* G */ + 2350 2350 2100 2350 2100 /* T */ +/* GT N ..CG */ + 2820 2350 2820 2350 2820 /* N */ + 2350 2350 2350 2350 2350 /* A */ + 2820 2350 2820 2350 2820 /* C */ + 2350 2350 2350 2350 2350 /* G */ + 2820 2350 2820 2350 2820 /* T */ +/* GT A ..CG */ + 2820 2280 2820 2280 2820 /* N */ + 2280 1830 1830 2280 1830 /* A */ + 2820 1830 2820 2280 2820 /* C */ + 2280 2280 2280 2280 2280 /* G */ + 2820 1830 2820 2280 2820 /* T */ +/* GT C ..CG */ + 2640 2350 2640 2350 2350 /* N */ + 2350 2350 2350 2350 2350 /* A */ + 2640 2350 2640 2350 1940 /* C */ + 2350 2350 2350 2350 2350 /* G */ + 2350 2350 1940 2350 1940 /* T */ +/* GT G ..CG */ + 2820 2020 2820 2020 2820 /* N */ + 2020 2020 2020 2020 2020 /* A */ + 2820 2020 2820 1800 2820 /* C */ + 2020 2020 1800 1800 1800 /* G */ + 2820 2020 2820 1800 2820 /* T */ +/* GT T ..CG */ + 2350 2350 2350 2350 2350 /* N */ + 2350 2350 2350 2350 2350 /* A */ + 2350 2350 2080 2350 2100 /* C */ + 2350 2350 2350 2350 2350 /* G */ + 2350 2350 2100 2350 2100 /* T */ +/* GT N ..GC */ + 2490 2280 2490 2280 2280 /* N */ + 2280 2280 2280 2280 2280 /* A */ + 2490 2280 2490 2280 2280 /* C */ + 2280 2280 2280 2280 2280 /* G */ + 2280 2280 2280 2280 2280 /* T */ +/* GT A ..GC */ + 2280 2150 2280 2130 2280 /* N */ + 2150 2150 2150 2130 2150 /* A */ + 2280 2150 2280 2130 2280 /* C */ + 2130 2130 2130 2130 2130 /* G */ + 2280 2150 2280 2130 2280 /* T */ +/* GT C ..GC */ + 2490 2280 2490 2280 2280 /* N */ + 2280 2280 2280 2280 2280 /* A */ + 2490 2280 2490 2280 1830 /* C */ + 2280 2280 2280 2280 2280 /* G */ + 2280 2280 1830 2280 1830 /* T */ +/* GT G ..GC */ + 2280 2130 2280 1610 2280 /* N */ + 2130 2130 2130 1610 2130 /* A */ + 2280 2130 2280 1610 2280 /* C */ + 1610 1610 1610 1610 1610 /* G */ + 2280 2130 2280 1610 2280 /* T */ +/* GT T ..GC */ + 2280 2280 2280 2280 2280 /* N */ + 2280 2280 2280 2280 2280 /* A */ + 2280 2280 1830 2280 1830 /* C */ + 2280 2280 2280 2280 2280 /* G */ + 2280 2280 1830 2280 1920 /* T */ +/* GT N ..GT */ + 2490 2280 2490 2280 2280 /* N */ + 2280 2280 2280 2280 2280 /* A */ + 2490 2280 2490 2280 2280 /* C */ + 2280 2280 2280 2280 2280 /* G */ + 2280 2280 2280 2280 2280 /* T */ +/* GT A ..GT */ + 2280 2150 2280 2130 2280 /* N */ + 2150 2150 2150 2130 2150 /* A */ + 2280 2150 2280 2130 2280 /* C */ + 2130 2130 2130 2130 2130 /* G */ + 2280 2150 2280 2130 2280 /* T */ +/* GT C ..GT */ + 2490 2280 2490 2280 2280 /* N */ + 2280 2280 2280 2280 2280 /* A */ + 2490 2280 2490 2280 1830 /* C */ + 2280 2280 2280 2280 2280 /* G */ + 2280 2280 1830 2280 1830 /* T */ +/* GT G ..GT */ + 2280 2130 2280 1610 2280 /* N */ + 2130 2130 2130 1610 2130 /* A */ + 2280 2130 2280 1610 2280 /* C */ + 1610 1610 1610 1610 1610 /* G */ + 2280 2130 2280 1610 2280 /* T */ +/* GT T ..GT */ + 2280 2280 2280 2280 2280 /* N */ + 2280 2280 2280 2280 2280 /* A */ + 2280 2280 1830 2280 1830 /* C */ + 2280 2280 2280 2280 2280 /* G */ + 2280 2280 1830 2280 1920 /* T */ +/* GT N ..TG */ + 2820 2350 2820 2350 2820 /* N */ + 2350 2350 2350 2350 2350 /* A */ + 2820 2350 2820 2350 2820 /* C */ + 2350 2350 2350 2350 2350 /* G */ + 2820 2350 2820 2350 2820 /* T */ +/* GT A ..TG */ + 2820 2280 2820 2280 2820 /* N */ + 2280 1830 1830 2280 1830 /* A */ + 2820 1830 2820 2280 2820 /* C */ + 2280 2280 2280 2280 2280 /* G */ + 2820 1830 2820 2280 2820 /* T */ +/* GT C ..TG */ + 2640 2350 2640 2350 2350 /* N */ + 2350 2350 2350 2350 2350 /* A */ + 2640 2350 2640 2350 1940 /* C */ + 2350 2350 2350 2350 2350 /* G */ + 2350 2350 1940 2350 1940 /* T */ +/* GT G ..TG */ + 2820 2020 2820 2020 2820 /* N */ + 2020 2020 2020 2020 2020 /* A */ + 2820 2020 2820 1800 2820 /* C */ + 2020 2020 1800 1800 1800 /* G */ + 2820 2020 2820 1800 2820 /* T */ +/* GT T ..TG */ + 2350 2350 2350 2350 2350 /* N */ + 2350 2350 2350 2350 2350 /* A */ + 2350 2350 2080 2350 2100 /* C */ + 2350 2350 2350 2350 2350 /* G */ + 2350 2350 2100 2350 2100 /* T */ +/* GT N ..AT */ + 3170 2980 3170 2980 3050 /* N */ + 2980 2980 2980 2980 2980 /* A */ + 3170 2980 3170 2980 3050 /* C */ + 2980 2980 2980 2980 2980 /* G */ + 3050 2980 3050 2980 3050 /* T */ +/* GT A ..AT */ + 2890 2890 2340 2340 2340 /* N */ + 2890 2890 2300 2340 2300 /* A */ + 2340 2300 2300 2340 2300 /* C */ + 2340 2340 2340 2340 2340 /* G */ + 2340 2300 2300 2340 2300 /* T */ +/* GT C ..AT */ + 3170 2980 3170 2980 3050 /* N */ + 2980 2980 2980 2980 2980 /* A */ + 3170 2980 3170 2980 3050 /* C */ + 2980 2980 2980 2980 2980 /* G */ + 3050 2980 3050 2980 3050 /* T */ +/* GT G ..AT */ + 2780 2780 2780 1390 2780 /* N */ + 2780 2780 2780 1390 2780 /* A */ + 2780 2780 2300 1390 2300 /* C */ + 1390 1390 1390 1390 1390 /* G */ + 2780 2780 2300 1390 2300 /* T */ +/* GT T ..AT */ + 2980 2980 2020 2980 2020 /* N */ + 2980 2980 2020 2980 1940 /* A */ + 2020 2020 2020 2020 2020 /* C */ + 2980 2980 2020 2980 1940 /* G */ + 1940 1940 1940 1940 1940 /* T */ +/* GT N ..TA */ + 3210 3020 3210 3020 3210 /* N */ + 2580 2580 2580 2580 2580 /* A */ + 3210 2580 3210 3020 3210 /* C */ + 3020 3020 3020 3020 3020 /* G */ + 3210 2580 3210 3020 3210 /* T */ +/* GT A ..TA */ + 3210 3020 3210 3020 3210 /* N */ + 1750 1750 1750 1750 1750 /* A */ + 3210 1750 3210 3020 3210 /* C */ + 3020 3020 3020 3020 3020 /* G */ + 3210 1750 3210 3020 3210 /* T */ +/* GT C ..TA */ + 3180 2310 3180 2310 2310 /* N */ + 2310 2310 2310 2310 2310 /* A */ + 3180 2310 3180 2310 1850 /* C */ + 2310 2310 2310 2310 2310 /* G */ + 2310 2310 1850 2310 1850 /* T */ +/* GT G ..TA */ + 3210 2580 3210 2580 3210 /* N */ + 2580 2580 2580 2580 2580 /* A */ + 3210 2580 3210 2230 3210 /* C */ + 2580 2580 2230 2230 2230 /* G */ + 3210 2580 3210 2230 3210 /* T */ +/* GT T ..TA */ + 2310 2310 2310 2310 890 /* N */ + 2310 2310 2310 2310 890 /* A */ + 2310 2310 2260 2310 890 /* C */ + 2310 2310 2310 2310 890 /* G */ + 890 890 890 890 890 /* T */ +/* GT N ..NN */ + 3210 3020 3210 3020 3210 /* N */ + 2980 2980 2980 2980 2980 /* A */ + 3210 2980 3210 3020 3210 /* C */ + 3020 3020 3020 3020 3020 /* G */ + 3210 2980 3210 3020 3210 /* T */ +/* GT A ..NN */ + 3210 3020 3210 3020 3210 /* N */ + 2890 2890 2300 2340 2300 /* A */ + 3210 2300 3210 3020 3210 /* C */ + 3020 3020 3020 3020 3020 /* G */ + 3210 2300 3210 3020 3210 /* T */ +/* GT C ..NN */ + 3180 2980 3180 2980 3050 /* N */ + 2980 2980 2980 2980 2980 /* A */ + 3180 2980 3180 2980 3050 /* C */ + 2980 2980 2980 2980 2980 /* G */ + 3050 2980 3050 2980 3050 /* T */ +/* GT G ..NN */ + 3210 2780 3210 2580 3210 /* N */ + 2780 2780 2780 2580 2780 /* A */ + 3210 2780 3210 2230 3210 /* C */ + 2580 2580 2230 2230 2230 /* G */ + 3210 2780 3210 2230 3210 /* T */ +/* GT T ..NN */ + 2980 2980 2350 2980 2350 /* N */ + 2980 2980 2350 2980 2350 /* A */ + 2350 2350 2260 2350 2100 /* C */ + 2980 2980 2350 2980 2350 /* G */ + 2350 2350 2100 2350 2100 /* T */ +/* TG N ..CG */ + 2500 2500 2500 2500 2500 /* N */ + 2500 2500 2500 2500 2500 /* A */ + 2500 2500 2400 2500 2400 /* C */ + 2500 2500 2500 2500 2500 /* G */ + 2500 2500 2400 2500 2400 /* T */ +/* TG A ..CG */ + 2500 2500 2500 2500 2500 /* N */ + 2500 2290 2290 2500 2290 /* A */ + 2500 2290 2400 2500 2400 /* C */ + 2500 2500 2500 2500 2500 /* G */ + 2500 2290 2400 2500 2400 /* T */ +/* TG C ..CG */ + 2400 2400 2400 2400 2050 /* N */ + 2400 2400 2400 2400 2050 /* A */ + 2400 2400 2300 2400 2050 /* C */ + 2400 2400 2400 2400 2050 /* G */ + 2050 2050 2050 2050 2050 /* T */ +/* TG G ..CG */ + 2500 2500 2500 2500 2500 /* N */ + 2500 2500 2500 2500 2500 /* A */ + 2500 2500 2400 1900 2400 /* C */ + 2500 2500 1900 1900 1900 /* G */ + 2500 2500 2400 1900 2400 /* T */ +/* TG T ..CG */ + 2400 2400 2050 2400 1620 /* N */ + 2400 2400 2050 2400 1620 /* A */ + 2050 2050 2050 2050 1620 /* C */ + 2400 2400 2050 2400 1620 /* G */ + 1620 1620 1620 1620 1620 /* T */ +/* TG N ..GC */ + 2820 2820 2820 2820 2350 /* N */ + 2820 2820 2820 2820 2350 /* A */ + 2820 2820 2640 2820 2350 /* C */ + 2820 2820 2820 2820 2100 /* G */ + 2350 2350 2350 2100 2350 /* T */ +/* TG A ..GC */ + 2350 2350 2350 2020 2350 /* N */ + 2350 1830 2350 2020 2350 /* A */ + 2350 2350 2350 2020 2350 /* C */ + 2020 2020 2020 2020 2020 /* G */ + 2350 2350 2350 2020 2350 /* T */ +/* TG C ..GC */ + 2820 2820 2820 2820 2080 /* N */ + 2820 2820 2820 2820 2080 /* A */ + 2820 2820 2640 2820 2080 /* C */ + 2820 2820 2820 2820 2080 /* G */ + 2080 2080 2080 2080 2080 /* T */ +/* TG G ..GC */ + 2350 2280 2350 1800 2350 /* N */ + 2280 2280 2280 1800 2280 /* A */ + 2350 2280 2350 1800 2350 /* C */ + 1800 1800 1800 1800 1800 /* G */ + 2350 2280 2350 1800 2350 /* T */ +/* TG T ..GC */ + 2820 2820 2100 2820 2100 /* N */ + 2820 2820 1940 2820 2100 /* A */ + 1940 1940 1940 1940 1940 /* C */ + 2820 2820 1940 2820 2100 /* G */ + 2100 2100 2100 2100 2100 /* T */ +/* TG N ..GT */ + 2820 2820 2820 2820 2350 /* N */ + 2820 2820 2820 2820 2350 /* A */ + 2820 2820 2640 2820 2350 /* C */ + 2820 2820 2820 2820 2100 /* G */ + 2350 2350 2350 2100 2350 /* T */ +/* TG A ..GT */ + 2350 2350 2350 2020 2350 /* N */ + 2350 1830 2350 2020 2350 /* A */ + 2350 2350 2350 2020 2350 /* C */ + 2020 2020 2020 2020 2020 /* G */ + 2350 2350 2350 2020 2350 /* T */ +/* TG C ..GT */ + 2820 2820 2820 2820 2080 /* N */ + 2820 2820 2820 2820 2080 /* A */ + 2820 2820 2640 2820 2080 /* C */ + 2820 2820 2820 2820 2080 /* G */ + 2080 2080 2080 2080 2080 /* T */ +/* TG G ..GT */ + 2350 2280 2350 1800 2350 /* N */ + 2280 2280 2280 1800 2280 /* A */ + 2350 2280 2350 1800 2350 /* C */ + 1800 1800 1800 1800 1800 /* G */ + 2350 2280 2350 1800 2350 /* T */ +/* TG T ..GT */ + 2820 2820 2100 2820 2100 /* N */ + 2820 2820 1940 2820 2100 /* A */ + 1940 1940 1940 1940 1940 /* C */ + 2820 2820 1940 2820 2100 /* G */ + 2100 2100 2100 2100 2100 /* T */ +/* TG N ..TG */ + 2500 2500 2500 2500 2500 /* N */ + 2500 2500 2500 2500 2500 /* A */ + 2500 2500 2400 2500 2400 /* C */ + 2500 2500 2500 2500 2500 /* G */ + 2500 2500 2400 2500 2400 /* T */ +/* TG A ..TG */ + 2500 2500 2500 2500 2500 /* N */ + 2500 2290 2290 2500 2290 /* A */ + 2500 2290 2400 2500 2400 /* C */ + 2500 2500 2500 2500 2500 /* G */ + 2500 2290 2400 2500 2400 /* T */ +/* TG C ..TG */ + 2400 2400 2400 2400 2050 /* N */ + 2400 2400 2400 2400 2050 /* A */ + 2400 2400 2300 2400 2050 /* C */ + 2400 2400 2400 2400 2050 /* G */ + 2050 2050 2050 2050 2050 /* T */ +/* TG G ..TG */ + 2500 2500 2500 2500 2500 /* N */ + 2500 2500 2500 2500 2500 /* A */ + 2500 2500 2400 1900 2400 /* C */ + 2500 2500 1900 1900 1900 /* G */ + 2500 2500 2400 1900 2400 /* T */ +/* TG T ..TG */ + 2400 2400 2050 2400 1620 /* N */ + 2400 2400 2050 2400 1620 /* A */ + 2050 2050 2050 2050 1620 /* C */ + 2400 2400 2050 2400 1620 /* G */ + 1620 1620 1620 1620 1620 /* T */ +/* TG N ..AT */ + 2420 2420 2420 2280 2420 /* N */ + 2420 2390 2420 2280 2420 /* A */ + 2420 2420 2420 2280 2420 /* C */ + 2280 2280 2280 2280 1670 /* G */ + 2420 2420 2420 1670 2420 /* T */ +/* TG A ..AT */ + 2420 2420 2420 1670 2420 /* N */ + 2420 2390 2420 1670 2420 /* A */ + 2420 2420 2420 1670 2420 /* C */ + 1670 1670 1670 1670 1670 /* G */ + 2420 2420 2420 1670 2420 /* T */ +/* TG C ..AT */ + 2280 2280 2280 2280 660 /* N */ + 2280 2280 2280 2280 660 /* A */ + 2280 2280 2150 2280 660 /* C */ + 2280 2280 2280 2280 660 /* G */ + 660 660 660 660 660 /* T */ +/* TG G ..AT */ + 2420 1260 2420 900 2420 /* N */ + 1260 1260 1260 900 1260 /* A */ + 2420 1260 2420 900 2420 /* C */ + 900 900 900 900 900 /* G */ + 2420 1260 2420 900 2420 /* T */ +/* TG T ..AT */ + 2280 2280 1400 2280 1140 /* N */ + 2280 2280 1400 2280 1140 /* A */ + 1400 1400 1400 1400 1140 /* C */ + 2280 2280 1400 2280 1140 /* G */ + 1140 1140 1140 1140 1140 /* T */ +/* TG N ..TA */ + 3210 3020 3210 3020 3210 /* N */ + 3020 2890 2890 3020 2890 /* A */ + 3210 2890 3210 3020 3210 /* C */ + 3020 3020 3020 3020 3020 /* G */ + 3210 2890 3210 3020 3210 /* T */ +/* TG A ..TA */ + 3210 3020 3210 3020 3210 /* N */ + 3020 2890 2890 3020 2890 /* A */ + 3210 2890 3210 3020 3210 /* C */ + 3020 3020 3020 3020 3020 /* G */ + 3210 2890 3210 3020 3210 /* T */ +/* TG C ..TA */ + 2850 2850 2850 2850 1900 /* N */ + 2850 2850 2850 2850 1900 /* A */ + 2850 2850 2480 2850 1900 /* C */ + 2850 2850 2850 2850 1900 /* G */ + 1900 1900 1900 1900 1900 /* T */ +/* TG G ..TA */ + 3210 2580 3210 1780 3210 /* N */ + 2580 2580 2580 1780 2580 /* A */ + 3210 2580 3210 1780 3210 /* C */ + 1780 1780 1780 1780 1780 /* G */ + 3210 2580 3210 1780 3210 /* T */ +/* TG T ..TA */ + 2850 2850 2190 2850 1960 /* N */ + 2850 2850 2190 2850 1960 /* A */ + 2190 2190 2190 2190 1960 /* C */ + 2850 2850 2190 2850 1960 /* G */ + 1960 1960 1960 1960 1960 /* T */ +/* TG N ..NN */ + 3210 3020 3210 3020 3210 /* N */ + 3020 2890 2890 3020 2890 /* A */ + 3210 2890 3210 3020 3210 /* C */ + 3020 3020 3020 3020 3020 /* G */ + 3210 2890 3210 3020 3210 /* T */ +/* TG A ..NN */ + 3210 3020 3210 3020 3210 /* N */ + 3020 2890 2890 3020 2890 /* A */ + 3210 2890 3210 3020 3210 /* C */ + 3020 3020 3020 3020 3020 /* G */ + 3210 2890 3210 3020 3210 /* T */ +/* TG C ..NN */ + 2850 2850 2850 2850 2080 /* N */ + 2850 2850 2850 2850 2080 /* A */ + 2850 2850 2640 2850 2080 /* C */ + 2850 2850 2850 2850 2080 /* G */ + 2080 2080 2080 2080 2080 /* T */ +/* TG G ..NN */ + 3210 2580 3210 2500 3210 /* N */ + 2580 2580 2580 2500 2580 /* A */ + 3210 2580 3210 1900 3210 /* C */ + 2500 2500 1900 1900 1900 /* G */ + 3210 2580 3210 1900 3210 /* T */ +/* TG T ..NN */ + 2850 2850 2190 2850 2100 /* N */ + 2850 2850 2190 2850 2100 /* A */ + 2190 2190 2190 2190 1960 /* C */ + 2850 2850 2190 2850 2100 /* G */ + 2100 2100 2100 2100 2100 /* T */ +/* AT N ..CG */ + 2420 2420 2420 2420 2390 /* N */ + 2420 2420 2420 2420 2390 /* A */ + 2420 2420 2280 2420 2280 /* C */ + 2420 2420 2420 2420 1400 /* G */ + 2280 2280 2280 1400 2280 /* T */ +/* AT A ..CG */ + 2390 2390 2390 1260 2390 /* N */ + 2390 2390 2390 1260 2390 /* A */ + 2280 2280 2280 1260 2280 /* C */ + 1260 1260 1260 1260 1260 /* G */ + 2280 2280 2280 1260 2280 /* T */ +/* AT C ..CG */ + 2420 2420 2420 2420 1400 /* N */ + 2420 2420 2420 2420 1400 /* A */ + 2420 2420 2150 2420 1400 /* C */ + 2420 2420 2420 2420 1400 /* G */ + 1400 1400 1400 1400 1400 /* T */ +/* AT G ..CG */ + 2280 1670 2280 1670 2280 /* N */ + 1670 1670 1670 1670 1670 /* A */ + 2280 1670 2280 900 2280 /* C */ + 1670 1670 900 900 900 /* G */ + 2280 1670 2280 900 2280 /* T */ +/* AT T ..CG */ + 2420 2420 660 2420 1140 /* N */ + 2420 2420 660 2420 1140 /* A */ + 660 660 660 660 660 /* C */ + 2420 2420 660 2420 1140 /* G */ + 1140 1140 660 1140 1140 /* T */ +/* AT N ..GC */ + 3170 2980 3170 2780 2980 /* N */ + 2980 2890 2980 2780 2980 /* A */ + 3170 2980 3170 2780 2980 /* C */ + 2780 2780 2780 2780 2780 /* G */ + 2980 2980 2980 2780 2980 /* T */ +/* AT A ..GC */ + 2980 2980 2980 2780 2980 /* N */ + 2980 2890 2980 2780 2980 /* A */ + 2980 2980 2980 2780 2980 /* C */ + 2780 2780 2780 2780 2780 /* G */ + 2980 2980 2980 2780 2980 /* T */ +/* AT C ..GC */ + 3170 2300 3170 2300 2020 /* N */ + 2300 2300 2300 2300 2020 /* A */ + 3170 2300 3170 2300 2020 /* C */ + 2300 2300 2300 2300 2020 /* G */ + 2020 2020 2020 2020 2020 /* T */ +/* AT G ..GC */ + 2980 2340 2980 1390 2980 /* N */ + 2340 2340 2340 1390 2340 /* A */ + 2980 2340 2980 1390 2980 /* C */ + 1390 1390 1390 1390 1390 /* G */ + 2980 2340 2980 1390 2980 /* T */ +/* AT T ..GC */ + 3050 2300 3050 2300 1940 /* N */ + 2300 2300 2300 2300 1940 /* A */ + 3050 2300 3050 2300 1940 /* C */ + 2300 2300 2300 2300 1940 /* G */ + 1940 1940 1940 1940 1940 /* T */ +/* AT N ..GT */ + 3170 2980 3170 2780 2980 /* N */ + 2980 2890 2980 2780 2980 /* A */ + 3170 2980 3170 2780 2980 /* C */ + 2780 2780 2780 2780 2780 /* G */ + 2980 2980 2980 2780 2980 /* T */ +/* AT A ..GT */ + 2980 2980 2980 2780 2980 /* N */ + 2980 2890 2980 2780 2980 /* A */ + 2980 2980 2980 2780 2980 /* C */ + 2780 2780 2780 2780 2780 /* G */ + 2980 2980 2980 2780 2980 /* T */ +/* AT C ..GT */ + 3170 2300 3170 2300 2020 /* N */ + 2300 2300 2300 2300 2020 /* A */ + 3170 2300 3170 2300 2020 /* C */ + 2300 2300 2300 2300 2020 /* G */ + 2020 2020 2020 2020 2020 /* T */ +/* AT G ..GT */ + 2980 2340 2980 1390 2980 /* N */ + 2340 2340 2340 1390 2340 /* A */ + 2980 2340 2980 1390 2980 /* C */ + 1390 1390 1390 1390 1390 /* G */ + 2980 2340 2980 1390 2980 /* T */ +/* AT T ..GT */ + 3050 2300 3050 2300 1940 /* N */ + 2300 2300 2300 2300 1940 /* A */ + 3050 2300 3050 2300 1940 /* C */ + 2300 2300 2300 2300 1940 /* G */ + 1940 1940 1940 1940 1940 /* T */ +/* AT N ..TG */ + 2420 2420 2420 2420 2390 /* N */ + 2420 2420 2420 2420 2390 /* A */ + 2420 2420 2280 2420 2280 /* C */ + 2420 2420 2420 2420 1400 /* G */ + 2280 2280 2280 1400 2280 /* T */ +/* AT A ..TG */ + 2390 2390 2390 1260 2390 /* N */ + 2390 2390 2390 1260 2390 /* A */ + 2280 2280 2280 1260 2280 /* C */ + 1260 1260 1260 1260 1260 /* G */ + 2280 2280 2280 1260 2280 /* T */ +/* AT C ..TG */ + 2420 2420 2420 2420 1400 /* N */ + 2420 2420 2420 2420 1400 /* A */ + 2420 2420 2150 2420 1400 /* C */ + 2420 2420 2420 2420 1400 /* G */ + 1400 1400 1400 1400 1400 /* T */ +/* AT G ..TG */ + 2280 1670 2280 1670 2280 /* N */ + 1670 1670 1670 1670 1670 /* A */ + 2280 1670 2280 900 2280 /* C */ + 1670 1670 900 900 900 /* G */ + 2280 1670 2280 900 2280 /* T */ +/* AT T ..TG */ + 2420 2420 660 2420 1140 /* N */ + 2420 2420 660 2420 1140 /* A */ + 660 660 660 660 660 /* C */ + 2420 2420 660 2420 1140 /* G */ + 1140 1140 660 1140 1140 /* T */ +/* AT N ..AT */ + 2870 2870 2870 2870 2870 /* N */ + 2870 2870 2870 2870 2870 /* A */ + 2870 2870 2870 2870 2870 /* C */ + 2870 2870 2870 2870 2870 /* G */ + 2870 2870 2870 2870 2870 /* T */ +/* AT A ..AT */ + 2870 2870 2870 2600 2870 /* N */ + 2870 2380 2870 2600 2380 /* A */ + 2870 2870 2870 2600 2870 /* C */ + 2600 2600 2600 2600 2600 /* G */ + 2870 2870 2870 2600 2870 /* T */ +/* AT C ..AT */ + 2870 2870 2870 2870 2320 /* N */ + 2870 2870 2870 2870 2320 /* A */ + 2870 2870 2640 2870 2320 /* C */ + 2870 2870 2870 2870 2320 /* G */ + 2320 2320 2320 2320 2320 /* T */ +/* AT G ..AT */ + 2870 2600 2870 2600 2870 /* N */ + 2600 2600 2600 2600 2600 /* A */ + 2870 2600 2870 2300 2870 /* C */ + 2600 2600 2300 2300 2300 /* G */ + 2870 2600 2870 2300 2870 /* T */ +/* AT T ..AT */ + 2870 2870 2320 2870 2870 /* N */ + 2870 2870 2320 2870 2870 /* A */ + 2320 2320 2320 2320 2320 /* C */ + 2870 2870 2320 2870 2870 /* G */ + 2870 2870 2320 2870 2460 /* T */ +/* AT N ..TA */ + 3360 3180 3360 2960 3180 /* N */ + 3180 3180 3180 2960 3180 /* A */ + 3360 3180 3360 2960 2040 /* C */ + 2960 2960 2960 2960 2960 /* G */ + 3180 3180 2040 2960 2040 /* T */ +/* AT A ..TA */ + 3180 3180 3180 2960 3180 /* N */ + 3180 3180 3180 2960 3180 /* A */ + 3180 3180 2040 2960 2040 /* C */ + 2960 2960 2960 2960 2960 /* G */ + 3180 3180 2040 2960 2040 /* T */ +/* AT C ..TA */ + 3360 2930 3360 2930 2930 /* N */ + 2930 2930 2930 2930 2930 /* A */ + 3360 2930 3360 2930 1730 /* C */ + 2930 2930 2930 2930 2930 /* G */ + 1730 1730 1730 1730 1730 /* T */ +/* AT G ..TA */ + 2070 2070 2070 2070 2070 /* N */ + 2070 2070 2070 2070 2070 /* A */ + 2070 2070 2040 2050 2040 /* C */ + 2070 2070 2050 2050 2050 /* G */ + 2070 2070 2040 2050 2040 /* T */ +/* AT T ..TA */ + 2930 2930 2930 2930 1410 /* N */ + 2930 2930 2930 2930 1410 /* A */ + 2930 2930 2240 2930 1410 /* C */ + 2930 2930 2930 2930 1410 /* G */ + 1410 1410 1410 1410 1410 /* T */ +/* AT N ..NN */ + 3360 3180 3360 2960 3180 /* N */ + 3180 3180 3180 2960 3180 /* A */ + 3360 3180 3360 2960 2980 /* C */ + 2960 2960 2960 2960 2960 /* G */ + 3180 3180 2980 2960 2980 /* T */ +/* AT A ..NN */ + 3180 3180 3180 2960 3180 /* N */ + 3180 3180 3180 2960 3180 /* A */ + 3180 3180 2980 2960 2980 /* C */ + 2960 2960 2960 2960 2960 /* G */ + 3180 3180 2980 2960 2980 /* T */ +/* AT C ..NN */ + 3360 2930 3360 2930 2930 /* N */ + 2930 2930 2930 2930 2930 /* A */ + 3360 2930 3360 2930 2320 /* C */ + 2930 2930 2930 2930 2930 /* G */ + 2320 2320 2320 2320 2320 /* T */ +/* AT G ..NN */ + 2980 2600 2980 2600 2980 /* N */ + 2600 2600 2600 2600 2600 /* A */ + 2980 2600 2980 2300 2980 /* C */ + 2600 2600 2300 2300 2300 /* G */ + 2980 2600 2980 2300 2980 /* T */ +/* AT T ..NN */ + 3050 2930 3050 2930 2870 /* N */ + 2930 2930 2930 2930 2870 /* A */ + 3050 2930 3050 2930 2320 /* C */ + 2930 2930 2930 2930 2870 /* G */ + 2870 2870 2320 2870 2460 /* T */ +/* TA N ..CG */ + 3210 3210 3210 3210 3020 /* N */ + 3210 3210 3210 3210 3020 /* A */ + 3210 3210 2850 3210 2850 /* C */ + 3210 3210 3210 3210 2580 /* G */ + 3020 3020 2850 2580 2850 /* T */ +/* TA A ..CG */ + 2890 2890 2890 2580 2890 /* N */ + 2890 2890 2890 2580 2890 /* A */ + 2850 2850 2850 2580 2850 /* C */ + 2580 2580 2580 2580 2580 /* G */ + 2850 2850 2850 2580 2850 /* T */ +/* TA C ..CG */ + 3210 3210 3210 3210 2190 /* N */ + 3210 3210 3210 3210 2190 /* A */ + 3210 3210 2480 3210 2190 /* C */ + 3210 3210 3210 3210 2190 /* G */ + 2190 2190 2190 2190 2190 /* T */ +/* TA G ..CG */ + 3020 3020 3020 1780 3020 /* N */ + 3020 3020 3020 1780 3020 /* A */ + 3020 3020 2850 1780 2850 /* C */ + 1780 1780 1780 1780 1780 /* G */ + 3020 3020 2850 1780 2850 /* T */ +/* TA T ..CG */ + 3210 3210 1960 3210 1960 /* N */ + 3210 3210 1900 3210 1960 /* A */ + 1960 1900 1900 1900 1960 /* C */ + 3210 3210 1900 3210 1960 /* G */ + 1960 1960 1960 1960 1960 /* T */ +/* TA N ..GC */ + 3210 3210 3210 3210 3210 /* N */ + 3210 3210 3210 3210 3210 /* A */ + 3210 3210 3180 3210 3180 /* C */ + 3210 3210 3210 3210 3210 /* G */ + 3210 3210 2310 3210 2310 /* T */ +/* TA A ..GC */ + 2580 2580 2580 2580 2580 /* N */ + 2580 1750 1750 2580 1750 /* A */ + 2580 1750 2310 2580 2310 /* C */ + 2580 2580 2580 2580 2580 /* G */ + 2580 1750 2310 2580 2310 /* T */ +/* TA C ..GC */ + 3210 3210 3210 3210 3210 /* N */ + 3210 3210 3210 3210 3210 /* A */ + 3210 3210 3180 3210 3180 /* C */ + 3210 3210 3210 3210 3210 /* G */ + 3210 3210 2260 3210 2260 /* T */ +/* TA G ..GC */ + 3020 3020 3020 2230 3020 /* N */ + 3020 3020 3020 2230 3020 /* A */ + 3020 3020 2310 2230 2310 /* C */ + 2230 2230 2230 2230 2230 /* G */ + 3020 3020 2310 2230 2310 /* T */ +/* TA T ..GC */ + 3210 3210 1850 3210 890 /* N */ + 3210 3210 1850 3210 890 /* A */ + 1850 1850 1850 1850 890 /* C */ + 3210 3210 1850 3210 890 /* G */ + 890 890 890 890 890 /* T */ +/* TA N ..GT */ + 3210 3210 3210 3210 3210 /* N */ + 3210 3210 3210 3210 3210 /* A */ + 3210 3210 3180 3210 3180 /* C */ + 3210 3210 3210 3210 3210 /* G */ + 3210 3210 2310 3210 2310 /* T */ +/* TA A ..GT */ + 2580 2580 2580 2580 2580 /* N */ + 2580 1750 1750 2580 1750 /* A */ + 2580 1750 2310 2580 2310 /* C */ + 2580 2580 2580 2580 2580 /* G */ + 2580 1750 2310 2580 2310 /* T */ +/* TA C ..GT */ + 3210 3210 3210 3210 3210 /* N */ + 3210 3210 3210 3210 3210 /* A */ + 3210 3210 3180 3210 3180 /* C */ + 3210 3210 3210 3210 3210 /* G */ + 3210 3210 2260 3210 2260 /* T */ +/* TA G ..GT */ + 3020 3020 3020 2230 3020 /* N */ + 3020 3020 3020 2230 3020 /* A */ + 3020 3020 2310 2230 2310 /* C */ + 2230 2230 2230 2230 2230 /* G */ + 3020 3020 2310 2230 2310 /* T */ +/* TA T ..GT */ + 3210 3210 1850 3210 890 /* N */ + 3210 3210 1850 3210 890 /* A */ + 1850 1850 1850 1850 890 /* C */ + 3210 3210 1850 3210 890 /* G */ + 890 890 890 890 890 /* T */ +/* TA N ..TG */ + 3210 3210 3210 3210 3020 /* N */ + 3210 3210 3210 3210 3020 /* A */ + 3210 3210 2850 3210 2850 /* C */ + 3210 3210 3210 3210 2580 /* G */ + 3020 3020 2850 2580 2850 /* T */ +/* TA A ..TG */ + 2890 2890 2890 2580 2890 /* N */ + 2890 2890 2890 2580 2890 /* A */ + 2850 2850 2850 2580 2850 /* C */ + 2580 2580 2580 2580 2580 /* G */ + 2850 2850 2850 2580 2850 /* T */ +/* TA C ..TG */ + 3210 3210 3210 3210 2190 /* N */ + 3210 3210 3210 3210 2190 /* A */ + 3210 3210 2480 3210 2190 /* C */ + 3210 3210 3210 3210 2190 /* G */ + 2190 2190 2190 2190 2190 /* T */ +/* TA G ..TG */ + 3020 3020 3020 1780 3020 /* N */ + 3020 3020 3020 1780 3020 /* A */ + 3020 3020 2850 1780 2850 /* C */ + 1780 1780 1780 1780 1780 /* G */ + 3020 3020 2850 1780 2850 /* T */ +/* TA T ..TG */ + 3210 3210 1960 3210 1960 /* N */ + 3210 3210 1900 3210 1960 /* A */ + 1960 1900 1900 1900 1960 /* C */ + 3210 3210 1900 3210 1960 /* G */ + 1960 1960 1960 1960 1960 /* T */ +/* TA N ..AT */ + 3360 3180 3360 2240 2960 /* N */ + 3180 3180 2960 2070 2960 /* A */ + 3360 2960 3360 2070 2930 /* C */ + 2240 2070 2070 2070 2240 /* G */ + 2960 2960 2930 2240 2930 /* T */ +/* TA A ..AT */ + 3180 3180 2930 2070 2930 /* N */ + 3180 3180 2930 2070 2930 /* A */ + 2930 2930 2930 2070 2930 /* C */ + 2070 2070 2070 2070 2070 /* G */ + 2930 2930 2930 2070 2930 /* T */ +/* TA C ..AT */ + 3360 2240 3360 2240 2240 /* N */ + 2240 2040 2040 2040 2240 /* A */ + 3360 2040 3360 2040 2240 /* C */ + 2240 2040 2040 2040 2240 /* G */ + 2240 2240 2240 2240 2240 /* T */ +/* TA G ..AT */ + 2960 2960 2960 2050 2960 /* N */ + 2960 2960 2960 2050 2960 /* A */ + 2960 2960 2930 2050 2930 /* C */ + 2050 2050 2050 2050 2050 /* G */ + 2960 2960 2930 2050 2930 /* T */ +/* TA T ..AT */ + 2040 2040 1730 2040 1410 /* N */ + 2040 2040 1730 2040 1410 /* A */ + 1730 1730 1730 1730 1410 /* C */ + 2040 2040 1730 2040 1410 /* G */ + 1410 1410 1410 1410 1410 /* T */ +/* TA N ..TA */ + 3630 3320 3630 3320 3320 /* N */ + 3320 3320 3320 3320 3100 /* A */ + 3630 3320 3630 3320 3320 /* C */ + 3320 3320 3320 3320 3080 /* G */ + 3320 3100 3320 3080 3320 /* T */ +/* TA A ..TA */ + 3320 3100 3320 3080 3320 /* N */ + 3100 3100 3100 3080 3100 /* A */ + 3320 3100 3320 3080 3320 /* C */ + 3080 3080 3080 3080 3080 /* G */ + 3320 3100 3320 3080 3320 /* T */ +/* TA C ..TA */ + 3630 3320 3630 3320 2140 /* N */ + 3320 3320 3320 3320 2140 /* A */ + 3630 3320 3630 3320 2140 /* C */ + 3320 3320 3320 3320 2140 /* G */ + 2140 2140 2140 2140 2140 /* T */ +/* TA G ..TA */ + 3320 3080 3320 3080 3320 /* N */ + 3080 3080 3080 3080 3080 /* A */ + 3320 3080 3320 2730 3320 /* C */ + 3080 3080 2730 2730 2730 /* G */ + 3320 3080 3320 2730 3320 /* T */ +/* TA T ..TA */ + 3320 3320 2140 3320 2510 /* N */ + 3320 3320 2140 3320 2510 /* A */ + 2140 2140 2140 2140 2140 /* C */ + 3320 3320 2140 3320 2510 /* G */ + 2510 2510 2140 2510 2510 /* T */ +/* TA N ..NN */ + 3630 3320 3630 3320 3320 /* N */ + 3320 3320 3320 3320 3210 /* A */ + 3630 3320 3630 3320 3320 /* C */ + 3320 3320 3320 3320 3210 /* G */ + 3320 3210 3320 3210 3320 /* T */ +/* TA A ..NN */ + 3320 3180 3320 3080 3320 /* N */ + 3180 3180 3100 3080 3100 /* A */ + 3320 3100 3320 3080 3320 /* C */ + 3080 3080 3080 3080 3080 /* G */ + 3320 3100 3320 3080 3320 /* T */ +/* TA C ..NN */ + 3630 3320 3630 3320 3210 /* N */ + 3320 3320 3320 3320 3210 /* A */ + 3630 3320 3630 3320 3180 /* C */ + 3320 3320 3320 3320 3210 /* G */ + 3210 3210 2260 3210 2260 /* T */ +/* TA G ..NN */ + 3320 3080 3320 3080 3320 /* N */ + 3080 3080 3080 3080 3080 /* A */ + 3320 3080 3320 2730 3320 /* C */ + 3080 3080 2730 2730 2730 /* G */ + 3320 3080 3320 2730 3320 /* T */ +/* TA T ..NN */ + 3320 3320 2140 3320 2510 /* N */ + 3320 3320 2140 3320 2510 /* A */ + 2140 2140 2140 2140 2140 /* C */ + 3320 3320 2140 3320 2510 /* G */ + 2510 2510 2140 2510 2510 /* T */ +/* NN N ..CG */ + 3210 3210 3210 3210 3020 /* N */ + 3210 3210 3210 3210 3020 /* A */ + 3210 3210 2850 3210 2850 /* C */ + 3210 3210 3210 3210 2580 /* G */ + 3020 3020 2850 2580 2850 /* T */ +/* NN A ..CG */ + 2890 2890 2890 2580 2890 /* N */ + 2890 2890 2890 2580 2890 /* A */ + 2850 2850 2850 2580 2850 /* C */ + 2580 2580 2580 2580 2580 /* G */ + 2850 2850 2850 2580 2850 /* T */ +/* NN C ..CG */ + 3210 3210 3210 3210 2350 /* N */ + 3210 3210 3210 3210 2350 /* A */ + 3210 3210 2640 3210 2190 /* C */ + 3210 3210 3210 3210 2350 /* G */ + 2350 2350 2190 2350 2190 /* T */ +/* NN G ..CG */ + 3020 3020 3020 2500 3020 /* N */ + 3020 3020 3020 2500 3020 /* A */ + 3020 3020 2850 1900 2850 /* C */ + 2500 2500 1900 1900 1900 /* G */ + 3020 3020 2850 1900 2850 /* T */ +/* NN T ..CG */ + 3210 3210 2350 3210 2350 /* N */ + 3210 3210 2350 3210 2350 /* A */ + 2350 2350 2080 2350 2100 /* C */ + 3210 3210 2350 3210 2350 /* G */ + 2350 2350 2100 2350 2100 /* T */ +/* NN N ..GC */ + 3210 3210 3210 3210 3210 /* N */ + 3210 3210 3210 3210 3210 /* A */ + 3210 3210 3180 3210 3180 /* C */ + 3210 3210 3210 3210 3210 /* G */ + 3210 3210 2980 3210 2980 /* T */ +/* NN A ..GC */ + 2980 2980 2980 2780 2980 /* N */ + 2980 2890 2980 2780 2980 /* A */ + 2980 2980 2980 2780 2980 /* C */ + 2780 2780 2780 2780 2780 /* G */ + 2980 2980 2980 2780 2980 /* T */ +/* NN C ..GC */ + 3210 3210 3210 3210 3210 /* N */ + 3210 3210 3210 3210 3210 /* A */ + 3210 3210 3180 3210 3180 /* C */ + 3210 3210 3210 3210 3210 /* G */ + 3210 3210 2260 3210 2260 /* T */ +/* NN G ..GC */ + 3020 3020 3020 2230 3020 /* N */ + 3020 3020 3020 2230 3020 /* A */ + 3020 3020 2980 2230 2980 /* C */ + 2230 2230 2230 2230 2230 /* G */ + 3020 3020 2980 2230 2980 /* T */ +/* NN T ..GC */ + 3210 3210 3050 3210 2280 /* N */ + 3210 3210 2300 3210 2280 /* A */ + 3050 2300 3050 2300 1940 /* C */ + 3210 3210 2300 3210 2280 /* G */ + 2280 2280 2100 2280 2100 /* T */ +/* NN N ..GT */ + 3210 3210 3210 3210 3210 /* N */ + 3210 3210 3210 3210 3210 /* A */ + 3210 3210 3180 3210 3180 /* C */ + 3210 3210 3210 3210 3210 /* G */ + 3210 3210 2980 3210 2980 /* T */ +/* NN A ..GT */ + 2980 2980 2980 2780 2980 /* N */ + 2980 2890 2980 2780 2980 /* A */ + 2980 2980 2980 2780 2980 /* C */ + 2780 2780 2780 2780 2780 /* G */ + 2980 2980 2980 2780 2980 /* T */ +/* NN C ..GT */ + 3210 3210 3210 3210 3210 /* N */ + 3210 3210 3210 3210 3210 /* A */ + 3210 3210 3180 3210 3180 /* C */ + 3210 3210 3210 3210 3210 /* G */ + 3210 3210 2260 3210 2260 /* T */ +/* NN G ..GT */ + 3020 3020 3020 2230 3020 /* N */ + 3020 3020 3020 2230 3020 /* A */ + 3020 3020 2980 2230 2980 /* C */ + 2230 2230 2230 2230 2230 /* G */ + 3020 3020 2980 2230 2980 /* T */ +/* NN T ..GT */ + 3210 3210 3050 3210 2280 /* N */ + 3210 3210 2300 3210 2280 /* A */ + 3050 2300 3050 2300 1940 /* C */ + 3210 3210 2300 3210 2280 /* G */ + 2280 2280 2100 2280 2100 /* T */ +/* NN N ..TG */ + 3210 3210 3210 3210 3020 /* N */ + 3210 3210 3210 3210 3020 /* A */ + 3210 3210 2850 3210 2850 /* C */ + 3210 3210 3210 3210 2580 /* G */ + 3020 3020 2850 2580 2850 /* T */ +/* NN A ..TG */ + 2890 2890 2890 2580 2890 /* N */ + 2890 2890 2890 2580 2890 /* A */ + 2850 2850 2850 2580 2850 /* C */ + 2580 2580 2580 2580 2580 /* G */ + 2850 2850 2850 2580 2850 /* T */ +/* NN C ..TG */ + 3210 3210 3210 3210 2350 /* N */ + 3210 3210 3210 3210 2350 /* A */ + 3210 3210 2640 3210 2190 /* C */ + 3210 3210 3210 3210 2350 /* G */ + 2350 2350 2190 2350 2190 /* T */ +/* NN G ..TG */ + 3020 3020 3020 2500 3020 /* N */ + 3020 3020 3020 2500 3020 /* A */ + 3020 3020 2850 1900 2850 /* C */ + 2500 2500 1900 1900 1900 /* G */ + 3020 3020 2850 1900 2850 /* T */ +/* NN T ..TG */ + 3210 3210 2350 3210 2350 /* N */ + 3210 3210 2350 3210 2350 /* A */ + 2350 2350 2080 2350 2100 /* C */ + 3210 3210 2350 3210 2350 /* G */ + 2350 2350 2100 2350 2100 /* T */ +/* NN N ..AT */ + 3360 3180 3360 2980 3050 /* N */ + 3180 3180 2980 2980 2980 /* A */ + 3360 2980 3360 2980 3050 /* C */ + 2980 2980 2980 2980 2980 /* G */ + 3050 2980 3050 2980 3050 /* T */ +/* NN A ..AT */ + 3180 3180 2930 2600 2930 /* N */ + 3180 3180 2930 2600 2930 /* A */ + 2930 2930 2930 2600 2930 /* C */ + 2600 2600 2600 2600 2600 /* G */ + 2930 2930 2930 2600 2930 /* T */ +/* NN C ..AT */ + 3360 2980 3360 2980 3050 /* N */ + 2980 2980 2980 2980 2980 /* A */ + 3360 2980 3360 2980 3050 /* C */ + 2980 2980 2980 2980 2980 /* G */ + 3050 2980 3050 2980 3050 /* T */ +/* NN G ..AT */ + 2960 2960 2960 2600 2960 /* N */ + 2960 2960 2960 2600 2960 /* A */ + 2960 2960 2930 2300 2930 /* C */ + 2600 2600 2300 2300 2300 /* G */ + 2960 2960 2930 2300 2930 /* T */ +/* NN T ..AT */ + 2980 2980 2320 2980 2870 /* N */ + 2980 2980 2320 2980 2870 /* A */ + 2320 2320 2320 2320 2320 /* C */ + 2980 2980 2320 2980 2870 /* G */ + 2870 2870 2320 2870 2460 /* T */ +/* NN N ..TA */ + 3630 3320 3630 3320 3320 /* N */ + 3320 3320 3320 3320 3180 /* A */ + 3630 3320 3630 3320 3320 /* C */ + 3320 3320 3320 3320 3080 /* G */ + 3320 3180 3320 3080 3320 /* T */ +/* NN A ..TA */ + 3320 3180 3320 3080 3320 /* N */ + 3180 3180 3180 3080 3180 /* A */ + 3320 3180 3320 3080 3320 /* C */ + 3080 3080 3080 3080 3080 /* G */ + 3320 3180 3320 3080 3320 /* T */ +/* NN C ..TA */ + 3630 3320 3630 3320 2930 /* N */ + 3320 3320 3320 3320 2930 /* A */ + 3630 3320 3630 3320 2140 /* C */ + 3320 3320 3320 3320 2930 /* G */ + 2310 2310 2140 2310 2140 /* T */ +/* NN G ..TA */ + 3320 3080 3320 3080 3320 /* N */ + 3080 3080 3080 3080 3080 /* A */ + 3320 3080 3320 2730 3320 /* C */ + 3080 3080 2730 2730 2730 /* G */ + 3320 3080 3320 2730 3320 /* T */ +/* NN T ..TA */ + 3320 3320 2930 3320 2510 /* N */ + 3320 3320 2930 3320 2510 /* A */ + 2930 2930 2260 2930 2140 /* C */ + 3320 3320 2930 3320 2510 /* G */ + 2510 2510 2140 2510 2510 /* T */ +/* NN N ..NN */ + 3630 3320 3630 3320 3320 /* N */ + 3320 3320 3320 3320 3210 /* A */ + 3630 3320 3630 3320 3320 /* C */ + 3320 3320 3320 3320 3210 /* G */ + 3320 3210 3320 3210 3320 /* T */ +/* NN A ..NN */ + 3320 3180 3320 3080 3320 /* N */ + 3180 3180 3180 3080 3180 /* A */ + 3320 3180 3320 3080 3320 /* C */ + 3080 3080 3080 3080 3080 /* G */ + 3320 3180 3320 3080 3320 /* T */ +/* NN C ..NN */ + 3630 3320 3630 3320 3210 /* N */ + 3320 3320 3320 3320 3210 /* A */ + 3630 3320 3630 3320 3180 /* C */ + 3320 3320 3320 3320 3210 /* G */ + 3210 3210 3050 3210 3050 /* T */ +/* NN G ..NN */ + 3320 3080 3320 3080 3320 /* N */ + 3080 3080 3080 3080 3080 /* A */ + 3320 3080 3320 2730 3320 /* C */ + 3080 3080 2730 2730 2730 /* G */ + 3320 3080 3320 2730 3320 /* T */ +/* NN T ..NN */ + 3320 3320 3050 3320 2870 /* N */ + 3320 3320 2930 3320 2870 /* A */ + 3050 2930 3050 2930 2320 /* C */ + 3320 3320 2930 3320 2870 /* G */ + 2870 2870 2320 2870 2510 /* T */ + +# int22_energies +/* CG A A ..CG */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG A C ..CG */ + 150 170 150 150 /* A */ + 150 170 150 150 /* C */ + 150 170 150 150 /* G */ + 150 170 150 150 /* T */ +/* CG A G ..CG */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG A T ..CG */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG C A ..CG */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG C C ..CG */ + 150 170 150 150 /* A */ + 150 170 150 150 /* C */ + 150 170 150 150 /* G */ + 150 170 150 150 /* T */ +/* CG C G ..CG */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG C T ..CG */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG G A ..CG */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG G C ..CG */ + 150 170 150 150 /* A */ + 150 170 150 150 /* C */ + 150 170 150 150 /* G */ + 150 170 150 150 /* T */ +/* CG G G ..CG */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG G T ..CG */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG T A ..CG */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG T C ..CG */ + 150 170 150 150 /* A */ + 150 170 150 150 /* C */ + 150 170 150 150 /* G */ + 150 170 150 150 /* T */ +/* CG T G ..CG */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG T T ..CG */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG A A ..GC */ + 90 110 90 90 /* A */ + 90 110 90 90 /* C */ + 90 110 90 90 /* G */ + 90 110 90 90 /* T */ +/* CG A C ..GC */ + 140 160 140 140 /* A */ + 140 160 140 140 /* C */ + 140 160 140 140 /* G */ + 140 160 140 140 /* T */ +/* CG A G ..GC */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG A T ..GC */ + 110 130 110 110 /* A */ + 110 130 110 110 /* C */ + 110 130 110 110 /* G */ + 110 130 110 110 /* T */ +/* CG C A ..GC */ + 90 110 90 90 /* A */ + 90 110 90 90 /* C */ + 90 110 90 90 /* G */ + 90 110 90 90 /* T */ +/* CG C C ..GC */ + 140 160 140 140 /* A */ + 140 160 140 140 /* C */ + 140 160 140 140 /* G */ + 140 160 140 140 /* T */ +/* CG C G ..GC */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG C T ..GC */ + 110 130 110 110 /* A */ + 110 130 110 110 /* C */ + 110 130 110 110 /* G */ + 110 130 110 110 /* T */ +/* CG G A ..GC */ + 90 110 90 90 /* A */ + 90 110 90 90 /* C */ + 90 110 90 90 /* G */ + 90 110 90 90 /* T */ +/* CG G C ..GC */ + 140 160 140 140 /* A */ + 140 160 140 140 /* C */ + 140 160 140 140 /* G */ + 140 160 140 140 /* T */ +/* CG G G ..GC */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG G T ..GC */ + 110 130 110 110 /* A */ + 110 130 110 110 /* C */ + 110 130 110 110 /* G */ + 110 130 110 110 /* T */ +/* CG T A ..GC */ + 90 110 90 90 /* A */ + 90 110 90 90 /* C */ + 90 110 90 90 /* G */ + 90 110 90 90 /* T */ +/* CG T C ..GC */ + 140 160 140 140 /* A */ + 140 160 140 140 /* C */ + 140 160 140 140 /* G */ + 140 160 140 140 /* T */ +/* CG T G ..GC */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG T T ..GC */ + 110 130 110 110 /* A */ + 110 130 110 110 /* C */ + 110 130 110 110 /* G */ + 110 130 110 110 /* T */ +/* CG A A ..GT */ + 110 130 110 110 /* A */ + 110 130 110 110 /* C */ + 110 130 110 110 /* G */ + 110 130 110 110 /* T */ +/* CG A C ..GT */ + 160 180 160 160 /* A */ + 160 180 160 160 /* C */ + 160 180 160 160 /* G */ + 160 180 160 160 /* T */ +/* CG A G ..GT */ + 150 170 150 150 /* A */ + 150 170 150 150 /* C */ + 150 170 150 150 /* G */ + 150 170 150 150 /* T */ +/* CG A T ..GT */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG C A ..GT */ + 110 130 110 110 /* A */ + 110 130 110 110 /* C */ + 110 130 110 110 /* G */ + 110 130 110 110 /* T */ +/* CG C C ..GT */ + 160 180 160 160 /* A */ + 160 180 160 160 /* C */ + 160 180 160 160 /* G */ + 160 180 160 160 /* T */ +/* CG C G ..GT */ + 150 170 150 150 /* A */ + 150 170 150 150 /* C */ + 150 170 150 150 /* G */ + 150 170 150 150 /* T */ +/* CG C T ..GT */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG G A ..GT */ + 110 130 110 110 /* A */ + 110 130 110 110 /* C */ + 110 130 110 110 /* G */ + 110 130 110 110 /* T */ +/* CG G C ..GT */ + 160 180 160 160 /* A */ + 160 180 160 160 /* C */ + 160 180 160 160 /* G */ + 160 180 160 160 /* T */ +/* CG G G ..GT */ + 150 170 150 150 /* A */ + 150 170 150 150 /* C */ + 150 170 150 150 /* G */ + 150 170 150 150 /* T */ +/* CG G T ..GT */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG T A ..GT */ + 110 130 110 110 /* A */ + 110 130 110 110 /* C */ + 110 130 110 110 /* G */ + 110 130 110 110 /* T */ +/* CG T C ..GT */ + 160 180 160 160 /* A */ + 160 180 160 160 /* C */ + 160 180 160 160 /* G */ + 160 180 160 160 /* T */ +/* CG T G ..GT */ + 150 170 150 150 /* A */ + 150 170 150 150 /* C */ + 150 170 150 150 /* G */ + 150 170 150 150 /* T */ +/* CG T T ..GT */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG A A ..TG */ + 170 190 170 170 /* A */ + 170 190 170 170 /* C */ + 170 190 170 170 /* G */ + 170 190 170 170 /* T */ +/* CG A C ..TG */ + 170 190 170 170 /* A */ + 170 190 170 170 /* C */ + 170 190 170 170 /* G */ + 170 190 170 170 /* T */ +/* CG A G ..TG */ + 150 170 150 150 /* A */ + 150 170 150 150 /* C */ + 150 170 150 150 /* G */ + 150 170 150 150 /* T */ +/* CG A T ..TG */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG C A ..TG */ + 170 190 170 170 /* A */ + 170 190 170 170 /* C */ + 170 190 170 170 /* G */ + 170 190 170 170 /* T */ +/* CG C C ..TG */ + 170 190 170 170 /* A */ + 170 190 170 170 /* C */ + 170 190 170 170 /* G */ + 170 190 170 170 /* T */ +/* CG C G ..TG */ + 150 170 150 150 /* A */ + 150 170 150 150 /* C */ + 150 170 150 150 /* G */ + 150 170 150 150 /* T */ +/* CG C T ..TG */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG G A ..TG */ + 170 190 170 170 /* A */ + 170 190 170 170 /* C */ + 170 190 170 170 /* G */ + 170 190 170 170 /* T */ +/* CG G C ..TG */ + 170 190 170 170 /* A */ + 170 190 170 170 /* C */ + 170 190 170 170 /* G */ + 170 190 170 170 /* T */ +/* CG G G ..TG */ + 150 170 150 150 /* A */ + 150 170 150 150 /* C */ + 150 170 150 150 /* G */ + 150 170 150 150 /* T */ +/* CG G T ..TG */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG T A ..TG */ + 170 190 170 170 /* A */ + 170 190 170 170 /* C */ + 170 190 170 170 /* G */ + 170 190 170 170 /* T */ +/* CG T C ..TG */ + 170 190 170 170 /* A */ + 170 190 170 170 /* C */ + 170 190 170 170 /* G */ + 170 190 170 170 /* T */ +/* CG T G ..TG */ + 150 170 150 150 /* A */ + 150 170 150 150 /* C */ + 150 170 150 150 /* G */ + 150 170 150 150 /* T */ +/* CG T T ..TG */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG A A ..AT */ + 180 200 180 180 /* A */ + 180 200 180 180 /* C */ + 180 200 180 180 /* G */ + 180 200 180 180 /* T */ +/* CG A C ..AT */ + 220 240 220 220 /* A */ + 220 240 220 220 /* C */ + 220 240 220 220 /* G */ + 220 240 220 220 /* T */ +/* CG A G ..AT */ + 280 300 280 280 /* A */ + 280 300 280 280 /* C */ + 280 300 280 280 /* G */ + 280 300 280 280 /* T */ +/* CG A T ..AT */ + 220 240 220 220 /* A */ + 220 240 220 220 /* C */ + 220 240 220 220 /* G */ + 220 240 220 220 /* T */ +/* CG C A ..AT */ + 180 200 180 180 /* A */ + 180 200 180 180 /* C */ + 180 200 180 180 /* G */ + 180 200 180 180 /* T */ +/* CG C C ..AT */ + 220 240 220 220 /* A */ + 220 240 220 220 /* C */ + 220 240 220 220 /* G */ + 220 240 220 220 /* T */ +/* CG C G ..AT */ + 280 300 280 280 /* A */ + 280 300 280 280 /* C */ + 280 300 280 280 /* G */ + 280 300 280 280 /* T */ +/* CG C T ..AT */ + 220 240 220 220 /* A */ + 220 240 220 220 /* C */ + 220 240 220 220 /* G */ + 220 240 220 220 /* T */ +/* CG G A ..AT */ + 180 200 180 180 /* A */ + 180 200 180 180 /* C */ + 180 200 180 180 /* G */ + 180 200 180 180 /* T */ +/* CG G C ..AT */ + 220 240 220 220 /* A */ + 220 240 220 220 /* C */ + 220 240 220 220 /* G */ + 220 240 220 220 /* T */ +/* CG G G ..AT */ + 280 300 280 280 /* A */ + 280 300 280 280 /* C */ + 280 300 280 280 /* G */ + 280 300 280 280 /* T */ +/* CG G T ..AT */ + 220 240 220 220 /* A */ + 220 240 220 220 /* C */ + 220 240 220 220 /* G */ + 220 240 220 220 /* T */ +/* CG T A ..AT */ + 180 200 180 180 /* A */ + 180 200 180 180 /* C */ + 180 200 180 180 /* G */ + 180 200 180 180 /* T */ +/* CG T C ..AT */ + 220 240 220 220 /* A */ + 220 240 220 220 /* C */ + 220 240 220 220 /* G */ + 220 240 220 220 /* T */ +/* CG T G ..AT */ + 280 300 280 280 /* A */ + 280 300 280 280 /* C */ + 280 300 280 280 /* G */ + 280 300 280 280 /* T */ +/* CG T T ..AT */ + 220 240 220 220 /* A */ + 220 240 220 220 /* C */ + 220 240 220 220 /* G */ + 220 240 220 220 /* T */ +/* CG A A ..TA */ + 170 190 170 170 /* A */ + 170 190 170 170 /* C */ + 170 190 170 170 /* G */ + 170 190 170 170 /* T */ +/* CG A C ..TA */ + 170 190 170 170 /* A */ + 170 190 170 170 /* C */ + 170 190 170 170 /* G */ + 170 190 170 170 /* T */ +/* CG A G ..TA */ + 150 170 150 150 /* A */ + 150 170 150 150 /* C */ + 150 170 150 150 /* G */ + 150 170 150 150 /* T */ +/* CG A T ..TA */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG C A ..TA */ + 170 190 170 170 /* A */ + 170 190 170 170 /* C */ + 170 190 170 170 /* G */ + 170 190 170 170 /* T */ +/* CG C C ..TA */ + 170 190 170 170 /* A */ + 170 190 170 170 /* C */ + 170 190 170 170 /* G */ + 170 190 170 170 /* T */ +/* CG C G ..TA */ + 150 170 150 150 /* A */ + 150 170 150 150 /* C */ + 150 170 150 150 /* G */ + 150 170 150 150 /* T */ +/* CG C T ..TA */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG G A ..TA */ + 170 190 170 170 /* A */ + 170 190 170 170 /* C */ + 170 190 170 170 /* G */ + 170 190 170 170 /* T */ +/* CG G C ..TA */ + 170 190 170 170 /* A */ + 170 190 170 170 /* C */ + 170 190 170 170 /* G */ + 170 190 170 170 /* T */ +/* CG G G ..TA */ + 150 170 150 150 /* A */ + 150 170 150 150 /* C */ + 150 170 150 150 /* G */ + 150 170 150 150 /* T */ +/* CG G T ..TA */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG T A ..TA */ + 170 190 170 170 /* A */ + 170 190 170 170 /* C */ + 170 190 170 170 /* G */ + 170 190 170 170 /* T */ +/* CG T C ..TA */ + 170 190 170 170 /* A */ + 170 190 170 170 /* C */ + 170 190 170 170 /* G */ + 170 190 170 170 /* T */ +/* CG T G ..TA */ + 150 170 150 150 /* A */ + 150 170 150 150 /* C */ + 150 170 150 150 /* G */ + 150 170 150 150 /* T */ +/* CG T T ..TA */ + 130 150 130 130 /* A */ + 130 150 130 130 /* C */ + 130 150 130 130 /* G */ + 130 150 130 130 /* T */ +/* CG A A ..NN */ + 180 200 180 180 /* A */ + 180 200 180 180 /* C */ + 180 200 180 180 /* G */ + 180 200 180 180 /* T */ +/* CG A C ..NN */ + 220 240 220 220 /* A */ + 220 240 220 220 /* C */ + 220 240 220 220 /* G */ + 220 240 220 220 /* T */ +/* CG A G ..NN */ + 280 300 280 280 /* A */ + 280 300 280 280 /* C */ + 280 300 280 280 /* G */ + 280 300 280 280 /* T */ +/* CG A T ..NN */ + 220 240 220 220 /* A */ + 220 240 220 220 /* C */ + 220 240 220 220 /* G */ + 220 240 220 220 /* T */ +/* CG C A ..NN */ + 180 200 180 180 /* A */ + 180 200 180 180 /* C */ + 180 200 180 180 /* G */ + 180 200 180 180 /* T */ +/* CG C C ..NN */ + 220 240 220 220 /* A */ + 220 240 220 220 /* C */ + 220 240 220 220 /* G */ + 220 240 220 220 /* T */ +/* CG C G ..NN */ + 280 300 280 280 /* A */ + 280 300 280 280 /* C */ + 280 300 280 280 /* G */ + 280 300 280 280 /* T */ +/* CG C T ..NN */ + 220 240 220 220 /* A */ + 220 240 220 220 /* C */ + 220 240 220 220 /* G */ + 220 240 220 220 /* T */ +/* CG G A ..NN */ + 180 200 180 180 /* A */ + 180 200 180 180 /* C */ + 180 200 180 180 /* G */ + 180 200 180 180 /* T */ +/* CG G C ..NN */ + 220 240 220 220 /* A */ + 220 240 220 220 /* C */ + 220 240 220 220 /* G */ + 220 240 220 220 /* T */ +/* CG G G ..NN */ + 280 300 280 280 /* A */ + 280 300 280 280 /* C */ + 280 300 280 280 /* G */ + 280 300 280 280 /* T */ +/* CG G T ..NN */ + 220 240 220 220 /* A */ + 220 240 220 220 /* C */ + 220 240 220 220 /* G */ + 220 240 220 220 /* T */ +/* CG T A ..NN */ + 180 200 180 180 /* A */ + 180 200 180 180 /* C */ + 180 200 180 180 /* G */ + 180 200 180 180 /* T */ +/* CG T C ..NN */ + 220 240 220 220 /* A */ + 220 240 220 220 /* C */ + 220 240 220 220 /* G */ + 220 240 220 220 /* T */ +/* CG T G ..NN */ + 280 300 280 280 /* A */ + 280 300 280 280 /* C */ + 280 300 280 280 /* G */ + 280 300 280 280 /* T */ +/* CG T T ..NN */ + 220 240 220 220 /* A */ + 220 240 220 220 /* C */ + 220 240 220 220 /* G */ + 220 240 220 220 /* T */ +/* GC A A ..CG */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC A C ..CG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GC A G ..CG */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC A T ..CG */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC C A ..CG */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC C C ..CG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GC C G ..CG */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC C T ..CG */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC G A ..CG */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC G C ..CG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GC G G ..CG */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC G T ..CG */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC T A ..CG */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC T C ..CG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GC T G ..CG */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC T T ..CG */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC A A ..GC */ + 50 100 90 70 /* A */ + 50 100 90 70 /* C */ + 50 100 90 70 /* G */ + 50 100 90 70 /* T */ +/* GC A C ..GC */ + 100 150 140 120 /* A */ + 100 150 140 120 /* C */ + 100 150 140 120 /* G */ + 100 150 140 120 /* T */ +/* GC A G ..GC */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC A T ..GC */ + 70 120 110 90 /* A */ + 70 120 110 90 /* C */ + 70 120 110 90 /* G */ + 70 120 110 90 /* T */ +/* GC C A ..GC */ + 50 100 90 70 /* A */ + 50 100 90 70 /* C */ + 50 100 90 70 /* G */ + 50 100 90 70 /* T */ +/* GC C C ..GC */ + 100 150 140 120 /* A */ + 100 150 140 120 /* C */ + 100 150 140 120 /* G */ + 100 150 140 120 /* T */ +/* GC C G ..GC */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC C T ..GC */ + 70 120 110 90 /* A */ + 70 120 110 90 /* C */ + 70 120 110 90 /* G */ + 70 120 110 90 /* T */ +/* GC G A ..GC */ + 50 100 90 70 /* A */ + 50 100 90 70 /* C */ + 50 100 90 70 /* G */ + 50 100 90 70 /* T */ +/* GC G C ..GC */ + 100 150 140 120 /* A */ + 100 150 140 120 /* C */ + 100 150 140 120 /* G */ + 100 150 140 120 /* T */ +/* GC G G ..GC */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC G T ..GC */ + 70 120 110 90 /* A */ + 70 120 110 90 /* C */ + 70 120 110 90 /* G */ + 70 120 110 90 /* T */ +/* GC T A ..GC */ + 50 100 90 70 /* A */ + 50 100 90 70 /* C */ + 50 100 90 70 /* G */ + 50 100 90 70 /* T */ +/* GC T C ..GC */ + 100 150 140 120 /* A */ + 100 150 140 120 /* C */ + 100 150 140 120 /* G */ + 100 150 140 120 /* T */ +/* GC T G ..GC */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC T T ..GC */ + 70 120 110 90 /* A */ + 70 120 110 90 /* C */ + 70 120 110 90 /* G */ + 70 120 110 90 /* T */ +/* GC A A ..GT */ + 70 120 110 90 /* A */ + 70 120 110 90 /* C */ + 70 120 110 90 /* G */ + 70 120 110 90 /* T */ +/* GC A C ..GT */ + 120 170 160 140 /* A */ + 120 170 160 140 /* C */ + 120 170 160 140 /* G */ + 120 170 160 140 /* T */ +/* GC A G ..GT */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GC A T ..GT */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC C A ..GT */ + 70 120 110 90 /* A */ + 70 120 110 90 /* C */ + 70 120 110 90 /* G */ + 70 120 110 90 /* T */ +/* GC C C ..GT */ + 120 170 160 140 /* A */ + 120 170 160 140 /* C */ + 120 170 160 140 /* G */ + 120 170 160 140 /* T */ +/* GC C G ..GT */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GC C T ..GT */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC G A ..GT */ + 70 120 110 90 /* A */ + 70 120 110 90 /* C */ + 70 120 110 90 /* G */ + 70 120 110 90 /* T */ +/* GC G C ..GT */ + 120 170 160 140 /* A */ + 120 170 160 140 /* C */ + 120 170 160 140 /* G */ + 120 170 160 140 /* T */ +/* GC G G ..GT */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GC G T ..GT */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC T A ..GT */ + 70 120 110 90 /* A */ + 70 120 110 90 /* C */ + 70 120 110 90 /* G */ + 70 120 110 90 /* T */ +/* GC T C ..GT */ + 120 170 160 140 /* A */ + 120 170 160 140 /* C */ + 120 170 160 140 /* G */ + 120 170 160 140 /* T */ +/* GC T G ..GT */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GC T T ..GT */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC A A ..TG */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GC A C ..TG */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GC A G ..TG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GC A T ..TG */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC C A ..TG */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GC C C ..TG */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GC C G ..TG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GC C T ..TG */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC G A ..TG */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GC G C ..TG */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GC G G ..TG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GC G T ..TG */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC T A ..TG */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GC T C ..TG */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GC T G ..TG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GC T T ..TG */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC A A ..AT */ + 140 190 180 160 /* A */ + 140 190 180 160 /* C */ + 140 190 180 160 /* G */ + 140 190 180 160 /* T */ +/* GC A C ..AT */ + 180 230 220 200 /* A */ + 180 230 220 200 /* C */ + 180 230 220 200 /* G */ + 180 230 220 200 /* T */ +/* GC A G ..AT */ + 240 290 280 260 /* A */ + 240 290 280 260 /* C */ + 240 290 280 260 /* G */ + 240 290 280 260 /* T */ +/* GC A T ..AT */ + 180 230 220 200 /* A */ + 180 230 220 200 /* C */ + 180 230 220 200 /* G */ + 180 230 220 200 /* T */ +/* GC C A ..AT */ + 140 190 180 160 /* A */ + 140 190 180 160 /* C */ + 140 190 180 160 /* G */ + 140 190 180 160 /* T */ +/* GC C C ..AT */ + 180 230 220 200 /* A */ + 180 230 220 200 /* C */ + 180 230 220 200 /* G */ + 180 230 220 200 /* T */ +/* GC C G ..AT */ + 240 290 280 260 /* A */ + 240 290 280 260 /* C */ + 240 290 280 260 /* G */ + 240 290 280 260 /* T */ +/* GC C T ..AT */ + 180 230 220 200 /* A */ + 180 230 220 200 /* C */ + 180 230 220 200 /* G */ + 180 230 220 200 /* T */ +/* GC G A ..AT */ + 140 190 180 160 /* A */ + 140 190 180 160 /* C */ + 140 190 180 160 /* G */ + 140 190 180 160 /* T */ +/* GC G C ..AT */ + 180 230 220 200 /* A */ + 180 230 220 200 /* C */ + 180 230 220 200 /* G */ + 180 230 220 200 /* T */ +/* GC G G ..AT */ + 240 290 280 260 /* A */ + 240 290 280 260 /* C */ + 240 290 280 260 /* G */ + 240 290 280 260 /* T */ +/* GC G T ..AT */ + 180 230 220 200 /* A */ + 180 230 220 200 /* C */ + 180 230 220 200 /* G */ + 180 230 220 200 /* T */ +/* GC T A ..AT */ + 140 190 180 160 /* A */ + 140 190 180 160 /* C */ + 140 190 180 160 /* G */ + 140 190 180 160 /* T */ +/* GC T C ..AT */ + 180 230 220 200 /* A */ + 180 230 220 200 /* C */ + 180 230 220 200 /* G */ + 180 230 220 200 /* T */ +/* GC T G ..AT */ + 240 290 280 260 /* A */ + 240 290 280 260 /* C */ + 240 290 280 260 /* G */ + 240 290 280 260 /* T */ +/* GC T T ..AT */ + 180 230 220 200 /* A */ + 180 230 220 200 /* C */ + 180 230 220 200 /* G */ + 180 230 220 200 /* T */ +/* GC A A ..TA */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GC A C ..TA */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GC A G ..TA */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GC A T ..TA */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC C A ..TA */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GC C C ..TA */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GC C G ..TA */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GC C T ..TA */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC G A ..TA */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GC G C ..TA */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GC G G ..TA */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GC G T ..TA */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC T A ..TA */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GC T C ..TA */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GC T G ..TA */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GC T T ..TA */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GC A A ..NN */ + 140 190 180 160 /* A */ + 140 190 180 160 /* C */ + 140 190 180 160 /* G */ + 140 190 180 160 /* T */ +/* GC A C ..NN */ + 180 230 220 200 /* A */ + 180 230 220 200 /* C */ + 180 230 220 200 /* G */ + 180 230 220 200 /* T */ +/* GC A G ..NN */ + 240 290 280 260 /* A */ + 240 290 280 260 /* C */ + 240 290 280 260 /* G */ + 240 290 280 260 /* T */ +/* GC A T ..NN */ + 180 230 220 200 /* A */ + 180 230 220 200 /* C */ + 180 230 220 200 /* G */ + 180 230 220 200 /* T */ +/* GC C A ..NN */ + 140 190 180 160 /* A */ + 140 190 180 160 /* C */ + 140 190 180 160 /* G */ + 140 190 180 160 /* T */ +/* GC C C ..NN */ + 180 230 220 200 /* A */ + 180 230 220 200 /* C */ + 180 230 220 200 /* G */ + 180 230 220 200 /* T */ +/* GC C G ..NN */ + 240 290 280 260 /* A */ + 240 290 280 260 /* C */ + 240 290 280 260 /* G */ + 240 290 280 260 /* T */ +/* GC C T ..NN */ + 180 230 220 200 /* A */ + 180 230 220 200 /* C */ + 180 230 220 200 /* G */ + 180 230 220 200 /* T */ +/* GC G A ..NN */ + 140 190 180 160 /* A */ + 140 190 180 160 /* C */ + 140 190 180 160 /* G */ + 140 190 180 160 /* T */ +/* GC G C ..NN */ + 180 230 220 200 /* A */ + 180 230 220 200 /* C */ + 180 230 220 200 /* G */ + 180 230 220 200 /* T */ +/* GC G G ..NN */ + 240 290 280 260 /* A */ + 240 290 280 260 /* C */ + 240 290 280 260 /* G */ + 240 290 280 260 /* T */ +/* GC G T ..NN */ + 180 230 220 200 /* A */ + 180 230 220 200 /* C */ + 180 230 220 200 /* G */ + 180 230 220 200 /* T */ +/* GC T A ..NN */ + 140 190 180 160 /* A */ + 140 190 180 160 /* C */ + 140 190 180 160 /* G */ + 140 190 180 160 /* T */ +/* GC T C ..NN */ + 180 230 220 200 /* A */ + 180 230 220 200 /* C */ + 180 230 220 200 /* G */ + 180 230 220 200 /* T */ +/* GC T G ..NN */ + 240 290 280 260 /* A */ + 240 290 280 260 /* C */ + 240 290 280 260 /* G */ + 240 290 280 260 /* T */ +/* GC T T ..NN */ + 180 230 220 200 /* A */ + 180 230 220 200 /* C */ + 180 230 220 200 /* G */ + 180 230 220 200 /* T */ +/* GT A A ..CG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT A C ..CG */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GT A G ..CG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT A T ..CG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT C A ..CG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT C C ..CG */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GT C G ..CG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT C T ..CG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT G A ..CG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT G C ..CG */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GT G G ..CG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT G T ..CG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT T A ..CG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT T C ..CG */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GT T G ..CG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT T T ..CG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT A A ..GC */ + 70 120 110 90 /* A */ + 70 120 110 90 /* C */ + 70 120 110 90 /* G */ + 70 120 110 90 /* T */ +/* GT A C ..GC */ + 120 170 160 140 /* A */ + 120 170 160 140 /* C */ + 120 170 160 140 /* G */ + 120 170 160 140 /* T */ +/* GT A G ..GC */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT A T ..GC */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GT C A ..GC */ + 70 120 110 90 /* A */ + 70 120 110 90 /* C */ + 70 120 110 90 /* G */ + 70 120 110 90 /* T */ +/* GT C C ..GC */ + 120 170 160 140 /* A */ + 120 170 160 140 /* C */ + 120 170 160 140 /* G */ + 120 170 160 140 /* T */ +/* GT C G ..GC */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT C T ..GC */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GT G A ..GC */ + 70 120 110 90 /* A */ + 70 120 110 90 /* C */ + 70 120 110 90 /* G */ + 70 120 110 90 /* T */ +/* GT G C ..GC */ + 120 170 160 140 /* A */ + 120 170 160 140 /* C */ + 120 170 160 140 /* G */ + 120 170 160 140 /* T */ +/* GT G G ..GC */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT G T ..GC */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GT T A ..GC */ + 70 120 110 90 /* A */ + 70 120 110 90 /* C */ + 70 120 110 90 /* G */ + 70 120 110 90 /* T */ +/* GT T C ..GC */ + 120 170 160 140 /* A */ + 120 170 160 140 /* C */ + 120 170 160 140 /* G */ + 120 170 160 140 /* T */ +/* GT T G ..GC */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT T T ..GC */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GT A A ..GT */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GT A C ..GT */ + 140 190 180 160 /* A */ + 140 190 180 160 /* C */ + 140 190 180 160 /* G */ + 140 190 180 160 /* T */ +/* GT A G ..GT */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GT A T ..GT */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT C A ..GT */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GT C C ..GT */ + 140 190 180 160 /* A */ + 140 190 180 160 /* C */ + 140 190 180 160 /* G */ + 140 190 180 160 /* T */ +/* GT C G ..GT */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GT C T ..GT */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT G A ..GT */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GT G C ..GT */ + 140 190 180 160 /* A */ + 140 190 180 160 /* C */ + 140 190 180 160 /* G */ + 140 190 180 160 /* T */ +/* GT G G ..GT */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GT G T ..GT */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT T A ..GT */ + 90 140 130 110 /* A */ + 90 140 130 110 /* C */ + 90 140 130 110 /* G */ + 90 140 130 110 /* T */ +/* GT T C ..GT */ + 140 190 180 160 /* A */ + 140 190 180 160 /* C */ + 140 190 180 160 /* G */ + 140 190 180 160 /* T */ +/* GT T G ..GT */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GT T T ..GT */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT A A ..TG */ + 150 200 190 170 /* A */ + 150 200 190 170 /* C */ + 150 200 190 170 /* G */ + 150 200 190 170 /* T */ +/* GT A C ..TG */ + 150 200 190 170 /* A */ + 150 200 190 170 /* C */ + 150 200 190 170 /* G */ + 150 200 190 170 /* T */ +/* GT A G ..TG */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GT A T ..TG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT C A ..TG */ + 150 200 190 170 /* A */ + 150 200 190 170 /* C */ + 150 200 190 170 /* G */ + 150 200 190 170 /* T */ +/* GT C C ..TG */ + 150 200 190 170 /* A */ + 150 200 190 170 /* C */ + 150 200 190 170 /* G */ + 150 200 190 170 /* T */ +/* GT C G ..TG */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GT C T ..TG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT G A ..TG */ + 150 200 190 170 /* A */ + 150 200 190 170 /* C */ + 150 200 190 170 /* G */ + 150 200 190 170 /* T */ +/* GT G C ..TG */ + 150 200 190 170 /* A */ + 150 200 190 170 /* C */ + 150 200 190 170 /* G */ + 150 200 190 170 /* T */ +/* GT G G ..TG */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GT G T ..TG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT T A ..TG */ + 150 200 190 170 /* A */ + 150 200 190 170 /* C */ + 150 200 190 170 /* G */ + 150 200 190 170 /* T */ +/* GT T C ..TG */ + 150 200 190 170 /* A */ + 150 200 190 170 /* C */ + 150 200 190 170 /* G */ + 150 200 190 170 /* T */ +/* GT T G ..TG */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GT T T ..TG */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT A A ..AT */ + 160 210 200 180 /* A */ + 160 210 200 180 /* C */ + 160 210 200 180 /* G */ + 160 210 200 180 /* T */ +/* GT A C ..AT */ + 200 250 240 220 /* A */ + 200 250 240 220 /* C */ + 200 250 240 220 /* G */ + 200 250 240 220 /* T */ +/* GT A G ..AT */ + 260 310 300 280 /* A */ + 260 310 300 280 /* C */ + 260 310 300 280 /* G */ + 260 310 300 280 /* T */ +/* GT A T ..AT */ + 200 250 240 220 /* A */ + 200 250 240 220 /* C */ + 200 250 240 220 /* G */ + 200 250 240 220 /* T */ +/* GT C A ..AT */ + 160 210 200 180 /* A */ + 160 210 200 180 /* C */ + 160 210 200 180 /* G */ + 160 210 200 180 /* T */ +/* GT C C ..AT */ + 200 250 240 220 /* A */ + 200 250 240 220 /* C */ + 200 250 240 220 /* G */ + 200 250 240 220 /* T */ +/* GT C G ..AT */ + 260 310 300 280 /* A */ + 260 310 300 280 /* C */ + 260 310 300 280 /* G */ + 260 310 300 280 /* T */ +/* GT C T ..AT */ + 200 250 240 220 /* A */ + 200 250 240 220 /* C */ + 200 250 240 220 /* G */ + 200 250 240 220 /* T */ +/* GT G A ..AT */ + 160 210 200 180 /* A */ + 160 210 200 180 /* C */ + 160 210 200 180 /* G */ + 160 210 200 180 /* T */ +/* GT G C ..AT */ + 200 250 240 220 /* A */ + 200 250 240 220 /* C */ + 200 250 240 220 /* G */ + 200 250 240 220 /* T */ +/* GT G G ..AT */ + 260 310 300 280 /* A */ + 260 310 300 280 /* C */ + 260 310 300 280 /* G */ + 260 310 300 280 /* T */ +/* GT G T ..AT */ + 200 250 240 220 /* A */ + 200 250 240 220 /* C */ + 200 250 240 220 /* G */ + 200 250 240 220 /* T */ +/* GT T A ..AT */ + 160 210 200 180 /* A */ + 160 210 200 180 /* C */ + 160 210 200 180 /* G */ + 160 210 200 180 /* T */ +/* GT T C ..AT */ + 200 250 240 220 /* A */ + 200 250 240 220 /* C */ + 200 250 240 220 /* G */ + 200 250 240 220 /* T */ +/* GT T G ..AT */ + 260 310 300 280 /* A */ + 260 310 300 280 /* C */ + 260 310 300 280 /* G */ + 260 310 300 280 /* T */ +/* GT T T ..AT */ + 200 250 240 220 /* A */ + 200 250 240 220 /* C */ + 200 250 240 220 /* G */ + 200 250 240 220 /* T */ +/* GT A A ..TA */ + 150 200 190 170 /* A */ + 150 200 190 170 /* C */ + 150 200 190 170 /* G */ + 150 200 190 170 /* T */ +/* GT A C ..TA */ + 150 200 190 170 /* A */ + 150 200 190 170 /* C */ + 150 200 190 170 /* G */ + 150 200 190 170 /* T */ +/* GT A G ..TA */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GT A T ..TA */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT C A ..TA */ + 150 200 190 170 /* A */ + 150 200 190 170 /* C */ + 150 200 190 170 /* G */ + 150 200 190 170 /* T */ +/* GT C C ..TA */ + 150 200 190 170 /* A */ + 150 200 190 170 /* C */ + 150 200 190 170 /* G */ + 150 200 190 170 /* T */ +/* GT C G ..TA */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GT C T ..TA */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT G A ..TA */ + 150 200 190 170 /* A */ + 150 200 190 170 /* C */ + 150 200 190 170 /* G */ + 150 200 190 170 /* T */ +/* GT G C ..TA */ + 150 200 190 170 /* A */ + 150 200 190 170 /* C */ + 150 200 190 170 /* G */ + 150 200 190 170 /* T */ +/* GT G G ..TA */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GT G T ..TA */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT T A ..TA */ + 150 200 190 170 /* A */ + 150 200 190 170 /* C */ + 150 200 190 170 /* G */ + 150 200 190 170 /* T */ +/* GT T C ..TA */ + 150 200 190 170 /* A */ + 150 200 190 170 /* C */ + 150 200 190 170 /* G */ + 150 200 190 170 /* T */ +/* GT T G ..TA */ + 130 180 170 150 /* A */ + 130 180 170 150 /* C */ + 130 180 170 150 /* G */ + 130 180 170 150 /* T */ +/* GT T T ..TA */ + 110 160 150 130 /* A */ + 110 160 150 130 /* C */ + 110 160 150 130 /* G */ + 110 160 150 130 /* T */ +/* GT A A ..NN */ + 160 210 200 180 /* A */ + 160 210 200 180 /* C */ + 160 210 200 180 /* G */ + 160 210 200 180 /* T */ +/* GT A C ..NN */ + 200 250 240 220 /* A */ + 200 250 240 220 /* C */ + 200 250 240 220 /* G */ + 200 250 240 220 /* T */ +/* GT A G ..NN */ + 260 310 300 280 /* A */ + 260 310 300 280 /* C */ + 260 310 300 280 /* G */ + 260 310 300 280 /* T */ +/* GT A T ..NN */ + 200 250 240 220 /* A */ + 200 250 240 220 /* C */ + 200 250 240 220 /* G */ + 200 250 240 220 /* T */ +/* GT C A ..NN */ + 160 210 200 180 /* A */ + 160 210 200 180 /* C */ + 160 210 200 180 /* G */ + 160 210 200 180 /* T */ +/* GT C C ..NN */ + 200 250 240 220 /* A */ + 200 250 240 220 /* C */ + 200 250 240 220 /* G */ + 200 250 240 220 /* T */ +/* GT C G ..NN */ + 260 310 300 280 /* A */ + 260 310 300 280 /* C */ + 260 310 300 280 /* G */ + 260 310 300 280 /* T */ +/* GT C T ..NN */ + 200 250 240 220 /* A */ + 200 250 240 220 /* C */ + 200 250 240 220 /* G */ + 200 250 240 220 /* T */ +/* GT G A ..NN */ + 160 210 200 180 /* A */ + 160 210 200 180 /* C */ + 160 210 200 180 /* G */ + 160 210 200 180 /* T */ +/* GT G C ..NN */ + 200 250 240 220 /* A */ + 200 250 240 220 /* C */ + 200 250 240 220 /* G */ + 200 250 240 220 /* T */ +/* GT G G ..NN */ + 260 310 300 280 /* A */ + 260 310 300 280 /* C */ + 260 310 300 280 /* G */ + 260 310 300 280 /* T */ +/* GT G T ..NN */ + 200 250 240 220 /* A */ + 200 250 240 220 /* C */ + 200 250 240 220 /* G */ + 200 250 240 220 /* T */ +/* GT T A ..NN */ + 160 210 200 180 /* A */ + 160 210 200 180 /* C */ + 160 210 200 180 /* G */ + 160 210 200 180 /* T */ +/* GT T C ..NN */ + 200 250 240 220 /* A */ + 200 250 240 220 /* C */ + 200 250 240 220 /* G */ + 200 250 240 220 /* T */ +/* GT T G ..NN */ + 260 310 300 280 /* A */ + 260 310 300 280 /* C */ + 260 310 300 280 /* G */ + 260 310 300 280 /* T */ +/* GT T T ..NN */ + 200 250 240 220 /* A */ + 200 250 240 220 /* C */ + 200 250 240 220 /* G */ + 200 250 240 220 /* T */ +/* TG A A ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG A C ..CG */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TG A G ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG A T ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG C A ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG C C ..CG */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TG C G ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG C T ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG G A ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG G C ..CG */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TG G G ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG G T ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG T A ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG T C ..CG */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TG T G ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG T T ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG A A ..GC */ + 130 130 110 90 /* A */ + 130 130 110 90 /* C */ + 130 130 110 90 /* G */ + 130 130 110 90 /* T */ +/* TG A C ..GC */ + 180 180 160 140 /* A */ + 180 180 160 140 /* C */ + 180 180 160 140 /* G */ + 180 180 160 140 /* T */ +/* TG A G ..GC */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG A T ..GC */ + 150 150 130 110 /* A */ + 150 150 130 110 /* C */ + 150 150 130 110 /* G */ + 150 150 130 110 /* T */ +/* TG C A ..GC */ + 130 130 110 90 /* A */ + 130 130 110 90 /* C */ + 130 130 110 90 /* G */ + 130 130 110 90 /* T */ +/* TG C C ..GC */ + 180 180 160 140 /* A */ + 180 180 160 140 /* C */ + 180 180 160 140 /* G */ + 180 180 160 140 /* T */ +/* TG C G ..GC */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG C T ..GC */ + 150 150 130 110 /* A */ + 150 150 130 110 /* C */ + 150 150 130 110 /* G */ + 150 150 130 110 /* T */ +/* TG G A ..GC */ + 130 130 110 90 /* A */ + 130 130 110 90 /* C */ + 130 130 110 90 /* G */ + 130 130 110 90 /* T */ +/* TG G C ..GC */ + 180 180 160 140 /* A */ + 180 180 160 140 /* C */ + 180 180 160 140 /* G */ + 180 180 160 140 /* T */ +/* TG G G ..GC */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG G T ..GC */ + 150 150 130 110 /* A */ + 150 150 130 110 /* C */ + 150 150 130 110 /* G */ + 150 150 130 110 /* T */ +/* TG T A ..GC */ + 130 130 110 90 /* A */ + 130 130 110 90 /* C */ + 130 130 110 90 /* G */ + 130 130 110 90 /* T */ +/* TG T C ..GC */ + 180 180 160 140 /* A */ + 180 180 160 140 /* C */ + 180 180 160 140 /* G */ + 180 180 160 140 /* T */ +/* TG T G ..GC */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG T T ..GC */ + 150 150 130 110 /* A */ + 150 150 130 110 /* C */ + 150 150 130 110 /* G */ + 150 150 130 110 /* T */ +/* TG A A ..GT */ + 150 150 130 110 /* A */ + 150 150 130 110 /* C */ + 150 150 130 110 /* G */ + 150 150 130 110 /* T */ +/* TG A C ..GT */ + 200 200 180 160 /* A */ + 200 200 180 160 /* C */ + 200 200 180 160 /* G */ + 200 200 180 160 /* T */ +/* TG A G ..GT */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TG A T ..GT */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG C A ..GT */ + 150 150 130 110 /* A */ + 150 150 130 110 /* C */ + 150 150 130 110 /* G */ + 150 150 130 110 /* T */ +/* TG C C ..GT */ + 200 200 180 160 /* A */ + 200 200 180 160 /* C */ + 200 200 180 160 /* G */ + 200 200 180 160 /* T */ +/* TG C G ..GT */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TG C T ..GT */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG G A ..GT */ + 150 150 130 110 /* A */ + 150 150 130 110 /* C */ + 150 150 130 110 /* G */ + 150 150 130 110 /* T */ +/* TG G C ..GT */ + 200 200 180 160 /* A */ + 200 200 180 160 /* C */ + 200 200 180 160 /* G */ + 200 200 180 160 /* T */ +/* TG G G ..GT */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TG G T ..GT */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG T A ..GT */ + 150 150 130 110 /* A */ + 150 150 130 110 /* C */ + 150 150 130 110 /* G */ + 150 150 130 110 /* T */ +/* TG T C ..GT */ + 200 200 180 160 /* A */ + 200 200 180 160 /* C */ + 200 200 180 160 /* G */ + 200 200 180 160 /* T */ +/* TG T G ..GT */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TG T T ..GT */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG A A ..TG */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TG A C ..TG */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TG A G ..TG */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TG A T ..TG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG C A ..TG */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TG C C ..TG */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TG C G ..TG */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TG C T ..TG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG G A ..TG */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TG G C ..TG */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TG G G ..TG */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TG G T ..TG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG T A ..TG */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TG T C ..TG */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TG T G ..TG */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TG T T ..TG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG A A ..AT */ + 220 220 200 180 /* A */ + 220 220 200 180 /* C */ + 220 220 200 180 /* G */ + 220 220 200 180 /* T */ +/* TG A C ..AT */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TG A G ..AT */ + 320 320 300 280 /* A */ + 320 320 300 280 /* C */ + 320 320 300 280 /* G */ + 320 320 300 280 /* T */ +/* TG A T ..AT */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TG C A ..AT */ + 220 220 200 180 /* A */ + 220 220 200 180 /* C */ + 220 220 200 180 /* G */ + 220 220 200 180 /* T */ +/* TG C C ..AT */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TG C G ..AT */ + 320 320 300 280 /* A */ + 320 320 300 280 /* C */ + 320 320 300 280 /* G */ + 320 320 300 280 /* T */ +/* TG C T ..AT */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TG G A ..AT */ + 220 220 200 180 /* A */ + 220 220 200 180 /* C */ + 220 220 200 180 /* G */ + 220 220 200 180 /* T */ +/* TG G C ..AT */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TG G G ..AT */ + 320 320 300 280 /* A */ + 320 320 300 280 /* C */ + 320 320 300 280 /* G */ + 320 320 300 280 /* T */ +/* TG G T ..AT */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TG T A ..AT */ + 220 220 200 180 /* A */ + 220 220 200 180 /* C */ + 220 220 200 180 /* G */ + 220 220 200 180 /* T */ +/* TG T C ..AT */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TG T G ..AT */ + 320 320 300 280 /* A */ + 320 320 300 280 /* C */ + 320 320 300 280 /* G */ + 320 320 300 280 /* T */ +/* TG T T ..AT */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TG A A ..TA */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TG A C ..TA */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TG A G ..TA */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TG A T ..TA */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG C A ..TA */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TG C C ..TA */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TG C G ..TA */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TG C T ..TA */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG G A ..TA */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TG G C ..TA */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TG G G ..TA */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TG G T ..TA */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG T A ..TA */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TG T C ..TA */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TG T G ..TA */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TG T T ..TA */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TG A A ..NN */ + 220 220 200 180 /* A */ + 220 220 200 180 /* C */ + 220 220 200 180 /* G */ + 220 220 200 180 /* T */ +/* TG A C ..NN */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TG A G ..NN */ + 320 320 300 280 /* A */ + 320 320 300 280 /* C */ + 320 320 300 280 /* G */ + 320 320 300 280 /* T */ +/* TG A T ..NN */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TG C A ..NN */ + 220 220 200 180 /* A */ + 220 220 200 180 /* C */ + 220 220 200 180 /* G */ + 220 220 200 180 /* T */ +/* TG C C ..NN */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TG C G ..NN */ + 320 320 300 280 /* A */ + 320 320 300 280 /* C */ + 320 320 300 280 /* G */ + 320 320 300 280 /* T */ +/* TG C T ..NN */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TG G A ..NN */ + 220 220 200 180 /* A */ + 220 220 200 180 /* C */ + 220 220 200 180 /* G */ + 220 220 200 180 /* T */ +/* TG G C ..NN */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TG G G ..NN */ + 320 320 300 280 /* A */ + 320 320 300 280 /* C */ + 320 320 300 280 /* G */ + 320 320 300 280 /* T */ +/* TG G T ..NN */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TG T A ..NN */ + 220 220 200 180 /* A */ + 220 220 200 180 /* C */ + 220 220 200 180 /* G */ + 220 220 200 180 /* T */ +/* TG T C ..NN */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TG T G ..NN */ + 320 320 300 280 /* A */ + 320 320 300 280 /* C */ + 320 320 300 280 /* G */ + 320 320 300 280 /* T */ +/* TG T T ..NN */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* AT A A ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT A C ..CG */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* AT A G ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT A T ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT C A ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT C C ..CG */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* AT C G ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT C T ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT G A ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT G C ..CG */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* AT G G ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT G T ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT T A ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT T C ..CG */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* AT T G ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT T T ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT A A ..GC */ + 140 180 240 180 /* A */ + 140 180 240 180 /* C */ + 140 180 240 180 /* G */ + 140 180 240 180 /* T */ +/* AT A C ..GC */ + 190 230 290 230 /* A */ + 190 230 290 230 /* C */ + 190 230 290 230 /* G */ + 190 230 290 230 /* T */ +/* AT A G ..GC */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT A T ..GC */ + 160 200 260 200 /* A */ + 160 200 260 200 /* C */ + 160 200 260 200 /* G */ + 160 200 260 200 /* T */ +/* AT C A ..GC */ + 140 180 240 180 /* A */ + 140 180 240 180 /* C */ + 140 180 240 180 /* G */ + 140 180 240 180 /* T */ +/* AT C C ..GC */ + 190 230 290 230 /* A */ + 190 230 290 230 /* C */ + 190 230 290 230 /* G */ + 190 230 290 230 /* T */ +/* AT C G ..GC */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT C T ..GC */ + 160 200 260 200 /* A */ + 160 200 260 200 /* C */ + 160 200 260 200 /* G */ + 160 200 260 200 /* T */ +/* AT G A ..GC */ + 140 180 240 180 /* A */ + 140 180 240 180 /* C */ + 140 180 240 180 /* G */ + 140 180 240 180 /* T */ +/* AT G C ..GC */ + 190 230 290 230 /* A */ + 190 230 290 230 /* C */ + 190 230 290 230 /* G */ + 190 230 290 230 /* T */ +/* AT G G ..GC */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT G T ..GC */ + 160 200 260 200 /* A */ + 160 200 260 200 /* C */ + 160 200 260 200 /* G */ + 160 200 260 200 /* T */ +/* AT T A ..GC */ + 140 180 240 180 /* A */ + 140 180 240 180 /* C */ + 140 180 240 180 /* G */ + 140 180 240 180 /* T */ +/* AT T C ..GC */ + 190 230 290 230 /* A */ + 190 230 290 230 /* C */ + 190 230 290 230 /* G */ + 190 230 290 230 /* T */ +/* AT T G ..GC */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT T T ..GC */ + 160 200 260 200 /* A */ + 160 200 260 200 /* C */ + 160 200 260 200 /* G */ + 160 200 260 200 /* T */ +/* AT A A ..GT */ + 160 200 260 200 /* A */ + 160 200 260 200 /* C */ + 160 200 260 200 /* G */ + 160 200 260 200 /* T */ +/* AT A C ..GT */ + 210 250 310 250 /* A */ + 210 250 310 250 /* C */ + 210 250 310 250 /* G */ + 210 250 310 250 /* T */ +/* AT A G ..GT */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* AT A T ..GT */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT C A ..GT */ + 160 200 260 200 /* A */ + 160 200 260 200 /* C */ + 160 200 260 200 /* G */ + 160 200 260 200 /* T */ +/* AT C C ..GT */ + 210 250 310 250 /* A */ + 210 250 310 250 /* C */ + 210 250 310 250 /* G */ + 210 250 310 250 /* T */ +/* AT C G ..GT */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* AT C T ..GT */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT G A ..GT */ + 160 200 260 200 /* A */ + 160 200 260 200 /* C */ + 160 200 260 200 /* G */ + 160 200 260 200 /* T */ +/* AT G C ..GT */ + 210 250 310 250 /* A */ + 210 250 310 250 /* C */ + 210 250 310 250 /* G */ + 210 250 310 250 /* T */ +/* AT G G ..GT */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* AT G T ..GT */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT T A ..GT */ + 160 200 260 200 /* A */ + 160 200 260 200 /* C */ + 160 200 260 200 /* G */ + 160 200 260 200 /* T */ +/* AT T C ..GT */ + 210 250 310 250 /* A */ + 210 250 310 250 /* C */ + 210 250 310 250 /* G */ + 210 250 310 250 /* T */ +/* AT T G ..GT */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* AT T T ..GT */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT A A ..TG */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* AT A C ..TG */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* AT A G ..TG */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* AT A T ..TG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT C A ..TG */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* AT C C ..TG */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* AT C G ..TG */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* AT C T ..TG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT G A ..TG */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* AT G C ..TG */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* AT G G ..TG */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* AT G T ..TG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT T A ..TG */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* AT T C ..TG */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* AT T G ..TG */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* AT T T ..TG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT A A ..AT */ + 230 270 330 270 /* A */ + 230 270 330 270 /* C */ + 230 270 330 270 /* G */ + 230 270 330 270 /* T */ +/* AT A C ..AT */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* AT A G ..AT */ + 330 370 430 370 /* A */ + 330 370 430 370 /* C */ + 330 370 430 370 /* G */ + 330 370 430 370 /* T */ +/* AT A T ..AT */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* AT C A ..AT */ + 230 270 330 270 /* A */ + 230 270 330 270 /* C */ + 230 270 330 270 /* G */ + 230 270 330 270 /* T */ +/* AT C C ..AT */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* AT C G ..AT */ + 330 370 430 370 /* A */ + 330 370 430 370 /* C */ + 330 370 430 370 /* G */ + 330 370 430 370 /* T */ +/* AT C T ..AT */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* AT G A ..AT */ + 230 270 330 270 /* A */ + 230 270 330 270 /* C */ + 230 270 330 270 /* G */ + 230 270 330 270 /* T */ +/* AT G C ..AT */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* AT G G ..AT */ + 330 370 430 370 /* A */ + 330 370 430 370 /* C */ + 330 370 430 370 /* G */ + 330 370 430 370 /* T */ +/* AT G T ..AT */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* AT T A ..AT */ + 230 270 330 270 /* A */ + 230 270 330 270 /* C */ + 230 270 330 270 /* G */ + 230 270 330 270 /* T */ +/* AT T C ..AT */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* AT T G ..AT */ + 330 370 430 370 /* A */ + 330 370 430 370 /* C */ + 330 370 430 370 /* G */ + 330 370 430 370 /* T */ +/* AT T T ..AT */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* AT A A ..TA */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* AT A C ..TA */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* AT A G ..TA */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* AT A T ..TA */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT C A ..TA */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* AT C C ..TA */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* AT C G ..TA */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* AT C T ..TA */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT G A ..TA */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* AT G C ..TA */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* AT G G ..TA */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* AT G T ..TA */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT T A ..TA */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* AT T C ..TA */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* AT T G ..TA */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* AT T T ..TA */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* AT A A ..NN */ + 230 270 330 270 /* A */ + 230 270 330 270 /* C */ + 230 270 330 270 /* G */ + 230 270 330 270 /* T */ +/* AT A C ..NN */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* AT A G ..NN */ + 330 370 430 370 /* A */ + 330 370 430 370 /* C */ + 330 370 430 370 /* G */ + 330 370 430 370 /* T */ +/* AT A T ..NN */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* AT C A ..NN */ + 230 270 330 270 /* A */ + 230 270 330 270 /* C */ + 230 270 330 270 /* G */ + 230 270 330 270 /* T */ +/* AT C C ..NN */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* AT C G ..NN */ + 330 370 430 370 /* A */ + 330 370 430 370 /* C */ + 330 370 430 370 /* G */ + 330 370 430 370 /* T */ +/* AT C T ..NN */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* AT G A ..NN */ + 230 270 330 270 /* A */ + 230 270 330 270 /* C */ + 230 270 330 270 /* G */ + 230 270 330 270 /* T */ +/* AT G C ..NN */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* AT G G ..NN */ + 330 370 430 370 /* A */ + 330 370 430 370 /* C */ + 330 370 430 370 /* G */ + 330 370 430 370 /* T */ +/* AT G T ..NN */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* AT T A ..NN */ + 230 270 330 270 /* A */ + 230 270 330 270 /* C */ + 230 270 330 270 /* G */ + 230 270 330 270 /* T */ +/* AT T C ..NN */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* AT T G ..NN */ + 330 370 430 370 /* A */ + 330 370 430 370 /* C */ + 330 370 430 370 /* G */ + 330 370 430 370 /* T */ +/* AT T T ..NN */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* TA A A ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA A C ..CG */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TA A G ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA A T ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA C A ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA C C ..CG */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TA C G ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA C T ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA G A ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA G C ..CG */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TA G G ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA G T ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA T A ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA T C ..CG */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TA T G ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA T T ..CG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA A A ..GC */ + 130 130 110 90 /* A */ + 130 130 110 90 /* C */ + 130 130 110 90 /* G */ + 130 130 110 90 /* T */ +/* TA A C ..GC */ + 180 180 160 140 /* A */ + 180 180 160 140 /* C */ + 180 180 160 140 /* G */ + 180 180 160 140 /* T */ +/* TA A G ..GC */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA A T ..GC */ + 150 150 130 110 /* A */ + 150 150 130 110 /* C */ + 150 150 130 110 /* G */ + 150 150 130 110 /* T */ +/* TA C A ..GC */ + 130 130 110 90 /* A */ + 130 130 110 90 /* C */ + 130 130 110 90 /* G */ + 130 130 110 90 /* T */ +/* TA C C ..GC */ + 180 180 160 140 /* A */ + 180 180 160 140 /* C */ + 180 180 160 140 /* G */ + 180 180 160 140 /* T */ +/* TA C G ..GC */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA C T ..GC */ + 150 150 130 110 /* A */ + 150 150 130 110 /* C */ + 150 150 130 110 /* G */ + 150 150 130 110 /* T */ +/* TA G A ..GC */ + 130 130 110 90 /* A */ + 130 130 110 90 /* C */ + 130 130 110 90 /* G */ + 130 130 110 90 /* T */ +/* TA G C ..GC */ + 180 180 160 140 /* A */ + 180 180 160 140 /* C */ + 180 180 160 140 /* G */ + 180 180 160 140 /* T */ +/* TA G G ..GC */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA G T ..GC */ + 150 150 130 110 /* A */ + 150 150 130 110 /* C */ + 150 150 130 110 /* G */ + 150 150 130 110 /* T */ +/* TA T A ..GC */ + 130 130 110 90 /* A */ + 130 130 110 90 /* C */ + 130 130 110 90 /* G */ + 130 130 110 90 /* T */ +/* TA T C ..GC */ + 180 180 160 140 /* A */ + 180 180 160 140 /* C */ + 180 180 160 140 /* G */ + 180 180 160 140 /* T */ +/* TA T G ..GC */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA T T ..GC */ + 150 150 130 110 /* A */ + 150 150 130 110 /* C */ + 150 150 130 110 /* G */ + 150 150 130 110 /* T */ +/* TA A A ..GT */ + 150 150 130 110 /* A */ + 150 150 130 110 /* C */ + 150 150 130 110 /* G */ + 150 150 130 110 /* T */ +/* TA A C ..GT */ + 200 200 180 160 /* A */ + 200 200 180 160 /* C */ + 200 200 180 160 /* G */ + 200 200 180 160 /* T */ +/* TA A G ..GT */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TA A T ..GT */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA C A ..GT */ + 150 150 130 110 /* A */ + 150 150 130 110 /* C */ + 150 150 130 110 /* G */ + 150 150 130 110 /* T */ +/* TA C C ..GT */ + 200 200 180 160 /* A */ + 200 200 180 160 /* C */ + 200 200 180 160 /* G */ + 200 200 180 160 /* T */ +/* TA C G ..GT */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TA C T ..GT */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA G A ..GT */ + 150 150 130 110 /* A */ + 150 150 130 110 /* C */ + 150 150 130 110 /* G */ + 150 150 130 110 /* T */ +/* TA G C ..GT */ + 200 200 180 160 /* A */ + 200 200 180 160 /* C */ + 200 200 180 160 /* G */ + 200 200 180 160 /* T */ +/* TA G G ..GT */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TA G T ..GT */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA T A ..GT */ + 150 150 130 110 /* A */ + 150 150 130 110 /* C */ + 150 150 130 110 /* G */ + 150 150 130 110 /* T */ +/* TA T C ..GT */ + 200 200 180 160 /* A */ + 200 200 180 160 /* C */ + 200 200 180 160 /* G */ + 200 200 180 160 /* T */ +/* TA T G ..GT */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TA T T ..GT */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA A A ..TG */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TA A C ..TG */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TA A G ..TG */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TA A T ..TG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA C A ..TG */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TA C C ..TG */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TA C G ..TG */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TA C T ..TG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA G A ..TG */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TA G C ..TG */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TA G G ..TG */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TA G T ..TG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA T A ..TG */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TA T C ..TG */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TA T G ..TG */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TA T T ..TG */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA A A ..AT */ + 220 220 200 180 /* A */ + 220 220 200 180 /* C */ + 220 220 200 180 /* G */ + 220 220 200 180 /* T */ +/* TA A C ..AT */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TA A G ..AT */ + 320 320 300 280 /* A */ + 320 320 300 280 /* C */ + 320 320 300 280 /* G */ + 320 320 300 280 /* T */ +/* TA A T ..AT */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TA C A ..AT */ + 220 220 200 180 /* A */ + 220 220 200 180 /* C */ + 220 220 200 180 /* G */ + 220 220 200 180 /* T */ +/* TA C C ..AT */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TA C G ..AT */ + 320 320 300 280 /* A */ + 320 320 300 280 /* C */ + 320 320 300 280 /* G */ + 320 320 300 280 /* T */ +/* TA C T ..AT */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TA G A ..AT */ + 220 220 200 180 /* A */ + 220 220 200 180 /* C */ + 220 220 200 180 /* G */ + 220 220 200 180 /* T */ +/* TA G C ..AT */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TA G G ..AT */ + 320 320 300 280 /* A */ + 320 320 300 280 /* C */ + 320 320 300 280 /* G */ + 320 320 300 280 /* T */ +/* TA G T ..AT */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TA T A ..AT */ + 220 220 200 180 /* A */ + 220 220 200 180 /* C */ + 220 220 200 180 /* G */ + 220 220 200 180 /* T */ +/* TA T C ..AT */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TA T G ..AT */ + 320 320 300 280 /* A */ + 320 320 300 280 /* C */ + 320 320 300 280 /* G */ + 320 320 300 280 /* T */ +/* TA T T ..AT */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TA A A ..TA */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TA A C ..TA */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TA A G ..TA */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TA A T ..TA */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA C A ..TA */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TA C C ..TA */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TA C G ..TA */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TA C T ..TA */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA G A ..TA */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TA G C ..TA */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TA G G ..TA */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TA G T ..TA */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA T A ..TA */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TA T C ..TA */ + 210 210 190 170 /* A */ + 210 210 190 170 /* C */ + 210 210 190 170 /* G */ + 210 210 190 170 /* T */ +/* TA T G ..TA */ + 190 190 170 150 /* A */ + 190 190 170 150 /* C */ + 190 190 170 150 /* G */ + 190 190 170 150 /* T */ +/* TA T T ..TA */ + 170 170 150 130 /* A */ + 170 170 150 130 /* C */ + 170 170 150 130 /* G */ + 170 170 150 130 /* T */ +/* TA A A ..NN */ + 220 220 200 180 /* A */ + 220 220 200 180 /* C */ + 220 220 200 180 /* G */ + 220 220 200 180 /* T */ +/* TA A C ..NN */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TA A G ..NN */ + 320 320 300 280 /* A */ + 320 320 300 280 /* C */ + 320 320 300 280 /* G */ + 320 320 300 280 /* T */ +/* TA A T ..NN */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TA C A ..NN */ + 220 220 200 180 /* A */ + 220 220 200 180 /* C */ + 220 220 200 180 /* G */ + 220 220 200 180 /* T */ +/* TA C C ..NN */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TA C G ..NN */ + 320 320 300 280 /* A */ + 320 320 300 280 /* C */ + 320 320 300 280 /* G */ + 320 320 300 280 /* T */ +/* TA C T ..NN */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TA G A ..NN */ + 220 220 200 180 /* A */ + 220 220 200 180 /* C */ + 220 220 200 180 /* G */ + 220 220 200 180 /* T */ +/* TA G C ..NN */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TA G G ..NN */ + 320 320 300 280 /* A */ + 320 320 300 280 /* C */ + 320 320 300 280 /* G */ + 320 320 300 280 /* T */ +/* TA G T ..NN */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TA T A ..NN */ + 220 220 200 180 /* A */ + 220 220 200 180 /* C */ + 220 220 200 180 /* G */ + 220 220 200 180 /* T */ +/* TA T C ..NN */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* TA T G ..NN */ + 320 320 300 280 /* A */ + 320 320 300 280 /* C */ + 320 320 300 280 /* G */ + 320 320 300 280 /* T */ +/* TA T T ..NN */ + 260 260 240 220 /* A */ + 260 260 240 220 /* C */ + 260 260 240 220 /* G */ + 260 260 240 220 /* T */ +/* NN A A ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN A C ..CG */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* NN A G ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN A T ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN C A ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN C C ..CG */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* NN C G ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN C T ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN G A ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN G C ..CG */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* NN G G ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN G T ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN T A ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN T C ..CG */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* NN T G ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN T T ..CG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN A A ..GC */ + 140 180 240 180 /* A */ + 140 180 240 180 /* C */ + 140 180 240 180 /* G */ + 140 180 240 180 /* T */ +/* NN A C ..GC */ + 190 230 290 230 /* A */ + 190 230 290 230 /* C */ + 190 230 290 230 /* G */ + 190 230 290 230 /* T */ +/* NN A G ..GC */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN A T ..GC */ + 160 200 260 200 /* A */ + 160 200 260 200 /* C */ + 160 200 260 200 /* G */ + 160 200 260 200 /* T */ +/* NN C A ..GC */ + 140 180 240 180 /* A */ + 140 180 240 180 /* C */ + 140 180 240 180 /* G */ + 140 180 240 180 /* T */ +/* NN C C ..GC */ + 190 230 290 230 /* A */ + 190 230 290 230 /* C */ + 190 230 290 230 /* G */ + 190 230 290 230 /* T */ +/* NN C G ..GC */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN C T ..GC */ + 160 200 260 200 /* A */ + 160 200 260 200 /* C */ + 160 200 260 200 /* G */ + 160 200 260 200 /* T */ +/* NN G A ..GC */ + 140 180 240 180 /* A */ + 140 180 240 180 /* C */ + 140 180 240 180 /* G */ + 140 180 240 180 /* T */ +/* NN G C ..GC */ + 190 230 290 230 /* A */ + 190 230 290 230 /* C */ + 190 230 290 230 /* G */ + 190 230 290 230 /* T */ +/* NN G G ..GC */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN G T ..GC */ + 160 200 260 200 /* A */ + 160 200 260 200 /* C */ + 160 200 260 200 /* G */ + 160 200 260 200 /* T */ +/* NN T A ..GC */ + 140 180 240 180 /* A */ + 140 180 240 180 /* C */ + 140 180 240 180 /* G */ + 140 180 240 180 /* T */ +/* NN T C ..GC */ + 190 230 290 230 /* A */ + 190 230 290 230 /* C */ + 190 230 290 230 /* G */ + 190 230 290 230 /* T */ +/* NN T G ..GC */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN T T ..GC */ + 160 200 260 200 /* A */ + 160 200 260 200 /* C */ + 160 200 260 200 /* G */ + 160 200 260 200 /* T */ +/* NN A A ..GT */ + 160 200 260 200 /* A */ + 160 200 260 200 /* C */ + 160 200 260 200 /* G */ + 160 200 260 200 /* T */ +/* NN A C ..GT */ + 210 250 310 250 /* A */ + 210 250 310 250 /* C */ + 210 250 310 250 /* G */ + 210 250 310 250 /* T */ +/* NN A G ..GT */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* NN A T ..GT */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN C A ..GT */ + 160 200 260 200 /* A */ + 160 200 260 200 /* C */ + 160 200 260 200 /* G */ + 160 200 260 200 /* T */ +/* NN C C ..GT */ + 210 250 310 250 /* A */ + 210 250 310 250 /* C */ + 210 250 310 250 /* G */ + 210 250 310 250 /* T */ +/* NN C G ..GT */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* NN C T ..GT */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN G A ..GT */ + 160 200 260 200 /* A */ + 160 200 260 200 /* C */ + 160 200 260 200 /* G */ + 160 200 260 200 /* T */ +/* NN G C ..GT */ + 210 250 310 250 /* A */ + 210 250 310 250 /* C */ + 210 250 310 250 /* G */ + 210 250 310 250 /* T */ +/* NN G G ..GT */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* NN G T ..GT */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN T A ..GT */ + 160 200 260 200 /* A */ + 160 200 260 200 /* C */ + 160 200 260 200 /* G */ + 160 200 260 200 /* T */ +/* NN T C ..GT */ + 210 250 310 250 /* A */ + 210 250 310 250 /* C */ + 210 250 310 250 /* G */ + 210 250 310 250 /* T */ +/* NN T G ..GT */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* NN T T ..GT */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN A A ..TG */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* NN A C ..TG */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* NN A G ..TG */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* NN A T ..TG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN C A ..TG */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* NN C C ..TG */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* NN C G ..TG */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* NN C T ..TG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN G A ..TG */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* NN G C ..TG */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* NN G G ..TG */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* NN G T ..TG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN T A ..TG */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* NN T C ..TG */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* NN T G ..TG */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* NN T T ..TG */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN A A ..AT */ + 230 270 330 270 /* A */ + 230 270 330 270 /* C */ + 230 270 330 270 /* G */ + 230 270 330 270 /* T */ +/* NN A C ..AT */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* NN A G ..AT */ + 330 370 430 370 /* A */ + 330 370 430 370 /* C */ + 330 370 430 370 /* G */ + 330 370 430 370 /* T */ +/* NN A T ..AT */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* NN C A ..AT */ + 230 270 330 270 /* A */ + 230 270 330 270 /* C */ + 230 270 330 270 /* G */ + 230 270 330 270 /* T */ +/* NN C C ..AT */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* NN C G ..AT */ + 330 370 430 370 /* A */ + 330 370 430 370 /* C */ + 330 370 430 370 /* G */ + 330 370 430 370 /* T */ +/* NN C T ..AT */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* NN G A ..AT */ + 230 270 330 270 /* A */ + 230 270 330 270 /* C */ + 230 270 330 270 /* G */ + 230 270 330 270 /* T */ +/* NN G C ..AT */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* NN G G ..AT */ + 330 370 430 370 /* A */ + 330 370 430 370 /* C */ + 330 370 430 370 /* G */ + 330 370 430 370 /* T */ +/* NN G T ..AT */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* NN T A ..AT */ + 230 270 330 270 /* A */ + 230 270 330 270 /* C */ + 230 270 330 270 /* G */ + 230 270 330 270 /* T */ +/* NN T C ..AT */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* NN T G ..AT */ + 330 370 430 370 /* A */ + 330 370 430 370 /* C */ + 330 370 430 370 /* G */ + 330 370 430 370 /* T */ +/* NN T T ..AT */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* NN A A ..TA */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* NN A C ..TA */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* NN A G ..TA */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* NN A T ..TA */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN C A ..TA */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* NN C C ..TA */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* NN C G ..TA */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* NN C T ..TA */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN G A ..TA */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* NN G C ..TA */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* NN G G ..TA */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* NN G T ..TA */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN T A ..TA */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* NN T C ..TA */ + 220 260 320 260 /* A */ + 220 260 320 260 /* C */ + 220 260 320 260 /* G */ + 220 260 320 260 /* T */ +/* NN T G ..TA */ + 200 240 300 240 /* A */ + 200 240 300 240 /* C */ + 200 240 300 240 /* G */ + 200 240 300 240 /* T */ +/* NN T T ..TA */ + 180 220 280 220 /* A */ + 180 220 280 220 /* C */ + 180 220 280 220 /* G */ + 180 220 280 220 /* T */ +/* NN A A ..NN */ + 230 270 330 270 /* A */ + 230 270 330 270 /* C */ + 230 270 330 270 /* G */ + 230 270 330 270 /* T */ +/* NN A C ..NN */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* NN A G ..NN */ + 330 370 430 370 /* A */ + 330 370 430 370 /* C */ + 330 370 430 370 /* G */ + 330 370 430 370 /* T */ +/* NN A T ..NN */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* NN C A ..NN */ + 230 270 330 270 /* A */ + 230 270 330 270 /* C */ + 230 270 330 270 /* G */ + 230 270 330 270 /* T */ +/* NN C C ..NN */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* NN C G ..NN */ + 330 370 430 370 /* A */ + 330 370 430 370 /* C */ + 330 370 430 370 /* G */ + 330 370 430 370 /* T */ +/* NN C T ..NN */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* NN G A ..NN */ + 230 270 330 270 /* A */ + 230 270 330 270 /* C */ + 230 270 330 270 /* G */ + 230 270 330 270 /* T */ +/* NN G C ..NN */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* NN G G ..NN */ + 330 370 430 370 /* A */ + 330 370 430 370 /* C */ + 330 370 430 370 /* G */ + 330 370 430 370 /* T */ +/* NN G T ..NN */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* NN T A ..NN */ + 230 270 330 270 /* A */ + 230 270 330 270 /* C */ + 230 270 330 270 /* G */ + 230 270 330 270 /* T */ +/* NN T C ..NN */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ +/* NN T G ..NN */ + 330 370 430 370 /* A */ + 330 370 430 370 /* C */ + 330 370 430 370 /* G */ + 330 370 430 370 /* T */ +/* NN T T ..NN */ + 270 310 370 310 /* A */ + 270 310 370 310 /* C */ + 270 310 370 310 /* G */ + 270 310 370 310 /* T */ + +# int22_enthalpies +/* CG A A ..CG */ + -920 -880 -930 -960 /* A */ + -920 -880 -930 -960 /* C */ + -920 -880 -930 -960 /* G */ + -920 -880 -930 -960 /* T */ +/* CG A C ..CG */ + -880 -840 -890 -920 /* A */ + -880 -840 -890 -920 /* C */ + -880 -840 -890 -920 /* G */ + -880 -840 -890 -920 /* T */ +/* CG A G ..CG */ + -930 -890 -940 -970 /* A */ + -930 -890 -940 -970 /* C */ + -930 -890 -940 -970 /* G */ + -930 -890 -940 -970 /* T */ +/* CG A T ..CG */ + -960 -920 -970 -1000 /* A */ + -960 -920 -970 -1000 /* C */ + -960 -920 -970 -1000 /* G */ + -960 -920 -970 -1000 /* T */ +/* CG C A ..CG */ + -920 -880 -930 -960 /* A */ + -920 -880 -930 -960 /* C */ + -920 -880 -930 -960 /* G */ + -920 -880 -930 -960 /* T */ +/* CG C C ..CG */ + -880 -840 -890 -920 /* A */ + -880 -840 -890 -920 /* C */ + -880 -840 -890 -920 /* G */ + -880 -840 -890 -920 /* T */ +/* CG C G ..CG */ + -930 -890 -940 -970 /* A */ + -930 -890 -940 -970 /* C */ + -930 -890 -940 -970 /* G */ + -930 -890 -940 -970 /* T */ +/* CG C T ..CG */ + -960 -920 -970 -1000 /* A */ + -960 -920 -970 -1000 /* C */ + -960 -920 -970 -1000 /* G */ + -960 -920 -970 -1000 /* T */ +/* CG G A ..CG */ + -920 -880 -930 -960 /* A */ + -920 -880 -930 -960 /* C */ + -920 -880 -930 -960 /* G */ + -920 -880 -930 -960 /* T */ +/* CG G C ..CG */ + -880 -840 -890 -920 /* A */ + -880 -840 -890 -920 /* C */ + -880 -840 -890 -920 /* G */ + -880 -840 -890 -920 /* T */ +/* CG G G ..CG */ + -930 -890 -940 -970 /* A */ + -930 -890 -940 -970 /* C */ + -930 -890 -940 -970 /* G */ + -930 -890 -940 -970 /* T */ +/* CG G T ..CG */ + -960 -920 -970 -1000 /* A */ + -960 -920 -970 -1000 /* C */ + -960 -920 -970 -1000 /* G */ + -960 -920 -970 -1000 /* T */ +/* CG T A ..CG */ + -920 -880 -930 -960 /* A */ + -920 -880 -930 -960 /* C */ + -920 -880 -930 -960 /* G */ + -920 -880 -930 -960 /* T */ +/* CG T C ..CG */ + -880 -840 -890 -920 /* A */ + -880 -840 -890 -920 /* C */ + -880 -840 -890 -920 /* G */ + -880 -840 -890 -920 /* T */ +/* CG T G ..CG */ + -930 -890 -940 -970 /* A */ + -930 -890 -940 -970 /* C */ + -930 -890 -940 -970 /* G */ + -930 -890 -940 -970 /* T */ +/* CG T T ..CG */ + -960 -920 -970 -1000 /* A */ + -960 -920 -970 -1000 /* C */ + -960 -920 -970 -1000 /* G */ + -960 -920 -970 -1000 /* T */ +/* CG A A ..GC */ + -1080 -1040 -1090 -1120 /* A */ + -1080 -1040 -1090 -1120 /* C */ + -1080 -1040 -1090 -1120 /* G */ + -1080 -1040 -1090 -1120 /* T */ +/* CG A C ..GC */ + -790 -750 -800 -830 /* A */ + -790 -750 -800 -830 /* C */ + -790 -750 -800 -830 /* G */ + -790 -750 -800 -830 /* T */ +/* CG A G ..GC */ + -970 -930 -980 -1010 /* A */ + -970 -930 -980 -1010 /* C */ + -970 -930 -980 -1010 /* G */ + -970 -930 -980 -1010 /* T */ +/* CG A T ..GC */ + -550 -510 -560 -590 /* A */ + -550 -510 -560 -590 /* C */ + -550 -510 -560 -590 /* G */ + -550 -510 -560 -590 /* T */ +/* CG C A ..GC */ + -1080 -1040 -1090 -1120 /* A */ + -1080 -1040 -1090 -1120 /* C */ + -1080 -1040 -1090 -1120 /* G */ + -1080 -1040 -1090 -1120 /* T */ +/* CG C C ..GC */ + -790 -750 -800 -830 /* A */ + -790 -750 -800 -830 /* C */ + -790 -750 -800 -830 /* G */ + -790 -750 -800 -830 /* T */ +/* CG C G ..GC */ + -970 -930 -980 -1010 /* A */ + -970 -930 -980 -1010 /* C */ + -970 -930 -980 -1010 /* G */ + -970 -930 -980 -1010 /* T */ +/* CG C T ..GC */ + -550 -510 -560 -590 /* A */ + -550 -510 -560 -590 /* C */ + -550 -510 -560 -590 /* G */ + -550 -510 -560 -590 /* T */ +/* CG G A ..GC */ + -1080 -1040 -1090 -1120 /* A */ + -1080 -1040 -1090 -1120 /* C */ + -1080 -1040 -1090 -1120 /* G */ + -1080 -1040 -1090 -1120 /* T */ +/* CG G C ..GC */ + -790 -750 -800 -830 /* A */ + -790 -750 -800 -830 /* C */ + -790 -750 -800 -830 /* G */ + -790 -750 -800 -830 /* T */ +/* CG G G ..GC */ + -970 -930 -980 -1010 /* A */ + -970 -930 -980 -1010 /* C */ + -970 -930 -980 -1010 /* G */ + -970 -930 -980 -1010 /* T */ +/* CG G T ..GC */ + -550 -510 -560 -590 /* A */ + -550 -510 -560 -590 /* C */ + -550 -510 -560 -590 /* G */ + -550 -510 -560 -590 /* T */ +/* CG T A ..GC */ + -1080 -1040 -1090 -1120 /* A */ + -1080 -1040 -1090 -1120 /* C */ + -1080 -1040 -1090 -1120 /* G */ + -1080 -1040 -1090 -1120 /* T */ +/* CG T C ..GC */ + -790 -750 -800 -830 /* A */ + -790 -750 -800 -830 /* C */ + -790 -750 -800 -830 /* G */ + -790 -750 -800 -830 /* T */ +/* CG T G ..GC */ + -970 -930 -980 -1010 /* A */ + -970 -930 -980 -1010 /* C */ + -970 -930 -980 -1010 /* G */ + -970 -930 -980 -1010 /* T */ +/* CG T T ..GC */ + -550 -510 -560 -590 /* A */ + -550 -510 -560 -590 /* C */ + -550 -510 -560 -590 /* G */ + -550 -510 -560 -590 /* T */ +/* CG A A ..GT */ + -760 -720 -770 -800 /* A */ + -760 -720 -770 -800 /* C */ + -760 -720 -770 -800 /* G */ + -760 -720 -770 -800 /* T */ +/* CG A C ..GT */ + -470 -430 -480 -510 /* A */ + -470 -430 -480 -510 /* C */ + -470 -430 -480 -510 /* G */ + -470 -430 -480 -510 /* T */ +/* CG A G ..GT */ + -650 -610 -660 -690 /* A */ + -650 -610 -660 -690 /* C */ + -650 -610 -660 -690 /* G */ + -650 -610 -660 -690 /* T */ +/* CG A T ..GT */ + -230 -190 -240 -270 /* A */ + -230 -190 -240 -270 /* C */ + -230 -190 -240 -270 /* G */ + -230 -190 -240 -270 /* T */ +/* CG C A ..GT */ + -760 -720 -770 -800 /* A */ + -760 -720 -770 -800 /* C */ + -760 -720 -770 -800 /* G */ + -760 -720 -770 -800 /* T */ +/* CG C C ..GT */ + -470 -430 -480 -510 /* A */ + -470 -430 -480 -510 /* C */ + -470 -430 -480 -510 /* G */ + -470 -430 -480 -510 /* T */ +/* CG C G ..GT */ + -650 -610 -660 -690 /* A */ + -650 -610 -660 -690 /* C */ + -650 -610 -660 -690 /* G */ + -650 -610 -660 -690 /* T */ +/* CG C T ..GT */ + -230 -190 -240 -270 /* A */ + -230 -190 -240 -270 /* C */ + -230 -190 -240 -270 /* G */ + -230 -190 -240 -270 /* T */ +/* CG G A ..GT */ + -760 -720 -770 -800 /* A */ + -760 -720 -770 -800 /* C */ + -760 -720 -770 -800 /* G */ + -760 -720 -770 -800 /* T */ +/* CG G C ..GT */ + -470 -430 -480 -510 /* A */ + -470 -430 -480 -510 /* C */ + -470 -430 -480 -510 /* G */ + -470 -430 -480 -510 /* T */ +/* CG G G ..GT */ + -650 -610 -660 -690 /* A */ + -650 -610 -660 -690 /* C */ + -650 -610 -660 -690 /* G */ + -650 -610 -660 -690 /* T */ +/* CG G T ..GT */ + -230 -190 -240 -270 /* A */ + -230 -190 -240 -270 /* C */ + -230 -190 -240 -270 /* G */ + -230 -190 -240 -270 /* T */ +/* CG T A ..GT */ + -760 -720 -770 -800 /* A */ + -760 -720 -770 -800 /* C */ + -760 -720 -770 -800 /* G */ + -760 -720 -770 -800 /* T */ +/* CG T C ..GT */ + -470 -430 -480 -510 /* A */ + -470 -430 -480 -510 /* C */ + -470 -430 -480 -510 /* G */ + -470 -430 -480 -510 /* T */ +/* CG T G ..GT */ + -650 -610 -660 -690 /* A */ + -650 -610 -660 -690 /* C */ + -650 -610 -660 -690 /* G */ + -650 -610 -660 -690 /* T */ +/* CG T T ..GT */ + -230 -190 -240 -270 /* A */ + -230 -190 -240 -270 /* C */ + -230 -190 -240 -270 /* G */ + -230 -190 -240 -270 /* T */ +/* CG A A ..TG */ + -230 -190 -240 -270 /* A */ + -230 -190 -240 -270 /* C */ + -230 -190 -240 -270 /* G */ + -230 -190 -240 -270 /* T */ +/* CG A C ..TG */ + -200 -160 -210 -240 /* A */ + -200 -160 -210 -240 /* C */ + -200 -160 -210 -240 /* G */ + -200 -160 -210 -240 /* T */ +/* CG A G ..TG */ + -390 -350 -400 -430 /* A */ + -390 -350 -400 -430 /* C */ + -390 -350 -400 -430 /* G */ + -390 -350 -400 -430 /* T */ +/* CG A T ..TG */ + -1040 -1000 -1050 -1080 /* A */ + -1040 -1000 -1050 -1080 /* C */ + -1040 -1000 -1050 -1080 /* G */ + -1040 -1000 -1050 -1080 /* T */ +/* CG C A ..TG */ + -230 -190 -240 -270 /* A */ + -230 -190 -240 -270 /* C */ + -230 -190 -240 -270 /* G */ + -230 -190 -240 -270 /* T */ +/* CG C C ..TG */ + -200 -160 -210 -240 /* A */ + -200 -160 -210 -240 /* C */ + -200 -160 -210 -240 /* G */ + -200 -160 -210 -240 /* T */ +/* CG C G ..TG */ + -390 -350 -400 -430 /* A */ + -390 -350 -400 -430 /* C */ + -390 -350 -400 -430 /* G */ + -390 -350 -400 -430 /* T */ +/* CG C T ..TG */ + -1040 -1000 -1050 -1080 /* A */ + -1040 -1000 -1050 -1080 /* C */ + -1040 -1000 -1050 -1080 /* G */ + -1040 -1000 -1050 -1080 /* T */ +/* CG G A ..TG */ + -230 -190 -240 -270 /* A */ + -230 -190 -240 -270 /* C */ + -230 -190 -240 -270 /* G */ + -230 -190 -240 -270 /* T */ +/* CG G C ..TG */ + -200 -160 -210 -240 /* A */ + -200 -160 -210 -240 /* C */ + -200 -160 -210 -240 /* G */ + -200 -160 -210 -240 /* T */ +/* CG G G ..TG */ + -390 -350 -400 -430 /* A */ + -390 -350 -400 -430 /* C */ + -390 -350 -400 -430 /* G */ + -390 -350 -400 -430 /* T */ +/* CG G T ..TG */ + -1040 -1000 -1050 -1080 /* A */ + -1040 -1000 -1050 -1080 /* C */ + -1040 -1000 -1050 -1080 /* G */ + -1040 -1000 -1050 -1080 /* T */ +/* CG T A ..TG */ + -230 -190 -240 -270 /* A */ + -230 -190 -240 -270 /* C */ + -230 -190 -240 -270 /* G */ + -230 -190 -240 -270 /* T */ +/* CG T C ..TG */ + -200 -160 -210 -240 /* A */ + -200 -160 -210 -240 /* C */ + -200 -160 -210 -240 /* G */ + -200 -160 -210 -240 /* T */ +/* CG T G ..TG */ + -390 -350 -400 -430 /* A */ + -390 -350 -400 -430 /* C */ + -390 -350 -400 -430 /* G */ + -390 -350 -400 -430 /* T */ +/* CG T T ..TG */ + -1040 -1000 -1050 -1080 /* A */ + -1040 -1000 -1050 -1080 /* C */ + -1040 -1000 -1050 -1080 /* G */ + -1040 -1000 -1050 -1080 /* T */ +/* CG A A ..AT */ + -60 -20 -70 -100 /* A */ + -60 -20 -70 -100 /* C */ + -60 -20 -70 -100 /* G */ + -60 -20 -70 -100 /* T */ +/* CG A C ..AT */ + 60 100 50 20 /* A */ + 60 100 50 20 /* C */ + 60 100 50 20 /* G */ + 60 100 50 20 /* T */ +/* CG A G ..AT */ + 10 50 0 -30 /* A */ + 10 50 0 -30 /* C */ + 10 50 0 -30 /* G */ + 10 50 0 -30 /* T */ +/* CG A T ..AT */ + -30 10 -40 -70 /* A */ + -30 10 -40 -70 /* C */ + -30 10 -40 -70 /* G */ + -30 10 -40 -70 /* T */ +/* CG C A ..AT */ + -60 -20 -70 -100 /* A */ + -60 -20 -70 -100 /* C */ + -60 -20 -70 -100 /* G */ + -60 -20 -70 -100 /* T */ +/* CG C C ..AT */ + 60 100 50 20 /* A */ + 60 100 50 20 /* C */ + 60 100 50 20 /* G */ + 60 100 50 20 /* T */ +/* CG C G ..AT */ + 10 50 0 -30 /* A */ + 10 50 0 -30 /* C */ + 10 50 0 -30 /* G */ + 10 50 0 -30 /* T */ +/* CG C T ..AT */ + -30 10 -40 -70 /* A */ + -30 10 -40 -70 /* C */ + -30 10 -40 -70 /* G */ + -30 10 -40 -70 /* T */ +/* CG G A ..AT */ + -60 -20 -70 -100 /* A */ + -60 -20 -70 -100 /* C */ + -60 -20 -70 -100 /* G */ + -60 -20 -70 -100 /* T */ +/* CG G C ..AT */ + 60 100 50 20 /* A */ + 60 100 50 20 /* C */ + 60 100 50 20 /* G */ + 60 100 50 20 /* T */ +/* CG G G ..AT */ + 10 50 0 -30 /* A */ + 10 50 0 -30 /* C */ + 10 50 0 -30 /* G */ + 10 50 0 -30 /* T */ +/* CG G T ..AT */ + -30 10 -40 -70 /* A */ + -30 10 -40 -70 /* C */ + -30 10 -40 -70 /* G */ + -30 10 -40 -70 /* T */ +/* CG T A ..AT */ + -60 -20 -70 -100 /* A */ + -60 -20 -70 -100 /* C */ + -60 -20 -70 -100 /* G */ + -60 -20 -70 -100 /* T */ +/* CG T C ..AT */ + 60 100 50 20 /* A */ + 60 100 50 20 /* C */ + 60 100 50 20 /* G */ + 60 100 50 20 /* T */ +/* CG T G ..AT */ + 10 50 0 -30 /* A */ + 10 50 0 -30 /* C */ + 10 50 0 -30 /* G */ + 10 50 0 -30 /* T */ +/* CG T T ..AT */ + -30 10 -40 -70 /* A */ + -30 10 -40 -70 /* C */ + -30 10 -40 -70 /* G */ + -30 10 -40 -70 /* T */ +/* CG A A ..TA */ + -230 -190 -240 -270 /* A */ + -230 -190 -240 -270 /* C */ + -230 -190 -240 -270 /* G */ + -230 -190 -240 -270 /* T */ +/* CG A C ..TA */ + -200 -160 -210 -240 /* A */ + -200 -160 -210 -240 /* C */ + -200 -160 -210 -240 /* G */ + -200 -160 -210 -240 /* T */ +/* CG A G ..TA */ + -390 -350 -400 -430 /* A */ + -390 -350 -400 -430 /* C */ + -390 -350 -400 -430 /* G */ + -390 -350 -400 -430 /* T */ +/* CG A T ..TA */ + -1040 -1000 -1050 -1080 /* A */ + -1040 -1000 -1050 -1080 /* C */ + -1040 -1000 -1050 -1080 /* G */ + -1040 -1000 -1050 -1080 /* T */ +/* CG C A ..TA */ + -230 -190 -240 -270 /* A */ + -230 -190 -240 -270 /* C */ + -230 -190 -240 -270 /* G */ + -230 -190 -240 -270 /* T */ +/* CG C C ..TA */ + -200 -160 -210 -240 /* A */ + -200 -160 -210 -240 /* C */ + -200 -160 -210 -240 /* G */ + -200 -160 -210 -240 /* T */ +/* CG C G ..TA */ + -390 -350 -400 -430 /* A */ + -390 -350 -400 -430 /* C */ + -390 -350 -400 -430 /* G */ + -390 -350 -400 -430 /* T */ +/* CG C T ..TA */ + -1040 -1000 -1050 -1080 /* A */ + -1040 -1000 -1050 -1080 /* C */ + -1040 -1000 -1050 -1080 /* G */ + -1040 -1000 -1050 -1080 /* T */ +/* CG G A ..TA */ + -230 -190 -240 -270 /* A */ + -230 -190 -240 -270 /* C */ + -230 -190 -240 -270 /* G */ + -230 -190 -240 -270 /* T */ +/* CG G C ..TA */ + -200 -160 -210 -240 /* A */ + -200 -160 -210 -240 /* C */ + -200 -160 -210 -240 /* G */ + -200 -160 -210 -240 /* T */ +/* CG G G ..TA */ + -390 -350 -400 -430 /* A */ + -390 -350 -400 -430 /* C */ + -390 -350 -400 -430 /* G */ + -390 -350 -400 -430 /* T */ +/* CG G T ..TA */ + -1040 -1000 -1050 -1080 /* A */ + -1040 -1000 -1050 -1080 /* C */ + -1040 -1000 -1050 -1080 /* G */ + -1040 -1000 -1050 -1080 /* T */ +/* CG T A ..TA */ + -230 -190 -240 -270 /* A */ + -230 -190 -240 -270 /* C */ + -230 -190 -240 -270 /* G */ + -230 -190 -240 -270 /* T */ +/* CG T C ..TA */ + -200 -160 -210 -240 /* A */ + -200 -160 -210 -240 /* C */ + -200 -160 -210 -240 /* G */ + -200 -160 -210 -240 /* T */ +/* CG T G ..TA */ + -390 -350 -400 -430 /* A */ + -390 -350 -400 -430 /* C */ + -390 -350 -400 -430 /* G */ + -390 -350 -400 -430 /* T */ +/* CG T T ..TA */ + -1040 -1000 -1050 -1080 /* A */ + -1040 -1000 -1050 -1080 /* C */ + -1040 -1000 -1050 -1080 /* G */ + -1040 -1000 -1050 -1080 /* T */ +/* CG A A ..NN */ + -60 -20 -70 -100 /* A */ + -60 -20 -70 -100 /* C */ + -60 -20 -70 -100 /* G */ + -60 -20 -70 -100 /* T */ +/* CG A C ..NN */ + 60 100 50 20 /* A */ + 60 100 50 20 /* C */ + 60 100 50 20 /* G */ + 60 100 50 20 /* T */ +/* CG A G ..NN */ + 10 50 0 -30 /* A */ + 10 50 0 -30 /* C */ + 10 50 0 -30 /* G */ + 10 50 0 -30 /* T */ +/* CG A T ..NN */ + -30 10 -40 -70 /* A */ + -30 10 -40 -70 /* C */ + -30 10 -40 -70 /* G */ + -30 10 -40 -70 /* T */ +/* CG C A ..NN */ + -60 -20 -70 -100 /* A */ + -60 -20 -70 -100 /* C */ + -60 -20 -70 -100 /* G */ + -60 -20 -70 -100 /* T */ +/* CG C C ..NN */ + 60 100 50 20 /* A */ + 60 100 50 20 /* C */ + 60 100 50 20 /* G */ + 60 100 50 20 /* T */ +/* CG C G ..NN */ + 10 50 0 -30 /* A */ + 10 50 0 -30 /* C */ + 10 50 0 -30 /* G */ + 10 50 0 -30 /* T */ +/* CG C T ..NN */ + -30 10 -40 -70 /* A */ + -30 10 -40 -70 /* C */ + -30 10 -40 -70 /* G */ + -30 10 -40 -70 /* T */ +/* CG G A ..NN */ + -60 -20 -70 -100 /* A */ + -60 -20 -70 -100 /* C */ + -60 -20 -70 -100 /* G */ + -60 -20 -70 -100 /* T */ +/* CG G C ..NN */ + 60 100 50 20 /* A */ + 60 100 50 20 /* C */ + 60 100 50 20 /* G */ + 60 100 50 20 /* T */ +/* CG G G ..NN */ + 10 50 0 -30 /* A */ + 10 50 0 -30 /* C */ + 10 50 0 -30 /* G */ + 10 50 0 -30 /* T */ +/* CG G T ..NN */ + -30 10 -40 -70 /* A */ + -30 10 -40 -70 /* C */ + -30 10 -40 -70 /* G */ + -30 10 -40 -70 /* T */ +/* CG T A ..NN */ + -60 -20 -70 -100 /* A */ + -60 -20 -70 -100 /* C */ + -60 -20 -70 -100 /* G */ + -60 -20 -70 -100 /* T */ +/* CG T C ..NN */ + 60 100 50 20 /* A */ + 60 100 50 20 /* C */ + 60 100 50 20 /* G */ + 60 100 50 20 /* T */ +/* CG T G ..NN */ + 10 50 0 -30 /* A */ + 10 50 0 -30 /* C */ + 10 50 0 -30 /* G */ + 10 50 0 -30 /* T */ +/* CG T T ..NN */ + -30 10 -40 -70 /* A */ + -30 10 -40 -70 /* C */ + -30 10 -40 -70 /* G */ + -30 10 -40 -70 /* T */ +/* GC A A ..CG */ + -1080 -790 -970 -550 /* A */ + -1080 -790 -970 -550 /* C */ + -1080 -790 -970 -550 /* G */ + -1080 -790 -970 -550 /* T */ +/* GC A C ..CG */ + -1040 -750 -930 -510 /* A */ + -1040 -750 -930 -510 /* C */ + -1040 -750 -930 -510 /* G */ + -1040 -750 -930 -510 /* T */ +/* GC A G ..CG */ + -1090 -800 -980 -560 /* A */ + -1090 -800 -980 -560 /* C */ + -1090 -800 -980 -560 /* G */ + -1090 -800 -980 -560 /* T */ +/* GC A T ..CG */ + -1120 -830 -1010 -590 /* A */ + -1120 -830 -1010 -590 /* C */ + -1120 -830 -1010 -590 /* G */ + -1120 -830 -1010 -590 /* T */ +/* GC C A ..CG */ + -1080 -790 -970 -550 /* A */ + -1080 -790 -970 -550 /* C */ + -1080 -790 -970 -550 /* G */ + -1080 -790 -970 -550 /* T */ +/* GC C C ..CG */ + -1040 -750 -930 -510 /* A */ + -1040 -750 -930 -510 /* C */ + -1040 -750 -930 -510 /* G */ + -1040 -750 -930 -510 /* T */ +/* GC C G ..CG */ + -1090 -800 -980 -560 /* A */ + -1090 -800 -980 -560 /* C */ + -1090 -800 -980 -560 /* G */ + -1090 -800 -980 -560 /* T */ +/* GC C T ..CG */ + -1120 -830 -1010 -590 /* A */ + -1120 -830 -1010 -590 /* C */ + -1120 -830 -1010 -590 /* G */ + -1120 -830 -1010 -590 /* T */ +/* GC G A ..CG */ + -1080 -790 -970 -550 /* A */ + -1080 -790 -970 -550 /* C */ + -1080 -790 -970 -550 /* G */ + -1080 -790 -970 -550 /* T */ +/* GC G C ..CG */ + -1040 -750 -930 -510 /* A */ + -1040 -750 -930 -510 /* C */ + -1040 -750 -930 -510 /* G */ + -1040 -750 -930 -510 /* T */ +/* GC G G ..CG */ + -1090 -800 -980 -560 /* A */ + -1090 -800 -980 -560 /* C */ + -1090 -800 -980 -560 /* G */ + -1090 -800 -980 -560 /* T */ +/* GC G T ..CG */ + -1120 -830 -1010 -590 /* A */ + -1120 -830 -1010 -590 /* C */ + -1120 -830 -1010 -590 /* G */ + -1120 -830 -1010 -590 /* T */ +/* GC T A ..CG */ + -1080 -790 -970 -550 /* A */ + -1080 -790 -970 -550 /* C */ + -1080 -790 -970 -550 /* G */ + -1080 -790 -970 -550 /* T */ +/* GC T C ..CG */ + -1040 -750 -930 -510 /* A */ + -1040 -750 -930 -510 /* C */ + -1040 -750 -930 -510 /* G */ + -1040 -750 -930 -510 /* T */ +/* GC T G ..CG */ + -1090 -800 -980 -560 /* A */ + -1090 -800 -980 -560 /* C */ + -1090 -800 -980 -560 /* G */ + -1090 -800 -980 -560 /* T */ +/* GC T T ..CG */ + -1120 -830 -1010 -590 /* A */ + -1120 -830 -1010 -590 /* C */ + -1120 -830 -1010 -590 /* G */ + -1120 -830 -1010 -590 /* T */ +/* GC A A ..GC */ + -1240 -950 -1130 -710 /* A */ + -1240 -950 -1130 -710 /* C */ + -1240 -950 -1130 -710 /* G */ + -1240 -950 -1130 -710 /* T */ +/* GC A C ..GC */ + -950 -660 -840 -420 /* A */ + -950 -660 -840 -420 /* C */ + -950 -660 -840 -420 /* G */ + -950 -660 -840 -420 /* T */ +/* GC A G ..GC */ + -1130 -840 -1020 -600 /* A */ + -1130 -840 -1020 -600 /* C */ + -1130 -840 -1020 -600 /* G */ + -1130 -840 -1020 -600 /* T */ +/* GC A T ..GC */ + -710 -420 -600 -180 /* A */ + -710 -420 -600 -180 /* C */ + -710 -420 -600 -180 /* G */ + -710 -420 -600 -180 /* T */ +/* GC C A ..GC */ + -1240 -950 -1130 -710 /* A */ + -1240 -950 -1130 -710 /* C */ + -1240 -950 -1130 -710 /* G */ + -1240 -950 -1130 -710 /* T */ +/* GC C C ..GC */ + -950 -660 -840 -420 /* A */ + -950 -660 -840 -420 /* C */ + -950 -660 -840 -420 /* G */ + -950 -660 -840 -420 /* T */ +/* GC C G ..GC */ + -1130 -840 -1020 -600 /* A */ + -1130 -840 -1020 -600 /* C */ + -1130 -840 -1020 -600 /* G */ + -1130 -840 -1020 -600 /* T */ +/* GC C T ..GC */ + -710 -420 -600 -180 /* A */ + -710 -420 -600 -180 /* C */ + -710 -420 -600 -180 /* G */ + -710 -420 -600 -180 /* T */ +/* GC G A ..GC */ + -1240 -950 -1130 -710 /* A */ + -1240 -950 -1130 -710 /* C */ + -1240 -950 -1130 -710 /* G */ + -1240 -950 -1130 -710 /* T */ +/* GC G C ..GC */ + -950 -660 -840 -420 /* A */ + -950 -660 -840 -420 /* C */ + -950 -660 -840 -420 /* G */ + -950 -660 -840 -420 /* T */ +/* GC G G ..GC */ + -1130 -840 -1020 -600 /* A */ + -1130 -840 -1020 -600 /* C */ + -1130 -840 -1020 -600 /* G */ + -1130 -840 -1020 -600 /* T */ +/* GC G T ..GC */ + -710 -420 -600 -180 /* A */ + -710 -420 -600 -180 /* C */ + -710 -420 -600 -180 /* G */ + -710 -420 -600 -180 /* T */ +/* GC T A ..GC */ + -1240 -950 -1130 -710 /* A */ + -1240 -950 -1130 -710 /* C */ + -1240 -950 -1130 -710 /* G */ + -1240 -950 -1130 -710 /* T */ +/* GC T C ..GC */ + -950 -660 -840 -420 /* A */ + -950 -660 -840 -420 /* C */ + -950 -660 -840 -420 /* G */ + -950 -660 -840 -420 /* T */ +/* GC T G ..GC */ + -1130 -840 -1020 -600 /* A */ + -1130 -840 -1020 -600 /* C */ + -1130 -840 -1020 -600 /* G */ + -1130 -840 -1020 -600 /* T */ +/* GC T T ..GC */ + -710 -420 -600 -180 /* A */ + -710 -420 -600 -180 /* C */ + -710 -420 -600 -180 /* G */ + -710 -420 -600 -180 /* T */ +/* GC A A ..GT */ + -920 -630 -810 -390 /* A */ + -920 -630 -810 -390 /* C */ + -920 -630 -810 -390 /* G */ + -920 -630 -810 -390 /* T */ +/* GC A C ..GT */ + -630 -340 -520 -100 /* A */ + -630 -340 -520 -100 /* C */ + -630 -340 -520 -100 /* G */ + -630 -340 -520 -100 /* T */ +/* GC A G ..GT */ + -810 -520 -700 -280 /* A */ + -810 -520 -700 -280 /* C */ + -810 -520 -700 -280 /* G */ + -810 -520 -700 -280 /* T */ +/* GC A T ..GT */ + -390 -100 -280 140 /* A */ + -390 -100 -280 140 /* C */ + -390 -100 -280 140 /* G */ + -390 -100 -280 140 /* T */ +/* GC C A ..GT */ + -920 -630 -810 -390 /* A */ + -920 -630 -810 -390 /* C */ + -920 -630 -810 -390 /* G */ + -920 -630 -810 -390 /* T */ +/* GC C C ..GT */ + -630 -340 -520 -100 /* A */ + -630 -340 -520 -100 /* C */ + -630 -340 -520 -100 /* G */ + -630 -340 -520 -100 /* T */ +/* GC C G ..GT */ + -810 -520 -700 -280 /* A */ + -810 -520 -700 -280 /* C */ + -810 -520 -700 -280 /* G */ + -810 -520 -700 -280 /* T */ +/* GC C T ..GT */ + -390 -100 -280 140 /* A */ + -390 -100 -280 140 /* C */ + -390 -100 -280 140 /* G */ + -390 -100 -280 140 /* T */ +/* GC G A ..GT */ + -920 -630 -810 -390 /* A */ + -920 -630 -810 -390 /* C */ + -920 -630 -810 -390 /* G */ + -920 -630 -810 -390 /* T */ +/* GC G C ..GT */ + -630 -340 -520 -100 /* A */ + -630 -340 -520 -100 /* C */ + -630 -340 -520 -100 /* G */ + -630 -340 -520 -100 /* T */ +/* GC G G ..GT */ + -810 -520 -700 -280 /* A */ + -810 -520 -700 -280 /* C */ + -810 -520 -700 -280 /* G */ + -810 -520 -700 -280 /* T */ +/* GC G T ..GT */ + -390 -100 -280 140 /* A */ + -390 -100 -280 140 /* C */ + -390 -100 -280 140 /* G */ + -390 -100 -280 140 /* T */ +/* GC T A ..GT */ + -920 -630 -810 -390 /* A */ + -920 -630 -810 -390 /* C */ + -920 -630 -810 -390 /* G */ + -920 -630 -810 -390 /* T */ +/* GC T C ..GT */ + -630 -340 -520 -100 /* A */ + -630 -340 -520 -100 /* C */ + -630 -340 -520 -100 /* G */ + -630 -340 -520 -100 /* T */ +/* GC T G ..GT */ + -810 -520 -700 -280 /* A */ + -810 -520 -700 -280 /* C */ + -810 -520 -700 -280 /* G */ + -810 -520 -700 -280 /* T */ +/* GC T T ..GT */ + -390 -100 -280 140 /* A */ + -390 -100 -280 140 /* C */ + -390 -100 -280 140 /* G */ + -390 -100 -280 140 /* T */ +/* GC A A ..TG */ + -390 -100 -280 140 /* A */ + -390 -100 -280 140 /* C */ + -390 -100 -280 140 /* G */ + -390 -100 -280 140 /* T */ +/* GC A C ..TG */ + -360 -70 -250 170 /* A */ + -360 -70 -250 170 /* C */ + -360 -70 -250 170 /* G */ + -360 -70 -250 170 /* T */ +/* GC A G ..TG */ + -550 -260 -440 -20 /* A */ + -550 -260 -440 -20 /* C */ + -550 -260 -440 -20 /* G */ + -550 -260 -440 -20 /* T */ +/* GC A T ..TG */ + -1200 -910 -1090 -670 /* A */ + -1200 -910 -1090 -670 /* C */ + -1200 -910 -1090 -670 /* G */ + -1200 -910 -1090 -670 /* T */ +/* GC C A ..TG */ + -390 -100 -280 140 /* A */ + -390 -100 -280 140 /* C */ + -390 -100 -280 140 /* G */ + -390 -100 -280 140 /* T */ +/* GC C C ..TG */ + -360 -70 -250 170 /* A */ + -360 -70 -250 170 /* C */ + -360 -70 -250 170 /* G */ + -360 -70 -250 170 /* T */ +/* GC C G ..TG */ + -550 -260 -440 -20 /* A */ + -550 -260 -440 -20 /* C */ + -550 -260 -440 -20 /* G */ + -550 -260 -440 -20 /* T */ +/* GC C T ..TG */ + -1200 -910 -1090 -670 /* A */ + -1200 -910 -1090 -670 /* C */ + -1200 -910 -1090 -670 /* G */ + -1200 -910 -1090 -670 /* T */ +/* GC G A ..TG */ + -390 -100 -280 140 /* A */ + -390 -100 -280 140 /* C */ + -390 -100 -280 140 /* G */ + -390 -100 -280 140 /* T */ +/* GC G C ..TG */ + -360 -70 -250 170 /* A */ + -360 -70 -250 170 /* C */ + -360 -70 -250 170 /* G */ + -360 -70 -250 170 /* T */ +/* GC G G ..TG */ + -550 -260 -440 -20 /* A */ + -550 -260 -440 -20 /* C */ + -550 -260 -440 -20 /* G */ + -550 -260 -440 -20 /* T */ +/* GC G T ..TG */ + -1200 -910 -1090 -670 /* A */ + -1200 -910 -1090 -670 /* C */ + -1200 -910 -1090 -670 /* G */ + -1200 -910 -1090 -670 /* T */ +/* GC T A ..TG */ + -390 -100 -280 140 /* A */ + -390 -100 -280 140 /* C */ + -390 -100 -280 140 /* G */ + -390 -100 -280 140 /* T */ +/* GC T C ..TG */ + -360 -70 -250 170 /* A */ + -360 -70 -250 170 /* C */ + -360 -70 -250 170 /* G */ + -360 -70 -250 170 /* T */ +/* GC T G ..TG */ + -550 -260 -440 -20 /* A */ + -550 -260 -440 -20 /* C */ + -550 -260 -440 -20 /* G */ + -550 -260 -440 -20 /* T */ +/* GC T T ..TG */ + -1200 -910 -1090 -670 /* A */ + -1200 -910 -1090 -670 /* C */ + -1200 -910 -1090 -670 /* G */ + -1200 -910 -1090 -670 /* T */ +/* GC A A ..AT */ + -220 70 -110 310 /* A */ + -220 70 -110 310 /* C */ + -220 70 -110 310 /* G */ + -220 70 -110 310 /* T */ +/* GC A C ..AT */ + -100 190 10 430 /* A */ + -100 190 10 430 /* C */ + -100 190 10 430 /* G */ + -100 190 10 430 /* T */ +/* GC A G ..AT */ + -150 140 -40 380 /* A */ + -150 140 -40 380 /* C */ + -150 140 -40 380 /* G */ + -150 140 -40 380 /* T */ +/* GC A T ..AT */ + -190 100 -80 340 /* A */ + -190 100 -80 340 /* C */ + -190 100 -80 340 /* G */ + -190 100 -80 340 /* T */ +/* GC C A ..AT */ + -220 70 -110 310 /* A */ + -220 70 -110 310 /* C */ + -220 70 -110 310 /* G */ + -220 70 -110 310 /* T */ +/* GC C C ..AT */ + -100 190 10 430 /* A */ + -100 190 10 430 /* C */ + -100 190 10 430 /* G */ + -100 190 10 430 /* T */ +/* GC C G ..AT */ + -150 140 -40 380 /* A */ + -150 140 -40 380 /* C */ + -150 140 -40 380 /* G */ + -150 140 -40 380 /* T */ +/* GC C T ..AT */ + -190 100 -80 340 /* A */ + -190 100 -80 340 /* C */ + -190 100 -80 340 /* G */ + -190 100 -80 340 /* T */ +/* GC G A ..AT */ + -220 70 -110 310 /* A */ + -220 70 -110 310 /* C */ + -220 70 -110 310 /* G */ + -220 70 -110 310 /* T */ +/* GC G C ..AT */ + -100 190 10 430 /* A */ + -100 190 10 430 /* C */ + -100 190 10 430 /* G */ + -100 190 10 430 /* T */ +/* GC G G ..AT */ + -150 140 -40 380 /* A */ + -150 140 -40 380 /* C */ + -150 140 -40 380 /* G */ + -150 140 -40 380 /* T */ +/* GC G T ..AT */ + -190 100 -80 340 /* A */ + -190 100 -80 340 /* C */ + -190 100 -80 340 /* G */ + -190 100 -80 340 /* T */ +/* GC T A ..AT */ + -220 70 -110 310 /* A */ + -220 70 -110 310 /* C */ + -220 70 -110 310 /* G */ + -220 70 -110 310 /* T */ +/* GC T C ..AT */ + -100 190 10 430 /* A */ + -100 190 10 430 /* C */ + -100 190 10 430 /* G */ + -100 190 10 430 /* T */ +/* GC T G ..AT */ + -150 140 -40 380 /* A */ + -150 140 -40 380 /* C */ + -150 140 -40 380 /* G */ + -150 140 -40 380 /* T */ +/* GC T T ..AT */ + -190 100 -80 340 /* A */ + -190 100 -80 340 /* C */ + -190 100 -80 340 /* G */ + -190 100 -80 340 /* T */ +/* GC A A ..TA */ + -390 -100 -280 140 /* A */ + -390 -100 -280 140 /* C */ + -390 -100 -280 140 /* G */ + -390 -100 -280 140 /* T */ +/* GC A C ..TA */ + -360 -70 -250 170 /* A */ + -360 -70 -250 170 /* C */ + -360 -70 -250 170 /* G */ + -360 -70 -250 170 /* T */ +/* GC A G ..TA */ + -550 -260 -440 -20 /* A */ + -550 -260 -440 -20 /* C */ + -550 -260 -440 -20 /* G */ + -550 -260 -440 -20 /* T */ +/* GC A T ..TA */ + -1200 -910 -1090 -670 /* A */ + -1200 -910 -1090 -670 /* C */ + -1200 -910 -1090 -670 /* G */ + -1200 -910 -1090 -670 /* T */ +/* GC C A ..TA */ + -390 -100 -280 140 /* A */ + -390 -100 -280 140 /* C */ + -390 -100 -280 140 /* G */ + -390 -100 -280 140 /* T */ +/* GC C C ..TA */ + -360 -70 -250 170 /* A */ + -360 -70 -250 170 /* C */ + -360 -70 -250 170 /* G */ + -360 -70 -250 170 /* T */ +/* GC C G ..TA */ + -550 -260 -440 -20 /* A */ + -550 -260 -440 -20 /* C */ + -550 -260 -440 -20 /* G */ + -550 -260 -440 -20 /* T */ +/* GC C T ..TA */ + -1200 -910 -1090 -670 /* A */ + -1200 -910 -1090 -670 /* C */ + -1200 -910 -1090 -670 /* G */ + -1200 -910 -1090 -670 /* T */ +/* GC G A ..TA */ + -390 -100 -280 140 /* A */ + -390 -100 -280 140 /* C */ + -390 -100 -280 140 /* G */ + -390 -100 -280 140 /* T */ +/* GC G C ..TA */ + -360 -70 -250 170 /* A */ + -360 -70 -250 170 /* C */ + -360 -70 -250 170 /* G */ + -360 -70 -250 170 /* T */ +/* GC G G ..TA */ + -550 -260 -440 -20 /* A */ + -550 -260 -440 -20 /* C */ + -550 -260 -440 -20 /* G */ + -550 -260 -440 -20 /* T */ +/* GC G T ..TA */ + -1200 -910 -1090 -670 /* A */ + -1200 -910 -1090 -670 /* C */ + -1200 -910 -1090 -670 /* G */ + -1200 -910 -1090 -670 /* T */ +/* GC T A ..TA */ + -390 -100 -280 140 /* A */ + -390 -100 -280 140 /* C */ + -390 -100 -280 140 /* G */ + -390 -100 -280 140 /* T */ +/* GC T C ..TA */ + -360 -70 -250 170 /* A */ + -360 -70 -250 170 /* C */ + -360 -70 -250 170 /* G */ + -360 -70 -250 170 /* T */ +/* GC T G ..TA */ + -550 -260 -440 -20 /* A */ + -550 -260 -440 -20 /* C */ + -550 -260 -440 -20 /* G */ + -550 -260 -440 -20 /* T */ +/* GC T T ..TA */ + -1200 -910 -1090 -670 /* A */ + -1200 -910 -1090 -670 /* C */ + -1200 -910 -1090 -670 /* G */ + -1200 -910 -1090 -670 /* T */ +/* GC A A ..NN */ + -220 70 -110 310 /* A */ + -220 70 -110 310 /* C */ + -220 70 -110 310 /* G */ + -220 70 -110 310 /* T */ +/* GC A C ..NN */ + -100 190 10 430 /* A */ + -100 190 10 430 /* C */ + -100 190 10 430 /* G */ + -100 190 10 430 /* T */ +/* GC A G ..NN */ + -150 140 -40 380 /* A */ + -150 140 -40 380 /* C */ + -150 140 -40 380 /* G */ + -150 140 -40 380 /* T */ +/* GC A T ..NN */ + -190 100 -80 340 /* A */ + -190 100 -80 340 /* C */ + -190 100 -80 340 /* G */ + -190 100 -80 340 /* T */ +/* GC C A ..NN */ + -220 70 -110 310 /* A */ + -220 70 -110 310 /* C */ + -220 70 -110 310 /* G */ + -220 70 -110 310 /* T */ +/* GC C C ..NN */ + -100 190 10 430 /* A */ + -100 190 10 430 /* C */ + -100 190 10 430 /* G */ + -100 190 10 430 /* T */ +/* GC C G ..NN */ + -150 140 -40 380 /* A */ + -150 140 -40 380 /* C */ + -150 140 -40 380 /* G */ + -150 140 -40 380 /* T */ +/* GC C T ..NN */ + -190 100 -80 340 /* A */ + -190 100 -80 340 /* C */ + -190 100 -80 340 /* G */ + -190 100 -80 340 /* T */ +/* GC G A ..NN */ + -220 70 -110 310 /* A */ + -220 70 -110 310 /* C */ + -220 70 -110 310 /* G */ + -220 70 -110 310 /* T */ +/* GC G C ..NN */ + -100 190 10 430 /* A */ + -100 190 10 430 /* C */ + -100 190 10 430 /* G */ + -100 190 10 430 /* T */ +/* GC G G ..NN */ + -150 140 -40 380 /* A */ + -150 140 -40 380 /* C */ + -150 140 -40 380 /* G */ + -150 140 -40 380 /* T */ +/* GC G T ..NN */ + -190 100 -80 340 /* A */ + -190 100 -80 340 /* C */ + -190 100 -80 340 /* G */ + -190 100 -80 340 /* T */ +/* GC T A ..NN */ + -220 70 -110 310 /* A */ + -220 70 -110 310 /* C */ + -220 70 -110 310 /* G */ + -220 70 -110 310 /* T */ +/* GC T C ..NN */ + -100 190 10 430 /* A */ + -100 190 10 430 /* C */ + -100 190 10 430 /* G */ + -100 190 10 430 /* T */ +/* GC T G ..NN */ + -150 140 -40 380 /* A */ + -150 140 -40 380 /* C */ + -150 140 -40 380 /* G */ + -150 140 -40 380 /* T */ +/* GC T T ..NN */ + -190 100 -80 340 /* A */ + -190 100 -80 340 /* C */ + -190 100 -80 340 /* G */ + -190 100 -80 340 /* T */ +/* GT A A ..CG */ + -760 -470 -650 -230 /* A */ + -760 -470 -650 -230 /* C */ + -760 -470 -650 -230 /* G */ + -760 -470 -650 -230 /* T */ +/* GT A C ..CG */ + -720 -430 -610 -190 /* A */ + -720 -430 -610 -190 /* C */ + -720 -430 -610 -190 /* G */ + -720 -430 -610 -190 /* T */ +/* GT A G ..CG */ + -770 -480 -660 -240 /* A */ + -770 -480 -660 -240 /* C */ + -770 -480 -660 -240 /* G */ + -770 -480 -660 -240 /* T */ +/* GT A T ..CG */ + -800 -510 -690 -270 /* A */ + -800 -510 -690 -270 /* C */ + -800 -510 -690 -270 /* G */ + -800 -510 -690 -270 /* T */ +/* GT C A ..CG */ + -760 -470 -650 -230 /* A */ + -760 -470 -650 -230 /* C */ + -760 -470 -650 -230 /* G */ + -760 -470 -650 -230 /* T */ +/* GT C C ..CG */ + -720 -430 -610 -190 /* A */ + -720 -430 -610 -190 /* C */ + -720 -430 -610 -190 /* G */ + -720 -430 -610 -190 /* T */ +/* GT C G ..CG */ + -770 -480 -660 -240 /* A */ + -770 -480 -660 -240 /* C */ + -770 -480 -660 -240 /* G */ + -770 -480 -660 -240 /* T */ +/* GT C T ..CG */ + -800 -510 -690 -270 /* A */ + -800 -510 -690 -270 /* C */ + -800 -510 -690 -270 /* G */ + -800 -510 -690 -270 /* T */ +/* GT G A ..CG */ + -760 -470 -650 -230 /* A */ + -760 -470 -650 -230 /* C */ + -760 -470 -650 -230 /* G */ + -760 -470 -650 -230 /* T */ +/* GT G C ..CG */ + -720 -430 -610 -190 /* A */ + -720 -430 -610 -190 /* C */ + -720 -430 -610 -190 /* G */ + -720 -430 -610 -190 /* T */ +/* GT G G ..CG */ + -770 -480 -660 -240 /* A */ + -770 -480 -660 -240 /* C */ + -770 -480 -660 -240 /* G */ + -770 -480 -660 -240 /* T */ +/* GT G T ..CG */ + -800 -510 -690 -270 /* A */ + -800 -510 -690 -270 /* C */ + -800 -510 -690 -270 /* G */ + -800 -510 -690 -270 /* T */ +/* GT T A ..CG */ + -760 -470 -650 -230 /* A */ + -760 -470 -650 -230 /* C */ + -760 -470 -650 -230 /* G */ + -760 -470 -650 -230 /* T */ +/* GT T C ..CG */ + -720 -430 -610 -190 /* A */ + -720 -430 -610 -190 /* C */ + -720 -430 -610 -190 /* G */ + -720 -430 -610 -190 /* T */ +/* GT T G ..CG */ + -770 -480 -660 -240 /* A */ + -770 -480 -660 -240 /* C */ + -770 -480 -660 -240 /* G */ + -770 -480 -660 -240 /* T */ +/* GT T T ..CG */ + -800 -510 -690 -270 /* A */ + -800 -510 -690 -270 /* C */ + -800 -510 -690 -270 /* G */ + -800 -510 -690 -270 /* T */ +/* GT A A ..GC */ + -920 -630 -810 -390 /* A */ + -920 -630 -810 -390 /* C */ + -920 -630 -810 -390 /* G */ + -920 -630 -810 -390 /* T */ +/* GT A C ..GC */ + -630 -340 -520 -100 /* A */ + -630 -340 -520 -100 /* C */ + -630 -340 -520 -100 /* G */ + -630 -340 -520 -100 /* T */ +/* GT A G ..GC */ + -810 -520 -700 -280 /* A */ + -810 -520 -700 -280 /* C */ + -810 -520 -700 -280 /* G */ + -810 -520 -700 -280 /* T */ +/* GT A T ..GC */ + -390 -100 -280 140 /* A */ + -390 -100 -280 140 /* C */ + -390 -100 -280 140 /* G */ + -390 -100 -280 140 /* T */ +/* GT C A ..GC */ + -920 -630 -810 -390 /* A */ + -920 -630 -810 -390 /* C */ + -920 -630 -810 -390 /* G */ + -920 -630 -810 -390 /* T */ +/* GT C C ..GC */ + -630 -340 -520 -100 /* A */ + -630 -340 -520 -100 /* C */ + -630 -340 -520 -100 /* G */ + -630 -340 -520 -100 /* T */ +/* GT C G ..GC */ + -810 -520 -700 -280 /* A */ + -810 -520 -700 -280 /* C */ + -810 -520 -700 -280 /* G */ + -810 -520 -700 -280 /* T */ +/* GT C T ..GC */ + -390 -100 -280 140 /* A */ + -390 -100 -280 140 /* C */ + -390 -100 -280 140 /* G */ + -390 -100 -280 140 /* T */ +/* GT G A ..GC */ + -920 -630 -810 -390 /* A */ + -920 -630 -810 -390 /* C */ + -920 -630 -810 -390 /* G */ + -920 -630 -810 -390 /* T */ +/* GT G C ..GC */ + -630 -340 -520 -100 /* A */ + -630 -340 -520 -100 /* C */ + -630 -340 -520 -100 /* G */ + -630 -340 -520 -100 /* T */ +/* GT G G ..GC */ + -810 -520 -700 -280 /* A */ + -810 -520 -700 -280 /* C */ + -810 -520 -700 -280 /* G */ + -810 -520 -700 -280 /* T */ +/* GT G T ..GC */ + -390 -100 -280 140 /* A */ + -390 -100 -280 140 /* C */ + -390 -100 -280 140 /* G */ + -390 -100 -280 140 /* T */ +/* GT T A ..GC */ + -920 -630 -810 -390 /* A */ + -920 -630 -810 -390 /* C */ + -920 -630 -810 -390 /* G */ + -920 -630 -810 -390 /* T */ +/* GT T C ..GC */ + -630 -340 -520 -100 /* A */ + -630 -340 -520 -100 /* C */ + -630 -340 -520 -100 /* G */ + -630 -340 -520 -100 /* T */ +/* GT T G ..GC */ + -810 -520 -700 -280 /* A */ + -810 -520 -700 -280 /* C */ + -810 -520 -700 -280 /* G */ + -810 -520 -700 -280 /* T */ +/* GT T T ..GC */ + -390 -100 -280 140 /* A */ + -390 -100 -280 140 /* C */ + -390 -100 -280 140 /* G */ + -390 -100 -280 140 /* T */ +/* GT A A ..GT */ + -600 -310 -490 -70 /* A */ + -600 -310 -490 -70 /* C */ + -600 -310 -490 -70 /* G */ + -600 -310 -490 -70 /* T */ +/* GT A C ..GT */ + -310 -20 -200 220 /* A */ + -310 -20 -200 220 /* C */ + -310 -20 -200 220 /* G */ + -310 -20 -200 220 /* T */ +/* GT A G ..GT */ + -490 -200 -380 40 /* A */ + -490 -200 -380 40 /* C */ + -490 -200 -380 40 /* G */ + -490 -200 -380 40 /* T */ +/* GT A T ..GT */ + -70 220 40 460 /* A */ + -70 220 40 460 /* C */ + -70 220 40 460 /* G */ + -70 220 40 460 /* T */ +/* GT C A ..GT */ + -600 -310 -490 -70 /* A */ + -600 -310 -490 -70 /* C */ + -600 -310 -490 -70 /* G */ + -600 -310 -490 -70 /* T */ +/* GT C C ..GT */ + -310 -20 -200 220 /* A */ + -310 -20 -200 220 /* C */ + -310 -20 -200 220 /* G */ + -310 -20 -200 220 /* T */ +/* GT C G ..GT */ + -490 -200 -380 40 /* A */ + -490 -200 -380 40 /* C */ + -490 -200 -380 40 /* G */ + -490 -200 -380 40 /* T */ +/* GT C T ..GT */ + -70 220 40 460 /* A */ + -70 220 40 460 /* C */ + -70 220 40 460 /* G */ + -70 220 40 460 /* T */ +/* GT G A ..GT */ + -600 -310 -490 -70 /* A */ + -600 -310 -490 -70 /* C */ + -600 -310 -490 -70 /* G */ + -600 -310 -490 -70 /* T */ +/* GT G C ..GT */ + -310 -20 -200 220 /* A */ + -310 -20 -200 220 /* C */ + -310 -20 -200 220 /* G */ + -310 -20 -200 220 /* T */ +/* GT G G ..GT */ + -490 -200 -380 40 /* A */ + -490 -200 -380 40 /* C */ + -490 -200 -380 40 /* G */ + -490 -200 -380 40 /* T */ +/* GT G T ..GT */ + -70 220 40 460 /* A */ + -70 220 40 460 /* C */ + -70 220 40 460 /* G */ + -70 220 40 460 /* T */ +/* GT T A ..GT */ + -600 -310 -490 -70 /* A */ + -600 -310 -490 -70 /* C */ + -600 -310 -490 -70 /* G */ + -600 -310 -490 -70 /* T */ +/* GT T C ..GT */ + -310 -20 -200 220 /* A */ + -310 -20 -200 220 /* C */ + -310 -20 -200 220 /* G */ + -310 -20 -200 220 /* T */ +/* GT T G ..GT */ + -490 -200 -380 40 /* A */ + -490 -200 -380 40 /* C */ + -490 -200 -380 40 /* G */ + -490 -200 -380 40 /* T */ +/* GT T T ..GT */ + -70 220 40 460 /* A */ + -70 220 40 460 /* C */ + -70 220 40 460 /* G */ + -70 220 40 460 /* T */ +/* GT A A ..TG */ + -70 220 40 460 /* A */ + -70 220 40 460 /* C */ + -70 220 40 460 /* G */ + -70 220 40 460 /* T */ +/* GT A C ..TG */ + -40 250 70 490 /* A */ + -40 250 70 490 /* C */ + -40 250 70 490 /* G */ + -40 250 70 490 /* T */ +/* GT A G ..TG */ + -230 60 -120 300 /* A */ + -230 60 -120 300 /* C */ + -230 60 -120 300 /* G */ + -230 60 -120 300 /* T */ +/* GT A T ..TG */ + -880 -590 -770 -350 /* A */ + -880 -590 -770 -350 /* C */ + -880 -590 -770 -350 /* G */ + -880 -590 -770 -350 /* T */ +/* GT C A ..TG */ + -70 220 40 460 /* A */ + -70 220 40 460 /* C */ + -70 220 40 460 /* G */ + -70 220 40 460 /* T */ +/* GT C C ..TG */ + -40 250 70 490 /* A */ + -40 250 70 490 /* C */ + -40 250 70 490 /* G */ + -40 250 70 490 /* T */ +/* GT C G ..TG */ + -230 60 -120 300 /* A */ + -230 60 -120 300 /* C */ + -230 60 -120 300 /* G */ + -230 60 -120 300 /* T */ +/* GT C T ..TG */ + -880 -590 -770 -350 /* A */ + -880 -590 -770 -350 /* C */ + -880 -590 -770 -350 /* G */ + -880 -590 -770 -350 /* T */ +/* GT G A ..TG */ + -70 220 40 460 /* A */ + -70 220 40 460 /* C */ + -70 220 40 460 /* G */ + -70 220 40 460 /* T */ +/* GT G C ..TG */ + -40 250 70 490 /* A */ + -40 250 70 490 /* C */ + -40 250 70 490 /* G */ + -40 250 70 490 /* T */ +/* GT G G ..TG */ + -230 60 -120 300 /* A */ + -230 60 -120 300 /* C */ + -230 60 -120 300 /* G */ + -230 60 -120 300 /* T */ +/* GT G T ..TG */ + -880 -590 -770 -350 /* A */ + -880 -590 -770 -350 /* C */ + -880 -590 -770 -350 /* G */ + -880 -590 -770 -350 /* T */ +/* GT T A ..TG */ + -70 220 40 460 /* A */ + -70 220 40 460 /* C */ + -70 220 40 460 /* G */ + -70 220 40 460 /* T */ +/* GT T C ..TG */ + -40 250 70 490 /* A */ + -40 250 70 490 /* C */ + -40 250 70 490 /* G */ + -40 250 70 490 /* T */ +/* GT T G ..TG */ + -230 60 -120 300 /* A */ + -230 60 -120 300 /* C */ + -230 60 -120 300 /* G */ + -230 60 -120 300 /* T */ +/* GT T T ..TG */ + -880 -590 -770 -350 /* A */ + -880 -590 -770 -350 /* C */ + -880 -590 -770 -350 /* G */ + -880 -590 -770 -350 /* T */ +/* GT A A ..AT */ + 100 390 210 630 /* A */ + 100 390 210 630 /* C */ + 100 390 210 630 /* G */ + 100 390 210 630 /* T */ +/* GT A C ..AT */ + 220 510 330 750 /* A */ + 220 510 330 750 /* C */ + 220 510 330 750 /* G */ + 220 510 330 750 /* T */ +/* GT A G ..AT */ + 170 460 280 700 /* A */ + 170 460 280 700 /* C */ + 170 460 280 700 /* G */ + 170 460 280 700 /* T */ +/* GT A T ..AT */ + 130 420 240 660 /* A */ + 130 420 240 660 /* C */ + 130 420 240 660 /* G */ + 130 420 240 660 /* T */ +/* GT C A ..AT */ + 100 390 210 630 /* A */ + 100 390 210 630 /* C */ + 100 390 210 630 /* G */ + 100 390 210 630 /* T */ +/* GT C C ..AT */ + 220 510 330 750 /* A */ + 220 510 330 750 /* C */ + 220 510 330 750 /* G */ + 220 510 330 750 /* T */ +/* GT C G ..AT */ + 170 460 280 700 /* A */ + 170 460 280 700 /* C */ + 170 460 280 700 /* G */ + 170 460 280 700 /* T */ +/* GT C T ..AT */ + 130 420 240 660 /* A */ + 130 420 240 660 /* C */ + 130 420 240 660 /* G */ + 130 420 240 660 /* T */ +/* GT G A ..AT */ + 100 390 210 630 /* A */ + 100 390 210 630 /* C */ + 100 390 210 630 /* G */ + 100 390 210 630 /* T */ +/* GT G C ..AT */ + 220 510 330 750 /* A */ + 220 510 330 750 /* C */ + 220 510 330 750 /* G */ + 220 510 330 750 /* T */ +/* GT G G ..AT */ + 170 460 280 700 /* A */ + 170 460 280 700 /* C */ + 170 460 280 700 /* G */ + 170 460 280 700 /* T */ +/* GT G T ..AT */ + 130 420 240 660 /* A */ + 130 420 240 660 /* C */ + 130 420 240 660 /* G */ + 130 420 240 660 /* T */ +/* GT T A ..AT */ + 100 390 210 630 /* A */ + 100 390 210 630 /* C */ + 100 390 210 630 /* G */ + 100 390 210 630 /* T */ +/* GT T C ..AT */ + 220 510 330 750 /* A */ + 220 510 330 750 /* C */ + 220 510 330 750 /* G */ + 220 510 330 750 /* T */ +/* GT T G ..AT */ + 170 460 280 700 /* A */ + 170 460 280 700 /* C */ + 170 460 280 700 /* G */ + 170 460 280 700 /* T */ +/* GT T T ..AT */ + 130 420 240 660 /* A */ + 130 420 240 660 /* C */ + 130 420 240 660 /* G */ + 130 420 240 660 /* T */ +/* GT A A ..TA */ + -70 220 40 460 /* A */ + -70 220 40 460 /* C */ + -70 220 40 460 /* G */ + -70 220 40 460 /* T */ +/* GT A C ..TA */ + -40 250 70 490 /* A */ + -40 250 70 490 /* C */ + -40 250 70 490 /* G */ + -40 250 70 490 /* T */ +/* GT A G ..TA */ + -230 60 -120 300 /* A */ + -230 60 -120 300 /* C */ + -230 60 -120 300 /* G */ + -230 60 -120 300 /* T */ +/* GT A T ..TA */ + -880 -590 -770 -350 /* A */ + -880 -590 -770 -350 /* C */ + -880 -590 -770 -350 /* G */ + -880 -590 -770 -350 /* T */ +/* GT C A ..TA */ + -70 220 40 460 /* A */ + -70 220 40 460 /* C */ + -70 220 40 460 /* G */ + -70 220 40 460 /* T */ +/* GT C C ..TA */ + -40 250 70 490 /* A */ + -40 250 70 490 /* C */ + -40 250 70 490 /* G */ + -40 250 70 490 /* T */ +/* GT C G ..TA */ + -230 60 -120 300 /* A */ + -230 60 -120 300 /* C */ + -230 60 -120 300 /* G */ + -230 60 -120 300 /* T */ +/* GT C T ..TA */ + -880 -590 -770 -350 /* A */ + -880 -590 -770 -350 /* C */ + -880 -590 -770 -350 /* G */ + -880 -590 -770 -350 /* T */ +/* GT G A ..TA */ + -70 220 40 460 /* A */ + -70 220 40 460 /* C */ + -70 220 40 460 /* G */ + -70 220 40 460 /* T */ +/* GT G C ..TA */ + -40 250 70 490 /* A */ + -40 250 70 490 /* C */ + -40 250 70 490 /* G */ + -40 250 70 490 /* T */ +/* GT G G ..TA */ + -230 60 -120 300 /* A */ + -230 60 -120 300 /* C */ + -230 60 -120 300 /* G */ + -230 60 -120 300 /* T */ +/* GT G T ..TA */ + -880 -590 -770 -350 /* A */ + -880 -590 -770 -350 /* C */ + -880 -590 -770 -350 /* G */ + -880 -590 -770 -350 /* T */ +/* GT T A ..TA */ + -70 220 40 460 /* A */ + -70 220 40 460 /* C */ + -70 220 40 460 /* G */ + -70 220 40 460 /* T */ +/* GT T C ..TA */ + -40 250 70 490 /* A */ + -40 250 70 490 /* C */ + -40 250 70 490 /* G */ + -40 250 70 490 /* T */ +/* GT T G ..TA */ + -230 60 -120 300 /* A */ + -230 60 -120 300 /* C */ + -230 60 -120 300 /* G */ + -230 60 -120 300 /* T */ +/* GT T T ..TA */ + -880 -590 -770 -350 /* A */ + -880 -590 -770 -350 /* C */ + -880 -590 -770 -350 /* G */ + -880 -590 -770 -350 /* T */ +/* GT A A ..NN */ + 100 390 210 630 /* A */ + 100 390 210 630 /* C */ + 100 390 210 630 /* G */ + 100 390 210 630 /* T */ +/* GT A C ..NN */ + 220 510 330 750 /* A */ + 220 510 330 750 /* C */ + 220 510 330 750 /* G */ + 220 510 330 750 /* T */ +/* GT A G ..NN */ + 170 460 280 700 /* A */ + 170 460 280 700 /* C */ + 170 460 280 700 /* G */ + 170 460 280 700 /* T */ +/* GT A T ..NN */ + 130 420 240 660 /* A */ + 130 420 240 660 /* C */ + 130 420 240 660 /* G */ + 130 420 240 660 /* T */ +/* GT C A ..NN */ + 100 390 210 630 /* A */ + 100 390 210 630 /* C */ + 100 390 210 630 /* G */ + 100 390 210 630 /* T */ +/* GT C C ..NN */ + 220 510 330 750 /* A */ + 220 510 330 750 /* C */ + 220 510 330 750 /* G */ + 220 510 330 750 /* T */ +/* GT C G ..NN */ + 170 460 280 700 /* A */ + 170 460 280 700 /* C */ + 170 460 280 700 /* G */ + 170 460 280 700 /* T */ +/* GT C T ..NN */ + 130 420 240 660 /* A */ + 130 420 240 660 /* C */ + 130 420 240 660 /* G */ + 130 420 240 660 /* T */ +/* GT G A ..NN */ + 100 390 210 630 /* A */ + 100 390 210 630 /* C */ + 100 390 210 630 /* G */ + 100 390 210 630 /* T */ +/* GT G C ..NN */ + 220 510 330 750 /* A */ + 220 510 330 750 /* C */ + 220 510 330 750 /* G */ + 220 510 330 750 /* T */ +/* GT G G ..NN */ + 170 460 280 700 /* A */ + 170 460 280 700 /* C */ + 170 460 280 700 /* G */ + 170 460 280 700 /* T */ +/* GT G T ..NN */ + 130 420 240 660 /* A */ + 130 420 240 660 /* C */ + 130 420 240 660 /* G */ + 130 420 240 660 /* T */ +/* GT T A ..NN */ + 100 390 210 630 /* A */ + 100 390 210 630 /* C */ + 100 390 210 630 /* G */ + 100 390 210 630 /* T */ +/* GT T C ..NN */ + 220 510 330 750 /* A */ + 220 510 330 750 /* C */ + 220 510 330 750 /* G */ + 220 510 330 750 /* T */ +/* GT T G ..NN */ + 170 460 280 700 /* A */ + 170 460 280 700 /* C */ + 170 460 280 700 /* G */ + 170 460 280 700 /* T */ +/* GT T T ..NN */ + 130 420 240 660 /* A */ + 130 420 240 660 /* C */ + 130 420 240 660 /* G */ + 130 420 240 660 /* T */ +/* TG A A ..CG */ + -230 -200 -390 -1040 /* A */ + -230 -200 -390 -1040 /* C */ + -230 -200 -390 -1040 /* G */ + -230 -200 -390 -1040 /* T */ +/* TG A C ..CG */ + -190 -160 -350 -1000 /* A */ + -190 -160 -350 -1000 /* C */ + -190 -160 -350 -1000 /* G */ + -190 -160 -350 -1000 /* T */ +/* TG A G ..CG */ + -240 -210 -400 -1050 /* A */ + -240 -210 -400 -1050 /* C */ + -240 -210 -400 -1050 /* G */ + -240 -210 -400 -1050 /* T */ +/* TG A T ..CG */ + -270 -240 -430 -1080 /* A */ + -270 -240 -430 -1080 /* C */ + -270 -240 -430 -1080 /* G */ + -270 -240 -430 -1080 /* T */ +/* TG C A ..CG */ + -230 -200 -390 -1040 /* A */ + -230 -200 -390 -1040 /* C */ + -230 -200 -390 -1040 /* G */ + -230 -200 -390 -1040 /* T */ +/* TG C C ..CG */ + -190 -160 -350 -1000 /* A */ + -190 -160 -350 -1000 /* C */ + -190 -160 -350 -1000 /* G */ + -190 -160 -350 -1000 /* T */ +/* TG C G ..CG */ + -240 -210 -400 -1050 /* A */ + -240 -210 -400 -1050 /* C */ + -240 -210 -400 -1050 /* G */ + -240 -210 -400 -1050 /* T */ +/* TG C T ..CG */ + -270 -240 -430 -1080 /* A */ + -270 -240 -430 -1080 /* C */ + -270 -240 -430 -1080 /* G */ + -270 -240 -430 -1080 /* T */ +/* TG G A ..CG */ + -230 -200 -390 -1040 /* A */ + -230 -200 -390 -1040 /* C */ + -230 -200 -390 -1040 /* G */ + -230 -200 -390 -1040 /* T */ +/* TG G C ..CG */ + -190 -160 -350 -1000 /* A */ + -190 -160 -350 -1000 /* C */ + -190 -160 -350 -1000 /* G */ + -190 -160 -350 -1000 /* T */ +/* TG G G ..CG */ + -240 -210 -400 -1050 /* A */ + -240 -210 -400 -1050 /* C */ + -240 -210 -400 -1050 /* G */ + -240 -210 -400 -1050 /* T */ +/* TG G T ..CG */ + -270 -240 -430 -1080 /* A */ + -270 -240 -430 -1080 /* C */ + -270 -240 -430 -1080 /* G */ + -270 -240 -430 -1080 /* T */ +/* TG T A ..CG */ + -230 -200 -390 -1040 /* A */ + -230 -200 -390 -1040 /* C */ + -230 -200 -390 -1040 /* G */ + -230 -200 -390 -1040 /* T */ +/* TG T C ..CG */ + -190 -160 -350 -1000 /* A */ + -190 -160 -350 -1000 /* C */ + -190 -160 -350 -1000 /* G */ + -190 -160 -350 -1000 /* T */ +/* TG T G ..CG */ + -240 -210 -400 -1050 /* A */ + -240 -210 -400 -1050 /* C */ + -240 -210 -400 -1050 /* G */ + -240 -210 -400 -1050 /* T */ +/* TG T T ..CG */ + -270 -240 -430 -1080 /* A */ + -270 -240 -430 -1080 /* C */ + -270 -240 -430 -1080 /* G */ + -270 -240 -430 -1080 /* T */ +/* TG A A ..GC */ + -390 -360 -550 -1200 /* A */ + -390 -360 -550 -1200 /* C */ + -390 -360 -550 -1200 /* G */ + -390 -360 -550 -1200 /* T */ +/* TG A C ..GC */ + -100 -70 -260 -910 /* A */ + -100 -70 -260 -910 /* C */ + -100 -70 -260 -910 /* G */ + -100 -70 -260 -910 /* T */ +/* TG A G ..GC */ + -280 -250 -440 -1090 /* A */ + -280 -250 -440 -1090 /* C */ + -280 -250 -440 -1090 /* G */ + -280 -250 -440 -1090 /* T */ +/* TG A T ..GC */ + 140 170 -20 -670 /* A */ + 140 170 -20 -670 /* C */ + 140 170 -20 -670 /* G */ + 140 170 -20 -670 /* T */ +/* TG C A ..GC */ + -390 -360 -550 -1200 /* A */ + -390 -360 -550 -1200 /* C */ + -390 -360 -550 -1200 /* G */ + -390 -360 -550 -1200 /* T */ +/* TG C C ..GC */ + -100 -70 -260 -910 /* A */ + -100 -70 -260 -910 /* C */ + -100 -70 -260 -910 /* G */ + -100 -70 -260 -910 /* T */ +/* TG C G ..GC */ + -280 -250 -440 -1090 /* A */ + -280 -250 -440 -1090 /* C */ + -280 -250 -440 -1090 /* G */ + -280 -250 -440 -1090 /* T */ +/* TG C T ..GC */ + 140 170 -20 -670 /* A */ + 140 170 -20 -670 /* C */ + 140 170 -20 -670 /* G */ + 140 170 -20 -670 /* T */ +/* TG G A ..GC */ + -390 -360 -550 -1200 /* A */ + -390 -360 -550 -1200 /* C */ + -390 -360 -550 -1200 /* G */ + -390 -360 -550 -1200 /* T */ +/* TG G C ..GC */ + -100 -70 -260 -910 /* A */ + -100 -70 -260 -910 /* C */ + -100 -70 -260 -910 /* G */ + -100 -70 -260 -910 /* T */ +/* TG G G ..GC */ + -280 -250 -440 -1090 /* A */ + -280 -250 -440 -1090 /* C */ + -280 -250 -440 -1090 /* G */ + -280 -250 -440 -1090 /* T */ +/* TG G T ..GC */ + 140 170 -20 -670 /* A */ + 140 170 -20 -670 /* C */ + 140 170 -20 -670 /* G */ + 140 170 -20 -670 /* T */ +/* TG T A ..GC */ + -390 -360 -550 -1200 /* A */ + -390 -360 -550 -1200 /* C */ + -390 -360 -550 -1200 /* G */ + -390 -360 -550 -1200 /* T */ +/* TG T C ..GC */ + -100 -70 -260 -910 /* A */ + -100 -70 -260 -910 /* C */ + -100 -70 -260 -910 /* G */ + -100 -70 -260 -910 /* T */ +/* TG T G ..GC */ + -280 -250 -440 -1090 /* A */ + -280 -250 -440 -1090 /* C */ + -280 -250 -440 -1090 /* G */ + -280 -250 -440 -1090 /* T */ +/* TG T T ..GC */ + 140 170 -20 -670 /* A */ + 140 170 -20 -670 /* C */ + 140 170 -20 -670 /* G */ + 140 170 -20 -670 /* T */ +/* TG A A ..GT */ + -70 -40 -230 -880 /* A */ + -70 -40 -230 -880 /* C */ + -70 -40 -230 -880 /* G */ + -70 -40 -230 -880 /* T */ +/* TG A C ..GT */ + 220 250 60 -590 /* A */ + 220 250 60 -590 /* C */ + 220 250 60 -590 /* G */ + 220 250 60 -590 /* T */ +/* TG A G ..GT */ + 40 70 -120 -770 /* A */ + 40 70 -120 -770 /* C */ + 40 70 -120 -770 /* G */ + 40 70 -120 -770 /* T */ +/* TG A T ..GT */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TG C A ..GT */ + -70 -40 -230 -880 /* A */ + -70 -40 -230 -880 /* C */ + -70 -40 -230 -880 /* G */ + -70 -40 -230 -880 /* T */ +/* TG C C ..GT */ + 220 250 60 -590 /* A */ + 220 250 60 -590 /* C */ + 220 250 60 -590 /* G */ + 220 250 60 -590 /* T */ +/* TG C G ..GT */ + 40 70 -120 -770 /* A */ + 40 70 -120 -770 /* C */ + 40 70 -120 -770 /* G */ + 40 70 -120 -770 /* T */ +/* TG C T ..GT */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TG G A ..GT */ + -70 -40 -230 -880 /* A */ + -70 -40 -230 -880 /* C */ + -70 -40 -230 -880 /* G */ + -70 -40 -230 -880 /* T */ +/* TG G C ..GT */ + 220 250 60 -590 /* A */ + 220 250 60 -590 /* C */ + 220 250 60 -590 /* G */ + 220 250 60 -590 /* T */ +/* TG G G ..GT */ + 40 70 -120 -770 /* A */ + 40 70 -120 -770 /* C */ + 40 70 -120 -770 /* G */ + 40 70 -120 -770 /* T */ +/* TG G T ..GT */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TG T A ..GT */ + -70 -40 -230 -880 /* A */ + -70 -40 -230 -880 /* C */ + -70 -40 -230 -880 /* G */ + -70 -40 -230 -880 /* T */ +/* TG T C ..GT */ + 220 250 60 -590 /* A */ + 220 250 60 -590 /* C */ + 220 250 60 -590 /* G */ + 220 250 60 -590 /* T */ +/* TG T G ..GT */ + 40 70 -120 -770 /* A */ + 40 70 -120 -770 /* C */ + 40 70 -120 -770 /* G */ + 40 70 -120 -770 /* T */ +/* TG T T ..GT */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TG A A ..TG */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TG A C ..TG */ + 490 520 330 -320 /* A */ + 490 520 330 -320 /* C */ + 490 520 330 -320 /* G */ + 490 520 330 -320 /* T */ +/* TG A G ..TG */ + 300 330 140 -510 /* A */ + 300 330 140 -510 /* C */ + 300 330 140 -510 /* G */ + 300 330 140 -510 /* T */ +/* TG A T ..TG */ + -350 -320 -510 -1160 /* A */ + -350 -320 -510 -1160 /* C */ + -350 -320 -510 -1160 /* G */ + -350 -320 -510 -1160 /* T */ +/* TG C A ..TG */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TG C C ..TG */ + 490 520 330 -320 /* A */ + 490 520 330 -320 /* C */ + 490 520 330 -320 /* G */ + 490 520 330 -320 /* T */ +/* TG C G ..TG */ + 300 330 140 -510 /* A */ + 300 330 140 -510 /* C */ + 300 330 140 -510 /* G */ + 300 330 140 -510 /* T */ +/* TG C T ..TG */ + -350 -320 -510 -1160 /* A */ + -350 -320 -510 -1160 /* C */ + -350 -320 -510 -1160 /* G */ + -350 -320 -510 -1160 /* T */ +/* TG G A ..TG */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TG G C ..TG */ + 490 520 330 -320 /* A */ + 490 520 330 -320 /* C */ + 490 520 330 -320 /* G */ + 490 520 330 -320 /* T */ +/* TG G G ..TG */ + 300 330 140 -510 /* A */ + 300 330 140 -510 /* C */ + 300 330 140 -510 /* G */ + 300 330 140 -510 /* T */ +/* TG G T ..TG */ + -350 -320 -510 -1160 /* A */ + -350 -320 -510 -1160 /* C */ + -350 -320 -510 -1160 /* G */ + -350 -320 -510 -1160 /* T */ +/* TG T A ..TG */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TG T C ..TG */ + 490 520 330 -320 /* A */ + 490 520 330 -320 /* C */ + 490 520 330 -320 /* G */ + 490 520 330 -320 /* T */ +/* TG T G ..TG */ + 300 330 140 -510 /* A */ + 300 330 140 -510 /* C */ + 300 330 140 -510 /* G */ + 300 330 140 -510 /* T */ +/* TG T T ..TG */ + -350 -320 -510 -1160 /* A */ + -350 -320 -510 -1160 /* C */ + -350 -320 -510 -1160 /* G */ + -350 -320 -510 -1160 /* T */ +/* TG A A ..AT */ + 630 660 470 -180 /* A */ + 630 660 470 -180 /* C */ + 630 660 470 -180 /* G */ + 630 660 470 -180 /* T */ +/* TG A C ..AT */ + 750 780 590 -60 /* A */ + 750 780 590 -60 /* C */ + 750 780 590 -60 /* G */ + 750 780 590 -60 /* T */ +/* TG A G ..AT */ + 700 730 540 -110 /* A */ + 700 730 540 -110 /* C */ + 700 730 540 -110 /* G */ + 700 730 540 -110 /* T */ +/* TG A T ..AT */ + 660 690 500 -150 /* A */ + 660 690 500 -150 /* C */ + 660 690 500 -150 /* G */ + 660 690 500 -150 /* T */ +/* TG C A ..AT */ + 630 660 470 -180 /* A */ + 630 660 470 -180 /* C */ + 630 660 470 -180 /* G */ + 630 660 470 -180 /* T */ +/* TG C C ..AT */ + 750 780 590 -60 /* A */ + 750 780 590 -60 /* C */ + 750 780 590 -60 /* G */ + 750 780 590 -60 /* T */ +/* TG C G ..AT */ + 700 730 540 -110 /* A */ + 700 730 540 -110 /* C */ + 700 730 540 -110 /* G */ + 700 730 540 -110 /* T */ +/* TG C T ..AT */ + 660 690 500 -150 /* A */ + 660 690 500 -150 /* C */ + 660 690 500 -150 /* G */ + 660 690 500 -150 /* T */ +/* TG G A ..AT */ + 630 660 470 -180 /* A */ + 630 660 470 -180 /* C */ + 630 660 470 -180 /* G */ + 630 660 470 -180 /* T */ +/* TG G C ..AT */ + 750 780 590 -60 /* A */ + 750 780 590 -60 /* C */ + 750 780 590 -60 /* G */ + 750 780 590 -60 /* T */ +/* TG G G ..AT */ + 700 730 540 -110 /* A */ + 700 730 540 -110 /* C */ + 700 730 540 -110 /* G */ + 700 730 540 -110 /* T */ +/* TG G T ..AT */ + 660 690 500 -150 /* A */ + 660 690 500 -150 /* C */ + 660 690 500 -150 /* G */ + 660 690 500 -150 /* T */ +/* TG T A ..AT */ + 630 660 470 -180 /* A */ + 630 660 470 -180 /* C */ + 630 660 470 -180 /* G */ + 630 660 470 -180 /* T */ +/* TG T C ..AT */ + 750 780 590 -60 /* A */ + 750 780 590 -60 /* C */ + 750 780 590 -60 /* G */ + 750 780 590 -60 /* T */ +/* TG T G ..AT */ + 700 730 540 -110 /* A */ + 700 730 540 -110 /* C */ + 700 730 540 -110 /* G */ + 700 730 540 -110 /* T */ +/* TG T T ..AT */ + 660 690 500 -150 /* A */ + 660 690 500 -150 /* C */ + 660 690 500 -150 /* G */ + 660 690 500 -150 /* T */ +/* TG A A ..TA */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TG A C ..TA */ + 490 520 330 -320 /* A */ + 490 520 330 -320 /* C */ + 490 520 330 -320 /* G */ + 490 520 330 -320 /* T */ +/* TG A G ..TA */ + 300 330 140 -510 /* A */ + 300 330 140 -510 /* C */ + 300 330 140 -510 /* G */ + 300 330 140 -510 /* T */ +/* TG A T ..TA */ + -350 -320 -510 -1160 /* A */ + -350 -320 -510 -1160 /* C */ + -350 -320 -510 -1160 /* G */ + -350 -320 -510 -1160 /* T */ +/* TG C A ..TA */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TG C C ..TA */ + 490 520 330 -320 /* A */ + 490 520 330 -320 /* C */ + 490 520 330 -320 /* G */ + 490 520 330 -320 /* T */ +/* TG C G ..TA */ + 300 330 140 -510 /* A */ + 300 330 140 -510 /* C */ + 300 330 140 -510 /* G */ + 300 330 140 -510 /* T */ +/* TG C T ..TA */ + -350 -320 -510 -1160 /* A */ + -350 -320 -510 -1160 /* C */ + -350 -320 -510 -1160 /* G */ + -350 -320 -510 -1160 /* T */ +/* TG G A ..TA */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TG G C ..TA */ + 490 520 330 -320 /* A */ + 490 520 330 -320 /* C */ + 490 520 330 -320 /* G */ + 490 520 330 -320 /* T */ +/* TG G G ..TA */ + 300 330 140 -510 /* A */ + 300 330 140 -510 /* C */ + 300 330 140 -510 /* G */ + 300 330 140 -510 /* T */ +/* TG G T ..TA */ + -350 -320 -510 -1160 /* A */ + -350 -320 -510 -1160 /* C */ + -350 -320 -510 -1160 /* G */ + -350 -320 -510 -1160 /* T */ +/* TG T A ..TA */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TG T C ..TA */ + 490 520 330 -320 /* A */ + 490 520 330 -320 /* C */ + 490 520 330 -320 /* G */ + 490 520 330 -320 /* T */ +/* TG T G ..TA */ + 300 330 140 -510 /* A */ + 300 330 140 -510 /* C */ + 300 330 140 -510 /* G */ + 300 330 140 -510 /* T */ +/* TG T T ..TA */ + -350 -320 -510 -1160 /* A */ + -350 -320 -510 -1160 /* C */ + -350 -320 -510 -1160 /* G */ + -350 -320 -510 -1160 /* T */ +/* TG A A ..NN */ + 630 660 470 -180 /* A */ + 630 660 470 -180 /* C */ + 630 660 470 -180 /* G */ + 630 660 470 -180 /* T */ +/* TG A C ..NN */ + 750 780 590 -60 /* A */ + 750 780 590 -60 /* C */ + 750 780 590 -60 /* G */ + 750 780 590 -60 /* T */ +/* TG A G ..NN */ + 700 730 540 -110 /* A */ + 700 730 540 -110 /* C */ + 700 730 540 -110 /* G */ + 700 730 540 -110 /* T */ +/* TG A T ..NN */ + 660 690 500 -150 /* A */ + 660 690 500 -150 /* C */ + 660 690 500 -150 /* G */ + 660 690 500 -150 /* T */ +/* TG C A ..NN */ + 630 660 470 -180 /* A */ + 630 660 470 -180 /* C */ + 630 660 470 -180 /* G */ + 630 660 470 -180 /* T */ +/* TG C C ..NN */ + 750 780 590 -60 /* A */ + 750 780 590 -60 /* C */ + 750 780 590 -60 /* G */ + 750 780 590 -60 /* T */ +/* TG C G ..NN */ + 700 730 540 -110 /* A */ + 700 730 540 -110 /* C */ + 700 730 540 -110 /* G */ + 700 730 540 -110 /* T */ +/* TG C T ..NN */ + 660 690 500 -150 /* A */ + 660 690 500 -150 /* C */ + 660 690 500 -150 /* G */ + 660 690 500 -150 /* T */ +/* TG G A ..NN */ + 630 660 470 -180 /* A */ + 630 660 470 -180 /* C */ + 630 660 470 -180 /* G */ + 630 660 470 -180 /* T */ +/* TG G C ..NN */ + 750 780 590 -60 /* A */ + 750 780 590 -60 /* C */ + 750 780 590 -60 /* G */ + 750 780 590 -60 /* T */ +/* TG G G ..NN */ + 700 730 540 -110 /* A */ + 700 730 540 -110 /* C */ + 700 730 540 -110 /* G */ + 700 730 540 -110 /* T */ +/* TG G T ..NN */ + 660 690 500 -150 /* A */ + 660 690 500 -150 /* C */ + 660 690 500 -150 /* G */ + 660 690 500 -150 /* T */ +/* TG T A ..NN */ + 630 660 470 -180 /* A */ + 630 660 470 -180 /* C */ + 630 660 470 -180 /* G */ + 630 660 470 -180 /* T */ +/* TG T C ..NN */ + 750 780 590 -60 /* A */ + 750 780 590 -60 /* C */ + 750 780 590 -60 /* G */ + 750 780 590 -60 /* T */ +/* TG T G ..NN */ + 700 730 540 -110 /* A */ + 700 730 540 -110 /* C */ + 700 730 540 -110 /* G */ + 700 730 540 -110 /* T */ +/* TG T T ..NN */ + 660 690 500 -150 /* A */ + 660 690 500 -150 /* C */ + 660 690 500 -150 /* G */ + 660 690 500 -150 /* T */ +/* AT A A ..CG */ + -60 60 10 -30 /* A */ + -60 60 10 -30 /* C */ + -60 60 10 -30 /* G */ + -60 60 10 -30 /* T */ +/* AT A C ..CG */ + -20 100 50 10 /* A */ + -20 100 50 10 /* C */ + -20 100 50 10 /* G */ + -20 100 50 10 /* T */ +/* AT A G ..CG */ + -70 50 0 -40 /* A */ + -70 50 0 -40 /* C */ + -70 50 0 -40 /* G */ + -70 50 0 -40 /* T */ +/* AT A T ..CG */ + -100 20 -30 -70 /* A */ + -100 20 -30 -70 /* C */ + -100 20 -30 -70 /* G */ + -100 20 -30 -70 /* T */ +/* AT C A ..CG */ + -60 60 10 -30 /* A */ + -60 60 10 -30 /* C */ + -60 60 10 -30 /* G */ + -60 60 10 -30 /* T */ +/* AT C C ..CG */ + -20 100 50 10 /* A */ + -20 100 50 10 /* C */ + -20 100 50 10 /* G */ + -20 100 50 10 /* T */ +/* AT C G ..CG */ + -70 50 0 -40 /* A */ + -70 50 0 -40 /* C */ + -70 50 0 -40 /* G */ + -70 50 0 -40 /* T */ +/* AT C T ..CG */ + -100 20 -30 -70 /* A */ + -100 20 -30 -70 /* C */ + -100 20 -30 -70 /* G */ + -100 20 -30 -70 /* T */ +/* AT G A ..CG */ + -60 60 10 -30 /* A */ + -60 60 10 -30 /* C */ + -60 60 10 -30 /* G */ + -60 60 10 -30 /* T */ +/* AT G C ..CG */ + -20 100 50 10 /* A */ + -20 100 50 10 /* C */ + -20 100 50 10 /* G */ + -20 100 50 10 /* T */ +/* AT G G ..CG */ + -70 50 0 -40 /* A */ + -70 50 0 -40 /* C */ + -70 50 0 -40 /* G */ + -70 50 0 -40 /* T */ +/* AT G T ..CG */ + -100 20 -30 -70 /* A */ + -100 20 -30 -70 /* C */ + -100 20 -30 -70 /* G */ + -100 20 -30 -70 /* T */ +/* AT T A ..CG */ + -60 60 10 -30 /* A */ + -60 60 10 -30 /* C */ + -60 60 10 -30 /* G */ + -60 60 10 -30 /* T */ +/* AT T C ..CG */ + -20 100 50 10 /* A */ + -20 100 50 10 /* C */ + -20 100 50 10 /* G */ + -20 100 50 10 /* T */ +/* AT T G ..CG */ + -70 50 0 -40 /* A */ + -70 50 0 -40 /* C */ + -70 50 0 -40 /* G */ + -70 50 0 -40 /* T */ +/* AT T T ..CG */ + -100 20 -30 -70 /* A */ + -100 20 -30 -70 /* C */ + -100 20 -30 -70 /* G */ + -100 20 -30 -70 /* T */ +/* AT A A ..GC */ + -220 -100 -150 -190 /* A */ + -220 -100 -150 -190 /* C */ + -220 -100 -150 -190 /* G */ + -220 -100 -150 -190 /* T */ +/* AT A C ..GC */ + 70 190 140 100 /* A */ + 70 190 140 100 /* C */ + 70 190 140 100 /* G */ + 70 190 140 100 /* T */ +/* AT A G ..GC */ + -110 10 -40 -80 /* A */ + -110 10 -40 -80 /* C */ + -110 10 -40 -80 /* G */ + -110 10 -40 -80 /* T */ +/* AT A T ..GC */ + 310 430 380 340 /* A */ + 310 430 380 340 /* C */ + 310 430 380 340 /* G */ + 310 430 380 340 /* T */ +/* AT C A ..GC */ + -220 -100 -150 -190 /* A */ + -220 -100 -150 -190 /* C */ + -220 -100 -150 -190 /* G */ + -220 -100 -150 -190 /* T */ +/* AT C C ..GC */ + 70 190 140 100 /* A */ + 70 190 140 100 /* C */ + 70 190 140 100 /* G */ + 70 190 140 100 /* T */ +/* AT C G ..GC */ + -110 10 -40 -80 /* A */ + -110 10 -40 -80 /* C */ + -110 10 -40 -80 /* G */ + -110 10 -40 -80 /* T */ +/* AT C T ..GC */ + 310 430 380 340 /* A */ + 310 430 380 340 /* C */ + 310 430 380 340 /* G */ + 310 430 380 340 /* T */ +/* AT G A ..GC */ + -220 -100 -150 -190 /* A */ + -220 -100 -150 -190 /* C */ + -220 -100 -150 -190 /* G */ + -220 -100 -150 -190 /* T */ +/* AT G C ..GC */ + 70 190 140 100 /* A */ + 70 190 140 100 /* C */ + 70 190 140 100 /* G */ + 70 190 140 100 /* T */ +/* AT G G ..GC */ + -110 10 -40 -80 /* A */ + -110 10 -40 -80 /* C */ + -110 10 -40 -80 /* G */ + -110 10 -40 -80 /* T */ +/* AT G T ..GC */ + 310 430 380 340 /* A */ + 310 430 380 340 /* C */ + 310 430 380 340 /* G */ + 310 430 380 340 /* T */ +/* AT T A ..GC */ + -220 -100 -150 -190 /* A */ + -220 -100 -150 -190 /* C */ + -220 -100 -150 -190 /* G */ + -220 -100 -150 -190 /* T */ +/* AT T C ..GC */ + 70 190 140 100 /* A */ + 70 190 140 100 /* C */ + 70 190 140 100 /* G */ + 70 190 140 100 /* T */ +/* AT T G ..GC */ + -110 10 -40 -80 /* A */ + -110 10 -40 -80 /* C */ + -110 10 -40 -80 /* G */ + -110 10 -40 -80 /* T */ +/* AT T T ..GC */ + 310 430 380 340 /* A */ + 310 430 380 340 /* C */ + 310 430 380 340 /* G */ + 310 430 380 340 /* T */ +/* AT A A ..GT */ + 100 220 170 130 /* A */ + 100 220 170 130 /* C */ + 100 220 170 130 /* G */ + 100 220 170 130 /* T */ +/* AT A C ..GT */ + 390 510 460 420 /* A */ + 390 510 460 420 /* C */ + 390 510 460 420 /* G */ + 390 510 460 420 /* T */ +/* AT A G ..GT */ + 210 330 280 240 /* A */ + 210 330 280 240 /* C */ + 210 330 280 240 /* G */ + 210 330 280 240 /* T */ +/* AT A T ..GT */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* AT C A ..GT */ + 100 220 170 130 /* A */ + 100 220 170 130 /* C */ + 100 220 170 130 /* G */ + 100 220 170 130 /* T */ +/* AT C C ..GT */ + 390 510 460 420 /* A */ + 390 510 460 420 /* C */ + 390 510 460 420 /* G */ + 390 510 460 420 /* T */ +/* AT C G ..GT */ + 210 330 280 240 /* A */ + 210 330 280 240 /* C */ + 210 330 280 240 /* G */ + 210 330 280 240 /* T */ +/* AT C T ..GT */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* AT G A ..GT */ + 100 220 170 130 /* A */ + 100 220 170 130 /* C */ + 100 220 170 130 /* G */ + 100 220 170 130 /* T */ +/* AT G C ..GT */ + 390 510 460 420 /* A */ + 390 510 460 420 /* C */ + 390 510 460 420 /* G */ + 390 510 460 420 /* T */ +/* AT G G ..GT */ + 210 330 280 240 /* A */ + 210 330 280 240 /* C */ + 210 330 280 240 /* G */ + 210 330 280 240 /* T */ +/* AT G T ..GT */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* AT T A ..GT */ + 100 220 170 130 /* A */ + 100 220 170 130 /* C */ + 100 220 170 130 /* G */ + 100 220 170 130 /* T */ +/* AT T C ..GT */ + 390 510 460 420 /* A */ + 390 510 460 420 /* C */ + 390 510 460 420 /* G */ + 390 510 460 420 /* T */ +/* AT T G ..GT */ + 210 330 280 240 /* A */ + 210 330 280 240 /* C */ + 210 330 280 240 /* G */ + 210 330 280 240 /* T */ +/* AT T T ..GT */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* AT A A ..TG */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* AT A C ..TG */ + 660 780 730 690 /* A */ + 660 780 730 690 /* C */ + 660 780 730 690 /* G */ + 660 780 730 690 /* T */ +/* AT A G ..TG */ + 470 590 540 500 /* A */ + 470 590 540 500 /* C */ + 470 590 540 500 /* G */ + 470 590 540 500 /* T */ +/* AT A T ..TG */ + -180 -60 -110 -150 /* A */ + -180 -60 -110 -150 /* C */ + -180 -60 -110 -150 /* G */ + -180 -60 -110 -150 /* T */ +/* AT C A ..TG */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* AT C C ..TG */ + 660 780 730 690 /* A */ + 660 780 730 690 /* C */ + 660 780 730 690 /* G */ + 660 780 730 690 /* T */ +/* AT C G ..TG */ + 470 590 540 500 /* A */ + 470 590 540 500 /* C */ + 470 590 540 500 /* G */ + 470 590 540 500 /* T */ +/* AT C T ..TG */ + -180 -60 -110 -150 /* A */ + -180 -60 -110 -150 /* C */ + -180 -60 -110 -150 /* G */ + -180 -60 -110 -150 /* T */ +/* AT G A ..TG */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* AT G C ..TG */ + 660 780 730 690 /* A */ + 660 780 730 690 /* C */ + 660 780 730 690 /* G */ + 660 780 730 690 /* T */ +/* AT G G ..TG */ + 470 590 540 500 /* A */ + 470 590 540 500 /* C */ + 470 590 540 500 /* G */ + 470 590 540 500 /* T */ +/* AT G T ..TG */ + -180 -60 -110 -150 /* A */ + -180 -60 -110 -150 /* C */ + -180 -60 -110 -150 /* G */ + -180 -60 -110 -150 /* T */ +/* AT T A ..TG */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* AT T C ..TG */ + 660 780 730 690 /* A */ + 660 780 730 690 /* C */ + 660 780 730 690 /* G */ + 660 780 730 690 /* T */ +/* AT T G ..TG */ + 470 590 540 500 /* A */ + 470 590 540 500 /* C */ + 470 590 540 500 /* G */ + 470 590 540 500 /* T */ +/* AT T T ..TG */ + -180 -60 -110 -150 /* A */ + -180 -60 -110 -150 /* C */ + -180 -60 -110 -150 /* G */ + -180 -60 -110 -150 /* T */ +/* AT A A ..AT */ + 800 920 870 830 /* A */ + 800 920 870 830 /* C */ + 800 920 870 830 /* G */ + 800 920 870 830 /* T */ +/* AT A C ..AT */ + 920 1040 990 950 /* A */ + 920 1040 990 950 /* C */ + 920 1040 990 950 /* G */ + 920 1040 990 950 /* T */ +/* AT A G ..AT */ + 870 990 940 900 /* A */ + 870 990 940 900 /* C */ + 870 990 940 900 /* G */ + 870 990 940 900 /* T */ +/* AT A T ..AT */ + 830 950 900 860 /* A */ + 830 950 900 860 /* C */ + 830 950 900 860 /* G */ + 830 950 900 860 /* T */ +/* AT C A ..AT */ + 800 920 870 830 /* A */ + 800 920 870 830 /* C */ + 800 920 870 830 /* G */ + 800 920 870 830 /* T */ +/* AT C C ..AT */ + 920 1040 990 950 /* A */ + 920 1040 990 950 /* C */ + 920 1040 990 950 /* G */ + 920 1040 990 950 /* T */ +/* AT C G ..AT */ + 870 990 940 900 /* A */ + 870 990 940 900 /* C */ + 870 990 940 900 /* G */ + 870 990 940 900 /* T */ +/* AT C T ..AT */ + 830 950 900 860 /* A */ + 830 950 900 860 /* C */ + 830 950 900 860 /* G */ + 830 950 900 860 /* T */ +/* AT G A ..AT */ + 800 920 870 830 /* A */ + 800 920 870 830 /* C */ + 800 920 870 830 /* G */ + 800 920 870 830 /* T */ +/* AT G C ..AT */ + 920 1040 990 950 /* A */ + 920 1040 990 950 /* C */ + 920 1040 990 950 /* G */ + 920 1040 990 950 /* T */ +/* AT G G ..AT */ + 870 990 940 900 /* A */ + 870 990 940 900 /* C */ + 870 990 940 900 /* G */ + 870 990 940 900 /* T */ +/* AT G T ..AT */ + 830 950 900 860 /* A */ + 830 950 900 860 /* C */ + 830 950 900 860 /* G */ + 830 950 900 860 /* T */ +/* AT T A ..AT */ + 800 920 870 830 /* A */ + 800 920 870 830 /* C */ + 800 920 870 830 /* G */ + 800 920 870 830 /* T */ +/* AT T C ..AT */ + 920 1040 990 950 /* A */ + 920 1040 990 950 /* C */ + 920 1040 990 950 /* G */ + 920 1040 990 950 /* T */ +/* AT T G ..AT */ + 870 990 940 900 /* A */ + 870 990 940 900 /* C */ + 870 990 940 900 /* G */ + 870 990 940 900 /* T */ +/* AT T T ..AT */ + 830 950 900 860 /* A */ + 830 950 900 860 /* C */ + 830 950 900 860 /* G */ + 830 950 900 860 /* T */ +/* AT A A ..TA */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* AT A C ..TA */ + 660 780 730 690 /* A */ + 660 780 730 690 /* C */ + 660 780 730 690 /* G */ + 660 780 730 690 /* T */ +/* AT A G ..TA */ + 470 590 540 500 /* A */ + 470 590 540 500 /* C */ + 470 590 540 500 /* G */ + 470 590 540 500 /* T */ +/* AT A T ..TA */ + -180 -60 -110 -150 /* A */ + -180 -60 -110 -150 /* C */ + -180 -60 -110 -150 /* G */ + -180 -60 -110 -150 /* T */ +/* AT C A ..TA */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* AT C C ..TA */ + 660 780 730 690 /* A */ + 660 780 730 690 /* C */ + 660 780 730 690 /* G */ + 660 780 730 690 /* T */ +/* AT C G ..TA */ + 470 590 540 500 /* A */ + 470 590 540 500 /* C */ + 470 590 540 500 /* G */ + 470 590 540 500 /* T */ +/* AT C T ..TA */ + -180 -60 -110 -150 /* A */ + -180 -60 -110 -150 /* C */ + -180 -60 -110 -150 /* G */ + -180 -60 -110 -150 /* T */ +/* AT G A ..TA */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* AT G C ..TA */ + 660 780 730 690 /* A */ + 660 780 730 690 /* C */ + 660 780 730 690 /* G */ + 660 780 730 690 /* T */ +/* AT G G ..TA */ + 470 590 540 500 /* A */ + 470 590 540 500 /* C */ + 470 590 540 500 /* G */ + 470 590 540 500 /* T */ +/* AT G T ..TA */ + -180 -60 -110 -150 /* A */ + -180 -60 -110 -150 /* C */ + -180 -60 -110 -150 /* G */ + -180 -60 -110 -150 /* T */ +/* AT T A ..TA */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* AT T C ..TA */ + 660 780 730 690 /* A */ + 660 780 730 690 /* C */ + 660 780 730 690 /* G */ + 660 780 730 690 /* T */ +/* AT T G ..TA */ + 470 590 540 500 /* A */ + 470 590 540 500 /* C */ + 470 590 540 500 /* G */ + 470 590 540 500 /* T */ +/* AT T T ..TA */ + -180 -60 -110 -150 /* A */ + -180 -60 -110 -150 /* C */ + -180 -60 -110 -150 /* G */ + -180 -60 -110 -150 /* T */ +/* AT A A ..NN */ + 800 920 870 830 /* A */ + 800 920 870 830 /* C */ + 800 920 870 830 /* G */ + 800 920 870 830 /* T */ +/* AT A C ..NN */ + 920 1040 990 950 /* A */ + 920 1040 990 950 /* C */ + 920 1040 990 950 /* G */ + 920 1040 990 950 /* T */ +/* AT A G ..NN */ + 870 990 940 900 /* A */ + 870 990 940 900 /* C */ + 870 990 940 900 /* G */ + 870 990 940 900 /* T */ +/* AT A T ..NN */ + 830 950 900 860 /* A */ + 830 950 900 860 /* C */ + 830 950 900 860 /* G */ + 830 950 900 860 /* T */ +/* AT C A ..NN */ + 800 920 870 830 /* A */ + 800 920 870 830 /* C */ + 800 920 870 830 /* G */ + 800 920 870 830 /* T */ +/* AT C C ..NN */ + 920 1040 990 950 /* A */ + 920 1040 990 950 /* C */ + 920 1040 990 950 /* G */ + 920 1040 990 950 /* T */ +/* AT C G ..NN */ + 870 990 940 900 /* A */ + 870 990 940 900 /* C */ + 870 990 940 900 /* G */ + 870 990 940 900 /* T */ +/* AT C T ..NN */ + 830 950 900 860 /* A */ + 830 950 900 860 /* C */ + 830 950 900 860 /* G */ + 830 950 900 860 /* T */ +/* AT G A ..NN */ + 800 920 870 830 /* A */ + 800 920 870 830 /* C */ + 800 920 870 830 /* G */ + 800 920 870 830 /* T */ +/* AT G C ..NN */ + 920 1040 990 950 /* A */ + 920 1040 990 950 /* C */ + 920 1040 990 950 /* G */ + 920 1040 990 950 /* T */ +/* AT G G ..NN */ + 870 990 940 900 /* A */ + 870 990 940 900 /* C */ + 870 990 940 900 /* G */ + 870 990 940 900 /* T */ +/* AT G T ..NN */ + 830 950 900 860 /* A */ + 830 950 900 860 /* C */ + 830 950 900 860 /* G */ + 830 950 900 860 /* T */ +/* AT T A ..NN */ + 800 920 870 830 /* A */ + 800 920 870 830 /* C */ + 800 920 870 830 /* G */ + 800 920 870 830 /* T */ +/* AT T C ..NN */ + 920 1040 990 950 /* A */ + 920 1040 990 950 /* C */ + 920 1040 990 950 /* G */ + 920 1040 990 950 /* T */ +/* AT T G ..NN */ + 870 990 940 900 /* A */ + 870 990 940 900 /* C */ + 870 990 940 900 /* G */ + 870 990 940 900 /* T */ +/* AT T T ..NN */ + 830 950 900 860 /* A */ + 830 950 900 860 /* C */ + 830 950 900 860 /* G */ + 830 950 900 860 /* T */ +/* TA A A ..CG */ + -230 -200 -390 -1040 /* A */ + -230 -200 -390 -1040 /* C */ + -230 -200 -390 -1040 /* G */ + -230 -200 -390 -1040 /* T */ +/* TA A C ..CG */ + -190 -160 -350 -1000 /* A */ + -190 -160 -350 -1000 /* C */ + -190 -160 -350 -1000 /* G */ + -190 -160 -350 -1000 /* T */ +/* TA A G ..CG */ + -240 -210 -400 -1050 /* A */ + -240 -210 -400 -1050 /* C */ + -240 -210 -400 -1050 /* G */ + -240 -210 -400 -1050 /* T */ +/* TA A T ..CG */ + -270 -240 -430 -1080 /* A */ + -270 -240 -430 -1080 /* C */ + -270 -240 -430 -1080 /* G */ + -270 -240 -430 -1080 /* T */ +/* TA C A ..CG */ + -230 -200 -390 -1040 /* A */ + -230 -200 -390 -1040 /* C */ + -230 -200 -390 -1040 /* G */ + -230 -200 -390 -1040 /* T */ +/* TA C C ..CG */ + -190 -160 -350 -1000 /* A */ + -190 -160 -350 -1000 /* C */ + -190 -160 -350 -1000 /* G */ + -190 -160 -350 -1000 /* T */ +/* TA C G ..CG */ + -240 -210 -400 -1050 /* A */ + -240 -210 -400 -1050 /* C */ + -240 -210 -400 -1050 /* G */ + -240 -210 -400 -1050 /* T */ +/* TA C T ..CG */ + -270 -240 -430 -1080 /* A */ + -270 -240 -430 -1080 /* C */ + -270 -240 -430 -1080 /* G */ + -270 -240 -430 -1080 /* T */ +/* TA G A ..CG */ + -230 -200 -390 -1040 /* A */ + -230 -200 -390 -1040 /* C */ + -230 -200 -390 -1040 /* G */ + -230 -200 -390 -1040 /* T */ +/* TA G C ..CG */ + -190 -160 -350 -1000 /* A */ + -190 -160 -350 -1000 /* C */ + -190 -160 -350 -1000 /* G */ + -190 -160 -350 -1000 /* T */ +/* TA G G ..CG */ + -240 -210 -400 -1050 /* A */ + -240 -210 -400 -1050 /* C */ + -240 -210 -400 -1050 /* G */ + -240 -210 -400 -1050 /* T */ +/* TA G T ..CG */ + -270 -240 -430 -1080 /* A */ + -270 -240 -430 -1080 /* C */ + -270 -240 -430 -1080 /* G */ + -270 -240 -430 -1080 /* T */ +/* TA T A ..CG */ + -230 -200 -390 -1040 /* A */ + -230 -200 -390 -1040 /* C */ + -230 -200 -390 -1040 /* G */ + -230 -200 -390 -1040 /* T */ +/* TA T C ..CG */ + -190 -160 -350 -1000 /* A */ + -190 -160 -350 -1000 /* C */ + -190 -160 -350 -1000 /* G */ + -190 -160 -350 -1000 /* T */ +/* TA T G ..CG */ + -240 -210 -400 -1050 /* A */ + -240 -210 -400 -1050 /* C */ + -240 -210 -400 -1050 /* G */ + -240 -210 -400 -1050 /* T */ +/* TA T T ..CG */ + -270 -240 -430 -1080 /* A */ + -270 -240 -430 -1080 /* C */ + -270 -240 -430 -1080 /* G */ + -270 -240 -430 -1080 /* T */ +/* TA A A ..GC */ + -390 -360 -550 -1200 /* A */ + -390 -360 -550 -1200 /* C */ + -390 -360 -550 -1200 /* G */ + -390 -360 -550 -1200 /* T */ +/* TA A C ..GC */ + -100 -70 -260 -910 /* A */ + -100 -70 -260 -910 /* C */ + -100 -70 -260 -910 /* G */ + -100 -70 -260 -910 /* T */ +/* TA A G ..GC */ + -280 -250 -440 -1090 /* A */ + -280 -250 -440 -1090 /* C */ + -280 -250 -440 -1090 /* G */ + -280 -250 -440 -1090 /* T */ +/* TA A T ..GC */ + 140 170 -20 -670 /* A */ + 140 170 -20 -670 /* C */ + 140 170 -20 -670 /* G */ + 140 170 -20 -670 /* T */ +/* TA C A ..GC */ + -390 -360 -550 -1200 /* A */ + -390 -360 -550 -1200 /* C */ + -390 -360 -550 -1200 /* G */ + -390 -360 -550 -1200 /* T */ +/* TA C C ..GC */ + -100 -70 -260 -910 /* A */ + -100 -70 -260 -910 /* C */ + -100 -70 -260 -910 /* G */ + -100 -70 -260 -910 /* T */ +/* TA C G ..GC */ + -280 -250 -440 -1090 /* A */ + -280 -250 -440 -1090 /* C */ + -280 -250 -440 -1090 /* G */ + -280 -250 -440 -1090 /* T */ +/* TA C T ..GC */ + 140 170 -20 -670 /* A */ + 140 170 -20 -670 /* C */ + 140 170 -20 -670 /* G */ + 140 170 -20 -670 /* T */ +/* TA G A ..GC */ + -390 -360 -550 -1200 /* A */ + -390 -360 -550 -1200 /* C */ + -390 -360 -550 -1200 /* G */ + -390 -360 -550 -1200 /* T */ +/* TA G C ..GC */ + -100 -70 -260 -910 /* A */ + -100 -70 -260 -910 /* C */ + -100 -70 -260 -910 /* G */ + -100 -70 -260 -910 /* T */ +/* TA G G ..GC */ + -280 -250 -440 -1090 /* A */ + -280 -250 -440 -1090 /* C */ + -280 -250 -440 -1090 /* G */ + -280 -250 -440 -1090 /* T */ +/* TA G T ..GC */ + 140 170 -20 -670 /* A */ + 140 170 -20 -670 /* C */ + 140 170 -20 -670 /* G */ + 140 170 -20 -670 /* T */ +/* TA T A ..GC */ + -390 -360 -550 -1200 /* A */ + -390 -360 -550 -1200 /* C */ + -390 -360 -550 -1200 /* G */ + -390 -360 -550 -1200 /* T */ +/* TA T C ..GC */ + -100 -70 -260 -910 /* A */ + -100 -70 -260 -910 /* C */ + -100 -70 -260 -910 /* G */ + -100 -70 -260 -910 /* T */ +/* TA T G ..GC */ + -280 -250 -440 -1090 /* A */ + -280 -250 -440 -1090 /* C */ + -280 -250 -440 -1090 /* G */ + -280 -250 -440 -1090 /* T */ +/* TA T T ..GC */ + 140 170 -20 -670 /* A */ + 140 170 -20 -670 /* C */ + 140 170 -20 -670 /* G */ + 140 170 -20 -670 /* T */ +/* TA A A ..GT */ + -70 -40 -230 -880 /* A */ + -70 -40 -230 -880 /* C */ + -70 -40 -230 -880 /* G */ + -70 -40 -230 -880 /* T */ +/* TA A C ..GT */ + 220 250 60 -590 /* A */ + 220 250 60 -590 /* C */ + 220 250 60 -590 /* G */ + 220 250 60 -590 /* T */ +/* TA A G ..GT */ + 40 70 -120 -770 /* A */ + 40 70 -120 -770 /* C */ + 40 70 -120 -770 /* G */ + 40 70 -120 -770 /* T */ +/* TA A T ..GT */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TA C A ..GT */ + -70 -40 -230 -880 /* A */ + -70 -40 -230 -880 /* C */ + -70 -40 -230 -880 /* G */ + -70 -40 -230 -880 /* T */ +/* TA C C ..GT */ + 220 250 60 -590 /* A */ + 220 250 60 -590 /* C */ + 220 250 60 -590 /* G */ + 220 250 60 -590 /* T */ +/* TA C G ..GT */ + 40 70 -120 -770 /* A */ + 40 70 -120 -770 /* C */ + 40 70 -120 -770 /* G */ + 40 70 -120 -770 /* T */ +/* TA C T ..GT */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TA G A ..GT */ + -70 -40 -230 -880 /* A */ + -70 -40 -230 -880 /* C */ + -70 -40 -230 -880 /* G */ + -70 -40 -230 -880 /* T */ +/* TA G C ..GT */ + 220 250 60 -590 /* A */ + 220 250 60 -590 /* C */ + 220 250 60 -590 /* G */ + 220 250 60 -590 /* T */ +/* TA G G ..GT */ + 40 70 -120 -770 /* A */ + 40 70 -120 -770 /* C */ + 40 70 -120 -770 /* G */ + 40 70 -120 -770 /* T */ +/* TA G T ..GT */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TA T A ..GT */ + -70 -40 -230 -880 /* A */ + -70 -40 -230 -880 /* C */ + -70 -40 -230 -880 /* G */ + -70 -40 -230 -880 /* T */ +/* TA T C ..GT */ + 220 250 60 -590 /* A */ + 220 250 60 -590 /* C */ + 220 250 60 -590 /* G */ + 220 250 60 -590 /* T */ +/* TA T G ..GT */ + 40 70 -120 -770 /* A */ + 40 70 -120 -770 /* C */ + 40 70 -120 -770 /* G */ + 40 70 -120 -770 /* T */ +/* TA T T ..GT */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TA A A ..TG */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TA A C ..TG */ + 490 520 330 -320 /* A */ + 490 520 330 -320 /* C */ + 490 520 330 -320 /* G */ + 490 520 330 -320 /* T */ +/* TA A G ..TG */ + 300 330 140 -510 /* A */ + 300 330 140 -510 /* C */ + 300 330 140 -510 /* G */ + 300 330 140 -510 /* T */ +/* TA A T ..TG */ + -350 -320 -510 -1160 /* A */ + -350 -320 -510 -1160 /* C */ + -350 -320 -510 -1160 /* G */ + -350 -320 -510 -1160 /* T */ +/* TA C A ..TG */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TA C C ..TG */ + 490 520 330 -320 /* A */ + 490 520 330 -320 /* C */ + 490 520 330 -320 /* G */ + 490 520 330 -320 /* T */ +/* TA C G ..TG */ + 300 330 140 -510 /* A */ + 300 330 140 -510 /* C */ + 300 330 140 -510 /* G */ + 300 330 140 -510 /* T */ +/* TA C T ..TG */ + -350 -320 -510 -1160 /* A */ + -350 -320 -510 -1160 /* C */ + -350 -320 -510 -1160 /* G */ + -350 -320 -510 -1160 /* T */ +/* TA G A ..TG */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TA G C ..TG */ + 490 520 330 -320 /* A */ + 490 520 330 -320 /* C */ + 490 520 330 -320 /* G */ + 490 520 330 -320 /* T */ +/* TA G G ..TG */ + 300 330 140 -510 /* A */ + 300 330 140 -510 /* C */ + 300 330 140 -510 /* G */ + 300 330 140 -510 /* T */ +/* TA G T ..TG */ + -350 -320 -510 -1160 /* A */ + -350 -320 -510 -1160 /* C */ + -350 -320 -510 -1160 /* G */ + -350 -320 -510 -1160 /* T */ +/* TA T A ..TG */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TA T C ..TG */ + 490 520 330 -320 /* A */ + 490 520 330 -320 /* C */ + 490 520 330 -320 /* G */ + 490 520 330 -320 /* T */ +/* TA T G ..TG */ + 300 330 140 -510 /* A */ + 300 330 140 -510 /* C */ + 300 330 140 -510 /* G */ + 300 330 140 -510 /* T */ +/* TA T T ..TG */ + -350 -320 -510 -1160 /* A */ + -350 -320 -510 -1160 /* C */ + -350 -320 -510 -1160 /* G */ + -350 -320 -510 -1160 /* T */ +/* TA A A ..AT */ + 630 660 470 -180 /* A */ + 630 660 470 -180 /* C */ + 630 660 470 -180 /* G */ + 630 660 470 -180 /* T */ +/* TA A C ..AT */ + 750 780 590 -60 /* A */ + 750 780 590 -60 /* C */ + 750 780 590 -60 /* G */ + 750 780 590 -60 /* T */ +/* TA A G ..AT */ + 700 730 540 -110 /* A */ + 700 730 540 -110 /* C */ + 700 730 540 -110 /* G */ + 700 730 540 -110 /* T */ +/* TA A T ..AT */ + 660 690 500 -150 /* A */ + 660 690 500 -150 /* C */ + 660 690 500 -150 /* G */ + 660 690 500 -150 /* T */ +/* TA C A ..AT */ + 630 660 470 -180 /* A */ + 630 660 470 -180 /* C */ + 630 660 470 -180 /* G */ + 630 660 470 -180 /* T */ +/* TA C C ..AT */ + 750 780 590 -60 /* A */ + 750 780 590 -60 /* C */ + 750 780 590 -60 /* G */ + 750 780 590 -60 /* T */ +/* TA C G ..AT */ + 700 730 540 -110 /* A */ + 700 730 540 -110 /* C */ + 700 730 540 -110 /* G */ + 700 730 540 -110 /* T */ +/* TA C T ..AT */ + 660 690 500 -150 /* A */ + 660 690 500 -150 /* C */ + 660 690 500 -150 /* G */ + 660 690 500 -150 /* T */ +/* TA G A ..AT */ + 630 660 470 -180 /* A */ + 630 660 470 -180 /* C */ + 630 660 470 -180 /* G */ + 630 660 470 -180 /* T */ +/* TA G C ..AT */ + 750 780 590 -60 /* A */ + 750 780 590 -60 /* C */ + 750 780 590 -60 /* G */ + 750 780 590 -60 /* T */ +/* TA G G ..AT */ + 700 730 540 -110 /* A */ + 700 730 540 -110 /* C */ + 700 730 540 -110 /* G */ + 700 730 540 -110 /* T */ +/* TA G T ..AT */ + 660 690 500 -150 /* A */ + 660 690 500 -150 /* C */ + 660 690 500 -150 /* G */ + 660 690 500 -150 /* T */ +/* TA T A ..AT */ + 630 660 470 -180 /* A */ + 630 660 470 -180 /* C */ + 630 660 470 -180 /* G */ + 630 660 470 -180 /* T */ +/* TA T C ..AT */ + 750 780 590 -60 /* A */ + 750 780 590 -60 /* C */ + 750 780 590 -60 /* G */ + 750 780 590 -60 /* T */ +/* TA T G ..AT */ + 700 730 540 -110 /* A */ + 700 730 540 -110 /* C */ + 700 730 540 -110 /* G */ + 700 730 540 -110 /* T */ +/* TA T T ..AT */ + 660 690 500 -150 /* A */ + 660 690 500 -150 /* C */ + 660 690 500 -150 /* G */ + 660 690 500 -150 /* T */ +/* TA A A ..TA */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TA A C ..TA */ + 490 520 330 -320 /* A */ + 490 520 330 -320 /* C */ + 490 520 330 -320 /* G */ + 490 520 330 -320 /* T */ +/* TA A G ..TA */ + 300 330 140 -510 /* A */ + 300 330 140 -510 /* C */ + 300 330 140 -510 /* G */ + 300 330 140 -510 /* T */ +/* TA A T ..TA */ + -350 -320 -510 -1160 /* A */ + -350 -320 -510 -1160 /* C */ + -350 -320 -510 -1160 /* G */ + -350 -320 -510 -1160 /* T */ +/* TA C A ..TA */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TA C C ..TA */ + 490 520 330 -320 /* A */ + 490 520 330 -320 /* C */ + 490 520 330 -320 /* G */ + 490 520 330 -320 /* T */ +/* TA C G ..TA */ + 300 330 140 -510 /* A */ + 300 330 140 -510 /* C */ + 300 330 140 -510 /* G */ + 300 330 140 -510 /* T */ +/* TA C T ..TA */ + -350 -320 -510 -1160 /* A */ + -350 -320 -510 -1160 /* C */ + -350 -320 -510 -1160 /* G */ + -350 -320 -510 -1160 /* T */ +/* TA G A ..TA */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TA G C ..TA */ + 490 520 330 -320 /* A */ + 490 520 330 -320 /* C */ + 490 520 330 -320 /* G */ + 490 520 330 -320 /* T */ +/* TA G G ..TA */ + 300 330 140 -510 /* A */ + 300 330 140 -510 /* C */ + 300 330 140 -510 /* G */ + 300 330 140 -510 /* T */ +/* TA G T ..TA */ + -350 -320 -510 -1160 /* A */ + -350 -320 -510 -1160 /* C */ + -350 -320 -510 -1160 /* G */ + -350 -320 -510 -1160 /* T */ +/* TA T A ..TA */ + 460 490 300 -350 /* A */ + 460 490 300 -350 /* C */ + 460 490 300 -350 /* G */ + 460 490 300 -350 /* T */ +/* TA T C ..TA */ + 490 520 330 -320 /* A */ + 490 520 330 -320 /* C */ + 490 520 330 -320 /* G */ + 490 520 330 -320 /* T */ +/* TA T G ..TA */ + 300 330 140 -510 /* A */ + 300 330 140 -510 /* C */ + 300 330 140 -510 /* G */ + 300 330 140 -510 /* T */ +/* TA T T ..TA */ + -350 -320 -510 -1160 /* A */ + -350 -320 -510 -1160 /* C */ + -350 -320 -510 -1160 /* G */ + -350 -320 -510 -1160 /* T */ +/* TA A A ..NN */ + 630 660 470 -180 /* A */ + 630 660 470 -180 /* C */ + 630 660 470 -180 /* G */ + 630 660 470 -180 /* T */ +/* TA A C ..NN */ + 750 780 590 -60 /* A */ + 750 780 590 -60 /* C */ + 750 780 590 -60 /* G */ + 750 780 590 -60 /* T */ +/* TA A G ..NN */ + 700 730 540 -110 /* A */ + 700 730 540 -110 /* C */ + 700 730 540 -110 /* G */ + 700 730 540 -110 /* T */ +/* TA A T ..NN */ + 660 690 500 -150 /* A */ + 660 690 500 -150 /* C */ + 660 690 500 -150 /* G */ + 660 690 500 -150 /* T */ +/* TA C A ..NN */ + 630 660 470 -180 /* A */ + 630 660 470 -180 /* C */ + 630 660 470 -180 /* G */ + 630 660 470 -180 /* T */ +/* TA C C ..NN */ + 750 780 590 -60 /* A */ + 750 780 590 -60 /* C */ + 750 780 590 -60 /* G */ + 750 780 590 -60 /* T */ +/* TA C G ..NN */ + 700 730 540 -110 /* A */ + 700 730 540 -110 /* C */ + 700 730 540 -110 /* G */ + 700 730 540 -110 /* T */ +/* TA C T ..NN */ + 660 690 500 -150 /* A */ + 660 690 500 -150 /* C */ + 660 690 500 -150 /* G */ + 660 690 500 -150 /* T */ +/* TA G A ..NN */ + 630 660 470 -180 /* A */ + 630 660 470 -180 /* C */ + 630 660 470 -180 /* G */ + 630 660 470 -180 /* T */ +/* TA G C ..NN */ + 750 780 590 -60 /* A */ + 750 780 590 -60 /* C */ + 750 780 590 -60 /* G */ + 750 780 590 -60 /* T */ +/* TA G G ..NN */ + 700 730 540 -110 /* A */ + 700 730 540 -110 /* C */ + 700 730 540 -110 /* G */ + 700 730 540 -110 /* T */ +/* TA G T ..NN */ + 660 690 500 -150 /* A */ + 660 690 500 -150 /* C */ + 660 690 500 -150 /* G */ + 660 690 500 -150 /* T */ +/* TA T A ..NN */ + 630 660 470 -180 /* A */ + 630 660 470 -180 /* C */ + 630 660 470 -180 /* G */ + 630 660 470 -180 /* T */ +/* TA T C ..NN */ + 750 780 590 -60 /* A */ + 750 780 590 -60 /* C */ + 750 780 590 -60 /* G */ + 750 780 590 -60 /* T */ +/* TA T G ..NN */ + 700 730 540 -110 /* A */ + 700 730 540 -110 /* C */ + 700 730 540 -110 /* G */ + 700 730 540 -110 /* T */ +/* TA T T ..NN */ + 660 690 500 -150 /* A */ + 660 690 500 -150 /* C */ + 660 690 500 -150 /* G */ + 660 690 500 -150 /* T */ +/* NN A A ..CG */ + -60 60 10 -30 /* A */ + -60 60 10 -30 /* C */ + -60 60 10 -30 /* G */ + -60 60 10 -30 /* T */ +/* NN A C ..CG */ + -20 100 50 10 /* A */ + -20 100 50 10 /* C */ + -20 100 50 10 /* G */ + -20 100 50 10 /* T */ +/* NN A G ..CG */ + -70 50 0 -40 /* A */ + -70 50 0 -40 /* C */ + -70 50 0 -40 /* G */ + -70 50 0 -40 /* T */ +/* NN A T ..CG */ + -100 20 -30 -70 /* A */ + -100 20 -30 -70 /* C */ + -100 20 -30 -70 /* G */ + -100 20 -30 -70 /* T */ +/* NN C A ..CG */ + -60 60 10 -30 /* A */ + -60 60 10 -30 /* C */ + -60 60 10 -30 /* G */ + -60 60 10 -30 /* T */ +/* NN C C ..CG */ + -20 100 50 10 /* A */ + -20 100 50 10 /* C */ + -20 100 50 10 /* G */ + -20 100 50 10 /* T */ +/* NN C G ..CG */ + -70 50 0 -40 /* A */ + -70 50 0 -40 /* C */ + -70 50 0 -40 /* G */ + -70 50 0 -40 /* T */ +/* NN C T ..CG */ + -100 20 -30 -70 /* A */ + -100 20 -30 -70 /* C */ + -100 20 -30 -70 /* G */ + -100 20 -30 -70 /* T */ +/* NN G A ..CG */ + -60 60 10 -30 /* A */ + -60 60 10 -30 /* C */ + -60 60 10 -30 /* G */ + -60 60 10 -30 /* T */ +/* NN G C ..CG */ + -20 100 50 10 /* A */ + -20 100 50 10 /* C */ + -20 100 50 10 /* G */ + -20 100 50 10 /* T */ +/* NN G G ..CG */ + -70 50 0 -40 /* A */ + -70 50 0 -40 /* C */ + -70 50 0 -40 /* G */ + -70 50 0 -40 /* T */ +/* NN G T ..CG */ + -100 20 -30 -70 /* A */ + -100 20 -30 -70 /* C */ + -100 20 -30 -70 /* G */ + -100 20 -30 -70 /* T */ +/* NN T A ..CG */ + -60 60 10 -30 /* A */ + -60 60 10 -30 /* C */ + -60 60 10 -30 /* G */ + -60 60 10 -30 /* T */ +/* NN T C ..CG */ + -20 100 50 10 /* A */ + -20 100 50 10 /* C */ + -20 100 50 10 /* G */ + -20 100 50 10 /* T */ +/* NN T G ..CG */ + -70 50 0 -40 /* A */ + -70 50 0 -40 /* C */ + -70 50 0 -40 /* G */ + -70 50 0 -40 /* T */ +/* NN T T ..CG */ + -100 20 -30 -70 /* A */ + -100 20 -30 -70 /* C */ + -100 20 -30 -70 /* G */ + -100 20 -30 -70 /* T */ +/* NN A A ..GC */ + -220 -100 -150 -190 /* A */ + -220 -100 -150 -190 /* C */ + -220 -100 -150 -190 /* G */ + -220 -100 -150 -190 /* T */ +/* NN A C ..GC */ + 70 190 140 100 /* A */ + 70 190 140 100 /* C */ + 70 190 140 100 /* G */ + 70 190 140 100 /* T */ +/* NN A G ..GC */ + -110 10 -40 -80 /* A */ + -110 10 -40 -80 /* C */ + -110 10 -40 -80 /* G */ + -110 10 -40 -80 /* T */ +/* NN A T ..GC */ + 310 430 380 340 /* A */ + 310 430 380 340 /* C */ + 310 430 380 340 /* G */ + 310 430 380 340 /* T */ +/* NN C A ..GC */ + -220 -100 -150 -190 /* A */ + -220 -100 -150 -190 /* C */ + -220 -100 -150 -190 /* G */ + -220 -100 -150 -190 /* T */ +/* NN C C ..GC */ + 70 190 140 100 /* A */ + 70 190 140 100 /* C */ + 70 190 140 100 /* G */ + 70 190 140 100 /* T */ +/* NN C G ..GC */ + -110 10 -40 -80 /* A */ + -110 10 -40 -80 /* C */ + -110 10 -40 -80 /* G */ + -110 10 -40 -80 /* T */ +/* NN C T ..GC */ + 310 430 380 340 /* A */ + 310 430 380 340 /* C */ + 310 430 380 340 /* G */ + 310 430 380 340 /* T */ +/* NN G A ..GC */ + -220 -100 -150 -190 /* A */ + -220 -100 -150 -190 /* C */ + -220 -100 -150 -190 /* G */ + -220 -100 -150 -190 /* T */ +/* NN G C ..GC */ + 70 190 140 100 /* A */ + 70 190 140 100 /* C */ + 70 190 140 100 /* G */ + 70 190 140 100 /* T */ +/* NN G G ..GC */ + -110 10 -40 -80 /* A */ + -110 10 -40 -80 /* C */ + -110 10 -40 -80 /* G */ + -110 10 -40 -80 /* T */ +/* NN G T ..GC */ + 310 430 380 340 /* A */ + 310 430 380 340 /* C */ + 310 430 380 340 /* G */ + 310 430 380 340 /* T */ +/* NN T A ..GC */ + -220 -100 -150 -190 /* A */ + -220 -100 -150 -190 /* C */ + -220 -100 -150 -190 /* G */ + -220 -100 -150 -190 /* T */ +/* NN T C ..GC */ + 70 190 140 100 /* A */ + 70 190 140 100 /* C */ + 70 190 140 100 /* G */ + 70 190 140 100 /* T */ +/* NN T G ..GC */ + -110 10 -40 -80 /* A */ + -110 10 -40 -80 /* C */ + -110 10 -40 -80 /* G */ + -110 10 -40 -80 /* T */ +/* NN T T ..GC */ + 310 430 380 340 /* A */ + 310 430 380 340 /* C */ + 310 430 380 340 /* G */ + 310 430 380 340 /* T */ +/* NN A A ..GT */ + 100 220 170 130 /* A */ + 100 220 170 130 /* C */ + 100 220 170 130 /* G */ + 100 220 170 130 /* T */ +/* NN A C ..GT */ + 390 510 460 420 /* A */ + 390 510 460 420 /* C */ + 390 510 460 420 /* G */ + 390 510 460 420 /* T */ +/* NN A G ..GT */ + 210 330 280 240 /* A */ + 210 330 280 240 /* C */ + 210 330 280 240 /* G */ + 210 330 280 240 /* T */ +/* NN A T ..GT */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* NN C A ..GT */ + 100 220 170 130 /* A */ + 100 220 170 130 /* C */ + 100 220 170 130 /* G */ + 100 220 170 130 /* T */ +/* NN C C ..GT */ + 390 510 460 420 /* A */ + 390 510 460 420 /* C */ + 390 510 460 420 /* G */ + 390 510 460 420 /* T */ +/* NN C G ..GT */ + 210 330 280 240 /* A */ + 210 330 280 240 /* C */ + 210 330 280 240 /* G */ + 210 330 280 240 /* T */ +/* NN C T ..GT */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* NN G A ..GT */ + 100 220 170 130 /* A */ + 100 220 170 130 /* C */ + 100 220 170 130 /* G */ + 100 220 170 130 /* T */ +/* NN G C ..GT */ + 390 510 460 420 /* A */ + 390 510 460 420 /* C */ + 390 510 460 420 /* G */ + 390 510 460 420 /* T */ +/* NN G G ..GT */ + 210 330 280 240 /* A */ + 210 330 280 240 /* C */ + 210 330 280 240 /* G */ + 210 330 280 240 /* T */ +/* NN G T ..GT */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* NN T A ..GT */ + 100 220 170 130 /* A */ + 100 220 170 130 /* C */ + 100 220 170 130 /* G */ + 100 220 170 130 /* T */ +/* NN T C ..GT */ + 390 510 460 420 /* A */ + 390 510 460 420 /* C */ + 390 510 460 420 /* G */ + 390 510 460 420 /* T */ +/* NN T G ..GT */ + 210 330 280 240 /* A */ + 210 330 280 240 /* C */ + 210 330 280 240 /* G */ + 210 330 280 240 /* T */ +/* NN T T ..GT */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* NN A A ..TG */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* NN A C ..TG */ + 660 780 730 690 /* A */ + 660 780 730 690 /* C */ + 660 780 730 690 /* G */ + 660 780 730 690 /* T */ +/* NN A G ..TG */ + 470 590 540 500 /* A */ + 470 590 540 500 /* C */ + 470 590 540 500 /* G */ + 470 590 540 500 /* T */ +/* NN A T ..TG */ + -180 -60 -110 -150 /* A */ + -180 -60 -110 -150 /* C */ + -180 -60 -110 -150 /* G */ + -180 -60 -110 -150 /* T */ +/* NN C A ..TG */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* NN C C ..TG */ + 660 780 730 690 /* A */ + 660 780 730 690 /* C */ + 660 780 730 690 /* G */ + 660 780 730 690 /* T */ +/* NN C G ..TG */ + 470 590 540 500 /* A */ + 470 590 540 500 /* C */ + 470 590 540 500 /* G */ + 470 590 540 500 /* T */ +/* NN C T ..TG */ + -180 -60 -110 -150 /* A */ + -180 -60 -110 -150 /* C */ + -180 -60 -110 -150 /* G */ + -180 -60 -110 -150 /* T */ +/* NN G A ..TG */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* NN G C ..TG */ + 660 780 730 690 /* A */ + 660 780 730 690 /* C */ + 660 780 730 690 /* G */ + 660 780 730 690 /* T */ +/* NN G G ..TG */ + 470 590 540 500 /* A */ + 470 590 540 500 /* C */ + 470 590 540 500 /* G */ + 470 590 540 500 /* T */ +/* NN G T ..TG */ + -180 -60 -110 -150 /* A */ + -180 -60 -110 -150 /* C */ + -180 -60 -110 -150 /* G */ + -180 -60 -110 -150 /* T */ +/* NN T A ..TG */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* NN T C ..TG */ + 660 780 730 690 /* A */ + 660 780 730 690 /* C */ + 660 780 730 690 /* G */ + 660 780 730 690 /* T */ +/* NN T G ..TG */ + 470 590 540 500 /* A */ + 470 590 540 500 /* C */ + 470 590 540 500 /* G */ + 470 590 540 500 /* T */ +/* NN T T ..TG */ + -180 -60 -110 -150 /* A */ + -180 -60 -110 -150 /* C */ + -180 -60 -110 -150 /* G */ + -180 -60 -110 -150 /* T */ +/* NN A A ..AT */ + 800 920 870 830 /* A */ + 800 920 870 830 /* C */ + 800 920 870 830 /* G */ + 800 920 870 830 /* T */ +/* NN A C ..AT */ + 920 1040 990 950 /* A */ + 920 1040 990 950 /* C */ + 920 1040 990 950 /* G */ + 920 1040 990 950 /* T */ +/* NN A G ..AT */ + 870 990 940 900 /* A */ + 870 990 940 900 /* C */ + 870 990 940 900 /* G */ + 870 990 940 900 /* T */ +/* NN A T ..AT */ + 830 950 900 860 /* A */ + 830 950 900 860 /* C */ + 830 950 900 860 /* G */ + 830 950 900 860 /* T */ +/* NN C A ..AT */ + 800 920 870 830 /* A */ + 800 920 870 830 /* C */ + 800 920 870 830 /* G */ + 800 920 870 830 /* T */ +/* NN C C ..AT */ + 920 1040 990 950 /* A */ + 920 1040 990 950 /* C */ + 920 1040 990 950 /* G */ + 920 1040 990 950 /* T */ +/* NN C G ..AT */ + 870 990 940 900 /* A */ + 870 990 940 900 /* C */ + 870 990 940 900 /* G */ + 870 990 940 900 /* T */ +/* NN C T ..AT */ + 830 950 900 860 /* A */ + 830 950 900 860 /* C */ + 830 950 900 860 /* G */ + 830 950 900 860 /* T */ +/* NN G A ..AT */ + 800 920 870 830 /* A */ + 800 920 870 830 /* C */ + 800 920 870 830 /* G */ + 800 920 870 830 /* T */ +/* NN G C ..AT */ + 920 1040 990 950 /* A */ + 920 1040 990 950 /* C */ + 920 1040 990 950 /* G */ + 920 1040 990 950 /* T */ +/* NN G G ..AT */ + 870 990 940 900 /* A */ + 870 990 940 900 /* C */ + 870 990 940 900 /* G */ + 870 990 940 900 /* T */ +/* NN G T ..AT */ + 830 950 900 860 /* A */ + 830 950 900 860 /* C */ + 830 950 900 860 /* G */ + 830 950 900 860 /* T */ +/* NN T A ..AT */ + 800 920 870 830 /* A */ + 800 920 870 830 /* C */ + 800 920 870 830 /* G */ + 800 920 870 830 /* T */ +/* NN T C ..AT */ + 920 1040 990 950 /* A */ + 920 1040 990 950 /* C */ + 920 1040 990 950 /* G */ + 920 1040 990 950 /* T */ +/* NN T G ..AT */ + 870 990 940 900 /* A */ + 870 990 940 900 /* C */ + 870 990 940 900 /* G */ + 870 990 940 900 /* T */ +/* NN T T ..AT */ + 830 950 900 860 /* A */ + 830 950 900 860 /* C */ + 830 950 900 860 /* G */ + 830 950 900 860 /* T */ +/* NN A A ..TA */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* NN A C ..TA */ + 660 780 730 690 /* A */ + 660 780 730 690 /* C */ + 660 780 730 690 /* G */ + 660 780 730 690 /* T */ +/* NN A G ..TA */ + 470 590 540 500 /* A */ + 470 590 540 500 /* C */ + 470 590 540 500 /* G */ + 470 590 540 500 /* T */ +/* NN A T ..TA */ + -180 -60 -110 -150 /* A */ + -180 -60 -110 -150 /* C */ + -180 -60 -110 -150 /* G */ + -180 -60 -110 -150 /* T */ +/* NN C A ..TA */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* NN C C ..TA */ + 660 780 730 690 /* A */ + 660 780 730 690 /* C */ + 660 780 730 690 /* G */ + 660 780 730 690 /* T */ +/* NN C G ..TA */ + 470 590 540 500 /* A */ + 470 590 540 500 /* C */ + 470 590 540 500 /* G */ + 470 590 540 500 /* T */ +/* NN C T ..TA */ + -180 -60 -110 -150 /* A */ + -180 -60 -110 -150 /* C */ + -180 -60 -110 -150 /* G */ + -180 -60 -110 -150 /* T */ +/* NN G A ..TA */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* NN G C ..TA */ + 660 780 730 690 /* A */ + 660 780 730 690 /* C */ + 660 780 730 690 /* G */ + 660 780 730 690 /* T */ +/* NN G G ..TA */ + 470 590 540 500 /* A */ + 470 590 540 500 /* C */ + 470 590 540 500 /* G */ + 470 590 540 500 /* T */ +/* NN G T ..TA */ + -180 -60 -110 -150 /* A */ + -180 -60 -110 -150 /* C */ + -180 -60 -110 -150 /* G */ + -180 -60 -110 -150 /* T */ +/* NN T A ..TA */ + 630 750 700 660 /* A */ + 630 750 700 660 /* C */ + 630 750 700 660 /* G */ + 630 750 700 660 /* T */ +/* NN T C ..TA */ + 660 780 730 690 /* A */ + 660 780 730 690 /* C */ + 660 780 730 690 /* G */ + 660 780 730 690 /* T */ +/* NN T G ..TA */ + 470 590 540 500 /* A */ + 470 590 540 500 /* C */ + 470 590 540 500 /* G */ + 470 590 540 500 /* T */ +/* NN T T ..TA */ + -180 -60 -110 -150 /* A */ + -180 -60 -110 -150 /* C */ + -180 -60 -110 -150 /* G */ + -180 -60 -110 -150 /* T */ +/* NN A A ..NN */ + 800 920 870 830 /* A */ + 800 920 870 830 /* C */ + 800 920 870 830 /* G */ + 800 920 870 830 /* T */ +/* NN A C ..NN */ + 920 1040 990 950 /* A */ + 920 1040 990 950 /* C */ + 920 1040 990 950 /* G */ + 920 1040 990 950 /* T */ +/* NN A G ..NN */ + 870 990 940 900 /* A */ + 870 990 940 900 /* C */ + 870 990 940 900 /* G */ + 870 990 940 900 /* T */ +/* NN A T ..NN */ + 830 950 900 860 /* A */ + 830 950 900 860 /* C */ + 830 950 900 860 /* G */ + 830 950 900 860 /* T */ +/* NN C A ..NN */ + 800 920 870 830 /* A */ + 800 920 870 830 /* C */ + 800 920 870 830 /* G */ + 800 920 870 830 /* T */ +/* NN C C ..NN */ + 920 1040 990 950 /* A */ + 920 1040 990 950 /* C */ + 920 1040 990 950 /* G */ + 920 1040 990 950 /* T */ +/* NN C G ..NN */ + 870 990 940 900 /* A */ + 870 990 940 900 /* C */ + 870 990 940 900 /* G */ + 870 990 940 900 /* T */ +/* NN C T ..NN */ + 830 950 900 860 /* A */ + 830 950 900 860 /* C */ + 830 950 900 860 /* G */ + 830 950 900 860 /* T */ +/* NN G A ..NN */ + 800 920 870 830 /* A */ + 800 920 870 830 /* C */ + 800 920 870 830 /* G */ + 800 920 870 830 /* T */ +/* NN G C ..NN */ + 920 1040 990 950 /* A */ + 920 1040 990 950 /* C */ + 920 1040 990 950 /* G */ + 920 1040 990 950 /* T */ +/* NN G G ..NN */ + 870 990 940 900 /* A */ + 870 990 940 900 /* C */ + 870 990 940 900 /* G */ + 870 990 940 900 /* T */ +/* NN G T ..NN */ + 830 950 900 860 /* A */ + 830 950 900 860 /* C */ + 830 950 900 860 /* G */ + 830 950 900 860 /* T */ +/* NN T A ..NN */ + 800 920 870 830 /* A */ + 800 920 870 830 /* C */ + 800 920 870 830 /* G */ + 800 920 870 830 /* T */ +/* NN T C ..NN */ + 920 1040 990 950 /* A */ + 920 1040 990 950 /* C */ + 920 1040 990 950 /* G */ + 920 1040 990 950 /* T */ +/* NN T G ..NN */ + 870 990 940 900 /* A */ + 870 990 940 900 /* C */ + 870 990 940 900 /* G */ + 870 990 940 900 /* T */ +/* NN T T ..NN */ + 830 950 900 860 /* A */ + 830 950 900 860 /* C */ + 830 950 900 860 /* G */ + 830 950 900 860 /* T */ + +# hairpin + INF INF INF 340 340 350 420 420 420 430 + 440 450 460 470 480 500 510 520 530 540 + 550 560 570 580 590 600 610 620 630 640 + 650 + +# bulge + INF 380 280 320 350 380 400 420 430 440 + 450 460 470 480 490 500 500 510 520 520 + 530 530 540 540 550 550 560 560 560 570 + 570 + +# internal_loop + INF INF INF INF 250 270 290 310 320 340 + 350 360 370 380 390 390 400 410 410 420 + 420 430 430 440 440 450 450 460 460 460 + 470 + +# ML_params +/* the numbers below are really meant to be used with co-axial stacking */ +/* without the penalty is certainly too large */ +/* F = cu*n_unpaired + cc + ci*loop_degree (+TermAU) */ +/* cu cc ci TerminalAU DuplexInit*/ + 0 1280 -60 20 210 + +# NINIO +/* Ninio = MIN(max, m*|n1-n2| */ +/* m max */ + 60 300 + +# Tetraloops + GGUCAC -80 /* 160 */ + GGCUAC -70 /* 170 */ + GGAAAC 0 /* 240 */ + CUUUUG -60 /* 220 */ + CAAAAG 0 /* 280 */ + AUUUUU -380 /* 10 */ + AAAAAU -70 /* 280 */ + UUAAUA -120 /* 180 */ + GAAAAC -60 /* 180 */ + GUAAUC -80 /* 180 */ + CUUUUG -200 /* 80 */ + GGTCAC -80 /* 160 */ + GGCTAC -70 /* 170 */ + GGAAAC 0 /* 240 */ + CTTTTG -60 /* 220 */ + CAAAAG 0 /* 280 */ + ATTTTT -380 /* 10 */ + AAAAAT -70 /* 280 */ + TTAATA -120 /* 180 */ + GAAAAC -60 /* 180 */ + GTAATC -80 /* 180 */ + CTTTTG -200 /* 80 */ + CAAAAG -90 /* 190 */ + CAAAAG -90 /* 190 */ + +# Triloops + CGCAG -390 /* -50 */ + CUUUG -290 /* 50 */ + AUAAU 80 /* 460 */ + CGCAG -390 /* -50 */ + CTTTG -290 /* 50 */ + ATAAT 80 /* 460 */ + +# mismatch_hairpin +/* CG.. */ + -40 -60 -40 -60 -60 + -40 -60 -40 -60 -60 + -40 -60 -40 -60 -60 + -40 -60 -40 -60 -60 + -40 -60 -40 -60 -60 +/* GC.. */ + -50 -100 -50 -60 -80 + -50 -100 -50 -60 -80 + -50 -100 -50 -60 -80 + -50 -100 -50 -60 -80 + -50 -100 -50 -60 -80 +/* GT.. */ + -30 -80 -30 -40 -60 + -30 -80 -30 -40 -60 + -30 -80 -30 -40 -60 + -30 -80 -30 -40 -60 + -30 -80 -30 -40 -60 +/* TG.. */ + -20 -20 -20 -40 -60 + -20 -20 -20 -40 -60 + -20 -20 -20 -40 -60 + -20 -20 -20 -40 -60 + -20 -20 -20 -40 -60 +/* AT.. */ + 90 -10 30 90 30 + 90 -10 30 90 30 + 90 -10 30 90 30 + 90 -10 30 90 30 + 90 -10 30 90 30 +/* TA.. */ + -20 -20 -20 -40 -60 + -20 -20 -20 -40 -60 + -20 -20 -20 -40 -60 + -20 -20 -20 -40 -60 + -20 -20 -20 -40 -60 +/* NN.. */ + 90 -10 30 90 30 + 90 -10 30 90 30 + 90 -10 30 90 30 + 90 -10 30 90 30 + 90 -10 30 90 30 + +# mismatch_interior +/* CG.. */ + -40 -60 -40 -60 -60 + -40 -60 -40 -60 -60 + -40 -60 -40 -60 -60 + -40 -60 -40 -60 -60 + -40 -60 -40 -60 -60 +/* GC.. */ + -50 -100 -50 -60 -80 + -50 -100 -50 -60 -80 + -50 -100 -50 -60 -80 + -50 -100 -50 -60 -80 + -50 -100 -50 -60 -80 +/* GT.. */ + -30 -80 -30 -40 -60 + -30 -80 -30 -40 -60 + -30 -80 -30 -40 -60 + -30 -80 -30 -40 -60 + -30 -80 -30 -40 -60 +/* TG.. */ + -20 -20 -20 -40 -60 + -20 -20 -20 -40 -60 + -20 -20 -20 -40 -60 + -20 -20 -20 -40 -60 + -20 -20 -20 -40 -60 +/* AT.. */ + 90 -10 30 90 30 + 90 -10 30 90 30 + 90 -10 30 90 30 + 90 -10 30 90 30 + 90 -10 30 90 30 +/* TA.. */ + -20 -20 -20 -40 -60 + -20 -20 -20 -40 -60 + -20 -20 -20 -40 -60 + -20 -20 -20 -40 -60 + -20 -20 -20 -40 -60 +/* NN.. */ + 90 -10 30 90 30 + 90 -10 30 90 30 + 90 -10 30 90 30 + 90 -10 30 90 30 + 90 -10 30 90 30 + +# mismatch_enthalpies +/* CG.. */ + -420 -460 -420 -470 -500 + -420 -460 -420 -470 -500 + -420 -460 -420 -470 -500 + -420 -460 -420 -470 -500 + -420 -460 -420 -470 -500 +/* GC.. */ + -90 -620 -330 -510 -90 + -90 -620 -330 -510 -90 + -90 -620 -330 -510 -90 + -90 -620 -330 -510 -90 + -90 -620 -330 -510 -90 +/* GT.. */ + 230 -300 -10 -190 230 + 230 -300 -10 -190 230 + 230 -300 -10 -190 230 + 230 -300 -10 -190 230 + 230 -300 -10 -190 230 +/* TG.. */ + 230 230 170 70 -580 + 230 230 170 70 -580 + 230 230 170 70 -580 + 230 230 170 70 -580 + 230 230 170 70 -580 +/* AT.. */ + 520 400 520 470 430 + 520 400 520 470 430 + 520 400 520 470 430 + 520 400 520 470 430 + 520 400 520 470 430 +/* TA.. */ + 230 230 170 70 -580 + 230 230 170 70 -580 + 230 230 170 70 -580 + 230 230 170 70 -580 + 230 230 170 70 -580 +/* NN.. */ + 520 400 520 470 430 + 520 400 520 470 430 + 520 400 520 470 430 + 520 400 520 470 430 + 520 400 520 470 430 \ No newline at end of file diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/README b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/README new file mode 100755 index 00000000..95fa6ccc --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/README @@ -0,0 +1,83 @@ +This is Version 1.6 of the Vienna RNA Package. +This is a pre-release possibly containing more bugs than usual! +------------------------------------------------ +See the NEWS and Changelog files for differences to previous versions. + +The Vienna RNA packages consists of a few stand alone programs and a +library that you can link your own programs with. The package allows you to + +- predict minimum free energy secondary structures +- calculate the partition function for the ensemble of structures +- calculate suboptimal structures in a given energy range +- predict consensus secondary sctructures from a multiple sequence alignment +- predict melting curves +- search for sequences folding into a given structure +- compare two secondary structures + +The package includes a Perl5 module that gives access to almost all +functions of the C library from Perl. + +There is also a set of programs for analysing sequence and distance +data using split decomposition, statistical geometry, and cluster methods. +They are not maintained any more and not built by default. + +See the NEWS and Changelog files for changes between versions. + +Please read the copyright notice in the file COPYING! + +The package should be easily portable. It is known to compile without +modifications at least under +SunOS 5.x, IRIX 5.x and 6.x, linux, and windows with the CygWin environment. +Other UN*X flavours should present no problems. +You need a compiler that understands ANSI C. See the INSTALL file for details. + +The following executables are provided: +RNAfold predict secondary structures +RNAsubopt calulate suboptimal structures in a given energy range +RNAalifold predict a consensus structure for a set of aligned sequences +RNAcofold calculate the hybrid structure of two RNA molecules +RNAduplex predict possible hybridization sites for two RNAs +RNAeval evaluate energy for given sequence and structure +RNALfold calculate locally stable RNA secondary structures +RNAheat calculate melting curves +RNAdistance compare secondary structures +RNApdist compare ensembles of secondary structures +RNAinverse find sequences folding into given structures +AnalyseSeqs analyse sequence data +AnalyseDists analyse distance matrices + +A couple of useful utililities can be found in the Utils directory. + +All executables read from stdin and write to stdout and use command line +switches rather than menus to be easily usable in pipes. + +For more detailed information see the man pages. + +We have included a patched version of D.G. Gilbert's readseq program +for those who often process sequence files from databanks. See the +the documentation in that directory for details. + + +Versions since 1.4 feature new energy parameters as described in Mathews +et.al, JMB, 1999. For backward compatibility a parameter file with the +version 1.3 parameter set (as described in Walter et.al (1994)) can be +found in the file vienna13.par. The standard energy set is compiled in, but +can also be found in the file default.par. Note that only free energies at +37C are new. Temperature dependencies are still derived from the old +parameter set. +The code very rarely uses static arrays, and all programs should work for +sequences up to a length of 32700 (if you have huge amounts of memory that +is). + +If you're a commercial user and find these programs useful, please consider +supporting further developments with a donation. + +The most recent source code and documentation should always be available on +the web at +http://www.tbi.univie.ac.at/~ivo/RNA/ + +We need your feedback! Send your comments, suggestions, and questions to +rna@tbi.univie.ac.at + +Ivo Hofacker, Autumn 2002 + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/AUTHORS b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/AUTHORS new file mode 100755 index 00000000..f302054d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/AUTHORS @@ -0,0 +1 @@ +Matthias Hoechsmann (mhoechsm@techfak.uni-bielefeld.de) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/COPYING b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/COPYING new file mode 100755 index 00000000..ec71421a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/COPYING @@ -0,0 +1,34 @@ + Disclaimer and Copyright + +The programs and source code of RNAforester are free +software. They are distributed in the hope that they will be useful +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +Permission is granted for research, educational, and commercial use +and modification so long as 1) the package and any derived works are not +redistributed for any fee, other than media costs, 2) proper credit is +given to the authors. + +If you want to include this software in a commercial product, please contact +the authors. + +The include files "fold_vars.h" and "part_func.h" "utils.h" are slightly modified to be compatible +with the g++ compiler and distributed with this package. Note that these files have their own +copyrights attached. + +The code for computing a maximum wheigted matching was written by Ed Rothberg +and implements H. Gabow's N-cubed weighted matching algorithm, +as described in his Ph.D. thesis +"Implementation of Algorithms for Maximum Matching on Nonbipartite Graphs" +Stanford University, 1973. +(refer to http://elib.zib.de/pub/Packages/mathprog/matching/weighted/) + +The prediction of structures utilizes functions from the Vienna +RNA library, originally described in: +Fast Folding and Comparison of RNA Secondary Structures, +Ivo L. Hofacker, Walter Fontana, Peter F. Stadler, L. Sebastian Bonhoeffer, Manfred Tacker, and Peter Schuster +Appeared in: Monatsh.Chem. 125: 167-188 (1994). + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/ChangeLog b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/ChangeLog new file mode 100755 index 00000000..70cac168 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/ChangeLog @@ -0,0 +1,7 @@ +1.4.1 2004.06.29 + - new option -s computes small-in-large similarity. + - bugfix: strcuture alignment was shown although option -p was used. + +ChangeLog is starting with version 1.4. All earlier versions were experimental. + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/INSTALL b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/INSTALL new file mode 100755 index 00000000..12a4f291 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/INSTALL @@ -0,0 +1,72 @@ +Installation: + +This package uses GNU autoconf generated configure scripts, see the +file INSTALL.configure for generic configure documentation. + +Requirements: +---------- + +You must have the g2 - graphic library V0.49a (C) 1999 Lj. Milanovic, H. Wagner +installed on your system. If not the g2 graphics library +is ditributed with RNAforester by the file g2-0.49a.tar.gz. + +If g2 is installed usually you'll just have to type: + ./configure + make +and (as root) + make install + +The Vienna RNA lib (libRNA) (C) I. Hofacker must be installed on your system. +Refer to http://www.tbi.univie.ac.at/~ivo/RNA/ for download and further +instructions. + +Quickstart for users that do not have administrator rights +---------------------------------------------------------- + +Say your home directory is /home/user. +If the g2 library is not installed on your system you'll have to type: + +tar xvzf g2-0.49a.tar.gz +cd g2-0.49a +./configure --prefix=/home/user +make +make install +cd .. + +Make sure the Vienna RNA package is installed on your system. + +To install RNAforester type: + +./configure --prefix=/home/user +make +make install + +If the includes files of the g2 library cannot be found you can add +the path including the headers as follows: +CPPFLAGS=-I/home/user/include ./configure --prefix=/home/user +(of course, your include path can differ) + +Installation Paths: +------------- +The main programs, library and man are +installed in the usual places by default +(i.e. /usr/local/{bin,lib,man}). + +All these locations can be changed by calling ./configure with +appropriate options. + + +Microsoft Visual C++ +----------------------- + +RNAforester uses the getline function of STL. There is a bug in some VC versions +in this function. If you must hit the return key twice to confirm your input, + open file and change the code as indicated by the comment: + + else if (_Tr::eq(_C, _D)) + {_Chg = true; + _I.rdbuf()->snextc(); // replace snextc with sbumpc + break; } + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/Makefile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/Makefile new file mode 100755 index 00000000..7d062e84 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/Makefile @@ -0,0 +1,577 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + +srcdir = . +top_srcdir = . + +pkgdatadir = $(datadir)/RNAforester +pkglibdir = $(libdir)/RNAforester +pkgincludedir = $(includedir)/RNAforester +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = . +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ + TODO config.guess depcomp install-sh missing mkinstalldirs +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run tar +AUTOCONF = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run autoconf +AUTOHEADER = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run autoheader +AUTOMAKE = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPPFLAGS = -I../g2-0.70/include/ +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = -L../g2-0.70 -L../../lib +LIBOBJS = +LIBS = -lg2 -lRNA +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run makeinfo +OBJEXT = o +PACKAGE = RNAforester +PACKAGE_BUGREPORT = mhoechsm@techfak.uni-bielefeld.de +PACKAGE_NAME = RNAforester +PACKAGE_STRING = RNAforester 1.5 +PACKAGE_TARNAME = RNAforester +PACKAGE_VERSION = 1.5 +PATH_SEPARATOR = : +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.5 +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_STRIP = +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__fastdepCXX_FALSE = # +am__fastdepCXX_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build_alias = +datadir = ${prefix}/share +exec_prefix = ${prefix} +host_alias = +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = g2-0.70 +sysconfdir = ${prefix}/etc +target_alias = +SUBDIRS = g2-0.70 src man +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ + cd $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile config.h +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-recursive ctags \ + ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \ + dist-tarZ dist-zip distcheck distclean distclean-generic \ + distclean-hdr distclean-recursive distclean-tags \ + distcleancheck distdir distuninstallcheck dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-generic mostlyclean-recursive pdf \ + pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/Makefile.am b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/Makefile.am new file mode 100755 index 00000000..1fc1c651 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/Makefile.am @@ -0,0 +1,2 @@ +SUBDIRS = g2-0.70 src man + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/Makefile.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/Makefile.in new file mode 100755 index 00000000..0a982871 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/Makefile.in @@ -0,0 +1,577 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = . +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ + TODO config.guess depcomp install-sh missing mkinstalldirs +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build_alias = @build_alias@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +SUBDIRS = g2-0.70 src man +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ + cd $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile config.h +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-recursive ctags \ + ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \ + dist-tarZ dist-zip distcheck distclean distclean-generic \ + distclean-hdr distclean-recursive distclean-tags \ + distcleancheck distdir distuninstallcheck dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-strip installcheck \ + installcheck-am installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic maintainer-clean-recursive \ + mostlyclean mostlyclean-generic mostlyclean-recursive pdf \ + pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ + uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/NEWS b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/NEWS new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/README b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/README new file mode 100755 index 00000000..67a03d51 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/README @@ -0,0 +1,39 @@ +This is Version 1.4 of the RNAforester package. +------------------------------------------------ + +See the NEWS and Changelog files for changes between versions. +Please read the copyright notice in the file COPYING! + +The RNAforester package is a tool for aligning RNA secondary structures +and it's user interface integrates to those of the tools of the +Vienna RNA package (http://www.tbi.univie.ac.at/~ivo/RNA/). + +RNAforester supports the following functionality: +- calculate a global alignment of RNA secondary structures +- calculate a local alignments (local similarity) of RNA secondary structures +- calculate multiple alignments of RNA secondary structures +- visualize RNA secondary structure alignments as 2d plots + +The package should be easily portable. It is known to compile without +modifications at least under SunOS 8.x, and linux. +Other UN*X flavours should present no problems. +You need a compiler that understands standard C++. +See the INSTALL file for details. + +For more details about RNAforester information see the man page. + +If you're a commercial user and find these programs useful, please consider +supporting further developments with a donation. + +The most recent source code and documentation should always be available on +the web at http://bibiserv.techfak.uni-bielefeld.de/rnaforester + +I appreciate any feedback! Send your comments, suggestions, and questions to +mhoechsm@techfak.uni-bielefeld.de + +Matthias Hoechsmann, June 2004 + + + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/TODO b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/TODO new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/aclocal.m4 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/aclocal.m4 new file mode 100755 index 00000000..74de4a19 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/aclocal.m4 @@ -0,0 +1,862 @@ +# generated automatically by aclocal 1.9.5 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.9.5])]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 7 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +#serial 3 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. +AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 12 + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. +# +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.guess b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.guess new file mode 100755 index 00000000..fd30ab03 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.guess @@ -0,0 +1,1354 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002 Free Software Foundation, Inc. + +timestamp='2002-07-23' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# This shell variable is my proudest work .. or something. --bje + +set_cc_for_build='tmpdir=${TMPDIR-/tmp}/config-guess-$$ ; +(old=`umask` && umask 077 && mkdir $tmpdir && umask $old && unset old) + || (echo "$me: cannot create $tmpdir" >&2 && exit 1) ; +dummy=$tmpdir/dummy ; +files="$dummy.c $dummy.o $dummy.rel $dummy" ; +trap '"'"'rm -f $files; rmdir $tmpdir; exit 1'"'"' 1 2 15 ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + rm -f $files ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; +unset files' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit 0 ;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + macppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvmeppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + pmax:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sgi:OpenBSD:*:*) + echo mipseb-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sun3:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + wgrisc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:OpenBSD:*:*) + echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + alpha:OSF1:*:*) + if test $UNAME_RELEASE = "V4.0"; then + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + fi + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + eval $set_cc_for_build + cat <$dummy.s + .data +\$Lformat: + .byte 37,100,45,37,120,10,0 # "%d-%x\n" + + .text + .globl main + .align 4 + .ent main +main: + .frame \$30,16,\$26,0 + ldgp \$29,0(\$27) + .prologue 1 + .long 0x47e03d80 # implver \$0 + lda \$2,-1 + .long 0x47e20c21 # amask \$2,\$1 + lda \$16,\$Lformat + mov \$0,\$17 + not \$1,\$18 + jsr \$26,printf + ldgp \$29,0(\$26) + mov 0,\$16 + jsr \$26,exit + .end main +EOF + $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null + if test "$?" = 0 ; then + case `$dummy` in + 0-0) + UNAME_MACHINE="alpha" + ;; + 1-0) + UNAME_MACHINE="alphaev5" + ;; + 1-1) + UNAME_MACHINE="alphaev56" + ;; + 1-101) + UNAME_MACHINE="alphapca56" + ;; + 2-303) + UNAME_MACHINE="alphaev6" + ;; + 2-307) + UNAME_MACHINE="alphaev67" + ;; + 2-1307) + UNAME_MACHINE="alphaev68" + ;; + 3-1307) + UNAME_MACHINE="alphaev7" + ;; + esac + fi + rm -f $dummy.s $dummy && rmdir $tmpdir + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit 0 ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit 0 ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit 0 ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit 0;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit 0 ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit 0 ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit 0 ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit 0;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit 0;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit 0 ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit 0 ;; + DRS?6000:UNIX_SV:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7 && exit 0 ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit 0 ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit 0 ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit 0 ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit 0 ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit 0 ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit 0 ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit 0 ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit 0 ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit 0 ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit 0 ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD $dummy.c -o $dummy \ + && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 + rm -f $dummy.c $dummy && rmdir $tmpdir + echo mips-mips-riscos${UNAME_RELEASE} + exit 0 ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit 0 ;; + Night_Hawk:*:*:PowerMAX_OS) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit 0 ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit 0 ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit 0 ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit 0 ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit 0 ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit 0 ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit 0 ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit 0 ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit 0 ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit 0 ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit 0 ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + $CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 + rm -f $dummy.c $dummy && rmdir $tmpdir + echo rs6000-ibm-aix3.2.5 + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit 0 ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit 0 ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit 0 ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit 0 ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit 0 ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit 0 ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit 0 ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit 0 ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`$dummy` + if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi + rm -f $dummy.c $dummy && rmdir $tmpdir + fi ;; + esac + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit 0 ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit 0 ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD $dummy.c -o $dummy && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 + rm -f $dummy.c $dummy && rmdir $tmpdir + echo unknown-hitachi-hiuxwe2 + exit 0 ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit 0 ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit 0 ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit 0 ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit 0 ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit 0 ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit 0 ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit 0 ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit 0 ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit 0 ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit 0 ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit 0 ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*T3D:*:*:*) + echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit 0 ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit 0 ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:FreeBSD:*:*) + # Determine whether the default compiler uses glibc. + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #if __GLIBC__ >= 2 + LIBC=gnu + #else + LIBC= + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + rm -f $dummy.c && rmdir $tmpdir + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`${LIBC:+-$LIBC} + exit 0 ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit 0 ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit 0 ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit 0 ;; + x86:Interix*:3*) + echo i386-pc-interix3 + exit 0 ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i386-pc-interix + exit 0 ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit 0 ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit 0 ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + *:GNU:*:*) + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit 0 ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit 0 ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + rm -f $dummy.c && rmdir $tmpdir + test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0 + ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit 0 ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit 0 ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit 0 ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit 0 ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit 0 ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit 0 ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit 0 ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit 0 ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit 0 ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit 0 ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #ifdef __INTEL_COMPILER + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + rm -f $dummy.c && rmdir $tmpdir + test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 + test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit 0 ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit 0 ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit 0 ;; + i*86:*:5:[78]*) + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit 0 ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit 0 ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit 0 ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit 0 ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit 0 ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit 0 ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit 0 ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit 0 ;; + M68*:*:R3V[567]*:*) + test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; + 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4.3${OS_REL} && exit 0 + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4 && exit 0 ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit 0 ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit 0 ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit 0 ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit 0 ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit 0 ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit 0 ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit 0 ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit 0 ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit 0 ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit 0 ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit 0 ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit 0 ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit 0 ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit 0 ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Darwin:*:*) + echo `uname -p`-apple-darwin${UNAME_RELEASE} + exit 0 ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit 0 ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit 0 ;; + NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit 0 ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit 0 ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit 0 ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit 0 ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit 0 ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit 0 ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit 0 ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit 0 ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit 0 ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit 0 ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit 0 ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit 0 ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit 0 ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit 0 ;; +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && $dummy && rm -f $dummy.c $dummy && rmdir $tmpdir && exit 0 +rm -f $dummy.c $dummy && rmdir $tmpdir + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit 0 ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + c34*) + echo c34-convex-bsd + exit 0 ;; + c38*) + echo c38-convex-bsd + exit 0 ;; + c4*) + echo c4-convex-bsd + exit 0 ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.h new file mode 100755 index 00000000..2ae6546d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.h @@ -0,0 +1,74 @@ +/* config.h. Generated by configure. */ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the `g2' library (-lg2). */ +#define HAVE_LIBG2 1 + +/* Define to 1 if you have the `gd' library (-lgd). */ +/* #undef HAVE_LIBGD */ + +/* Define to 1 if you have the `RNA' library (-lRNA). */ +#define HAVE_LIBRNA 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Name of package */ +#define PACKAGE "RNAforester" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "mhoechsm@techfak.uni-bielefeld.de" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "RNAforester" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "RNAforester 1.5" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "RNAforester" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.5" + +/* Define to 1 if you have the ANSI C header files. */ +/* #undef STDC_HEADERS */ + +/* Version number of package */ +#define VERSION "1.5" + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `unsigned' if does not define. */ +/* #undef size_t */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.h.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.h.in new file mode 100755 index 00000000..ab253a9c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.h.in @@ -0,0 +1,73 @@ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the `g2' library (-lg2). */ +#undef HAVE_LIBG2 + +/* Define to 1 if you have the `gd' library (-lgd). */ +#undef HAVE_LIBGD + +/* Define to 1 if you have the `RNA' library (-lRNA). */ +#undef HAVE_LIBRNA + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Version number of package */ +#undef VERSION + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif + +/* Define to `unsigned' if does not define. */ +#undef size_t diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.log b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.log new file mode 100755 index 00000000..6bb87a56 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.log @@ -0,0 +1,675 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by RNAforester configure 1.5, which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ ./configure --prefix=/usr/local --cache-file=/dev/null --srcdir=. + +## --------- ## +## Platform. ## +## --------- ## + +hostname = mcluster02 +uname -m = x86_64 +uname -r = 2.6.9-34.ELsmp +uname -s = Linux +uname -v = #1 SMP Fri Feb 24 16:56:28 EST 2006 + +/usr/bin/uname -p = unknown +/bin/uname -X = unknown + +/bin/arch = x86_64 +/usr/bin/arch -k = unknown +/usr/convex/getsysinfo = unknown +hostinfo = unknown +/bin/machine = unknown +/usr/bin/oslevel = unknown +/bin/universe = unknown + +PATH: /storage/appl/n1ge6u7/bin/lx24-amd64 +PATH: /opt/sun/n1gc/bin +PATH: /usr/local/bin +PATH: /bin +PATH: /usr/bin +PATH: /opt/c3-4/ +PATH: /usr/X11R6/bin +PATH: /usr/local/bin +PATH: /usr/local/bin/X11R5 +PATH: /usr/local/X11R5/bin +PATH: /usr/X11R6/bin +PATH: /home/rabani/Develop/perl/GeneXPress +PATH: /home/rabani/Develop/perl/Genome +PATH: /home/rabani/Develop/perl/Lib +PATH: /home/rabani/Develop/perl/Parsers +PATH: /home/rabani/Develop/perl/RNA +PATH: /home/rabani/Develop/perl/Sequence +PATH: /home/rabani/Develop/perl/System +PATH: /home/rabani/Develop/perl/Web +PATH: /home/rabani/Develop/perl/Web/DataDir +PATH: /home/rabani/Develop/genie_release64/Programs +PATH: /storage/appl/matlab14.3/bin +PATH: /home/rabani + + +## ----------- ## +## Core tests. ## +## ----------- ## + +configure:1369: checking for a BSD-compatible install +configure:1424: result: /usr/bin/install -c +configure:1435: checking whether build environment is sane +configure:1478: result: yes +configure:1543: checking for gawk +configure:1559: found /bin/gawk +configure:1569: result: gawk +configure:1579: checking whether make sets $(MAKE) +configure:1599: result: yes +configure:1823: checking for g++ +configure:1839: found /usr/bin/g++ +configure:1849: result: g++ +configure:1865: checking for C++ compiler version +configure:1868: g++ --version &5 +g++ (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2) +Copyright (C) 2004 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:1871: $? = 0 +configure:1873: g++ -v &5 +Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.5/specs +Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=x86_64-redhat-linux +Thread model: posix +gcc version 3.4.5 20051201 (Red Hat 3.4.5-2) +configure:1876: $? = 0 +configure:1878: g++ -V &5 +g++: `-V' option must have argument +configure:1881: $? = 1 +configure:1904: checking for C++ compiler default output file name +configure:1907: g++ conftest.cc >&5 +configure:1910: $? = 0 +configure:1956: result: a.out +configure:1961: checking whether the C++ compiler works +configure:1967: ./a.out +configure:1970: $? = 0 +configure:1987: result: yes +configure:1994: checking whether we are cross compiling +configure:1996: result: no +configure:1999: checking for suffix of executables +configure:2001: g++ -o conftest conftest.cc >&5 +configure:2004: $? = 0 +configure:2029: result: +configure:2035: checking for suffix of object files +configure:2056: g++ -c conftest.cc >&5 +configure:2059: $? = 0 +configure:2081: result: o +configure:2085: checking whether we are using the GNU C++ compiler +configure:2109: g++ -c conftest.cc >&5 +configure:2115: $? = 0 +configure:2119: test -z + || test ! -s conftest.err +configure:2122: $? = 0 +configure:2125: test -s conftest.o +configure:2128: $? = 0 +configure:2141: result: yes +configure:2147: checking whether g++ accepts -g +configure:2168: g++ -c -g conftest.cc >&5 +configure:2174: $? = 0 +configure:2178: test -z + || test ! -s conftest.err +configure:2181: $? = 0 +configure:2184: test -s conftest.o +configure:2187: $? = 0 +configure:2198: result: yes +configure:2240: g++ -c -g -O2 conftest.cc >&5 +configure:2246: $? = 0 +configure:2250: test -z + || test ! -s conftest.err +configure:2253: $? = 0 +configure:2256: test -s conftest.o +configure:2259: $? = 0 +configure:2285: g++ -c -g -O2 conftest.cc >&5 +conftest.cc: In function `int main()': +conftest.cc:15: error: `exit' was not declared in this scope +configure:2291: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "RNAforester" +| #define PACKAGE_TARNAME "RNAforester" +| #define PACKAGE_VERSION "1.5" +| #define PACKAGE_STRING "RNAforester 1.5" +| #define PACKAGE_BUGREPORT "mhoechsm@techfak.uni-bielefeld.de" +| #define PACKAGE "RNAforester" +| #define VERSION "1.5" +| /* end confdefs.h. */ +| +| int +| main () +| { +| exit (42); +| ; +| return 0; +| } +configure:2240: g++ -c -g -O2 conftest.cc >&5 +configure:2246: $? = 0 +configure:2250: test -z + || test ! -s conftest.err +configure:2253: $? = 0 +configure:2256: test -s conftest.o +configure:2259: $? = 0 +configure:2285: g++ -c -g -O2 conftest.cc >&5 +configure:2291: $? = 0 +configure:2295: test -z + || test ! -s conftest.err +configure:2298: $? = 0 +configure:2301: test -s conftest.o +configure:2304: $? = 0 +configure:2338: checking for style of include used by make +configure:2366: result: GNU +configure:2394: checking dependency style of g++ +configure:2484: result: gcc3 +configure:2547: checking for gcc +configure:2563: found /usr/bin/gcc +configure:2573: result: gcc +configure:2817: checking for C compiler version +configure:2820: gcc --version &5 +gcc (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2) +Copyright (C) 2004 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:2823: $? = 0 +configure:2825: gcc -v &5 +Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.5/specs +Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=x86_64-redhat-linux +Thread model: posix +gcc version 3.4.5 20051201 (Red Hat 3.4.5-2) +configure:2828: $? = 0 +configure:2830: gcc -V &5 +gcc: `-V' option must have argument +configure:2833: $? = 1 +configure:2836: checking whether we are using the GNU C compiler +configure:2860: gcc -c conftest.c >&5 +configure:2866: $? = 0 +configure:2870: test -z + || test ! -s conftest.err +configure:2873: $? = 0 +configure:2876: test -s conftest.o +configure:2879: $? = 0 +configure:2892: result: yes +configure:2898: checking whether gcc accepts -g +configure:2919: gcc -c -g conftest.c >&5 +configure:2925: $? = 0 +configure:2929: test -z + || test ! -s conftest.err +configure:2932: $? = 0 +configure:2935: test -s conftest.o +configure:2938: $? = 0 +configure:2949: result: yes +configure:2966: checking for gcc option to accept ANSI C +configure:3036: gcc -c -g -O2 conftest.c >&5 +configure:3042: $? = 0 +configure:3046: test -z + || test ! -s conftest.err +configure:3049: $? = 0 +configure:3052: test -s conftest.o +configure:3055: $? = 0 +configure:3073: result: none needed +configure:3091: gcc -c -g -O2 conftest.c >&5 +conftest.c:2: error: syntax error before "me" +configure:3097: $? = 1 +configure: failed program was: +| #ifndef __cplusplus +| choke me +| #endif +configure:3232: checking dependency style of gcc +configure:3322: result: gcc3 +configure:3364: result: using (to be built) libRNA.a in ../lib +configure:3376: checking for gdImageLine in -lgd +configure:3406: g++ -o conftest -g -O2 -Ig2-0.70/src/ -Lg2-0.70/ -L../../lib conftest.cc -lgd -lRNA >&5 +/usr/bin/ld: cannot find -lRNA +collect2: ld returned 1 exit status +configure:3412: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "RNAforester" +| #define PACKAGE_TARNAME "RNAforester" +| #define PACKAGE_VERSION "1.5" +| #define PACKAGE_STRING "RNAforester 1.5" +| #define PACKAGE_BUGREPORT "mhoechsm@techfak.uni-bielefeld.de" +| #define PACKAGE "RNAforester" +| #define VERSION "1.5" +| #ifdef __cplusplus +| extern "C" void std::exit (int) throw (); using std::exit; +| #endif +| #define HAVE_LIBRNA 1 +| /* end confdefs.h. */ +| +| /* Override any gcc2 internal prototype to avoid an error. */ +| #ifdef __cplusplus +| extern "C" +| #endif +| /* We use char because int might match the return type of a gcc2 +| builtin and then its argument prototype would still apply. */ +| char gdImageLine (); +| int +| main () +| { +| gdImageLine (); +| ; +| return 0; +| } +configure:3438: result: no +configure:3455: checking how to run the C++ preprocessor +configure:3486: g++ -E -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc +configure:3492: $? = 0 +configure:3524: g++ -E -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc +conftest.cc:15:28: ac_nonexistent.h: No such file or directory +configure:3530: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "RNAforester" +| #define PACKAGE_TARNAME "RNAforester" +| #define PACKAGE_VERSION "1.5" +| #define PACKAGE_STRING "RNAforester 1.5" +| #define PACKAGE_BUGREPORT "mhoechsm@techfak.uni-bielefeld.de" +| #define PACKAGE "RNAforester" +| #define VERSION "1.5" +| #ifdef __cplusplus +| extern "C" void std::exit (int) throw (); using std::exit; +| #endif +| #define HAVE_LIBRNA 1 +| /* end confdefs.h. */ +| #include +configure:3569: result: g++ -E +configure:3593: g++ -E -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc +configure:3599: $? = 0 +configure:3631: g++ -E -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc +conftest.cc:15:28: ac_nonexistent.h: No such file or directory +configure:3637: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "RNAforester" +| #define PACKAGE_TARNAME "RNAforester" +| #define PACKAGE_VERSION "1.5" +| #define PACKAGE_STRING "RNAforester 1.5" +| #define PACKAGE_BUGREPORT "mhoechsm@techfak.uni-bielefeld.de" +| #define PACKAGE "RNAforester" +| #define VERSION "1.5" +| #ifdef __cplusplus +| extern "C" void std::exit (int) throw (); using std::exit; +| #endif +| #define HAVE_LIBRNA 1 +| /* end confdefs.h. */ +| #include +configure:3681: checking for egrep +configure:3691: result: grep -E +configure:3696: checking for ANSI C header files +configure:3721: g++ -c -g -O2 -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc >&5 +configure:3727: $? = 0 +configure:3731: test -z + || test ! -s conftest.err +configure:3734: $? = 0 +configure:3737: test -s conftest.o +configure:3740: $? = 0 +configure:3829: g++ -o conftest -g -O2 -Ig2-0.70/src/ -Lg2-0.70/ -L../../lib conftest.cc -lRNA >&5 +/usr/bin/ld: cannot find -lRNA +collect2: ld returned 1 exit status +configure:3832: $? = 1 +configure: program exited with status 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "RNAforester" +| #define PACKAGE_TARNAME "RNAforester" +| #define PACKAGE_VERSION "1.5" +| #define PACKAGE_STRING "RNAforester 1.5" +| #define PACKAGE_BUGREPORT "mhoechsm@techfak.uni-bielefeld.de" +| #define PACKAGE "RNAforester" +| #define VERSION "1.5" +| #ifdef __cplusplus +| extern "C" void std::exit (int) throw (); using std::exit; +| #endif +| #define HAVE_LIBRNA 1 +| /* end confdefs.h. */ +| #include +| #if ((' ' & 0x0FF) == 0x020) +| # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +| # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +| #else +| # define ISLOWER(c) (('a' <= (c) && (c) <= 'i') || ('j' <= (c) && (c) <= 'r') || ('s' <= (c) && (c) <= 'z')) +| # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +| #endif +| +| #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +| int +| main () +| { +| int i; +| for (i = 0; i < 256; i++) +| if (XOR (islower (i), ISLOWER (i)) +| || toupper (i) != TOUPPER (i)) +| exit(2); +| exit (0); +| } +configure:3852: result: no +configure:3876: checking for sys/types.h +configure:3892: g++ -c -g -O2 -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc >&5 +configure:3898: $? = 0 +configure:3902: test -z + || test ! -s conftest.err +configure:3905: $? = 0 +configure:3908: test -s conftest.o +configure:3911: $? = 0 +configure:3922: result: yes +configure:3876: checking for sys/stat.h +configure:3892: g++ -c -g -O2 -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc >&5 +configure:3898: $? = 0 +configure:3902: test -z + || test ! -s conftest.err +configure:3905: $? = 0 +configure:3908: test -s conftest.o +configure:3911: $? = 0 +configure:3922: result: yes +configure:3876: checking for stdlib.h +configure:3892: g++ -c -g -O2 -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc >&5 +configure:3898: $? = 0 +configure:3902: test -z + || test ! -s conftest.err +configure:3905: $? = 0 +configure:3908: test -s conftest.o +configure:3911: $? = 0 +configure:3922: result: yes +configure:3876: checking for string.h +configure:3892: g++ -c -g -O2 -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc >&5 +configure:3898: $? = 0 +configure:3902: test -z + || test ! -s conftest.err +configure:3905: $? = 0 +configure:3908: test -s conftest.o +configure:3911: $? = 0 +configure:3922: result: yes +configure:3876: checking for memory.h +configure:3892: g++ -c -g -O2 -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc >&5 +configure:3898: $? = 0 +configure:3902: test -z + || test ! -s conftest.err +configure:3905: $? = 0 +configure:3908: test -s conftest.o +configure:3911: $? = 0 +configure:3922: result: yes +configure:3876: checking for strings.h +configure:3892: g++ -c -g -O2 -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc >&5 +configure:3898: $? = 0 +configure:3902: test -z + || test ! -s conftest.err +configure:3905: $? = 0 +configure:3908: test -s conftest.o +configure:3911: $? = 0 +configure:3922: result: yes +configure:3876: checking for inttypes.h +configure:3892: g++ -c -g -O2 -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc >&5 +configure:3898: $? = 0 +configure:3902: test -z + || test ! -s conftest.err +configure:3905: $? = 0 +configure:3908: test -s conftest.o +configure:3911: $? = 0 +configure:3922: result: yes +configure:3876: checking for stdint.h +configure:3892: g++ -c -g -O2 -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc >&5 +configure:3898: $? = 0 +configure:3902: test -z + || test ! -s conftest.err +configure:3905: $? = 0 +configure:3908: test -s conftest.o +configure:3911: $? = 0 +configure:3922: result: yes +configure:3876: checking for unistd.h +configure:3892: g++ -c -g -O2 -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc >&5 +configure:3898: $? = 0 +configure:3902: test -z + || test ! -s conftest.err +configure:3905: $? = 0 +configure:3908: test -s conftest.o +configure:3911: $? = 0 +configure:3922: result: yes +configure:3944: checking g2.h usability +configure:3956: g++ -c -g -O2 -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc >&5 +configure:3962: $? = 0 +configure:3966: test -z + || test ! -s conftest.err +configure:3969: $? = 0 +configure:3972: test -s conftest.o +configure:3975: $? = 0 +configure:3985: result: yes +configure:3989: checking g2.h presence +configure:3999: g++ -E -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc +configure:4005: $? = 0 +configure:4025: result: yes +configure:4060: checking for g2.h +configure:4067: result: yes +configure:4084: checking for an ANSI C-conforming const +configure:4151: g++ -c -g -O2 -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc >&5 +configure:4157: $? = 0 +configure:4161: test -z + || test ! -s conftest.err +configure:4164: $? = 0 +configure:4167: test -s conftest.o +configure:4170: $? = 0 +configure:4181: result: yes +configure:4191: checking for inline +configure:4212: g++ -c -g -O2 -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc >&5 +configure:4218: $? = 0 +configure:4222: test -z + || test ! -s conftest.err +configure:4225: $? = 0 +configure:4228: test -s conftest.o +configure:4231: $? = 0 +configure:4243: result: inline +configure:4262: checking for size_t +configure:4286: g++ -c -g -O2 -Ig2-0.70/src/ -Lg2-0.70/ conftest.cc >&5 +configure:4292: $? = 0 +configure:4296: test -z + || test ! -s conftest.err +configure:4299: $? = 0 +configure:4302: test -s conftest.o +configure:4305: $? = 0 +configure:4316: result: yes +configure:4463: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by RNAforester config.status 1.5, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on mcluster02 + +config.status:698: creating Makefile +config.status:698: creating src/Makefile +config.status:698: creating man/Makefile +config.status:802: creating config.h +config.status:910: config.h is unchanged +config.status:1090: executing depfiles commands +configure:5803: configuring in g2-0.70 +configure:5920: running /bin/sh './configure' --prefix=/usr/local '--prefix=/usr/local' '--cache-file=/dev/null' '--srcdir=.' --cache-file=/dev/null --srcdir=. + +## ---------------- ## +## Cache variables. ## +## ---------------- ## + +ac_cv_c_compiler_gnu=yes +ac_cv_c_const=yes +ac_cv_c_inline=inline +ac_cv_cxx_compiler_gnu=yes +ac_cv_env_CC_set= +ac_cv_env_CC_value= +ac_cv_env_CFLAGS_set= +ac_cv_env_CFLAGS_value= +ac_cv_env_CPPFLAGS_set= +ac_cv_env_CPPFLAGS_value= +ac_cv_env_CXXCPP_set= +ac_cv_env_CXXCPP_value= +ac_cv_env_CXXFLAGS_set= +ac_cv_env_CXXFLAGS_value= +ac_cv_env_CXX_set= +ac_cv_env_CXX_value= +ac_cv_env_LDFLAGS_set= +ac_cv_env_LDFLAGS_value= +ac_cv_env_build_alias_set= +ac_cv_env_build_alias_value= +ac_cv_env_host_alias_set= +ac_cv_env_host_alias_value= +ac_cv_env_target_alias_set= +ac_cv_env_target_alias_value= +ac_cv_exeext= +ac_cv_header_g2_h=yes +ac_cv_header_inttypes_h=yes +ac_cv_header_memory_h=yes +ac_cv_header_stdc=no +ac_cv_header_stdint_h=yes +ac_cv_header_stdlib_h=yes +ac_cv_header_string_h=yes +ac_cv_header_strings_h=yes +ac_cv_header_sys_stat_h=yes +ac_cv_header_sys_types_h=yes +ac_cv_header_unistd_h=yes +ac_cv_lib_gd_gdImageLine=no +ac_cv_objext=o +ac_cv_path_install='/usr/bin/install -c' +ac_cv_prog_AWK=gawk +ac_cv_prog_CXXCPP='g++ -E' +ac_cv_prog_ac_ct_CC=gcc +ac_cv_prog_ac_ct_CXX=g++ +ac_cv_prog_cc_g=yes +ac_cv_prog_cc_stdc= +ac_cv_prog_cxx_g=yes +ac_cv_prog_egrep='grep -E' +ac_cv_prog_make_make_set=yes +ac_cv_type_size_t=yes +am_cv_CC_dependencies_compiler_type=gcc3 +am_cv_CXX_dependencies_compiler_type=gcc3 + +## ----------------- ## +## Output variables. ## +## ----------------- ## + +ACLOCAL='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run aclocal-1.9' +AMDEPBACKSLASH='\' +AMDEP_FALSE='#' +AMDEP_TRUE='' +AMTAR='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run tar' +AUTOCONF='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run autoconf' +AUTOHEADER='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run autoheader' +AUTOMAKE='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run automake-1.9' +AWK='gawk' +CC='gcc' +CCDEPMODE='depmode=gcc3' +CFLAGS='-g -O2' +CPPFLAGS=' -I../g2-0.70/include/' +CXX='g++' +CXXCPP='g++ -E' +CXXDEPMODE='depmode=gcc3' +CXXFLAGS='-g -O2' +CYGPATH_W='echo' +DEFS='-DHAVE_CONFIG_H' +DEPDIR='.deps' +ECHO_C='' +ECHO_N='-n' +ECHO_T='' +EGREP='grep -E' +EXEEXT='' +INSTALL_DATA='${INSTALL} -m 644' +INSTALL_PROGRAM='${INSTALL}' +INSTALL_SCRIPT='${INSTALL}' +INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s' +LDFLAGS='-L../g2-0.70 -L../../lib ' +LIBOBJS='' +LIBS='-lg2 -lRNA ' +LTLIBOBJS='' +MAKEINFO='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run makeinfo' +OBJEXT='o' +PACKAGE='RNAforester' +PACKAGE_BUGREPORT='mhoechsm@techfak.uni-bielefeld.de' +PACKAGE_NAME='RNAforester' +PACKAGE_STRING='RNAforester 1.5' +PACKAGE_TARNAME='RNAforester' +PACKAGE_VERSION='1.5' +PATH_SEPARATOR=':' +SET_MAKE='' +SHELL='/bin/sh' +STRIP='' +VERSION='1.5' +ac_ct_CC='gcc' +ac_ct_CXX='g++' +ac_ct_STRIP='' +am__fastdepCC_FALSE='#' +am__fastdepCC_TRUE='' +am__fastdepCXX_FALSE='#' +am__fastdepCXX_TRUE='' +am__include='include' +am__leading_dot='.' +am__quote='' +am__tar='${AMTAR} chof - "$$tardir"' +am__untar='${AMTAR} xf -' +bindir='${exec_prefix}/bin' +build_alias='' +datadir='${prefix}/share' +exec_prefix='${prefix}' +host_alias='' +includedir='${prefix}/include' +infodir='${prefix}/info' +install_sh='/home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/install-sh' +libdir='${exec_prefix}/lib' +libexecdir='${exec_prefix}/libexec' +localstatedir='${prefix}/var' +mandir='${prefix}/man' +mkdir_p='mkdir -p --' +oldincludedir='/usr/include' +prefix='/usr/local' +program_transform_name='s,x,x,' +sbindir='${exec_prefix}/sbin' +sharedstatedir='${prefix}/com' +subdirs=' g2-0.70' +sysconfdir='${prefix}/etc' +target_alias='' + +## ----------- ## +## confdefs.h. ## +## ----------- ## + +#define HAVE_INTTYPES_H 1 +#define HAVE_LIBG2 1 +#define HAVE_LIBRNA 1 +#define HAVE_MEMORY_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_UNISTD_H 1 +#define PACKAGE "RNAforester" +#define PACKAGE_BUGREPORT "mhoechsm@techfak.uni-bielefeld.de" +#define PACKAGE_NAME "RNAforester" +#define PACKAGE_STRING "RNAforester 1.5" +#define PACKAGE_TARNAME "RNAforester" +#define PACKAGE_VERSION "1.5" +#define VERSION "1.5" +#endif +#ifdef __cplusplus +extern "C" void std::exit (int) throw (); using std::exit; + +configure: exit 0 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.status b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.status new file mode 100755 index 00000000..fe67d98c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/config.status @@ -0,0 +1,1181 @@ +#! /bin/sh +# Generated by configure. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=${CONFIG_SHELL-/bin/sh} +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by RNAforester $as_me 1.5, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +config_files=" Makefile src/Makefile man/Makefile" +config_headers=" config.h" +config_commands=" depfiles" + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." +ac_cs_version="\ +RNAforester config.status 1.5 +configured by ./configure, generated by GNU Autoconf 2.59, + with options \"'--prefix=/usr/local' '--cache-file=/dev/null' '--srcdir=.'\" + +Copyright (C) 2003 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=. +INSTALL="/usr/bin/install -c" +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +if $ac_cs_recheck; then + echo "running /bin/sh ./configure " '--prefix=/usr/local' '--cache-file=/dev/null' '--srcdir=.' $ac_configure_extra_args " --no-create --no-recursion" >&6 + exec /bin/sh ./configure '--prefix=/usr/local' '--cache-file=/dev/null' '--srcdir=.' $ac_configure_extra_args --no-create --no-recursion +fi + +# +# INIT-COMMANDS section. +# + +AMDEP_TRUE="" ac_aux_dir="." + +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "man/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; + "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF +s,@SHELL@,/bin/sh,;t t +s,@PATH_SEPARATOR@,:,;t t +s,@PACKAGE_NAME@,RNAforester,;t t +s,@PACKAGE_TARNAME@,RNAforester,;t t +s,@PACKAGE_VERSION@,1.5,;t t +s,@PACKAGE_STRING@,RNAforester 1.5,;t t +s,@PACKAGE_BUGREPORT@,mhoechsm@techfak.uni-bielefeld.de,;t t +s,@exec_prefix@,${prefix},;t t +s,@prefix@,/usr/local,;t t +s,@program_transform_name@,s,x,x,,;t t +s,@bindir@,${exec_prefix}/bin,;t t +s,@sbindir@,${exec_prefix}/sbin,;t t +s,@libexecdir@,${exec_prefix}/libexec,;t t +s,@datadir@,${prefix}/share,;t t +s,@sysconfdir@,${prefix}/etc,;t t +s,@sharedstatedir@,${prefix}/com,;t t +s,@localstatedir@,${prefix}/var,;t t +s,@libdir@,${exec_prefix}/lib,;t t +s,@includedir@,${prefix}/include,;t t +s,@oldincludedir@,/usr/include,;t t +s,@infodir@,${prefix}/info,;t t +s,@mandir@,${prefix}/man,;t t +s,@build_alias@,,;t t +s,@host_alias@,,;t t +s,@target_alias@,,;t t +s,@DEFS@,-DHAVE_CONFIG_H,;t t +s,@ECHO_C@,,;t t +s,@ECHO_N@,-n,;t t +s,@ECHO_T@,,;t t +s,@LIBS@,-lg2 -lRNA ,;t t +s,@INSTALL_PROGRAM@,${INSTALL},;t t +s,@INSTALL_SCRIPT@,${INSTALL},;t t +s,@INSTALL_DATA@,${INSTALL} -m 644,;t t +s,@CYGPATH_W@,echo,;t t +s,@PACKAGE@,RNAforester,;t t +s,@VERSION@,1.5,;t t +s,@ACLOCAL@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run aclocal-1.9,;t t +s,@AUTOCONF@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run autoconf,;t t +s,@AUTOMAKE@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run automake-1.9,;t t +s,@AUTOHEADER@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run autoheader,;t t +s,@MAKEINFO@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run makeinfo,;t t +s,@install_sh@,/home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/install-sh,;t t +s,@STRIP@,,;t t +s,@ac_ct_STRIP@,,;t t +s,@INSTALL_STRIP_PROGRAM@,${SHELL} $(install_sh) -c -s,;t t +s,@mkdir_p@,mkdir -p --,;t t +s,@AWK@,gawk,;t t +s,@SET_MAKE@,,;t t +s,@am__leading_dot@,.,;t t +s,@AMTAR@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run tar,;t t +s,@am__tar@,${AMTAR} chof - "$$tardir",;t t +s,@am__untar@,${AMTAR} xf -,;t t +s,@CXX@,g++,;t t +s,@CXXFLAGS@,-g -O2,;t t +s,@LDFLAGS@,-L../g2-0.70 -L../../lib ,;t t +s,@CPPFLAGS@, -I../g2-0.70/include/,;t t +s,@ac_ct_CXX@,g++,;t t +s,@EXEEXT@,,;t t +s,@OBJEXT@,o,;t t +s,@DEPDIR@,.deps,;t t +s,@am__include@,include,;t t +s,@am__quote@,,;t t +s,@AMDEP_TRUE@,,;t t +s,@AMDEP_FALSE@,#,;t t +s,@AMDEPBACKSLASH@,\,;t t +s,@CXXDEPMODE@,depmode=gcc3,;t t +s,@am__fastdepCXX_TRUE@,,;t t +s,@am__fastdepCXX_FALSE@,#,;t t +s,@CC@,gcc,;t t +s,@CFLAGS@,-g -O2,;t t +s,@ac_ct_CC@,gcc,;t t +s,@CCDEPMODE@,depmode=gcc3,;t t +s,@am__fastdepCC_TRUE@,,;t t +s,@am__fastdepCC_FALSE@,#,;t t +s,@CXXCPP@,g++ -E,;t t +s,@EGREP@,grep -E,;t t +s,@subdirs@, g2-0.70,;t t +s,@LIBOBJS@,,;t t +s,@LTLIBOBJS@,,;t t +CEOF + + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + sed "/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +} + +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done + +# +# CONFIG_HEADER section. +# + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' +ac_dC=' ' +ac_dD=',;t' +# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='$,\1#\2define\3' +ac_uC=' ' +ac_uD=',;t' + +for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + # Remove the trailing spaces. + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + + # Handle all the #define templates only if necessary. + if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then + # If there are no defines, we may have an empty if/fi + : + cat >$tmp/defines.sed <$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in + + fi # grep + + # Handle all the #undef templates + cat >$tmp/undefs.sed <$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + echo "/* Generated by configure. */" >$tmp/config.h + else + echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + fi + cat $tmp/in >>$tmp/config.h + rm -f $tmp/in + if test x"$ac_file" != x-; then + if diff $ac_file $tmp/config.h >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + rm -f $ac_file + mv $tmp/config.h $ac_file + fi + else + cat $tmp/config.h + rm -f $tmp/config.h + fi +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'`/stamp-h$_am_stamp_count +done + +# +# CONFIG_COMMANDS section. +# +for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue + ac_dest=`echo "$ac_file" | sed 's,:.*,,'` + ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_dir=`(dirname "$ac_dest") 2>/dev/null || +$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_dest" : 'X\(//\)[^/]' \| \ + X"$ac_dest" : 'X\(//\)$' \| \ + X"$ac_dest" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_dest" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 +echo "$as_me: executing $ac_dest commands" >&6;} + case $ac_dest in + depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`(dirname "$mf") 2>/dev/null || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`(dirname "$file") 2>/dev/null || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p $dirpart/$fdir + else + as_dir=$dirpart/$fdir + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 +echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} + { (exit 1); exit 1; }; }; } + + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + esac +done + +{ (exit 0); exit 0; } diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/configure b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/configure new file mode 100755 index 00000000..05578f10 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/configure @@ -0,0 +1,5936 @@ +#! /bin/sh +# From configure.in Revision: 1.13 . +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.59 for RNAforester 1.5. +# +# Report bugs to . +# +# Copyright (C) 2003 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +exec 6>&1 + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_config_libobj_dir=. +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Maximum number of lines to put in a shell here document. +# This variable seems obsolete. It should probably be removed, and +# only ac_max_sed_lines should be used. +: ${ac_max_here_lines=38} + +# Identity of this package. +PACKAGE_NAME='RNAforester' +PACKAGE_TARNAME='RNAforester' +PACKAGE_VERSION='1.5' +PACKAGE_STRING='RNAforester 1.5' +PACKAGE_BUGREPORT='mhoechsm@techfak.uni-bielefeld.de' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif +#if HAVE_UNISTD_H +# include +#endif" + +ac_subdirs_all="$ac_subdirs_all g2-0.70" +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXXCPP EGREP subdirs LIBOBJS LTLIBOBJS' +ac_subst_files='' + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +ac_prev= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_option in + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + eval "enable_$ac_feature=no" ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "enable_$ac_feature='$ac_optarg'" ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package| sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "with_$ac_package='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/-/_/g'` + eval "with_$ac_package=no" ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + eval "$ac_envvar='$ac_optarg'" + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute paths. +for ac_var in exec_prefix prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# Be sure to have absolute paths. +for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ + localstatedir libdir includedir oldincludedir infodir mandir +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then its parent. + ac_confdir=`(dirname "$0") 2>/dev/null || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r $srcdir/$ac_unique_file; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { (exit 1); exit 1; }; } + else + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } + fi +fi +(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || + { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 + { (exit 1); exit 1; }; } +srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +ac_env_build_alias_set=${build_alias+set} +ac_env_build_alias_value=$build_alias +ac_cv_env_build_alias_set=${build_alias+set} +ac_cv_env_build_alias_value=$build_alias +ac_env_host_alias_set=${host_alias+set} +ac_env_host_alias_value=$host_alias +ac_cv_env_host_alias_set=${host_alias+set} +ac_cv_env_host_alias_value=$host_alias +ac_env_target_alias_set=${target_alias+set} +ac_env_target_alias_value=$target_alias +ac_cv_env_target_alias_set=${target_alias+set} +ac_cv_env_target_alias_value=$target_alias +ac_env_CXX_set=${CXX+set} +ac_env_CXX_value=$CXX +ac_cv_env_CXX_set=${CXX+set} +ac_cv_env_CXX_value=$CXX +ac_env_CXXFLAGS_set=${CXXFLAGS+set} +ac_env_CXXFLAGS_value=$CXXFLAGS +ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} +ac_cv_env_CXXFLAGS_value=$CXXFLAGS +ac_env_LDFLAGS_set=${LDFLAGS+set} +ac_env_LDFLAGS_value=$LDFLAGS +ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +ac_cv_env_LDFLAGS_value=$LDFLAGS +ac_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_env_CPPFLAGS_value=$CPPFLAGS +ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_cv_env_CPPFLAGS_value=$CPPFLAGS +ac_env_CC_set=${CC+set} +ac_env_CC_value=$CC +ac_cv_env_CC_set=${CC+set} +ac_cv_env_CC_value=$CC +ac_env_CFLAGS_set=${CFLAGS+set} +ac_env_CFLAGS_value=$CFLAGS +ac_cv_env_CFLAGS_set=${CFLAGS+set} +ac_cv_env_CFLAGS_value=$CFLAGS +ac_env_CXXCPP_set=${CXXCPP+set} +ac_env_CXXCPP_value=$CXXCPP +ac_cv_env_CXXCPP_set=${CXXCPP+set} +ac_cv_env_CXXCPP_value=$CXXCPP + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures RNAforester 1.5 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +_ACEOF + + cat <<_ACEOF +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data [PREFIX/share] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of RNAforester 1.5:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) +--with-ViennaRNA-lib where to search for libRNA.a + +Some influential environment variables: + CXX C++ compiler command + CXXFLAGS C++ compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have + headers in a nonstandard directory + CC C compiler command + CFLAGS C compiler flags + CXXCPP C++ preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + ac_popdir=`pwd` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d $ac_dir || continue + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + cd $ac_dir + # Check for guested configure; otherwise get Cygnus style configure. + if test -f $ac_srcdir/configure.gnu; then + echo + $SHELL $ac_srcdir/configure.gnu --help=recursive + elif test -f $ac_srcdir/configure; then + echo + $SHELL $ac_srcdir/configure --help=recursive + elif test -f $ac_srcdir/configure.ac || + test -f $ac_srcdir/configure.in; then + echo + $ac_configure --help + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi + cd $ac_popdir + done +fi + +test -n "$ac_init_help" && exit 0 +if $ac_init_version; then + cat <<\_ACEOF +RNAforester configure 1.5 +generated by GNU Autoconf 2.59 + +Copyright (C) 2003 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit 0 +fi +exec 5>config.log +cat >&5 <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by RNAforester $as_me 1.5, which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ $0 $@ + +_ACEOF +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +hostinfo = `(hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_sep= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" + # Get rid of the leading space. + ac_sep=" " + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Be sure not to use single quotes in there, as some shells, +# such as our DU 5.0 friend, will then `close' the trap. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +{ + (set) 2>&1 | + case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in + *ac_space=\ *) + sed -n \ + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + ;; + *) + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------- ## +## Output files. ## +## ------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + sed "/^$/d" confdefs.h | sort + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core && + rm -rf conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status + ' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo >confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . $cache_file;; + *) . ./$cache_file;; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in `(set) 2>&1 | + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val="\$ac_cv_env_${ac_var}_value" + eval ac_new_val="\$ac_env_${ac_var}_value" + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + + + + + + + + + + + + + + + +am__api_version="1.9" +ac_aux_dir= +for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do + if test -f $ac_dir/install-sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f $ac_dir/install.sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f $ac_dir/shtool; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 +echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} + { (exit 1); exit 1; }; } +fi +ac_config_guess="$SHELL $ac_aux_dir/config.guess" +ac_config_sub="$SHELL $ac_aux_dir/config.sub" +ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. We don't cache a + # path for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the path is relative. + INSTALL=$ac_install_sh + fi +fi +echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6 + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +test "$program_prefix" != NONE && + program_transform_name="s,^,$program_prefix,;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s,\$,$program_suffix,;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$AWK" && break +done + +echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +all: + @echo 'ac_maketemp="$(MAKE)"' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` +if test -n "$ac_maketemp"; then + eval ac_cv_prog_make_${ac_make}_set=yes +else + eval ac_cv_prog_make_${ac_make}_set=no +fi +rm -f conftest.make +fi +if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + SET_MAKE= +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='RNAforester' + VERSION='1.5' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + STRIP=$ac_ct_STRIP +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + + + ac_config_headers="$ac_config_headers config.h" + + +ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CXX" && break +done +test -n "$ac_ct_CXX" || ac_ct_CXX="g++" + + CXX=$ac_ct_CXX +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 +echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6 +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 + (eval $ac_link_default) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Find the output, starting from the most likely. This scheme is +# not robust to junk in `.', hence go to wildcards (a.*) only as a last +# resort. + +# Be careful to initialize this variable, since it used to be cached. +# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +ac_cv_exeext= +# b.out is created by i960 compilers. +for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) + ;; + conftest.$ac_ext ) + # This is the source file. + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool, + # but it would be cool to find out if it's true. Does anybody + # maintain Libtool? --akim. + export ac_cv_exeext + break;; + * ) + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C++ compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6 + +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 +echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6 +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C++ compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 +echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6 + +echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + export ac_cv_exeext + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6 + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6 +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +CXXFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cxx_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +#include +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + + ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6 +rm -f confinc confmf + +# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval="$enable_dependency_tracking" + +fi; +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CXX" am_compiler_list= + +echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 +if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CXX_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6 +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CC" && break +done + + CC=$ac_ct_CC +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +CFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cc_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_stdc=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_stdc=$ac_arg +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext +done +rm -f conftest.$ac_ext conftest.$ac_objext +CC=$ac_save_CC + +fi + +case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 ;; + *) + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; +esac + +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +#ifndef __cplusplus + choke me +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +#include +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +depcc="$CC" am_compiler_list= + +echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + + + +# Check whether --with-ViennaRNA-lib or --without-ViennaRNA-lib was given. +if test "${with_ViennaRNA_lib+set}" = set; then + withval="$with_ViennaRNA_lib" + LIBS="$withval/libRNA.a ${LIBS}" && +cat >>confdefs.h <<\_ACEOF +#define HAVE_LIBRNA 1 +_ACEOF + +else + LDFLAGS="-L../../lib ${LDFLAGS}" + if test -r "../lib/fold.c"; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_LIBRNA 1 +_ACEOF + + LIBS="-lRNA ${LIBS}" + echo "$as_me:$LINENO: result: using (to be built) libRNA.a in ../lib" >&5 +echo "${ECHO_T}using (to be built) libRNA.a in ../lib" >&6 + fi + +fi; + +save_CPPFLAGS=$CPPFLAGS +CPPFLAGS="-Ig2-0.70/src/ -Lg2-0.70/ ${CPPFLAGS}" + + + + +echo "$as_me:$LINENO: checking for gdImageLine in -lgd" >&5 +echo $ECHO_N "checking for gdImageLine in -lgd... $ECHO_C" >&6 +if test "${ac_cv_lib_gd_gdImageLine+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgd $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char gdImageLine (); +int +main () +{ +gdImageLine (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_gd_gdImageLine=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_gd_gdImageLine=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_gd_gdImageLine" >&5 +echo "${ECHO_T}$ac_cv_lib_gd_gdImageLine" >&6 +if test $ac_cv_lib_gd_gdImageLine = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBGD 1 +_ACEOF + + LIBS="-lgd $LIBS" + +fi + + +ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 +echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 +if test -z "$CXXCPP"; then + if test "${ac_cv_prog_CXXCPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_cxx_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_cxx_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +echo "$as_me:$LINENO: result: $CXXCPP" >&5 +echo "${ECHO_T}$CXXCPP" >&6 +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_cxx_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_cxx_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +if test "${ac_cv_prog_egrep+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +echo "${ECHO_T}$ac_cv_prog_egrep" >&6 + EGREP=$ac_cv_prog_egrep + + +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6 +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +if test "${ac_cv_header_g2_h+set}" = set; then + echo "$as_me:$LINENO: checking for g2.h" >&5 +echo $ECHO_N "checking for g2.h... $ECHO_C" >&6 +if test "${ac_cv_header_g2_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: $ac_cv_header_g2_h" >&5 +echo "${ECHO_T}$ac_cv_header_g2_h" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking g2.h usability" >&5 +echo $ECHO_N "checking g2.h usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking g2.h presence" >&5 +echo $ECHO_N "checking g2.h presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_cxx_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_cxx_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: g2.h: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: g2.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: g2.h: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: g2.h: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: g2.h: present but cannot be compiled" >&5 +echo "$as_me: WARNING: g2.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: g2.h: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: g2.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: g2.h: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: g2.h: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: g2.h: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: g2.h: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: g2.h: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: g2.h: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: g2.h: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: g2.h: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------------ ## +## Report this to mhoechsm@techfak.uni-bielefeld.de ## +## ------------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for g2.h" >&5 +echo $ECHO_N "checking for g2.h... $ECHO_C" >&6 +if test "${ac_cv_header_g2_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_header_g2_h=$ac_header_preproc +fi +echo "$as_me:$LINENO: result: $ac_cv_header_g2_h" >&5 +echo "${ECHO_T}$ac_cv_header_g2_h" >&6 + +fi +if test $ac_cv_header_g2_h = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_LIBG2 1 +_ACEOF + +else + { echo "$as_me:$LINENO: WARNING: Compiling without support for graphical output. Install the g2 library that comes with the RNAforester distribution or download the latest version at http://g2.sourceforge.net/" >&5 +echo "$as_me: WARNING: Compiling without support for graphical output. Install the g2 library that comes with the RNAforester distribution or download the latest version at http://g2.sourceforge.net/" >&2;} +fi + + + +echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 +if test "${ac_cv_c_const+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset x; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *ccp; + char **p; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + ccp = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++ccp; + p = (char**) ccp; + ccp = (char const *const *) p; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + } +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_const=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_c_const=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +echo "${ECHO_T}$ac_cv_c_const" >&6 +if test $ac_cv_c_const = no; then + +cat >>confdefs.h <<\_ACEOF +#define const +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for inline" >&5 +echo $ECHO_N "checking for inline... $ECHO_C" >&6 +if test "${ac_cv_c_inline+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_inline=$ac_kw; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +echo "${ECHO_T}$ac_cv_c_inline" >&6 + + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + +echo "$as_me:$LINENO: checking for size_t" >&5 +echo $ECHO_N "checking for size_t... $ECHO_C" >&6 +if test "${ac_cv_type_size_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if ((size_t *) 0) + return 0; +if (sizeof (size_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_type_size_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_type_size_t=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 +echo "${ECHO_T}$ac_cv_type_size_t" >&6 +if test $ac_cv_type_size_t = yes; then + : +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned +_ACEOF + +fi + + +CPPFLAGS="$save_CPPFLAGS -I../g2-0.70/include/" +LDFLAGS="-L../g2-0.70 ${LDFLAGS}" + +if ${HAVE_LIBG2}; then + LIBS="-lg2 ${LIBS}" +fi + + + + + + + + + +subdirs="$subdirs g2-0.70" + + ac_config_files="$ac_config_files Makefile src/Makefile man/Makefile" +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +{ + (set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} | + sed ' + t clear + : clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + : end' >>confcache +if diff $cache_file confcache >/dev/null 2>&1; then :; else + if test -w $cache_file; then + test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + cat confcache >$cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +}' +fi + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_i=`echo "$ac_i" | + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + # 2. Add them. + ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by RNAforester $as_me 1.5, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +_ACEOF + +# Files that config.status was made for. +if test -n "$ac_config_files"; then + echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_headers"; then + echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_links"; then + echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_commands"; then + echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +fi + +cat >>$CONFIG_STATUS <<\_ACEOF + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +RNAforester config.status 1.5 +configured by $0, generated by GNU Autoconf 2.59, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2003 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=$srcdir +INSTALL="$INSTALL" +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS section. +# + +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + + + +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "man/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; + "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "\$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +s,@SHELL@,$SHELL,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +s,@exec_prefix@,$exec_prefix,;t t +s,@prefix@,$prefix,;t t +s,@program_transform_name@,$program_transform_name,;t t +s,@bindir@,$bindir,;t t +s,@sbindir@,$sbindir,;t t +s,@libexecdir@,$libexecdir,;t t +s,@datadir@,$datadir,;t t +s,@sysconfdir@,$sysconfdir,;t t +s,@sharedstatedir@,$sharedstatedir,;t t +s,@localstatedir@,$localstatedir,;t t +s,@libdir@,$libdir,;t t +s,@includedir@,$includedir,;t t +s,@oldincludedir@,$oldincludedir,;t t +s,@infodir@,$infodir,;t t +s,@mandir@,$mandir,;t t +s,@build_alias@,$build_alias,;t t +s,@host_alias@,$host_alias,;t t +s,@target_alias@,$target_alias,;t t +s,@DEFS@,$DEFS,;t t +s,@ECHO_C@,$ECHO_C,;t t +s,@ECHO_N@,$ECHO_N,;t t +s,@ECHO_T@,$ECHO_T,;t t +s,@LIBS@,$LIBS,;t t +s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@CYGPATH_W@,$CYGPATH_W,;t t +s,@PACKAGE@,$PACKAGE,;t t +s,@VERSION@,$VERSION,;t t +s,@ACLOCAL@,$ACLOCAL,;t t +s,@AUTOCONF@,$AUTOCONF,;t t +s,@AUTOMAKE@,$AUTOMAKE,;t t +s,@AUTOHEADER@,$AUTOHEADER,;t t +s,@MAKEINFO@,$MAKEINFO,;t t +s,@install_sh@,$install_sh,;t t +s,@STRIP@,$STRIP,;t t +s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t +s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t +s,@mkdir_p@,$mkdir_p,;t t +s,@AWK@,$AWK,;t t +s,@SET_MAKE@,$SET_MAKE,;t t +s,@am__leading_dot@,$am__leading_dot,;t t +s,@AMTAR@,$AMTAR,;t t +s,@am__tar@,$am__tar,;t t +s,@am__untar@,$am__untar,;t t +s,@CXX@,$CXX,;t t +s,@CXXFLAGS@,$CXXFLAGS,;t t +s,@LDFLAGS@,$LDFLAGS,;t t +s,@CPPFLAGS@,$CPPFLAGS,;t t +s,@ac_ct_CXX@,$ac_ct_CXX,;t t +s,@EXEEXT@,$EXEEXT,;t t +s,@OBJEXT@,$OBJEXT,;t t +s,@DEPDIR@,$DEPDIR,;t t +s,@am__include@,$am__include,;t t +s,@am__quote@,$am__quote,;t t +s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t +s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t +s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t +s,@CXXDEPMODE@,$CXXDEPMODE,;t t +s,@am__fastdepCXX_TRUE@,$am__fastdepCXX_TRUE,;t t +s,@am__fastdepCXX_FALSE@,$am__fastdepCXX_FALSE,;t t +s,@CC@,$CC,;t t +s,@CFLAGS@,$CFLAGS,;t t +s,@ac_ct_CC@,$ac_ct_CC,;t t +s,@CCDEPMODE@,$CCDEPMODE,;t t +s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t +s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t +s,@CXXCPP@,$CXXCPP,;t t +s,@EGREP@,$EGREP,;t t +s,@subdirs@,$subdirs,;t t +s,@LIBOBJS@,$LIBOBJS,;t t +s,@LTLIBOBJS@,$LTLIBOBJS,;t t +CEOF + +_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_HEADER section. +# + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' +ac_dC=' ' +ac_dD=',;t' +# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='$,\1#\2define\3' +ac_uC=' ' +ac_uD=',;t' + +for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + # Remove the trailing spaces. + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + +_ACEOF + +# Transform confdefs.h into two sed scripts, `conftest.defines' and +# `conftest.undefs', that substitutes the proper values into +# config.h.in to produce config.h. The first handles `#define' +# templates, and the second `#undef' templates. +# And first: Protect against being on the right side of a sed subst in +# config.status. Protect against being in an unquoted here document +# in config.status. +rm -f conftest.defines conftest.undefs +# Using a here document instead of a string reduces the quoting nightmare. +# Putting comments in sed scripts is not portable. +# +# `end' is used to avoid that the second main sed command (meant for +# 0-ary CPP macros) applies to n-ary macro definitions. +# See the Autoconf documentation for `clear'. +cat >confdef2sed.sed <<\_ACEOF +s/[\\&,]/\\&/g +s,[\\$`],\\&,g +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp +t end +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +: end +_ACEOF +# If some macros were called several times there might be several times +# the same #defines, which is useless. Nevertheless, we may not want to +# sort them, since we want the *last* AC-DEFINE to be honored. +uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines +sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs +rm -f confdef2sed.sed + +# This sed command replaces #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +cat >>conftest.undefs <<\_ACEOF +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +_ACEOF + +# Break up conftest.defines because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS +echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS +echo ' :' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.defines >/dev/null +do + # Write a limited-size here document to $tmp/defines.sed. + echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS + # Speed up: don't consider the non `#define' lines. + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/defines.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines +echo ' fi # grep' >>$CONFIG_STATUS +echo >>$CONFIG_STATUS + +# Break up conftest.undefs because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #undef templates' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.undefs >/dev/null +do + # Write a limited-size here document to $tmp/undefs.sed. + echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS + # Speed up: don't consider the non `#undef' + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/undefs.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail + rm -f conftest.undefs + mv conftest.tail conftest.undefs +done +rm -f conftest.undefs + +cat >>$CONFIG_STATUS <<\_ACEOF + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + echo "/* Generated by configure. */" >$tmp/config.h + else + echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + fi + cat $tmp/in >>$tmp/config.h + rm -f $tmp/in + if test x"$ac_file" != x-; then + if diff $ac_file $tmp/config.h >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + rm -f $ac_file + mv $tmp/config.h $ac_file + fi + else + cat $tmp/config.h + rm -f $tmp/config.h + fi +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'`/stamp-h$_am_stamp_count +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_COMMANDS section. +# +for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue + ac_dest=`echo "$ac_file" | sed 's,:.*,,'` + ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_dir=`(dirname "$ac_dest") 2>/dev/null || +$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_dest" : 'X\(//\)[^/]' \| \ + X"$ac_dest" : 'X\(//\)$' \| \ + X"$ac_dest" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_dest" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 +echo "$as_me: executing $ac_dest commands" >&6;} + case $ac_dest in + depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`(dirname "$mf") 2>/dev/null || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`(dirname "$file") 2>/dev/null || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p $dirpart/$fdir + else + as_dir=$dirpart/$fdir + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 +echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} + { (exit 1); exit 1; }; }; } + + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + esac +done +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + +# +# CONFIG_SUBDIRS section. +# +if test "$no_recursion" != yes; then + + # Remove --cache-file and --srcdir arguments so they do not pile up. + ac_sub_configure_args= + ac_prev= + for ac_arg in $ac_configure_args; do + if test -n "$ac_prev"; then + ac_prev= + continue + fi + case $ac_arg in + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \ + | --c=*) + ;; + --config-cache | -C) + ;; + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + ;; + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + ;; + *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;; + esac + done + + # Always prepend --prefix to ensure using the same prefix + # in subdir configurations. + ac_sub_configure_args="--prefix=$prefix $ac_sub_configure_args" + + ac_popdir=`pwd` + for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue + + # Do not complain, so a configure script can configure whichever + # parts of a large source tree are present. + test -d $srcdir/$ac_dir || continue + + { echo "$as_me:$LINENO: configuring in $ac_dir" >&5 +echo "$as_me: configuring in $ac_dir" >&6;} + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + cd $ac_dir + + # Check for guested configure; otherwise get Cygnus style configure. + if test -f $ac_srcdir/configure.gnu; then + ac_sub_configure="$SHELL '$ac_srcdir/configure.gnu'" + elif test -f $ac_srcdir/configure; then + ac_sub_configure="$SHELL '$ac_srcdir/configure'" + elif test -f $ac_srcdir/configure.in; then + ac_sub_configure=$ac_configure + else + { echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5 +echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;} + ac_sub_configure= + fi + + # The recursion is here. + if test -n "$ac_sub_configure"; then + # Make the cache file name correct relative to the subdirectory. + case $cache_file in + [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;; + *) # Relative path. + ac_sub_cache_file=$ac_top_builddir$cache_file ;; + esac + + { echo "$as_me:$LINENO: running $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5 +echo "$as_me: running $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;} + # The eval makes quoting arguments work. + eval $ac_sub_configure $ac_sub_configure_args \ + --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir || + { { echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5 +echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;} + { (exit 1); exit 1; }; } + fi + + cd $ac_popdir + done +fi + + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/configure.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/configure.in new file mode 100755 index 00000000..b36bdfc0 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/configure.in @@ -0,0 +1,64 @@ +dnl Process this file with autoconf to produce a configure script. +AC_REVISION($Revision: 1.13 $) +AC_INIT(RNAforester,1.5,mhoechsm@techfak.uni-bielefeld.de,RNAforester) +AC_PREREQ(2.53) +AM_INIT_AUTOMAKE + +dnl create a config.h file (Automake will add -DHAVE_CONFIG_H) +AM_CONFIG_HEADER(config.h) + +dnl Checks for programs. +AC_PROG_CXX +AC_PROG_CC +AC_LANG(C++) + +dnl Checks for libraries. +dnl AC_CHECK_LIB(g2,g2_open_vd,,AC_MSG_WARN(Compiling without support for graphical output. Install the g2 library that comes with the RNAforester distribution or download the latest version at http://g2.sourceforge.net/)) + +AC_ARG_WITH(ViennaRNA-lib, + [--with-ViennaRNA-lib where to search for libRNA.a], + LIBS=["$withval/libRNA.a ${LIBS}"] && AC_DEFINE(HAVE_LIBRNA,1,Define to 1 if you have the `RNA' library (-lRNA).), + LDFLAGS="-L../../lib ${LDFLAGS}" + if test -r "../lib/fold.c"; then + AC_DEFINE(HAVE_LIBRNA) + LIBS=["-lRNA ${LIBS}"] + AC_MSG_RESULT([using (to be built) libRNA.a in ../lib]) + fi + ) +dnl AC_CHECK_LIB(RNA, fold,,AC_MSG_WARN(Vienna RNA library libRNA.a was not found. RNAforester will be compiled without the structure prediction option -p and graphical output)) + +save_CPPFLAGS=$CPPFLAGS +CPPFLAGS=["-Ig2-0.70/src/ -Lg2-0.70/ ${CPPFLAGS}"] + + +AC_CHECK_LIB(gd,gdImageLine,,) + +dnl Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADER(g2.h,AC_DEFINE(HAVE_LIBG2,1,Define to 1 if you have the `g2' library (-lg2).),AC_MSG_WARN(Compiling without support for graphical output. Install the g2 library that comes with the RNAforester distribution or download the latest version at http://g2.sourceforge.net/)) +dnl AC_CHECK_HEADER(g2_PS.h,,AC_MSG_WARN(Compiling without support for graphical output. Install the g2 library that comes with the RNAforester distribution or download the latest version at http://g2.sourceforge.net/)) + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_C_INLINE +AC_TYPE_SIZE_T + +CPPFLAGS="$save_CPPFLAGS -I../g2-0.70/include/" +LDFLAGS=["-L../g2-0.70 ${LDFLAGS}"] + +if ${HAVE_LIBG2}; then + LIBS=["-lg2 ${LIBS}"] +fi + +AC_SUBST(CXX) +AC_SUBST(CPPFLAGS) +AC_SUBST(LIBS) +AC_SUBST(LDFLAGS) + +dnl Checks for library functions. + +AC_CONFIG_SUBDIRS(g2-0.70) +AC_OUTPUT(Makefile src/Makefile man/Makefile) + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/depcomp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/depcomp new file mode 100755 index 00000000..807b991f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/depcomp @@ -0,0 +1,423 @@ +#! /bin/sh + +# depcomp - compile a program generating dependencies as side-effects +# Copyright 1999, 2000 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi +# `libtool' can also be set to `yes' or `no'. + +if test -z "$depfile"; then + base=`echo "$object" | sed -e 's,^.*/,,' -e 's,\.\([^.]*\)$,.P\1,'` + dir=`echo "$object" | sed 's,/.*$,/,'` + if test "$dir" = "$object"; then + dir= + fi + # FIXME: should be _deps on DOS. + depfile="$dir.deps/$base" +fi + +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. This file always lives in the current directory. + # Also, the AIX compiler puts `$object:' at the start of each line; + # $object doesn't have directory information. + stripped=`echo "$object" | sed -e 's,^.*/,,' -e 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + outname="$stripped.o" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + else + tmpdepfile="$tmpdepfile2" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a space and a tab in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. We will use -o /dev/null later, + # however we can't do the remplacement now because + # `-o $object' might simply not be used + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + "$@" -o /dev/null $dashmflag | sed 's:^[^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + -*) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the proprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CHANGES b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CHANGES new file mode 100755 index 00000000..37ec9157 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CHANGES @@ -0,0 +1,144 @@ +0.70 +==== +- added support for access to the physical devices low level handles +- added animation demo for Win32 +- improved cygwin compatibility +- improved spline implementation +- improved pixel compatibility between X11 and GD +- fixed X11 window position problem occured with some window managers +- fixed arc and filled arc functions +- fixed memory bug (thanks to Kurihara Satoshi) +- fixed problem with black bar if resource DLL was not compiled +- fixed problem with flickering and background behind text +- bug fix for background color in g2_win32_SetBackground + +0.62 +==== +- PS in place of X11 for demo_cpp + +0.61 +==== +- ANSI C streamlining + +0.60 +==== +- added FIG device +- added win32 mouse support +- added check for dashed lines to g2_test +- bugfixes + +0.51 +==== +- g2_perl improvements (added GD device, added splines, removed GIF, + retested, added simple README) +- added configurable logging +- added some new configuration parameters and slightly changed + configuration naming convention (g2_config.h) +- added doxygen comments for automatic docu generation +- general documentation update + +0.50 +==== +- removed GIF code +- improved fortran port + +0.49a +===== +- number of small fixes +- number of changes :) + +0.42 +==== +-license change to LGPL + +0.41b +===== +-added new Tijs Michels spline implementation +-small fixes in spline package +-added g2_spline_demo.c +-changed LINKDLL into G2L in g2.h +-removed some non ansi parts (e.g. // comments) +-added query pointer for X11 (mouse) + +0.41a +===== +-modified header files for usage with c++ +-modified header files for building Win32 DLL +-added DLL version to Win32 workspace +-added Tijs Michels spline implementation +-small fixes in Makefile.in + +0.40 +==== +- added perl support +- g2_draw_string replaced with g2_string +- added g2_image function +- added g2_control_pd.* files +- g2_device_exist moved to user space (perl) +- added g2_set_line_width support in GIF device +- added prefix to Makefile.in +- updated descrip.mms + +0.30 (23.10.1998) +================ +- finished Win32 implementation +- fixed bug in virtual device section +- minor changes in g2_X11.c (include string.h) +- finished VMS port (descrip.mms files) + +0.23 (09.07.1998) +================= +- finished Fortran interface (tested on Linux and DU) +- added arc and filled_arc emulation +- minor bug fix in g2_ui_control.c (thanks to E.M. (Mark) Palandri) +- finished GIF interface +- added new demo files +- some bug fixes + +0.22 (03.06.1998) +================= +- bugfix in g2_device.c +- minor changes + +0.21 (03.06.1998) +================= +- added g2_ld (last device) concept +- minor changes in make procedures +- back to the normal 'numbering' :-) +- added (very simple) demo0.c + +0.20a (02.06.1998) +================== +- added configure script +- changed file/make structure of g2 project +- changed version numbering (a-alpha, b-beta etc.) + +0.11 (30.04.1998) +================= +- fixed bug in Makefile +- fixed bug with r rescaling (circle, ellipse and arc) in g2_graphic_pd.c +- small fix in g2_X11 +- added g2_us2pds_xxxx in g2_util.c +- minor changes in makefile.i386 and makefile.alpha + +0.10 (24.04.1998) +================= +- major kernel rewrite +- small fixes in X11 part +- removed funix: g2_AllocateBasicColors +- added Fortran interface (alpha) + +0.02 (31.03.1998) +================= +- new funix: g2_Save +- added contrib directory + + +0.01 (19.03.1998) +================= +- created CHANGES file :-) +- some small fixes +- added g2_attach_X11X and changed g2_attach_X11 to be a wrapper to + the new function +- added PostScript interface + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/COPYING b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/COPYING new file mode 100755 index 00000000..b1e3f5a2 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/COPYING @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/CVS/Entries new file mode 100755 index 00000000..17848105 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/CVS/Entries @@ -0,0 +1 @@ +D diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/CVS/Repository new file mode 100755 index 00000000..317b1d1f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/CVS diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/Entries new file mode 100755 index 00000000..d954ef27 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/Entries @@ -0,0 +1,29 @@ +D/autom4te.cache//// +D/CVS//// +D/demo//// +D/doc//// +D/g2_perl//// +D/include//// +D/perl//// +D/src//// +/CHANGES/1.1/Tue Jun 14 21:02:57 2005// +/COPYING/1.1/Tue Apr 17 20:16:38 2001// +/INSTALL/1.1/Mon Mar 29 21:47:11 2004// +/Makefile.in/1.1/Thu Aug 4 12:40:53 2005// +/README/1.1/Sun Feb 29 23:47:46 2004// +/TODO/1.1/Sun Feb 29 23:47:46 2004// +/config.guess/1.1/Mon Jan 18 10:56:51 1999// +/config.sub/1.1/Mon Jan 18 10:56:51 1999// +/configure/1.1/Thu Aug 4 12:41:58 2005// +/configure.in/1.1/Wed Apr 21 03:19:15 2004// +/descrip.mms/1.1/Thu Nov 22 00:14:25 2001// +/g2.dsp/1.1/Sat Apr 17 21:21:11 2004// +/g2.dsw/1.1/Sat Apr 17 21:28:13 2004// +/g2_anim.dsp/1.1/Sat Apr 17 21:16:41 2004// +/g2demo.dsp/1.1/Sat Apr 17 21:21:11 2004// +/g2dll.dsp/1.1/Sat Apr 17 21:28:13 2004// +/g2res.dsp/1.1/Sat Apr 17 21:21:11 2004// +/gd.dsp/1.1/Sun Jun 6 12:50:15 1999// +/install-sh/1.1/Mon Jan 18 10:56:51 1999// +/simple_win32.dsp/1.1/Sat Apr 17 21:28:13 2004// +/Makefile/1.1/Fri Aug 5 10:17:46 2005// diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/Repository new file mode 100755 index 00000000..0652b408 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/Template b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/CVS/Template new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/INSTALL b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/INSTALL new file mode 100755 index 00000000..4fc58ad2 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/INSTALL @@ -0,0 +1,94 @@ +Installation +============ + +LINUX +----- + +Either install RPM packet with binaries, or compile as described in the +UNIX section + +UNIX +---- + +1. Extract package with gzip -dc g2-xxxx.tar.gz | tar xvf - + +2. Run './configure' + +3. Run 'make depend' + +4. Optionally edit src/g2_config.h to fine-tune g2 behavior (only if + you know what are you doing) + +5. Run 'make' + +6. Run 'make install' or copy libg2.a and g2.h, g2_X11.h, g2_gd.h, and + g2_PS.h to the default locations for library and include files. + +7. cd to demo directory and run 'make demo' to compile demo + applications + +8. To rebuild documentation run 'make doc' (html, PS and pdf manual + should be already included into documentation). + + +WINDOWS NT +---------- + +1. Extract package: unzip 'g2-xxxx.zip' + +2. For gd support, please download the binary gd version and place it in a + folder next to g2 using default folder name gdwin32, i.e. it is expected + in ../gdwin32 from the folder this file is residing. + You also will need to create the bgd.lib file using makemsvcimport.bat + +3. MS Visual C++ users can build both library and demos with the supplied + project file: g2.xxx + users of gcc or other commandline based compilers with make support + continue as in Unix example + + +VMS +--- + +Note: VMS is not tested in latest builds. However descrip.mms is a +good starting point. + +1. set default to root of distribution directory + +2. type mms to build g2.olb library + +3. to compile demo files, set defualt to [.demo] and type mms + +4. to install: copy g2.olb and g2.h, g2_X11.h and g2_PS.h to install + directories + + +PNG-SUPPORT +----------- + +g2 needs to be linked to the free available gd library written by +Thomas Boutell in order to create PNG files. g2 is tested with +version 2.0.22 of gd. gd is available at http://www.boutell.com/gd/ and +at numerous mirror sites. Use a ftp search +(e.g. http://ftpsearch.ntnu.no/) and search for "gd1.3.tar.gz" to find +your nearest mirror site. + + +PERL SUPPORT +------------ +1. build g2 library +2. cd to g2_perl and run + perl Makefile.PL + make + make test + + +SHARED LIBRARIES +---------------- +Support for shared libraries is tested on Linux and OSF +(DigitalUnix). To build shared libraries type 'make shared'. If you +want to run demo applications without installed shared libraries, you +should add to LD_LIBRARY_PATH the path to the g2 shared library +(e.g. 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/some/path/to/g2') + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/Makefile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/Makefile new file mode 100755 index 00000000..93b66162 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/Makefile @@ -0,0 +1,149 @@ +# +# +# Makefile for g2 library +# +# + +G2_VERSION = 0.70 + +# +# g2 installation directories +# +LIBDIR = /usr/local/lib +INCDIR = /usr/local/include + + +#LIBDIR = $(HOME)/local/lib +#INCDIR = $(HOME)/local/include + +# +#------------------------ do not edit ------------------------ +# +SHELL = /bin/sh + +CC = gcc +CFLAGS = -I./src -g -O2 -I/usr/X11R6/include -I/usr/local/include -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DLINUX=1 -DDO_PS=1 -DDO_FIG=1 -DDO_X11=1 -DDO_GD=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 +INSTALL = /usr/bin/install -c +INSTALL_DATA = ${INSTALL} -m 644 +FIND = find +MAKEDEPEND = makedepend +AR = ar +ARFLAGS = -cr +RANLIB = ranlib +LD = ld +LDFLAGS = -L/usr/X11R6/lib64 -L/usr/local/lib -lm -lX11 -lgd + + +BASE_DIR = ./src +BASE_SRC = $(BASE_DIR)/g2_device.c $(BASE_DIR)/g2_ui_control.c \ + $(BASE_DIR)/g2_util.c $(BASE_DIR)/g2_fif.c \ + $(BASE_DIR)/g2_virtual_device.c $(BASE_DIR)/g2_physical_device.c \ + $(BASE_DIR)/g2_graphic_pd.c $(BASE_DIR)/g2_control_pd.c \ + $(BASE_DIR)/g2_ui_graphic.c $(BASE_DIR)/g2_ui_virtual_device.c \ + $(BASE_DIR)/g2_ui_device.c $(BASE_DIR)/g2_splines.c +BASE_INS = $(BASE_DIR)/g2.h + + +PS_DIR = ./src/PS +PS_SRC = $(PS_DIR)/g2_PS.c +PS_INS = $(PS_DIR)/g2_PS.h + +FIG_DIR = ./src/FIG +FIG_SRC = $(FIG_DIR)/g2_FIG.c +FIG_INS = $(FIG_DIR)/g2_FIG.h + +X11_DIR = ./src/X11 +X11_SRC = $(X11_DIR)/g2_X11.c +X11_INS = $(X11_DIR)/g2_X11.h + +#WIN32_DIR = ./src/WIN32 +#WIN32_SRC = $(WIN32_DIR)/g2_win32.c $(WIN32_DIR)/g2_win32_thread.c +#WIN32_INS = $(WIN32_DIR)/g2_win32.h + +GD_DIR = ./src/GD +GD_SRC = $(GD_DIR)/g2_gd.c +GD_INS = $(GD_DIR)/g2_gd.h + + +SRC = $(BASE_SRC) $(PS_SRC) $(FIG_SRC) $(X11_SRC) $(WIN32_SRC) $(GD_SRC) +OBJ = $(SRC:.c=.o) + +INS = $(BASE_INS) $(PS_INS) $(FIG_INS) $(X11_INS) $(WIN32_INS) $(GD_INS) + +# +# define some phony targets +# +.PHONY: all shared clean doc release demo + +# +# major rule +# +.c.o: + $(CC) $(CFLAGS) -c $< -o $@ + + +all: libg2.a + test -d ./include || mkdir ./include + cp $(INS) ./include/ + +shared: libg2.so.0.$(G2_VERSION) + @echo + + +libg2.a: $(OBJ) + $(AR) $(ARFLAGS) libg2.a $(OBJ) + test ! -n "$(RANLIB)" || $(RANLIB) $@ + +libg2.so.0.$(G2_VERSION): $(OBJ) + ld -shared -soname libg2.so.0 -o $@ $(OBJ) + +install: libg2.a + test -d $(LIBDIR) || mkdir -p $(LIBDIR) + test -d $(INCDIR) || mkdir -p $(INCDIR) + $(INSTALL_DATA) libg2.a $(LIBDIR) + for IFILE in $(INS); do \ + $(INSTALL_DATA) $$IFILE $(INCDIR); \ + done + +release: clean doc + cp ./doc/latex/refman.ps ./doc/g2_refman.ps + cp ./doc/latex/refman.pdf ./doc/g2_refman.pdf + rm -r ./doc/latex + +doc: + (cd ./doc ; doxygen Doxyfile) + (cd ./doc/latex ; make ps ; make pdf) + + +clean: + -(cd ./demo ; make clean) + -rm -f $(OBJ) + -rm -f libg2.a config.cache config.log Makefile.bak config.status + -rm -f ./include/*.h + -$(FIND) . -name "*~" -exec rm -f {} \; + -(cd ./g2_perl ; make clean) + -rm -f ./g2_perl/test.ps + -rm -f ./g2_perl/test.png + -rm -f ./g2_perl/test.jpg + -rm -f ./g2_perl/test.fig + -rm -f ./g2_perl/Makefile.old + -rm -f ./libg2.so.0.$(G2_VERSION) + -rm -f libg2.$(G2_VERSION).a + -rm -f a.out + -rm -fr doc/html/ doc/latex/ doc/g2_refman.ps doc/g2_refman.pdf + +demo: libg2.a + (cd ./demo ; make) + +depend: + $(MAKEDEPEND) -- $(CFLAGS) -- $(SRC) + @echo + @echo "Run 'make' to build g2 library." + @echo + +distdir: + cp -r * $(distdir) + + +# DO NOT DELETE THIS LINE -- make depend depends on it. + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/Makefile.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/Makefile.in new file mode 100755 index 00000000..025ef5f5 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/Makefile.in @@ -0,0 +1,149 @@ +# +# +# Makefile for g2 library +# +# + +G2_VERSION = 0.70 + +# +# g2 installation directories +# +LIBDIR = @prefix@/lib +INCDIR = @prefix@/include + + +#LIBDIR = $(HOME)/local/lib +#INCDIR = $(HOME)/local/include + +# +#------------------------ do not edit ------------------------ +# +SHELL = /bin/sh + +CC = @CC@ +CFLAGS = -I./src @CFLAGS@ @DEFS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +FIND = @FIND@ +MAKEDEPEND = @MAKEDEPEND@ +AR = ar +ARFLAGS = -cr +RANLIB = @RANLIB@ +LD = ld +LDFLAGS = @LDFLAGS@ + + +BASE_DIR = ./src +BASE_SRC = $(BASE_DIR)/g2_device.c $(BASE_DIR)/g2_ui_control.c \ + $(BASE_DIR)/g2_util.c $(BASE_DIR)/g2_fif.c \ + $(BASE_DIR)/g2_virtual_device.c $(BASE_DIR)/g2_physical_device.c \ + $(BASE_DIR)/g2_graphic_pd.c $(BASE_DIR)/g2_control_pd.c \ + $(BASE_DIR)/g2_ui_graphic.c $(BASE_DIR)/g2_ui_virtual_device.c \ + $(BASE_DIR)/g2_ui_device.c $(BASE_DIR)/g2_splines.c +BASE_INS = $(BASE_DIR)/g2.h + + +@DO_PS@PS_DIR = ./src/PS +@DO_PS@PS_SRC = $(PS_DIR)/g2_PS.c +@DO_PS@PS_INS = $(PS_DIR)/g2_PS.h + +@DO_FIG@FIG_DIR = ./src/FIG +@DO_FIG@FIG_SRC = $(FIG_DIR)/g2_FIG.c +@DO_FIG@FIG_INS = $(FIG_DIR)/g2_FIG.h + +@DO_X11@X11_DIR = ./src/X11 +@DO_X11@X11_SRC = $(X11_DIR)/g2_X11.c +@DO_X11@X11_INS = $(X11_DIR)/g2_X11.h + +@DO_WIN32@WIN32_DIR = ./src/WIN32 +@DO_WIN32@WIN32_SRC = $(WIN32_DIR)/g2_win32.c $(WIN32_DIR)/g2_win32_thread.c +@DO_WIN32@WIN32_INS = $(WIN32_DIR)/g2_win32.h + +@DO_GD@GD_DIR = ./src/GD +@DO_GD@GD_SRC = $(GD_DIR)/g2_gd.c +@DO_GD@GD_INS = $(GD_DIR)/g2_gd.h + + +SRC = $(BASE_SRC) $(PS_SRC) $(FIG_SRC) $(X11_SRC) $(WIN32_SRC) $(GD_SRC) +OBJ = $(SRC:.c=.o) + +INS = $(BASE_INS) $(PS_INS) $(FIG_INS) $(X11_INS) $(WIN32_INS) $(GD_INS) + +# +# define some phony targets +# +.PHONY: all shared clean doc release demo + +# +# major rule +# +.c.o: + $(CC) $(CFLAGS) -c $< -o $@ + + +all: libg2.a + test -d ./include || mkdir ./include + cp $(INS) ./include/ + +shared: libg2.@LD_SHARED_EXT@ + @echo + + +libg2.a: $(OBJ) + $(AR) $(ARFLAGS) libg2.a $(OBJ) + test ! -n "$(RANLIB)" || $(RANLIB) $@ + +libg2.@LD_SHARED_EXT@: $(OBJ) + @LD_SHARED@ @LD_SHARED_FLAGS@ -o $@ $(OBJ) @LD_SHARED_OPT@ + +install: libg2.a + test -d $(LIBDIR) || mkdir -p $(LIBDIR) + test -d $(INCDIR) || mkdir -p $(INCDIR) + $(INSTALL_DATA) libg2.a $(LIBDIR) + for IFILE in $(INS); do \ + $(INSTALL_DATA) $$IFILE $(INCDIR); \ + done + +release: clean doc + cp ./doc/latex/refman.ps ./doc/g2_refman.ps + cp ./doc/latex/refman.pdf ./doc/g2_refman.pdf + rm -r ./doc/latex + +doc: + (cd ./doc ; doxygen Doxyfile) + (cd ./doc/latex ; make ps ; make pdf) + + +clean: + -(cd ./demo ; make clean) + -rm -f $(OBJ) + -rm -f libg2.a config.cache config.log Makefile.bak config.status + -rm -f ./include/*.h + -$(FIND) . -name "*~" -exec rm -f {} \; + -(cd ./g2_perl ; make clean) + -rm -f ./g2_perl/test.ps + -rm -f ./g2_perl/test.png + -rm -f ./g2_perl/test.jpg + -rm -f ./g2_perl/test.fig + -rm -f ./g2_perl/Makefile.old + -rm -f ./libg2.@LD_SHARED_EXT@ + -rm -f libg2.$(G2_VERSION).a + -rm -f a.out + -rm -fr doc/html/ doc/latex/ doc/g2_refman.ps doc/g2_refman.pdf + +demo: libg2.a + (cd ./demo ; make) + +depend: + $(MAKEDEPEND) -- $(CFLAGS) -- $(SRC) + @echo + @echo "Run 'make' to build g2 library." + @echo + +distdir: + cp -r * $(distdir) + + +# DO NOT DELETE THIS LINE -- make depend depends on it. + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/README b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/README new file mode 100755 index 00000000..80f0401c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/README @@ -0,0 +1,80 @@ +g2 - graphic library (C) 1999 Lj. Milanovic, H. Wagner + +Version 0.xx + +License Information +=================== + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +See INSTALL for information on how to install g2 see the html +documentation in the doc/ subdirectory for a function reference + +What is g2 ? +============ + +Short version (if you are in hurry): + + - 2D graphic library + - Simple to use + - Supports several types of output devices (currently X11, + gd (PNG, JPEG), PostScript) + - Concept allows easy implementation of new device types + - Virtual devices allow to send output simultaneously to several devices + - User definable coordinate system + - Written in ANSI-C + - Tested under Digital Unix, AIX, Linux, VMS and Windows NT + - Fortran interface + +Long version: + +g2 is a simple to use graphics library for 2D graphical applications +written in Ansi-C. This library provides a comprehensive set of +functions for simultaneous generation of graphical output on different +types of devices. Presently, following devices are currently supported +by g2: X11, gd (PNG, JPEG), PostScript (xfig and Win32 are in developement). +One major feature of the g2_library is the concept of virtual devices. An +arbitrary number of physical devices (such as PNG, or X11) can be +grouped to create a so-called virtual device. Commands sent to such a +virtual devices will automatically issued to all attached physical +devices. This allows for example simultaneous output to a PNG file and +a Postscript file. A virtual device in turn can be attached to another +virtual device, allowing to construct trees of devices. Virtual +devices can also be useful when using different user-coordinate +systems. E.g. one X11 window showing an overview of a graphical +output, and a second window showing a zoom of a more detailed area of +the graphic. Drawing in both windows is performed by one single +command to the virtual device. + + + /-------> PNG: g2_attach(id_PNG,... + ----------------------- +g2_plot---> | Virtual device: id |--------> X11: g2_attach(id_X11,... + ----------------------- + \-------> PS: g2_attach(id_PS,... + +If you don't need or like the concept of virtual devices, simply ignore it. + + +CONTACT +======= + +You can contact the authors and contributors by e-mail (/ is @ and - is .): + +Ljubomir Milanovic ljubo/users-sourceforge-net +Horst Wagner wagner/users-sourceforge-net +Tijs Michels (spline implementation) tijs/vimec-nl + +or visit g2 home page on: + +http://g2.sourceforge.net/ + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/TODO b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/TODO new file mode 100755 index 00000000..cf294d19 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/TODO @@ -0,0 +1,8 @@ + +- native g2_image support +- gd: setlinedash +- finish xfig support +- test (and add) Fortran interface on more platforms +- new devices (e.g. PNG, JPG, etc.) +- documentation for developement of new devices + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/CVS/Entries new file mode 100755 index 00000000..17848105 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/CVS/Entries @@ -0,0 +1 @@ +D diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/CVS/Repository new file mode 100755 index 00000000..c49a15b0 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/autom4te.cache diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/CVS/Template b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/CVS/Template new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/output.0 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/output.0 new file mode 100755 index 00000000..de34feaa --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/output.0 @@ -0,0 +1,6602 @@ +@%:@! /bin/sh +@%:@ Guess values for system-dependent variables and create Makefiles. +@%:@ Generated by GNU Autoconf 2.59. +@%:@ +@%:@ Copyright (C) 2003 Free Software Foundation, Inc. +@%:@ This configure script is free software; the Free Software Foundation +@%:@ gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +exec 6>&1 + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_config_libobj_dir=. +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Maximum number of lines to put in a shell here document. +# This variable seems obsolete. It should probably be removed, and +# only ac_max_sed_lines should be used. +: ${ac_max_here_lines=38} + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= + +ac_unique_file="src/g2_device.c" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif +#if HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os LD_SHARED LD_SHARED_FLAGS LD_SHARED_OPT LD_SHARED_EXT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP CXX CXXFLAGS ac_ct_CXX RANLIB ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA FIND MAKEDEPEND X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS DO_PS DO_FIG DO_X11 DO_WIN32 DO_GD EGREP LIB@&t@OBJS LTLIBOBJS' +ac_subst_files='' + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +ac_prev= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_option in + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + eval "enable_$ac_feature=no" ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "enable_$ac_feature='$ac_optarg'" ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package| sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "with_$ac_package='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/-/_/g'` + eval "with_$ac_package=no" ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + eval "$ac_envvar='$ac_optarg'" + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute paths. +for ac_var in exec_prefix prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# Be sure to have absolute paths. +for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ + localstatedir libdir includedir oldincludedir infodir mandir +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then its parent. + ac_confdir=`(dirname "$0") 2>/dev/null || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r $srcdir/$ac_unique_file; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { (exit 1); exit 1; }; } + else + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } + fi +fi +(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || + { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 + { (exit 1); exit 1; }; } +srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +ac_env_build_alias_set=${build_alias+set} +ac_env_build_alias_value=$build_alias +ac_cv_env_build_alias_set=${build_alias+set} +ac_cv_env_build_alias_value=$build_alias +ac_env_host_alias_set=${host_alias+set} +ac_env_host_alias_value=$host_alias +ac_cv_env_host_alias_set=${host_alias+set} +ac_cv_env_host_alias_value=$host_alias +ac_env_target_alias_set=${target_alias+set} +ac_env_target_alias_value=$target_alias +ac_cv_env_target_alias_set=${target_alias+set} +ac_cv_env_target_alias_value=$target_alias +ac_env_CC_set=${CC+set} +ac_env_CC_value=$CC +ac_cv_env_CC_set=${CC+set} +ac_cv_env_CC_value=$CC +ac_env_CFLAGS_set=${CFLAGS+set} +ac_env_CFLAGS_value=$CFLAGS +ac_cv_env_CFLAGS_set=${CFLAGS+set} +ac_cv_env_CFLAGS_value=$CFLAGS +ac_env_LDFLAGS_set=${LDFLAGS+set} +ac_env_LDFLAGS_value=$LDFLAGS +ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +ac_cv_env_LDFLAGS_value=$LDFLAGS +ac_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_env_CPPFLAGS_value=$CPPFLAGS +ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_cv_env_CPPFLAGS_value=$CPPFLAGS +ac_env_CPP_set=${CPP+set} +ac_env_CPP_value=$CPP +ac_cv_env_CPP_set=${CPP+set} +ac_cv_env_CPP_value=$CPP +ac_env_CXX_set=${CXX+set} +ac_env_CXX_value=$CXX +ac_cv_env_CXX_set=${CXX+set} +ac_cv_env_CXX_value=$CXX +ac_env_CXXFLAGS_set=${CXXFLAGS+set} +ac_env_CXXFLAGS_value=$CXXFLAGS +ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} +ac_cv_env_CXXFLAGS_value=$CXXFLAGS + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures this package to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +_ACEOF + + cat <<_ACEOF +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data [PREFIX/share] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] +_ACEOF + + cat <<\_ACEOF + +X features: + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-x use the X Window System + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have + headers in a nonstandard directory + CPP C preprocessor + CXX C++ compiler command + CXXFLAGS C++ compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +_ACEOF +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + ac_popdir=`pwd` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d $ac_dir || continue + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + cd $ac_dir + # Check for guested configure; otherwise get Cygnus style configure. + if test -f $ac_srcdir/configure.gnu; then + echo + $SHELL $ac_srcdir/configure.gnu --help=recursive + elif test -f $ac_srcdir/configure; then + echo + $SHELL $ac_srcdir/configure --help=recursive + elif test -f $ac_srcdir/configure.ac || + test -f $ac_srcdir/configure.in; then + echo + $ac_configure --help + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi + cd $ac_popdir + done +fi + +test -n "$ac_init_help" && exit 0 +if $ac_init_version; then + cat <<\_ACEOF + +Copyright (C) 2003 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit 0 +fi +exec 5>config.log +cat >&5 <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ $0 $@ + +_ACEOF +{ +cat <<_ASUNAME +@%:@@%:@ --------- @%:@@%:@ +@%:@@%:@ Platform. @%:@@%:@ +@%:@@%:@ --------- @%:@@%:@ + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +hostinfo = `(hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done + +} >&5 + +cat >&5 <<_ACEOF + + +@%:@@%:@ ----------- @%:@@%:@ +@%:@@%:@ Core tests. @%:@@%:@ +@%:@@%:@ ----------- @%:@@%:@ + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_sep= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" + # Get rid of the leading space. + ac_sep=" " + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Be sure not to use single quotes in there, as some shells, +# such as our DU 5.0 friend, will then `close' the trap. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +@%:@@%:@ ---------------- @%:@@%:@ +@%:@@%:@ Cache variables. @%:@@%:@ +@%:@@%:@ ---------------- @%:@@%:@ +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +{ + (set) 2>&1 | + case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in + *ac_space=\ *) + sed -n \ + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + ;; + *) + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} + echo + + cat <<\_ASBOX +@%:@@%:@ ----------------- @%:@@%:@ +@%:@@%:@ Output variables. @%:@@%:@ +@%:@@%:@ ----------------- @%:@@%:@ +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +@%:@@%:@ ------------- @%:@@%:@ +@%:@@%:@ Output files. @%:@@%:@ +@%:@@%:@ ------------- @%:@@%:@ +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +@%:@@%:@ ----------- @%:@@%:@ +@%:@@%:@ confdefs.h. @%:@@%:@ +@%:@@%:@ ----------- @%:@@%:@ +_ASBOX + echo + sed "/^$/d" confdefs.h | sort + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core && + rm -rf conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status + ' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo >confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +@%:@define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . $cache_file;; + *) . ./$cache_file;; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in `(set) 2>&1 | + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val="\$ac_cv_env_${ac_var}_value" + eval ac_new_val="\$ac_env_${ac_var}_value" + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + + + + + + + +PRODUCT=g2 + + +# +# check cannonical system name, +# and set options for shared libraries (black magic) +# +ac_aux_dir= +for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do + if test -f $ac_dir/install-sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f $ac_dir/install.sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f $ac_dir/shtool; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 +echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} + { (exit 1); exit 1; }; } +fi +ac_config_guess="$SHELL $ac_aux_dir/config.guess" +ac_config_sub="$SHELL $ac_aux_dir/config.sub" +ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + +# Make sure we can run config.sub. +$ac_config_sub sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 +echo "$as_me: error: cannot run $ac_config_sub" >&2;} + { (exit 1); exit 1; }; } + +echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6 +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_build_alias=$build_alias +test -z "$ac_cv_build_alias" && + ac_cv_build_alias=`$ac_config_guess` +test -z "$ac_cv_build_alias" && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6 +build=$ac_cv_build +build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6 +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_host_alias=$host_alias +test -z "$ac_cv_host_alias" && + ac_cv_host_alias=$ac_cv_build_alias +ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6 +host=$ac_cv_host +host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +case "$host" in + *-linux*) + LD_SHARED='ld' + LD_SHARED_FLAGS='-shared -soname libg2.so.0' + LD_SHARED_OPT='' + LD_SHARED_EXT='so.0.$(G2_VERSION)' + cat >>confdefs.h <<\_ACEOF +@%:@define LINUX 1 +_ACEOF +;; + *-aix*) + LD_SHARED='ld' + LD_SHARED_FLAGS='-bM:SRE -bnoentry -bexpall' + LD_SHARED_OPT='$(LDFLAGS) -lc' + LD_SHARED_EXT='so' + cat >>confdefs.h <<\_ACEOF +@%:@define AIX 1 +_ACEOF +;; + *-osf*) + LD_SHARED='ld' + LD_SHARED_FLAGS='-shared' + LD_SHARED_OPT='$(LDFLAGS) -lc' + LD_SHARED_EXT='so' + cat >>confdefs.h <<\_ACEOF +@%:@define OSF 1 +_ACEOF +;; + *) + LD_SHARED_EXT='so' + cat >>confdefs.h <<\_ACEOF +@%:@define UNIX 1 +_ACEOF +;; +esac + + + + + + +# +# check C compiler, preprocesor, etc. +# +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $@%:@ != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CC" && break +done + + CC=$ac_ct_CC +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 + (eval $ac_link_default) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Find the output, starting from the most likely. This scheme is +# not robust to junk in `.', hence go to wildcards (a.*) only as a last +# resort. + +# Be careful to initialize this variable, since it used to be cached. +# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +ac_cv_exeext= +# b.out is created by i960 compilers. +for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) + ;; + conftest.$ac_ext ) + # This is the source file. + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool, + # but it would be cool to find out if it's true. Does anybody + # maintain Libtool? --akim. + export ac_cv_exeext + break;; + * ) + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6 + +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 +echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6 + +echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + export ac_cv_exeext + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6 + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6 +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +CFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cc_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_stdc=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_stdc=$ac_arg +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext +done +rm -f conftest.$ac_ext conftest.$ac_objext +CC=$ac_save_CC + +fi + +case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 ;; + *) + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; +esac + +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +@%:@ifndef __cplusplus + choke me +@%:@endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +@%:@include +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6 +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@ifdef __STDC__ +@%:@ include +@%:@else +@%:@ include +@%:@endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CXX" && break +done +test -n "$ac_ct_CXX" || ac_ct_CXX="g++" + + CXX=$ac_ct_CXX +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +CXXFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cxx_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +@%:@include +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + RANLIB=$ac_ct_RANLIB +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. We don't cache a + # path for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the path is relative. + INSTALL=$ac_install_sh + fi +fi +echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6 + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +# Extract the first word of "find", so it can be a program name with args. +set dummy find; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_FIND+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$FIND"; then + ac_cv_prog_FIND="$FIND" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_FIND="find" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_FIND" && ac_cv_prog_FIND=":" +fi +fi +FIND=$ac_cv_prog_FIND +if test -n "$FIND"; then + echo "$as_me:$LINENO: result: $FIND" >&5 +echo "${ECHO_T}$FIND" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +# Extract the first word of "makedepend", so it can be a program name with args. +set dummy makedepend; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_MAKEDEPEND+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$MAKEDEPEND"; then + ac_cv_prog_MAKEDEPEND="$MAKEDEPEND" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_MAKEDEPEND="makedepend" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_MAKEDEPEND" && ac_cv_prog_MAKEDEPEND=":" +fi +fi +MAKEDEPEND=$ac_cv_prog_MAKEDEPEND +if test -n "$MAKEDEPEND"; then + echo "$as_me:$LINENO: result: $MAKEDEPEND" >&5 +echo "${ECHO_T}$MAKEDEPEND" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + +echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main () +{ +dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dl_dlopen=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 +if test $ac_cv_lib_dl_dlopen = yes; then + have_dl=yes +else + have_dl=no +fi + + + +# +# Try to locate the X Window System include files and libraries +# and add /usr/local to include and lib path and add -lm (for testing) +# + +echo "$as_me:$LINENO: checking for X" >&5 +echo $ECHO_N "checking for X... $ECHO_C" >&6 + + +# Check whether --with-x or --without-x was given. +if test "${with_x+set}" = set; then + withval="$with_x" + +fi; +# $have_x is `yes', `no', `disabled', or empty when we do not yet know. +if test "x$with_x" = xno; then + # The user explicitly disabled X. + have_x=disabled +else + if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then + # Both variables are already set. + have_x=yes + else + if test "${ac_cv_have_x+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # One or both of the vars are not set, and there is no cached value. +ac_x_includes=no ac_x_libraries=no +rm -fr conftest.dir +if mkdir conftest.dir; then + cd conftest.dir + # Make sure to not put "make" in the Imakefile rules, since we grep it out. + cat >Imakefile <<'_ACEOF' +acfindx: + @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' +_ACEOF + if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then + # GNU make sometimes prints "make[1]: Entering...", which would confuse us. + eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` + # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. + for ac_extension in a so sl; do + if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && + test -f $ac_im_libdir/libX11.$ac_extension; then + ac_im_usrlibdir=$ac_im_libdir; break + fi + done + # Screen out bogus values from the imake configuration. They are + # bogus both because they are the default anyway, and because + # using them would break gcc on systems where it needs fixed includes. + case $ac_im_incroot in + /usr/include) ;; + *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; + esac + case $ac_im_usrlibdir in + /usr/lib | /lib) ;; + *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; + esac + fi + cd .. + rm -fr conftest.dir +fi + +# Standard set of common directories for X headers. +# Check X11 before X11Rn because it is often a symlink to the current release. +ac_x_header_dirs=' +/usr/X11/include +/usr/X11R6/include +/usr/X11R5/include +/usr/X11R4/include + +/usr/include/X11 +/usr/include/X11R6 +/usr/include/X11R5 +/usr/include/X11R4 + +/usr/local/X11/include +/usr/local/X11R6/include +/usr/local/X11R5/include +/usr/local/X11R4/include + +/usr/local/include/X11 +/usr/local/include/X11R6 +/usr/local/include/X11R5 +/usr/local/include/X11R4 + +/usr/X386/include +/usr/x386/include +/usr/XFree86/include/X11 + +/usr/include +/usr/local/include +/usr/unsupported/include +/usr/athena/include +/usr/local/x11r5/include +/usr/lpp/Xamples/include + +/usr/openwin/include +/usr/openwin/share/include' + +if test "$ac_x_includes" = no; then + # Guess where to find include files, by looking for Intrinsic.h. + # First, try using that file with no special directory specified. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # We can compile using X headers with no special include directory. +ac_x_includes= +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + for ac_dir in $ac_x_header_dirs; do + if test -r "$ac_dir/X11/Intrinsic.h"; then + ac_x_includes=$ac_dir + break + fi +done +fi +rm -f conftest.err conftest.$ac_ext +fi # $ac_x_includes = no + +if test "$ac_x_libraries" = no; then + # Check for the libraries. + # See if we find them without any special options. + # Don't add to $LIBS permanently. + ac_save_LIBS=$LIBS + LIBS="-lXt $LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include +int +main () +{ +XtMalloc (0) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + LIBS=$ac_save_LIBS +# We can link X programs with no special library path. +ac_x_libraries= +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +LIBS=$ac_save_LIBS +for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` +do + # Don't even attempt the hair of trying to link an X program! + for ac_extension in a so sl; do + if test -r $ac_dir/libXt.$ac_extension; then + ac_x_libraries=$ac_dir + break 2 + fi + done +done +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi # $ac_x_libraries = no + +if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then + # Didn't find X anywhere. Cache the known absence of X. + ac_cv_have_x="have_x=no" +else + # Record where we found X for the cache. + ac_cv_have_x="have_x=yes \ + ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" +fi +fi + + fi + eval "$ac_cv_have_x" +fi # $with_x != no + +if test "$have_x" != yes; then + echo "$as_me:$LINENO: result: $have_x" >&5 +echo "${ECHO_T}$have_x" >&6 + no_x=yes +else + # If each of the values was on the command line, it overrides each guess. + test "x$x_includes" = xNONE && x_includes=$ac_x_includes + test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries + # Update the cache value to reflect the command line values. + ac_cv_have_x="have_x=yes \ + ac_x_includes=$x_includes ac_x_libraries=$x_libraries" + echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 +echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6 +fi + +if test "$no_x" = yes; then + # Not all programs may use this symbol, but it does not hurt to define it. + +cat >>confdefs.h <<\_ACEOF +@%:@define X_DISPLAY_MISSING 1 +_ACEOF + + X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= +else + if test -n "$x_includes"; then + X_CFLAGS="$X_CFLAGS -I$x_includes" + fi + + # It would also be nice to do this for all -L options, not just this one. + if test -n "$x_libraries"; then + X_LIBS="$X_LIBS -L$x_libraries" + # For Solaris; some versions of Sun CC require a space after -R and + # others require no space. Words are not sufficient . . . . + case `(uname -sr) 2>/dev/null` in + "SunOS 5"*) + echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5 +echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6 + ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_R_nospace=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_R_nospace=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test $ac_R_nospace = yes; then + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + X_LIBS="$X_LIBS -R$x_libraries" + else + LIBS="$ac_xsave_LIBS -R $x_libraries" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_R_space=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_R_space=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test $ac_R_space = yes; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + X_LIBS="$X_LIBS -R $x_libraries" + else + echo "$as_me:$LINENO: result: neither works" >&5 +echo "${ECHO_T}neither works" >&6 + fi + fi + LIBS=$ac_xsave_LIBS + esac + fi + + # Check for system-dependent libraries X programs must link with. + # Do this before checking for the system-independent R6 libraries + # (-lICE), since we may need -lsocket or whatever for X linking. + + if test "$ISC" = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" + else + # Martyn Johnson says this is needed for Ultrix, if the X + # libraries were built with DECnet support. And Karl Berry says + # the Alpha needs dnet_stub (dnet does not exist). + ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char XOpenDisplay (); +int +main () +{ +XOpenDisplay (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5 +echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6 +if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldnet $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dnet_ntoa (); +int +main () +{ +dnet_ntoa (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dnet_dnet_ntoa=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dnet_dnet_ntoa=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 +echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6 +if test $ac_cv_lib_dnet_dnet_ntoa = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" +fi + + if test $ac_cv_lib_dnet_dnet_ntoa = no; then + echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5 +echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6 +if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldnet_stub $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dnet_ntoa (); +int +main () +{ +dnet_ntoa (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dnet_stub_dnet_ntoa=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dnet_stub_dnet_ntoa=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 +echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6 +if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" +fi + + fi +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$ac_xsave_LIBS" + + # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, + # to get the SysV transport functions. + # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4) + # needs -lnsl. + # The nsl library prevents programs from opening the X display + # on Irix 5.2, according to T.E. Dickey. + # The functions gethostbyname, getservbyname, and inet_addr are + # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. + echo "$as_me:$LINENO: checking for gethostbyname" >&5 +echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6 +if test "${ac_cv_func_gethostbyname+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define gethostbyname to an innocuous variant, in case declares gethostbyname. + For example, HP-UX 11i declares gettimeofday. */ +#define gethostbyname innocuous_gethostbyname + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char gethostbyname (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef gethostbyname + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char gethostbyname (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) +choke me +#else +char (*f) () = gethostbyname; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != gethostbyname; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_gethostbyname=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_gethostbyname=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5 +echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6 + + if test $ac_cv_func_gethostbyname = no; then + echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5 +echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6 +if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lnsl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char gethostbyname (); +int +main () +{ +gethostbyname (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_nsl_gethostbyname=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_nsl_gethostbyname=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 +echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6 +if test $ac_cv_lib_nsl_gethostbyname = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" +fi + + if test $ac_cv_lib_nsl_gethostbyname = no; then + echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5 +echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6 +if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lbsd $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char gethostbyname (); +int +main () +{ +gethostbyname (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_bsd_gethostbyname=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_bsd_gethostbyname=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5 +echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6 +if test $ac_cv_lib_bsd_gethostbyname = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" +fi + + fi + fi + + # lieder@skyler.mavd.honeywell.com says without -lsocket, + # socket/setsockopt and other routines are undefined under SCO ODT + # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary + # on later versions), says Simon Leinen: it contains gethostby* + # variants that don't use the name server (or something). -lsocket + # must be given before -lnsl if both are needed. We assume that + # if connect needs -lnsl, so does gethostbyname. + echo "$as_me:$LINENO: checking for connect" >&5 +echo $ECHO_N "checking for connect... $ECHO_C" >&6 +if test "${ac_cv_func_connect+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define connect to an innocuous variant, in case declares connect. + For example, HP-UX 11i declares gettimeofday. */ +#define connect innocuous_connect + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char connect (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef connect + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char connect (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_connect) || defined (__stub___connect) +choke me +#else +char (*f) () = connect; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != connect; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_connect=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_connect=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5 +echo "${ECHO_T}$ac_cv_func_connect" >&6 + + if test $ac_cv_func_connect = no; then + echo "$as_me:$LINENO: checking for connect in -lsocket" >&5 +echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6 +if test "${ac_cv_lib_socket_connect+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsocket $X_EXTRA_LIBS $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char connect (); +int +main () +{ +connect (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_socket_connect=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_socket_connect=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5 +echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6 +if test $ac_cv_lib_socket_connect = yes; then + X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" +fi + + fi + + # Guillermo Gomez says -lposix is necessary on A/UX. + echo "$as_me:$LINENO: checking for remove" >&5 +echo $ECHO_N "checking for remove... $ECHO_C" >&6 +if test "${ac_cv_func_remove+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define remove to an innocuous variant, in case declares remove. + For example, HP-UX 11i declares gettimeofday. */ +#define remove innocuous_remove + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char remove (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef remove + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char remove (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_remove) || defined (__stub___remove) +choke me +#else +char (*f) () = remove; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != remove; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_remove=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_remove=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5 +echo "${ECHO_T}$ac_cv_func_remove" >&6 + + if test $ac_cv_func_remove = no; then + echo "$as_me:$LINENO: checking for remove in -lposix" >&5 +echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6 +if test "${ac_cv_lib_posix_remove+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lposix $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char remove (); +int +main () +{ +remove (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_posix_remove=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_posix_remove=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5 +echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6 +if test $ac_cv_lib_posix_remove = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" +fi + + fi + + # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. + echo "$as_me:$LINENO: checking for shmat" >&5 +echo $ECHO_N "checking for shmat... $ECHO_C" >&6 +if test "${ac_cv_func_shmat+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shmat to an innocuous variant, in case declares shmat. + For example, HP-UX 11i declares gettimeofday. */ +#define shmat innocuous_shmat + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shmat (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shmat + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char shmat (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_shmat) || defined (__stub___shmat) +choke me +#else +char (*f) () = shmat; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != shmat; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_shmat=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_shmat=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5 +echo "${ECHO_T}$ac_cv_func_shmat" >&6 + + if test $ac_cv_func_shmat = no; then + echo "$as_me:$LINENO: checking for shmat in -lipc" >&5 +echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6 +if test "${ac_cv_lib_ipc_shmat+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lipc $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char shmat (); +int +main () +{ +shmat (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_ipc_shmat=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_ipc_shmat=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5 +echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6 +if test $ac_cv_lib_ipc_shmat = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" +fi + + fi + fi + + # Check for libraries that X11R6 Xt/Xaw programs need. + ac_save_LDFLAGS=$LDFLAGS + test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" + # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to + # check for ICE first), but we must link in the order -lSM -lICE or + # we get undefined symbols. So assume we have SM if we have ICE. + # These have to be linked with before -lX11, unlike the other + # libraries we check for below, so use a different variable. + # John Interrante, Karl Berry + echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5 +echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6 +if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lICE $X_EXTRA_LIBS $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char IceConnectionNumber (); +int +main () +{ +IceConnectionNumber (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_ICE_IceConnectionNumber=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_ICE_IceConnectionNumber=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 +echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6 +if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then + X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" +fi + + LDFLAGS=$ac_save_LDFLAGS + +fi + +CFLAGS="$CFLAGS $X_CFLAGS -I/usr/local/include" +LDFLAGS="$LDFLAGS $X_LIBS -L/usr/local/lib" + + +DO_PS='#' +DO_FIG='#' +DO_X11='#' +DO_GD='#' +DO_WIN32='#' + + +# +# check supported devices +# +echo "$as_me:$LINENO: checking for main in -lm" >&5 +echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6 +if test "${ac_cv_lib_m_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +int +main () +{ +main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_m_main=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_m_main=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5 +echo "${ECHO_T}$ac_cv_lib_m_main" >&6 +if test $ac_cv_lib_m_main = yes; then + DO_PS='';DO_FIG='';LDFLAGS="$LDFLAGS -lm";cat >>confdefs.h <<\_ACEOF +@%:@define DO_PS 1 +_ACEOF + cat >>confdefs.h <<\_ACEOF +@%:@define DO_FIG 1 +_ACEOF + +else + break +fi + +echo "$as_me:$LINENO: checking for main in -lX11" >&5 +echo $ECHO_N "checking for main in -lX11... $ECHO_C" >&6 +if test "${ac_cv_lib_X11_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lX11 $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +int +main () +{ +main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_X11_main=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_X11_main=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_X11_main" >&5 +echo "${ECHO_T}$ac_cv_lib_X11_main" >&6 +if test $ac_cv_lib_X11_main = yes; then + DO_X11='';LDFLAGS="$LDFLAGS -lX11";cat >>confdefs.h <<\_ACEOF +@%:@define DO_X11 1 +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for main in -lgd" >&5 +echo $ECHO_N "checking for main in -lgd... $ECHO_C" >&6 +if test "${ac_cv_lib_gd_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgd $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +int +main () +{ +main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_gd_main=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_gd_main=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_gd_main" >&5 +echo "${ECHO_T}$ac_cv_lib_gd_main" >&6 +if test $ac_cv_lib_gd_main = yes; then + have_gd=yes +else + have_gd=no +fi + +if test "$have_gd" = yes +then + LDFLAGS="$LDFLAGS -lgd" + echo "$as_me:$LINENO: checking for gdImagePng" >&5 +echo $ECHO_N "checking for gdImagePng... $ECHO_C" >&6 +if test "${ac_cv_func_gdImagePng+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define gdImagePng to an innocuous variant, in case declares gdImagePng. + For example, HP-UX 11i declares gettimeofday. */ +#define gdImagePng innocuous_gdImagePng + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char gdImagePng (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef gdImagePng + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char gdImagePng (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_gdImagePng) || defined (__stub___gdImagePng) +choke me +#else +char (*f) () = gdImagePng; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != gdImagePng; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_gdImagePng=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_gdImagePng=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_gdImagePng" >&5 +echo "${ECHO_T}$ac_cv_func_gdImagePng" >&6 +if test $ac_cv_func_gdImagePng = yes; then + DO_GD='';cat >>confdefs.h <<\_ACEOF +@%:@define DO_GD 1 +_ACEOF + +fi + +fi + +# +# handling cygwin environment (and gd for cygwin == bgd) +# + +case $host_os in + *cygwin* ) CYGWIN=yes;; + * ) CYGWIN=no;; +esac + +if test "$CYGWIN" = yes +then + LDFLAGS="$LDFLAGS -L/lib/w32api" + echo "$as_me:$LINENO: checking for main in -lgdi32" >&5 +echo $ECHO_N "checking for main in -lgdi32... $ECHO_C" >&6 +if test "${ac_cv_lib_gdi32_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgdi32 $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +int +main () +{ +main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_gdi32_main=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_gdi32_main=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_gdi32_main" >&5 +echo "${ECHO_T}$ac_cv_lib_gdi32_main" >&6 +if test $ac_cv_lib_gdi32_main = yes; then + DO_WIN32='';LDFLAGS="$LDFLAGS -lgdi32";cat >>confdefs.h <<\_ACEOF +@%:@define DO_WIN32 1 +_ACEOF + +fi + + echo "$as_me:$LINENO: checking for main in -lbgd" >&5 +echo $ECHO_N "checking for main in -lbgd... $ECHO_C" >&6 +if test "${ac_cv_lib_bgd_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lbgd $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +int +main () +{ +main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_bgd_main=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_bgd_main=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_bgd_main" >&5 +echo "${ECHO_T}$ac_cv_lib_bgd_main" >&6 +if test $ac_cv_lib_bgd_main = yes; then + have_bgd=yes +else + have_bgd=no +fi + + if test "$have_bgd" = yes + then + LDFLAGS="$LDFLAGS -lbgd" + echo "$as_me:$LINENO: checking for gdImagePng" >&5 +echo $ECHO_N "checking for gdImagePng... $ECHO_C" >&6 +if test "${ac_cv_func_gdImagePng+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define gdImagePng to an innocuous variant, in case declares gdImagePng. + For example, HP-UX 11i declares gettimeofday. */ +#define gdImagePng innocuous_gdImagePng + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char gdImagePng (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef gdImagePng + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char gdImagePng (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_gdImagePng) || defined (__stub___gdImagePng) +choke me +#else +char (*f) () = gdImagePng; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != gdImagePng; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_gdImagePng=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_gdImagePng=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_gdImagePng" >&5 +echo "${ECHO_T}$ac_cv_func_gdImagePng" >&6 +if test $ac_cv_func_gdImagePng = yes; then + DO_GD='';cat >>confdefs.h <<\_ACEOF +@%:@define DO_GD 1 +_ACEOF + +fi + + fi +fi + +# +# Declare variables which we want substituted in the Makefile.in's +# + + + + + + +echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +if test "${ac_cv_prog_egrep+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +echo "${ECHO_T}$ac_cv_prog_egrep" >&6 + EGREP=$ac_cv_prog_egrep + + +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6 +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +@%:@define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in limits.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +@%:@include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +@%:@include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +@%:@@%:@ ------------------------------------------ @%:@@%:@ +@%:@@%:@ Report this to the AC_PACKAGE_NAME lists. @%:@@%:@ +@%:@@%:@ ------------------------------------------ @%:@@%:@ +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +@%:@define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + +# +# finally create makefiles using Makefile.in +# +echo + ac_config_files="$ac_config_files Makefile demo/Makefile g2_perl/Makefile.PL" +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +{ + (set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} | + sed ' + t clear + : clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + : end' >>confcache +if diff $cache_file confcache >/dev/null 2>&1; then :; else + if test -w $cache_file; then + test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + cat confcache >$cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +}' +fi + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then we branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +cat >confdef2opt.sed <<\_ACEOF +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g +t quote +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g +t quote +d +: quote +s,[ `~#$^&*(){}\\|;'"<>?],\\&,g +s,\[,\\&,g +s,\],\\&,g +s,\$,$$,g +p +_ACEOF +# We use echo to avoid assuming a particular line-breaking character. +# The extra dot is to prevent the shell from consuming trailing +# line-breaks from the sub-command output. A line-break within +# single-quotes doesn't work because, if this script is created in a +# platform that uses two characters for line-breaks (e.g., DOS), tr +# would break. +ac_LF_and_DOT=`echo; echo .` +DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` +rm -f confdef2opt.sed + + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_i=`echo "$ac_i" | + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + # 2. Add them. + ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' +done +LIB@&t@OBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX +@%:@@%:@ Running $as_me. @%:@@%:@ +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by $as_me, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +_ACEOF + +# Files that config.status was made for. +if test -n "$ac_config_files"; then + echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_headers"; then + echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_links"; then + echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_commands"; then + echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +fi + +cat >>$CONFIG_STATUS <<\_ACEOF + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + +Configuration files: +$config_files + +Report bugs to ." +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.59, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2003 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=$srcdir +INSTALL="$INSTALL" +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF + + + + + +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "demo/Makefile" ) CONFIG_FILES="$CONFIG_FILES demo/Makefile" ;; + "g2_perl/Makefile.PL" ) CONFIG_FILES="$CONFIG_FILES g2_perl/Makefile.PL" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "\$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +s,@SHELL@,$SHELL,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +s,@exec_prefix@,$exec_prefix,;t t +s,@prefix@,$prefix,;t t +s,@program_transform_name@,$program_transform_name,;t t +s,@bindir@,$bindir,;t t +s,@sbindir@,$sbindir,;t t +s,@libexecdir@,$libexecdir,;t t +s,@datadir@,$datadir,;t t +s,@sysconfdir@,$sysconfdir,;t t +s,@sharedstatedir@,$sharedstatedir,;t t +s,@localstatedir@,$localstatedir,;t t +s,@libdir@,$libdir,;t t +s,@includedir@,$includedir,;t t +s,@oldincludedir@,$oldincludedir,;t t +s,@infodir@,$infodir,;t t +s,@mandir@,$mandir,;t t +s,@build_alias@,$build_alias,;t t +s,@host_alias@,$host_alias,;t t +s,@target_alias@,$target_alias,;t t +s,@DEFS@,$DEFS,;t t +s,@ECHO_C@,$ECHO_C,;t t +s,@ECHO_N@,$ECHO_N,;t t +s,@ECHO_T@,$ECHO_T,;t t +s,@LIBS@,$LIBS,;t t +s,@build@,$build,;t t +s,@build_cpu@,$build_cpu,;t t +s,@build_vendor@,$build_vendor,;t t +s,@build_os@,$build_os,;t t +s,@host@,$host,;t t +s,@host_cpu@,$host_cpu,;t t +s,@host_vendor@,$host_vendor,;t t +s,@host_os@,$host_os,;t t +s,@LD_SHARED@,$LD_SHARED,;t t +s,@LD_SHARED_FLAGS@,$LD_SHARED_FLAGS,;t t +s,@LD_SHARED_OPT@,$LD_SHARED_OPT,;t t +s,@LD_SHARED_EXT@,$LD_SHARED_EXT,;t t +s,@CC@,$CC,;t t +s,@CFLAGS@,$CFLAGS,;t t +s,@LDFLAGS@,$LDFLAGS,;t t +s,@CPPFLAGS@,$CPPFLAGS,;t t +s,@ac_ct_CC@,$ac_ct_CC,;t t +s,@EXEEXT@,$EXEEXT,;t t +s,@OBJEXT@,$OBJEXT,;t t +s,@CPP@,$CPP,;t t +s,@CXX@,$CXX,;t t +s,@CXXFLAGS@,$CXXFLAGS,;t t +s,@ac_ct_CXX@,$ac_ct_CXX,;t t +s,@RANLIB@,$RANLIB,;t t +s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@FIND@,$FIND,;t t +s,@MAKEDEPEND@,$MAKEDEPEND,;t t +s,@X_CFLAGS@,$X_CFLAGS,;t t +s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t +s,@X_LIBS@,$X_LIBS,;t t +s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t +s,@DO_PS@,$DO_PS,;t t +s,@DO_FIG@,$DO_FIG,;t t +s,@DO_X11@,$DO_X11,;t t +s,@DO_WIN32@,$DO_WIN32,;t t +s,@DO_GD@,$DO_GD,;t t +s,@EGREP@,$EGREP,;t t +s,@LIB@&t@OBJS@,$LIB@&t@OBJS,;t t +s,@LTLIBOBJS@,$LTLIBOBJS,;t t +CEOF + +_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + + +echo +echo "Supported devices:" +if test "$DO_PS" != "#"; then echo " PostScript"; fi +if test "$DO_FIG" != "#"; then echo " FIG"; fi +if test "$DO_X11" != "#"; then echo " X11"; fi +if test "$DO_WIN32" != "#"; then echo " Win32"; fi +if test "$DO_GD" != "#"; then echo " GD"; fi + +echo +echo "Unsupported devices:" +if test "$DO_PS" = "#"; then echo " PostScript"; fi +if test "$DO_FIG" = "#"; then echo " FIG"; fi +if test "$DO_X11" = "#"; then echo " X11"; fi +if test "$DO_WIN32" = "#"; then echo " Win32"; fi +if test "$DO_GD" = "#"; then echo " GD"; fi + +echo +echo "Run 'make depend' to create dependencies." +echo diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/requests b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/requests new file mode 100755 index 00000000..a9ac0c3d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/requests @@ -0,0 +1,123 @@ +# This file was generated. +# It contains the lists of macros which have been traced. +# It can be safely removed. + +@request = ( + bless( [ + '0', + 1, + [ + '/usr/share/autoconf' + ], + [ + '/usr/share/autoconf/autoconf/autoconf.m4f', + 'configure.in' + ], + { + '_LT_AC_TAGCONFIG' => 1, + 'm4_pattern_forbid' => 1, + 'AC_CANONICAL_TARGET' => 1, + 'AC_CONFIG_LIBOBJ_DIR' => 1, + 'AC_C_VOLATILE' => 1, + 'AC_TYPE_OFF_T' => 1, + 'AC_FUNC_CLOSEDIR_VOID' => 1, + 'AC_REPLACE_FNMATCH' => 1, + 'AC_DEFUN' => 1, + 'AC_PROG_LIBTOOL' => 1, + 'AC_FUNC_STAT' => 1, + 'AC_FUNC_WAIT3' => 1, + 'AC_HEADER_TIME' => 1, + 'AC_FUNC_LSTAT' => 1, + 'AC_STRUCT_TM' => 1, + 'AM_AUTOMAKE_VERSION' => 1, + 'AC_FUNC_GETMNTENT' => 1, + 'AC_TYPE_MODE_T' => 1, + 'AC_CHECK_HEADERS' => 1, + 'AC_FUNC_STRTOD' => 1, + 'AC_FUNC_STRNLEN' => 1, + 'm4_sinclude' => 1, + 'AC_PROG_CXX' => 1, + 'AC_PATH_X' => 1, + 'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1, + 'AC_PROG_AWK' => 1, + '_m4_warn' => 1, + 'AC_HEADER_STDC' => 1, + 'AC_HEADER_MAJOR' => 1, + 'AC_FUNC_ERROR_AT_LINE' => 1, + 'AC_PROG_GCC_TRADITIONAL' => 1, + 'AC_LIBSOURCE' => 1, + 'AC_FUNC_MBRTOWC' => 1, + 'AC_STRUCT_ST_BLOCKS' => 1, + 'AC_CANONICAL_BUILD' => 1, + 'AC_TYPE_SIGNAL' => 1, + 'AC_TYPE_UID_T' => 1, + 'AC_PROG_MAKE_SET' => 1, + 'AC_CONFIG_AUX_DIR' => 1, + 'm4_pattern_allow' => 1, + 'sinclude' => 1, + 'AC_DEFINE_TRACE_LITERAL' => 1, + 'AC_FUNC_STRERROR_R' => 1, + 'AC_PROG_CC' => 1, + 'AC_FUNC_FORK' => 1, + 'AC_DECL_SYS_SIGLIST' => 1, + 'AU_DEFUN' => 1, + 'AC_FUNC_STRCOLL' => 1, + 'AC_FUNC_VPRINTF' => 1, + 'AC_PROG_YACC' => 1, + 'AC_INIT' => 1, + 'AC_STRUCT_TIMEZONE' => 1, + 'AC_FUNC_CHOWN' => 1, + 'AC_SUBST' => 1, + 'AC_FUNC_ALLOCA' => 1, + 'AC_CANONICAL_HOST' => 1, + 'AC_FUNC_GETPGRP' => 1, + 'AC_PROG_RANLIB' => 1, + 'AM_INIT_AUTOMAKE' => 1, + 'AC_FUNC_SETPGRP' => 1, + 'AC_CONFIG_SUBDIRS' => 1, + 'AC_FUNC_MMAP' => 1, + 'AC_FUNC_REALLOC' => 1, + 'AC_TYPE_SIZE_T' => 1, + 'AC_CONFIG_LINKS' => 1, + 'AC_CHECK_TYPES' => 1, + 'LT_SUPPORTED_TAG' => 1, + 'AC_CHECK_MEMBERS' => 1, + 'AM_MAINTAINER_MODE' => 1, + 'AC_DEFUN_ONCE' => 1, + 'AC_FUNC_UTIME_NULL' => 1, + 'AC_FUNC_SELECT_ARGTYPES' => 1, + 'AC_HEADER_STAT' => 1, + 'AC_FUNC_STRFTIME' => 1, + 'AC_PROG_CPP' => 1, + 'AC_C_INLINE' => 1, + 'AM_ENABLE_MULTILIB' => 1, + 'AC_PROG_LEX' => 1, + 'AC_C_CONST' => 1, + 'AC_TYPE_PID_T' => 1, + 'AC_CONFIG_FILES' => 1, + 'include' => 1, + 'AC_FUNC_SETVBUF_REVERSED' => 1, + 'AC_PROG_INSTALL' => 1, + 'AM_GNU_GETTEXT' => 1, + 'AC_FUNC_OBSTACK' => 1, + 'AC_CHECK_LIB' => 1, + 'AC_FUNC_MALLOC' => 1, + 'AC_FUNC_GETGROUPS' => 1, + 'AC_FUNC_GETLOADAVG' => 1, + 'AH_OUTPUT' => 1, + 'AC_FUNC_FSEEKO' => 1, + 'AM_PROG_CC_C_O' => 1, + 'AC_FUNC_MKTIME' => 1, + 'AC_CANONICAL_SYSTEM' => 1, + 'AM_CONDITIONAL' => 1, + 'AC_CONFIG_HEADERS' => 1, + 'AC_HEADER_SYS_WAIT' => 1, + 'AC_PROG_LN_S' => 1, + 'AC_FUNC_MEMCMP' => 1, + 'm4_include' => 1, + 'AC_HEADER_DIRENT' => 1, + 'AC_CHECK_FUNCS' => 1 + } + ], 'Autom4te::Request' ) + ); + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/traces.0 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/traces.0 new file mode 100755 index 00000000..6a5c04d1 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/autom4te.cache/traces.0 @@ -0,0 +1,191 @@ +m4trace:configure.in:5: -1- AC_INIT([src/g2_device.c]) +m4trace:configure.in:5: -1- m4_pattern_forbid([^_?A[CHUM]_]) +m4trace:configure.in:5: -1- m4_pattern_forbid([_AC_]) +m4trace:configure.in:5: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) +m4trace:configure.in:5: -1- m4_pattern_allow([^AS_FLAGS$]) +m4trace:configure.in:5: -1- m4_pattern_forbid([^_?m4_]) +m4trace:configure.in:5: -1- m4_pattern_forbid([^dnl$]) +m4trace:configure.in:5: -1- m4_pattern_forbid([^_?AS_]) +m4trace:configure.in:5: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}]) +m4trace:configure.in:5: -1- AC_SUBST([PATH_SEPARATOR]) +m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) +m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) +m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) +m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) +m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) +m4trace:configure.in:5: -1- AC_SUBST([exec_prefix], [NONE]) +m4trace:configure.in:5: -1- AC_SUBST([prefix], [NONE]) +m4trace:configure.in:5: -1- AC_SUBST([program_transform_name], [s,x,x,]) +m4trace:configure.in:5: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) +m4trace:configure.in:5: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) +m4trace:configure.in:5: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) +m4trace:configure.in:5: -1- AC_SUBST([datadir], ['${prefix}/share']) +m4trace:configure.in:5: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) +m4trace:configure.in:5: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) +m4trace:configure.in:5: -1- AC_SUBST([localstatedir], ['${prefix}/var']) +m4trace:configure.in:5: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) +m4trace:configure.in:5: -1- AC_SUBST([includedir], ['${prefix}/include']) +m4trace:configure.in:5: -1- AC_SUBST([oldincludedir], ['/usr/include']) +m4trace:configure.in:5: -1- AC_SUBST([infodir], ['${prefix}/info']) +m4trace:configure.in:5: -1- AC_SUBST([mandir], ['${prefix}/man']) +m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) +m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ +#undef PACKAGE_NAME]) +m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) +m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME]) +m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) +m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ +#undef PACKAGE_VERSION]) +m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) +m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING]) +m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) +m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT]) +m4trace:configure.in:5: -1- AC_SUBST([build_alias]) +m4trace:configure.in:5: -1- AC_SUBST([host_alias]) +m4trace:configure.in:5: -1- AC_SUBST([target_alias]) +m4trace:configure.in:5: -1- AC_SUBST([DEFS]) +m4trace:configure.in:5: -1- AC_SUBST([ECHO_C]) +m4trace:configure.in:5: -1- AC_SUBST([ECHO_N]) +m4trace:configure.in:5: -1- AC_SUBST([ECHO_T]) +m4trace:configure.in:5: -1- AC_SUBST([LIBS]) +m4trace:configure.in:14: -1- AC_CANONICAL_HOST +m4trace:configure.in:14: -1- AC_CANONICAL_BUILD +m4trace:configure.in:14: -1- AC_SUBST([build], [$ac_cv_build]) +m4trace:configure.in:14: -1- AC_SUBST([build_cpu], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`]) +m4trace:configure.in:14: -1- AC_SUBST([build_vendor], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`]) +m4trace:configure.in:14: -1- AC_SUBST([build_os], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`]) +m4trace:configure.in:14: -1- AC_SUBST([host], [$ac_cv_host]) +m4trace:configure.in:14: -1- AC_SUBST([host_cpu], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`]) +m4trace:configure.in:14: -1- AC_SUBST([host_vendor], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`]) +m4trace:configure.in:14: -1- AC_SUBST([host_os], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`]) +m4trace:configure.in:21: -1- AC_DEFINE_TRACE_LITERAL([LINUX]) +m4trace:configure.in:27: -1- AC_DEFINE_TRACE_LITERAL([AIX]) +m4trace:configure.in:33: -1- AC_DEFINE_TRACE_LITERAL([OSF]) +m4trace:configure.in:36: -1- AC_DEFINE_TRACE_LITERAL([UNIX]) +m4trace:configure.in:39: -1- AC_SUBST([LD_SHARED]) +m4trace:configure.in:40: -1- AC_SUBST([LD_SHARED_FLAGS]) +m4trace:configure.in:41: -1- AC_SUBST([LD_SHARED_OPT]) +m4trace:configure.in:42: -1- AC_SUBST([LD_SHARED_EXT]) +m4trace:configure.in:47: -1- AC_PROG_CC +m4trace:configure.in:47: -1- AC_SUBST([CC]) +m4trace:configure.in:47: -1- AC_SUBST([CFLAGS]) +m4trace:configure.in:47: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.in:47: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.in:47: -1- AC_SUBST([CC]) +m4trace:configure.in:47: -1- AC_SUBST([ac_ct_CC]) +m4trace:configure.in:47: -1- AC_SUBST([CC]) +m4trace:configure.in:47: -1- AC_SUBST([ac_ct_CC]) +m4trace:configure.in:47: -1- AC_SUBST([CC]) +m4trace:configure.in:47: -1- AC_SUBST([CC]) +m4trace:configure.in:47: -1- AC_SUBST([ac_ct_CC]) +m4trace:configure.in:47: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) +m4trace:configure.in:47: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) +m4trace:configure.in:48: -1- AC_PROG_CPP +m4trace:configure.in:48: -1- AC_SUBST([CPP]) +m4trace:configure.in:48: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.in:48: -1- AC_SUBST([CPP]) +m4trace:configure.in:49: -1- AC_PROG_CXX +m4trace:configure.in:49: -1- AC_SUBST([CXX]) +m4trace:configure.in:49: -1- AC_SUBST([CXXFLAGS]) +m4trace:configure.in:49: -1- AC_SUBST([LDFLAGS]) +m4trace:configure.in:49: -1- AC_SUBST([CPPFLAGS]) +m4trace:configure.in:49: -1- AC_SUBST([CXX]) +m4trace:configure.in:49: -1- AC_SUBST([ac_ct_CXX]) +m4trace:configure.in:50: -1- AC_PROG_RANLIB +m4trace:configure.in:50: -1- AC_SUBST([RANLIB]) +m4trace:configure.in:50: -1- AC_SUBST([ac_ct_RANLIB]) +m4trace:configure.in:51: -1- AC_PROG_INSTALL +m4trace:configure.in:51: -1- AC_SUBST([INSTALL_PROGRAM]) +m4trace:configure.in:51: -1- AC_SUBST([INSTALL_SCRIPT]) +m4trace:configure.in:51: -1- AC_SUBST([INSTALL_DATA]) +m4trace:configure.in:52: -1- AC_SUBST([FIND]) +m4trace:configure.in:53: -1- AC_SUBST([MAKEDEPEND]) +m4trace:configure.in:54: -1- AC_CHECK_LIB([dl], [dlopen], [have_dl=yes], [have_dl=no]) +m4trace:configure.in:61: -1- AC_PATH_X +m4trace:configure.in:61: -1- AC_DEFINE_TRACE_LITERAL([X_DISPLAY_MISSING]) +m4trace:configure.in:61: -1- AH_OUTPUT([X_DISPLAY_MISSING], [/* Define to 1 if the X Window System is missing or not being used. */ +#undef X_DISPLAY_MISSING]) +m4trace:configure.in:61: -1- AC_CHECK_LIB([dnet], [dnet_ntoa], [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"]) +m4trace:configure.in:61: -1- AC_CHECK_LIB([dnet_stub], [dnet_ntoa], [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"]) +m4trace:configure.in:61: -1- AC_CHECK_LIB([nsl], [gethostbyname], [X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"]) +m4trace:configure.in:61: -1- AC_CHECK_LIB([bsd], [gethostbyname], [X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"]) +m4trace:configure.in:61: -1- AC_CHECK_LIB([socket], [connect], [X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"], [], [$X_EXTRA_LIBS]) +m4trace:configure.in:61: -1- AC_CHECK_LIB([posix], [remove], [X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"]) +m4trace:configure.in:61: -1- AC_CHECK_LIB([ipc], [shmat], [X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"]) +m4trace:configure.in:61: -1- AC_CHECK_LIB([ICE], [IceConnectionNumber], [X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"], [], [$X_EXTRA_LIBS]) +m4trace:configure.in:61: -1- AC_SUBST([X_CFLAGS]) +m4trace:configure.in:61: -1- AC_SUBST([X_PRE_LIBS]) +m4trace:configure.in:61: -1- AC_SUBST([X_LIBS]) +m4trace:configure.in:61: -1- AC_SUBST([X_EXTRA_LIBS]) +m4trace:configure.in:76: -2- AC_DEFINE_TRACE_LITERAL([DO_PS]) +m4trace:configure.in:76: -2- AC_DEFINE_TRACE_LITERAL([DO_FIG]) +m4trace:configure.in:76: -1- AC_CHECK_LIB([m], [main], [DO_PS='';DO_FIG='';LDFLAGS="$LDFLAGS -lm";cat >>confdefs.h <<\_ACEOF +@%:@define DO_PS 1 +_ACEOF + cat >>confdefs.h <<\_ACEOF +@%:@define DO_FIG 1 +_ACEOF +], [break]) +m4trace:configure.in:77: -2- AC_DEFINE_TRACE_LITERAL([DO_X11]) +m4trace:configure.in:77: -1- AC_CHECK_LIB([X11], [main], [DO_X11='';LDFLAGS="$LDFLAGS -lX11";cat >>confdefs.h <<\_ACEOF +@%:@define DO_X11 1 +_ACEOF +]) +m4trace:configure.in:78: -1- AC_CHECK_LIB([gd], [main], [have_gd=yes], [have_gd=no]) +m4trace:configure.in:82: -2- AC_DEFINE_TRACE_LITERAL([DO_GD]) +m4trace:configure.in:88: -1- _m4_warn([obsolete], [The macro `AC_CYGWIN' is obsolete. +You should run autoupdate.], [autoconf/specific.m4:363: AC_CYGWIN is expanded from... +configure.in:88: the top level]) +m4trace:configure.in:88: -1- AC_CANONICAL_HOST +m4trace:configure.in:88: -1- _m4_warn([syntax], [AC_CANONICAL_HOST invoked multiple times], [autoconf/specific.m4:363: AC_CYGWIN is expanded from... +configure.in:88: the top level]) +m4trace:configure.in:88: -1- _m4_warn([obsolete], [AC_CYGWIN is obsolete: use AC_CANONICAL_HOST and $host_os], [autoconf/specific.m4:363: AC_CYGWIN is expanded from... +configure.in:88: the top level]) +m4trace:configure.in:92: -2- AC_DEFINE_TRACE_LITERAL([DO_WIN32]) +m4trace:configure.in:92: -1- AC_CHECK_LIB([gdi32], [main], [DO_WIN32='';LDFLAGS="$LDFLAGS -lgdi32";cat >>confdefs.h <<\_ACEOF +@%:@define DO_WIN32 1 +_ACEOF +]) +m4trace:configure.in:93: -1- AC_CHECK_LIB([bgd], [main], [have_bgd=yes], [have_bgd=no]) +m4trace:configure.in:97: -2- AC_DEFINE_TRACE_LITERAL([DO_GD]) +m4trace:configure.in:104: -1- AC_SUBST([DO_PS]) +m4trace:configure.in:105: -1- AC_SUBST([DO_FIG]) +m4trace:configure.in:106: -1- AC_SUBST([DO_X11]) +m4trace:configure.in:107: -1- AC_SUBST([DO_WIN32]) +m4trace:configure.in:108: -1- AC_SUBST([DO_GD]) +m4trace:configure.in:110: -1- AC_HEADER_STDC +m4trace:configure.in:110: -1- AC_SUBST([EGREP]) +m4trace:configure.in:110: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) +m4trace:configure.in:110: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS]) +m4trace:configure.in:111: -1- AC_CHECK_HEADERS([limits.h]) +m4trace:configure.in:111: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_LIMITS_H]) +m4trace:configure.in:111: -1- AC_CHECK_HEADERS([sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h], [], [], [$ac_includes_default]) +m4trace:configure.in:111: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H]) +m4trace:configure.in:111: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H]) +m4trace:configure.in:111: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H]) +m4trace:configure.in:111: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H]) +m4trace:configure.in:111: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H]) +m4trace:configure.in:111: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H]) +m4trace:configure.in:111: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H]) +m4trace:configure.in:111: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H]) +m4trace:configure.in:111: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H]) +m4trace:configure.in:119: -1- AC_CONFIG_FILES([Makefile demo/Makefile g2_perl/Makefile.PL]) +m4trace:configure.in:119: -1- _m4_warn([obsolete], [AC_OUTPUT should be used without arguments. +You should run autoupdate.], []) +m4trace:configure.in:119: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) +m4trace:configure.in:119: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/config.guess b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/config.guess new file mode 100755 index 00000000..6be7a693 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/config.guess @@ -0,0 +1,1450 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +timestamp='2004-08-11' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit 0 ;; + amd64:OpenBSD:*:*) + echo x86_64-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + cats:OpenBSD:*:*) + echo arm-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + luna88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + macppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvmeppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + pmax:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sgi:OpenBSD:*:*) + echo mipseb-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sun3:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + wgrisc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:OpenBSD:*:*) + echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit 0 ;; + macppc:MirBSD:*:*) + echo powerppc-unknown-mirbsd${UNAME_RELEASE} + exit 0 ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit 0 ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit 0 ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit 0 ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit 0 ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit 0;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit 0 ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit 0 ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit 0 ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit 0 ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit 0;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit 0;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit 0 ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit 0 ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit 0 ;; + DRS?6000:UNIX_SV:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7 && exit 0 ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit 0 ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit 0 ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit 0 ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit 0 ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit 0 ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit 0 ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit 0 ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit 0 ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit 0 ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit 0 ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit 0 ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c \ + && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && exit 0 + echo mips-mips-riscos${UNAME_RELEASE} + exit 0 ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit 0 ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit 0 ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit 0 ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit 0 ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit 0 ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit 0 ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit 0 ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit 0 ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit 0 ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit 0 ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit 0 ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit 0 ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 + echo rs6000-ibm-aix3.2.5 + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit 0 ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit 0 ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit 0 ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit 0 ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit 0 ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit 0 ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit 0 ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit 0 ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + # avoid double evaluation of $set_cc_for_build + test -n "$CC_FOR_BUILD" || eval $set_cc_for_build + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit 0 ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit 0 ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 + echo unknown-hitachi-hiuxwe2 + exit 0 ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit 0 ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit 0 ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit 0 ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit 0 ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit 0 ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit 0 ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit 0 ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit 0 ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit 0 ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit 0 ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit 0 ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit 0 ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit 0 ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit 0 ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:FreeBSD:*:*) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit 0 ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit 0 ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit 0 ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit 0 ;; + x86:Interix*:[34]*) + echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' + exit 0 ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit 0 ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit 0 ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit 0 ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit 0 ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit 0 ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit 0 ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit 0 ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit 0 ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit 0 ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit 0 ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit 0 ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit 0 ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit 0 ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit 0 ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit 0 ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit 0 ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit 0 ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit 0 ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #ifdef __INTEL_COMPILER + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 + test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit 0 ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit 0 ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit 0 ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit 0 ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit 0 ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit 0 ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit 0 ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit 0 ;; + i*86:*:5:[78]*) + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit 0 ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit 0 ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit 0 ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit 0 ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit 0 ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit 0 ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit 0 ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit 0 ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit 0 ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4.3${OS_REL} && exit 0 + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4 && exit 0 ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit 0 ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit 0 ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit 0 ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit 0 ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit 0 ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit 0 ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit 0 ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit 0 ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit 0 ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit 0 ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit 0 ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit 0 ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit 0 ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit 0 ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + *86) UNAME_PROCESSOR=i686 ;; + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit 0 ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit 0 ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit 0 ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit 0 ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit 0 ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit 0 ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit 0 ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit 0 ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit 0 ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit 0 ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit 0 ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit 0 ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit 0 ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit 0 ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit 0 ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit 0 ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms && exit 0 ;; + I*) echo ia64-dec-vms && exit 0 ;; + V*) echo vax-dec-vms && exit 0 ;; + esac +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit 0 ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + c34*) + echo c34-convex-bsd + exit 0 ;; + c38*) + echo c38-convex-bsd + exit 0 ;; + c4*) + echo c4-convex-bsd + exit 0 ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/config.log b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/config.log new file mode 100755 index 00000000..239d398b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/config.log @@ -0,0 +1,664 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by configure, which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ ./configure --prefix=/usr/local --prefix=/usr/local --cache-file=/dev/null --srcdir=. --cache-file=/dev/null --srcdir=. + +## --------- ## +## Platform. ## +## --------- ## + +hostname = mcluster02 +uname -m = x86_64 +uname -r = 2.6.9-34.ELsmp +uname -s = Linux +uname -v = #1 SMP Fri Feb 24 16:56:28 EST 2006 + +/usr/bin/uname -p = unknown +/bin/uname -X = unknown + +/bin/arch = x86_64 +/usr/bin/arch -k = unknown +/usr/convex/getsysinfo = unknown +hostinfo = unknown +/bin/machine = unknown +/usr/bin/oslevel = unknown +/bin/universe = unknown + +PATH: /storage/appl/n1ge6u7/bin/lx24-amd64 +PATH: /opt/sun/n1gc/bin +PATH: /usr/local/bin +PATH: /bin +PATH: /usr/bin +PATH: /opt/c3-4/ +PATH: /usr/X11R6/bin +PATH: /usr/local/bin +PATH: /usr/local/bin/X11R5 +PATH: /usr/local/X11R5/bin +PATH: /usr/X11R6/bin +PATH: /home/rabani/Develop/perl/GeneXPress +PATH: /home/rabani/Develop/perl/Genome +PATH: /home/rabani/Develop/perl/Lib +PATH: /home/rabani/Develop/perl/Parsers +PATH: /home/rabani/Develop/perl/RNA +PATH: /home/rabani/Develop/perl/Sequence +PATH: /home/rabani/Develop/perl/System +PATH: /home/rabani/Develop/perl/Web +PATH: /home/rabani/Develop/perl/Web/DataDir +PATH: /home/rabani/Develop/genie_release64/Programs +PATH: /storage/appl/matlab14.3/bin +PATH: /home/rabani + + +## ----------- ## +## Core tests. ## +## ----------- ## + +configure:1349: checking build system type +configure:1367: result: x86_64-unknown-linux-gnu +configure:1375: checking host system type +configure:1389: result: x86_64-unknown-linux-gnu +configure:1487: checking for gcc +configure:1503: found /usr/bin/gcc +configure:1513: result: gcc +configure:1757: checking for C compiler version +configure:1760: gcc --version &5 +gcc (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2) +Copyright (C) 2004 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:1763: $? = 0 +configure:1765: gcc -v &5 +Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.5/specs +Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=x86_64-redhat-linux +Thread model: posix +gcc version 3.4.5 20051201 (Red Hat 3.4.5-2) +configure:1768: $? = 0 +configure:1770: gcc -V &5 +gcc: `-V' option must have argument +configure:1773: $? = 1 +configure:1796: checking for C compiler default output file name +configure:1799: gcc conftest.c >&5 +configure:1802: $? = 0 +configure:1848: result: a.out +configure:1853: checking whether the C compiler works +configure:1859: ./a.out +configure:1862: $? = 0 +configure:1879: result: yes +configure:1886: checking whether we are cross compiling +configure:1888: result: no +configure:1891: checking for suffix of executables +configure:1893: gcc -o conftest conftest.c >&5 +configure:1896: $? = 0 +configure:1921: result: +configure:1927: checking for suffix of object files +configure:1948: gcc -c conftest.c >&5 +configure:1951: $? = 0 +configure:1973: result: o +configure:1977: checking whether we are using the GNU C compiler +configure:2001: gcc -c conftest.c >&5 +configure:2007: $? = 0 +configure:2011: test -z + || test ! -s conftest.err +configure:2014: $? = 0 +configure:2017: test -s conftest.o +configure:2020: $? = 0 +configure:2033: result: yes +configure:2039: checking whether gcc accepts -g +configure:2060: gcc -c -g conftest.c >&5 +configure:2066: $? = 0 +configure:2070: test -z + || test ! -s conftest.err +configure:2073: $? = 0 +configure:2076: test -s conftest.o +configure:2079: $? = 0 +configure:2090: result: yes +configure:2107: checking for gcc option to accept ANSI C +configure:2177: gcc -c -g -O2 conftest.c >&5 +configure:2183: $? = 0 +configure:2187: test -z + || test ! -s conftest.err +configure:2190: $? = 0 +configure:2193: test -s conftest.o +configure:2196: $? = 0 +configure:2214: result: none needed +configure:2232: gcc -c -g -O2 conftest.c >&5 +conftest.c:2: error: syntax error before "me" +configure:2238: $? = 1 +configure: failed program was: +| #ifndef __cplusplus +| choke me +| #endif +configure:2376: checking how to run the C preprocessor +configure:2411: gcc -E conftest.c +configure:2417: $? = 0 +configure:2449: gcc -E conftest.c +conftest.c:10:28: ac_nonexistent.h: No such file or directory +configure:2455: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define LINUX 1 +| /* end confdefs.h. */ +| #include +configure:2494: result: gcc -E +configure:2518: gcc -E conftest.c +configure:2524: $? = 0 +configure:2556: gcc -E conftest.c +conftest.c:10:28: ac_nonexistent.h: No such file or directory +configure:2562: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define LINUX 1 +| /* end confdefs.h. */ +| #include +configure:2657: checking for g++ +configure:2673: found /usr/bin/g++ +configure:2683: result: g++ +configure:2699: checking for C++ compiler version +configure:2702: g++ --version &5 +g++ (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2) +Copyright (C) 2004 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:2705: $? = 0 +configure:2707: g++ -v &5 +Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.5/specs +Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=x86_64-redhat-linux +Thread model: posix +gcc version 3.4.5 20051201 (Red Hat 3.4.5-2) +configure:2710: $? = 0 +configure:2712: g++ -V &5 +g++: `-V' option must have argument +configure:2715: $? = 1 +configure:2718: checking whether we are using the GNU C++ compiler +configure:2742: g++ -c conftest.cc >&5 +configure:2748: $? = 0 +configure:2752: test -z + || test ! -s conftest.err +configure:2755: $? = 0 +configure:2758: test -s conftest.o +configure:2761: $? = 0 +configure:2774: result: yes +configure:2780: checking whether g++ accepts -g +configure:2801: g++ -c -g conftest.cc >&5 +configure:2807: $? = 0 +configure:2811: test -z + || test ! -s conftest.err +configure:2814: $? = 0 +configure:2817: test -s conftest.o +configure:2820: $? = 0 +configure:2831: result: yes +configure:2873: g++ -c -g -O2 conftest.cc >&5 +configure:2879: $? = 0 +configure:2883: test -z + || test ! -s conftest.err +configure:2886: $? = 0 +configure:2889: test -s conftest.o +configure:2892: $? = 0 +configure:2918: g++ -c -g -O2 conftest.cc >&5 +conftest.cc: In function `int main()': +conftest.cc:14: error: `exit' was not declared in this scope +configure:2924: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "" +| #define PACKAGE_TARNAME "" +| #define PACKAGE_VERSION "" +| #define PACKAGE_STRING "" +| #define PACKAGE_BUGREPORT "" +| #define LINUX 1 +| /* end confdefs.h. */ +| +| int +| main () +| { +| exit (42); +| ; +| return 0; +| } +configure:2873: g++ -c -g -O2 conftest.cc >&5 +configure:2879: $? = 0 +configure:2883: test -z + || test ! -s conftest.err +configure:2886: $? = 0 +configure:2889: test -s conftest.o +configure:2892: $? = 0 +configure:2918: g++ -c -g -O2 conftest.cc >&5 +configure:2924: $? = 0 +configure:2928: test -z + || test ! -s conftest.err +configure:2931: $? = 0 +configure:2934: test -s conftest.o +configure:2937: $? = 0 +configure:3001: checking for ranlib +configure:3017: found /usr/bin/ranlib +configure:3028: result: ranlib +configure:3053: checking for a BSD-compatible install +configure:3108: result: /usr/bin/install -c +configure:3121: checking for find +configure:3137: found /usr/bin/find +configure:3148: result: find +configure:3157: checking for makedepend +configure:3173: found /usr/X11R6/bin/makedepend +configure:3184: result: makedepend +configure:3192: checking for dlopen in -ldl +configure:3222: gcc -o conftest -g -O2 conftest.c -ldl >&5 +configure:3228: $? = 0 +configure:3232: test -z + || test ! -s conftest.err +configure:3235: $? = 0 +configure:3238: test -s conftest +configure:3241: $? = 0 +configure:3254: result: yes +configure:3269: checking for X +configure:3499: result: libraries /usr/X11R6/lib64, headers /usr/X11R6/include +configure:3671: gcc -o conftest -g -O2 conftest.c -L/usr/X11R6/lib64 -lX11 >&5 +configure:3677: $? = 0 +configure:3681: test -z + || test ! -s conftest.err +configure:3684: $? = 0 +configure:3687: test -s conftest +configure:3690: $? = 0 +configure:3848: checking for gethostbyname +configure:3905: gcc -o conftest -g -O2 conftest.c >&5 +configure:3911: $? = 0 +configure:3915: test -z + || test ! -s conftest.err +configure:3918: $? = 0 +configure:3921: test -s conftest +configure:3924: $? = 0 +configure:3936: result: yes +configure:4087: checking for connect +configure:4144: gcc -o conftest -g -O2 conftest.c >&5 +configure:4150: $? = 0 +configure:4154: test -z + || test ! -s conftest.err +configure:4157: $? = 0 +configure:4160: test -s conftest +configure:4163: $? = 0 +configure:4175: result: yes +configure:4250: checking for remove +configure:4307: gcc -o conftest -g -O2 conftest.c >&5 +configure:4313: $? = 0 +configure:4317: test -z + || test ! -s conftest.err +configure:4320: $? = 0 +configure:4323: test -s conftest +configure:4326: $? = 0 +configure:4338: result: yes +configure:4413: checking for shmat +configure:4470: gcc -o conftest -g -O2 conftest.c >&5 +configure:4476: $? = 0 +configure:4480: test -z + || test ! -s conftest.err +configure:4483: $? = 0 +configure:4486: test -s conftest +configure:4489: $? = 0 +configure:4501: result: yes +configure:4585: checking for IceConnectionNumber in -lICE +configure:4615: gcc -o conftest -g -O2 -L/usr/X11R6/lib64 conftest.c -lICE >&5 +configure:4621: $? = 0 +configure:4625: test -z + || test ! -s conftest.err +configure:4628: $? = 0 +configure:4631: test -s conftest +configure:4634: $? = 0 +configure:4647: result: yes +configure:4671: checking for main in -lm +configure:4695: gcc -o conftest -g -O2 -I/usr/X11R6/include -I/usr/local/include -L/usr/X11R6/lib64 -L/usr/local/lib conftest.c -lm >&5 +configure:4701: $? = 0 +configure:4705: test -z + || test ! -s conftest.err +configure:4708: $? = 0 +configure:4711: test -s conftest +configure:4714: $? = 0 +configure:4727: result: yes +configure:4741: checking for main in -lX11 +configure:4765: gcc -o conftest -g -O2 -I/usr/X11R6/include -I/usr/local/include -L/usr/X11R6/lib64 -L/usr/local/lib -lm conftest.c -lX11 >&5 +configure:4771: $? = 0 +configure:4775: test -z + || test ! -s conftest.err +configure:4778: $? = 0 +configure:4781: test -s conftest +configure:4784: $? = 0 +configure:4797: result: yes +configure:4806: checking for main in -lgd +configure:4830: gcc -o conftest -g -O2 -I/usr/X11R6/include -I/usr/local/include -L/usr/X11R6/lib64 -L/usr/local/lib -lm -lX11 conftest.c -lgd >&5 +configure:4836: $? = 0 +configure:4840: test -z + || test ! -s conftest.err +configure:4843: $? = 0 +configure:4846: test -s conftest +configure:4849: $? = 0 +configure:4862: result: yes +configure:4873: checking for gdImagePng +configure:4930: gcc -o conftest -g -O2 -I/usr/X11R6/include -I/usr/local/include -L/usr/X11R6/lib64 -L/usr/local/lib -lm -lX11 -lgd conftest.c >&5 +configure:4936: $? = 0 +configure:4940: test -z + || test ! -s conftest.err +configure:4943: $? = 0 +configure:4946: test -s conftest +configure:4949: $? = 0 +configure:4961: result: yes +configure:5225: checking for egrep +configure:5235: result: grep -E +configure:5240: checking for ANSI C header files +configure:5265: gcc -c -g -O2 -I/usr/X11R6/include -I/usr/local/include conftest.c >&5 +configure:5271: $? = 0 +configure:5275: test -z + || test ! -s conftest.err +configure:5278: $? = 0 +configure:5281: test -s conftest.o +configure:5284: $? = 0 +configure:5373: gcc -o conftest -g -O2 -I/usr/X11R6/include -I/usr/local/include -L/usr/X11R6/lib64 -L/usr/local/lib -lm -lX11 -lgd conftest.c >&5 +configure:5376: $? = 0 +configure:5378: ./conftest +configure:5381: $? = 0 +configure:5396: result: yes +configure:5420: checking for sys/types.h +configure:5436: gcc -c -g -O2 -I/usr/X11R6/include -I/usr/local/include conftest.c >&5 +configure:5442: $? = 0 +configure:5446: test -z + || test ! -s conftest.err +configure:5449: $? = 0 +configure:5452: test -s conftest.o +configure:5455: $? = 0 +configure:5466: result: yes +configure:5420: checking for sys/stat.h +configure:5436: gcc -c -g -O2 -I/usr/X11R6/include -I/usr/local/include conftest.c >&5 +configure:5442: $? = 0 +configure:5446: test -z + || test ! -s conftest.err +configure:5449: $? = 0 +configure:5452: test -s conftest.o +configure:5455: $? = 0 +configure:5466: result: yes +configure:5420: checking for stdlib.h +configure:5436: gcc -c -g -O2 -I/usr/X11R6/include -I/usr/local/include conftest.c >&5 +configure:5442: $? = 0 +configure:5446: test -z + || test ! -s conftest.err +configure:5449: $? = 0 +configure:5452: test -s conftest.o +configure:5455: $? = 0 +configure:5466: result: yes +configure:5420: checking for string.h +configure:5436: gcc -c -g -O2 -I/usr/X11R6/include -I/usr/local/include conftest.c >&5 +configure:5442: $? = 0 +configure:5446: test -z + || test ! -s conftest.err +configure:5449: $? = 0 +configure:5452: test -s conftest.o +configure:5455: $? = 0 +configure:5466: result: yes +configure:5420: checking for memory.h +configure:5436: gcc -c -g -O2 -I/usr/X11R6/include -I/usr/local/include conftest.c >&5 +configure:5442: $? = 0 +configure:5446: test -z + || test ! -s conftest.err +configure:5449: $? = 0 +configure:5452: test -s conftest.o +configure:5455: $? = 0 +configure:5466: result: yes +configure:5420: checking for strings.h +configure:5436: gcc -c -g -O2 -I/usr/X11R6/include -I/usr/local/include conftest.c >&5 +configure:5442: $? = 0 +configure:5446: test -z + || test ! -s conftest.err +configure:5449: $? = 0 +configure:5452: test -s conftest.o +configure:5455: $? = 0 +configure:5466: result: yes +configure:5420: checking for inttypes.h +configure:5436: gcc -c -g -O2 -I/usr/X11R6/include -I/usr/local/include conftest.c >&5 +configure:5442: $? = 0 +configure:5446: test -z + || test ! -s conftest.err +configure:5449: $? = 0 +configure:5452: test -s conftest.o +configure:5455: $? = 0 +configure:5466: result: yes +configure:5420: checking for stdint.h +configure:5436: gcc -c -g -O2 -I/usr/X11R6/include -I/usr/local/include conftest.c >&5 +configure:5442: $? = 0 +configure:5446: test -z + || test ! -s conftest.err +configure:5449: $? = 0 +configure:5452: test -s conftest.o +configure:5455: $? = 0 +configure:5466: result: yes +configure:5420: checking for unistd.h +configure:5436: gcc -c -g -O2 -I/usr/X11R6/include -I/usr/local/include conftest.c >&5 +configure:5442: $? = 0 +configure:5446: test -z + || test ! -s conftest.err +configure:5449: $? = 0 +configure:5452: test -s conftest.o +configure:5455: $? = 0 +configure:5466: result: yes +configure:5492: checking limits.h usability +configure:5504: gcc -c -g -O2 -I/usr/X11R6/include -I/usr/local/include conftest.c >&5 +configure:5510: $? = 0 +configure:5514: test -z + || test ! -s conftest.err +configure:5517: $? = 0 +configure:5520: test -s conftest.o +configure:5523: $? = 0 +configure:5533: result: yes +configure:5537: checking limits.h presence +configure:5547: gcc -E conftest.c +configure:5553: $? = 0 +configure:5573: result: yes +configure:5608: checking for limits.h +configure:5615: result: yes +configure:5762: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by config.status, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on mcluster02 + +config.status:671: creating Makefile +config.status:671: creating demo/Makefile +config.status:671: creating g2_perl/Makefile.PL + +## ---------------- ## +## Cache variables. ## +## ---------------- ## + +ac_cv_build=x86_64-unknown-linux-gnu +ac_cv_build_alias=x86_64-unknown-linux-gnu +ac_cv_c_compiler_gnu=yes +ac_cv_cxx_compiler_gnu=yes +ac_cv_env_CC_set= +ac_cv_env_CC_value= +ac_cv_env_CFLAGS_set= +ac_cv_env_CFLAGS_value= +ac_cv_env_CPPFLAGS_set= +ac_cv_env_CPPFLAGS_value= +ac_cv_env_CPP_set= +ac_cv_env_CPP_value= +ac_cv_env_CXXFLAGS_set= +ac_cv_env_CXXFLAGS_value= +ac_cv_env_CXX_set= +ac_cv_env_CXX_value= +ac_cv_env_LDFLAGS_set= +ac_cv_env_LDFLAGS_value= +ac_cv_env_build_alias_set= +ac_cv_env_build_alias_value= +ac_cv_env_host_alias_set= +ac_cv_env_host_alias_value= +ac_cv_env_target_alias_set= +ac_cv_env_target_alias_value= +ac_cv_exeext= +ac_cv_func_connect=yes +ac_cv_func_gdImagePng=yes +ac_cv_func_gethostbyname=yes +ac_cv_func_remove=yes +ac_cv_func_shmat=yes +ac_cv_have_x='have_x=yes ac_x_includes=/usr/X11R6/include ac_x_libraries=/usr/X11R6/lib64' +ac_cv_header_inttypes_h=yes +ac_cv_header_limits_h=yes +ac_cv_header_memory_h=yes +ac_cv_header_stdc=yes +ac_cv_header_stdint_h=yes +ac_cv_header_stdlib_h=yes +ac_cv_header_string_h=yes +ac_cv_header_strings_h=yes +ac_cv_header_sys_stat_h=yes +ac_cv_header_sys_types_h=yes +ac_cv_header_unistd_h=yes +ac_cv_host=x86_64-unknown-linux-gnu +ac_cv_host_alias=x86_64-unknown-linux-gnu +ac_cv_lib_ICE_IceConnectionNumber=yes +ac_cv_lib_X11_main=yes +ac_cv_lib_dl_dlopen=yes +ac_cv_lib_gd_main=yes +ac_cv_lib_m_main=yes +ac_cv_objext=o +ac_cv_path_install='/usr/bin/install -c' +ac_cv_prog_CPP='gcc -E' +ac_cv_prog_FIND=find +ac_cv_prog_MAKEDEPEND=makedepend +ac_cv_prog_ac_ct_CC=gcc +ac_cv_prog_ac_ct_CXX=g++ +ac_cv_prog_ac_ct_RANLIB=ranlib +ac_cv_prog_cc_g=yes +ac_cv_prog_cc_stdc= +ac_cv_prog_cxx_g=yes +ac_cv_prog_egrep='grep -E' + +## ----------------- ## +## Output variables. ## +## ----------------- ## + +CC='gcc' +CFLAGS='-g -O2 -I/usr/X11R6/include -I/usr/local/include' +CPP='gcc -E' +CPPFLAGS='' +CXX='g++' +CXXFLAGS='-g -O2' +DEFS='-DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DLINUX=1 -DDO_PS=1 -DDO_FIG=1 -DDO_X11=1 -DDO_GD=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 ' +DO_FIG='' +DO_GD='' +DO_PS='' +DO_WIN32='#' +DO_X11='' +ECHO_C='' +ECHO_N='-n' +ECHO_T='' +EGREP='grep -E' +EXEEXT='' +FIND='find' +INSTALL_DATA='${INSTALL} -m 644' +INSTALL_PROGRAM='${INSTALL}' +INSTALL_SCRIPT='${INSTALL}' +LDFLAGS=' -L/usr/X11R6/lib64 -L/usr/local/lib -lm -lX11 -lgd' +LD_SHARED='ld' +LD_SHARED_EXT='so.0.$(G2_VERSION)' +LD_SHARED_FLAGS='-shared -soname libg2.so.0' +LD_SHARED_OPT='' +LIBOBJS='' +LIBS='' +LTLIBOBJS='' +MAKEDEPEND='makedepend' +OBJEXT='o' +PACKAGE_BUGREPORT='' +PACKAGE_NAME='' +PACKAGE_STRING='' +PACKAGE_TARNAME='' +PACKAGE_VERSION='' +PATH_SEPARATOR=':' +RANLIB='ranlib' +SHELL='/bin/sh' +X_CFLAGS=' -I/usr/X11R6/include' +X_EXTRA_LIBS='' +X_LIBS=' -L/usr/X11R6/lib64' +X_PRE_LIBS=' -lSM -lICE' +ac_ct_CC='gcc' +ac_ct_CXX='g++' +ac_ct_RANLIB='ranlib' +bindir='${exec_prefix}/bin' +build='x86_64-unknown-linux-gnu' +build_alias='' +build_cpu='x86_64' +build_os='linux-gnu' +build_vendor='unknown' +datadir='${prefix}/share' +exec_prefix='${prefix}' +host='x86_64-unknown-linux-gnu' +host_alias='' +host_cpu='x86_64' +host_os='linux-gnu' +host_vendor='unknown' +includedir='${prefix}/include' +infodir='${prefix}/info' +libdir='${exec_prefix}/lib' +libexecdir='${exec_prefix}/libexec' +localstatedir='${prefix}/var' +mandir='${prefix}/man' +oldincludedir='/usr/include' +prefix='/usr/local' +program_transform_name='s,x,x,' +sbindir='${exec_prefix}/sbin' +sharedstatedir='${prefix}/com' +sysconfdir='${prefix}/etc' +target_alias='' + +## ----------- ## +## confdefs.h. ## +## ----------- ## + +#define DO_FIG 1 +#define DO_GD 1 +#define DO_PS 1 +#define DO_X11 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_UNISTD_H 1 +#define LINUX 1 +#define PACKAGE_BUGREPORT "" +#define PACKAGE_NAME "" +#define PACKAGE_STRING "" +#define PACKAGE_TARNAME "" +#define PACKAGE_VERSION "" +#define STDC_HEADERS 1 +#endif +#ifdef __cplusplus +extern "C" void std::exit (int) throw (); using std::exit; + +configure: exit 0 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/config.status b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/config.status new file mode 100755 index 00000000..6bd9c103 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/config.status @@ -0,0 +1,745 @@ +#! /bin/sh +# Generated by configure. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=${CONFIG_SHELL-/bin/sh} +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by $as_me, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +config_files=" Makefile demo/Makefile g2_perl/Makefile.PL" + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + +Configuration files: +$config_files + +Report bugs to ." +ac_cs_version="\ +config.status +configured by ./configure, generated by GNU Autoconf 2.59, + with options \"'--prefix=/usr/local' '--cache-file=/dev/null' '--srcdir=.'\" + +Copyright (C) 2003 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=. +INSTALL="/usr/bin/install -c" +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +if $ac_cs_recheck; then + echo "running /bin/sh ./configure " '--prefix=/usr/local' '--cache-file=/dev/null' '--srcdir=.' $ac_configure_extra_args " --no-create --no-recursion" >&6 + exec /bin/sh ./configure '--prefix=/usr/local' '--cache-file=/dev/null' '--srcdir=.' $ac_configure_extra_args --no-create --no-recursion +fi + +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "demo/Makefile" ) CONFIG_FILES="$CONFIG_FILES demo/Makefile" ;; + "g2_perl/Makefile.PL" ) CONFIG_FILES="$CONFIG_FILES g2_perl/Makefile.PL" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF +s,@SHELL@,/bin/sh,;t t +s,@PATH_SEPARATOR@,:,;t t +s,@PACKAGE_NAME@,,;t t +s,@PACKAGE_TARNAME@,,;t t +s,@PACKAGE_VERSION@,,;t t +s,@PACKAGE_STRING@,,;t t +s,@PACKAGE_BUGREPORT@,,;t t +s,@exec_prefix@,${prefix},;t t +s,@prefix@,/usr/local,;t t +s,@program_transform_name@,s,x,x,,;t t +s,@bindir@,${exec_prefix}/bin,;t t +s,@sbindir@,${exec_prefix}/sbin,;t t +s,@libexecdir@,${exec_prefix}/libexec,;t t +s,@datadir@,${prefix}/share,;t t +s,@sysconfdir@,${prefix}/etc,;t t +s,@sharedstatedir@,${prefix}/com,;t t +s,@localstatedir@,${prefix}/var,;t t +s,@libdir@,${exec_prefix}/lib,;t t +s,@includedir@,${prefix}/include,;t t +s,@oldincludedir@,/usr/include,;t t +s,@infodir@,${prefix}/info,;t t +s,@mandir@,${prefix}/man,;t t +s,@build_alias@,,;t t +s,@host_alias@,,;t t +s,@target_alias@,,;t t +s,@DEFS@,-DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DLINUX=1 -DDO_PS=1 -DDO_FIG=1 -DDO_X11=1 -DDO_GD=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 ,;t t +s,@ECHO_C@,,;t t +s,@ECHO_N@,-n,;t t +s,@ECHO_T@,,;t t +s,@LIBS@,,;t t +s,@build@,x86_64-unknown-linux-gnu,;t t +s,@build_cpu@,x86_64,;t t +s,@build_vendor@,unknown,;t t +s,@build_os@,linux-gnu,;t t +s,@host@,x86_64-unknown-linux-gnu,;t t +s,@host_cpu@,x86_64,;t t +s,@host_vendor@,unknown,;t t +s,@host_os@,linux-gnu,;t t +s,@LD_SHARED@,ld,;t t +s,@LD_SHARED_FLAGS@,-shared -soname libg2.so.0,;t t +s,@LD_SHARED_OPT@,,;t t +s,@LD_SHARED_EXT@,so.0.$(G2_VERSION),;t t +s,@CC@,gcc,;t t +s,@CFLAGS@,-g -O2 -I/usr/X11R6/include -I/usr/local/include,;t t +s,@LDFLAGS@, -L/usr/X11R6/lib64 -L/usr/local/lib -lm -lX11 -lgd,;t t +s,@CPPFLAGS@,,;t t +s,@ac_ct_CC@,gcc,;t t +s,@EXEEXT@,,;t t +s,@OBJEXT@,o,;t t +s,@CPP@,gcc -E,;t t +s,@CXX@,g++,;t t +s,@CXXFLAGS@,-g -O2,;t t +s,@ac_ct_CXX@,g++,;t t +s,@RANLIB@,ranlib,;t t +s,@ac_ct_RANLIB@,ranlib,;t t +s,@INSTALL_PROGRAM@,${INSTALL},;t t +s,@INSTALL_SCRIPT@,${INSTALL},;t t +s,@INSTALL_DATA@,${INSTALL} -m 644,;t t +s,@FIND@,find,;t t +s,@MAKEDEPEND@,makedepend,;t t +s,@X_CFLAGS@, -I/usr/X11R6/include,;t t +s,@X_PRE_LIBS@, -lSM -lICE,;t t +s,@X_LIBS@, -L/usr/X11R6/lib64,;t t +s,@X_EXTRA_LIBS@,,;t t +s,@DO_PS@,,;t t +s,@DO_FIG@,,;t t +s,@DO_X11@,,;t t +s,@DO_WIN32@,#,;t t +s,@DO_GD@,,;t t +s,@EGREP@,grep -E,;t t +s,@LIBOBJS@,,;t t +s,@LTLIBOBJS@,,;t t +CEOF + + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + sed "/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +} + +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done + +{ (exit 0); exit 0; } diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/config.sub b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/config.sub new file mode 100755 index 00000000..ac6de986 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/config.sub @@ -0,0 +1,1552 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +timestamp='2004-06-24' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit 0;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ + kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32r | m32rle | m68000 | m68k | m88k | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | msp430 \ + | ns16k | ns32k \ + | openrisc | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ + | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xscale | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* \ + | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | msp430-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ + | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + or32 | or32-*) + basic_machine=or32-unknown + os=-coff + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/configure b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/configure new file mode 100755 index 00000000..fd4d1d5b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/configure @@ -0,0 +1,6602 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.59. +# +# Copyright (C) 2003 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +exec 6>&1 + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_config_libobj_dir=. +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Maximum number of lines to put in a shell here document. +# This variable seems obsolete. It should probably be removed, and +# only ac_max_sed_lines should be used. +: ${ac_max_here_lines=38} + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= + +ac_unique_file="src/g2_device.c" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif +#if HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os LD_SHARED LD_SHARED_FLAGS LD_SHARED_OPT LD_SHARED_EXT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP CXX CXXFLAGS ac_ct_CXX RANLIB ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA FIND MAKEDEPEND X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS DO_PS DO_FIG DO_X11 DO_WIN32 DO_GD EGREP LIBOBJS LTLIBOBJS' +ac_subst_files='' + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +ac_prev= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_option in + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + eval "enable_$ac_feature=no" ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "enable_$ac_feature='$ac_optarg'" ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package| sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "with_$ac_package='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/-/_/g'` + eval "with_$ac_package=no" ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + eval "$ac_envvar='$ac_optarg'" + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute paths. +for ac_var in exec_prefix prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# Be sure to have absolute paths. +for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ + localstatedir libdir includedir oldincludedir infodir mandir +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then its parent. + ac_confdir=`(dirname "$0") 2>/dev/null || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r $srcdir/$ac_unique_file; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { (exit 1); exit 1; }; } + else + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } + fi +fi +(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || + { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 + { (exit 1); exit 1; }; } +srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +ac_env_build_alias_set=${build_alias+set} +ac_env_build_alias_value=$build_alias +ac_cv_env_build_alias_set=${build_alias+set} +ac_cv_env_build_alias_value=$build_alias +ac_env_host_alias_set=${host_alias+set} +ac_env_host_alias_value=$host_alias +ac_cv_env_host_alias_set=${host_alias+set} +ac_cv_env_host_alias_value=$host_alias +ac_env_target_alias_set=${target_alias+set} +ac_env_target_alias_value=$target_alias +ac_cv_env_target_alias_set=${target_alias+set} +ac_cv_env_target_alias_value=$target_alias +ac_env_CC_set=${CC+set} +ac_env_CC_value=$CC +ac_cv_env_CC_set=${CC+set} +ac_cv_env_CC_value=$CC +ac_env_CFLAGS_set=${CFLAGS+set} +ac_env_CFLAGS_value=$CFLAGS +ac_cv_env_CFLAGS_set=${CFLAGS+set} +ac_cv_env_CFLAGS_value=$CFLAGS +ac_env_LDFLAGS_set=${LDFLAGS+set} +ac_env_LDFLAGS_value=$LDFLAGS +ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +ac_cv_env_LDFLAGS_value=$LDFLAGS +ac_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_env_CPPFLAGS_value=$CPPFLAGS +ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_cv_env_CPPFLAGS_value=$CPPFLAGS +ac_env_CPP_set=${CPP+set} +ac_env_CPP_value=$CPP +ac_cv_env_CPP_set=${CPP+set} +ac_cv_env_CPP_value=$CPP +ac_env_CXX_set=${CXX+set} +ac_env_CXX_value=$CXX +ac_cv_env_CXX_set=${CXX+set} +ac_cv_env_CXX_value=$CXX +ac_env_CXXFLAGS_set=${CXXFLAGS+set} +ac_env_CXXFLAGS_value=$CXXFLAGS +ac_cv_env_CXXFLAGS_set=${CXXFLAGS+set} +ac_cv_env_CXXFLAGS_value=$CXXFLAGS + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures this package to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +_ACEOF + + cat <<_ACEOF +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data [PREFIX/share] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] +_ACEOF + + cat <<\_ACEOF + +X features: + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-x use the X Window System + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have + headers in a nonstandard directory + CPP C preprocessor + CXX C++ compiler command + CXXFLAGS C++ compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +_ACEOF +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + ac_popdir=`pwd` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d $ac_dir || continue + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + cd $ac_dir + # Check for guested configure; otherwise get Cygnus style configure. + if test -f $ac_srcdir/configure.gnu; then + echo + $SHELL $ac_srcdir/configure.gnu --help=recursive + elif test -f $ac_srcdir/configure; then + echo + $SHELL $ac_srcdir/configure --help=recursive + elif test -f $ac_srcdir/configure.ac || + test -f $ac_srcdir/configure.in; then + echo + $ac_configure --help + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi + cd $ac_popdir + done +fi + +test -n "$ac_init_help" && exit 0 +if $ac_init_version; then + cat <<\_ACEOF + +Copyright (C) 2003 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit 0 +fi +exec 5>config.log +cat >&5 <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ $0 $@ + +_ACEOF +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +hostinfo = `(hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_sep= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" + # Get rid of the leading space. + ac_sep=" " + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Be sure not to use single quotes in there, as some shells, +# such as our DU 5.0 friend, will then `close' the trap. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +{ + (set) 2>&1 | + case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in + *ac_space=\ *) + sed -n \ + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + ;; + *) + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------- ## +## Output files. ## +## ------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + sed "/^$/d" confdefs.h | sort + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core && + rm -rf conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status + ' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo >confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . $cache_file;; + *) . ./$cache_file;; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in `(set) 2>&1 | + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val="\$ac_cv_env_${ac_var}_value" + eval ac_new_val="\$ac_env_${ac_var}_value" + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + + + + + + + +PRODUCT=g2 + + +# +# check cannonical system name, +# and set options for shared libraries (black magic) +# +ac_aux_dir= +for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do + if test -f $ac_dir/install-sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f $ac_dir/install.sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f $ac_dir/shtool; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 +echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} + { (exit 1); exit 1; }; } +fi +ac_config_guess="$SHELL $ac_aux_dir/config.guess" +ac_config_sub="$SHELL $ac_aux_dir/config.sub" +ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + +# Make sure we can run config.sub. +$ac_config_sub sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 +echo "$as_me: error: cannot run $ac_config_sub" >&2;} + { (exit 1); exit 1; }; } + +echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6 +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_build_alias=$build_alias +test -z "$ac_cv_build_alias" && + ac_cv_build_alias=`$ac_config_guess` +test -z "$ac_cv_build_alias" && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6 +build=$ac_cv_build +build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6 +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_host_alias=$host_alias +test -z "$ac_cv_host_alias" && + ac_cv_host_alias=$ac_cv_build_alias +ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6 +host=$ac_cv_host +host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +case "$host" in + *-linux*) + LD_SHARED='ld' + LD_SHARED_FLAGS='-shared -soname libg2.so.0' + LD_SHARED_OPT='' + LD_SHARED_EXT='so.0.$(G2_VERSION)' + cat >>confdefs.h <<\_ACEOF +#define LINUX 1 +_ACEOF +;; + *-aix*) + LD_SHARED='ld' + LD_SHARED_FLAGS='-bM:SRE -bnoentry -bexpall' + LD_SHARED_OPT='$(LDFLAGS) -lc' + LD_SHARED_EXT='so' + cat >>confdefs.h <<\_ACEOF +#define AIX 1 +_ACEOF +;; + *-osf*) + LD_SHARED='ld' + LD_SHARED_FLAGS='-shared' + LD_SHARED_OPT='$(LDFLAGS) -lc' + LD_SHARED_EXT='so' + cat >>confdefs.h <<\_ACEOF +#define OSF 1 +_ACEOF +;; + *) + LD_SHARED_EXT='so' + cat >>confdefs.h <<\_ACEOF +#define UNIX 1 +_ACEOF +;; +esac + + + + + + +# +# check C compiler, preprocesor, etc. +# +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CC" && break +done + + CC=$ac_ct_CC +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 + (eval $ac_link_default) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Find the output, starting from the most likely. This scheme is +# not robust to junk in `.', hence go to wildcards (a.*) only as a last +# resort. + +# Be careful to initialize this variable, since it used to be cached. +# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +ac_cv_exeext= +# b.out is created by i960 compilers. +for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) + ;; + conftest.$ac_ext ) + # This is the source file. + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool, + # but it would be cool to find out if it's true. Does anybody + # maintain Libtool? --akim. + export ac_cv_exeext + break;; + * ) + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6 + +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 +echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6 + +echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + export ac_cv_exeext + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6 + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6 +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +CFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cc_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_stdc=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_stdc=$ac_arg +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext +done +rm -f conftest.$ac_ext conftest.$ac_objext +CC=$ac_save_CC + +fi + +case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 ;; + *) + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; +esac + +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +#ifndef __cplusplus + choke me +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +#include +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6 +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=cc +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + echo "$as_me:$LINENO: result: $CXX" >&5 +echo "${ECHO_T}$CXX" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in $CCC g++ c++ gpp aCC CC cxx cc++ cl FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 +echo "${ECHO_T}$ac_ct_CXX" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CXX" && break +done +test -n "$ac_ct_CXX" || ac_ct_CXX="g++" + + CXX=$ac_ct_CXX +fi + + +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C++ compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 +if test "${ac_cv_cxx_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 +GXX=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +CXXFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 +echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cxx_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cxx_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cxx_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +#include +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_cxx_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + RANLIB=$ac_ct_RANLIB +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. We don't cache a + # path for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the path is relative. + INSTALL=$ac_install_sh + fi +fi +echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6 + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +# Extract the first word of "find", so it can be a program name with args. +set dummy find; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_FIND+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$FIND"; then + ac_cv_prog_FIND="$FIND" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_FIND="find" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_FIND" && ac_cv_prog_FIND=":" +fi +fi +FIND=$ac_cv_prog_FIND +if test -n "$FIND"; then + echo "$as_me:$LINENO: result: $FIND" >&5 +echo "${ECHO_T}$FIND" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +# Extract the first word of "makedepend", so it can be a program name with args. +set dummy makedepend; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_MAKEDEPEND+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$MAKEDEPEND"; then + ac_cv_prog_MAKEDEPEND="$MAKEDEPEND" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_MAKEDEPEND="makedepend" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_MAKEDEPEND" && ac_cv_prog_MAKEDEPEND=":" +fi +fi +MAKEDEPEND=$ac_cv_prog_MAKEDEPEND +if test -n "$MAKEDEPEND"; then + echo "$as_me:$LINENO: result: $MAKEDEPEND" >&5 +echo "${ECHO_T}$MAKEDEPEND" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + +echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6 +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dlopen (); +int +main () +{ +dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dl_dlopen=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dl_dlopen=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6 +if test $ac_cv_lib_dl_dlopen = yes; then + have_dl=yes +else + have_dl=no +fi + + + +# +# Try to locate the X Window System include files and libraries +# and add /usr/local to include and lib path and add -lm (for testing) +# + +echo "$as_me:$LINENO: checking for X" >&5 +echo $ECHO_N "checking for X... $ECHO_C" >&6 + + +# Check whether --with-x or --without-x was given. +if test "${with_x+set}" = set; then + withval="$with_x" + +fi; +# $have_x is `yes', `no', `disabled', or empty when we do not yet know. +if test "x$with_x" = xno; then + # The user explicitly disabled X. + have_x=disabled +else + if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then + # Both variables are already set. + have_x=yes + else + if test "${ac_cv_have_x+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # One or both of the vars are not set, and there is no cached value. +ac_x_includes=no ac_x_libraries=no +rm -fr conftest.dir +if mkdir conftest.dir; then + cd conftest.dir + # Make sure to not put "make" in the Imakefile rules, since we grep it out. + cat >Imakefile <<'_ACEOF' +acfindx: + @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' +_ACEOF + if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then + # GNU make sometimes prints "make[1]: Entering...", which would confuse us. + eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` + # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. + for ac_extension in a so sl; do + if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && + test -f $ac_im_libdir/libX11.$ac_extension; then + ac_im_usrlibdir=$ac_im_libdir; break + fi + done + # Screen out bogus values from the imake configuration. They are + # bogus both because they are the default anyway, and because + # using them would break gcc on systems where it needs fixed includes. + case $ac_im_incroot in + /usr/include) ;; + *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; + esac + case $ac_im_usrlibdir in + /usr/lib | /lib) ;; + *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; + esac + fi + cd .. + rm -fr conftest.dir +fi + +# Standard set of common directories for X headers. +# Check X11 before X11Rn because it is often a symlink to the current release. +ac_x_header_dirs=' +/usr/X11/include +/usr/X11R6/include +/usr/X11R5/include +/usr/X11R4/include + +/usr/include/X11 +/usr/include/X11R6 +/usr/include/X11R5 +/usr/include/X11R4 + +/usr/local/X11/include +/usr/local/X11R6/include +/usr/local/X11R5/include +/usr/local/X11R4/include + +/usr/local/include/X11 +/usr/local/include/X11R6 +/usr/local/include/X11R5 +/usr/local/include/X11R4 + +/usr/X386/include +/usr/x386/include +/usr/XFree86/include/X11 + +/usr/include +/usr/local/include +/usr/unsupported/include +/usr/athena/include +/usr/local/x11r5/include +/usr/lpp/Xamples/include + +/usr/openwin/include +/usr/openwin/share/include' + +if test "$ac_x_includes" = no; then + # Guess where to find include files, by looking for Intrinsic.h. + # First, try using that file with no special directory specified. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # We can compile using X headers with no special include directory. +ac_x_includes= +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + for ac_dir in $ac_x_header_dirs; do + if test -r "$ac_dir/X11/Intrinsic.h"; then + ac_x_includes=$ac_dir + break + fi +done +fi +rm -f conftest.err conftest.$ac_ext +fi # $ac_x_includes = no + +if test "$ac_x_libraries" = no; then + # Check for the libraries. + # See if we find them without any special options. + # Don't add to $LIBS permanently. + ac_save_LIBS=$LIBS + LIBS="-lXt $LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +XtMalloc (0) + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + LIBS=$ac_save_LIBS +# We can link X programs with no special library path. +ac_x_libraries= +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +LIBS=$ac_save_LIBS +for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` +do + # Don't even attempt the hair of trying to link an X program! + for ac_extension in a so sl; do + if test -r $ac_dir/libXt.$ac_extension; then + ac_x_libraries=$ac_dir + break 2 + fi + done +done +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi # $ac_x_libraries = no + +if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then + # Didn't find X anywhere. Cache the known absence of X. + ac_cv_have_x="have_x=no" +else + # Record where we found X for the cache. + ac_cv_have_x="have_x=yes \ + ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" +fi +fi + + fi + eval "$ac_cv_have_x" +fi # $with_x != no + +if test "$have_x" != yes; then + echo "$as_me:$LINENO: result: $have_x" >&5 +echo "${ECHO_T}$have_x" >&6 + no_x=yes +else + # If each of the values was on the command line, it overrides each guess. + test "x$x_includes" = xNONE && x_includes=$ac_x_includes + test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries + # Update the cache value to reflect the command line values. + ac_cv_have_x="have_x=yes \ + ac_x_includes=$x_includes ac_x_libraries=$x_libraries" + echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 +echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6 +fi + +if test "$no_x" = yes; then + # Not all programs may use this symbol, but it does not hurt to define it. + +cat >>confdefs.h <<\_ACEOF +#define X_DISPLAY_MISSING 1 +_ACEOF + + X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= +else + if test -n "$x_includes"; then + X_CFLAGS="$X_CFLAGS -I$x_includes" + fi + + # It would also be nice to do this for all -L options, not just this one. + if test -n "$x_libraries"; then + X_LIBS="$X_LIBS -L$x_libraries" + # For Solaris; some versions of Sun CC require a space after -R and + # others require no space. Words are not sufficient . . . . + case `(uname -sr) 2>/dev/null` in + "SunOS 5"*) + echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5 +echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6 + ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_R_nospace=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_R_nospace=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test $ac_R_nospace = yes; then + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + X_LIBS="$X_LIBS -R$x_libraries" + else + LIBS="$ac_xsave_LIBS -R $x_libraries" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_R_space=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_R_space=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test $ac_R_space = yes; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + X_LIBS="$X_LIBS -R $x_libraries" + else + echo "$as_me:$LINENO: result: neither works" >&5 +echo "${ECHO_T}neither works" >&6 + fi + fi + LIBS=$ac_xsave_LIBS + esac + fi + + # Check for system-dependent libraries X programs must link with. + # Do this before checking for the system-independent R6 libraries + # (-lICE), since we may need -lsocket or whatever for X linking. + + if test "$ISC" = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" + else + # Martyn Johnson says this is needed for Ultrix, if the X + # libraries were built with DECnet support. And Karl Berry says + # the Alpha needs dnet_stub (dnet does not exist). + ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char XOpenDisplay (); +int +main () +{ +XOpenDisplay (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5 +echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6 +if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldnet $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dnet_ntoa (); +int +main () +{ +dnet_ntoa (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dnet_dnet_ntoa=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dnet_dnet_ntoa=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 +echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6 +if test $ac_cv_lib_dnet_dnet_ntoa = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" +fi + + if test $ac_cv_lib_dnet_dnet_ntoa = no; then + echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5 +echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6 +if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldnet_stub $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char dnet_ntoa (); +int +main () +{ +dnet_ntoa (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_dnet_stub_dnet_ntoa=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_dnet_stub_dnet_ntoa=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 +echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6 +if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" +fi + + fi +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$ac_xsave_LIBS" + + # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, + # to get the SysV transport functions. + # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4) + # needs -lnsl. + # The nsl library prevents programs from opening the X display + # on Irix 5.2, according to T.E. Dickey. + # The functions gethostbyname, getservbyname, and inet_addr are + # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. + echo "$as_me:$LINENO: checking for gethostbyname" >&5 +echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6 +if test "${ac_cv_func_gethostbyname+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define gethostbyname to an innocuous variant, in case declares gethostbyname. + For example, HP-UX 11i declares gettimeofday. */ +#define gethostbyname innocuous_gethostbyname + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char gethostbyname (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef gethostbyname + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char gethostbyname (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) +choke me +#else +char (*f) () = gethostbyname; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != gethostbyname; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_gethostbyname=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_gethostbyname=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5 +echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6 + + if test $ac_cv_func_gethostbyname = no; then + echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5 +echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6 +if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lnsl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char gethostbyname (); +int +main () +{ +gethostbyname (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_nsl_gethostbyname=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_nsl_gethostbyname=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 +echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6 +if test $ac_cv_lib_nsl_gethostbyname = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" +fi + + if test $ac_cv_lib_nsl_gethostbyname = no; then + echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5 +echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6 +if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lbsd $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char gethostbyname (); +int +main () +{ +gethostbyname (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_bsd_gethostbyname=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_bsd_gethostbyname=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5 +echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6 +if test $ac_cv_lib_bsd_gethostbyname = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" +fi + + fi + fi + + # lieder@skyler.mavd.honeywell.com says without -lsocket, + # socket/setsockopt and other routines are undefined under SCO ODT + # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary + # on later versions), says Simon Leinen: it contains gethostby* + # variants that don't use the name server (or something). -lsocket + # must be given before -lnsl if both are needed. We assume that + # if connect needs -lnsl, so does gethostbyname. + echo "$as_me:$LINENO: checking for connect" >&5 +echo $ECHO_N "checking for connect... $ECHO_C" >&6 +if test "${ac_cv_func_connect+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define connect to an innocuous variant, in case declares connect. + For example, HP-UX 11i declares gettimeofday. */ +#define connect innocuous_connect + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char connect (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef connect + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char connect (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_connect) || defined (__stub___connect) +choke me +#else +char (*f) () = connect; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != connect; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_connect=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_connect=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5 +echo "${ECHO_T}$ac_cv_func_connect" >&6 + + if test $ac_cv_func_connect = no; then + echo "$as_me:$LINENO: checking for connect in -lsocket" >&5 +echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6 +if test "${ac_cv_lib_socket_connect+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsocket $X_EXTRA_LIBS $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char connect (); +int +main () +{ +connect (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_socket_connect=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_socket_connect=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5 +echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6 +if test $ac_cv_lib_socket_connect = yes; then + X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" +fi + + fi + + # Guillermo Gomez says -lposix is necessary on A/UX. + echo "$as_me:$LINENO: checking for remove" >&5 +echo $ECHO_N "checking for remove... $ECHO_C" >&6 +if test "${ac_cv_func_remove+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define remove to an innocuous variant, in case declares remove. + For example, HP-UX 11i declares gettimeofday. */ +#define remove innocuous_remove + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char remove (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef remove + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char remove (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_remove) || defined (__stub___remove) +choke me +#else +char (*f) () = remove; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != remove; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_remove=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_remove=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5 +echo "${ECHO_T}$ac_cv_func_remove" >&6 + + if test $ac_cv_func_remove = no; then + echo "$as_me:$LINENO: checking for remove in -lposix" >&5 +echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6 +if test "${ac_cv_lib_posix_remove+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lposix $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char remove (); +int +main () +{ +remove (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_posix_remove=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_posix_remove=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5 +echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6 +if test $ac_cv_lib_posix_remove = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" +fi + + fi + + # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. + echo "$as_me:$LINENO: checking for shmat" >&5 +echo $ECHO_N "checking for shmat... $ECHO_C" >&6 +if test "${ac_cv_func_shmat+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shmat to an innocuous variant, in case declares shmat. + For example, HP-UX 11i declares gettimeofday. */ +#define shmat innocuous_shmat + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shmat (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef shmat + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char shmat (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_shmat) || defined (__stub___shmat) +choke me +#else +char (*f) () = shmat; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != shmat; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_shmat=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_shmat=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5 +echo "${ECHO_T}$ac_cv_func_shmat" >&6 + + if test $ac_cv_func_shmat = no; then + echo "$as_me:$LINENO: checking for shmat in -lipc" >&5 +echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6 +if test "${ac_cv_lib_ipc_shmat+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lipc $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char shmat (); +int +main () +{ +shmat (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_ipc_shmat=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_ipc_shmat=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5 +echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6 +if test $ac_cv_lib_ipc_shmat = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" +fi + + fi + fi + + # Check for libraries that X11R6 Xt/Xaw programs need. + ac_save_LDFLAGS=$LDFLAGS + test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" + # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to + # check for ICE first), but we must link in the order -lSM -lICE or + # we get undefined symbols. So assume we have SM if we have ICE. + # These have to be linked with before -lX11, unlike the other + # libraries we check for below, so use a different variable. + # John Interrante, Karl Berry + echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5 +echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6 +if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lICE $X_EXTRA_LIBS $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char IceConnectionNumber (); +int +main () +{ +IceConnectionNumber (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_ICE_IceConnectionNumber=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_ICE_IceConnectionNumber=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 +echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6 +if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then + X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" +fi + + LDFLAGS=$ac_save_LDFLAGS + +fi + +CFLAGS="$CFLAGS $X_CFLAGS -I/usr/local/include" +LDFLAGS="$LDFLAGS $X_LIBS -L/usr/local/lib" + + +DO_PS='#' +DO_FIG='#' +DO_X11='#' +DO_GD='#' +DO_WIN32='#' + + +# +# check supported devices +# +echo "$as_me:$LINENO: checking for main in -lm" >&5 +echo $ECHO_N "checking for main in -lm... $ECHO_C" >&6 +if test "${ac_cv_lib_m_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lm $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +int +main () +{ +main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_m_main=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_m_main=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_m_main" >&5 +echo "${ECHO_T}$ac_cv_lib_m_main" >&6 +if test $ac_cv_lib_m_main = yes; then + DO_PS='';DO_FIG='';LDFLAGS="$LDFLAGS -lm";cat >>confdefs.h <<\_ACEOF +#define DO_PS 1 +_ACEOF + cat >>confdefs.h <<\_ACEOF +#define DO_FIG 1 +_ACEOF + +else + break +fi + +echo "$as_me:$LINENO: checking for main in -lX11" >&5 +echo $ECHO_N "checking for main in -lX11... $ECHO_C" >&6 +if test "${ac_cv_lib_X11_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lX11 $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +int +main () +{ +main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_X11_main=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_X11_main=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_X11_main" >&5 +echo "${ECHO_T}$ac_cv_lib_X11_main" >&6 +if test $ac_cv_lib_X11_main = yes; then + DO_X11='';LDFLAGS="$LDFLAGS -lX11";cat >>confdefs.h <<\_ACEOF +#define DO_X11 1 +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for main in -lgd" >&5 +echo $ECHO_N "checking for main in -lgd... $ECHO_C" >&6 +if test "${ac_cv_lib_gd_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgd $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +int +main () +{ +main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_gd_main=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_gd_main=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_gd_main" >&5 +echo "${ECHO_T}$ac_cv_lib_gd_main" >&6 +if test $ac_cv_lib_gd_main = yes; then + have_gd=yes +else + have_gd=no +fi + +if test "$have_gd" = yes +then + LDFLAGS="$LDFLAGS -lgd" + echo "$as_me:$LINENO: checking for gdImagePng" >&5 +echo $ECHO_N "checking for gdImagePng... $ECHO_C" >&6 +if test "${ac_cv_func_gdImagePng+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define gdImagePng to an innocuous variant, in case declares gdImagePng. + For example, HP-UX 11i declares gettimeofday. */ +#define gdImagePng innocuous_gdImagePng + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char gdImagePng (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef gdImagePng + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char gdImagePng (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_gdImagePng) || defined (__stub___gdImagePng) +choke me +#else +char (*f) () = gdImagePng; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != gdImagePng; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_gdImagePng=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_gdImagePng=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_gdImagePng" >&5 +echo "${ECHO_T}$ac_cv_func_gdImagePng" >&6 +if test $ac_cv_func_gdImagePng = yes; then + DO_GD='';cat >>confdefs.h <<\_ACEOF +#define DO_GD 1 +_ACEOF + +fi + +fi + +# +# handling cygwin environment (and gd for cygwin == bgd) +# + +case $host_os in + *cygwin* ) CYGWIN=yes;; + * ) CYGWIN=no;; +esac + +if test "$CYGWIN" = yes +then + LDFLAGS="$LDFLAGS -L/lib/w32api" + echo "$as_me:$LINENO: checking for main in -lgdi32" >&5 +echo $ECHO_N "checking for main in -lgdi32... $ECHO_C" >&6 +if test "${ac_cv_lib_gdi32_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lgdi32 $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +int +main () +{ +main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_gdi32_main=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_gdi32_main=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_gdi32_main" >&5 +echo "${ECHO_T}$ac_cv_lib_gdi32_main" >&6 +if test $ac_cv_lib_gdi32_main = yes; then + DO_WIN32='';LDFLAGS="$LDFLAGS -lgdi32";cat >>confdefs.h <<\_ACEOF +#define DO_WIN32 1 +_ACEOF + +fi + + echo "$as_me:$LINENO: checking for main in -lbgd" >&5 +echo $ECHO_N "checking for main in -lbgd... $ECHO_C" >&6 +if test "${ac_cv_lib_bgd_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lbgd $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + + +int +main () +{ +main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_bgd_main=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_bgd_main=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_bgd_main" >&5 +echo "${ECHO_T}$ac_cv_lib_bgd_main" >&6 +if test $ac_cv_lib_bgd_main = yes; then + have_bgd=yes +else + have_bgd=no +fi + + if test "$have_bgd" = yes + then + LDFLAGS="$LDFLAGS -lbgd" + echo "$as_me:$LINENO: checking for gdImagePng" >&5 +echo $ECHO_N "checking for gdImagePng... $ECHO_C" >&6 +if test "${ac_cv_func_gdImagePng+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define gdImagePng to an innocuous variant, in case declares gdImagePng. + For example, HP-UX 11i declares gettimeofday. */ +#define gdImagePng innocuous_gdImagePng + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char gdImagePng (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef gdImagePng + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char gdImagePng (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_gdImagePng) || defined (__stub___gdImagePng) +choke me +#else +char (*f) () = gdImagePng; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != gdImagePng; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_gdImagePng=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func_gdImagePng=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func_gdImagePng" >&5 +echo "${ECHO_T}$ac_cv_func_gdImagePng" >&6 +if test $ac_cv_func_gdImagePng = yes; then + DO_GD='';cat >>confdefs.h <<\_ACEOF +#define DO_GD 1 +_ACEOF + +fi + + fi +fi + +# +# Declare variables which we want substituted in the Makefile.in's +# + + + + + + +echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +if test "${ac_cv_prog_egrep+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +echo "${ECHO_T}$ac_cv_prog_egrep" >&6 + EGREP=$ac_cv_prog_egrep + + +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6 +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + +for ac_header in limits.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ------------------------------------------ ## +## Report this to the AC_PACKAGE_NAME lists. ## +## ------------------------------------------ ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + +# +# finally create makefiles using Makefile.in +# +echo + ac_config_files="$ac_config_files Makefile demo/Makefile g2_perl/Makefile.PL" +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +{ + (set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} | + sed ' + t clear + : clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + : end' >>confcache +if diff $cache_file confcache >/dev/null 2>&1; then :; else + if test -w $cache_file; then + test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + cat confcache >$cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +}' +fi + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then we branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +cat >confdef2opt.sed <<\_ACEOF +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g +t quote +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g +t quote +d +: quote +s,[ `~#$^&*(){}\\|;'"<>?],\\&,g +s,\[,\\&,g +s,\],\\&,g +s,\$,$$,g +p +_ACEOF +# We use echo to avoid assuming a particular line-breaking character. +# The extra dot is to prevent the shell from consuming trailing +# line-breaks from the sub-command output. A line-break within +# single-quotes doesn't work because, if this script is created in a +# platform that uses two characters for line-breaks (e.g., DOS), tr +# would break. +ac_LF_and_DOT=`echo; echo .` +DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` +rm -f confdef2opt.sed + + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_i=`echo "$ac_i" | + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + # 2. Add them. + ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by $as_me, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +_ACEOF + +# Files that config.status was made for. +if test -n "$ac_config_files"; then + echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_headers"; then + echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_links"; then + echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_commands"; then + echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +fi + +cat >>$CONFIG_STATUS <<\_ACEOF + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + +Configuration files: +$config_files + +Report bugs to ." +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.59, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2003 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=$srcdir +INSTALL="$INSTALL" +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF + + + + + +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "demo/Makefile" ) CONFIG_FILES="$CONFIG_FILES demo/Makefile" ;; + "g2_perl/Makefile.PL" ) CONFIG_FILES="$CONFIG_FILES g2_perl/Makefile.PL" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "\$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +s,@SHELL@,$SHELL,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +s,@exec_prefix@,$exec_prefix,;t t +s,@prefix@,$prefix,;t t +s,@program_transform_name@,$program_transform_name,;t t +s,@bindir@,$bindir,;t t +s,@sbindir@,$sbindir,;t t +s,@libexecdir@,$libexecdir,;t t +s,@datadir@,$datadir,;t t +s,@sysconfdir@,$sysconfdir,;t t +s,@sharedstatedir@,$sharedstatedir,;t t +s,@localstatedir@,$localstatedir,;t t +s,@libdir@,$libdir,;t t +s,@includedir@,$includedir,;t t +s,@oldincludedir@,$oldincludedir,;t t +s,@infodir@,$infodir,;t t +s,@mandir@,$mandir,;t t +s,@build_alias@,$build_alias,;t t +s,@host_alias@,$host_alias,;t t +s,@target_alias@,$target_alias,;t t +s,@DEFS@,$DEFS,;t t +s,@ECHO_C@,$ECHO_C,;t t +s,@ECHO_N@,$ECHO_N,;t t +s,@ECHO_T@,$ECHO_T,;t t +s,@LIBS@,$LIBS,;t t +s,@build@,$build,;t t +s,@build_cpu@,$build_cpu,;t t +s,@build_vendor@,$build_vendor,;t t +s,@build_os@,$build_os,;t t +s,@host@,$host,;t t +s,@host_cpu@,$host_cpu,;t t +s,@host_vendor@,$host_vendor,;t t +s,@host_os@,$host_os,;t t +s,@LD_SHARED@,$LD_SHARED,;t t +s,@LD_SHARED_FLAGS@,$LD_SHARED_FLAGS,;t t +s,@LD_SHARED_OPT@,$LD_SHARED_OPT,;t t +s,@LD_SHARED_EXT@,$LD_SHARED_EXT,;t t +s,@CC@,$CC,;t t +s,@CFLAGS@,$CFLAGS,;t t +s,@LDFLAGS@,$LDFLAGS,;t t +s,@CPPFLAGS@,$CPPFLAGS,;t t +s,@ac_ct_CC@,$ac_ct_CC,;t t +s,@EXEEXT@,$EXEEXT,;t t +s,@OBJEXT@,$OBJEXT,;t t +s,@CPP@,$CPP,;t t +s,@CXX@,$CXX,;t t +s,@CXXFLAGS@,$CXXFLAGS,;t t +s,@ac_ct_CXX@,$ac_ct_CXX,;t t +s,@RANLIB@,$RANLIB,;t t +s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@FIND@,$FIND,;t t +s,@MAKEDEPEND@,$MAKEDEPEND,;t t +s,@X_CFLAGS@,$X_CFLAGS,;t t +s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t +s,@X_LIBS@,$X_LIBS,;t t +s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t +s,@DO_PS@,$DO_PS,;t t +s,@DO_FIG@,$DO_FIG,;t t +s,@DO_X11@,$DO_X11,;t t +s,@DO_WIN32@,$DO_WIN32,;t t +s,@DO_GD@,$DO_GD,;t t +s,@EGREP@,$EGREP,;t t +s,@LIBOBJS@,$LIBOBJS,;t t +s,@LTLIBOBJS@,$LTLIBOBJS,;t t +CEOF + +_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + + +echo +echo "Supported devices:" +if test "$DO_PS" != "#"; then echo " PostScript"; fi +if test "$DO_FIG" != "#"; then echo " FIG"; fi +if test "$DO_X11" != "#"; then echo " X11"; fi +if test "$DO_WIN32" != "#"; then echo " Win32"; fi +if test "$DO_GD" != "#"; then echo " GD"; fi + +echo +echo "Unsupported devices:" +if test "$DO_PS" = "#"; then echo " PostScript"; fi +if test "$DO_FIG" = "#"; then echo " FIG"; fi +if test "$DO_X11" = "#"; then echo " X11"; fi +if test "$DO_WIN32" = "#"; then echo " Win32"; fi +if test "$DO_GD" = "#"; then echo " GD"; fi + +echo +echo "Run 'make depend' to create dependencies." +echo diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/configure.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/configure.in new file mode 100755 index 00000000..f750225b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/configure.in @@ -0,0 +1,139 @@ + +# +# Check for one project file +# +AC_INIT(src/g2_device.c) + +PRODUCT=g2 + + +# +# check cannonical system name, +# and set options for shared libraries (black magic) +# +AC_CANONICAL_HOST +case "$host" in + *-linux*) + LD_SHARED='ld' + LD_SHARED_FLAGS='-shared -soname libg2.so.0' + LD_SHARED_OPT='' + LD_SHARED_EXT='so.0.$(G2_VERSION)' + AC_DEFINE(LINUX);; + *-aix*) + LD_SHARED='ld' + LD_SHARED_FLAGS='-bM:SRE -bnoentry -bexpall' + LD_SHARED_OPT='$(LDFLAGS) -lc' + LD_SHARED_EXT='so' + AC_DEFINE(AIX);; + *-osf*) + LD_SHARED='ld' + LD_SHARED_FLAGS='-shared' + LD_SHARED_OPT='$(LDFLAGS) -lc' + LD_SHARED_EXT='so' + AC_DEFINE(OSF);; + *) + LD_SHARED_EXT='so' + AC_DEFINE(UNIX);; +esac + +AC_SUBST(LD_SHARED) +AC_SUBST(LD_SHARED_FLAGS) +AC_SUBST(LD_SHARED_OPT) +AC_SUBST(LD_SHARED_EXT) + +# +# check C compiler, preprocesor, etc. +# +AC_PROG_CC +AC_PROG_CPP +AC_PROG_CXX +AC_PROG_RANLIB +AC_PROG_INSTALL +AC_CHECK_PROG(FIND, find, find, :) +AC_CHECK_PROG(MAKEDEPEND, makedepend, makedepend, :) +AC_CHECK_LIB(dl, dlopen, have_dl=yes, have_dl=no) + + +# +# Try to locate the X Window System include files and libraries +# and add /usr/local to include and lib path and add -lm (for testing) +# +AC_PATH_XTRA +CFLAGS="$CFLAGS $X_CFLAGS -I/usr/local/include" +LDFLAGS="$LDFLAGS $X_LIBS -L/usr/local/lib" + + +DO_PS='#' +DO_FIG='#' +DO_X11='#' +DO_GD='#' +DO_WIN32='#' + + +# +# check supported devices +# +AC_CHECK_LIB(m,main,DO_PS='';DO_FIG='';LDFLAGS="$LDFLAGS -lm";AC_DEFINE(DO_PS) AC_DEFINE(DO_FIG),break) +AC_CHECK_LIB(X11, main, DO_X11='';LDFLAGS="$LDFLAGS -lX11";AC_DEFINE(DO_X11)) +AC_CHECK_LIB(gd, main, have_gd=yes, have_gd=no) +if test "$have_gd" = yes +then + LDFLAGS="$LDFLAGS -lgd" + AC_CHECK_FUNC(gdImagePng, DO_GD='';AC_DEFINE(DO_GD)) +fi + +# +# handling cygwin environment (and gd for cygwin == bgd) +# +AC_CYGWIN +if test "$CYGWIN" = yes +then + LDFLAGS="$LDFLAGS -L/lib/w32api" + AC_CHECK_LIB(gdi32, main, DO_WIN32='';LDFLAGS="$LDFLAGS -lgdi32";AC_DEFINE(DO_WIN32)) + AC_CHECK_LIB(bgd, main, have_bgd=yes, have_bgd=no) + if test "$have_bgd" = yes + then + LDFLAGS="$LDFLAGS -lbgd" + AC_CHECK_FUNC(gdImagePng, DO_GD='';AC_DEFINE(DO_GD)) + fi +fi + +# +# Declare variables which we want substituted in the Makefile.in's +# +AC_SUBST(DO_PS) +AC_SUBST(DO_FIG) +AC_SUBST(DO_X11) +AC_SUBST(DO_WIN32) +AC_SUBST(DO_GD) + +AC_HEADER_STDC +AC_CHECK_HEADERS(limits.h) + + + +# +# finally create makefiles using Makefile.in +# +echo +AC_OUTPUT(Makefile demo/Makefile g2_perl/Makefile.PL) + +echo +echo "Supported devices:" +if test "$DO_PS" != "#"; then echo " PostScript"; fi +if test "$DO_FIG" != "#"; then echo " FIG"; fi +if test "$DO_X11" != "#"; then echo " X11"; fi +if test "$DO_WIN32" != "#"; then echo " Win32"; fi +if test "$DO_GD" != "#"; then echo " GD"; fi + +echo +echo "Unsupported devices:" +if test "$DO_PS" = "#"; then echo " PostScript"; fi +if test "$DO_FIG" = "#"; then echo " FIG"; fi +if test "$DO_X11" = "#"; then echo " X11"; fi +if test "$DO_WIN32" = "#"; then echo " Win32"; fi +if test "$DO_GD" = "#"; then echo " GD"; fi + +echo +echo "Run 'make depend' to create dependencies." +echo diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/CVS/Entries new file mode 100755 index 00000000..17848105 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/CVS/Entries @@ -0,0 +1 @@ +D diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/CVS/Repository new file mode 100755 index 00000000..c5ef7f81 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/demo/CVS diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/Entries new file mode 100755 index 00000000..b75535d9 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/Entries @@ -0,0 +1,21 @@ +D/CVS//// +/Makefile.in/1.1/Tue Jun 14 20:44:20 2005// +/demo_cpp.cpp/1.1/Tue Apr 20 20:18:09 2004// +/demo_f.f/1.1/Tue Apr 17 20:16:38 2001// +/descrip.mms/1.1/Thu Nov 22 00:15:59 2001// +/g2_anim.c/1.1/Fri Apr 16 01:20:04 2004// +/g2_arc.c/1.1/Tue Feb 22 22:16:18 2005// +/g2_splines_demo.c/1.1/Sun Feb 29 23:47:46 2004// +/g2_test.c/1.1/Sat Apr 3 22:57:15 2004// +/g2_test.f/1.1/Thu Mar 4 23:13:36 2004// +/handles.c/1.1/Tue Jun 14 20:44:20 2005// +/penguin.c/1.1/Mon Jan 18 10:56:51 1999// +/penguin.inc/1.1/Thu Mar 4 23:13:36 2004// +/pointer.c/1.1/Tue Apr 17 20:16:38 2001// +/simple_FIG.c/1.1/Thu Apr 1 22:29:34 2004// +/simple_PS.c/1.1/Tue Apr 17 20:16:38 2001// +/simple_X11.c/1.1/Tue Apr 17 20:16:38 2001// +/simple_gd.c/1.1/Tue Apr 17 20:16:38 2001// +/simple_win32.c/1.1/Tue Sep 3 04:10:23 2002// +/xlink.opt/1.1/Mon Jan 18 10:56:51 1999// +/Makefile/1.1/Fri Aug 5 10:17:46 2005// diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/Repository new file mode 100755 index 00000000..6762ec27 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/demo diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/Template b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/CVS/Template new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/Makefile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/Makefile new file mode 100755 index 00000000..334e4c8e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/Makefile @@ -0,0 +1,87 @@ +# +# +# Makefile for g2_library (demo) +# +# + + +CC = gcc +CXX = g++ +##Linux +F77 = g77 +CPP = /lib/cpp + +##OSF +#F77 = f77 +#F77_FLAGS=-i8 + +##AIX +#F77 = xlf +#CPP = /usr/ccs/lib/cpp + +##IRIX +#F77 = f77 -n32 +#CPP = /lib/cpp -P -DFORTRAN + +CFLAGS = -I../src -I../src/X11 -I../src/PS -I../src/Win32 -I../src/GD -I../src/FIG -g -O2 -I/usr/X11R6/include -I/usr/local/include -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DLINUX=1 -DDO_PS=1 -DDO_FIG=1 -DDO_X11=1 -DDO_GD=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 +CXXFLAGS = -I../src -I../src/X11 -I../src/PS -I../src/Win32 -I../src/GD/ -I../src/FIG -g -O2 -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DLINUX=1 -DDO_PS=1 -DDO_FIG=1 -DDO_X11=1 -DDO_GD=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 +LDFLAGS = -L.. -lg2 -L/usr/X11R6/lib64 -L/usr/local/lib -lm -lX11 -lgd + +DEMO_PS = simple_PS +DEMO_FIG = simple_FIG +DEMO_X11 = simple_X11 pointer handles +DEMO_GD = simple_gd +#DEMO_WIN32 = simple_win32 + + +DEMO = g2_test g2_arc g2_splines_demo demo_cpp $(DEMO_PS) $(DEMO_FIG) $(DEMO_X11) $(DEMO_GD) $(DEMO_WIN32) + +all: $(DEMO) + +demo: $(DEMO) + + +g2_test: g2_test.c + $(CC) $(CFLAGS) g2_test.c $(LDFLAGS) -o $@ + +g2_arc: g2_arc.c + $(CC) $(CFLAGS) g2_arc.c $(LDFLAGS) -o $@ + +g2_splines_demo: g2_splines_demo.c + $(CC) $(CFLAGS) g2_splines_demo.c $(LDFLAGS) -o $@ + +simple_PS: simple_PS.c + $(CC) $(CFLAGS) simple_PS.c $(LDFLAGS) -o $@ + +simple_FIG: simple_FIG.c + $(CC) $(CFLAGS) simple_FIG.c $(LDFLAGS) -o $@ + +simple_X11: simple_X11.c + $(CC) $(CFLAGS) simple_X11.c $(LDFLAGS) -o $@ + +simple_win32: simple_win32.c + $(CC) $(CFLAGS) simple_win32.c $(LDFLAGS) -lkernel32 -lgdi32 -luser32 -lcomdlg32 -o $@ + +pointer: pointer.c + $(CC) $(CFLAGS) pointer.c $(LDFLAGS) -o $@ + +handles: handles.c + $(CC) $(CFLAGS) handles.c $(LDFLAGS) -o $@ + +simple_gd: simple_gd.c + $(CC) $(CFLAGS) simple_gd.c $(LDFLAGS) -o $@ + +demo_cpp: demo_cpp.cpp + $(CXX) $(CXXFLAGS) demo_cpp.cpp $(LDFLAGS) -o $@ + +demo_f: demo_f.f + $(F77) $(F77_FLAGS) demo_f.f $(LDFLAGS) -o $@ + +g2testf: g2_test.f + $(CPP) -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DLINUX=1 -DDO_PS=1 -DDO_FIG=1 -DDO_X11=1 -DDO_GD=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -E g2_test.f > g2testf.f + $(F77) g2testf.f $(LDFLAGS) -o g2testf + +clean: + -rm $(DEMO) g2testf g2testf.f demo_f *~ core *.ps *.fig *.eps *.png *.jpg *.fig.bak + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/Makefile.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/Makefile.in new file mode 100755 index 00000000..8a57d8d3 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/Makefile.in @@ -0,0 +1,87 @@ +# +# +# Makefile for g2_library (demo) +# +# + + +CC = @CC@ +CXX = @CXX@ +##Linux +F77 = g77 +CPP = /lib/cpp + +##OSF +#F77 = f77 +#F77_FLAGS=-i8 + +##AIX +#F77 = xlf +#CPP = /usr/ccs/lib/cpp + +##IRIX +#F77 = f77 -n32 +#CPP = /lib/cpp -P -DFORTRAN + +CFLAGS = -I../src -I../src/X11 -I../src/PS -I../src/Win32 -I../src/GD -I../src/FIG @CFLAGS@ @DEFS@ +CXXFLAGS = -I../src -I../src/X11 -I../src/PS -I../src/Win32 -I../src/GD/ -I../src/FIG @CXXFLAGS@ @DEFS@ +LDFLAGS = -L.. -lg2 @LDFLAGS@ + +@DO_PS@DEMO_PS = simple_PS +@DO_FIG@DEMO_FIG = simple_FIG +@DO_X11@DEMO_X11 = simple_X11 pointer handles +@DO_GD@DEMO_GD = simple_gd +@DO_WIN32@DEMO_WIN32 = simple_win32 + + +DEMO = g2_test g2_arc g2_splines_demo demo_cpp $(DEMO_PS) $(DEMO_FIG) $(DEMO_X11) $(DEMO_GD) $(DEMO_WIN32) + +all: $(DEMO) + +demo: $(DEMO) + + +g2_test: g2_test.c + $(CC) $(CFLAGS) g2_test.c $(LDFLAGS) -o $@ + +g2_arc: g2_arc.c + $(CC) $(CFLAGS) g2_arc.c $(LDFLAGS) -o $@ + +g2_splines_demo: g2_splines_demo.c + $(CC) $(CFLAGS) g2_splines_demo.c $(LDFLAGS) -o $@ + +simple_PS: simple_PS.c + $(CC) $(CFLAGS) simple_PS.c $(LDFLAGS) -o $@ + +simple_FIG: simple_FIG.c + $(CC) $(CFLAGS) simple_FIG.c $(LDFLAGS) -o $@ + +simple_X11: simple_X11.c + $(CC) $(CFLAGS) simple_X11.c $(LDFLAGS) -o $@ + +simple_win32: simple_win32.c + $(CC) $(CFLAGS) simple_win32.c $(LDFLAGS) -lkernel32 -lgdi32 -luser32 -lcomdlg32 -o $@ + +pointer: pointer.c + $(CC) $(CFLAGS) pointer.c $(LDFLAGS) -o $@ + +handles: handles.c + $(CC) $(CFLAGS) handles.c $(LDFLAGS) -o $@ + +simple_gd: simple_gd.c + $(CC) $(CFLAGS) simple_gd.c $(LDFLAGS) -o $@ + +demo_cpp: demo_cpp.cpp + $(CXX) $(CXXFLAGS) demo_cpp.cpp $(LDFLAGS) -o $@ + +demo_f: demo_f.f + $(F77) $(F77_FLAGS) demo_f.f $(LDFLAGS) -o $@ + +g2testf: g2_test.f + $(CPP) @DEFS@ -E g2_test.f > g2testf.f + $(F77) g2testf.f $(LDFLAGS) -o g2testf + +clean: + -rm $(DEMO) g2testf g2testf.f demo_f *~ core *.ps *.fig *.eps *.png *.jpg *.fig.bak + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/demo_cpp.cpp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/demo_cpp.cpp new file mode 100755 index 00000000..c78480a4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/demo_cpp.cpp @@ -0,0 +1,40 @@ +#include +#include +#include +#include + +/* A very simple example to demonstrate g2 in a C++ environment */ + + +class Circle +{ +public: + Circle(int d, double x, double y, double r) + : _d(d), _x(x), _y(y), _r(r) + { + g2_circle(d, x, y, r); + g2_flush(d); + } + + void Fill() + { + g2_filled_circle(_d, _x, _y, _r); + g2_flush(_d); + } +private: + int _d; + double _x, _y, _r; +}; + + +int main(int argc, char *argv[]) +{ + int d; + d=g2_open_PS("demo_cpp.ps", g2_A4, g2_PS_port); + Circle c(d, 150, 150, 25); + c.Fill(); + Circle c2(d, 150, 175, 25); + g2_close(d); + std::cout << "demo_cpp.ps generated\n"; + return 0; +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/demo_f.f b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/demo_f.f new file mode 100755 index 00000000..599826b0 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/demo_f.f @@ -0,0 +1,59 @@ +c +c Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +c This file is part of the g2 library +c +c This library is free software; you can redistribute it and/or +c modify it under the terms of the GNU Lesser General Public +c License as published by the Free Software Foundation; either +c version 2.1 of the License, or (at your option) any later version. +c +c This library is distributed in the hope that it will be useful, +c but WITHOUT ANY WARRANTY; without even the implied warranty of +c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +c Lesser General Public License for more details. +c +c You should have received a copy of the GNU Lesser General Public +c License along with this library; if not, write to the Free Software +c Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +c + real demo_f + real a, b + real d, d1, d2 + real color + + d=g2_open_vd() + write (6,*) d + d1=g2_open_X11(100.0, 100.0) + write (6,*) d1 + d2=g2_open_PS('demo_f.ps', 4.0, 1.0) + write (6,*) d2 + + call g2_attach(d, d1) + call g2_attach(d, d2) + + call g2_plot(d, 50.0, 50.0) + call g2_arc(d, 50.0, 50.0, 30.0, 20.0, 45.0, 180.0) + + color=g2_ink(d1, 1.0, 0.0, 0.0) + call g2_pen(d1, color) + write (6,*) color + call g2_string(d1, 15.0, 75.0, 'TEST (Window)') + + color=g2_ink(d2, 0.0, 1.0, 0.0) + call g2_pen(d2, color) + write (6,*) color + call g2_string(d2, 15.0, 75.0, 'TEST (File)') + + call g2_pen(d, 1.0) + call g2_circle(d, 20.0, 20.0, 10.0) + call g2_string(d, 20.0, 20.0, 'All devices!') + call g2_flush(d) + + call g2_close(d2) + + read (*,*) a + + stop + end + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/descrip.mms b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/descrip.mms new file mode 100755 index 00000000..d89ac9b0 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/descrip.mms @@ -0,0 +1,57 @@ +! +! VMS descrip.mms for g2 demos +! + +! +! Change these pointers to the correct location of libGD,libpng, etc +! +GD_LIBS = [.-.-.-.GD-1_8_4]libgd.olb/lib,[.-.-.-.lpng120]libpng.olb/lib,[.-.-.-.ZLIB]libz.olb/lib,[.-.-.-.JPEG-6B]libjpeg.olb/lib + +.IFDEF debug +CC_FLAGS = /noopt/debug/nolist/warnings \ + /include_directory=([-.src],[-.src.X11],[-.src.PS],[-.src.GD]) \ + /define=(DO_PS, DO_X11, DO_GD) +LINK_FLAGS = +.ELSE +CC_FLAGS = /nolist/warnings \ + /include_directory=([-.src],[-.src.X11],[-.src.PS],[-.src.GD]) \ + /define=(DO_PS, DO_X11, DO_GD) +LINK_FLAGS = +.ENDIF + +! +! Rules +! +.c.obj : ; cc $(CC_FLAGS)/obj=$(mms$target) $(mms$source) + + +! +! exe files +! +all : g2_test.exe, simple_X11.exe, simple_PS.exe + @ write sys$output "Demo files compiled." + + +g2_test.exe : g2_test.obj + link $(LINK_FLAGS)/exe=g2_test.exe g2_test.obj, \ + [-]g2.olb/lib, []xlink.opt/opt, $(GD_LIBS) + +simple_X11.exe : simple_X11.obj + link $(LINK_FLAGS)/exe=simple_X11.exe simple_X11.obj, \ + [-]g2.olb/lib, []xlink.opt/opt + +simple_PS.exe : simple_PS.obj + link $(LINK_FLAGS)/exe=simple_PS.exe simple_PS.obj, [-]g2.olb/lib + + + +clean : + delete *.exe;* , *.obj;* , *.olb;* + + +! +! Dependencies +! +g2_test.obj : g2_test.c +simple_X11.obj : simple_X11.c +simple_PS.obj : simple_PS.c diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_anim.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_anim.c new file mode 100755 index 00000000..5116f119 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_anim.c @@ -0,0 +1,60 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include +#include + + +#define N 300 +#define W 400 +#define H 400 + +int main() +{ + int d; + int x[N]; + int y[N]; + int c[N]; + int i,t; + + d=g2_open_win32(W, H, "simple_animation", 0); + g2_set_auto_flush(d,0); + + for (i=0;i +#include + +#ifdef DO_PS +#include +#endif +#ifdef DO_FIG +#include +#endif +#ifdef DO_X11 +#include +#endif +#ifdef DO_GD +#include +#endif +#ifdef DO_WIN32 +#include +#endif +#ifdef DO_WMF32 +#include +#endif + +#define maxdev 10 + +int main() +{ + int i, j; + int d, dev[maxdev]={-1, -1, -1, -1, -1,-1, -1, -1, -1, -1}; + int ndev=0; + char str[256]; + double y; + + printf("\nG2_VERSION %s\n", G2_VERSION); + + d=g2_open_vd(); /* open virtual device */ + + printf("Adding.."); + +#ifdef DO_PS + printf("..PS"); + dev[ndev]=g2_open_PS("g2_arc.ps", g2_A4, g2_PS_land); + g2_attach(d, dev[ndev]); + ndev++; + + printf("..EPSF"); + dev[ndev]=g2_open_EPSF("g2_arc.eps"); + g2_attach(d, dev[ndev]); + ndev++; + printf("..EPSF_CLIP"); + dev[ndev]=g2_open_EPSF_CLIP("g2_arc_clip.eps",400,400); + g2_attach(d, dev[ndev]); + ndev++; +#endif +#ifdef DO_FIG + printf("..FIG"); + dev[ndev]=g2_open_FIG("g2_arc.fig"); + g2_attach(d, dev[ndev]); + ndev++; +#endif +#ifdef DO_X11 + printf("..X11"); + dev[ndev]=g2_open_X11(400,400); + g2_attach(d, dev[ndev]); + ndev++; +#endif +#ifdef DO_GD + printf("..GD(png)"); + dev[ndev]=g2_open_gd("g2_arc.png", 400, 400,g2_gd_png); + g2_attach(d, dev[ndev]); + ndev++; + printf("..GD(jpeg)"); + dev[ndev]=g2_open_gd("g2_arc.jpg", 400, 400,g2_gd_jpeg); + g2_attach(d, dev[ndev]); + ndev++; +#endif +#ifdef DO_WIN32 + printf("..WIN32"); + dev[ndev]=g2_open_win32(400, 400,"g2_arc",0); + g2_attach(d, dev[ndev]); + ndev++; +#endif +#ifdef DO_WMF32 + printf("..WMF32"); + dev[ndev]=g2_open_win32(775, 575,"g2_arc.emf",1); + g2_attach(d, dev[ndev]); + ndev++; +#endif + g2_set_auto_flush(d,0); + + printf("\n"); + + g2_string(d,10, 50,"90,90"); + g2_string(d,10,100,"90,360"); + g2_string(d,10,150,"90,0"); + g2_string(d,10,200,"360,90"); + g2_string(d,10,250,"-45,45"); + g2_string(d,10,300,"-45,-315"); + g2_string(d,10,350,"-495,-405"); + + g2_arc(d, 100, 50, 45, 25, 90, 90); + g2_arc(d, 100, 100, 45, 25, 90, 360); + g2_arc(d, 100, 150, 45, 25, 90, 0); + g2_arc(d, 100, 200, 45, 25, 360, 90); + g2_arc(d, 100, 250, 45, 25, -45, 45); + g2_arc(d, 100, 300, 45, 25, -45, -315); + g2_arc(d, 100, 350, 45, 25, -495, -405); + + g2_filled_arc(d, 100, 50, 40, 20, 90, 90); + g2_filled_arc(d, 100, 100, 40, 20, 90, 360); + g2_filled_arc(d, 100, 150, 40, 20, 90, 0); + g2_filled_arc(d, 100, 200, 40, 20, 360, 90); + g2_filled_arc(d, 100, 250, 40, 20, -45, 45); + g2_filled_arc(d, 100, 300, 40, 20, -45, -315); + g2_filled_arc(d, 100, 350, 40, 20, -495, -405); + + + + g2_string(d,320, 50,"0,0"); + g2_string(d,320,100,"360,90"); + g2_string(d,320,150,"0,90"); + g2_string(d,320,200,"90,360"); + g2_string(d,320,250,"45,-45"); + g2_string(d,320,300,"-315,-45"); + g2_string(d,320,350,"-405,-495"); + + g2_arc(d, 250, 50, 45, 25, 0, 0); + g2_arc(d, 250, 100, 45, 25, 360, 90); + g2_arc(d, 250, 150, 45, 25, 0, 90); + g2_arc(d, 250, 200, 45, 25, 90, 360); + g2_arc(d, 250, 250, 45, 25, 45, -45); + g2_arc(d, 250, 300, 45, 25, -315, -45); + g2_arc(d, 250, 350, 45, 25, -405, -495); + + g2_filled_arc(d, 250, 50, 40, 20, 90, 90); + g2_filled_arc(d, 250, 100, 40, 20, 360, 90); + g2_filled_arc(d, 250, 150, 40, 20, 0, 90); + g2_filled_arc(d, 250, 200, 40, 20, 90, 360); + g2_filled_arc(d, 250, 250, 40, 20, 45, -45); + g2_filled_arc(d, 250, 300, 40, 20, -315, -45); + g2_filled_arc(d, 250, 350, 40, 20, -405, -495); + + g2_flush(d); + printf("\nDone.\n[Enter]\n"); + getchar(); + g2_close(d); + return 0; +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_splines_demo.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_splines_demo.c new file mode 100755 index 00000000..d02b152b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_splines_demo.c @@ -0,0 +1,143 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +/* + * g2_splines_demo.c + * 06/16/99 + */ + +#include + +#include +#ifdef DO_PS +#include +#endif +#ifdef DO_X11 +#include +#endif +#ifdef DO_GD +#include +#endif +#ifdef DO_WIN32 +#include +#endif +#ifdef DO_WMF32 +#include +#endif + + + +#define n 14 +#define o 60 +#define tn 0.6 + +#define X11 0 +#define PS 1 +#define GD 2 + +int otp=X11; + +int id=-1 ; /* default output device */ + + +void curves() +{ + int i; + double points[(2*n)]; + double dy[n] = { 10., 280., 140., 200., 60., 120., 380., + 500., 480., 400., 220., 180., 260., 340.}; + + for (i = 0; i < n; i++) { + points[(i+i)] = (i*o)+20.; /* from 20 to 800 (20+(13*60)) */ + points[(i+i+1)] = dy[i]; + } + g2_pen(id, 1); + g2_poly_line(id, n, points); + g2_pen(id, 3); + g2_spline(id, n, points, o); + g2_pen(id, 7); + g2_b_spline(id, n, points, o); + g2_pen(id, 10); + g2_raspln(id, n, points, tn); + g2_pen(id, 19); + g2_para_3(id, n, points); + g2_pen(id, 22); + g2_para_5(id, n, points); +} + +void axes() +{ + g2_line(id, 5, 300, 810, 300); + g2_line(id, 400, 5, 400, 560); +} + +void draw() +{ + g2_rectangle(id, 5, 5, 810, 560); /* window: 815 x 565 */ + axes(); + curves(); +} + +int main(int argc, char *argv[]) +{ + int dev[5]={-1, -1, -1, -1, -1}; + + id=g2_open_vd(); /* open virtual device */ + + printf("\nAdding.."); + +#ifdef DO_PS + printf("..PS"); + dev[0]=g2_open_PS("g2_splines_demo.ps", g2_A4, g2_PS_land); + g2_attach(id, dev[0]); +#endif +#ifdef DO_X11 + printf("..X11"); + dev[1]=g2_open_X11(850, 600); + g2_attach(id, dev[1]); +#endif +#ifdef DO_GD + printf("..GD"); + dev[2]=g2_open_gd("g2_splines_demo.png", 850, 600, g2_gd_png); + g2_attach(id, dev[2]); +#endif +#ifdef DO_WIN32 + printf("..WIN32"); + dev[3]=g2_open_win32(850, 600,"g2_splines_demo",0); + g2_set_auto_flush(dev[3],0); + g2_attach(id, dev[3]); +#endif +#ifdef DO_WMF32 + printf("..WMF32"); + dev[4]=g2_open_win32(850, 600,"g2_splines_demo.emf",1); + g2_set_auto_flush(dev[3],0); + g2_attach(id, dev[4]); +#endif + + g2_set_auto_flush(id,0); + g2_set_coordinate_system(id, 12, 15, 1., 1.); + + draw(); + g2_flush(id); + if (otp==X11) { + printf("\nDone.\n[Enter]\n"); + getchar(); + } + g2_close(id); + return 0; +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_test.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_test.c new file mode 100755 index 00000000..850eda67 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_test.c @@ -0,0 +1,254 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ + +#include +#include + +#ifdef DO_PS +#include +#endif +#ifdef DO_FIG +#include +#endif +#ifdef DO_X11 +#include +#endif +#ifdef DO_GD +#include +#endif +#ifdef DO_WIN32 +#include +#endif +#ifdef DO_WMF32 +#include +#endif + +#define maxdev 10 + +int main() +{ + int i, j; + int d, dev[maxdev]={-1, -1, -1, -1, -1,-1, -1, -1, -1, -1}; + int ndev=0; + char str[256]; + double pts[10]; + double y; +#include "penguin.c" + + printf("\nG2_VERSION %s\n", G2_VERSION); + + d=g2_open_vd(); /* open virtual device */ + + printf("Adding.."); + +#ifdef DO_PS + printf("..PS"); + dev[ndev]=g2_open_PS("g2_test.ps", g2_A4, g2_PS_land); + g2_attach(d, dev[ndev]); + ndev++; + + printf("..EPSF"); + dev[ndev]=g2_open_EPSF("g2_test.eps"); + g2_attach(d, dev[ndev]); + ndev++; + printf("..EPSF_CLIP"); + dev[ndev]=g2_open_EPSF_CLIP("g2_test_clip.eps",200,200); + g2_attach(d, dev[ndev]); + ndev++; +#endif +#ifdef DO_FIG + printf("..FIG"); + dev[ndev]=g2_open_FIG("g2_test.fig"); + g2_attach(d, dev[ndev]); + ndev++; +#endif +#ifdef DO_X11 + printf("..X11"); + dev[ndev]=g2_open_X11(775, 575); + g2_attach(d, dev[ndev]); + ndev++; +#endif +#ifdef DO_GD + printf("..GD(png)"); + dev[ndev]=g2_open_gd("g2_test.png", 775, 575,g2_gd_png); + g2_attach(d, dev[ndev]); + ndev++; + printf("..GD(jpeg)"); + dev[ndev]=g2_open_gd("g2_test.jpg", 775, 575,g2_gd_jpeg); + g2_attach(d, dev[ndev]); + ndev++; +#endif +#ifdef DO_WIN32 + printf("..WIN32"); + dev[ndev]=g2_open_win32(775, 575,"g2_test",0); + g2_attach(d, dev[ndev]); + ndev++; +#endif +#ifdef DO_WMF32 + printf("..WMF32"); + dev[ndev]=g2_open_win32(775, 575,"g2_test.emf",1); + g2_attach(d, dev[ndev]); + ndev++; +#endif + g2_set_auto_flush(d,0); + + printf("\n"); + + /* g2_set_coordinate_system(d, 775, 575, -0.75, -1.0); */ + + for(i=0;i<27;i++) { + g2_pen(d, i); + g2_filled_circle(d, i*20+10, 10, 10); + g2_pen(d, 1); + g2_circle(d, i*20+10, 10, 10); + sprintf(str, "%d", i); + g2_string(d, i*20+7, 21, str); + } + + for(j=0;j=0) + for(i=0;i<=64;i++) { + g2_move(dev[j], 2*i+575, 5); + g2_pen(dev[j], g2_ink(dev[j], i/64., 0, 0)); + g2_line_r(dev[j], 0, 20); + g2_pen(dev[j], g2_ink(dev[j], 0, i/64., 0)); + g2_line_r(dev[j], 10, 20); + g2_pen(dev[j], g2_ink(dev[j], 0, 0, i/64.)); + g2_line_r(dev[j], -10, 20); + } + + g2_pen(d, 1); + g2_line(d, 200, 50, 350, 50); + g2_line(d, 200, 48, 350, 48); + g2_line(d, 200, 46, 350, 46); + g2_line(d, 200, 46, 200, 75); + g2_line(d, 198, 46, 198, 75); + g2_line(d, 196, 46, 196, 75); + g2_string(d, 200, 50, "012abcABC#())(\\-+~*!$%&"); + + g2_pen(d, 1); + for(i=1;i<25;i++) { + g2_line(d, 15, i*20+50, 15, i*20+50+i); + g2_set_font_size(d, 12); + sprintf(str, "%2d:", i); + g2_string(d, 20, i*20+50, str); + g2_set_font_size(d, i); + g2_string(d, 40, i*20+50, "hello, world"); + } + + g2_plot(d, 150, 70); + g2_line(d, 147, 68, 153, 68); + + y=100; + g2_line(d, 120, y, 170, y+50); + g2_triangle(d, 150, y, 250, y, 200, y+50); + g2_rectangle(d, 300, y, 400, y+50); + g2_circle(d, 450, y+25, 25); + g2_ellipse(d, 550, y+25, 45, 25); + g2_arc(d, 650, y+25, 25, 45, 90, 360); + + pts[0]=4; + pts[1]=4; + g2_set_dash(d, 2, pts); + g2_line(d, 120+5, y, 170+5, y+50); + g2_triangle(d, 150+10, y+4, 250-10, y+4, 200, y+50-5); + g2_rectangle(d, 305, y+5, 395, y+50-5); + g2_circle(d, 450, y+25, 20); + g2_ellipse(d, 550, y+25, 40, 20); + g2_arc(d, 650, y+25, 20, 40, 90, 360); + g2_set_dash(d, 0, NULL); + + y=200; + g2_filled_triangle(d, 150, y, 250, y, 200, y+50); + g2_filled_rectangle(d, 300, y, 400, y+50); + g2_filled_circle(d, 450, y+25, 25); + g2_filled_ellipse(d, 550, y+25, 45, 25); + g2_filled_arc(d, 650, y+25, 25, 45, 90, 360); + + + y=300; + pts[0]=150; pts[1]=y; + pts[2]=175; pts[3]=y+100; + pts[4]=200; pts[5]=y; + pts[6]=225; pts[7]=y+100; + pts[8]=250; pts[9]=y; + g2_poly_line(d, 5, pts); + g2_pen(d, 19); + g2_b_spline(d, 5, pts, 20); + g2_pen(d, 1); + + pts[0]=300; pts[1]=y; + pts[2]=350; pts[3]=y; + pts[4]=375; pts[5]=y+50; + pts[6]=325; pts[7]=y+90; + pts[8]=275; pts[9]=y+50; + g2_polygon(d, 5, pts); + + pts[0]=450; pts[1]=y; + pts[2]=500; pts[3]=y; + pts[4]=525; pts[5]=y+50; + pts[6]=475; pts[7]=y+90; + pts[8]=425; pts[9]=y+50; + g2_filled_polygon(d, 5, pts); + + + g2_image(d, 55., 50., 53, 62, penguin); + g2_image(d, 75., 130., 53, 62, penguin); + g2_pen(d, 1); + + g2_line(d, 225, 448, 200+19*25, 448); + for(i=1;i<20;i++) { + g2_pen(d,i+1); + g2_set_line_width(d, i); + g2_move(d, 200+i*25, 450); + g2_line_to(d, 200+i*25, 550); + } + g2_pen(d,1); + + g2_set_line_width(d, 5); + for(i=1;i<10;i++) { + pts[0]=1*i; + pts[1]=2*i; + pts[2]=3*i; + g2_set_dash(d, 3, pts); + g2_line(d, 550, 300+i*8, 750, 350+i*8); + } + + g2_set_dash(d, 0, NULL); + g2_set_line_width(d, 4); + g2_arc(d, 740, 180, 25, 100, -45+15, -45-15); + g2_arc(d, 740, 180, 20, 95, -45-15, -45+15); + g2_filled_arc(d, 740, 180, 12, 50, -45+15, -45-15); + + g2_set_line_width(d, 1); + g2_circle(d, 400, 400, 20); + g2_ellipse(d, 400, 400, 25, 25); + g2_arc(d, 400, 400, 30, 30, 0, 360); + + g2_flush(d); + printf("\nDone.\n[Enter]\n"); + getchar(); + g2_close(d); + return 0; +} + + + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_test.f b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_test.f new file mode 100755 index 00000000..b15712c7 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/g2_test.f @@ -0,0 +1,210 @@ +c +c Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +c This file is part of the g2 library +c +c This library is free software; you can redistribute it and/or +c modify it under the terms of the GNU Lesser General Public +c License as published by the Free Software Foundation; either +c version 2.1 of the License, or (at your option) any later version. +c +c This library is distributed in the hope that it will be useful, +c but WITHOUT ANY WARRANTY; without even the implied warranty of +c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +c Lesser General Public License for more details. +c +c You should have received a copy of the GNU Lesser General Public +c License along with this library; if not, write to the Free Software +c Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +c + +c +c This file will be processed by cpp, the outpu g2testf.f is feeded into fortran compiler +c See Makefile for details. +c + +c program main +c implicit none + integer ndev, i, j + real d, c, dev(0:10) + character str*256 + real pts(0:10) + real y + include 'penguin.inc' +c integer image(64) +c data image/ +c & 0, 0, 2, 2, 2, 2, 0, 0, +c & 0, 2, 0, 0, 0, 0, 2, 0, +c & 2, 0, 3, 0, 0, 3, 0, 2, +c & 2, 0, 0, 0, 0, 0, 0, 2, +c & 2, 3, 0, 0, 0, 0, 3, 2, +c & 2, 0, 3, 3, 3, 3, 0, 2, +c & 0, 2, 0, 0, 0, 0, 2, 0, +c & 0, 0, 2, 2, 2, 2, 0, 0 / +c /*open virtual device */ + d=g2_open_vd() + print*,"Adding.. VD=", d + ndev = 1 + +#ifdef DO_PS + dev(ndev)=g2_open_ps('g2testf.ps', 4., 0.) + print*,"..PS=",dev(ndev) + call g2_attach(d, dev(ndev)) + ndev = ndev + 1 +#endif +#ifdef DO_X11 + dev(ndev)=g2_open_x11(775., 575.) + print*,"..X11=",dev(ndev) + call g2_attach(d,dev(ndev)) + ndev = ndev + 1 +#endif +#ifdef DO_GD + str='g2testf.png' + str(12:12)=char(0) + dev(ndev)=g2_open_gd(str, 775., 575., 0.) + print*,"..GD=",dev(ndev) + call g2_attach(d,dev(ndev)) + ndev = ndev + 1 +#endif + call g2_set_auto_flush(d,0.) + +c call g2_set_coordinate_system(d, 775., 575., -0.75, -1.0) + + do i=0,27 + call g2_pen(d, float(i)) + call g2_filled_circle(d, float(i*20+10), 10., 10.) + call g2_pen(d, 1.) + call g2_circle(d, float(i*20+10), 10., 10.) + write(str(1:4),'(i3,a1)') i,char(0) + call g2_string(d, float(i*20+7), 21., str(1:4)) + enddo + + do j=1,ndev + if(dev(j).gt.0) then + do i=0,64 + call g2_move(dev(j), float(2*i+575), 5.) + c = g2_ink(dev(j), float(i)/64., 0., 0.) + call g2_pen(dev(j), c) + call g2_line_r(dev(j), 0., 20.) + c = g2_ink(dev(j), 0., float(i)/64., 0.) + call g2_pen(dev(j), c ) + call g2_line_r(dev(j), 10., 20.) + c = g2_ink(dev(j), 0., 0., float(i)/64.) + call g2_pen(dev(j), c) + call g2_line_r(dev(j), -10., 20.) + enddo + endif + enddo + call g2_pen(d, 1.) + call g2_line(d, 200., 50., 350., 50.) + call g2_line(d, 200., 48., 350., 48.) + call g2_line(d, 200., 46., 350., 46.) + call g2_line(d, 200., 46., 200., 75.) + call g2_line(d, 198., 46., 198., 75.) + call g2_line(d, 196., 46., 196., 75.) + str="012abcABC#())(\\-+~*!$%&"//char(0) + call g2_string(d, 200., 50., str) + + call g2_pen(d, 1.) + do i=1,25 + call g2_line(d, 15., float(i*20+50), 15., float(i*20+50+i)) + call g2_set_font_size(d, 12.) + write(str(1:3),'(i2,a1)') i,char(0) + call g2_string(d, 20., float(i*20+50), str) + call g2_set_font_size(d, float(i)) + str='Hello, world!'//char(0) + call g2_string(d, 40., float(i*20+50), str) + enddo + + + call g2_plot(d, 150., 70.) + call g2_line(d, 147., 68., 153., 68.) + + y=100. + call g2_line(d, 100., y, 150., y+50.) + call g2_triangle(d, 150., y, 250., y, 200., y+50.) + call g2_rectangle(d, 300., y, 400., y+50.) + call g2_circle(d, 450., y+25., 25.) + call g2_ellipse(d, 550., y+25., 45., 25.) + call g2_arc(d, 650., y+25., 25., 45., 90., 360.) + + y=200. + call g2_filled_triangle(d, 150., y, 250., y, 200., y+50.) + call g2_filled_rectangle(d, 300., y, 400., y+50.) + call g2_filled_circle(d, 450., y+25., 25.) + call g2_filled_ellipse(d, 550., y+25., 45., 25.) + call g2_filled_arc(d, 650., y+25., 25., 45., 90., 360.) + + + y=300. + pts(0)=150. + pts(1)=y + pts(2)=175. + pts(3)=y+100. + pts(4)=200. + pts(5)=y + pts(6)=225. + pts(7)=y+100. + pts(8)=250. + pts(9)=y + call g2_poly_line(d, 5., pts) + call g2_pen(d, 19.) + call g2_b_spline(d, 5., pts, 20.) + call g2_pen(d, 1.) + + pts(0)=300. + pts(1)=y + pts(2)=350. + pts(3)=y + pts(4)=375. + pts(5)=y+50. + pts(6)=325. + pts(7)=y+90. + pts(8)=275. + pts(9)=y+50. + call g2_polygon(d, 5., pts) + + pts(0)=450. + pts(1)=y + pts(2)=500. + pts(3)=y + pts(4)=525. + pts(5)=y+50. + pts(6)=475. + pts(7)=y+90. + pts(8)=425. + pts(9)=y+50. + call g2_filled_polygon(d, 5, pts) + + call g2_image(d, 55., 50., 53., 62., penguin) + call g2_image(d, 75., 130., 53., 62., penguin) + call g2_pen(d, 1.) + + call g2_line(d, 225., 448., float(200+19*25), 448.) + do i=1,20 + call g2_pen(d,float(i+1)) + call g2_set_line_width(d, float(i)) + call g2_move(d, float(200+i*25), 450.) + call g2_line_to(d, float(200+i*25), 550.) + enddo + call g2_pen(d,1.) + + call g2_set_line_width(d, 5.) + do i=1,10 + pts(0)=float(1*i) + pts(1)=float(2*i) + pts(2)=float(3*i) + call g2_set_dash(d, 3., pts) + call g2_line(d, 550., float(300+i*8), 750., float(350+i*8)) + enddo + + call g2_set_dash(d, 0., pts) + call g2_set_line_width(d, 5.) + call g2_arc(d, 740., 180., 25., 100., -45.+15., -45.-15.) + call g2_filled_arc(d, 740., 180., 12., 50., -45.+15., -45.-15.) +c---------------------------------------------------------- + call g2_flush(d) + print*,"Done...(Enter)" + read(*,'(a)') str + call g2_close(d) + end +c #eof# diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/handles.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/handles.c new file mode 100755 index 00000000..5bc5d53f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/handles.c @@ -0,0 +1,58 @@ +/***************************************************************************** +** Copyright (C) 1998-2005 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include +#include +#include + +#include + +int main() +{ + int d1, d2; + void *handles[G2_PD_HANDLES_SIZE]; + Display *display; + Drawable *drawable; + GC *gc; + + + d1=g2_open_X11(100, 100); + g2_line(d1, 10, 10, 90, 90); + + g2_get_pd_handles(d1, handles); + display = handles[0]; + drawable = handles[5]; + gc = handles[4]; + + printf("%p %p %p\n", display, drawable, gc); + + XDrawString(display, *drawable, *gc, + 10,10, "OK", 2); + + g2_flush(d1); + + d2=g2_open_PS("handles.ps", g2_A4, g2_PS_port); + g2_get_pd_handles(d2, handles); + printf("%p %p %p\n", handles[0], handles[1], handles[2]); + + + getchar(); + return 0; +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/penguin.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/penguin.c new file mode 100755 index 00000000..6b5a1f45 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/penguin.c @@ -0,0 +1,63 @@ +static int penguin[53*62] = +{00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,01,01,00,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,00,00,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,00,01,01,01,01,01,01,00,00,00,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,00,00,00,00,01,01,01,00,00,00,00,00,00,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,00,01,00,00,01,01,00,00,00,01,01,00,00,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,00,01,01,00,00,01,01,01,00,00,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,00,01,01,01,00,01,01,01,00,00,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,00,25,25,25,25,25,25,25,01,01,00,00,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,25,25,25,25,25,25,25,25,25,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,25,25,25,25,25,25,25,25,25,25,25,25,25,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,25,25,25,25,25,25,25,25,25,25,25,25,25,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,25,25,25,25,25,25,25,25,01,01,25,25,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,25,25,25,01,01,25,25,25,25,00,01,01,01,00,00,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,25,25,25,25,01,01,00,00,01,01,00,00,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,00,00,01,01,25,01,01,01,01,00,00,00,00,01,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,00,00,01,01,01,01,01,00,00,00,00,00,00,01,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,00,00,00,01,01,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,00,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,00,01,01,01,01,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,01,01,00,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,00,01,01,01,01,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,00,01,01,01,01,01,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,00,01,01,01,01,01,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,00,01,01,01,01,01,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,01,01,00,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,00,01,01,01,01,01,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,01,01,00,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,00,01,01,01,01,01,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,00,01,01,01,01,01,00,00,00,00,00,00, +00,00,00,00,00,00,00,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,00,00,00,00,00,00, +00,00,00,00,00,00,00,01,01,01,01,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,00,00,00,00,00,00, +00,00,00,00,00,00,00,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,00,00,00,00,00,00, +00,00,00,00,00,00,00,25,25,25,25,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,01,01,00,00,00,00,00,00, +00,00,00,00,00,00,00,25,25,25,25,25,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,25,25,01,01,01,01,01,01,01,01,25,00,00,00,00,00,00, +00,00,00,00,00,00,01,25,25,25,25,25,25,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,25,25,25,01,01,01,01,01,01,25,25,25,00,00,00,00,00, +00,00,00,00,00,00,01,25,25,25,25,25,25,25,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,25,25,25,01,01,01,01,01,25,25,25,01,00,00,00,00,00, +00,00,00,00,00,01,25,25,25,25,25,25,25,25,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,25,25,25,25,01,01,01,25,25,25,25,01,00,00,00,00,00, +00,25,25,25,25,25,25,25,25,25,25,25,25,25,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,25,25,25,25,25,25,25,25,25,25,25,01,01,00,00,00,00, +01,25,25,25,25,25,25,25,25,25,25,25,25,25,25,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,25,25,25,25,25,25,25,25,25,25,25,01,01,01,00,00,00, +00,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,25,25,25,25,25,25,25,25,25,25,25,25,01,01,01,00,00, +00,01,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,25,25,25,25,25,25,25,25,25,25,25,25,25,25,01,01,00, +00,01,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,01,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,01, +00,01,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,01,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,00,01,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,01, +00,01,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,01,00,01,00,00,00,00,00,00,00,00,01,01,01,01,00,01,25,25,25,25,25,25,25,25,25,25,25,25,25,25,01,01,00, +01,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,00,01,25,25,25,25,25,25,25,25,25,25,25,25,25,01,00,00,00, +01,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,25,25,25,25,25,25,25,25,25,01,01,01,00,00,00,00,00, +00,01,01,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,25,25,25,25,25,25,25,25,01,01,00,00,00,00,00,00,00, +00,00,01,01,01,01,25,25,25,25,25,25,25,25,25,25,25,25,25,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,01,25,25,25,25,25,25,25,01,01,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,01,01,01,01,25,25,25,25,25,25,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,25,25,25,25,01,01,01,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,01,01,01,01,25,25,25,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00, +00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,01,01,01,00,00,00,00,00,00,00,00,00,00,00,00}; diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/penguin.inc b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/penguin.inc new file mode 100755 index 00000000..52495e33 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/penguin.inc @@ -0,0 +1,64 @@ + real penguin(1:53,1:62) + data ((penguin(i,j),i=1,53),j=1,62)/ + & 23*0,5*1,25*0, + & 20*0,12*1,21*0, + & 19*0,14*1,20*0, + & 19*0,11*1,1*0,3*1,19*0, + & 18*0,12*1,2*0,2*1,19*0, + & 18*0,17*1,18*0, + & 17*0,19*1,17*0, + & 17*0,19*1,17*0, + & 17*0,19*1,17*0, + & 17*0,3*1,1*0,6*1,3*0,6*1,17*0, + & 17*0,2*1,4*0,3*1,6*0,4*1,17*0, + & 17*0,2*1,1*0,1*1,2*0,2*1,3*0,2*1,2*0,4*1,17*0, + & 17*0,5*1,1*0,2*1,2*0,3*1,2*0,4*1,17*0, + & 17*0,5*1,1*0,3*1,1*0,3*1,2*0,4*1,17*0, + & 17*0,3*1,1*0,7*25,2*1,2*0,4*1,17*0, + & 17*0,4*1,9*25,6*1,17*0, + & 17*0,2*1,13*25,4*1,17*0, + & 18*0,1*1,13*25,4*1,17*0, + & 18*0,2*1,8*25,2*1,2*25,5*1,16*0, + & 18*0,3*1,3*25,2*1,4*25,1*0,3*1,2*0,2*1,15*0, + & 18*0,6*1,4*25,2*1,2*0,2*1,2*0,3*1,14*0, + & 17*0,2*1,2*0,2*1,1*25,4*1,4*0,7*1,14*0, + & 17*0,2*1,2*0,5*1,6*0,7*1,14*0, + & 16*0,3*1,3*0,2*1,9*0,7*1,13*0, + & 15*0,3*1,16*0,7*1,12*0, + & 14*0,3*1,17*0,8*1,11*0, + & 14*0,3*1,17*0,8*1,11*0, + & 14*0,3*1,17*0,3*1,1*0,5*1,10*0, + & 12*0,5*1,18*0,9*1,9*0, + & 12*0,5*1,19*0,3*1,1*0,4*1,9*0, + & 11*0,2*1,1*0,2*1,20*0,9*1,8*0, + & 11*0,5*1,20*0,4*1,1*0,4*1,8*0, + & 11*0,4*1,22*0,8*1,8*0, + & 10*0,4*1,23*0,9*1,7*0, + & 10*0,4*1,24*0,3*1,1*0,5*1,6*0, + & 10*0,4*1,24*0,3*1,1*0,5*1,6*0, + & 9*0,5*1,24*0,3*1,1*0,5*1,6*0, + & 8*0,2*1,1*0,2*1,25*0,3*1,1*0,5*1,6*0, + & 8*0,2*1,1*0,2*1,25*0,3*1,1*0,5*1,6*0, + & 8*0,5*1,25*0,3*1,1*0,5*1,6*0, + & 7*0,6*1,25*0,9*1,6*0, + & 7*0,4*1,1*0,1*1,26*0,8*1,6*0, + & 7*0,5*1,26*0,9*1,6*0, + & 7*0,4*25,2*1,23*0,11*1,6*0, + & 7*0,5*25,2*1,22*0,2*25,8*1,1*25,6*0, + & 6*0,1*1,6*25,3*1,19*0,1*1,3*25,6*1,3*25,5*0, + & 6*0,1*1,7*25,3*1,18*0,1*1,3*25,5*1,3*25,1*1,5*0, + & 5*0,1*1,8*25,3*1,18*0,1*1,4*25,3*1,4*25,1*1,5*0, + & 1*0,13*25,5*1,16*0,1*1,11*25,2*1,4*0, + & 1*1,14*25,5*1,15*0,1*1,11*25,3*1,3*0, + & 1*0,16*25,4*1,14*0,1*1,12*25,3*1,2*0, + & 1*0,1*1,15*25,4*1,14*0,1*1,14*25,2*1,1*0, + & 1*0,1*1,15*25,2*1,14*0,1*1,1*0,1*1,16*25,1*1, + & 1*0,1*1,16*25,1*1,13*0,2*1,1*0,1*1,16*25,1*1, + & 1*0,1*1,17*25,1*1,1*0,1*1,8*0,4*1,1*0,1*1,14*25,2*1,1*0, + & 1*1,18*25,15*1,1*0,1*1,13*25,1*1,3*0, + & 1*1,18*25,17*1,9*25,3*1,5*0, + & 1*0,2*1,16*25,17*1,8*25,2*1,7*0, + & 2*0,4*1,13*25,17*1,7*25,2*1,8*0, + & 8*0,4*1,6*25,3*1,13*0,3*1,4*25,3*1,9*0, + & 10*0,4*1,3*25,2*1,15*0,9*1,10*0, + & 14*0,3*1,19*0,5*1,12*0/ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/pointer.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/pointer.c new file mode 100755 index 00000000..48968a87 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/pointer.c @@ -0,0 +1,46 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include +#include + +int main() +{ + int d; + double x, y; + unsigned int button; + + d=g2_open_X11(100, 50); + + g2_set_coordinate_system(d, 50, 25, 50., 25.); + + g2_line(d, -1, 0, 1, 0); + g2_line(d, 0, -1, 0, 1); + + printf("Press to start\n"); + getchar(); + + for(;;) { + g2_query_pointer(d, &x, &y, &button); + printf("%f %f 0x%04x\n", x, y, button); + } + + return 0; +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_FIG.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_FIG.c new file mode 100755 index 00000000..74da920f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_FIG.c @@ -0,0 +1,30 @@ +/***************************************************************************** +** Copyright (C) 1998-2004 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include + +int main() +{ + int d; + d=g2_open_FIG("simple.fig"); + g2_line(d, 10, 10, 90, 90); + g2_close(d); + return 0; +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_PS.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_PS.c new file mode 100755 index 00000000..29af9014 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_PS.c @@ -0,0 +1,30 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include + +int main() +{ + int d; + d=g2_open_PS("simple.ps", g2_A4, g2_PS_port); + g2_line(d, 10, 10, 90, 90); + g2_close(d); + return 0; +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_X11.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_X11.c new file mode 100755 index 00000000..c2686092 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_X11.c @@ -0,0 +1,31 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include +#include + +int main() +{ + int d; + d=g2_open_X11(100, 100); + g2_line(d, 10, 10, 90, 90); + getchar(); + return 0; +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_gd.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_gd.c new file mode 100755 index 00000000..4871aee6 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_gd.c @@ -0,0 +1,31 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include + +int main() +{ + int d; + + d=g2_open_gd("simple.png", 100, 100, g2_gd_png); + g2_line(d, 10, 10, 90, 90); + g2_close(d); + return 0; +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_win32.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_win32.c new file mode 100755 index 00000000..8dee671c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/simple_win32.c @@ -0,0 +1,31 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include +#include + +int main() +{ + int d; + d=g2_open_win32(100, 100, "simple_win32", 0); + g2_line(d, 10, 10, 90, 90); + getchar(); + return 0; +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/xlink.opt b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/xlink.opt new file mode 100755 index 00000000..6bc5bd48 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/demo/xlink.opt @@ -0,0 +1 @@ +sys$share:decw$xlibshr/share diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/descrip.mms b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/descrip.mms new file mode 100755 index 00000000..e5cc3601 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/descrip.mms @@ -0,0 +1,71 @@ +! +! VMS descrip.mms for g2 +! +GD_INCLUDE = [.-.-.GD-1_8_4] + + +.IFDEF debug +CC_FLAGS = /noopt/debug/nolist/warnings/include_directory=("./src",$(GD_INCLUDE)) \ + /define=(DO_PS, DO_X11, DO_GD) +.ELSE +CC_FLAGS = /nolist/warnings/include_directory=("./src",$(GD_INCLUDE)) \ + /define=(DO_PS, DO_X11, DO_GD) +.ENDIF + +! +! Object files +! +OBJ = [.src]g2_device.obj, [.src]g2_fif.obj, [.src]g2_graphic_pd.obj, \ + [.src]g2_physical_device.obj, [.src]g2_ui_control.obj, \ + [.src]g2_ui_device.obj, [.src]g2_ui_graphic.obj, \ + [.src]g2_ui_virtual_device.obj, [.src]g2_util.obj, \ + [.src]g2_virtual_device.obj, [.src]g2_control_pd.obj, \ + [.src]g2_splines.obj +OBJ_X11 = [.src.X11]g2_X11.obj +OBJ_PS = [.src.PS]g2_PS.obj +OBJ_GD = [.src.GD]g2_GD.obj + +HEADERS = [.src]g2.h, [.src]g2_config.h, [.src]g2_device.h, \ + [.src]g2_funix.h, [.src]g2_graphic_pd.h, \ + [.src]g2_physical_device.h, [.src]g2_util.h, \ + [.src]g2_virtual_device.h, [.src]g2_control_pd.h +HEADERS_X11 = [.src.X11]g2_X11.h, [.src.X11]g2_X11_P.h, \ + [.src.X11]g2_X11_funix.h +HEADERS_PS = [.src.PS]g2_PS.h, [.src.PS]g2_PS_P.h, \ + [.src.PS]g2_PS_definitions.h, [.src.PS]g2_PS_funix.h +HEADERS_GD = [.src.GD]g2_GD.h, [.src.GD]g2_GD_P.h, [.src.GD]g2_GD_funix.h +! +! Rules +! +.c.obj : ; cc $(CC_FLAGS)/obj=$(mms$target) $(mms$source) + + +all : g2.olb + @ write sys$output "Done." + +g2.olb : $(OBJ) $(OBJ_X11) $(OBJ_PS) $(OBJ_GD) + library/create g2.olb $(OBJ), $(OBJ_X11), $(OBJ_PS), $(OBJ_GD) + +clean : + delete [...]*.exe;* , [...]*.obj;* , [...]*.olb;* + + +! +! Dependencies +! +[.src]g2_device.obj : [.src]g2_device.c $(HEADERS) +[.src]g2_fif.obj : [.src]g2_fif.c $(HEADERS) +[.src]g2_graphic_pd.obj : [.src]g2_graphic_pd.c $(HEADERS) +[.src]g2_physical_device.obj : [.src]g2_physical_device.c $(HEADERS) +[.src]g2_ui_control.obj : [.src]g2_ui_control.c $(HEADERS) +[.src]g2_ui_device.obj : [.src]g2_ui_device.c $(HEADERS) +[.src]g2_ui_graphic.obj : [.src]g2_ui_graphic.c $(HEADERS) +[.src]g2_ui_virtual_device.obj : [.src]g2_ui_virtual_device.c $(HEADERS) +[.src]g2_util.obj : [.src]g2_util.c $(HEADERS) +[.src]g2_virtual_device.obj : [.src]g2_virtual_device.c $(HEADERS) +[.src]g2_splines.obj : [.src]g2_splines.c $(HEADERS) + +[.X11]g2_X11.obj : [.src.X11]g2_X11.c $(HEADERS) $(HEADERS_X11) +[.PS]g2_PS.obj : [.src.PS]g2_PS.c $(HEADERS) $(HEADERS_PS) +[.GD]g2_GD.obj : [.src.GD]g2_GD.c $(HEADERS) $(HEADERS_GD) + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/CVS/Entries new file mode 100755 index 00000000..17848105 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/CVS/Entries @@ -0,0 +1 @@ +D diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/CVS/Repository new file mode 100755 index 00000000..e05ed891 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/doc/CVS diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/Entries new file mode 100755 index 00000000..36fcdcd8 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/Entries @@ -0,0 +1,3 @@ +D/CVS//// +/Doxyfile/1.1/Tue Jun 14 21:14:27 2005// +/g2_main.dox/1.1/Mon Apr 5 21:40:53 2004// diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/Repository new file mode 100755 index 00000000..908db64f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/doc diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/Template b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/CVS/Template new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/Doxyfile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/Doxyfile new file mode 100755 index 00000000..a9d6e6a9 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/Doxyfile @@ -0,0 +1,1117 @@ +# Doxyfile 1.3.6 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = g2 + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = 0.7x + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, +# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en +# (Japanese with English messages), Korean, Korean-en, Norwegian, Polish, Portuguese, +# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. + +OUTPUT_LANGUAGE = English + +# This tag can be used to specify the encoding used in the generated output. +# The encoding is not always determined by the language that is chosen, +# but also whether or not the output is meant for Windows or non-Windows users. +# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES +# forces the Windows encoding (this is the default for the Windows binary), +# whereas setting the tag to NO uses a Unix-style encoding (the default for +# all platforms other than Windows). + +USE_WINDOWS_ENCODING = NO + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator +# that is used to form the text in various listings. Each string +# in this list, if found as the leading text of the brief description, will be +# stripped from the text and the result after processing the whole list, is used +# as the annotated text. Otherwise, the brief description is used as-is. If left +# blank, the following values are used ("$name" is automatically replaced with the +# name of the entity): "The $name class" "The $name widget" "The $name file" +# "is" "provides" "specifies" "contains" "represents" "a" "an" "the" + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited +# members of a class in the documentation of that class as if those members were +# ordinary class members. Constructors, destructors and assignment operators of +# the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. It is allowed to use relative paths in the argument list. +# If left blank the directory from which doxygen is run is used as the +# path to strip. + +STRIP_FROM_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explicit @brief command for a brief description. + +JAVADOC_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the DETAILS_AT_TOP tag is set to YES then Doxygen +# will output the detailed description near the top, like JavaDoc. +# If set to NO, the detailed description appears after the member +# documentation. + +DETAILS_AT_TOP = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# re-implements. + +INHERIT_DOCS = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources +# only. Doxygen will then generate output that is more tailored for Java. +# For instance, namespaces will be presented as packages, qualified scopes +# will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = YES + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the +# brief documentation of file, namespace and class members alphabetically +# by member name. If set to NO (the default) the members will appear in +# declaration order. + +SORT_BRIEF_DOCS = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be +# sorted by fully-qualified names, including namespaces. If set to +# NO (the default), the class list will be sorted only by class name, +# not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the +# alphabetical list. + +SORT_BY_SCOPE_NAME = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = YES + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = ../src/ . + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp +# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc + +FILE_PATTERNS = *.c *.h *.dox + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = ../src/g2_fif.c g2_fif.h + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories +# that are symbolic links (a Unix filesystem feature) are excluded from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. + +EXCLUDE_PATTERNS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , where +# is the value of the INPUT_FILTER tag, and is the name of an +# input file. Doxygen will then use the output that the filter program writes +# to standard output. + +INPUT_FILTER = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. +# Note: To get rid of all source code in the generated output, make sure also +# VERBATIM_HEADERS is set to NO. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = YES + +# If the GENERATE_HTMLHELP tag is set to YES, additional index files +# will be generated that can be used as input for tools like the +# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output directory. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be +# generated containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, +# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are +# probably better off using the HTML help feature. + +GENERATE_TREEVIEW = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = YES + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimized for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +# If the XML_PROGRAMLISTING tag is set to YES Doxygen will +# dump the program listings (including syntax highlighting +# and cross-referencing information) to the XML output. Note that +# enabling this will significantly increase the size of the XML output. + +XML_PROGRAMLISTING = YES + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_PREDEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse the +# parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or +# super classes. Setting the tag to NO turns the diagrams off. Note that this +# option is superseded by the HAVE_DOT option below. This is only a fallback. It is +# recommended to install and use dot, since it yields more powerful graphs. + +CLASS_DIAGRAMS = YES + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = NO + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will +# generate a call dependency graph for every global function or class method. +# Note that enabling this option will significantly increase the time of a run. +# So in most cases it will be better to enable call graphs for selected +# functions only using the \callgraph command. + +CALL_GRAPH = NO + +# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen +# will graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_WIDTH = 1024 + +# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_HEIGHT = 1024 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes that +# lay further from the root node will be omitted. Note that setting this option to +# 1 or 2 may greatly reduce the computation time needed for large code bases. Also +# note that a graph may be further truncated if the graph's image dimensions are +# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). +# If 0 is used for the depth value (the default), the graph is not depth-constrained. + +MAX_DOT_GRAPH_DEPTH = 0 + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- + +# The SEARCHENGINE tag specifies whether or not a search engine should be +# used. If set to NO the values of all tags below this one will be ignored. + +SEARCHENGINE = NO diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/g2_main.dox b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/g2_main.dox new file mode 100755 index 00000000..332a2487 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/doc/g2_main.dox @@ -0,0 +1,356 @@ + +/* this file is used mainly to hold some general g2 doxygen +documentation in the doxygen format */ + + +/* define some main groups */ + +/** + * \defgroup interface g2 User Interface + */ + +/** + * \ingroup interface + * \defgroup physdev g2 Physical devices + * + * g2 physical devices are drivers for different output + * formats. + * + */ + + + +/** \mainpage + + +\section licence License Notice + +This library is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as +published by the Free Software Foundation; either version 2.1 of the +License, or (at your option) any later version. This library is +distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public +License for more details. You should have received a copy of the GNU +Lesser General Public License along with this library; if not, write +to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +Boston, MA 02111-1307 USA * + +Copyright (C) 1998-2004 Ljubomir Milanovic & Horst Wagner. + + +\section introduction Introduction + +\subsection what What is g2 ? + +\subsubsection short Short version (if you are in hurry) + + - 2D graphic library + - Simple to use + - Supports several types of output devices (currently X11, + PostScript, devices supported by gd http://www.boutell.com/gd/ + (PNG, JPEG), FIG (http://www.xfig.org) and MS Windows windows) + - Concept allows easy implementation of new device types + - Virtual devices allow to send output simultaneously to several devices + - User definable coordinate system + - Written in ANSI-C + - Tested under Digital Unix, AIX, Linux, VMS and Windows NT + - Perl support + - Fortran interface + +\subsubsection long Long version + +g2 is a simple to use graphics library for 2D graphical applications +written in Ansi-C. This library provides a comprehensive set of +functions for simultaneous generation of graphical output on different +types of devices. Presently, following devices are currently supported +by g2: X11, gd (PNG and JPEG), PostScript and FIG (xfig). +One major feature of the g2_library is the concept of virtual devices. +An arbitrary number of physical devices (such as PostScript, or X11) can +be grouped to create a so-called virtual device. Commands sent to such a +virtual devices will automatically issued to all attached physical +devices. This allows for example simultaneous output to a PNG file and a +Postscript file. A virtual device in turn can be attached to another +virtual device, allowing to construct trees of devices. +Virtual devices can also be useful when using different user-coordinate +systems. E.g. one X11 window showing an overview of a graphical output, +and a second window showing a zoom of a more detailed area of the +graphic. Drawing in both windows is performed by one single command to +the virtual device. + +\code + /-------> PNG: g2_attach(id_PNG,.. + ----------------------- +g2_plot---> | Virtual device: id |--------> X11: g2_attach(id_X11,... + ----------------------- + \-------> PS: g2_attach(id_PS,... +\endcode + +If you don't need or like the concept of virtual devices, simply ignore it. + + + +\section getting Getting Started + +\subsection preinstallation Preinstallation tasks: + + * PNG and JPEG support + + g2 uses the gd library by Thomas Boutell to generate PNG files. This + package is freeware (however not GPL) and can be downloaded at + http://www.boutell.com/gd/. + Linux users might prefer to install a pre-compiled gd rpm package + which should be available at your local RedHat mirrorsite. + NT users should install the gd source package in a subdirectory + named "gd" which should be located in the same directory as the g2 + subdirectory (but not in the g2 directory itself). Otherwise file + locations for gd must be modified in the g2 project workspace. + Unix and VMS users will have to build and install gd according to + the instructions found in the gd distribution. + + +\subsection installation Installation + + +LINUX + + -# Either install RPM packet with binaries, or compile as described + in the UNIX section + +UNIX + + -# Extract package with gzip -dc g2-xxxx.tar.gz | tar xvf - + -# Run './configure' + -# Optionally run 'make depend' + -# Run 'make' + -# Run 'make install' or copy libg2.a and g2.h, g2_X11.h, g2_gd.h, + anf g2_PS.h to the default locations for library and include files. + -# Optional: cd to demo directory and run 'make demo' to compile demo applications + +WINDOWS NT + + -# Extract package using either the .tar.gz or the .zip distribution + -# MS Visual C++ users can build both library and demos with the + supplied project file: g2.dsw (To obtain an icon and use menu + functions you must also build the g2res project in g2.dsw) + -# users of gcc or other commandline based compilers with make + support continue as in Unix example + -# It is also possible to compile g2 on winNT/95 using the free + cygwin32 library and a X-windows library for windows. + Theoretically it should be possible to support both X-windows and + native NT/95 windows at the same time. + +PERL (old instructions) + + -# Change to directory g2_perl + -# Perform following steps + -# perl Makefile.PL + -# make + -# make test + -# make install + -# See the \ref perl "Perl interface" section for more information + -# swig is also supported, more details are comming ... + +VMS + + -# Try to extract either the tar.gz or the zip distribution (whatever + is easier for you) + -# type mms to compile library (descrip.mms file is suplied) + -# run mms in demo directory to compile demo applications + + +\subsection simple A simple example + +The following example is a minimal application. It draws a rectangle in +a postscript file. + +\code +#include +#include + +main() +{ + int id; + id = g2_open_PS("rect.ps", g2_A4, g2_PS_land); + g2_rectangle(id, 20, 20, 150, 150); + g2_close(id); +} +\endcode + +- Always include . Additionally include header files for all +types of devices you want to use. +- Open devices using g2_open_XY functions. The open function +returns a device id of type int, which you need to refer to the device. +- Call g2_close() to close device. +- Consider turning off auto flush (g2_set_auto_flush()) for improved performance. + + +You want to draw a PNG file instead of a PostScript file ? + +replace the PS header file with + +\code +#include +\endcode + +and replace the g2_open_PS function call with + +\code +id = g2_open_gd("rect.png", 300, 200, g2_gd_png); +\endcode + +You want to draw to a PNG file and a PostScript file with one plot +command ? + +Here we use the concept of virtual devices. Open a PNG and PostScript +device, then open a virtual device and attach both the PNG and +PostScript device to the virtual device. Plot commands to the virtual +device will be issued to both PNG and PostScript device. You can attach +and detatch further devices at any time. + +\code +#include +#include +#include + +main() +{ + int id_PS,id_PNG,id; + + id_PS = g2_open_PS("rect.ps", g2_A4, g2_PS_land); + id_PNG = g2_open_gd("rect.png", 300, 200, g2_gd_png); + id = g2_open_vd(); + + g2_attach(id, id_PS); + g2_attach(id, id_PNG); + + g2_rectangle(id, 20, 20, 150, 150); + g2_circle(id, 50, 60, 100); + + g2_close(id); +} +\endcode + +Note: closing a virtual device automatically closes all attached devices. + + +\subsubsection more More examples + +More examples showing the usage of different user coordinate systems, +multiple virtual devices, etc. can be found in the distribution (demo +directory). + + +\subsection fortran Fortran interface + +The Fortran interface for g2 is currently tested for Linux and Digital +Unix/OSF. Function names for Fortran are the same as in C, however +following differences exist: + + * all variables including device IDs are of type REAL + * void functions are implemented as subroutines and must be called + with CALL + * constants defined by #define in C (e.g. g2_A4) do not work. Get + corresponding values from the apropriate header files. + +A short Fortran example: + +\code + program demo + real d,color + d=g2_open_PS('demo_f.ps', 4.0, 1.0) + call g2_plot(d, 50.0, 50.0) + call g2_string(d, 25.0, 75.0, 'TEST ') + color=g2_ink(d, 1.0, 0.0, 0.0) + write (6,*) color + call g2_pen(d, color) + call g2_circle(d, 20.0, 20.0, 10.0) + call g2_flush(d) + call g2_close(d) + stop + end +\endcode + +\subsection perl Perl interface (old info) + +The perl interface for g2 is currently tested for Linux and Digital +Unix/OSF. Function names in perl are the same as in C, however the +device itself is implemented object orientated, i.e. the device argument +is ommited in all functions. +E.g., following simple perl script: + +\code +use G2; + +$d = newX11 G2::Device(100,100); +$d->circle(10, 10, 20); +$d->string(20, 40, "Hello World"); + +print "\nDone.\n[Enter]\n"; +getc(STDIN); + +$d->close() +\endcode + +The creator functions are newX11, newGIF, newPS, etc. and accept the +same arguments as the open functions in the C version. +See the perl documentation (perldoc G2) for more details and the test.pl +script for a more extensive example. + +\section Contact + +You can contact the authors and contributors by e-mail (/ is @ and - is .): + +- Ljubomir Milanovic: ljubo/users-sourceforge-net +- Horst Wagner: wagner/users-sourceforge-net +- Tijs Michels (spline implementation): tijs/vimec-nl + +or visit g2 home page on: http://g2.sourceforge.net/ + +*/ + + + +/** \page paper PS paper sizes + + +\subsection paper PostScript paper sizes + +\code +g2 Name Name Size(Pt) +-------------------------------------------------------- +g2_A0 A0 2384 x 3370 +g2_A1 A1 1684 x 2384 +g2_A2 A2 1191 x 1684 +g2_A3 A3 842 x 1191 +g2_A4 A4 595 x 842 +g2_A5 A5 420 x 595 +g2_A6 A6 297 x 420 +g2_A7 A7 210 x 297 +g2_A8 A8 148 x 210 +g2_A9 A9 105 x 148 +g2_B0 B0 2920 x 4127 +g2_B1 B1 2064 x 2920 +g2_B2 B2 1460 x 2064 +g2_B3 B3 1032 x 1460 +g2_B4 B4 729 x 1032 +g2_B5 B5 516 x 729 +g2_B6 B6 363 x 516 +g2_B7 B7 258 x 363 +g2_B8 B8 181 x 258 +g2_B9 B9 127 x 181 +g2_B10 B10 91 x 127 +g2_Comm_10_Envelope Comm #10 Envelope 297 x 684 +g2_C5_Envelope C5 Envelope 461 x 648 +g2_DL_Envelope DL Envelope 312 x 624 +g2_Folio Folio 595 x 935 +g2_Executive Executive 522 x 756 +g2_Letter Letter 612 x 792 +g2_Legal Legal 612 x 1008 +g2_Ledger Ledger 1224 x 792 +g2_Tabloid Tabloid 792 x 1224 +\endcode + + +*/ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2.dsp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2.dsp new file mode 100755 index 00000000..f8c3c46d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2.dsp @@ -0,0 +1,152 @@ +# Microsoft Developer Studio Project File - Name="g2" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=g2 - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "g2.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "g2.mak" CFG="g2 - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "g2 - Win32 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "g2 - Win32 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "g2 - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /I "../gdwin32" /I "./src" /I "../src" /D "NDEBUG" /D "_WINDOWS" /D "WIN32" /D "DO_PS" /D "DO_GIF" /D "DO_WIN32" /D "DO_FIG" /YX /FD /c +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo + +!ELSEIF "$(CFG)" == "g2 - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /Z7 /Od /I "../gdwin32" /I "./src" /I "../src" /D "_DEBUG" /D "_WINDOWS" /D "WIN32" /D "DO_PS" /D "DO_GIF" /D "DO_WIN32" /D "DO_FIG" /FR /YX /FD /c +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo + +!ENDIF + +# Begin Target + +# Name "g2 - Win32 Release" +# Name "g2 - Win32 Debug" +# Begin Source File + +SOURCE=.\src\g2_control_pd.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_device.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_fif.c +# End Source File +# Begin Source File + +SOURCE=.\src\FIG\g2_FIG.c +# End Source File +# Begin Source File + +SOURCE=.\src\gd\g2_gd.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_graphic_pd.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_physical_device.c +# End Source File +# Begin Source File + +SOURCE=.\src\PS\g2_PS.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_splines.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_ui_control.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_ui_device.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_ui_graphic.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_ui_virtual_device.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_util.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_virtual_device.c +# End Source File +# Begin Source File + +SOURCE=.\src\Win32\g2_win32.c +# End Source File +# Begin Source File + +SOURCE=.\src\Win32\g2_win32_thread.c +# End Source File +# End Target +# End Project diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2.dsw b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2.dsw new file mode 100755 index 00000000..ad098eee --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2.dsw @@ -0,0 +1,98 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "g2"=.\g2.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "g2_anim"=.\g2_anim.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name g2 + End Project Dependency +}}} + +############################################################################### + +Project: "g2demo"=.\g2demo.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name g2 + End Project Dependency +}}} + +############################################################################### + +Project: "g2dll"=.\g2dll.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "g2res"=.\g2res.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Project: "simple_win32"=.\simple_win32.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ + Begin Project Dependency + Project_Dep_Name g2 + End Project Dependency +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_anim.dsp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_anim.dsp new file mode 100755 index 00000000..abac203f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_anim.dsp @@ -0,0 +1,100 @@ +# Microsoft Developer Studio Project File - Name="g2_anim" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=g2_anim - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "g2_anim.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "g2_anim.mak" CFG="g2_anim - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "g2_anim - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "g2_anim - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "g2_anim - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /I "src/gd" /I "./src" /I "src" /I "src/PS" /I "src/WIN32" /I "src/GD" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 + +!ELSEIF "$(CFG)" == "g2_anim - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "src/gd" /I "./src" /I "src" /I "src/PS" /I "src/WIN32" /I "src/GD" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "g2_anim - Win32 Release" +# Name "g2_anim - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\demo\g2_anim.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/CVS/Entries new file mode 100755 index 00000000..17848105 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/CVS/Entries @@ -0,0 +1 @@ +D diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/CVS/Repository new file mode 100755 index 00000000..774fb0d0 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/g2_perl/CVS diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/Entries new file mode 100755 index 00000000..3e1d03e5 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/Entries @@ -0,0 +1,10 @@ +D/CVS//// +/Changes/1.1/Mon Jan 18 10:56:52 1999// +/G2.pm/1.1/Mon Apr 5 21:40:53 2004// +/G2.xs/1.1/Fri Jan 21 00:53:49 2005// +/MANIFEST/1.1/Mon Jan 18 10:56:52 1999// +/Makefile.PL.in/1.1/Mon Apr 5 21:40:53 2004// +/README/1.1/Wed Mar 10 22:23:58 2004// +/test.pl/1.1/Tue Apr 20 02:23:32 2004// +/typemap/1.1/Mon Jan 18 10:56:52 1999// +/Makefile.PL/1.1/Fri Aug 5 10:17:47 2005// diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/Repository new file mode 100755 index 00000000..65251051 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/g2_perl diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/Template b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/CVS/Template new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/Changes b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/Changes new file mode 100755 index 00000000..d0b1f0a1 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/Changes @@ -0,0 +1,5 @@ +Revision history for Perl extension G2. + +0.01 Wed Nov 11 17:34:43 1998 + - original version; created by h2xs 1.18 + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/G2.pm b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/G2.pm new file mode 100755 index 00000000..fd7e511a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/G2.pm @@ -0,0 +1,361 @@ +package G2; + +use strict; +use Carp; +use vars qw($VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD); + +require Exporter; +require DynaLoader; +require AutoLoader; +use strict; + +@ISA = qw(Exporter DynaLoader); +# Items to export into callers namespace by default. Note: do not export +# names by default without a very good reason. Use EXPORT_OK instead. +# Do not simply export all your public functions/methods/constants. +@EXPORT = qw( + G2LD + G2_H + G2_VERSION +); +$VERSION = '0.01'; + +sub AUTOLOAD { + # This AUTOLOAD is used to 'autoload' constants from the constant() + # XS function. If a constant is not found then control is passed + # to the AUTOLOAD in AutoLoader. + + my $constname; + ($constname = $AUTOLOAD) =~ s/.*:://; + my $val = constant($constname, @_ ? $_[0] : 0); + if ($! != 0) { + if ($! =~ /Invalid/) { + $AutoLoader::AUTOLOAD = $AUTOLOAD; + goto &AutoLoader::AUTOLOAD; + } + else { + croak "Your vendor has not defined G2 macro $constname"; + } + } + eval "sub $AUTOLOAD { $val }"; + goto &$AUTOLOAD; +} + +bootstrap G2 $VERSION; + +# Preloaded methods go here. + +# Autoload methods go after =cut, and are processed by the autosplit program. + +1; +__END__ +# Below is the stub of documentation for your module. You better edit it! + +=head1 NAME + +G2 - A simple graphics library ported to Perl. + +=head1 SYNOPSIS + + use G2; + + $dev1 = newX11 G2::Device(775, 575); + $dev2 = newGD G2::Device("test.png",600,200); + + $dev1->rectangle(20,20,150,150); + $dev1->circle(100,150,60); + + $dev2->circle(100,150,60); + $dev2->string(100,50,"A circle in a PNG file"); + +=head1 DESCRIPTION + +g2 is a simple to use graphics library for 2D graphical applications. +This library provides a comprehensive set of functions for +simultaneous generation of graphical output on different types of devices. +Presently, following devices are currently supported by g2: X11, PNG, +PostScript (xfig is in developement). +One major feature of the g2_library is the concept of virtual devices. An +arbitrary number of physical devices (such as PNG, or X11) can be grouped to +create a so-called virtual device. Commands sent to such a virtual devices +will automatically issued to all attached physical devices. This allows for +example simultaneous output to a PNG file and a Postscript file. A virtual +device in turn can be attached to another virtual device, allowing to +construct trees of devices. +Virtual devices can also be useful when using different user-coordinate +systems. E.g. one X11 window showing an overview of a graphical output, and +a second window showing a zoom of a more detailed area of the graphic. +Drawing in both windows is performed by one single command to the virtual +device. +Please see g2 documentation (C interface) for up to date version. + +=head1 Exported constants + + G2LD + G2_H + G2_VERSION + + +=head1 Exported functions + +=head2 Creating new devices + +=over 5 + +=item C + +C I + +opens an X11 window with width and height of X11 window given in pixels. +returns : a new X11 device. + +=item C + +C I + +opens a new PostScript device. +file_name: name of PostScript file +paper: Paper size (e.g. g2_A4, g2_Letter). See +PostScript paper sizes for a full list of supported sizes. +orientation: paper orientation. Either g2_PS_land for +landscape or g2_PS_port for portrait +returns : a new PostScript device. + +=item C + +C I + +open a new GD device +width,height: width and height of the image in pixels +filename: name of the output file. +type: file type, 0-jpeg, 1-png +returns : a new GD device + +=item C + +C I + +Create a new Virtual Device. An arbitrary number of physical devices +(such as PNG, or X11) can be grouped to +create a so-called virtual device. Commands sent to such a virtual devices +will automatically issued to all attached physical devices. This allows for +example simultaneous output to a PNG file and a Postscript file. A virtual +device in turn can be attached to another virtual device, allowing to +construct trees of devices. +Virtual devices can also be useful when using different user-coordinate +systems. E.g. one X11 window showing an overview of a graphical output, and +a second window showing a zoom of a more detailed area of the graphic. +Drawing in both windows is performed by one single command to the virtual +device. + +=head2 Device Functions + +=item C<> + +C I + +=item C<> + +C I + +=item C<> + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=head2 Drawing Functions + + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + +=item C + +C I + Draw an ellipse on device dev + x,y: center point + r1,r2: x and y radius + +=item C + +C I + Draw a filled ellipse on device dev + x,y: center point + r1,r2: x and y radius + +=item C + +C I + +Draw an arc with center point at (x,y), x and y radius given by +r1,r2 and starting and ending angle in radians a1,a2 + +=item C + +C I + Draw a filled arc on device dev + x,y: center point + r1,r2: x and y radius + a1,a2: starting and ending angle in radians + +=item C + +C I + +=item C<> + +C I + +=item C<> + +C I + +=head1 AUTHORS + +Horst Wagner (wagner/users-sourceforge.net) and Ljubomir Milanovic (ljubo/users-sourceforge-net) + +=head1 COPYRIGHT + +Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +This file is part of the g2 library + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +=cut diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/G2.xs b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/G2.xs new file mode 100755 index 00000000..5f4d55fd --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/G2.xs @@ -0,0 +1,922 @@ +#ifdef __cplusplus +extern "C" { +#endif +#include "EXTERN.h" +#include "perl.h" +#include "XSUB.h" + +#ifdef __cplusplus +} +#endif + +#include +#include + +#ifdef DO_PS +#include +#endif /* DO_PS */ + +#ifdef DO_FIG +#include +#endif /* DO_FIG */ + +#ifdef DO_X11 +#include +#endif /* DO_X11 */ + +#ifdef DO_GD +#include +#endif /* DO_GD */ + +#ifdef DO_WIN32 +#include +#endif /* DO_WIN32 */ + + +static int +not_here(s) +char *s; +{ + croak("%s not implemented on this architecture", s); + return -1; +} + +static double +constant(name, arg) +char *name; +int arg; +{ + errno = 0; + switch (*name) { + case 'A': + break; + case 'B': + break; + case 'C': + break; + case 'D': + break; + case 'E': + break; + case 'F': + break; + case 'G': + if (strEQ(name, "G2LD")) +#ifdef G2LD + return G2LD; +#else + goto not_there; +#endif + if (strEQ(name, "G2_H")) +#ifdef G2_H + return G2_H; +#else + goto not_there; +#endif + if (strEQ(name, "G2_VERSION")) +#ifdef G2_VERSION + return atof(G2_VERSION); +#else + goto not_there; +#endif + break; + case 'H': + break; + case 'I': + break; + case 'J': + break; + case 'K': + break; + case 'L': + break; + case 'M': + break; + case 'N': + break; + case 'O': + break; + case 'P': + break; + case 'Q': + break; + case 'R': + break; + case 'S': + break; + case 'T': + break; + case 'U': + break; + case 'V': + break; + case 'W': + break; + case 'X': + break; + case 'Y': + break; + case 'Z': + break; + } + errno = EINVAL; + return 0; + +not_there: + errno = ENOENT; + return 0; +} + +typedef int* DevType; +typedef DevType G2__Device; + + +MODULE = G2 PACKAGE = G2 + + +double +constant(name,arg) + char * name + int arg + +MODULE = G2 PACKAGE = G2::Device PREFIX = g2_ + +#ifdef DO_X11 + +G2::Device +g2_newX11(packname="G2::Device", width=100,height=100) + char * packname + int width + int height + PROTOTYPE: $;$$ + CODE: + { + DevType theDevice; + theDevice = (int *)malloc(sizeof(int)); + *theDevice = g2_open_X11(width, height); + RETVAL = theDevice; + } + OUTPUT: + RETVAL + +#endif /* DO_X11 */ + + +#ifdef DO_WIN32 + +G2::Device +g2_newWin32(packname="G2::Device", width=100,height=100,filename="Win32 window",type=0) + char * packname + int width + int height + char * filename + int type + PROTOTYPE: $;$$ + CODE: + { + DevType theDevice; + theDevice = (int *)malloc(sizeof(int)); + *theDevice = g2_open_win32(width, height, filename, type); + RETVAL = theDevice; + } + OUTPUT: + RETVAL + +#endif /* DO_WIN32 */ + +#ifdef DO_GD + +G2::Device +g2_newGD(packname="G2::Device", filename="g2.png", width=100, height=100, type=1) + char * packname + char * filename + int width + int height + int type + PROTOTYPE: $;$$$ + CODE: + { + DevType theDevice; + theDevice = (int *)malloc(sizeof(int)); + *theDevice = g2_open_gd(filename, width, height, type); + RETVAL = theDevice; + } + OUTPUT: + RETVAL + +#endif /* DO_GD */ + +#ifdef DO_PS + +G2::Device +g2_newPS(packname="G2::Device", filename="g2.ps", paper=1,orientation=1) + char * packname + char * filename + int paper + int orientation + PROTOTYPE: $;$$$ + CODE: + { + DevType theDevice; + theDevice = (int *)malloc(sizeof(int)); + *theDevice = g2_open_PS(filename, paper, orientation); + RETVAL = theDevice; + } + OUTPUT: + RETVAL + +G2::Device +g2_newEPSF(packname="G2::Device", filename="g2.eps") + char * packname + char * filename + PROTOTYPE: $;$$$ + CODE: + { + DevType theDevice; + theDevice = (int *)malloc(sizeof(int)); + *theDevice = g2_open_EPSF(filename); + RETVAL = theDevice; + } + OUTPUT: + RETVAL + +G2::Device +g2_newEPSF_CLIP(packname="G2::Device", filename="g2.eps",width=100,height=100) + char * packname + char * filename + long width + long height + PROTOTYPE: $;$$$ + CODE: + { + DevType theDevice; + theDevice = (int *)malloc(sizeof(int)); + *theDevice = g2_open_EPSF_CLIP(filename,width,height); + RETVAL = theDevice; + } + OUTPUT: + RETVAL + +#endif /* DO_PS */ + +#ifdef DO_FIG + +G2::Device +g2_newFIG(packname="G2::Device", filename="g2.fig") + char * packname + char * filename + PROTOTYPE: $;$$$ + CODE: + { + DevType theDevice; + theDevice = (int *)malloc(sizeof(int)); + *theDevice = g2_open_FIG(filename); + RETVAL = theDevice; + } + OUTPUT: + RETVAL + +#endif /* DO_FIG */ + + +G2::Device +g2_newvd(packname="G2::Device") + char * packname + PROTOTYPE: $; + CODE: + { + DevType theDevice; + theDevice = (int *)malloc(sizeof(int)); + *theDevice = g2_open_vd(); + RETVAL = theDevice; + } + OUTPUT: + RETVAL + + +void +g2_DESTROY(dev) + G2::Device dev + PROTOTYPE: $ + CODE: + { + if(g2_device_exist(*dev)) { + g2_close(*dev); + } + free(dev); + } + + +void +g2_attach(vd_dev, dev) + G2::Device vd_dev + G2::Device dev + PROTOTYPE: $ + CODE: + { + g2_attach(*vd_dev, *dev); + } + +void +g2_detach(vd_dev, dev) + G2::Device vd_dev + G2::Device dev + PROTOTYPE: $ + CODE: + { + g2_detach(*vd_dev, *dev); + } + +void +g2_close(dev) + G2::Device dev + PROTOTYPE: + CODE: + { + g2_close(*dev); + } + +void +g2_set_auto_flush(dev, on_off) + G2::Device dev + int on_off + PROTOTYPE: $ + CODE: + { + g2_set_auto_flush(*dev, on_off); + } + +void +g2_flush(dev) + G2::Device dev + PROTOTYPE: + CODE: + { + g2_flush(*dev); + } + +void +g2_save(dev) + G2::Device dev + PROTOTYPE: + CODE: + { + g2_save(*dev); + } + +void +g2_set_coordinate_system(dev, x_origin, y_origin, x_mul, y_mul) + G2::Device dev + double x_origin + double y_origin + double x_mul + double y_mul + PROTOTYPE: $$$$ + CODE: + { + g2_set_coordinate_system(*dev, x_origin, y_origin, x_mul, y_mul); + } + + +int +g2_ink(pd_dev, red, green, blue) + G2::Device pd_dev + double red + double green + double blue + PROTOTYPE: $$$ + CODE: + { + RETVAL = g2_ink(*pd_dev, red, green, blue); + } + OUTPUT: + RETVAL + +void +g2_pen(dev, color) + G2::Device dev + int color + PROTOTYPE: $ + CODE: + { + g2_pen(*dev, color); + } + + +void +g2_set_dash(dev, N, dashes=NULL) + G2::Device dev + int N + double * dashes + PROTOTYPE: $ + CODE: + { + g2_set_dash(*dev, N, dashes); + free(dashes); + } + +void +g2_set_font_size(dev, size) + G2::Device dev + double size + PROTOTYPE: $ + CODE: + { + g2_set_font_size(*dev, size); + } + +void +g2_set_line_width(dev, w) + G2::Device dev + double w + PROTOTYPE: $ + CODE: + { + g2_set_line_width(*dev, w); + } + +void +g2_clear_palette(dev) + G2::Device dev + PROTOTYPE: + CODE: + { + g2_clear_palette(*dev); + } + +void +g2_reset_palette(dev) + G2::Device dev + PROTOTYPE: + CODE: + { + g2_reset_palette(*dev); + } + +void +g2_allocate_basic_colors(dev) + G2::Device dev + PROTOTYPE: + CODE: + { + g2_allocate_basic_colors(*dev); + } + +void +g2_clear(dev) + G2::Device dev + PROTOTYPE: + CODE: + { + g2_clear(*dev); + } + +void +g2_set_background(dev, color) + G2::Device dev + int color + PROTOTYPE: $ + CODE: + { + g2_set_background(*dev, color); + } + +void +g2_move(dev, x, y) + G2::Device dev + double x + double y + PROTOTYPE: $$ + CODE: + { + g2_move(*dev, x, y); + } + +void +g2_move_r(dev, dx, dy) + G2::Device dev + double dx + double dy + PROTOTYPE: $$ + CODE: + { + g2_move_r(*dev, dx, dy); + } + +void +g2_plot(dev, x, y) + G2::Device dev + double x + double y + PROTOTYPE: $$ + CODE: + { + g2_plot(*dev, x, y); + } + +void +g2_plot_r(dev, dx, dy) + G2::Device dev + double dx + double dy + PROTOTYPE: $$ + CODE: + { + g2_plot_r(*dev, dx, dy); + } + + + +void +g2_line(dev, x1, y1, x2, y2) + G2::Device dev + double x1 + double y1 + double x2 + double y2 + + PROTOTYPE: $$$$ + CODE: + { + g2_line(*dev, x1, y1, x2, y2); + } + +void +g2_line_r(dev, dx, dy) + G2::Device dev + double dx + double dy + PROTOTYPE: $$ + CODE: + { + g2_line_r(*dev, dx, dy); + } + +void +g2_line_to(dev, x, y) + G2::Device dev + double x + double y + PROTOTYPE: $$ + CODE: + { + g2_line_to(*dev, x, y); + } + +void +g2_poly_line(dev, N_pt, points) + G2::Device dev + int N_pt + double * points + PROTOTYPE: $$ + CODE: + { + g2_poly_line(*dev, N_pt, points); + free(points); + } + +void +g2_triangle(dev, x1, y1, x2, y2, x3, y3) + G2::Device dev + double x1 + double y1 + double x2 + double y2 + double x3 + double y3 + PROTOTYPE: $$$$$$$ + CODE: + { + g2_triangle(*dev, x1, y1, x2, y2, x3, y3); + } + + +void +g2_filled_triangle(dev, x1, y1, x2, y2, x3, y3) + G2::Device dev + double x1 + double y1 + double x2 + double y2 + double x3 + double y3 + PROTOTYPE: $$$$$$$ + CODE: + { + g2_filled_triangle(*dev, x1, y1, x2, y2, x3, y3); + } + +void +g2_rectangle(dev, x1, y1, x2, y2) + G2::Device dev + double x1 + double y1 + double x2 + double y2 + PROTOTYPE: $$$$ + CODE: + { + g2_rectangle(*dev, x1, y1, x2, y2); + } + + +void +g2_filled_rectangle(dev, x1, y1, x2, y2) + G2::Device dev + double x1 + double y1 + double x2 + double y2 + PROTOTYPE: $$$$ + CODE: + { + g2_filled_rectangle(*dev, x1, y1, x2, y2); + } + +void +g2_polygon(dev, N_pt, points) + G2::Device dev + int N_pt + double * points + PROTOTYPE: $$ + CODE: + { + g2_polygon(*dev, N_pt, points); + free(points); + } + +void +g2_filled_polygon(dev, N_pt, points) + G2::Device dev + int N_pt + double * points + PROTOTYPE: $$ + CODE: + { + g2_filled_polygon(*dev, N_pt, points); + free(points); + } + +void +g2_circle(dev, x, y, r) + G2::Device dev + double x + double y + double r + PROTOTYPE: $$$ + CODE: + { + g2_circle(*dev, x, y, r); + } + +void +g2_filled_circle(dev, x, y, r) + G2::Device dev + double x + double y + double r + PROTOTYPE: $$$ + CODE: + { + g2_filled_circle(*dev, x, y, r); + } + +void +g2_ellipse(dev, x, y, r1, r2) + G2::Device dev + double x + double y + double r1 + double r2 + PROTOTYPE: $$$$ + CODE: + { + g2_ellipse(*dev, x, y, r1, r2); + } + +void +g2_filled_ellipse(dev, x, y, r1, r2) + G2::Device dev + double x + double y + double r1 + double r2 + PROTOTYPE: $$$$ + CODE: + { + g2_filled_ellipse(*dev, x, y, r1, r2); + } + +void +g2_arc(dev, x, y, r1, r2, a1, a2) + G2::Device dev + double x + double y + double r1 + double r2 + double a1 + double a2 + PROTOTYPE: $$$$$$ + CODE: + { + g2_arc(*dev, x, y, r1, r2, a1, a2); + } + +void +g2_filled_arc(dev, x, y, r1, r2, a1, a2) + G2::Device dev + double x + double y + double r1 + double r2 + double a1 + double a2 + PROTOTYPE: $$$$$$ + CODE: + { + g2_filled_arc(*dev, x, y, r1, r2, a1, a2); + } + +void +g2_string(dev, x, y, text) + G2::Device dev + double x + double y + char * text + PROTOTYPE: $$$ + CODE: + { + g2_string(*dev, x, y, text); + } + +void +g2_set_QP(dev, d, shape) + G2::Device dev + double d + enum QPshape shape + PROTOTYPE: $$ + CODE: + { + g2_set_QP(*dev, d, shape); + } + +void +g2_plot_QP(dev, x, y) + G2::Device dev + double x + double y + PROTOTYPE: $$ + CODE: + { + g2_plot_QP(*dev, x, y); + } + +void +g2_query_pointer(dev) + G2::Device dev + PROTOTYPE: $$ + CODE: + { + double x, y; + unsigned int button; + g2_query_pointer(*dev, &x, &y, &button); + } + + + + + +void +g2_spline(dev, N_pt, points, o) + G2::Device dev + int N_pt + double * points + int o + PROTOTYPE: $$ + CODE: + { + g2_spline(*dev, N_pt, points, o); + free(points); + } + + +void +g2_b_spline(dev, N_pt, points, o) + G2::Device dev + int N_pt + double * points + int o + PROTOTYPE: $$ + CODE: + { + g2_b_spline(*dev, N_pt, points, o); + free(points); + } + + +void +g2_raspln(dev, N_pt, points, tn) + G2::Device dev + int N_pt + double * points + double tn + PROTOTYPE: $$ + CODE: + { + g2_raspln(*dev, N_pt, points, tn); + free(points); + } + + +void +g2_para_3(dev, N_pt, points) + G2::Device dev + int N_pt + double * points + PROTOTYPE: $$ + CODE: + { + g2_para_3(*dev, N_pt, points); + free(points); + } + + +void +g2_para_5(dev, N_pt, points) + G2::Device dev + int N_pt + double * points + PROTOTYPE: $$ + CODE: + { + g2_para_5(*dev, N_pt, points); + free(points); + } + + +void +g2_filled_spline(dev, N_pt, points, o) + G2::Device dev + int N_pt + double * points + int o + PROTOTYPE: $$ + CODE: + { + g2_filled_spline(*dev, N_pt, points, o); + free(points); + } + + +void +g2_filled_b_spline(dev, N_pt, points, o) + G2::Device dev + int N_pt + double * points + int o + PROTOTYPE: $$ + CODE: + { + g2_filled_b_spline(*dev, N_pt, points, o); + free(points); + } + + +void +g2_filled_raspln(dev, N_pt, points, tn) + G2::Device dev + int N_pt + double * points + double tn + PROTOTYPE: $$ + CODE: + { + g2_filled_raspln(*dev, N_pt, points, tn); + free(points); + } + + +void +g2_filled_para_3(dev, N_pt, points) + G2::Device dev + int N_pt + double * points + PROTOTYPE: $$ + CODE: + { + g2_filled_para_3(*dev, N_pt, points); + free(points); + } + + +void +g2_filled_para_5(dev, N_pt, points) + G2::Device dev + int N_pt + double * points + PROTOTYPE: $$ + CODE: + { + g2_filled_para_5(*dev, N_pt, points); + free(points); + } diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/MANIFEST b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/MANIFEST new file mode 100755 index 00000000..3e434f1a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/MANIFEST @@ -0,0 +1,7 @@ +Changes +G2.pm +G2.xs +MANIFEST +Makefile.PL +test.pl +typemap diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/Makefile.PL b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/Makefile.PL new file mode 100755 index 00000000..e870d2a4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/Makefile.PL @@ -0,0 +1,10 @@ +use ExtUtils::MakeMaker; +# See lib/ExtUtils/MakeMaker.pm for details of how to influence +# the contents of the Makefile that is written. +WriteMakefile( + 'NAME' => 'G2', + 'VERSION_FROM' => 'G2.pm', # finds $VERSION + 'LIBS' => ['-L./.. -lg2 -L/usr/X11R6/lib64 -L/usr/local/lib -lm -lX11 -lgd'], # e.g., '-lm' + 'DEFINE' => '-DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DLINUX=1 -DDO_PS=1 -DDO_FIG=1 -DDO_X11=1 -DDO_GD=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 ', # e.g., '-DHAVE_SOMETHING' + 'INC' => '-I./../include', # e.g., '-I/usr/local/include' +); diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/Makefile.PL.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/Makefile.PL.in new file mode 100755 index 00000000..14c5a634 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/Makefile.PL.in @@ -0,0 +1,10 @@ +use ExtUtils::MakeMaker; +# See lib/ExtUtils/MakeMaker.pm for details of how to influence +# the contents of the Makefile that is written. +WriteMakefile( + 'NAME' => 'G2', + 'VERSION_FROM' => 'G2.pm', # finds $VERSION + 'LIBS' => ['-L./.. -lg2 @LDFLAGS@'], # e.g., '-lm' + 'DEFINE' => '@DEFS@', # e.g., '-DHAVE_SOMETHING' + 'INC' => '-I./../include', # e.g., '-I/usr/local/include' +); diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/README b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/README new file mode 100755 index 00000000..fbde50c7 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/README @@ -0,0 +1,11 @@ + +To build g2 perl module: + +perl Makefile.PL +make + +Inspect test.pl and comment out unsupported devices. + +make test +make install + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/test.pl b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/test.pl new file mode 100755 index 00000000..8a6304a4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/test.pl @@ -0,0 +1,213 @@ +# Before `make install' is performed this script should be runnable with +# `make test'. After `make install' it should work as `perl test.pl' + +######################### We start with some black magic to print on failure. + +# Change 1..1 below to 1..last_test_to_print . +# (It may become useful if the test is moved to ./t subdirectory.) + +BEGIN { $| = 1; print "1..1\n"; } +END {print "not ok 1\n" unless $loaded;} +use G2; + +$loaded = 1; +print "ok 1\n"; + +######################### End of black magic. + +# Insert your test code below (better if it prints "ok 13" +# (correspondingly "not ok 13") depending on the success of chunk 13 +# of the test code): + +$d = newvd G2::Device(); + +#PS +if ($d->can(newPS)) + { + $dev[0] = newPS G2::Device("test.ps", 4, 0); + $d->attach($dev[0]); + } +else + { + print "Not supported: PS\n"; + } + + +#FIG +if ($d->can(newFIG)) + { + $dev[1] = newFIG G2::Device("test.fig"); + $d->attach($dev[1]); +} +else + { + print "Not supported: FIG\n"; + } + + +#X11 +if ($d->can(newX11)) + { + $dev[2] = newX11 G2::Device(775, 575); + $d->attach($dev[2]); + } +else + { + print "Not supported: X11\n"; + } + + +#Win32 +if ($d->can(newWin32)) + { + $dev[2] = newWin32 G2::Device(775, 575); + $d->attach($dev[2]); + } +else + { + print "Not supported: Win32\n"; + } + +#GD +if ($d->can(newGD)) + { + $dev[3] = newGD G2::Device("test.png", 775, 575, 1); + $d->attach($dev[3]); + } +else + { + print "Not supported: GD\n"; + } + +$d->set_auto_flush(0); + +for($i=0;$i<27;$i++) { + $d->pen($i); + $d->filled_circle($i*20+10, 10, 10); + $d->pen(1); + $d->circle($i*20+10, 10, 10); + $str = sprintf("%d", $i); + $d->string($i*20+7, 21, $str); + } + +for($j=0;$j<$#dev;$j++) + { + if($dev[$j] > 0) + { + for($i=0;$i<=64;$i++) { + $dev[$j]->move( 2*$i+575, 5); + $dev[$j]->pen($dev[$j]->ink($i/64., 0, 0)); + $dev[$j]->line_r(0, 20); + $dev[$j]->pen($dev[$j]->ink(0, $i/64., 0)); + $dev[$j]->line_r(10, 20); + $dev[$j]->pen($dev[$j]->ink(0, 0, $i/64.)); + $dev[$j]->line_r(-10, 20); + } + } + } + + $d->pen(1); + $d->line(200, 50, 350, 50); + $d->line(200, 48, 350, 48); + $d->line(200, 46, 350, 46); + $d->line(200, 46, 200, 75); + $d->line(198, 46, 198, 75); + $d->line(196, 46, 196, 75); + $d->string(200, 50, "012abcABC#())(\\-+~*!$%&"); + $d->pen(1); + for($i=1;$i<25;$i++) { + $d->line(15, $i*20+50, 15, $i*20+50+$i); + $d->set_font_size(12); + $str = sprintf("%2d:", $i); + $d->string(20, $i*20+50, $str); + $d->set_font_size($i); + $d->string(40, $i*20+50, "hello, world"); + } + + $d->plot(150, 70); + $d->line(147, 68, 153, 68); + + $y=100; + $d->line(120, $y, 170, $y+50); + $d->triangle(150, $y, 250, $y, 200, $y+50); + $d->rectangle(300, $y, 400, $y+50); + $d->circle(450, $y+25, 25); + $d->ellipse(550, $y+25, 45, 25); + $d->arc(650, $y+25, 25, 45, 90, 360); + + $pts[0]=4; + $pts[1]=4; + $d->set_dash(2, \@pts); + $d->line(120+5, $y, 170+5, $y+50); + $d->triangle(150+10, $y+4, 250-10, $y+4, 200, $y+50-5); + $d->rectangle(305, $y+5, 395, $y+50-5); + $d->circle(450, $y+25, 20); + $d->ellipse(550, $y+25, 40, 20); + $d->arc(650, $y+25, 20, 40, 90, 360); + $d->set_dash(0); + + $y=200; + $d->filled_triangle(150, $y, 250, $y, 200, $y+50); + $d->filled_rectangle(300, $y, 400, $y+50); + $d->filled_circle(450, $y+25, 25); + $d->filled_ellipse(550, $y+25, 45, 25); + $d->filled_arc(650, $y+25, 25, 45, 90, 360); + + $y=300.; + $pts[0]=150.; $pts[1]=$y; + $pts[2]=175.; $pts[3]=$y+100.; + $pts[4]=200.; $pts[5]=$y; + $pts[6]=225.; $pts[7]=$y+100.; + $pts[8]=250.; $pts[9]=$y; + $d->poly_line(5, \@pts); + $d->pen(19); + $d->b_spline(5, \@pts, 20); + $d->pen(1); + + $pts[0]=300; $pts[1]=$y; + $pts[2]=350; $pts[3]=$y; + $pts[4]=375; $pts[5]=$y+50; + $pts[6]=325; $pts[7]=$y+90; + $pts[8]=275; $pts[9]=$y+50; + $d->polygon(5, \@pts); + + $pts[0]=450; $pts[1]=$y; + $pts[2]=500; $pts[3]=$y; + $pts[4]=525; $pts[5]=$y+50; + $pts[6]=475; $pts[7]=$y+90; + $pts[8]=425; $pts[9]=$y+50; + $d->filled_polygon(5, \@pts); + + + $d->line(225, 448, 200+19*25, 448); + for($i=1;$i<20;$i++) { + $d->pen($i+1); + $d->set_line_width($i); + $d->move(200+$i*25, 450); + $d->line_to(200+$i*25, 550); + } + $d->pen(1); + + $d->set_line_width(5); + for($i=1;$i<10;$i++) { + $pts[0]=1*$i; + $pts[1]=2*$i; + $pts[2]=3*$i; + $d->set_dash(3, \@pts); + $d->line(550, 300+$i*8, 750, 350+$i*8); + } + + $d->set_dash(0); + $d->set_line_width(5); + $d->arc(740, 180, 25, 100, -45+15, -45-15); + $d->filled_arc(740, 180, 12, 50, -45+15, -45-15); + + $d->set_line_width(1); + $d->circle(400, 400, 20); + $d->ellipse(400, 400, 25, 25); + $d->arc(400, 400, 30, 30, 0, 360); + + $d->flush; + print "\nDone.\n[Enter]\n"; + getc(STDIN); + $d->close(); diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/typemap b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/typemap new file mode 100755 index 00000000..837edca5 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2_perl/typemap @@ -0,0 +1,28 @@ +enum QPshape T_PTROBJ +G2::Device T_PTROBJ +double * T_dbl_array + +INPUT +T_dbl_array + { + AV *tempav; + I32 len; + int i; + SV **tv; + if (!SvROK($arg)) { + croak(\"$arg is not a reference.\"); + } + if (SvTYPE(SvRV($arg)) != SVt_PVAV) { + croak(\"$arg is not an array.\"); + } + tempav = (AV*)SvRV($arg); + len = av_len(tempav)+1; + $var = (double *) malloc(len*sizeof(double)); + for (i=0;i +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=g2demo - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "g2demo.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "g2demo.mak" CFG="g2demo - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "g2demo - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "g2demo - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "g2demo - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /O2 /I "src/GIF" /I "./src" /I "src" /I "src/PS" /I "src/WIN32" /I "src/GD" /I "src/FIG" /D "NDEBUG" /D "G2DLL" /D "DO_GIF" /D "_CONSOLE" /D "_MBCS" /D "WIN32" /D "DO_PS" /D "DO_FIG" /D "DO_WIN32" /D "DO_WMF32" /D "DO_EPSF" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /libpath:"./Release" +# SUBTRACT LINK32 /verbose + +!ELSEIF "$(CFG)" == "g2demo - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "g2demo__" +# PROP BASE Intermediate_Dir "g2demo__" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /MD /W3 /Gm /GX /ZI /Od /I "src/gd" /I "./src" /I "src" /I "src/PS" /I "src/WIN32" /I "src/GD" /I "src/FIG" /D "_DEBUG" /D "DO_GD" /D "DO_EPSF_CLIP" /D "_CONSOLE" /D "_MBCS" /D "WIN32" /D "DO_PS" /D "DO_FIG" /D "DO_WIN32" /D "DO_WMF32" /D "DO_EPSF" /FR /YX /FD /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /fo"g2_win32.res" /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /pdbtype:sept /libpath:"./Debug" /libpath:"../gd" + +!ENDIF + +# Begin Target + +# Name "g2demo - Win32 Release" +# Name "g2demo - Win32 Debug" +# Begin Source File + +SOURCE=.\demo\g2_test.c +# End Source File +# Begin Source File + +SOURCE=..\gdwin32\bgd.lib +# End Source File +# End Target +# End Project diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2dll.dsp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2dll.dsp new file mode 100755 index 00000000..b3009e64 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2dll.dsp @@ -0,0 +1,161 @@ +# Microsoft Developer Studio Project File - Name="g2dll" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=g2dll - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "g2dll.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "g2dll.mak" CFG="g2dll - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "g2dll - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "g2dll - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "g2dll - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "G2DLL_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /GX /O2 /I "../gd" /I "./src" /I "../src" /D "NDEBUG" /D "MAKEDLL" /D "G2DLL" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "G2DLL_EXPORTS" /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 + +!ELSEIF "$(CFG)" == "g2dll - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "g2dll___Win32_Debug" +# PROP BASE Intermediate_Dir "g2dll___Win32_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "G2DLL_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /MD /W3 /Gm /GX /ZI /Od /I "../gd" /I "./src" /I "../src" /D "_DEBUG" /D "MAKEDLL" /D "G2DLL" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "G2DLL_EXPORTS" /YX /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "g2dll - Win32 Release" +# Name "g2dll - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\src\g2_control_pd.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_device.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_fif.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_graphic_pd.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_physical_device.c +# End Source File +# Begin Source File + +SOURCE=.\src\PS\g2_PS.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_splines.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_ui_control.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_ui_device.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_ui_graphic.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_ui_virtual_device.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_util.c +# End Source File +# Begin Source File + +SOURCE=.\src\g2_virtual_device.c +# End Source File +# Begin Source File + +SOURCE=.\src\Win32\g2_win32.c +# End Source File +# Begin Source File + +SOURCE=.\src\Win32\g2_win32_thread.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2res.dsp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2res.dsp new file mode 100755 index 00000000..ee971c2f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/g2res.dsp @@ -0,0 +1,101 @@ +# Microsoft Developer Studio Project File - Name="g2res" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=g2res - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "g2res.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "g2res.mak" CFG="g2res - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "g2res - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "g2res - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "g2res - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "g2res__0" +# PROP BASE Intermediate_Dir "g2res__0" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386 + +!ELSEIF "$(CFG)" == "g2res - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "g2res__1" +# PROP BASE Intermediate_Dir "g2res__1" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /MD /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "g2res - Win32 Release" +# Name "g2res - Win32 Debug" +# Begin Source File + +SOURCE=.\src\Win32\g2_Win32.ico +# End Source File +# Begin Source File + +SOURCE=.\src\Win32\g2_win32.rc +# End Source File +# Begin Source File + +SOURCE=.\src\Win32\g2res.c +# End Source File +# End Target +# End Project diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/gd.dsp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/gd.dsp new file mode 100755 index 00000000..a4b3abec --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/gd.dsp @@ -0,0 +1,108 @@ +# Microsoft Developer Studio Project File - Name="gd" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Static Library" 0x0104 + +CFG=gd - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "gd.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "gd.mak" CFG="gd - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "gd - Win32 Release" (based on "Win32 (x86) Static Library") +!MESSAGE "gd - Win32 Debug" (based on "Win32 (x86) Static Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "gd - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo + +!ELSEIF "$(CFG)" == "gd - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "gd___Win" +# PROP BASE Intermediate_Dir "gd___Win" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /Z7 /Od /I "../../../gd1.3" /I "./src" /I "../src" /D "_WINDOWS" /D "WIN32" /D "_DEBUG" /YX /FD /c +# ADD BASE RSC /l 0x409 +# ADD RSC /l 0x409 +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LIB32=link.exe -lib +# ADD BASE LIB32 /nologo +# ADD LIB32 /nologo + +!ENDIF + +# Begin Target + +# Name "gd - Win32 Release" +# Name "gd - Win32 Debug" +# Begin Source File + +SOURCE=..\gd\gd.c +# End Source File +# Begin Source File + +SOURCE=..\gd\gdfontg.c +# End Source File +# Begin Source File + +SOURCE=..\gd\gdfontl.c +# End Source File +# Begin Source File + +SOURCE=..\gd\gdfontmb.c +# End Source File +# Begin Source File + +SOURCE=..\gd\gdfonts.c +# End Source File +# Begin Source File + +SOURCE=..\gd\gdfontt.c +# End Source File +# End Target +# End Project diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/CVS/Entries new file mode 100755 index 00000000..17848105 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/CVS/Entries @@ -0,0 +1 @@ +D diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/CVS/Repository new file mode 100755 index 00000000..7a693e0b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/include diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/CVS/Template b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/CVS/Template new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/g2.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/g2.h new file mode 100755 index 00000000..e16a9229 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/g2.h @@ -0,0 +1,200 @@ +/***************************************************************************** +** Copyright (C) 1998-2005 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _G2_H +#define _G2_H + + +/* g2 version */ +#define G2_VERSION "0.70" + + +#if defined(__cplusplus) +extern "C" +{ +#endif + +/* Common Library header for DLL and application */ +#ifdef WIN32 +#ifdef G2DLL +#ifdef MAKEDLL +/* Create DLL */ +#pragma message( "Building DLL library") +#define G2L __declspec( dllexport) +#else +/* Use DLL */ +#define G2L __declspec( dllimport) +#endif +#else +/* Use static win32 */ +#define G2L +#endif +#else +/* Use non-win32 */ +#define G2L +#endif + + +#define G2LD g2_ld() + +#if defined(SWIG) +#if defined(DO_X11) +%include "X11/g2_X11.h" +#endif +#if defined(DO_PS) +%include "PS/g2_PS.h" +#endif +#if defined(DO_GD) +%include "GD/g2_gd.h" +#endif +#if defined(DO_WIN32) +%include "WIN32/g2_win32.h" +#endif + +%module g2 + +%include typemaps.i + +%{ +#include "g2.h" +#if defined(DO_X11) +#include "g2_X11.h" +#endif +#if defined(DO_PS) +#include "g2_PS.h" +#endif +#if defined(DO_GD) +#include "g2_gd.h" +#endif +#if defined(DO_WIN32) +#include "WIN32/g2_win32.h" +#endif +%} + +#endif +/* end SWIG */ + + +enum QPshape { + QPrect, /**< rectangular quasi pixel */ + QPcirc /**< circle as a quasi pixel */ +}; + +/* compatibility with old versions */ +#define g2_draw_string(dev, x, y, text) g2_string((dev), (x), (y), (text)) + + + +G2L int g2_open_vd(void); +G2L void g2_attach(int vd_dev, int dev); +G2L void g2_detach(int vd_dev, int dev); + +G2L void g2_close(int dev); +G2L void g2_set_auto_flush(int dev, int on_off); +G2L void g2_flush(int dev); +G2L void g2_save(int dev); +G2L void g2_set_coordinate_system(int dev, double x_origin, double y_origin, + double x_mul, double y_mul); + +G2L int g2_ld(); +G2L void g2_set_ld(int dev); + +G2L int g2_ink(int pd_dev, double red, double green, double blue); +G2L void g2_pen(int dev, int color); +G2L void g2_set_dash(int dev, int N, double *dashes); +G2L void g2_set_font_size(int dev, double size); +G2L void g2_set_line_width(int dev, double w); +G2L void g2_clear_palette(int dev); +G2L void g2_reset_palette(int dev); +G2L void g2_allocate_basic_colors(int dev); + +G2L void g2_clear(int dev); +G2L void g2_set_background(int dev, int color); + +G2L void g2_move(int dev, double x, double y); +G2L void g2_move_r(int dev, double dx, double dy); + +G2L void g2_plot(int dev, double x, double y); +G2L void g2_plot_r(int dev, double dx, double dy); +G2L void g2_line(int dev, double x1, double y1, double x2, double y2); +G2L void g2_line_r(int dev, double dx, double dy); +G2L void g2_line_to(int dev, double x, double y); +G2L void g2_poly_line(int dev, int N_pt, double *points); +G2L void g2_triangle(int dev, double x1, double y1, + double x2, double y2, + double x3, double y3); +G2L void g2_filled_triangle(int dev, double x1, double y1, + double x2, double y2, + double x3, double y3); +G2L void g2_rectangle(int dev, double x1, double y1, double x2, double y2); +G2L void g2_filled_rectangle(int dev, + double x1, double y1, double x2, double y2); +G2L void g2_polygon(int dev, int N_pt, double *points); +G2L void g2_filled_polygon(int dev, int N_pt, double *points); +G2L void g2_circle(int dev, double x, double y, double r); +G2L void g2_filled_circle(int dev, double x, double y, double r); +G2L void g2_ellipse(int dev, double x, double y, double r1, double r2); +G2L void g2_filled_ellipse(int dev, double x, double y, double r1, double r2); +G2L void g2_arc(int dev, + double x, double y, + double r1, double r2, + double a1, double a2); +G2L void g2_filled_arc(int dev, double x, double y, + double r1, double r2, + double a1, double a2); +G2L void g2_string(int dev, double x, double y, const char *text); +G2L void g2_image(int dev, + double x, double y, int x_size, int y_size, int *pens); + +G2L void g2_set_QP(int dev, double d, enum QPshape shape); +G2L void g2_plot_QP(int dev, double x, double y); +#if !defined(SWIG) +G2L void g2_query_pointer(int dev, double *x, double *y, unsigned int *button); +#else +extern void g2_query_pointer(int dev, double *OUTPUT,double *OUTPUT,unsigned int *OUTPUT); +#endif + + + /* Tijs Michels */ + /* 06/16/99 */ + +G2L void g2_spline(int id, int n, double *points, int o); +G2L void g2_b_spline(int id, int n, double *points, int o); +G2L void g2_raspln(int id, int n, double *points, double tn); +G2L void g2_para_3(int id, int n, double *points); +G2L void g2_para_5(int id, int n, double *points); +G2L void g2_filled_spline(int id, int n, double *points, int o); +G2L void g2_filled_b_spline(int id, int n, double *points, int o); +G2L void g2_filled_raspln(int id, int n, double *points, double tn); +G2L void g2_filled_para_3(int id, int n, double *points); +G2L void g2_filled_para_5(int id, int n, double *points); + + +/** Actualy private function, but... **/ +G2L int g2_device_exist(int dix); + +/** Use only if you know what are you doing **/ +#define G2_PD_HANDLES_SIZE 32 +G2L void g2_get_pd_handles(int pd, void *handles[G2_PD_HANDLES_SIZE]); + + +#if defined(__cplusplus) +} /* end extern "C" */ +#endif + +#endif /* _G2_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/g2_FIG.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/g2_FIG.h new file mode 100755 index 00000000..908d8f38 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/g2_FIG.h @@ -0,0 +1,54 @@ +/***************************************************************************** +** Copyright (C) 1998-2004 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _G2_FIG_H +#define _G2_FIG_H + +#if defined(__cplusplus) +extern "C" +{ +#endif + + +/* Common Library header for DLL and application */ +#ifdef WIN32 +#ifdef G2DLL +#ifdef MAKEDLL +/* Create DLL */ +#define G2L __declspec( dllexport) +#else +/* Use DLL */ +#define G2L __declspec( dllimport) +#endif +#else +/* Use static win32 */ +#define G2L +#endif +#else +/* Use non-win32 */ +#define G2L +#endif + +G2L int g2_open_FIG(const char *file_name); + + +#if defined(__cplusplus) +} /* end extern "C" */ +#endif + +#endif /* _G2_FIG_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/g2_PS.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/g2_PS.h new file mode 100755 index 00000000..88eb918c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/include/g2_PS.h @@ -0,0 +1,118 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _G2_PS_H +#define _G2_PS_H + +#if defined(__cplusplus) +extern "C" +{ +#endif + +/** + * g2 paper type. + * + * \ingroup PS + */ +enum g2_PS_paper { /* Name Size(Pt) */ + g2_A0, /**< A0 2384 x 3370 */ + g2_A1, /**< A1 1684 x 2384 */ + g2_A2, /**< A2 1191 x 1684 */ + g2_A3, /**< A3 842 x 1191 */ + g2_A4, /**< A4 595 x 842 */ + g2_A5, /**< A5 420 x 595 */ + g2_A6, /**< A6 297 x 420 */ + g2_A7, /**< A7 210 x 297 */ + g2_A8, /**< A8 148 x 210 */ + g2_A9, /**< A9 105 x 148 */ + g2_B0, /**< B0 2920 x 4127 */ + g2_B1, /**< B1 2064 x 2920 */ + g2_B2, /**< B2 1460 x 2064 */ + g2_B3, /**< B3 1032 x 1460 */ + g2_B4, /**< B4 729 x 1032 */ + g2_B5, /**< B5 516 x 729 */ + g2_B6, /**< B6 363 x 516 */ + g2_B7, /**< B7 258 x 363 */ + g2_B8, /**< B8 181 x 258 */ + g2_B9, /**< B9 127 x 181 */ + g2_B10, /**< B10 91 x 127 */ + g2_Comm_10_Envelope, /**< Comm #10 Envelope 297 x 684 */ + g2_C5_Envelope, /**< C5 Envelope 461 x 648 */ + g2_DL_Envelope, /**< DL Envelope 312 x 624 */ + g2_Folio, /**< Folio 595 x 935 */ + g2_Executive, /**< Executive 522 x 756 */ + g2_Letter, /**< Letter 612 x 792 */ + g2_Legal, /**< Legal 612 x 1008 */ + g2_Ledger, /**< Ledger 1224 x 792 */ + g2_Tabloid /**< Tabloid 792 x 1224 */ +}; + + +/** + * g2 paper orientation. + * + * \ingroup PS + */ +enum g2_PS_orientation { + g2_PS_land, /**< landscape */ + g2_PS_port /**< portrait */ +}; + +/* + * g2 Format + */ +enum g2_PS_format { + g2_PS_PostScript, /* PostScript */ + g2_PS_EPSF, /* EPSF format */ + g2_PS_EPSF_CLIP /* EPSF format with predefined Bounding Box*/ +}; + +/* Common Library header for DLL and application */ +#ifdef WIN32 +#ifdef G2DLL +#ifdef MAKEDLL +/* Create DLL */ +#define G2L __declspec( dllexport) +#else +/* Use DLL */ +#define G2L __declspec( dllimport) +#endif +#else +/* Use static win32 */ +#define G2L +#endif +#else +/* Use non-win32 */ +#define G2L +#endif + + +G2L int g2_open_PS(const char *file_name, + enum g2_PS_paper paper, + enum g2_PS_orientation orientation); + +G2L int g2_open_EPSF(const char *file_name); + +G2L int g2_open_EPSF_CLIP(const char *file_name, + long width, long height); + +#if defined(__cplusplus) +} /* end extern "C" */ +#endif + +#endif /* _G2_PS_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/install-sh b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/install-sh new file mode 100755 index 00000000..58719246 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/install-sh @@ -0,0 +1,238 @@ +#! /bin/sh +# +# install - install a program, script, or datafile +# This comes from X11R5. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. +# + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd="$cpprog" + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + -s) stripcmd="$stripprog" + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "install: no input file specified" + exit 1 +else + true +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d $dst ]; then + instcmd=: + else + instcmd=mkdir + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f $src -o -d $src ] + then + true + else + echo "install: $src does not exist" + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "install: no destination specified" + exit 1 + else + true + fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + + if [ -d $dst ] + then + dst="$dst"/`basename $src` + else + true + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' +' +IFS="${IFS-${defaultIFS}}" + +oIFS="${IFS}" +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS="${oIFS}" + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp="${pathcomp}${1}" + shift + + if [ ! -d "${pathcomp}" ] ; + then + $mkdirprog "${pathcomp}" + else + true + fi + + pathcomp="${pathcomp}/" +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd $dst && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename $dst` + else + dstfile=`basename $dst $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename $dst` + else + true + fi + +# Make a temp file name in the proper directory. + + dsttmp=$dstdir/#inst.$$# + +# Move or copy the file name to the temp name + + $doit $instcmd $src $dsttmp && + + trap "rm -f ${dsttmp}" 0 && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing. If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && + +# Now rename the file to the real destination. + + $doit $rmcmd -f $dstdir/$dstfile && + $doit $mvcmd $dsttmp $dstdir/$dstfile + +fi && + + +exit 0 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/libg2.a b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/libg2.a new file mode 100755 index 0000000000000000000000000000000000000000..788bbdddab114ce3d44af268ec5f6b9a9577f2a4 GIT binary patch literal 209838 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

      <-2XzzE;0qh?3{-+NMUY-`Ahz<^gi=jK(>SPU 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 s` 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 Uh2+;LkJ}QyvNikUq;}r&zb=9Kt^fc4 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/CVS/Entries new file mode 100755 index 00000000..17848105 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/CVS/Entries @@ -0,0 +1 @@ +D diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/CVS/Repository new file mode 100755 index 00000000..b54d25ad --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/perl/CVS diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/Entries new file mode 100755 index 00000000..4cb30fa7 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/Entries @@ -0,0 +1,5 @@ +D/CVS//// +/Makefile.PL/1.1/Sun Aug 11 03:10:43 2002// +/README.perl/1.1/Tue Sep 3 03:11:00 2002// +/g2.pm/1.1/Wed Feb 27 02:04:40 2002// +/g2_wrap.c/1.1/Thu Aug 4 13:08:39 2005// diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/Repository new file mode 100755 index 00000000..58d7bedc --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/perl diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/Template b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/CVS/Template new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/Makefile.PL b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/Makefile.PL new file mode 100755 index 00000000..f2cdeb28 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/Makefile.PL @@ -0,0 +1,58 @@ +use ExtUtils::MakeMaker qw(prompt WriteMakefile); + +# =====> PATHS: CHECK AND ADJUST <===== +my @INC = qw(-I../src -I../src/win32 -I../src/PS -I../src/GD); +my @LIBPATH = qw(-L../Debug -L../../gd-1.8.4); +my @LIBS = qw(-lg2); + +# FEATURE FLAGS +warn "\nPlease choose the features that match how g2 was built:\n"; + +my $PS = lc prompt('Build PostScript support?','y') eq 'y'; +my $GD = lc prompt('Build gd (Bitmap) support?','y') eq 'y'; +my $WIN32 = lc prompt('Build Win32 support?','y') eq 'y'; +my $X11 = lc prompt('Build X11 support?','y') eq 'y'; + +warn "\nIf you experience compile problems, please check the \@INC, \@LIBPATH and \@LIBS\n", + "arrays defined in Makefile.PL and manually adjust, if necessary.\n\n"; + +#### no user-serviceable parts below ##### + +push @LIBS,'-lgd' if $GD; +push @LIBS, '-lm' unless $^O eq 'MSWin32'; + +# FreeBSD 3.3 with libgd built from ports croaks if -lXpm is specified +if ($^O ne 'freebsd' && $^O ne 'MSWin32') { + push @LIBS,'-lX11','-lXpm' if $XPM; +} + +my $CAPI = defined $ExtUtils::MakeMaker::CAPI_support ? 'TRUE' : 'FALSE'; +my $DEFINES = ''; +$DEFINES .= ' -DDO_PS' if $PS; +$DEFINES .= ' -DDO_GD' if $GD; +$DEFINES .= ' -DDO_WIN32' if $WIN32; +$DEFINES .= ' -DDO_X11' if $X11; + +WriteMakefile( + 'NAME' => 'g2', + 'VERSION_FROM' => 'g2.pm', + 'dist' => {'COMPRESS'=>'gzip -9f', 'SUFFIX' => 'gz', + 'ZIP'=>'/usr/bin/zip','ZIPFLAGS'=>'-rl'}, + 'OBJECT' => 'g2_wrap.o', + 'OPTIMIZE' => '-g', + 'LIBS' => [join(' ',$ENV{'G2_LIBS'},@LIBPATH,@LIBS)], + 'INC' => join(' ',$ENV{'G2_INC'},@INC), + 'AUTHOR' => 'Horst Wagner', + 'ABSTRACT' => 'Perl interface to g2 Graphics Library', + 'CAPI' => $CAPI, + 'DEFINE' => $DEFINES, +); + +sub MY::postamble { + my $postamble = <<'END'; +html: g2.pm + pod2html --outfile=g2.html g2.pm +END + $postamble; +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/README.perl b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/README.perl new file mode 100755 index 00000000..049a36ea --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/README.perl @@ -0,0 +1,18 @@ +Howto build perl library + +perl Makefile.PL +swig -perl5 -o g2_wrap.c -I../src -DDO_PS -DDO_GD ../src/g2.h +"c:\Program Files\SWIG-1.3.13\swig" -perl5 -o g2_wrap.c -I../src -DDO_PS -DDO_GD -DDO_WIN32 ../src/g2.h +nmake +nmake install + +To make ActiveState PPD: + +tar cvf g2.tar blib +gzip --best g2.tar +nmake ppd +copy tar.gz file into subdir x86 +You have to edit the resulting PPD file and add the location of the package archive into . The location is relative to the PPD file. +To install do: +ppm install g2.ppd + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/g2.pm b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/g2.pm new file mode 100755 index 00000000..f58269c6 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/g2.pm @@ -0,0 +1,10 @@ +# This file was automatically generated by SWIG +package g2; +require Exporter; +require DynaLoader; +@ISA = qw(Exporter DynaLoader); +package g2; +bootstrap g2; +package g2; +@EXPORT = qw( ); +1; diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/g2_wrap.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/g2_wrap.c new file mode 100755 index 00000000..67cdff36 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/perl/g2_wrap.c @@ -0,0 +1,2172 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (http://www.swig.org). + * Version 1.3.13u-20020617-2210 + * + * This file is not intended to be easily readable and contains a number of + * coding conventions designed to improve portability and efficiency. Do not make + * changes to this file unless you know what you are doing--modify the SWIG + * interface file instead. + * ----------------------------------------------------------------------------- */ + +/*********************************************************************** + * common.swg + * + * This file contains generic SWIG runtime support for pointer + * type checking as well as a few commonly used macros to control + * external linkage. + * + * Author : David Beazley (beazley@cs.uchicago.edu) + * + * Copyright (c) 1999-2000, The University of Chicago + * + * This file may be freely redistributed without license or fee provided + * this copyright message remains intact. + ************************************************************************/ + +#include + +#if defined(_WIN32) || defined(__WIN32__) +# if defined(_MSC_VER) +# if defined(STATIC_LINKED) +# define SWIGEXPORT(a) a +# define SWIGIMPORT(a) extern a +# else +# define SWIGEXPORT(a) __declspec(dllexport) a +# define SWIGIMPORT(a) extern a +# endif +# else +# if defined(__BORLANDC__) +# define SWIGEXPORT(a) a _export +# define SWIGIMPORT(a) a _export +# else +# define SWIGEXPORT(a) a +# define SWIGIMPORT(a) a +# endif +# endif +#else +# define SWIGEXPORT(a) a +# define SWIGIMPORT(a) a +#endif + +#ifdef SWIG_GLOBAL +#define SWIGRUNTIME(a) SWIGEXPORT(a) +#else +#define SWIGRUNTIME(a) static a +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void *(*swig_converter_func)(void *); +typedef struct swig_type_info *(*swig_dycast_func)(void **); + +typedef struct swig_type_info { + const char *name; + swig_converter_func converter; + const char *str; + swig_dycast_func dcast; + struct swig_type_info *next; + struct swig_type_info *prev; + void *clientdata; +} swig_type_info; + +#ifdef SWIG_NOINCLUDE + +SWIGIMPORT(swig_type_info *) SWIG_TypeRegister(swig_type_info *); +SWIGIMPORT(swig_type_info *) SWIG_TypeCheck(char *c, swig_type_info *); +SWIGIMPORT(void *) SWIG_TypeCast(swig_type_info *, void *); +SWIGIMPORT(swig_type_info *) SWIG_TypeDynamicCast(swig_type_info *, void **); +SWIGIMPORT(swig_type_info *) SWIG_TypeQuery(const char *); +SWIGIMPORT(void) SWIG_TypeClientData(swig_type_info *, void *); + +#else + +static swig_type_info *swig_type_list = 0; + +/* Register a type mapping with the type-checking */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeRegister(swig_type_info *ti) +{ + swig_type_info *tc, *head, *ret, *next; + /* Check to see if this type has already been registered */ + tc = swig_type_list; + while (tc) { + if (strcmp(tc->name, ti->name) == 0) { + /* Already exists in the table. Just add additional types to the list */ + head = tc; + next = tc->next; + goto l1; + } + tc = tc->prev; + } + head = ti; + next = 0; + + /* Place in list */ + ti->prev = swig_type_list; + swig_type_list = ti; + + /* Build linked lists */ + l1: + ret = head; + tc = ti + 1; + /* Patch up the rest of the links */ + while (tc->name) { + head->next = tc; + tc->prev = head; + head = tc; + tc++; + } + head->next = next; + return ret; +} + +/* Check the typename */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeCheck(char *c, swig_type_info *ty) +{ + swig_type_info *s; + if (!ty) return 0; /* Void pointer */ + s = ty->next; /* First element always just a name */ + while (s) { + if (strcmp(s->name,c) == 0) { + if (s == ty->next) return s; + /* Move s to the top of the linked list */ + s->prev->next = s->next; + if (s->next) { + s->next->prev = s->prev; + } + /* Insert s as second element in the list */ + s->next = ty->next; + if (ty->next) ty->next->prev = s; + ty->next = s; + return s; + } + s = s->next; + } + return 0; +} + +/* Cast a pointer up an inheritance hierarchy */ +SWIGRUNTIME(void *) +SWIG_TypeCast(swig_type_info *ty, void *ptr) +{ + if ((!ty) || (!ty->converter)) return ptr; + return (*ty->converter)(ptr); +} + +/* Dynamic pointer casting. Down an inheritance hierarchy */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) +{ + swig_type_info *lastty = ty; + if (!ty || !ty->dcast) return ty; + while (ty && (ty->dcast)) { + ty = (*ty->dcast)(ptr); + if (ty) lastty = ty; + } + return lastty; +} + +/* Search for a swig_type_info structure */ +SWIGRUNTIME(swig_type_info *) +SWIG_TypeQuery(const char *name) { + swig_type_info *ty = swig_type_list; + while (ty) { + if (ty->str && (strcmp(name,ty->str) == 0)) return ty; + if (ty->name && (strcmp(name,ty->name) == 0)) return ty; + ty = ty->prev; + } + return 0; +} + +/* Set the clientdata field for a type */ +SWIGRUNTIME(void) +SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { + swig_type_info *tc, *equiv; + if (ti->clientdata) return; + ti->clientdata = clientdata; + equiv = ti->next; + while (equiv) { + if (!equiv->converter) { + tc = swig_type_list; + while (tc) { + if ((strcmp(tc->name, equiv->name) == 0)) + SWIG_TypeClientData(tc,clientdata); + tc = tc->prev; + } + } + equiv = equiv->next; + } +} +#endif + +#ifdef __cplusplus +} + +#endif + +/* ----------------------------------------------------------------------------- + * perl5.swg + * + * Perl5 runtime library + * $Header: /homes/mhoechsm/cvsroot/RNAforester/g2-0.70/perl/g2_wrap.c,v 1.1 2005/08/04 13:08:39 mhoechsm Exp $ + * ----------------------------------------------------------------------------- */ + +#define SWIGPERL +#define SWIGPERL5 +#ifdef __cplusplus +/* Needed on some windows machines---since MS plays funny + games with the header files under C++ */ +#include +#include +extern "C" { +#endif +#include "EXTERN.h" +#include "perl.h" +#include "XSUB.h" + +/* Get rid of free and malloc defined by perl */ +#undef free +#undef malloc + +#ifndef pTHX_ +#define pTHX_ +#endif + +#include +#ifdef __cplusplus +} +#endif + +/* Note: SwigMagicFuncHack is a typedef used to get the C++ + compiler to just shut up already */ + +#ifdef PERL_OBJECT +#define MAGIC_PPERL CPerlObj *pPerl = (CPerlObj *) this; +typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *); + +#ifdef __cplusplus +extern "C" { +#endif +typedef int (CPerlObj::*SwigMagicFuncHack)(SV *, MAGIC *); +#ifdef __cplusplus +} +#endif + +#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b) +#define SWIGCLASS_STATIC +#else +#define MAGIC_PPERL +#define SWIGCLASS_STATIC static +#ifndef MULTIPLICITY +#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b) +typedef int (*SwigMagicFunc)(SV *, MAGIC *); + +#ifdef __cplusplus +extern "C" { +#endif +typedef int (*SwigMagicFuncHack)(SV *, MAGIC *); +#ifdef __cplusplus +} +#endif + + +#else +#define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b) +typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *); +#ifdef __cplusplus +extern "C" { +#endif +typedef int (*SwigMagicFuncHack)(struct interpreter *, SV *, MAGIC *); +#ifdef __cplusplus +} +#endif + +#endif +#endif + +#if defined(WIN32) && defined(PERL_OBJECT) && !defined(PerlIO_exportFILE) +#define PerlIO_exportFILE(fh,fl) (FILE*)(fh) +#endif + +/* Modifications for newer Perl 5.005 releases */ + +#if !defined(PERL_REVISION) || ((PERL_REVISION >= 5) && ((PERL_VERSION < 5) || ((PERL_VERSION == 5) && (PERL_SUBVERSION < 50)))) +#ifndef PL_sv_yes +#define PL_sv_yes sv_yes +#endif +#ifndef PL_sv_undef +#define PL_sv_undef sv_undef +#endif +#ifndef PL_na +#define PL_na na +#endif +#endif + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef SWIG_NOINCLUDE + +#ifndef PERL_OBJECT +extern int SWIG_ConvertPtr(SV *, void **, swig_type_info *, int flags); +extern void SWIG_MakePtr(SV *, void *, swig_type_info *, int flags); +#else +extern int _SWIG_ConvertPtr(CPerlObj *, SV *, void **, swig_type_info *,int flags); +extern void _SWIG_MakePtr(CPerlObj *, SV *, void *, swig_type_info *, int flags); +#define SWIG_ConvertPtr(a,b,c,d) _SWIG_ConvertPtr(pPerl,a,b,c,d) +#define SWIG_MakePtr(a,b,c,d) _SWIG_MakePtr(pPerl,a,b,c,d) +#endif + +#else + +/* Function for getting a pointer value */ + +#ifndef PERL_OBJECT +SWIGRUNTIME(int) +SWIG_ConvertPtr(SV *sv, void **ptr, swig_type_info *_t, int flags) +#else +#define SWIG_ConvertPtr(a,b,c,d) _SWIG_ConvertPtr(pPerl,a,b,c,d) +SWIGRUNTIME(int) +_SWIG_ConvertPtr(CPerlObj *pPerl, SV *sv, void **ptr, swig_type_info *_t, int flags) +#endif +{ + char *_c; + swig_type_info *tc; + IV tmp; + + /* If magical, apply more magic */ + if (SvGMAGICAL(sv)) + mg_get(sv); + + /* Check to see if this is an object */ + if (sv_isobject(sv)) { + SV *tsv = (SV*) SvRV(sv); + if ((SvTYPE(tsv) == SVt_PVHV)) { + MAGIC *mg; + if (SvMAGICAL(tsv)) { + mg = mg_find(tsv,'P'); + if (mg) { + SV *rsv = mg->mg_obj; + if (sv_isobject(rsv)) { + tmp = SvIV((SV*)SvRV(rsv)); + } + } + } else { + return -1; + } + } else { + tmp = SvIV((SV*)SvRV(sv)); + } + if (!_t) { + *(ptr) = (void *) tmp; + return 0; + } + } else if (! SvOK(sv)) { /* Check for undef */ + *(ptr) = (void *) 0; + return 0; + } else if (SvTYPE(sv) == SVt_RV) { /* Check for NULL pointer */ + *(ptr) = (void *) 0; + if (!SvROK(sv)) + return 0; + else + return -1; + } else { /* Don't know what it is */ + *(ptr) = (void *) 0; + return -1; + } + if (_t) { + /* Now see if the types match */ + _c = HvNAME(SvSTASH(SvRV(sv))); + tc = SWIG_TypeCheck(_c,_t); + if (!tc) { + *ptr = (void *) tmp; + return -1; + } + *ptr = SWIG_TypeCast(tc,(void *)tmp); + return 0; + } + *ptr = (void *) tmp; + return 0; +} +#ifndef PERL_OBJECT +SWIGRUNTIME(void) +SWIG_MakePtr(SV *sv, void *ptr, swig_type_info *t,int flags) +#else +#define SWIG_MakePtr(a,b,c,d) _SWIG_MakePtr(pPerl,a,b,c,d) +SWIGRUNTIME(void) +_SWIG_MakePtr(CPerlObj *pPerl, SV *sv, void *ptr, swig_type_info *t, int flags) +#endif +{ + sv_setref_pv(sv, (char *) t->name, ptr); +} + +#endif + +typedef XS(SwigPerlWrapper); +typedef SwigPerlWrapper *SwigPerlWrapperPtr; + +/* Structure for command table */ +typedef struct { + const char *name; + SwigPerlWrapperPtr wrapper; +} swig_command_info; + +/* Information for constant table */ + +#define SWIG_INT 1 +#define SWIG_FLOAT 2 +#define SWIG_STRING 3 +#define SWIG_POINTER 4 +#define SWIG_BINARY 5 + +/* Constant information structure */ +typedef struct swig_constant_info { + int type; + const char *name; + long lvalue; + double dvalue; + void *pvalue; + swig_type_info **ptype; +} swig_constant_info; + +#ifdef __cplusplus +} +#endif + +/* Structure for variable table */ +typedef struct { + const char *name; + SwigMagicFunc set; + SwigMagicFunc get; + swig_type_info **type; +} swig_variable_info; + +/* Magic variable code */ +#ifndef PERL_OBJECT +#define swig_create_magic(s,a,b,c) _swig_create_magic(s,a,b,c) + #ifndef MULTIPLICITY + static void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int \ +(*get)(SV *,MAGIC *)) { + #else + static void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*,\ + SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *)) { + #endif +#else +#define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c) +static void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *)) { +#endif + MAGIC *mg; + sv_magic(sv,sv,'U',(char *) name,strlen(name)); + mg = mg_find(sv,'U'); + mg->mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL)); + mg->mg_virtual->svt_get = (SwigMagicFuncHack) get; + mg->mg_virtual->svt_set = (SwigMagicFuncHack) set; + mg->mg_virtual->svt_len = 0; + mg->mg_virtual->svt_clear = 0; + mg->mg_virtual->svt_free = 0; +} + + + + + + + +/* -------- TYPES TABLE (BEGIN) -------- */ + +#define SWIGTYPE_p_double swig_types[0] +#define SWIGTYPE_p_int swig_types[1] +static swig_type_info *swig_types[3]; + +/* -------- TYPES TABLE (END) -------- */ + +#define SWIG_init boot_g2 + +#define SWIG_name "g2::boot_g2" +#define SWIG_prefix "g2::" + +#ifdef __cplusplus +extern "C" +#endif +#ifndef PERL_OBJECT +#ifndef MULTIPLICITY +SWIGEXPORT(void) SWIG_init (CV* cv); +#else +SWIGEXPORT(void) SWIG_init (pTHXo_ CV* cv); +#endif +#else +SWIGEXPORT(void) SWIG_init (CV *cv, CPerlObj *); +#endif + + +#include "g2.h" +#if defined(DO_X11) +#include "g2_X11.h" +#endif +#if defined(DO_PS) +#include "g2_PS.h" +#endif +#if defined(DO_GD) +#include "g2_gd.h" +#endif +#if defined(DO_WIN32) +#include "WIN32/g2_win32.h" +#endif + +extern void g2_query_pointer(int,double *,double *,unsigned int *); +#ifdef PERL_OBJECT +#define MAGIC_CLASS _wrap_g2_var:: +class _wrap_g2_var : public CPerlObj { +public: +#else +#define MAGIC_CLASS +#endif +SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *sv, MAGIC *mg) { + MAGIC_PPERL + sv = sv; mg = mg; + croak("Value is read-only."); + return 0; +} + + +#ifdef PERL_OBJECT +}; +#endif + +#ifdef __cplusplus +extern "C" { +#endif +XS(_wrap_g2_open_PS) { + char *arg1 ; + int arg2 ; + int arg3 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_open_PS(file_name,paper,orientation);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + arg2 = (int) SvIV(ST(1)); + arg3 = (int) SvIV(ST(2)); + result = (int)g2_open_PS((char const *)arg1,(enum g2_PS_paper)arg2,(enum g2_PS_orientation)arg3); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); +} + + +XS(_wrap_g2_open_EPSF) { + char *arg1 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + croak("Usage: g2_open_EPSF(file_name);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + result = (int)g2_open_EPSF((char const *)arg1); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); +} + + +XS(_wrap_g2_open_EPSF_CLIP) { + char *arg1 ; + long arg2 ; + long arg3 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_open_EPSF_CLIP(file_name,width,height);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + arg2 = (long) SvIV(ST(1)); + arg3 = (long) SvIV(ST(2)); + result = (int)g2_open_EPSF_CLIP((char const *)arg1,arg2,arg3); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); +} + + +XS(_wrap_g2_open_gd) { + char *arg1 ; + int arg2 ; + int arg3 ; + int arg4 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 4) || (items > 4)) { + croak("Usage: g2_open_gd(filename,width,height,gd_type);"); + } + if (!SvOK((SV*) ST(0))) arg1 = 0; + else arg1 = (char *) SvPV(ST(0), PL_na); + arg2 = (int) SvIV(ST(1)); + arg3 = (int) SvIV(ST(2)); + arg4 = (int) SvIV(ST(3)); + result = (int)g2_open_gd((char const *)arg1,arg2,arg3,(enum g2_gd_type)arg4); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); +} + + +XS(_wrap_g2_open_win32) { + int arg1 ; + int arg2 ; + char *arg3 ; + int arg4 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 4) || (items > 4)) { + croak("Usage: g2_open_win32(width,height,filename,type);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + if (!SvOK((SV*) ST(2))) arg3 = 0; + else arg3 = (char *) SvPV(ST(2), PL_na); + arg4 = (int) SvIV(ST(3)); + result = (int)g2_open_win32(arg1,arg2,(char const *)arg3,arg4); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); +} + + +XS(_wrap_g2_open_vd) { + int result; + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + croak("Usage: g2_open_vd();"); + } + result = (int)g2_open_vd(); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); +} + + +XS(_wrap_g2_attach) { + int arg1 ; + int arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + croak("Usage: g2_attach(vd_dev,dev);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + g2_attach(arg1,arg2); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_detach) { + int arg1 ; + int arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + croak("Usage: g2_detach(vd_dev,dev);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + g2_detach(arg1,arg2); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_close) { + int arg1 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + croak("Usage: g2_close(dev);"); + } + arg1 = (int) SvIV(ST(0)); + g2_close(arg1); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_set_auto_flush) { + int arg1 ; + int arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + croak("Usage: g2_set_auto_flush(dev,on_off);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + g2_set_auto_flush(arg1,arg2); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_flush) { + int arg1 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + croak("Usage: g2_flush(dev);"); + } + arg1 = (int) SvIV(ST(0)); + g2_flush(arg1); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_save) { + int arg1 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + croak("Usage: g2_save(dev);"); + } + arg1 = (int) SvIV(ST(0)); + g2_save(arg1); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_set_coordinate_system) { + int arg1 ; + double arg2 ; + double arg3 ; + double arg4 ; + double arg5 ; + int argvi = 0; + dXSARGS; + + if ((items < 5) || (items > 5)) { + croak("Usage: g2_set_coordinate_system(dev,x_origin,y_origin,x_mul,y_mul);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + arg4 = (double) SvNV(ST(3)); + + arg5 = (double) SvNV(ST(4)); + + g2_set_coordinate_system(arg1,arg2,arg3,arg4,arg5); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_ld) { + int result; + int argvi = 0; + dXSARGS; + + if ((items < 0) || (items > 0)) { + croak("Usage: g2_ld();"); + } + result = (int)g2_ld(); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); +} + + +XS(_wrap_g2_set_ld) { + int arg1 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + croak("Usage: g2_set_ld(dev);"); + } + arg1 = (int) SvIV(ST(0)); + g2_set_ld(arg1); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_ink) { + int arg1 ; + double arg2 ; + double arg3 ; + double arg4 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 4) || (items > 4)) { + croak("Usage: g2_ink(pd_dev,red,green,blue);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + arg4 = (double) SvNV(ST(3)); + + result = (int)g2_ink(arg1,arg2,arg3,arg4); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); +} + + +XS(_wrap_g2_pen) { + int arg1 ; + int arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + croak("Usage: g2_pen(dev,color);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + g2_pen(arg1,arg2); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_set_dash) { + int arg1 ; + int arg2 ; + double *arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_set_dash(dev,N,dashes);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + { + if (SWIG_ConvertPtr(ST(2), (void **) &arg3, SWIGTYPE_p_double,0) < 0) { + croak("Type error in argument 3 of g2_set_dash. Expected %s", SWIGTYPE_p_double->name); + } + } + g2_set_dash(arg1,arg2,arg3); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_set_font_size) { + int arg1 ; + double arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + croak("Usage: g2_set_font_size(dev,size);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + g2_set_font_size(arg1,arg2); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_set_line_width) { + int arg1 ; + double arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + croak("Usage: g2_set_line_width(dev,w);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + g2_set_line_width(arg1,arg2); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_clear_palette) { + int arg1 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + croak("Usage: g2_clear_palette(dev);"); + } + arg1 = (int) SvIV(ST(0)); + g2_clear_palette(arg1); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_reset_palette) { + int arg1 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + croak("Usage: g2_reset_palette(dev);"); + } + arg1 = (int) SvIV(ST(0)); + g2_reset_palette(arg1); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_allocate_basic_colors) { + int arg1 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + croak("Usage: g2_allocate_basic_colors(dev);"); + } + arg1 = (int) SvIV(ST(0)); + g2_allocate_basic_colors(arg1); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_clear) { + int arg1 ; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + croak("Usage: g2_clear(dev);"); + } + arg1 = (int) SvIV(ST(0)); + g2_clear(arg1); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_set_background) { + int arg1 ; + int arg2 ; + int argvi = 0; + dXSARGS; + + if ((items < 2) || (items > 2)) { + croak("Usage: g2_set_background(dev,color);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + g2_set_background(arg1,arg2); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_move) { + int arg1 ; + double arg2 ; + double arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_move(dev,x,y);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + g2_move(arg1,arg2,arg3); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_move_r) { + int arg1 ; + double arg2 ; + double arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_move_r(dev,dx,dy);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + g2_move_r(arg1,arg2,arg3); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_plot) { + int arg1 ; + double arg2 ; + double arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_plot(dev,x,y);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + g2_plot(arg1,arg2,arg3); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_plot_r) { + int arg1 ; + double arg2 ; + double arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_plot_r(dev,dx,dy);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + g2_plot_r(arg1,arg2,arg3); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_line) { + int arg1 ; + double arg2 ; + double arg3 ; + double arg4 ; + double arg5 ; + int argvi = 0; + dXSARGS; + + if ((items < 5) || (items > 5)) { + croak("Usage: g2_line(dev,x1,y1,x2,y2);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + arg4 = (double) SvNV(ST(3)); + + arg5 = (double) SvNV(ST(4)); + + g2_line(arg1,arg2,arg3,arg4,arg5); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_line_r) { + int arg1 ; + double arg2 ; + double arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_line_r(dev,dx,dy);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + g2_line_r(arg1,arg2,arg3); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_line_to) { + int arg1 ; + double arg2 ; + double arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_line_to(dev,x,y);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + g2_line_to(arg1,arg2,arg3); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_poly_line) { + int arg1 ; + int arg2 ; + double *arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_poly_line(dev,N_pt,points);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + { + if (SWIG_ConvertPtr(ST(2), (void **) &arg3, SWIGTYPE_p_double,0) < 0) { + croak("Type error in argument 3 of g2_poly_line. Expected %s", SWIGTYPE_p_double->name); + } + } + g2_poly_line(arg1,arg2,arg3); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_triangle) { + int arg1 ; + double arg2 ; + double arg3 ; + double arg4 ; + double arg5 ; + double arg6 ; + double arg7 ; + int argvi = 0; + dXSARGS; + + if ((items < 7) || (items > 7)) { + croak("Usage: g2_triangle(dev,x1,y1,x2,y2,x3,y3);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + arg4 = (double) SvNV(ST(3)); + + arg5 = (double) SvNV(ST(4)); + + arg6 = (double) SvNV(ST(5)); + + arg7 = (double) SvNV(ST(6)); + + g2_triangle(arg1,arg2,arg3,arg4,arg5,arg6,arg7); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_filled_triangle) { + int arg1 ; + double arg2 ; + double arg3 ; + double arg4 ; + double arg5 ; + double arg6 ; + double arg7 ; + int argvi = 0; + dXSARGS; + + if ((items < 7) || (items > 7)) { + croak("Usage: g2_filled_triangle(dev,x1,y1,x2,y2,x3,y3);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + arg4 = (double) SvNV(ST(3)); + + arg5 = (double) SvNV(ST(4)); + + arg6 = (double) SvNV(ST(5)); + + arg7 = (double) SvNV(ST(6)); + + g2_filled_triangle(arg1,arg2,arg3,arg4,arg5,arg6,arg7); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_rectangle) { + int arg1 ; + double arg2 ; + double arg3 ; + double arg4 ; + double arg5 ; + int argvi = 0; + dXSARGS; + + if ((items < 5) || (items > 5)) { + croak("Usage: g2_rectangle(dev,x1,y1,x2,y2);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + arg4 = (double) SvNV(ST(3)); + + arg5 = (double) SvNV(ST(4)); + + g2_rectangle(arg1,arg2,arg3,arg4,arg5); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_filled_rectangle) { + int arg1 ; + double arg2 ; + double arg3 ; + double arg4 ; + double arg5 ; + int argvi = 0; + dXSARGS; + + if ((items < 5) || (items > 5)) { + croak("Usage: g2_filled_rectangle(dev,x1,y1,x2,y2);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + arg4 = (double) SvNV(ST(3)); + + arg5 = (double) SvNV(ST(4)); + + g2_filled_rectangle(arg1,arg2,arg3,arg4,arg5); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_polygon) { + int arg1 ; + int arg2 ; + double *arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_polygon(dev,N_pt,points);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + { + if (SWIG_ConvertPtr(ST(2), (void **) &arg3, SWIGTYPE_p_double,0) < 0) { + croak("Type error in argument 3 of g2_polygon. Expected %s", SWIGTYPE_p_double->name); + } + } + g2_polygon(arg1,arg2,arg3); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_filled_polygon) { + int arg1 ; + int arg2 ; + double *arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_filled_polygon(dev,N_pt,points);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + { + if (SWIG_ConvertPtr(ST(2), (void **) &arg3, SWIGTYPE_p_double,0) < 0) { + croak("Type error in argument 3 of g2_filled_polygon. Expected %s", SWIGTYPE_p_double->name); + } + } + g2_filled_polygon(arg1,arg2,arg3); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_circle) { + int arg1 ; + double arg2 ; + double arg3 ; + double arg4 ; + int argvi = 0; + dXSARGS; + + if ((items < 4) || (items > 4)) { + croak("Usage: g2_circle(dev,x,y,r);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + arg4 = (double) SvNV(ST(3)); + + g2_circle(arg1,arg2,arg3,arg4); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_filled_circle) { + int arg1 ; + double arg2 ; + double arg3 ; + double arg4 ; + int argvi = 0; + dXSARGS; + + if ((items < 4) || (items > 4)) { + croak("Usage: g2_filled_circle(dev,x,y,r);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + arg4 = (double) SvNV(ST(3)); + + g2_filled_circle(arg1,arg2,arg3,arg4); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_ellipse) { + int arg1 ; + double arg2 ; + double arg3 ; + double arg4 ; + double arg5 ; + int argvi = 0; + dXSARGS; + + if ((items < 5) || (items > 5)) { + croak("Usage: g2_ellipse(dev,x,y,r1,r2);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + arg4 = (double) SvNV(ST(3)); + + arg5 = (double) SvNV(ST(4)); + + g2_ellipse(arg1,arg2,arg3,arg4,arg5); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_filled_ellipse) { + int arg1 ; + double arg2 ; + double arg3 ; + double arg4 ; + double arg5 ; + int argvi = 0; + dXSARGS; + + if ((items < 5) || (items > 5)) { + croak("Usage: g2_filled_ellipse(dev,x,y,r1,r2);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + arg4 = (double) SvNV(ST(3)); + + arg5 = (double) SvNV(ST(4)); + + g2_filled_ellipse(arg1,arg2,arg3,arg4,arg5); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_arc) { + int arg1 ; + double arg2 ; + double arg3 ; + double arg4 ; + double arg5 ; + double arg6 ; + double arg7 ; + int argvi = 0; + dXSARGS; + + if ((items < 7) || (items > 7)) { + croak("Usage: g2_arc(dev,x,y,r1,r2,a1,a2);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + arg4 = (double) SvNV(ST(3)); + + arg5 = (double) SvNV(ST(4)); + + arg6 = (double) SvNV(ST(5)); + + arg7 = (double) SvNV(ST(6)); + + g2_arc(arg1,arg2,arg3,arg4,arg5,arg6,arg7); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_filled_arc) { + int arg1 ; + double arg2 ; + double arg3 ; + double arg4 ; + double arg5 ; + double arg6 ; + double arg7 ; + int argvi = 0; + dXSARGS; + + if ((items < 7) || (items > 7)) { + croak("Usage: g2_filled_arc(dev,x,y,r1,r2,a1,a2);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + arg4 = (double) SvNV(ST(3)); + + arg5 = (double) SvNV(ST(4)); + + arg6 = (double) SvNV(ST(5)); + + arg7 = (double) SvNV(ST(6)); + + g2_filled_arc(arg1,arg2,arg3,arg4,arg5,arg6,arg7); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_string) { + int arg1 ; + double arg2 ; + double arg3 ; + char *arg4 ; + int argvi = 0; + dXSARGS; + + if ((items < 4) || (items > 4)) { + croak("Usage: g2_string(dev,x,y,text);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + if (!SvOK((SV*) ST(3))) arg4 = 0; + else arg4 = (char *) SvPV(ST(3), PL_na); + g2_string(arg1,arg2,arg3,arg4); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_image) { + int arg1 ; + double arg2 ; + double arg3 ; + int arg4 ; + int arg5 ; + int *arg6 ; + int argvi = 0; + dXSARGS; + + if ((items < 6) || (items > 6)) { + croak("Usage: g2_image(dev,x,y,x_size,y_size,pens);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + arg4 = (int) SvIV(ST(3)); + arg5 = (int) SvIV(ST(4)); + { + if (SWIG_ConvertPtr(ST(5), (void **) &arg6, SWIGTYPE_p_int,0) < 0) { + croak("Type error in argument 6 of g2_image. Expected %s", SWIGTYPE_p_int->name); + } + } + g2_image(arg1,arg2,arg3,arg4,arg5,arg6); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_set_QP) { + int arg1 ; + double arg2 ; + int arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_set_QP(dev,d,shape);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (int) SvIV(ST(2)); + g2_set_QP(arg1,arg2,(enum QPshape)arg3); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_plot_QP) { + int arg1 ; + double arg2 ; + double arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_plot_QP(dev,x,y);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (double) SvNV(ST(1)); + + arg3 = (double) SvNV(ST(2)); + + g2_plot_QP(arg1,arg2,arg3); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_query_pointer) { + int arg1 ; + double *arg2 ; + double *arg3 ; + unsigned int *arg4 ; + double temp2 ; + double temp3 ; + unsigned int temp4 ; + int argvi = 0; + dXSARGS; + + { + arg2 = &temp2; + } + { + arg3 = &temp3; + } + { + arg4 = &temp4; + } + if ((items < 1) || (items > 1)) { + croak("Usage: g2_query_pointer(dev);"); + } + arg1 = (int) SvIV(ST(0)); + g2_query_pointer(arg1,arg2,arg3,arg4); + + + { + if (argvi >= items) { + EXTEND(sp,1); + } + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi),(double) *(arg2)); + argvi++; + } + { + if (argvi >= items) { + EXTEND(sp,1); + } + ST(argvi) = sv_newmortal(); + sv_setnv(ST(argvi),(double) *(arg3)); + argvi++; + } + { + if (argvi >= items) { + EXTEND(sp,1); + } + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi),(IV) *(arg4)); + argvi++; + } + XSRETURN(argvi); +} + + +XS(_wrap_g2_spline) { + int arg1 ; + int arg2 ; + double *arg3 ; + int arg4 ; + int argvi = 0; + dXSARGS; + + if ((items < 4) || (items > 4)) { + croak("Usage: g2_spline(id,n,points,o);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + { + if (SWIG_ConvertPtr(ST(2), (void **) &arg3, SWIGTYPE_p_double,0) < 0) { + croak("Type error in argument 3 of g2_spline. Expected %s", SWIGTYPE_p_double->name); + } + } + arg4 = (int) SvIV(ST(3)); + g2_spline(arg1,arg2,arg3,arg4); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_b_spline) { + int arg1 ; + int arg2 ; + double *arg3 ; + int arg4 ; + int argvi = 0; + dXSARGS; + + if ((items < 4) || (items > 4)) { + croak("Usage: g2_b_spline(id,n,points,o);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + { + if (SWIG_ConvertPtr(ST(2), (void **) &arg3, SWIGTYPE_p_double,0) < 0) { + croak("Type error in argument 3 of g2_b_spline. Expected %s", SWIGTYPE_p_double->name); + } + } + arg4 = (int) SvIV(ST(3)); + g2_b_spline(arg1,arg2,arg3,arg4); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_raspln) { + int arg1 ; + int arg2 ; + double *arg3 ; + double arg4 ; + int argvi = 0; + dXSARGS; + + if ((items < 4) || (items > 4)) { + croak("Usage: g2_raspln(id,n,points,tn);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + { + if (SWIG_ConvertPtr(ST(2), (void **) &arg3, SWIGTYPE_p_double,0) < 0) { + croak("Type error in argument 3 of g2_raspln. Expected %s", SWIGTYPE_p_double->name); + } + } + arg4 = (double) SvNV(ST(3)); + + g2_raspln(arg1,arg2,arg3,arg4); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_para_3) { + int arg1 ; + int arg2 ; + double *arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_para_3(id,n,points);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + { + if (SWIG_ConvertPtr(ST(2), (void **) &arg3, SWIGTYPE_p_double,0) < 0) { + croak("Type error in argument 3 of g2_para_3. Expected %s", SWIGTYPE_p_double->name); + } + } + g2_para_3(arg1,arg2,arg3); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_para_5) { + int arg1 ; + int arg2 ; + double *arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_para_5(id,n,points);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + { + if (SWIG_ConvertPtr(ST(2), (void **) &arg3, SWIGTYPE_p_double,0) < 0) { + croak("Type error in argument 3 of g2_para_5. Expected %s", SWIGTYPE_p_double->name); + } + } + g2_para_5(arg1,arg2,arg3); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_filled_spline) { + int arg1 ; + int arg2 ; + double *arg3 ; + int arg4 ; + int argvi = 0; + dXSARGS; + + if ((items < 4) || (items > 4)) { + croak("Usage: g2_filled_spline(id,n,points,o);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + { + if (SWIG_ConvertPtr(ST(2), (void **) &arg3, SWIGTYPE_p_double,0) < 0) { + croak("Type error in argument 3 of g2_filled_spline. Expected %s", SWIGTYPE_p_double->name); + } + } + arg4 = (int) SvIV(ST(3)); + g2_filled_spline(arg1,arg2,arg3,arg4); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_filled_b_spline) { + int arg1 ; + int arg2 ; + double *arg3 ; + int arg4 ; + int argvi = 0; + dXSARGS; + + if ((items < 4) || (items > 4)) { + croak("Usage: g2_filled_b_spline(id,n,points,o);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + { + if (SWIG_ConvertPtr(ST(2), (void **) &arg3, SWIGTYPE_p_double,0) < 0) { + croak("Type error in argument 3 of g2_filled_b_spline. Expected %s", SWIGTYPE_p_double->name); + } + } + arg4 = (int) SvIV(ST(3)); + g2_filled_b_spline(arg1,arg2,arg3,arg4); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_filled_raspln) { + int arg1 ; + int arg2 ; + double *arg3 ; + double arg4 ; + int argvi = 0; + dXSARGS; + + if ((items < 4) || (items > 4)) { + croak("Usage: g2_filled_raspln(id,n,points,tn);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + { + if (SWIG_ConvertPtr(ST(2), (void **) &arg3, SWIGTYPE_p_double,0) < 0) { + croak("Type error in argument 3 of g2_filled_raspln. Expected %s", SWIGTYPE_p_double->name); + } + } + arg4 = (double) SvNV(ST(3)); + + g2_filled_raspln(arg1,arg2,arg3,arg4); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_filled_para_3) { + int arg1 ; + int arg2 ; + double *arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_filled_para_3(id,n,points);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + { + if (SWIG_ConvertPtr(ST(2), (void **) &arg3, SWIGTYPE_p_double,0) < 0) { + croak("Type error in argument 3 of g2_filled_para_3. Expected %s", SWIGTYPE_p_double->name); + } + } + g2_filled_para_3(arg1,arg2,arg3); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_filled_para_5) { + int arg1 ; + int arg2 ; + double *arg3 ; + int argvi = 0; + dXSARGS; + + if ((items < 3) || (items > 3)) { + croak("Usage: g2_filled_para_5(id,n,points);"); + } + arg1 = (int) SvIV(ST(0)); + arg2 = (int) SvIV(ST(1)); + { + if (SWIG_ConvertPtr(ST(2), (void **) &arg3, SWIGTYPE_p_double,0) < 0) { + croak("Type error in argument 3 of g2_filled_para_5. Expected %s", SWIGTYPE_p_double->name); + } + } + g2_filled_para_5(arg1,arg2,arg3); + + + XSRETURN(argvi); +} + + +XS(_wrap_g2_device_exist) { + int arg1 ; + int result; + int argvi = 0; + dXSARGS; + + if ((items < 1) || (items > 1)) { + croak("Usage: g2_device_exist(dix);"); + } + arg1 = (int) SvIV(ST(0)); + result = (int)g2_device_exist(arg1); + + ST(argvi) = sv_newmortal(); + sv_setiv(ST(argvi++), (IV) result); + XSRETURN(argvi); +} + + + +/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ + +static swig_type_info _swigt__p_double[] = {{"_p_double", 0, "double *"},{"_p_double"},{0}}; +static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *"},{"_p_int"},{0}}; + +static swig_type_info *swig_types_initial[] = { +_swigt__p_double, +_swigt__p_int, +0 +}; + + +/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ + +static swig_constant_info swig_constants[] = { +{ SWIG_STRING, (char *) SWIG_prefix "G2_VERSION", 0, 0, (void *)"0.41a", 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_A0", (long) g2_A0, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_A1", (long) g2_A1, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_A2", (long) g2_A2, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_A3", (long) g2_A3, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_A4", (long) g2_A4, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_A5", (long) g2_A5, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_A6", (long) g2_A6, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_A7", (long) g2_A7, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_A8", (long) g2_A8, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_A9", (long) g2_A9, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_B0", (long) g2_B0, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_B1", (long) g2_B1, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_B2", (long) g2_B2, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_B3", (long) g2_B3, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_B4", (long) g2_B4, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_B5", (long) g2_B5, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_B6", (long) g2_B6, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_B7", (long) g2_B7, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_B8", (long) g2_B8, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_B9", (long) g2_B9, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_B10", (long) g2_B10, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_Comm_10_Envelope", (long) g2_Comm_10_Envelope, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_C5_Envelope", (long) g2_C5_Envelope, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_DL_Envelope", (long) g2_DL_Envelope, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_Folio", (long) g2_Folio, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_Executive", (long) g2_Executive, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_Letter", (long) g2_Letter, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_Legal", (long) g2_Legal, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_Ledger", (long) g2_Ledger, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_Tabloid", (long) g2_Tabloid, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_PS_land", (long) g2_PS_land, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_PS_port", (long) g2_PS_port, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_PS_PostScript", (long) g2_PS_PostScript, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_PS_EPSF", (long) g2_PS_EPSF, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_PS_EPSF_CLIP", (long) g2_PS_EPSF_CLIP, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_gd_jpeg", (long) g2_gd_jpeg, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_gd_png", (long) g2_gd_png, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_win32", (long) g2_win32, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "g2_wmf32", (long) g2_wmf32, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "QPrect", (long) QPrect, 0, 0, 0}, +{ SWIG_INT, (char *) SWIG_prefix "QPcirc", (long) QPcirc, 0, 0, 0}, +{0} +}; +#ifdef __cplusplus +} +#endif +static swig_variable_info swig_variables[] = { +{0} +}; +static swig_command_info swig_commands[] = { +{"g2::g2_open_PS", _wrap_g2_open_PS}, +{"g2::g2_open_EPSF", _wrap_g2_open_EPSF}, +{"g2::g2_open_EPSF_CLIP", _wrap_g2_open_EPSF_CLIP}, +{"g2::g2_open_gd", _wrap_g2_open_gd}, +{"g2::g2_open_win32", _wrap_g2_open_win32}, +{"g2::g2_open_vd", _wrap_g2_open_vd}, +{"g2::g2_attach", _wrap_g2_attach}, +{"g2::g2_detach", _wrap_g2_detach}, +{"g2::g2_close", _wrap_g2_close}, +{"g2::g2_set_auto_flush", _wrap_g2_set_auto_flush}, +{"g2::g2_flush", _wrap_g2_flush}, +{"g2::g2_save", _wrap_g2_save}, +{"g2::g2_set_coordinate_system", _wrap_g2_set_coordinate_system}, +{"g2::g2_ld", _wrap_g2_ld}, +{"g2::g2_set_ld", _wrap_g2_set_ld}, +{"g2::g2_ink", _wrap_g2_ink}, +{"g2::g2_pen", _wrap_g2_pen}, +{"g2::g2_set_dash", _wrap_g2_set_dash}, +{"g2::g2_set_font_size", _wrap_g2_set_font_size}, +{"g2::g2_set_line_width", _wrap_g2_set_line_width}, +{"g2::g2_clear_palette", _wrap_g2_clear_palette}, +{"g2::g2_reset_palette", _wrap_g2_reset_palette}, +{"g2::g2_allocate_basic_colors", _wrap_g2_allocate_basic_colors}, +{"g2::g2_clear", _wrap_g2_clear}, +{"g2::g2_set_background", _wrap_g2_set_background}, +{"g2::g2_move", _wrap_g2_move}, +{"g2::g2_move_r", _wrap_g2_move_r}, +{"g2::g2_plot", _wrap_g2_plot}, +{"g2::g2_plot_r", _wrap_g2_plot_r}, +{"g2::g2_line", _wrap_g2_line}, +{"g2::g2_line_r", _wrap_g2_line_r}, +{"g2::g2_line_to", _wrap_g2_line_to}, +{"g2::g2_poly_line", _wrap_g2_poly_line}, +{"g2::g2_triangle", _wrap_g2_triangle}, +{"g2::g2_filled_triangle", _wrap_g2_filled_triangle}, +{"g2::g2_rectangle", _wrap_g2_rectangle}, +{"g2::g2_filled_rectangle", _wrap_g2_filled_rectangle}, +{"g2::g2_polygon", _wrap_g2_polygon}, +{"g2::g2_filled_polygon", _wrap_g2_filled_polygon}, +{"g2::g2_circle", _wrap_g2_circle}, +{"g2::g2_filled_circle", _wrap_g2_filled_circle}, +{"g2::g2_ellipse", _wrap_g2_ellipse}, +{"g2::g2_filled_ellipse", _wrap_g2_filled_ellipse}, +{"g2::g2_arc", _wrap_g2_arc}, +{"g2::g2_filled_arc", _wrap_g2_filled_arc}, +{"g2::g2_string", _wrap_g2_string}, +{"g2::g2_image", _wrap_g2_image}, +{"g2::g2_set_QP", _wrap_g2_set_QP}, +{"g2::g2_plot_QP", _wrap_g2_plot_QP}, +{"g2::g2_query_pointer", _wrap_g2_query_pointer}, +{"g2::g2_spline", _wrap_g2_spline}, +{"g2::g2_b_spline", _wrap_g2_b_spline}, +{"g2::g2_raspln", _wrap_g2_raspln}, +{"g2::g2_para_3", _wrap_g2_para_3}, +{"g2::g2_para_5", _wrap_g2_para_5}, +{"g2::g2_filled_spline", _wrap_g2_filled_spline}, +{"g2::g2_filled_b_spline", _wrap_g2_filled_b_spline}, +{"g2::g2_filled_raspln", _wrap_g2_filled_raspln}, +{"g2::g2_filled_para_3", _wrap_g2_filled_para_3}, +{"g2::g2_filled_para_5", _wrap_g2_filled_para_5}, +{"g2::g2_device_exist", _wrap_g2_device_exist}, +{0,0} +}; + +#ifdef __cplusplus +extern "C" +#endif + +XS(SWIG_init) { + dXSARGS; + int i; + for (i = 0; swig_types_initial[i]; i++) { + swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]); + } + + /* Install commands */ + for (i = 0; swig_commands[i].name; i++) { + newXS((char*) swig_commands[i].name,swig_commands[i].wrapper, (char*)__FILE__); + } + + /* Install variables */ + for (i = 0; swig_variables[i].name; i++) { + SV *sv; + sv = perl_get_sv((char*) swig_variables[i].name, TRUE | 0x2); + if (swig_variables[i].type) { + SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0); + }else { + sv_setiv(sv,(IV) 0); + } + swig_create_magic(sv, (char *) swig_variables[i].name, swig_variables[i].set, swig_variables[i].get); + } + + /* Install constant */ + for (i = 0; swig_constants[i].type; i++) { + SV *sv; + sv = perl_get_sv((char*)swig_constants[i].name, TRUE | 0x2); + switch(swig_constants[i].type) { + case SWIG_INT: + sv_setiv(sv, (IV) swig_constants[i].lvalue); + break; + case SWIG_FLOAT: + sv_setnv(sv, (double) swig_constants[i].dvalue); + break; + case SWIG_STRING: + sv_setpv(sv, (char *) swig_constants[i].pvalue); + break; + case SWIG_POINTER: + SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0); + break; + case SWIG_BINARY: + /* obj = SWIG_NewPackedObj(swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype)); */ + break; + default: + break; + } + SvREADONLY_on(sv); + } + + ST(0) = &PL_sv_yes; + XSRETURN(1); +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/simple_win32.dsp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/simple_win32.dsp new file mode 100755 index 00000000..fae2d33c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/simple_win32.dsp @@ -0,0 +1,101 @@ +# Microsoft Developer Studio Project File - Name="simple_win32" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Console Application" 0x0103 + +CFG=simple_win32 - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "simple_win32.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "simple_win32.mak" CFG="simple_win32 - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "simple_win32 - Win32 Release" (based on "Win32 (x86) Console Application") +!MESSAGE "simple_win32 - Win32 Debug" (based on "Win32 (x86) Console Application") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +RSC=rc.exe + +!IF "$(CFG)" == "simple_win32 - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD CPP /nologo /W3 /GX /O2 /I "src/gd" /I "./src" /I "src" /I "src/PS" /I "src/WIN32" /I "src/GD" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 + +!ELSEIF "$(CFG)" == "simple_win32 - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "simple_win32___Win32_Debug" +# PROP BASE Intermediate_Dir "simple_win32___Win32_Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "src/gd" /I "./src" /I "src" /I "src/PS" /I "src/WIN32" /I "src/GD" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept + +!ENDIF + +# Begin Target + +# Name "simple_win32 - Win32 Release" +# Name "simple_win32 - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\demo\simple_win32.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# End Target +# End Project diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/CVS/Entries new file mode 100755 index 00000000..17848105 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/CVS/Entries @@ -0,0 +1 @@ +D diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/CVS/Repository new file mode 100755 index 00000000..1b465e88 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/src/CVS diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/Entries new file mode 100755 index 00000000..8a0902d7 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/Entries @@ -0,0 +1,27 @@ +D/CVS//// +D/FIG//// +D/GD//// +D/PS//// +D/Win32//// +D/X11//// +/g2.h/1.1/Tue Jun 14 20:44:20 2005// +/g2_config.h/1.1/Thu Mar 11 23:08:59 2004// +/g2_control_pd.c/1.1/Tue Jun 14 20:44:20 2005// +/g2_control_pd.h/1.1/Tue Jun 14 20:44:20 2005// +/g2_device.c/1.1/Tue Apr 17 20:16:38 2001// +/g2_device.h/1.1/Tue Apr 17 20:16:38 2001// +/g2_fif.c/1.1/Wed Apr 7 22:27:44 2004// +/g2_funix.h/1.1/Tue Jun 14 20:44:20 2005// +/g2_graphic_pd.c/1.1/Tue Feb 22 21:44:46 2005// +/g2_graphic_pd.h/1.1/Thu Feb 26 23:50:24 2004// +/g2_physical_device.c/1.1/Tue Apr 17 20:16:38 2001// +/g2_physical_device.h/1.1/Tue Apr 17 20:16:38 2001// +/g2_splines.c/1.1/Tue Feb 22 21:41:40 2005// +/g2_ui_control.c/1.1/Tue Jun 14 20:44:20 2005// +/g2_ui_device.c/1.1/Tue Mar 23 00:20:27 2004// +/g2_ui_graphic.c/1.1/Tue Mar 23 23:50:40 2004// +/g2_ui_virtual_device.c/1.1/Tue Mar 23 00:20:27 2004// +/g2_util.c/1.1/Wed Apr 7 21:51:25 2004// +/g2_util.h/1.1/Thu Mar 11 23:01:03 2004// +/g2_virtual_device.c/1.1/Tue Apr 17 20:16:38 2001// +/g2_virtual_device.h/1.1/Tue Apr 17 20:16:38 2001// diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/Repository new file mode 100755 index 00000000..7d4eeb98 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/src diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/Template b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/CVS/Template new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/CVS/Entries new file mode 100755 index 00000000..17848105 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/CVS/Entries @@ -0,0 +1 @@ +D diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/CVS/Repository new file mode 100755 index 00000000..d9e68a82 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/src/FIG/CVS diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/Entries new file mode 100755 index 00000000..0e5e0f9e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/Entries @@ -0,0 +1,5 @@ +D/CVS//// +/g2_FIG.c/1.1/Mon Apr 5 21:40:53 2004// +/g2_FIG.h/1.1/Thu Apr 1 22:29:34 2004// +/g2_FIG_P.h/1.1/Sat Apr 3 23:26:57 2004// +/g2_FIG_funix.h/1.1/Sat Apr 3 22:58:26 2004// diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/Repository new file mode 100755 index 00000000..1a7809ed --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/src/FIG diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/Template b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/CVS/Template new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/g2_FIG.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/g2_FIG.c new file mode 100755 index 00000000..15707388 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/g2_FIG.c @@ -0,0 +1,486 @@ +/***************************************************************************** +** Copyright (C) 1998-2004 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include +#include +#include +#include +#include + +#include "g2.h" +#include "g2_device.h" +#include "g2_util.h" +#include "g2_config.h" + +#include "g2_FIG.h" +#include "g2_FIG_P.h" +#include "g2_FIG_funix.h" + +#ifndef PI +#define PI 3.14159265358979323846 +#endif /* PI */ + +static int N_FIG=0; +static g2_FIG_device *g2_FIG_dev=NULL; + +/** + * \ingroup physdev + * \defgroup FIG FIG + * + * FIG devices generate output in the FIG 3.2 format. For more details + * about FIG format and xfig application please visit http://www.xfig.org . + * + * \note FIG is a vector-oriented (as oposed to pixel-oriented) format. + * Therefore ::g2_image function and splines are not optimally supported. + */ + + +/** + * + * Create a FIG device. g2 uses A4 paper size (landscape orientation) as default. + * + * \param file_name fig file name + * + * \return physical device id + * + * \ingroup FIG + */ +G2L int g2_open_FIG(const char *file_name) +{ + g2_FIG_device *figout=NULL; + int pid=-1, i; + int vid; + FILE *fp; + + if((fp=fopen(file_name, "w"))==NULL) { + g2_log(Error, "g2_attach_PS: Error! Can not open file '%s'\n", + file_name); + return -1; + } + + if(g2_FIG_dev==NULL) { + g2_FIG_dev=g2_malloc(sizeof(g2_FIG_device)); + N_FIG=1; /* first FIG device */ + figout=&g2_FIG_dev[N_FIG-1]; + pid=0; + } else { + for(i=0;ifp=fp; + figout->pen_color=1; + figout->thickness=-1; + figout->font_size=-1; + figout->N_inks=0; + + /* write file header (incl. color placeholder) */ + g2_FIG_write_file_header(figout); + + /* g2 settings callbacks */ + g2_allocate_basic_colors(vid); + g2_pen(vid, 1); + g2_set_line_width(vid, 1); + g2_set_dash(vid, 0, NULL); + g2_set_font_size(vid, 12); + + return vid; +} + + + +/* + * + * Write header for fig file + * + */ +int g2_FIG_write_file_header(g2_FIG_device *fig) +{ + int i; + + fprintf(fig->fp, "#FIG 3.2\n"); + fprintf(fig->fp, "#Creator: g2 %s\n", G2_VERSION); + + fprintf(fig->fp, "Landscape\n"); + fprintf(fig->fp, "Flush Left\n"); + fprintf(fig->fp, "Metric\n"); + fprintf(fig->fp, "A4\n"); + fprintf(fig->fp, "100\n"); + fprintf(fig->fp, "Single\n"); + fprintf(fig->fp, "-2\n"); + fprintf(fig->fp, "1200 2\n"); + + /* write placeholder for all colors */ + fgetpos(fig->fp, &(fig->color_file_pos)); + for(i=0;i<512;i++) + fprintf(fig->fp, "0 %3d #%02x%02x%02x\n",32+i, 0xff, 0xff, 0xff); + + return 0; +} + + +/* + * + * Delete FIG device + * + */ +int g2_FIG_delete(int pid, void *pdp) +{ + int i; + g2_FIG_device *fig=&g2_FIG_dev[pid]; + + /* now write all defined colors to the reserved place */ + fsetpos(fig->fp, &(fig->color_file_pos)); + for(i=0;iN_inks;i++) { + fprintf(fig->fp, "0 %3d #%02x%02x%02x\n", + 32+i, + (int)fig->inks[i].red, + (int)fig->inks[i].green, + (int)fig->inks[i].blue); + } + + fclose(fig->fp); + fig->fp=NULL; /* free place */ + return 0; +} + + + +int g2_FIG_ink(int pid, void *pdp, + double red, double green, double blue) +{ + /* the fig pen space is betwen 32 and 543, total of 512 colors, + in g2 implementation from 0000 to 0777. + On the other hand ink space is between #000000 and #ffffff. */ + + g2_FIG_device *fig=&g2_FIG_dev[pid]; + + if(fig->N_inks>=512) + return -1; + + fig->inks[fig->N_inks].red = red*0xff; + fig->inks[fig->N_inks].green = green*0xff; + fig->inks[fig->N_inks].blue = blue*0xff; + + return fig->N_inks++; +} + + + +int g2_FIG_pen(int pid, void *pdp, int color) +{ + g2_FIG_device *fig=&g2_FIG_dev[pid]; + + if(color>=fig->N_inks) { + return -1; + } + + fig->pen_color = 32+color; + + return 0; +} + + + +int g2_FIG_set_background(int pid, void *pdp, int color) +{ + return -1; +} + + + +int g2_FIG_clear_palette(int pid, void *pdp) +{ + return -1; +} + + + +int g2_FIG_set_line_width(int pid, void *pdp, int w) +{ + g2_FIG_device *fig=&g2_FIG_dev[pid]; + fig->thickness = w*80./1200.; + return 0; +} + + + +int g2_FIG_set_dash(int pid, void *pdp, int N, int *data) +{ + g2_FIG_device *fig=&g2_FIG_dev[pid]; + int black, white; + + if(N==0 || data==NULL) { + fig->line_style=0; + fig->style_val=-1; + return 0; + } + if(N<2) { + return -1; + } + black = data[0]*80./1200.; /* FIG format has no sofistificated dash concept */ + white = data[1]*80./1200.; /* we will do out best */ + if(black<4) { + fig->line_style = 2; + } else { + fig->line_style = 1; + } + fig->style_val = white; + return 0; +} + + + +int g2_FIG_set_font_size(int pid, void *pdp, int size) +{ + g2_FIG_device *fig=&g2_FIG_dev[pid]; + fig->font_size = size*72./1200.; + return 0; +} + + + +int g2_FIG_clear(int pid, void *pdp) +{ + return -1; +} + + + +int g2_FIG_flush(int pid, void *pdp) +{ + g2_FIG_device *fig=&g2_FIG_dev[pid]; + fflush(fig->fp); + return 0; +} + + + +int g2_FIG_plot(int pid, void *pdp, int x, int y) +{ + g2_FIG_device *fig=&g2_FIG_dev[pid]; + fprintf(fig->fp, "2 1 0 %d %d -1 1 1 -1 -1 1 0 -1 0 0 2\n", + 1, fig->pen_color); + fprintf(fig->fp, " %d %d\n %d %d\n", x, y, x+1, y); + return 0; +} + + + +int g2_FIG_line(int pid, void *pdp, int x1, int y1, int x2, int y2) +{ + g2_FIG_device *fig=&g2_FIG_dev[pid]; + fprintf(fig->fp, "2 1 %d %d %d -1 1 1 -1 %d 1 0 -1 0 0 2\n", + fig->line_style, fig->thickness, fig->pen_color, fig->style_val); + fprintf(fig->fp, " %d %d\n %d %d\n", x1, y1, x2, y2); + return 0; +} + + + +int g2_FIG_poly_line(int pid, void *pdp, int N, int *points) +{ + g2_FIG_device *fig=&g2_FIG_dev[pid]; + int i; + + fprintf(fig->fp,"2 1 %d %d %d -1 1 1 -1 %d 1 0 -1 0 0 %d\n", + fig->line_style, fig->thickness, fig->pen_color, fig->style_val, N); + for(i=0;i<2*N;i+=2) { + fprintf(fig->fp, " %d %d\n", points[i], points[i+1]); + } + return 0; +} + + + +int g2_FIG_polygon(int pid, void *pdp, int N, int *points) +{ + g2_FIG_device *fig=&g2_FIG_dev[pid]; + int i; + + if(N<2) { + return -1; + } + + fprintf(fig->fp,"2 3 %d %d %d -1 1 1 -1 %d 1 0 -1 0 0 %d\n", + fig->line_style, fig->thickness, fig->pen_color, fig->style_val, N+1); + for(i=0;i<2*N;i+=2) { + fprintf(fig->fp, " %d %d\n", points[i], points[i+1]); + } + fprintf(fig->fp, " %d %d\n", points[0], points[1]); + return 0; +} + + + +int g2_FIG_filled_polygon(int pid, void *pdp, int N, int *points) +{ + g2_FIG_device *fig=&g2_FIG_dev[pid]; + int i; + + if(N<2) { + return -1; + } + + fprintf(fig->fp,"2 3 %d %d %d %d 1 1 20 %d 1 0 -1 0 0 %d\n", + fig->line_style, fig->thickness, fig->pen_color, fig->pen_color, + fig->style_val, N+1); + for(i=0;i<2*N;i+=2) { + fprintf(fig->fp, " %d %d\n", points[i], points[i+1]); + } + fprintf(fig->fp, " %d %d\n", points[0], points[1]); + return 0; +} + + +int g2_FIG_arc(int pid, void *pdp, + int x, int y, + int r1, int r2, + double a1, double a2) +{ + g2_FIG_device *fig=&g2_FIG_dev[pid]; + double a0, d; + double a0_rad, da_rad; + int N, i; + + a0=fmod(a1, 360.) + (a1<0? 360:0); /* map a1 to [0, 360) */ + d=a2>a1? a2-a1:a2-a1+360; + + N=3+d/18; + + a0_rad = a0*2.*PI/360.; + da_rad = d*2.*PI/360./(N-1); + + fprintf(fig->fp, "3 2 %d %d %d -1 1 -1-1 %d 0 0 0 %d\n", + fig->line_style, fig->thickness, fig->pen_color, fig->style_val, N); + for(i=0;ifp, " %d %d\n", + (int)(x+r1*cos(a0_rad+i*da_rad)), + (int)(y-r2*sin(a0_rad+i*da_rad))); + } + fprintf(fig->fp, " -1"); + for(i=1;ifp, " -1"); + } + fprintf(fig->fp, " -1\n"); + + return 0; +} + + +int g2_FIG_filled_arc(int pid, void *pdp, + int x, int y, + int r1, int r2, + double a1, double a2) +{ + g2_FIG_device *fig=&g2_FIG_dev[pid]; + double a0, d; + double a0_rad, da_rad; + int N, i; + + a0=fmod(a1, 360.) + (a1<0? 360:0); /* map a1 to [0, 360) */ + d=a2>a1? a2-a1:a2-a1+360; + + N=3+d/18; + + a0_rad = a0*2.*PI/360.; + da_rad = d*2.*PI/360./(N-1); + + fprintf(fig->fp, "3 2 %d %d %d %d 1 -1 20 %d 0 0 0 %d\n", + fig->line_style, fig->thickness, fig->pen_color, fig->pen_color, + fig->style_val, N+2); + for(i=0;ifp, " %d %d\n", + (int)(x+r1*cos(a0_rad+i*da_rad)), (int)(y-r2*sin(a0_rad+i*da_rad))); + } + fprintf(fig->fp, " %d %d\n", x, y); + fprintf(fig->fp, " %d %d\n", + (int)(x+r1*cos(a0_rad+0*da_rad)), + (int)(y-r2*sin(a0_rad+0*da_rad))); + fprintf(fig->fp, " 0"); + for(i=1;ifp, " -1"); + } + fprintf(fig->fp, " 0 0 0\n"); + + return 0; +} + + +int g2_FIG_ellipse(int pid, void *pdp, + int x, int y, + int r1, int r2) +{ + g2_FIG_device *fig=&g2_FIG_dev[pid]; + fprintf(fig->fp,"1 1 %d %d %d -1 1 -1 -1 %d 1 0.0 %d %d %d %d %d %d %d %d\n", + fig->line_style, fig->thickness, fig->pen_color, fig->style_val, + x, y, r1, r2, x, y, x+r1, y+r2); + + return 0; +} + + +int g2_FIG_filled_ellipse(int pid, void *pdp, + int x, int y, + int r1, int r2) +{ + g2_FIG_device *fig=&g2_FIG_dev[pid]; + fprintf(fig->fp,"1 1 %d %d %d %d 1 -1 20 %d 1 0.0 %d %d %d %d %d %d %d %d\n", + fig->line_style, fig->thickness, fig->pen_color, fig->pen_color, fig->style_val, + x, y, r1, r2, x, y, x+r1, y+r2); + + return 0; +} + + +int g2_FIG_draw_string(int pid, void *pdp, + int x, int y, const char *text) +{ + const char *c; + g2_FIG_device *fig=&g2_FIG_dev[pid]; + if(fig->font_size<=0) + return 0; + fprintf(fig->fp,"4 0 %d 1 -1 0 %d 0 5 %d %d %d %d ", + fig->pen_color, fig->font_size, fig->font_size, fig->font_size*strlen(text), x, y); + for(c=text;*c;c++) { + if(*c=='\\') + fputc('\\', fig->fp); /* escape \\ */ + fputc(*c, fig->fp); + } + fprintf(fig->fp,"\\001\n"); + return 0; +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/g2_FIG.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/g2_FIG.h new file mode 100755 index 00000000..908d8f38 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/g2_FIG.h @@ -0,0 +1,54 @@ +/***************************************************************************** +** Copyright (C) 1998-2004 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _G2_FIG_H +#define _G2_FIG_H + +#if defined(__cplusplus) +extern "C" +{ +#endif + + +/* Common Library header for DLL and application */ +#ifdef WIN32 +#ifdef G2DLL +#ifdef MAKEDLL +/* Create DLL */ +#define G2L __declspec( dllexport) +#else +/* Use DLL */ +#define G2L __declspec( dllimport) +#endif +#else +/* Use static win32 */ +#define G2L +#endif +#else +/* Use non-win32 */ +#define G2L +#endif + +G2L int g2_open_FIG(const char *file_name); + + +#if defined(__cplusplus) +} /* end extern "C" */ +#endif + +#endif /* _G2_FIG_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/g2_FIG.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/g2_FIG.o new file mode 100755 index 0000000000000000000000000000000000000000..73279fc8e894e6761d71bfeb68703c1568420763 GIT binary patch literal 20580 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 + +typedef struct _g2_FIG_inks { + unsigned char red; + unsigned char green; + unsigned char blue; +} g2_FIG_inks; + +typedef struct _g2_FIG_device { + FILE *fp; /* output file pointer */ + int pen_color; /* current pen */ + int thickness; /* line thickness */ + int font_size; /* font size */ + int line_style; /* line style according to fig format */ + int style_val; /* line style value acc. to fig format */ + + g2_FIG_inks inks[512]; /* 512 user defined colors */ + int N_inks; /* number of allocated colors */ + fpos_t color_file_pos; /* file position of colors, ftell */ +} g2_FIG_device; + + + +int g2_FIG_write_file_header(g2_FIG_device *figd); +int g2_FIG_delete(int pid, void *pdp); +int g2_FIG_ink(int pid, void *pdp, + double red, double green, double blue); +int g2_FIG_pen(int pid, void *pdp, int color); +int g2_FIG_set_background(int pid, void *pdp, int color); +int g2_FIG_reset_palette(int pid, void *pdp); +int g2_FIG_clear_palette(int pid, void *pdp); +int g2_FIG_set_line_width(int pid, void *pdp, int w); +int g2_FIG_set_dash(int pid, void *pdp, int N, int *data); +int g2_FIG_set_font_size(int pid, void *pdp, int size); +int g2_FIG_clear(int pid, void *pdp); +int g2_FIG_flush(int pid, void *pdp); +int g2_FIG_plot(int pid, void *pdp, int x, int y); +int g2_FIG_line(int pid, void *pdp, int x1, int y1, int x2, int y2); +int g2_FIG_poly_line(int pid, void *pdp, int N, int *points); +int g2_FIG_polygon(int pid, void *pdp, int N, int *points); +int g2_FIG_filled_polygon(int pid, void *pdp, int N, int *points); +int g2_FIG_arc(int pid, void *pdp, + int x, int y, + int r1, int r2, + double a1, double a2); +int g2_FIG_filled_arc(int pid, void *pdp, + int x, int y, + int r1, int r2, + double a1, double a2); +int g2_FIG_ellipse(int pid, void *pdp, + int x, int y, + int r1, int r2); +int g2_FIG_filled_ellipse(int pid, void *pdp, + int x, int y, + int r1, int r2); +int g2_FIG_draw_string(int pid, void *pdp, + int x, int y, const char *text); + +#endif /* _G2_FIG_P_H */ + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/g2_FIG_funix.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/g2_FIG_funix.h new file mode 100755 index 00000000..ac0ddfa3 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/FIG/g2_FIG_funix.h @@ -0,0 +1,56 @@ +/***************************************************************************** +** Copyright (C) 1998-2004 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _G2_FIG_FUNIX_H +#define _G2_FIG_FUNIX_H + +#include "g2_FIG_P.h" +#include "g2_physical_device.h" + +const g2_funix_fun g2_FIG_funix[] = { + { g2_Delete, g2_FIG_delete }, + { g2_Ink, g2_FIG_ink }, + { g2_Pen, g2_FIG_pen }, + { g2_SetBackground, NULL }, + { g2_ClearPalette, NULL }, + { g2_SetLineWidth, g2_FIG_set_line_width }, + { g2_SetDash, g2_FIG_set_dash }, + { g2_SetFontSize, g2_FIG_set_font_size }, + { g2_Clear, g2_FIG_clear }, + { g2_Flush, g2_FIG_flush }, + { g2_Save, g2_FIG_flush }, + { g2_Plot, g2_FIG_plot }, + { g2_Line, g2_FIG_line }, + { g2_PolyLine, g2_FIG_poly_line }, + { g2_Polygon, g2_FIG_polygon }, + { g2_FilledPolygon, g2_FIG_filled_polygon }, + { g2_Rectangle, NULL }, + { g2_FilledRectangle, NULL }, + { g2_Triangle, NULL }, + { g2_FilledTriangle, NULL }, + { g2_Arc, g2_FIG_arc }, + { g2_FilledArc, g2_FIG_filled_arc }, + { g2_Ellipse, g2_FIG_ellipse }, + { g2_FilledEllipse, g2_FIG_filled_ellipse }, + { g2_Circle, NULL }, + { g2_FilledCircle, NULL }, + { g2_String, g2_FIG_draw_string }, + { g2_FUNIX_NULL, NULL } }; + + +#endif /* _G2_FIG_FUNIX_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/CVS/Entries new file mode 100755 index 00000000..17848105 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/CVS/Entries @@ -0,0 +1 @@ +D diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/CVS/Repository new file mode 100755 index 00000000..df74fdf8 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/src/GD/CVS diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/Entries new file mode 100755 index 00000000..b1d20dce --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/Entries @@ -0,0 +1,5 @@ +D/CVS//// +/g2_gd.c/1.1/Tue Feb 22 03:51:05 2005// +/g2_gd.h/1.1/Tue Mar 23 23:50:40 2004// +/g2_gd_P.h/1.1/Thu Feb 26 23:50:24 2004// +/g2_gd_funix.h/1.1/Tue Feb 22 03:51:06 2005// diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/Repository new file mode 100755 index 00000000..9d8874e4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/src/GD diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/Template b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/CVS/Template new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/g2_gd.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/g2_gd.c new file mode 100755 index 00000000..2bb23703 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/g2_gd.c @@ -0,0 +1,348 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ + +#include +#include +#include + +#include "g2.h" +#include "g2_device.h" +#include "g2_util.h" +#include "g2_config.h" + +#include "g2_gd_P.h" +#include "g2_gd.h" + +#define PDP ((struct g2_gd_STRUCT *)pdp) + +#include "g2_gd_funix.h" + +#ifndef PI +#define PI 3.14159265358979323846 +#endif /* PI */ + + +/** + * \ingroup physdev + * \defgroup GD GD + */ + + +/** + * + * Create a GD device. + * + * \param filename output file name + * \param width width + * \param height height + * \param gd_type file type, see ::g2_gd_type + * + * \return physical device id + * + * \ingroup GD + */ +int g2_open_gd(const char *filename, int width, int height, enum g2_gd_type gd_type) +{ + int pid=-1; + g2_gd_STRUCT *pdp; + + pdp = (g2_gd_STRUCT *)malloc(sizeof(g2_gd_STRUCT)); + + pdp->width = width; + pdp->height = height; + pdp->gd_type = gd_type; + pdp->im = gdImageCreate(width,height); + pdp->f = fopen(filename,"wb"); + pdp->NoOfInks = 0; + pdp->BackCol = 0; + + pid = g2_register_physical_device(pid, pdp, + g2_IntCoor, g2_gd_funix, + 1.0, -1.0, + 0.0, height-1); + + g2_gd_Clear(pid,pdp); + g2_set_line_width(pid, 0.0); + g2_set_font_size(pid, 12.0); + g2_allocate_basic_colors(pid); + g2_pen(pid, 1); + + return pid; +} + + + +int g2_gd_Alloc_Basic(int pid, void *pdp) + { + int icol; + for (icol=0;icol<32;icol++) + gdImageColorAllocate(PDP->im,g2_Basic_Colors[icol][0]/256,g2_Basic_Colors[icol][1]/256,g2_Basic_Colors[icol][2]/256); + PDP->NoOfInks = 32; + return 0; + } + + +int g2_gd_Clear(int pid, void *pdp) + { + gdImageFilledRectangle(PDP->im, 0, 0, PDP->width, PDP->height, PDP->BackCol); + return 0; + } + +int g2_gd_Save(int pid, void *pdp) + { + if (PDP->gd_type == g2_gd_png) + gdImagePng(PDP->im,PDP->f); + else if (PDP->gd_type == g2_gd_jpeg) + gdImageJpeg(PDP->im,PDP->f,-1); + fflush(PDP->f); + rewind(PDP->f); + return 0; + } + +int g2_gd_Delete(int pid, void *pdp) + { + g2_gd_Save(pid,pdp); + fclose(PDP->f); + gdImageDestroy(PDP->im); + free(PDP); + return 0; + } + +int g2_gd_Flush(int pid, void *pdp) + { + return 0; + } + +int g2_gd_Pen(int pid, void *pdp, int color) + { + PDP->CurCol = color; + return 0; + } + +int g2_gd_Ink(int pid, void *pdp, double red, double green, double blue) + { + if(PDP->NoOfInks == 256) + return -1; + else + PDP->NoOfInks++; + return gdImageColorAllocate(PDP->im,(int)(255*red),(int)(255*green),(int)(255*blue)); + } + +int g2_gd_ClearPalette(int pid, void *pdp) + { + int i; + for (i=0;iNoOfInks;i++) + gdImageColorDeallocate(PDP->im,i); + PDP->NoOfInks = 0; + return 0; + } + +int g2_gd_ResetPalette(int pid, void *pdp) + { + g2_gd_ClearPalette(pid,pdp); + g2_gd_Alloc_Basic(pid,pdp); + return 0; + } + +int g2_gd_SetBackground(int pid, void *pdp, int color) + { + PDP->BackCol = color; + return 0; + } + +int g2_gd_SetLineWidth(int pid, void *pdp, int w) + { + PDP->LineWidth = w; + return 0; + } +/* { + if (PDP->brush != NULL) + { + gdImageDestroy(PDP->brush); + } + PDP->brush = gdImageCreate(w,w); + gdImageColorTransparent(PDP->brush,0); + gdImageColorAllocate(PDP->brush,0,0,0); + gdImageColorAllocate(PDP->brush, + gdImageRed(PDP->im,PDP->CurCol), + gdImageGreen(PDP->im,PDP->CurCol), + gdImageBlue(PDP->im,PDP->CurCol)); + gdImageArc(PDP->brush, w/2, w/2, w/2,w/2, 0, 360, 1); + gdImageFill(PDP->brush,w/2,w/2,1); + gdImageSetBrush(PDP->im, PDP->brush); + PDP->OldCol = PDP->CurCol; + PDP->CurCol = gdBrushed; + } + else + { + PDP->CurCol = PDP->OldCol; + } + return 0; + } +*/ + +int g2_gd_SetDash(int pid, void *pdp, int n, char *data) + { + return 0; + } + +int g2_gd_SetDashX(int pid, void *pdp, int N, double *dashes) + { + return 0; + } + +int g2_gd_SetFontSize(int pid, void *pdp, int size) + { + if (size <=10) + PDP->FontSize = gdFontTiny; + else if (size <=12) + PDP->FontSize = gdFontSmall; + else if (size <=13) + PDP->FontSize = gdFontMediumBold; + else if (size <=15) + PDP->FontSize = gdFontLarge; + else + PDP->FontSize = gdFontGiant; + return 0; + } + +int g2_gd_Plot(int pid, void *pdp, int x, int y) + { + gdImageSetPixel(PDP->im, x, y, PDP->CurCol); + return 0; + } + +int g2_gd_Line(int pid, void *pdp, int x1, int y1, int x2, int y2) + { + if (PDP->LineWidth <= 1) + gdImageLine(PDP->im, x1, y1, x2, y2, PDP->CurCol); + else + { + float dx,dy,l; + gdPoint points[4]; + dx = -(float)(y2-y1); + dy = (float)(x2-x1); + l = (float)(PDP->LineWidth/sqrt(dy*dy+dx*dx)/2.); + dx = dx*l; + dy = dy*l; + points[0].x = (int)(x1+dx); + points[0].y = (int)(y1+dy); + points[1].x = (int)(x1-dx); + points[1].y = (int)(y1-dy); + points[2].x = (int)(x2-dx); + points[2].y = (int)(y2-dy); + points[3].x = (int)(x2+dx); + points[3].y = (int)(y2+dy); + gdImageFilledPolygon(PDP->im,points,4,PDP->CurCol); + } + return 0; + } + +int g2_gd_PolyLine(int pid, void *pdp, int N, int *points) + { + return 0; + } + +int g2_gd_Triangle(int pid, void *pdp, int x1, int y1, + int x2, int y2, + int x3, int y3) + { + return 0; + } + +int g2_gd_FilledTriangle(int pid, void *pdp, int x1, int y1, + int x2, int y2, + int x3, int y3) + { + return 0; + } + +int g2_gd_Rectangle(int pid, void *pdp, int x, int y, int x2, int y2) + { + gdImageRectangle(PDP->im, x, y, x2, y2, PDP->CurCol); + return 0; + } + +int g2_gd_FilledRectangle(int pid, void *pdp, int x, int y, int x2, int y2) + { + gdImageFilledRectangle(PDP->im, x, y, x2, y2, PDP->CurCol); + return 0; + } + +int g2_gd_Polygon(int pid, void *pdp, int N, int *points) + { + return 0; + } + +int g2_gd_FilledPolygon(int pid, void *pdp, int N, int *points) + { + gdPoint *GIFPolygon; + int i; + GIFPolygon = (gdPoint *)malloc(N*sizeof(gdPoint)); + for (i=0;iim,GIFPolygon,N,PDP->CurCol); + free(GIFPolygon); + return 0; + } + +int g2_gd_Circle(int pid, void *pdp, int x, int y, int r) + { + gdImageArc(PDP->im, (int)x, (int)y, (int)r, (int)r, 0, 360, PDP->CurCol); + return 0; + } + +int g2_gd_FilledCircle(int pid, void *pdp, int x, int y, int r) + { + return 0; + } + +int g2_gd_Ellipse(int pid, void *pdp, int x, int y, int r1, int r2) + { + return 0; + } + +int g2_gd_FilledEllipse(int pid, void *pdp, int x, int y, int r1, int r2) + { + return 0; + } + +int g2_gd_Arc(int pid, void *pdp, int x, int y, int r1, int r2, double a1, double a2) + { + gdImageArc(PDP->im,x,y,2*r1,2*r2,dtoi(a1),dtoi(a2),PDP->CurCol); + return 0; + } + +int g2_gd_FilledArc(int pid, void *pdp, int x, int y, + int r1, int r2, + double a1, double a2) + { + return 0; + } + +int g2_gd_DrawString(int pid, void *pdp, int x, int y, const char *text) + { + + gdImageString(PDP->im,PDP->FontSize,x,y+2-PDP->FontSize->h,(unsigned char *)text,PDP->CurCol); + return 0; + } + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/g2_gd.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/g2_gd.h new file mode 100755 index 00000000..d9588a79 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/g2_gd.h @@ -0,0 +1,67 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +/* This is g2_GIF.h */ +#ifndef _G2_GD_H +#define _G2_GD_H + +#if defined(__cplusplus) +extern "C" +{ +#endif + +#include + +/* Common Library header for DLL and application */ +#ifdef WIN32 +#ifdef G2DLL +#ifdef MAKEDLL +/* Create DLL */ +#define G2L __declspec( dllexport) +#else +/* Use DLL */ +#define G2L __declspec( dllimport) +#endif +#else +/* Use static win32 */ +#define G2L +#endif +#else +/* Use non-win32 */ +#define G2L +#endif + +/** + * g2 gd bitmap types + * + * \ingroup GD + */ +enum g2_gd_type { + g2_gd_jpeg = 0, /**< jpeg */ + g2_gd_png = 1 /**< png */ +}; + + +G2L int g2_open_gd(const char *filename, int width, int height,enum g2_gd_type gd_type); + +#if defined(__cplusplus) +} /* end extern "C" */ +#endif + + +#endif /* _G2_GD_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/g2_gd_P.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/g2_gd_P.h new file mode 100755 index 00000000..95e56c7c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/g2_gd_P.h @@ -0,0 +1,118 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _g2_GD_P_H +#define _g2_GD_P_H + +#include +#include +#include +#include +#include +#include +#include "g2_config.h" +#include "g2_gd.h" + + static unsigned short g2_Basic_Colors[32][3] = { + {65535,65535,65535},{0,0,0}, + {44461,55512,59110},{0,65535,65535},{0,0,65535}, + {0,0,32896},{61166,33410,61166}, + {65535,0,65535},{41120,8224,61680},{65535,49344,52171}, + {61680,59110,35980},{32639,65535,54484}, + {39064,64507,39064},{0,65535,0},{12850,52685,12850}, + {39578,52685,12850},{44461,65535,12079},{65535,65535,0}, + {65535,55255,0},{61166,56797,33410},{56026,42405,8224},{47288,34438,2827}, + {42405,10794,10794},{53970,26985,7710}, + {52685,34181,16191},{65535,32639,20560}, + {61680,32896,32896},{64250,32896,29298}, + {65535,35980,0},{65535,42405,0},{65535,17733,0}, + {65535,0,0}}; + + +typedef struct g2_gd_STRUCT { + int height; + int width; + FILE *f; + gdImagePtr im; + gdImagePtr brush; + int LineWidth; + int NoOfInks; + int Inks[256]; + int CurCol; + int OldCol; + int BackCol; + gdFontPtr FontSize; + enum g2_gd_type gd_type; + } g2_gd_STRUCT; + + + +int g2_gd_init_gd(int pid, void *pdp, int vid, int width,int height); +int g2_gd_init_gdX(int pid, void *pdp, + int width, int height, + int xposition, int yposition, + char *windowname, char *iconname, + char *icondata, int iconwidth, int iconheight); +int g2_gd_Delete(int pid, void *pdp); +int g2_gd_Clear(int pid, void *pdp); +int g2_gd_Flush(int pid, void *pdp); +int g2_gd_Ink(int pid, void *pdp, + double red, double green, double blue); +int g2_gd_ClearPalette(int pid, void *pdp); +int g2_gd_ResetPalette(int pid, void *pdp); +int g2_gd_SetBackground(int pid, void *pdp, int color); +int g2_gd_Pen(int pid, void *pdp, int color); +int g2_gd_Paper(int pid, void *pdp, int color); +int g2_gd_SetLineWidth(int pid, void *pdp, int w); +int g2_gd_SetDash(int pid, void *pdp, int n, char *data); +int g2_gd_SetFontSize(int pid, void *pdp, int size); +int g2_gd_Plot(int pid, void *pdp, int x, int y); +int g2_gd_Line(int pid, void *pdp, int x1, int y1, int x2, int y2); +int g2_gd_PolyLine(int pid, void *pdp, int N, int *p); +int g2_gd_Polygon(int pid, void *pdp, int N, int *p); +int g2_gd_FilledPolygon(int pid, void *pdp, int N, int *p); +int g2_gd_Triangle(int pid, void *pdp, + int x1, int y1, + int x2, int y2, + int x3, int y3); +int g2_gd_FilledTriangle(int pid, void *pdp, int x1, int y1, + int x2, int y2, + int x3, int y3); +int g2_gd_Rectangle(int pid, void *pdp, int x1, int y1, int x2, int y2); +int g2_gd_FilledRectangle(int pid, void *pdp, + int x1, int y1, int x2, int y2); +int g2_gd_Circle(int pid, void *pdp, int x, int y, int r); +int g2_gd_FilledCircle(int pid, void *pdp, int x, int y, int r); +int g2_gd_Arc(int pid, void *pdp, int x, int y, + int r1, int r2, double a1, double a2); +int g2_gd_FilledArc(int pid, void *pdp, int x, int y, + int r1, int r2, double a1, double a2); +int g2_gd_Ellipse(int pid, void *pdp, int x, int y, int r1, int r2); +int g2_gd_FilledEllipse(int pid, void *pdp, int x, int y, int r1, int r2); +int g2_gd_DrawString(int pid, void *pdp, int x, int y, const char *text); + +int g2_gd_AllocateBasicColors(int pid, void *pdp); + + + +#endif /* _g2_GD_P_H */ + + + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/g2_gd_funix.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/g2_gd_funix.h new file mode 100755 index 00000000..1ba0692d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/GD/g2_gd_funix.h @@ -0,0 +1,54 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _g2_GD_TOKEN_FUN_H +#define _g2_GD_TOKEN_FUN_H + + +#include "g2_virtual_device.h" +#include "g2_gd_P.h" + +const g2_funix_fun g2_gd_funix[] = + {{g2_Delete,g2_gd_Delete}, + {g2_Ink, g2_gd_Ink}, + {g2_Pen,g2_gd_Pen}, + {g2_SetBackground,g2_gd_SetBackground}, + {g2_ClearPalette,g2_gd_ClearPalette}, + {g2_SetLineWidth,g2_gd_SetLineWidth}, + /* {g2_SetDash,g2_gd_SetDash}, */ + {g2_SetFontSize,g2_gd_SetFontSize}, + {g2_Clear,g2_gd_Clear}, + {g2_Flush,g2_gd_Flush}, + {g2_Plot,g2_gd_Plot}, + {g2_Line,g2_gd_Line}, + /* {g2_PolyLine,g2_gd_PolyLine}, */ + {g2_Rectangle,g2_gd_Rectangle}, + {g2_FilledRectangle,g2_gd_FilledRectangle}, + /* {g2_Polygon,g2_gd_Polygon}, */ + {g2_FilledPolygon,g2_gd_FilledPolygon}, + /* {g2_Circle,g2_gd_Circle}, */ + /* {g2_FilledCircle,g2_gd_FilledCircle}, */ + /* {g2_Ellipse,g2_gd_Ellipse}, */ + /* {g2_FilledEllipse,g2_gd_FilledEllipse}, */ + /* {g2_Arc,g2_gd_Arc}, */ + /* {g2_FilledArc,g2_gd_FilledArc}, */ + {g2_String,g2_gd_DrawString}, + {g2_FUNIX_NULL, NULL}}; + + +#endif /* _g2_GD_TOKEN_FUN_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/CVS/Entries new file mode 100755 index 00000000..17848105 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/CVS/Entries @@ -0,0 +1 @@ +D diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/CVS/Repository new file mode 100755 index 00000000..9642f162 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/src/PS/CVS diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/Entries new file mode 100755 index 00000000..430df523 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/Entries @@ -0,0 +1,6 @@ +D/CVS//// +/g2_PS.c/1.1/Tue Feb 22 21:34:22 2005// +/g2_PS.h/1.1/Tue Mar 23 23:50:40 2004// +/g2_PS_P.h/1.1/Sun Feb 29 23:47:46 2004// +/g2_PS_definitions.h/1.1/Tue Apr 17 20:16:38 2001// +/g2_PS_funix.h/1.1/Tue Apr 17 20:16:38 2001// diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/Repository new file mode 100755 index 00000000..75622b0a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/src/PS diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/Template b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/CVS/Template new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/g2_PS.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/g2_PS.c new file mode 100755 index 00000000..2e3388ea --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/g2_PS.c @@ -0,0 +1,624 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include +#include +#include +#include +#include + +#include "g2.h" +#include "g2_device.h" +#include "g2_util.h" +#include "g2_config.h" + +#include "g2_PS.h" +#include "g2_PS_P.h" +#include "g2_PS_funix.h" +#include "g2_PS_definitions.h" + +static int N_PS=0; +static g2_PS_device *g2_PS_dev=NULL; + +/** + * \ingroup physdev + * \defgroup PS PostScript + */ + + +/* + * + * Attach generic PS device + * + */ +G2L int g2_open_PS_generic(const char *file_name, + enum g2_PS_paper paper, + enum g2_PS_orientation orientation, + enum g2_PS_format format, + long width, + long height) +{ + g2_PS_device *psout=NULL; + int pid=-1, i; + int vid; + FILE *fp; + + if((fp=fopen(file_name, "w"))==NULL) { + fprintf(stderr, "g2_attach_PS: Error! Can not open file '%s'\n", + file_name); + return -1; + } + + if(g2_PS_dev==NULL) { + g2_PS_dev=g2_malloc(sizeof(g2_PS_device)); + N_PS=1; /* first PS device */ + psout=&g2_PS_dev[N_PS-1]; + pid=0; + } else { + for(i=0;ifp=fp; /* init PostScript structures */ + psout->paper=paper; + psout->orient=orientation; + psout->format=format; + psout->width=width; + psout->height=height; + psout->inks=NULL; + psout->N_ink=0; + psout->pen=0; + psout->page_counter=0; + psout->bbox = 0; + + g2_PS_write_file_header(psout); + + g2_PS_set_line_width(pid, NULL, 0.0); + g2_PS_set_font_size(pid, NULL, 12.0); + + /* g2 settings */ + g2_allocate_basic_colors(vid); + g2_pen(vid, 1); + + return vid; +} + + +/** + * + * Create a PS device. + * + * \param file_name postscript file name + * \param paper paper type, see ::g2_PS_paper and \ref appendix Appendix + * \param orientation paper orientation, see ::g2_PS_orientation + * + * \return physical device id + * + * \ingroup PS + */ +G2L int g2_open_PS(const char *file_name, + enum g2_PS_paper paper, + enum g2_PS_orientation orientation) +{ + return g2_open_PS_generic(file_name,paper,orientation,g2_PS_PostScript,0,0); +} + + +/** + * + * Create an encapsulated PS device. + * + * \param file_name postscript file name + * + * \return physical device id + * + * \ingroup PS + */ +G2L int g2_open_EPSF(const char *file_name) +{ + return g2_open_PS_generic(file_name,0,0,g2_PS_EPSF,0,0); +} + + +/** + * + * Create an encapsulated PS device with clipping. + * + * \param file_name postscript file name + * \param width clipping region width + * \param height clipping region height + * + * \return physical device id + * + * \ingroup PS + */ +G2L int g2_open_EPSF_CLIP(const char *file_name, + long width, long height) +{ + return g2_open_PS_generic(file_name,0,0,g2_PS_EPSF_CLIP,width,height); +} + +/* + * + * Write header for postscript file + * + */ +int g2_PS_write_file_header(g2_PS_device *ps) +{ + int i; + if (ps->format == g2_PS_PostScript) + { + fprintf(ps->fp,"%%!PS-Adobe-2.0\n"); + switch(ps->orient) + { + case g2_PS_land: + fprintf(ps->fp,"%%%%Orientation: Landscape\n"); + break; + case g2_PS_port: + fprintf(ps->fp,"%%%%Orientation: Portrait\n"); + break; + } + } + else if (ps->format == g2_PS_EPSF_CLIP) + { + fprintf(ps->fp,"%%!PS-Adobe-3.0 EPSF-2.0\n"); + fprintf(ps->fp,"%%%%BoundingBox: 0 0 %ld %ld\n",ps->width,ps->height); + } + else if (ps->format == g2_PS_EPSF) + { + fprintf(ps->fp,"%%!PS-Adobe-3.0 EPSF-2.0\n"); + fprintf(ps->fp,"%%%%BoundingBox: (atend)\n"); + } + + fprintf(ps->fp,"%%%%Creator: g2 %s\n", G2_VERSION); + fprintf(ps->fp, "%%%%EndComments\n"); + + if (ps->format == g2_PS_EPSF_CLIP) + { + fprintf(ps->fp,"0 0 moveto\n"); + fprintf(ps->fp,"0 %ld rlineto\n",ps->height); + fprintf(ps->fp,"%ld 0 rlineto\n",ps->width); + fprintf(ps->fp,"0 %ld rlineto\n",-ps->height); + fprintf(ps->fp,"closepath\n"); + fprintf(ps->fp,"clip\n"); + } + + for(i=0;g2_PS_operators[i]!=NULL;i++) + fputs(g2_PS_operators[i], ps->fp); + + fprintf(ps->fp,"newpath\n"); + if((ps->orient==g2_PS_land) && (ps->format == g2_PS_PostScript)) + fprintf(ps->fp,"%d 0 translate 90 rotate\n", + g2_PS_paper_size[ps->paper][0]); + + fputs("%%PageTrailer\n%%Page: 1 1\n", ps->fp); + + return 0; +} + +/* + * + * Add circle at (x,y) of dimension size to bounding box + * + */ +void g2_PS_bbox_add(g2_PS_device *ps,double x,double y,double size) + { + if (ps->bbox == 0) /* bbox is empty */ + { + ps->x1=x-size; + ps->x2=x+size; + ps->y1=y-size; + ps->y2=y+size; + ps->bbox=1; + return; + } + + if (ps->x1 > x-size) + ps->x1=x-size; + else if (ps->x2 < x+size) + ps->x2=x+size; + + if (ps->y1 > y-size) + ps->y1=y-size; + else if (ps->y2 < y+size) + ps->y2=y+size; + return; + } + +/* + * + * Delete PS device + * + */ +int g2_PS_delete(int pid, void *pdp) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + fprintf(ps->fp,"\nshowpage\n"); + fprintf(ps->fp,"%%%%PageTrailer\n"); + fprintf(ps->fp,"%%%%EndPage\n"); + fprintf(ps->fp,"%%%%Trailer\n"); + if (ps->format == g2_PS_EPSF) + { + fprintf(ps->fp,"%%%%BoundingBox: %d %d %d %d\n", + (int)floor(ps->x1),(int)floor(ps->y1), + (int)ceil(ps->x2),(int)ceil(ps->y2)); + } + fprintf(ps->fp,"%%%%EOF\n"); + fclose(ps->fp); + free(ps->inks); + + ps->fp=NULL; /* free place */ + + return 0; +} + + + +int g2_PS_ink(int pid, void *pdp, + double red, double green, double blue) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + ps->N_ink++; + if(ps->inks==NULL) + ps->inks=(g2_PS_inks *)g2_malloc(ps->N_ink* + sizeof(g2_PS_inks)); + else + ps->inks=(g2_PS_inks *)g2_realloc((void *)ps->inks, + ps->N_ink* + sizeof(g2_PS_inks)); + + ps->inks[ps->N_ink-1].r=red; + ps->inks[ps->N_ink-1].g=green; + ps->inks[ps->N_ink-1].b=blue; + + return ps->N_ink-1; +} + + + +int g2_PS_pen(int pid, void *pdp, int color) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + if(color>=ps->N_ink || color<0) + return -1; + fprintf(ps->fp,"%.4g %.4g %.4g setrgbcolor\n", + (double)ps->inks[color].r, + (double)ps->inks[color].g, + (double)ps->inks[color].b); + ps->pen=color; + return 0; +} + + + +int g2_PS_set_background(int pid, void *pdp, int color) +{ + return 0; +} + + + +int g2_PS_clear_palette(int pid, void *pdp) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + free((void *)ps->inks); + ps->N_ink=0; + ps->inks=NULL; + return 0; +} + + + +int g2_PS_set_line_width(int pid, void *pdp, double w) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + fprintf(ps->fp,"%.4g setlinewidth\n", w); + ps->w = w; + return 0; +} + + + +int g2_PS_set_dash(int pid, void *pdp, int N, double *data) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + int i; + fprintf(ps->fp, "[ "); + for(i=0;i0.0) + fprintf(ps->fp, "%.4g ", data[i]); + fprintf(ps->fp, "] 0 setdash\n"); + return 0; +} + + + +int g2_PS_set_font_size(int pid, void *pdp, double size) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + if(size<=0.0) + return -1; + fprintf(ps->fp,"%s findfont %.4g scalefont setfont\n", g2_PSFont, size); + ps->size = size; + return 0; +} + + + +int g2_PS_clear(int pid, void *pdp) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + fprintf(ps->fp, "gsave showpage\n"); + fprintf(ps->fp, "%%%%PageTrailer\n%%%%EndPage\n"); + fprintf(ps->fp, "%%%%Page: %d %d\ngrestore newpath\n", + ps->page_counter+1, ps->page_counter+1); + ps->page_counter++; + return 0; +} + + + +int g2_PS_flush(int pid, void *pdp) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + fflush(ps->fp); + return 0; +} + + + +int g2_PS_plot(int pid, void *pdp, double x, double y) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + fprintf(ps->fp,"%.4g %.4g P\n", x, y); + g2_PS_bbox_add(ps,x,y,1); + return 0; +} + + + +int g2_PS_line(int pid, void *pdp, double x1, double y1, double x2, double y2) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + fprintf(ps->fp,"%.4g %.4g M %.4g %.4g L St\n", + x1, y1, x2, y2); + g2_PS_bbox_add(ps,x1,y1,ps->w); + g2_PS_bbox_add(ps,x2,y2,ps->w); + return 0; +} + + + +int g2_PS_poly_line(int pid, void *pdp, int N, double *points) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + int i; + fprintf(ps->fp,"%.4g %.4g M\n", points[0], points[1]); + g2_PS_bbox_add(ps,points[0], points[1],ps->w); + for(i=2;i<2*N;i+=2) + { + fprintf(ps->fp, "%.4g %.4g L\n", points[i], points[i+1]); + g2_PS_bbox_add(ps,points[i], points[i+1],ps->w); + } + fprintf(ps->fp, "St\n"); + return 0; +} + + + +int g2_PS_polygon(int pid, void *pdp, int N, double *points) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + int i; + fprintf(ps->fp,"%.4g %.4g M\n",points[0], points[1]); + g2_PS_bbox_add(ps,points[0], points[1],ps->w); + for(i=2;i<2*N;i+=2) + { + fprintf(ps->fp, "%.4g %.4g L\n", points[i], points[i+1]); + g2_PS_bbox_add(ps,points[i], points[i+1],ps->w); + } + fprintf(ps->fp, "%.4g %.4g L St\n", points[0], points[1]); + return 0; +} + + + +int g2_PS_filled_polygon(int pid, void *pdp, int N, double *points) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + int i; + fprintf(ps->fp,"newpath %.4g %.4g M\n",points[0], points[1]); + g2_PS_bbox_add(ps,points[0], points[1],ps->w); + for(i=2;i<2*N;i+=2) + { + fprintf(ps->fp, "%.4g %.4g L\n", points[i], points[i+1]); + g2_PS_bbox_add(ps,points[i], points[i+1],ps->w); + } + fprintf(ps->fp, "%.4g %.4g L fill St\n", points[0], points[1]); + return 0; +} + + + +int g2_PS_rectangle(int pid, void *pdp, + double x1, double y1, double x2, double y2) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + fprintf(ps->fp,"%.4g %.4g %.4g %.4g R\n", + x2, y2, x1, y1); + g2_PS_bbox_add(ps,x1,y1,ps->w); + g2_PS_bbox_add(ps,x2,y2,ps->w); + return 0; +} + + + +int g2_PS_filled_rectangle(int pid, void *pdp, + double x1, double y1, double x2, double y2) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + fprintf(ps->fp,"%.4g %.4g %.4g %.4g FR\n", + x2, y2, x1, y1); + g2_PS_bbox_add(ps,x1,y1,ps->w); + g2_PS_bbox_add(ps,x2,y2,ps->w); + return 0; +} + + + +int g2_PS_triangle(int pid, void *pdp, + double x1, double y1, + double x2, double y2, + double x3, double y3) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + fprintf(ps->fp,"%.4g %.4g %.4g %.4g %.4g %.4g T\n", + x1,y1,x2,y2,x3,y3); + g2_PS_bbox_add(ps,x1,y1,ps->w); + g2_PS_bbox_add(ps,x2,y2,ps->w); + g2_PS_bbox_add(ps,x3,y3,ps->w); + return 0; +} + + +int g2_PS_filled_triangle(int pid, void *pdp, + double x1, double y1, + double x2, double y2, + double x3, double y3) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + fprintf(ps->fp,"%.4g %.4g %.4g %.4g %.4g %.4g FT\n", + x1,y1,x2,y2,x3,y3); + g2_PS_bbox_add(ps,x1,y1,ps->w); + g2_PS_bbox_add(ps,x2,y2,ps->w); + g2_PS_bbox_add(ps,x3,y3,ps->w); + return 0; +} + + + +int g2_PS_arc(int pid, void *pdp, + double x, double y, + double r1, double r2, + double a1, double a2) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + if(a1==a2) { + a1=0; + a2=360; + } + fprintf(ps->fp,"%.4g %.4g %.4g %.4g %.4g %.4g A\n", + a1, a2, r1, r2, x, y); + g2_PS_bbox_add(ps,x+r1,y+r2,ps->w); + g2_PS_bbox_add(ps,x-r1,y-r2,ps->w); + return 0; +} + + + +int g2_PS_filled_arc(int pid, void *pdp, + double x, double y, + double r1, double r2, + double a1, double a2) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + if(a1==a2) { + a1=0; + a2=360; + } + fprintf(ps->fp,"%.4g %.4g %.4g %.4g %.4g %.4g FA\n", + a1, a2, r1, r2, x, y); + g2_PS_bbox_add(ps,x+r1,y+r2,ps->w); + g2_PS_bbox_add(ps,x-r1,y-r2,ps->w); + return 0; +} + + + +int g2_PS_ellipse(int pid, void *pdp, + double x, double y, + double r1, double r2) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + fprintf(ps->fp,"0 360 %.4g %.4g %.4g %.4g A\n", + r1, r2, x, y); + g2_PS_bbox_add(ps,x+r1,y+r2,ps->w); + g2_PS_bbox_add(ps,x-r1,y-r2,ps->w); + return 0; +} + + + + +int g2_PS_filled_ellipse(int pid, void *pdp, + double x, double y, + double r1, double r2) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + fprintf(ps->fp,"0 360 %.4g %.4g %.4g %.4g FA\n", + r1, r2, x, y); + g2_PS_bbox_add(ps,x+r1,y+r2,ps->w); + g2_PS_bbox_add(ps,x-r1,y-r2,ps->w); + return 0; +} + + + +int g2_PS_draw_string(int pid, void *pdp, + double x, double y, const char *text) +{ + g2_PS_device *ps=&g2_PS_dev[pid]; + fputc('(', ps->fp); + for(;*text!='\0';text++) + switch(*text) { + case '(': + fputs("\\(", ps->fp); + break; + case ')': + fputs("\\)", ps->fp); + break; + case '\\': + fputs("\\\\", ps->fp); + break; + default: + fputc(*text, ps->fp); + break; + } + fprintf(ps->fp,") %.4g %.4g S\n", x, y); + g2_PS_bbox_add(ps,x,y,ps->size); + g2_PS_bbox_add(ps,x+ps->size*strlen(text),y,ps->size); + return 0; +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/g2_PS.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/g2_PS.h new file mode 100755 index 00000000..88eb918c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/g2_PS.h @@ -0,0 +1,118 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _G2_PS_H +#define _G2_PS_H + +#if defined(__cplusplus) +extern "C" +{ +#endif + +/** + * g2 paper type. + * + * \ingroup PS + */ +enum g2_PS_paper { /* Name Size(Pt) */ + g2_A0, /**< A0 2384 x 3370 */ + g2_A1, /**< A1 1684 x 2384 */ + g2_A2, /**< A2 1191 x 1684 */ + g2_A3, /**< A3 842 x 1191 */ + g2_A4, /**< A4 595 x 842 */ + g2_A5, /**< A5 420 x 595 */ + g2_A6, /**< A6 297 x 420 */ + g2_A7, /**< A7 210 x 297 */ + g2_A8, /**< A8 148 x 210 */ + g2_A9, /**< A9 105 x 148 */ + g2_B0, /**< B0 2920 x 4127 */ + g2_B1, /**< B1 2064 x 2920 */ + g2_B2, /**< B2 1460 x 2064 */ + g2_B3, /**< B3 1032 x 1460 */ + g2_B4, /**< B4 729 x 1032 */ + g2_B5, /**< B5 516 x 729 */ + g2_B6, /**< B6 363 x 516 */ + g2_B7, /**< B7 258 x 363 */ + g2_B8, /**< B8 181 x 258 */ + g2_B9, /**< B9 127 x 181 */ + g2_B10, /**< B10 91 x 127 */ + g2_Comm_10_Envelope, /**< Comm #10 Envelope 297 x 684 */ + g2_C5_Envelope, /**< C5 Envelope 461 x 648 */ + g2_DL_Envelope, /**< DL Envelope 312 x 624 */ + g2_Folio, /**< Folio 595 x 935 */ + g2_Executive, /**< Executive 522 x 756 */ + g2_Letter, /**< Letter 612 x 792 */ + g2_Legal, /**< Legal 612 x 1008 */ + g2_Ledger, /**< Ledger 1224 x 792 */ + g2_Tabloid /**< Tabloid 792 x 1224 */ +}; + + +/** + * g2 paper orientation. + * + * \ingroup PS + */ +enum g2_PS_orientation { + g2_PS_land, /**< landscape */ + g2_PS_port /**< portrait */ +}; + +/* + * g2 Format + */ +enum g2_PS_format { + g2_PS_PostScript, /* PostScript */ + g2_PS_EPSF, /* EPSF format */ + g2_PS_EPSF_CLIP /* EPSF format with predefined Bounding Box*/ +}; + +/* Common Library header for DLL and application */ +#ifdef WIN32 +#ifdef G2DLL +#ifdef MAKEDLL +/* Create DLL */ +#define G2L __declspec( dllexport) +#else +/* Use DLL */ +#define G2L __declspec( dllimport) +#endif +#else +/* Use static win32 */ +#define G2L +#endif +#else +/* Use non-win32 */ +#define G2L +#endif + + +G2L int g2_open_PS(const char *file_name, + enum g2_PS_paper paper, + enum g2_PS_orientation orientation); + +G2L int g2_open_EPSF(const char *file_name); + +G2L int g2_open_EPSF_CLIP(const char *file_name, + long width, long height); + +#if defined(__cplusplus) +} /* end extern "C" */ +#endif + +#endif /* _G2_PS_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/g2_PS.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/PS/g2_PS.o new file mode 100755 index 0000000000000000000000000000000000000000..b49f126a5cc6ca9caabebd8ea4e5a56964348da5 GIT binary patch literal 26616 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 +#include +#include + +#include "g2.h" +#include "g2_device.h" +#include "g2_util.h" +#include "g2_config.h" + +#include "g2_win32.h" +#include "g2_win32_P.h" +#include "g2_win32_funix.h" + +#include "resource.h" + +/* Global Definitions */ +int g2_win32_registered = FALSE; +HINSTANCE g2res_DLL; /* Instance of the resource DLL */ + +#define PDP ((struct g2_win32_STRUCT *)pdp) + +#ifndef PI +#define PI 3.14159265358979323846 +#endif /* PI */ + +#define sgn(x) (x>0?1:x?-1:0) + +/* someday their might be a DLL version of g2 */ +#ifdef G2DLL +BOOL WINAPI DllMain( HANDLE hModule, DWORD fdwreason, LPVOID lpReserved ) +{ + switch(fdwreason) { + case DLL_PROCESS_ATTACH: + // The DLL is being mapped into process's address space + // Do any required initialization on a per application basis, return FALSE if failed + MessageBox(NULL, "DLL Process Attach", "DLL Message 1", MB_OK); + break; + case DLL_THREAD_ATTACH: + // A thread is created. Do any required initialization on a per thread basis + MessageBox(NULL, "DLL Thread Attach", "DLL Message 1", MB_OK); + break; + case DLL_THREAD_DETACH: + // Thread exits with cleanup + MessageBox(NULL, "DLL Thread Detach", "DLL Message 1", MB_OK); + break; + case DLL_PROCESS_DETACH: + // The DLL unmapped from process's address space. Do necessary cleanup + MessageBox(NULL, "DLL Process Detach", "DLL Message 1", MB_OK); + break; + default: + MessageBox(NULL, "DLL default", "DLL Message 1", MB_OK); + + } + return TRUE; +} +#endif + + +g2_win32_SetPen(int pid, void *pdp) + { + HGDIOBJ oldpen; + LOGBRUSH logBrush ; + logBrush.lbStyle = PS_SOLID; + logBrush.lbColor = PDP->Inks[PDP->Pen]; + logBrush.lbHatch = 0 ; + + oldpen = PDP->hPen; + PDP->hPen = ExtCreatePen (logBrush.lbStyle | PS_GEOMETRIC | + PS_ENDCAP_FLAT | PS_JOIN_BEVEL | (PDP->PenStyle > 0)*PS_USERSTYLE, + PDP->PenWidth, &logBrush, + PDP->PenStyle , PDP->PenDash) ; + if (PDP->hPen != NULL) + { + SelectObject(PDP->hMemDC,PDP->hPen); +/* if (PDP->type == g2_win32)*/ + DeleteObject(oldpen); + } + else + { + errhandler("Pen",NULL); + PDP->hPen = oldpen; + } + + oldpen = PDP->hNullPen; + PDP->hNullPen = CreatePen(PS_SOLID,1,PDP->Inks[PDP->Pen]); + if (PDP->hNullPen != NULL) + { +/* if (PDP->type == g2_win32)*/ + DeleteObject(oldpen); + } + else + { + errhandler("Pen",NULL); + PDP->hNullPen = oldpen; + } + + return 0; + } + + +int g2_win32_Cleanup(int pid, void *pdp) + { + struct g2_win32_STRUCT *thispdp; + + thispdp = pdp; + g2_win32_ClearPalette(pid,pdp); + if (PDP->hBrush != NULL) DeleteObject(PDP->hBrush); + if (PDP->hPen != NULL) DeleteObject(PDP->hPen); + if (PDP->hNullPen != NULL) DeleteObject(PDP->hPen); + if (PDP->hFont != NULL) DeleteObject(PDP->hFont); + if (PDP->hBitmap != NULL) DeleteObject(PDP->hBitmap); + if (PDP->hMemDC != NULL) DeleteDC(PDP->hMemDC); + if (PDP->PenDash != NULL) free(PDP->PenDash); + free(thispdp); + return 0; + } + + + +int g2_win32_Delete(int pid, void *pdp) + { + switch(PDP->type) + { + case g2_win32: + SendMessage(PDP->hwndThreadWindow,WM_CLOSE,(WPARAM)NULL,(LPARAM)NULL); + break; + case g2_wmf32: + { + CloseEnhMetaFile(PDP->hMemDC); + g2_win32_Cleanup(pid,pdp); + break; + } + } + return 0; + } + + +int g2_win32_Clear(int pid, void *pdp) + { + int OldPen; + + OldPen = PDP->Pen; + g2_win32_Pen(pid,pdp,PDP->BkColor); + g2_win32_FilledRectangle(pid,pdp,0,0,PDP->nWidth,PDP->nHeight); + g2_win32_Pen(pid,pdp,OldPen); + return 0; + } + +int g2_win32_Flush(int pid, void *pdp) + { + InvalidateRect(PDP->hwndThreadWindow, (RECT *)NULL, TRUE); + return 0; + } + +int g2_win32_Pen(int pid, void *pdp, int color) + { + struct tagLOGBRUSH logbrush; + HGDIOBJ oldbrush; + + if(color>=PDP->NoOfInks || color<0) + { + fprintf(stderr,"g2_WIN32: Ink %d not defined\n",color); + return -1; + } + + PDP->Pen = color; + PDP->PenColor = PDP->Inks[color]; + g2_win32_SetPen(pid,pdp); + + logbrush.lbStyle = BS_SOLID; + logbrush.lbColor = PDP->PenColor; + oldbrush = PDP->hBrush; + PDP->hBrush = CreateBrushIndirect(&logbrush); + if (PDP->hBrush == NULL) + { + errhandler("Pen (CreateBrush)",NULL); + PDP->hBrush = oldbrush; + } + else +/* if (PDP->type == g2_win32)*/ + DeleteObject(oldbrush); + return 0; + } + +int g2_win32_Ink(int pid, void *pdp, double red, double green, double blue) + { + BYTE rc,gc,bc; + + rc = (BYTE)((int)(red*255)); + gc = (BYTE)((int)(green*255)); + bc = (BYTE)((int)(blue*255)); + + PDP->NoOfInks++; + + if(PDP->Inks==NULL) + PDP->Inks=(COLORREF *)malloc(PDP->NoOfInks*sizeof(COLORREF)); + else + PDP->Inks=(COLORREF *)realloc((void *)PDP->Inks,PDP->NoOfInks*sizeof(COLORREF)); + + if(PDP->Inks==NULL) + { + fputs("g2: not enough memory\n",stderr); + return -1; + } + + PDP->Inks[PDP->NoOfInks-1]=RGB(rc,gc,bc); + return PDP->NoOfInks-1; + } + + +int g2_win32_ClearPalette(int pid, void *pdp) + { + if (PDP->Inks != NULL) + free(PDP->Inks); + PDP->Inks = NULL; + PDP->NoOfInks = 0; + return 0; + } + + +int g2_win32_SetBackground(int pid, void *pdp, int color) + { + PDP->BkColor = color; + SetBkColor(PDP->hMemDC,PDP->BkColor); + return 0; + } + +int g2_win32_SetLineWidth(int pid, void *pdp, int w) + { + PDP->PenWidth = w; + g2_win32_SetPen(pid,pdp); + return 0; + } + +int g2_win32_SetDash(int pid, void *pdp, int n, int *data) + { + if (PDP->PenDash != NULL) + free(PDP->PenDash); + PDP->PenDash = NULL; + PDP->PenStyle = n; + if (n > 0) + { + int i; + PDP->PenDash = (DWORD *)malloc(n*sizeof(DWORD)); + for (i=0;iPenDash[i] = data[i]; + } + g2_win32_SetPen(pid,pdp); + return 0; + } + + +int g2_win32_SetFontSize(int pid, void *pdp, int size) + { + //static LOGFONT lf = {10,0,0,0,0,0,0,0,0,0,0,0,0,"Arial\0"}; + HGDIOBJ oldfont; + + oldfont = PDP->hFont; + //lf.lfHeight = size; + //PDP->hFont = CreateFontIndirect(&lf); + PDP->hFont = CreateFont(-size, 0, 0, 0, FW_NORMAL, 0, 0, 0, 0, OUT_TT_ONLY_PRECIS , 0, PROOF_QUALITY,0, "Times New Roman\0"); + if (PDP->hFont == NULL) + { + errhandler("Font (CreateFont)",NULL); + PDP->hFont = oldfont; + } + else + { + SelectObject(PDP->hMemDC,PDP->hFont); + if (oldfont != NULL)// && PDP->type == g2_win32) + DeleteObject(oldfont); + } + return 0; + } + +int g2_win32_Plot(int pid, void *pdp, int x, int y) + { + return SetPixel(PDP->hMemDC,x,y,PDP->PenColor); + } + +int g2_win32_Line(int pid, void *pdp, int x1, int y1, int x2, int y2) + { + MoveToEx(PDP->hMemDC,x1,y1,NULL); + LineTo(PDP->hMemDC,x2,y2); + SetPixel(PDP->hMemDC,x1,y1,PDP->PenColor); + SetPixel(PDP->hMemDC,x2,y2,PDP->PenColor); + // specifically draw end points since windows does not include one endpoint + return 0; + } + +int g2_win32_PolyLine(int pid, void *pdp, int N, int *points) + { + POINT *PointList; + int i; + + PointList = (POINT *)malloc(N*sizeof(POINT)); + if (PointList == NULL) + { + fprintf(stderr,"g2_win32: not enough memory !\n"); + return -1; + } + for (i=0;ihMemDC,PointList,N); + free(PointList); + return 0; + } + + + +int g2_win32_Rectangle(int pid, void *pdp, int x, int y, int x2, int y2) + { + SelectObject(PDP->hMemDC,GetStockObject(NULL_BRUSH)); + Rectangle(PDP->hMemDC,x,y,x2+1,y2+1); // add one since windows excludes lower right point + return 0; + } + +int g2_win32_FilledRectangle(int pid, void *pdp, int x1, int y1, int x2, int y2) + { + SelectObject(PDP->hMemDC,PDP->hBrush); + SelectObject(PDP->hMemDC,PDP->hNullPen); + return Rectangle(PDP->hMemDC,x1,y1,x2+1,y2+1); // add one since windows excludes lower right point + SelectObject(PDP->hMemDC,PDP->hPen); + return 0; + } + +int g2_win32_Polygon(int pid, void *pdp, int N, int *points) + { + POINT *PointList; + int i; + PointList = (POINT *)malloc(N*sizeof(POINT)); + if (PointList == NULL) + { + fprintf(stderr,"g2: not enough memory !\n"); + return -1; + } + for (i=0;ihMemDC,GetStockObject(NULL_BRUSH)); + Polygon(PDP->hMemDC,PointList,N); + free(PointList); + return 0; + } + +int g2_win32_FilledPolygon(int pid, void *pdp, int N, int *points) + { + POINT *PointList; + int i; + PointList = (POINT *)malloc(N*sizeof(POINT)); + if (PointList == NULL) + { + fprintf(stderr,"g2: not enough memory !\n"); + return -1; + } + for (i=0;ihMemDC,PDP->hBrush); + SelectObject(PDP->hMemDC,PDP->hNullPen); + Polygon(PDP->hMemDC,PointList,N); + SelectObject(PDP->hMemDC,PDP->hPen); + free(PointList); + return 0; + } + +int g2_win32_Ellipse(int pid, void *pdp, int x, int y, int r1, int r2) + { + SelectObject(PDP->hMemDC,GetStockObject(NULL_BRUSH)); + return Ellipse(PDP->hMemDC,x-r1,y-r2,x+r1+1,y+r2+1); // add one since windows is end exclusive + } + +int g2_win32_FilledEllipse(int pid, void *pdp, int x, int y, int r1, int r2) + { + SelectObject(PDP->hMemDC,PDP->hBrush); + SelectObject(PDP->hMemDC,PDP->hNullPen); + return Ellipse(PDP->hMemDC,x-r1,y-r2,x+r1+1,y+r2+1); // add one since windows is end exclusive + SelectObject(PDP->hMemDC,PDP->hPen); + return 0; + } + +int g2_win32_Arc(int pid, void *pdp, int x, int y, int r1, int r2, double a1, double a2) + { + a1 *= PI/180.; + a2 *= PI/180.; + SelectObject(PDP->hMemDC,GetStockObject(NULL_BRUSH)); + if (PDP->type == g2_win32) + return Arc(PDP->hMemDC,x-r1,y-r2,x+r1,y+r2,dtoi(x+r1*cos(a1)),dtoi(y-r2*sin(a1)),dtoi(x+r1*cos(a2)),dtoi(y-r2*sin(a2))); + else + return Arc(PDP->hMemDC,x-r1,y-r2,x+r1,y+r2,dtoi(x+r1*cos(a2)),dtoi(y-r2*sin(a2)),dtoi(x+r1*cos(a1)),dtoi(y-r2*sin(a1))); + } + +int g2_win32_FilledArc(int pid, void *pdp, int x, int y, int r1, int r2, double a1, double a2) + { + a1 *= PI/180.; + a2 *= PI/180.; + SelectObject(PDP->hMemDC,PDP->hBrush); + SelectObject(PDP->hMemDC,PDP->hNullPen); + if (PDP->type == g2_win32) + Pie(PDP->hMemDC,x-r1,y-r2,x+r1,y+r2,dtoi(x+r1*cos(a1)),dtoi(y-r2*sin(a1)),dtoi(x+r1*cos(a2)),dtoi(y-r2*sin(a2))); + else + Pie(PDP->hMemDC,x-r1,y-r2,x+r1,y+r2,dtoi(x+r1*cos(a2)),dtoi(y-r2*sin(a2)),dtoi(x+r1*cos(a1)),dtoi(y-r2*sin(a1))); + SelectObject(PDP->hMemDC,PDP->hPen); + return 0; + } + +int g2_win32_DrawString(int pid, void *pdp, int x, int y, const char *text) + { + SetTextColor(PDP->hMemDC,PDP->PenColor); + SetBkMode(PDP->hMemDC,TRANSPARENT); + return TextOut(PDP->hMemDC,x,y,text,strlen(text)); + } + +int g2_win32_QueryPointer(int pid, void *pdp, int *x, int *y, unsigned int *button) +// +// Thanks to input by Martin stéphane +// + { + POINT point; + + GetCursorPos(&point); + + ScreenToClient(PDP->hwndThreadWindow,&point); + + *y=point.y; + *x=point.x; + *button=0; + + if (PDP->hwndThreadWindow != GetForegroundWindow()) + return; // return if our window does not have the focus + + if (GetKeyState(VK_LBUTTON)<0) + *button=*button+256; + + if (GetKeyState(VK_MBUTTON)<0) + *button=*button+512; + + if (GetKeyState(VK_RBUTTON)<0) + *button=*button+1024; + + return 0; + } + +void errhandler(LPSTR errtxt,HWND hwnd) +{ + LPVOID lpMessageBuffer; + char szError[255]; + DWORD LastError; + + LastError = GetLastError(); + + FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |FORMAT_MESSAGE_FROM_SYSTEM, + NULL,LastError,MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), //The user default language + (LPTSTR) &lpMessageBuffer,0,NULL ); + + sprintf(szError,"Error in %s\n Error code %d : %s\n" ,errtxt,LastError,lpMessageBuffer); + MessageBox(hwnd,szError,"error",MB_OK); + + LocalFree( lpMessageBuffer ); +} + + +int InitApplication() +{ + WNDCLASS wc; + + // Fill in window class structure with parameters that describe the + // main window. + + g2res_DLL = LoadLibrary("g2res.dll"); + + if (g2res_DLL == NULL) + printf("Warning: Could not load g2 resource DLL\n Menu and Icon are disabled\n"); + + + wc.style = CS_HREDRAW | CS_VREDRAW; // Class style(s). + wc.lpfnWndProc = g2_WndProc; // Function to retrieve messages for windows of this class. + wc.cbClsExtra = 0; // No per-class extra data. + wc.cbWndExtra = 0; // No per-window extra data. + wc.hInstance = 0; // Application that owns the class. + wc.hIcon = NULL; + if (g2res_DLL != NULL) + { + wc.hIcon = LoadIcon(g2res_DLL, MAKEINTRESOURCE(IDI_ICON1)); + if (wc.hIcon == NULL) + errhandler("Error in LoadIcon",NULL); + } + wc.hCursor = LoadCursor(NULL, IDC_ARROW); + wc.hbrBackground = NULL; + wc.lpszMenuName = "G2WIN32"; + wc.lpszClassName = "g2Window"; // Name used in call to CreateWindow. + + /* Register the window class and return success/failure code. */ + + + if(!RegisterClass(&wc)) + { + errhandler("RegisterClass",NULL); + return FALSE; + } + g2_win32_registered = TRUE; + return TRUE; +} + + +/** + * \ingroup physdev + * \defgroup win32 MS Windows + */ + +/** + * + * Create a Windows device. + * + * \param width window width + * \param height window height + * \param title window title + * \param type window type, see ::g2_win32_type + * + * \return physical device id + * + * \ingroup win32 + */ +int g2_open_win32(int width, int height, const char *title, int type) + { + int pid=0,vid; + long ThreadID; + + g2_win32_STRUCT *pdp; + + pdp = (g2_win32_STRUCT *)malloc(sizeof(g2_win32_STRUCT)); + + PDP->type = type; + PDP->NoOfInks = 0; + PDP->Inks = NULL; + PDP->PenStyle = 0; + PDP->PenWidth = 1; + PDP->PenColor = RGB(1,1,1); + PDP->PenDash = NULL; + PDP->nWidth = width; + PDP->nHeight = height; + PDP->messageloop = 0; + PDP->hFont = NULL; + + switch(type) { + case g2_win32: + { + if(g2_win32_registered == FALSE) + InitApplication(); + + PDP->x = 1; + PDP->y = 1; + if (title != NULL) + PDP->title = title; + else + PDP->title = "g2 Window"; + PDP->hThread = CreateThread(NULL, 0, + (LPTHREAD_START_ROUTINE)g2_StartThread, + (LPVOID)(pdp), + 0, + (LPDWORD) &ThreadID ); + + if (PDP->hThread == NULL) + fprintf(stderr,"g2_win32: Thread could not be started\n"); + + SetThreadPriority(PDP->hThread,THREAD_PRIORITY_ABOVE_NORMAL); + //Wait till window is created by Thread + while( PDP->messageloop == 0) + Sleep(10); + break; + } + case g2_wmf32 : + { + DWORD dwInchesX; + DWORD dwInchesY; + DWORD dwDPI = 72; + RECT Rect = { 0, 0, 0, 0 }; + TCHAR szDesc[] = "Created by g2\0\0"; + HDC hScreenDC; + float PixelsX, PixelsY, MMX, MMY; + + dwInchesX = PDP->nWidth/72; + dwInchesY = PDP->nHeight/72; + // dwInchesX x dwInchesY in .01mm units + SetRect( &Rect, 0, 0,dwInchesX*2540, dwInchesY*2540 ); + + // Get a Reference DC + hScreenDC = GetDC( NULL ); + + // Get the physical characteristics of the reference DC + PixelsX = (float)GetDeviceCaps( hScreenDC, HORZRES ); + PixelsY = (float)GetDeviceCaps( hScreenDC, VERTRES ); + MMX = (float)GetDeviceCaps( hScreenDC, HORZSIZE ); + MMY = (float)GetDeviceCaps( hScreenDC, VERTSIZE ); + + // Create the Metafile + PDP->hMemDC = CreateEnhMetaFile(hScreenDC, title, &Rect, szDesc); + //tstDC = CreateEnhMetaFile(hScreenDC, "test.emf", &Rect, szDesc); + + // Release the reference DC + ReleaseDC( NULL, hScreenDC ); + // Anisotropic mapping mode + SetMapMode( PDP->hMemDC, MM_ANISOTROPIC ); + // Set the Windows extent + SetWindowExtEx( PDP->hMemDC, dwInchesX*dwDPI, dwInchesY*dwDPI, NULL ); + + // Set the viewport extent to reflect + // dwInchesX" x dwInchesY" in device units + SetViewportExtEx( PDP->hMemDC, + (int)((float)dwInchesX*25.4f*PixelsX/MMX), + (int)((float)dwInchesY*25.4f*PixelsY/MMY), + NULL ); +// printf("viewport: %d %d\n",(int)((float)dwInchesX*25.4f*PixelsX/MMX), +// (int)((float)dwInchesY*25.4f*PixelsY/MMY)); + // create the device context +// PDP->hMemDC = CreateMetaFile(NULL) ; + +// PDP->hMemDC = CreateEnhMetaFile( (HDC)NULL, title, &WmfRect, "Created by g2"); +// PDP->hMemDC = CreateMetaFile(title); +// SetMapMode(PDP->hMemDC,MM_LOMETRIC ); +// SetWindowExtEx(PDP->hMemDC,width,height,NULL); +// SetViewportExtEx(PDP->hMemDC,width*1000,height*1000,NULL); + if (PDP->hMemDC == NULL) errhandler("Could not Create Metafile !\n",NULL); + SetArcDirection(PDP->hMemDC,AD_CLOCKWISE); + break; + } + default: + return height; + } + SetTextAlign(PDP->hMemDC,TA_BOTTOM | TA_LEFT); + vid = g2_register_physical_device(pid, pdp, + g2_IntCoor, g2_win32_funix, + 1.0, -1.0, + 0.0, height-1); + + g2_allocate_basic_colors(vid); + g2_pen(vid,1); + g2_set_background(vid, 0); + g2_set_font_size(vid, 10); + g2_clear(vid); + + return vid; + } + +#undef PDP diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32.h new file mode 100755 index 00000000..b35a05d3 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32.h @@ -0,0 +1,68 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +/* This is g2_win32.h */ +#ifndef _G2_WIN32_H +#define _G2_WIN32_H + +#if defined(__cplusplus) +extern "C" +{ +#endif + +#include + +// Common Library header for DLL and application +#ifdef WIN32 +#ifdef G2DLL +#ifdef MAKEDLL +/* Create DLL */ +#define LINKDLL __declspec( dllexport) +#else +/* Use DLL */ +#define LINKDLL __declspec( dllimport) +#endif +#else +/* Use static win32 */ +#define LINKDLL +#endif +#else +/* Use non-win32 */ +#define LINKDLL +#endif + +/** + * Window type + * + * \ingroup win32 + */ +enum g2_win32_type { + g2_win32, /**< regular window */ + g2_wmf32 /**< windows meta file */ +}; + + +LINKDLL int g2_open_win32(int width, int height, const char *filename,int type); + + +#if defined(__cplusplus) +} /* end extern "C" */ +#endif + + +#endif /* _G2_WIN32_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32.rc b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32.rc new file mode 100755 index 00000000..ffa58aa5 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32.rc @@ -0,0 +1,167 @@ +//Microsoft Developer Studio generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_ICON1 ICON DISCARDABLE "g2_Win32.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO DISCARDABLE +BEGIN + "ABOUTBOX", DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 156 + TOPMARGIN, 7 + BOTTOMMARGIN, 91 + END +END +#endif // APSTUDIO_INVOKED + + +#ifndef _MAC +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,0,1 + PRODUCTVERSION 1,0,0,1 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "\0" + VALUE "FileDescription", "g2_win32\0" + VALUE "FileVersion", "1, 0, 0, 1\0" + VALUE "InternalName", "g2_win32\0" + VALUE "LegalCopyright", "Copyright © 1996-1998\0" + VALUE "OriginalFilename", "g2_win32\0" + VALUE "ProductName", "g2_win32\0" + VALUE "ProductVersion", "1, 0, 0, 1\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // !_MAC + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +ABOUTBOX DIALOG DISCARDABLE 0, 0, 163, 98 +STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "About g2" +FONT 8, "MS Sans Serif" +BEGIN + DEFPUSHBUTTON "OK",IDOK,55,71,50,14 + CTEXT "g2 version 0.40\n\n (c) 1998-1999\n Ljubomir Milanovic\nHorst Wagner", + IDC_STATIC,27,7,105,55 + ICON IDI_ICON1,IDC_STATIC,9,9,20,20 +END + + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +G2WIN32 MENU DISCARDABLE +BEGIN + POPUP "File" + BEGIN + MENUITEM "Copy", ID_FILE_COPY + MENUITEM "Close", ID_FILE_CLOS + MENUITEM SEPARATOR + MENUITEM "About", ID_FILE_ABOUT + END +END + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32_P.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32_P.h new file mode 100755 index 00000000..83d3437e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32_P.h @@ -0,0 +1,119 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ + +#ifndef G2_WIN32_P_H +#define G2_WIN32_P_H + +#include "windows.h" +#include + +extern HMENU hmenu; +extern HANDLE ghModule; +extern HINSTANCE g2res_DLL; + +typedef struct g2_win32_STRUCT { + HANDLE hThread; + HWND hwndThreadWindow; + HANDLE hinst; + HBITMAP hBitmap; + HDC hMemDC; + HPEN hPen; + HPEN hNullPen; + HBRUSH hBrush; + HFONT hFont; + int nWidth; + int nHeight; + int x; + int y; + int NoOfInks; + int PenWidth; + int PenStyle; + DWORD *PenDash; + int Pen; + int BkColor; + COLORREF PenColor; + COLORREF *Inks; + char *title; + int type; + int messageloop; + } g2_win32_STRUCT; + + +BOOL SaveBitmapAs(HWND hWnd,struct XPGTHREADINFO *pThreadInfo); +LRESULT CALLBACK g2_WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); +long WINAPI g2_StartThread(struct g2_win32_STRUCT *pdp); +void errhandler(LPSTR errtxt,HWND hwnd); + + +int g2_win32_init_win32(int pid, void *pdp, int vid, int width,int height); +int g2_win32_init_win32X(int pid, void *pdp, + int width, int height, + int xposition, int yposition, + char *windowname, char *iconname, + char *icondata, int iconwidth, int iconheight); +int g2_win32_Delete(int pid, void *pdp); +int g2_win32_Clear(int pid, void *pdp); +int g2_win32_Flush(int pid, void *pdp); +int g2_win32_Ink(int pid, void *pdp, + double red, double green, double blue); +int g2_win32_ClearPalette(int pid, void *pdp); +int g2_win32_ResetPalette(int pid, void *pdp); +int g2_win32_SetBackground(int pid, void *pdp, int color); +int g2_win32_Pen(int pid, void *pdp, int color); +int g2_win32_Paper(int pid, void *pdp, int color); +int g2_win32_SetLineWidth(int pid, void *pdp, int w); +int g2_win32_SetDash(int pid, void *pdp, int n, int *data); +int g2_win32_SetFontSize(int pid, void *pdp, int size); +int g2_win32_Plot(int pid, void *pdp, int x, int y); +int g2_win32_Line(int pid, void *pdp, int x1, int y1, int x2, int y2); +int g2_win32_PolyLine(int pid, void *pdp, int N, int *p); +int g2_win32_Polygon(int pid, void *pdp, int N, int *p); +int g2_win32_FilledPolygon(int pid, void *pdp, int N, int *p); +int g2_win32_Triangle(int pid, void *pdp, + int x1, int y1, + int x2, int y2, + int x3, int y3); +int g2_win32_FilledTriangle(int pid, void *pdp, int x1, int y1, + int x2, int y2, + int x3, int y3); +int g2_win32_Rectangle(int pid, void *pdp, int x1, int y1, int x2, int y2); +int g2_win32_FilledRectangle(int pid, void *pdp, + int x1, int y1, int x2, int y2); +int g2_win32_Circle(int pid, void *pdp, int x, int y, int r); +int g2_win32_FilledCircle(int pid, void *pdp, int x, int y, int r); +int g2_win32_Arc(int pid, void *pdp, int x, int y, + int r1, int r2, double a1, double a2); +int g2_win32_FilledArc(int pid, void *pdp, int x, int y, + int r1, int r2, double a1, double a2); +int g2_win32_Ellipse(int pid, void *pdp, int x, int y, int r1, int r2); +int g2_win32_FilledEllipse(int pid, void *pdp, int x, int y, int r1, int r2); +int g2_win32_DrawString(int pid, void *pdp, int x, int y, const char *text); +int g2_win32_QueryPointer(int pid, void *pdp, int *x, int *y, unsigned int *button); + +int g2_win32_AllocateBasicColors(int pid, void *pdp); + +int g2_win32_Cleanup(int pid, void *pdp); + + +#endif /* g2_win32_P_H */ + + + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32_funix.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32_funix.h new file mode 100755 index 00000000..84593b94 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32_funix.h @@ -0,0 +1,56 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef G2_WIN32_FUNIX_H +#define G2_WIN32_FUNIX_H + +#include "g2_win32_P.h" +#include "g2_physical_device.h" + +const g2_funix_fun g2_win32_funix[] = { + { g2_Delete, g2_win32_Delete }, + { g2_Ink, g2_win32_Ink }, + { g2_Pen, g2_win32_Pen }, + { g2_SetBackground, g2_win32_SetBackground }, + { g2_ClearPalette, g2_win32_ClearPalette }, + { g2_SetLineWidth, g2_win32_SetLineWidth }, + { g2_SetDash, g2_win32_SetDash }, + { g2_SetFontSize, g2_win32_SetFontSize }, + { g2_Clear, g2_win32_Clear }, + { g2_Flush, g2_win32_Flush }, + { g2_Save, g2_win32_Flush }, + { g2_Plot, g2_win32_Plot }, + { g2_Line, g2_win32_Line }, + { g2_PolyLine, g2_win32_PolyLine }, + { g2_Polygon, g2_win32_Polygon }, + { g2_FilledPolygon, g2_win32_FilledPolygon }, + { g2_Rectangle, g2_win32_Rectangle }, + { g2_FilledRectangle, g2_win32_FilledRectangle }, + { g2_Arc, g2_win32_Arc }, + { g2_FilledArc, g2_win32_FilledArc }, + { g2_Ellipse, g2_win32_Ellipse }, + { g2_FilledEllipse, g2_win32_FilledEllipse }, + { g2_Circle, NULL }, + { g2_FilledCircle, NULL }, + { g2_String, g2_win32_DrawString }, + { g2_QueryPointer, g2_win32_QueryPointer }, + { g2_FUNIX_NULL, NULL } }; + + +#endif /* G2_WIN32_FUNIX_H */ + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32_thread.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32_thread.c new file mode 100755 index 00000000..7c315369 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2_win32_thread.c @@ -0,0 +1,213 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ + +#include +#include +#include +#include +#include + +#include "g2_win32_P.h" + +#include "resource.h" + + + +int WINAPI About(HWND hDlg,UINT message, WPARAM wParam,LPARAM lParam) +{ + switch (message){ + case WM_INITDIALOG: + return TRUE; + + case WM_COMMAND: + if (wParam == IDOK) + EndDialog(hDlg,wParam); + break; + } + + return FALSE; +} + + + +LRESULT CALLBACK g2_WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + PAINTSTRUCT ps; + HDC hDC; + RECT Rect; + struct g2_win32_STRUCT *pdp; + + pdp = (struct g2_win32_STRUCT *)GetWindowLong(hWnd, GWL_USERDATA); + switch (message) { + + case WM_PAINT: + if (pdp == NULL) break; + if (pdp->hBitmap == NULL) break; + +// printf("Received WM_PAINT\n"); + + hDC = BeginPaint (hWnd, &ps); + GetClientRect(hWnd,&Rect); + BitBlt( hDC, Rect.left, Rect.top, Rect.right - Rect.left, + Rect.bottom - Rect.top, pdp->hMemDC, 0, 0, SRCCOPY ); + EndPaint (hWnd, &ps); + return 0L; + + case WM_DESTROY: + +// printf("Received WM_DESTROY\n"); + g2_win32_Cleanup(0,pdp); + ExitThread(0); + return 0L; + + case WM_COMMAND: + switch(LOWORD(wParam)){ + + case ID_FILE_COPY: + if (OpenClipboard(hWnd)) + { + HBITMAP hBitmap; + + EmptyClipboard(); + + if (pdp->hBitmap) + { + if (hBitmap = CopyImage(pdp->hBitmap,IMAGE_BITMAP, + 0,0,LR_COPYRETURNORG)); + SetClipboardData(CF_BITMAP, hBitmap); + } + CloseClipboard(); + } + return 0L; + + case ID_FILE_ABOUT: + if(DialogBox(g2res_DLL,"ABOUTBOX",hWnd,(DLGPROC)About) == -1) + errhandler("Failed to create Dialogbox",NULL); + return 0L; + + case ID_FILE_CLOS: + g2_win32_Delete(0,pdp); + return 0L; + + default: + return (DefWindowProc(hWnd, message, wParam, lParam)); + } + + default: + return (DefWindowProc(hWnd, message, wParam, lParam)); + } +/* we should never get here */ +return -1; +} + +long WINAPI g2_StartThread(struct g2_win32_STRUCT *pdp) +{ +RECT Rect; +HWND hWnd; +MSG msg; +HDC hDC; +HMENU hmenu; +DWORD style; +RECT frame; + +hmenu = NULL; +if (g2res_DLL != NULL) + { + hmenu = LoadMenu(g2res_DLL,"G2WIN32"); + if (hmenu == NULL) errhandler("Load menu failed",NULL); + } + +style = WS_POPUPWINDOW |WS_OVERLAPPED | WS_CAPTION | WS_MINIMIZEBOX; +frame.left = 0; +frame.top = 0; +frame.right = pdp->nWidth; +frame.bottom = pdp->nHeight - ((hmenu==NULL)?GetSystemMetrics(SM_CYMENU):0); + +AdjustWindowRect(&frame,style,1); + +/* Save the instance handle in static variable, which will be used in */ +/* many subsequence calls from this application to Windows. */ + + /* Create a main window for this application instance. */ +pdp->hinst = GetModuleHandle(NULL); + +hWnd = CreateWindow( + "g2Window", // See RegisterClass() call. + pdp->title, // Text for window title bar. + style, + pdp->x, pdp->y, + frame.right - frame.left, // width + frame.bottom - frame.top, // height + NULL, // Overlapped windows have no parent. + hmenu, // Use the window class menu. + 0, // This instance owns this window. + NULL // Pointer not needed. + ); + + // If window could not be created, return "failure" + +if (!hWnd) + { + errhandler("CreateWindow",NULL); + return (FALSE); // return failure :(( + } + +#define WIDTH(x) (x.right-x.left+1) // Macro to get rect width +#define HEIGHT(x) (x.bottom-x.top+1) // Macro to get rect height + +// How big is the window? +GetClientRect( hWnd, &Rect ); + +// Need a DC +hDC = GetDC( hWnd ); +SetBkColor(hDC,RGB(255,255,255)); +// Create a bitmap big enough to hold the window's image +pdp->hBitmap = CreateCompatibleBitmap( hDC, WIDTH(Rect), HEIGHT(Rect) ); +// printf("memdc size: %d %d\n",WIDTH(Rect),HEIGHT(Rect)); +// Create MemDC +pdp->hMemDC = CreateCompatibleDC(hDC); +SelectObject( pdp->hMemDC, pdp->hBitmap ); +// clean up +ReleaseDC( hWnd, hDC ); +#undef WIDTH +#undef HEIGHT + + + +SetWindowLong(hWnd, GWL_USERDATA, (long)pdp); + + pdp->hwndThreadWindow = hWnd; + // Make the window visible; update its client area; and return "success" + ShowWindow(hWnd, SW_SHOWDEFAULT); // Show the window + UpdateWindow(hWnd); // Sends WM_PAINT message + //printf("pdp->messageloop ->= 1;\n"); + pdp->messageloop = 1; + //printf("pdp->messageloop = 1;\n"); + + while (GetMessage(&msg, NULL, 0, 0)) { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + + + return (TRUE); // Returns success :) +} + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2res.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2res.c new file mode 100755 index 00000000..b729ff7f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/g2res.c @@ -0,0 +1,7 @@ +#include + + +BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID lpv) +{ + return 1; +} \ No newline at end of file diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/resource.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/resource.h new file mode 100755 index 00000000..ff8f985b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/Win32/resource.h @@ -0,0 +1,21 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Developer Studio generated include file. +// Used by g2_win32.rc +// +#define IDI_ICON1 101 +#define IDD_DIALOG1 104 +#define ID_FILE_SAVEASBMP 40002 +#define ID_FILE_COPY 40003 +#define ID_FILE_ABOUT 40005 +#define ID_FILE_CLOS 40006 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 107 +#define _APS_NEXT_COMMAND_VALUE 40007 +#define _APS_NEXT_CONTROL_VALUE 1000 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/CVS/Entries new file mode 100755 index 00000000..17848105 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/CVS/Entries @@ -0,0 +1 @@ +D diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/CVS/Repository new file mode 100755 index 00000000..d0f45182 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/src/X11/CVS diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/Entries b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/Entries new file mode 100755 index 00000000..b6003b5d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/Entries @@ -0,0 +1,6 @@ +D/CVS//// +/g2.xpm/1.1/Mon Jan 18 10:56:52 1999// +/g2_X11.c/1.1/Tue Jun 14 20:44:20 2005// +/g2_X11.h/1.1/Tue Apr 17 20:16:38 2001// +/g2_X11_P.h/1.1/Tue Jun 14 20:44:21 2005// +/g2_X11_funix.h/1.1/Tue Jun 14 20:44:21 2005// diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/Repository b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/Repository new file mode 100755 index 00000000..724d8ea4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/Repository @@ -0,0 +1 @@ +RNAforester/g2-0.70/src/X11 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/Root b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/Root new file mode 100755 index 00000000..9c9d467e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/Root @@ -0,0 +1 @@ +mhoechsm@porta.techfak.uni-bielefeld.de:/homes/mhoechsm/cvsroot diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/Template b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/CVS/Template new file mode 100755 index 00000000..e69de29b diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2.xpm b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2.xpm new file mode 100755 index 00000000..339c0fef --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2.xpm @@ -0,0 +1,180 @@ +/* XPM */ +static char * g2_xpm[] = { +"40 40 137 2", +" c none", +". c #6B1214", +"+ c #6E1314", +"@ c #891C18", +"# c #8F1E19", +"$ c #821A17", +"% c #841A17", +"& c #BD2D1E", +"* c #EC3C24", +"= c #C22F1F", +"- c #7D1816", +"; c #851A17", +"> c #731515", +", c #BC2C1E", +"' c #B1291D", +") c #8D1D18", +"! c #721415", +"~ c #942019", +"{ c #A0231B", +"] c #C93120", +"^ c #6A1214", +"/ c #6D1314", +"( c #771616", +"_ c #8A1C18", +": c #A5251B", +"< c #C12E1F", +"[ c #D53522", +"} c #9E231B", +"| c #6F1315", +"1 c #681114", +"2 c #7A1716", +"3 c #831A17", +"4 c #7F1817", +"5 c #911E19", +"6 c #AA271C", +"7 c #C73020", +"8 c #E03823", +"9 c #E73B24", +"0 c #D23421", +"a c #B42A1D", +"b c #962019", +"c c #7E1817", +"d c #711415", +"e c #9B221A", +"f c #7F1917", +"g c #AF281D", +"h c #CA3120", +"i c #DD3722", +"j c #E13923", +"k c #D73522", +"l c #C42F1F", +"m c #AE281D", +"n c #9D221A", +"o c #931F19", +"p c #8E1E19", +"q c #861B18", +"r c #751515", +"s c #B52A1D", +"t c #881B18", +"u c #6C1214", +"v c #761615", +"w c #AD281C", +"x c #D83622", +"y c #D03321", +"z c #C83120", +"A c #C22E1F", +"B c #BD2D1F", +"C c #A9261C", +"D c #A4251B", +"E c #DB3722", +"F c #851B17", +"G c #A3241B", +"H c #E43A23", +"I c #B32A1D", +"J c #9C221A", +"K c #9E231A", +"L c #D33421", +"M c #901E19", +"N c #A7261C", +"O c #C02E1F", +"P c #AC271C", +"Q c #8E1D18", +"R c #761515", +"S c #691114", +"T c #8B1C18", +"U c #761616", +"V c #B82B1E", +"W c #871B18", +"X c #671114", +"Y c #8C1D18", +"Z c #7B1716", +"` c #861B17", +" . c #881C18", +".. c #801917", +"+. c #A6251C", +"@. c #CB3120", +"#. c #DC3722", +"$. c #791716", +"%. c #9A221A", +"&. c #BA2C1E", +"*. c #98211A", +"=. c #B2291D", +"-. c #99211A", +";. c #B62B1E", +">. c #D13421", +",. c #D53521", +"'. c #CE3321", +"). c #952019", +"!. c #EB3C24", +"~. c #E83B24", +"{. c #DE3823", +"]. c #9F231B", +"^. c #BB2C1E", +"/. c #CF3321", +"(. c #C32F1F", +"_. c #7C1816", +":. c #7E1816", +"<. c #DA3622", +"[. c #E63A24", +"}. c #EA3C24", +"|. c #B0281D", +"1. c #D63522", +"2. c #E23923", +"3. c #E53A23", +"4. c #AB271C", +"5. c #D93622", +"6. c #811917", +"7. c #97211A", +"8. c #7C1716", +"9. c #741515", +"0. c #A8261C", +"a. c #A2241B", +"b. c #D43421", +"c. c #D43521", +"d. c #CC3220", +"e. c #E93B24", +"f. c #BC2D1E", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" . + @ ", +" # $ % & * = - ", +" ; > , ' ", +" ) ! ~ ", +" { ] ", +" . ^ / ( _ : < [ & } $ | 1 ^ 2 ", +" _ 3 4 $ 5 6 7 8 * 9 0 a b c d . . ^ $ 7 ", +" e @ f 3 ~ g h i j k l m n o p ) _ q % r s ", +" t ! u v # w x y z l A B s C D E ", +" ^ | F G H E h I J K D L ", +" 3 M N O P Q R u S S . T U ", +" } 6 a ^ / f V W X Y 6 5 Z ( u ", +" ` .Y ..M G +.{ @.#.x [ C u 2 ", +" / $.# $ .Y ", +" f %.&. . | $. ", +" *.' = v @ +. ", +" g &.&.=. $ -.;.>. ", +" ,.,.0 y '. ).' 7 >. ", +" !.!.~.{.] $ ].^./.k k ", +" ~.E (.: T _.:.# C l <.[.!.!.}. ", +" 7 |.].e G a 7 1.{.j 2.3.9 9 ", +" ].K G 4.' a ;.&.(. #.j 5. ", +" 6.% ) }.8 ] ", +" >.;.e ", +" G _ ( u ", +" 7.t 8.R 9.> ", +" f o +.' I m 0.D G a.].). ", +" 7 b.5.x 1.[ 1.c.d.^.a. ", +" * e.9 9 }.* [.1.f. ", +" ", +" ", +" ", +" "}; diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2_X11.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2_X11.c new file mode 100755 index 00000000..d2f14f27 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2_X11.c @@ -0,0 +1,797 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "g2.h" +#include "g2_device.h" +#include "g2_util.h" +#include "g2_X11_P.h" +#include "g2_X11.h" +#include "g2_X11_funix.h" +#include "g2_config.h" + + +static int N_X11=0; +static g2_X11_device *g2_X11_dev=NULL; + +/** + * \ingroup physdev + * \defgroup X11 X11 + */ + + +/** + * + * Open a simple X11 window (physical device device). + * + * \param width window width + * \param height window height + * \return physical device id + * + * \ingroup X11 + */ +int g2_open_X11(int width, int height) +{ + return g2_open_X11X(width, height, + 10, 10, + NULL, NULL, + NULL, -1, -1); +} + + + +/** + * + * Open a X11 window (physical device device). If \a icon_width or \a + * icon_height is smaller than 0, the \a icon_data is interpreted as a + * file name. + * + * \param width window width + * \param height window height + * \param x x position on screen + * \param y y position on screen + * \param window_name hint for window manager + * \param icon_name hint for window manager + * \param icon_data icon bitmap (\a icon_width * \a icon_height bits) or file name containing bitmap + * (if \a icon_width <= 0 or \a icon_height <= 0) + * \param icon_width icon width + * \param icon_height icon height + * \return physical device id + * + * \ingroup X11 + */ +int g2_open_X11X(int width, int height, + int x, int y, + char *window_name, char *icon_name, + char *icon_data, int icon_width, int icon_height) +{ + g2_X11_device *xout=NULL; + int pid=-1, i; + char name[32]; + int vid; + + if(g2_X11_dev==NULL) { + g2_X11_dev=g2_malloc(sizeof(g2_X11_device)); + N_X11=1; /* first X11 device */ + xout=&g2_X11_dev[N_X11-1]; + pid=0; + } else { + for(i=0;iwidth=width; /* set window size */ + xout->height=height; + + xout->NofInks=0; /* reset inks */ + xout->inks=NULL; + + vid = g2_register_physical_device(pid, NULL, + g2_IntCoor, g2_X11_funix, + 1.0, -1.0, + 0.0, height-1); + + sprintf(name, "g2: %d", vid); /* set window and icon names */ + if(window_name==NULL) + window_name=name; + if(icon_name==NULL) + icon_name=name; + + g2_X11_init_X11X(pid, width, height, + x, y, + window_name, icon_name, + icon_data, icon_width, icon_height); + + + /* g2 calls */ + g2_allocate_basic_colors(vid); + g2_set_background(vid, 0); + g2_pen(vid, 1); + + return vid; +} + + + + +/* + * + * Extended version of the InitX11 + * + */ +int g2_X11_init_X11X(int pid, int width, int height, + int xposition, int yposition, + char *window_name, char *icon_name, + char *icon_data, + unsigned int icon_width, unsigned int icon_height) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + Window root; + XSetWindowAttributes wattr; + XEvent event; + Pixmap iconPixmap; + XSizeHints sizehints; + int xhot, yhot, rv; + XColor w_scr, w_exa, r_scr, r_exa; + XClassHint class_hint; + + if((xout->display=XOpenDisplay(NULL))==NULL) { + g2_log(Error, "g2: can't open display\n"); + exit(-1); + } + + + xout->root=RootWindow(xout->display, DefaultScreen(xout->display)); + root=xout->root; + + wattr.event_mask=ExposureMask; + xout->window=XCreateWindow(xout->display, root, + xposition, yposition, + width, height, + 0, + CopyFromParent, InputOutput, CopyFromParent, + CWEventMask, + &wattr); + + xout->gc=XCreateGC(xout->display, xout->window, + 0lu, NULL); + + xout->colormap=DefaultColormap(xout->display, + DefaultScreen(xout->display)); + + XAllocNamedColor(xout->display, xout->colormap, + "red", &r_scr, &r_exa); + XAllocNamedColor(xout->display, xout->colormap, + "white", &w_scr, &w_exa); + + + + if(icon_data!=NULL) { + if(icon_width<=0 || icon_height<=0) { /* read icon from file */ + rv=XReadBitmapFile(xout->display, xout->window, + icon_data, &icon_width, &icon_height, + &iconPixmap, &xhot, &yhot); + } else { /* icon is bitmap */ + iconPixmap=XCreatePixmapFromBitmapData(xout->display, + xout->window, + icon_data, + icon_width, icon_height, + 1ul, 0ul, 1); + rv=BitmapSuccess; + } + switch(rv) { + case BitmapOpenFailed: + fputs("g2(OpenXX): bitmap file open failed\n",stderr); + break; + case BitmapFileInvalid: + fputs("g2(OpenXX): bitmap file invalid\n",stderr); + break; + case BitmapNoMemory: + fputs("g2(OpenXX): no enough memeory for bitmap\n",stderr); + break; + } + } else { /* no icon data avail. */ + unsigned char bitmapData[] = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x00,0x00,0x00,0xe0, + 0x0d,0x00,0x00,0x00,0x60,0x0c,0x00,0x00,0x00,0x20,0x18, + 0x00,0x00,0x00,0x00,0x10,0x00,0xf8,0xe3,0x07,0x08,0x00, + 0xfe,0xfa,0x07,0x0c,0x00,0xbf,0x6e,0x07,0x06,0x80,0x0f, + 0xf5,0x00,0x01,0x80,0x05,0x34,0x80,0x09,0xc0,0x03,0x78, + 0xe0,0x18,0x80,0x00,0x70,0xe0,0x1e,0xc0,0x01,0x70,0x70, + 0x1b,0xc0,0x01,0x50,0x00,0x00,0xc0,0x01,0x70,0x00,0x00, + 0xc0,0x00,0x70,0x00,0x00,0x40,0x03,0x38,0x00,0x00,0x80, + 0x05,0x50,0x00,0x00,0x80,0x0a,0x6e,0x00,0x00,0x00,0xfe, + 0x37,0x00,0x00,0x00,0x6a,0x59,0x00,0x00,0x00,0xbc,0x57, + 0x00,0x00,0x00,0xe0,0x50,0x00,0x00,0x00,0x00,0x60,0x00, + 0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x00,0x7e,0x00,0x00, + 0x00,0x7c,0x2b,0x00,0x00,0x00,0xa4,0x1d,0x00,0x00,0x00, + 0xb8,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00}; + iconPixmap=XCreatePixmapFromBitmapData(xout->display, xout->window, + (char*)bitmapData, + 40u, 40u, + w_scr.pixel, r_scr.pixel, + 1ul); + } + + sizehints.x = xposition; + sizehints.y = yposition; + sizehints.min_width = width; + sizehints.max_width = width; + sizehints.min_height = height; + sizehints.max_height = height; + sizehints.flags = PPosition | PMinSize | PMaxSize; + XSetStandardProperties(xout->display, xout->window, + window_name, icon_name, iconPixmap, + (char **)NULL, 0, &sizehints); + + class_hint.res_name = "g2"; + class_hint.res_class = "G2"; + XSetClassHint(xout->display, xout->window, &class_hint); + + + XMapRaised(xout->display, xout->window); + + /* XSetWindowBackground(xout->display, xout->window, w_scr.pixel); */ + XClearWindow(xout->display,xout->window); + + g2_X11_paper(pid, NULL, 0); + g2_X11_set_font_size(pid, NULL, 12); + /* wait expose event */ + /* (no back. store) */ + while(!XCheckWindowEvent(xout->display,xout->window, + ExposureMask,&event)) + ; + + + wattr.event_mask=NoEventMask; /* set NoEventMask */ + wattr.backing_store=Always; /* set backing store */ + XChangeWindowAttributes(xout->display, xout->window, + CWEventMask|CWBackingStore, + &wattr); + + xout->dest = xout->window; + + xout->backing_pixmap = None; + + if(XDoesBackingStore(XDefaultScreenOfDisplay(xout->display))!=Always) { + if(g2_EmulateBackingStore) { + g2_log(Warning, "g2: Warning! Backing store is not available. Allocating pixmap instead.\n"); + + xout->backing_pixmap = XCreatePixmap(xout->display, xout->window, + xout->width, xout->height, + DefaultDepth(xout->display, DefaultScreen(xout->display))); + XSetWindowBackgroundPixmap(xout->display, xout->window, + xout->backing_pixmap); + + XSetForeground (xout->display, xout->gc, w_scr.pixel); + + XFillRectangle(xout->display, xout->backing_pixmap, xout->gc, + 0, 0, xout->width, xout->height); + xout->dest = xout->backing_pixmap; + } else { + g2_log(Warning, "g2: Warning! Backing store is not available.\n"); + } + } + + XFlush(xout->display); + return 0; +} + + + + +int g2_X11_delete(int pid, void *pdp) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XUnmapWindow(xout->display, xout->window); + if (xout->backing_pixmap != None) + XFreePixmap(xout->display,xout->backing_pixmap); + XDestroyWindow(xout->display, xout->window); + XDestroyWindow(xout->display, xout->root); + XFreeGC(xout->display, xout->gc); + XFreeColormap(xout->display, xout->colormap); + XCloseDisplay(xout->display); + if(xout->inks!=NULL) + g2_free(xout->inks); + xout->width=xout->height=0; + xout->display=NULL; + return 0; +} + + + +int g2_X11_clear(int pid, void *pdp) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + + if (xout->backing_pixmap == None) { + XClearWindow(xout->display,xout->window); + } else { + XSetForeground (xout->display, xout->gc, + xout->background); + XFillRectangle(xout->display, xout->dest, xout->gc, + 0, 0, xout->width, xout->height); + } + g2_X11_flush(pid, pdp); + return 0; +} + + + +int g2_X11_flush(int pid, void *pdp) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + if( xout->backing_pixmap != None ) { + XCopyArea(xout->display, xout->dest, xout->window, xout->gc, + 0, 0, xout->width, xout->height, 0, 0); + } + XFlush(xout->display); + return 0; +} + + + +int g2_X11_ink(int pid, void *pdp, + double red, double green, double blue) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XColor color; + + color.flags=DoRed|DoGreen|DoBlue; + color.red = (int)(red * USHRT_MAX); + color.green = (int)(green * USHRT_MAX); + color.blue = (int)(blue * USHRT_MAX); + if(XAllocColor(xout->display,xout->colormap,&color)) { + xout->NofInks++; + if(xout->inks==NULL) + xout->inks= + (unsigned long *)g2_malloc(xout->NofInks*sizeof(unsigned long)); + else + xout->inks= + (unsigned long *)g2_realloc((void *)xout->inks, + xout->NofInks*sizeof(unsigned long)); + if(xout->inks==NULL) { + fputs("g2: not enough memory\n",stderr); + return -1; + } + xout->inks[xout->NofInks-1]=color.pixel; + return xout->NofInks-1; + } else { + fputs("g2: color is not available\n",stderr); + return -1; + } +} + + +int g2_X11_clear_palette(int pid, void *pdp) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XFreeColors(xout->display,xout->colormap, + xout->inks,xout->NofInks,0x0ul); + xout->NofInks=0; + if(xout->inks!=NULL) + free(xout->inks); + xout->inks=NULL; + return 0; +} + + +int g2_X11_set_background(int pid, void *pdp, int color) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + if(color>=xout->NofInks || color<0) + return -1; + if (xout->backing_pixmap == None) + { + XSetWindowBackground(xout->display,xout->dest, + xout->inks[color]); + } + else + { + xout->background = xout->inks[color]; + } + g2_X11_clear(pid,pdp); + return 0; +} + + +int g2_X11_pen(int pid, void *pdp, int color) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + if(color>=xout->NofInks || color<0) + return -1; + XSetForeground(xout->display, xout->gc, xout->inks[color]); + return 0; +} + + + +int g2_X11_paper(int pid, void *pdp, int color) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + if(color>=xout->NofInks || color<0) + return -1; + XSetBackground(xout->display, xout->gc, xout->inks[color]); + return 0; +} + + +int g2_X11_set_line_width(int pid, void *pdp, int w) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XGCValues val; + + val.line_width=w; + XChangeGC(xout->display, xout->gc, GCLineWidth, &val); + return 0; +} + + +int g2_X11_set_dash(int pid, void *pdp, int n, int *data) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XGCValues val; + int i; + + if(n<=0 || data==NULL) { + val.line_style=LineSolid; + XChangeGC(xout->display, xout->gc, GCLineStyle,&val); + } else { + char *ch_data; + ch_data=g2_malloc(n*sizeof(char)); + val.line_style=LineOnOffDash; + for(i=0;i0) + ch_data[i]=(char)data[i]; + else + ch_data[i]=1; + XChangeGC(xout->display, xout->gc, GCLineStyle, &val); + XSetDashes(xout->display, xout->gc, 0, ch_data, n); + g2_free(ch_data); + } + return 0; +} + + +int g2_X11_set_font_size(int pid, void *pdp, int size) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XFontStruct *fnt_str; + char font_name[256]; + int sizei, d, n; + + sizei=dtoi(size); + + if(sizei<=0) + sizei=1; /* set to smallest size */ + + for(n=1;n<32;n++) { + d=((n&0x01)? -1:1)*(n>>1); + sprintf(font_name, g2_X11Font, sizei+d); + fnt_str=XLoadQueryFont(xout->display, font_name); + if(fnt_str==NULL) { + if(!d) + fprintf(stderr,"g2: can not load font: '%s'\n",font_name); + } else { + XSetFont(xout->display,xout->gc,fnt_str->fid); + if(d) + fprintf(stderr,"g2: using '%s' instead\n",font_name); + return 0; + } + } + fprintf(stderr, "g2: are you sure about %d point size\n", size); + return -1; +} + + +int g2_X11_plot(int pid, void *pdp, int x, int y) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XDrawPoint(xout->display, xout->dest, xout->gc, + x, y); + return 0; +} + + +int g2_X11_line(int pid, void *pdp, int x1, int y1, int x2, int y2) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XDrawLine(xout->display,xout->dest,xout->gc, + x1, y1, x2, y2); + return 0; +} + + +int g2_X11_poly_line(int pid, void *pdp, int N, int *p) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XPoint *points; + int i; + points=g2_malloc(N*sizeof(XPoint)); + for(i=0;idisplay,xout->dest,xout->gc, + points, N, + CoordModeOrigin); + g2_free(points); + return 0; +} + + +int g2_X11_polygon(int pid, void *pdp, int N, int *p) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XPoint *points; + int i; + points=g2_malloc((N+1)*sizeof(XPoint)); + for(i=0;idisplay,xout->dest,xout->gc, + points, N+1, + CoordModeOrigin); + g2_free(points); + return 0; +} + + +int g2_X11_filled_polygon(int pid, void *pdp, int N, int *p) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XPoint *points; + int i; + points=g2_malloc((N+1)*sizeof(XPoint)); + for(i=0;idisplay,xout->dest,xout->gc, + points, N+1, + Complex, CoordModeOrigin); + g2_free(points); + return 0; +} + + +int g2_X11_triangle(int pid, void *pdp, + int x1, int y1, + int x2, int y2, + int x3, int y3) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XPoint points[4]; + points[0].x=x1; points[0].y=y1; + points[1].x=x2; points[1].y=y2; + points[2].x=x3; points[2].y=y3; + points[3].x=x1; points[3].y=y1; + XDrawLines(xout->display,xout->dest,xout->gc, + points, 4, CoordModeOrigin); + return 0; +} + + +int g2_X11_filled_triangle(int pid, void *pdp, + int x1, int y1, + int x2, int y2, + int x3, int y3) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XPoint points[4]; + points[0].x=x1; points[0].y=y1; + points[1].x=x2; points[1].y=y2; + points[2].x=x3; points[2].y=y3; + points[3].x=x1; points[3].y=y1; + XFillPolygon(xout->display,xout->dest,xout->gc, + points, 4, Convex, CoordModeOrigin); + return 0; +} + + +int g2_X11_rectangle(int pid, void *pdp, int x1, int y1, int x2, int y2) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XDrawRectangle(xout->display,xout->dest,xout->gc, + x1, y1, x2-x1, y2-y1); + return 0; +} + + + +int g2_X11_filled_rectangle(int pid, void *pdp, int x1, int y1, int x2, int y2) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XDrawRectangle(xout->display,xout->dest,xout->gc, + x1, y1, x2-x1, y2-y1); + XFillRectangle(xout->display,xout->dest,xout->gc, + x1, y1, x2-x1, y2-y1); + return 0; +} + + +int g2_X11_arc(int pid, void *pdp, int x, int y, + int r1, int r2, double a1, double a2) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + double a0, d; + + a0=fmod(a1, 360.) + (a1<0? 360:0); /* map a1 to [0, 360) */ + d=a2>a1? a2-a1:a2-a1+360; + + XDrawArc(xout->display,xout->dest,xout->gc, + x-r1, y-r2, + r1*2, r2*2, + (int)(a0*64.), (int)(d*64.)); + return 0; +} + + +int g2_X11_filled_arc(int pid, void *pdp, int x, int y, + int r1, int r2, double a1, double a2) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + double a0, d; + + a0=fmod(a1, 360.) + (a1<0? 360:0); /* map a1 to [0, 360) */ + d=a2>a1? a2-a1:a2-a1+360; + + XDrawArc(xout->display,xout->dest,xout->gc, + x-r1, y-r2, + r1*2, r2*2, + (int)(a0*64.), (int)(d*64.)); + XFillArc(xout->display,xout->dest,xout->gc, + x-r1, y-r2, + r1*2, r2*2, + (int)(a0*64.), (int)(d*64.)); + return 0; +} + + +int g2_X11_ellipse(int pid, void *pdp, int x, int y, int r1, int r2) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XDrawArc(xout->display,xout->dest,xout->gc, + x-r1, y-r2, + r1*2, r2*2, + 0,360*64); + return 0; +} + + +int g2_X11_filled_ellipse(int pid, void *pdp, int x, int y, int r1, int r2) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XDrawArc(xout->display,xout->dest,xout->gc, + x-r1, y-r2, + r1*2, r2*2, + 0,360*64); + XFillArc(xout->display,xout->dest,xout->gc, + x-r1, y-r2, + r1*2, r2*2, + 0,360*64); + XFlush(xout->display); + return 0; +} + + +int g2_X11_draw_string(int pid, void *pdp, int x, int y, const char *text) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XDrawString(xout->display,xout->dest,xout->gc, + x, y, text, strlen(text)); + return 0; +} + + +int g2_X11_image(int pid, void *pdp, + int x, int y, int width, int height, int *pen_array) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + XImage *image=NULL; + Screen *screen; + unsigned long *ink_array; + int i; + + ink_array=malloc(sizeof(unsigned long)*width*height); + for(i=0;iinks[pen_array[i]]; + + screen=DefaultScreenOfDisplay(xout->display); + image=XCreateImage(xout->display, + DefaultVisualOfScreen(screen), + DefaultDepthOfScreen(screen), + ZPixmap, + 0, /* offset */ + (char *)ink_array, + width, height, + sizeof(unsigned long)*8, /* bitmap pad */ + 0); /* bytes per line */ + /* XInitImage(image); problems with AIX ?!! */ + XPutImage(xout->display, xout->dest, xout->gc, + image, + 0, 0, + x, y, width, height); + + XDestroyImage(image); + free(ink_array); + return 0; +} + + +int g2_X11_query_pointer(int pid, void *pdp, + int *x, int *y, unsigned int *button) +{ + Bool rv; + g2_X11_device *xout=&g2_X11_dev[pid]; + Window root, child; + int rx, ry; + + rv = XQueryPointer(xout->display, xout->window, + &root, &child, &rx, &ry, + x, y, button); + + if(rv) + return 0; + else + return 1; +} + + + +int g2_X11_get_pd_handles(int pid, void *pdp, void *handles[G2_PD_HANDLES_SIZE]) +{ + g2_X11_device *xout=&g2_X11_dev[pid]; + + handles[0]=xout->display; + handles[1]=&xout->window; + handles[2]=&xout->root; + handles[3]=&xout->colormap; + handles[4]=&xout->gc; + handles[5]=&xout->dest; + return 0; +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2_X11.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2_X11.h new file mode 100755 index 00000000..4db6bf94 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2_X11.h @@ -0,0 +1,45 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _G2_X11_H +#define _G2_X11_H + +#if defined(__cplusplus) +extern "C" +{ +#endif + + +int g2_open_X11(int width, int height); + +int g2_open_X11X(int width, int height, + int x, int y, + char *window_name, char *icon_name, + char *icon_data, + int icon_width, int icon_height); + +#if defined(__cplusplus) +} /* end extern "C" */ +#endif + +#endif /* _G2_X11_H */ + + + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2_X11_P.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2_X11_P.h new file mode 100755 index 00000000..9c9f3ccb --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2_X11_P.h @@ -0,0 +1,94 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _G2_X11_P_H +#define _G2_X11_P_H + +#include + +#include "g2.h" + +typedef struct { + Display *display; + Window window; + Window root; + Colormap colormap; + GC gc; + Drawable dest; + Pixmap backing_pixmap; + + + unsigned long *inks; /* allocated colors*/ + int NofInks; /* N of allocated colors */ + int width; /* window dimensions */ + int height; + int background; +} g2_X11_device; + + +int g2_X11_init_X11X(int pid, int width, int height, + int xposition, int yposition, + char *window_name, char *icon_name, + char *icon_data, + unsigned int icon_width, unsigned int icon_height); +int g2_X11_delete(int pid, void *pdp); +int g2_X11_clear(int pid, void *pdp); +int g2_X11_flush(int pid, void *pdp); +int g2_X11_ink(int pid, void *pdp, + double red, double green, double blue); +int g2_X11_clear_palette(int pid, void *pdp); +int g2_X11_reset_palette(int pid, void *pdp); +int g2_X11_set_background(int pid, void *pdp, int color); +int g2_X11_pen(int pid, void *pdp, int color); +int g2_X11_paper(int pid, void *pdp, int color); +int g2_X11_set_line_width(int pid, void *pdp, int w); +int g2_X11_set_dash(int pid, void *pdp, int n, int *data); +int g2_X11_set_font_size(int pid, void *pdp, int size); +int g2_X11_plot(int pid, void *pdp, int x, int y); +int g2_X11_line(int pid, void *pdp, int x1, int y1, int x2, int y2); +int g2_X11_poly_line(int pid, void *pdp, int N, int *p); +int g2_X11_polygon(int pid, void *pdp, int N, int *p); +int g2_X11_filled_polygon(int pid, void *pdp, int N, int *p); +int g2_X11_triangle(int pid, void *pdp, + int x1, int y1, + int x2, int y2, + int x3, int y3); +int g2_X11_filled_triangle(int pid, void *pdp, int x1, int y1, + int x2, int y2, + int x3, int y3); +int g2_X11_rectangle(int pid, void *pdp, int x1, int y1, int x2, int y2); +int g2_X11_filled_rectangle(int pid, void *pdp, + int x1, int y1, int x2, int y2); +int g2_X11_arc(int pid, void *pdp, int x, int y, + int r1, int r2, double a1, double a2); +int g2_X11_filled_arc(int pid, void *pdp, int x, int y, + int r1, int r2, double a1, double a2); +int g2_X11_ellipse(int pid, void *pdp, int x, int y, int r1, int r2); +int g2_X11_filled_ellipse(int pid, void *pdp, int x, int y, int r1, int r2); +int g2_X11_draw_string(int pid, void *pdp, int x, int y, const char *text); +int g2_X11_image(int pid, void *pdp, + int x, int y, int width, int height, int *pen_array); +int g2_X11_query_pointer(int pid, void *pdp, + int *x, int *y, unsigned int *button); +int g2_X11_get_pd_handles(int pid, void *pdp, void *handles[G2_PD_HANDLES_SIZE]); +#endif /* _G2_X11_P_H */ + + + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2_X11_funix.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2_X11_funix.h new file mode 100755 index 00000000..66f9b1fe --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/X11/g2_X11_funix.h @@ -0,0 +1,60 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _G2_X11_FUNIX_H +#define _G2_X11_FUNIX_H + +#include "g2_X11_P.h" +#include "g2_physical_device.h" + + +const g2_funix_fun g2_X11_funix[] = { + { g2_Delete, g2_X11_delete }, + { g2_Ink, g2_X11_ink }, + { g2_Pen, g2_X11_pen }, + { g2_SetBackground, g2_X11_set_background }, + { g2_ClearPalette, g2_X11_clear_palette }, + { g2_SetLineWidth, g2_X11_set_line_width }, + { g2_SetDash, g2_X11_set_dash }, + { g2_SetFontSize, g2_X11_set_font_size }, + { g2_Clear, g2_X11_clear }, + { g2_Flush, g2_X11_flush }, + { g2_Save, g2_X11_flush }, + { g2_Plot, g2_X11_plot }, + { g2_Line, g2_X11_line }, + { g2_PolyLine, g2_X11_poly_line }, + { g2_Polygon, g2_X11_polygon }, + { g2_FilledPolygon, g2_X11_filled_polygon }, + { g2_Rectangle, g2_X11_rectangle }, + { g2_FilledRectangle, g2_X11_filled_rectangle }, + { g2_Triangle, g2_X11_triangle }, + { g2_FilledTriangle, g2_X11_filled_triangle }, + { g2_Arc, g2_X11_arc }, + { g2_FilledArc, g2_X11_filled_arc }, + { g2_Ellipse, g2_X11_ellipse }, + { g2_FilledEllipse, g2_X11_filled_ellipse }, + { g2_Circle, NULL }, + { g2_FilledCircle, NULL }, + { g2_String, g2_X11_draw_string }, + { g2_Image, NULL }, + { g2_QueryPointer, g2_X11_query_pointer }, + { g2_GetPDHandles, g2_X11_get_pd_handles }, + { g2_FUNIX_NULL, NULL } }; + + +#endif /* _G2_X11_FUNIX_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2.h new file mode 100755 index 00000000..e16a9229 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2.h @@ -0,0 +1,200 @@ +/***************************************************************************** +** Copyright (C) 1998-2005 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _G2_H +#define _G2_H + + +/* g2 version */ +#define G2_VERSION "0.70" + + +#if defined(__cplusplus) +extern "C" +{ +#endif + +/* Common Library header for DLL and application */ +#ifdef WIN32 +#ifdef G2DLL +#ifdef MAKEDLL +/* Create DLL */ +#pragma message( "Building DLL library") +#define G2L __declspec( dllexport) +#else +/* Use DLL */ +#define G2L __declspec( dllimport) +#endif +#else +/* Use static win32 */ +#define G2L +#endif +#else +/* Use non-win32 */ +#define G2L +#endif + + +#define G2LD g2_ld() + +#if defined(SWIG) +#if defined(DO_X11) +%include "X11/g2_X11.h" +#endif +#if defined(DO_PS) +%include "PS/g2_PS.h" +#endif +#if defined(DO_GD) +%include "GD/g2_gd.h" +#endif +#if defined(DO_WIN32) +%include "WIN32/g2_win32.h" +#endif + +%module g2 + +%include typemaps.i + +%{ +#include "g2.h" +#if defined(DO_X11) +#include "g2_X11.h" +#endif +#if defined(DO_PS) +#include "g2_PS.h" +#endif +#if defined(DO_GD) +#include "g2_gd.h" +#endif +#if defined(DO_WIN32) +#include "WIN32/g2_win32.h" +#endif +%} + +#endif +/* end SWIG */ + + +enum QPshape { + QPrect, /**< rectangular quasi pixel */ + QPcirc /**< circle as a quasi pixel */ +}; + +/* compatibility with old versions */ +#define g2_draw_string(dev, x, y, text) g2_string((dev), (x), (y), (text)) + + + +G2L int g2_open_vd(void); +G2L void g2_attach(int vd_dev, int dev); +G2L void g2_detach(int vd_dev, int dev); + +G2L void g2_close(int dev); +G2L void g2_set_auto_flush(int dev, int on_off); +G2L void g2_flush(int dev); +G2L void g2_save(int dev); +G2L void g2_set_coordinate_system(int dev, double x_origin, double y_origin, + double x_mul, double y_mul); + +G2L int g2_ld(); +G2L void g2_set_ld(int dev); + +G2L int g2_ink(int pd_dev, double red, double green, double blue); +G2L void g2_pen(int dev, int color); +G2L void g2_set_dash(int dev, int N, double *dashes); +G2L void g2_set_font_size(int dev, double size); +G2L void g2_set_line_width(int dev, double w); +G2L void g2_clear_palette(int dev); +G2L void g2_reset_palette(int dev); +G2L void g2_allocate_basic_colors(int dev); + +G2L void g2_clear(int dev); +G2L void g2_set_background(int dev, int color); + +G2L void g2_move(int dev, double x, double y); +G2L void g2_move_r(int dev, double dx, double dy); + +G2L void g2_plot(int dev, double x, double y); +G2L void g2_plot_r(int dev, double dx, double dy); +G2L void g2_line(int dev, double x1, double y1, double x2, double y2); +G2L void g2_line_r(int dev, double dx, double dy); +G2L void g2_line_to(int dev, double x, double y); +G2L void g2_poly_line(int dev, int N_pt, double *points); +G2L void g2_triangle(int dev, double x1, double y1, + double x2, double y2, + double x3, double y3); +G2L void g2_filled_triangle(int dev, double x1, double y1, + double x2, double y2, + double x3, double y3); +G2L void g2_rectangle(int dev, double x1, double y1, double x2, double y2); +G2L void g2_filled_rectangle(int dev, + double x1, double y1, double x2, double y2); +G2L void g2_polygon(int dev, int N_pt, double *points); +G2L void g2_filled_polygon(int dev, int N_pt, double *points); +G2L void g2_circle(int dev, double x, double y, double r); +G2L void g2_filled_circle(int dev, double x, double y, double r); +G2L void g2_ellipse(int dev, double x, double y, double r1, double r2); +G2L void g2_filled_ellipse(int dev, double x, double y, double r1, double r2); +G2L void g2_arc(int dev, + double x, double y, + double r1, double r2, + double a1, double a2); +G2L void g2_filled_arc(int dev, double x, double y, + double r1, double r2, + double a1, double a2); +G2L void g2_string(int dev, double x, double y, const char *text); +G2L void g2_image(int dev, + double x, double y, int x_size, int y_size, int *pens); + +G2L void g2_set_QP(int dev, double d, enum QPshape shape); +G2L void g2_plot_QP(int dev, double x, double y); +#if !defined(SWIG) +G2L void g2_query_pointer(int dev, double *x, double *y, unsigned int *button); +#else +extern void g2_query_pointer(int dev, double *OUTPUT,double *OUTPUT,unsigned int *OUTPUT); +#endif + + + /* Tijs Michels */ + /* 06/16/99 */ + +G2L void g2_spline(int id, int n, double *points, int o); +G2L void g2_b_spline(int id, int n, double *points, int o); +G2L void g2_raspln(int id, int n, double *points, double tn); +G2L void g2_para_3(int id, int n, double *points); +G2L void g2_para_5(int id, int n, double *points); +G2L void g2_filled_spline(int id, int n, double *points, int o); +G2L void g2_filled_b_spline(int id, int n, double *points, int o); +G2L void g2_filled_raspln(int id, int n, double *points, double tn); +G2L void g2_filled_para_3(int id, int n, double *points); +G2L void g2_filled_para_5(int id, int n, double *points); + + +/** Actualy private function, but... **/ +G2L int g2_device_exist(int dix); + +/** Use only if you know what are you doing **/ +#define G2_PD_HANDLES_SIZE 32 +G2L void g2_get_pd_handles(int pd, void *handles[G2_PD_HANDLES_SIZE]); + + +#if defined(__cplusplus) +} /* end extern "C" */ +#endif + +#endif /* _G2_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_config.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_config.h new file mode 100755 index 00000000..f5607f0c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_config.h @@ -0,0 +1,42 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _G2_CONFIG_H +#define _G2_CONFIG_H + +/* + * + * Some g2 defines + * + * Default behaviour is usually ok for most cases + * + */ + +/* g2 warnings are printed to stderr, larger 0=quiet, 1=errors, 2=warnings, 3=verbose, 4=debug */ +#define g2_LogLevel 1 + +/* set to 0 to disable backing store emulation */ +#define g2_EmulateBackingStore 1 + +/* X11 font, note %d for font size */ +#define g2_X11Font "-*-times-medium-r-normal--%d-*-*-*-*-*-*-*" + +/* PostScript font */ +#define g2_PSFont "/Times-Roman" + +#endif /* _G2_CONFIG_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_control_pd.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_control_pd.c new file mode 100755 index 00000000..7c04d2c8 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_control_pd.c @@ -0,0 +1,314 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include +#include + +#include "g2.h" +#include "g2_device.h" +#include "g2_physical_device.h" +#include "g2_util.h" +#include "g2_funix.h" + + + +/* + * + * Flush output + * + */ +void g2_flush_pd(g2_physical_device *pd) +{ + if(pd->ff[g2_Flush].fun!=NULL) { + pd->ff[g2_Flush].fun(pd->pid, pd->pdp); + } else { + /* emulate ... with .... */ + } +} + + + +/* + * + * Save output + * + */ +void g2_save_pd(g2_physical_device *pd) +{ + if(pd->ff[g2_Save].fun!=NULL) { + pd->ff[g2_Save].fun(pd->pid, pd->pdp); + } else { + /* emulate ... with .... */ + } +} + + + +/* + * + * Clear device + * + */ +void g2_clear_pd(g2_physical_device *pd) +{ + if(pd->ff[g2_Clear].fun!=NULL) { + pd->ff[g2_Clear].fun(pd->pid, pd->pdp); + } else { + /* emulate ... with .... */ + } +} + + + +/* + * + * Set pen + * + */ +void g2_pen_pd(g2_physical_device *pd, int color) +{ + if(pd->ff[g2_Pen].fun!=NULL) { + pd->ff[g2_Pen].fun(pd->pid, pd->pdp, color); + } else { + /* emulate ... with .... */ + } +} + + + +/* + * + * Set background color + * + */ +void g2_set_background_pd(g2_physical_device *pd, int color) +{ + if(pd->ff[g2_SetBackground].fun!=NULL) { + pd->ff[g2_SetBackground].fun(pd->pid, pd->pdp, color); + } else { + /* emulate ... with .... */ + } +} + + + +/* + * + * Set ink + * + */ +int g2_ink_pd(g2_physical_device *pd, double red, double green, double blue) +{ + int rv=-1; + + if(pd->ff[g2_Ink].fun!=NULL) { + rv=pd->ff[g2_Ink].fun(pd->pid, pd->pdp, + red, green, blue); + } else { + /* emulate ... with .... */ + } + return rv; +} + + + + +/* + * + * Clear palette + * + */ +void g2_clear_palette_pd(g2_physical_device *pd) +{ + if(pd->ff[g2_ClearPalette].fun!=NULL) { + pd->ff[g2_ClearPalette].fun(pd->pid, pd->pdp); + } else { + /* emulate ... with .... */ + } +} + + +/* + * + * Allocate basic colors + * + */ +void g2_allocate_basic_colors_pd(g2_physical_device *pd) +{ + double ct[3]={0.0, 0.5, 1.0}; + int r, g, b; + + if(pd->ff[g2_Ink].fun!=NULL) { + pd->ff[g2_Ink].fun(pd->pid, pd->pdp, /* white */ + 1.0, 1.0, 1.0); + pd->ff[g2_Ink].fun(pd->pid, pd->pdp, /* black */ + 0.0, 0.0, 0.0); + for(r=0;r<3;r++) + for(g=0;g<3;g++) + for(b=0;b<3;b++) + if((r==2 && g==2 && b==2) || + (r==0 && g==0 && b==0)) + continue; + else + pd->ff[g2_Ink].fun(pd->pid, pd->pdp, + ct[r], ct[g], ct[b]); + } +} + + +/* + * + * Set font size + * + */ +void g2_set_font_size_pd(g2_physical_device *pd, double size) +{ + int is; + double ds; + + if(pd->ff[g2_SetFontSize].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + is=dtoi(size*fabs(pd->a22)); /* to pd coordinates */ + pd->ff[g2_SetFontSize].fun(pd->pid, pd->pdp, is); + break; + case g2_DoubleCoor: + ds=size*fabs(pd->a22); /* to pd coordinates */ + pd->ff[g2_SetFontSize].fun(pd->pid, pd->pdp, ds); + break; + } + } else { + /* emulate ... with .... */ + } +} + + + +/* + * + * Set line width + * + */ +void g2_set_line_width_pd(g2_physical_device *pd, double w) +{ + int iw; + double dw; + + if(pd->ff[g2_SetLineWidth].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + iw=dtoi(w*fabs(pd->a22)); /* to pd coordinates */ + pd->ff[g2_SetLineWidth].fun(pd->pid, pd->pdp, iw); + break; + case g2_DoubleCoor: + dw=w*fabs(pd->a22); /* to pd coordinates */ + pd->ff[g2_SetLineWidth].fun(pd->pid, pd->pdp, dw); + break; + } + } else { + /* emulate ... with .... */ + } +} + + + +/* + * + * Set dash + * + */ +void g2_set_dash_pd(g2_physical_device *pd, int N, double *dashes) +{ + int j; + double *dd=NULL; + int *id=NULL; + + if(pd->ff[g2_SetDash].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + if(dashes!=NULL) { + id=g2_malloc(N*sizeof(int)); + for(j=0;ja22)); + pd->ff[g2_SetDash].fun(pd->pid, pd->pdp, N, id); + g2_free(id); + } else + pd->ff[g2_SetDash].fun(pd->pid, pd->pdp, 0, NULL); + break; + case g2_DoubleCoor: + if(dashes!=NULL) { + dd=g2_malloc(N*sizeof(double)); + for(j=0;ja22); + pd->ff[g2_SetDash].fun(pd->pid, pd->pdp, N, dd); + g2_free(dd); + break; + } else + pd->ff[g2_SetDash].fun(pd->pid, pd->pdp, 0, NULL); + } + } else { + /* emulate ... with .... */ + } +} + + + +/* + * + * Query pointer position and button state + * + */ +void g2_query_pointer_pd(g2_physical_device *pd, + double *x, double *y, unsigned int *button) +{ + int ix, iy; + double dx, dy; + + if(pd->ff[g2_QueryPointer].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + pd->ff[g2_QueryPointer].fun(pd->pid, pd->pdp, + &ix, &iy, button); + g2_pdc2uc(pd, ix, iy, x, y); + break; + case g2_DoubleCoor: + pd->ff[g2_QueryPointer].fun(pd->pid, pd->pdp, + &dx, &dy, button); + g2_pdc2uc(pd, dx, dy, x, y); + break; + } + } else { + /* no emulation for query pointer */ + } +} + + +/* + * + * Get low level handles + * + */ +void g2_get_pd_handles_pd(g2_physical_device *pd, void *handles[G2_PD_HANDLES_SIZE]) +{ + if(pd->ff[g2_GetPDHandles].fun!=NULL) { + pd->ff[g2_GetPDHandles].fun(pd->pid, pd->pdp, handles); + } else { + /* no emulation for low level handles */ + } +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_control_pd.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_control_pd.h new file mode 100755 index 00000000..dd27053f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_control_pd.h @@ -0,0 +1,39 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _G2_CONTROL_PD_H +#define _G2_CONTROL_PD_H + +#include "g2_physical_device.h" + +void g2_flush_pd(g2_physical_device *pd); +void g2_save_pd(g2_physical_device *pd); +void g2_clear_pd(g2_physical_device *pd); +void g2_pen_pd(g2_physical_device *pd, int color); +void g2_set_background_pd(g2_physical_device *pd, int color); +int g2_ink_pd(g2_physical_device *pd, double red, double green, double blue); +void g2_clear_palette_pd(g2_physical_device *pd); +void g2_allocate_basic_colors_pd(g2_physical_device *pd); +void g2_set_font_size_pd(g2_physical_device *pd, double size); +void g2_set_line_width_pd(g2_physical_device *pd, double w); +void g2_set_dash_pd(g2_physical_device *pd, int N, double *dashes); +void g2_query_pointer_pd(g2_physical_device *pd, + double *x, double *y, unsigned int *button); +void g2_get_pd_handles_pd(g2_physical_device *pd, void *handles[G2_PD_HANDLES_SIZE]); + +#endif /* _G2_CONTROL_PD_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_control_pd.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_control_pd.o new file mode 100755 index 0000000000000000000000000000000000000000..e88605c563fe50e082bc32cd6e5bbab648ab047d GIT binary patch literal 9960 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 + +#include "g2.h" +#include "g2_device.h" +#include "g2_physical_device.h" +#include "g2_virtual_device.h" +#include "g2_util.h" + +int __g2_last_device=-1; /* last acces. device (ld) */ + + +static int g2_dev_size=0; /* size of devices array */ +static g2_device *g2_dev=NULL; /* devices array */ + +static int g2_get_free_device(); +static void g2_init_device(int dix); + + +/* + * + * Register physical device + * + */ +int g2_register_physical_device(int pid, + void *pdp, + g2_coor ct, + const g2_funix_fun *ff, + double a11, double a22, + double b1, double b2) +{ + int dix; + + dix=g2_get_free_device(); + g2_init_device(dix); + g2_dev[dix].t=g2_PD; + g2_dev[dix].d.pd=g2_create_physical_device(pid, pdp, + ct, ff, + a11, a22, + b1, b2); + + __g2_last_device=dix; + return dix; +} + + + +/* + * + * Register virtual device + * + */ +int g2_register_virtual_device() +{ + int dix; + + dix=g2_get_free_device(); + g2_init_device(dix); + g2_dev[dix].t=g2_VD; + g2_dev[dix].d.vd=g2_create_virtual_device(); + + return dix; +} + + +/* + * + * Init device + * + */ +void g2_init_device(int dix) +{ + g2_dev[dix].t=g2_ILLEGAL; + g2_dev[dix].dix=dix; + g2_dev[dix].x=0.0; /* set cursor */ + g2_dev[dix].y=0.0; + g2_dev[dix].auto_flush=1; /* set auto flush */ + g2_dev[dix].QPd=1.0; /* Quasi pixel spec. */ + g2_dev[dix].QPshape=QPrect; +} + +/* + * + * Return pointer to device dix + * + */ +g2_device *g2_get_device_pointer(int dix) +{ + if(dix<0 || dix>=g2_dev_size) + return NULL; + if(g2_dev[dix].t==g2_NDEV) + return NULL; + + return &g2_dev[dix]; +} + + +/* + * + * Return device type + * + */ +g2_device_type g2_get_device_type(int dix) +{ + if(dix<0 || dix>=g2_dev_size) + return g2_ILLEGAL; + return g2_dev[dix].t; +} + + +/* + * + * 1 if device exist otherwise 0 + * + */ +int g2_device_exist(int dix) +{ + if(dix<0 || dix>=g2_dev_size || + g2_dev[dix].t==g2_ILLEGAL || g2_dev[dix].t==g2_NDEV) + return 0; + return 1; +} + + +/* + * + * Destroy device + * + */ +void g2_destroy_device(int dix) +{ + int i; + + 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 C^^Y3> literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_fif.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_fif.c new file mode 100755 index 00000000..6772cf48 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_fif.c @@ -0,0 +1,499 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include +#include "g2.h" +#include "g2_util.h" + +/* + * + * g2 Fortran Interface + * + */ +#ifdef LINUX +#define FIF(funame) funame ## __ +#else +#define FIF(funame) funame ## _ +#endif + +#define F_REAL float /* everything is float (real) !!!!!!!!!!!!!! */ +#define F_CHAR char /* only char is char */ +#define F_CHAR_LENGTH int /* and char length is integer (it is automatically supplied */ + + +/**********************************************************/ + +#ifdef DO_PS + +#include "PS/g2_PS.h" + + + + + +F_REAL FIF(g2_open_ps)(F_CHAR *text, F_REAL *paper, F_REAL *orientation, + F_CHAR_LENGTH length) +{ + char *str; + int rv; + + str=g2_malloc((length+1)*sizeof(char)); + strncpy(str, text, length); + str[length]='\0'; + rv=g2_open_PS(str, dtoi(*paper), dtoi(*orientation)); + g2_free(str); + + return (F_REAL)rv; +} + +#endif /* DO_PS */ + +/**********************************************************/ + +#ifdef DO_X11 + +#include "X11/g2_X11.h" + +F_REAL FIF(g2_open_x11)(F_REAL *width, F_REAL *height) +{ + return (F_REAL)g2_open_X11(*width, *height); +} + +/* g2_open_x11x is missing */ + +#endif /* DO_X11 */ + +/**********************************************************/ + +#ifdef DO_GD + +#include "GD/g2_gd.h" + +F_REAL FIF(g2_open_gd)(F_CHAR *text, F_REAL *width, F_REAL *height, F_REAL *gd_type, + F_CHAR_LENGTH length) +{ + char *str; + int rv; + + str=g2_malloc((length+1)*sizeof(char)); + strncpy(str, text, length); + str[length]='\0'; + + rv=g2_open_gd(str, *width, *height, *gd_type); + + g2_free(str); + + return (F_REAL)rv; +} + +#endif /* DO_GD */ + +/**********************************************************/ + + +F_REAL FIF(g2_open_vd)(void) +{ + return (F_REAL)g2_open_vd(); +} + + +void FIF(g2_attach)(F_REAL *vd_dev, F_REAL *dev) +{ + g2_attach(dtoi(*vd_dev), dtoi(*dev)); +} + + +void FIF(g2_detach)(F_REAL *vd_dev, F_REAL *dev) +{ + g2_detach(dtoi(*vd_dev), dtoi(*dev)); +} + + + +void FIF(g2_close)(F_REAL *dev) +{ + g2_close(dtoi(*dev)); +} + + +void FIF(g2_set_auto_flush)(F_REAL *dev, F_REAL *on_off) +{ + g2_set_auto_flush(dtoi(*dev), dtoi(*on_off)); +} + + +void FIF(g2_set_coordinate_system)(F_REAL *dev, + F_REAL *x_origin, F_REAL *y_origin, + F_REAL *x_mul, F_REAL *y_mul) +{ + g2_set_coordinate_system(dtoi(*dev), + *x_origin, *y_origin, + *x_mul, *y_mul); +} + + +F_REAL FIF(g2_ld)(void) +{ + return (F_REAL)g2_ld(); +} + + +void FIF(g2_set_ld)(F_REAL *dev) +{ + g2_set_ld(dtoi(*dev)); +} + + + +void FIF(g2_flush)(F_REAL *dev) +{ + g2_flush(dtoi(*dev)); +} + + +void FIF(g2_save)(F_REAL *dev) +{ + g2_save(dtoi(*dev)); +} + + + + +void FIF(g2_arc)(F_REAL *dev, F_REAL *x, F_REAL *y, + F_REAL *r1, F_REAL *r2, F_REAL *a1, F_REAL *a2) +{ + g2_arc(dtoi(*dev), *x, *y, *r1, *r2, *a1, *a2); +} + + +void FIF(g2_circle)(F_REAL *dev, F_REAL *x, F_REAL *y, F_REAL *r) +{ + g2_circle(dtoi(*dev), *x, *y, *r); +} + + +void FIF(g2_clear)(F_REAL *dev) +{ + g2_clear(dtoi(*dev)); +} + + +void FIF(g2_clear_palette)(F_REAL *dev) +{ + g2_clear_palette(dtoi(*dev)); +} + + +void FIF(g2_string)(F_REAL *dev, F_REAL *x, F_REAL *y, F_CHAR *text, + F_CHAR_LENGTH length) +{ + char *str; + str=g2_malloc((length+1)*sizeof(char)); + strncpy(str, text, length); + str[length]='\0'; + g2_string(dtoi(*dev), *x, *y, str); + g2_free(str); +} + + +void FIF(g2_ellipse)(F_REAL *dev, F_REAL *x, F_REAL *y, F_REAL *r1, F_REAL *r2) +{ + g2_ellipse(dtoi(*dev), *x, *y, *r1, *r2); +} + + +void FIF(g2_filled_arc)(F_REAL *dev, F_REAL *x, F_REAL *y, + F_REAL *r1, F_REAL *r2, + F_REAL *a1, F_REAL *a2) +{ + g2_filled_arc(dtoi(*dev), *x, *y, *r1, *r2, *a1, *a2); +} + + +void FIF(g2_filled_circle)(F_REAL *dev, F_REAL *x, F_REAL *y, F_REAL *r) +{ + g2_filled_circle(dtoi(*dev), *x, *y, *r); +} + + +void FIF(g2_filled_ellipse)(F_REAL *dev, F_REAL *x, F_REAL *y, F_REAL *r1, F_REAL *r2) +{ + g2_filled_ellipse(dtoi(*dev), *x, *y, *r1, *r2); +} + + +void FIF(g2_filled_triangle)(F_REAL *dev, F_REAL *x1, F_REAL *y1, + F_REAL *x2, F_REAL *y2, + F_REAL *x3, F_REAL *y3) +{ + g2_filled_triangle(dtoi(*dev), *x1, *y1, *x2, *y2, *x3, *y3); +} + + +F_REAL FIF(g2_ink)(F_REAL *dev, F_REAL *red, F_REAL *green, F_REAL *blue) +{ + return (F_REAL)g2_ink(dtoi(*dev), *red, *green, *blue); +} + + +void FIF(g2_line)(F_REAL *dev, F_REAL *x1, F_REAL *y1, F_REAL *x2, F_REAL *y2) +{ + g2_line(dtoi(*dev), *x1, *y1, *x2, *y2); +} + + +void FIF(g2_poly_line)(F_REAL *dev, F_REAL *N_pt, F_REAL *points) +{ + double *d; + d=g2_floatp2doublep(points, dtoi(*N_pt)*2); + g2_poly_line(dtoi(*dev), dtoi(*N_pt), d); + g2_free(d); +} + + +void FIF(g2_polygon)(F_REAL *dev, F_REAL *N_pt, F_REAL *points) +{ + double *d; + d=g2_floatp2doublep(points, dtoi(*N_pt)*2); + g2_polygon(dtoi(*dev), dtoi(*N_pt), d); + g2_free(d); +} + + +void FIF(g2_filled_polygon)(F_REAL *dev, F_REAL *N_pt, F_REAL *points) +{ + double *d; + d=g2_floatp2doublep(points, dtoi(*N_pt)*2); + g2_filled_polygon(dtoi(*dev), dtoi(*N_pt), d); + g2_free(d); +} + + +void FIF(g2_line_r)(F_REAL *dev, F_REAL *dx, F_REAL *dy) +{ + g2_line_r(dtoi(*dev), *dx, *dy); +} + + +void FIF(g2_line_to)(F_REAL *dev, F_REAL *x, F_REAL *y) +{ + g2_line_to(dtoi(*dev), *x, *y); +} + + +void FIF(g2_move)(F_REAL *dev, F_REAL *x, F_REAL *y) +{ + g2_move(dtoi(*dev), *x, *y); +} + + +void FIF(g2_move_r)(F_REAL *dev, F_REAL *dx, F_REAL *dy) +{ + g2_move_r(dtoi(*dev), *dx, *dy); +} + + +void FIF(g2_pen)(F_REAL *dev, F_REAL *color) +{ + g2_pen(dtoi(*dev), dtoi(*color)); +} + + +void FIF(g2_plot)(F_REAL *dev, F_REAL *x, F_REAL *y) +{ + g2_plot(dtoi(*dev), *x, *y); +} + + +void FIF(g2_plot_r)(F_REAL *dev, F_REAL *dx, F_REAL *dy) +{ + g2_plot_r(dtoi(*dev), *dx, *dy); +} + + +void FIF(g2_rectangle)(F_REAL *dev, + F_REAL *x1, F_REAL *y1, + F_REAL *x2, F_REAL *y2) +{ + g2_rectangle(dtoi(*dev), *x1, *y1, *x2, *y2); +} + + +void FIF(g2_filled_rectangle)(F_REAL *dev, + F_REAL *x1, F_REAL *y1, + F_REAL *x2, F_REAL *y2) +{ + g2_filled_rectangle(dtoi(*dev), *x1, *y1, *x2, *y2); +} + + +void FIF(g2_reset_palette)(F_REAL *dev) +{ + g2_reset_palette(dtoi(*dev)); +} + + +void FIF(g2_set_background)(F_REAL *dev, F_REAL *color) +{ + g2_set_background(dtoi(*dev), dtoi(*color)); +} + + +void FIF(g2_set_dash)(F_REAL *dev, F_REAL *N, F_REAL *dashes) +{ + double *d; + d=g2_floatp2doublep(dashes, dtoi(*N)); + g2_set_dash(dtoi(*dev), dtoi(*N), d); + g2_free(d); +} + + +void FIF(g2_set_font_size)(F_REAL *dev, F_REAL *size) +{ + g2_set_font_size(dtoi(*dev), *size); +} + + +void FIF(g2_set_line_width)(F_REAL *dev, F_REAL *w) +{ + g2_set_line_width(dtoi(*dev), *w); +} + + +void FIF(g2_triangle)(F_REAL *dev, F_REAL *x1, F_REAL *y1, + F_REAL *x2, F_REAL *y2, + F_REAL *x3, F_REAL *y3) +{ + g2_triangle(dtoi(*dev), *x1, *y1, *x2, *y2, *x3, *y3); +} + + +void FIF(g2_set_qp)(F_REAL *dev, F_REAL *d, F_REAL *shape) +{ + g2_set_QP(dtoi(*dev), *d, dtoi(*shape)); +} + + +void FIF(g2_plot_qp)(F_REAL *dev, F_REAL *x, F_REAL *y) +{ + g2_plot_QP(dtoi(*dev), *x, *y); +} + + +/* thanks to Yuri Sbitnev for contributing the g2_image code for FORTRAN */ +void FIF(g2_image)(F_REAL *dev, F_REAL *x, F_REAL *y, F_REAL *x_size, F_REAL *y_size, + F_REAL *pens) +{ + int i, j, xs, ys; + int *mypens; + xs=dtoi(*x_size); + ys=dtoi(*y_size); + mypens=(int *) g2_malloc(xs*ys*sizeof(int)); + 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, <0 if error */ + + g2_Pen, /* set pen */ + /* ... = (int)pen */ + + g2_SetBackground, /* set background */ + /* ... = (int)pen */ + + g2_ClearPalette, /* reset color pallete to default values */ + /* ... = */ + /* for list of default colors (0,31) see later */ + + g2_SetLineWidth, /* set line width (line, rectangle, ...) */ + /* ... = (double)line width */ + + g2_SetDash, /* set line dash */ + /* ... = (int)number of descr., (double*) bw list */ + + g2_SetFontSize, /* set font size */ + /* ... = (double)font size */ + + g2_Clear, /* clear screen(X11), print page(PostScript), ... */ + /* ... = */ + + g2_Flush, /* update output */ + /* X11: Flush, PostScript: fflush, ... */ + + g2_Save, /* save output to device (e.g. file) */ + /* X11: Flush, etc. */ + + g2_Plot, /* plot point */ + /* ... = (double)x, (double)y */ + + g2_Line, /* draw line */ + /* ... = (double)x1, (double)y1, + (double)x2, (double)y2 */ + + g2_PolyLine, /* draw poly line */ + /* ... = (int)N, + (double*)dp + dp[0]=x1, dp[1]=y1, + ... + dp[2*N-2]=xN, dp[2*N-1]=yN */ + + g2_Polygon, /* draw polygon */ + /* ... = (int)N, + (double*)dp + dp[0]=x1, dp[1]=y1, + ... + dp[2*N-2]=xN, dp[2*N-1]=yN */ + + g2_FilledPolygon, /* draw filled polygon */ + /* ... = (int)N, + (double*)dp + dp[0]=x1, dp[1]=y1, + ... + dp[2*N-2]=xN, dp[2*N-1]=yN */ + + g2_Rectangle, /* draw rectangle */ + /* ... = (double)x1, (double)y1, + (double)x2, (double)y2 */ + + g2_FilledRectangle, /* draw filled rectangle */ + /* ... = (double)x1, (double)x1, + (double)x2, (double)y2 */ + + g2_Triangle, /* draw triangle (should be faster as lines) */ + /* ... = (double)x1, (double)y1, + (double)x2, (double)y2, + (double)x3, (double)y3 */ + + g2_FilledTriangle, /* draw filled triangle */ + /* ... = (double)x1, (double)y1, + (double)x2, (double)y2, + (double)x3, (double)y3 */ + + g2_Arc, /* draw arc */ + /* ... = (double)x, (double)y, + (double)r1, (double)r2, + (double)a1, (double)a2 */ + + g2_FilledArc, /* draw filled arc */ + /* ... = (double)x, (double)y, + (double)r1, (double)r2, + (double)a1, (double)a2 */ + + g2_Ellipse, /* draw ellipse */ + /* ... = (double)x, (double)y, + (double)r1, (double)r2 */ + + g2_FilledEllipse, /* draw filled ellipse */ + /* ... = (double)x, (double)y, + (double)r1, (double)r2 */ + + g2_Circle, /* draw circle */ + /* ... = (double)x, (double)y, + (double)r */ + + g2_FilledCircle, /* draw filled circle */ + /* ... = (double)x, (double)y, + (double)r */ + + g2_String, /* draw string */ + /* ... = (double)x, (double)y, (const char*)string */ + + g2_Image, /* draw (pen) image */ + /* ... = (double)x, (double)y, + (int)x_size, (int)y_size, (int*)pen_array */ + + g2_QueryPointer, /* query pointer position (mouse) */ + /* ... = (double)*x, (double)*y, + (unsigned int)*button */ + g2_GetPDHandles /* get pointers to low level handles */ + /* ... = void *handles[G2_MAX_NUMBER_PD_HANDLES] */ +} g2_funix; + + +#endif /* _G2_FUNIX_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_graphic_pd.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_graphic_pd.c new file mode 100755 index 00000000..db4a6f85 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_graphic_pd.c @@ -0,0 +1,684 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include +#include + +#include "g2_funix.h" +#include "g2_virtual_device.h" +#include "g2_graphic_pd.h" +#include "g2_control_pd.h" +#include "g2_util.h" + +#ifndef PI +#define PI 3.14159265358979323846 +#endif /* PI */ + + +/* + * + * Plot (physical device) + * + */ +void g2_plot_pd(g2_physical_device *pd, double x, double y) +{ + int ix, iy; + double dx, dy; + + if(pd->ff[g2_Plot].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + g2_uc2pdc_int(pd, x, y, &ix, &iy); + pd->ff[g2_Plot].fun(pd->pid, pd->pdp, + ix, iy); + break; + case g2_DoubleCoor: + g2_uc2pdc_double(pd, x, y, &dx, &dy); + pd->ff[g2_Plot].fun(pd->pid, pd->pdp, + dx, dy); + break; + } + } else { + /* emulate ... with .... */ + } +} + + + +/* + * + * Draw line (low_level) + * + */ +void g2_line_pd(g2_physical_device *pd, + double x1, double y1, double x2, double y2) +{ + int ix1, iy1, ix2, iy2; + double dx1, dy1, dx2, dy2; + + if(pd->ff[g2_Line].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + g2_uc2pdc_int(pd, x1, y1, &ix1, &iy1); + g2_uc2pdc_int(pd, x2, y2, &ix2, &iy2); + pd->ff[g2_Line].fun(pd->pid, pd->pdp, + ix1, iy1, ix2, iy2); + break; + case g2_DoubleCoor: + g2_uc2pdc_double(pd, x1, y1, &dx1, &dy1); + g2_uc2pdc_double(pd, x2, y2, &dx2, &dy2); + pd->ff[g2_Line].fun(pd->pid, pd->pdp, + dx1, dy1, dx2, dy2); + break; + } + } else { + /* emulate ... with .... */ + } +} + + + +/* + * + * Draw poly line (physical device) + * + */ +void g2_poly_line_pd(g2_physical_device *pd, + int N, double *points) +{ + int i; + int *ipt; + double *dpt; + + if(pd->ff[g2_PolyLine].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + ipt=g2_malloc(2*N*sizeof(int)); + for(i=0;i<2*N;i+=2) + g2_uc2pdc_int(pd, points[i+0], points[i+1], ipt+i, ipt+i+1); + pd->ff[g2_PolyLine].fun(pd->pid, pd->pdp, + N, ipt); + free(ipt); + break; + case g2_DoubleCoor: + dpt=g2_malloc(2*N*sizeof(double)); + for(i=0;i<2*N;i+=2) + g2_uc2pdc_double(pd, + points[i+0], points[i+1], + dpt+i, dpt+i+1); + pd->ff[g2_PolyLine].fun(pd->pid, pd->pdp, + N, dpt); + free(dpt); + break; + } + } else { + for (i=0;iff[g2_Triangle].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + g2_uc2pdc_int(pd, x1, y1, &ix1, &iy1); + g2_uc2pdc_int(pd, x2, y2, &ix2, &iy2); + g2_uc2pdc_int(pd, x3, y3, &ix3, &iy3); + pd->ff[g2_Triangle].fun(pd->pid, pd->pdp, + ix1, iy1, + ix2, iy2, + ix3, iy3); + break; + case g2_DoubleCoor: + g2_uc2pdc_double(pd, x1, y1, &dx1, &dy1); + g2_uc2pdc_double(pd, x2, y2, &dx2, &dy2); + g2_uc2pdc_double(pd, x3, y3, &dx3, &dy3); + pd->ff[g2_Triangle].fun(pd->pid, pd->pdp, + dx1, dy1, + dx2, dy2, + dx3, dy3); + } + } else { + g2_line_pd(pd, x1, y1, x2, y2); /* emulate triangle with lines */ + g2_line_pd(pd, x2, y2, x3, y3); + g2_line_pd(pd, x3, y3, x1, y1); + } +} + + + +/* + * + * Filled triangle (physical device) + * + */ +void g2_filled_triangle_pd(g2_physical_device *pd, + double x1, double y1, + double x2, double y2, + double x3, double y3) +{ + int ix1, iy1, ix2, iy2, ix3, iy3; + double dx1, dy1, dx2, dy2, dx3, dy3; + + if(pd->ff[g2_FilledTriangle].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + g2_uc2pdc_int(pd, x1, y1, &ix1, &iy1); + g2_uc2pdc_int(pd, x2, y2, &ix2, &iy2); + g2_uc2pdc_int(pd, x3, y3, &ix3, &iy3); + pd->ff[g2_FilledTriangle].fun(pd->pid, pd->pdp, + ix1, iy1, + ix2, iy2, + ix3, iy3); + break; + case g2_DoubleCoor: + g2_uc2pdc_double(pd, x1, y1, &dx1, &dy1); + g2_uc2pdc_double(pd, x2, y2, &dx2, &dy2); + g2_uc2pdc_double(pd, x3, y3, &dx3, &dy3); + pd->ff[g2_FilledTriangle].fun(pd->pid, pd->pdp, + dx1, dy1, + dx2, dy2, + dx3, dy3); + } + } else { + double Triangle[6]; /* emulate FilledTriangle with FilledPolygon */ + Triangle[0] = x1; + Triangle[1] = y1; + Triangle[2] = x2; + Triangle[3] = y2; + Triangle[4] = x3; + Triangle[5] = y3; + g2_filled_polygon_pd(pd, 3, Triangle); + } +} + + + +/* + * + * Rectangle (physical device) + * + */ +void g2_rectangle_pd(g2_physical_device *pd, + double x1, double y1, double x2, double y2) +{ + int ix1, iy1, ix2, iy2; + double dx1, dy1, dx2, dy2; + + if(pd->ff[g2_Rectangle].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + g2_uc2pdc_int(pd, x1, y1, &ix1, &iy1); + g2_uc2pdc_int(pd, x2, y2, &ix2, &iy2); + g2_sort2_i(&ix1, &ix2); + g2_sort2_i(&iy1, &iy2); + pd->ff[g2_Rectangle].fun(pd->pid, pd->pdp, + ix1, iy1, ix2, iy2); + break; + case g2_DoubleCoor: + g2_uc2pdc_double(pd, x1, y1, &dx1, &dy1); + g2_uc2pdc_double(pd, x2, y2, &dx2, &dy2); + g2_sort2_d(&dx1, &dx2); + g2_sort2_d(&dy1, &dy2); + pd->ff[g2_Rectangle].fun(pd->pid, pd->pdp, + dx1, dy1, dx2, dy2); + break; + } + } else { + g2_line_pd(pd, x1, y1, x1, y2); /* emulate rectangle with lines */ + g2_line_pd(pd, x1, y1, x2, y1); + g2_line_pd(pd, x2, y1, x2, y2); + g2_line_pd(pd, x1, y2, x2, y2); + } +} + + + +/* + * + * Filled rectangle (physical device) + * + */ +void g2_filled_rectangle_pd(g2_physical_device *pd, + double x1, double y1, double x2, double y2) +{ + int ix1, iy1, ix2, iy2; + double dx1, dy1, dx2, dy2; + + if(pd->ff[g2_FilledRectangle].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + g2_uc2pdc_int(pd, x1, y1, &ix1, &iy1); + g2_uc2pdc_int(pd, x2, y2, &ix2, &iy2); + g2_sort2_i(&ix1, &ix2); + g2_sort2_i(&iy1, &iy2); + pd->ff[g2_FilledRectangle].fun(pd->pid, pd->pdp, + ix1, iy1, ix2, iy2); + break; + case g2_DoubleCoor: + g2_uc2pdc_double(pd, x1, y1, &dx1, &dy1); + g2_uc2pdc_double(pd, x2, y2, &dx2, &dy2); + g2_sort2_d(&dx1, &dx2); + g2_sort2_d(&dy1, &dy2); + pd->ff[g2_FilledRectangle].fun(pd->pid, pd->pdp, + dx1, dy1, dx2, dy2); + break; + } + } else { + double Rectangle[8]; /* emulate FilledRectangle with FilledPolygon */ + Rectangle[0] = x1; + Rectangle[1] = y1; + Rectangle[2] = x2; + Rectangle[3] = y1; + Rectangle[4] = x2; + Rectangle[5] = y2; + Rectangle[6] = x1; + Rectangle[7] = y2; + g2_filled_polygon_pd(pd,4,Rectangle); + } +} + + + +/* + * + * Polygon (physical device) + * + */ +void g2_polygon_pd(g2_physical_device *pd, + int N, double *points) +{ + int i; + int *ipt; + double *dpt; + + if(pd->ff[g2_Polygon].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + ipt=g2_malloc(2*N*sizeof(int)); + for(i=0;i<2*N;i+=2) + g2_uc2pdc_int(pd, points[i+0], points[i+1], ipt+i, ipt+i+1); + pd->ff[g2_Polygon].fun(pd->pid, pd->pdp, + N, ipt); + free(ipt); + break; + case g2_DoubleCoor: + dpt=g2_malloc(2*N*sizeof(double)); + for(i=0;i<2*N;i+=2) + g2_uc2pdc_double(pd, + points[i+0], points[i+1], dpt+i, dpt+i+1); + pd->ff[g2_Polygon].fun(pd->pid, pd->pdp, + N, dpt); + free(dpt); + break; + } + } else { + for (i=0;iff[g2_FilledPolygon].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + ipt=g2_malloc(2*N*sizeof(int)); + for(i=0;i<2*N;i+=2) + g2_uc2pdc_int(pd, points[i+0], points[i+1], ipt+i, ipt+i+1); + pd->ff[g2_FilledPolygon].fun(pd->pid, pd->pdp, + N, ipt); + free(ipt); + break; + case g2_DoubleCoor: + dpt=g2_malloc(2*N*sizeof(double)); + for(i=0;i<2*N;i+=2) + g2_uc2pdc_double(pd, + points[i+0], points[i+1], dpt+i, dpt+i+1); + pd->ff[g2_FilledPolygon].fun(pd->pid, pd->pdp, + N, dpt); + free(dpt); + break; + } + } else { + /* emulate filled polygon with .... */ + } +} + + + +/* + * + * Ellipse (physical device) + * + */ +void g2_ellipse_pd(g2_physical_device *pd, + double x, double y, double r1, double r2) +{ + int ix, iy, ir1, ir2; + double dx, dy, dr1, dr2; + + if(pd->ff[g2_Ellipse].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + g2_uc2pdc_int(pd, x, y, &ix, &iy); + g2_us2pds_int(pd, r1, r2, &ir1, &ir2); + pd->ff[g2_Ellipse].fun(pd->pid, pd->pdp, + ix, iy, ir1, ir2); + break; + case g2_DoubleCoor: + g2_uc2pdc_double(pd, x, y, &dx, &dy); + g2_us2pds_double(pd, r1, r2, &dr1, &dr2); + pd->ff[g2_Ellipse].fun(pd->pid, pd->pdp, + dx, dy, dr1, dr2); + break; + } + } else { + g2_arc_pd(pd, x, y, r1, r2, 0., 360.); /* emulate ellipse with arc */ + } +} + + + +/* + * + * Filled ellipse (physical device) + * + */ +void g2_filled_ellipse_pd(g2_physical_device *pd, + double x, double y, double r1, double r2) +{ + int ix, iy, ir1, ir2; + double dx, dy, dr1, dr2; + + if(pd->ff[g2_FilledEllipse].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + g2_uc2pdc_int(pd, x, y, &ix, &iy); + g2_us2pds_int(pd, r1, r2, &ir1, &ir2); + pd->ff[g2_FilledEllipse].fun(pd->pid, pd->pdp, + ix, iy, ir1, ir2); + break; + case g2_DoubleCoor: + g2_uc2pdc_double(pd, x, y, &dx, &dy); + g2_us2pds_double(pd, r1, r2, &dr1, &dr2); + pd->ff[g2_FilledEllipse].fun(pd->pid, pd->pdp, + dx, dy, dr1, dr2); + break; + } + } else { + g2_filled_arc_pd(pd, /* emulate filledellipse with filled arc */ + x, y, + r1, r2, + 0., 360.); + } +} + + + +/* + * + * Circle (physical device) + * + */ +void g2_circle_pd(g2_physical_device *pd, + double x, double y, double r) +{ + int ix, iy, ir; + double dx, dy, dr; + + if(pd->ff[g2_Circle].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + g2_uc2pdc_int(pd, x, y, &ix, &iy); + g2_us2pds_int(pd, r, 0, &ir, NULL); + pd->ff[g2_Circle].fun(pd->pid, pd->pdp, + ix, iy, ir); + break; + case g2_DoubleCoor: + g2_uc2pdc_double(pd, x, y, &dx, &dy); + g2_us2pds_double(pd, r, 0, &dr, NULL); + pd->ff[g2_Circle].fun(pd->pid, pd->pdp, + dx, dy, dr); + break; + } + } else { + g2_ellipse_pd(pd, x, y, r, r); /* emulate circle with ellipse */ + } +} + + + +/* + * + * Filled circle (physical device) + * + */ +void g2_filled_circle_pd(g2_physical_device *pd, + double x, double y, double r) +{ + int ix, iy, ir; + double dx, dy, dr; + + if(pd->ff[g2_FilledCircle].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + g2_uc2pdc_int(pd, x, y, &ix, &iy); + g2_us2pds_int(pd, r, 0, &ir, NULL); + pd->ff[g2_FilledCircle].fun(pd->pid, pd->pdp, + ix, iy, ir); + break; + case g2_DoubleCoor: + g2_uc2pdc_double(pd, x, y, &dx, &dy); + g2_us2pds_double(pd, r, 0, &dr, NULL); + pd->ff[g2_FilledCircle].fun(pd->pid, pd->pdp, + dx, dy, dr); + break; + } + } else { + g2_filled_ellipse_pd(pd, x, y, r, r); /* emulate */ + } +} + + + +/* + * + * Arc (physical device) + * + */ +void g2_arc_pd(g2_physical_device *pd, + double x, double y, double r1, double r2, double a1, double a2) +{ + int ix, iy, ir1, ir2; + double dx, dy, dr1, dr2; + + if(pd->ff[g2_Arc].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + g2_uc2pdc_int(pd, x, y, &ix, &iy); + g2_us2pds_int(pd, r1, r2, &ir1, &ir2); + pd->ff[g2_Arc].fun(pd->pid, pd->pdp, + ix, iy, ir1, ir2, a1, a2); + break; + case g2_DoubleCoor: + g2_uc2pdc_double(pd, x, y, &dx, &dy); + g2_us2pds_double(pd, r1, r2, &dr1, &dr2); + pd->ff[g2_Arc].fun(pd->pid, pd->pdp, + dx, dy, dr1, dr2, a1, a2); + break; + } + } else { + double a, da, *pt; /* emulate arc */ + int N, i; + N=(a2==a1)?360:(int)fabs(a2-a1)+8; + a=a1*2.*PI/360.; + da=((a2>a1)? (a2-a1):360.-(a1-a2))*2.*PI/360./(N-1); + pt=g2_malloc(2*N*sizeof(double)); + for(i=0;iff[g2_FilledArc].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + g2_uc2pdc_int(pd, x, y, &ix, &iy); + g2_us2pds_int(pd, r1, r2, &ir1, &ir2); + pd->ff[g2_FilledArc].fun(pd->pid, pd->pdp, + ix, iy, ir1, ir2, a1, a2); + break; + case g2_DoubleCoor: + g2_uc2pdc_double(pd, x, y, &dx, &dy); + g2_us2pds_double(pd, r1, r2, &dr1, &dr2); + pd->ff[g2_FilledArc].fun(pd->pid, pd->pdp, + dx, dy, dr1, dr2, a1, a2); + break; + } + } else { + double a, da, *pt; /* emulate filled arc */ + int N, i; + N=(a2==a1)?360:(int)fabs(a2-a1)+8; + a=a1*2.*PI/360.; + da=((a2>a1)? (a2-a1):360.-(a1-a2))*2.*PI/360./(N-1); + pt=g2_malloc(2*(N+2)*sizeof(double)); + pt[0]=x; + pt[1]=y; + for(i=0;iff[g2_String].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + g2_uc2pdc_int(pd, x, y, &ix, &iy); + pd->ff[g2_String].fun(pd->pid, pd->pdp, + ix, iy, text); + break; + case g2_DoubleCoor: + g2_uc2pdc_double(pd, x, y, &dx, &dy); + pd->ff[g2_String].fun(pd->pid, pd->pdp, + dx, dy, text); + break; + } + } else { + /* emulate ... with .... */ + } +} + + + +void g2_image_pd(g2_physical_device *pd, + double x, double y, int x_size, int y_size, int *pens) +{ + int ix, iy; + double dx, dy; + + if(pd->ff[g2_Image].fun!=NULL) { + switch(pd->coor_type) { + case g2_IntCoor: + g2_uc2pdc_int(pd, x, y, &ix, &iy); + pd->ff[g2_Image].fun(pd->pid, pd->pdp, + ix, iy, x_size, y_size, pens); + break; + case g2_DoubleCoor: + g2_uc2pdc_double(pd, x, y, &dx, &dy); + pd->ff[g2_Image].fun(pd->pid, pd->pdp, + dx, dy, x_size, y_size, pens); + break; + } + } else { + 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%0ADV2kc0iy*wju<5!N9JQnxg|i0vW=RPvqv~1 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_physical_device.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_physical_device.c new file mode 100755 index 00000000..8e497744 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_physical_device.c @@ -0,0 +1,78 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include +#include "g2_physical_device.h" +#include "g2_funix.h" +#include "g2_util.h" + + +g2_physical_device *g2_create_physical_device(int pid, + void *pdp, + g2_coor ct, + const g2_funix_fun *ff, + double a11, double a22, + double b1, double b2) +{ + g2_physical_device *rd; + int i, j; + + rd=g2_malloc(sizeof(g2_physical_device)); + + rd->pid=pid; /* physical device id (handled by driver) */ + rd->pdp=pdp; /* pointer to something */ + rd->coor_type=ct; /* coord. type */ + rd->a11=a11; /* device->physical device transformation */ + rd->a22=a22; + rd->b1=b1; + rd->b2=b2; + + rd->x_origin=0.0; /* User coordinates specification */ + rd->y_origin=0.0; + rd->x_mul=1.0; + rd->y_mul=1.0; + + rd->ff=g2_malloc(G2_N_FUNIX*sizeof(g2_funix_fun)); + + for(i=0;iff[i].fx=i; + rd->ff[i].fun=NULL; + for(j=0;ff[j].fx!=g2_FUNIX_NULL;j++) + if(ff[j].fx==i) { + rd->ff[i].fun = ff[j].fun; + break; + } + } + + return rd; +} + + +/* + * + * Destroy physical device + * + */ +void g2_destroy_physical_device(g2_physical_device *pd) +{ + g2_free(pd->ff); + g2_free(pd); +} + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_physical_device.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_physical_device.h new file mode 100755 index 00000000..d25d58ea --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_physical_device.h @@ -0,0 +1,61 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _G2_PHYSICAL_DEVICE_H +#define _G2_PHYSICAL_DEVICE_H + +#include "g2.h" +#include "g2_funix.h" + + +typedef enum _g2_coor { /* coord. type */ + g2_IntCoor, g2_DoubleCoor +} g2_coor; + + +typedef struct _g2_funix_fun { /* funix--function paar */ + g2_funix fx; /* function index */ + int (*fun)(); /* pointer to function */ +} g2_funix_fun; + + +typedef struct _g2_physical_device { + int pid; /* physical device id */ + void *pdp; /* pointer to something in phys. dev. */ + g2_coor coor_type; /* coordinate type */ + g2_funix_fun *ff; /* list of funix-function pairs */ + double a11, a22; /* coordinate transformation (ud->pd) */ + double b1, b2; /* Ar + B */ + + double x_origin; /* User coordinates specification */ + double y_origin; + double x_mul; + double y_mul; +} g2_physical_device; + + + +g2_physical_device *g2_create_physical_device(int pid, + void *pdp, + g2_coor ct, + const g2_funix_fun *ff, + double a11, double a22, + double b1, double b2); +void g2_destroy_physical_device(g2_physical_device *pd); + +#endif /* _G2_PHYSICAL_DEVICE_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_physical_device.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_physical_device.o new file mode 100755 index 0000000000000000000000000000000000000000..a4cc2a04fb3681241548f61badde2d95969e0607 GIT binary patch literal 6056 zcma)A32YqI8GbW6Yme>qtnGCiCvotG9GE0t+aZ8)LWtvAxWU9YPD#VC$Jo2gddBR| znm9#JYA6^(K$JoYMW_N5fq+sdQbDv_r4-SFqXJQ3(L=33si3HbQbFr}|C@j8bpW+b zn)&|w{r~^oo0;9KdIozHMG^i`L_jQYLYy!>&2|Y*qE1A7Q;8$9e;VCCJoA^(T%qLk3Mf!&G$rSOXqq*^Je{gPt$ClHrG=%Z${^PT4(#9Z+iQK z`O(&Sv;FP&=0|tWoBarL!Vfds7n*&c?d6-M#7$41Mib74UTJ%_?e*F2SG2j3<7Ky; z^K*CAo;mH!nG*|zzje<1>y#_!XMP%*J#p|7^Uw=(-EV4SDdjI7|1-iMUu3Jz9n$Bz zLbKWine6N#{o;d%-lx2kYNe{A2KS9dq#|IfLHX(i5ilw$c2x)w0I7SVRtITE#g2*r zG$a@n6_O|+LWt6cqD07v41~}tJ=@?wq`h2-GT&8*a@N3^G!>F(JvmmbV8`luG^r*A?!1tf-)W(NNVQUFlZ>(OIFj%FmW)P~?@&ZqW0nCs@yHlfFRORm^VHj}f~@ zNn-+aeXHI`q1Gz4WVh>dSc8pRQM-OVrLmsbo%-Drd82X|KI;12dN&!Lu5?PaTTf8r z&B_Im?bTZ-@)pIFk^A&U@@-MBk!-&{NxtpMlr$dH??8oz?>D&vp13nPfTV*D0b)wmk^ zfUz19&A5XmG`K&q*$jk_Qg#&2*_gw_L48*)&W{sgx==ybI)Ja$B= zQECP@e|W553w7PglG8*L5!B*pG?9F?#}HUO^>&b@H-h{KF^1HQ;mJ%&sGIl%g(p*! zLOspf1zLGOxinE$>UupqHYU{5$yHq+3dh^pgu3}w$yJ5p+qNxo_2C3mTRc@XoPdUz zrt&v1soLzRTFW<4RWXliFF#Jxw0PX^@|TEf^|*eN@N42TRJW#GMsyo3b4@QEQpyan zP@)RaG#LfvN(HqLj6R6lH&eYEn+2IhBJEDru2H zMM@(pP>@g8<}k%NnZsypMkuGs*)FX8vQO?q=HEuVptcWFte_(5zCx4r(d+}tqezIJ ztCTK6^~+GhV&(NHR69oJMNw9E1GJkxM!W%QRoqHG%Ev}I?(+4n#WGs$??Oj%Qzq!mlj=fG#k(=5lP${dMFF7Ku?4oGB^%_Mx% zou0JvkfI)x2^}_bqjJ-^Pj7GD*>UDpTphU1-Lb!8|Bi(pb!^?-zrXi}Kt(ce^sb|U z+6OM{cu=iC5pb)*g;(@~B9trikfu=&8YmtQTGmcOzgFE-8SI@2eqFmRAn0{SgZdc7 zJVqZ)QJ~ zWv3*4c`ie}Kz0;2Tga!2Jjns#Zl{pQT3wu!H~Hc`(C@R7t~aSUmdRSSvsAX61}1V3 z(cO#Afrqk=mywr+EYD09a%R%W7A9<(TRIXkY`KFO+ZxTJ+_Xr^j0CkiZ+ZRBT3+vl zEL+evwZ*c!5n;e~{ThbjQ{17GjlAlXDmvmXmX|`WW4ptdqgdEHt(ytyNykYx%*tA> zTq$JT9Y;?+?>+J4;qjbPK<{x@TR!cKvxwZC0=hDmjgRNIiN3uf(XQwjvF))o(UNv1 ztd_%8&b9JKTly?JW3}wb*e&}rmTkxP?d@Emn%iP$wLmiF}i407{ z$Gx5DwcXzeStofIo0oP-@4#RWnf8wC9XMd_9T^~UdEIC#pC!$drX zyo5RFhx@db0#jz|{7t@@Kr`lxRd29slSedqU#1%5tX>+2GmF3HG)``a|waq>ZPwcp} zwxdf&qz#oWkGHpV!O4KsQLo-*+smX5d$Vt&h;+PVr_6#~$Xh8Xq}h@8Zmy+-w z1#s)L+@bFNxSh&cd09jP+o~|R_;mQ3=bPzdQ-0rQ-_j%$f9Yt7zOJs0XcM;F>Ad4a zEI&PgjsxAChiRY6S=pFNJ&UE{Zd}9?`8-G~Q5ZMliA2tt5-~FIBpG|mDdw}ZL5lQa zx%k8~!DJy}Lxhk^LE77Jl4X!dtdAIi>-utE&Ecw$bfj;&&GB4kTpsPq(H2hb`7Rbo{f7!LdrZ@z} z+gc>>$vr38?Zlgk-g^GT!)SVE=3Yl2lc?OV;^YW2c&qtREW2T;Nk1`f-jDj zUg_0E@u)sOUIMi515!K$E*3*LQKDwTojj1t}V2L*oaye42Q&qaVBe@O9M?_fZv^!12)&OPPnkxr zD1#^_Yr@24;cs}oAv0M`$E%DduUVmqtKVSj%3zCmlyMSopMOx_*19>o>KMfwq- zKV)<~YfpMv;dM_B;?Mpbg=Qk2#VdnsKJR@9)mYB5Xdc>sYFLPajL#9Gj9)NP#}u@Y zI-y|0QBDdr0QnKpceH~4qt-I6W8B2p%(#Pb590vi5aTE#onwke$q{B5FK7H3I$e3j2|-ogYjcV`bUQBN*OB|BaEvU8yPn;ZeeU=q(3$&&bf?Tj021pFpe-DWQ;SW z882tNit$>;8yW9ne3kKC#sD52H2+163C2mrD;dARcqik7j871vCr>gS!kM9XDMHB8 kj90LHmhm3ihtSJ&gvSy6ZY92*5d2Q& +#include +#include "g2.h" +#include "g2_util.h" + +static void g2_split(int n, const double *points, double *x, double *y); +static void g2_c_spline(int n, const double *points, int m, double *sxy); +static void g2_c_b_spline(int n, const double *points, int m, double *sxy); +static void g2_c_raspln(int n, const double *points, double tn, double *sxy); +static void g2_c_newton(int n, const double *c1, const double *c2, int o, const double *xv, double *yv); +static void g2_c_para_3(int n, const double *points, double *sxy); +static void g2_c_para_5(int n, const double *points, double *sxy); + +void g2_split(int n, const double *points, double *x, double *y) +{ + int i; + for (i = 0; i < n; i++) { + x[i] = points[i+i]; + y[i] = points[i+i+1]; + } +} + +#define eps 1.e-12 + +void g2_c_spline(int n, const double *points, int m, double *sxy) + +/* + * FUNCTIONAL DESCRIPTION: + * + * Compute a curve of m points (sx[j],sy[j]) + * -- j being a positive integer < m -- + * passing through the n data points (x[i],y[i]) + * -- i being a positive integer < n -- + * supplied by the user. + * The procedure to determine sy[j] involves + * Young's method of successive over-relaxation. + * + * FORMAL ARGUMENTS: + * + * n number of data points + * points data points (x[i],y[i]) + * m number of interpolated points; m = (n-1)*o+1 + * for o curve points for every data point + * sxy interpolated points (sx[j],sy[j]) + * + * IMPLICIT INPUTS: NONE + * IMPLICIT OUTPUTS: NONE + * SIDE EFFECTS: NONE + * + * REFERENCES: + * + * 1. Ralston and Wilf, Mathematical Methods for Digital Computers, + * Vol. II, John Wiley and Sons, New York 1967, pp. 156-158. + * 2. Greville, T.N.E., Ed., Proceedings of An Advanced Seminar + * Conducted by the Mathematics Research Center, U.S. Army, + * University of Wisconsin, Madison. October 7-9, 1968. Theory + * and Applications of Spline Functions, Academic Press, + * New York / London 1969, pp. 156-167. + * + * AUTHORS: + * + * Josef Heinen 04/06/88 + * Tijs Michels 06/16/99 + */ + +{ + int i, j; + double *x, *y, *g, *h; + double k, u, delta_g; + + if (n < 3) { + fputs("\nERROR calling function \"g2_c_spline\":\n" + "number of data points input should be at least three\n", stderr); + return; + } + if ((m-1)%(n-1)) { + fputs("\nWARNING from function \"g2_c_spline\":\n" + "number of curve points output for every data point input " + "is not an integer\n", stderr); + } + + x = (double *) g2_malloc(n*4*sizeof(double)); + y = x + n; + g = y + n; + h = g + n; /* for the constant copy of g */ + g2_split(n, points, x, y); + + n--; /* last value index */ + k = x[0]; /* look up once */ + u = (x[n] - k) / (m - 1); /* calculate step outside loop */ + for (j = 0; j < m; j++) sxy[j+j] = j * u + k; /* x-coordinates */ + + for (i = 1; i < n; i++) { + g[i] = 2. * ((y[i+1] - y[i]) / (x[i+1] - x[i]) - + (y[i] - y[i-1]) / (x[i] - x[i-1])) + / (x[i+1] - x[i-1]); /* whereas g[i] will later be changed repeatedly */ + h[i] = 1.5 * g[i]; /* copy h[i] of g[i] will remain constant */ + } + + k = 0.; + + do { + for (u = 0., i = 1; i < n; i++) { + delta_g = .5 * (x[i] - x[i-1]) / (x[i+1] - x[i-1]); + delta_g = (h[i] - + g[i] - + g[i-1] * delta_g - /* 8. - 4 * sqrt(3.) */ + g[i+1] * (.5 - delta_g)) * 1.0717967697244907832; + g[i] += delta_g; + + if (fabs(delta_g) > u) u = fabs(delta_g); + } /* On loop termination u holds the largest delta_g. */ + + if (k == 0.) k = u * eps; + /* Only executed once, at the end of pass one. So k preserves + * the largest delta_g of pass one, multiplied by eps. + */ + } while (u > k); + + m += m, i = 1, j = 0; + do { + u = sxy[j++]; /* x-coordinate */ + + while (x[i] < u) i++; + + if (--i > n) i = n; + + k = (u - x[i]) / (x[i+1] - x[i]); /* calculate outside loop */ + sxy[j++] = y[i] + + (y[i+1] - y[i]) * k + + (u - x[i]) * (u - x[i+1]) * + ((2. - k) * g[i] + + (1. + k) * g[i+1]) / 6.; /* y-coordinate */ + } while (j < m); + g2_free(x); +} + +void g2_spline(int id, int n, double *points, int o) + +/* + * FORMAL ARGUMENTS: + * + * id device id + * n number of data points + * points data points (x[i],y[i]) + * o number of interpolated points per data point + * + * Given an array of n data points {x[1], y[1], ... x[n], y[n]} plot a + * spline curve on device id with o interpolated points per data point. + * So the larger o, the more fluent the curve. + */ + +{ + int m; + double *sxy; + + m = (n-1)*o+1; + sxy = (double*)g2_malloc(m*2*sizeof(double)); + + g2_c_spline(n, points, m, sxy); + g2_poly_line(id, m, sxy); + + g2_free(sxy); +} + +void g2_filled_spline(int id, int n, double *points, int o) + +/* + * FORMAL ARGUMENTS: + * + * id device id + * n number of data points + * points data points (x[i],y[i]) + * o number of interpolated points per data point + */ + +{ + int m; + double *sxy; + + m = (n-1)*o+1; + sxy = (double*)g2_malloc((m+1)*2*sizeof(double)); + + g2_c_spline(n, points, m, sxy); + sxy[m+m] = points[n+n-2]; + sxy[m+m+1] = points[1]; + g2_filled_polygon(id, m+1, sxy); + g2_free(sxy); +} + +void g2_c_b_spline(int n, const double *points, int m, double *sxy) + +/* + * g2_c_b_spline takes n input points. It uses parameter t + * to compute sx(t) and sy(t) respectively + */ + +{ + int i, j; + double *x, *y; + double t, bl1, bl2, bl3, bl4; + double interval, xi_3, yi_3, xi, yi; + + if (n < 3) { + fputs("\nERROR calling function \"g2_c_b_spline\":\n" + "number of data points input should be at least three\n", stderr); + return; + } + x = (double *) g2_malloc(n*2*sizeof(double)); + y = x + n; + g2_split(n, points, x, y); + + m--; /* last value index */ + n--; /* last value index */ + interval = (double)n / m; + + for (m += m, i = 2, j = 0; i <= n+1; i++) { + if (i == 2) { + xi_3 = 2 * x[0] - x[1]; + yi_3 = 2 * y[0] - y[1]; + } else { + xi_3 = x[i-3]; + yi_3 = y[i-3]; + } + if (i == n+1) { + xi = 2 * x[n] - x[n-1]; + yi = 2 * y[n] - y[n-1]; + } else { + xi = x[i]; + yi = y[i]; + } + + t = fmod(j * interval, 1.); + + while (t < 1. && j < m) { + bl1 = (1. - t); + bl2 = t * t; /* t^2 */ + bl4 = t * bl2; /* t^3 */ + bl3 = bl4 - bl2; + + bl1 = bl1 * bl1 * bl1; + bl2 = 3. * (bl3 - bl2) + 4.; + bl3 = 3. * ( t - bl3) + 1.; + + sxy[j++] = (bl1 * xi_3 + bl2 * x[i-2] + bl3 * x[i-1] + bl4 * xi) / 6.; /* x-coordinate */ + sxy[j++] = (bl1 * yi_3 + bl2 * y[i-2] + bl3 * y[i-1] + bl4 * yi) / 6.; /* y-coordinate */ + + t += interval; + } + } + sxy[m] = x[n]; + sxy[m+1] = y[n]; + g2_free(x); +} + +void g2_b_spline(int id, int n, double *points, int o) + +/* + * FORMAL ARGUMENTS: + * + * id device id + * n number of data points + * points data points (x[i],y[i]) + * o number of interpolated points per data point + */ + +{ + int m; + double *sxy; + + m = (n-1)*o+1; + sxy = (double*)g2_malloc(m*2*sizeof(double)); + + g2_c_b_spline(n, points, m, sxy); + g2_poly_line(id, m, sxy); + + g2_free(sxy); +} + +void g2_filled_b_spline(int id, int n, double *points, int o) + +/* + * FORMAL ARGUMENTS: + * + * id device id + * n number of data points + * points data points (x[i],y[i]) + * o number of interpolated points per data point + */ + +{ + int m; + double *sxy; + + m = (n-1)*o+1; + sxy = (double*)g2_malloc((m+1)*2*sizeof(double)); + + g2_c_b_spline(n, points, m, sxy); + sxy[m+m] = points[n+n-2]; + sxy[m+m+1] = points[1]; + g2_filled_polygon(id, m+1, sxy); + + g2_free(sxy); +} + +/* + * FUNCTION g2_c_raspln + * + * FUNCTIONAL DESCRIPTION: + * + * This function draws a piecewise cubic polynomial through + * the specified data points. The (n-1) cubic polynomials are + * basically parametric cubic Hermite polynomials through the + * n specified data points with tangent values at the data + * points determined by a weighted average of the slopes of + * the secant lines. A tension parameter "tn" is provided to + * adjust the length of the tangent vector at the data points. + * This allows the "roundness" of the curve to be adjusted. + * For further information and references on this technique see: + * + * D. Kochanek and R. Bartels, Interpolating Splines With Local + * Tension, Continuity and Bias Control, Computer Graphics, + * 18(1984)3. + * + * AUTHORS: + * + * Dennis Mikkelson distributed in GPLOT Jan 7, 1988 F77 + * Tijs Michels t.michels@vimec.nl Jun 7, 1999 C + * + * FORMAL ARGUMENTS: + * + * n number of data points, n > 2 + * points double array holding the x and y-coords of the data points + * tn double parameter in [0.0, 2.0]. When tn = 0.0, + * the curve through the data points is very rounded. + * As tn increases the curve is gradually pulled tighter. + * When tn = 2.0, the curve is essentially a polyline + * through the given data points. + * sxy double array holding the coords of the spline curve + * + * IMPLICIT INPUTS: NONE + * IMPLICIT OUTPUTS: NONE + * SIDE EFFECTS: NONE + */ + +#define nb 40 +/* + * Number of straight connecting lines of which each polynomial consists. + * So between one data point and the next, (nb-1) points are placed. + */ + +void g2_c_raspln(int n, const double *points, double tn, double *sxy) +{ + int i, j; + double *x, *y; + double bias, tnFactor, tangentL1, tangentL2; + double D1x, D1y, D2x, D2y, t1x, t1y, t2x, t2y; + double h1[nb+1]; /* Values of the Hermite basis functions */ + double h2[nb+1]; /* at nb+1 evenly spaced points in [0,1] */ + double h3[nb+1]; + double h4[nb+1]; + + x = (double *) g2_malloc(n*2*sizeof(double)); + y = x + n; + g2_split(n, points, x, y); + +/* + * First, store the values of the Hermite basis functions in a table h[ ] + * so no time is wasted recalculating them + */ + for (i = 0; i < nb+1; i++) { + double t, tt, ttt; + t = (double) i / nb; + tt = t * t; + ttt = t * tt; + h1[i] = 2. * ttt - 3. * tt + 1.; + h2[i] = -2. * ttt + 3. * tt; + h3[i] = ttt - 2. * tt + t; + h4[i] = ttt - tt; + } + +/* + * Set local tnFactor based on input parameter tn + */ + if (tn <= 0.) { + tnFactor = 2.; + fputs("g2_c_raspln: Using Tension Factor 0.0: very rounded", stderr); + } + else if (tn >= 2.) { + tnFactor = 0.; + fputs("g2_c_raspln: Using Tension Factor 2.0: not rounded at all", stderr); + } + else tnFactor = 2. - tn; + + D1x = D1y = 0.; /* first point has no preceding point */ + for (j = 0; j < n - 2; j++) { + t1x = x[j+1] - x[j]; + t1y = y[j+1] - y[j]; + t2x = x[j+2] - x[j+1]; + t2y = y[j+2] - y[j+1]; + tangentL1 = t1x * t1x + t1y * t1y; + tangentL2 = t2x * t2x + t2y * t2y; + if (tangentL1 + tangentL2 == 0) bias = .5; + else bias = tangentL2 / (tangentL1 + tangentL2); + D2x = tnFactor * (bias * t1x + (1 - bias) * t2x); + D2y = tnFactor * (bias * t1y + (1 - bias) * t2y); + for (i = 0; i < nb; i++) { + sxy[2 * nb * j + i + i] = + h1[i] * x[j] + h2[i] * x[j+1] + h3[i] * D1x + h4[i] * D2x; + sxy[2 * nb * j + i + i + 1] = + h1[i] * y[j] + h2[i] * y[j+1] + h3[i] * D1y + h4[i] * D2y; + } + D1x = D2x; /* store as preceding point in */ + D1y = D2y; /* the next pass */ + } + +/* + * Do the last subinterval as a special case since no point follows the + * last point + */ + for (i = 0; i < nb+1; i++) { + sxy[2 * nb * (n-2) + i + i] = + h1[i] * x[n-2] + h2[i] * x[n-1] + h3[i] * D1x; + sxy[2 * nb * (n-2) + i + i + 1] = + h1[i] * y[n-2] + h2[i] * y[n-1] + h3[i] * D1y; + } + g2_free(x); +} + +void g2_raspln(int id, int n, double *points, double tn) + +/* + * FORMAL ARGUMENTS: + * + * id device id + * n number of data points + * points data points (x[i],y[i]) + * tn tension factor [0.0, 2.0] + * 0.0 very rounded + * 2.0 not rounded at all + */ + +{ + int m; + double *sxy; /* coords of the entire spline curve */ + m = (n-1)*nb+1; + sxy = (double *) g2_malloc(m*2*sizeof(double)); + + g2_c_raspln(n, points, tn, sxy); + g2_poly_line(id, m, sxy); + + g2_free(sxy); +} + +void g2_filled_raspln(int id, int n, double *points, double tn) + +/* + * FORMAL ARGUMENTS: + * + * id device id + * n number of data points + * points data points (x[i],y[i]) + * tn tension factor [0.0, 2.0] + * 0.0 very rounded + * 2.0 not rounded at all + */ + +{ + int m; + double *sxy; /* coords of the entire spline curve */ + m = (n-1)*nb+2; + sxy = (double *) g2_malloc(m*2*sizeof(double)); + + g2_c_raspln(n, points, tn, sxy); + sxy[(n+n-2) * nb + 2] = points[n+n-2]; + sxy[(n+n-2) * nb + 3] = points[1]; + g2_filled_polygon(id, m, sxy); + + g2_free(sxy); +} + +/* ---- And now for a rather different approach ---- */ + +/* + * FUNCTION g2_c_newton + * + * FUNCTIONAL DESCRIPTION: + * + * Use Newton's Divided Differences to calculate an interpolation + * polynomial through the specified data points. + * This function is called by + * g2_c_para_3 and + * g2_c_para_5. + * + * Dennis Mikkelson distributed in GPLOT Jan 5, 1988 F77 + * Tijs Michels t.michels@vimec.nl Jun 16, 1999 C + * + * FORMAL ARGUMENTS: + * + * n number of entries in c1 and c2, 4 <= n <= MaxPts + * for para_3 (degree 3) n = 4 + * for para_5 (degree 5) n = 6 + * for para_i (degree i) n = (i + 1) + * c1 double array holding at most MaxPts values giving the + * first coords of the points to be interpolated + * c2 double array holding at most MaxPts values giving the + * second coords of the points to be interpolated + * o number of points at which the interpolation + * polynomial is to be evaluated + * xv double array holding o points at which to + * evaluate the interpolation polynomial + * yv double array holding upon return the values of the + * interpolation polynomial at the corresponding points in xv + * + * yv is the OUTPUT + * + * IMPLICIT INPUTS: NONE + * IMPLICIT OUTPUTS: NONE + * SIDE EFFECTS: NONE + */ + +#define MaxPts 21 +#define xstr(s) __str(s) +#define __str(s) #s + +/* + * Maximum number of data points allowed + * 21 would correspond to a polynomial of degree 20 + */ + +void g2_c_newton(int n, const double *c1, const double *c2, + int o, const double *xv, double *yv) +{ + int i, j; + double p, s; + double ddt[MaxPts][MaxPts]; /* Divided Difference Table */ + + if (n < 4) { + fputs("g2_c_newton: Error! Less than 4 points passed " + "to function g2_c_newton\n", stderr); + return; + } + + if (n > MaxPts) { + fputs("g2_c_newton: Error! More than " xstr(MaxPts) " points passed " + "to function g2_c_newton\n", stderr); + return; + } + +/* First, build the divided difference table */ + + for (i = 0; i < n; i++) ddt[i][0] = c2[i]; + for (j = 1; j < n; j++) { + for (i = 0; i < n - j; i++) + ddt[i][j] = (ddt[i+1][j-1] - ddt[i][j-1]) / (c1[i+j] - c1[i]); + } + +/* Next, evaluate the polynomial at the specified points */ + + for (i = 0; i < o; i++) { + for (p = 1., s = ddt[0][0], j = 1; j < n; j++) { + p *= xv[i] - c1[j-1]; + s += p * ddt[0][j]; + } + yv[i] = s; + } +} + +/* + * FUNCTION: g2_c_para_3 + * + * FUNCTIONAL DESCRIPTION: + * + * This function draws a piecewise parametric interpolation + * polynomial of degree 3 through the specified data points. + * The effect is similar to that obtained using DISSPLA to + * draw a curve after a call to the DISSPLA routine PARA3. + * The curve is parameterized using an approximation to the + * curve's arc length. The basic interpolation is done + * using function g2_c_newton. + * + * Dennis Mikkelson distributed in GPLOT Jan 7, 1988 F77 + * Tijs Michels t.michels@vimec.nl Jun 17, 1999 C + * + * FORMAL ARGUMENTS: + * + * n number of data points through which to draw the curve + * points double array containing the x and y-coords of the data points + * + * IMPLICIT INPUTS: NONE + * IMPLICIT OUTPUTS: NONE + * SIDE EFFECTS: NONE + */ + +/* + * #undef nb + * #define nb 40 + * Number of straight connecting lines of which each polynomial consists. + * So between one data point and the next, (nb-1) points are placed. + */ + +void g2_c_para_3(int n, const double *points, double *sxy) +{ +#define dgr (3+1) +#define nb2 (nb*2) + int i, j; + double x1t, y1t; + double o, step; + double X[nb2]; /* x-coords of the current curve piece */ + double Y[nb2]; /* y-coords of the current curve piece */ + double t[dgr]; /* data point parameter values */ + double Xpts[dgr]; /* x-coords data point subsection */ + double Ypts[dgr]; /* y-coords data point subsection */ + double s[nb2]; /* parameter values at which to interpolate */ + + /* Do first TWO subintervals first */ + + g2_split(dgr, points, Xpts, Ypts); + + t[0] = 0.; + for (i = 1; i < dgr; i++) { + x1t = Xpts[i] - Xpts[i-1]; + y1t = Ypts[i] - Ypts[i-1]; + t[i] = t[i-1] + sqrt(x1t * x1t + y1t * y1t); + } + + step = t[2] / nb2; + for (i = 0; i < nb2; i++) s[i] = i * step; + + g2_c_newton(dgr, t, Xpts, nb2, s, X); + g2_c_newton(dgr, t, Ypts, nb2, s, Y); + for (i = 0; i < nb2; i++) { + sxy[i+i] = X[i]; + sxy[i+i+1] = Y[i]; + } + + /* Next, do later central subintervals */ + + for (j = 1; j < n - dgr + 1; j++) { + g2_split(dgr, points + j + j, Xpts, Ypts); + + for (i = 1; i < dgr; i++) { + x1t = Xpts[i] - Xpts[i-1]; + y1t = Ypts[i] - Ypts[i-1]; + t[i] = t[i-1] + sqrt(x1t * x1t + y1t * y1t); + } + + o = t[1]; /* look up once */ + step = (t[2] - o) / nb; + for (i = 0; i < nb; i++) s[i] = i * step + o; + + g2_c_newton(dgr, t, Xpts, nb, s, X); + g2_c_newton(dgr, t, Ypts, nb, s, Y); + + for (i = 0; i < nb; i++) { + sxy[(j + 1) * nb2 + i + i] = X[i]; + sxy[(j + 1) * nb2 + i + i + 1] = Y[i]; + } + } + + /* Now do last subinterval */ + + o = t[2]; + step = (t[3] - o) / nb; + for (i = 0; i < nb; i++) s[i] = i * step + o; + + g2_c_newton(dgr, t, Xpts, nb, s, X); + g2_c_newton(dgr, t, Ypts, nb, s, Y); + + for (i = 0; i < nb; i++) { + sxy[(n - dgr + 2) * nb2 + i + i] = X[i]; + sxy[(n - dgr + 2) * nb2 + i + i + 1] = Y[i]; + } + sxy[(n - 1) * nb2] = points[n+n-2]; + sxy[(n - 1) * nb2 + 1] = points[n+n-1]; +} + +/* + * FORMAL ARGUMENTS: + * + * id device id + * n number of data points + * points data points (x[i],y[i]) + */ + +void g2_para_3(int id, int n, double *points) +{ + int m; + double *sxy; /* coords of the entire spline curve */ + m = (n-1)*nb+1; + sxy = (double *) g2_malloc(m*2*sizeof(double)); + + g2_c_para_3(n, points, sxy); + g2_poly_line(id, m, sxy); + + g2_free(sxy); +} + +/* + * FORMAL ARGUMENTS: + * + * id device id + * n number of data points + * points data points (x[i],y[i]) + */ + +void g2_filled_para_3(int id, int n, double *points) +{ + int m; + double *sxy; /* coords of the entire spline curve */ + m = (n-1)*nb+2; + sxy = (double *) g2_malloc(m*2*sizeof(double)); + + g2_c_para_3(n, points, sxy); + sxy[m+m-2] = points[n+n-2]; + sxy[m+m-1] = points[1]; + g2_filled_polygon(id, m, sxy); + + g2_free(sxy); +} + +/* + * FUNCTION: g2_c_para_5 + * + * As g2_c_para_3, but now plot a polynomial of degree 5 + */ + +/* + * #undef nb + * #define nb 40 + * Number of straight connecting lines of which each polynomial consists. + * So between one data point and the next, (nb-1) points are placed. + */ + +void g2_c_para_5(int n, const double *points, double *sxy) +{ +#undef dgr +#define dgr (5+1) +#define nb3 (nb*3) + int i, j; + double x1t, y1t; + double o, step; + double X[nb3]; /* x-coords of the current curve piece */ + double Y[nb3]; /* y-coords of the current curve piece */ + double t[dgr]; /* data point parameter values */ + double Xpts[dgr]; /* x-coords data point subsection */ + double Ypts[dgr]; /* y-coords data point subsection */ + double s[nb3]; /* parameter values at which to interpolate */ + + /* Do first THREE subintervals first */ + + g2_split(dgr, points, Xpts, Ypts); + + t[0] = 0.; + for (i = 1; i < dgr; i++) { + x1t = Xpts[i] - Xpts[i-1]; + y1t = Ypts[i] - Ypts[i-1]; + t[i] = t[i-1] + sqrt(x1t * x1t + y1t * y1t); + } + + step = t[3] / nb3; + for (i = 0; i < nb3; i++) s[i] = i * step; + + g2_c_newton(dgr, t, Xpts, nb3, s, X); + g2_c_newton(dgr, t, Ypts, nb3, s, Y); + for (i = 0; i < nb3; i++) { + sxy[i+i] = X[i]; + sxy[i+i+1] = Y[i]; + } + + /* Next, do later central subintervals */ + + for (j = 1; j < n - dgr + 1; j++) { + g2_split(dgr, points + j + j, Xpts, Ypts); + + for (i = 1; i < dgr; i++) { + x1t = Xpts[i] - Xpts[i-1]; + y1t = Ypts[i] - Ypts[i-1]; + t[i] = t[i-1] + sqrt(x1t * x1t + y1t * y1t); + } + + o = t[2]; /* look up once */ + step = (t[3] - o) / nb; + for (i = 0; i < nb; i++) s[i] = i * step + o; + + g2_c_newton(dgr, t, Xpts, nb, s, X); + g2_c_newton(dgr, t, Ypts, nb, s, Y); + + for (i = 0; i < nb; i++) { + sxy[(j + 2) * nb2 + i + i] = X[i]; + sxy[(j + 2) * nb2 + i + i + 1] = Y[i]; + } + } + + /* Now do last TWO subinterval */ + + o = t[3]; + step = (t[5] - o) / nb2; + for (i = 0; i < nb2; i++) s[i] = i * step + o; + + g2_c_newton(dgr, t, Xpts, nb2, s, X); + g2_c_newton(dgr, t, Ypts, nb2, s, Y); + + for (i = 0; i < nb2; i++) { + sxy[(n - dgr + 3) * nb2 + i + i] = X[i]; + sxy[(n - dgr + 3) * nb2 + i + i + 1] = Y[i]; + } + sxy[(n - 1) * nb2] = points[n+n-2]; + sxy[(n - 1) * nb2 + 1] = points[n+n-1]; +} + +/* + * FORMAL ARGUMENTS: + * + * id device id + * n number of data points + * points data points (x[i],y[i]) + */ + +void g2_para_5(int id, int n, double *points) +{ + int m; + double *sxy; /* coords of the entire spline curve */ + m = (n-1)*nb+1; + sxy = (double *) g2_malloc(m*2*sizeof(double)); + + g2_c_para_5(n, points, sxy); + g2_poly_line(id, m, sxy); + + g2_free(sxy); +} + +/* + * FORMAL ARGUMENTS: + * + * id device id + * n number of data points + * points data points (x[i],y[i]) + */ + +void g2_filled_para_5(int id, int n, double *points) +{ + int m; + double *sxy; /* coords of the entire spline curve */ + m = (n-1)*nb+2; + sxy = (double *) g2_malloc(m*2*sizeof(double)); + + g2_c_para_5(n, points, sxy); + sxy[m+m-2] = points[n+n-2]; + sxy[m+m-1] = points[1]; + g2_filled_polygon(id, m, sxy); + + g2_free(sxy); +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_splines.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_splines.o new file mode 100755 index 0000000000000000000000000000000000000000..67bdd5037e5d68b14c08473f536f793a8201d104 GIT binary patch literal 17800 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 +#include +#include + +#include "g2.h" +#include "g2_device.h" +#include "g2_control_pd.h" +#include "g2_util.h" + +/** + * \ingroup interface + * \defgroup color color manipulations + * + * The color concept used in the g2 library is inspired by Sir Clive + * Sinclair solution implemented in the ZX Spectrum computer. With the + * g2_pen() function it is possible to choose a pen created by the + * g2_ink() function. Note that g2_ink function is only defined for + * physical devices. The predefined colors (see g2_test demo program) + * have pens from 0 till 26 (inclusive). + * + * Some basic colors are: + * - 0 white + * - 1 black + * - 3 blue + * - 7 green + * - 19 red + * - 25 yellow + * + */ + + +/** + * \ingroup interface + * \defgroup control output control + */ + +/** + * + * Flush output buffers. + * + * \param dev device id + * + * \ingroup control + */ +void g2_flush(int dev) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_flush: No such device: %d\n", dev); + return; + } + + switch(devp->t) { + case g2_PD: + g2_flush_pd(devp->d.pd); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_flush(devp->d.vd->dix[i]); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + __g2_last_device=dev; +} + + + +/** + * + * Save output + * + * \param dev device id + * + * \ingroup control + */ +void g2_save(int dev) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_save: No such device: %d\n", dev); + return; + } + + switch(devp->t) { + case g2_PD: + g2_save_pd(devp->d.pd); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_save(devp->d.vd->dix[i]); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + __g2_last_device=dev; +} + + + +/** + * + * Clear device + * + * \param dev device number + * + * \ingroup control + */ +void g2_clear(int dev) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_clear: No such device: %d\n", dev); + return; + } + + switch(devp->t) { + case g2_PD: + g2_clear_pd(devp->d.pd); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_clear(devp->d.vd->dix[i]); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + +/** + * + * Set pen color for all following operations, see also g2_ink(). + * + * \param dev device + * \param color pen (either one of default pens 0-26, or a pen returned by g2_ink() ) + * + * \ingroup color + */ +void g2_pen(int dev, int color) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_pen: No such device: %d\n", dev); + return; + } + + switch(devp->t) { + case g2_PD: + g2_pen_pd(devp->d.pd, color); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_pen(devp->d.vd->dix[i], color); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + __g2_last_device=dev; +} + + + +/** + * + * Set the background color + * + * \param dev device + * \param color pen (either one of default pens 0-26, or a pen returned by g2_ink() ) + * + * \ingroup color + */ +void g2_set_background(int dev, int color) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_set_background: No such device: %d\n", dev); + return; + } + + switch(devp->t) { + case g2_PD: + g2_set_background_pd(devp->d.pd, color); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_set_background(devp->d.vd->dix[i], color); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Create an ink. To put ink into the pen use g2_pen(). + * + * \param pd_dev physical device + * \param red red component (0-1) according to the RGB color model + * \param green green component (0-1) according to the RGB color model + * \param blue blue component (0-1) according to the RGB color model + * \return new pen, see g2_pen() + * + * \ingroup color + */ +int g2_ink(int pd_dev, double red, double green, double blue) +{ + g2_device *devp; + int rv=-1; + + if((devp=g2_get_device_pointer(pd_dev))==NULL) { + fprintf(stderr, "g2_ink: No such device: %d\n", pd_dev); + return -1; + } + + if(red < 0.0) red=0.0; + if(green < 0.0) green=0.0; + if(blue < 0.0) blue=0.0; + if(red > 1.0) red=1.0; + if(green > 1.0) green=1.0; + if(blue > 1.0) blue=1.0; + + switch(devp->t) { + case g2_PD: + rv=g2_ink_pd(devp->d.pd, red, green, blue); + break; + case g2_VD: + fprintf(stderr, "g2_ink: g2_ink is enabled only for phys. devices\n"); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + __g2_last_device=pd_dev; + return rv; +} + + + +/** + * + * Clear collor palette (remove all inks) and reallocate basic colors. + * + * \param dev device + * + * \ingroup color + */ +void g2_reset_palette(int dev) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_reset_palette: No such device: %d\n", dev); + return; + } + + switch(devp->t) { + case g2_PD: + g2_clear_palette(dev); + g2_allocate_basic_colors(dev); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_reset_palette(devp->d.vd->dix[i]); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + __g2_last_device=dev; +} + + + +/** + * + * Remove all inks. + * + * \param dev device + * + * \ingroup color + */ +void g2_clear_palette(int dev) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_clear_palette: No such device: %d\n", dev); + return; + } + + switch(devp->t) { + case g2_PD: + g2_clear_palette_pd(devp->d.pd); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_clear_palette(devp->d.vd->dix[i]); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + __g2_last_device=dev; +} + + +/** + * + * Allocate basic colors + * + * \param dev device + * + * \ingroup color + */ +void g2_allocate_basic_colors(int dev) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_allocate_basic_colors: No such device: %d\n", dev); + return; + } + + switch(devp->t) { + case g2_PD: + g2_allocate_basic_colors_pd(devp->d.pd); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_allocate_basic_colors(devp->d.vd->dix[i]); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + __g2_last_device=dev; +} + + +/** + * + * Set font size + * + * \param dev device + * \param size new font size + * + * \ingroup control + */ +void g2_set_font_size(int dev, double size) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_set_font_size: No such device: %d\n", dev); + return; + } + + switch(devp->t) { + case g2_PD: + g2_set_font_size_pd(devp->d.pd, size); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_set_font_size(devp->d.vd->dix[i], size); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + __g2_last_device=dev; +} + + + +/** + * + * Set line width. + * + * \param dev device + * \param w new line width + * + * \ingroup control + */ +void g2_set_line_width(int dev, double w) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_set_line_width: No such device: %d\n", dev); + return; + } + + switch(devp->t) { + case g2_PD: + g2_set_line_width_pd(devp->d.pd, w); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_set_line_width(devp->d.vd->dix[i], w); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + __g2_last_device=dev; +} + + + +/** + * + * Set line dash. Set \a N to 0 and \a dashes to NULL to restore solid line. + * + * \param dev device + * \param N number of dash components (0 for solid line) + * \param dashes vector of dash lengths (black, white, black, ...) + * + * \ingroup control + */ +void g2_set_dash(int dev, int N, double *dashes) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_set_dash: No such device: %d\n", dev); + return; + } + + switch(devp->t) { + case g2_PD: + g2_set_dash_pd(devp->d.pd, N, dashes); + break; + + case g2_VD: + for(i=0;id.vd->N;i++) + g2_set_dash(devp->d.vd->dix[i], N, dashes); + break; + + case g2_ILLEGAL: + break; + + case g2_NDEV: + break; + } + __g2_last_device=dev; +} + + + +/** + * + * Set QuasiPixel size and shape. + * + * \param dev device + * \param d size + * \param shape shape (rectangle or circle, see ::QPshape ) + * + * \ingroup control + */ +void g2_set_QP(int dev, double d, enum QPshape shape) +{ + g2_device *devp; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_set_QP: No such device: %d\n", dev); + return; + } + + devp->QPd=d; + devp->QPshape=shape; + + __g2_last_device=dev; +} + + +/** + * + * Query pointer (e.g. mouse for X11) position and button state. See + * the demo program pointer.c for an example. + * + * \param dev device + * \param x returns pointer x coordinate + * \param y returns pointer y coordinate + * \param button returns button state + * + * \ingroup control + */ +void g2_query_pointer(int dev, double *x, double *y, unsigned int *button) +{ + g2_device *devp; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_query_pointer: No such device: %d\n", dev); + return; + } + + switch(devp->t) { + case g2_PD: + g2_query_pointer_pd(devp->d.pd, x, y, button); + break; + case g2_VD: + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + __g2_last_device=dev; +} + + + +/** + * + * Get pointers to physical device specific handles. This function + * should be used only if you are familiar with the g2 source code. + * For details see physical device source code (e.g. in src/X11/). + * Example usage can be found in demo/handles.c. + * + * \param pd physical device + * \param handles returns pointers to physical device low level handles + * + * \ingroup control + */ +void g2_get_pd_handles(int pd, void *handles[G2_PD_HANDLES_SIZE]) +{ + g2_device *devp; + int i; + + for(i=0;it) { + case g2_PD: + g2_get_pd_handles_pd(devp->d.pd, handles); + break; + case g2_VD: + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_control.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_control.o new file mode 100755 index 0000000000000000000000000000000000000000..979b640a1d714f59c6b57c89e49bc01ca9fc48c0 GIT binary patch literal 15132 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 ZQ0PNKzbN!8LSwn&$I$lQm59#y_FvG4T2TN1 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_device.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_device.c new file mode 100755 index 00000000..418b4ed8 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_device.c @@ -0,0 +1,196 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include + +#include "g2.h" +#include "g2_funix.h" +#include "g2_device.h" +#include "g2_util.h" + +/** + * \ingroup interface + * \defgroup device devices control + */ + + +/** + * + * Close and delete a device. + * + * \param dev device + * + * \ingroup device + */ +void g2_close(int dev) +{ + g2_device *devp; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_close: Warning! No such device: %d\n", dev); + return; + } + + switch(devp->t) { + case g2_PD: + devp->d.pd->ff[g2_Delete].fun(devp->d.pd->pid, + devp->d.pd->pdp); + break; + case g2_VD: + while(devp->d.vd->N>0) /* close all devices */ + g2_close(devp->d.vd->dix[devp->d.vd->N-1]); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + g2_destroy_device(dev); /* destroy device */ +} + + +/** + * + * Set auto flush mode for device \a dev. Auto flush mode means that after each graphical + * operation g2 library automatically calls flush function to ensure that output is realy + * displayed. However, freqent flushing decreases performance. Alternative is to flush + * output when needed by calling g2_flush function. + * + * \param dev device + * \param on_off 1-on 0-off + * + * \ingroup device + */ +void g2_set_auto_flush(int dev, int on_off) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + g2_log(Error, "g2: Error! g2_set_auto_flush: No such device: %d\n", dev); + return; + } + + switch(devp->t) { + case g2_PD: + break; + case g2_VD: + for(i=0;id.vd->N;i++) { + g2_set_auto_flush(devp->d.vd->dix[i], on_off); + } + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + devp->auto_flush=on_off; /* set auto flush for all (vd and pd) devices */ + __g2_last_device=dev; +} + + +/** + * + * Set the user coordinate system. + * + * \param dev device + * \param x_origin x coordinate of the new origin (expressed in the default coordinate system) + * \param y_origin x coordinate of the new origin (expressed in the default coordinate system) + * \param x_mul x scaling factor + * \param y_mul y scaling factor + * + * \ingroup device + */ +void g2_set_coordinate_system(int dev, + double x_origin, double y_origin, + double x_mul, double y_mul) +{ + g2_device *devp; + int i; + + if(x_mul==0.0 || y_mul==0.0) { + fprintf(stderr, + "g2_set_coordinate_system: Error! Multiplicator can not be 0.0"); + return; + } + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, + "g2_set_coordinate_system: Warning! No such device: %d\n", + dev); + return; + } + + switch(devp->t) { + case g2_PD: + devp->d.pd->x_origin=x_origin; + devp->d.pd->y_origin=y_origin; + devp->d.pd->x_mul=x_mul; + devp->d.pd->y_mul=y_mul; + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_set_coordinate_system(devp->d.vd->dix[i], + x_origin, y_origin, + x_mul, y_mul); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + __g2_last_device=dev; +} + + + +/** + * + * Get the last accessed device. G2LD macro is defined as the g2_ld function. + * + * \code + * g2_open_X11(100, 100); + * g2_plot(G2LD, 50, 50); + * \endcode + * + * \ingroup device + */ +int g2_ld(void) +{ + return __g2_last_device; +} + + + +/** + * + * Set the last accessed device. See also g2_ld() function. + * + * \param dev device + * + * \ingroup device + */ +void g2_set_ld(int dev) +{ + if(!g2_device_exist(dev)) { + fprintf(stderr, "g2_set_lsd: Warning! No such device: %d\n", dev); + return; + } + __g2_last_device=dev; +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_device.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_device.o new file mode 100755 index 0000000000000000000000000000000000000000..3091c62a105f633c31610cac22b8ca48c00cd10f GIT binary patch literal 8612 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_graphic.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_graphic.c new file mode 100755 index 00000000..f8e1c015 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_graphic.c @@ -0,0 +1,1045 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include + +#include "g2_device.h" +#include "g2_graphic_pd.h" +#include "g2_util.h" + +/** + * \ingroup interface + * \defgroup graphic graphical output + */ + +/** + * + * Move graphic cursor. + * + * \param dev device + * \param x x coordinate + * \param y y coordinate + * + * \ingroup graphic + */ +void g2_move(int dev, double x, double y) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_move: No such device: %d\n", dev); + return; + } + + devp->x=x; /* set graph. cursor */ + devp->y=y; + + switch(devp->t) { + case g2_PD: + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_move(devp->d.vd->dix[i], x, y); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + __g2_last_device=dev; +} + + + +/** + * + * Move graphic cursor relative to the currner graphical cursor position. + * + * \param dev device + * \param dx x coordinate increment + * \param dy y coordinate increment + * + * \ingroup graphic + */ +void g2_move_r(int dev, double dx, double dy) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_move_r: No such device: %d\n", dev); + return; + } + + devp->x+=dx; /* set graph. cursor */ + devp->y+=dy; + + switch(devp->t) { + case g2_PD: + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_move_r(devp->d.vd->dix[i], dx, dy); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + __g2_last_device=dev; +} + + + +/** + * + * Plot a point + * + * \param dev device + * \param x x coordinate + * \param y y coordinate + * + * \ingroup graphic + */ +void g2_plot(int dev, double x, double y) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_plot: No such device: %d\n", dev); + return; + } + + devp->x=x; /* set graph. cursor */ + devp->y=y; + + switch(devp->t) { + case g2_PD: + g2_plot_pd(devp->d.pd, x, y); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_plot(devp->d.vd->dix[i], x, y); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Plot a point relative to graphical cursor. + * + * \param dev device + * \param rx relative x coordinate + * \param ry relative y coordinate + * + * \ingroup graphic + */ +void g2_plot_r(int dev, double rx, double ry) +{ + g2_device *devp; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_plot_r: No such device: %d\n", dev); + return; + } + + g2_plot(dev, devp->x+rx, devp->y+ry); + + __g2_last_device=dev; +} + + + +/** + * + * Draw a line from \p x1, \p y1 to \p x2, \p y2. + * + * \param dev device + * \param x1 see above + * \param y1 see above + * \param x2 see above + * \param y2 see above + * + * \ingroup graphic + */ +void g2_line(int dev, double x1, double y1, double x2, double y2) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_line: No such device: %d\n", dev); + return; + } + + devp->x=x2; + devp->y=y2; + + switch(devp->t) { + case g2_PD: + g2_line_pd(devp->d.pd, x1, y1, x2, y2); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_line(devp->d.vd->dix[i], x1, y1, x2, y2); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Draw line relative to the graphic cursor. + * + * \param dev device + * \param dx relative x coordinate + * \param dy relative y coordinate + * + * \ingroup graphic + */ +void g2_line_r(int dev, double dx, double dy) +{ + g2_device *devp; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_line_r: No such device: %d\n", dev); + return; + } + g2_line(dev, devp->x, devp->y, devp->x+dx, devp->y+dy); + + __g2_last_device=dev; +} + + + +/** + * + * Draw line from graphic cursor to the point \a x, \a y + * + * \param dev device + * \param x x coordinate + * \param y y coordinate + * + * \ingroup graphic + */ +void g2_line_to(int dev, double x, double y) +{ + g2_device *devp; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_line_to: No such device: %d\n", dev); + return; + } + g2_line(dev, devp->x, devp->y, x, y); + + __g2_last_device=dev; +} + + + +/** + * + * Draw a poly line. + * + * \param dev device + * \param N_pt number of points (Note: It is not size of \a points vector!) + * \param points vector of coordinates: x1, y1, x2, y2, ... + * + * \ingroup graphic + */ +void g2_poly_line(int dev, int N_pt, double *points) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_poly_line: No such device: %d\n", dev); + return; + } + + devp->x=points[2*(N_pt-1)+0]; + devp->y=points[2*(N_pt-1)+1]; + + switch(devp->t) { + case g2_PD: + g2_poly_line_pd(devp->d.pd, N_pt, points); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_poly_line(devp->d.vd->dix[i], N_pt, points); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Draw a triangle described by 3 corner points. + * + * \param dev device + * \param x1 x coordinate of the 1st corner + * \param y1 y coordinate of the 1st corner + * \param x2 x coordinate of the 2nd corner + * \param y2 y coordinate of the 2nd corner + * \param x3 x coordinate of the 3rd corner + * \param y3 y coordinate of the 3rd corner + * + * \ingroup graphic + */ +void g2_triangle(int dev, + double x1, double y1, + double x2, double y2, + double x3, double y3) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_triangle: No such device: %d\n", dev); + return; + } + + devp->x=x3; + devp->y=y3; + + switch(devp->t) { + case g2_PD: + g2_triangle_pd(devp->d.pd, + x1, y1, + x2, y2, + x3, y3); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_triangle(devp->d.vd->dix[i], x1, y1, x2, y2, x3, y3); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Draw a filled triangle specified by the 3 corner points. + * + * \param dev device + * \param x1 x coordinate of the 1st corner + * \param y1 y coordinate of the 1st corner + * \param x2 x coordinate of the 2nd corner + * \param y2 y coordinate of the 2nd corner + * \param x3 x coordinate of the 3rd corner + * \param y3 y coordinate of the 3rd corner + * + * \ingroup graphic + */ +void g2_filled_triangle(int dev, + double x1, double y1, + double x2, double y2, + double x3, double y3) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_filled_triangle: No such device: %d\n", dev); + return; + } + + devp->x=x3; + devp->y=y3; + + switch(devp->t) { + case g2_PD: + g2_filled_triangle_pd(devp->d.pd, + x1, y1, + x2, y2, + x3, y3); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_filled_triangle(devp->d.vd->dix[i], x1, y1, x2, y2, x3, y3); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Draw a rectangle specified by the two opposite corner points. + * + * \param dev device + * \param x1 x coordinate of the 1st corner + * \param y1 y coordinate of the 1st corner + * \param x2 x coordinate of the 3rd corner + * \param y2 y coordinate of the 3rd corner + * + * \ingroup graphic + */ +void g2_rectangle(int dev, double x1, double y1, double x2, double y2) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_rectangle: No such device: %d\n", dev); + return; + } + + devp->x=x2; + devp->y=y2; + + switch(devp->t) { + case g2_PD: + g2_rectangle_pd(devp->d.pd, x1, y1, x2, y2); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_rectangle(devp->d.vd->dix[i], x1, y1, x2, y2); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Draw a filled rectangle specified by the two opposite corner points. + * + * \param dev device + * \param x1 x coordinate of the 1st corner + * \param y1 y coordinate of the 1st corner + * \param x2 x coordinate of the 3rd corner + * \param y2 y coordinate of the 3rd corner + * + * \ingroup graphic + */ +void g2_filled_rectangle(int dev, double x1, double y1, double x2, double y2) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_filled_rectangle: No such device: %d\n", dev); + return; + } + + devp->x=x2; + devp->y=y2; + + switch(devp->t) { + case g2_PD: + g2_filled_rectangle_pd(devp->d.pd, x1, y1, x2, y2); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_filled_rectangle(devp->d.vd->dix[i], x1, y1, x2, y2); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Draw a polygon. + * + * \param dev device + * \param N_pt number of points (Note: It is not size of \a points vector!) + * \param points vector of coordinates: x1, y1, x2, y2, ... + * + * \ingroup graphic + */ +void g2_polygon(int dev, int N_pt, double *points) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_polygon: No such device: %d\n", dev); + return; + } + + switch(devp->t) { + case g2_PD: + g2_polygon_pd(devp->d.pd, N_pt, points); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_polygon(devp->d.vd->dix[i], N_pt, points); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Draw a filled polygon. + * + * \param dev device + * \param N_pt number of points (Note: It is not size of \a points vector!) + * \param points vector of coordinates: x1, y1, x2, y2, ... + * + * \ingroup graphic + */ +void g2_filled_polygon(int dev, int N_pt, double *points) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_filled_polygon: No such device: %d\n", dev); + return; + } + + switch(devp->t) { + case g2_PD: + g2_filled_polygon_pd(devp->d.pd, N_pt, points); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_filled_polygon(devp->d.vd->dix[i], N_pt, points); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Draw an ellipse. + * + * \param dev device + * \param x x coordinate of the center + * \param y y coordinate of the center + * \param r1 x radius + * \param r2 y radius + * + * \ingroup graphic + */ +void g2_ellipse(int dev, double x, double y, double r1, double r2) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_ellipse: No such device: %d\n", dev); + return; + } + + devp->x=x; + devp->y=y; + + switch(devp->t) { + case g2_PD: + g2_ellipse_pd(devp->d.pd, x, y, r1, r2); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_ellipse(devp->d.vd->dix[i], x, y, r1, r2); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Draw a filled ellipse. + * + * \param dev device + * \param x x coordinate of the center + * \param y y coordinate of the center + * \param r1 x radius + * \param r2 y radius + * + * \ingroup graphic + */ +void g2_filled_ellipse(int dev, double x, double y, double r1, double r2) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_filled_ellipse: No such device: %d\n", dev); + return; + } + + devp->x=x; + devp->y=y; + + switch(devp->t) { + case g2_PD: + g2_filled_ellipse_pd(devp->d.pd, x, y, r1, r2); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_filled_ellipse(devp->d.vd->dix[i], x, y, r1, r2); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Draw a circle. + * + * \param dev device + * \param x x coordinate of the center + * \param y y coordinate of the center + * \param r radius + * + * \ingroup graphic + */ +void g2_circle(int dev, double x, double y, double r) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_circle: No such device: %d\n", dev); + return; + } + + devp->x=x; + devp->y=y; + + switch(devp->t) { + case g2_PD: + g2_circle_pd(devp->d.pd, x, y, r); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_circle(devp->d.vd->dix[i], x, y, r); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Draw a filled circle. + * + * \param dev device + * \param x x coordinate of the center + * \param y y coordinate of the center + * \param r radius + * + * \ingroup graphic + */ +void g2_filled_circle(int dev, double x, double y, double r) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_filled_circle: No such device: %d\n", dev); + return; + } + + devp->x=x; + devp->y=y; + + switch(devp->t) { + case g2_PD: + g2_filled_circle_pd(devp->d.pd, x, y, r); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_filled_circle(devp->d.vd->dix[i], x, y, r); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Draw an arc. + * + * \param dev device + * \param x x coordinate of the center + * \param y y coordinate of the center + * \param r1 x radius + * \param r2 y radius + * \param a1 starting angle (in deg. 0-360) + * \param a2 ending angle (in deg. 0-360) + * + * \ingroup graphic + */ +void g2_arc(int dev, + double x, double y, + double r1, double r2, + double a1, double a2) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_arc: No such device: %d\n", dev); + return; + } + + devp->x=x; + devp->y=y; + + switch(devp->t) { + case g2_PD: + g2_arc_pd(devp->d.pd, x, y, r1, r2, a1, a2); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_arc(devp->d.vd->dix[i], x, y, r1, r2, a1, a2); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Draw a filled arc. + * + * \param dev device + * \param x x coordinate of the center + * \param y y coordinate of the center + * \param r1 x radius + * \param r2 y radius + * \param a1 starting angle (in deg. 0-360) + * \param a2 ending angle (in deg. 0-360) + * + * \ingroup graphic + */ +void g2_filled_arc(int dev, + double x, double y, + double r1, double r2, + double a1, double a2) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_filled_arc: No such device: %d\n", dev); + return; + } + + devp->x=x; + devp->y=y; + + switch(devp->t) { + case g2_PD: + g2_filled_arc_pd(devp->d.pd, x, y, r1, r2, a1, a2); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_filled_arc(devp->d.vd->dix[i], x, y, r1, r2, a1, a2); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Draw string, see also g2_set_font_size(). + * + * \param dev device + * \param x x coordinate + * \param y y coordinate + * \param text null terminated string + * + * \ingroup graphic + */ +void g2_string(int dev, double x, double y, const char *text) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_string: No such device: %d\n", dev); + return; + } + + devp->x=x; + devp->y=y; + + switch(devp->t) { + case g2_PD: + g2_string_pd(devp->d.pd, x, y, text); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_string(devp->d.vd->dix[i], x, y, text); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Draw a pen image + * + * \param dev device + * \param x x coordinate + * \param y y coordinate + * \param x_size x size + * \param y_size y size + * \param pens vector of x_size*y_size pens: p11, p21, ... pxy, ... + * + * \ingroup graphic + */ +void g2_image(int dev, double x, double y, int x_size, int y_size, int *pens) +{ + g2_device *devp; + int i; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_image: No such device: %d\n", dev); + return; + } + + devp->x=x; + devp->y=y; + + switch(devp->t) { + case g2_PD: + g2_image_pd(devp->d.pd, x, y, x_size, y_size, pens); + break; + case g2_VD: + for(i=0;id.vd->N;i++) + g2_image(devp->d.vd->dix[i], x, y, x_size, y_size, pens); + break; + case g2_ILLEGAL: + break; + case g2_NDEV: + break; + } + + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + +/** + * + * Quasi Pixel fake. Quasi pixel is introduced to make easier + * plotting of cellular automata and related pictures. QP is simple a big pixel as + * specified by g2_set_QP(). Coordinates are skaled accordingly, so no recalculation + * is needed on client side. + * + * \param dev device + * \param x x coordinate + * \param y y coordinate + * + * \ingroup graphic + */ +void g2_plot_QP(int dev, double x, double y) +{ + g2_device *devp; + double d; + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_plot_QP: No such device: %d\n", dev); + return; + } + + x=dtoi(x); + y=dtoi(y); + d=devp->QPd; + switch(devp->QPshape) { + case QPrect: + g2_filled_rectangle(dev, x*d-d/2, y*d-d/2, x*d+d/2, y*d+d/2); + break; + case QPcirc: + g2_filled_circle(dev, x*d, y*d, d/2.0); + break; + default: + fprintf(stderr, "g2: QP: unknown shape\n"); + break; + } + if(devp->auto_flush) + g2_flush(dev); + + __g2_last_device=dev; +} + + + + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_graphic.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_graphic.o new file mode 100755 index 0000000000000000000000000000000000000000..04cabbe213d12a73595c8069eb346c0952fae6c7 GIT binary patch literal 22280 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 + +#include "g2.h" +#include "g2_device.h" +#include "g2_virtual_device.h" +#include "g2_util.h" + +/** + * \ingroup interface + * \defgroup vd virtual device related functions + * + * Virtual device is a method to redirect g2 output to multiple devices. Here is an example: + * + * \code + * int d1 = g2_open_X11(100, 100); create first X11 window + * int d2 = g2_open_X11(100, 100); create 2nd X11 window + * + * int vd = g2_open_vd(); open a new virtual device + * + * g2_attach(vd, d1); attach d1 (1st window) to virtual device + * g2_attach(vd, d2); attach d2 (2nd window) to virtual device + * + * g2_plot(d1, 11, 11); output to the 1st X11 window + * g2_plot(d2, 12, 12); output to the 2nd X11 window + * g2_plot(vd, 13, 13); output to both X11 windows + * \endcode + * + */ + + + +/** + * + * Create a new virtual device. + * + * \return virtual device ID + * + * \ingroup vd + */ +int g2_open_vd(void) +{ + int dix; + dix=g2_register_virtual_device(); + __g2_last_device=dix; + return dix; +} + + +/** + * Attach a device to virtual device \a vd_dev. + * + * \param vd_dev virtual device (create virtual device by calling g2_open_vd() ) + * \param dev device + * + * \ingroup vd + */ +void g2_attach(int vd_dev, int dev) +{ + g2_device *vd_devp, *devp; + + if((vd_devp=g2_get_device_pointer(vd_dev))==NULL) { + fprintf(stderr, "g2_attach: No such device: %d\n", vd_dev); + return; + } + + if((devp=g2_get_device_pointer(dev))==NULL) { + fprintf(stderr, "g2_attach: No such device: %d\n", dev); + return; + } + + if(vd_devp->t!=g2_VD) { + fprintf(stderr, "g2_attach: Device %d is not virtual.\n", vd_dev); + return; + } + + if(devp->t==g2_VD) /* if virtual device */ + if(g2_is_attached(dev, vd_dev)) { /* check recurency */ + fprintf(stderr, + "g2_attach: Device %d is already attached to %d.\n", + dev, vd_dev); + return; + } + + vd_devp->d.vd->N++; + vd_devp->d.vd->dix=g2_realloc(vd_devp->d.vd->dix, + vd_devp->d.vd->N*sizeof(int)); + + vd_devp->d.vd->dix[vd_devp->d.vd->N-1]=dev; + + __g2_last_device=vd_dev; +} + + +/** + * + * Dettach a device from the virtual device \a vd_dev. + * + * \param vd_dev virtual device + * \param dev device + * + * \ingroup vd + */ +void g2_detach(int vd_dev, int dev) +{ + g2_device *vd_devp; + int i; + + if((vd_devp=g2_get_device_pointer(vd_dev))==NULL) { + fprintf(stderr, "g2_detach: No such device: %d\n", vd_dev); + return; + } + + if(vd_devp->t!=g2_VD) { + fprintf(stderr, "g2_detach: Device %d is not virtual.\n", vd_dev); + return; + } + + for(i=0;id.vd->N;i++) + if(vd_devp->d.vd->dix[i]==dev) { + if(vd_devp->d.vd->N>1) + vd_devp->d.vd->dix[i]=vd_devp->d.vd->dix[vd_devp->d.vd->N-1]; + vd_devp->d.vd->N--; + if(vd_devp->d.vd->N!=0) + vd_devp->d.vd->dix=g2_realloc(vd_devp->d.vd->dix, + vd_devp->d.vd->N*sizeof(int)); + return; + } + + __g2_last_device=vd_dev; +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_virtual_device.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_ui_virtual_device.o new file mode 100755 index 0000000000000000000000000000000000000000..e498a8d38e7ebb8c961837fbbf4b9a8d35328889 GIT binary patch literal 7764 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 EKi=y-MgRZ+ literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_util.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_util.c new file mode 100755 index 00000000..00f04e6c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_util.c @@ -0,0 +1,224 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include +#include +#include + +#include "g2_util.h" +#include "g2_physical_device.h" +#include "g2_config.h" + + +/* + * + * Double to integer + * + */ +int dtoi(double x) +{ + return (int)(x+0.5); +} + + + +/* + * + * Transform user coord. in physical device coord (int) + * + */ +void g2_uc2pdc_int(g2_physical_device *pd, double x, double y, + int *ix, int *iy) +{ + double vx, vy; + + vx=pd->x_mul*x+pd->x_origin; + vy=pd->y_mul*y+pd->y_origin; + + *ix = dtoi(pd->a11*vx + pd->b1); + *iy = dtoi(pd->a22*vy + pd->b2); +} + + +/* + * + * Transform user coord. in physical device coord (double) + * + */ +void g2_uc2pdc_double(g2_physical_device *pd, double x, double y, + double *dx, double *dy) +{ + double vx, vy; + + vx=pd->x_mul*x+pd->x_origin; + vy=pd->y_mul*y+pd->y_origin; + + *dx = pd->a11*vx + pd->b1; + *dy = pd->a22*vy + pd->b2; +} + + +/* + * + * Transform user size in physical device size (int) + * + */ +void g2_us2pds_int(g2_physical_device *pd, double x, double y, + int *ix, int *iy) +{ + if(ix!=NULL) + *ix=dtoi(x*fabs(pd->x_mul*pd->a11)); + if(iy!=NULL) + *iy=dtoi(y*fabs(pd->y_mul*pd->a22)); +} + + +/* + * + * Transform user size in physical device size (double) + * + */ +void g2_us2pds_double(g2_physical_device *pd, double x, double y, + double *dx, double *dy) +{ + if(dx!=NULL) + *dx=x*fabs(pd->x_mul*pd->a11); + if(dy!=NULL) + *dy=y*fabs(pd->y_mul*pd->a22); +} + + +/* + * + * Transform physical device coord in user coord + * + */ +void g2_pdc2uc(g2_physical_device *pd, double ix, double iy, + double *x, double *y) +{ + double pcx, pcy; + pcx=(ix-pd->b1)/pd->a11; + pcy=(iy-pd->b2)/pd->a22; + + *x=(pcx-pd->x_origin)/pd->x_mul; + *y=(pcy-pd->y_origin)/pd->y_mul; +} + + +/* + * return a < b + */ +void g2_sort2_i(int *a, int *b) +{ + if(*a>*b) { + int t=*a; + *a=*b; *b=t; + } +} + +void g2_sort2_d(double *a, double *b) +{ + if(*a>*b) { + double t=*a; + *a=*b; *b=t; + } +} + + + +/* + * + * g2 malloc (with error message) + * + */ +void *g2_malloc(size_t size) +{ + void *rv; + + if((rv=malloc(size))==NULL) { + fprintf(stderr, "g2_malloc: Can not allocate memory\n"); + exit(-1); + } + + return rv; +} + + +/* + * + * g2 realloc (with error message) + * + */ +void *g2_realloc(void *p, size_t size) +{ + void *rv; + if((rv=realloc(p, size))==NULL) { + fprintf(stderr, "g2_realloc: Can not allocate memory\n"); + exit(-1); + } + return rv; +} + + + +/* + * + * g2 free + * + */ +void g2_free(void *p) +{ + if(p!=NULL) + free(p); +} + + +/* + * + * transform float* to double* for N elements + * + * Note: don't forget to free d + * + */ +double *g2_floatp2doublep(float *f, int N) +{ + int i; + double *d; + d=(double *)g2_malloc(N*sizeof(double)); + for(i=0;i g2_LogLevel) { + return; + } + va_start(arg, format); + vfprintf(stderr, format, arg); + va_end(arg); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_util.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_util.h new file mode 100755 index 00000000..736cb565 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_util.h @@ -0,0 +1,48 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _G2_UTIL_H +#define _G2_UTIL_H + +#include +#include "g2_physical_device.h" + +int dtoi(double x); + +void g2_uc2pdc_int(g2_physical_device *pd, double x, double y, + int *ix, int *iy); +void g2_uc2pdc_double(g2_physical_device *pd, double x, double y, + double *dx, double *dy); +void g2_us2pds_int(g2_physical_device *pd, double x, double y, + int *ix, int *iy); +void g2_us2pds_double(g2_physical_device *pd, double x, double y, + double *dx, double *dy); +void g2_pdc2uc(g2_physical_device *pd, double ix, double iy, + double *x, double *y); +void g2_sort2_i(int *a, int *b); +void g2_sort2_d(double *a, double *b); +void *g2_malloc(size_t size); +void *g2_realloc(void *p, size_t size); +void g2_free(void *p); + +double *g2_floatp2doublep(float *f, int N); + +enum g2_log_level {Error=1, Warning, Verbose, Debug}; +void g2_log(enum g2_log_level log_level, const char *format, ...); + +#endif /* _G2_UTIL_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_util.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_util.o new file mode 100755 index 0000000000000000000000000000000000000000..39088cea08e39b1b16025b96811d21e735096874 GIT binary patch literal 9632 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 Jbznf^{tw8vvswTE literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_virtual_device.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_virtual_device.c new file mode 100755 index 00000000..918c79cc --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_virtual_device.c @@ -0,0 +1,82 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#include +#include "g2_virtual_device.h" +#include "g2_device.h" +#include "g2_util.h" + + +/* + * + */ +g2_virtual_device *g2_create_virtual_device() +{ + g2_virtual_device *rd; + + rd=g2_malloc(sizeof(g2_virtual_device)); + rd->N=0; + rd->dix=g2_malloc(sizeof(int)); /* later we use realloc */ + return rd; +} + + +/* + * + */ +void g2_destroy_virtual_device(g2_virtual_device *vd) +{ + g2_free(vd->dix); + g2_free(vd); +} + + + +/* + * Return 1 if dev is attached to vd + */ +int g2_is_attached(int vd, int dev) +{ + g2_device *vdp, *devp; + int i; + + if(vd==dev) + return 1; + + if((devp=g2_get_device_pointer(dev))==NULL) + return 0; + + if((vdp=g2_get_device_pointer(vd))==NULL) + return 0; + + if(devp==vdp) + return 1; + + if(vdp->t!=g2_VD) + return 0; + + for(i=0;id.vd->N;i++) { + if(vdp->d.vd->dix[i]==dev) + return 1; + if(g2_is_attached(vdp->d.vd->dix[i], dev)) + return 1; + } + + return 0; +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_virtual_device.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_virtual_device.h new file mode 100755 index 00000000..16fb6a79 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_virtual_device.h @@ -0,0 +1,32 @@ +/***************************************************************************** +** Copyright (C) 1998-2001 Ljubomir Milanovic & Horst Wagner +** This file is part of the g2 library +** +** This library is free software; you can redistribute it and/or +** modify it under the terms of the GNU Lesser General Public +** License as published by the Free Software Foundation; either +** version 2.1 of the License, or (at your option) any later version. +** +** This library is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +** Lesser General Public License for more details. +** +** You should have received a copy of the GNU Lesser General Public +** License along with this library; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ +#ifndef _G2_VIRTUAL_DEVICE_H +#define _G2_VIRTUAL_DEVICE_H + +typedef struct _g2_virtual_device { + int N; /* number of attached devices */ + int *dix; /* index of attached devices */ +} g2_virtual_device; + + +g2_virtual_device *g2_create_virtual_device(); +void g2_destroy_virtual_device(g2_virtual_device *vd); +int g2_is_attached(int vd, int dev); + +#endif /* _G2_VIRTUAL_DEVICE_H */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_virtual_device.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/g2-0.70/src/g2_virtual_device.o new file mode 100755 index 0000000000000000000000000000000000000000..b46783b63302cd32c5418efbf8cb540878855337 GIT binary patch literal 6916 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/install-sh b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/install-sh new file mode 100755 index 00000000..11870f1b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/install-sh @@ -0,0 +1,251 @@ +#!/bin/sh +# +# install - install a program, script, or datafile +# This comes from X11R5 (mit/util/scripts/install.sh). +# +# Copyright 1991 by the Massachusetts Institute of Technology +# +# Permission to use, copy, modify, distribute, and sell this software and its +# documentation for any purpose is hereby granted without fee, provided that +# the above copyright notice appear in all copies and that both that +# copyright notice and this permission notice appear in supporting +# documentation, and that the name of M.I.T. not be used in advertising or +# publicity pertaining to distribution of the software without specific, +# written prior permission. M.I.T. makes no representations about the +# suitability of this software for any purpose. It is provided "as is" +# without express or implied warranty. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +transformbasename="" +transform_arg="" +instcmd="$mvprog" +chmodcmd="$chmodprog 0755" +chowncmd="" +chgrpcmd="" +stripcmd="" +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src="" +dst="" +dir_arg="" + +while [ x"$1" != x ]; do + case $1 in + -c) instcmd="$cpprog" + shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + -s) stripcmd="$stripprog" + shift + continue;; + + -t=*) transformarg=`echo $1 | sed 's/-t=//'` + shift + continue;; + + -b=*) transformbasename=`echo $1 | sed 's/-b=//'` + shift + continue;; + + *) if [ x"$src" = x ] + then + src=$1 + else + # this colon is to work around a 386BSD /bin/sh bug + : + dst=$1 + fi + shift + continue;; + esac +done + +if [ x"$src" = x ] +then + echo "install: no input file specified" + exit 1 +else + : +fi + +if [ x"$dir_arg" != x ]; then + dst=$src + src="" + + if [ -d $dst ]; then + instcmd=: + chmodcmd="" + else + instcmd=$mkdirprog + fi +else + +# Waiting for this to be detected by the "$instcmd $src $dsttmp" command +# might cause directories to be created, which would be especially bad +# if $src (and thus $dsttmp) contains '*'. + + if [ -f "$src" ] || [ -d "$src" ] + then + : + else + echo "install: $src does not exist" + exit 1 + fi + + if [ x"$dst" = x ] + then + echo "install: no destination specified" + exit 1 + else + : + fi + +# If destination is a directory, append the input filename; if your system +# does not like double slashes in filenames, you may need to add some logic + + if [ -d $dst ] + then + dst="$dst"/`basename $src` + else + : + fi +fi + +## this sed command emulates the dirname command +dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + +# Make sure that the destination directory exists. +# this part is taken from Noah Friedman's mkinstalldirs script + +# Skip lots of stat calls in the usual case. +if [ ! -d "$dstdir" ]; then +defaultIFS=' + ' +IFS="${IFS-${defaultIFS}}" + +oIFS="${IFS}" +# Some sh's can't handle IFS=/ for some reason. +IFS='%' +set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS="${oIFS}" + +pathcomp='' + +while [ $# -ne 0 ] ; do + pathcomp="${pathcomp}${1}" + shift + + if [ ! -d "${pathcomp}" ] ; + then + $mkdirprog "${pathcomp}" + else + : + fi + + pathcomp="${pathcomp}/" +done +fi + +if [ x"$dir_arg" != x ] +then + $doit $instcmd $dst && + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi +else + +# If we're going to rename the final executable, determine the name now. + + if [ x"$transformarg" = x ] + then + dstfile=`basename $dst` + else + dstfile=`basename $dst $transformbasename | + sed $transformarg`$transformbasename + fi + +# don't allow the sed command to completely eliminate the filename + + if [ x"$dstfile" = x ] + then + dstfile=`basename $dst` + else + : + fi + +# Make a temp file name in the proper directory. + + dsttmp=$dstdir/#inst.$$# + +# Move or copy the file name to the temp name + + $doit $instcmd $src $dsttmp && + + trap "rm -f ${dsttmp}" 0 && + +# and set any options; do chmod last to preserve setuid bits + +# If any of these fail, we abort the whole thing. If we want to +# ignore errors from any of these, just make sure not to ignore +# errors from the above "$doit $instcmd $src $dsttmp" command. + + if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi && + +# Now rename the file to the real destination. + + $doit $rmcmd -f $dstdir/$dstfile && + $doit $mvcmd $dsttmp $dstdir/$dstfile + +fi && + + +exit 0 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/man/Makefile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/man/Makefile new file mode 100755 index 00000000..c00b9e07 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/man/Makefile @@ -0,0 +1,334 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# man/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/RNAforester +pkglibdir = $(libdir)/RNAforester +pkgincludedir = $(includedir)/RNAforester +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = man +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +man1dir = $(mandir)/man1 +am__installdirs = "$(DESTDIR)$(man1dir)" +NROFF = nroff +MANS = $(man_MANS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run tar +AUTOCONF = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run autoconf +AUTOHEADER = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run autoheader +AUTOMAKE = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPPFLAGS = -I../g2-0.70/include/ +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = -L../g2-0.70 -L../../lib +LIBOBJS = +LIBS = -lg2 -lRNA +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run makeinfo +OBJEXT = o +PACKAGE = RNAforester +PACKAGE_BUGREPORT = mhoechsm@techfak.uni-bielefeld.de +PACKAGE_NAME = RNAforester +PACKAGE_STRING = RNAforester 1.5 +PACKAGE_TARNAME = RNAforester +PACKAGE_VERSION = 1.5 +PATH_SEPARATOR = : +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.5 +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_STRIP = +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__fastdepCXX_FALSE = # +am__fastdepCXX_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build_alias = +datadir = ${prefix}/share +exec_prefix = ${prefix} +host_alias = +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = g2-0.70 +sysconfdir = ${prefix}/etc +target_alias = +man_MANS = RNAforester.1 +EXTRA_DIST = $(man_MANS) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +uninstall-info-am: +install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)" + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ + done +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ + rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(MANS) +installdirs: + for dir in "$(DESTDIR)$(man1dir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-man + +install-exec-am: + +install-info: install-info-am + +install-man: install-man1 + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-man + +uninstall-man: uninstall-man1 + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-man1 install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ + uninstall-am uninstall-info-am uninstall-man uninstall-man1 + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/man/Makefile.am b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/man/Makefile.am new file mode 100755 index 00000000..f6c32890 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/man/Makefile.am @@ -0,0 +1,2 @@ +man_MANS = RNAforester.1 +EXTRA_DIST = $(man_MANS) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/man/Makefile.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/man/Makefile.in new file mode 100755 index 00000000..29b0d223 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/man/Makefile.in @@ -0,0 +1,334 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = man +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +man1dir = $(mandir)/man1 +am__installdirs = "$(DESTDIR)$(man1dir)" +NROFF = nroff +MANS = $(man_MANS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build_alias = @build_alias@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +man_MANS = RNAforester.1 +EXTRA_DIST = $(man_MANS) +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +uninstall-info-am: +install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)" + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ + done +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ + rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(MANS) +installdirs: + for dir in "$(DESTDIR)$(man1dir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-man + +install-exec-am: + +install-info: install-info-am + +install-man: install-man1 + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-man + +uninstall-man: uninstall-man1 + +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-man1 install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \ + uninstall-am uninstall-info-am uninstall-man uninstall-man1 + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/man/RNAforester.1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/man/RNAforester.1 new file mode 100755 index 00000000..abb56811 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/man/RNAforester.1 @@ -0,0 +1,266 @@ +.TH RNAForester 1.4 "June 2004" +.SH NAME +RNAforester \- compare RNA secondary structures via forest alignment +.SH SYNOPSIS +\fBRNAforester\fP [options] +.br +Options are: +.br +--help shows this help info +.br +--version shows version information +.br +-d calculate distance instead of similarity +.br +-r calculate relative score +.br +-l local similarity +.br +-so=int local suboptimal alignments within int% +.br +-s small-in-large similarity +.br +-m multiple alignment mode +.br +-mt=double clustering threshold +.br +-mc=double clustering cutoff +.br +-p predict structures from sequences +.br +-pmin=num minimum basepair frequency for prediction +.br +-pm=int basepair(bond) match score +.br +-pd=int basepair bond indel score +.br +-bm=int base match score +.br +-br=int base mismatch score +.br +-bd=int base indel score +.br +--RIBOSUM RIBOSUM85-60 scoring matrix +.br +-cmin=double minimum basepair frequency for consensus structure +.br +-2d generate alignment 2D plots in postscript format +.br +--2d_hidebasenum hide base numbers in 2D plot +.br +--2d_basenuminterval=n show every n-th base number +.br +--2d_grey use only grey colors in 2D plots +.br +--2d_scale=double scale factor for the 2d plots +.br +--score compute only scores, no alignment +.br +--fasta generate fasta output of alignments +.br +-f=file read input from file +.br +--noscale suppress output of scale + +.SH DESCRIPTION +RNAforester calculates RNA secondary structure alignments, both pairwise and multiple. +The comparison is based on the tree alignment model [1,2]. + +.SS Model +The model for pairwise and multiple alignment differs slightly. The pairwise model +is based on the following edit operations on sequence and structure: + +.br +\fIbasepair replacement/match:\fP A basepair, INCLUDING the paired bases, is substituted by another basepair. +The scoring contribution is p_m. +.br +\fIbasepair bond deletion:\fP A basepair bond WITHOUT the paired bases is removed. The scoring contribution is p_d. +.br +\fISequence edit operations:\fP Base match/mismatch and base deletion give the scoring contributions b_m and b_d, respectively. +.br + +In the multiple alignment mode (-m), parameter p_m is the score for matching a basepair bond WITHOUT the paired bases. +Thus, the score for a whole basepair replacement is p_m+2*b_m. For more information about multiple alignment refer to +the description of parameter -m. + +.SS Input +RNAforester reads RNA secondary structures from stdin by default. +It accepts sequences and structures in Fasta format, where matching brackets symbolize base +pairs and unpaired bases are represented by a dot. A line containing the primary sequence +can precede the RNA secondary structure(s). An example is given below: +.br + + > test + accaguuacccauucgggaaccggu primary structure + .((..(((...)))..((..)))). secondary structure +.br + +All characters after a "blank" are ignored and all '-' characters are removed. +The program will continue to read new +structures until a line consisting of the single character @ or an end of file +is encountered. Input lines starting with > can contain a structure name. + +Option -f=filename let RNAforester read the input from file. Results files +are then written to files prefixed by filename. + +.SS Output +Alignments in ASCII format are written to stdout. Option -2d generates postscript +drawings of structure alignments. + +.SH Options + +.TP +\fB-d\fP +Calculate distance instead of similarity. In contrast to similarity, scoring contributions are minimized. +The scoring parameters must not be negative and equal structures achieve a distance of zero. This +parameter can not be used in conjunction with multiple alignment, where relative similarity is computed. + +.TP +\fB-r\fP +Calculate relative score, defined by sr(a,b)=2*s(a,b)/(s(a,a)+s(b,b). +Relative scores are upper bounded by 1 which is the score for equal structures. + +.TP +\fB-l\fP +Calculate local similar structures. The term local refers to subwords of +the input sequences and structures. If parameter \fI-so\fP is used suboptimal +solutions are calculated. This does not mean suboptimal solutions of the +same local structures, but different substructures which do not include each other. + +.TP +\fB-so=int\fP +Calculates suboptimal local alignments within int% of the optimum. This option requires +option \fI-l\fP. + +.TP +\fB-s\fP +Calculates small-in-large similarity, i.e. the best alignment of the first structure against all +substructures of the second structure is computed. + +.TP +\fP-m, -mc=double, -mt=double, -cmin=double\fP +Multiple alignment mode. Multiple alignments of structures are calculated in a progressive +fashion. First, an all-against-all comparison of structures is performed (relative scores) and afterwards +structural alignments are joined along a guide tree (the guide tree is constructed dynamically). +If the best score which a single structure or structure alignment can achieve by aligning to all others +is below cutoff value \fI-mc\fP, it is not joined and put into the results list. Thus, a multiple +structure alignment can produce a list of alignments. The main purpose of parameter \fI-mc\fP is to +identify alternative and wrong structures produced by structure predictions. The default value for +\fI-mc\fP is zero, as this separates similar from dissimilar in a similarity scoring model. + +In each step in the multiple alignment calculation, the best scoring pair is joined and then the guide tree is +adjusted. To speed up computation, parameter \fI-mt\fP defines a threshold whereas, if this is exceeded, +multiple pairs are joined and then the guide tree is adjusted. + +Besides sequence and structure alignment, a consensus sequence and structure is computed. The minimum pair +frequency probability for a basepair in the consensus sequence is controlled by parameter \fI-cmin\fP. + +The console output could look like (just a part): +.br + + * * **** + * * **** + ** * **** + ** * **** * + ** * **** ******** **** + ** * **** ******** **** + ** * **** ******** **** + **************** ** * **************** ****** + **************** ** **************************** + **************** ** **************************** + ggggcuauagcucagcugggggagcuauagcucagcugggagcgggga + .((((....))))....((.(.(((((..((((........))))... + ************************************************ + **************** ** **************************** + **************** ** ** ************************* + **************** ** * *************** ******* + ** * **** ******** ***** + ** * **** ******** ***** + ** * **** ******* *** * + ** * **** * + * * **** + * * **** +.br + +The number of * above the primary sequence shows the frequency of the base. +Each * stands for 10% frequency. Accordingly, the number of * below the +secondary structure show the frequency of the occurrence of a paired or unpaired +base. + +The guide tree is written to a file "cluster.dot" in \fIdot\fP format. If a filename was +specified by parameter \fI-f\fP the filename is "filename_cluster.dot". Refer to +\fIhttp://www.research.att.com/sw/tools/graphviz\fP for more details about the dot format +and tools. + +.TP +\fI-p, -pmin=double\fP +Structures (in fact, a consensus of compatible structures) are predicted from the partition function +which is calculated using the Vienna RNA library [3]. Structure lines in the input are ignored. +\fI-pmin\fP is the minimum frequency of a basepair which must be exceeded to be considered for the +prediction of structures. + +.TP +\fI-pm=int,-pd=int,-bm=int,-br=int,-bd=int\fP +Scoring parameters. Refer to Section DESCRIPTION. + +.TP +\fI--RIBOSUM\fP +Uses the base and basepair substitution matrix RIBOSUM85-60 matrix as proposed in [4]. +Requires pairwise alignment model. + +.TP +\fI-2d\fP +RNAforester provides different types of visualizations for pairwise and multiple alignment. + +\fBpairwise alignment\fP +Since bases paired in a structure S1 can be aligned to bases unpaired in a structure S2, the presentation of a common secondary structure leaves some choice. For an alignment of those structures, an RNA secondary structure "$S2-at-S1" is drawn that highlights the differences as deviations of S2 from S1, or vice versa, "S1-at-S2". Both are alternative visualizations of the same alignment. +Bases printed in black show structure elements that occur in both structures with the same sequence. Sequence variations are displayed by using red letters. Bases or base pairs that can only be found in S1 are printed in blue, while bases that only occur in S2 are printed in green. + +The drawings are written to files "x_n.ps" and "y_n.ps" where n is the number of the alignment. n enumerates the suboptimal solutions if option \fI-so\fP is used. +The region of local similarity are highlighted in the original structures in the drawings "x_str.ps" and "y_str.ps". + +\fBmultiple alignment\fP +Each cluster of the result list of a multiple alignment is visualized in two alternative drawings, written to the files "filename_cons_n.ps" and "filename_n_.ps" +if option \fI-f\fP is used. In both plots, the consensus structure is shown. The lighter a basepair bond is drawn, the less frequent does it exist in the structures. Bases or basepair bonds that have a frequency of one hundred percent are drawn in red color. In "filename_cons_n.ps", the most frequent base at each residue is printed, +with the base frequency indicated by grey-scale. In "filename_n.ps", the frequencies of the bases a,c,g,u are proportional to the radius of circles +that are arranged clockwise on the corners of a square, starting at the upper left corner. Additionally, these circles are colored +red, green, blue, magenta for the bases a,c,g,u, respectively. The frequency of a gap is proportional to a black circle growing at the center of the square. + +Parameters \fI--2d_hidebasenum,--2d_basenuminterval=n,--2d_grey,--2d_scale=double\fP effect the drawings of alignments and consensus structures as implied by their names. + +.TP +\fI--score\fP +Only the optimal score of an alignment is printed. This option is useful when RNA-forester is called +by another program that only needs a similarity or distance value. + +.TP +\fI--fasta\fP +Alignments are printed in Fasta format + +.SH REFERENCES +[1] Jiang T, Wang J T L and Zhang K, (1995) +Alignment of Trees - An Alternative to Tree Edit, +Theoretical Computer Science 143(1), 137-148 + +[2] Hoechsmann M, Toeller T, Giegerich R and Kurtz S, (2003) +Local Similarity of RNA Secondary Structures, +Proc. of the IEEE Bioinformatics Conference (CSB 2003), 159-168 + +[3] Ivo L. Hofacker, Walter Fontana, Peter F. Stadler, L. Sebastian Bonhoeffer, Manfred Tacker, and Peter Schuster, (1994) +Fast Folding and Comparison of RNA Secondary Structures, +Monatsh.Chem. 125: 167-188. + +[4] Klein R.J. and Eddy S.R., (2003) +RSEARCH: finding homologs of single structured RNA sequences, +BMC Bioinformatics. 2003 Sep 22;4(1):44 + +.SH VERSION +This man page documents version 1.4 of RNAforester. + +.SH AUTHORS +Matthias Hoechsmann +.SH BUGS +I hope you wouldn't find them. +Comments should be sent to mhoechsm@techfak.uni-bielefeld.de +.br + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing new file mode 100755 index 00000000..6a37006e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing @@ -0,0 +1,336 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. +# Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch]" + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing 0.4 - GNU automake" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, and you do not seem to have it handy on your + system. You might have modified some files without having the + proper tools for further handling them. + You can get \`$1Help2man' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is missing on your system. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and you do not seem to have it handy on your + system. You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequirements for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/mkinstalldirs b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/mkinstalldirs new file mode 100755 index 00000000..8ab885ec --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/mkinstalldirs @@ -0,0 +1,99 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy +# Author: Noah Friedman +# Created: 1993-05-16 +# Public domain + +errstatus=0 +dirmode="" + +usage="\ +Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." + +# process command line arguments +while test $# -gt 0 ; do + case "${1}" in + -h | --help | --h* ) # -h for help + echo "${usage}" 1>&2; exit 0 ;; + -m ) # -m PERM arg + shift + test $# -eq 0 && { echo "${usage}" 1>&2; exit 1; } + dirmode="${1}" + shift ;; + -- ) shift; break ;; # stop option processing + -* ) echo "${usage}" 1>&2; exit 1 ;; # unknown option + * ) break ;; # first non-opt arg + esac +done + +for file +do + if test -d "$file"; then + shift + else + break + fi +done + +case $# in +0) exit 0 ;; +esac + +case $dirmode in +'') + if mkdir -p -- . 2>/dev/null; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + fi ;; +*) + if mkdir -m "$dirmode" -p -- . 2>/dev/null; then + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + fi ;; +esac + +for file +do + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + shift + + pathcomp= + for d + do + pathcomp="$pathcomp$d" + case "$pathcomp" in + -* ) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + else + if test ! -z "$dirmode"; then + echo "chmod $dirmode $pathcomp" + + lasterr="" + chmod "$dirmode" "$pathcomp" || lasterr=$? + + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi + fi + fi + + pathcomp="$pathcomp/" + done +done + +exit $errstatus + +# Local Variables: +# mode: shell-script +# sh-indentation: 3 +# End: +# mkinstalldirs ends here diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/Arguments.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/Arguments.Po new file mode 100755 index 00000000..241807a6 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/Arguments.Po @@ -0,0 +1,402 @@ +Arguments.o Arguments.o: Arguments.cpp Arguments.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/vector \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/string.h /usr/include/xlocale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/stdio_lim.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/types.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h /usr/include/alloca.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \ + /usr/include/libintl.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \ + /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype \ + /usr/include/ctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime \ + /usr/include/stdint.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert \ + /usr/include/assert.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_vector.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_bvector.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/vector.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/sstream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype \ + /usr/include/wctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/sstream.tcc + +Arguments.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/vector: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/bits/stdio_lim.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/signal.h: + +/usr/include/bits/initspin.h: + +/usr/include/bits/sigthread.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype: + +/usr/include/ctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime: + +/usr/include/stdint.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert: + +/usr/include/assert.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_vector.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_bvector.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/vector.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/sstream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype: + +/usr/include/wctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/sstream.tcc: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/glib.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/glib.Po new file mode 100755 index 00000000..f2e2333e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/glib.Po @@ -0,0 +1,90 @@ +glib.o glib.o: glib.c graphtypes.h /usr/include/stdlib.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \ + /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h + +graphtypes.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/main.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/main.Po new file mode 100755 index 00000000..cf423a12 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/main.Po @@ -0,0 +1,518 @@ +main.o main.o: main.cpp \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/deque \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/string.h /usr/include/xlocale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/stdio_lim.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/types.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h /usr/include/alloca.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \ + /usr/include/libintl.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \ + /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype \ + /usr/include/ctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime \ + /usr/include/stdint.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert \ + /usr/include/assert.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_deque.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/deque.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/functional \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/fstream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype \ + /usr/include/wctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/basic_file.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/fstream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iomanip \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/list \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_list.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/list.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/sstream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/sstream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/map \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tree.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/cpp_type_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_map.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_multimap.h \ + /usr/include/sys/times.h ../config.h Arguments.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/vector \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_vector.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_bvector.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/vector.tcc \ + alignment.h types.h algebra.h ppforest.h misc.h ppforestbase.h \ + ppforestali.h debug.h treeedit.h ppforestsz.h progressive_align.h \ + graphtypes.h matrix.h rnaforester_options.h rna_profile_alignment.h \ + rna_algebra.h rna_alphabet.h wmatch.h rna_alignment.h rnaforest.h \ + rnafuncs.h alignment.t.cpp misc.t.cpp ppforest.t.cpp rnaforestsz.h \ + treeedit.t.cpp ppforestsz.t.cpp + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/deque: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/bits/stdio_lim.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/signal.h: + +/usr/include/bits/initspin.h: + +/usr/include/bits/sigthread.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype: + +/usr/include/ctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime: + +/usr/include/stdint.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert: + +/usr/include/assert.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_deque.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/deque.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/functional: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/fstream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype: + +/usr/include/wctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/basic_file.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/fstream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iomanip: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/list: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_list.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/list.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/sstream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/sstream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/map: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tree.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/cpp_type_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_map.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_multimap.h: + +/usr/include/sys/times.h: + +../config.h: + +Arguments.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/vector: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_vector.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_bvector.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/vector.tcc: + +alignment.h: + +types.h: + +algebra.h: + +ppforest.h: + +misc.h: + +ppforestbase.h: + +ppforestali.h: + +debug.h: + +treeedit.h: + +ppforestsz.h: + +progressive_align.h: + +graphtypes.h: + +matrix.h: + +rnaforester_options.h: + +rna_profile_alignment.h: + +rna_algebra.h: + +rna_alphabet.h: + +wmatch.h: + +rna_alignment.h: + +rnaforest.h: + +rnafuncs.h: + +alignment.t.cpp: + +misc.t.cpp: + +ppforest.t.cpp: + +rnaforestsz.h: + +treeedit.t.cpp: + +ppforestsz.t.cpp: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/ppforestbase.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/ppforestbase.Po new file mode 100755 index 00000000..ab91b357 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/ppforestbase.Po @@ -0,0 +1,398 @@ +ppforestbase.o ppforestbase.o: ppforestbase.cpp misc.h types.h \ + ppforestbase.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/string.h /usr/include/xlocale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/stdio_lim.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/types.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h /usr/include/alloca.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \ + /usr/include/libintl.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \ + /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype \ + /usr/include/ctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime \ + /usr/include/stdint.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert \ + /usr/include/assert.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h \ + debug.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype \ + /usr/include/wctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc \ + misc.t.cpp + +misc.h: + +types.h: + +ppforestbase.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/bits/stdio_lim.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/signal.h: + +/usr/include/bits/initspin.h: + +/usr/include/bits/sigthread.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype: + +/usr/include/ctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime: + +/usr/include/stdint.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert: + +/usr/include/assert.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h: + +debug.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype: + +/usr/include/wctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc: + +misc.t.cpp: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/progressive_align.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/progressive_align.Po new file mode 100755 index 00000000..0f715168 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/progressive_align.Po @@ -0,0 +1,494 @@ +progressive_align.o progressive_align.o: progressive_align.cpp \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/string.h /usr/include/xlocale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/stdio_lim.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/types.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h /usr/include/alloca.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \ + /usr/include/libintl.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \ + /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype \ + /usr/include/ctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime \ + /usr/include/stdint.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert \ + /usr/include/assert.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/fstream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype \ + /usr/include/wctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/basic_file.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/fstream.tcc \ + alignment.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/list \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_list.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/list.tcc \ + types.h algebra.h ppforest.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream \ + misc.h ppforestbase.h ppforestali.h progressive_align.h graphtypes.h \ + matrix.h rnaforester_options.h ../config.h Arguments.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/vector \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_vector.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_bvector.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/vector.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/sstream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/sstream.tcc \ + rna_profile_alignment.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/deque \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_deque.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/deque.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/map \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tree.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/cpp_type_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_map.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_multimap.h \ + rna_algebra.h debug.h rna_alphabet.h wmatch.h alignment.t.cpp \ + misc.t.cpp ppforest.t.cpp + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/bits/stdio_lim.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/signal.h: + +/usr/include/bits/initspin.h: + +/usr/include/bits/sigthread.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype: + +/usr/include/ctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime: + +/usr/include/stdint.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert: + +/usr/include/assert.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/fstream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype: + +/usr/include/wctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/basic_file.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/fstream.tcc: + +alignment.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/list: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_list.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/list.tcc: + +types.h: + +algebra.h: + +ppforest.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream: + +misc.h: + +ppforestbase.h: + +ppforestali.h: + +progressive_align.h: + +graphtypes.h: + +matrix.h: + +rnaforester_options.h: + +../config.h: + +Arguments.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/vector: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_vector.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_bvector.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/vector.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/sstream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/sstream.tcc: + +rna_profile_alignment.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/deque: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_deque.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/deque.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/map: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tree.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/cpp_type_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_map.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_multimap.h: + +rna_algebra.h: + +debug.h: + +rna_alphabet.h: + +wmatch.h: + +alignment.t.cpp: + +misc.t.cpp: + +ppforest.t.cpp: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rna_algebra.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rna_algebra.Po new file mode 100755 index 00000000..ff7581bd --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rna_algebra.Po @@ -0,0 +1,423 @@ +rna_algebra.o rna_algebra.o: rna_algebra.cpp rna_algebra.h \ + /usr/include/assert.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/string.h /usr/include/xlocale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/stdio_lim.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/types.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h /usr/include/alloca.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \ + /usr/include/libintl.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \ + /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype \ + /usr/include/ctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime \ + /usr/include/stdint.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h \ + algebra.h debug.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype \ + /usr/include/wctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc \ + misc.h types.h rna_alphabet.h rnaforester_options.h ../config.h \ + Arguments.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/vector \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_vector.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_bvector.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/vector.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/sstream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/sstream.tcc + +rna_algebra.h: + +/usr/include/assert.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/bits/stdio_lim.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/signal.h: + +/usr/include/bits/initspin.h: + +/usr/include/bits/sigthread.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype: + +/usr/include/ctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime: + +/usr/include/stdint.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h: + +algebra.h: + +debug.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype: + +/usr/include/wctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc: + +misc.h: + +types.h: + +rna_alphabet.h: + +rnaforester_options.h: + +../config.h: + +Arguments.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/vector: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_vector.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_bvector.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/vector.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/sstream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/sstream.tcc: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rna_alignment.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rna_alignment.Po new file mode 100755 index 00000000..50ba94b2 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rna_alignment.Po @@ -0,0 +1,473 @@ +rna_alignment.o rna_alignment.o: rna_alignment.cpp \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/string.h /usr/include/xlocale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/stdio_lim.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/types.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h /usr/include/alloca.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \ + /usr/include/libintl.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \ + /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype \ + /usr/include/ctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime \ + /usr/include/stdint.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert \ + /usr/include/assert.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc \ + ../config.h misc.h types.h rna_alignment.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype \ + /usr/include/wctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/map \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tree.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/cpp_type_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_map.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_multimap.h \ + alignment.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/list \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_list.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/list.tcc \ + algebra.h ppforest.h ppforestbase.h ppforestali.h rna_algebra.h debug.h \ + rna_alphabet.h rnaforester_options.h Arguments.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/vector \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_vector.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_bvector.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/vector.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/sstream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/sstream.tcc \ + rnaforest.h rnafuncs.h alignment.t.cpp misc.t.cpp ppforest.t.cpp \ + utils.h + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/bits/stdio_lim.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/signal.h: + +/usr/include/bits/initspin.h: + +/usr/include/bits/sigthread.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype: + +/usr/include/ctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime: + +/usr/include/stdint.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert: + +/usr/include/assert.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc: + +../config.h: + +misc.h: + +types.h: + +rna_alignment.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype: + +/usr/include/wctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/map: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tree.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/cpp_type_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_map.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_multimap.h: + +alignment.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/list: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_list.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/list.tcc: + +algebra.h: + +ppforest.h: + +ppforestbase.h: + +ppforestali.h: + +rna_algebra.h: + +debug.h: + +rna_alphabet.h: + +rnaforester_options.h: + +Arguments.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/vector: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_vector.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_bvector.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/vector.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/sstream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/sstream.tcc: + +rnaforest.h: + +rnafuncs.h: + +alignment.t.cpp: + +misc.t.cpp: + +ppforest.t.cpp: + +utils.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rna_alphabet.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rna_alphabet.Po new file mode 100755 index 00000000..c33fe72a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rna_alphabet.Po @@ -0,0 +1,306 @@ +rna_alphabet.o rna_alphabet.o: rna_alphabet.cpp rna_alphabet.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/string.h /usr/include/xlocale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/stdio_lim.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/types.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h /usr/include/alloca.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \ + /usr/include/libintl.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \ + /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype \ + /usr/include/ctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime \ + /usr/include/stdint.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert \ + /usr/include/assert.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc + +rna_alphabet.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/bits/stdio_lim.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/signal.h: + +/usr/include/bits/initspin.h: + +/usr/include/bits/sigthread.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype: + +/usr/include/ctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime: + +/usr/include/stdint.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert: + +/usr/include/assert.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rna_profile_alignment.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rna_profile_alignment.Po new file mode 100755 index 00000000..bb199f02 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rna_profile_alignment.Po @@ -0,0 +1,524 @@ +rna_profile_alignment.o rna_profile_alignment.o: \ + rna_profile_alignment.cpp ../config.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cmath \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/cpp_type_traits.h \ + /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/nan.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/cmath.tcc \ + ../g2-0.70/include/g2.h ../g2-0.70/include/g2_PS.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/fstream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/string.h /usr/include/xlocale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio \ + /usr/include/stdio.h /usr/include/bits/types.h \ + /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \ + /usr/include/libintl.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/bits/sched.h /usr/include/bits/time.h \ + /usr/include/signal.h /usr/include/bits/sigset.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \ + /usr/include/bits/sigthread.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype \ + /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime \ + /usr/include/stdint.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/sys/types.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/sys/sysmacros.h /usr/include/alloca.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert \ + /usr/include/assert.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype \ + /usr/include/wctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/basic_file.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/fstream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iomanip \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/functional \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/sstream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/sstream.tcc \ + matrix.h rna_profile_alignment.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/deque \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_deque.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/deque.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/map \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tree.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_map.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_multimap.h \ + alignment.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/list \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_list.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/list.tcc \ + types.h algebra.h ppforest.h misc.h ppforestbase.h ppforestali.h \ + rna_algebra.h debug.h rna_alphabet.h rnaforester_options.h Arguments.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/vector \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_vector.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_bvector.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/vector.tcc \ + rnafuncs.h utils.h part_func.h fold_vars.h fold.h ppforest.t.cpp + +../config.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cmath: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/cpp_type_traits.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/nan.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/cmath.tcc: + +../g2-0.70/include/g2.h: + +../g2-0.70/include/g2_PS.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/fstream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio: + +/usr/include/stdio.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/time.h: + +/usr/include/signal.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/initspin.h: + +/usr/include/bits/sigthread.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype: + +/usr/include/ctype.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime: + +/usr/include/stdint.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/sys/types.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert: + +/usr/include/assert.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype: + +/usr/include/wctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/basic_file.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/fstream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iomanip: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/functional: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/sstream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/sstream.tcc: + +matrix.h: + +rna_profile_alignment.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/deque: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_deque.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/deque.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/map: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tree.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_map.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_multimap.h: + +alignment.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/list: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_list.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/list.tcc: + +types.h: + +algebra.h: + +ppforest.h: + +misc.h: + +ppforestbase.h: + +ppforestali.h: + +rna_algebra.h: + +debug.h: + +rna_alphabet.h: + +rnaforester_options.h: + +Arguments.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/vector: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_vector.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_bvector.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/vector.tcc: + +rnafuncs.h: + +utils.h: + +part_func.h: + +fold_vars.h: + +fold.h: + +ppforest.t.cpp: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rnaforest.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rnaforest.Po new file mode 100755 index 00000000..0abc2b50 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rnaforest.Po @@ -0,0 +1,416 @@ +rnaforest.o rnaforest.o: rnaforest.cpp ../config.h rnaforest.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/string.h /usr/include/xlocale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio \ + /usr/include/stdio.h /usr/include/bits/types.h \ + /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \ + /usr/include/libintl.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/bits/sched.h /usr/include/bits/time.h \ + /usr/include/signal.h /usr/include/bits/sigset.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \ + /usr/include/bits/sigthread.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype \ + /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime \ + /usr/include/stdint.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/sys/types.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/sys/sysmacros.h /usr/include/alloca.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert \ + /usr/include/assert.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype \ + /usr/include/wctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc \ + algebra.h ppforest.h misc.h types.h ppforestbase.h rna_alphabet.h \ + rnafuncs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/list \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_list.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/list.tcc \ + ppforest.t.cpp + +../config.h: + +rnaforest.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio: + +/usr/include/stdio.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/time.h: + +/usr/include/signal.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/initspin.h: + +/usr/include/bits/sigthread.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype: + +/usr/include/ctype.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime: + +/usr/include/stdint.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/sys/types.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert: + +/usr/include/assert.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype: + +/usr/include/wctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc: + +algebra.h: + +ppforest.h: + +misc.h: + +types.h: + +ppforestbase.h: + +rna_alphabet.h: + +rnafuncs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/list: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_list.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/list.tcc: + +ppforest.t.cpp: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rnaforester_options.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rnaforester_options.Po new file mode 100755 index 00000000..0353cc8b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rnaforester_options.Po @@ -0,0 +1,412 @@ +rnaforester_options.o rnaforester_options.o: rnaforester_options.cpp \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/string.h /usr/include/xlocale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio \ + /usr/include/stdio.h /usr/include/bits/types.h \ + /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \ + /usr/include/libintl.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/bits/sched.h /usr/include/bits/time.h \ + /usr/include/signal.h /usr/include/bits/sigset.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \ + /usr/include/bits/sigthread.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype \ + /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime \ + /usr/include/stdint.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/sys/types.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/sys/sysmacros.h /usr/include/alloca.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert \ + /usr/include/assert.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype \ + /usr/include/wctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/sstream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/sstream.tcc \ + ../config.h rnaforester_options.h Arguments.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/vector \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_vector.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_bvector.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/vector.tcc \ + types.h + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio: + +/usr/include/stdio.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/time.h: + +/usr/include/signal.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/initspin.h: + +/usr/include/bits/sigthread.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype: + +/usr/include/ctype.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime: + +/usr/include/stdint.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/sys/types.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert: + +/usr/include/assert.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype: + +/usr/include/wctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/sstream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/sstream.tcc: + +../config.h: + +rnaforester_options.h: + +Arguments.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/vector: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_vector.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_bvector.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/vector.tcc: + +types.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rnaforestsz.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rnaforestsz.Po new file mode 100755 index 00000000..a57ef48d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rnaforestsz.Po @@ -0,0 +1,424 @@ +rnaforestsz.o rnaforestsz.o: rnaforestsz.cpp rnaforestsz.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/string.h /usr/include/xlocale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio \ + /usr/include/stdio.h /usr/include/bits/types.h \ + /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \ + /usr/include/libintl.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \ + /usr/include/bits/sched.h /usr/include/bits/time.h \ + /usr/include/signal.h /usr/include/bits/sigset.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \ + /usr/include/bits/sigthread.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/confname.h /usr/include/getopt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype \ + /usr/include/ctype.h /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime \ + /usr/include/stdint.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/sys/types.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/sys/sysmacros.h /usr/include/alloca.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert \ + /usr/include/assert.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype \ + /usr/include/wctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc \ + ppforestsz.h misc.h types.h rna_alphabet.h rnafuncs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/list \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_list.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/list.tcc \ + ppforestsz.t.cpp \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/map \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tree.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/cpp_type_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_map.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_multimap.h + +rnaforestsz.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio: + +/usr/include/stdio.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/time.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/time.h: + +/usr/include/signal.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/initspin.h: + +/usr/include/bits/sigthread.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype: + +/usr/include/ctype.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime: + +/usr/include/stdint.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/sys/types.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/alloca.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert: + +/usr/include/assert.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype: + +/usr/include/wctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc: + +ppforestsz.h: + +misc.h: + +types.h: + +rna_alphabet.h: + +rnafuncs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/list: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_list.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/list.tcc: + +ppforestsz.t.cpp: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/map: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tree.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/cpp_type_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_map.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_multimap.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rnafuncs.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rnafuncs.Po new file mode 100755 index 00000000..5e1fb1b8 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/rnafuncs.Po @@ -0,0 +1,421 @@ +rnafuncs.o rnafuncs.o: rnafuncs.cpp \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/string.h /usr/include/xlocale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + /usr/include/bits/stdio_lim.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/types.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/time.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h /usr/include/alloca.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \ + /usr/include/libintl.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \ + /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/getopt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype \ + /usr/include/ctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime \ + /usr/include/stdint.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert \ + /usr/include/assert.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iomanip \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype \ + /usr/include/wctype.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/functional \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream \ + debug.h misc.h types.h rnafuncs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/list \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_list.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/list.tcc \ + utils.h ../config.h ../g2-0.70/include/g2.h ../g2-0.70/include/g2_PS.h \ + ../g2-0.70/include/g2_FIG.h + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/algorithm: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algobase.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++config.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/os_defines.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstring: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstddef: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/climits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/limits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +/usr/include/bits/stdio_lim.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdlib: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/new: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iosfwd: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++locale.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cstdio: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/include/langinfo.h: + +/usr/include/nl_types.h: + +/usr/include/iconv.h: + +/usr/include/libintl.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++io.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/gthr-default.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/signal.h: + +/usr/include/bits/initspin.h: + +/usr/include/bits/sigthread.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/getopt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cctype: + +/usr/include/ctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stringfwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/postypes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwchar: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ctime: + +/usr/include/stdint.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/functexcept.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/exception_defines.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_pair.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/type_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_types.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator_base_funcs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/concept_check.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/debug/debug.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cassert: + +/usr/include/assert.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_construct.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_uninitialized.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_algo.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_heap.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_tempbuf.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/memory: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/c++allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ext/new_allocator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_raw_storage_iter.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iomanip: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/istream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ios: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/char_traits.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/localefwd.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ios_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/atomicity.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/atomic_word.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_classes.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/string: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_function.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_string.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/streambuf: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/streambuf_iterator.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/cwctype: + +/usr/include/wctype.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_base.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/ctype_inline.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/codecvt.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/codecvt_specializations.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/time_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/i686-pc-linux-gnu/bits/messages_members.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/basic_ios.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/limits: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/istream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/locale: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/locale_facets.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/typeinfo: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/ostream: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/ostream.tcc: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/functional: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/iostream: + +debug.h: + +misc.h: + +types.h: + +rnafuncs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/list: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/stl_list.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/../../../../include/c++/3.4.1/bits/list.tcc: + +utils.h: + +../config.h: + +../g2-0.70/include/g2.h: + +../g2-0.70/include/g2_PS.h: + +../g2-0.70/include/g2_FIG.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/wmatch.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/wmatch.Po new file mode 100755 index 00000000..6537804d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/.deps/wmatch.Po @@ -0,0 +1,92 @@ +wmatch.o wmatch.o: wmatch.c match.defs graphtypes.h wmatch.h pairs.c \ + pointer.c readgraph.c /usr/include/stdlib.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \ + /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/sigset.h /usr/include/bits/time.h \ + /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/sched.h /usr/include/alloca.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h term.c unpairs.c + +match.defs: + +graphtypes.h: + +wmatch.h: + +pairs.c: + +pointer.c: + +readgraph.c: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +term.c: + +unpairs.c: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Arguments.cpp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Arguments.cpp new file mode 100755 index 00000000..eae31f21 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Arguments.cpp @@ -0,0 +1,221 @@ +/* + * Arguments 2.0 Beta - A Command Line Processing Library + * Copyright (C) 2000, 2001 Jared Davis + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include "Arguments.h" +#include + +std::vector Arguments::s_spaceArgs; + +// +// ExplodeString function +// ---------------------- +// Explodes a string into tokens, which it adds to a vector. +// (This function is taken from the AFA library, also by Jared Davis) +// +void Arguments::ExplodeString(const std::string& str, std::vector& tokens, char delimiter) +throw(std::bad_alloc) +{ + string::size_type next, prev = 0; + + do + { + next = str.find(delimiter, prev); + + tokens.push_back( str.substr(prev, next - prev) ); + + prev = next + 1; + + } while(next != string::npos); +} + +// +// findArgument +// ------------ +// Performs a binary search on the argument vector and returns the integer +// corresponding to the argument, if it exists. Otherwise returns -1. +// arg is a pipe-delimited list of acceptable arguments. +// +int Arguments::findArgument(const string& arg) const throw() +{ + if (d_arguments.size() == 0) + { + return -1; + } + + vector tokens; + ExplodeString(arg, tokens, '|'); + + for(unsigned int i = 0;i < tokens.size();++i) + { + int low = 0; + int high = d_arguments.size() - 1; + + while(low <= high) + { + unsigned int mid = (low + high) / 2; + + if (tokens[i] < d_arguments[mid].first) + { + high = mid - 1; + } + + else if (tokens[i] > d_arguments[mid].first) + { + low = mid + 1; + } + + else + { + return mid; + } + } + } + + return -1; +} + + +// +// Arguments::setArgumentsWithSpaces +// --------------------------------- +// Adds all tokens of the pipe-delimited string, args, to the +// spaces vector. keeps the vector sorted. +// +void Arguments::setArgumentsWithSpaces(const string& args) +throw(std::bad_alloc) +{ + ExplodeString(args, s_spaceArgs, '|'); + std::sort(s_spaceArgs.begin(), s_spaceArgs.end()); +} + + +Arguments::Arguments(int argc, const char** argv) throw(std::bad_alloc) +{ + // start at 1 to skip program's name. + for(int i = 1;i < argc;++i) + { + // Extract this token. + string this_arg = argv[i]; + + // Try to find a colon or an equals sign. + string::size_type colon = this_arg.find(':'); + if (colon == string::npos) + { + colon = this_arg.find('='); + } + + // Add arg/val pair if we have a colon or equals sign. + if (colon != string::npos) + { + d_arguments.push_back(make_pair( + this_arg.substr(0, colon), + make_pair(this_arg.substr(colon + 1), true) + )); + + continue; + } + + // If we get here, we didn't find a colon or an equals, we need to + // consult the spaces list. + if (i < (argc - 1)) + { + if (std::binary_search(s_spaceArgs.begin(), s_spaceArgs.end(), this_arg)) + { + // if parameter value starts with "-" consider it as an option + if(argv[i+1][0]=='-') + { + d_arguments.push_back(make_pair( + this_arg, + make_pair(string(""), false))); + continue; // i is not incrented !! + } + else + { + d_arguments.push_back(make_pair( + this_arg, + make_pair(argv[++i], true) + )); + continue; + } + } + } + + // If we get here, we either don't have a space, or we are at the last + // argument that we were passed, so we can't possibly have a value for + // this argument. Throw it into the map with an empty value. + d_arguments.push_back(make_pair( + this_arg, + make_pair(string(""), false) + )); + } + + // Now let's sort the argument list so it's fast to find them. + std::sort(d_arguments.begin(), d_arguments.end()); +} + + +// +// Arguments::size +// --------------- +// Returns the number of command-line arguments that your program was passed. +// This is not the same as argc: it does not include your program's name, nor +// does it include the values passed to your command-line arguments. +// +unsigned int Arguments::size() const throw() +{ + return d_arguments.size(); +} + + +// +// Arguments::has +// -------------- +// Cycle through the tokens of argument and return true if any of them +// are found. +// +bool Arguments::has(const std::string& argument) const throw(std::bad_alloc) +{ + return findArgument(argument) != -1; +} + + + + +/* +#ifndef NDEBUG + + #include + + void Arguments::debug() const + { + cout << "Arguments Debug Information-----\n" << endl; + cout << "Number of space-taking arguments: " << s_spaceArgs.size() << "\n\t"; + copy(s_spaceArgs.begin(), s_spaceArgs.end(), ostream_iterator(cout, "\n\t")); + + cout << "Arguments Map: " << size() << " Elements. " << endl; + for(unsigned int i = 0;i < size();++i) + { + cout << "\t" << d_arguments[i].first << " = " << d_arguments[i].second.first << " (" + << d_arguments[i].second.second << ")\n"; + } + cout << "\n-----End of Arguments Debug Information" << endl; + } + +#endif +*/ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Arguments.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Arguments.h new file mode 100755 index 00000000..b5f025ae --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Arguments.h @@ -0,0 +1,110 @@ +/* + * Arguments 2.0 Beta - A Command Line Processing Library + * Copyright (C) 2000, 2001 Jared Davis + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef INCLUDED_OPENDELI_ARGUMENTS_H +#define INCLUDED_OPENDELI_ARGUMENTS_H + +#if (defined(_WIN32) && defined(_DEBUG)) +// In visual studio, compiling this library gives you a billion and a half +// error messages that "debug information has been truncated to 255 chars" +// because the visual studio debugger can't handle symbols longer than 255 +// characters. This disables this warning so we comile cleanly. + #pragma warning( disable: 4786 ) +#endif + +#include +#include +#include + +using namespace std; + +class Arguments +{ + private: + + // Vector of the arguments that take spaces. + static std::vector s_spaceArgs; + + // Vector of argument-value pairs. + std::vector< std::pair > > d_arguments; + + + // explodes a delimited string into its tokens. + static void ExplodeString(const std::string& str, std::vector& tokens, char delimiter) + throw(std::bad_alloc); + + // finds the index of the argument arg. + int findArgument(const std::string& arg) const throw(); + + // + // convert(source, target) + // Converts a variable of type A into a variable of type B by passing + // it through a strstream. + // + template + static bool convert(const A& source, B& target) throw() + { + std::stringstream ss; + ss.clear(); + ss << source; + ss >> target; + return (!ss.bad() && !ss.fail()); + } + + + public: + + static void setArgumentsWithSpaces(const std::string& args) + throw(std::bad_alloc); + + Arguments(int argc, const char** argv) + throw(std::bad_alloc); + + unsigned int size() const throw(); + + bool has(const std::string& arg) const throw(std::bad_alloc); + + template bool get + (const std::string& arg, A& value, const B& default_value) const + throw(std::bad_alloc) + { + int index = findArgument(arg); + + if (index == -1) { + value = default_value; + return false; + } + + else + { + bool ret = convert(d_arguments[index].second.first, value); + if (!ret) + value = default_value; + return ret; + } + } + + + #ifndef NDEBUG + void debug() const; + #endif + +}; + +#endif // INCLUDED_OPENDELI_ARGUMENTS_H diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Arguments.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Arguments.o new file mode 100755 index 0000000000000000000000000000000000000000..15221440fca714a0676a529873882a1ea2171802 GIT binary patch literal 253312 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 z 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 IySb152U309>;M1& literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Makefile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Makefile new file mode 100755 index 00000000..3cc6bf8e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Makefile @@ -0,0 +1,493 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# src/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +SOURCES = $(RNAforester_SOURCES) + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/RNAforester +pkglibdir = $(libdir)/RNAforester +pkgincludedir = $(includedir)/RNAforester +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +bin_PROGRAMS = RNAforester$(EXEEXT) +subdir = src +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_RNAforester_OBJECTS = Arguments.$(OBJEXT) glib.$(OBJEXT) \ + main.$(OBJEXT) ppforestbase.$(OBJEXT) \ + progressive_align.$(OBJEXT) rna_profile_alignment.$(OBJEXT) \ + rna_alignment.$(OBJEXT) rna_algebra.$(OBJEXT) \ + rna_alphabet.$(OBJEXT) rnaforest.$(OBJEXT) \ + rnaforestsz.$(OBJEXT) rnafuncs.$(OBJEXT) \ + rnaforester_options.$(OBJEXT) wmatch.$(OBJEXT) +RNAforester_OBJECTS = $(am_RNAforester_OBJECTS) +RNAforester_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ + -o $@ +SOURCES = $(RNAforester_SOURCES) +DIST_SOURCES = $(RNAforester_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run tar +AUTOCONF = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run autoconf +AUTOHEADER = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run autoheader +AUTOMAKE = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPPFLAGS = -I../g2-0.70/include/ +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +LDFLAGS = -L../g2-0.70 -L../../lib +LIBOBJS = +LIBS = -lg2 -lRNA +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/missing --run makeinfo +OBJEXT = o +PACKAGE = RNAforester +PACKAGE_BUGREPORT = mhoechsm@techfak.uni-bielefeld.de +PACKAGE_NAME = RNAforester +PACKAGE_STRING = RNAforester 1.5 +PACKAGE_TARNAME = RNAforester +PACKAGE_VERSION = 1.5 +PATH_SEPARATOR = : +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.5 +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_STRIP = +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__fastdepCXX_FALSE = # +am__fastdepCXX_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build_alias = +datadir = ${prefix}/share +exec_prefix = ${prefix} +host_alias = +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = g2-0.70 +sysconfdir = ${prefix}/etc +target_alias = +AM_CXXFLAGS = -Wall +RNAforester_SOURCES = \ + algebra.h\ + alignment.h\ + Arguments.cpp\ + Arguments.h\ + debug.h\ + fold.h\ + fold_vars.h\ + glib.c\ + graphtypes.h\ + main.cpp\ + matrix.h\ + misc.h\ + part_func.h\ + ppforestali.h\ + ppforestbase.cpp\ + ppforestbase.h\ + ppforest.h\ + ppforestsz.h\ + progressive_align.h\ + progressive_align.cpp\ + rna_profile_alignment.h\ + rna_profile_alignment.cpp\ + rna_alignment.cpp\ + rna_alignment.h\ + rna_algebra.h\ + rna_algebra.cpp\ + rna_alphabet.cpp\ + rna_alphabet.h\ + rnaforest.cpp\ + rnaforest.h\ + rnaforestsz.cpp\ + rnaforestsz.h\ + rnafuncs.cpp\ + rnafuncs.h\ + rnaforester_options.h\ + rnaforester_options.cpp\ + treeedit.h\ + types.h\ + utils.h\ + wmatch.h\ + wmatch.c + + +#INCLUDES = -I${includedir} +EXTRA_DIST = \ + alignment.t.cpp\ + misc.t.cpp\ + ppforest.t.cpp\ + ppforestsz.t.cpp\ + treeedit.t.cpp\ + match.defs\ + pairs.c\ + pointer.c\ + readgraph.c\ + term.c\ + unpairs.c + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .cpp .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +RNAforester$(EXEEXT): $(RNAforester_OBJECTS) $(RNAforester_DEPENDENCIES) + @rm -f RNAforester$(EXEEXT) + $(CXXLINK) $(RNAforester_LDFLAGS) $(RNAforester_OBJECTS) $(RNAforester_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/Arguments.Po +include ./$(DEPDIR)/glib.Po +include ./$(DEPDIR)/main.Po +include ./$(DEPDIR)/ppforestbase.Po +include ./$(DEPDIR)/progressive_align.Po +include ./$(DEPDIR)/rna_algebra.Po +include ./$(DEPDIR)/rna_alignment.Po +include ./$(DEPDIR)/rna_alphabet.Po +include ./$(DEPDIR)/rna_profile_alignment.Po +include ./$(DEPDIR)/rnaforest.Po +include ./$(DEPDIR)/rnaforester_options.Po +include ./$(DEPDIR)/rnaforestsz.Po +include ./$(DEPDIR)/rnafuncs.Po +include ./$(DEPDIR)/wmatch.Po + +.c.o: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.cpp.o: + if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-binPROGRAMS uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Makefile.am b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Makefile.am new file mode 100755 index 00000000..d9526d65 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Makefile.am @@ -0,0 +1,64 @@ +## Process this file with automake to produce Makefile.in + +AM_CXXFLAGS = -Wall + +bin_PROGRAMS = RNAforester + +RNAforester_SOURCES = \ + algebra.h\ + alignment.h\ + Arguments.cpp\ + Arguments.h\ + debug.h\ + fold.h\ + fold_vars.h\ + glib.c\ + graphtypes.h\ + main.cpp\ + matrix.h\ + misc.h\ + part_func.h\ + ppforestali.h\ + ppforestbase.cpp\ + ppforestbase.h\ + ppforest.h\ + ppforestsz.h\ + progressive_align.h\ + progressive_align.cpp\ + rna_profile_alignment.h\ + rna_profile_alignment.cpp\ + rna_alignment.cpp\ + rna_alignment.h\ + rna_algebra.h\ + rna_algebra.cpp\ + rna_alphabet.cpp\ + rna_alphabet.h\ + rnaforest.cpp\ + rnaforest.h\ + rnaforestsz.cpp\ + rnaforestsz.h\ + rnafuncs.cpp\ + rnafuncs.h\ + rnaforester_options.h\ + rnaforester_options.cpp\ + treeedit.h\ + types.h\ + utils.h\ + wmatch.h\ + wmatch.c + +#INCLUDES = -I${includedir} + +EXTRA_DIST = \ + alignment.t.cpp\ + misc.t.cpp\ + ppforest.t.cpp\ + ppforestsz.t.cpp\ + treeedit.t.cpp\ + match.defs\ + pairs.c\ + pointer.c\ + readgraph.c\ + term.c\ + unpairs.c + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Makefile.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Makefile.in new file mode 100755 index 00000000..0bcfd736 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/Makefile.in @@ -0,0 +1,493 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +SOURCES = $(RNAforester_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +bin_PROGRAMS = RNAforester$(EXEEXT) +subdir = src +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(bin_PROGRAMS) +am_RNAforester_OBJECTS = Arguments.$(OBJEXT) glib.$(OBJEXT) \ + main.$(OBJEXT) ppforestbase.$(OBJEXT) \ + progressive_align.$(OBJEXT) rna_profile_alignment.$(OBJEXT) \ + rna_alignment.$(OBJEXT) rna_algebra.$(OBJEXT) \ + rna_alphabet.$(OBJEXT) rnaforest.$(OBJEXT) \ + rnaforestsz.$(OBJEXT) rnafuncs.$(OBJEXT) \ + rnaforester_options.$(OBJEXT) wmatch.$(OBJEXT) +RNAforester_OBJECTS = $(am_RNAforester_OBJECTS) +RNAforester_LDADD = $(LDADD) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ + -o $@ +SOURCES = $(RNAforester_SOURCES) +DIST_SOURCES = $(RNAforester_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build_alias = @build_alias@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +AM_CXXFLAGS = -Wall +RNAforester_SOURCES = \ + algebra.h\ + alignment.h\ + Arguments.cpp\ + Arguments.h\ + debug.h\ + fold.h\ + fold_vars.h\ + glib.c\ + graphtypes.h\ + main.cpp\ + matrix.h\ + misc.h\ + part_func.h\ + ppforestali.h\ + ppforestbase.cpp\ + ppforestbase.h\ + ppforest.h\ + ppforestsz.h\ + progressive_align.h\ + progressive_align.cpp\ + rna_profile_alignment.h\ + rna_profile_alignment.cpp\ + rna_alignment.cpp\ + rna_alignment.h\ + rna_algebra.h\ + rna_algebra.cpp\ + rna_alphabet.cpp\ + rna_alphabet.h\ + rnaforest.cpp\ + rnaforest.h\ + rnaforestsz.cpp\ + rnaforestsz.h\ + rnafuncs.cpp\ + rnafuncs.h\ + rnaforester_options.h\ + rnaforester_options.cpp\ + treeedit.h\ + types.h\ + utils.h\ + wmatch.h\ + wmatch.c + + +#INCLUDES = -I${includedir} +EXTRA_DIST = \ + alignment.t.cpp\ + misc.t.cpp\ + ppforest.t.cpp\ + ppforestsz.t.cpp\ + treeedit.t.cpp\ + match.defs\ + pairs.c\ + pointer.c\ + readgraph.c\ + term.c\ + unpairs.c + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .cpp .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu src/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)" + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ + rm -f "$(DESTDIR)$(bindir)/$$f"; \ + done + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) +RNAforester$(EXEEXT): $(RNAforester_OBJECTS) $(RNAforester_DEPENDENCIES) + @rm -f RNAforester$(EXEEXT) + $(CXXLINK) $(RNAforester_LDFLAGS) $(RNAforester_OBJECTS) $(RNAforester_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Arguments.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glib.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppforestbase.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/progressive_align.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rna_algebra.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rna_alignment.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rna_alphabet.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rna_profile_alignment.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rnaforest.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rnaforester_options.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rnaforestsz.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rnafuncs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wmatch.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` + +.cpp.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-binPROGRAMS + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS uninstall-info-am + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ + clean-generic ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-exec install-exec-am \ + install-info install-info-am install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-binPROGRAMS uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/RNAforester b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/RNAforester new file mode 100755 index 0000000000000000000000000000000000000000..02e74685ab5356d9b57bfc520425aaec7a54d771 GIT binary patch literal 2082025 zcmeEvdwf*I+5ZwY7%;j~W2K6UHTsHIqCttl8ZOI4iAEqwffx`1i2{kqE}{|$W><4O z97vT^w8Tb>l`7S|6*MT92$2MfZBW_en-o)hu#-yl3bJn47_s@>0RENBUx#B3!c;srYd8Vnvv|(Ma|53H@D$;(|INh9;~JQTaD|r_$2|!1@WkVpfoB1p-gu_tS%s%3o}c5PPVnEIDsbG6@P7SXjPOA`zrizJ$NeV* z%30*U#7H3K{j3=Hc%agJhohg)a1p|byUBb$;!fA`=jrfFgqPv@FFXTuoE>D?FA?Dh z5%0tBezk_rj)>>$jWMtdUWk{Gc&@`U#*RdILB#uMct0ruo`UzB2>4dKPsMYxj=Kh7 ze>~UYnT3b{ZozYhyoLXqqF*N?ybDhOo}c2$$7BB+s9$>Na0tS2cw8DDt-~K79IM|M zjKY(QXCj^ncz%Kh=EiX}SCfuR!sAMT;xxgh)uz~mFt|B0vJ>^=#k z!+D_iOtTF(36M;hpuJiTt~ezD?(!d?NH8=}VA)3epQv|9+&C#w`D* zJ`Tqrz@!`Dk5R7g;iLrW2=Ve@EkA2mFpNlM*sD{@rNb zE~G!N%Wnj{AMp7)|Id*B5MWEgFCyLfoHK!Tf$eVt{!HMrzMiS+Yy`sa}66u`DT zo&5&Gjn`ag7fIm$aO?3Hi{0?J=4>hmEzQ>V9~zU6>N!5Fi@z0kfY z;IsMjCGxLAI`K2TALzdU=^&@{uMz2Mkv?A2_ic2%5isjx{&#_Y7vPaP{ba~bf5;Q{ zi|y%+^!-TRrStCqd))9}@uIuHjXn*9^cM@0hhye+-w*g{4fiEI0dLXmIg0$wHO_?RG&~UURE+))L4NAvSD;rN;7ko) z2zn(W|1ynlB>IyA_�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 z%0DEksQaB&#ZLD&#IKLeXVes+^@e*jmSTnw#mHUds=!AlzhmcFT+=s!D;ciE)b(;R zipFCRpHaiVFhW>*8M!Mf4?cyk3M<&)IAnl54}JpEgJpBj zO$xYc+iO9Fu5*oas8C=xbZ0Y)MXF{s;;3d8irdqPTk4==yx5Fkvnf_DXGnoXFWNJT z6l89H3LMA0Ffx|7n~Ev}_0 zko7P>o7{~k31hwkb>K5KmUA&&QwAJD4zhItx&%ic#X8H!RZ&hk{X!j)tD|+2sm#}% z#=y{*+dApb6xs8c)lxt&FqUNGF2TfFEtbNIB%isFxsHQ#NeJgbG``8rPi3O}&1OzB zS}&u?T6>+eJYt=+Ja(OgwaprObFofZqt;24YMoTo%{nQ(I=fJMQpt}c>29pZz?J^4 z>!eDvtm-&@uvcB)e)PC!t<~!!*F)RUmk586yDoaY)QGydUTQ@2WHSpBp&c-;R@xY= z-#9C+4&#i~Zw1#&811mu3Cx8Q@tp(E9e7uZ{2j)dSTsRWj4UoJXrPmJehmSE$hek$ zEWFVpJxgcz27T!IDq5hFYT&^ivnCjmqk*nX^{7B^B9)o_jZ3wXo!2GhVy z3amYz@T*rG=(Ccn368k*H@UF^e}B#zm$e828tQ+OyB0Y)YZKvoh^A%4xPMtryshF_ zt?*|9 zFZvk0?(!65$WR{?vAv|OieYHH7+&HxHxl=8`pn`se(Z?&;EuLkUJ?F)a^RzUmqWf2 zs=$8@0e6u_4L;@^d(e+J$~`Zscj zg~p4cE2*L>4z5z;>+~k0Y>jKl!<2o@L?Md4r4&7AK*)DSufbc-0VREB$#f+^vjVRn zMiA$$g%uU7bzHE>q?D^ztYF8(Zc_z6`z=B&YW|LJaU<10>56+p@MRennD{0$VOV(p zEr!oaJYp{+uKfe<@WHQJmM|I`uUx&<&$L&N$?Es32)&=T1~|0d--&l=pnNw*yd`Vp zi#Yav3RbFWzK``9)~oV;xK4ifu;N&ch4)*xMXXwBZ2Ha9B*sFGM8L%R6*d{w(ZT{; z4Ujd04E#c$v(nwhMIXLih4RdB@CXN0$-8$oUu6-z6R%j>_Pz<T|s61Uf*otT<>J40V`!m2b8B4*tK!@*B6I<4E; zA>+%yepbOQVNVWgpg#kYE`j$s_+nNY*&A>@FYQ3DWY}pGllV0R0_$Z;H;&H3DyqKA zQfevCpt%-&S9)=^KoGmzQuhEaE3AYW?uhtEA8?>9e$osxHlf}+NE5bYNXRFj<*R&s z>`{3YnpVoI(6kJ%5X%97eEpla!fj+~Fah$f=u6T`uG^4{^kjdch>jep|AUAU&WYrd z_MI#yRrW_@`#yGND`|9!FQznNp7R;!IyOga`){u&!b{8&>K)v&*p$p#mHxT` z&tb(;Fs8}9QVe5GE&2|N<}l&3QhOW|!LkOUns$XVdTKSiSdqqX9n;K>oV6dvD6vq; z5Wj%>O!aLgc%fubVvbW=Vg*Ejsn3R}tsx>dH%bG#|2Q9uh0vcY-SJ6x+_msUg5M%F zOKc;LDMf3j^WU$+SkT7*V>*(vme@wV5A?Um z?E@;>cOTX^LlLe-I2!%{Oa&?$;A35t-i#@|>j5XMVYDk?;8B`PN{*OJy??e+;{zT~ zJ@CL-!-R?&p8pI`|>{u*M?6DTl>iQ7aeF`6Ht#S!Xz_%KkQJj%ZRYt)Ky;jaj_ zqU~T5MuA3z!4E(N%e_{PscZWu3jQqfV?Ba=E14gvJAumQUK1QI<4F5{=v^Ds63FjE zj`nTspNI6ckP#n6%*V!J(uL;g4cRSbZUUHSfBjY#`j7BKI$23LTI2KJl?#2ys%)>) zx`aO|s=ph$v(r2U9}MM!f(m;ny|y1F-VEU4@74lq?OrRBEfCx_Hz!i=gxUX4gX>>VS8R)$JfxLABw5Wc^sy) zV2D+jg5PeL3LE5 zXg@)<0;p~aC5iO(1xOF9mL7u25#p*ij1RxDJr;`_{#F+BOL2&gKr&qHCn-dH+DN`G zU+9H;6RXWy4{!)MSk5L#KV-36m@vVF&nH6tJg4E>&T^e=k!1e2SH1`IY!L_pkbHGMM8+n z@ULc3KXG9-T`iDENJmIQc%-0P2_foGbIZlRFt1t7vNqKRA`?#c;IBIVW68-DLq6SH z(o22lP^cqCH%hhLOAK*DNQ^YuVkbfpqfHE{0f}J%6LYHG&(Vp^Dv^P?j&#K&gnI*3 zvH-|!#S8%RV!gE4yAsXDe1KzY3*Kc)kkyLe53>S2ri~4+_PAG$d3oHs;1=AkYK_zR zOE3Um_Qr_+54`f=T=hWIt0o1zWF~<^b2^chwaa+ZXf`aS2YF`(9*to9SIEq7Mq<%{ znmNO+JA@?dj}2SL73`BJK&*AF2SYMy_}B0k1GgoUK|>~&u8IeoT0sA;5)ea(q>6^6gqnzG`WRU!Gmaw!83ehhE|c zQLHJ#uu4fyv0YLf|ElXqmbmQOrC5t#BBukoX zu@fQ5dJW`rfa4P9X8>y(p6{)fWQ#%r(GuCw_SWUEf)m4(fjj8OtBmKCSf*epyh93h zHwW*eox?uNHCQ$2>New#$w^A&_M(OB%$1mnJBSQ)g$bk+y?X?aUL2Enr-(3V_f z3+^O&4%49_o{QUl0T2e>^#sDL+G-C&r1Foz#{uiT752M*SERzod5`&W9yu``z8U*q@^exof%5$MPWwoy0-3j9i>%#5(^e zlz`CS>;K-??gSZoE48*L_!h9j+|@v1>>IER_n6@9@gH7zM#X2&igxi*a;133ietxa z@*iFlgr^f(*%k~Z9IZwp1?>r+gmC#!r((bzos&o?}V~<<3#_p^4k{T8@L}1^#9IN0LHv@g-zTJC|u_@}}pT5BO1T$9iJO=jD ztxa|TkD}cgDd1Z6CkSB#_IwlyzDB_ug#ub=L|#Vg^D!94<$O$wIv;~&_QIPnuv?Qd zNxVQUCA2mDphv!at^IU211l?0tP3o`Wxxle8GBynM06;Yd`%G8nDauuM?sY?=Y^h>jIL!~bQ&_J&kO}_L+0Q##%*o?Wmtoh zKd|Be&Zi~dBtJfgoG}sSO0ed`4Z#Mbbm-uun02290BfS-wDhB7q@_|y;OSjC;z zeEP4Ag9EnWpcO7Ah}eIs@}`(Ciey!Ha6he0Y?nFN?d-PEX9Gd*W2RQzz5MltftX+_~W49KhD63uvX9c z(Z6ToKj!lD2VuapiYD+4=EB=hN;}7ux!Oi#h(c zU4Cw`SGen()<|c1tFg@+V9O>!{~FAJ%F(OO3#adM`Fe7R)GPG!Jud%0SbCeY{R0>{ z^feJg!EfVWN8)nf7YP(`W5%;5RyLl8OhPuc+8(mIeh$G{C-$2rkCtZzqSS?bMBu&; zDdc0^NLE21MW#|l^kD?)2f)m&kC~tFhaHyDF!c=I;E9KDw0|7is2{0DeaMXwcQdE* zs5#J5g{Hk4YkfWeuV{U~qy|G~bDHS_glP)YB7d+6(YC%|XW&TS6T~XAX24SW;=60m zN3jj^OC^h>L0Qru?j~K&2CY|we-!WNGVemQroV&V3j$x{s8D+!QR)o$TF7uPZWN(LO{Y;ra~f~vWC%wODu+4SH%S_l=-H(xgRj4rcG}Wi zjTkN+`So{q3qSpy0a0&qHz-TeV#bO2D%{E~8W7B%K(Wecz{a;WDOaHryoOh{frbS* z`qHNC^PE9zaVm0K!xJl-62*$Z2*BLcGi46-9S7l?aC{4P1gG?zNWl~!eV_5A=dvjK zfc-^Q{e{?*HHp^9MA{Rh$@?+SQ`4ffn1j>b_nc{sl6gaaOEdozCV8rr1?#h!?iO9?q^!Mh;8zeW?rb^`xLzyNa4 zEF)6QfhhTJAzr>bl(U+p{>)O?aM%_|MgrTrg9URp;Af=Hq{yJi*H8;u*3S{juhV!x z4s5GL++lPDCD?v5w=N@hjpr;~q)8XqtcoDX`%&N#mf04#p8<+ZXEE;vYV5)Ezj)5o zMVIKJK7?Q(s=%;P@BJIHVs8}+yn$`{7{U}7st{g`Aoz21qzbJ>1vj8%;B-cEsi@+v zMqIlOX9Iss11;IkM^tc9xc>xiR3NpI_O=#rrnkP!5&lZVQy;MxEx+LkycZMiHlF1~ z>zW@1uD^v)uP4}>8N9owx!|$Z_GRE9E&@{95kqwco$nLIy4z&uRklm!1A(4F%^|Kz z&aJiu>05}fK5{-~@c|CxU8eK~wTOE|iRs%6Z>`HW9}$!!$RNcE67v!;OAIanz|pe` zAjK=RgNf}+*>Y;-bracUq$6vJK~2;~4- zvGW1_pj!&}U)+1;yb7<7sI!oq{pkCBoXV?xO!iRjq2ZUSxQ)34-YVRjk&`N8*$BDQ zmyNe>PO1=%Zi;uV{wa-W=C!+8fOq>W;+oi7X+&>++xZ`sw$cA6dJpr2s0~aHz=-`v zm+u+S!}QjI9z6DL-JZxjG&xAYk>w~-F|1&45eo!C-AS>;@qk;gOH_4VD!oq3>0T7Qh!{{6Y zRuv;QV?RJS@G&F>YD*f^qCK%49aT=<^N~T5zAs-#C1R@2rPpul5$1RBV?^@`t_3-7 z@pr!>;jhr!kiX$=M0Rt2g}+`pkd2qqIXs^$=UD=$5yuv5Vqe^(F(xH94NF2Mhk?lm z4pGEe&dr!Nm}3WG&(^ph(bLnoCCQjDFzJ|cAoGt;Hty@oPYMioHVv18mh%x7Ko>_ekAx0qhp>s&6|?VbIcyVVkP^D+j9Q$SmL$E5+5>0;(EI0 zR`b?G{Mc(*Q)VJl&7p|&=9xnit>j-CBOXh_8*-i8l&Lzi_Cn@L|EJMBFAmElu-6B< z6n{}vZ%mAkBd$$CfYQ(D(t_OcYyAGE*Wfo7EN73MotiTG`w#eSTIc6< z_}{}Wp&X|)IOe+t(s8`ljr(oO0B#QV zRM7{LCOd-Wh%*x8D+de`06_)=1_R(tJi(lD0;GP?$?ex8b)-2tF+J^!1y|uS0O_YK z{0Dv%kRFvp{5k`y4&HF8D!_IugH<3l$zHaT-8$y(sAx(y-3QX$9Sa{ozKX_v>cF0o zFS|cuVSmbh>Tvn9&&x&Xy?Aj3CNCC? zcW_9Kt9r{2ull7*{}y#xpZ2d0tV=~_AMZi7PP_|rVK=#3NHTnXgS5o7ed#8EP3|2c zG^};MB_D!7#Wb+VR!*B#>}SR5K$$bJubkEzh8`2PYhgL|BM^d&xHeIK&nmD4W=3ik z%4c}@E*c?yYPE2%7IdsP6h76NrND=SDOw)b`muI-GiO(NPRoKDM*_#f4ac}FNT@(_ zu|PP|Oba%YA6eu8Bl;!|uf%2JOX-h!HP0ANOgn^XP7LsZ5^$18(x_iHC z+0(+YHge1?qo~E`t2ruh{bQ&=ZG(?UNj683%t<%^Ed4z}PA`S4s4D|E&oJ{~!WUkJ zZbisCMXm;@NFWF_1^xl%#y2}~f0Z&HSJraOy`S=qFO#_2lGAhcyO!Put}r{i+3Heh zuph(~eA@i`93aEeC?NL3eIWQD=NlMNLFeSNK=XGX3O3DOK_Rrqrf)x6U;f0NhxBDP zAdxNV3w0SmLj5A$>cEvCAf^Tfhq$RI`C&!bh;qu`1o_!Z`O(^zMA}z=m5YVePKpd`z0!u>p@C6jiah+e19wWYVj!eI@Y!h?zK}TU2x|7%! zNvy5Gb1B^R>YuGA)>zW41~!HT8K!d9aU>=sKGybMi6 zCtnqI!(ayXvb|01i#4m4us;EcwpOnlC}8_1?e<>^WfD#Ln*1Il_7OVdqSG>Nc|}5c=cCQv;eIm8P;Utu3C?U#SrUZ>2M|O zH{Mw=Qu9A8WxWaV(KPcMAZy(L8qm;Y1x#GG4!B-y#sJu3H+~8`=fH3y`5}sB^0M^4 zWm{k$QUC04{rmAv9~O(^-gfwJ1BsPbMt7fSCen-w8%R(6kc zTpJ1)e_3?3>%}Jaxx?!BKxq6ndyeE}naXnU)F@kWH87@svv41Xgx2Hin1iEh;7=qb zj9upf%>9)WQDXHM@D^fKFJeV~^Rut8BG(-Y^*OO0=)o%tHa+eJZL~P6-?IljDlq@& z`Sk=`4aPK;=Mv?+K>eD{w3Y$;%qcBSb3!v*=dKsG4R{9@-N1Skz}6nGdu}suk@4Kr zZ3DI$@Zq1Ex^=)-quJ_r&f{Mm>9KX^5zbGVL+^oz_qK@lR-+Zz(wki?-G6Ysobv~3 z$Z1Ar)EqNve5p8q5et0a<(ECqmOakqJtLZ(yWiaRw>=|ToV&O0F8ijndG~hLEADS* zp5#c}_rdP%GY$9A*5-Y$@BVuCoTGbkI(N_c#?0v)x5t@M(dgV4d@p`52(^3r_IHEt zw>{~4tN}lC-J@kI*$Vn#F*=^L<>I%hcbXG+IxlhVzGT8~=VaH54Xzj8&PC3!3q(NirEXll3j9{ z*-M>&;)DijG=R%A`4Q&jkVrEZE5oD4fm}VyMz4BZPWuZq?Qa-|(O-TJD-#tVsUM^^ z@D_?SIW9UI?Zn5zWGv8*HJ2HOjT19F!5rz_bSBW4nLMwb$emBt31V2(S z;a~m@&(FXUO|VJb2y9XxO2KSWMYgD5mkPLLg`9gCpzGrOnufvKRJiu6cR1RvH)^;o zuVyamD)9=(GiFKFO1z>|@jGbzsrj!g6rQ?#az6DmoEpYD)LIunz8)aiUV>f>7{^mOn*YH>WeujPgM(BvpMkMd$=hQ1{6 zL1i4yMN|QUtx3Bmk3t}`n(=5B{Fe1>9fuSi?n28ShHK3(@iawI>0$kCkT>bb*=Q>> z`jN=6EF#lUTkSg0+xJxGohk2uG=ZzNgx#czjYP;DpPWV$yG800W$q56`Y2mwIcS7y zoc!x2AB^e)5-;?vIfQq9O$DC6oW1Ea%z%%(8FE<4sHV@@<@*Y2M`L3mFqm=}Yx692 zpeBJ4asr7{M|C7x9hSB`eH~ec&zV$HWW>NsE|HkPqhPbnwdnz>pVUlM3nZ|=JyA^h zdV?m>9pM76JE^&%lb;)r9i6Y$>V615@$tnU?Zc+j~lLyv&#iakS$~>bf=N!45zTn zZ$Xuh`6*UPa?EuUXLBP(+q5Xu*g!LCTJe(Jp^jo3>)HSr`XDvC<4v(}zR)i!Fw|*P zb<&FYMLViRJCwfE@Q9MJQM75DXp?;1FZjk$C0)-_9sNs~>79xr(3eu+sW|eD%jd@n zF6Q$tvlm+fqCxJxW?73-%`<)2O5q7nb;>@cHT@gIzl+iCMx(lg=&I`o!lmlpz!$%q zW|U8{8S0y58=INU+QGl;>iO5-z`r$({JU{A|5|JKw|Xu9dM}}o0vXF;{LN}j0124> zm1={xDQ5kviU+v}g>cCDd>Ql?}^R!oFiyr-EUKs3bS)A9LF`Nrm1Iu23ipu ziV{HUgTG)?LLKrJh06v@n51%}=aZ21Dw+^^V(DdA989y9js6#k!31&CE`gIicnu;< zs|pCPUH(&}IvM4(!Ivu>+6Klc;|RaNv24udX-Q#Hl?|ma6*Fqo2=yopJB*FOPwd)z zVXw&_bvjjXDSfw5Epi~nR#8*iSxY#&j$)z74_T2z@y0rl7(YcpXBGpknl2IQ}NQMCOYufPvq&ly-g}VzmWpDx%O@NF7>HpZT-Z=R1XH7 z)J|CatJHriVZ~CR%&VZkwtLE0(J(gJb`KdIM+Q?g+fsNY!05^F4HU_i7#qAL+QuP4 z9Rj4?r(|zCNn1j(!|IZ?PPzgXNZo~wG*$yKxOFvQe}{dEw4KUoE@P~kN}Lrj3OsNu z&QXc49g4ZI$|{w4+vfhc!_xQh=v+y7FL$}!O2-JyC_t6^X5Djjl9L^H9CBX28`0`V znMgO?X+5i$j|^&1P=#L8^C^31pm$J_7Sm{}nskuif~8}L$yq% zCD3ZQXExNbCn7?F2Wj@-Uvd}SzuJ z=cq!pEc8=E2Tw&kLAt2r<4BwF5?SqPjp1LAoM;TU6T`>d2$WYBS=*(^B`i|IXw5#F z#z?{c0AyKjw?NNJF9f<^93t&P(K9md_*kBMo{c5LhmcB~<69Qpfto@fris?PekC{@ zL<~+v%w{~1RCrn;sE$T31qj*~w_`4&WW6s6MfS$^W!K(Jq=N9PW3g3SFIBjf)qa5n zY5hJ@fXvGf5uDQvs*`kyi4i5Xv&1Mw#FC&5;zf}^JtFf;W_B{7TWxar2CzeTgcN$* zcuXTY3DI^t#}kpv2sNUKENFjs>|M_@n*m4CbDSVqWZ4K#B?2t*j|J6W9&0AJ#e}D7<`}t*qR)p z;hW;Q9_2|HDFf~s_rjhJPq4=KHE(d5llz*3&0+BLw5I>T9GA#%Xu8{6zSSHp;jC@N z_Zd^Sr@oEv>%e`08`hS01x6pbk@&^SBw4zor3CuF8D2rqJHrtw@EOjEU?zxjk9X$* z-4?SazB^_)PYnBD3T2SN?CsEWWW_jeDb$aX$GRtAgQGUSaeuwnYIa9%Rj*<`l-mpW zwuT+WN6=0F-5c+~;D;WFp-^?_16BJwc18E2puJzbeg=E_(QTW#5WIC0|H4@5&o9B*Gh$bVt}5 zLun-a`a!a|(#D+&9diS6iQElI32Z{DDV~W~KMWGj0}Fh6Tz+ng;leXp)ho!eo^W=l zWzuwP{>w6H9A3JNkp7+$%T9&$%H@9*_qx0M;=TWF#=2KTX1oMZR?cdEVGXmM>mNnM zpvW~0ArJ?p>C!4c`C$qdHp^6s&J1K-^F^FEh`1vUc+-#Bc9^Naqe!TfsSn)Gli>$j z&pkhD-4N=RmB^mLC6>Tq6x&tMR$;;~PevpE4HHb*V%sHVGvTp(V2onI8^~od;j3v< z!e38G5N5z7=7LM?M17%#3H1v)lM-I5!XF_K=H_5${VKrg6SxzqjaVg_TqCTuX5d{r z3qC##-i>->#vw4q%HN8Hew2_q(Uhk~5XTAlVAE3*`Q|+1sVNLcB|Md_LMBb%EB5-I z8qF8UJ(h3IGptc*O`|Xkht7{myNJGMARY>B$2}vq9ydC1XiW&)OEGG_Ouso?f>AvW zksq0)zT(I3fVFM}!1rn#U`G5v%?ai`1Nus4_|F70-t#m4J-KwI@YbJACUd5Yyw4vb z-r+zb>tWMR&D;!ic8Hlm8x7>35Aiu%Ft^vVKZD#iIRfXvrzHxlJc-&dwZcPBVgp%K zEgHU#j4*5X4zpRYrLTEoU#u4i!oA8w+~@^lv~Z!l71P^vthT4H&}4jXfvj@*+~^Cg zV={9y46HUGy`WOe=Yaeh{#8IypQ3vgX!%?<{4$iZ8(s^|Rwmx8p(Qf>wfM`^BHBH( zrxcc6%+uy`Y$8CldFg=>5y zoU8s!=A!DBsa)Y2XNPlbO0jFaP2~#LI5M1T{bhEIsVY~v#{S`4^;g?9o~Uw#Yy3Jl z+{dAIjUOR0imJQ9xz>-hYuv1Ig=>5voU4A4UE|{_SGdN?aIQ@Sc8#SfSGbRNgmbO; z+BIgWT;UprgmcwDY}fc-Dp$D1ABA&mT4C4NL*)wB*fAwUiNFNNs=1Def%Cf9!qHM7 zOzWI1#99A>-Ktkm(A-D`;QgCXQJMdsGQTRBDR~bgGY5!$pD9D2F$bPj8DEo(6y#~l zI3y*oE+*r>vDFXO7%%OJ#`yo(dl&FHt7?xsX@(MEU;;!4m;)86P(`I!wV^%Q3)7ZM zpj<*LG~flVM~@Yf7L`C~X4;G|1L4q0xCD#VBPwde7Sel5Ytur302KngoGMjjNYwzf zl#As1{ny^_T+$ZQbI$Xf?|DA@kePYkeOY_m_F8MNz4zpSUB`TjWdjPHJh1CO>H#nw zH=y8Kmkt>D3Kay#mj=N2TURhY>bVpQI)u+=c7ewd(RVXdam4>6EHut4MDCrgW*!Zf zs-|g|=4({*N#;TwX*XqH&Cd=5Zis49k~6wS42}J=C-ZNA20`xYXZY&7<&7zh_YQ=4 z2M;*lKrnw>Jx^879U^mZ2|Q7ukp$7USmIN9F$Kz31l4W1Rv$4v@W`hPWqC||msZoZ zuXXsARai}CExb=sIZeTLsl;HOI$;i|bSQ)CqJ*^G;+aA;UR&0aRGIFOgQU6SdAK=9 zpTaNayA9hg*)9134|=m?TSq%>W|o5!|6=P3J@Me$Qpl%xiPYy|-45_XiPSNAc+<@e z*lXxYX9x&L*3p${WMB(8Us?${Zd$n(o78;NEH&mb7Fw|u0q`YgV5G`XrC3^yL)Sl&4%?2pw*K?Xg}tl%}e3tDTUBJl+H;{ z<^xcZs^GXJ^OhKhj3Ny1%q(hT8+Y?yeYTm8C9tOXt3C$t14b(Ed5MZBjxthgrb%%s zoo9c*<5gi5=3-fF-|$tg-lxj@RAt(JdKvAjd|;m{FN6Q=QTyrTUB1fiUKt43Dph%y z$GLo<%-0yDH0720WZ2modF@QSl}CdTGooRk)mdi`-Gdbhwx;osX#?o4l6z0U7U&9+ z8{Txo_nW02|0+vW6RWq=21kXx)irU5LTFtRhZ3{m|H`e*2rQEDK6o)>M!y zUG3_)($_xMpHvG>iY+VjrR=(&;%r;1f$M|NjoMLzi>>HeW!HZqu)fj}oRir;W1D&!XRs?_jnW!L>>0-Hiw-YUCpy91_Wg&Hio?w7uA-|@}ESFc=yY%lw< z254Y)-ow`=S}RS>IhVhkk20X8qx62x#rj<(OMT96eSONF%Kh&A1Eo@PA_=SEe#N(H{Z+G=dj-`h6n@0_{3Og&f$zrY3^LWILJ_)T?8*UzN> z4)@qB-LPf{3ug^HYV*YI8@`ceWM_FA%t}w2GfnwEql`Y+R&Y(?C?iGeF5Q%PcrZ`Z zgR;_xA^)_oEo;Y!Do?antC0z!%z`4y#BQ1iDvGERyQx;#S+Sayvfq@*kYDONEIaQa zJMU#)ug~7wXCI5)$G^LeCi`$sd~%e2AYp?pR!Q?SQ%~*RzwDI%>3kNqz{5F@D3vt# zVa!_uAm*BmvahjZ6=@j<@;Uch@W149K3WGl-Unvh$xYumS@VF@VcJ}0slPrdYx2*> zN{$E4&`p1m8qC9tcR#U`zfw@Kl9?}QZQPvFrCcyAaN@8APYgZvdL+0sGwx0M!uRY6}FT;e6*&@5j|y7adJb(rbdM^sm+c_;scf=B<#9P*UE@nj5H6IJ?RF^N?ARKBO?ou1v;)#`yCd^m}lSN%Xtb&IL0Dm>{S7I8dedbh>A7cvBY9_vjn8QHypzb z2`#D<{V{OIRB@J*+Fk5G6ez(818ea}eNPK4PEJU5j8R)XsTHI7Or_7%Uu(bd{g(4# z;FJ9E5SIm1I@rtRXzU9_FpfFThs~AMg`4bo`dp~ao+?yYOO{2Is4gTUHUbWDmse_v+GqB~m ze9LcXXjp-+*-V|gsa5CN|r5hB12tn&z{9GZO{ zbaXNk3}E*ob~tnG{lwkeQh0W*CXf&sS+-!Ww_TH=emO*RtHV!j|uq|0bqbcS~{0)@I^;`x`&%O5=YQ?<{0V?K_zG zvwPnFtu9?nrfGUbk49;SOQv1Uld>|F3n+0BBQ66jsGsgIeCX|}@GXu0fkqhzxoYd^ z$|lCjw53fsT}9rSG`4AFil4Y^kh0Ybo1=$jZi6-4?T&>)@p1Uv7#yEU+y2I2(a)|vxkNMA2_`D~fc=WtVzOGLm z%U|qPQ#3@cTlI?c-Nd`~q;s93)b_Ho$G)ob%wgvk9xNsAn~X|4vg$OkFXPrKk4Mfe3cyR0To?k3gD;5ThLxfiZ<9K7Huycq#GeQC)7UZMggDJ;MCC1 z&lRPF;R5U@g4gy{1fPdr#CqT09S|3|kH>{K2T98t6D-Cp5N8-pq1%zpx&>%V37 zX!ZNCfdkk*(GOtR-!*`aZ~(jLeBS|_wI9v*14y6&e28~>=taY+0FynM$Joc$z=+v$ z_Z{b2LuCfoFLM+Q@Hc>;C(jg!W!HyiSAv$_MYM~lw~t3&;UPLoSSv#5dNuIoeiXnq z=%qnCECo$zHC<+})P_ z1ubXc#(f}L4KI));W8XX3J!_hx2fEFLw3YoRnK0}NAIh>f5l3>kWCYvC8r!xzUrH9 zK8miqQu`<*+2AhoSpopgOc5HtakaFU+$(Kl4(92bH)g7xMPQ>{WhSrXY5KY09&CYq zC&;M>vJj5>S2SNP1i0}#sx0Qo<1&`i4y(XU=`4KueS3OMQQ5}JixyEEPtth{jHYx3 zy|@zr_B8U<=lo@#6V+&;&=~m&;sILi(zATf=p;D4_g5>!vYy%g)s_8jG5uZzli8~U zSXlgG$D4;+@z~9Ao)=eHrz#)j@xUIoz+{quH$~qf3Aja7{;;0`-0Q2{xKEYKRYmt# zt_%V5<7o6%luc9I%Li5ER6SmwJ?>R~>_gmy4mlji-6#1L|F~yhi_bFp?BhIk*8fto zjy!^1d)nDWKY_NL>-+?r{iOW+9FKhLlW6q)xh2}fa%rJ0^viMd4fS6@B>eIy?uD6R z3^H@0@9aD^pEFXQ{sO^l%%sq-`7R5w*^?+z*m9iF^)3J<2Q!Y&=K$1h>JoDDVqah} zC4NjGa3G3G0869|cqi*7dj)zp`yGB|XYj{CyvqDE=^`M0?zav-eVjd?PD)|s;^AbG z-YY73qq*;kxd`gYmxMGGEPs2w96C+5t&w2%GGNHz=m(Rf>_G$>;BbW;o9((fn=jS-@kpP;BAMT8yn+r z|8_~iTT4^1mXGpp?<{z0*`e0*Uq9tQYRbROe3S2JBWF@_sJ_23e){g5KOpbsU>j<~ zb*YZs(y+BGhT6KL5(keq;vPx9l%iOzEz_LfejAWz1zdvO(NcLfxy4NeAMlRrdzI&ZGtxxp+ zveO%xZ+)r62zMM$`;*J*Zkb6jeB#NGc@b2(n1byK*-vEQeP{#$7uLvp(jj*UiemuR zvuq`VL7|W%J^$}moa3A&<)^{_OuCtGI4TA6td8-&YkKJr714up!y-8m`Ks^z2j~G| z`wl+S9VQAe9gbDnxqQCkIpac6aMus!A@j2G#|eY5=Uv|NzJjuWw}iBuh&X9taQGr& zhvb;0T~a&lipFhV-|!pc2wvlQJeOG|cC%5=+X{Yi9MQv%%ryvoFi&5DwB8y=^b~N! ztK#*J%_>mLP~ECtW7YMQoUb6QV#WN}Np+{&^D!I{_b)g(66(h=|AKkO8`|wG*-Llq zP%GG;sFuu^#m{=`($Q@XjExk{Fj}D5yOD5M0seSbeUALfym8;y>P(WvGr&(H@#_Xlt+=vssp58XX5V)iN?WT*a_KNs;w^G$xdP2qUY;MKs%=2lwF-t-!O zj#KS-?^C;QwtDSP`!;Z)8mLtR&+<0AS$`hq&p^;W;6dN|7vQ_rA@+~|O5sQJplE`0 zj{lAO>Ff`XIlE&oe_qpc_$7)gGdltNI%On!J@T02C?(|umIarK^%IN+iOz?CeXEiP^ZfWfuo1={j)fvQNTNy3mVx=%f0|6||fccZ$9`yZK-E z+7)jGzluQ+VYvoihwt$K+O?Se#R!r6R#nbecq1;Zc z>-uCFBJJ!G^(9(%UI`%SbmlEplnPM8ijj7flyrZ}MS%UL6}Ml)W-ih(o=%JZP z5YM?5S<2LRir2?eruT8388SDhzcHw5CJGI_TznbSCS2}ZP~R3bwi1iB=glry9n`h^ z5O>E^o^t_$tCdQBO<%aUtK%AdVQbI4t>X8w8tFSe-o;^}&xZqVP3YxOso&|il1 z8iY;P-YY!(paupcWF)Y6arPJ~vV&rYKQY*IIObP~$mNp!8WTH6i@t$TKCnajQ)z`c zgEWlH{2)F^x%23BZg*9;#r#0^*XNA1Mv<-JzNEOc_f^n-bIGI#?!n9<|Lma5$TNq75nDrs18S0mVRle<|iHBY!nc{~Xp zjt;4LMiV=_F_mt&=O$que}?I#s1ah$u$4A!b%f!&GPndzgJ}b9ph=5)f?C+PEj7=0 zk7E}-H@0(Ms1WUW`^HpSycg8o<=8USA?|go$O(;(W4SMxL{lr)p6Zw?80+tHQs6Fg zap|Vqvdt@>Wh&kGJy;S$7%qO{S1@(d94@fPtVaGjcf< z4<=f#6qJEu7>-sb97Drx1L50-Ajl5-j`+R^##;r}Tf=F60j=A5R+e}e{bX;o?lQmA z%Q^O)+vZFQr`=9drcH^|G>kG^RrQqec2?thjiB-Hw5{@JOeakmRI*IYkC%6h5Yy*Y zu;DznanCkSq!(*4Nu@`N9Xob`P;G4R(mri8Kb5+z{EHx|GH&u|S)p22#^$7Xu}m|N zYmy1KL(6xrrS#&{RAYsf^$zL-ny}qS*zV~^DkWU+x7mVUCp!qjSA}GAgra(q)*?PBpl-?NqPhieYE#-PN`O%zbEj1nsS#l0-rp6w|k|(ep zwv5zlq7*jA3S%^NoO_*EZ1ZBd_zm&vgp^BuNsxkljGhJ2d-^8#20~370S?^mNWiCmSLy*z} zkL4njQp6THCL0kr+ITV`1%e&CzOh|YB@rTVCBU!%;zu|e)&9^9Qg zm%CBUBGVSn(HD7i!v8=2db6D`=3^PLapF+N)8 z0OUF1ELb9)tng13Q%a*wy9@KAGmYkxdA|>?jc;hC8Dc8wWCcU?;xstBP-tLcwnAN^ z`KKwysRj*aYO7B2ti8NP4Iia}Fokn9WmlmNiX~!0BdoX{mlq5nbfZ;}m%^43&gXNHer3kvU0p zIa(ASz)q`SxPk06Sha_~hF%puW%^60!W^l^)^7+;EHQ{olIAnsA4`4)9pOBg(oUWY zK=2x_&qA#q*1W=eomlcx?Rb&`R?B(EbPpQYU`+%J-NU5Lc@XvC^(!+D@$ZS%ldb*+U}PEbm|c~j1+ zl`j^74>_zX@q+k~F;&scIRCh(@lP$UL-R+ZT2W6f8f3>k7>6L5nT?C6hdacn-P|?b zaWVLp3)FF@zTiAtG(I)&T+zkWa&VvU7xlL8u2hG`Off?jOV6YhkFjEX(jfB`F!k1? zt7s8e7eXa1$96C|lM?TSXsxCDoF1et(5j>#mm8?mpZaz=ZH4_=VAu5#qzxLo_$qJ^ zScsQ2UCw<;e@&pKH5|4_8j#cVH{GDW2AIzWvJty{AT=1~1KE)5Lax+`Nj&EUH4V%S z*ly3lvF3TULbC3de`iw66iXbXIIPsPixB(@8P!2BIq}&c6O>)1PkC`#VZV2$o-SP< z7DAw0&W?E02L#^xhahv2nIf>S|?1Te{b3IJ;Ek0GcHhf5n&S}2Tx5#PQ z$&~>4_0J`G4 z$@kJmy5mgWiN>(ro_$!#VfNI0;r@26<+H8jN33Osi8~5g9-@|Aa+fe;N_D*@aeYYR z5hU-YeUPGUqZSocpHD7x6ndGds?(MVOv*zeWX{R7nlnB=eJX{__`p$@o}p1C?#uGH z5v|hs+ZrWqS!KPZ{RzBAEf>VSuB6F5Nren5IB|?xLHaZNz`y2i%@eWN$M6iL9olfV zL1P;4)T5uln7xkuQ7+2X`DSQS^w4&Gni8r0^ZoWD^I>q6pE<`2D}Z6PwEO@VCh{x~ zgP*zbkVJRm4o3~9ci4j-xCfGJ#|HjRajRejSo3D?(4@vzS^G4bw z{kiy;h(^&z7qYLrBb<+Jh3a{{A7ssh=IE>9kDST+Ej4=jUjS6*&?EL&+rvF6z4ees zBmSSzc-{{QgeX$LHF^8c`D65#y^WW>3wwW2(3UgH@@@H@JA>5LPFf+BRBUqJHI#;0 z^u~J0(bPu#IOE9voR@a1nEErYoX))qrrOQy!=D`qj`vuuecXJ zQ^nKt$f<)r_(zB7ktG&+J0)#l=TNMkyWYv=Zi$sSU(QStg%GRvblNO^Cia<2z{fRV ziJv~`;XyE#N>6y?qH6@t74&18K|uJ3@11}m%}_5{!nKofFc?pFFa~L3UYTc;sh-mb zSM5h0KUyr0P9yC@{Dbbv%i}f){(4Sl^42qjMFE)6MmmE1&s!vd72=4ThC3M!c5pcj z>UZnQRFmW)T2IVJTiCL5fxX-CVJD<&tWZePrV2sd6(=$&nm}e-MFn>VfNI>p zJxT6Mc0*3~oS$G!2vwKRZT4r9z3+9#jOH0N>Ur?C#f~NJS{5h;+;O>j^ zh8Y&OCZD_{Gg?KbGhN71lTH-mUFz{EI`Qt}%2Q7DPVC2JYCDnP7uRk zAxw7)6PY`7T>i+A(@iq)9oC#cvB=PsGr|Z$v+6OHjA+K^4nDJAq=&G^^`N15Q*bDU zoGz^b!7yHg(@sk_I5n%&P8rUU`$TVAJvq$aXD~DSQ5&R8c>w)_XmC3nq z5=-zQGJ=hh`iqThJexF(53Jn}RR-mpqEYu+-;JJ`Tl`#YE7rjZ&e7Vk$~p z3xU22dfp){RmboYmbwlI^QOyRs0fM_O$#j4kf~=#>DD&ka(yaoi}G~vV>%9!`n5{g zsyJ>dRb=?a^X8zu@PT9vCSG@b44f+;2 zx^p@$bxnwfqp|pOv?u~K5#M2%(ft6fk6W_IHda7Io ztju4DCuldd_)RtR3g;wG-(C93p7E6j#S%&z^r~pdcO@#~hdOG3Vn3ybAx^5cCrcmG z{HF(}yCRu8=sWvw;<}>X&nuKy@aH26{+yV%yaI-hGv~5ziMPeLo5jXAt4TiR=u=NO z*xwaSp9d=pdeqfKG3SpE++c9(<^5z^e?pow)((>gVAd6m{l?kbbMbcDlS*Eyiv}PR2Jy@PFZN7$ZhW)0Z}90rCsKaGG)L?^(UDh_YKxZGiV7 z_XhVmxq#PD^==5dOn)*z6iyYh!F19z1<2FY%}OYc-Tnf27`Hn;l^r%$$EauLaG%C| z1((L{hQqP`hjFQh3r48{I(uB`tLw=wr47F_vW?A|8_lsk8d# zQ)dfovrjS+`)L#u%%6k|`X#+FVADlh+!AE*l3wRqymgn2+rg;e!rpS8|G%@mHxxnt zKexPh#kbKbb+)`$4tx6Ly}upDS7-RYtgmi)?*+aNU!6T+r(U}FpQrTCdR5ho@8A1J zkLXeHY7*wqNJ#*iMAk*+54HWm0&$i@WD6mw#j=}=mqQM{&++yd;-{Q7`;+SZEQgef zy0EkOcqHQ~ns*A9LtaIL+q`q9wEF(%o!oNB_M`WmcV49R;(4d)7{D`2wAeT6!v=hZ zd1o6{HSgfx70f#`k2PU654;!LOY=HQcfD!jU*9hqzx;1%eyRzBBGDG3Za8sZd^(4> z_tI+i%c4$FRXt7obi5EJgG0}}WjO;{<|g{=S2BPg^}B0-%4sS1$Vw!O^?ey5lfEA& zeP5l|_jiJn-XB_XJM8a&NyGn$()#Ssr@DH~xz!#B>6ggR-dk5z2v068MG6jLzwi_B zNaM-Qv+-+^ib}a0Aq@}BH1>Xgd<9c^V3gEbrc7XJ?74*$+e9&2FC{-{N~-IU)YDu# zaOw@OlOt2YR&8!4X?-d-clD69vE++@a|4{`Ui6ppIME$To&;;{=dpIg=N@y%pb9sB zb>NeR%6nvnk^FYU8#-<WUN{gtJ8(B+;nZzF@ zrhCHs$09>*r173*)8!CJe4%van*G;ZL*1hLM1aRe6z^HGF03zOWuySURXs63_QLgk zeXsW~y?+YFu!ymScv-?YY|&r(i7KsB5guCAL>>=gQ3hGXm6wL)#Wj?l>dRkOT>c1^ z|0>V24OGZ}gFnUh<<`*u#>h4;xd;H2<6+ekxeH1J zUtM`~Q*<&{Spa6k;br5hfO4%bUp6kPU;C7=pgb3@{9Wba6*XKEUsrK$S-LJ-9}LR3 z#{IAYw;BBUhYnwEcdVWj{m#xpG37w9FaHPd4bPnLe+%Eyns~(l@eR1w7vP(;zZ~+x zsPUt2i>ZbaV=Ei0lw}$3)Acd2l}!~esif(WONdf153S9dt8d)u!@Mw7Upbf5?uHz} z4{k0Bn%+!T-;u7qJ6+8JQhC6=q8GPMgKbOeOd{a#T}2n>(7*1F84@%i6!lR_K=T{0 z{hHSJtB(C2ZX8|ygk$nkV=LDRoUS^0UJHz`>emu}`R;0~=&ri-=~Q3ohL&|hbo&d+ zrHV^ERyK3q{jv=(9}ahP$dV2={y82R0|6G0b zUb!tEeb!z6G=rtO%KB|3p*~E38jP(@z1({7)Y5!mUQSqF8 zrQ2LW_*LJ2XOBE!d0m)RSl)hTe}DLX+GnT{Ca12lN%Rqnujc55m{uQ{svjeN`7-dL z?@veZUdC%Jr^LTq=-(DX4E}TN>97{XD%#=5RDJnW;bR~Gly~<7a>I>^)6rKb&INhy zKi*GSbtd?i)lofsi!SzKhXnVR#``*li!Oe7_tk@q5Sc3+L2OaudH?Jjo^b_Y@J+7X zjwQBf1Z1(qGrh;PVFRV!kav5sD^v5W^4M(BV_j0pcS`l1w;Kn$7RGWqW;+qL4NJzT z?>E>(f<@wQmu;ZC-VezAn&7Mb2h|wT(nj6qE9SU>B7$UWly)%1+;O0Pp+9clT#BDr z((>3 zjH!;Tj8u)6zo~}YnqmKuo#(4C&Z`IQvkn27jfXlAKV3ev!|uYs%+px`t9D@Kt-MnB zzIJGInVl7&TphWvAEU1LKgUnqoXAtmpC4xH4{T-p`SC*r@@IvAdm#SIw|A`P=YNZwPmVZ3e^&(lcBIrU6mK{r z;4*cNl^QwhwdONQVhI{88O|k2jhEsD`Z^7l?pwZU*t3*x_|ot#WG7l96{Sz4Ki#jh zXe&EQpBr^a`PG-R9^v*8MA|U&O;3ux>Qbe@)!%zZG4fHhx)M@USz>gMsr{=65%D1> zVT!ZK$xLxbQ{MXw1+S)H=Vy2YxucyU^%`dAyvZ{_W(HMF-*OovqKk$J##aOvRdH5! z^2uO&B$hY?e)lo!O2j!BpGVaD6>D8hm%%v|7XHlM zzz-W=K_g35Af5rGWG$)z?y4PG`g;1?{mtKsNCm_aw^3yHlgT}};W$HMIF7fiv@bom zpKGL%z0!wAT~r=xVX2jE1{1iiI;d<5##aWCWm`7o2Mp4GK?QIy0^e-IzqMQwDK%-P zUm9)NC1L(xWoOOHv6f4b(Ei$8vDA1I)xH*g!MYl*P-_=fX8%mYV_&p;>U0`)6d*dP zj3}-oXsJoixg>J|SdKcYM4gpJ83~tBCKRq70#9PwLiyT{{%5Hyl&_}|$6_g1=-(Ew z{{h+yn!+*TovNUzx@>e?YVRbe(hDQO=YA83BfznaS0|t3f@k7m^Azh$d`*JDtZ-IUa$~CYMmBG-WSQoC z=BA2ZTse#w#49Ih5UF?~mKdQv;t6Bx!ws}VFuK+F8t`#2RVTt8Jq5JsYm!F9o+p0A z60frQ73hXx79-Fe?^b=6n`;ltqHU=S3~+7`U0S+fRGcC0QjOZyps6Z|+>kzxd2g6J3rl45#13o2*D z5|^vaYU&)JI%#`V-CFuwdK^i%bA!rdrQHTjy}$vp*k;i=!36BWzMyGQY-MFtFrhN2 zVj96{Tga^JEH-5VO)w$7D54AK6KAS^yi&`zvxN3|<#6UkpyZnSs!1StT+5nBs&OmX zw?N0HFa8$z*Fk+>aJ6hl4Ot`-ecD;^iqQNU>` zey^-v;qpiWW`TeKp%sQujfU3GPSq_?*KkTK@glh)#^F%`TMvQTOU2#`v~#ZdmeL-> zcrT@b`qm)YV(6wI;ik&dq^}z91>@K?0IV>Lu&y(@P+}LA8@9Iy+jV^tgW9chf$As5 zI;yE!>>1x0o2_Gqg4*ij##rJ$5u?5WV#Eziu<>+auG|s0>+ICLuNkLQj!mV%%r_l| z)o~?XI2@6`h4Ee^%LK-DI8b-R=L-kHJe2|y$C%V_C8d+!CipOWDn4Ib(%)1&4P7!+ zAV9IiI#QH_v>@0=Wb`l;8Jd{Cf0F%_211h6RR!;YWDqVzX1mD|Le!3uiX|?i-0(dp zoWlht_j*TKOZTRy+iCMoZbD%hu9A6S5l(^vVTu0Q%kF6cy|GoiQh!%aIXf5&&Dw4L zGMf3+Xiqb)u#|+H2Il$=MH4~Hs3tV*R%n48!|Z5eQ_>}qk@gaG&JAzio$=;dW^8UR zwU>~yBy)cWfYnv#tV!EoOGeQ+VIsvYO=K>@x$|E{)kzqY_2?I&d3jbvS>%>fZO^1w zV)yI3aEha@Dpk9=Pt<9R@v zt>YWOanZX8)hJw4t>!9!U3H4PF&TEGjV%&0PHA~)ki+Nl^klA5J(lhY)X8$EPEzsJ zU50)eCJGoP%r)^rHK7TDd`LC%G}$`^O?3Ju9Qo>2OEcK_aDn1<0k0|Y37EZRl3v@8-}m2>Z(k03=tP5r;2LgTS}S+ zlgELQ2k?3! z_$t!Ma%XJzq4p}%k{Q(U;vhQ245(t(G0fCeIF$6YtR5tX5}L4W88~>WtKHo}1yriY zys-!9<_Waan)H}KLF10(#^AzeDsq1;c`b6_-l4$&xGU0b&|=!y=9=JqFzGpLbX&3? z?i&kMtC=w=q5gtNOhmrKh_>V&D*=?ogGXTdgTRci6_kZO--S_+siR~_LKe0q|#`GY}fBdjc8AgD{b@ZV>hgmrFhxpSJ=ve9Zx5BW|g@!7zf42 z(>?U+TT*Q1+Q@ER>irw<)`-(&ci%}dTr@Wr@nX{sc(Ys@ve9_+aPXyx(SZy7z?f%D zA;57ZenG|tE$$I(Vkp(`@=qcQsg7ho7jd!>Vv-|N;2eu*t=VYi#ob~BKu{CNm#oE% zK!X~m!Tuhv4%tj9zSDBe!9uesw4f;=EUUhVi$_mbMJUH{upuYt#o_xE5qCUV6ij2R zlxA2hwFmADBRUer&t;t24Iw{8qy`K` zC36tn2lH&oUnALsX^=jRwp|j=Xg{HG%7^2Ybh8%x@K7NuG~Lq-Y`&FI>PXdaV3zB0 z?41;enT2OPGrs$tuKA%GoH7)BRO ztALD{)-HxC4tGPhVMj8D1DQWw!iJq2vnX7FD2l@1VXG%{q?Lm@hBZ~w4s6EiUbU!7 zCt}1(ID)<`xT5vIUy&dzk~SRc(z~+D-=w#+kjyNZB~r&hu`+)VYS7_TpN9Tp6(otR zHc=LxWhPX2cEw(B{9NF)=Q-t?#%>8Bw-8L+6EtQ>DvaD>n_Hc-==~XDc84MeJHiM; z6BCKR>%1?FAdJ{;(zsm3uI24gU)C21rSUL|g3;V>T|6siE z8A0UYg`@MJ7sm@v;)Rs!dsG0XeVce;E6ojv7yjra2YfDGc%`~zX7TaD2P0F*e^C?` zvmYp6c$&jNrd=wQm?i1sw@~p(z(X=DYzv? zbO+4}PqIJWewVu+C)$rFcV>Pk63mGBTRvJ|KX}G5uXZuHmNZTqa9{hIsVCNC2fgwm zwRcW5xP-bIo3sog%{)PaK^Y;3)eXm4{)ft;NiHdmJy3Z_Yi0S^nnP#y=0ZS&TV9NC zElKKN?%?WOAf^uE9XE>PaYVRW1BypwG7qvqK!v^@udfP(R0K!j7Iw#exrRu{I6@&~ zQ+11CzkDJ!u|f!_U6`68|12|7tbQ=dVID1~=r{LF#drA!$JhgCwa7mhY!9%2?A*Z2 zZTh(uNSy5z$;@IJNL^7KzMrZ0Z12OgSu1p8K4HxhuX? zZ-HEPW6P7Wff!@meZj=)pmrxNNAu|NlE$IVOYB!T#+CeqN*0!B_rr??CWsYIj`yz`&Oc&j)3r;`hZ`PB5Q>U3@e@lR0T;S7f%e zN?&6lSnf65cu_OI=J=s@b8u$xrd3=eN4t8q!L*f$%xsE@Lvh!X`2Y@si99G zn?XxZ83gB7);yf5rPrUxYm0BC$Nu={ROEX>d}mF3>x}OMCeU}qyA7V&yMnqM!PpRr zo*Cu6(}VMer1YFap2$n4*9bhe0U4<8PM=xUZ=ekoX!wr?jUZuvtR&e36csde-9Qt3 z6lh9cu6a1ta*RRLV-R&4L_2EYJu}+6;tn^UqYm1Scxx%5EJIM@^}W zwfx$clX!lc!}$OXK)3bjZeO(=)NPUsLKQU*Az%&!fc8fO0>AFQ(mq9w=BP;+vUXD{ zI=i2{h2uN=!TR$UxKmQ!+)iiPm7k5JiM7<8CiKP_WNfu2pYgIq1@s{k+s9UzA;_I?GrpfY=m zG*TnWi`B?BWVTq1EZ?6RIh3RRbBaxhOWZ2O=F|wvx#z0yc?^Wwq;6MD-BwmtC>??( zMIC|`Yx$Vd7gG3Kx7{gyA)m;=t-O_=B8P}I(t!M)qY=6jl7*D|ie9~qa`>BcetqZv zwsK(I-6Y|kZ7pi+NZR7zv+@v{hx(rX#rNEq3A^ll!HT^a7IQcA z%KNt>*P@*puu#@fZ0Tws>pV?OIRB!&H*_3!aR zS1AX-t4zoEr>F0(dA0FF!T2HW+xcB(VVcM{x4CBjm1c`lxR%m(;oy*ZWiK!-09|C9dr41!Y&LY-?(LzUNoB(leU2jKYMefNk>bRNdy9XBxJw3j6kP zr-k5(zSp8(ecwtC`Kp@yWx@E#qirk?*Z=+a2iy2LkM_SB-xo|6!X^T~o!K?m#!v6x z1d6vE_XyuNGziE25}N^f?;kkmLtViI1qC;#;H{~(`R)d3&`|Sm3S-Cv&;bX%EW5u! zH>yb+bjZA-{}M~eaf`I(wA4wyF&MRgrEpGsZswewbO|H=ns)hIs{9@q0h!bNi#vGX zPk9X*=LXl6v(qE76GqfZLOjuXTo7+l16Qd5om4uv=2G%@9+IeF_BFPdNdZoecphG2 zHIo?hxQg`UrNM}WEcUOVx=Y~MF4#B%kG3A5DBd`VfYXL1imID`@4(At@7(HJBjhq- zA?NM5q>jrqDZ~>ldxwR8vUga%xwsvBw4Lmo*Ju80rDgA^Wgr8pbJUI-!9p}xegtzq z3A_11-_sl5x=A|Dop`GwekPH_6HDChMw)KAw_vbCJ-j&w{COU{$=H`@PooUry18rq z7#YUNIn`+bjO$<)gSR{9JdF&r8!AA$N{^>>!Q>%#()WOtc)9WOV$W~T z5-R?keE)KqS{ceJ!%_1Qs^T2qJcZ{Hg~oPM^DDr9R>>EswY?py_%z+(<+~fEM!u7# zFWQ;FxW7Qh;^Jpx$9TC>rbp2ln{ zwl65ws_E}jq_%BvQekTqY;N3}o{8x7F<;wNR}EKTXC3S^s0`UJi1HJwaY`mc6z>2% zh3A;cuORNtg69K~@>VWOtvN3;^Tnbf1}}JL*TN{UnHD>BhPt+nz80r?C?}5Z5 z1QY73tlJbDuvWQpg#Cv>>T#5mMm??%%WVm%PR__st;~Axf`is zzC^T>n{!-@HkX3bMzKN)74uJ}Hw270{ZOspJL#*@uN7JN=etCPdM9FpWz-8TFtj| zh-)P{ZP?3d!VV7)V-T4KX(u~NwA=$6!PS*HP{^1pXyk1`sf6(yD3t?2X}Iw31f!c3 z6n}g7ws>aynrHv~?8a@sV~5JKchC6Pwm6w_LoVxCefjp6@@scWb`#$1Y<0ePrWLIQ zZ+)wOTMwK)RxG>PF?FFEN&Xj zSt(CT(d?uIVJ*B%Dl~svjBt%-1j3MfD`~Lg!D}Kx#js~mO*_tuwXRc-WD^pDIlqDn zrZG}2lX+7r-n~p!danwadYZ3SV-bFbQG%u&WR)DHm;lR!td~`kK0_WGQAo#tVjZ#| zb&vo-Jl;nZmi8zMlCB82G!dy_QE}I($s|L{3e)q0gQlG|quUxrjCXA;*Yo(MfmYB$ z^5hl{d%fnlSj*=a{&}&~#lnKFA|Q^JStGFw^X@_WpZz&5=`YT*_jP}SV&Y%`F z3yrtE@9kf4MC#M0tSW)2bxu+6Jv>yN5&c??dIMs;}m%$FVB zI{6Iu?Rpff)aaL82@OGL)aCzb3Sqj*{Jf_?#fRgaCW9Udj>#phD%?pH+Snl^?*vzs zvxMl-l)!4sgQn%l{!~*Y*4o1pqW0of@jWNk#S%voR+ZXtn21SxLDgxbz>nx0 z_R6UGov~Rp6!DTFc36!o(b?uTU@Y-l8qMn+YXG*96+WVU*vq5pcEo1AND(b-jT<^D z-U;((2LXb>z6M1X4L&V#gv*kviGZ@72%BLpcQKbg)OeOA{8-{O#p%w8)Vvm(trdyj zqDmPTBbFjA%w&hBCzRH#iOs%GuSU$OY1$RL^`RO}x9`!2vOIOqdji{ivchpJ11a9I zBe)#KEq4&8?A*X{RDQp3ODV*08_FoS>9m2X-C=Ub|uTw?srIJd@#7WyrwVKGS(XI3*NIO(jwNZ zU$kXR_0~zJ`u$?DS#lb4Y|#VIKJkg*5Gi~|3J{k0>vxt_x21YutkuQ>7r;Y56Jl!x z#zvohnbGo%5`2}^TE9A|{C;V-fLN}QO?^S*B8x`)jBbK~l28`KP$Wv~KEEP0aR^I3 z+3z8rr9(oX99rXJ+4_@5~PSr`NT5 zJ7U%-$1gd0C7+;A$+9BG)kDeK?53;o%zNl+RD9Rf@3B1u5Hz`vf?AhC8Yfj`dzss< zT5UJgWB_F{pF_QGWZbixC~Eb3*N5>O>p=?$^svEtSVHkp@l32`wJ2en&ldZT^B>jM z{d2xKrQ&?!yv9t(ddZ}Q!iFua9%Mk=x*Xza>8ob%)rS~R*?M2Db{z>GX1f7hW>^mV ze+|LUel#q}0*#VJ%*xC3e>NQGTv<3*$vD>dINi^qVq31nODb_Zm_q~RjNDb;z>OBC z1^w(PvxUuM&e_7Uoi&c!Y?4V(%rg6rP%fhsO`&qE89Rh@@0NAbE{i>|TKPx^Oz>Z2 z*0qLyIxQAYOzN?Ca$4ngT;%s)Xw1E9wbF@}xg?ssja0h++Dvv9pXl#geDRXXV8YP! zrIDJR87GAKQbC#KS?19P(fYiu>6y7JxTKP8#fOs8rx$nIi}KV2a{QvQktS56CJa%M z^@O2e6f$oV=leq|L|Nz!+n+)+HLqOtmjPAs<;#QPS!+-A1n*I=r&#euY(f|34136z zAJG1*&m5@zmR+ZqTT&q}w+Sn7Z_R(D-n#nTFha>7l2%u2#`YV`GJMVUt9pyvrf@$H zRAHLLTyZ%{fY%6yGdmyW`P$5*`oQ*I{510>@R_}c7|Ts%2_IW7-nXWIP_qBJv9Xm^ z1M&%CD+kr|G|Wg}RhoJ^wsJ7vC&gAyC{3SNntGTY^|6&>OULo$^z+9h`>%fj&uN$r z%Wk;%`qL(1;o&Y3NdT@xF7=TH=C{}brNj`P*JA)E58tpiyz#N{b;Iw*^&YJ~mlQf8 zERlP;Zd~sQhjGSJj6ZG2#rAPWEz4@dY#??3pK{vgE|HF88d5oSvCFUqJ=}N{N3`Lk z_pvL9;|AE6L^uSFtw`7PrN@?f$2EdXM-_vs{)<^KRNhZDKms0mV@umqiDSIHKD!<2 zgxuld1#eI9N1uELdhdE-A9}wJ{gc_v>In4SrVr@-8~8@>slL~e*j-9t-_h@kG$nkpt}*= zmFxHVr8HoJ^>-9^ z{}fp7oy{qePxby>sMV?o!#WpCXMbo=@#e09Z9U3s4X2(iirZ_Uz3c=%2J(*sCztbn z-v2z={XB)AmO7bQZ+FMLtJe!L?UDTb5XsjGM}!;tyCz0-u%cYJ_4J$h&BG9JqFwEN zDUBE1O@A!!dhZ@ch@(8@&&dW9Yvu^Ckp{AB^>}^n1KEEUo2>5?Yal8h!tn~{H1__0 z=RH8N)LqXmW-s70&+PL|?!e@U0x`#Ri{Px@pX7C~zUB4dfcbd}u>K?SzZKuF{>F1Tdd2;=j$B^Q4z(&lpne-A(4@DXpom>NRu%yjDEK9U2-Ezju2%$+Zw zX-PyTtIrpyRnsi}WWbbWqs%obLPi%BbZP3+iqzSaUE`_@7UfS_h`n)s(A1tH=!+XX zBNAM1`>Run8$^_*t+B)u*4Y`9-5sWcAq|aG+*Y|^?5KHQOvGg#w#IMnJtR1D$(zbN zTr#n_>E@DH;y6{N2X^;Os368QbGuyMg9+iV1_n^IeSiz5Dn?yEK+Lv$(*EESSxK1G zhnNL~txP0~(a4WnA-K*b`oYttyHZU(vDTZMPbf%$AxwI!>lw$^sH`$j!uT`+Irf#+ z_nb{YMc~#c%-cJi+j6EtR z(yR*bMXF-sF596LUl&VUq9)?qgc?^juwFG^am?CoZ3`LQR{C1{0`ZP^URSo+zUwcj zIGAl(2XaSyRP@8ja$!S0g3g_#?7(T+l)RL*XT`M@lE`Oqc%gIM0RW;eKrNPWb$uz^ts8= z=j)_^hV*IQFMW<65CMTMqhNCrwL~DKbaMfLB$V;h3|7lJDMu|PfyeeW8G%St#*OK}5YHqdxyCbRnM|l_+60mMAyQqt(h2J~ zNqoqVdnJ7lh+>;hB&f232H<}yk5sG+>enG9q)koQ{~r@*>3m#*IzQ zyH>iv&QNzO61AQWz#^mDhrK?kt~)mC(=-}VzrOpN6#HP^2okGX<2S_;>lMy=C-`TL z5ok^TwVI`1y0D-&ZjL2BMPM_Cw{o0=whc?#Tg9!e|$KsOZLY^z|@+cZgd<7D_) zqFmJ)+u*Z3s@BeTRg1QjK9=g6r0^E1pz?OKf#bEmFyNdr7{F_uy|ihs$JmW{ZG66> zqLm9{iMy%U74MV^W;T7dB-gf+2iLRY$8dbq1A79AtGO#Q@cUUO~OP?IbZN7gP&bQOixcj27dXkJ*0#;eRO- zcvp#>+O$S$f(`Zgl321uP1mzNP_9jmXqH%_TO_M*Ws%xKn`paM$q#sYJbga)ZpNi` z{6xj#k^?C#7`zZZ=lvQ*UU;Qq378=rITfzE5UJqha8F}d(f8N3>ZCppQlok{__F*lr98cuwdgYaPMu-lFS0mAu8ysYmQ zgq5wOPwm4xeq3B4OA~FjCxLa+cJa)Jwo;gAXSqxE*jz^}F1bcO{eprlFq=ZlIqvux_IO2X3U#)^d+4d9q42iUNC}fWt}M zCR3-Ja+1CCrBdo$ZP8geP!Z1DLq&Rs7mhpb#Z0{$34x40s=BK~GM8W3& z{kpgMSCyQ?sT$uz7H}z|QlJ__*>i%@~4eI(cB6=8)4; z@q1&5CjqJ}zQACMZ-BRtlAtpYH*P>W%SN=ZYO}zE8KH&dUIpAq1rz2Y3x&C?a-khp zupk(5i-W|n73+6;X>PoaZJ_LSM_2(?o45H#)t!|;DUdk@6R z-8F=5k%e*P!RXG|oaMMF*tTMo`VFxM&Wa3sF0rw-_U2gf9_EBjE%N0ybwZf(>=*U; zGvV&Ck-#rLg;v_#>4K)Xgqg=zkT^63k}mtCib$>Cvs;K&`J$`FoD8+4`b6zzwl@uu z3*yXNs?wfipQ;$`M>`+%9p$&NeVt;?hQowo!z0FeQbGUbCMhVp)22}y2Dx&4{4k#xpKfq0Zlq5d7>VTtWJ$L7yAc_JP-2|YR=$Q0DX>f!9zjwnk- z%1JyeA}K9}?Nfe>0XwuI9`<|oQpL8-;>nMu0@}FI3>KAWztQXovt6pIVu^b7jN!M( z=~B~Fji#v>)LZEp)G<55Z3nJwbxy{~)be}5ae>zHA0-#GAQni?S8QU%T06XB50FpBc?j{o)_K>1Ar3L~8~G|Uo9EnVJl*CMDuAK? ztem-|$uLDMZXnnCaqR)qRhGEc=2x@b%lXx}2)#{x=V2n@Snt=RaC4lTfz7xUu~s`n z#(Mxs^&495^4sQ}$%E|K;u8egq29Y~4o35=w=rmwq9eS;x{q@`6CHko7Lhkn)DKVY zoAF9;hK_tPaSq50z+{v{Zw(uLw=V?;bqJiYO3o@U2b=c3MJcVcSI#keU*hPr075y^ zatNcQp>x{VM`J?maiZ#bgY_7HoI}ocL(jgE_uX)?$;oZ`uxh}$Y3Z7v!~VXr1Lr(# z!*7nd56KBMobKO~b2%7za?QxTiT!6ySDVYdSo$f|*c}qkEVI_+bv#8+8~@dHL%>Nq z@C4l8IkLXn{O%Ph>s;?@_$(x#3vdjKjzB>9$YA_n$~ODDP!J=Rn8oWAv+$ODhe!LSLMRtHCGW_6ghxrhuMX9sz6H>Bb;)oR*c z?)NeNWR0e7t_swoWDyzcUMzCtL>{;zP+wA&`aZ`jOxPpZv_O9dQy(Xu6nWqqT*%Bk zaKo=3eJoKbXVRp6AOXA06?YEthLC{Wv6KV#^JB&;myE!ppK{YO!+2#-vtE=7Xzc z`HN2X4z&#{mKZKa>F*fNtYHF@smdLH!i1EYtvaq(!%SF-4ML7}YE}YdF+H|IV3^|~ z*YOHw{|)~1mD=v}nDIPvQ;Y3L1vPZN8d{;BuxLN$QLQlkac3@I;^BwAq*N7WM$8~o zaJ%EwdMXy^ngUMsx&~KSFo{`%%SdEGIiq`8Vu>gr@WNDcYuDt0vqTg5o2|I%o(kOsb z6&w!tSFke<6W?^$w7mE3aM`rk%a{^_m9Cvs-k38gvuZkwn>g3^<9cMbNt+*ejMwM( zM6)T*{3Gdeph!kmbu2Mh<#STyux_4&f{$RmAg)!d{if26S-IC}M+U`+4(4PshJ;7Y z*b2{gvGaK>&?^&Zu!iRbuCd}_$fb8g%5{sGTiqtdUL$j3{4W7myUXQLPBq7VIp*?4 zc*IRC7<5g`6?>MrmOpr7*%l&X&EDsuJR24piyy@QY+Zn#$PU32)CdqRbB7Su1#MJfsi zRjpw7!ZOF$VvFDw_NIs5VbHD>p-NCf-`R4x;Lkm2t&wOvOiwQioXkbjB z_cvYfbrLvj^Tx8(@s7|^{+ws_9@84~W3DP9WP$S0jAjHqM;6Q5=!{%?TOavmLFKQ= zvvWFQ7!~)gGuSg9o;K&Rh&>o)kzvG}e!Y;SIMQFH_74W6NtA z*Wp)_y&0P`TMj63=(^>@oe1$iWDrhC_#R+ zshtCrJJ9w=KPMSWkpio2(E@7cBL%A!7y3F#*Gyj=DflW?!$^UOSqowd$x}X3FrH$$ ziHHe=*rK$=e~OS6EVzqrnykh}T{IJUKNSp_lboBCG%M!#i+Dj8(9~5!IE5C_#6Gl{ z2UX9cwNFgb?S)4Nvj4`c4f;d@<>PHZFSoN!nJsPFt=k;bE|=am7yVlpt~L~u zmMrcJLgT`RM^e{g#zTq1cy)APQ1n~o`38|Dk z<04o48DbdF+7)3Nr?*p#ssS} zw03)JZWHthpt}J7uY#Fg;73xvK;T1%1TobyvAc1+gcdd`$%0n^Ry&oN2}Q^au7oe7Jr$i#U`wt6q>N1Ng?gSKDL2o^-9U{ z;?JlVEjz)|Mhbi4?XH5wCp@jtfW3=~1-w~cz!GNGLQiPDvOl=Mb3Tu1Vlk)fv1S}u zWS0h|l>s$;4~Or+bn-c~usqI-n&fh^iyXu;0? z2Q1iaIqU8zS$D-2Y=gQ=8bO?$=9B~43AN_vW@p`=m9t^TsYcUX-ZRV@ll6DKjSc%g ztMk8V!+r}Pa60@O(s!W^J6A$jyJ;UAmh(^F(T1I>x^`+G`n$kQ65r(%KSy@s^NvT% zLJM}Js^K~{{ZCu48(yX1`c3;-u(ld#Yi$J!Bl6Km6PJNxwsp3Q=xyb{)Mo871x+#a+1J9`|sarg!PF3}{om1~ofA#;=occ|) zbZ$l_=u_sX9rrMk%Zg|f-;>|f7cDlwQ8@si@#!mdVZ0t=%^XqJx(b@mf zY@T!Ga<=MPM(DV2iN;!Nt2Xb>agTF^R!E8O&sM#Jk{slC8AbV}z6Q{_c=p3SX@MxmXD4X}@$_Z8|JasN&`Z!+Zzn9fa!XUH9s zo!1sdevYJ=KRBW=@?$6uow^%y7R^ph1O0pKxf^qgwox?(PL^%|6ZRa3z7_a%vz48d zoyAP%@=05EP1T+QU0J!>ws4fM$sA02e0q9m%jz;HM^v|@Wp6pjQ!}~IavjSH6C*xB z@pnJKX+JoaB1?YQ%TK(Ru5L?@__dk$^6npd982yC(d*Mw%88?18cmIh9Hc!Vsd44$ zDOKqSZ>C7V(%;-;<(zQB3EFoeXKJ)@8d6anzMWEX-#xf>2P^UPb3eilBwCBZJrR?D z{K$nJTDT#ikeR)JZ+qBJkmgbEpL|X!`JfyJG(xwhl#$*#xMkf4ju;BY57l;8oJWov zaABE9=9W#+qfFhrK~t`v@^Ak;`1%!~zYV^AL6`sY__}s}h_BNbNHM;e?+WpC$qzlg z>Us3f;A_nzA-*1=DUYuJ?;|KL8@pR>NbeDCEqv_leOFt!Kg#9zveMX9vWY9Uy2h06 zu#f0&K7x0TI3DMIa(Qs}?%>@c_5I>EdTXC764k3mzWM+QvfsPy<~*LVla zcn1tT^a9C|T-D;PG5aZE;{dYpA8&lWM-*{;9j}rT`wbb~+Fs703Se33etd z;D|BtzdjI%MtHBS&K&?ICf2SZHV!>C{K;2eK>;|?_u`K1r^l2b@yI=DVIR5As>=h* zz4EhzGNgXV2M|gx_!`W91m8bK@JZ)F?&Hx{Uy|@wUYO<>i7ES&e+1ggKSL_!=Y_Xx z%qIU(-^o9Z_Q%ghk&A#RVC7ybvl!Zvtoq1`ik^bL&+(xPF*!r z+u&wIy2hOHQgR0<_t_l-%Gr6rIPz;V zM+2(H{2#E2XY{txiaJhk9In>Ed@S^ub zx8EU{XT>^HMh8l|gLhN*w0VU}5)B!xp4|8st9Z?bwwdcWW;0yaXN+s)sa4oQLz>g5 z1kPZk3Ug;qg%(1U(=FBO?&`UaEv2LiFQ4RA_c*0Iz9`muk-DjaB`=J$&QsUKuQZgP zb`clD4BJYhi2Nl)Kun4=2qdRn>2<=0j#a&l(qU}^&oiUJp-Oq@~Aq9$JL5IF$ z>TOXZLjVUe@%Qg8wda9RWKv))(}fy8L$$bCL)TR<3L01E7N5A!#TL@wliXSw7SDVx z8g?sQe^Po&<9%4rN^7cHWGEmQr?e&|+OI1}w130OGQRmrP&B&icO!!lCECw1xH&!v zF>Xmc`$?hvI9Vx+O>Rk_JOOh-Vt=Q^#}vT@n!C3jFr_lT6Z#ZVz{3c7^DyR6Mers4 zd?|>am%3u^q(_Ra`j9IUU1^zn+>){t{8atISgTSF zkU=-dk3*%d_`SwwbqmQt7|Mg@6?zQkbLSvYI?33;W%Gpv8SMAQX8oIS+r6PYE_7)N z){61mC)vGYJ^*F8@7@vQ2qXWU=8_)Gx9`t4Mp|NvH2( ziDT$YliRDxx8XLI4(m)o)=9C%@Aa^8p`X9%7f#SRk>k|V;*o+%5z)hCtagh(Oa>z+6Sw~&gMqDj8jgV&Jy|j8>uA9*|+UXj^Vtt3F z6(;uVr6-F2p@p_mU#g#tQIF1v zl~ho*`bDY5r}=7K@dT=bofn)LjHBJI>zBrIH4rDtd2UJ7H;3XiT^TthKsNrPrF^-C zXvD%IsUk8IxI_$4NxZtcefa8@HwL9lE@#w2%9dXLt7SdCn6^k+E~wiAR3yQ!rH*TX zSKBPA+lyzF#zbI3To(DY@cTQF7#TLS1ZiV{4mZ}y!-K`b4A(e)R5E_Nbged*#8=yt zW0yDGC<_K_26YOOTluKyzi5c0KEBYWmwO9?YnYj0QMUgNd+#4-RaNi*&%hBUJ$6Q& za=J}OMdjT5bfu`6AmfJz@y8H}qxfUgZr1g7tq^Ar3lx|+IJ@mOx^ariG3wI2RF+tb z4a&d(6AWsGW(mkBb+vnrLtaudByv8_*L&@Kehf3iV14`i^Tmf}_FjAae6RO<|61?$ zUUICdXwh!0csB10Y8vCJWs z2`NIXweH5i0T9bem8))tUcVK(IPt}>%s#=dPgMN$@%L(<%z34mg`VsEgdlGFgj40$ zQjxjl!oA%J6c4{n)mxsK&gCbZu|)I7Rl0sPU4Byg5VMq#DQ{eD9``G?65ORT#`;Ib z?$Qj|sh|N_zuj*$0QblH1pj4oK*2HspOagqcFa~g%A?tFl1Ag28X7lm^blp2T@10z zoeNkO&K+V0WT2i22>tB?H+9R=7R?N7ljiD-HdPCWL&eG?2%(+z88&GcUqBiNFJ+|R zoituBcLiL}ZUb}&<|@6^m4G?X{H$d2Tuphn!?kIiHuuo7i&`OW;7(YIeIBvZl+f_mgz1ZwC$?_8Rt;5C^XkB zN@l&grhYY-21N5WOUy13{tie|M)=!d!XINr{^LSP6aKVsViz4Ins+E$jxoE5!%G~- zEM5?KMHyqxc}4v~Wro3-;mI)P?289MtHKC7;USrPEJ>-Ane%Qp@$P65cHTxdM(zm8 z1rZWdw0K5F63x=hhbAeot8}>joQqyaRE;x<$NSo#;L zi@a*-)Et@~i`efJ`C!Al)FBx{xa=HBGOW+^7FQpuS{iayOZA?KbsG{(->uHzRzo=G zDPz65mAbd4-385S+!+SVy9!BvU6Tu%*Evwoyo*IUUC_L@>2daeLG$b=qe6#uThP4j zD0Eo!TLFTi)~(gLpj8}O>oyD)G;dA6pm~ZON81x?yAsR3YqYLQ?GF$%?>2o^5Vo%3 zpm}oVQuE`~d|kV4za(g0dp>C1&cdL1cWQw3g!_X@*bURn5LOU^=GnPMx_?zUz<0)| z&na``hDbs0vKif=Q@?h&l*}Bmj<;}Q%}gAz7AQB9TJBFCQxp3leqZ#sFS#N6ZWbr2 z0pScMB0O}~f@7GS!LvV9xS({`(svie%@kX~qdT!Itr2m0XJB~Tq_2X9%||{coi=1e zuwf`PitF&*5;ro-Xli1zyC5i?*b&`Rm*^+&;6mdc6-a^(eC>{1s zt6WC~seH9nUTu|k{T1=(Y*HJ$BBV*R4g|1HCEk?SlV3bTM(%gsnp&d=p?){rx+eNzX8)e#hGb2$`PCp#LT6>-af@!~TV$f5IL#!xA-9wN#Gk3s<=1%fY-YlR$!c*g~f%)c*%EaO*{ ze4OR&O^eax%xI=Uf9LCO<6cf;qMp;?N|Czc2CsgX*SL?+wwar6!@{%K+tReTtf7)a zZrIU%E??x(0@3D?JCo0NQxx9|0|LE>WwOh}*r{zN-M|W{*tyyl5PU3}t0utggQBPU z@;>`g;f*K=Am7JA_qO8k(+7ro|H%XRXGCyi_AtOd@|38H^M|O+AasT|)7cb8+}m_5 zW1`7;zi4|AH*qW^GAMZz>thMxcr-hnJ(rdvdv?3xaA^~6f{Wl)6Wxo^a6bG5adeip zL7uAKhTQ~VS)g}ksWZ>E07JG(ysg0kIan&6_{Sn(mALP?4S%BE_qCk!KBCGOnd2GC zmG5RK?}xSZekWpNQGe8xN}{#JnXn4A<{D*UxI>oMNB~dU1S7(YDEQx!{bxXH+?MOc zw+Slj!i4e1DDnL_3=n_pfpYQ%reFtcWx{)=HE3O-C(4|^grR{)Kj!bYR2gle&na$K zIgdQ;a8j*Aph{9Kl9HE>^XLUJ{ial>wy;`&!nV}wNGtK0-=NemZdY7QS++24m$l9I z#T`qn?I2}21kn8ewEb^CAK7%O(jhfEJ$TU|D;8mSEL#sHj~nT#iunAd$YJ<0LrF03`l)|R%P(9 ztqaRl5REH!ms$XOg&I_K>z#yhO53>Tf69t-LySSedtrc>WB&|=D1g@{MSgNXdqAP6 zybc3eYgFU=s4+;LBgoR)<bOklJJ$myc-Q-$wOtz4gM3Bi!EN z1?pa)VnNzhp4X8Uv(66~rN z@x`@Xs4bHBFkmadcHeSg<^tu<%EL&i>|z&fdzHvxK<{;{mfjv=7tqdS7(Z# z@J?0yPa1_NLjQ6T!g2{Z52q-A-t$aJ_MpnWmvRmzyzRlXs_X*t9-V$ampFF%{lzaB z4b8m3-@iBgeq^DwT|mFj6d^j2em|>D=IQq+_nN2QKO^C9K)=6_g=28~eHM)jn|>#5 z1g&!P`)8k5(IM&gcbNNQpx-xAV}A7>2Ox)}-|KE3h@$kT-y0W&^n0VIqa&F{z8xXm zWJKIZWZ-DKoroBSemgz_m6@o9k3z&nGp#1k%n#9rzdik4x8UgAIFgtANcai;zK^-- zPrqNF#*lvB##|K9@9Ao7c=Y=Mns{yW`v!F&N54lJK8RuugMQx!j0dLQ*Hg`3L%*-X zV|8fyeZE>a7W)0Vu(L%+@Kc$Lu^m~0o_uV#0W1W!lKTOoPXJe64Xgd{NJ#^Bso^#L(h2^Y_zpK3>L zWYdTMdpfxG?OP-QRsW zfb?s-yc+L@Shf}@6Vdc*L6y(2ZmZU-#9?$@jjU=x-m zQf|0#(K(pm8%3PX32^p3)w<1U^Pv%nv0XYpiDqRH!oSHXLL>I4SE9d-@Fw^(#|D>F z>LwOJhTptKvGH#{-=j*m6wmh! zOx-ch_myGCY`*`ArT^E?_q)Nmqs{m0{R!S4X1n^qBj@`E^Z&n`Z&vp9k~LK)lyQBh zi)S9aXWyIec)tHbf9yT`ony>DZ_xZLxXTuf*WR;J2hBe) zd`=lKe{FoWt^}(u>n$VxUfKCrQE{F8;}u?a{Z`~*s3}_rcur$|X}p-jX8f6iR|0>= z;!e$<6XxJ!T@e2leB3?_lUGTJK8S+sup}8dN_rnsLc1lzE#W6h_%BPqi-8>9gfNEo z_u;j#J7e?hYdwVRN0-T-*T4M<{o8-nAnjvYd6s(uabBHW^M@PX1~U0`;`#phv9G}1 zR&-7(ZQ9*8wdRF+&jU7HEE~q7ty6gw!bN3rSuZ>K%cnF=T3*ula=q8R)q9!oU3$qz zG~p7!T&C+0uP)y{QtvnjHXSOx>A2o^k%WNcuGfoYz7J9MFaF8l(w&pN*iXncz2=3R z_L67Y@ul)OB=svzU1i2#tbTf5Hk;tQ=Pwvdm@R*11y?5G8WQ{R`3p|6?h`$#;>+jX z{NlFhrKP$rG28&zq`9Df*uTsar~7FE1g5NDk_*>#V=Nfo#wJRM{0#C{1IcgH?4vQpxdV5cv48?^YAoy01EE7!=VQcy#w;lbQ~`8ISrjd$gq+x zl=<_@f{K*-*mUUl`KSG9yE>9c{hnVr&W8AN*n4zycEpR{4U5f-`(KC`6f2L4tqzOj z@~e&VFsDy1=9Y8UPt(EU=bz+?G=9?VUp%bq^bWWtC^E0Y|3XDU{bO8aY`UYGo{PzO z_ISK&2ku|uz7Z`W6ZcImZJAcu)D^c0Tu!;Lkhin<-?@LTu%4`45?YiZn_s{AGyXUr zJWm%N{r};ao0s9ivp)MjSPzyvD1)!{*(ZwL4c=Abo{X+HLr|I-YkH+*{xohS4Hg|} zN%rRPeet5+l7{y;y;AD-6;F^S0Wp`~U9pnDSSj#puHDWx-gzwLU|mv!$1x1;r7^ym@@67-C1)}~iW=8uM;@E)O=i@Ti`}NxQo?cP#4@cdTYDWzP9mbRYM*;WyzlMBmoTrRm&liFtge!?FfF zeYW1D-QLBy_i>$Bxh{Zj;wBuKNyh8pDE{QJHB-kXzS7CT18y^S`~>=Wp>pY(*M06J zh3;x6N}YdN)1i`EMmKdg^AC)S%d_xRo?gx!ZowD%tosj-KMzl=I~28~=A*I19RUwL$%@21n}dpSoKSjV zY>vnM5j}O?J?wArzxK3nxgt|fvU~S~d$LdOyX*5K8os`J(eDyJP5y4zNecb{sgp|L zp8|Duf99DdDYE-BzeD?Qjb;sl_zzn9w4?ob3P2xwq0+?|=a7~8A1X%^5M{-$Ty;mMu)PEc+F z0D2ZFdV6xQl0qlS?a3DRCWADI%iW(9?$1j1=T7~x9>>RK-v8~AlJ$0@P3t;{e847a zFo!0Cw0^};Q(Yjmm+s~_bH%^NEGct)xUD2Z{kYB`IFqtoN>*a^d3^YH0)N9TCiy>a zOG%F`VGly=B-~@t&M12bq=eRTdvyCH>QUx{z?pt{YuyvRj&0vHM%cxF&Z{e>kCWId^rHjr2+;C^aw1)6Q z2@cCboGwu>QZf6ju-~!#2Gc9O)-t`Co!(2A>$$bkQmXWu9;4q>Ct&mg`@N*HCanxo zY}2-Bl~NOU4|*xJLgZT45OLDjjtc6!gFwCV(wdPVwOr3^pxLfC{r~jE;89wsx)JIS z_liv|ud#6~`l!@>-=6(eo6l4W`7~Fz^Ea?Jp?HvLR;@9>ZSya@PTADoy+*a`E4BB9 zRay4~8(FKi5I7|nj0M(Sa6oT?K;uoVz%|293knlc?(0hiN^LKA>HT_6sis8pPqiOv zaP%!FPM}ts1GIx_oSfP9syKBaAARed=I<#26YDN^&Sw+gKh>ok;0RpX?6p2FsN*NR zXt|fVn<4lqrPRFY1upvW3a_Sxp>6a z;S|E7-t1VgRECh6R}hdJpD3gs-l>j!uwF8A??U%UxbX+XhqWn{M~GpDa9qS_&qd5w zAQ-94VkogI;Z|hvB6KT|T|D3#T3)sIjuRabY~RaTF$6TMaLok5i!4^7K0AL#uBu!c z`KxZQP1{_lI=AzcRwHaV>K7LA!B5C?dad55Vh0a}wsYljOF!KET=374HFxk4xNdi- zN!8g1Vq_oJG#SPOt?Iyf+lMv6B{vK@@*`??5NPVOoxl&%mm*8@;g3^MhibKova=y) z?y>g?8L3jjcb0Ro+|D+q3KzZ*JUd36V3Vn_JG1aCAls(3r~`wJ+8U8%4G|)GR)t-; zEN1K1@69azB(qoP?MdA8OK%PhjbT=U*su6%)3cSHa=gtY6Wu$odW~lU=AG-cYO=h! zWgDR+W}y^@%=lwzNi%!k%kB7v2mnI>1+E$=xs4=E@UOEfMrk08imoz zI$JknXJ5QVowWwS&W;N^dmf!tr>F2YuoEyrFhR47)X_dSG6!gkgWynf7NMAKoB%-+ty4zL(!4x#y+ zmrD0wR|b!ox?_eBpJ4>+$KmYba#%OPvim5lo{bg`$Hv}&4mrfPGOgi<CKZss1 zgK14P&wvE_ZF&Zz0st4N8qM*q(hagrTgPa$nScT4AwQ%qkkbB$f!BzPC?Vq>?-~ly zHZy8^#8uXpjmj&-cIIT4W&Lz@PL5M0VVS_@Nhy!iyZ(PP>VJ=`B$E`#+pKOHyA)gr ztQ5;!(v2&gSxeI;Dv zvgErzB`o96Oe0M6@BZkp`^$uxxjw99+zw+TP32Hv3CVt1QzF9g6LmeMx0-|53)NLe zS<{AhWVlGRv>NC@)N}M^sH|~+KyT5EW)<)&ES<|yp&SnI41bi~A}*KxPA-4%-msj5 z3+?P>L=IzmzZ%lz1JMHCC9Hrn3MGs@W=1=JWR|g%iPKYah(O31-=m4<=b^jAwdPG{ zd(W$=nM$Zpc^!DcWD*m>cgVm(J-^()NWNYbiTg~(gp|YhRjf_z#}GR6EIQEQ4#}q_iRM)&ia6a)M&H%asy2fueZh^uXtj8Sk$4o{7ZP`zM{e1? zQfuvlKG)cD;*R&|lNCtZv!(PvQQ5f&g38-dwJn%NwQ<^}iHT`FB<}bcMWbqbo`tiC zdv^MPK8L^zVkZRSw`KmK^%onvevEEi(+YX`3QO?Q0)Z{@Jub`rKbsz|`R|dXXB4H3 zny-|By(88`ZeZo7V1P#N|~}xfoA@xT-Lc>E|?k}flhLC)voW%)L+JB zosR{nE7j=5HmjL`RVPK0QfDa@bpIN;H0L1|2ThYIhv;3!zzCj3zBQ$di8aSHp6GV2 z>_huP`8&0aS1lrK|4UwH+HTgI|E)ra((c-ty!HYl+fT~Q| z*BrStA^7q7?OA%ZF6+z1?u+XG_6++HmANoq22qLcPFM`i?1OfFW9AJmRgf@PEdBHF_heXol zbHaf}o?#UGn~hZiY}H7SGW1J({{R9vz1r7M1F>v+_0>?^DUfp#sXx3#7jk0wWx@tS zQ192-k03vCj#l^$<2bwEQ}6eCjyvl^1U@kYc7j+>>ve_bn-j#guy{b<#+sg#GGym- zq{B7g2PP-hcL#QGN{gsQ_~}%@Hk02kQumI6=na<~iRg>9){7ARN8~C-^ea^kM6VnS z(e>f4LG)gxy9m)Qr^UZ7qE~{1Ai72(MDGKf;XIro9I>hX>(G2u|3Nm^{k;eIK2Q@h zPo&>C;7<8qxT6n$4es1S=ZkP>G%fyp zacA$PhC3RGaAz(js~r338J+zEFMkW{=>}PfhWWwSfA3-b5l9>MJRw0Phdnbj=MgEq zET>9C7w;io^riP_z5f$Eo8x8fB?GZzkJxehCl#FUC}ix1A3G8i*VDIRRQw-u6{BKW z=qt4N_eI5zfhLeKjYO#U>;a*o)a0z>69?qKj*NW-yvq&J zaqGJ|%w)s-J8|plfwLjv%!7r9_%op0vuk7L1nw%cQz+qGWk|c)1bD#A{*bH8VfyPk znLK@+Q9=`RE5=?hGc)P!l2yfT{gZ3<+;R_Qpc({k$>z6w$3uSBr^G$m{2R)ga9_F$ z3Eb6|y%DbAU>vlnVrh;DiY*^O^fdJ``-ALkFM}ooB zOkrnf|s#|TDIN6V8Eq1n6 z+dNXwU&ru$vt!CmZ~-k4#KNy{_Uo2=Z97H(vCuDC?6sL)o!A+iQ)`u}+-&a;i}1H? zu%%_sDcR4xw5;o#mcg z)H;3}&h=jLc15=MGrhEmU_s{>2ad4%i$a6EmsY2+(5JLdFfmZ)8n?PKfyD_GuIyUI zY-5JEMPil)U_N^ydpDna$#&v(=C89H4K#OJ_`g{dI(;1N>T~*-E4<38A4H+V6{CFI z%Ub7J!p^lN)Qq2hBa5lETRm>OScsc?Sp93=sg%IdFX0&cUcF8qzU1px}?F8>f2y9;nehMI+16^vJg8fOM* zyuhuB9>}jV8T+;6erbNmvl498vp;MWWmdiI506ST%Qs0G!!<-Xr~F`7)W%I3}oSgpl&vPVB=Mz_5@3ie=U`eXzQslxYesPYo8{4xeiv&-wBU69W)~8)hn*SRkVgJgAUe|a##E|G-)kKe9jE{Nsp3VD4 zZ9X(IIH$bRuWON??8s92MJJYhL2^pnVms;@1V+cqe9T#SN3Q0@0t*%G5Q*(h&kT=& zqj@Q#q{$XDPGN~Q;-y_p+Z+v2MkIyI3BftJ7$65$ua{C=vXsd>jtfaMbjVDS?4Rlj zb+#HnDyUU7)oK-44a{Rf$dp;{EAXKiMm2r48NE_|Ar_zDx`K(y=1O05?iTJ-4A3aHGPW2PSw+ zw)nU4@YUQF!*7_I>|J90;y#Xdk!jS|%#XMz?FCHk*+WP@TpGwAI0C8P%f|Y1$ATwU z0*=h7Gnnbrek1Ps1v=X&BiFJ@0=;jWTw1cd$RTR`WMBZIO|H-%MI@OzR#2T_5mfcT ziWe6`7T7j5MqJn`D?4Ha7QgLN$JoL4%g^xUo!PYItN{y->)cK`{%xNkg@r#e^hc{s zpgC({ZVmaZ>Tja?X#%GSG(l=Lqs=Wn=@&~{LBM25~WUaDOgv>LaPL9{(+ zEmL_G#J!|28$V#}Wzzae58L%-{UO6OT8tWy?RAE`OBXT>*v4|^!f4q9Y6~}#U{K<& z-(#8QH@kjt4wX>Zf9Nmc|0aK(U0c-zy!i%)unrb$)0Q!alIk~bzEU)U=mIHA&_E7R zWW8-bIxhz;Z!-R5Dj6A{YQ1d=&uoL*-W|Qld{rMIML*Q&D3D2!;B*<1CD>%PPIF~) zTaW+j%48mNJ;?l48PpSlxq32JLn3fS+JLNfuF`MK8Hxu=lU6L zuBu-@pX@qnJy*isa46d%3i*%{=&;85tuXh)(Xf7`k0B72x{vqoj7ol)kNJ5yRl{Lk zPISY{jO1^qc$KVW-P0^wP%uLbn|Y?o!d z?M-PoCy}KX?iV;P-~Y>~o6pg2f{TR$&*6|EoWoy--?*i|-mwPbP<^1)_sARt6K$7{B7E6*_8zUX^UhRg@C?EGEyjiSoas>k=FgZG_Ek`58 zA)gJIG>nltwN}b~BV!<;EwuTc&rya%^Vx8V5UOn}fTXiaaG5O{IU$MCD+S$@zAPLS zwCT^m)I1baoE2uBju(RFwWn&QtE8uOpC)*e-=>MK*&U?xnfH|5{fN2S_&zOCQOMS7 zK2kVg7r4*)?Z|)Nb5Bb3Yn=&g=Y-Rs_2U4p1^nv&0aQ-^hls2LQL^lRL^#>jtTCE= zl!smmX;YN>BYR&YzcyemPfzj36zRZCb+#xUCBbmLcL`KH-X+U=l7Jl z9N2x7hr~Twof#l#RSCgwN*OTIvRP~Vc$c7Kc9yVfZqYn6JV=fa{V0Uw|9-d-lBMo* z9+Erx+>=t9*?WOZv<|Daa!u@VoG6suQ`a$8ZfVl^Td&u1TEAZE8cWx&m%diNA{eQ; zmTK>*2A%^;VaChY6I3ps^=^0F?k$0 zz-x8)%hg&3dSiZbj;+$P7bSh8{!Xcfw4&<@4BTqQS812$@HenGumx#n67QA!s*Im2Z%nX!1SXOYuS>DLR!>$!HhpVk9c0BQiKGnANI>7`%N zYx+!Hn=)nizc&+YS1RGj-22BT-(@KEJ{IYk>BA%k!B|zmU4O_kk-x5zg47s(ZGa5n z^Ji!XN+|@3@ikZ(wf%MWNDPp?uWXjoe6FdfpsR!iDP;c2l^0>!2T7 z3KL^*&T7=J0GD}Xu8L~}5xgb=FO4IJk;hNlZ!KDRiC*p3OCJ_YQwNpPeu1FJ2yW+3&(okRM46RnU;2kMyGX%Pv)xv}PytrDZWmDBRbQ%fg{p zdZPuEUHeP&6`n7AE$2I8I^S{a2M0XgVc)u0%dhc#N7Mc@-1%x3H;Uk1!K|3OI6>zu zboI9jYIp*cZaK0~sD5SfhtTo9!dGr7+tGMA2P48V4VNF8zp{Ea`5XR)n+q5IvQPj@&>Nr2a8_TwjT0lkq z%qn_4!T;D{Z|CNHvFe>c)smXs4R2`bofJ%)AawuX1VBHts%Cd%FX!)-a=}Ejj_Ib2 zg<+!J@iXwDk=t6zIq;bM^CXD5J0?Z&u<0f+j8qOt-syZRIP%N+n`7k*?*MlXbsRym}KG%cS(0(g`EQZI#Biet%0PUBC?Z2g8`%H(<1Lt|nbuc%s zzTvEI_TIw0>NNe;xmG)}EtbS=)R27#N4M=?-R|eZh@o+bt&J5rw^SD=0KG+x))A)k zH54F#H{W}>TkKk~(ycLFdg(4c?*p?qocsVhjJqG&IVbDe{hE#(D!cIyNgTB9^M2U3 zE9SjJxQ_9<`L{9PQ+;UjZ$|`+*0}pIOCR)p?d=YxPI&RV!p0!EFR&ZSRK@-eyqc?G zcNoNMepTrUl)zk+E3ry>JITxDKdtyS4pekKj|l44(5rHnh>%(V9OxlWy4t93R;M_T0 z2PcD&yNlGIT?nU7Q0B0A$U(}%$=eO23``zs#2Ag^k}3z5(w*M6!l4U}bao4!jerfL ztjGY6vVnco29}4En?xX$7Q_T1cCL96*c|j6w75P&(9-Fp5JY#62U>NjB;bFW#~wS` zl>NC_z{^VCsxP-G6KsI^ivaj$-n7=nu~wC|Rf*RsOH$L=`;@n}_i;N9v9))9h`J7c zh2Ivc(4AN2o+SwzP)usu>S_%m24-G*AC2sSri!u}P2CbJ!M}fGuxM9KSmclxO@EIy zdp{#Gp;7D%V1AM`gvNaerl;E9q1wlf?R`ui7w}OXDxeQOcalsW8(bc%*){+4=sY^n zN;nolf#XG$rjM=Jb<=(_Vy8Qi@WlG?JT>{#%M^xVdR+HKaL8`@7+o|oeQZdg3ILE_ zzq;JFX#GATtke44$3vo7(QLJTm0Y-fo8N>Y%&h=yOK64+lSl9e99F>yhra?az+pd7 zA~sci3z1l5&o%so?FfROAitux_OzPR+p(GqiRM$ZahuY!-GcCsydEZofuB~AAE*|G z&^~w5Z4tV&FI=@=q$MDw2*(Ai-@Nx#YbDX#E_L3jshQ0U2|IbUnggr3&1zn>h5+PN zSycCQ?!j8#k8ap%Xrbc6uBTSOZ&f`(htS+XO3ZIpP?e%oG+Gf?}*KC^>rvUeQO7x@zG~Z?}s9jUA2&;f`CBhb&Q47f= zn7fRKwG~027Feut*`S!azFA{>TGuEaRi8SJ1!eKvC7vCpH@Ex_ofWOL%>VM(lTwN7 z0gWso>^AQac^5Q=DTNb04>jtrcM!0+DX%^Vz1laz+rs_`*}-mzQt1}&*8>yv)9B4% zhXH=t3Y=Hvn81-lz1R9!03y42*l!bR8fgy+I+V%?x1lD%UNwPYZxzps5#&-Q5Gu%!fm}k4PZ5lYz z?!9Cypbj~DG)A!;=}mhz>3u!B@0$Pq9v$r;bH%RC ztDgEp{nk*FZr9ej&53QV7tP5z_;}cHvMJ2U`h60m$3oCpdGU6;zKNyT`>Ueqi1@=8 zg>R~lJ6TuV%AC4^CAG^Dl~_u<5Tb8W-h*pZXH3?u&EA~Dy(h9Wp?!?=n>J5sI@Cwx zkm*(Gv?89^Kll&v50>n|P~;F%uD(JizH8YP(3&0Bd18H)V+dZbmxM&~pJ^(*!t1Iy zCrVwg?+$IKFRI{%;yxD{d=YmtRQU0BB7@K4@>o^IeLlg*Ld*#)e-$@|^bwmK9i^_) zUsN@6(sJ+M3`Z_?an7V4qq{>UTzjPl{aeav4knuZONEU@`ls~7w%|8G?OfTWHqv_b zBQBEa;%%}w!f&iXw^dC^;@>3FTfpXYXESb6lk&q+w5vqwhh?yi*>-^*n{~0Zq4!3z zVunVFvQ3SN=AXl1q|7&{HA};^{1y!)ZO$I8%4Szgc)Mn}Y>eG+tn{h0iXhrmGqi+U zP*Us>ROee9VY^S~WUHvms^G>VZ|4jy9?)BxL8IcX(w&0Cw4b3gO)~C(b2cah13r=1+-h z)LcQHXx_t~Jlg7G%x{N2>qw5x@8_fPwUz#?@+p3j?Zgt5pNE(pw@drtOA^iBQ2EEq zbYQ2qky8YqKj^kLW8}E%`QzJ5UzqqY;=ykvH}SirZhxrQS}nA-?LEE8{{$ zCR=WF*N8EOqx-`@ico9(A;P$ph{MKFpbW{OoT~Cz>DhErVF;-BfImgY-1;tpL3NWM zup8S2vp-jhE*lh~%fIK%F<{3MavR_KAdiVJ?&0^aYu%|ljg=u^2VPUlHCvDPldDi( z2A&}|%*?wONmz}yTl0i(P@PIsw))qFWsAm7-$Jp#I6Zb>jl^B*GeVRHVqzN~#{03% zS!pQAX&R$lIw<=4I@M#Mpm3PEm{#r^L4erkYNv{|((l>~FIqMEVS23H?+}-zrAkpn zhiUKyZJw0N1R?2|5IZ7XGA|RJ$0l8uP^HyZyF{_Du`>TnK9H+uLEIG_^4-vKb*o6t zImweIDqM{;%Ieg*q$AGjNbCtQ=OCssE=*(N{+n8dTt3rbEmyS%Q%ieKDk8{Bxjq6ir_l{1Q^e>C!yQYUaJBHt;#OfCu@mzdDZe_tiTP>U2 zHpI$uz^JeEXNq`=dW`4Jp&;QV<+Kkm2-!e5Jy}Je27Dv&xUFFmI(^2`!E4`hm`@^PXxC{6uPd89ZcW4 z7ujbdcQ+F)ulvvA_^_d8BpdLSIS~TV;s|nLbAN4b+RB=u{6>ACA=WiAUmfdabcC3RW_RCIzA<;XCQo{`4i*~aj7%H zr8*Y3O@sJ{*Ug1gDuNkb96tWz(r$6bB@{$KaNMyx!t2c-qKM|Ss_I9Kb(}@XP`Mg_ zJKoD|^`xxh4$BSe*qx>nm?b`v$1L#-@s5aZltp~QRt$V&>)QvxtRDl%0WfR2E`w0e zpjdl^TvZWrJo*sw^=^-eSZ1K z*jEXo!C+=2nn&q#vJ%8V8uQxLkviE4DJ49L+K#8PU$Q|ZU0|1PHA*X!ksD%($0D%b+=uuvX&pZIW3rQTsRA@ht`kn4)XtMAR&! zC626Gj${>1dDV|gcWKJ+urfB|CSvr&wj#keeYSTbq5K#@>gC3l4@2C%UxNlFT7=va zZPOvZqJ5F{@RPUYWFrT#8H7KLyPB$&r=A?JrqJ#f%36z7MU{OjSDEnze?~mG%vnX3 z>#oIjc)!*qh(h~WuO^zWM=rHBd7@aYNF3{t=J;% zYal-Jj)fBk#ssa|2wInuGZeIZ~Ql~mr*dISepucz`jpkz0S4c){SOZXj7vO_=vTk9%C zX!=WMh1_#C^%u!>2v!b6uTm~2-wr6*o<`Z%CfR-XbOvbL&drMCyK2%7huC5B?wbe? z?%9Mn!S(1u>Qbx5C?zm3k}f&b7SBMyD8!uUlr0{R6t>}rs@IQ>2Be`}#hc%{PlTz% zR6gsDtf;MrMQ7UVx3xwY_Vo z*G!AqPf>&4DwgB~8o#2c^w+`szU+=yzy_y+ZPntOPXk#+7?nM3l}a=DA19HnWHrRZ z7e5Ls3fGrYB6F(Ou$JdKDl5WBhcueCDAXJQfR}7P(z*(bCsfnSqfR#o#xlRfyUA%q_aLOQR5&r9 zYN}e$in1@^G?Mt@3`B-v0EdFs;M%DnU#LCIHh^iVIy-bYykY=Tqm==`P5+PwFzSQ@ zFluKfHK0Na1zi@P1WW*2!RX2h0sIPQ`oiHC19&@!9ITCV9e_m@Fvjv?JV-_ z*Kw3^C0H)&h#t3-1`!1^&70!_G`w67R*IxvKossPRgph^fV^GA>Hu=B+lM}{CU{hCLXa3 znac4KXL=ggn31`L?uF(igeeQ)CpuNN6dCUX(WsZQU+-V3Y%)hwYH$ki=tQfu0FP|i zLe^pS2R}O8P)6AMNm^JjE^*J>)~hRFA+3gIRm9KdEu4BI!}w30i?76TBd|QfEZp-b zH>0|qU{tsO+cd?(5vV_syE9W58*rwH2z@Y&NI?TFLUv$SliNZQV{o`?mjPuielA*# ze=x#t^Jm5!1uCpUTPw|8^S`EVZYY|>g-l|WP3^wyCd?d#81{Z9GiTw+J`Z_iZ{hhO zYlrOzSbW?w<X?X=wns!8&sJOHLjPgfu360x z_}k9krmi#1NE7n4jWWx-3szZ+&fg_sKtDub$c;L`A4`Dsc<)KM{ny)|JvA@R``>H_MIK9bQlVG3GqdiyK!yv+laFsN zksHpDTLo{V)nG=2bv(r!5zC`?H8L++Df{O{Q}~(-t{agdW=W1A@Nf!%bT!sd)0?nyIn* zZ{a{L`=HP&F7vi6{>k5V^LHi7FN)nd=zRQ%Os{P|I^J-U`Pd6W3^X6luwa>wpX(3v z(Z--OAEAE@Mj%b*)uJ62R0Olj6p9cjQos58GRQQo?6NDO?U$nRww-^vl^+|-=DrQ? zAnA7#i9c-&K6u`=$}7SuXrG|9v)QgAJ}T46#Jm;%1;3>C^){d0qy9x@B*r-czUT%2 zqBu7NyyTte?Yg2KX9io}!z({=YWc!}%Nst%6$-yG-i!Nz?s8;x#xnarVg+%<#Co3A zz*Fen`2As8=eNusjja`bi#H35l@zFXv5_4%d3;6QN4fn;`Iq^lxXR$8IKlB} z0u+gnz16>@oWYhwUjM;#yZ-KLbR?`O`qKL=7u8d3X}%F=?-Oy;`@?$wukaoJGOJ@Y zb!gT%fjv2DVf~RmV&h>twPUe&|RE4e7r zs)q5~{@Y&3Sh@lS84iieIa6_8i|zil1Xoj`OgN)t4NG#BL!$X{X(RQRz~hjB#ka7T z)Y{A{OEgcEwBMm;E*sEA@bTrsh&t&jvaAxZ*z%pKe64zRPD2XQKO6h%(!@Ovc{9s` z*v}(?^q$P@je@op@ENn^5(E!W09klR8==kWzehW?GAhD@#K7x$Dw z8n>BbIYCw{=fE@c4E%MmnoGvF z%Q(x?$vLs!H*%IuiRXOzFmc>sUuKI;@6AspnjeKp$odE z;D2VVp1`qG2P=PMPX)VL&XySOnO0S3o<@Jr0A{9M?zy7MYg??r*iH6{7RhHoHF4k7 zu}$i#*D)jP(<{QJKr>_q+M8~Ul{TEB4Ld98U(BuA@wL?tPE4ynVyW&w_0u+?E(3Ns z`$VquHOBiu6|+XM_h;F_s_`wQFPM$khJ_Gt5yreF#1n7&mJrL$!r6YC@@r$#In~X_ z94C2ha`Tg3YAg?7dTbd^;^a&;pKoZXXEXer?zdWtZI&5Z*!Z=jZTjk4{uyDL@1_*3 zI5n>>jz!Bn(>nCq(^{#9riR;w^=oW5!+YA9ugpykav#fdy z*Q~qj8`wq}rrinT3!FPh?@6G2ZQNPYzbF)I6JYJ?>$gPxcl}YiEP9yao(?XJP@A34 zisgnCW7(JKNvZBZaD$a3^ys^&ywAJ}!BY@JNXkT|jt4MDx*&u?P~JP_{uAN-j^3H0 z$@jIupvUn8Wi&Qv`ZgK*L_g zh5FR;3!zi8JaOOTSWC+1Lx`Q{@O5#A5+EX%@ZwftKNM|MB|dj5`0)g-JRr-2zaXY#8sM{>B_L$j056-8r*DCk9EWgqRCtix>^B{|a4FXGU zvpTJ5?7)608jYb+^;0r{LS&{^^|Y2zLBU2?-cIbJTHtVOu)qx@6c;N0A=8KRCn&=ltpRwQ#ERM+q|_m$st? zqwSl;`ZCO{-=_)v7!ysO)Qv>5`DdjBG%!={3a%Sz>v&+mq)S}T{)+bG&2d*e;Vib~ zWhwUHJt1nk#XU-7YkEYs%o{O>npT^`0f?|egJ_ye>&w=GK=^mo%6SvZ&3~PMzPo@l zko8Zd!6@dxY;wpF@r~vm6Ir7Ej6H*FyQ6H%(f(7HHLtB^6(y~`$e;!LDa$^OKHV;Z z)TRkx?MkLTvs9UF3Tn{%^*)=ygm<HNoi2riKX(8*i6!RZhUiwHdvtVsjupVr2UO}1S#c7QN^@WS` zRTiiBG|RK6^`KgsS~cME+z+~hY$gK0u^Sf|OhH6>EzY{WX+?e_abaoz=q} z+3|ic+!H-ARw{dXT^zfMNK=N^3&)<@bvgh?=t&uLOqBG^owLV$U&Pt+-r91=Fdm2S z#ey{NN24TcVNJpZj*3EdcX$-=H0grtALu1}Vr=6flcxS1-nY2pYSKy)sgxKY0H0E3 zcvi78(fnCk2tp=6)7S8(yfhJCUh0s{e$V4rt@Dl0(J;SFxD|5KLd@~x7C|0clG>Sr^amYGC`e8kdu|cTDIEVvJJGH z&&#vZ+>%{G*#VZUG1KZ-3sAX$rLGzb)DsL``aC449pD6N_+A9+D`Uq5>c+TZkB?#j z3k5e3E7+q6o@qmIgRLl_xu2Yei$;i`-?UQ4jG&WRa9WvNcH;++iKD_wv%jZ7!sK0p zl=i^cVqh{ZW6R2Zh!1irw(XZWBU!G=ec5TYO>YBn$bj4gI|i9fK(@#s(_g4a%H-70 z-w#%>Nh?cV4K695^;In# zU6Ua8Im+h{N6-$}VonOn(L4yA+s8GsHz2|58v$`LQn&kgN9+pMr}NO$8imAZnGymZ zd#PxQNkMYyoJjF9;dvHPx)q}}`<@|Nf@QYNR@9J`1(rMWiVARvWuYKJP8 zOk8~^&&unm#T2U?moPOm;u3Pf5g(9^74>S;y`=}GV4bbDjX^X&>7!x^W~O4R^@R2yrf!k<_bMs8<@Rljez|rsq~IbDUOc3=AQqjsa@PPBuvTY9c;2K>5}osoeM+PT7`y}{gTdP7swd$ zl+m(nJSkeT&7(~t($o_as;vNPo#t*`L@BM_S< zIE5guxv<|Psqm+i^*cf_&T!qP-Z+71qTxC;(NNM(rAmyugr&WLlDHWPhn;F(plIbh z4#jv2c*1gKbHJrNw(l=8%Q#N;cJ(PRbkwofejLxHZZM9Aq}QG!UQcp5zDQ1MGf9pW zXihhUierw`ZKO<3O8pGgM`xxgWe~e}IEf0IPN8NdV^zqZLN}A2{^c*jk_RF*bR^v7 zEac~dq2Zr}hVO(K99D3WN3=QjNJvqqMMtA@zTkQPq-}I42i>0u|6ZFsQ3TyZ)N`!R zy~f%W%0R&lvf&|22j38~a6KTbMU;oETj2HVjfIld$Y^nsEfTY`BVadp44B%PZDvz6 zn}Pv^)|5u{x2s~=>GUBhX*I`CkEhn`F81OJjK2l;+v~L&WsAdps}r#m=!MS2X+*|Z za1+hnm;JU58+D@jV|pyM-iRP2_!Fg{EV!uV7A>Rj;&z#}BM?!JTS#aZ6aQ_g* z{s>Pm@ous+yw&s`=7|HDb;``Z6B5l+RYjm?eH`+@`J5&9AXwz+Re>e9iCT&*xu1QO zlKm~Yg1>U*EV(n3Ygm?C>q$z(8_<#~r^3jR`;4^OKw15PEV*E^S)H5>*E5^!(JZ;Y z*BllCewdcr#in2zpFWBuR|AMFxpBH4nG^mq!k(-9n+}{MS8(a4>l@QQ!jk(jV+saF zm!ZEUcNtda$dYT>BF(l?)R8=L9bu6VM5mv1%wd>pnmqi}4EA&aGg{EdZ?9+GWW_dw*geOYRzt~xF7kG%l4;3e~FyF9+1U% zy{x@d8NWXa22p0aFw3bwGWmX-#{!dYObBe&kVMOw()A;g?~CLsuwO0iPy+VH!-zR< z$@ar#rz!L|`P#;cJI64P$v3QYpH5JcX2%OuiFE znhMP)t{eSKzR{72oXNKg@l7V*(VVn9CIvOb0WvW<1^(?O}WdoU?3ZK-RAGMwiXvAPey~8sg)0SG=&k z=CaAgyiv71aJ_1h^N7`i>WGU9@%{3(4b`{v$QEe@zmd9WzOi|G@3KXub5)f3rGYz9fOhZ$T5y}fOC|9kl-px5Y@)Rt^aC)SFYIYLMrEfi^ zCArDa$*7>Sqt)UE--nGtl5mo#`0L8fFwGW*S&l0W%&N)*yUJ8&D> z^9>7!G$p_Kwj3}EjG2X|V3&8sfFFDn3tzJ5`oLRShQmh^F8f9r!y2uR%_7}~RTv&OLDS3+Ou|wD3u9=c8 zD_AR2vaM@dyaSn%pL$Ebt=R!Bf;m>bYM?cnvl{)Lqf$L7KT`4Tfohp%LYQOv#_HQbNRNucH9C>7yg)d1!OT#I0pc&SEGC_dab?)b>)t zjnOg};Y(bzr8mcei{pb8`%-?~Wz$Zo+hVotRBg{jRhkFThw`<#4O){ql`TAaV2+TP zQwy?*Ra@VTT^BL_{m(JMyP`o{6J8FPa02lhMZ;(1onFv{LW*-!}C zq&?-0*3%=zhHJ={vl;x7{`W2~T0rPyI7P5kb~N+*xBekV^uyDi##;t3zt1FRvH9K5 zX4vNUMmCcEX6E_qZeycn_g^P z$eG^>6lBV8qB(n-nh7KHo3aZ*#Qg4vg3YTG$>pV%-#4ZB0A-Xn{tZw+^n!iirM|ruVJP zPH34Mmg(K5WLT#6oeVg8iX&wv*$=TqJARj6@NxqggyMbGWm9cK(WuW2ueKRvixhzO zV7d;s1xCnJDF#5q{VWTk!(bLca z$BtNK%JV%LYWP_!Yaw+WYO=PtY&rHc$kczcAlne^q+xj3YRM+9qm7+Rr$7dj7OpC%g{j3A4-Dpg=wSS5;@GLC3REJ*# zAB7uTtHI%pr!AiXf4l_cIVP*G1>0Gna5@q)TC7Vhru`#y$(&qT$J~axB-;QcWkOZ5;>QV7xIyu-Rv4ruqP$Jgu=LdYb!!8B=f|A24YZ? zULyl1UvmLACs?cI*Ld@95wqNO&u4io7O`-bF%O5w@T1GAkU!(aJRHj8SY##zUr82r zB-BtGXu$(~ARP|cDd_W%8{DSjd#!}fD)MwF(?~*5OX)*FXk!pUEk%rXE!sf81F4X`C{sC5Yb^||LY^@ssJ~C(3HB3?2I>L5ksf*am_Qw=kQbRU zC|DV(!W+p+i%x|!7_w-Ky^$Ik{Wc-tKlg#`1^f>PbrxxHH z5r)9o4#tM`H8fM2BGAt}BHyBUG=|<0*BZ8mSXyA2H2jQIkpaCUMpCkvuo@AUS<+!^ zF*~Uo5=Tcp1yCaIh^1ONMcxsHJ)x0!GLt7lmGcL*fjN%P@-Fa>cmh!}WEW0BauMjH zAjxZFK<|jBDbtfuXJ5N_#MhbO;do0%-VtteHfO`}j`%9l$1s%nuk10&4POCvBSz6B zNp2fi&!OZtl)>au$_}H6vs|{LNu;mK*EZC``0egtHTnSAauVr#o^<2-9r$x>9wRF# znZvk|hH*x(LVuh>j5B&QER0+68Zd4vWgM=(Hjj~a1KpuKMy|rAYZ!BR?XF=#|HEX< zL4U2L0<5~uQNE+$L1|&xhOq3J!z=rL zC3gARWV{WO&j}tTC_B&cLA+UK4N26;G2cU((^R^jH|uG5T879v6sh>>uL`j6AAzf| z@V9wtG?Z5Q1ayVH*Q)Y@D~~Ol#=r`%p3MJPXieCZWTX2X2agw)VAq< zgBkWFs~360o&?mt*0A?>A!}MJ`B)8m@1W%1hP?@Nbr^=dUoc5gggYr+(E$+^AGS~J zbC2f;=rJ4iG=qct)S6*$A^w&jz74hc@XTX|(#{-pDP0muCmc~0IU5S4*HCsCt7eJI zcC^|q&(}7T)#`ouY(p*8IN5UNS++v|)6oguP7XH-g#%l$2M#^q4g!A(ey z0pgql|NmZRRA*ni&iF}Y__gYcHo=1)?7)ArFMImF91|J}j<$F3qkOiZ#&z598oef8+fcN=hHN>yaJN7PUAPwd zaBLdrDZn>}zfJ?yOk&Bg6Cve>Pi8U8Ij$Vt=JEeR1N|QG7)k^Ede5+s@3%XKg+LFG zEeHMgXexmI?;IUH8Z*C@vIR#VT>P4*{luXmepP(p^mt=ga7(OaQF+63RIrKl`et&Yu1Yojx+x44#Ac4%nWg@H>8EHr zx5T$k$Ba%@x0G+6ZufjgS>1VzAo+}iB$`A`c3MF@iO!+qk^9)<+OONelte@;;!`c8 z;+IMHlh5$UOJ;n&CinYw`~76btJ~{0?)8$p{JLE=FL-s2dpjG)1iV_rGt;~jhwNn# zE%@Y1L{+-#>iVtJIxTaW4f64t1C0lizpj6gtwlw05Cxu1`{(FB!DKujFqT4!m2J)( zPlT~xZfR5J$nD84jlSt%nV0OmX=G5>MSPiaV_^WE-#iE`k0Nkmr?PP27=e9VZ!TP z;ojiz`jLazM_wzub`A)yh20Un-YbG%1h2(i5xg!D0tsIAB)t}RZO*~#A*w2Z*WyK$ zCBm^fVphH6*H#G4>dS+9XD04TR&n9IVl~Z=ZJ#>crgAD<^OsF-I72b{68Cj78RgN6 z(!E4AZOls{QVf#s(FgnGv-{cXq{7RbnyypT+ZO zrq_6!nNw2;u(ef#<)^FTNG%@N&y)Mx?q+n_+(R>qmbzP9V$}^#`SB>5Ng+x-S zT3fw)Vr^$)=@<&r2^CX7ycslork7md0_}wK&jNf;p}u#8_1SJYci>Q8ZI^`tscNa- zGqG+%V(ACT;@1*>W`#fHOs{Swmw_kSvm<0LporsrgrPy6GS+Jy;)?SD;Q$1k0@s7vktDcAg>u=z=9zOLP`T>-UAw%2qg zTuh7lo&M}N^P_1>G~caJGs|@4!G{rEgDn8D~N8j%o}X4>|`G@s{9+Y z^=rq}8S8YyvaIBoz7DcBD>to;?3p%}U70=Er}y3U`B91HbLn_razl2k$T|0|g2haP zU)MduORg0G6OYJDM+Q-V`hR5@4m3a4fCQTE#IkSbnIMV-gJz+=3N$t~Inbm&MT=ry ze%(46J>RRlo2JS#PkywoZ(_3h#y1}6e&)=e!Gna(dsX4LY-#Sg~I@+CV z=a8+BwcxG75H~nVQ_|5s3`(X9~~HcvIp~O}};}y@+MrMSiPor`$4#@+bxkFZO|$ zj(U#Jl)$E4Ty%Z8!M;>@BbIcDdYfnj5;koSEz72$^_RD&|* zoBrYgnr*t4I&v2g7sqefXf9(ESIJDzM!?J(G}@4z$lgr>OEG!jj2u8J;eU2{b6i(| zCJ$s*ZDyFY2fVF*DMw<*?eN$FCNB5vir^AxY{UEREw$kz~|vl4B$O6=g(9K6T>ka__0cot@2{jlcJ=h!Ys#_syN&3k@@nStrho zH-5mTqV^eu(506|qBg8S=*=7g>*`^>{nXw29XCXS_lz(yEuZ(Zewf-z(dM28mB^PZ;=5Xy9Ns?Dk@4J?B zdyqehekOu{kFqf(%$ul#GBP1_jA$};nYwPc%ZslXF`_Z@xqw9O%x7!>yBL6EqY=tX zkx1Mnzkeuv z)!BX)2h#O5Jy*YVyAsW5L{GQX1x1MNR81o?<>GlJ?Z9X`% z`i0GhMu3x>e>=)QuPnHDM5nt0)oWcr1}|92Z}o0h%jQ=`Hg#5VN2djDw2t4YI%g9r z{~YBzu=(JK&HF~ZdvmcIS|yhdxXcc?s~O%`xeE^t6S%%6~)47njU_IoU4mGA1TTkY!cYL|yq zr57+AVO64_Enf0=uW^MJEYzGWTI|&|hxNOI=&p&>mHO)LE^%$8ueW-vxnQoIU5n`k zOIPPT7f{L#!Fj51{7{ zCON&}Ed92P*KfMg${HqF=>2f)7Guo|s_d)bPn`~u;ik=IuV zUZAQI&4GyAo?zNRzeC?W^T>x;O+DyebePBj-nj?8OAjaRIF3dp25O|S4Ifig^+Wwa zFSxHkPhQHpkWvSaQ=D>yfqre;?M|*koLx{E*NfEW0d{m>Sz4nCrXD6PgVkyP(W@Zl zZmn|FZ*}+j8gcVo%)PeNDlE4oN7^`1GNi6)oRn%)~)n52jUGX zzJ<`%UfV89Zc&1}AWQ_3_=bCxZceG5#pic12|Wv&=iBv|UfX^vYkdhGRtUt zc&!KY>#j0vdr3Jhh>jN=*0bwKN*L|ANQ7ZGZB3XzJ$b5fhjdOv-U6YuTKTtGh`L#*g5ZoI5tLwj2?1V-Lwgx2reu-a=QZx~+6=ZvKC+VzGC8%Y zeVH>>dM=nE)wQYP0T=az_SX(AWZ#D4hj*PfD<$mJ-8@gcfjfWK@sMcV#!$FP=&~|J zou9(8Tw|qI>33EP0>HPPDuP$eLdHNa9Pqf?b>P z__f?RqijL!MZZnm3JK`PVqPhC4ct)X-5g)iCCMigPkp0S;jMG6uEdq9$>@^j=vwQ= zswro0uI=_al;WshDCD%Ml(z_b3Re&ykv`1uYEmmmB-oWYXkrC(=v`ixJzf}UvA8fa zaQA_WpYA1_y+?zkHgRbov1bV7B^P@pFk}y*5O`dFdCQgePo_!+^y{zx=~Za8fhL%= z(m&0!;cx!$Q5@AbCluEJuRGduVg-s3i~4z~SESx(SuD;wQgF zpB;Iar}?P)4$*M9xSbxe~cIaUX$?IpM!xtcT%dZbeJo zR_~xmX_G-)3|$Weu{UFWl38a~Y+~KI`8QPW@k<_kZtv-t}lEsJcxZYZxWddR3E}=KjWu#!B}` zh2b`n>MdsA*l@4wn1!_e(tT10ySy6jhFG>%^SrJ1YeALIux_i?E5nlJu8}qEI~-K_ z8Xq-PjLp7D-_bt&wwzfL_+Em+dyLyI@wpD5TvGffukL`ihf=jKVRnLORqrG|_52wq zs=|WI>og9cJL!(YZ#i|7BKXpO88gU^4MWzhK_Rl23${4$ z_Oo`-=LNYVaUp`~QE-8{wuTE|)%s_7Y){7LXayz9>a(Av(L9QT{pWHVUH5@Gbd*2q zr66|d_Q^5uv?L74mihXR=xJ>1{YyWDIp<=qZNd-P;N)1=$N{r|+GSsF*=22donTkvwePuGwO0<3J>I|eA6WJ=gJkca?V`RfwCraLlKn^4)wBA2g{TM?ndN-t>JjY> za*K)gavjU?*-O@!lpOd7WMDE|ls(7InP^8fE5>#1{fur*Wu3Z9kK*Gxd+HCk413v_ zVdI73vTRU$eTMf~=G~8#mgqqSl&g1^mh_C;dy-XX9jNF@X6Q$}CwaiS^Ya(UVGWM! z9QWAXWJSKMcJ(Q2g8FEP8_Q_kk;k&kmPhjqy^M&%Y!21ZCyHD8jC#)qZRAC*=%y=7 zHX4r+;6I6X#`GDDslrBs87K!zH#|^L#;}56^#U_;8T?MS#wv$u z>~PGJj{7EO?*W_dx?U5^N2WBOICn?9JE3Y(j8RK5GSbA$}coq#W}2#L-u zsOSr-$YxL&VUt`Hy{n%7GyY_@w4|wPvd~Za6RcnGj$8lYJtKni%X+4k*;dB~I|s7RD-Ziz>Ik9z~e1kkg3Jo#F1oyzSfh8^{eu+qzl*Ou@XfucL+vyfL{u=S{o& zayXni+)QZyuzjm^&c0wNU>O0gtKI!`ymhqEYggJRa*DpCeFVcF-u#6-!!cw{O#7ktSugRtUm?R_{4b?tGpMs@PEq!L#S zB}0B#adY=}lvc;=+ zN5Pvj9grplz}G&Z_Jmly;B+0jFw`6xBYPZG9i>%PiCb+C-ro!SXnR2g0Xu6iz>T5? zNWt=B1=0{|+=<>A)4Fp$w!5zc960QV1X4pd%09mUKfU-62jDC7@k0TxApaI27o;kT z=G+YU#|65ht4OryL;9-DTUGzxiia@{ORI2Y z0+A-|aL#SwSP(6F z9lrIsd^XO*?8cwL^g!6+7eOv?m*H4S8v5q{3IR@khBOR5S;^X`rln->!>9>aLPD)Q z{Jbo9$+}n|8<)g7-`MDH%_8a@R%eoXs>?weNr@6vn< z=J)*)`EOtv@{B^B&V!r$CE>Vd>Oa9g?APnz{rW9SHX^M9tm&w>nCHP113%+J&}2BO zJK{P&?0mY~TCk@-Add27ZWnLcdxV#{V$>Xci_jdjCu>C5;RLAugyR?x zEk^lLP;%~3N*d?T&_#$XS~I_wE;VL#&+U`%mvJ5DW^^Z#bYGAzKH9*w3g+1fI&}UX z7Rf7-X!L=X+zpSe5#EKlSIeBW)IWAYV7B`xEv-Ejy|D2##|l07(h0hA1q{k}ZCQ9E z6e~ekp)zi?2M z*UEa*h!sHlW|Z0(NuY5m^D-HMwbC6MGwYEw|FUGXFD?YTb3l~TibDOyb6{)n>TNOU zi;JxP@4yX5!v$6`hiYRvi=Bovi_4G24?_pQ4~O?20Us!a@T~{)#pZ^X^jD+@x&72% zONJorsr%}Amj>t$gptyU{&LY^`j5itkCp>O9Vq=#R~Y>xQC@}&k@WwCpZ<|#9j7vf z(Vv<1NCEm~$rw%lXT#|qS^wXGn^^Q`u_*fAJmMgYTsJW_NVr(ZQJ%XcAN|M zj_c@7acpXYYfk{vM}z=p^2va?4ksph4P<=8>61h-Ir1KX6~ky3H@PlLw9ePin|fydzr zT*h!I$bia~$baxoEXU|oT}0JC=( zdPM0na{vjHmEV06JLUQCee$%D2fCBBh&*T@zdt4Amw-n20=K$sKa+;E9l6NKofl*e z-LZsV6P>9nl8+t$x~d>_O9VPZ{B=~r!G|)+82K9%6Z2Mp!>)b`N&tiAHdF!do`==q zyBBHZUX>sl@-s$@&5!e~#1()I2J<<8S@gtz4!Xh7d>N|nGxF;-sPjT50N$a|4*Y0!mAcpyt zM+bM@HoP+d7THxKalG+Jww|A@PwSq3DLXCr7u#1Zd!@(b5TJp>_!DHSN^v!%i|Xm` z{trNXY$;Rrr@(hT29JGBX=;n3i|}9^`EQp7DN6RkBc>JYt15jPSVpX6>_G$@_HuJ( z`95_mGD5ovOLyTF7u|TqOy(9*$AMgHkM#L~RPHPe zq?{%xO(A&>g9g}NjTGE#Oet3!?>drbUoZ`<-K)LUXeNwkIJi0ClNZX8zRwN3u9k#@ zo8!v{H7BAgDAN=u^Wgc1S^#%k+1YBNuTlIdKD%0MN?x8wWevf~GOWtdLMm%OWr6jM zV{H? zY#?<{g%_Qa8=u60PP40f-F<_W-8N}*j{XKgbKga|RJ6;z z)n2&@U~>ag$#%Wer^ll^8)b~?j_opS={M1HV%X+k;MsgzVTEw(VX+O@nT~R7w^zQv z^4R8DzFjZc4xj8eZFH4hip`1m-A3V2iY;|=13VVg!{-OBd^@1g_L^LZCO*q|p+B;R z$>LCK*du}i5JBz&frP8g57Cu`sC)y!W&4wGH{m>?8ZVxwDH4a^Qt+9q1Ulxu;{|IT?F~-3be^W6C*0%^|2x z@iSmvn@5najgd1zsV@ZM=6P%u7loI$>9%LISFL`TTw~rOrO@Nj?Ns*law*uRPf7>t z_!0AE*)JJFDt8IcjO7>Y4Q_-S157O?e#{$~3{Z;kgY+OMk;M!#+r0& zA}ZhBXPXD?Y3XyZ?2`*@j>GYf7Ta9#1jhC*5Ev|7qL+)fNsMo{ZycgKw^M|ZUIAhr z@WcEARu2gG@-s*@J}FmoY}ah-^zk6)I)aPwWWFF=7>+!JgB=P7oxg=NJ#ZDG5#EWp zW7C%b4;oG0C|)sOjMIYe9gi61n=$8XWVZD+%!WC5tz?^mY!ue(kWJAG`i#h9toQN4 zd#>h{tmfu!EG^+0h~gv-9Ed$;u&_$FT*{4NgSfSBneVjx@`ZDm<~*j?Rk)z0VXN>pov$Y|u-2zI{BsFo#F zY;(oEy^c2X4)C4k1gSH9g+Ie&Itst5!^g89KljnCi2a!*$vK6Ym>D!|(4Q~PJZvz} zgElM&Q#St;Qn0827XA37&Q$ilh4hWX>InbP$aNj*bH0x);!qGZ$4cx6=uBy`HKSo= z!D-hw+X^50K*ydntm$pWw(iyTs{NElV4)Tb8aEe(8nNGP1*bE|^3L>%^7X^YK-Z%^ z_}A;YfBEPe`-)KNw=Bhdu*>!0^!UF-Ds?}XN~zSHsu!)UDp{|WtYnlp#!f4Hq1o{= z3*(5?VY$cG@j~Ya_NSu!?^GfT;;9C3vFOc1fx?=gpZf0{&vVTpy~VI#gq?WYm6rB06&fKiCgkA!a;^ zzg!~&GZb}+o+jo4cVGJIDp8<>J1<9-tib*6c_}%Lt{KBy9Q%oPE|N{e_{4+*^%(A7 zj2i=7Kot{(vmayOJtzzSdJXU@Ja>2li*PZL8lkkbi%Bo&&oYZD-`+y|X$0SgC{>dRy&Xp$6iG>I<9Z~u1)11geh zsYt5Wp;6INc0De_;B^RtO%2GlQD$$Rlow$@>jP6q_K zz^T`;4&;HS%Mv4S(x<3cUbLRX5uUZzu)U-;S9vZ+=1_BPIYl^mY}6C9<(BG>A6k(+~zGU)WaUk~#ALncAK1UoV2Qbcb{S zgA1)pK@PIP&?SnW;0rx4qQN}Os)Skk?Z9pz`IsH}T6hPBnYqB`Cj1NaE>r*wG|Ya) zAxiRLE*Xu50<#ne(Eo^ILsoj=$N<31<4ddndS#gh{7STMhK>x8CAgT8D-uMp<6D~C zIY^XHSV;&1L!Lyr;T{cWhz6&dHS!m#)1~aFywn*b$HBo)bdfkvRFgwC5O>M64i#%$ zh^~YXai}@^_=qjHD(#muwl5B=G|T)u%xAwp((hk^@yat9I1r(ZXjD0#)W>DQeyM~j zx5eS*A9q8GL)374WhOY*m}E0<%+^X4YDHBTn6UNz?j($Q-xJUs)z!?mKrHD+3)O`5 zkW5IhJm8fXp7k+0j$>fekOx?qg#((bCPD)PJ?=v=RZ*2bDO<-ztdgbrEjDe3=B&(W z!^U;ZxmpVe zS=gu=S-vVXYJLnnMFRMYm483JF+WBzhwx->=w*?Z$_5d1xJprXE?P75P_17LrT%Huw<3irHdDa4N{VxabT?t#&?`F} zfcXlvPy3o3t#Qv*9^wFLLW^oZY0vtC6|@RSKZOx$X;efkHc?7j`3} za$YJVysOp5(dDZrmygc$+AJLD(l6-B^7R^EB-U3oL0pKhdL8kA>Brqbd=wFxQ(&#pHsKB*F{MN7QhTz#PHH=S> z-=P<0>tiyJTVyh*>U#?L(M@TBnO%~3v`bpI!;d&hKH3*N3=UE7QhVoo30ufo%_>19 zfIjdc#s6V6KRn1iC+-bw=b*ik5q8(70C+=gOQZ}ZbMKswoQf?3Xjelvj+5!*p^#uN zv6t{oONPv$tN>cRp|f_dxe{ulB>OI}hc`e9vXP~08=mx@Q6 zakApJHiOh5gFUSiJ*IM8YwjQ1<|r+o+Amx85J z?3J^?Te>HM<3IwF=4`gl&p{feIo+L(bfd17{h+s6^rJTZ0!CL3!e7iKZYHcJq~vd5 zlIOvgz?qJ6_H#|cpH%U~}Y1NoX!0Gyx2}1bleeca=dQ19(ubgyzn7QFnmsir|W7!V!x2LV2UO z+amsJiul%DA?{xRRe>(6UIG!PxGX+64hslB5pzixG3MEjHtx6PT&w2JHnjo0QI~-5 zhOG+Ir;OOfcM`Myq{77eC()-gPZu~vtD~S$W8C}_>?N(e(M+7X6)+y{{6pkaSq6-A zYQ2g=POdUB+%l@DLt)~`1oBK8Es+IBSq05;n2OF$dDa3#y2+8`w4Z<7+lJcr-J z)Dgkqk(MpH)(|;C0?g<;+GlQt&S@yphe?%NS=saWXl_TB6=xc1zlr6KyH71H>bK%B z@Cpql#GwXzDaA{c>rifr-~(m+2ZXV3HK)-phSS$Y+btg*4ta}*4qh)rx9A*+a|>EN zj+DdSyH79Qqd9BgR5J?TL|T>8s+F(QN>{^JF1v@mu=4F1PMc%#gbgjz^U@FtgR3RC zqv>55oUAthA}^K;m<|3?C@>{WIgMqv=%p)MTZZfT89301-A1r!zJ*=Nm6YEk{@vhU zd@;F$tzU=SBlsuunoYT z48*}dnmZL$jDVrgz@L_0)B-(8euXMS;rfo{Q=p_L_*1=5?Ho&Kb?AmviA&d0Q1vDz zY4x-4s*lff9f^Bz3ik4FLe}NGUeDZ^SduV}_)h-_+30KDAtvOYG)dcDr<>Akns{-pgx??G9lN!mC+npo1HFq*H*K>`i%~H@Uq=9>wt%grcorrZydfhappQX9W_&2ch zd<|!56+qX*3>9&`ZXcfUn{fdk>-6+8%|igPS~NLZ+t`(UutsI7mAji+_Rlfq3 zHwo0Q+7~?~GqnJ6NSEdj;0PxWS;np4BlM7xIJ(Fl04hy-rpb*xmgjpLt1*Nib%evd z#&&A<5WD*c9Kr09Gl9DBpt@5pXBH;m>Bv@5PeR45-&JsG65KVYgtN_v3QSgzEry&S z615J@_b;US8H1$Gk>>2K8_|SbNB+`p&NSmuYcd*wbbvo6hbCXGU%l^y(@qU86jl;7^# zfirl~N6D^GMIqmo?J_gV-=RuUop0@y2{)6Yd?Co&w(_4v=?#-{u*}@yCm2P zHIyYljbrIX|3h{lCv3zvGxxbPA`=z$7+CD zPgGH=y#W5Co&F0{skMq&u#UP-MGj@C%P3d2x=_ZiX*`Cr(5yxcEE#9!8<-hc-*Zv* zQ8-vf=lH7XlOY?dPlmF>j+q0ha$Mc}D24QdMdDr#vIWTGZkUs(Cz@+WOehPEDt`A}H5la)oQ=SPd+enJ8}*dHLFdKwWd2IDN@H7paq+FD=;@S5rGeGv!s{Mc9o< zJ|>##+eFB?zjwAW0zUvdQ->+C@>^j2lKFF(rYLl1$B3PW5MS)jU(AUF6*Ct7UFcft z49vVU4oCO-C#vQ}TOjv!MXE=L;8u~TQsE(~kgApHyZI(F$e=Pe1YWI%`d$J?Jc1G6 z=PuN~(cc%#TXUh+mwZJU1CBlFcyB(8zI+pD)scGPfpXRPuZ0)*H4B`HG&MiQndL_S zRuGvQzw`7i0pvmH8a~(2Jk~l{9IxF<-|LrxhgO9#o;G zGOZPJsc@)R*!HSzC@5BSBWtLaDy`XPt>Rj}p1iH36!xTI{^Kyh1u%qbR(I%t5r6zW z=VFJ^AHWKtbqM&It^|p|5Xpw8kadYaJ;}Fo7Fbh7VGt!of$Q3g6^$hQfo%O+h|Oti zD-Vb1r4NRh4h5hCJS`0`fxT*izYpII^g-KZ*fxg3uclNrt~b(fhTa16+K?3&t8;4T zOZNb~nAManmjKLX>EXlgYM){pg?M?-$%7hDkHM&B8bdZtD=i|YuscZAcfglIRi$eNs9KXvs^Yv9J=?ti zRC>FS;D_K0cVve3_+`Rxxr!E)slM0)eF@bJ-hnXkj8+Rl6ck$vPEwzgm!XibN!J(Fnlys#92rXX58fLbZzhIz; zT78dNR^RXxV?V_D1_p3=sQ#iR}&L z2RaXCD?{`jC_+8{fJ0(B?NE9?Wqc$2KjZ>SH&aRyXCZslAQ%na3ZMu<7#AI+-6GnP zGQaegmY)pqaGQ_zn-T!gHs7cyn@`}C$St(_6l5oA^F0R;12*4J@dM#@&=GAQHeWNV ziDC0C>fh#@gARw=eAUDqq{>y(A&H}GzQh?Aal%--Awt)(`KHt6QwC*mrpb6>oRP9H zMx#x>r=v~24gZTxz7Cl{X@x42@6Y@lX7b$zlzlEHU;8x3w0Qx2^#9p=V8vtEdnLc5 z0-D5eGdk0^9vpjIdygah1ns@IpqPI?_TE(_DaO=8nEgWRJxUDA-V=wBh!S(DvJrgO zGxJ&IB`B-xz3=1Ai@t{1dru-$Y$z6U^0$Shn&_${+=+V@podeDOEONg!H-WOsP z?naLO%)-yhDzsAv`kbsnu8D_QFvqqE--nSDY11tEp%S#O;9H1QSOh$q>yQ>@6+VN+ zO@0YydFO7FO2VwdWL9vJR$-C_icotis2c|8}IA zpU^IQ1i(gGg-=^0ZJ0yZl4TW6V#x!ntskqf78OQfaDr9WLfU@{1Z5RE+4?j*)PDQ9 zUFjS(+~btWX172(;cqjx(PL>0Z#cBnlADfc38Ip}Tk^Q|C=Q;imND7#)>zn*2VEC# zj681g!JlOL6IY0R&MmnaT()yH4A(q8=);JeE%}nUIX^zGC0`ZDR|WF9%?62dVPScI zU2aj^`8Byay=7dXWEi7b8>0%3k-~mg(nZVAU*-6Mdu!SExKnFo+_O!xA*+_fn;kEr z@>+C-yC+)Z!z!uQv6_Fd*@GWB53R&s?-bdl!6ffAd8JWqND#h=1yBg4N2X#>V_n^| z3i%0>uN^FhonspbtRdk^;b!C-rJT65`ECJ-*tYdmT|hEC0$B9ctpqTE?AtQxnM14? zccyyd6(qiA(GLEG?ClcjHK^TNE8E|l@jB8tU`6Td$PJL=9u9^3`WK3jK>)eE>|(i{J3 z%Q|ADR(sDNao^AyjlAqno(BpH32-b#s)Q`or2|R^t4Jt+Meq8gr{-YL9DWPdE~7vf zX4chatVgpEwi)M3wEAAKtbT107Nj^_g;FZNwaZ0CRlL=v)vab#;|f*4TK(Z9231ud zW>x4@YrVKh`on5937)GqDCTU|B*d;EVOX`A4alXb-82$bS99}BoC?NTHcs2onTTa2 ztV@j!xAAzt#fh#m@(1(ZlH19 zBbZ0s*-Ih3=LS9)HMMx(Bpb;j+Nf&_BU<@hN5!iDt_B(GQvpR_t5c^-^~v-EDl%^g z@OS4M7GY#K1gCC$CD%_PrwdIdc6FDEC zv=S&vWCZf1sAUwJ?@!Djqk2Ric7k#_h(5z+38@?>iyel$kkvt?2IP)NglZHuu!Y)? z&lDJS*~~~XkA%DghzhZKUWPtFZKSbRK8!KJT_Th5mqADs>ajP+&BCG5;V|HUdkCrH zWUGO=y3qHr9~>n?earAyv5iRmO=|LB*EcGH3FTGLQ4FdJ;V}-f&C5bTveYL3{y$sh zh=XdEnvmLe=M*TNoY#)Q{)*@8$o`sI$N<(Sq33g(IPHs3964yyFg&ThB+$;oRA%j) zevQofA&jw@o5bD)&$3V_TSB4WX#W|@?LxBodlHjkQ=One-o& z3(DeVYX8I*rni(8M#`c;gU4d%KewE;{&QiN{v(_l z)PMRmsvYZ`TKpzWm=dIBfqIz*lxc)nU_8d1=s#Xe{h{vHGyyt7|5-;XNa;Lcq4-rH z&S8=I&&{C|+53|M+qgNKDZ7bU5I}gk1R%&P7_R?J1~c}f|15?SKLPy*6^H9Tfa2ey z|A_R8)_>66iReEleH{IVIr`OqytI@9S`REHOVv^O4~ia3{{e{q9{p#(rT^e>i2kFr zlz!A^>OT`h+2&=TAUQ^qXT>l|bN1bRlco54M$LZ`dVVbZ2g5U#{zGOB=s%Go{ax^E zKl%^L^`rmb(=qj*q7%@6Hgfoe`1NnGAUR?Ehnu(I|6z#JavW2T4NybW=1xZVNzIJs zabugWHy`*Qz~Do*I!TYN^l?4a_pwXEfM^QJ4(hB zS{s6KzzI>^1yhz!owk)~O>mH&L^r)lPu z{8uplDM<4I51~_ek>r=1vjzNuCamC;gHQx>>~N+ky83r7`gSb^9O9k+EQ(C zuCQ3;Bz%bM%RAsz_GJ{lSsek0zNd--+r>z$HqQ&KPML8G`Dw3Aic#GYR&`yl+pNRk zoxh93$Ng3&Zg*8j@%=4>y=MYqA$e^4e%=p8i6K8Py1pOzd6ktvLVg~+t{?e%y5x@~KewPrKk{?Q zJV1N$^7C2nY7F^#D`EQ#@^gY!-7)3oFe_6``MK}f*zz-pT|Y7TY37}P{9GpbC*pk} zG%DulO3v#L-+z7%-g@Yr^#9Mz!Lnc?^-aB~!WfrkzhvVpBfvgM~ zcVw$$XvWOKmT|IN8C%mFCn~9bSy2^kDd0+7TuXskRs;mNR*cgmVA}d9{*Fd?07lx! zwifucL|vnLY^=n1HJDQ$lcA6I`;&2>glJYzP(_lnaXkD}0L_a176+_GIEl&ws9qdE)$3-VY>w>Njq{DYC-e4c5zb=grN=FJG!q3Ab0 z%^c5f8tAgF8KWG_@a6edcJsWS3msy!SWz~KYK-N z{;nDKpXF~89Md0vzxZo({NK#qIk>7i$lsg3{eLNcPY0TXzlB{xmL6-sgR%I##9{Gw zqyl`O6o}&QuOWXVe~)J!$K>y~uqP!pe_wdjG5C8A{Ku!+k)58ii)(&H->+T4~wQ|pVtc0mRqkjLZZgObA$s@2-<{cM4~G_hX&yh zK(K7*LWWS&9qD?BMCsmvK%)jCyB1^^w+zR9V7$L@v%T^ts>7lC!5w3UcbtoI299-= zETlIeFHJMX0$klAPxKg{Qmb@F2C`wgNG(*Mx6^dTLR?5BP6Id+AozGik&j|21Z!gS zn_p#p1c_0x#k=>TrAR^D&LxOIK1MTgDUL>F@+xz#vEPW#ybPy99sic=NbQwFxT9Tx zC6UeKN}Mz%Dv0Y?i#{fJ*~}8odV^5c9x;&_-CW%W^Dxc{F90Ud0me@+M<)eg+-uP> zwmQRqam<46a^6E2^6=nx_IbYr6=h$YqZ-5j6@)IN3Y$#L2RRV=T<9S|?S{stNJfw% zJmH}zk^zc179tqFR*Va;*{9Bl+Cg>k%yPn`dW(qYsY|c5S8YW>T`-i-261(oZ7Had zrpS~Un@mSx6{u@IU!925#Rv;%5=n zd=*(wnwL9|gcDW6a($8F%A8vO6ZN5!;HC$!iQpzWH-wv<7j%e=G=!5f@lA13I^H75 zeqJ7l^ytdV0M@thh-cOL(OXm^SWJxH|p}Whf%%KD&cQZ_nDR= z_O^=M>P+?h;3~K{*vrsJt>40!s(8c}hv+Y5xzSf*BxP;uaHuGvkZx({6N71zr#S<$ zHs1w37`y61Q#2O1M`7bs;sDrPFF4>fMlgZz_5VSb7{5PkJF<*;OQ{2DIYHz?HgLc_ zauOE;PU)Fgt)5D}P+}rbtBUI~CS5dw(CgJ!349O^i$RbMN3Eq4tm>#KMsZ7M@=DBz zOS>M-5N@k%aGtN?%I4?XYMZIynqvSc8VRqLD|;8WvDum*+Ny%J$<0bw7+QN+DR zfdz|KV3L_l_#A0c9tQPUBU=lv@pm`^WcHzm8n2O}wZSTQNmRiHS&$paBB3{|A_Y-J z@>wLXdy&h3){@b!R*~;S6-i-{YmsdE8zSM$uu3|kO76}^$=i`EVK~h{@vWJUMm&Q1 zsi4Opf~KR25u)~ho^aaq&OfO)Mp3+;{0G)k*P&Yc5Q0+N#{buz~yibq*y3I(Fv9(oHVAlz3&jksv3 zro#HbS0X`tRIC}ThV!o#sYk-lSdn^aMj~Cu-Ebw#Rgfw8Gcfv>IEWU-rtMutf=-qsyM{u)fz( z?~qv%5ikVcB|0Mf!WNU`#yUdvmoHa0%Ek&H0JuVPW0FVsvE54fedD{x!|Rrj2<#u!B1nq))2VS@EN25v%( zU)r&I%N(14hEP$p9HR`X*D&!@wUV&D(r-ca^2ay#W6K-#4?5R_+9FIX+nC`3b-^m7 z+8oqqm8zSF#?*p_F7u{Vw}Bn1<9N{}))<1^GDRYJSyOXet>lri9+8|iUZ&LCiBg(u zE7j{bo;3F^q-*XKcw!d{Q)IikR@2IK6}r;1gYU9=RqcP*YL?2^Wqhj5_<%a|Vo2V< z$B?{_f>SAZ&tvsi%CzDGXODz*VuUX!Dx!tmeFYLuLj|huazBjOg*F%rPlBe)1r;Qi z=Dw7bSuvf+@h0pZj3L~{(uVy3IeFc7w-ek4_C>sc3|15K*v`^Ew&L8?O+i8ju$n}yZt2Ly-2yc2jAFU_ScUO>T9e=lGZVBo zaWV3BDINJK>SmGzZ5tEPI`Y+3CHDE318}YNEy3`f)9(SG9dYej)onO_55v3*5HP~a z*lz5VA8(hVFMZMnmzz)ych$2)SJ)R*`@=MkAJF^oM3@6d+ok1tW4pKEh2Q+cN zF6KcXtsibVRpr;elx4+yFl^t(B_qb~$%%$70Ubh0N*;Vu zNap(^SRM>2o0|PSehF!Pf+^RFr17b)dNSrI_C?(Kj6NE;3P^gKgU<4D0SRXG{^h6= zlfy;{ctfXH9kBw=#D4iUzQMj93~UO=$)WAYus0~}2V%oFP#c(<99ca~0h>l(cP zq{^Y!i5qFyS{Ou=3DL+*#fh5&adrm zYzQXBZr2y$88*z0eFio-psz%${t(Jh1Ntd|5m{@@0e%0M`ybG!qlATWoOdO(oGpHQ zsUSQ!pud5(IFu(N2M(3<8OHK<*9#mBhRgwKhNz*Iq#0h;*{VxaJT+5f9cb(sq}5F1 zhnfaHx5WQNt8c=ay^4F7yt$|=r_H|TJp3?huW29ab&^|7HHD60O(G#fOsFvEb!uAJ zg_=YT*yp_pfg3fVzk}ZONhe(O?8+7PMU>Zm&ig$CrN#b&ks$kLBeOr(LgaFZAit7& zlArnP3%*IsP4)|c|52^lO`>_0qOjV35I*VM$2^9b`Z#^*5;)VE#MI#~nOYG?oL^;6 zoaQ0ktgx4Iaz{;%MvY9E#tMA(Pme+XgV?oBj@1j6Jj4=JiM|U!I9xa6r0%5ET+fQ3 zcor?w>SpsDac2>1wx){jrO==%Sgx*GJ}uE|sIpjUm4{`u8j5M&jNqQdpGGC0^-K6v zN12qsGrF0g)KZCzs$}^nH!CT-3S0U{skoI=$oY2_nNbubmXyUmHScywML~hrx!x$T zG$kmdcV>um5KYPMeuR@vxT2GdBzVd36iePe7(6lQPTp6QJcUf?}04^pR*hNTz z@MXgBB+@pCS}{A*X6}JsXB|i_iYM?yL4C1RdL^n4>BYXUqcr({qd&hT*bhOhu-6jp zIoR4N<}YC#O0AE=;LLwUWAFvkCFhbYbXcJh8xOr^{vB1BSD{RRxVfyH#B~BOY@zK8!?!QkKq7e6Se>kG=<`G**?1Yh;Y~vup`KdO@4lL?BvHf+A zyuuW*{vNRYc3XdYtiQeLFVJjA@kmRzR@uE0#<<jQyxf zT@65Tj66^5+CJ`XULmc}dabqEU1|MYrT*40m&*TnVkdV$rD4Vak6L~>ew^Ss&)P>>eVe7gIcVExi zb%X6??a)1h2jQ%K*l=prk;Wsodv{VzGRCIBnNQHOwgnP#t3!!*R9<&k1_&Fj-;`gZ zREGD!xX1)$nm|rROU&G|p?k2f(Ln^3e1?_Gjom)ufCh5%IV(c0!BU&6OndGTx zo!HU&_P&lcpSI6ukP)p1XTHNSNqzC{+dAGywsvG&#B8mR*`&evjxJ<+3z=@0Onq(w zj5|5?IIcHJy}G2e%RBnk?jex&`8S|I`_}et?YJVkJ+Xazpr$bx(^`+*vjm<;UcH7K zuh)^^^?DzkQ2Y7rA&=^cN9zjtULz@Wifgl(;^t^jN1`?QtdO7M1x68{HAzg7i!ikM z6u#H9Ev+sYPbisuH?HT?Q_QD(BA@lCeAe^;HqGee(-S9OZG1v0?M(v(uo(qpfBkE4 zl4J71#JG*G;A!j{+Qe6N=k;p5>K^u!-2eS7a1*>n{N1_1>c6n5E+bAiR-z5PZaG`> zc#%u5Cx0W#HPdTkBzdOs-Q$(?OZo0*PR%IeyRjNi_$xdW@_o2`XRVqigYR-pgjQ3D zccTVe3~b!PXZF$w|o+jz(e0nnREX%Xn3-woA8uVA3rQamSnevmBm*OT{ zz(tXtyOwu0TGy4rMgFb&*`&h z*V;0zyHm05js}#Q?z@H9+$m+XO1U;A&voQ`sQlL;sP8z(QC+2Z(LkPE?$zzhhM)AaFlo{ zqNO8B1noe?!iqVkV7>BGxVaG)0$A7U$&0#Y1)i8*`7RgU=mrZSYP+P9^CY0WhkP0^ zRvART`3fDd~3JxyGQtXk{JC@!_YqhyZ*+Mj&Wgz{*7rJ!V*jYbba2uF_$DmQ^r=ppQ3==m#} z383e7qFu3;Asr!ls?o5Zhh+^L&?7w+lxX!!36`KrcgwqAQTMQvpI(AUkI)EvxrV6SBhRtItx#xp=Z_z6wD#+qwjtTigAfTj~Et7mDZBDp-}G7uDiY#d=|- zG2Ii?42VI|hMLu&Xgj?SgQDHGuI+2ZeA(J|I!9&OrQUY#!AQj&Hpq)XCgX%S{?!kJ zMHQc6j>JxrWyn%EN;uX&{|u^7N@yw;7161=E7=BmGVtZ#5HZhlaG$_M_~EAzYgfbo8wV())vrK$e5)=LRGh0B%h{eq zCVp@CAzn0E*FF5w-k=Mt79`d%BiY8_SczmKaC`2|(4~J0INc+Cv3kba9Ec!Y`i6d} zj$2+M0Y;Y$?9)Fn4g-Di$)J?778Dlm1^Z+yM9uNQUMTA=L7Kl$d~b(yN%e`jqnQuj z@7>yAa*S2xvQ2^1>bdHd1t$BY3q7zC65YqxX;s}pzXIgK2h}_FXfZ@gphxrY!%rpl zB|s(JL!zNyxbT87*589C)IyOd7OgBQ@k=`vaim9vqP4=e5`v@-%y`yfaFh#iNF_hT zgvFFpYR&4=>aC%#hybU582FA;Lcq_)58ZQYf=ndf5d@jc)-CY)9wZ2J_d}4j(^n5a zHEHiV?e$Xuk^K*D{`p$pCw+aV$6<(lUvtxo*Z!hBd)r^+=l1%)p+e;4pN^WzNW#7$ zJimW>Trx`RXX7vO`Bu$7d1pr5&3C<0;@VIQ!T3Z1r}D?H!CJ z<{piAk@EGk@EcAm+_hGp%|zoqW-!L$-CorI>WTrLv)8`pWg)c)&N|j;*boGTWw6bc zWnQIEyAZ!QKjH8p-Z+A^x?;S+pFI(O?3G2VrG~9y5rxk>Da=isK&3#cRNFSy2d$13 zDaTqpYht|jO87z5N9LhjRuAN z%Sad4a4q*4dOe|}CU@w3=C5V_H7lf*Rd`|vi|{KoOy)kVE`wj|B#+@`o*FcTQXBa0 zS;hM5M3U9XyE{|Thcb^`;)Q$4BtL708=CK8Z08)(>eD3erF5WU-(r6W=IT_` zNA7)6kB?7f*SUL$47trv4P0fd=`u_aV-qE3>iK+hOm%V2z_e8;YV2Bd0*?=pixaI?ng!U@)-p>x9pP9sk zN1j4NUUmf6QZ2i$64ucP`a{Whs)cu@VvEw9)o85@VNFOT5_4`haU(1kW(kngC#mYL zg=`6^x-0R+FY(DRVhKzEoB^dHO4YqndLfJ?lF1q;YKC_6D-K8F*=}3xpX)f(IGFu& za;tou7LNC*xm^jO@G){eGqID2I!&e zR5-R}kkm^zM3D-^Hph{9KAaN2^@q^@RjOE_8+yiDyFf+sh-o3DQiJnS%+;}5ad3W}cq_NtGK zy`}uz5B9pHr8y6tKr0iE-OA)+wDJ^P?rO{hIOH32YK5nDy4+jm%sv57rXCv<>Y-5` zHjBZg_Q%#?aKa%HZK0aKi2>xpWUdn@#KL34wImi?N`*H62JI2OKM_JKKXxlCj?v0W z@>e+0&6tD`H;H&?#LD*@nYK)G$A{5XPp~LihDdVLuZAxvChBV zpuOknO4CYv7!Vu2j3rw%XRoU#UTd~5X{c;-o`u_m<>ey1v`2ULYF(vU;1N$cf^8p} zXJCm%eJ*>)s@DIl3bRnK1RQz(_OPylvHf1D?DOiZDDnRu(I8hrVt+0-oR!V z+Aw`&wHY=yrc!Ydrk;uUw$O$U)%kteExny*0Bi&V;TlPyYx8JVPoMLEc4K<@jp!pY zwJpA%Vs({D+waf97UQu001x*=;|}>0z|wiTJ_w;|IgO8lPLT7-^p9LkDYxAo?4a~7 z`6ev*=*39@20KYF)Ey~$T<00;zRTD22}wvy&dE!e@iF3Yx_3IewbQh=+e$av;;Om7 z8BWhh2$FKM?o7Igl}xs2?I>}sp4fS6wHB*UP_49EFHI3D5dS%EYe#3C4c4GS;VVjkf-(eWfO7Uu?+imG{k=fVeRgEP z)($X&xLA<{A5@>O>@=ir@s;uq=io1>{oKcB4+|}Ez7AG*toC}r#}Vy0Fpc|cs=W_R zRqeeF_OSMkySfmDhQVk$(?c%o-UlG{+vTLzy?{;I>ptk*=W0q8Js3HyoSTs=5t+%R*HflKNVaP6M8#B?V6lBiFje>v;p z*WNeMtBsK_6L>PX??Zs?x-0n_V^WenNV_!|;amn22U=c|F)7U`=+*L)bv^^hI&SzY zN!G?C>EqH3+YW79S{Oy-{>VM2V=O0nE!aDRjUD4SYT|tRP60q$NRBlmEAEf; z)g!6%gJ6Hb{v*lHgAhP(h^uMjZKYfE{7i1Qhlg3uPeox`_`cU5v;Z}lxdhFqjMXKw znM;tybIhgP+Fx)@-6uexLY;*!;LgY$1dIW1Kx-7<+R=q$;H?0{Rv!ect)=(bLY!;? zh(?^148*~=54<^&5B-D4OPzoizVVy2N#Ph|e}10qN8orMDI9^%B>55O1Z}H zet7cu8y~=5Cu;KJkEk1pp@+2-Y)^os?er#8A~ruwXbPJSD*(c)7R^3MY+BL9Lz}4!ukuDF{&iB3^xnm+X4O2 zl$`7t^_^=2G7k4^9pj1UbNqE93YfjE5NC&-;A<)JY?$hFKAzqTyY_}P#xOw*T|*}M;8hE zwA9^&x;uZNx+vqj(2{&g3KHF^qwYwySN;w(Fvi((wv=Ua#H@y3(Z85eoHFBH^l!#g z%z6lKRQVoRkQ=sXZ}0%mY;>)JYcZV{SL>5f^dW%L?s~$X4I}~Gctn&LK@b2on1Y~- zze0yIh(l4KmK&MdcfWL?jakt`0y8tnR*w$u=;8#Rk4ps`B?a5U39g4>m?Lb!BYd#}=0Rbx;LeZb@V$(QM zHzCuKf3D58tj*j3;Je-eOg0rE+cObU?9HsrdV#I+ zNJ7>Q=z}xQ#aJ29upSdQxAUv%=0;NY_Do0@nP|%>$`Hn(APp=-F(Hc19M*V4rg3wc zF$U+3fl54s^G`uKPQ`HJr?V9sspkHR7wS4^hH~u|2q%0m=Lw;?N98+l=5t{9$ow># zEfi$(+!i|fA(DOH9`tF{KB)IV3v69)62LIyLply=Y+k z`a>{MkYCk#LMLZhFk1(rJYi3E>47lzd~lqf2|ogs0!%o#!*QS^?Rea09U)ZuHMyJ& zF7^pWh3_22<()MI=|4zs2iP)HKKT`oW5_2f%ZbaUMv(5L>Af-`gx-&G@C}gOkAUm^ z^zKy(GN;ZYb%M^Xu3*EAJ_x7jW@Ks~gZTLY+4Nws-?aD`DANjTdOju4>AhMD4(UlH zD0W?@aZ|Vm@*^}qUCR$sVyMqXase;FMAMy1EI|G6TKddvPP`86b6wIRH;Q1BsXifF z!){j`1Hx%0L|tge)(dU=G|XpU*EXcLWH^5j&l(j zZvHOXf$2?i?7|`L9K3q9@&<&Z(40-`v`$H_R=QFvT2*$TcF?k~^%MiQq3?BmA5+pO zM+3@~jUJWg^kLsE1scPv^WayWT!w&4%NIeO6X*oF#UK^27q=dT?l?OzzhNF^NF2;n z{+rVs-cgB|eYKK?&R=;cFgZ%BTd?PXpAZ}5$JhX8K8#O@ae=8C9`4Lw!?U_`jyk6T z1ub#XD8Tw#tFoV`qj;nY{)SX(UwkuL!frpDS;PK7-{0dPhVz)VrSoN`V}~)Mw(nJ> zv-MukD{?37yI>E@0F{{N{M9UHHPcYd|8jc%C`iw-A@uz76%q9OX(T=MmZPA;64GE7 zy6-0~^_%|b`b;EUe~lsUr|a}kx?UdyAO>B}K;xV~h$Q0{{B$}|!M_TpICxS}4^aQBQ zojf5~asc5@>}$qOi?4FLt0&^TrS90D)dpp5`a^+gU^$>7u^s?I9_m1GbCary)@vmj8uy8V;0K?guSE@7vpznlGlgfq;E_fxI->O?S5=h15NEHv8ja#Ss$50PFbZX->bWWUM6d0V zRBz6kGhYOt#dh~?=(vvRP>sE^f<-1C?FFLjmDr^ihm*R-`S`0jx^%||qo_+bf^r>p zF9h^m@H^`zwDd+Hpjwiimy+Y?nlZe^v7e|X2f}dCOEzeZeTHKnS;}zi@oUk(11!9U zMkc`LRUNQ<@TTE#3+548uF}#jw)C&}nR!=OOKogvyK1Q|&{C^9L4cN;{4LFqmYP&c zJ){YmvTHm80AE~^Wzuh<*?*|Fx6l6@Ov&I8Ywx@U5iX{p9l(U!AQ?ad-6C+lrC2&f zwiK+gdK=VIYqIxdX5~4U+fbBpy>V~yh<&O6_UJn#7=l=Mr?&$Na6G{5-s6W zQBl4CtjHiLs8r8~+(|BEFq(AS2=9Ej;_xsWN5w~w%)m(>A@_1|Zh+*4CRRR*wu5Rp zMa%8(k64KkR}~_z%Z2u07%SirKb{9f4lrO#6aJFHhosG%* zSO-^xTj2#EnL5C&_&Z`N_f1%W#mAL=82!L-Eh)=<-|CShiH(UB9K@h9^7$v#$j`u^ z6qOYvz`BJ=M91M*lHT~{G({EYb-6nrD# z5)Tj=3LL-6%0DbT|Gmsl#{m5SFieG2=XOzuLa(&Al}cs_w$yN_D7N;{(g?&E2|ay< zs3Tlw1n(u$qX*D@XC48FvomeV5@kx?VGHP`224L@rNwhE*7sHPS3@GkD}6S}`<#DL znuQH|7_x>$1Hu7Dl$7&TBM)LQs>I@MZ14eWa`<_ayxQIQ+*twu5UT;7SP;RNXlISh zR8foYl8$lX+LEC{DB*W1N6r*Duhmp1%HaK2y2nMUm{v`OHxRS z&H@OCAOK2ATn>CiGWPp9Oh3#T4epht^DobuPZy~Uq!u<1N^d-Z}|6F+fb{wKM7b6Yw__OS1N#=f*iJibx^nMok=0&@o zaX$;!TgrR6iKCng*q9Z#dhOUn5i}lfw+y1>hs^`okbq;OKtuci8F_<1O~@^^3j*?g z5U_%;I?8fjPUYt|uGXPe|AHMV8H6Pr$TMp#MMN;iS0r1!4ptM%01=N`eI8afGP83h zMXwJZ=`#U7C15TV;}WXk?Q8PltH#9BKQRVgiX?3eOu=LgF-r4Nv@t1I&(g-EVlzun z{~mC8Zyk)XfYXNkhP@+EXa4y<;036q0F{4B@Ynk0-N8b{(GFy)7!_xCzYIBBfiwDc z_g2W#b(_bDaTlnp)~bx-&tJ*g{z`P~<0rs>#UlxE_R8l`hd1Z%48MtohNxy{duQYdCN$CN0KwpXI}TzJ_OBJ=D-i={FpiW61in`>%EZ6& zQ>5r;8Ma((+lk+S9avs&zaW%`XDBM5q+f$`E~2DBF`L3Pu<&L`AcAPPhg&HJkV}_F z10{v8CwEC{H{IMy{i%(2+G__pPg9zveDKchNl98?jmO#~xq_8#dspDM3NVLoD{Q7l z8Z$=XJs>vh*olBG*u2&iXSex9p4Odsj{&M@#|En8eSVYqtMY8N@az=%!dkt>d}Y5S zARL@??B>t^4n3t1UsS5N8jzfdKB*MB5ZTo*QuFvRQ-~p9Un9N39uOQWPDSmyht$v# zIxo}QJ!FsFxQEqVxe{knT}O}FD=(r_roN#1vr&DuDu^{A0}+%-Pl@`PPPSR6yXaz|I+!`#&;2_-nKiy{c%DCpc()tJpNuxPB;~P>W>qyhO_`D zuvZwt?rx#6kiaA1S`y56kkmXRZmo=ey0JL^XQ~0e3>3oU8OuO23~Ve)^_gFR+JLYC zalCr|q$*sFkj z00i5IPQ@6yx1dk`5zK(F0KwQR60Dx+R-?^BO(Nk$swug*TdSXff)H++NI9h$8TFKFcDD-~8e0j214LQ)r~S20oU6BZ>%9e4?)xn zrU+(DTz^F$VsQU$=t6(ozZe5X>%p9b`wa!r9-=@?nA=3{Mb^cF6y8Z39Y=4Nvo{*s zkFk+3;p0Uv-A(2Q$99IAYux)te8GBz-oOvRVf7jGhFfu5yFcMG0Z_%ld=%DW>kZ!n z;bNeF4|?Ap`cp7wAbi*>3LmWYquVl6JVXwJ4=rZD`e6PM2R1tY@i_{Y^P#SW36~pT z84myjcLIYkgiAZRDgKH6P0IC=~<`DrSjKM)_ONLC1dAL6qbjaosfIUNjO9sy&R|HLEe{yG-g z6r!xohLqS%k$o3YdTC%T(sr8{g#NgTl3ix0n58df=^My`mg;Jb3H*pz;2^pxyB|JB z?tBW;J&ZeFdUHS&-27Hd3XTHk{Za78U}$qPx*qACxB`Xfss9d_YT%CZq!FPsAG^S2 z=Cw?=P$x_y@-JXrwL(;wi$n65Ye8Ip0pW>uoIDG%%p`!WKF7rVEY_DDAnE5aeujr) zf0KW9`bK+f5|Hnr@6HiVPyX&x@WEm8DcTW z{u)NM*@Hah-JxRr(E#n0d=Vv#45LQ!&sj=5%)(F+Sg3hpKv?)KkQf6C7qiV92$RN5!jSSNaBN;4nBBD9 zF<4^_2Dtek@|b2Iqta7$$MA5}zCNJ-tp$3de?i{|$$A-KI1IV7E`r|Q#s`w2fag@v zwICV#fGP8vNLK!^$burp`qvKh#Gu~<4$&`=ese>HUkqYo zG2`7N#^e};9)+*O#sYF*7&iU^yqePjOxZvEe192G{|*B^G3Ym)W8!BJT`|W**}&R# z``ffMc1v6yC2x-=PQMWYRVjdosCukB5>?G0kvRj&=D`3H^p7v^&H>?TE4m&7UwMQ* z7x;=~+gtE~VBbN0$BidJezz0s!T`T3ME4JO+`!;IGdA3haqL{n(5-4hzz*@<%8ukH zUijL8a8(14BXtba`bD-m5gJRi8tK-4(-ZJ_r`;9p@3u)=z~BAPss9dt_uCk!C+zQT zel^-|-3gWtw_D?OP&KDpH{5Q$2W&y7*?-61{S;syfMN3jIu*li%|xI2Q_LoVF$d`H z{u-)3Ie)hu!sN60yI;q67EU-3fA@wzM{`0e21Ph097L{I{_fj>ng5=@yBbgpfD@j5 zB_=1Fi$3+o2{%C6oV>r=_MH>-ci#bsj^}bZZF@Aqz67ws3FbhqSpM!8k@LUj?|%DF z10vV~bSlQsy%&Azk6<+r7XP2}cW>A>AQb%>7*=Lgn7_LKLa%>+_bjm8@%-IQsQ9G( z-8W)7`E35~v#pXRnlx^>^<9ys>1~@%`N&qYp8- z|A**8f875J2FwZjyZ=fY9mn6js3jWPPqC3Oe|IZ##qxI#S98sO$>055Kotw~C+I+# z0m8*Ve;0b+ANn&eX8u?CyYFZo5DKONgE54QiEbX#-<<}T_HXxhyZ$(!zAXW2V)X5F z^i7dBdYNzx222cp_fx1znJQ`vgge~d{Rln}+~4gaN7LWyEvB5qU zk86~_yAdwP0SwTcO))8W9jMeF1s?@N$Mkm>pb$;sXn%Jv*z9=z?ly>ulk#`p4bTe_Ie+Gv86OZv23H|%KUv7*I$_a|=CiEnR zQ|u~IykCF!jrdBkNBg@6gF?sicfZ5_oV36D1(xd9-~D34fUvL;NQ{AnE7@kh{_bz% zE3pvm@9qOqkLT}xiv#4u{N4MIl?_GvyMM}t`t^4&-83Mi{2Dloft0Th@P7T>BQ02? z{oU^a$H((`H&p^G zG?Z?sIC8g_o5st!AN{iI$F4Z?z0UnSzbNkfiX+21cU$}0x#7Ixh_ka^Vw)D(yE5uUg=dpI2=4aJ75^{SgK9ujrA!i&*!D;4thLXXbA}=H?e~4(-|vsFe#o4?_H8|D zt$jV~?EP;_G@rNQkh(qx`n2#2mBQ^-ZvF4ic0N0{^Y+;3=}p0x(gyUzl@H)CI46oa z2lNPyABMzteE<~Ume8^MEF5@i(17g1*KsEQv3CCJ6ymd_$oJ&Y&+(aD{3!vaYrklxo z%91m1yW~KJbElw71Cc?fFH~R`Y@=*&o69fKt?cPi!?qSsGAmJ)omFWU)epvboYsd{ z)~tAhRe*Jfbg)gfTPwV91q%nufwk6ab%E(b5PvMW1Oq(G`@5;?ckMwLhRawB;U#K} z@kB*@9Mg0WPJmdh->zguTv?|*UGM@vDcuBsY*@P1ys+g?$Nhaa36OzO^cH)Of z=6@f^{&569Bg;qMz{7QM(5@cjXXS5;OzFlC%V2+fapjk^;=VXvfqq8qC!!X7IaW8U zoB7ZfpFnh{N$-ByY^DwC!Qh(++WFh$Q#6{y6f!oTyEzsi+Ja6NTW|8c8or#TKh`X~ zU-li?=V_l-9Zu%+e0dpu6~)=Zx+O@3!}x*wXmmmJ)1Qd3#@nA-b@8_$&f_7sXm>IS zDONEgAB`Zx=in!HD-@IbiunLXgPN)OC2Ip^5q$yDjL#!WJreZ?OUI_jT`9SPb1p_4 zT@Y|XA4|9sCB)7qtuB^}pXARzr979l|9kzhYoh)tQ2defH~z&G`uhnoq}1Q}h)B}kKi7P3{WZf@ zIN?gt-)fZ5n*KJLY)SgNkJ%FX`>²hje{)&|I6NwuGwExlkM83}quE(KOm@wpK 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 z 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%0Ay^lZm1?hxsFi23YtNMCC#41^?2 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

      QmPV$*R^0bT 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

      wo?MUsDUa8s@MNn=?uQIm2GQgx4Q3` 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

      T&!j!3?`d0ce90F`~~4Bey_hO~8t-Ol6o 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%0A#2{9|1cC6=Ml&syIVl#p^{ee z-u`Jz7!W3#Pg6~w_K<^dQ|mT3)2i(jC^Wm%T{N-xhDlW=dCz`WmyntP1Ljy3x9ei+ zk_gW)91hq|1e6=`eMB|=Sy*powRi$?sH{`dJvmtO`i>e!D<45XjN~2KEywJ*%hwIc z_|C{$NNg27se%St&{IqQaYfOyuS`vaK!o{JUuGgQQm<*(j2LYDEJ-|^lybn2!Ougx za^YIM5=FZV`NXA^>pm?D;+W{>T@jLam&*+1PR$Za>S{jqRd;QDiXkX9nh&qR$U>{V zdQ}MP8;Ax&?vP9FDADZ(Hu!7+_4<}c%3>;EMRkFrV5_|}S4zySlNTEE8D*%?4x*e( zc%+;w)xO$_S|sg?iG1Vj7|MfZa3V*h2{Kj_dY&&49m z8+sfDvQ~-t_=6q6JpXr$Xf|`|y8hOBe;H4Ue6e)t)-Hc2uHTHDb-}B6PN~j`LXeT& zki*QilD6htDs8Km)^GrRp#Mb6Abn=gGh}NvqO2Fu*ntzc9PWN;NKdK@ymX`?t?9cE zEjATyj7jq%QTAtQl=yoeq|VjNKS%C_jifYD`7icUszgv&H7qGw_ZF;ZrpTA~jXqbi zD1+aTr!;TGie^omz&}@V@s9lelKxX|9U?Ks>Z3_&&)@~lCE~-6n3m3j8TlK*6n;zyRc%j4`foJmyhVx z@t<_?*i7rN2G5R+tK7;Swru%4vr83m@o!1?<~0IfVmX6#O^m&U%Sa$&n#YZv@Ku9B zRY^g;Gsf+HmNOX6+(|i`*qoGnj&;L>Ps9Gr2%XGDJ8>>nldFQ32Br@}n}dz=VN=(4 z2i$ECIOA19Xo${RGTM`+Tj-{mZ*Zw5;q>g=a)~v@mN#Di^(|)w<3hTDqqTN7Y{*sWZKNcxBcaH-)|Vu27R7G#pdY#W zj*5f*$}N)(L(y&xiopx9OCX#cMr;2cb1Rp63ISvdVluY#ZM(mu3b7z5jsn66zq@}-P3xC>zJYTW&T8SIv)96LG7R`z!76hg35rv>D_|Wnk z+JrJ%49HOcq?&EI;zl%cOP27-&skl;NF~NRsV1Cpewy8qEma=3GR3vp+WDYotaDrr zRBc(%TCWOD#B;l4e8t#erdH?Mj zx$Vt%MW5d}SC%}zNMT`a-mb#`!OpqdvDro&HbUwypKghwE#nbyb@K4;`vsPQJE>2& zVf?ysiM;XWLeDUn@`|r&Wv|28&U+GX_f!aclM>cSq-9HuI6bx=Ru1@mo_Is!Fa|6b(O>yq2Lq&q?a=lrR z{RJO=a#y^UVZ&h*2bxK|zIm$Sti8D8RG)CDTdrg?SxUW^XQ3Fr#jIG2)hi8)`$ye+ zqB7^ApwQXwOFr +*/ + +#ifndef _ALGEBRA_H_ +#define _ALGEBRA_H_ + +/** Algebra is a virtual class (interface) for algebra used by the Alignment template classes. + * This is in the spirit of the Algebraic Dynamic Programming (ADP) approach where a Dynamic Programming + * algorithm is seperated into a grammar and an algebra. + */ +template +class Algebra +{ +public: + virtual R empty() const =0; /**< Result for the empty tree alignment */ + virtual R replace(L a,R down, L b, R over) const =0; /**< Result for the tree edit function 'replace' */ + virtual R del(L a,R down, R over) const =0; /**< Result for the tree edit function 'delete' */ + virtual R insert(R down,L b,R over) const =0; /**< Result for the tree edit function 'insert' */ + virtual R choice(R a,R b) const =0; /**< The choice function. Commonly used functions are 'min' and 'max' */ + virtual R worst_score() const =0; /**< The worst_score with respect to choice is specified by this function */ + + virtual ~Algebra() {}; +}; + +/** Extended Algebra for aligning RNA secondary structure trees where basepair replacements + * are considered as a single edit operation. + */ +template +class RNA_Algebra : public Algebra +{ +public: + /** Result for the replacement of a basepair */ + virtual R replacepair(L la, L lb, R down, L ra, L rb, R over) const =0; +}; + +/** Algebra for the tree edit model */ +template +class SZAlgebra +{ +public: + virtual R empty() const =0; /**< Result for the empty tree alignment */ + virtual R replace(L a,R down, L b) const =0; /**< Result for the tree edit function 'replace' */ + virtual R del(L a,R down) const =0; /**< Result for the tree edit function 'delete' */ + virtual R insert(R down,L b) const =0; /**< Result for the tree edit function 'insert' */ + virtual R choice(R a,R b) const =0; /**< The choice function. Commonly used functions are 'min' and 'max' */ + virtual R worst_score() const =0; /**< The worst_score with respect to choice is specified by this function */ + + virtual ~SZAlgebra() {}; +}; + +#endif + + + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/alignment.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/alignment.h new file mode 100755 index 00000000..8a44919d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/alignment.h @@ -0,0 +1,93 @@ +/* + Copyright by Matthias Hoechsmann (C) 2002-2004 + ===================================== + You may use, copy and distribute this file freely as long as you + - do not change the file, + - leave this copyright notice in the file, + - do not make any profit with the distribution of this file + - give credit where credit is due + You are not allowed to copy or distribute this file otherwise + The commercial usage and distribution of this file is prohibited + Please report bugs and suggestions to +*/ + +#ifndef _ALIGNMENT_H_ +#define _ALIGNMENT_H_ + +#include +#include + +#include "types.h" +#include "algebra.h" +#include "ppforest.h" +#include "ppforestali.h" + +template +class Alignment +{ +private: + struct CSFPair + { + Uint i; + Uint j; + Uint k; + Uint l; + + CSFPair(Uint i, Uint j, Uint k, Uint l) : i(i),j(j),k(k),l(l) {}; + }; + + R *m_mtrx; + Ulong *m_rowStart; + Ulong m_mtrxSize; + + PPForest *m_ppfx; + PPForest *m_ppfy; + + const Algebra *m_alg; + const RNA_Algebra *m_rnaAlg; + + R m_localOptimum; + R m_localSubOptimum; + std::list m_localAlis; // holds which alignments are already produced by getOptLocalAlignment + double m_suboptimalsPercent; // percentage is stores as a value between 0 and 1 + + inline R getMtrxVal(Ulong i,Ulong j) const + { + assert(m_rowStart[i]+jchoice(m_localOptimum,val); // here we calculate local similarity on the fly + }; + + void calculateLocal(const PPForest *ppfx, const PPForest *ppfy,const Algebra &alg, bool noSpeedup=false); + void calculateGlobal(const PPForest *ppfx, const PPForest *ppfy,const Algebra &alg, bool noSpeedup=false); + Uint backtrack(PPForestAli &ppf,Uint i, Uint j, Uint k, Uint l, Uint &node); +public: + Alignment(const PPForest *ppfx, const PPForest *ppfy,const Algebra &alg, bool local, bool noSpeedup=false); + Alignment(const PPForest *ppfx, const PPForest *ppfy,const RNA_Algebra &rnaAlg); + ~Alignment(); + + R getGlobalOptimum(); + + /** This function should only be used in conjunction with + * similarity based algebras + */ + double getGlobalOptimumRelative(); + + inline R getLocalOptimum(){return m_localSubOptimum;}; + R getSILOptimum(); + void getOptGlobalAlignment(PPForestAli &ppfali); + + void resetOptLocalAlignment(int suboptimalsPercent=100); + bool nextLocalSuboptimum(); + void getOptLocalAlignment(PPForestAli &ppfali,Uint &xbasepos, Uint &ybasepos); + void getOptSILAlignment(PPForestAli &ppfali,Uint &ybasepos); +}; + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/alignment.t.cpp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/alignment.t.cpp new file mode 100755 index 00000000..178f3aa2 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/alignment.t.cpp @@ -0,0 +1,1004 @@ +/* + Copyright by Matthias Hoechsmann (C) 2002-2004 + ===================================== + You may use, copy and distribute this file freely as long as you + - do not change the file, + - leave this copyright notice in the file, + - do not make any profit with the distribution of this file + - give credit where credit is due + You are not allowed to copy or distribute this file otherwise + The commercial usage and distribution of this file is prohibited + Please report bugs and suggestions to +*/ + +#ifndef _ALIGNMENT_T_CPP_ +#define _ALIGNMENT_T_CPP_ + +#include +#include + +#include "alignment.h" +#include "debug.h" + +#include "misc.t.cpp" +#include "ppforest.t.cpp" + +/* ****************************************** */ +/* Constructor and Destruktor functions */ +/* ****************************************** */ + +template +Alignment::Alignment(const PPForest *ppfx, const PPForest *ppfy, const Algebra &alg, bool local, bool noSpeedup) +: m_suboptimalsPercent(100) +{ + if(local) + calculateLocal(ppfx,ppfy,alg,noSpeedup); + else + calculateGlobal(ppfx,ppfy,alg,noSpeedup); +} + +template +Alignment::Alignment(const PPForest *ppfx, const PPForest *ppfy, const RNA_Algebra &rnaAlg) +: m_suboptimalsPercent(100) +{ + assert(ppfx != NULL); + assert(ppfy != NULL); + + Ulong m,n,h,cols; + long i,k; + Uint j,l,r; + + R score,h_score; + + // alloc space for the score matrix, backtrack structure and , if wanted, for the calculation-order-matrix + m_mtrxSize=ppfx->getNumCSFs()*ppfy->getNumCSFs(); + + m_mtrx=new R[m_mtrxSize]; + m_rowStart=new Ulong[ppfx->getNumCSFs()]; + m_ppfx = new PPForest(*ppfx); // copy the ppforests + m_ppfy = new PPForest(*ppfy); + m_rnaAlg=&rnaAlg; + m_alg=(const Algebra*)&rnaAlg; + m_localOptimum=rnaAlg.worst_score(); + + // initialize variables + m=ppfx->size(); + n=ppfy->size(); + cols=ppfy->getNumCSFs(); + + m_rowStart[0]=0; + for(h=1;hgetNumCSFs();h++) + m_rowStart[h]=m_rowStart[h-1]+cols; + + // align forests fx and fy + + // the easiest case .. + setMtrxVal(0,0,rnaAlg.empty()); + + // align fx to the empty forest (fill first row of array) + for(i=m-1;i>=0;i--) // for all nodes in fx + { + for(j=1;j<=ppfx->getMaxLength(i);j++) // for all non empty csfs induced by i + { + score = rnaAlg.del(ppfx->label(i), + getMtrxVal(ppfx->down(i),0), + getMtrxVal(ppfx->over(i,j),0)); + + setMtrxVal(ppfx->indexpos(i,j),0,score); + } + } + + // align fy to the empty forest (fill first column of array) + for(k=n-1;k>=0;k--) // for all nodes in fx + { + for(l=1;l<=ppfy->getMaxLength(k);l++) // for all non empty csfs induced by k + { + score = rnaAlg.insert(getMtrxVal(0,ppfy->down(k)), + ppfy->label(k), + getMtrxVal(0,ppfy->over(k,l))); + + setMtrxVal(0,ppfy->indexpos(k,l),score); + } + } + + // align the rest + for(i=m-1;i>=0;i--) // for all nodes in fx + for(k=n-1;k>=0;k--) // for all nodes in fx + for(j=1;j<=ppfx->getMaxLength(i);j++) // for all non empty csfs induced by i + for(l=1;l<=ppfy->getMaxLength(k);l++) // for all non empty csfs induced by k + { + // basepair replacement + if(ppfx->down(i) && ppfy->down(k)) + { + // must be two P nodes !! + h_score = rnaAlg.replacepair(ppfx->label(i+1), + ppfy->label(k+1), + getMtrxVal(ppfx->mdown(i),ppfy->mdown(k)), + ppfx->label(ppfx->getRightmostBrotherIndex(i+1)), + ppfy->label(ppfy->getRightmostBrotherIndex(k+1)), + getMtrxVal(ppfx->over(i,j),ppfy->over(k,l))); + } + else + { + h_score = rnaAlg.replace(ppfx->label(i), + getMtrxVal(ppfx->down(i),ppfy->down(k)), + ppfy->label(k), + getMtrxVal(ppfx->over(i,j),ppfy->over(k,l))); + } + + score=h_score; + + // delete + h=k; // h is the node where the suffix of the split begins + for(r=0;r<=l;r++) // for all splits of fy + { + h_score = rnaAlg.del(ppfx->label(i), + getMtrxVal(ppfx->down(i),ppfy->indexpos(k,r)), + getMtrxVal(ppfx->over(i,j),ppfy->indexpos(h,l-r))); + + score=rnaAlg.choice(score,h_score); + h=ppfy->rb(h); + } + + // insert + h=i; + for(r=0;r<=j;r++) // for all splits of fx + { + h_score = rnaAlg.insert(getMtrxVal(ppfx->indexpos(i,r),ppfy->down(k)), + ppfy->label(k), + getMtrxVal(ppfx->indexpos(h,j-r),ppfy->over(k,l))); + + score=rnaAlg.choice(score,h_score); + h=ppfx->rb(h); + } + + // set value + setMtrxVal(ppfx->indexpos(i,j),ppfy->indexpos(k,l),score); + } + + // showArray(m_mtrx,ppfx->getNumCSFs(),ppfy->getNumCSFs()); + resetOptLocalAlignment(100); +} + + + +template +Alignment::~Alignment() +{ + delete[] m_mtrx; + delete[] m_rowStart; + delete m_ppfx; + delete m_ppfy; +} + + + +/* ****************************************** */ +/* Private functions */ +/* ****************************************** */ + +template +void Alignment::calculateLocal(const PPForest *ppfx, const PPForest *ppfy, const Algebra &alg, bool noSpeedup) +{ + assert(ppfx != NULL); + assert(ppfy != NULL); + + Ulong m,n,h,cols; + long i,k; + Uint j,l,r; + + R score,h_score; + + // alloc space for the score matrix, backtrack structure and , if wanted, for the calculation-order-matrix + m_mtrxSize=ppfx->getNumCSFs()*ppfy->getNumCSFs(); + + m_mtrx=new R[m_mtrxSize]; + m_rowStart=new Ulong[ppfx->getNumCSFs()]; + m_ppfx = new PPForest(*ppfx); // copy the ppforests + m_ppfy = new PPForest(*ppfy); + m_alg=&alg; + m_rnaAlg=NULL; + m_localOptimum=alg.worst_score(); + + + // initialize variables + m=ppfx->size(); + n=ppfy->size(); + cols=ppfy->getNumCSFs(); + + m_rowStart[0]=0; + for(h=1;hgetNumCSFs();h++) + m_rowStart[h]=m_rowStart[h-1]+cols; + + // align forests fx and fy + + // the easiest case .. + setMtrxVal(0,0,alg.empty()); + + // align fx to the empty forest (fill first row of array) + for(i=m-1;i>=0;i--) // for all nodes in fx + { + for(j=1;j<=ppfx->getMaxLength(i);j++) // for all non empty csfs induced by i + { + score = alg.del(ppfx->label(i), + getMtrxVal(ppfx->down(i),0), + getMtrxVal(ppfx->over(i,j),0)); + + setMtrxVal(ppfx->indexpos(i,j),0,score); + } + } + + // align fy to the empty forest (fill first column of array) + for(k=n-1;k>=0;k--) // for all nodes in fx + { + for(l=1;l<=ppfy->getMaxLength(k);l++) // for all non empty csfs induced by k + { + score = alg.insert(getMtrxVal(0,ppfy->down(k)), + ppfy->label(k), + getMtrxVal(0,ppfy->over(k,l))); + + setMtrxVal(0,ppfy->indexpos(k,l),score); + } + } + + // align the rest + for(i=m-1;i>=0;i--) // for all nodes in fx + for(k=n-1;k>=0;k--) // for all nodes in fx + for(j=1;j<=ppfx->getMaxLength(i);j++) // for all non empty csfs induced by i + for(l=1;l<=ppfy->getMaxLength(k);l++) // for all non empty csfs induced by k + { + // replace + score = alg.replace(ppfx->label(i), + getMtrxVal(ppfx->down(i),ppfy->down(k)), + ppfy->label(k), + getMtrxVal(ppfx->over(i,j),ppfy->over(k,l))); + + // delete + if(ppfx->noc(i)==0 && !noSpeedup) // no child + { + h_score = alg.del(ppfx->label(i),0, + getMtrxVal(ppfx->over(i,j),ppfy->indexpos(k,l))); + + score=alg.choice(score,h_score); + } + else + { + if(ppfx->rb(i)==0 && !noSpeedup) // no right brother + { + h_score = alg.del(ppfx->label(i), + getMtrxVal(ppfx->down(i),ppfy->indexpos(k,l)), + 0); + + score=alg.choice(score,h_score); + } + else + { + h=k; // h is the node where the suffix of the split begins + for(r=0;r<=l;r++) // for all splits of fy + { + h_score = alg.del(ppfx->label(i), + getMtrxVal(ppfx->down(i),ppfy->indexpos(k,r)), + getMtrxVal(ppfx->over(i,j),ppfy->indexpos(h,l-r))); + + score=alg.choice(score,h_score); + h=ppfy->rb(h); + } + } + } + + // insert + if(ppfy->noc(k)==0 && !noSpeedup) // no child + { + h_score = alg.insert(0, + ppfy->label(k), + getMtrxVal(ppfx->indexpos(i,j),ppfy->over(k,l))); + + score=alg.choice(score,h_score); + } + else + { + if(ppfy->rb(k)==0 && !noSpeedup) // no right brother + { + h_score = alg.insert(getMtrxVal(ppfx->indexpos(i,j),ppfy->down(k)), + ppfy->label(k), + 0); + + score=alg.choice(score,h_score); + } + else + { + h=i; + for(r=0;r<=j;r++) // for all splits of fx + { + h_score = alg.insert(getMtrxVal(ppfx->indexpos(i,r),ppfy->down(k)), + ppfy->label(k), + getMtrxVal(ppfx->indexpos(h,j-r),ppfy->over(k,l))); + + score=alg.choice(score,h_score); + h=ppfx->rb(h); + } + } + } + + // set value + setMtrxVal(ppfx->indexpos(i,j),ppfy->indexpos(k,l),score); + } + + /* + // delete + h=k; // h is the node where the suffix of the split begins + for(r=0;r<=l;r++) // for all splits of fy + { + h_score = alg.del(ppfx->label(i), + getMtrxVal(ppfx->down(i),ppfy->indexpos(k,r)), + getMtrxVal(ppfx->over(i,j),ppfy->indexpos(h,l-r))); + + score=alg.choice(score,h_score); + h=ppfy->rb(h); + } + + // insert + h=i; + for(r=0;r<=j;r++) // for all splits of fx + { + h_score = alg.insert(getMtrxVal(ppfx->indexpos(i,r),ppfy->down(k)), + ppfy->label(k), + getMtrxVal(ppfx->indexpos(h,j-r),ppfy->over(k,l))); + + score=alg.choice(score,h_score); + h=ppfx->rb(h); + } + + // set value + setMtrxVal(ppfx->indexpos(i,j),ppfy->indexpos(k,l),score); + */ + + + // showArray(m_mtrx,ppfx->getNumCSFs(),ppfy->getNumCSFs()); + resetOptLocalAlignment(100); +} + +template +void Alignment::calculateGlobal(const PPForest *ppfx, const PPForest *ppfy, const Algebra &alg, bool noSpeedup) +{ + assert(ppfx != NULL); + assert(ppfy != NULL); + + Ulong m,n,h,cols; + long i,k; + Uint j,l,r; + + R score,h_score; + + // alloc space for the score matrix, backtrack structure and , if wanted, for the calculation-order-matrix + m_mtrxSize=ppfx->getNumCSFs()*ppfy->getNumCSFs(); + + m_mtrx=new R[m_mtrxSize]; + m_rowStart=new Ulong[ppfx->getNumCSFs()]; + m_ppfx = new PPForest(*ppfx); // copy the ppforests + m_ppfy = new PPForest(*ppfy); + m_alg=&alg; + m_rnaAlg=NULL; + m_localOptimum=alg.worst_score(); + + + // initialize variables + m=ppfx->size(); + n=ppfy->size(); + cols=ppfy->getNumCSFs(); + + m_rowStart[0]=0; + for(h=1;hgetNumCSFs();h++) + m_rowStart[h]=m_rowStart[h-1]+cols; + + // align forests fx and fy + + // the easiest case .. + setMtrxVal(0,0,alg.empty()); + + // align fx to the empty forest (fill first row of array) + for(i=m-1;i>=0;i--) // for all nodes in fx + { + for(j=1;j<=ppfx->getMaxLength(i);j++) // for all non empty csfs induced by i + { + score = alg.del(ppfx->label(i), + getMtrxVal(ppfx->down(i),0), + getMtrxVal(ppfx->over(i,j),0)); + + setMtrxVal(ppfx->indexpos(i,j),0,score); + } + } + + // align fy to the empty forest (fill first column of array) + for(k=n-1;k>=0;k--) // for all nodes in fx + { + for(l=1;l<=ppfy->getMaxLength(k);l++) // for all non empty csfs induced by k + { + score = alg.insert(getMtrxVal(0,ppfy->down(k)), + ppfy->label(k), + getMtrxVal(0,ppfy->over(k,l))); + + setMtrxVal(0,ppfy->indexpos(k,l),score); + } + } + + // align the rest + for(i=m-1;i>=0;i--) // for all nodes in fx + for(k=n-1;k>=0;k--) // for all nodes in fx + { + j=ppfx->getMaxLength(i); + for(l=1;l<=ppfy->getMaxLength(k);l++) // for all non empty csfs induced by k + { + // replace + + score = alg.replace(ppfx->label(i), + getMtrxVal(ppfx->down(i),ppfy->down(k)), + ppfy->label(k), + getMtrxVal(ppfx->over(i,j),ppfy->over(k,l))); + + // delete + if(ppfx->noc(i)==0 && !noSpeedup) // no child + { + h_score = alg.del(ppfx->label(i),0, + getMtrxVal(ppfx->over(i,j),ppfy->indexpos(k,l))); + + score=alg.choice(score,h_score); + } + else + { + if(ppfx->rb(i)==0 && !noSpeedup) // no right brother + { + h_score = alg.del(ppfx->label(i), + getMtrxVal(ppfx->down(i),ppfy->indexpos(k,l)), + 0); + + score=alg.choice(score,h_score); + } + else + { + h=k; // h is the node where the suffix of the split begins + for(r=0;r<=l;r++) // for all splits of fy + { + h_score = alg.del(ppfx->label(i), + getMtrxVal(ppfx->down(i),ppfy->indexpos(k,r)), + getMtrxVal(ppfx->over(i,j),ppfy->indexpos(h,l-r))); + + score=alg.choice(score,h_score); + h=ppfy->rb(h); + } + } + } + + // insert + if(ppfy->noc(k)==0 && !noSpeedup) // no child + { + h_score = alg.insert(0, + ppfy->label(k), + getMtrxVal(ppfx->indexpos(i,j),ppfy->over(k,l))); + + score=alg.choice(score,h_score); + } + else + { + if(ppfy->rb(k)==0 && !noSpeedup) // no right brother + { + h_score = alg.insert(getMtrxVal(ppfx->indexpos(i,j),ppfy->down(k)), + ppfy->label(k), + 0); + + score=alg.choice(score,h_score); + } + else + { + h=i; + for(r=0;r<=j;r++) // for all splits of fx + { + h_score = alg.insert(getMtrxVal(ppfx->indexpos(i,r),ppfy->down(k)), + ppfy->label(k), + getMtrxVal(ppfx->indexpos(h,j-r),ppfy->over(k,l))); + + score=alg.choice(score,h_score); + h=ppfx->rb(h); + } + } + } + + // set value + setMtrxVal(ppfx->indexpos(i,j),ppfy->indexpos(k,l),score); + } + + l=ppfy->getMaxLength(k); + for(j=1;j<=ppfx->getMaxLength(i);j++) // for all non empty csfs induced by i + { + // replace + score = alg.replace(ppfx->label(i), + getMtrxVal(ppfx->down(i),ppfy->down(k)), + ppfy->label(k), + getMtrxVal(ppfx->over(i,j),ppfy->over(k,l))); + + // delete + if(ppfx->noc(i)==0 && !noSpeedup) // no child + { + h_score = alg.del(ppfx->label(i),0, + getMtrxVal(ppfx->over(i,j),ppfy->indexpos(k,l))); + + score=alg.choice(score,h_score); + } + else + { + if(ppfx->rb(i)==0 && !noSpeedup) // no right brother + { + h_score = alg.del(ppfx->label(i), + getMtrxVal(ppfx->down(i),ppfy->indexpos(k,l)), + 0); + + score=alg.choice(score,h_score); + } + else + { + h=k; // h is the node where the suffix of the split begins + for(r=0;r<=l;r++) // for all splits of fy + { + h_score = alg.del(ppfx->label(i), + getMtrxVal(ppfx->down(i),ppfy->indexpos(k,r)), + getMtrxVal(ppfx->over(i,j),ppfy->indexpos(h,l-r))); + + score=alg.choice(score,h_score); + h=ppfy->rb(h); + } + } + } + + // insert + if(ppfy->noc(k)==0 && !noSpeedup) // no child + { + h_score = alg.insert(0, + ppfy->label(k), + getMtrxVal(ppfx->indexpos(i,j),ppfy->over(k,l))); + + score=alg.choice(score,h_score); + } + else + { + if(ppfy->rb(k)==0 && !noSpeedup) // no right brother + { + h_score = alg.insert(getMtrxVal(ppfx->indexpos(i,j),ppfy->down(k)), + ppfy->label(k), + 0); + + score=alg.choice(score,h_score); + } + else + { + h=i; + for(r=0;r<=j;r++) // for all splits of fx + { + h_score = alg.insert(getMtrxVal(ppfx->indexpos(i,r),ppfy->down(k)), + ppfy->label(k), + getMtrxVal(ppfx->indexpos(h,j-r),ppfy->over(k,l))); + + score=alg.choice(score,h_score); + h=ppfx->rb(h); + } + } + } + + // set value + setMtrxVal(ppfx->indexpos(i,j),ppfy->indexpos(k,l),score); + } + } + + // showArray(m_mtrx,ppfx->getNumCSFs(),ppfy->getNumCSFs()); + resetOptLocalAlignment(100); +} + +template +Uint Alignment::backtrack(PPForestAli &ppf,Uint i, Uint j, Uint k, Uint l, Uint &node) +{ + R score, h_score; + Uint p_node,rb_node,noc,rbs,r,h; + + // empty alignment + if(j==0 && l==0) + { + return 0; + } + + score = getMtrxVal(m_ppfx->indexpos(i,j),m_ppfy->indexpos(k,l)); + p_node=node; + node++; + + // could it be a replacement + if(j>0 && l>0) + { + // check for basepair replacement only if Algebra is of type RNA_Algebra + if(m_rnaAlg && m_ppfx->down(i) && m_ppfy->down(k)) + { + h_score = m_rnaAlg->replacepair(m_ppfx->label(i+1), + m_ppfy->label(k+1), + getMtrxVal(m_ppfx->mdown(i),m_ppfy->mdown(k)), + m_ppfx->label(m_ppfx->getRightmostBrotherIndex2(i+1)), + m_ppfy->label(m_ppfy->getRightmostBrotherIndex2(k+1)), + getMtrxVal(m_ppfx->over(i,j),m_ppfy->over(k,l))); + + if(score == h_score) + { + // it is a basepair replacement + ppf.makeRepLabel(p_node,m_ppfx->label(i),m_ppfy->label(k)); // P + + // set labels of leftmost child + ppf.makeRepLabel(p_node+1,m_ppfx->label(i+1),m_ppfy->label(k+1)); + ppf.setRightBrotherIndex(p_node+1,p_node+1+1); + ppf.setNumChildren(p_node+1,0); // base node has no children + node++; + + // down alignment + assert(m_ppfx->noc(i)>=2); + assert(m_ppfy->noc(k)>=2); + noc=backtrack(ppf,i+1+1,m_ppfx->noc(i)-2,k+1+1,m_ppfy->noc(k)-2,node); // !! mdown !! + ppf.setNumChildren(p_node,noc+2); + + if(noc==0) + { + ppf.setRightBrotherIndex(p_node+1,p_node+1+1); + ppf.setRightBrotherIndex(p_node+1+1,0); + } + else + { + ppf.setRightBrotherIndex(ppf.getRightmostBrotherIndex2(p_node+1+1),node); + } + + + // set labels of leftmost child + ppf.makeRepLabel(node,m_ppfx->label(m_ppfx->getRightmostBrotherIndex2(i+1+1)),m_ppfy->label(m_ppfy->getRightmostBrotherIndex2(k+1+1))); + ppf.setRightBrotherIndex(node,0); + ppf.setNumChildren(node,0); // base node has no children + node++; + rb_node=node; // !! + + // right alignment + rbs=backtrack(ppf,m_ppfx->rb(i),j-1,m_ppfy->rb(k),l-1,node); + if(rbs) + ppf.setRightBrotherIndex(p_node,rb_node); + else + ppf.setRightBrotherIndex(p_node,0); + + return rbs+1; + } + } + else + { + h_score = m_alg->replace(m_ppfx->label(i), + getMtrxVal(m_ppfx->down(i),m_ppfy->down(k)), + m_ppfy->label(k), + getMtrxVal(m_ppfx->over(i,j),m_ppfy->over(k,l))); + + if(score == h_score) + { + // it is a replacement + ppf.makeRepLabel(p_node,m_ppfx->label(i),m_ppfy->label(k)); + + // down alignment + noc=backtrack(ppf,i+1,m_ppfx->noc(i),k+1,m_ppfy->noc(k),node); + ppf.setNumChildren(p_node,noc); + rb_node=node; + + // right alignment + rbs=backtrack(ppf,m_ppfx->rb(i),j-1,m_ppfy->rb(k),l-1,node); + if(rbs) + ppf.setRightBrotherIndex(p_node,rb_node); + else + ppf.setRightBrotherIndex(p_node,0); + + return rbs+1; + } + } + } + + // could it be a deletion + if(j>0) + { + h=k; // h is the node where the suffix of the split begins + for(r=0;r<=l;r++) // for all splits of fy + { + h_score = m_alg->del(m_ppfx->label(i), + getMtrxVal(m_ppfx->down(i),m_ppfy->indexpos(k,r)), + getMtrxVal(m_ppfx->over(i,j),m_ppfy->indexpos(h,l-r))); + + if(score == h_score) + { + // it is a deletion + ppf.makeDelLabel(p_node,m_ppfx->label(i)); + + // down alignment + noc=backtrack(ppf,i+1,m_ppfx->noc(i),k,r,node); + ppf.setNumChildren(p_node,noc); + rb_node=node; + + // right alignment + rbs=backtrack(ppf,m_ppfx->rb(i),j-1,h,l-r,node); + if(rbs) + ppf.setRightBrotherIndex(p_node,rb_node); + else + ppf.setRightBrotherIndex(p_node,0); + + return rbs+1; + } + + // if(rrb(h); + } + } + + // could it be an insertion + if(l>0) + { + h=i; + for(r=0;r<=j;r++) // for all splits of fx + { + h_score = m_alg->insert(getMtrxVal(m_ppfx->indexpos(i,r),m_ppfy->down(k)), + m_ppfy->label(k), + getMtrxVal(m_ppfx->indexpos(h,j-r),m_ppfy->over(k,l))); + + if(score == h_score) + { + // it is an insertion + ppf.makeInsLabel(p_node,m_ppfy->label(k)); + + // down alignment + noc=backtrack(ppf,i,r,k+1,m_ppfy->noc(k),node); + ppf.setNumChildren(p_node,noc); + rb_node=node; + + // right alignment + rbs=backtrack(ppf,h,j-r,m_ppfy->rb(k),l-1,node); + if(rbs) + ppf.setRightBrotherIndex(p_node,rb_node); + else + ppf.setRightBrotherIndex(p_node,0); + + return rbs+1; + } + + // if(rrb(h); + } + } + + // you should never be here + cerr << "Strange things happening in backtrack" << endl; + exit(EXIT_FAILURE); +} + + + +/* ****************************************** */ +/* Public functions */ +/* ****************************************** */ + +template +R Alignment::getGlobalOptimum() +{ + return getMtrxVal(m_ppfx->indexpos(0,m_ppfx->getMaxLength(0)),m_ppfy->indexpos(0,m_ppfy->getMaxLength(0))); +}; + +template +double Alignment::getGlobalOptimumRelative() +{ + double opt; + double max_x,max_y; + + opt=(double)getGlobalOptimum(); + + if(m_rnaAlg) + { + max_x=(double)m_ppfx->maxScore(*m_rnaAlg); + max_y=(double)m_ppfy->maxScore(*m_rnaAlg); + } + else + { + max_x=(double)m_ppfx->maxScore(*m_alg); + max_y=(double)m_ppfy->maxScore(*m_alg); + } + + assert(max_x+max_y>0); + opt=2*opt/(max_x+max_y); + + return opt; +}; + +template +R Alignment::getSILOptimum() +{ + R silOptimum; + int k=0; + Uint j,l=0; + Ulong n; + + n=m_ppfy->size(); + + if(m_rnaAlg) + silOptimum=m_rnaAlg->worst_score(); + else + silOptimum=m_alg->worst_score(); + + j=m_ppfx->getMaxLength(0); + + // find the best match + for(k=n-1;k>=0;k--) // for all nodes in fx + for(l=1;l<=m_ppfy->getMaxLength(k);l++) // for all non empty csfs induced by k + { + silOptimum=m_alg->choice(silOptimum,getMtrxVal(m_ppfx->indexpos(0,j),m_ppfy->indexpos(k,l))); + } + + return silOptimum; +} + +template +void Alignment::getOptGlobalAlignment(PPForestAli &ppfali) +{ + Uint node=0; + + // allocate a forest of the maximal size that a forest alignment can have + ppfali.initialize(m_ppfx->size()+m_ppfy->size()); + backtrack(ppfali,0,m_ppfx->getMaxLength(0),0,m_ppfy->getMaxLength(0),node); + ppfali.setSize(node); + ppfali.calcSumUpCSF(); + ppfali.calcRMB(); +} + +template +void Alignment::resetOptLocalAlignment(int suboptimalsPercent) +{ + m_localAlis.clear(); + m_suboptimalsPercent=suboptimalsPercent/100.0; + m_localSubOptimum=m_localOptimum; +}; + +// calculate the score of the next best local alignment that is not "included" +// in a local alignment returned by getOptLocalAlignment before +template +bool Alignment::nextLocalSuboptimum() +{ + Ulong m,n; + int i=0,k=0; + Uint j=0,l=0; + + m_localSubOptimum=m_alg->worst_score(); + m=m_ppfx->size(); + n=m_ppfy->size(); + + // find a matrix element that is optimal + for(i=m-1;i>=0;i--) // for all nodes in fx + for(k=n-1;k>=0;k--) // for all nodes in fx + for(j=1;j<=m_ppfx->getMaxLength(i);j++) // for all non empty csfs induced by i + for(l=1;l<=m_ppfy->getMaxLength(k);l++) // for all non empty csfs induced by k + { + bool disjoint=true; + + // check if i,j,k,l is included + typename list::const_iterator it; + for(it=m_localAlis.begin();it!=m_localAlis.end();it++) + { + if(!m_ppfx->isDisjoint(it->i,it->j,i,j) || !m_ppfy->isDisjoint(k,l,it->k,it->l)) + { + disjoint=false; + break; + } + + } + + if(disjoint) + { + if(getMtrxVal(m_ppfx->indexpos(i,j),m_ppfy->indexpos(k,l))>=m_suboptimalsPercent*m_localOptimum) + m_localSubOptimum=m_alg->choice(m_localSubOptimum,getMtrxVal(m_ppfx->indexpos(i,j),m_ppfy->indexpos(k,l))); + } + } + + return m_localSubOptimum!=m_alg->worst_score(); +} + +template +void Alignment::getOptLocalAlignment(PPForestAli &ppfali,Uint &xbasepos, Uint &ybasepos) +{ + Ulong m,n; + int i=0,k=0; + Uint j=0,l=0,node=0; + + m=m_ppfx->size(); + n=m_ppfy->size(); + // allocate a forest of the maximal size that a forest alignment can have + ppfali.initialize(m_ppfx->size()+m_ppfy->size()); + + // find a matrix element that is optimal + for(i=m-1;i>=0;i--) // for all nodes in fx + for(k=n-1;k>=0;k--) // for all nodes in fx + for(j=1;j<=m_ppfx->getMaxLength(i);j++) // for all non empty csfs induced by i + for(l=1;l<=m_ppfy->getMaxLength(k);l++) // for all non empty csfs induced by k + { + bool disjoint=true; + + // check if i,j,k,l is included + typename list::const_iterator it; + for(it=m_localAlis.begin();it!=m_localAlis.end();it++) + { + if(!m_ppfx->isDisjoint(it->i,it->j,i,j) || !m_ppfy->isDisjoint(k,l,it->k,it->l)) + { + disjoint=false; + break; + } + + } + + if(disjoint && getMtrxVal(m_ppfx->indexpos(i,j),m_ppfy->indexpos(k,l)) == m_localSubOptimum) + goto found; + } + + found: + backtrack(ppfali,i,j,k,l,node); + ppfali.setSize(node); + ppfali.calcSumUpCSF(); + ppfali.calcRMB(); + + m_localAlis.push_back(CSFPair(i,j,k,l)); + xbasepos=m_ppfx->countLeaves(i); + ybasepos=m_ppfy->countLeaves(k); +} + +template +void Alignment::getOptSILAlignment(PPForestAli &ppfali,Uint &ybasepos) +{ + R silOptimum; + Ulong m,n; + int k=0; + Uint j=0,l=0,node=0; + + m=m_ppfx->size(); + n=m_ppfy->size(); + // allocate a forest of the maximal size that a forest alignment can have + ppfali.initialize(m_ppfx->size()+m_ppfy->size()); + + silOptimum=getSILOptimum(); + j=m_ppfx->getMaxLength(0); + + // find a matrix element that is optimal + for(k=n-1;k>=0;k--) // for all nodes in fx + for(l=1;l<=m_ppfy->getMaxLength(k);l++) // for all non empty csfs induced by k + { + if(silOptimum == getMtrxVal(m_ppfx->indexpos(0,j),m_ppfy->indexpos(k,l))) + goto found; + } + + found: + backtrack(ppfali,0,j,k,l,node); + ppfali.setSize(node); + ppfali.calcSumUpCSF(); + ppfali.calcRMB(); + + ybasepos=m_ppfy->countLeaves(k); +} + + +#endif + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/debug.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/debug.h new file mode 100755 index 00000000..88dc2873 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/debug.h @@ -0,0 +1,30 @@ +#ifndef _DEBUG_H_ +#define _DEBUG_H_ + +#include + +#ifndef RNAF_DEBUGLEVEL + #define RNAF_DEBUGLEVEL 5 +#endif + +#define DBG_OFF 6 +#define DBG_QWATCH 1 + +// program intern debug levels +#define DBG_BACKTRACK DBG_OFF +#define DBG_GET_PROFILE_STRUCTURE DBG_OFF +#define DBG_ALGEBRA DBG_OFF +#define DBG_ALIGNMENT DBG_OFF +#define DBG_MULTIPLE DBG_OFF + +#ifdef NDEBUG + #define TRACE(L,C,M) + #define WATCH(L,C,M) + #define QWATCH(L,C,M) +#else + #define TRACE(L,C,M) if(L <= RNAF_DEBUGLEVEL) cout << C << " - " << M << endl; + #define WATCH(L,C,M) if(L <= RNAF_DEBUGLEVEL) cout << C << " - " << #M << ": " << M << endl; + #define QWATCH(M) if(DBG_QWATCH <= RNAF_DEBUGLEVEL) cout << #M << ": " << M << endl; +#endif + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/fold.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/fold.h new file mode 100755 index 00000000..703aa2d0 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/fold.h @@ -0,0 +1,8 @@ +/* function from fold.c */ +extern float fold(const char *sequence, char *structure); +/* calculate mfe-structure of sequence */ +extern float energy_of_struct(const char *string, const char *structure); +/* calculate energy of string on structure */ +extern void free_arrays(void); /* free arrays for mfe folding */ +extern void initialize_fold(int length); /* allocate arrays for folding */ +extern void update_fold_params(void); /* recalculate parameters */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/fold_vars.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/fold_vars.h new file mode 100755 index 00000000..243f5046 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/fold_vars.h @@ -0,0 +1,37 @@ +/* to use floats instead of doubles in pf_fold() comment next line */ +#define LARGE_PF +#ifdef LARGE_PF +#define FLT_OR_DBL double +#else +#define FLT_OR_DBL float +#endif + +extern int noGU; /* GU not allowed at all */ +extern int no_closingGU; /* GU allowed only inside stacks */ +extern int tetra_loop; /* Fold with specially stable 4-loops */ +extern int energy_set; /* 0 = BP; 1=any mit GC; 2=any mit AU-parameter */ +extern int dangles; /* use dangling end energies (not in part_func!) */ +/*@null@*/ +extern char *nonstandards; /* contains allowed non standard bases */ +extern double temperature; /* rescale parameters to this temperature */ +extern int james_rule; /* interior loops of size 2 get energy 0.8Kcal and + no mismatches, default 1 */ +extern int logML; /* use logarithmic multiloop energy function */ +extern int cut_point; /* first position of 2nd strand for co-folding */ + +struct bond { /* base pair */ + int i; + int j; +}; +typedef struct bond bondT; +extern bondT *base_pair; /* list of base pairs */ + +extern FLT_OR_DBL *pr; /* base pairing prob. matrix */ +extern int *iindx; /* pr[i,j] -> pr[iindx[i]-j] */ +extern double pf_scale; /* scaling factor to avoid float overflows*/ +extern int fold_constrained; /* fold with constraints */ +extern int do_backtrack; /* calculate pair prob matrix in part_func() */ +extern int noLonelyPairs; /* avoid helices of length 1 */ +extern char backtrack_type; /* usually 'F'; 'C' require (1,N) to be bonded; + 'M' seq is part of a multi loop */ +char * option_string(void); diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/glib.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/glib.c new file mode 100755 index 00000000..ea99e521 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/glib.c @@ -0,0 +1,355 @@ +#include "graphtypes.h" +#include +#include +#include + +void AddEdge (Graph g,int n,int m,int label) +{ Edge edge1,edge2; + + edge1 = (Edge) malloc(2*sizeof(struct edge_ent)); + edge2 = edge1 + 1; + + edge1->label = label; + edge1->endpoint = m; + edge1->otheredge = edge2; + edge1->prevedge = NULL; + edge1->nextedge = g[n].adj_list; + if (edge1->nextedge != NULL) + edge1->nextedge->prevedge = edge1; + g[n].adj_list = edge1; + g[n].degree++; + + edge2->label = label; + edge2->endpoint = n; + edge2->otheredge = edge1; + edge2->prevedge = NULL; + edge2->nextedge = g[m].adj_list; + if (edge2->nextedge != NULL) + edge2->nextedge->prevedge = edge2; + g[m].adj_list = edge2; + g[m].degree++; +} + +Edge FindEdge(Graph graph,int i,int j) +{ Edge edge; + + edge = graph[i].adj_list; + while (edge!=NULL && edge->endpoint!=j) + edge = edge->nextedge; + if (edge==NULL) return(NULL); + else return(edge); +} + +int RemoveEdge(Graph graph,Edge edge) +{ Edge other; + int i,j; + + if (edge==NULL) return(0); + other = edge->otheredge; + i = other->endpoint; + j = edge->endpoint; + graph[i].degree--; graph[j].degree--; + if (edge->prevedge == NULL) { + graph[i].adj_list = edge->nextedge; + if (edge->nextedge != NULL) + edge->nextedge->prevedge = NULL; + } + else if (edge->nextedge == NULL) + (edge->prevedge)->nextedge = NULL; + else { + (edge->nextedge)->prevedge = edge->prevedge; + (edge->prevedge)->nextedge = edge->nextedge; + } + if (other->prevedge == NULL) { + graph[j].adj_list = other->nextedge; + if (other->nextedge != NULL) + other->nextedge->prevedge = NULL; + } + else if (other->nextedge == NULL) + (other->prevedge)->nextedge = NULL; + else { + (other->nextedge)->prevedge = other->prevedge; + (other->prevedge)->nextedge = other->nextedge; + } + free((edge < other) ? edge : other); + return(1); +} + +int NumEdges(Graph g) +{ int i,size,edges; + + edges = 0; + size = Degree(g,0); + for (i=1; i<=size; i++) + edges += Degree(g,i); + edges /= 2; + return(edges); +} + +Graph NewGraph(int size) +{ Graph tmp; + int i; + + tmp = (Graph) malloc((size+1)*sizeof(struct node_entry)); + for (i=1; i<=size; i++) { + Degree(tmp,i) = 0; + FirstEdge(tmp,i) = NULL; + NLabel(tmp,i) = i; + } + Degree(tmp,0) = size; + return(tmp); +} + +EuclidGraph NewEuclid(int size) +{ + EuclidGraph xy; + + xy = (EuclidGraph) malloc((size+1)*2*sizeof(int)); + xy[0][0] = size; + return(xy); +} + +MatrixGraph NewMatrix(int size) +{ + MatrixGraph graph; + int i; + + graph = (MatrixGraph) malloc((size*(size+1)+1)*sizeof(int)); + graph[0] = size; + + for (i=1; i<=size; i++) /* zero the diagonal */ + graph[i*(size+1)] = 0; + + return(graph); +} + +Graph CopyGraph(Graph g) +{ int i,j,size; + Edge edge; + Graph cp; + + size = Degree(g,0); + cp = NewGraph(size); + for (i=1; i<=size; i++) { + Xcoord(cp,i) = Xcoord(g,i); + Ycoord(cp,i) = Ycoord(g,i); + edge = FirstEdge(g,i); + for (j=1; j<=Degree(g,i); j++) { + if (i < EndPoint(edge)) + AddEdge(cp,i,EndPoint(edge),ELabel(edge)); + edge = NextEdge(edge); + } + } + return (cp); +} + +/* Graph I/O routines */ + +Graph ReadGraph (int *size,char *file) +{ Graph graph; + FILE *fp; + char c; + int edges, degree, vlabel, elabel, adj_node, i, j; + int xcoord, ycoord; + + if (file[0] == '\0') fp = stdin; + else fp = fopen(file,"r"); + if (fp==NULL) { + printf("ReadGraph: file %s can't be opened\n",file); + exit(0); + } + fscanf(fp,"%d%d %c",size,&edges,&c); + if (c !='U' && c!='u') { + printf("ReadGraph: file %s does not contain an undirected graph\n",file); + exit(0); + } + while (getc(fp)!='\n') ; + + graph = NewGraph(*size); + for (i = 1; i <= *size; ++i) { + fscanf(fp,"%d%d%d%d",°ree,&vlabel,&xcoord,&ycoord); + NLabel(graph,i) = vlabel; + Xcoord(graph,i) = xcoord; + Ycoord(graph,i) = ycoord; + while (getc(fp)!='\n') ; + for (j = 1; j <= degree; ++j) { + fscanf(fp,"%d%d", &adj_node, &elabel); + while (getc(fp)!='\n') ; + if (i>1; + l = (l + k/l)>>1; + l = (l + k/l)>>1; + l = (l + k/l)>>1; + return ((l*l .000000001) ? l+1 : l); +} + + +int eucdistsq(EuclidGraph graph,int i,int j) /* Find the square of the dist between two points */ +{ + register int dv,dh; + + dv = graph[i][0]-graph[j][0]; + dh = graph[i][1]-graph[j][1]; + return(dv*dv+dh*dh); +} + + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/glib.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/glib.o new file mode 100755 index 0000000000000000000000000000000000000000..656641e8d5ebdf1a22381441c304d5c10cd1fffc GIT binary patch literal 13864 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 VW&R~|ym-Mrr6v7X9!LB6^1l}hwOIfF literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/graphtypes.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/graphtypes.h new file mode 100755 index 00000000..4bf4b832 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/graphtypes.h @@ -0,0 +1,89 @@ +#ifndef _GRAPHTYPES_H_ +#define _GRAPHTYPES_H_ + +#define INF 100000000 + +#ifndef NULL +#define NULL 0 +#endif + +struct node_entry { + int degree; + int label; + int x; + int y; + struct edge_ent *adj_list; + }; +typedef struct node_entry *Graph; + +struct edge_ent { + int endpoint; + int label; + int label2; + struct edge_ent *nextedge; + struct edge_ent *prevedge; + struct edge_ent *otheredge; + }; +typedef struct edge_ent *Edge; + +#define Degree(graph,n) (graph[n].degree) +#define NLabel(graph,n) (graph[n].label) +#define Xcoord(graph,n) (graph[n].x) +#define Ycoord(graph,n) (graph[n].y) +#define FirstEdge(graph,n) (graph[n].adj_list) + +#define EndPoint(e) (e->endpoint) +#define ELabel(e) (e->label) +#define ELabel2(e) (e->label2) +#define Other(e) (e->otheredge) +#define NextEdge(e) (e->nextedge) + + +extern Graph Prim(); +//extern int *EulerTraverse(),*Match(),*Weighted_Match(),*Dijkstra(),*Concomp(); + +/* Euclidean graph type */ +typedef int (*EuclidGraph)[2]; + +extern Graph EuclidPrim(); +extern EuclidGraph ReadEuclid(),NewEuclid(); +extern int eucdist(),eucdistsq(); + +extern int *CvxHull(); + +/* Distance matrix graph type */ +typedef int *MatrixGraph; + +extern int *MatrixDijkstra(); +extern Graph MatrixPrim(); +extern Graph MatrixMaxFlow(); +extern MatrixGraph ReadMatrix(), NewMatrix(); + +#ifdef __cplusplus +extern "C" +{ +#endif + +void AddEdge (Graph g,int n,int m,int label); +Edge FindEdge(Graph graph,int i,int j); +int RemoveEdge(Graph graph,Edge edge); +int NumEdges(Graph g); +Graph NewGraph(int size); +EuclidGraph NewEuclid(int size); +MatrixGraph NewMatrix(int size); +Graph CopyGraph(Graph g); +Graph ReadGraph (int *size,char *file); +void WriteGraph (Graph graph,char *file); +EuclidGraph ReadEuclid(int *size,char *file); +void WriteEuclid(EuclidGraph graph,char *file); +MatrixGraph ReadMatrix(int *size,char *file); +void WriteMatrix(MatrixGraph graph,char *file); +int eucdist (EuclidGraph graph,int i,int j); +int eucdist2 (EuclidGraph graph,int i,int j); +int eucdistsq(EuclidGraph graph,int i,int j); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/main.cpp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/main.cpp new file mode 100755 index 00000000..0bd48771 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/main.cpp @@ -0,0 +1,908 @@ +/* + Copyright by Matthias Hoechsmann (C) 2002-2004 + ===================================== + You may use, copy and distribute this file freely as long as you + - do not change the file, + - leave this copyright notice in the file, + - do not make any profit with the distribution of this file + - give credit where credit is due + You are not allowed to copy or distribute this file otherwise + The commercial usage and distribution of this file is prohibited + Please report bugs and suggestions to +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +//#include +#include +#include + +#ifndef WIN32 +#include "config.h" +#endif + +#include "Arguments.h" +#include "alignment.h" +#include "debug.h" + +//#include "global_alignment.h" +#include "treeedit.h" + +#include "misc.h" +#include "progressive_align.h" +#include "rna_alignment.h" +#include "rnaforest.h" +#include "rnaforestsz.h" +#include "rnafuncs.h" +#include "rna_profile_alignment.h" +#include "rna_algebra.h" +#include "rnaforester_options.h" + + +#include "alignment.t.cpp" +//#include "global_alignment.t.cpp" +#include "treeedit.t.cpp" +//#include "ppforest.t.cpp" + +using namespace std; + +/* ****************************************** */ +/* Definitions and typedefs */ +/* ****************************************** */ + +struct ToLower : public unary_function { + char operator()(char a) + { + return tolower(a); + }; +}; + +template +void makeDotFileAli(const PPForest &ppf, const RNAforesterOptions &options) +{ + if(options.has(RNAforesterOptions::OutputAlignmentDotFormat)) + { + string filename; + options.get(RNAforesterOptions::OutputAlignmentDotFormat,filename,string("ali.dot")); + ofstream s(filename.c_str()); + ppf.printDot(s); + } +} + +template +void makeDotFileInp(const PPForest &ppf, const RNAforesterOptions &options, Uint count) +{ + if(options.has(RNAforesterOptions::MakeDotForInputTrees)) + { + ostringstream ss; + ofstream os; + ss << "input" << count << ".dot"; + os.open(ss.str().c_str()); + ppf.printDot(os); + os.close(); + } +} + +static const string RNAFORESTER_VERSION = "1.5"; +static const string PROMPT = "Input string (upper or lower case); & to end for multiple alignments, @ to quit\n"; +static const string SCALE = "....,....1....,....2....,....3....,....4....,....5....,....6....,....7....,....8\n"; + +void alignMultiple(deque &alignList, Score &score,const RNAforesterOptions &options); +void alignPairwise(deque &inputListPW,Score &score,const RNAforesterOptions &options); +void cutAfterChar(string &s,char c); + +void editPairwise(list &inputListSZ,Score &score,RNAforesterOptions &options); +void alignPairwiseSimple(deque &inputListPW,Score &score,RNAforesterOptions &options); + +static void showversion(const char *prog) +{ + cout << prog << ", version " << RNAFORESTER_VERSION << endl; + cout << "Copyright Matthias Hoechsmann 2001-2004," << endl << "mhoechsm@techfak.uni-bielefeld.de" << endl; +} + +int main(int argc, const char **argv) +{ + string buffer; + string baseStr,viennaStr,nameStr; + Ulong basePairCount,maxDepth; + deque inputListPW; + deque alignList; + bool showScale=true,multipleAlign=false; + istream *inputStream=NULL; + ifstream *inputFile=NULL; + Uint structure_count=1; + int suboptPercent=100; + double minPairProb=0.25; + + list inputListSZ; + + try + { + RNAforesterOptions options(argc,argv); + + // check options + if(options.has(RNAforesterOptions::Help)) + { + options.help(); + exit(EXIT_SUCCESS); + } + + if(options.has(RNAforesterOptions::SecretHelp)) + { + options.secretHelp(); + exit(EXIT_SUCCESS); + } + + if(options.has(RNAforesterOptions::Version)) + { + showversion(argv[0]); + exit(EXIT_SUCCESS); + } + + // read score values + Score score(options); + if(!options.has(RNAforesterOptions::ShowOnlyScore)) + score.print(); + + // check option suboptimals + if(options.has(RNAforesterOptions::LocalSubopts)) + { + options.get(RNAforesterOptions::LocalSubopts,suboptPercent,100); + if(suboptPercent<0 || suboptPercent>100) + { + cerr << "error: value for parameter --subopts must be in range from 0 to 100" << endl; + exit(EXIT_FAILURE); + } + } + +#ifdef HAVE_LIBRNA // This features require the ViennaRNA library + options.get(RNAforesterOptions::PredictMinPairProb,minPairProb,0.25); + if(options.has(RNAforesterOptions::PredictProfile)) + cout << "Minumim required basepair probability (-pmin): " << minPairProb << endl; +#endif + + // show if suboptimals + if(!options.has(RNAforesterOptions::ShowOnlyScore)) + if(options.has(RNAforesterOptions::LocalSimilarity) && options.has(RNAforesterOptions::LocalSubopts)) + cout << "calculate suboptimals within " << suboptPercent << "% of global optimum" << endl << endl; + + // profile search + if(options.has(RNAforesterOptions::ProfileSearch)) + { + string filename; + + options.get(RNAforesterOptions::ProfileSearch,filename,string("")); + if(filename=="") + { + cerr << "no profile filename" << endl; + exit(EXIT_FAILURE); + } + + RNAProfileAlignment *rnaProfileAli=new RNAProfileAlignment(filename); + alignList.push_back(rnaProfileAli); + } + + if(options.has(RNAforesterOptions::ReadFromFile)) + { + string filename; + options.get(RNAforesterOptions::ReadFromFile,filename,string("")); + inputFile=new ifstream(filename.c_str()); + if(inputFile->fail()) + { + cerr << "cannot open file: \"" << filename << "\"" << endl; + exit(EXIT_FAILURE); + } + inputStream=inputFile; + } + else + { + inputStream=&cin; + } + + + if(showScale) + { + if(!options.has(RNAforesterOptions::NoScale) && !options.has(RNAforesterOptions::ReadFromFile)) + cout << endl << PROMPT << SCALE; + showScale=false; + } + + for(;;) + { + getline(*inputStream,buffer); + + if(inputStream->eof()) + { + if(options.has(RNAforesterOptions::Multiple) && !options.has(RNAforesterOptions::ProfileSearch)) + buffer="&"; + else + exit(EXIT_SUCCESS); + } + + if(buffer.empty()) + continue; + + // quit if character is @ + if(buffer[0]=='@') + break; + + // delete '\r' at line end from non unix files + if(buffer[buffer.size()-1]=='\r') + buffer.erase(buffer.size()-1); + + // check for name of structure + if(buffer[0]=='>') + { + nameStr=&buffer[1]; + continue; + } + + // cut after blank + cutAfterChar(buffer,' '); + + // check for aligning multiple structures + // if input is read from file the eof has the same meaning as & + if( buffer[0]=='&') + multipleAlign=true; + else + { + // check for base string + + if(RNAFuncs::isRNAString(buffer)) + { + baseStr=buffer; + // convert to small letters + transform(baseStr.begin(),baseStr.end(),baseStr.begin(),ToLower()); + // t -> u + replace(baseStr.begin(),baseStr.end(),'t','u'); + // delete '.' and '-' from alignment files + remove(baseStr.begin(),baseStr.end(),'.'); + remove(baseStr.begin(),baseStr.end(),'-'); + +#ifdef HAVE_LIBRNA // This features require the ViennaRNA library + if(options.has(RNAforesterOptions::PredictProfile)) + { + ostringstream ss; + string constraint; + + // if there is no name given (> ...) use a counter + if(nameStr=="") + ss << "> " << structure_count; + else + ss << nameStr; + + cout << "Predicting structure profile for sequence: " << ss.str() << endl; + RNAProfileAlignment *rnaProfileAli=new RNAProfileAlignment(baseStr,ss.str(),constraint,minPairProb); + alignList.push_back(rnaProfileAli); + makeDotFileInp(*rnaProfileAli,options,structure_count); + structure_count++; + } +#endif + + // continue; + } + else + { + + // check for vienna string + if(RNAFuncs::isViennaString(buffer,basePairCount,maxDepth)) + { + +#ifdef HAVE_LIBRNA // This features require the ViennaRNA library + // skip structure lines if structures are predicted + if(options.has(RNAforesterOptions::PredictProfile)) + { + cout << "ignoring structure: " << buffer << endl; + continue; + } +#endif + + viennaStr=buffer; + } + else + { + cerr << "The input sequence is neither an RNA/DNA string nor in vienna format." << endl; + cerr << "line: " << buffer << endl; + showScale=true; + exit(EXIT_FAILURE); + } + + // add structure to input list + if(options.has(RNAforesterOptions::Multiple)) + { + ostringstream ss; + + // if there is no name given (> ...) use a counter + if(nameStr=="") + ss << "> " << structure_count; + else + ss << nameStr; + + + RNAProfileAlignment *rnaProfileAli=new RNAProfileAlignment(baseStr,viennaStr,ss.str()); + makeDotFileInp(*rnaProfileAli,options,structure_count); + alignList.push_back(rnaProfileAli); + } + else + { + if(options.has(RNAforesterOptions::TreeEdit)) + { + RNAForestSZ *rnaForestSZ=new RNAForestSZ(baseStr,viennaStr,nameStr); + inputListSZ.push_back(rnaForestSZ); + } + else + { + RNAForest *rnaForest=new RNAForest(baseStr,viennaStr,nameStr); + nameStr=""; + makeDotFileInp(*rnaForest,options,structure_count); + inputListPW.push_back(rnaForest); + } + } + + structure_count++; + showScale=true; + } + } + + // ***** multiple alignment + if((options.has(RNAforesterOptions::Multiple) && multipleAlign) || (options.has(RNAforesterOptions::ProfileSearch) && alignList.size()==2)) + { + alignMultiple(alignList,score,options); + multipleAlign=false; + structure_count=1; + + if(options.has(RNAforesterOptions::ProfileSearch)) + { + string filename; + + options.get(RNAforesterOptions::ProfileSearch,filename,string("")); + RNAProfileAlignment *rnaProfileAli=new RNAProfileAlignment(filename); + alignList.push_back(rnaProfileAli); + } + else + break; + + // break; + } + + // ***** pairwise alignment + if(inputListPW.size()==2) + { + if(options.has(RNAforesterOptions::GlobalAlignment)) + alignPairwiseSimple(inputListPW,score,options); + else + alignPairwise(inputListPW,score,options); + break; + } + + if(inputListSZ.size()==2) + { + editPairwise(inputListSZ,score,options); + break; + } + + } + + // free dynamic allocated memory + deque::const_iterator it; + for(it = inputListPW.begin(); it!=inputListPW.end(); it++) + delete *it; + + DELETE(inputFile); + + // getchar(); // only for testing + return (0); + } + catch(RNAforesterOptions::IncompatibleException e) + { + e.showError(); + return(EXIT_FAILURE); + } + catch(RNAforesterOptions::RequiresException e) + { + e.showError(); + return(EXIT_FAILURE); + } +} + + + +void cutAfterChar(string &s,char c){ + string::size_type pos=s.find(c); + if(pos!=string::npos) + s.erase(pos); +} + +void alignMultiple(deque &alignList, Score &score,const RNAforesterOptions &options) +{ + DoubleScoreProfileAlgebraType *alg; + deque > resultList; +// double optScore; + Uint clusterNr=1; + double minPairProb; + + options.get(RNAforesterOptions::ConsensusMinPairProb,minPairProb,0.5); + + // distance or similarity + if(options.has(RNAforesterOptions::CalculateDistance)) + alg=new DoubleDistProfileAlgebra(score); + else + alg=new DoubleSimiProfileAlgebra(score); + + cout << endl; + + progressiveAlign(alignList,resultList,alg,options); + + cout << endl; + cout << "*** Results ***" << endl << endl; + cout << "Minimum basepair probability for consensus structure (-cmin): " << minPairProb << endl << endl; + + deque >::const_iterator it; + for(it=resultList.begin();it!=resultList.end();it++) + { + cout << "RNA Structure Cluster Nr: " << clusterNr << endl; + cout << "Score: " << it->first << endl; + cout << "Members: " << it->second->getNumStructures() << endl << endl; + + if(options.has(RNAforesterOptions::FastaOutput)) + { + it->second->printFastaAli(false); + cout << endl; + } + else + { + + it->second->printSeqAli(); + +#ifdef HAVE_LIBRNA // This features require the ViennaRNA library + // print alignment + it->second->printStrAli(); + cout << endl; +#endif + } + + // save profile + if(options.has(RNAforesterOptions::SaveProfile)) + { + string filename; + filename=options.generateFilename(RNAforesterOptions::SaveProfile,".pro", "rna.pro",clusterNr); + it->second->save(filename); + } + + + // print consensus structure + cout << "Consensus sequence/structure:" << endl; + it->second->printConsensus(minPairProb); + cout << endl; + +#ifdef HAVE_LIBG2 // This features require the g2 library + // generate squiggle plots + if(options.has(RNAforesterOptions::MakeSquigglePlot)) + { + RNAProfileAlignment::SquigglePlotOptions sqOptions; + string filename; + + // plot showing full base information + filename=options.generateFilename(RNAforesterOptions::MakeSquigglePlot,".ps", "rnaprofile.ps",clusterNr); + sqOptions.greyColors=options.has(RNAforesterOptions::SquiggleGreyColors); + sqOptions.minPairProb=minPairProb; + sqOptions.mostLikelySequence=false; + it->second->squigglePlot(filename,sqOptions); + + // plot showing consensus sequence + filename=options.generateFilename(RNAforesterOptions::MakeSquigglePlot,"_cons.ps", "rnaprofile_cs.ps",clusterNr); + sqOptions.mostLikelySequence=true; + it->second->squigglePlot(filename,sqOptions); + } +#endif + + clusterNr++; + } + + + /* + if(!options.has(RNAforesterOptions::ShowOnlyScore)) + { + cout << "global optimal score: "; + } + cout << optScore << endl; + + list::iterator it=inputMapProfile.begin(); + RNAProfileAlignment *ppf=it; + if(!options.has(RNAforesterOptions::ShowOnlyScore)) + { + // generate dot file + makeDotFileAli(*ppf,options); + + ppf->print(); + cout << endl; + ppf->printConsensus(); + } + */ + + // save profile alignment to binary file + /* if(options.has(RNAforesterOptions::SaveMultipleAliFile)) + { + string filename; + + filename=generateFilename(options,RNAforesterOptions::SaveMultipleAliFile,".mta", "unknown.dot"); + ofstream s(filename.c_str()); + f1->save(s); + } + */ + + /* + // generate squiggle plots + if(options.has(RNAforesterOptions::MakeSquigglePlot)) + { + RNAProfileAlignment::SquigglePlotOptions sqOptions; + string filename; + + // plot showing full base information + filename=options.generateFilename(RNAforesterOptions::MakeSquigglePlot,".ps", "rnaprofile.ps"); + sqOptions.greyColors=options.has(RNAforesterOptions::SquiggleGreyColors); + sqOptions.mostLikelySequence=false; + ppf->squigglePlot(filename,sqOptions); + + // plot showing consensus sequence + filename=options.generateFilename(RNAforesterOptions::MakeSquigglePlot,"_cons.ps", "rnaprofile_cons.ps"); + sqOptions.greyColors=options.has(RNAforesterOptions::SquiggleGreyColors); + sqOptions.mostLikelySequence=true; + ppf->squigglePlot(filename,sqOptions); + } + */ + + + delete alg; +} + + +void alignPairwise(deque &inputListPW,Score &score,const RNAforesterOptions &options) +{ + IntScoreRNA_AlgebraType *alg; + Uint xbasepos,ybasepos,xlen,ylen; + list > xsubopts; + list > ysubopts; + string seq1,seq2,str1,str2; + char s[8]; + int suboptPercent; + Uint count=1; + RNAFuncs::SquigglePlotOptions sqOptions; + tms tmsStart, tmsEnd; + + // read options + options.get(RNAforesterOptions::LocalSubopts,suboptPercent,100); + +#ifdef HAVE_LIBG2 // This features require the g2 library + // generate squiggle plot + if(options.has(RNAforesterOptions::MakeSquigglePlot)) + { + // get sq options + sqOptions.hideBaseNumbers=options.has(RNAforesterOptions::SquiggleHideBaseNumbers); + options.get(RNAforesterOptions::SquiggleBaseNumberInterval,sqOptions.baseNumInterval,(Uint)20); + sqOptions.greyColors=options.has(RNAforesterOptions::SquiggleGreyColors); + options.get(RNAforesterOptions::SquiggleScaleFactor,sqOptions.scale,1.0); + sqOptions.generateFIG=options.has(RNAforesterOptions::SquiggleGenerateFIG); +#ifdef HAVE_LIBGD + sqOptions.generatePNG=options.has(RNAforesterOptions::SquiggleGeneratePNG); + sqOptions.generateJPG=options.has(RNAforesterOptions::SquiggleGenerateJPG); +#endif + + } +#endif + + // distance or similarity + if(options.has(RNAforesterOptions::CalculateDistance)) + alg=new IntDistRNA_Algebra(score); + else + { + if(options.has(RNAforesterOptions::RIBOSUMScore)) + alg=new RIBOSUM8560(score); + else + alg=new IntSimiRNA_Algebra(score); + } + + RNAForest *f1=inputListPW.front(); + RNAForest *f2=inputListPW.back(); + + if(options.has(RNAforesterOptions::SpaceTimeInfo)) + { + IntScore_AlgebraType *algGlobClassic; + + algGlobClassic=new IntDist_Algebra(score); + + if(!options.has(RNAforesterOptions::ShowOnlyScore)) + { + cout << "F1_NUMNODES" << ";"; + cout << "F2_NUMNODES" << ";"; + cout << "F1_DEGREE" << ";"; + cout << "F2_DEGREE" << ";"; + cout << "F1_LEAVES" << ";"; + cout << "F2_LEAVES" << ";"; + cout << "F1_DEPTH" << ";"; + cout << "F2_DEPTH" << ";"; + cout << "F1_NUMCSFS" << ";"; + cout << "F2_NUMCSFS" << ";"; + cout << "TABLE_SIZE_4D" << ";"; + cout << "TABLE_SIZE_2D" << ";"; + cout << "GLOBALI_TIME" << ";"; + cout << "GLOBALI_TIME_SPEEDUP" << ";"; + cout << "LOCALALI_TIME" << ";"; + cout << "LOCALALI_TIME_SPEEDUP" << ";"; + + cout << endl; + } + + cout << f1->size() << "\t"; + cout << f2->size() << "\t"; + cout << f1->maxDegree() << "\t"; + cout << f2->maxDegree() << "\t"; + cout << f1->numLeaves() << "\t"; + cout << f2->numLeaves() << "\t"; + cout << f1->maxDepth() << "\t"; + cout << f2->maxDepth() << "\t"; + cout << f1->getNumCSFs() << "\t"; + cout << f2->getNumCSFs() << "\t"; + cout << f1->size()*f2->size()*f1->maxDegree()*f1->maxDegree() << "\t"; + cout << f1->getNumCSFs()*f2->getNumCSFs() << "\t"; + + // global alignment + { + times(&tmsStart); + Alignment ali(f1,f2,*algGlobClassic,false,true); + times(&tmsEnd); + cout <<((double) (tmsEnd.tms_utime - tmsStart.tms_utime))/sysconf(_SC_CLK_TCK) << "\t"; + // cerr << "#" << ali.getGlobalOptimum() << "#"; + } + + // global alignment speedup + { + times(&tmsStart); + Alignment ali(f1,f2,*algGlobClassic,false,false); + times(&tmsEnd); + cout <<((double) (tmsEnd.tms_utime - tmsStart.tms_utime))/sysconf(_SC_CLK_TCK) << "\t"; + // cerr << "#" << ali.getGlobalOptimum() << "#"; + } + + // local alignment + { + times(&tmsStart); + Alignment ali(f1,f2,*algGlobClassic,true,true); + times(&tmsEnd); + cout <<((double) (tmsEnd.tms_utime - tmsStart.tms_utime))/sysconf(_SC_CLK_TCK) << "\t"; + // cerr << "#" << ali.getLocalOptimum() << "#"; + } + + // local alignment speedup + { + times(&tmsStart); + Alignment ali(f1,f2,*algGlobClassic,true,false); + times(&tmsEnd); + cout <<((double) (tmsEnd.tms_utime - tmsStart.tms_utime))/sysconf(_SC_CLK_TCK) << "\t"; + // cerr << "#" << ali.getLocalOptimum() << "#"; + } + + + cout << endl; + + exit(EXIT_SUCCESS); + } + + Alignment ali(f1,f2,*alg); + RNA_Alignment ppfali; + ppfali.setStructureNames(f1->getName(),f2->getName()); + + + if(!options.has(RNAforesterOptions::ShowOnlyScore)) + { + if(options.has(RNAforesterOptions::SmallInLarge)) + { + cout << "small-in-large optimal score: "; + } + else + { + if(options.has(RNAforesterOptions::LocalSimilarity)) + cout << "local optimal score: "; + else + cout << "global optimal score: "; + } + } + + if(options.has(RNAforesterOptions::SmallInLarge)) + { + cout << ali.getSILOptimum() << endl; + } + else + { + if(options.has(RNAforesterOptions::LocalSimilarity)) + { + cout << ali.getLocalOptimum() << endl; + } + else + { + cout << ali.getGlobalOptimum() << endl; + if(options.has(RNAforesterOptions::RelativeScore)) + cout << ali.getGlobalOptimumRelative() << endl; + } + } + + + if(!options.has(RNAforesterOptions::ShowOnlyScore)) + { + if(options.has(RNAforesterOptions::SmallInLarge)) + { + ali.getOptSILAlignment(ppfali,ybasepos); + cout << "starting at position: " << ybasepos << endl << endl; + } + else + { + if(options.has(RNAforesterOptions::LocalSimilarity)) + { + ali.resetOptLocalAlignment(suboptPercent); + ali.getOptLocalAlignment(ppfali,xbasepos,ybasepos); + cout << "starting at positions: " << xbasepos << "," << ybasepos << endl << endl; + } + else + ali.getOptGlobalAlignment(ppfali); + } + + // generate dot file + makeDotFileAli(ppfali,options); + + // print alignment + ppfali.getSequenceAlignments(seq1,seq2); + ppfali.getStructureAlignment(str1,true); + ppfali.getStructureAlignment(str2,false); + + if(options.has(RNAforesterOptions::FastaOutput)) + { + cout << ppfali.getStructureNameX() << endl; + cout << seq1 << endl; + cout << str1 << endl; + cout << ppfali.getStructureNameY() << endl; + cout << seq2 << endl; + cout << str2 << endl; + cout << endl; + } + else + RNAFuncs::printAli(ppfali.getStructureNameX(),ppfali.getStructureNameY(),seq1,seq2,str1,str2); + + + xlen=seq1.size(); + ylen=seq2.size(); + if(options.has(RNAforesterOptions::LocalSimilarity)) + { + xsubopts.push_back(pair(xbasepos,xlen)); + ysubopts.push_back(pair(ybasepos,ylen)); + } + +#ifdef HAVE_LIBG2 // This features require the g2 library + if(options.has(RNAforesterOptions::MakeSquigglePlot)) + { + sprintf(s,"%d",count); + ppfali.squigglePlot(s,sqOptions); + } +#endif + + // suboptimal alignments + if(options.has(RNAforesterOptions::LocalSubopts)) + { + while(ali.nextLocalSuboptimum()) + { + count++; + cout << "local optimal score: "; + cout << ali.getLocalOptimum() << endl; + ali.getOptLocalAlignment(ppfali,xbasepos,ybasepos); + cout << "starting at positions: " << xbasepos << "," << ybasepos << endl << endl; + + // print alignment + ppfali.getSequenceAlignments(seq1,seq2); + ppfali.getStructureAlignment(str1,true); + ppfali.getStructureAlignment(str2,false); + RNAFuncs::printAli(ppfali.getStructureNameX(),ppfali.getStructureNameY(),seq1,seq2,str1,str2); + xlen=seq1.size(); + ylen=seq2.size(); + xsubopts.push_back(pair(xbasepos,xlen)); + ysubopts.push_back(pair(ybasepos,ylen)); + +#ifdef HAVE_LIBG2 // This features require the g2 library + if(options.has(RNAforesterOptions::MakeSquigglePlot)) + { + sprintf(s,"%d",count); + ppfali.squigglePlot(s,sqOptions); + } +#endif + } + } + + } + +#ifdef HAVE_LIBRNA // This features require the ViennaRNA library + // generate xml + if(options.has(RNAforesterOptions::GenerateXML)) + { + string filename; + + filename=options.generateFilename(RNAforesterOptions::GenerateXML,".xml", "ali.xml"); + ofstream s(filename.c_str()); + ppfali.generateXML(s); + } +#endif + +#ifdef HAVE_LIBG2 // This features require the g2 library + // generate squiggle plot + if(options.has(RNAforesterOptions::MakeSquigglePlot)) + { + f1->plot2d("x_str", xsubopts, sqOptions); + f2->plot2d("y_str", ysubopts, sqOptions); + } +#endif + + // clear input list + deque::const_iterator it; + for(it = inputListPW.begin(); it!=inputListPW.end(); it++) + delete *it; + inputListPW.clear(); + delete alg; +} + + +void editPairwise(list &inputListSZ,Score &score,RNAforesterOptions &options) +{ + // timeb t1,t2; + IntScoreSZAlgebraType *alg; + +// if(options.has(RNAforesterOptions::CalculateDistance)) + alg=new IntDistSZAlgebra(score); +// else +// alg=new IntSimiSZAlgebra(score); + + RNAForestSZ *f1=inputListSZ.front(); + RNAForestSZ *f2=inputListSZ.back(); + + // ftime(&t1); + Mapping mapping(f1,f2,*alg); + // ftime(&t2); + +// f1->printParameters("F1"); +// f2->printParameters("F2"); + + cout << "Global optimum: " << mapping.getGlobalOptimum() << endl; + // cout << "Calculation Time ms: " << (t2.time*1000+t2.millitm) - (t1.time*1000+t1.millitm) << endl; +} + + + +void alignPairwiseSimple(deque &inputListPW,Score &score,RNAforesterOptions &options) +{ + // timeb t1,t2; + IntScore_AlgebraType *alg; + +// if(options.has(RNAforesterOptions::CalculateDistance)) + alg=new IntDist_Algebra(score); +// else +// alg=new ScoreAlgebraSimple(score); + + RNAForest *f1=inputListPW.front(); + RNAForest *f2=inputListPW.back(); + + // ftime(&t1); + Alignment ali(f1,f2,*alg,false); + // ftime(&t2); + +// f1->printParameters("F1"); + //f2->printParameters("F2"); + + cout << "Global optimum: " << ali.getGlobalOptimum() << endl; + // cout << "Calculation Time ms: " << (t2.time*1000+t2.millitm) - (t1.time*1000+t1.millitm) << endl; +} + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/main.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/main.o new file mode 100755 index 0000000000000000000000000000000000000000..49733abbe03cea8580ca1fe7dbf74b24dadaeaf6 GIT binary patch literal 532488 zcmeFad3;nw)<0a;=?)%~Bs?t7UfjrZT7PDfX)qa@~8&@3M5-cXo z&b|Bg?TZDASMP_1*p%X+1w5BQz)?wnLYPub1Be6{OKpEw&u+m+Azs?F!g;y`7%{8t zB}$MVSyz=6tJxc`$%xI}jcS!hv7yC^ymt4#*rw{@c>0LhyDl6UPcM5tUbzdRWX0wb z2m5YEy&0A?K6iJ#W^e4vxtpA4$RG0U#*bpt{Fm5|Xz$T8Yrm{SML>16s4YUZZc`jm zpcT&8AXK0V#na={Gvece>$0G?cx48v%yQ;#Rdqrcv96jdR^38_FT_QB>WA_3cR9f! z@ye`Kl{LXt8PyZ0(O4%_##CW>)V^4G{0Vb6;W4&Z)omNKB~3}U*%CH??q$>b>YrEj&o=$@rvBNkf8OH{6=a(b*SvPD7UILvv4)jkypHx2Yg~qGe0DG{V$Q9|LiEt9 zz_76G(@5RrAdPo)f|VOT3^96`-C1er$J53%|$ z6^>LmZHY0W4k?T%8xl2T0pT=GMEjk!!<8=b znUD5i9*(T(D$30vX3W%y&L=^`Y)f#hC9tjs9!V>2jjFY}I7c@Ft*4ls6t@cPb85c~ zI`ynk^@edo@hByE4w6B%OIX|NT_fI&ME{=2CbMFV)6i=alr8W=$0;batogT4Q9Q~@ zy#;O!s3FBln{F^o@)@l*XRUH@V@KQm@G9K(6sFP1E{i%C%KM@;D{VRPMw)YcEloS_ z(5RiUS+R!g$c*?Vw)Q>z#u`6l>U_#n^>$6Mb67AIRYTygptE8(WsR!QQLjda9xn|X zP_eaYG&QQxQvZxUSfVyu1}+0{SJ$64>iqR%rEWuaJO1}cv= zaGb@~ZY9KdRl%E>MmI2Rc#-MaRZN|Snbtpzw5C6ul=T?(N@P1@{ivIem;$~loaz!0 z`?fhaVo&u%=g6!PFT`G}`94<98shcj?Tmrqn2FB_#$JonQ$FWPDsaReEkn(g<_;^o z|LNk1%fKI<{Ga@7BK|X^Hd?glcATtU+my*6?awTtfP9gk!E4k z4_k4R5i}}`iP97du@cUR=5fx|hsD0JeL5gk&%$w4pXyUp@r5^ae?OSabd**#Io&h+>u`_x6g<1kS^rnOFbqc2-G__IB2 zSMm~Yz6LiDVA!)illEJ4bgQnZyA%|w@xRh#izd$nI7O4k6Rav|ek^ei9#WTIa(#-j ze{jnt_D8lY&8?<$ZLRFP0B+upSb`R=N9k1kzn;o%U6QV_`Kq?6o5jhwb)iuJC-y@< ziAhYxAz6?AQ&sybEGGqr&wt0Do=#n)f#B5EQTH+0pGw(@0Hm^oTJ-tMmVI7*e`+-> zS)QT+bkU}-pG}N~5)&r@vL64p*20qd)(o1jXvSKGYloI%MCu|xwb7d1XlCjvBFpdi z0Rnl)_i_Ld=d{6!19x`I5)%MOt%At%{aX?T2}n7bB6WSCg|--V0L~}pUK*xhL_eP# zmeu#BZtN1r$6yf(CG=#j^*P+-l3c7;-<8Tfq8pa{(Z}mj6xG7$g?>WK9!fd`$Zknd z0r`FLg)6>X1_y3dXR*1v;&U@%HM?Vr_o~&qiKJ|{k(BZ7qCGw~!oIIMxh%+XYF1+Q$-s`R6DEip zwRIV)_cLZE(8TBrXDGdc7+M_Lq;oIC)8Z2mg9#^NFlVYs#%`X>YR@hn<7iLK?)YLI zLb^z7NmrqlO%@MJSB#x8dt+6f#+kks5}5qZ0_7+`XzFf$!&^~vy;?8NT0M`g{Op+Z z+z1}Mjwxa_4|B~hHz(Fe3yIIlavD2fENrP-Nj!rE4KKncIdfNGX@v}y*GOa0R|%}z z4n;u>wYZ9bWbVT{&JpDxjt625&$GyJ!P*U%#MY_~cXGg8P3WdMh_FTKaybXtXw2H# z=yx5Bsc0h_Lu<4XD|gyX^dv8YgSA3yE3P6FE#oi-S+^q+y^GC^Dyh;F^>~PFHru3A zp#il`nt@EK88VutplnofTt%YKg-Ofid!ZK)TD8&(>JN}JYn3y1yIob<4z?X`q>8dX z;;I+ctECi|A4YkM4g_feU5nQhPtp|>4d~b=MiRY&sfG>gs(LlT8`%-@2Ik>5YhTEZ zPtM1Fk&g(k5*drG!c%M;H`<%9lNf>B_8b;EJ}ah1Wu&eOZHYCoQ({};V2uk&$B-hO zfc?j!_kc-Lv1y$Wl7bIJ$<~|kc*9m!8NCB(?S>#7fbD9{dwqAS1hZiSujm4(+4$^r z@6%`7v4XN|5(I#cR*yc9Slvt@I#B^Z^_-$Q%1_nw6RGS#0@Zp&g+c1&wNA2=|6`3| zQvJso_csP(>;FT$q z>z5_2yvx!{Sn_qadFVKPOdBQr!jbX>#=|3zZPzMJW=*xgxQ>H9!q-#rdL{E^ta&zT zZeTaZkA_X;uqE-V6_L8pL>z;j&xv(keq2WFe$Q_sbBC$6GoL`Cw${ow!4`dehW*>+~JL;@TH!U$9g0e#1)eR4Oot z_tp|(#PuG9_%(ni5i2%+*a};=K?_;NrC=v5Hia|P5IC-!JU(^+? zL?z_^QdG4{(b8&t|1SuLi+O-oBy+DckNQb_9`g?>vg z!6#HMb5KM3yg1U1ZMh z)Y30?k&eGp%SYd*6zpYy_5A=l7TjMnJ8=!rda1WAkAoX420J{t9^y(C+M0tOtvP*p zU`sr@6bJb6u8uc@{8hEa0)zk2s)z7#y z6mTM=k6R|pzL#P&JP!6{FU9NmixV59BkGwhJ}~x%Gp*~!PXh5MpZBTM>68|iwHtF{ z<8JP%%V_FF@9v9|1181Vwalbl{vbBnifdfgft>>RkYS@D{Vi?Du(+zr31V|{mD4E- ziA3zjxDul|%L!&4wq@MabMnb}Puk`G9$))Hu=cmK%RkV<)UGANw96keb(@Npmu*Pty* z^F(ByQ{q0`3AlCBNqhA*EOsFYZr`9vY-M`$t4y!H5y;rHonS98g9a)>>lyluHJs1K zDAO{dO}TaBhd4N^255!p>~G3m0!(hReQ>2S=ju5;e=Ar0vnVHW;|t}gDYocR+7Wtola%JgtAu)jx~XkKV*b%lTl}BAa!f;*He%%cdeKQSDjc>gYD6 zH<{CS;dBy$sI6(a%0{C3xR&w%$(}RO8}0w!*{1);SjolTVmqogrQH)};i2XApu|7E zRx?4X(^HRwN?veETn835+!DPGMUy=RU$~S2&vekd-5I+#rZ)F+X1L4L0Wj5Pi95k9 zt~al0!KW8rSnp&x4Qdg>Kpxi6)}d}zC!3;d16)wF3CxgtNgrjGZBRineYVNy#fw0j z?q0>LiVQ@zBC8jd`utkgSi7MJo*0|uA}31X&Cy4YV!Ny&scY4dCB-lsbiHL=r?#wg z_wJUpX6PDR{7~CcJtbJdITPFl304==0bsl6oj^6aCRGyiL6TjhZU&rzQH5DY#a_4* zHQ;jDE|@cad0Q-FRYs)lYB~-`>1FMgxJgOeqKXpS18M37R-B7;M8cNh9=sHe$h22Q zVtnld8kOq6LtF(IYNyMB1$j9mjGj+PEd=b-V zF;YZ(V-Bq(RUDTdUgNpxe)eCAfxH@t`g3RH$mR z-2^5^G^4;~WyL1SM(c#=NKGW|RT_aZYeiw8<6vg0nA5-#i1;uyCS-ON#+VategQ`b z5!AxVW92*+dG%*hr~Ic=wTuR0jWh8iFtN>gA7H}xmSHUz(nln&1x;I=e`C|I3e;@% z;_(Z>)>}ysjo@ z;fWhLfmmr;=;aQr&X&@|2;SU$Rm)+R;QZ<|aKVe~TqMHr`I?6~-*azgCp(NSz5mn4 z@Q^UenYEp}EZcQBOGjzl(6u|sPG2L)KvWcLbQOyE6Nb6cEElDEBkSe7sx8inXI<~# zX@7g*RLIhpRAM&{B$bPG)MX-P?RK^@%GA+!o_H(cSqeofGA%~$I}J)7#ICnk>*~~9 zwHHy9y3*OnQP-xlufn}GF!D_fxPqXxSy8Oo99Op%y*6A-g$RfE240&rG7Td?!03$d;wwr4=am8RJe~sX8r5`vFSTw!!|yj>((ib_fxsoDw|$t%0~qULogTFeMn0hdCA^9Tm3-S|z~R1I!8BwZ&*e)V;2se?Q1 z6pT+Gcysf!iATXXF%3`a@qg=Zg}LD{oO0Nq*L+1{D7KgAhb8!F{;Bx~tkT9|Bs49> zT(tfIjtO}Cbw@M9kqzA$FUDnxRbxEL?NxLGw`|Or#Y|VdB2cYeuSf1G)Nba6JFymM zJweX?-4%i_1lal@btlA(tEG0zr?$c z`#GytkB`FTguk@zljbMZSz4d5;UYt8+gwP&EV++$WO)_fDT*8jaOxT&%lAUk6h%I3 zvjLIi>I}TKU^OVxRxP|ulcJUZ1aD4s#*LN~tDm~S@7#3x{Ku3W{|>NT{XeHxM;--n z^YQ@tw&_JPK_^CWfA6!Al-m-%#ByBAwUF(7b3BUegtD@WY8e;3;tt5-st1 zwNIlj@<{v*UYv5GbeL{D9Jfe02m75l<`<8ly!RpzaZ!@qYn`0rqUtOxH+^6(;(Gfa`VFi{qu23uJsOg?iv}Zn<_{TgNOcBu zU-WrYw?>U(=+~%J$)jTm>ZO_#k%ivy2rUPj6|{xbT_JZ@Y}(p%Yh^Sy)yn$!pdZ&Fw&THA1ha96SY;90TUbP_;Y||w z4QgAmIJ3C(6?aJ1+8(uUU+2bfjANy3{0+;$c)hZXo>V*Z;xv3nE?9fQwJ7-%RPE#( z^$v_`sqqXNH=GJeIvRuXF79iV=_N_s9Mss>RLn4o*QOJL09Zr8^vi-i>8icbaWkp* zYV3qoqIo*rwB0M3dY{lpcRQNimUOjLi)X|oE(9Pk8*$IXOa?zO-%td-09tI@dniz; zR-1`yu{=+7X6gM~mG;h7d%kLe!BjGM2iU}$O#Y6fEz#fmH{@HCbQXzM2=GmidgFgh zTa|sd8&&M#ba)0x)~Iy?xO~RW9ZX=P$zUe6Nd<_UZZ;n@UIFV)Ye(#G*$rT|1j; z;~b`@DVw8d7}7#HW!6Qv*fbA7s_|k>z!7`-tLNRajLc^yTRR^xWSh#%?Z%VZL+rB{P)s3NKn5Nsp;TG6%}thpKzy|X~QC>(K@DfGc|RU)kES4>U~S|m$5B8 zT?<6&zJi`7N9xk3h!%HA*uQbr^YI4uZOmbqGw#q9;`OwHn0f&^u6x#LQdk9VxQF=$ zT0+cuUct%DzKN!Kzy4Oj)ifK^(}c4@QL4Hc_^MpILD@`{@2tUo05S1O_1a?0;h9dX zVG7$?Kb@)R+Qh{~po#vzO=MDr3O#_7d2GVPb&}fn<5qDm`jEa~H>xTCd2-B>+Q zAG#l6^{P+mm7biH3aZ}!O~!~@v6F*L*t20g&D7i)hpYZ zwai-M%2-qzn6~X}Vh(LDKJ`{@mazs}uQtW_R9HAIHa_b{Tr^c=D`O3_DdXH*^(b)k z`dwW&jX5U)Wp0_8j^skvwc@1j!zUC>=g?;wTID}{SMZy9C!L7L8E{7Wgc$usxZ#ut z!0og&j%Ac6X&f{QN8Mz$m0F~J{WBToh(rfrCmT;sLTZfP_75_BsaTy|CSHb$*1VQf*1x zpsLfzt5v@FJ3Uez{iZ3VO*^F2sjBHI&pHbiwzC~|%46HKhMONV-mwU=W`nKUH2vb9 zdU?WWs1RCSG6oQ?Lt62It9e0 zL)LLjaD}AWWjO+g7V8^bsTP}zsxubedWa-$1=xJgrmd2V93!n9K;kxlt(n~6H4`gU z;xvpmt8uL_{ZdX=8!zQlP#r#v=XfD#wbP)C!qxS3;9KchktB5;U5h4~;gp_uoNBktFo#>?9z*lIq;S}EdDLj+MkKz?Tv^&+NCb5uu@)muR6{(*0RWuY8 zRhMG<=xLl0$XI(~6C9B>alS$01P^d6qM|smZi6#*yBhX(9s<>D zP!;}I*(nf-?tovxhbH2O?{dcM!Y2)$j8|rC+*!y8XACY$FFmv}Quifn6)(TVkJ|;z zWTK|SFD|X<+#yoe4msdVk)Eo^sG3VH2u>ewTUqOywcR;R+9wLdO_8@7$~fQPojP=+ z(rY4*J>J5cHo)Lgno}`$aOy@G4<_hTjd8Gju80AguPi;ZBoaLdK0@zgq`7Iala=|L zadn5KYt>#S5!?D|_){x2q^jf&@H+tQ-ad)8ayBj}jxAEtI zGcIRoTrDvBzKln?t#&uo^*>XQ*n8AqRks402NayTv}LJT%e+Mjc_m-%reL(FoqMq$ z>~O@^NZr3^k7kE3#(=lid{z51`ur6dJNNHwu%kZrz|L@Y?c5GkEsf8@F6bywa0}Eh zju~v8RWv?UKZUANC%D)?VZTW1tXpFZDrSmhXe0ehtg%v&eM1jY&ki-KNnKDyV08!; z*K#~dO6+bBtyR~3hQu9~Q|Dy*ZXmDz%w5S%o3}m{*wuB!9VN}$;gm^BphCR3ri<^s zI131N*c`kb$+Yo&rcO0eC78Jnq*|=+1CgP<52Tt@Pv)_;6OqQFDt@dR>`-6WSR+m3 zaI7bdpTnjjLrGrI+w9o!D==~38-c( z)Cl#-uRf7M`QsPTRmktvst+HavP%wdXM8u>13a9Dai$WsVY7lAXq^Mt`sBWh3tPqc zaK-r*#o4b3#kq)__2n*VMmg2Z>JryLw#P~W=6r2bg{W4BQ>d`0yWCLixB_f zqe(43uu-SK@T@$pfmdm&;?hembUf|^Zn;IE{KqIm208fR7)r$*wfCy$#%siDk*f{> z4C^Fls}GF|!o$aCjlut95N4)qyQcWG#hSuQQ?{!txqs$#W#Ff%TFNki99C^iy>e%$tY)^3Qw8kujwfN@-^`*<_$+*`qS|*PoFk7c;_R(-u)KgU$Q2KFgVKv z$tx=5>*1y=O}8Y~i2a{cV}g+aC(1oKVgC9OHv`%Hc=MwkUV2%UjtV=o@pf2oT<+qqQkyTmOd{H>DzIT3XGegF&01a3{M79`vqm!pk$9DH zWK`xlrR|AktR4YkWYDuS(O01WFmX*&K*@uF@f`hxQ7(Lql}C97)p^OA65Nx_2tfNgiV~trfjk&8(hI5|s_GnXvYvxCvghBJmMxQXt2eAmEE=fNMnhAGkfYCMdOoIa;cYM};v?Nn~nZkAs=HO;XxlmDe1{7jth znZQ-|#CSZU+`&hphkgT;ccYw0bo^4Oa$OM&#BDWH8NCsfWK^k*0N)M9a?*DbKm{W) z+;j&dPDYUy+jg~@(ZMM@cWGB-H*4Oo)KZ$gXPl|9R2bc1gCs4&Qog8>Rq=laODU)4 zXctARH68R{hNUitg#M)qRK#dnT!k8xqMT(bsHV*^M;*$$74S)2_ru0*9ZAYw+FV&J zVk_#9-%@!#Qn9(R2H8uP-BP)TKe1&?k?M=d_*}8MhaAjPJKrti*(1U^I%7*Z-An8$ zRdxNR^p#e_4xi#tB@7MMj83|cxT4f|5EsGInRuze#=T_pJ-(BC{x13bk7GN9 zB6YkrXzXJ3O<ADg$FPrC5Ui6)?EoVP06TJ6u{YnAlYqu+~x8&8jY*T!w@LgZyYU(IV6=2yMZA+fXuk(&^eVqqw1$Zu@{HMF z>BMQuh@4o59!PxfFX(d2E*y!C*uF4=a=Xz`RYV0}cEQ52`tQ44M`rXJ@zxw?ZBIN0 z9-fmSlu0xIgb%sW+|+kW;tlLPOd7a4%bdA7+hT2IrctAUxH;0(2cYUeGsTf!6O^cr z{rm@e&vTOh|Bv_PQ4Pj!{wK$KWg8NOpQ2lnArN-!LwH4~#p3%Ff|L!qr%6~2sr8`8 zoXw>Jb%#hDgv1)TZccq1awzS|x0-Er9HKVRjC#55m;>bZjzj)Tum1nyaR>)&>%G~3 zIq%$!@zrYH@x`e1N_TV88#iWfv7_$6d1BPnJzK`7eR@mGXYWK=)bxpGI>txOJS$6g zqEDQ;(>UcX+jLIq+&!hg?@NE*)$i|{?^aIlLzVtBrKkU!-c}nS=%9kd%{Q#ep`P@$ z6goK5*@zyM>Ya@_lVt2j-w|T-jAu%GkEL?UD5+VQVgj?w60d?xotNT!{Kv$$936WL ze{^8L6}UQt2>y*P)b5tc-iX||p=eVi`US+f0{yNL`y{}1+al3kFs&3|z7g+&qx%$b z%~>rW)t%I00GHpc_yz1mBswQWIZ$!(@lc(ff+`Z_xAkgY9H747dnehsC92!}vgTQw ztq@Sg**?^#XRxC=dwTXb`0!gDKVS)%l0(sEG(F1IfGy;-RCp9NT=8j4Dshr}E-+Q0VzMo`yhbJf*}go8o3!ZdI_8#c@0 z;d>cElDRS`eTM9v-7%b&-34=fAWx)a9~v$XPr_+NTCqsW2!}@@tb(s^rDf}Es6-H% z9uZ+h)vlwI9f@QyAu>9+9ERiEsr`Y#j?PNUzPd7dQpcfL6;gFi*=%RtIzh zofSO4D}))IIRv~5tUxS5!p=cY8*PCueIQX+oZofzXaE8HZbP*OLaNE5vxX=Z-90=* zq>ct8}Huz_BfCOgmzvegW7 zYqli^Cn1)o%#=*(j#Uit@MG%;JIKOVRNK%{#m`^#U=KsBWEMWesMs`X7_DJKM{6a+ z@%MN-(#l8lfPD>u>JPPJOo(z@)a_aJO+{-cI%%XbVl_C07?o_T*3xJVP<(U)Di0JG zMr=S*)WceHMt_g-4q4j&SgQ_GSa;z##gGDMh8kMsq1DEs;p3AMDxoxVg3BXmSQA@N zQm2z3Xj1p1;Wnt4!@YJ&K_|m0WRQM}%QxBBsXmylf10l@4LicqVbJq*ZzpStBfTJ2 zH=_r<%FGtZBrT;p%B>^W##x3|OK012bZaQ$Q^&N1Laf=!$-o_Rv^`o?|qk93&0zTn{JRr^%+A=MkwT?tH^JL=}+p1zuf~^M$0a?t>Hy$!9o35hcBx>WNjLOquyiwf}v z4QEl}7TG$4SWJxO!rCtDGBf%AXR+BP`u9RV{F!tkuQJU(YL1OCo ztXzqHj#@qjf0bmtx-qupSIcg$EJ7@^9MmEtrsyYhL<>S}!5>kx>_`dYu0%pyqw=KD zwK|?!g}4?^x^c@zO&wK zm1@`|EF85*d%)9BI!_@UOwz+SKIEaNc|Gi*r%Qgs`waY}9(o}j^E`FMBKUDUPf%w1 zgvx2R{-n*LzNc&+yq-3BC?I28fZv3{e?jP4|99+SDT4ERO0jx?6oKz=m*U`?2LP3J z=DF1(7zzwIOo)U3F$$32b&r9xo%snJNl?=ktjXJjSRg%kD$>w=f^WM_3KbaLk!P410lO?WUqlqtU#Kp^I016e{v%@9oM=NQ$^nP&oiX~6ivPj zC3jp26E+m{PrF3qebBJL0*by~0v@0I_=V+BbkrCC{+J2MzMRed7cd5X7+0`{CJpTtMj~px85ZgbR4!6#(|WzRhL2;AH^z{RRF- zOWN}l0s``=D=kUSo3a1TOP8lW1%{^h3_#k;(+9ecfgb^qB`*bgLsR<}AQAc20vB?{ zQGoQ2?ctT*RC??A%ql>N<-Ie7h162DedQl+c4>N6fo6d0k71@u^*Z_d^F`ih*)>gy z9~7TnCs&^)^2W$#2fL6n&lP!-<#BfkOLATfv^h=g+GHU;C*KOjN6N@f3+Z*rX=jMM zljN_bA;2+~9oy^FnhQnVsq&~3rG=b!?mUrqy8QlfOH(`^^G@Cy@`1CYm<@Z90hu8p zBi14pd82?nYzaP~Df8}z%@^MXXzyXrRq*gjJCrO~DFuG_@1}f2`^!L~4E0s`sjE-I zgUodJ6TShd$hw|*7WTtC_+TLH{BICGbr33vCZq^4fJ6dEM~|d9{Lw$ZE`$GIG*VHh#l*%s)O9 zY2KIMb@_DUN>4{l4$hY%ee{t7rFi*lJZ6438U@0;k&4o*EkVYsx8g-yF9FvPqI8u@ zu<`m91a!@!&&wqE^&gna&qSAK=GrA>&Vrpt(N}&n1K0~?IVn>Rh`dAF3vp{_5ckPP zPVRRL2LI3ixZQma%%cUj&QMCxLdiy^A`p4Eg2y(DP1)}ha(nM-1jv4rb1=X+LSS&c zaUbRCx0Kk&yGl{`vU~!o3Lmzw98w6(8cEq?<|%B7b@h=iPXR1)<(Hw3E`L241m3)ee8&!n+kR#rQNW#)WcjW~$;^`%;vqa8sc3%^5p>7nAH&v` z2#Y_5_^eB8K|j2My!i|WXJ~DUMP$$Q;1D_eI*Pw=IrB?TWE#N)AtQ%j2_z$pJ(vzU zlaMWsGk@_F%##J$TCk+J6CSUX2SNBiuTI@ZgOR)dOPdMTL)t&D#8bE$CByZ|iuNZG&E`K_ zEXAF~TB7@j&$`$a_rp8LJ{Kivlg)28AJE9P6g(1w$;ilv2Bt^vB;?+^nE&-X=Ht0c zFTb0R$FYQzk#{g%%E+-tGJoqeNb?%9ggAW-puOjyYy0FclKF2vXq52eZm4CkycshJ z)>tJE7vk}9)9PRe4I_VvJpCbJGfHR~`Af}Xe)nnME6Fmy7R`DNEM#~VNJaZ|iJ>}{ zt&(B`5f;B04|0gFkjpJk*Jr$I6@`$a-3 z4?vo?tOJ%P(*R92^|U5`Q%j(UwwwBcqIR3AAM?A90N-R&CsCQiuT#4 zQ8m6DyvjjD$V`nNfd`RQLOe_Q;cllX+GOK1Cxbk4k4iUw%>0S{nRd)$Q{|7$?~jos z^L_#2+zxE2+jZaWOx<-4QwF!|u1Mf1d_Gdq{#7geloBbfCPHRvyhD7}r?#XY?slD` zO-etx4>&|tXHr(Raf*z=Qe8%l`vcQ|VRq{kJ6>y${*1xWjc=r9k6W2N*+Wj|!YOjRQK_aN@|*}&cW13sEA!%S5o`i~^; z@g->OBf~#qIi@NR{f{Ls@;Y!gx5O3J5qJ6pLUcqh?Fb=yY-3@jo+P#kEg$d@N#8h1 zijLFLLbP2E#f07{z(f?jMY0f9svXmUZ=c=;fKA!T1k+;Lj)ot)Mcs=5ZwbNLOGshEkpf{wWK$2qF|Eu>w4 zlMvl+!2)S{3^3iJdJz|%i)zE4LRK;0d6FKw1e?LFfu#?TP?38`4*ZxT7kmM3_XVU9 zqcuy>Jq@+%I+vxYQw);*rh~;l0zcG%P;v4oeQ_CF6hKkZ<#J!B3>$a$F8P?#zB(BeG#Qhod zbz95z?Z>LbkTrxBo(1TN5^M$yJj{}!>}?`XJMVPS?TM$b9Q0N7J#insje^e~iPm{> zgXQrsr*2tNvWbSJ9asGape5RJE>-fWx^#v8ClZ%;F05*COI+T0z#YscEbbV2Mw$cEQ_3o;*Z~eu!_=|Eok4>>~WEtAyxxi3cA3x`>7NcYoyM2T^Dm0yW>E z(CQxm&zlN((_-Kb8cK>DmmpEJGPBo@$yN-N3#%^_#n)bhQN2X_1Y>Rk(ZRSQA+*pk@W|h+)a6R*!E!ht#fY;ghMAub z>K&Bmf(b1DKGYF7L2?--!%UNj7WQF-4JMK_~Hq#^q}2P#$x1r!5MCB>6Z zD-{#cTJS%T;z)_A{+7BbH7W-_L9#FBgVEaGBYT5n^XNeyOi3mRnn|&Gw^s4O2cgBM zkchm>0vy8hg>`o?LQb~Fn!0;8_}b|$cmJL_W{{qOCI=QnFhlA=i-Or?_3KJh1_wmT zR*5L6A$&8|DE+STz{5(b1rCubmg+*>YJ{1Hf(Hq|Fsci=a9wEN79w|jg>_{24DCP` zjzmdLnPT9lMBW2u(Epm?wzH8BGYww~3NcV3R4V0R*Sf9XNe zT^XNsD3LQ?P5Pe`+M)NEi2lbDSAQt{&lJtn#f6V0pkN^hKHjVQ;pxAC=_^P?QOOgy z_%pf?2Tc9CfI{{-72&-Bqo*S98N<1SltuS^gatt5c4#$g1u2T&xDSBCZoSw74p~fi-fs61M zF^?G~XJgS?mSY~XN>0Jjs4Uk!=9FwlTg&z{kDW^Rhl*mQ?7*g>tc!dc?FjT5TvCg*aalL{ zjCveeauxO%Wre0i!%Lol!pnM@$BL4-(5+>??h;u zaePS?+*((p1&VOQ-5Z?oc&S!gMcn?yM6=I%!=7)Fi!Gsvz z8*~`&Vnh{^G?>9${2p3=2P%7{9rbm<}cKP@qDW2zp%w#zkegUb-x`TPL^}{>(V6?~~AWRR^0<%>fthDYanRt!=!aov6yYWl z2iTy&<*(sLbkIR*yAbUI6j#N{yJMmrH1r$TnuY|*7k(hbpo71NSxB(_r&*vmgo9Jl zWR&Oa0nM-q%x4;sQ{HndAj3b-u#lqi2=aqQOuWNFD$8d=gM$vub7_`VTy;Mn!Bo_>}~6|5MD<>jDJ;}^T2jEW`e02=*1VoX{lkyCLR zmfeFY=MQ$NiYiXWl6BBwKYrwbD$6fK=zq|dc4ZdycsW00F=*`Z_gGekS3KDpka6do zZ)t+Ed@<02CcJyFC6eX8;%sNo#1lqZqCokCw@_@-k55@hu>2FUp0W^9Xenj+5ygN^ z4Pw8cA%XHcFt!IxTYIjh36?K844jX++7&3H{NED+nO=XYrO7Ejt^uWvtT^35irSB6 zAJc3{pfeY!4$r)hKjBM|imYRpS0}&H3-92A!OkEW46k>08YR>0;N>V8Vz%Ae$nAy> zWchLJA0t23w-FN>5f~2d^C$cXQjxWVc}47lcksc;z7~Y(D$NcikPi{iZcGm$b{z{A z<;S=0jJ&Gq>>F{RkPk9*B7efukczA!%qwCayn_$MsI#9{)AT}6UK-GB;d9t1LaAc%Foqy&}_)erEE6TjO72tz+@WEKma1i360n+T?{YXR1 z4r|{FxAg*G(fPQ10#uzJA*1S?_ydAWpg^4w{)G2Oit~Ts)g1&Myn_$MdbnvyS7~;z z3yOva82Ke~Gs~nH?nEYICYF&-_b@F#lg#iB1%#V&UU+@$2J<%{3nFF=TNNgSQ z17BzRa{h&D7|#dvQgGVqSY9y^qvW69$vgcNK&L@ zy}~7!+=zYATn~W?AC=xuf~j|a!;$yEJ!=k1pztUVhxzvl#gLas)eeiz{f-{}5$n(t zq*i32^fOX?e>^CTdmD>=T8UM=Fa`s)5~bYRy(RozjD}7K~Dmg_y-qMK)W3hkb(Ve0KV%vV0Ff@dp0dhln}A4`a2Ha*B}wgL}p-$#gZjg=6otYkItu9c7i-SfH&gOw37l^(;{)APR_D>vT27MjT3#vumpI0L$&=Otx4AB#D zO4Rqa(;mepk3FY%-1HqfCRq47iSpoU`v&CUwWfddR=99Cao6+%E?vF^pQT)m=0Gzr z!SwEZL3LygG$2zxdVujc+ds1gR@a6J6Hszr>hhYa0n3)7=MKnBYRM$^k5x~DBGl$k%E9>M~=k3 zZe)U^h99;lC`Im`tcAF{1gMl5cv);8%8D@$VYbcvl?5;y(jr^2>ynX|9)yhjKA^a> zHUlrEbEMXNn#??!97I3a-(o{@1rE13UjTbDv8o$Ize1ASayuBbmq%cJJ_EQUgOSAE zdke7HGEsRE3t+uiRkq}x{swe*%75FVj5`RV8s#n_#syBmSf+(YEE*!HBEKr!VBGZACM z=mkx3s9c6&X-P(sgb7}uaY;tWV>+`YZRu)~Wg^BN>5`0*7os~X3B}dJZ|r3xnTK8} zT_T4=VB2clF6G3v&^MBB_gOd>Stw8Hlq3}6WYaZJ%@nz2HQr-T-O>Gd694lufS+t< z`cD-6!vag!+CEixLJPij5senXSeYou9cb8;Zt^0MvWbEbF3I0glbFePj!XBBrBhl^ zE!1LM=8}BqBhlCf7yB=ZRb}ZdbRFHBNOI49X!UIvjmm0`FE4zTC@!^g@52QUDH!Rq zY*bqd_qr5M$W0Uc6qHmHc0bVaST8Sn$WNhtRyiqhK7|0U$RP;%(3VUsqHwm0d`o@; zXG1HpBk$lEB6+(m_XBxBy}#ta*SpAsT+pIq;bTP3I}I)SPL7?3xNVxJ&R1RJFE}c~ ztCb3=M|)v{$VXvwxxv6exXqH}4hu|z z>+_P}UKp|O-2}Nt1&VPk!N>g_A|rnR_q*l1N>-cXE(Ux@?7A;ebavo2_yo7xB7=eW zBliBeCj@>PZqEiybIOS97(uCX0tb%8ttZUera5|LRXEe7xI7RJ3BhH)ujYfRNpW(u z$XyXw3?W*vIJn*t+#T44Y%30h&ywIXbW-jUfnWcHy9cd|`yH2Jb)Xt;_flx%{>7!( z7&v%&D&y{kaE&~16dcg3z=&CX9(o8(aw$#=bbr{-gA^XWQFy*fdr@H2jec56WYl-P zCCmLHkbvuNE%<7eVo%`b78D-Cd7EUr?nO^!r)40vWBWi2+|u2|a!FG9;|Xwv-dc3i ziZS~ug4~j{%v!&=Et@vk(w3&nF1V)P<>qPHIhHJUOj^}z{z`S9+~`uwNIUdwKZU1h z&y%ct8M^|gX*S;2L%gOn_B^?j%%D+oS|byQ1kqOhM!F);WT*3B&`^a`R7uYO{WxD)kF z4Bj`kjrzh`<=42hCk8LZ+A5`Niq@<5wYF60IQiKbZ7Ip4{Ddu#8w-w{-c~ib2Ra{Y z#lIu?J$!#^kv!cn-YxKC@L#k2(kM$*iEi)3F71oKns@xnle8Ym?{*8k6Wp()E#_MC zH(lDVgKs|27ITl}AuKj^Pwf|qWw%uzxvVQZ#4XS*H0kuV3MlclNN2bON<&B7)|U8g z%SGWzx4@9ld`x6s?Ym@Z9jX_j{a$8)E53lWO$t4EvKFb0rKBDY{r0lNf$+S!$Am)I zC$WkYB~&Y@EK${S7)sm;7h8IdSgtpBSkStP)QhmfX{6#Fu=I{V8YIE6bEib5LsdX= z9I$}2^L_)zr{yu-NT;V{$|4G5#GcH__2JMqKq!h`D-_;G?fm>GGuX*rC~tlrlp^}(og28^jS+*`nSLv!+*aW zA6VMl!t`}erMDd(0Yh+)s^-#90{tA$7>xp@SfZOKY^1v)0xs@6XZnU(yZ>9$>@w0SkMd40MR$834_8UK$N5Duq1biX~0)Cf%D8`Dn zW{-g7maKG8+ATf&+}uiyfTvj6+(^5d;2*p!U0RHKOIA8A?U2rXGLL|dlkA^AL%>1p zUfW^sXsIEt>NAzTPBMnaa!0rO{%RB2(cum=_x@%nN@u6t@QR+v`@LTx1`l!2h=vLRzcMV zEO67;aI(ujuXWwFa>Xj)_BzZnDN!Itf^0Rx#iY`{(?;~@iwgC zvJ>Ow`}NTI>7m=sXsgDri%?R8Xa(uPIp7-NLyV67OTQ{|9B}=6~9wLXZWb18L}68E(%W z&iaZV6(#e*JNRHq1`t9*q}jm;iiVgSmR5-`K`WtF<`cjebWzVJ6h3n80=)kRkd#Gt zLAKH{;kSf16?Fn|->uN|w3#)~9~ekELC0~P{1`5uVH{Z+ql`D7g{D07HkM#2_M6#} z#G>?G;>P2oE%&+mt4x&B;D)Rv?u{bg*3H261DVMn9bN|KOXzY4d_(RFbKn&%y!2bb zuSM)Ick}HC+HItKrcCJpqw(g=aepYK zB=Asy52VtRi!Eir>9Y8x9QH6xJT?zmQ zbwVZCDw`fGL1$%~^bjHm7`9*rZb2cFjNRUVfPU)OEeo`Y-Tn!zZ0t7uR(;xo6&v{? zcDvTahUBIY-mxiF>$!`GRj*fzemh8FVz-x9<7E=yk_`3`Yht%^4oCE|mlu1$VZfT$ z?Ozdv^kK)A5o=<%wSQu`G*eY9`W;J*iQOIu#Zz;(PHiA_0TKPKAf1Wb*1<$t)2Ut@ zdk^VM?DpaAw0fN>Qu2qx&T! zc4N1iuHZTgWb9V=sd`(!;6WFG*sVsyz(*AP)kSRbB9gL+f*)KG#BP&ilO*PdEPt$# zs1&hVO{cWL#u<`BT#^rcBwEO0T`Xd^nt>|Ivp&tBdo@Yi*sY?mvD=%7GO^n?acr=h zChd_|6gIgOPsnfK`n?pYs|w$BDb~x9T0aG)5QRUH!o+Tm#nC%$$yG=aiFM04Z7nzWMImKVH@N6PY?Dl(X#hTJQbuM#}zsR5dDFi>S zU`Ko5y+oSW?PnLZDEWem>=0P8wMEH)5@}+$t5A{y&1JinNE5rAfOw`4SpbJ;W4Die zVi$W_2?HvKG_l(U&=lK2Za<3w$5|4@Zt;B$ABiZum{=3Loqesp>H+mcn%Hgh800-x zBnCW6tcl&e@v@5*g|84{Vz&?BJWkJ`TH?a5h%~X=E80uJvuvXXH3CFo1WPeZae1IS zcDy{4_tkvxU{dJV?f#`HSR8z$CAd3q>&GcL6fPuziQV4S&Tp7%AQ#rV6srSAB68l^ zxSw??HUn#c6?>N`Eb+NIC^kIKZX7C=kIO!OP8c z45DzFB}44?;F+z-L}86fu_tiuYkmrk;oLwn6T9tOku)6Dw$i7Gz55C*9DY0r2dG|Q zbkjbx1c=>U@tMDtmQ8Cn(K1VyH{9&!=4o1AONQ9(7;Kcim1>7G-KCh3_QaF^NN0kZK#ei89ASC*&}-QI&-+82YLUfve1NAeTh0`COz7dL#;B$;d5S>e)t9sIS$xJuG` zB;V*3*e|qmdRx*Ymvx2Txdpm~KHl+r(&$BAVXrAxH>IJ$tJyWg43(tRmLLZuw#hMR8Xdrx0mkw~M#5 zKrSKD#BQ%WK?+{0a!Wo$q>0@gn(!?_RCjq@+v}DVvD?jNp)jv(Zm+4vh{8WvTEuQE z*0(_`3O8CZ#BP7Yp!c%$2)L7ECU*NI7OP$|kAR(yFl30`&TL@`Ed?yMw20k4b)~;% zmsS*>;*u>$zYvbYTeC;N7|BfRc5RxU%p+iL3w)M)TMOPhOBdZ>FFv^e_1 zk(jRef%KP-_SftYkgq@6*zHH}`nh=oJlc{Wc3Xd;pUl;Y5pc1kMeMd049Tk+msS+s zW62P^oqd^~%p>3{Br~zw_jdcqJOch?$q>6eDds10D>VXkKhm;{wCjoZR2u?TSu(_K zKRCQi4K5&=iQNu>b11LGvyNk^`b?$QlFYU;r7>@!q8_*#6;&|GP!C4wD#a@+C=?=KSOLz#C}~#i%6tMmQPENLEux}bW=p}# zztToUJK|?*bCPXwoK_j;&fDWURNJZ&7@{Jok=Pa70t=g z@iuc{s(M@nM~0kFDjgN=b`$4OC6{I~;94S0R5U*ic`vr~L1J(Dh*8mTL+tf$-K@gb zh%-@9zT)eVU&}}lMEh?^Mk~l0VH9kuD27T!R(mSeL`Ah=3hqWlb#3VXLJ)@fL6_Mo zJ8Z;kA=afK+*vWM{N{2gD$eXa$$TSDit?NX@D=p4=5EGkuTcwMi`#o0AZNd})Y1gX zzp4Rb!Or_FBv}6GDDXKaQ`%A)U70@We%dYlNUaBiB+>NXo;&599n2O{(lj4v?DJML(FN1`M0-5P4Z<5bDp z=AHNrKTLCz&zvV@!9tKoex_x#fE-Y$b;aR|lf_q)W3X4FcKx}mpw^;;B z=+o^1ilo^kdB{hi=rl=)ah7++LY6g##J;ysLJV!DV)Lf~eD;HKYH77(f$dM=#hMD9 zqvPYe+Si!m!~#p-;Kbt($h5A&zY|)q zS(Y!tjRsgX;=$wby&4GLsp4IEI8WXxzLNUrO{5*Z z0It2_Ye^a$%%vUv0~V7N|2D13NIU$|M?n9L!Dpo%KIRfUe=FB0`kb_GG17l0&%irB zuL6b!bbIl2kbE!8OQm?vfVv_+TCqzOJ}JbP2Gsw2fPRom|02X*19}J3Ma7SD{$BXC zIhxmd`JnnqZb9?98qgxER}wI()bp%_$80 zd|tAl;R$S#GV-y9k!EigG(7`5&=t0{p#h;7dm3r_b^%TAz%bsid`!;b?irpeq);L8GMpW&&8D6Kx&CLhv+&mav|pi9$(8&PgJjfiY!h|or4 zhtq=0^J{#j`IzUA_)Oa|&)@QyhGU*3vcqXL<~f(o1Ca3l8K`gwenUitdLWk_9K+{M zcurT@^dLXTkZsZvi6mgy)vyA7BUnx@sW=2yJbB%%QJA}w4 zAGG967gSkMehH|Cmc(trU{?89c)`gBubyu~f%1>;2GJoq-nZp~6-V3xnqgBfun;UJ zPDIm`3EnjspJd|$KJv<+@C``u{YU22*JFL~4n7!lHV@iLS7~RnC}B)e)%&VN9xC-z?gFuQx-T+DdU=YR&3|UXi zyG6h(dF>>wDYZ;P-X@&O$tgEHkNug2mwr$9FJ}UN_iMN|rzcunrZmEO|2hJ=ho8r+ zxIQU{DDBUO2Y&?a@vrv@KW+kXM-2w<>HG$}-!VK-CGNbpfNPqIbtm=c%CdyGe|!tv z^M8Ynqq;2aC>cEr>e#UPGCy1lC*S#?REP3~Fpb+#E<5-%z#*MwnjZWM0qoQxPCE(j z<#Ci99!l>yt_Qx@&@DYa#_*LrA3YF|9_eE+T9pKHKsOYSE8#Z}ACjIk1o<#o=y!ft zwP-(*6zs6@eb|ukL1tdWpYS52B5M}&>U+pOcn2ShVxJAd&^YBBUWUNwL8jTkD+$)w zF_0Wy1S#yFU}ldPiMeUGYSTp>dcJ{ExWoU@p)u$Gu=d{JQ59eK_}tyQOEw!8R03HO zvh;snKt%<_UQkg4MQqrxVeeu^tk`=+L`6R;ir@D= zQ*t-q`+c6@^ZfqE&D`_8XXebzxzqPvyr-WDd#%1lp&qul;gdsco>IRPNMp=%*wThq zM?A$?JUJj*dr`4ML@W84y%&DA!W%EYlKy)DAGHb?lD=;{wAD%Cm?~ji z0!fSE@1U_7dQi9$eU}!+T6H-WqJ!~KGOO3>k)4qA3crd~4;@ph#TP-+JG=qIQWN(z z=yQf168^EhjVLtymIg4OU$_IBULCg@{yBVLX#enDJ?x}I4PX2x6syAHksZr=7mw7? z0pXj`4jWOclUhOXu<-T!IuklzQ*!8_@KKoe8KcJHtlH4Q;d3#bGLn&#AsG^$Qs$|V zQUt9QJcy`=hIcJ-oQ_Q(85!Ponv*nTRz`*Y?c^l8+CowjUUq~_>#(_y92;&At4&(1 z{(@vo_=8T4v-LQnJ~q4&!>BQmdLM5F-aj;Szwqq`DTPv29wg)EtD*acZ#~h|lEL2g z&k@m~;qOtz!Wry6{tP6Q;eRnoH5=r~Ewp3#P6?r~D%PcfON| zQ+^e0z8W8@LMfqf5vTk*JOzUgqa{xHOZb&bokX1S*YH3LF$_nX^0#nD3?z(1obvbZ zfj2phIOQMVMx7l;obrF+>xR{F%2&fNG}f#!>y)pDORn^^#5m=9;T|!=F;2NP{2)#v zh}K|FobtQy?6Vw4obre8UDrB}IOVo*#d60Hr`#Ui4?ZsO#0Jm?b_L%p!e^RzgJl)| zi=Tt5Dj3JGams+)Ii<)j0jzuv7eC?u3V)2sHQ`?f-3SHM3G~=q#5a|%n@Z3B2!*1H zQu}6}KhHH(J+*Jf{4g2{?EsCmZ|3{eX!J}Kh;PRIU27aeFN+BX~eXJK-! zBQn0ZkAKE$D+=T5yxKRL_}^d&NE2Vf=Pi$x2D8vlUu*49{?X!`P5mnlv$7tZ_Rb=I zbZv7e-kJ1QxyPiHG@1MQ$2YXbwG!_v@!#p1+hjKP*R*jQ@y-tZvZhWV-dW~9h9#w- zcXsrj+vz0Yot^xRKRAhaXJ`LywB$xhyt9k{^^iK=>HGLGu40{8?~MBY-j3FW662kX z{OThO$9U&ne$)LNN4&Fze_zx|#5-I0yRr6U;t}s`g0lD)|k-;&Cp?S}PcP@uVM&+9D(}*ELLG_(z*n5h1 z?r*&F0Kdt3wwSbc_VGtQV5_^2_Rd57{}xzZ*;{*Og}(wbprChF`Xg$qQd-Ww{+k#Z zYL52Kettnq8@KV!LH-Oh2igzAPg(CA?0YX;;^X)Vz4p!_{(~5oYOd;|y>qBviUEn1 z_1#B%=i&YdD{R8L?HuN}{m%J^c;^xReXh&U-g%Ticx`UmIl{kcsEbFubAtb6I~R|5 z=S2V3_nk!A&Po1{u+kKbc;^)V;Mp!7@y_G?OVEEBj(F!(|HrmoZijxbKl5TwvCgb_ z_V%}7ZCfP9JFEOf83O zKP@$!*txWU-Z?CUFM06B%YTIb;!onL3a)3^cxOQFyi;WG&ZpXf4DZaqBcpOn_|HQ( zLIJi;;F@^X46fw^XW~m2G5B)l{X^^aN1K}IQjGT~j7N*o`9OkPAFkNc@)wvJW5<$YkBdI-`;yqy<_Qf1SrALv&w=#FGeB(7d5@Z=JIx79{W<3o| zpH1pV7_4{hUyimUNTmh(HP7j_jy3SzV{=&<8=*=+Ll*ZbI}aZDVNS9t{Ry#>O~9&` zHM3K_8XBg${Y7lbB-Qzd@bPxWCWfeV;S4~dFo5km`~kEhG|A*dCA$!N{VGIxw2_&4 zXy|+l$@d$Ir%p-o|Izf08xN2kW?d{P7ETV$^?EuB}n-QGYzx5egC_PKcm< z29jG%-z*%IH)AH6>%o-3A@i1R$M*_`=sQ3AAQR?!jKag)yo+Fb4rp>w+4qS}`48Ap z71wdvPbDwTt6Wre2N~V5&Qo}F#ZL%ohRQZ1@#80;Ick2JTuqg2OK>X|UJ8%>1KGDq zv3``ZKyJq9mS!OHI>l3QqY93tNWRmOBX5`^V~Na$RS9!F3rZ0R$`{PSmt;^PjjN8$ zn=%-`m><6mcPx?UUib~VFfzUc-4u(rXtsV|KW7i8gTCt-Du{etGcM)&Ae64yp zZdAc^isVByIr4@%G8PBFxf1m+06oGWUJoNz3XW-e5?(xnqn(Whw8>iu+Xl47Y)A^F z$uiuv(|3MegC$B0Xs_?`@~#ADKnHzS5c`*g(9n}F@DwA2p&j`z-VIkZvXEgWk}DsT zBcoj_5K&aF3BMdl5iMZTSM zd$a_w`%w=P(eKfE8ILbh@baJMHNK9j>GvFAP`gH+S{Wd$7s9_J3|Ymus`V~XCI+2& zZ$x0;s+OXjevj4`w2#(2rl*fAqz@uPzenrUl-)iNOH}q)V){K=f1JdpMaM7NVny~e zGW2`2PR5fSWSIA8?Y!JmuaIRiDH@dZyLbYk{u)3L2GN4Zl>#giA$JM?DS`|}C5Yu{ zgv$?`qtr*>dWQ@vq5zMPm;9Sa*w?I)fqL18|3rotXo*aJ(kR)9fPI0M0H$8_Yu4Vx z(4&Tw94#2Z&nhMS5r85($Sd9nCx+|m9D)p%&%;v17YG!T49VlZZOKfEVQhLm zlF-zsnX&n62Ou*Vkb0JnG$sEdIvkgh;|*#(tp(%2 zH@#KKNgrY}QF~ggzRFgR@JSU2CpQ_yD%4=Di^L|7!H4X{r|^wi-dNId+@QChy}2@! z${D~S^I=ld=QUxj6qi4Yc8*`IDkxcAL=dGCN~<9VE=22+qLR%{wvm2hfhQ2PD$NqO3vF=;O&1kgWc-1f$4DCYoX*72V7! zB&=Bo-K2Lt#>5tNR;kqGr0};HB?o$ke~leywjVkYmAc1)6<*6%;cNoF!E{v5*9h{r z86}5#JZ&D-?D>NOkMO?51S6=KYH$iP`P+<=QQoiE+qe!T?9y!GzzN=nF?fNefI7|8 zp#=Hc47ks6nD*vqj&a~@@7^o$+Rvco=>+-PjFNd?-^XqHVWPc;AlsIb)4k>I=7O0= z3G(L`B}=?}uqac%5Hoz|ucln@orjrmkb+OK5&h^YL~ygW{qEe@Q~S&V$lp9ycL+i(GN}Bx>2pX zoQ#vOE?V-1_u`N6?;N=22EzCaM#)ZZ8pcueQt0`PC4@ptFWf@{sb5LB{(K}53*9p@ z$4LAL1OrA5HV*ClSOx9FFChpvybjrG7AhTFM{}S9OGCfylasK@97k~HEzs-~+F66J zc_ySM$ec~|%f3J>LY=T+YfzP5OMt%@=sWs=2+lRsJ_vD!<68Z7%PN@^x_&`zLo{k%5*1-L(h_XLU%W-O^(mH$_ysTU+0uO z9%_HQLsiX*1R7%DqVJksQ>9vK+Zvsb%4z^Rjy(ca-1kiOo3f=Bnz z@d!r>1g+*3Xw&d=Uc?vCL0<8mUI-eLo{k~OEuJbUZg(t?8yA-id{3#H_+*B?isqPS z6?Y;X4Qsfj4VKQli!fC#&R+N{_nzZak9Xh&xxjle`jhb*sBJ6p>`z-41Fl3A;m+y`~!tg<#^lXxTdcr%EqC%x)n}Cuo_LQs@ucFrs6|` z#lzMi1N!+4rns4e2_vCAt!7oNVr&QH?2XRcq*Na!X;bcx8@&IYBAS#dZ|J>@huO+Z zQ;+g(1A2sKd=fs3FY5QC;2jil)aNx}t`wK=#N}47^4j&wJL(|pc@Lx}3OVmlOjX() zW@g&S3&8X4gnjLXdHGaA&%V~lh8vl#hQA?Ku@{IkS3@!1RD1v|DT*6a@QKyVl{fV6 zd$E>la~1UmgN}DqkLOi~3lL3&!SY8C;#jNT|B?xkFd0b>p%pe0GHy`G6Pyg05Sh+| z7#Ukil$m&aooQGsNqo9sjnzgbw6e%uCPZd45gPHPQV05Uno#50Jau5?Tm%~oN4Gl? z&ty@ow4&2ilw3Pq=veJ&aJ8pmX?^SAM^0UVc4BUkn^46)sLWVrs^bUtp^9&?Xc_CG zZwo>dkKBpduKKodsG|;ox?1?ql`L4^*w3@Y~{ed}Jtj7tH<-woANL0;}1nxlF6x;8l7BJDvH^9dPcJu>q z@H}j6S-`}{(|+F5BVbtXE&(-zmYxZ8VJXl<{>G!5qiZOKlJY%9Ik7%Ho9vO298L<0 zJl5Y@m7M8h1B^_^mptDAhgo1ca;TCw5jgKt#Den%k~cftdYlMbiP+GO(IK(uOxdb# zpAegQ;zSjzzThZbtU2Z0Z8r(CC#cxrPaL)B%H)#Mmn~`stx=1**3C(~C*ijRrI}@ygxx(^2WwB-}XxxZFG2+S58%az&`m%lZ%E3&jokhYu*kFsT7l*AL#MWHZCC4;Fc!7kw z$H9hMp2F&Bzy={0*0+vz>zmu^vs5~dwNaxG&HAIy+fzFGld$6(5FWqskouKeo0v{f zPX)Iom6}b(9A`$?Kr^xa1t{`{1bM~!7X%4kOV|-MXulX|d#*r7-Eyx6y%yo5*b1CF zY}sVY-0{b$mW8(W*!H+mEt~2)Kd;f9xND~G^75vS#$A!VE6Dq0J?@gajcXkHho-T? z{p}Qdr3XpD&d&T7?}4i-Xo3_yCRs+v6O3brtQC-?FrL6IPv6 z@e%#dixwBnK~q%RXb0NC;%PTx<+^waHX9?wf5V_?@%?DW8WeZ<2OVYcrtUrD6|ct=(74#&g0tbpTkgTaM)CC+80=G= zfcG~kzH|f@?TSxG;@Efb__>~HR(u&&YKw}OqrXfR_t=hiUKc+z5C#^1i*BH#_`;Pq zx?Fto-S|>naWO{Xsp5YZd8$S6rStHygyIbtkG3iS6r}A1JSy4`f;ijg-74y;Jwj5!qDx6#ZrblYaQC|KbQuM^)yr}FIL|=uq zEk_r^9SlRoHc-xb8;eJxpRPBpJV@&8RU0enEg)~`J<}M9MrJFi!6oPz;~4VgwH&9d zosetoL}zUom>#Ju@qYOcb*-%+D%MWx*$1_(87ek`a$4K%F8uOMTdS2Ph_$ELSYcT} z-q5Q-4{l}F+KMGuvTeD5Udq8~#TW3KmS=G2$SsPBPFU=1c_xRC=%vHS4;eL|pO(|H z@G1uLvC`wqEl&N`$dC`s|_DG5CL%UdE zH~xzcxbwy)e=ctDtg}ROWoWgQ@Y$6sJ|F~ML<`siBz%1xMlplf3=pxtPNkT^sDGwJ zaw-K3;wvz6r6BYPs_xKzIpb*XH|`I?>U`+X=3~aILz^!l-dc^B;KJTsZ!;2Pf?OD@ z&d0xa6j!zPj}V>lVO{Y)K@row5;XkG2iJsO0L2J{4OSqu3b7n~=%_KX)S<`no9!U7A8EVg+iSMlZByJ)&yD?Ns5kKU}gC{h3h-2UY5%GU0uyY@$l@svb_oucx9D_=oKA zdB{uYVQ)KjB*0daicw(RbhKsR7ABM5u^>zp#110N`aB8`_I4s(z7XO&aia?OE`M+R zKwNU<*d7bWP(}04fokDQu*XH0Dz&W|9cH*0?{ll@Zb(cO&D-B>*P)6?^zuJIH-sws zmN&YJ(ubRKrl_I-N1t<)W^gJ>T5rZq+;<7|bQRr;AYm`mIJ9RyqH4krs^}{E;0LD? z4yx2iWy0xH(N*;Rjm|p1o{CQ3MzVDkrQ?nr39!|qC&)2Xq=DJ!6I~U3LYP%_2?}gJ z5qyS<|KbH9R?#2CO?3q1u8Ks4Dk|y)Uemo$JL9(Cvh`CwMeUhj5ijxtO$Xr3!SfXE z*!x9S9(h#q^1o*F=%RO}Ugs7gY*K0MNjGC(Ra-k| zU*v-;X&bI>I6_m(5ka$$p)+pEMN08os(!c|@5f((&egRDrOOb5vkoth?U)~K0Dm?BU|QehE{gt!?|%S_=pe66TU?A8Surec&;X&e>+yA}R_*dm>WDG6S&mV8W49~Ssyzos z%x8KO?mFl~$jkfuJTS}jT`cdMFtCnn8X@oOkw~O@2}etzz2P(!OL>fl zIUI;6qH<069T91Sf`q>xgLk3z!JrAj2Jc~Fcx*N1W{F~1Q%f}0IaQ&GtW`A@(XblzF_@UWJxHK+C8BEYWN$cG z2P4y4E6ML1P-cNI5sgZQ7+KdIh^3|EABFt`eO; z>}uB)1dC&Gfi>)LB=pAkEz#wJlkiC>JXKzPkg$-1P7OimdhMfjT_H$VNy6M~KC)e+8)hiH7u(Yz1teo7U-e^hGKNQ7*?;nB?VK6Gegoqoo zxm>AD7#fxIDJdezPOjp$I9AO|^(eP-xS}nNTK7rm+a}=(zQ40i3w>J@t{Hn7629dH z$lA1g4Na(*&p5q!8Lo0s$wj0vl|Jn(D$^i$QRy2WAV+6(lI4S-J9t-VJZm z%50B{4|bsd6J}9oKd45uKwl{+zy1nzudShrLmkbRtgB*-9s3WZ=o z#O2j!Rv&=|4}lP*Zzum_67~=X8K{>c{3*h3%!n0nFA-P2ECctr|M z#_^xlf)VeE5jBuSbdcBbN3X)G@{D^dCf~Zp`v73ZjZOyl5Lx^aAS(F?0qY(DSoipV zh<1-R&`~f2FaLX9&2EI3$OZ^ogwT=_?H=E5RVD_Vc)&d>$ysm7*j+d5AX zKpda)U;JxaRlz2PpV?ejj>W%#jES5FVpOgP|3`!)6qL_FPxGcE^;r=G%zC;bgx(j; zu@d&>yHVRok%@64u5wYaK@`xkZ-?MZ?Y!~wFBa03xT=DQ3||2}SB_JV0U2#N6~xF6 zB#r}r46@Hl_!LCtnh-|R|6Hn5U+*H3!RmH5;mg1X6jk-pue_+b+arLSgi_mR0}oGC z9qUDX>}2wp&!>u~%JNs>UpMseRTI2E7`D-eG0x~FXk`aMR{+JRC{l~WNmFHm2_OD5 zj!GWyRTb#R#VW_8r7Js;lqD??!+h`9dvfEC^Z8Si%SrhL>uXhuyaTIcm?O!XMD8Tq zs}B;{;QfiGtsJJ=L{!~bfR#d?;RI@O_Z`t+-hu98-d}Ik)s0?j(WkuEusolu z+lJ_^7)n+>=T#5KCtz~Yt#If|Ug_kz>5e11t}%39^gOGj(2(L9f!Si94!8S1Rn(XJ*a*8b^@#wMq+R)bFxl#{*xcnc9NPue0Ya<;eZ zBL}KbldEmDnl%3+D5rb<(8H5(ZXl@H6r(B)=7r9mXe-rdRuX*wIFwL9_$1W$atsSG zywk4AXe4>#_9u|MV-3ijzkRl@L`P=vY3Ht7Lf)N?QFv|qhj#}eln1QzM#7s`AsT#8 z-aM40k2qmVD~wBPQ~JI`+U6j-CocWf!5tjj3tp{C8=`IYF6oPOdRoM^-Kj2w*uqu) z5jtWSCPr)-Os+*aHJFSKdxOy{)U-?~Hd^)xOid%mQ+-v3hN36xQnNWpEp}kP(Ajvx zuRxJn&7Nxr@>E~dz);(rxtcwna^R5Av;Djr&D6&Pd8)5!SZLBHPhBg~>LxAqw*!ZV zp6`xz?LeBTW;Z~Sr~0Z!hVq7}T+JR1JT~+Mo~0bkVFbByR5d=dtE=5V(alh5CP7Z8 zswRi-#oPc1xO}FT668>!YFenQUoM!rjUZ25Rdo&TXiqKeZ>$Bp`k3eqm>*V+32!U% z)Y{sNYClZBAp{X-}v;OWAyNc%*@r7bX4YPN9p4) zS<2Coj$j~)B+iSz-1Tvcw$(RfpX+NR9n>NHQ}=n#4oWRPKX3QW`Ml>(OZ;y7!eos zA6>EUF-rAcKstsd;YO=_Ajad)r4=*A&r4q{<34CEs|!s$!cJ1tNQ9IYK{izVTX^@LP)GA)2X^qDyWBGkmC^j0AR8*YL9Zd!)^w#Buo-$RX{h?| z=N;eJwnYZ)L68kq|AV|@)RAt*3^;-y&j9xy>>W~~6xTa!$!lMmPX?E@`%m?TU1%FC z$*gH(Zgh;Zy*W#B3NqNnJWd+hnEuy#)eG1F=ty)M^Ql8`^PcZzt<(%LBon&X>ObsF zXZ5i?V!VmH7#Z@nR>=ly5m}}sWIy1;FyLXL+rr6yGBQ1o zP9ETZ9Tu1Y6?`+5z~RTE(cbysN>4`LUjBTEEqxNPmy*E#{N`Z0GG(xfh+WH3;6I6Z zN}WRuV@2w2hlRZvrzrJ4OGblwA2anT8MmSPuZnv&yjDkjy94+3UVC*<>W!HiU(i>z zulMj-cH|g)omg#>$j^iW&84H1VjLH@Be}p3xG-z-eK4OFx(~I;fqCgfVor)}bSI2N|%G@2j5S*iA3!rU}9WlGi|K=ZvmBe-6M5u#xA-Pfj2SNt1j&6E}BnWY;{(7Uwx0;FSo#u}2-tq8C&FIqeT2RG=5UOwMsi9ML!#Mqb@Er}du-OXU5h_Nv*TAq18sSVW7 zrl|Dk4!gGh25dFb9%E((Y2x=EB(N#0YD7ITn>H~hnn#3YD3N7K^hG-%TMkR)_cruqqu(q*V)Ku^6)OORJd zvFtjc*KLC0Mc&Nwv~K~Gq*dicqPMn(?xkMx5z*5|v20Y?$All40Oc#a@*nWqRTP0$ z)+SeaOlB-rtBY267k3T7>|J9unZNEmf6$2`|DPLD47Prh@{oL?Ja< zIhC9p7z!8t?5)O~(0W12jP!Unqa9`a@Ob9iaq+9fmSNbng`*01+TL8S9Jp8bna6T9QxgbsZd;TL-wxAnL$w&Y zRq8AUwhBKpRjD-s8f&j7$hmD%S@_Mr>S#XV!0zEqSX;@_e3u~C*@_MbXQ7EWTvk%Q z5oFh1)H{6A@3~;6>3snC)7qlJ;h%W=s9p(YdN|71@cH}XQdDXfQBJFiriABWbfl-% zCP#A!N~1V8-1cnSm(^NXDXPtx%3MHjA-aL0Ps2lALf8~LNh-6JD1Sa%^jrAe z_v)fg5n?WI#@Py}>>8q6YG}5u^$pGzRr56EA1p;y{@3kH*)r29OBO1>Cdwb(7KI|;%?rS_ z=2!X{n|SBWM$8r7YsCSMj-oZ;dr>pZj`2Rn8oF(>bRkvtBE0iFz%#w?QE?Vll}8iV z#zJ1;oq{IEAvI?a;qQE#y?N%0K#X+?w(M5&_*36z8@->J>yovx1S+a>v*Uf}wd8>I z|58(Bzmd4Q35s}3#!$EWlvJtcSOeKht7jr<;GBX z6ycvSR&BOCbTr0Jb>KOK4?Yl8a&9ErEMTmpUwIkfnGFFiizK_&g@<~xF^z9_b7<3o zIuXa&&af-ohz>2`KZ$4}I>>8O1m$fX#xMeH5@&2Xn2?>Z4FG@vf9xSE>*M8%EIt&7 zO136oXKVu4E~_sQJ!6~QAMcT2MEN6mjUPJgqoY!)MBNX6Rpj;`4`kPVM_)RfE2BQ*8h`9U{ zNbhF1hv^tWnT{=o&`rn4K<(V>WD~r6k;T7)NF|>pV5egOpfx!M-P^ zr(=IF$Mz*POk(N$jTXDMIk4X)PHiTdA0*n21U(&_doV`6LFFoktsixe+Jo{`67+N| zJ1R%n%(gBhK~KjfVD7Aw7qboFb`tb-tODJ4AbCT0g#P>pvw!C znwgHpn57>u<0|^P1lwJ<%%y_#bnJut-A?T)K$Vo;R>iJIxyF~5nP zPL*Y&%BB-G)3In@{00tISY?c* z8->(l<^RYr)3J7+1fq~+gcEDV9CI3SH73Kocw@`35;wKeF>Rm7P~BNzk#R6K>hqc~ zSBk4Ep2ORZ8k*@C(VXenlBaZYjp^7jrsk$&RMYjUO7C$9r(+tC{( z46WJoZ3pfZuK6WbGxZBWGab9X6*hKIEhbkgl|a*=!B*j$R$)&^Kx1u3f@V6#Uzz4; z4sc-iaQR~FCD~aukB&+38rnTk$OvX<~xvZ5(4^xH5%T<_kmA%`;g^ zhMA7t(oP54w_UV{1X8O>Fw?PvXXQkJkKj6RV|Zg{ z{6eADK9%~2pqY+6`)(c0za02_cx1DjgjJ>)2T5i+wzd#qQ|#i?nVv+=bnHG1m2=Ud zM9p;U-MQ>ZB)fPC5&<(E`)!v~!>2C@=;_#ku{pjR=M$lyq|5`Bh3VLP(_Orp(pyKaOzTyXV&@NQ5f0?=y(TOvj=!;?%XqRzPL5MD=uRK30Ei9%~M# zTu;aDxL%w=Ye~UX&LwK5V^97bfNRaKyqp{}9sBMEX~ct3+(+0<$3E>9h(f3EDq%An zd*Q5FSXF*Q#7xI74hN8$#Ir#3bgbWrfdr-OYb`6=kG#V(G98Qd)CK1n)7pxv9P4-= zdVipG&E*6lTtuRojDRq5KTk}dBwMYASmDP zyi%vOMgo|QoyCOgbnHz481P@?WPQARk;UHwqLTL!u+uRCY?t*G5j`DyqXAaW8BzWh zyvCoWYI>(540;7;miVOyOL#>H`%vl1H z3>kVl_FLFC`C^I6o<>Yh$DSEiM_a7OUQLFcj{TaSPnJ zlg*p>3|v+6Fox|!On{t;*zTJ>HJ_9mEf}#K_F(@TP(%lLEr07poRc^1aRb$?d+Y!J zGahm>xQEE%e*jU*Hwjqx5Wu>}uSB$a{Da<%DR}uFmTfS~qH1~{N`x?I)b%)GA0Yf7 zgaati?(q>0f$A7^;sN)lAxpc*v||u7=8HZ;iUwu97Bw98KScx)1`{GkhydpfP(BI&AA$@< zC5RU>AY8r}v8^)hL4ml(eoVstY=#WfOSO~1Jwz5?29ZimBVgS_fE@QY_ATtwkdmVX zBN{@O@GrwPqJzBRV`pN%zTQoc!Ri+_;TR19d4)~&7FS_6j{ry9Wj})^hx`kBdWBSO0KQFaK51E$zpD-(nx7 zuoCu5g!-W<9Y_%qO`zXgm4gZNOCTq&sbH{&;QST4#dJl89tT*|5B zWkk*2GZfzA?UfHlS4K&q6FNDkv64oq)N!>#o8LpeS zN;P~1VyWRFp?43nHC)W7RH}?1Co6>`LQV0nKT6HSfiIyuaBQe424{l>)S5jf5#(g0 z@VHQ)e{wZ@E_C3mkbiHkX6goloU9a{8XDCV-(m=+`KSXIg&N}&#}R=vQ|}YxWTkLv zXxE53n!h{nico_zKHnGA-1}8%a>h`&GSvK0yMbd0p$kFIWC~Y@x{R>xmH`J7WSdra zYv|wcxnOoCLC$27$FGUf*R@l)s#lq1mQnb0=zAm_q^Q(wL^%y8d^xmbl~U}^UGcx* zz%8L6Z9GL^!bd)I#eGST(}2PcLKk6!HAhpuX2CB)U*L%gYGz6aavD(hOK2e$;H^dS z1Z2vIa-d)6g@2Gqf@Dc$h7;iYps-Q+AZ#Gzs?8+IX+U9VxX%`ZbxEl76$Cg9NRF75 z$?=jneN8`ina3=vuvfVEzfN6KYD+WyF?pN@B*&$_`mw2$|GFU*o*6#!+4>BLQDs_@ z#(6;D#o=lAXEVbGOl1xt%6UNHityg~E~_dthQP#i0B#T8_Ia(EO=UNed@0(aDx)koA8?pJD4OyB~p-E1|Xho==^Ysu@W+XF18`uf2~3)s|Ro;L}5$5E8ifIKgub*!2jm&x-m-jE4P!w z-`Esh;`3L7Igz3B$Y2_5TUFCVq2Krt-9*A~jOvc)Ag@soRJVlxmSc$KHyIQEW+Den#DUKd3c>YjSNU z)*aggQck*rV+Fin|Ct{#vD;D_%1ktrnuK>qJ;p@_FJN&b{7zs*SS48WW>8D@b)X1< zVQn12@|CC{o~)?dUYT>dIL!a|({A6R`9lwfS;~uu*=?^dg`CrFA3Bt$-H58>PA6Mv zWN|rNm2M0lG21JOWt$!GEmio#slAyO&Hnz`6*~I=G33_|wt%WuQ zG20MgOiypGT!W3(K=OuAMuOg6iFC9X2*xmo1iih|8gm0~otu);F=VHb@WY|pUbzuX zkIlZEk&0bFkiNI_9+P>CZvX<{)?-0{-$J6kXJ3ZA$_~Y+ZZe_E|o?FjKUm>Mo3W1RGbWrkk)8Qa{5XFdXM*}qm-h5q2*WHDbCEnmi3$YM8{*+Z}f8Cm029l{j^x7;Pfad<<4hBlP|Z+y|9A zI&A$cVD*&;lb{=+X3KJvO%pPM1lP(ig?2b+K(s(ZEoJbie7%HtK==OMv zDU^pnw*sXPIhcFAwXiDPLd5Oy3Su6XvK@rX9`6IF^y6uXO|dNT0Z_BY%cTZ!d=s~- z>_pV;@m|qR#-ch^(p1^ugv}mr3AW1RIkASZeN&ZlNilo8SA8cb>lnz@*{Zyp9J9w; zbYp;{qj-q0-Q#T$FhZh`nymbg9J9x}ttt>jEhn~%9CkSmx5RLZWou1M;|5)hIdZG* z6B(+zDX>Ui7#sC@O_(di)$P8($PU9mIdV&sHSCVuUUaT*sIkX8i>bLiUaIMORi#%r zgnPUik)DAqw{8ea*Ew#-VpJ+Mo}k&|O<|&_n+~x-rOtGq z7ybj&n^WM9=u}0s=XC_l9&fjSw#m?%Js)=9Ug0wq=W3?jA!zn^Pd*t2p<0aHD)p-a zTZK}Hjdmb z_#_w1Tu9LD@iyv&aJ>@F-0CP}!xLAr)7I51&qV4uqGpe`5HopwDpdkV4OCmT+sh zW++a7)J-6@m;|%Oduee_6e_jGfg8gMdgQ39)Kdh_9&fesg4t84j~)1WxVmXh&QxX> zL9@sEyqq`Hg(5zkNpeQdH5?qdy|V&gQ{o!U5;c3gb0;`dWd;#2d%PE)fA zc$*K%@#Q$52>m2wR#+DHc>RN%x~BBTqpW%9jpXS)-mc;Lv8nWDj&R<$XV)i4getR} zEVIXZH5){eNwxwi+w?O?^d9e)pB<=bdQh(ScrV2h;My7~n#yB{nmyig;LQ%MHNSEm zIcAUd)|voEM{yNlv&VZUj-$CKG<*+Xv&Xy7FSXjL@?|1skGBU76Iex6^D7a($GiBl zT9vv5Tek1#;F&$%88_+H%El6?sLD#m`_Rj_u1%?4gi}Z~d%UCXtP>%NM3r4girM2` z^V^;%mFq|`d%Pw^kk*c{jWT<@(F5vgyFK11 zOX@&wkGB)L7rg%x(L{8RR~(3fpnMrt%Gs*_|1i=%z;vNr@%4VGW z9tnD+T`<(fAXzemKS|Id?WS_Wr?0Fe3uC+p+oi!A;q5S6@&fL(|Xzz*3S zB61^|&AkUK>8})1z%C%K@!P1He%}!WslS!FAwalW2)jubvWh^|Q3?@X75CI$oxl8y@6J#(dLAVRT<%6&@FdQ0O zh@e0gB6cweyNOK(>ZJ+)+28((EIte(mF!HwE<^~Bvk=iOt<-2zy!?O`jM#!i68_PE zB09)x`9qimU25E85!I}FybSm%?6!+K{LgyZ2pkBH=*#s|NWbs)L zspJp>);$EsagQhdRqAw7aN3K<=-Q^ zr5*UsopI1=@=%oaCF0IF2x79G9Zg7|acI9kt5F-0IhpbgTA*94_SzqdumNIM5|9>m z1b&FY8w16k#tnK0bH+iZFESL=HOLo^gn$uY5dDH&DX9K#2Yv^bZ_YSSF6E?tMAYVt z!@lkHgMxA**^5gHRaWXKFL>dYD@viL(*23LGY(o$7sqIa@Qi~-71nOf8(u2R2{V$L}H zveVY^PDX|E&zPXwGY%WDgtiM#Wm3TT7YB|Fm3JhOpw{d;fS@_!@DQe%LCv0%9XKm= zA~F)xOf4d4&N%!rz*7w+TFJIb-RQtYq1Tt-NK+uq)MEtA8HcM5ucNuufmeiHyb|va z32Od9(428d;E0u;F`Giz2W_4`3cIU46Z+GC9(7Biu(U)xTr(Psz&Nz&D3O^MN zYJTOwFG5-D@dh*C@c~nr6j5`=p&VuF%AkUPIpgpaT3V|nW@_Ez z9c5$q+Btimh#4w#wc~9L|2(cvju}F|;xNwPF%`e z58K}(OOMMwK7>`N8BEWN%YGw6kIOQ6wmT5DC!c%J-+ZX4A?+S)SI2ve>Wj|-dHK6?DS8fGa{+lO zfo+lp5AP{aX`UB?s$BSyBE7^?`5?)wLCZhEi(C_kbx-WFU&+3v2iU_y@7<(7OyTU< zo3VMDZwF~j?Wr?$hhiCVB=`aXhduS888x%zzb5h0ztO1(ks zff-QDgkQ%>HLJ-gW_}`gZ3&XB3ZIOrkpbc?6P1bo4)pUZRF4Wj&qv>6iBYIjd!qh< zK*xmlnqt@3CDST%IKkfV`uy|5lWwV1mBMDh>JMII=8*Ss47>-!&2P&!KvQCulfofh zL4SO=7-fiuNEdA%7HC7MoLm_mto6`}@ae)-N3Im$(-de76aFg%8H`FWA>#7kDD!<9 zBQeZ`3CdI_0->Agkb$PI)X64z`67$gK%|oU6R=Yq0ZiTMt<-7v;_U&XW&k6;h% z1QgLhUdx~UAJ&3Qi@S_!b|(A@0GM%$ll8&xxG9T&g)5Ho5wI<;0Jg>bjEHV=r(K6L zV^qrjSyZ=BHSIAhgh97Ir__r9!uvuI517-RM@o(sjMxQx68_nMB09)x)bAqZ>+4E_3|4PIYuy%s;7pi+%Lw!V;l= zC`yMCaWi2-Ot!OA2Sn@PPuhsmDGuRGSR?Y}Fj`Y&XFCpO!nGV#daXk^6V}L|uu7#L zC8B4-OW#8Gi3-gjWIiFm%!IG)i*O)fou||;Qp`+vIJy8`!!bssQbiovnA83vG4^;8 zrDoz#sh$oT8%kZJ)bj#r&7MaPG&A9=F)Imb_B_#nvqDRcMXd%jQ_BdNneeGQ@F|X9 znzuP{QE0>gIH(@fe1V{u2`}hXNApVuUJ>Hk*>g12KhQKY;h)a1GhtH*%?X;*{tJ-L z?kIXM-+%`aG&A9nb-7@6G(kNRZoY&{wbiOiKXaO8U?zOXyj+S(T}{-?gpWkW$`P_F z{tXV?657=d9xb3T>rH}YCR~JpOpfMu2YwM6|6{IZrr=*_n$!Mk0~W~>kZDWQ%!GTO zxv|a&xC)$EH&UIafVGP-ELW!2|wAyscVXR zkW~5=^7Kr&5@VvevEkH%C157pvba7&VpN&NyAh9>37`9MZF+pbRHg$_GZUVH1vOU& zg9(_K@X-4mpv}~}a~)-4_n~{XM^uP|a*G<&%*Gou>4b2@IzdUi@XuWA$`I-rqEJC3!98 zVffqo`J)jGHC9Xn)0Y5$DvDOsJVomL)3NDS`6xC5K%r$`d?OA?>raB#d_u|&v=9XY zhaMy4t|=^XmHd_H_9KB-8(o!*GYXO6)yY9}8w)f@S>P!ogz=9B3b1{sH8vwtYSL%| zbGBf{+s9)b3~C3bXAtJc0SiW*gT{uRx7G#O3>_Y^9!HKDY zx!ee_ngZ(K_pe_m^#UwJ$EmFnb5WJF1)Cm-K)$9M^?ziLUyF_Ue=s;4Gl;0KuMJR3 z5o%z^1X#i^f?yoyc5PQF)uLbNgU#Uryl{XxZ5%6gWEnn8pFXn{f}zG?DtP%P(-K|L ztUX;n)0Pl>4*uJ({R{ZzJ?IjDJ-V81&XQ1xCR>LHL}OloN|DA>~>A z4kF<$W$kOb^^3ag=Cpln_aY`{H>YJ+S0z_D8N5qm!Pj;_MU>`ee6v_=NwOH`Hm9|s z$W#Mo@!j;R$dw*s>aRrt&atfg*dlSsuyCg^3oMv*f^zcvGVfC zNRV6Tbs4O@Y;Oy+rM|_=%fvajZIwY?%gPH^Z5p@XM>}QZg{wA=+v?jEdex?JI~vB7 zmwq=OH(nHrRE<0A+S@I)tOuO4)bavpX&m!u+~w;r(f~Y?OVLX${eB{Exam0PQV? zVxRh%M7ZkFxZm9uXj=?J#g-FeZ4SiV!SlSa@xOu_wAf5ESBB^GHemAEV*JjRL3&%% z=N0b;h9F_W1j`R?fX@{q@O!PoS@Htu!nGVkAW2` zT|is-YX8DJ=fA%PLM%f9Yp42f{M42=);x)zp%hfE4E4ZlMExP4M;OE_z~o9n`L}uc z*S>z?qq;KwqlA^QjL~nN4QpTU@_&Mm>mN?G$;jfQtK<_7c+~BR&N=M%N%x*>L6aU=id zqeu-Mu}XjHu+K*h!kQy*O`>cA@exo;bX|3vP)E6hF$uO~+IXyb)>H09g08C-Lu^%u zRq+P^sq`2UbX`4gs;$fbA$BGStgEi8u_wtJYo0{l>PnZB$WTADB;nr(dV~YwsDC?y zTB@%Uly^jjL%e=V_dQdxEgfm7uu$B}(9(&_v~;Beq+S*s4kyu*$!?;QK9HDh=?16m zc8tMB5YsK)!*^kIlNvf=m7eFYOYglCM;vI6NmSR%ERsT@m}IZ#8118$|G5Sc2+H>PAGxV~%n*fDUfK^k16xs$;)L}py$ z00P=IR?M?|^@BwzJ)D?!jXU=D%n?0?xFXxDfIlOpXJVpaTDSfSE;(H89**(Uax4iIA9NT6#R za+XQlnkNxB*U;r8GB^b-iTX!CH^N{-1PKw8zYZziLsL*Vv1s;88H;#%!(Tu@Jc;iu z!j@lbtxa_Jp`PMvdQhSA-ktalxKRa95I+m^xLkR|92q?MfJSi0MsUdbN%hBYiAn7R zisY~LKAz%fIYcQ3=;CrFt)K&OlT<+Nk`ft`x)i(=TA!l&N%cYrFsTJLspHq-5YGQ3 zDXyw|aar_tQ3hnH{2Pp&)|gF_dl`Y5Krob_cV>*M8%EFQ+2K~(Z90(O%`06QX$ zP*ZP`oZnu5D8b85K*@{$0tl~ub%a6vIw(aGEa87b7);5KRos?-tr9QIM0;lwmq%4^ zOY>LzW|O2RI)BTMuON`7(o4wDn?cDLGm&VqXZ+|KS?Z zL0-%M!!J5-Gmh~x)vRMQg(Jg^FP*H9moKt-2@sY1mwJ2cZAvt5LoD zG^2~>Q#E~vBMe$!trShLgvLUcOo?`kf}S=8op``8&L>Ono?V5NUTdDbk5xOy8ZxwF zjO}a}n#B^8eV&-!J^Kce*&J=LBKrjy+A*$KlgluUu@s}@PRy9qmZCvfM<9&w4Ymn+ z$8SOe7;&J?5`HU!3`QlG5OMjPkn+X3bPR&x7^4}vbqq34BPTl<97AOB`yf)uiwRiA z5Fp1f$~t-KaZ+-$U_^Ha6aK@vMs$$Z>SuBAwg!$7d_%{|+0xF2N`GfO?hPHJ;%BFg z(DG{`-_Rk#_$ELql_A0&4{zxB0lm+9#Dmo(QA-UZ$Sx0W=opNF0~2xJ6oTyY@P>}< zsKQUFqvKYo3mkZI=mKm(JWH!g!qV%dZXtuc9^TN=;DS2pFFJ5x=!Emt9@M`lgTGe5 z8#?YpodoPQ@6L$R9{#2RZ|LZa&OBhBVRRznxpiPH53RV>rXqPajA}CYs|viKV;Q!V z>c?>s8T?rV-q7(%OPkSP9LvctZ|GP%O(~YUEyUP*-mvpsifWSBZ7F>X1nUE=Nw|fs zGLgY8Segm{4KO0ClBoXygIcPu6qNUAhB3HlK;nE1Z3A*N0Jv)#C+p+oi!6RD5S8Sy z2iJfIU>lIJM0C$GVsA_#w$dS{GP?L6s;19&gh7iw#B0b18Nx6jtR+D=Ag|yl)G_G9 z0}aSaWa$Rv9IP!{^T;;a?_ZIj8<0l_*`7r#QQ0U{)eXqYE9z*A71`Eg=mwF(nSgCT1juPXiq68!n3NnX7%>;Zg#Q<=5gp{U z+Q;$OUUeFfW07;%6)N2i&tz=_LMj@N!<~=~hzR5PfK+M*5z~N_EmW!sYlisoxu~U< z5HtLAUTPF>ybV*~xL0~*pPF7j&cT7c=vS?jZ%#rc2N`n}cD_(1eaD;;D9@ydh*jluW zaT$v)hF8e|HO_IYzVKef3ZNnuEq)be6M5t1AIN|4KDeraHVhk!0&-`O$Y{|cViB)+ z+@TaKu)W_(woJHpz(>2{jg#ODZQ32pCkjj9-Ty_kw$-<7!c*^Ks@zcV zJ5KzGCEPeX2qLUsGeVrsSb#>3dq;9nQ$Hr3J1Ty+!V87(@0qWr=HVcmY^nI=4|PKj zTPpuIYIjn(E9dw6ZlzF_q24G~9CQf`xDr;Vnh~Ua|2zz+d<8B8Lp6mT4A#d6v-3$A z(GHaU?>B{wCM%_chL zPINl)@{18OFDko}jPYoC{KF3Ih@i1f7_tMI-HSO|JOzwF|6x(gGMGh`?N0EKLjVr` zVRJ1grne;{b|e|%*r>?cd1Lc;4{lV!2^7&0>d4QmD_4^}?_1DV(3Wf3aX37sQU4Yw zNu?!3kPyK*ZeX>;%orQA;%fh|4O)c(6Lw@mHT#qznFd&NZEzT}!FpSXXzFj!_9l<6 zP|*8_G=kWmWg@wJ?F!>b)f==|+#pe|lPLeDyG~^)HD{5+4cZ2mKZC6qbQhW;l{HA_lAm_~HfVJ$>yeyFe&PU}Qq_Rop#7JC*`Q?}3~Gljr8HJ=(4LGZ zn0c~=BIaceB0+D^b~u#kwI!yq#}MQOZG-1_Twkjh*r5IJ9DG-jENhjRi&|yVknk4* zl0DAjxu?!<>;zy}BaAoA$aM`FG#tNs!ZqPjkT7Ak2??Luw+Y$t9k&z%&Wn&Fyy8{x z{-4|Sw^^^~&;s_+D+)SY*hQ+4(bV^fqsY@<@z^N{!Yh~vyduEg3$d!2d8BHu_%ka} zUL{f94b*tWm89rx`sUf8?Lm@#&a^7@CS zT*P}nJoA5yn#aAofuXxcne)-8t#y>=Gaig&ySBo=q2Iy2!J*DL#Y^Wym3je^?sEv# zhSZ6Zs5oizbmff+U5ZZ2D2Dc|NL0Oz!C2~1Un!nm)YelA<}1`@Ug+bcs7+pKYcs#L zHlJt8QkxA!C!+l{<*iPkJfHEPHvi&{)Mlg5A9#oj$qSHb>rf9PPHf)>I#Q7>LoeOr zN-VTT9X0c4(xnbNg#Hh4?*T4Vk?no&I)?@XL@=Tvf&mp3vw{kuqGLcMW0oKY!T@@N z?gmdEaw8&gOo*Uj7!&3kP%&Y4%sA#e#?djy@%{a)YFF>w-QIiO`+V>7^>eCDt@U4P zRot~}*RHDFtv-m?CdES?M&sv5+*aRCHNWw2&Je!0YL_3d6W=GtIAlMs(O zJSHKPn%Rr$+gw@q)%TGQRo@>>J8mN&#&>{-TKyh0Q~Z&p@m8$aNIX!gz7A;G_?y~9 zvvHR~=HunCIZ~hM;*5R#ao=?2VV~#3_GY$uny#Xqyi!#bO}H=@Dq*%N=b5$)3GI#t zF3f$!Zy`HW<&z?8Rn9jZmk`SsQpkmw5NfF&silBYD4OuQ6m5OpXqIdf6l%|2p!EDlj*65>&ZOC_X2 zG*3`-zl-uU`=G+A*;eGaR-=&^Ujrg)wK`~~_#;hsbX=i%pj5Lzp=0B3Y7^bs`(lq< zxwVOU&Q>?OPqo_Iw^W-tDc03yZ*%Cpkg;ej@mt6awYf-yt<3{X9TlW9QEeuKN_AKY zMH8NuqOHwQW_pvLSW{im74;v|v9&qgOgK2yOl?v}l8Jc6cU3xVZB8~jb0hW%Y*L}) zq8K1?TbonO*0mvuOhTOVeOUkwqp`kPo*GsPci z*2_?CHWCk%YI7AjHhvE9qX3wNvA)Q6U*(hUuu_xAUYoZGt;V6eD<~Dmr z)%rMHxTn}V>K*ZQyWfM0NY$MZw+ovlvtQWUwV@@CtsOpc8&G>y-`loF=((a_h{Ckk z3n>!~zgjYN8fmOJk_R2%88%PIxbE3Lv#Z*`*DJv9>Sesk4 zYe%bJ=kd(PTvJ`osti9sDz+KDv%^(Er8cQj7R&HDsn}NZ&)P47N|Oo|7r`P)+eY-o zDz14kxh66R>1e~7C8OFg|K|0hO3^o==LM(<&HW&X`UnU(MAYh&pqS#1G?y_a?aIpo zaTDsMs#GGn^N7h104uuE}xZ z8h$0huKDDjzcCa>bfnlVWQ6APu?X9IrnWgbRDSb>Oj&y=BctIRw!?yLKGVLUoAX6( zDl7=wqS*B4Yd~h^W<8 zVp+u$f228i4UE}1JPUPea4x9o}q+YI)LQk5p_k82JkGFFuwg6)G-*wFK323F&CVA0(sVHxo>YfhtAc4Axgz&EVXhqUdN5F+LO`YSmRNtC-@CG&ioG z8Q3^HP-+H8pkt%w6HL?;UtF@j*sYtmwb#y9LulPZ{;5aoXrd3=MA3Qs_5Ol~mv-`W z3u?EQ4Kz0$Rw*S1kjjq#V9+ahPHg7VWXGk#Er;VrUB8gj79)^)x5gAiREkDhx0Z&r z^I2C82WZ!t~E*5#CVC@rq|ns~z)F>99DrSw-Ho$uUT?7aV`xrcL(b(%}O` z0Ii#x1}mdr-9?0ol#qVSl%YYVHD|mlwy9}s9%a<(>(*l0QrCul>y=5FzLUlcW4xfd zW=&(ON#lkGqRr$Bn_;J?N~)%D-ASjGV^@Yt~32uvY$$o z89WIy`@87sTnzi$y686vlO8zLnRLLAsP1Yk>blc!t8$C|WpR+tfU`KrTI}nrIHF%v z_a#>zdO3QK1WE*G20a)p|GjA5XmGaW0%$1mtGNRJNiVwHRO0O1vTU_oS zh};0YD9WF}zfWnuwNp+wVOUgigJ^=o37#m4Os_89tD6U{D_p-8xbpg*x*UPK7=oDz zHK(g3h&HFU-<^z0oDHlri2AqT%9MVs#UE6-K!SaxZEdJB>y}AE}ch)tVK~N zi>J!sj=PjBGHF|8v1!_3T|cC!aX;2C(QL(b%~tp9x>b<6v+I{AXe;HL?bKwm^@MM> zQ(YanX6qr>Y(3$dt(T+Ow%gT28YSqLXtpjs+ia($n(Z{(RBW^LfN!=ApxGXeMU5Kt zOEg<&(Kg$2QqA@pYtc7bN6_G|#EQlc)vdT@dy&&rgS#lzY#o4=@3Ep`g?{Cw>6`84 zuE=b&_2D+zh`VHHwk;rXoR@`-)=hrJVrGZG(t;~dl zp}G~9t9P8Ha`jHCWjX*WXJbXrOZp{RW?bWwD5rnQi0@E+_|H4kx|=bmrz!msZ7enz z)xCf~cb;(dOSCbuT^rNPL*2>USbOiKRw3!D&q|pAGY#oF&}bT|W^y#k*n8!H#yYZn+i48Qiy!tmxv>Y1RAjhF9X;OER zCe4TFr+M^Ln)=%`jdE#Hv^Gtnd>lR%o;*IPt6>&dQzX@GdF}CD+vaF|$+XRp2eCB- zTber2FVUXj6154NY)w&%)>cfdo0YDbv+6!K3?erUk8UN$zfPrY#o{w7-)~ltiM+FM!rOs(y(okK>Q(?m}Q0^UeAts$6VW z<(l}fYq~c(R=m_vNcxszrOXhUi?wQ8$5rPGXssH1jSjX2ub`}V3;HE`&^V_y6FXVmxGG}m z&+qSbKVVdEAoNT0qOno#!OYaX$V(ah66GtlD_^}PtD6j|w`uw%?$lPwP=xfNeagzW zkIQC1o6Q(J)i-7jGP-&g%X$T;U!nmz%dWhSFDvikeF1t~p5z|Xx~GZsR<61&U;Lwz z#Xl-8{UExeiQ0&bMs-gjFk@pU zV3&luM?tZT={Nbut67Y(t(L)<0o+lWZ0qmE+?V6&kC`gOqhD{zRypHM;WEH z{&4tu*wW8Gg6VO~^o{DrBq0AR<)Qpspx?NaxJNNjsYkI-xC7Q-16L*zmg^*lBDVvc6_t*5ZOBEI%tjEN_y4yk!sN_Xg71lE{{asFY=`G^sxp zu1x61%pDD&u$2S{L}!==0@`1mSyAJ%Ek??O7V^|z3Rh*E!60O!v@SaW?<0{ZO6&YPNc_n64`hww>KR#;yjD|Z=z6d^&hcI_Ri852hL~D#t zcF(krL`%hsGRI8kaYy0NsM*JzZKKS5==@5&9;#;B21TVBkPd#Re;4j$IQ@JZTrNQx z(60$-5HQWtLv_o0)9g5mO25`9`vxSoF@v)=^IzA4t+{(4a*xV;7O!Yd#s3W_fdg@c zrU#(aKi7tTxef8MDw=j6d*BlF6lJ9*6^h_b)cSy&RHjC;>x{ho`)IfNHZD<7D$$mE z=v0C!>^rmpSF}G0j50dEv75r7XittZ|AfwWC7nl2i*1G4S*+T@)*3e8Z1q(3qHg*Z z%xoWJWTEcF1G(w=a$H(ojsqGx!kTXmWO+`D?Q1pq;^LgmlXr`*o*H)+59KX(s8zJH zc?|bKGkCTcAGO%AR#`KHi{?=xQ(UdEu@m0ZwuL2dXe;~?Zz zn|dyL3YROd&8-nowMgIs>6h20t2IG)1-NgivbhZ@`Y*xMkX-bAUG!W9dCXr{NR@L` ze;&;0{bv153COou-=)?~9B3jPm8stb+s$2XJi4oW3k)7WOF z$~mUiovAvAsdh6}@G;eXmeHUCdXlv>+D%`~gJAk%C|R6m?)?kx!B%aS*4$#S9~GTA z-)zV@!qcYjeDfGtXfed6Vd#AG9Fw4)wpBb~L?HXkHm44+3uJ%DKn$5pcOC2;ORaBu zkgHa;sjF}m)%piXRJBS#&j+qrll5jVMnSUzoVbS7K|bmu`3!+P*{z6VCIV+uFcQ$M zvandC)IWCx|8m#k**MfRgyz(;3hE_HKif~xbfhh85ohUGK%1S@b7TR2yEU3tgNbx_EH~x>l&ulajEDxJH+K{8i1zF%JN0V5m50-;67aS z!k+_j7Oqr$rNUS4r1_Dw?PcFDl|PbL?^B@^tWlW?Te>k;k@*;?EIF0$Wtdh9dSiA3 zuCn7Png@_k1=WL3Q}oFSdJFIyz}o=sl!4zMOy6A7K@@n=j5yR4U`K{FcjGDwa5Dsy z00|7jRk=h|zJe|kT(xl@333dsRKDrvd8JQHgO?k{GK@0NHp511f@NQGQ+q zl11LkiP(!LS0Im{PdhRHi zJfPye72qqJjkmV(<$}GmY|Mi0kX~8LOb8au-Cq9(1a@rd^=ldjmehs(Tt&T~)Q>sL zRqY@_9-CE*G1`0A@2Z+u3x^#8|-(E5yojIkG zWNhOlgzj2ZVmuP6A))I2HO~7yycFotO89kPwXFMr9ub^w zSwDMN(5gy!lm4yx)!c1{T&9l z1P%u}MFuJ^i(XzL4|;l4iQ!&C=$xt&(~(dn7l1b6$}+hOSed*XNT>CbW%6NQW%3)K zpKz6#d=Cj_GFp=!4p)}RS|HWJc%bRH%1rk65*LF$l#+10SYLa23%y-vxV&eWn3uR` zWfhmKJejiOuFEK+6Bsi(FTb0frbcs@v9lfXqs$cOyap7@rllSgHDU6%_>tTOqP&W; zp;GJ$iA8x8hK}ZRvo3Z*3?r?McBpQ>Z>OI|6-8f%>Mr(3<&4ctp=X*JD1 z+S^A0Q^rsFYqW+9Ms-IFA?{6S5&AK(_fN@UhpEAV5O!*C@4?1Cp8PMS29HAZPp1Ya zdvGXe7=cR-9?u2r$&^9Wsln?2KOyyHQ-hCtovKrV9|CF);!R?zMK>|!R5Tls*Z=FO z!QD|(5+`C!50B+jgEzx_M*PyCm=y|?x}6%FIv4f7Gr_;+7H;NFw3(vmi8Z%4i?ABg zm}t$ewstw*v5`l-5Af=@K9cJd0sWrAF=IDUx&sOm_{Sti(L6&yVwweNi_7f{!A<-_ z&)2-$MhX6Jp1(D`?GyZUQInl+@b(P+8HURzg~9yeNfazZ}YqBp;6~8UX(>k2E z0d48|;_Z~+_lB=5?M04y;tD@QFovxi22nJ_JX{Yo4VM!fgL47bMDBWky990kk?SO{ zi@aU%uyHkFClGuH>QP)_31AmMwD}yIItW!5zFxinv-aPZiu_o#Wa4vg1S=VgV#V?v) zy-G*KJEv8OrX4EE?#=+am4kZ%D!B&(94D|WxkYm<604CAs>z$&dl0$L<$Z@o>;-Q_ zQ#UiK+E{{w3hR8(3nfu1tfIN!tG^2HkE-f#di6I!-^ZmYG^(HF7S!%g%&A}>j-9Yk(3dE3g{6_3n5>8-8F z@Y zl1a#^iY0ejxgFaLtc3dtt~`2PEj&-}+099&1ek zNep8c{I}jw@7SXJA)q=++@W?T1KMUU|8mg>CJ!5@1H@5qgP5byqQdkqj05^d85zr~ zz&ljN*VV;$6R3_jckzkR%gi>r#qrsIi{y5JQAS6aJIku5eJU;Q;4H7frIW3+Y`?L` ztIakx;4DitHhL)GOM+S`0BclgE?^5_hf)DZ%UhUw3gJ&Q?A`koVub+=VUz~nN z;usknEBygcemVbj^m<|>nbcebEN%T(IL!;BIhd6epAyjdDq*FCUGkIEesu(8?X`b% z+Am9cK+%i?60DcmcG&zbMD~{?r^$)*N3HR=?ZMxIkfhhc<+?&-dnP#tL9nUE4B)>+ zWK=!bEL4x(mwplI9$Ze#Jff`Pegsm<%7wTCC&Zmqv|{VApcJh*tHg2963Ty%#fur~ zyHzKmQi}$L^+0ALjP+ojm1}&W3~LvLMQvZ%lyHZw zm0i-v`9?>3)z<%IWU0XaO`@o1Tj0FOehan#d4WHR^#8KJzeiOCzKr;9#3c&+Zb&7o zRN#S=E^x6Ql3=K3aqbf*6nNb`qnH@&q*{-nH|e_l6Svr=w(-0MyBg<1sM^Mb4fD)X zl+94YO3&Q2jq@843vveA)hDvYErPpDFPfj$d;JL;nWFh8M)j0?64a?FEx;zkt*6=P z0D8PjJk8EC8v`!1$q8$5hM?2U>#Rin@w86S3TUY-H5 znU+tmmHw-JbYnrr3oWh1DVkM)pW+0ZBJg{N!XJ1{aNAP(3T{g>Q7SCj@0rwzdme9f z604|-Y!5oxT@<2uP~D8@+CQjxKybH|e(VzpSqkOsP-kKMzg#9e9=@`tcizm!B^A6(ZnhBiHcmpSHyxDCKmPI}B z=XQa}^^kW6Uc>X`=3H|WK^s933lRiPh#+v{2rwIEbo^FcS-p3cxVy03(jxOpPZPCm z)dY5Qq0!~>#G5fW*LFxo;*0n=a3G{xC*(Mbj9U6$GBJ(SYj6FTetkJ^6gc-2NoHNOiXI!Hz1D5;z~da)lz-!Jng!ZX;AHW$Vu{=-u%i4v@b1{0Qdnf( zewl++SJa5J$ShxNiQZDo9R8yB@+U!GLh9U2LX?>@EXwSoAyJfRb}i*P9p=?!)`^JX z`s##*I&C?fsyrG1vsj9lip+Ql$tn^8MOnGSq)=IRRk$^RExoaVEx8czSZvcFfAiZz2 zxxkkovL7TlUyAd4lGBX7J-aqu&}t7+=!{1n&#!1c$L=1`ow2!%?CuL;?FNpu+b1bA z7{Y3AL2SA!Nwcf8OSjcw$i(czSP0XJO_aiHhb&>D8pcjGCiMKhX^Y^q=SHf=L2bL$avJ6y>eEqGTtl)S8NUisE-kgbvYv!It(qIse2 z8TKuuA?l`oy5HDWihD#EDPCkgVZ7)nVCcY~+_@6A0{)F;vI4ZbMCCtJ3aSmtf2iW1 z%Txu}uo*JX90NYOQ~|@(kf|?U0hXjdiYAAgDxed%?ckFYa6X_4>j=Ojaj6Qp6;LI{ zfFPP8FjN3$b)2j;Zw9z6t!ayy`*ZYqS}DrtQ}cEE)lt@drSdW=!sp(t_-3@LJ-Ypo zVUcSuF0O{TWOBBdF!8jg#k#fH9!jaqH}!p4z`CBNN6$B(b`G>TrfBA!%8o9KY)uk| z;R<79v0tu^e|DL$+T)=D>?-AWnJ}~8UQta_wdfTKQnV{+oX%?@xhYk~?~3(j_%yPzWb^(9-O%X9^8N>U zscBH8y6RhvQ}b}Wk-g6COR!esB;Z>AQgeL}9$r;=xCDG1zD-cauIkqf=j(9qeTmNu zo~%##Hapk$8tm(v$*56ZuGg;(_xogp(_&|tAGj;=rFzNLG>&E%G0f6)p-umb&0iUu zwRomh{n|Wp&S{h_Ey6EmzpK`@`xDRN?Oltz?J{+{V%-I`wwVRi_gE=2*sgKEx3tFH z1jT`znuY1DEl60{I9;m85nxRYH$jw`KLbjtzlA~pePA>|-x9)-T*UkBrR;B5RgjeXo2`0QE0 zq|m+`D=dQGZSH0I*OzJyOCs_&!g{MdZY};DziM=ip0+2fn=_f0%KifWCn-tRr(xJ< ztMf0l5>rR@BlbSAHD;HyA7qQ)6>?idRLJXNWkZ}RWUXi3)+6G!4~VuI90HfWBhP1-lsm6>$rNOVJUx+L4yPAIiC7c_mf0lmdg z-y+A^mKRf_XKUI2FrW7m?GB5W8p=zstSg93NLNQ(&fdj~W=GH89A4)H{|NXhgd^Zh z#+9|S@g80XbXPe%&+I@Rw0u|<>f2^DjmH+vn;21Pti-@7 zT<#Ny+&6gH=2H{wwIQ;bB{|zchXd@q1|m!Igkwue?jtUl4cz=M$AvqH;=7LFplRN)gvr(Y!`f z_dy(j^kKN%V-WOKpTl36NHNBnV_Zq*Ho^jcvLtT_s3Z$GPheS+m%zI=R&s+Ll3X-n z(0iUJSAjh#{B?-jhjXmA$=n+e-dncF45iR zMR}p$#u1J(S1KZX-!QMX+I)H(QCQ`5zdCqrI&*fO54cbK9NN#q%gHxiKz0Q9KTxaKgl>U8B)=y*P0BCd7UL_{X)em?+i8 z#Axlo5^A{%f~?>nSa*Isn@>>DPXkt83f3~)w`ZAkui%;GE2EqoryI)H(Rqs`zM zMkUkYdVL3@fW`0N2J<7SVceb<@dJx^b~~ zguleJzk}QNK`%Xy%zzn2k?EGb#8&l&hgyE$Y$x>A^-ykGh}>>?+5MC3!^9pUZ#bU) zWmb`dyrjN*A}&jt1XtwibvLpf^TfMa`hecAol4&3~HybKNYpr6#{In-TAm(qMdcskxrM zfU}Z7D^-1ub_56YG1||3(dH&Jxj!E!;_k48`T*=94Z`!5X6lt%_+7f<_`0yrD(jfg7{`X?I zdlp^Dm}s4&tW@?Xxa}~d63M*`k$Vr1{!_(t9D$(%l4<@8d_NLFnr(&cYE)xB?wGJO zwyTk>pYiTKg8@+_(~*4`@Qu|^N$CKKRy`%7qsa)y2VdBiYIP3*boAY4qNUsJGttuR zeWTRU-EE}dNHQH-y5$Yd%3x^ePeWv1O>*9a$bBa7dp!N}!t2wwged(`F*oR^g=J&2$5TYm%TR0zD?}=?nBj7- zNtbC2Wn`|T9DVTwepR8mXKezVa$xS@+| z9yv|#N)J6zjk58zsYP=cu^x?z#C5CBod}VgkmTecax>+fji!WAZn z$NgjyaW3<~G=SW75V_m&vX3X(FNpJAlJhx4?t8JDpWzH!{k0)-?eX+$(9`V#a|Tki zjX%|A_ksTk{5Np9gCVjw`dMUbOTUELD7*C?F5nA4KKC7U2AA8GK&0aS_=CIG34sC3wtJj5X`r^=}z-&3jifyIj{}2AY$H zol5W{1gD%hauh**U@Xeikrey#eW^K!_GU&fNwe`_%{n+kmN{kEsVBib41u}kgs&pP z+~^56{fELs2RHF@E1$xm%>FN8pbJ5LE7etuC>zh1Xx(FK zcCcdl=4R$eJWe!*kvWj0<_8k$OTbwd1+pvu^14>ra6j-bvhq!6ChkR+4MzF15g1pd z+O&x}%lvCV;|aLLh)OKqI{jc?g}f!6@=+IcSX`s=z#?R zg-Rv#cj&nUoJmpO@AEIO%Xu6i znLhJbe{q!&=9(f$vtuM*!`0fKfXlk5L}{|~2KoGsa98}7B`yh{-@2y>-=$Y9{I%P;W_4Yh{A`m%X7>({14ADzd_`hlI2`mJbsyt zxqsv()0(8YlCddr0|}mx^_5cU8}UipZk&XucpxF%4M>O8sskkZ z9rG#!B+Kucy#_t1!9JnpZiUFLz{@_BWWOx-+wwlev%k#kBq1-Ux41{URNExDeDN46 z`%(TYB(@^tBt*se67KW$Ho^QlXE9R#4jtQE?c1+XZV`nr&?H2wcYlE{w zPK8sCD-4I=*y$|)CV5_NIt0I|V!p}bQHxHl(b@T=L>&1G5ZHx$IoM_=0oQ#C{H0RJ zPtQZXf%&7EW|`Z_MvH-dy1P};yo0=S^klUWuJAjAZd=V4a8<$Rh|8@FLH5OK^Pjk& z+*DV76PTk&P@;UJy89OMW$ACx;kO;OlgZ$TZ}Q+}B;!sUhsDdJ$=c@?Q={#x)E0Nj zLQUg|lQUdoE$-A!pr&zzd(rqj5HA{6a>dUxTb#}LWQ>ZY>0Q#jTEkr1_+4R|4nVRL z)8bkk=?F7qiQN+BDGoJe^8Y?Pf7mf6Z=F0bP{$p&SfTl{n#R7<3`hKUqL20##>7F) zmoOdG;sM>-Y8rblaYy)Al5-e}W^YpW3dz+FbRaJG4g~yxo-dvrIb;4f&%XrTT?zgy z_W zy4V6cWGPu6HRrfu`vs%F%W$&T4g^%OX@^ri?oW#?2!uF7v5mlnitRJ>+j1SJifx() zPXsu#9K6_rmjk>|4(@%fEAZC=PH2kRbb%MmA84zwN?>gXR4Mg>@l$w&c9*H>VNvP{<3tr%7_ABE8|GMuche*vl`==_*Z1*RQy8!Giu=JLtXs!WN+aCzVszJ+!dLFs~v}+>gn8vPj+sRLV09S)1chDIb2mOZnyi7YHm*`IZRi z#h3)Ny{P>CzCEE#K!d<4*$P-?wrC{{m{-ab_hMN{ru-v7U3~ul7`_Hzl|HLz9``Af zRIQ}S%EuO-0DHJg8AuXN;*Oxodkv92TcBTF1YHnN5lG;RR0MIew1psO3+Y!Wgn(5o zgsXfC6noFg6xa*|tTF?Spsq697uDWUPnO{yfVv>&0NgGxeL)0vFdOHIl4-xlEvCxw zCZ{i4%ggiv1e7cZY$kzpvI4s@S++E!(no3m57)vA zSXOB$+EEfomd3w)qW=bPjlkr}zU?n`iGBoNmB4hOZNveqjQ9}L6|q#GlzKAaIe^OV zj{sfP1We~Qu!Gq|H8f{HrNW$y-pkTWr>kf_!MJ)C2`rRAl@=H<#o$IIp`%yhmfi!> zt(JljJ_U;XH3_9tVEgibrE?b8X}h(JD+>(%ie@&Z75`4H87AUN@w*yjCoB>w*NLEY zk|>pHR!jYEg?ESerMh&>!MbS_J(^hTlE*8e%u49|_jq&C3ntw<$qYS>_So?+C~e8- zO{DY}n7c68cTWKJQG?BhEqnOQh(4gbe=U1#M~u#*wCHzro@(8Y8<=D8j|*RJSn;?p z%h>0IvBp0z%(5p#ux8)Uqd8ri<(JU1!$ZR?W1kwvn$%;%I6$pWe90e-fiN0JA1&_?dTzR?}?wj9hIIS z79pq$c2~yP4H|2gT`sy-g^d+f00d<`U9?+uf2WQo>RrXI+}o`FUP=6Uyjs+ zF2*%4c9+`UG5VqmmoBxU=?AFn{{~R2adJBQr6-6W5aI}(^LT7%C|p2)xol{aTznMo zbAa}y0kE&e+Et3}d$8?Wy4V6cWGPu6y)mpF>QIax zF2l)Un+vF7dl=wJfqzzPK_J8titTUMP_ga9oB1$HRQWPN>yVb$0782w3xll8SDm%UoTfsCVdTw~dtID)vHIPyYCH1&Wl&4UjfbXh+ zB%wF@x;zgfhSL;F@*-OWsPef6U{j5g%gg5sAG-t|mUf6eZnL(81g#`*PW~i%CZ-eS~Qco7}@qoHo#sXX}Fnt{cb}$>~iDH|IuH6!Y z-p|r44d9CAK|pnzJ27BB2v@DT3KaVWl_{_{i-4tb7T9UKwT)lvT?X&H zF|8h8B4#g@=^*E7l%s%=P=($EdaERoJE?J*ECG9p@C~J(mcmkF# z^1u#785$FY&%>~a^G=N3Bg4t!d>&AioAX9;A6!{84eUzGMf0UM+#kI`(oGs}agDpn z%>+0@VDc_E4^UNc9YE)G0MmKpoD>99oDz6n+EuC|V3oybuUzS^CF3FOq06`$^C}X> zy^TbYDSy@YtDzimp z4#T`suDI7%{K=Hh^l={xaE8FLxQk{P61sZ+0L}1%H+A*A1E^Z*2(Y=pblz;C2CU39 zN&C$wO{$%xo=jS|>s&h<0dBJn52!2f?*L6V z08E!mU)n8U!@lCP#RkhwVJS^T~ARbOXDh^t`h-%s+O)f2&iX}z;X#xsmy>W@^od| z#7Xac>4wB5%JdJP0>%D^gv#n#brrC5p#*lNT^dm*rjyi4dof=%0auDWzVY=$LM77x zIztkrlCg7hkHULa{8Bahxj9W$jpp`h=jN`AGRH#KU40|-S2w}s_bJZ5Q+G>dStI-2 z6>K=T&#rA^>Bv0uHA*`5ZoXMUxwTti5i@wcTSfl3-*7PBZA^H=k%O~05DQ~Ex77MB zh}^??y3=>z|7*BzQ2XO@?+g6`FZ)Z9-Q*_Nt>tZqC(VO_w;((UDvv94gg{JMM&D*5{n>WxjeQpM&Xu}q|X-J4lRg@}Ip;8>}04Wt=h3wsAR-Eq|md#4z!DD1jJ zZsAV30-Rr>iMss@RhsCzBt!GDf7V3ZE{)Jc-ENNmqKQ6>J*6Qu(SZ=TR+94|D{ z?;&!3$ZK({t$@6eb}*&p+Eds;l4x;_NbIwA+~P!4X>seXL;CIl`+~TfEm5Jxsq~`E zcKCTEXk2BCw#7-Tti`nE)G z-ok#4Gxq~Tu7#$!qx^dOdx}XIx9F;+A9A|3�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

        +FYgI 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 +*/ + +#ifndef _MATRIX_H_ +#define _MATRIX_H_ + +#include + +template +class Matrix +{ + private: + long m_m; + long m_n; + T *m_mtrx; + + public: + Matrix(long m, long n) : m_m(m), m_n(n) + { + m_mtrx=new T[m*n]; + } + + ~Matrix() + { + delete m_mtrx; + } + + inline const long xDim() const + { + return m_m; + } + + inline const long yDim() const + { + return m_n; + } + + inline const T& getAt(long x,long y) const + { + assert(x +void showArray(T *array, Uint m,Uint n); + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/misc.t.cpp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/misc.t.cpp new file mode 100755 index 00000000..f560d3b8 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/misc.t.cpp @@ -0,0 +1,37 @@ +#ifndef _MISC_T_CPP_ +#define _MISC_T_CPP_ + +// #include + +#include "misc.h" + +template +void showArray(T *array, Uint m,Uint n) +{ +// char buf[20]; + Uint i,maxElemLen; + T maxValue; + + // check for the largest value + maxValue=0; + for(i=0;i= SLACK (nextpoint)/2) + return; + nextpoint = NEXTPAIR[nextpoint]; + } + NEXTPAIR[pairpoint] = e; + pairpoint = e; + NEXTPAIR[e] = nextpoint; + if (NEXT_D[newbase] > del_e) + NEXT_D[newbase] = del_e; +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/part_func.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/part_func.h new file mode 100755 index 00000000..7973dc2b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/part_func.h @@ -0,0 +1,13 @@ +extern "C" +{ + +/* functions from part_func.c */ +float pf_fold(char *sequence, char *structure); +/* calculate partition function and base pair probabilities */ +void init_pf_fold(int length); /* allocate space for pf_fold() */ +void free_pf_arrays(void); /* free arrays from pf_fold() */ +void update_pf_params(int length); /*recalculate energy parameters */ +char bppm_symbol(float *x); /* string representation of structure */ +double mean_bp_dist(int length); /* mean pair distance of ensemble */ + +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/pointer.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/pointer.c new file mode 100755 index 00000000..9e38c35a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/pointer.c @@ -0,0 +1,80 @@ +/* Assign a pointer link to a vertex. Edge e joins a vertex in blossom */ +/* u to a linked vertex. */ + +#include "wmatch.h" + +void POINTER (int u, int v, int e) +{ int i, del; + +#ifdef DEBUG + printf("Pointer u,v,e=%d %d %d-%d\n",u,v,END[OPPEDGE(e)],END[e]); +#endif + + LINK[u] = -DUMMYEDGE; + NEXTVTX[LASTVTX[u]] = DUMMYVERTEX; + NEXTVTX[LASTVTX[v]] = DUMMYVERTEX; + + if (LASTVTX[u] != u) { + i = MATE[NEXTVTX[u]]; + del = -SLACK(i) / 2; + } + else del = LAST_D; + + i = u; + while (i != DUMMYVERTEX) { + Y[i] += del; + NEXT_D[i] += del; + i = NEXTVTX[i]; + } + if (LINK[v] < 0) { + LINK[v] = e; + NEXTPAIR[DUMMYEDGE] = DUMMYEDGE; + SCAN (v, DELTA); + return; + } + else { + LINK[v] = e; + return; + } +} + + +/* Scan each vertex in the blossom whose base is x */ + +void SCAN (int x, int del) +{ int u, del_e; + +#ifdef DEBUG + printf("Scan del=%d x=%d\n",del,x); +#endif + + newbase = BASE[x]; + stopscan = NEXTVTX[LASTVTX[x]]; + while (x != stopscan) { + Y[x] += del; + NEXT_D[x] = LAST_D; + pairpoint = DUMMYEDGE; + e = A[x]; + while (e != 0) { + neighbor = END[e]; + u = BASE[neighbor]; + if (LINK[u] < 0) { + if (LINK[BMATE (u)] < 0 || LASTVTX[u] != u) { + del_e = SLACK (e); + if (NEXT_D[neighbor] > del_e) { + NEXT_D[neighbor] = del_e; + NEXTEDGE[neighbor] = e; + } + } + } + else if (u != newbase) { + INSERT_PAIR(); + } + e = A[e]; + } + x = NEXTVTX[x]; + } + NEXTEDGE[newbase] = NEXTPAIR[DUMMYEDGE]; +} + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforest.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforest.h new file mode 100755 index 00000000..0b6bee38 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforest.h @@ -0,0 +1,124 @@ +/* + Copyright by Matthias Hoechsmann (C) 2002-2004 + ===================================== + You may use, copy and distribute this file freely as long as you + - do not change the file, + - leave this copyright notice in the file, + - do not make any profit with the distribution of this file + - give credit where credit is due + You are not allowed to copy or distribute this file otherwise + The commercial usage and distribution of this file is prohibited + Please report bugs and suggestions to +*/ + +#ifndef _PPFOREST_H_ +#define _PPFOREST_H_ + +#include +#include + +#include "algebra.h" +//#include "alignment.h" +#include "misc.h" +#include "ppforestbase.h" + +using namespace std; + +//template +//class Alignment; + +/** The template class PPForest is the basic class that is handled by the alignmnent + * algorithms of the RNAforester template library. The template parameter L is the + * datatype of the forest labels. + */ +template +class PPForest : public PPForestBase +{ + template + friend class Alignment; + + public: + typedef typename PPForestBase::size_type size_type; + +private: + /** internal function used by '<<' operator to print bracket notation of the forest*/ + void print(ostream &s,size_type node,bool brackets) const; + + /** Calculate maximal score of csf (i,j) for a certain Algebra. + * It is assumed that a perfect match of the forest obtains the best + * possible score. + */ + template + R maxScore(const Algebra &alg, size_type i, size_type j) const; + /** Calculate maximal score of csf (i,j) for a certain RNAAlgebra. + * It is assumed that a perfect match of the forest obtains the best + * possible score. + */ + template + R maxScore(const RNA_Algebra &alg, size_type i, size_type j) const; + + /** Function showLabel is used by print routines of PPForest */ +// virtual void showLabel(ostream &s,char c) const {s << c;}; + virtual void showLabel(ostream &s,L l) const {s << 'X';}; + + /** Function makeLabel is used by function buildForest */ +// virtual void makeLabel(char &a,char c) {a=c;}; + + void makeLabel(L &a,char c) {}; + + +protected: + L *m_lb; + + void initialize(size_type size); + +public: + typedef L label_type; + + /** Default Constructor */ + PPForest() : PPForestBase(), m_lb(NULL) {}; + /** Construct a PPForest with 'size' nodes */ + PPForest(size_type size); + /** Copy constructor */ + PPForest(const PPForest &ppf); + /** Read PPForest from binary file */ + PPForest(istream &s); + + virtual ~PPForest(); + + /** returns label of node i */ + inline L label(size_type i) const {return m_lb[i];}; + + /** Calculate maximal score of a forest alignment against itself for a certain Algebra. + * It is assumed that a perfect match of the forest obtains the best + * possible score. + */ + template + inline R maxScore(const Algebra &alg) const + { + return maxScore(alg,0,getMaxLength(0)); + } + + /** Calculate maximal score of a forest alignment against itself for a certain RNA_Algebra. + * It is assumed that a perfect match of the forest obtains the best + * possible score. + */ + template + inline R maxScore(const RNA_Algebra &alg) const + { + return maxScore(alg,0,getMaxLength(0)); + } + + /** Print forest in GraphViz format */ + void printDot(ostream &s) const; + + /** Save forest to binary file */ + void save(ostream &s) const; +}; + +/** Stream output operator for PPForest */ +template +ostream& operator<< (ostream &s, PPForest &ppf); + +#endif + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforest.t.cpp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforest.t.cpp new file mode 100755 index 00000000..dfde8be2 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforest.t.cpp @@ -0,0 +1,226 @@ +/* + Copyright by Matthias Hoechsmann (C) 2002-2004 + ===================================== + You may use, copy and distribute this file freely as long as you + - do not change the file, + - leave this copyright notice in the file, + - do not make any profit with the distribution of this file + - give credit where credit is due + You are not allowed to copy or distribute this file otherwise + The commercial usage and distribution of this file is prohibited + Please report bugs and suggestions to +*/ + +#ifndef _PPFOREST_T_CPP_ +#define _PPFOREST_T_CPP_ + +#include "misc.h" +#include "ppforest.h" + +/* ****************************************** */ +/* Constructor and Destruktor functions */ +/* ****************************************** */ + +template +PPForest::PPForest(size_type size): PPForestBase(size) +{ + m_lb=new L[size]; +} + +template +PPForest::PPForest(const PPForest &ppf) : PPForestBase(ppf) +{ + m_lb=new L[ppf.size()]; + + // copy labels + for(size_type i=0;i +PPForest::PPForest(istream &s) +{ + /* + // read ppforest from file + + // first of all save the size + s.read(static_cast(m_size),sizeof(PPForestBase::size_type)); + + // initialize structures + ::PPForestBase(m_size); + m_lb=new L[ppf.size()]; + + // save the arrays + s.read(static_cast(m_lb),sizeof(label_type)*m_size); + s.read(static_cast(m_rb),sizeof(PPForestBase::size_type)*m_size); + s.read(static_cast(m_noc),sizeof(PPForestBase::size_type)*m_size); + s.read(static_cast(m_sumUpCSF),sizeof(PPForestBase::size_type)*m_size); + s.read(static_cast(m_rmb),sizeof(PPForestBase::size_type)*m_size); + */ +} + +template +PPForest::~PPForest() +{ + DELETE_ARRAY(m_lb); +} + +/* ****************************************** */ +/* Private functions */ +/* ****************************************** */ + +template +void PPForest::print(ostream &s,size_type node,bool brackets) const +{ + if(brackets) + s << "("; + + s << "{" << node << "}"; + showLabel(s,m_lb[node]); + if(m_noc[node]) + print(s,node+1,true); + if(m_rb[node]) + print(s,m_rb[node],false); + + if(brackets) + s << ")"; +} + +/** Calculate maximal score of csf (i,j) for a certain Algebra. + * It is assumed that a perfect match of the forest obtains the best + * possible score. + */ +template +template +R PPForest::maxScore(const Algebra &alg, size_type i, size_type j) const +{ + R down, over; + + if(j==0) + return 0; + + if(isLeave(i)) + { + over=maxScore(alg,rb(i),j-1); + return alg.replace(label(i),0,label(i),over); + } + else + { + down=maxScore(alg,i+1,noc(i)); + over=maxScore(alg,rb(i),j-1); + return alg.replace(label(i),down,label(i),over); + } +} + +/** Calculate maximal score of csf (i,j) for a certain RNA_Algebra. + * It is assumed that a perfect match of the forest obtains the best + * possible score. + */ +template +template +R PPForest::maxScore(const RNA_Algebra &alg, Uint i, Uint j) const +{ + R down, over; + + if(j==0) + return 0; + + if(isLeave(i)) + { + over=maxScore(alg,rb(i),j-1); + return alg.replace(label(i),0,label(i),over); + } + else + { + down=maxScore(alg,i+1+1,noc(i)-2); + over=maxScore(alg,rb(i),j-1); + return alg.replacepair(label(i+1),label(i+1),down,label(getRightmostBrotherIndex(i+1)),label(getRightmostBrotherIndex(i+1)),over); + } +} + +/* ****************************************** */ +/* Protected function */ +/* ****************************************** */ + +template +void PPForest::initialize(size_type size) +{ + PPForestBase::initialize(size); + m_lb=new L[size]; +} + +/* ****************************************** */ +/* Public functions */ +/* ****************************************** */ + + +template +void PPForest::printDot(ostream &s) const +{ + size_type i,h; + + s << "digraph forest" << endl << "{" << endl; + + // edges + for(i=0;i {"; + h=i+1; + for(Uint r=0;r +void PPForest::save(ostream &s) const +{ + /* + // save the pforest to stream in binary format + + // first of all save the size + s.write(reinterpret_cast(&m_size),sizeof(PPForestBase::size_type)); + // save the arrays + s.write(reinterpret_cast(m_lb),sizeof(label_type)*m_size); + s.write(reinterpret_cast(m_rb),sizeof(PPForestBase::size_type)*m_size); + s.write(reinterpret_cast(m_noc),sizeof(PPForestBase::size_type)*m_size); + s.write(reinterpret_cast(m_sumUpCSF),sizeof(PPForestBase::size_type)*m_size); + s.write(reinterpret_cast(m_rmb),sizeof(PPForestBase::size_type)*m_size); + */ +} + +template +ostream& operator<< (ostream &s, PPForest &ppf) +{ + ppf.print(s,0,true); + return s; +} + +#endif + + + + + + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestali.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestali.h new file mode 100755 index 00000000..db082539 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestali.h @@ -0,0 +1,52 @@ +/* + Copyright by Matthias Hoechsmann (C) 2002-2004 + ===================================== + You may use, copy and distribute this file freely as long as you + - do not change the file, + - leave this copyright notice in the file, + - do not make any profit with the distribution of this file + - give credit where credit is due + You are not allowed to copy or distribute this file otherwise + The commercial usage and distribution of this file is prohibited + Please report bugs and suggestions to +*/ + +#ifndef _PPFORESTALI_H_ +#define _PPFORESTALI_H_ + +//#include "alignment.h" +#include "ppforest.h" + +//template +//class Alignment; + +/** PPForestAli is the Base class of forest Alignemnts. + * The pure virtual functions must be implemented when + * inherited to allow the construction of alignments. + */ + +template +class PPForestAli : public PPForest +{ +public: + typedef typename PPForest::size_type size_type; + + //private: +public: + /** @name Interface functions for alignment construction */ + //@{ + + virtual void makeRepLabel(size_type node,L a, L b) = 0; + virtual void makeDelLabel(size_type node,L a) = 0; + virtual void makeInsLabel(size_type node,L b) = 0; + + //@} + +public: + PPForestAli() : PPForest(){}; + PPForestAli(size_type size) : PPForest(size) {}; + + // virtual ~PPForestAli(){}; +}; + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestbase.cpp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestbase.cpp new file mode 100755 index 00000000..7a7e9a4c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestbase.cpp @@ -0,0 +1,202 @@ +/* + Copyright by Matthias Hoechsmann (C) 2002-2004 + ===================================== + You may use, copy and distribute this file freely as long as you + - do not change the file, + - leave this copyright notice in the file, + - do not make any profit with the distribution of this file + - give credit where credit is due + You are not allowed to copy or distribute this file otherwise + The commercial usage and distribution of this file is prohibited + Please report bugs and suggestions to +*/ + +#include "misc.h" +#include "ppforestbase.h" +#include "debug.h" + +#include +#include +#include + +#include "misc.t.cpp" + +/* ****************************************** */ +/* Constructor and Destructor functions */ +/* ****************************************** */ + +PPForestBase::PPForestBase(size_type size) +{ + initialize(size); +}; + +PPForestBase::PPForestBase(const PPForestBase &ppfBase) +{ + initialize(ppfBase.size()); + + memcpy(m_rb,ppfBase.m_rb,sizeof(size_type)*m_size); + memcpy(m_noc,ppfBase.m_noc,sizeof(size_type)*m_size); + memcpy(m_sumUpCSF,ppfBase.m_sumUpCSF,sizeof(size_type)*(m_size+1)); + memcpy(m_rmb,ppfBase.m_rmb,sizeof(size_type)*m_size); + + m_isSumUpCSFValid=ppfBase.m_isSumUpCSFValid; + m_isRMBValid=ppfBase.m_isRMBValid; +} + +PPForestBase::~PPForestBase() +{ + DELETE_ARRAY(m_rb); + DELETE_ARRAY(m_noc); + DELETE_ARRAY(m_sumUpCSF); + DELETE_ARRAY(m_rmb); +}; + +/* ****************************************** */ +/* Private functions */ +/* ****************************************** */ + +PPForestBase::size_type PPForestBase::countLeaves(size_type i) const +{ + size_type numLeaves=0; + + for(size_type k=0;k=0;i--) + { + if(m_rb[i]) + m_rmb[i]=m_rmb[m_rb[i]]; + else + m_rmb[i]=i; + } + + m_isRMBValid=true; +} + +void PPForestBase::initialize(size_type size) +{ + m_size=size; + m_rb=new size_type[size]; + m_noc=new size_type[size]; + m_sumUpCSF=new size_type[size+1]; + m_rmb=new size_type[size]; + + m_isSumUpCSFValid=false; + m_isRMBValid=false; +} + +/* ****************************************** */ +/* Public functions */ +/* ****************************************** */ + +PPForestBase::size_type PPForestBase::rb(size_type i, size_type k) const +{ + if(k==0) + return i; + else + return rb(rb(i),k-1); +} + +PPForestBase::size_type PPForestBase::maxDegree() const +{ + size_type degree=0; + + for(size_type i=0;i +*/ + +#ifndef _PPFOREST_BASE_H +#define _PPFOREST_BASE_H + +#include +#include + +#include "misc.h" +#include "types.h" + +using namespace std; + +/** PPForestBase is the base class of the template class PPForest. + * To reduce the size of compiled programs functions and variables that are + * independent of the labelling are implemented in this class. + */ +class PPForestBase +{ + //template + //friend class Alignment; + + public: + typedef Uint size_type; + + private: + bool m_isSumUpCSFValid; + bool m_isRMBValid; + + size_type getNumRightBrothers(size_type i) const; + size_type countLeaves(size_type i,size_type k) const; + +protected: + size_type m_size; /**< size is the number of nodes of a tree */ + size_type *m_rb; /**< m_rb[i] stores the preorder index of the rightbrother node of the ith node, or 0 if there is none. */ + size_type *m_noc; /**< m_noc[i] stores the number of children of the ith node */ + size_type *m_sumUpCSF; /**< m_sumUpCSF[i] stores the sum of non empty closed subforests of nodes k=i && i2<=max_node) + return false; + + if(rb(i2,j2-1)>=i && rb(i2,j2-1)<=max_node) + return false; + + // (i,j) included in (i2,j2) + max_node=getRightmostBrotherIndex(i2); + if(noc(max_node)) + max_node=getRightmostBrotherIndex(max_node+1); + + + if(i>=i2 && i<=max_node) + return false; + + if(rb(i,j-1)>=i2 && rb(i,j-1)<=max_node) + return false; + + return true; + } +}; + +#endif + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestbase.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestbase.o new file mode 100755 index 0000000000000000000000000000000000000000..f19de9d2b9ae673d2303102e4723c4f00329118c GIT binary patch literal 72544 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 N#)Jl6ez&6W{{wHm1#AES literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestsz.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestsz.h new file mode 100755 index 00000000..8f7b8245 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/ppforestsz.h @@ -0,0 +1,69 @@ +/* + Copyright by Matthias Hoechsmann (C) 2002 + ===================================== + You may use, copy and distribute this file freely as long as you + - do not change the file, + - leave this copyright notice in the file, + - do not make any profit with the distribution of this file + - give credit where credit is due + You are not allowed to copy or distribute this file otherwise + The commercial usage and distribution of this file is prohibited + Please report bugs and suggestions to +*/ + +#ifndef _PPFORESTSZ_H +#define _PPFORESTSZ_H + +#include +#include + +#include "misc.h" +#include "types.h" + +using namespace std; + +template +class PPForestSZ +{ + protected: + Uint m_size; + Uint *m_lml; // postorder index of leftmost leaf descandant of the subtree rootet at T[i] + L *m_lb; // labels of nodes in postorder + bool *m_keyroot; // is node a keyroot + + void calcKeyroots(); + + public: + typedef Uint size_type; + typedef L label_type; + + PPForestSZ() : m_size(0), m_lml(NULL), m_lb(NULL),m_keyroot(NULL) {}; + PPForestSZ(Uint nrOfNodes); + PPForestSZ(const PPForestSZ &ppf); + ~PPForestSZ(); + + inline size_type size() const {return m_size;}; + inline Uint lml(Ulong i) const {return m_lml[i];}; + inline L label(Ulong i) const {return m_lb[i];}; + inline bool keyroot(Ulong i) const {return m_keyroot[i];}; + + Uint numKeyroots() const + { + Uint count=0; + for(Uint i=0;i +*/ + +#ifndef _PPFORESTSZ_T_CPP_ +#define _PPFORESTSZ_T_CPP_ + +#include + +#include "misc.h" +#include "ppforestsz.h" + + +// PPForest + +template +PPForestSZ::PPForestSZ(Uint nrOfNodes) +: m_size(nrOfNodes) +{ + m_lml=new Uint[nrOfNodes]; + m_lb=new L[nrOfNodes]; + m_keyroot=new bool[nrOfNodes]; +} + +template +PPForestSZ::PPForestSZ(const PPForestSZ &ppf) +{ + m_size=ppf.size(); + + m_lml=new Uint[ppf.size()]; + m_lb=new L[ppf.size()]; + m_keyroot=new bool[ppf.size()]; + + memcpy(m_lml,ppf.m_lml,sizeof(Uint)*m_size); + memcpy(m_keyroot,ppf.m_keyroot,sizeof(bool)*m_size); + + for(Uint i=0;i +PPForestSZ::~PPForestSZ() +{ + DELETE_ARRAY(m_lml); + DELETE_ARRAY(m_lb); + DELETE_ARRAY(m_keyroot); +} + +template +void PPForestSZ::calcKeyroots() +{ + std::map keyrootMap; + + for(Uint i=0;i::const_iterator it; + for(it=keyrootMap.begin();it!=keyrootMap.end();it++) + { + m_keyroot[it->second]=true; + } + +} + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/progressive_align.cpp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/progressive_align.cpp new file mode 100755 index 00000000..ddeb9e9e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/progressive_align.cpp @@ -0,0 +1,343 @@ +/* + Copyright by Matthias Hoechsmann (C) 2002-2004 + ===================================== + You may use, copy and distribute this file freely as long as you + - do not change the file, + - leave this copyright notice in the file, + - do not make any profit with the distribution of this file + - give credit where credit is due + You are not allowed to copy or distribute this file otherwise + The commercial usage and distribution of this file is prohibited + Please report bugs and suggestions to +*/ + +#include +#include + +#include "alignment.h" +#include "progressive_align.h" + +#include "alignment.t.cpp" + +using namespace std; + +// !!! this operator is defined as > !!! +bool operator < (pair &l, pair &r) +{ + if(l.second->getNumStructures() < r.second->getNumStructures()) + return false; + else + return true; +} + +void progressiveAlign(deque &inputList, deque > &resultList, const DoubleScoreProfileAlgebraType *alg,const RNAforesterOptions &options) +{ + RNAProfileAliMapType inputMapProfile; + deque alignList; + RNAProfileAliMapType::iterator it,it2; + long x,y,bestx,besty; // keys of stuctures in inputMapProfile + RNAProfileAlignment *ppfx=NULL,*ppfy=NULL,*ppf=NULL; + int level=1; + double bestScore,threshold,cutoff; + string clusterfilename; + ofstream s; + Matrix *score_mtrx; + bool local; + + local=options.has(RNAforesterOptions::LocalSimilarity); + + cout << "*** Calculation ***" << endl << endl; + + // create inputMapProfile to access a profile by an index value + deque::const_iterator inpIt; + long i=1; + for(inpIt=inputList.begin();inpIt!=inputList.end();inpIt++) + { + inputMapProfile[i]=*inpIt; + i++; + } + inputList.clear(); + + // create matrix for all against all comparison + bestScore=alg->worst_score(); + score_mtrx=new Matrix(inputMapProfile.size(),inputMapProfile.size()); + + // set threshold for the clustering algorithm + if(options.has(RNAforesterOptions::CalculateDistance)) + options.get(RNAforesterOptions::ClusterThreshold,threshold,20.0); + else + options.get(RNAforesterOptions::ClusterThreshold,threshold,0.7); + cout << "clustering threshold is: " << threshold << endl; + + // set cutoff value for clustering + if(options.has(RNAforesterOptions::CalculateDistance)) + options.get(RNAforesterOptions::ClusterJoinCutoff,cutoff,100.0); + else + options.get(RNAforesterOptions::ClusterJoinCutoff,cutoff,0.0); + cout << "join clusters cutoff is: " << cutoff << endl << endl; + + // generate dot file + clusterfilename=options.generateFilename(RNAforesterOptions::Help,"_cluster.dot", "cluster.dot"); // use Help as dummy + s.open(clusterfilename.c_str()); + s << "digraph forest" << endl << "{" << endl; + + // generate nodes for the input forests + for(it=inputMapProfile.begin();it!=inputMapProfile.end();it++) + { + ppf=it->second; + + s << "\"" << ppf->getName() << "\"" << "[label=\"" << ppf->getName() << "\"]" << endl; + s << "\"" << ppf->getName() << "\"" << "[label=\"" << ppf->getName() << "\"]" << endl; + } + + + // compute all pairwise distances + // !! NOTE !! iterating through the map is ordered by key number + // as i only calculate a triangle matrix this is a prerequisite + cout << "Computing all pairwise similarities" << endl; + for(it=inputMapProfile.begin();it!=inputMapProfile.end();it++) + { + x=it->first; + ppfx=it->second; + for(it2=inputMapProfile.begin();it2->firstfirst;it2++) + { + y=it2->first; + ppfy=it2->second; + + Alignment ali(ppfx,ppfy,*alg,local); + if(local) + score_mtrx->setAt(x-1,y-1,ali.getLocalOptimum()); + else + score_mtrx->setAt(x-1,y-1,ali.getGlobalOptimumRelative()); + + cout << x << "," << y << ": " << score_mtrx->getAt(x-1,y-1) << endl; + + WATCH(DBG_MULTIPLE,"progressiveAlign",x); + WATCH(DBG_MULTIPLE,"progressiveAlign",y); + WATCH(DBG_MULTIPLE,"progressiveAlign",ali.getGlobalOptimumRelative()); + } + } + cout << endl; + + while(inputMapProfile.size()>1) + { + // find the best score of all pairwise alignments + bestScore=alg->worst_score(); + for(it=inputMapProfile.begin();it!=inputMapProfile.end();it++) + { + x=it->first; + for(it2=inputMapProfile.begin();it2->first < it->first;it2++) + { + double old_bestScore=bestScore; + + y=it2->first; + WATCH(DBG_MULTIPLE,"progressiveAlign",x); + WATCH(DBG_MULTIPLE,"progressiveAlign",y); + WATCH(DBG_MULTIPLE,"progressiveAlign",score_mtrx->getAt(x-1,y-1)); + + WATCH(DBG_MULTIPLE,"progressiveAlign",bestScore); + bestScore=alg->choice(bestScore,score_mtrx->getAt(x-1,y-1)); + + if(bestScore!=old_bestScore) + { + bestx=it->first; + besty=it2->first; + old_bestScore=bestScore; + } + } + } + + WATCH(DBG_MULTIPLE,"progressiveAlign",bestScore); + cout << "joining alignments:" << endl; + + // if threshold is set generate a list of best pairs within threshold + if(alg->choice(bestScore,threshold)!= threshold) + { + Graph graph; + int *mate; + int maximize; + + graph=makePairsGraph(inputMapProfile,alg,score_mtrx,threshold); + if(options.has(RNAforesterOptions::CalculateDistance)) + maximize=0; + else + maximize=1; + + mate = Weighted_Match(graph,1,maximize); + for(x=1;x<=score_mtrx->xDim();x++) // !! begins at 1 !! + { + if(x1) + { + string aliName; + + x=alignList.front().first; + ppfx=alignList.front().second; + alignList.erase(alignList.begin()); + y=alignList.front().first; + ppfy=alignList.front().second; + alignList.erase(alignList.begin()); + + // compute alignment again + Alignment bestali(ppfx,ppfy,*alg,local); + if(local) + bestScore=bestali.getLocalOptimum(); + else + bestScore=bestali.getGlobalOptimumRelative(); + + // test, if score is worse than the cutoff value + if(alg->choice(bestScore,cutoff)== cutoff) + { + // copy involved forests to the result list + cout << x << "," << y << ": alignment is below cutoff." << endl; + if(ppfx->getNumStructures()>1) + resultList.push_back(make_pair(ppfx->maxScore(*alg),ppfx)); + if(ppfy->getNumStructures()>1) + resultList.push_back(make_pair(ppfy->maxScore(*alg),ppfy)); + } + else + { + // calculate optimal alignment and add it to inputMapProfile + + ppf=new RNAProfileAlignment(ppfx->getNumStructures(),ppfy->getNumStructures()); + + if(local) + { + Uint xbasepos,ybasepos; + bestali.getOptLocalAlignment(*ppf,xbasepos,ybasepos); + } + else + { + bestali.getOptGlobalAlignment(*ppf); + } + + ppf->addStrNames(ppfx->getStrNames()); + ppf->addStrNames(ppfy->getStrNames()); + aliName=ppfx->getName() + "." +ppfy->getName(); + ppf->setName(aliName); + + // for debug purposes + //string dotfilename; + //dotfilename=ppf->getName() + string(".dot"); + // ofstream s("test.dot"); + // ppf->printDot(s); + + // generate nodes in cluster file (dot format) + s << "\"" << ppf->getName() << "\"" << "[shape=\"diamond\" label=\"" << bestScore << "\"]" << endl; + s << "\"" << ppf->getName() << "\"" << "-> {\"" << ppfx->getName() << "\" \"" << ppfy->getName() << "\"}"; + + cout << x << "," << y << ": " << bestScore << " -> " << min(x,y) << endl; + + delete ppfx; + delete ppfy; + + // calculate distance to all forests in the list + cout << "Calculate similarities to other clusters" << endl; + ppfx=ppf; + // x remains x !! + for(it=inputMapProfile.begin();it!=inputMapProfile.end();it++) + { + y=it->first; + ppfy=it->second; + Alignment ali(ppfx,ppfy,*alg,local); + if(local) + { + score_mtrx->setAt(min(x-1,y-1),max(x-1,y-1),ali.getLocalOptimum()); // min - max = fill the upper triangle + cout << min(x,y) << "," << max(x,y) << ": " << ali.getLocalOptimum() << endl; + } + else + { + score_mtrx->setAt(min(x-1,y-1),max(x-1,y-1),ali.getGlobalOptimumRelative()); // min - max = fill the upper triangle + cout << min(x,y) << "," << max(x,y) << ": " << ali.getGlobalOptimumRelative() << endl; + } + } + cout << endl; + + // ... and append it to the list + inputMapProfile.insert(make_pair(x,ppf)); + } + } + + level++; + } + + assert(inputMapProfile.size()<2); + + // copy last profile to resultList + if(inputMapProfile.size()==1) + { + ppf=inputMapProfile.begin()->second; + resultList.push_back(make_pair(ppf->maxScore(*alg),ppf)); + inputMapProfile.clear(); + } + + // end of dot file + s << "}" << endl; + + // sort result list + // std::sort(resultList.begin(),resultList.end()); + + + delete score_mtrx; +} + +Graph makePairsGraph(const RNAProfileAliMapType &inputMapProfile, const DoubleScoreProfileAlgebraType *alg, const Matrix *score_mtrx, double threshold) +{ + Graph graph; + RNAProfileAliMapType::const_iterator it,it2; + RNAProfileAlignment *ppfx=NULL,*ppfy=NULL; + + graph = NewGraph(score_mtrx->xDim()); + + for(int i=0;ixDim();i++) + { + Xcoord(graph,i+1) = 0; + Ycoord(graph,i+1) = 0; + } + + for(it=inputMapProfile.begin();it!=inputMapProfile.end();it++) + { + ppfx=it->second; + for(it2=inputMapProfile.begin();it2->firstfirst;it2++) + { + double score; + ppfy=it2->second; + + score=score_mtrx->getAt(it->first-1,it2->first-1); + if(alg->choice(score,threshold) != threshold) // is it better than the threshold ? + { + AddEdge (graph,it->first,it2->first,(int)(score*100.0)); + } + } + } + + + WriteGraph (graph,"test.out"); + return graph; +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/progressive_align.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/progressive_align.h new file mode 100755 index 00000000..16485194 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/progressive_align.h @@ -0,0 +1,32 @@ +/* + Copyright by Matthias Hoechsmann (C) 2002-2004 + ===================================== + You may use, copy and distribute this file freely as long as you + - do not change the file, + - leave this copyright notice in the file, + - do not make any profit with the distribution of this file + - give credit where credit is due + You are not allowed to copy or distribute this file otherwise + The commercial usage and distribution of this file is prohibited + Please report bugs and suggestions to +*/ + +#include "graphtypes.h" +#include "matrix.h" +#include "rnaforester_options.h" +#include "rna_profile_alignment.h" +#include "wmatch.h" + +/* ****************************************** */ +/* Definitions and typedefs */ +/* ****************************************** */ + +typedef map RNAProfileAliMapType; +typedef pair RNAProfileAliKeyPairType; + +/* ****************************************** */ +/* Function prototypes */ +/* ****************************************** */ + +void progressiveAlign(deque &inputList, deque > &resultList, const DoubleScoreProfileAlgebraType *alg,const RNAforesterOptions &options); +Graph makePairsGraph(const RNAProfileAliMapType &inputListProfile, const DoubleScoreProfileAlgebraType *alg, const Matrix *score_mtrx, double threshold); diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/progressive_align.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/progressive_align.o new file mode 100755 index 0000000000000000000000000000000000000000..1bd867a9edada433863afaa43cdc81dcae656c2a GIT binary patch literal 390760 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/readgraph.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/readgraph.c new file mode 100755 index 00000000..772a7309 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/readgraph.c @@ -0,0 +1,129 @@ +/* set up data structures for weighted match */ + +/* to add a new type, add new case in SetUp() and a Set_X() routine */ + +#include +#include + +#include "wmatch.h" + +void SetUp (void* gptr, int type) +{ int i,allocsize; + Graph g=NULL; + EuclidGraph xy=NULL; + MatrixGraph matg=NULL; + + if (type==1) { + g = (Graph) gptr; + U = Degree(g,0); + V = NumEdges(g); + } + else if (type==2) { + xy = (EuclidGraph) gptr; + U = xy[0][0]; + V = U*(U-1)/2; + } + else if (type==3) { + matg = (MatrixGraph) gptr; + U = matg[0]; + V = U*(U-1)/2; + } + + allocsize = (U+2*V+2)*sizeof(int); + A = (int *) malloc(allocsize); + END = (int *) malloc(allocsize); + WEIGHT = (int *) malloc(allocsize); + for (i=0; i adj_node) + break; + u = v; + v = A[v]; + } + A[u] = currentedge; + A[currentedge] = v; + } + u = adj_node; + v = A[u]; + while (v != 0) { + u = v; + v = A[v]; + } + A[u] = currentedge - 1; + currentedge += 2; + } + edge = NextEdge(edge); + } + } +} + +/* set up from Euclidean graph */ + +void SetEuclid(EuclidGraph graph) +{ int i,j,currentedge; + + currentedge = U+2; + + for (i=U; i>=1; --i) + for (j = i-1; j >= 1; --j) { + WEIGHT[currentedge-1] = WEIGHT[currentedge] + = 2*eucdist2(graph,i,j); + END[currentedge-1] = i; + END[currentedge] = j; + A[currentedge] = A[i]; + A[i] = currentedge; + A[currentedge-1] = A[j]; + A[j] = currentedge-1; + currentedge += 2; + } +} + +void SetMatrix(MatrixGraph graph) +{ int i,j,currentedge; + + currentedge = U+2; + + for (i=U; i>=1; --i) + for (j = i-1; j >= 1; --j) { + WEIGHT[currentedge-1] = WEIGHT[currentedge] + = 2*graph[j*U+i]; + END[currentedge-1] = i; + END[currentedge] = j; + A[currentedge] = A[i]; + A[i] = currentedge; + A[currentedge-1] = A[j]; + A[j] = currentedge-1; + currentedge += 2; + } +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_algebra.cpp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_algebra.cpp new file mode 100755 index 00000000..108d82e5 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_algebra.cpp @@ -0,0 +1,89 @@ +#include "rna_algebra.h" + +Score::Score(RNAforesterOptions &options) +{ + m_isLocal=options.has(RNAforesterOptions::LocalSimilarity); + m_isRIBOSUM=options.has(RNAforesterOptions::RIBOSUMScore); + + // distance or similarity ? + if(options.has(RNAforesterOptions::CalculateDistance)) + { + m_isDistance=true; + m_bp_rep_score = 0; + m_bp_del_score = 3; + m_b_match_score = 0; + m_b_rep_score =1; + m_b_del_score =2; + } + else + { + m_isDistance=false; + + if(options.has(RNAforesterOptions::RIBOSUMScore)) + { + m_bp_del_score=-100; + m_b_del_score=-200; + } + else + { + m_bp_rep_score = 10; + m_bp_del_score =-5; + m_b_match_score = 1; + m_b_rep_score = 0; + m_b_del_score =-10; + } + } + + // read scores + options.get(RNAforesterOptions::BpRepScore,m_bp_rep_score,m_bp_rep_score); + options.get(RNAforesterOptions::BpDelScore,m_bp_del_score,m_bp_del_score); + options.get(RNAforesterOptions::BMatchScore,m_b_match_score,m_b_match_score); + options.get(RNAforesterOptions::BRepScore,m_b_rep_score,m_b_rep_score); + options.get(RNAforesterOptions::BDelScore,m_b_del_score,m_b_del_score); +} + +Score::Score(const Score &s) +{ + // copy scores + m_isDistance = s.m_isDistance; + m_isLocal = s.m_isLocal; + m_bp_rep_score = s.m_bp_rep_score; + m_bp_del_score = s.m_bp_del_score; + m_b_match_score = s.m_b_match_score; + m_b_rep_score = s.m_b_rep_score; + m_b_del_score = s.m_b_del_score; +} + +void Score::print() +{ + // show score parameters + cout << "*** Scoring parameters ***" << endl << endl; + + cout << "Scoring type: "; + if(m_isDistance) + cout << "distance" << endl; + else + { + if(m_isLocal) + cout << "local "; + + cout << "similarity" << endl; + } + + cout << "Scoring parameters:" << endl; + + if(m_isRIBOSUM) + { + cout << "RIBOSUM85-60 Scoring matrix" << endl; + cout << "pd: " << m_bp_del_score << endl; + cout << "bd: " << m_b_del_score << endl << endl; + } + else + { + cout << "pm: " << m_bp_rep_score << endl; + cout << "pd: " << m_bp_del_score << endl; + cout << "bm: " << m_b_match_score << endl; + cout << "br: " << m_b_rep_score << endl; + cout << "bd: " << m_b_del_score << endl << endl; + } +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_algebra.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_algebra.h new file mode 100755 index 00000000..ae5bc07c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_algebra.h @@ -0,0 +1,636 @@ +#ifndef _RNA_ALGEBRA_H_ +#define _RNA_ALGEBRA_H_ + +#include +#include + +#include "algebra.h" +#include "debug.h" +#include "misc.h" +#include "rna_alphabet.h" +#include "rnaforester_options.h" + +/* ****************************************** */ +/* Definitions and typedefs */ +/* ****************************************** */ + +const double DBL_NEG = -100000000.0; // the values from limits.h caused problems.. +const double DBL_POS = 100000000.0; + +typedef Algebra DoubleScoreProfileAlgebraType; +typedef Algebra IntScore_AlgebraType; +typedef RNA_Algebra IntScoreRNA_AlgebraType; +typedef SZAlgebra IntScoreSZAlgebraType; + +/* ****************************************** */ +/* Class Score */ +/* ****************************************** */ + +/** Class Score reads scoring parameters from RNAforester command line. */ +class Score +{ + private: + bool m_isDistance; + bool m_isLocal; + bool m_isRIBOSUM; + + public: + int m_bp_rep_score; + int m_bp_del_score; + int m_b_match_score; + int m_b_rep_score; + int m_b_del_score; + + Score(RNAforesterOptions &options); + Score(const Score &s); + void print(); +}; + +/* ****************************************** */ +/* RNA Algebra Classes */ +/* ****************************************** */ + +/** Similarity algebra for RNA forests */ +class IntSimiRNA_Algebra : public IntScoreRNA_AlgebraType +{ + private: + Score m_s; + + public: + int empty() const {return 0;}; + int replacepair(RNA_Alphabet la, RNA_Alphabet lb, int down, RNA_Alphabet ra, RNA_Alphabet rb, int over) const + { + return m_s.m_bp_rep_score+down+over; + }; + + int replace(RNA_Alphabet a,int down, RNA_Alphabet b, int over) const + { + if(a==ALPHA_BASEPAIR && b == ALPHA_BASEPAIR) + return m_s.m_bp_rep_score+down+over; + else + { + if(a==ALPHA_BASEPAIR || b==ALPHA_BASEPAIR) + return INT_MIN/4; + else + { + if(a==b) + return m_s.m_b_match_score+down+over; + else + return m_s.m_b_rep_score+down+over; + } + } + }; + + int del(RNA_Alphabet a,int down, int over) const + { + if(a==ALPHA_BASEPAIR) + return m_s.m_bp_del_score+down+over; + else + return m_s.m_b_del_score+down+over; + }; + + int insert(int down,RNA_Alphabet b,int over) const + { + if(b==ALPHA_BASEPAIR) + return m_s.m_bp_del_score+down+over; + else + return m_s.m_b_del_score+down+over; + }; + + int choice(int a, int b) const + { + return max(a,b); + }; + + int worst_score() const + { + return INT_MIN; + }; + + IntSimiRNA_Algebra(const Score &s) + : m_s(s) {}; +}; + +/** Distance algebra for RNA forests */ +class IntDistRNA_Algebra : public IntScoreRNA_AlgebraType +{ + private: + Score m_s; + + public: + int empty() const {return 0;}; + int replacepair(RNA_Alphabet la, RNA_Alphabet lb, int down, RNA_Alphabet ra, RNA_Alphabet rb, int over) const + { + return m_s.m_bp_rep_score+down+over; + }; + + int replace(RNA_Alphabet a,int down, RNA_Alphabet b, int over) const + { + if(a==ALPHA_BASEPAIR && b == ALPHA_BASEPAIR) + return m_s.m_bp_rep_score+down+over; + else + { + if(a==ALPHA_BASEPAIR || b==ALPHA_BASEPAIR) + return INT_MAX/4; + else + { + if(a==b) + return m_s.m_b_match_score+down+over; + else + return m_s.m_b_rep_score+down+over; + } + } + }; + + int del(RNA_Alphabet a,int down,int over) const + { + if(a==ALPHA_BASEPAIR) + return m_s.m_bp_del_score+down+over; + else + return m_s.m_b_del_score+down+over; + }; + + int insert(int down,RNA_Alphabet b,int over) const + { + if(b==ALPHA_BASEPAIR) + return m_s.m_bp_del_score+down+over; + else + return m_s.m_b_del_score+down+over; + }; + + int choice(int a, int b) const + { + return min(a,b); + }; + + int worst_score() const + { + return INT_MAX; + }; + + IntDistRNA_Algebra(const Score &s) + : m_s(s) {}; +}; + +/** RIBOSUM85-60 matrix published in RSEARCH: Finding homologs of single structured RNA sequences + * R. Klein and S. Eddy, BMC Bioinformatics 2003 Vol.4 + */ +class RIBOSUM8560 : public IntScoreRNA_AlgebraType +{ + private: + Score m_s; + int m_baseSubstMtrx[4][4]; + int m_basepairSubstMtrx[4][4][4][4]; + + public: + int empty() const {return 0;}; + int replacepair(RNA_Alphabet la, RNA_Alphabet lb, int down, RNA_Alphabet ra, RNA_Alphabet rb, int over) const + { + int i,j,k,l; + i=alpha2RNA_Alpha(la); + j=alpha2RNA_Alpha(ra); + k=alpha2RNA_Alpha(lb); + l=alpha2RNA_Alpha(rb); + + return m_basepairSubstMtrx[i][j][k][l]+down+over; + }; + + int replace(RNA_Alphabet a,int down, RNA_Alphabet b, int over) const + { + assert(!(a==ALPHA_BASEPAIR && b==ALPHA_BASEPAIR)); + + if(a==ALPHA_BASEPAIR || b==ALPHA_BASEPAIR) + return INT_MIN/4; + else + { + int i,j; + i=alpha2RNA_Alpha(a); + j=alpha2RNA_Alpha(b); + + return m_baseSubstMtrx[i][j]+down+over; + } + }; + + int del(RNA_Alphabet a,int down, int over) const + { + if(a==ALPHA_BASEPAIR) + return m_s.m_bp_del_score+down+over; + else + return m_s.m_b_del_score+down+over; + }; + + int insert(int down,RNA_Alphabet b,int over) const + { + if(b==ALPHA_BASEPAIR) + return m_s.m_bp_del_score+down+over; + else + return m_s.m_b_del_score+down+over; + }; + + int choice(int a, int b) const + { + return max(a,b); + }; + + int worst_score() const + { + return INT_MIN; + }; + + RIBOSUM8560(const Score &s) + : m_s(s) + { + int i,j,k,l; + + // set substitution matrices + + // base replacement + m_baseSubstMtrx[ALPHA_PRO_BASE_A][ALPHA_PRO_BASE_A]=222; + m_baseSubstMtrx[ALPHA_PRO_BASE_A][ALPHA_PRO_BASE_C]=-186; + m_baseSubstMtrx[ALPHA_PRO_BASE_A][ALPHA_PRO_BASE_G]=-146; + m_baseSubstMtrx[ALPHA_PRO_BASE_A][ALPHA_PRO_BASE_U]=-139; + + m_baseSubstMtrx[ALPHA_PRO_BASE_C][ALPHA_PRO_BASE_C]=116; + m_baseSubstMtrx[ALPHA_PRO_BASE_C][ALPHA_PRO_BASE_G]=-248; + m_baseSubstMtrx[ALPHA_PRO_BASE_C][ALPHA_PRO_BASE_U]=-105; + + m_baseSubstMtrx[ALPHA_PRO_BASE_G][ALPHA_PRO_BASE_G]=103; + m_baseSubstMtrx[ALPHA_PRO_BASE_G][ALPHA_PRO_BASE_U]=-174; + + m_baseSubstMtrx[ALPHA_PRO_BASE_U][ALPHA_PRO_BASE_U]=165; + + // copy triangle + for(i=0;i<=ALPHA_PRO_BASE_U;i++) + for(j=0;j0 && b.p[ALPHA_PRO_BASEPAIR]>0) + { + // pair replacement + return a.p[ALPHA_PRO_BASEPAIR]*b.p[ALPHA_PRO_BASEPAIR]*m_s.m_bp_rep_score + + down+over; + } + else + { + if(a.p[ALPHA_PRO_BASE]>0 && b.p[ALPHA_PRO_BASE]>0) + { + double s=0; + + // base replacement + for(int i=ALPHA_PRO_BASE_A;i<=ALPHA_PRO_BASE_U;i++) + for(int j=ALPHA_PRO_BASE_A;j<=ALPHA_PRO_BASE_U;j++) + s+= i==j ? a.p[i]*b.p[j]*m_s.m_b_match_score : a.p[i]*b.p[j]*m_s.m_b_rep_score; + + if(s==0) // no sequence information + s=a.p[ALPHA_PRO_BASE]*b.p[ALPHA_PRO_BASE]*m_s.m_b_rep_score; + + return s+down+over; + } + else + { + // undefined operation (replace base by basepair ??) + return DBL_NEG/4; + } + } + }; + + double del(RNA_Alphabet_Profile a,double down, double over) const + { + if(a.p[ALPHA_PRO_BASEPAIR]>0) + return a.p[ALPHA_PRO_BASEPAIR]*m_s.m_bp_del_score+down+over; + else + return a.p[ALPHA_PRO_BASE]*m_s.m_b_del_score+down+over; + }; + + double insert(double down,RNA_Alphabet_Profile b,double over) const + { + if(b.p[ALPHA_PRO_BASEPAIR]>0) + return b.p[ALPHA_PRO_BASEPAIR]*m_s.m_bp_del_score+down+over; + else + return b.p[ALPHA_PRO_BASE]*m_s.m_b_del_score+down+over; + }; + + double choice(double a, double b) const + { + return max(a,b); + }; + + double worst_score() const + { + return DBL_NEG; + }; + + DoubleSimiProfileAlgebra(const Score &s) + : m_s(s) {}; +}; + +/** Distance algebra for RNA profile forests */ +class DoubleDistProfileAlgebra : public DoubleScoreProfileAlgebraType +{ + private: + Score m_s; + + public: + double empty() const {return 0.0;}; + double replace(RNA_Alphabet_Profile a,double down, RNA_Alphabet_Profile b, double over) const + { + TRACE(DBG_ALGEBRA,"rep","inside!!!"); + + if(a.p[ALPHA_PRO_BASEPAIR]>0 && b.p[ALPHA_PRO_BASEPAIR]>0) + { + // pair replacement + return a.p[ALPHA_PRO_BASEPAIR]*b.p[ALPHA_PRO_BASEPAIR]*m_s.m_bp_rep_score + + down+over; + } + else + { + if(a.p[ALPHA_PRO_BASE]>0 && b.p[ALPHA_PRO_BASE]>0) + { + double s=0; + + // base replacement + for(int i=ALPHA_PRO_BASE_A;i<=ALPHA_PRO_BASE_U;i++) + for(int j=ALPHA_PRO_BASE_A;j<=ALPHA_PRO_BASE_U;j++) + s+= i==j ? a.p[i]*b.p[j]*m_s.m_b_match_score : a.p[i]*b.p[j]*m_s.m_b_rep_score; + + if(s==0) // no sequence information + s=a.p[ALPHA_PRO_BASE]*b.p[ALPHA_PRO_BASE]*m_s.m_b_rep_score; + + return s+down+over; + } + else + { + // undefined operation (replace base by basepair ??) + return DBL_POS/4; + } + } + }; + + double del(RNA_Alphabet_Profile a,double down, double over) const + { + if(a.p[ALPHA_PRO_BASEPAIR]>0) + return a.p[ALPHA_PRO_BASEPAIR]*m_s.m_bp_del_score+down+over; + else + return a.p[ALPHA_PRO_BASE]*m_s.m_b_del_score+down+over; + }; + + double insert(double down,RNA_Alphabet_Profile b,double over) const + { + if(b.p[ALPHA_PRO_BASEPAIR]>0) + return b.p[ALPHA_PRO_BASEPAIR]*m_s.m_bp_del_score+down+over; + else + return b.p[ALPHA_PRO_BASE]*m_s.m_b_del_score+down+over; + }; + + double choice(double a, double b) const + { + return min(a,b); + }; + + double worst_score() const + { + return DBL_POS; + }; + + DoubleDistProfileAlgebra(const Score &s) + : m_s(s) {}; +}; + +/* ****************************************** */ +/* SZAlgebra Classes */ +/* ****************************************** */ + +class IntSimiSZAlgebra : public IntScoreSZAlgebraType +{ + private: + Score m_s; + + public: + int empty() const {return 0;}; + int replace(RNA_Alphabet a,int down, RNA_Alphabet b) const + { + if(a==ALPHA_BASEPAIR && b == ALPHA_BASEPAIR) + return m_s.m_bp_rep_score+down; + else + { + if(a==ALPHA_BASEPAIR || b==ALPHA_BASEPAIR) + return INT_MIN/4; + else + { + if(a==b) + return m_s.m_b_match_score+down; + else + return m_s.m_b_rep_score+down; + } + } + }; + + int del(RNA_Alphabet a,int down) const + { + if(a==ALPHA_BASEPAIR) + return m_s.m_bp_del_score+down; + else + return m_s.m_b_del_score+down; + }; + + int insert(int down,RNA_Alphabet b) const + { + if(b==ALPHA_BASEPAIR) + return m_s.m_bp_del_score+down; + else + return m_s.m_b_del_score+down; + }; + + int choice(int a, int b) const + { + return max(a,b); + }; + + int worst_score() const + { + return INT_MIN; + }; + + IntSimiSZAlgebra(const Score &s) + : m_s(s) {}; +}; + + +class IntDistSZAlgebra : public IntScoreSZAlgebraType +{ + private: + Score m_s; + + public: + int empty() const {return 0;}; + int replace(RNA_Alphabet a,int down, RNA_Alphabet b) const + { + if(a==ALPHA_BASEPAIR && b == ALPHA_BASEPAIR) + return m_s.m_bp_rep_score+down; + else + { + if(a==ALPHA_BASEPAIR || b==ALPHA_BASEPAIR) + return INT_MAX/4; + else + { + if(a==b) + return m_s.m_b_match_score+down; + else + return m_s.m_b_rep_score+down; + } + } + }; + + int del(RNA_Alphabet a,int down) const + { + if(a==ALPHA_BASEPAIR) + return m_s.m_bp_del_score+down; + else + return m_s.m_b_del_score+down; + }; + + int insert(int down,RNA_Alphabet b) const + { + if(b==ALPHA_BASEPAIR) + return m_s.m_bp_del_score+down; + else + return m_s.m_b_del_score+down; + }; + + int choice(int a, int b) const + { + return min(a,b); + }; + + int worst_score() const + { + return INT_MAX; + }; + + IntDistSZAlgebra(const Score &s) + : m_s(s) {}; +}; + +/* ****************************************** */ +/* General Algebra Classe */ +/* ****************************************** */ + +/** Distance algebra for forests */ +class IntDist_Algebra : public IntScore_AlgebraType +{ + private: + Score m_s; + + public: + int empty() const {return 0;}; + + int replace(RNA_Alphabet a,int down, RNA_Alphabet b, int over) const + { + if(a==ALPHA_BASEPAIR && b == ALPHA_BASEPAIR) + return m_s.m_bp_rep_score+down+over; + else + { + if(a==ALPHA_BASEPAIR || b==ALPHA_BASEPAIR) + return INT_MAX/4; + else + { + if(a==b) + return m_s.m_b_match_score+down+over; + else + return m_s.m_b_rep_score+down+over; + } + } + }; + + int del(RNA_Alphabet a,int down,int over) const + { + if(a==ALPHA_BASEPAIR) + return m_s.m_bp_del_score+down+over; + else + return m_s.m_b_del_score+down+over; + }; + + int insert(int down,RNA_Alphabet b,int over) const + { + if(b==ALPHA_BASEPAIR) + return m_s.m_bp_del_score+down+over; + else + return m_s.m_b_del_score+down+over; + }; + + int choice(int a, int b) const + { + return min(a,b); + }; + + int worst_score() const + { + return INT_MAX; + }; + + IntDist_Algebra(const Score &s) + : m_s(s) {}; +}; + + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_algebra.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_algebra.o new file mode 100755 index 0000000000000000000000000000000000000000..7e1d067b46d8b1de867d0d33f2dc0348a64d7951 GIT binary patch literal 129436 zcmeFa2YgjU+CM($o^x(4HzA!+Lb*Uf2_=Pk17au%9f8m_#E=9C1`<*z5}FVs#sF(u zUHhu<+IvA=+oEDy%i7n5Z573iilXxSerL`(_uM3~>#qNO-_QTU{p8M>d7ke)^UO2P zlrv|}&Boj*d77pP`=be6gi=EI)~eKC3Fsp-!~h#Aud^FIY@8j{IMo+(w`aQ+bN3i+ z`)I9kjL|UKXdL5f80~8u6V)&}s&Pzg!|2$?F^LVM6ASk2YFZ_l{@j}a{^R_+DW&1V z{4EC(8w-35<5G;hMha;k|8(TYkp?3r>}v6LCo>bUlDTPwh^fB=_1v^hL+nZL?n@(J zR_nrSAw%3k?2NS=#nylK#g;PrXM)!7-R#{a2_Md#lfU^uf3)fSx&>%l zAJtgvYZ$2;^JMK;#YV=uW?qj)I z9v<9qzS}Y}cgyN-eYkc^qcZ>bY>fubr&$g4hv*)!Z21M&ztM}#zx)!jwHF$$QE{wN zcd3jGc}7#7Pqybl8Zgh-P#?>R$o5>?yglnbWqV3QL!PfGFG}V-Aah1F)JHiv>ze1> zIt5nxEj@vSw(bcZQ=Qg4fsFsi6AI9X|K~h`wL%ZBKPcN+Ho^HcPJ?IvyC6O875B>i zPv5e}1a|mK&_d|um!Qeev4`WbzXyiW#`C5BSl#lsY%uy)>kalLIIT7q8UIm(UDo#h zV1uz%Y_JDtZq?h)r*Y6=*Mrn_XD{@5w2k4H7vEvoL{Vrj5IKx+B>s*Kw(>{hlHEFF zC2Js(1KLA!gp;G18uwmlc;FOd#NgH-M>#dbH9f!)Ev9};1Vl%0#AzD;Ta9k_OL1zf z=agePR>OB{e3NQ%d~2d!_Sm<76zc3A$?AuK5I%r4%F(7FFRCdoR*pg+(2Me78|rwDb=ekUJ3lDrB5NXO zZT6}`L$#Q}ev65#;SlDm=tgDe^J#(x&*n$DdO3MvVZokeE&Lm<8|WM@t<81AJ~n=9 zvjrKUZlw$@=k9-X-LN3?|KQ-mT5<3ZKeO7htDH~cVDR}2gOAIh27oiR}P%x|9f>iR<*e1tB=CW5Z;gMHkItpzHQD{ zy|E!LaeoyYVE>PBjQ!st__XaV_eV*2NDd*g8#L5mlz7D%vim!8QNt_yySWpk9EapA zb@bfR=z`YLb^mB5ar6vw!u;)~zCU1e|1Wvxv08BdJXHNY*z3raj}6`-+UBi)IA&+j zA=s#MO4IorXi)q1asMQeEz`-_mbZ4!SSN2W_V09I_TP)fwKGVcc>SB^KJm|*Yq-;- zze)eea9jVOe>OYO@BY=}bt?2$=m#+{5}tr|s3kO!Z_g%tAf+ z_5TGcOrxfUF)H786z9K`)op2oZ6yB_=YP_L+5Z!Vw{wnBQ2dvwpnBQM?47gyhrh53 z`tP|$EEM0Ldkoi@#A&RhQ3g4)Tf-|ybB$HN?BDMI)m`l?4RUXz={MftP{N(P54%I{ z{{iF9eMf2UysukrhIEkCe%{eC-r2fME_JH<-)p~kw%=w~_d8l+EMa5JJ4QpFN$*2L zH*?BL$0`3;+V3I^U8?i__iQ?nHXV2jQ=N6NRZ~@iy#G7L3I12?l>>Vn&20{@%`==kCBe= zcOT#H#&H#F!~O>cS=5eVi$}f3_q(xX4}Z{pe82k`8#u@JyZNx^_t%sZ4%hn$crt<2--iYA z*z~8HX4~n^hxb=v1*64jvEG?lYIH)R9-SO5geOVp(bnofd0(OFz7>lfV}2-yIE^j_M7t zT~3IBu66(?-4^K>ljg{1Nrhc9rRPc46(Y;6FEUf1K}umMN@+Z}r65>zh}#qCnnPW} zRC6hR7}kugsKW;e%WvJ-U^A?;QMN^86DTwl9nlO++DI2oHH#|kgiyOW%|FV~Ak=^- zqN<^WJ`vr8mdtVc6015IJ=Vwa#yB!UdX07IV5;KBg~1dpH%ui(%X2vc+G@PJ-U>0n zO`--9yJI++)U1VwrQ(wC-r&J?LlxG|@;MB?>{X)UQx>m*kNX*#9Zbf-Qc+Kg88 z5@IIIDUGbUX1;sK5n`6h2Iw?+_US6l>6LRx9G}4c96&|qniz@Hz&8(3OS%yA3Cm1~ z)8e%p`0N5xWF~kJIXRTw=AB}TAitoClTV0+%q2u&7fneL;?#Cl=PXiksKO%Vr#|eo z#gPEah6PIoTP2o8YD_O?27AC}wk2-D!~~L-M&d|tnQc0XTZV*Fr_;i7WJv>*TeZe; zC&Y546?+TitzeP^yj|6bkgBX~ewo4=A1l070-QIUzzSq%o&A-(8NLezu^bh%n5 zFFa*cC@%|I?Sdk?Cd3tDZ79(h^Xut@#dz6L>ljhqTxUfgc)b;clnpA1UNGoP%*(i9 z7Uscm`Po^3)Q3wk*f)Ur+%zHD{k}gqdfAE^VVIsT2Z8ePC{T>&8AMnYa|TndPDQ2& zlNr25F+vlPgwY;R%{2PXL)0byhVYT7;vv8Y~nQOocjXxj!S2t7T87Cj3Q|CfCI56PHp05xL#pKGzN#v>6& zR@`==MEnAB@9m1>VEebowL$MAArh+W+~M>@?W{Q=Y%FyLQ20Myh=~8SlMzPtLz7IS z_Kt?>5b4tJ^Ejp9n|2x0@N2v_s>P8NcQZAJ|H;;{JvfKRwL!liArkm@o~&Ou-O*4A z3~BfQjIH_4E@OCgGQxHR5b#GdkP$Hqe@R!JfEPtK8TM7QTMvE(^f4ml;4jHjs`%Db zw7V4ipYzGD#b44AB$?m3igpixkg=WobMcoHw_5S7tBAxXBL?I3Ijwym-ah=>TErqg z(K>M98u67DJ4=XX*e<%(VP6lBzSgcgONfUQsbdVXXv`Dw8S0-r4k^(wjl`{Zb0Xq% zn`jvzeiB)1@6t2jhlE?X;(8+?5~Zwgn&?#A4WeG&1A>5gdN!+9BG3ZDMaVl zux5lu>xWgYMY(DVC|>Q0Mu+l`PN1~WMnNG9b1NJsB1*dy9oeER2RtH1yMByA*^5Sv z=&pUc9_y`bv|Hy7DLF-3id+`urAkoxYIX2Li!vDw8qr@Hy3?j~DXOd#5hrTbEW->e z<#Z{kDHRc8w97HNSd_9AB4V;OEZreg)WVw6v@LKv3sPKLB_fKoDtJ!05>vXOL_{ps zHV?NcT?Gcqh!?fVONE#RchEeVPxxc-BDCfok9N@f@3lu5`379}DHvJn)@uPAyXV@r zff?{}T>s&heLDVjAf%tYzXB6EM=UM&WM1Nm5Q>DS$YcrQ)lgiPx zw3Za%k1GMgUx&d`^S?!<{eOkIw8)Dgs{&@yx@+fihB>iEq7WC-Cb3_U9QQp!jELTi zNJQ=h`c!zH)Fp?Qm!=N6%<@qj&l*aCIc3_hCHo&QK{M`eT^NJ5!~6F_{peF~4_~7W)M9YjO7= z6!A02;4ttcMu}(1u=y{MpHOCJ45ue*+Mp2D)?4^{p9reIzMSDXDGcwzY^eF~Z(^9S z4PoR95V>q9Vm-C_=says^=MbKl-P%A7)l$&UPpVtJ{dl&2ce#p@;xz&ib{m<@k_>A z<6dkDvxw9LptN39m@(^~!*s-fTC;dPwQqNT9;In4SBt%k&0s6sYYH=NgyACA%1m(# zWgsF~f_L3q@Ox`tvF#;Ri#-(55;wMYKzPiFccZ&`+W@0=8U$$DoS|@#{#!}tvm1tL zJ9RHr5`7Os<{NC}m{IZ1uxy%M^b>*%nD|Ft;sivAgbx^(vwj#oF^ncen!!baSB7Z@ zwJ=F&&klIb5+TkD__V-G7&_2Kqix|Tfj#SxjMna!Nh8p^1ClXT(ib>;29mK>GAb}} z7LsvRGB$9}KqTX>WMY5^O#%s4vO^#V-7=79B|8Vkz_|nMtYjdNGYrZ0Rx%~9kZN?W zl6?Z3Cn4F zA83u?+6@vsB~X7FlB2Xg%jB%U&9HaiL@PNj;HRxdTWXvVxC<^E7^~eWMV%V|AeuzB z_{$T8coammIP0UuJ%vytyh1+PES#PgMuWS22i#I*=%0%~N86*1i2*-gZVTKrkoIbT zM@I$jh;AAK(w)kJB6#4dGA+A)CtlJhL(CnTT5S?kX*Q zFbP9+`h(D@?|^6_-bF-9$w-fa%~A$+%Y+p`#lA^;{(Mjd2Ugk?Px^|npbU8o9;h%z z`hK)R%Fy4#MHR)Do`4}aW!Sao;ffNQ-g_h{!!LnXD@q{!yF^feC%3mLIq6qIzm)90 zXWNub8E;~-kuqWj1_6~zXc>c;ZRG7(0$3zZMm4lgIpGtGbQa0Tcs>BqsEaTtSR`M@ z)70|Bdp0mCw(IZ*_4Txq%4e){_##wrbK~m z=c-22rA&R_v85-yExKLGv|EST7$f~#CZOno5?sixj$p()d&P&`Vgd(8}@L`M=nm-ZkhFOkti~rtJ5sJS1VlZ=2 zla3iNH}IN>yd6hru?N7w&(A#S&~hwV+}GfUn77IJ9G2;rYcZ_pD)k6Cn~TAjFdDvo zH_%$_&lDHO(nM;2aS52bY76!-T!4Q_Kpp{Cdmv%PAP7?uq(X6{0FHYSfyi1))HzW= z&A9|Nu+<}4!bIv;BC=urjtedyi~DYHEKNk#|B!bo+O*@TBhU}Ra!W0;_7Kq_4~XKC zG^;X+yc-pRWXs-xmAuZSmd%rUW09vW*mYrlTojXrb%+&Gm!ZsYSkgL zEty;|#bi<9-Dt2*g<32TXokrSZIMM&H^eceWW2Q#;3XErY6hiY?{p!~B_u2tl;GWW zny~|+siF+~@;-I}^q@D~%WSqc#A6i>HU8$%aNl=BmykQkl${W^BU>OQQwB-%w z5TU%`tiHB4NKHi6o#ZKR*x0dIZmC7q3q&YyNWzfjmT!4O!D+A{D`xYgX<+Mv$ZA}N zIm|GQ{|P(QQ0gaqj&^H`GYB}AZkRys6z ziKMAbiI_$*Y%h_FFfSQD1V6b$NLVf?!5xq^<4%O8iZV0`*)cq61_pEC8H$b-*BzAu z{AYw|R=A&;Na))wRfum8F**z%{N)bZH~g^Ghle1bY8qc{KLVZ@a?`2c{LBofp6-7G z6OrcMjs=o7bZP>^owLB#v<--}hwEBw3MGi4l@8a`E=I?*xas7o&N_4lA$#&6ppEti z2p$4nNWhKcW)A{4TDups#i{53A?{P;zJd9{AE%AQP!h%+_5rz%O#!!^R)Y)j$%4hu zC{|!?Z*V$mPhpgUd`GGp#W?PXp@WHg98;b@Rr_>$YdAW&7&e!J!I63_IO{WNYQ8h9HXxVIYQG>Oe+mLotKcQskh?Kn#1>fsE1qgqs5!LUrS$&cpT- zGQJK^$2MyF=M$o8t?DH^rBYgl!L*o40IRhx(Q9m=7_ME6!N5O7o7xQzNMv(#>__l5 z>p{Lf!Zu^fIGdRKfL(~(35+Rl7(U2ozHaUzvZbnEq5p%5rdA4ykitwDlu4K-{qSgPkW}YR)PC25g zo)aA5Fb`|*VVTFRW4pHp=aD%aYZ|}d$-)2>mb2Djw)H%;mi?Vkof^RZt^hCRj{JnKu$Z05pA(Dl@R|h zPr<3-5D`oxw;FxKKg#p2-c0%gGB;o?kbISvg{6pFx)@PJ?v2pZKhN`=>2O7G0~t@C zXZja5C!r=+J62uQOd0%(gV^BNnJ)yFZDA#6zfVL_jqvaC z9NgZDh-`ziC;?Y_EIM!9QH*J`IjDEsdEny<4C)}VF3(j%Vx$kts5-^haql~`mjv`V7 zs~lKIW9^WZ(nRng2Qk3NII|@}tssJr5!MOQgnxoDHsdJe#VL~?cCdxU(q+fOy6xV- zi&aAMIPJuFN6Y0h{yaN_zrlDDMYe8L)dCF;_6pvpd>^!;jMFbC#JD01B z8_oNWfvPwQiFN@b&V%px?=sKBVk3;1MdrD@5xCzxG6GK=VqG~GlDQ7dN;V?FeCGAJT z9>nb6*S#0lhr?Wj_QG^1Vad;WUMdZTIfYsxr`lM5H}9%xN5P6~Q?M``)?C5QZLEL3H#X%cSP^W8zOPCy_nrkeKZ=4Q z3F`@`_Mh&33W~d7E(Mp`uw-3No)`{muHa4^>%YKTj7iol(!q-0-45(JZ&YqL%w@s1 z2wQ}kT>m{@&L?hZE(P24v|z~{^jnVBY*rIz*jWEd-jl1tMYT=m1;6$_3_~78!Ru{Ua=L!;l5m()sHNZwHr5{#@xlp5!J^mOu;g+2WDE`Nl3faR zgOg}m;WhsBhz~K#ejbmsT9(W5tU^Z<)@BP}Cq~S}EDV7TjD{A$kS* zI8}XN(t2Ja4K+1sA+Mprz6so2QX!dXlHT`eM0p7Io8sx|i@yrF4pRa2$}r7% z3vrW#zAyAfAeFkXEeYJR>vS4iGx>xYPPaF|I(=0P!kB%)A_5IMl@AAD+FUH*C_vLj zscn+mx2{pUBwFg+UZ7uq`%M4cPt@8scJC4_Qme`H3teGzg5kf4(~(q4h#kFslC21o}5mtIW>|> z9mYB!`FZWaXtn8P&Aie*j>ix%einBZbQKfq+#L?fFlwfAzyAn zhS3wlXm~hCBh%0N=OW;v&W}Ja--Ez38TA^MYmBSV=mRFBeY3NLI3JPF*67RVA+2wX zGDC~4(WMY&Z;ie`OKpy0K}5OO8f|pArnUqlHaEk;%_Uc!SrbFABV2V zLY%EpiLtjvOUSaeMu#9r0bSaquLy2)5VvW!d&3d3se;!!h=;UnOlEEw)ItOwBf{Dm zy>FayaH|v%e9vLNqRqlGn_gu1yzC=nT3e&9V^K;kv~y;6#$;-5jV5C7apw#M$+Wgc zd+0)BdO|saa~$SjZ3b==d1lovGgwWgwKbY|cC(zj9A;b39o?Jdyh(~Z4TC_UXO6Q% zRf9K?c8$Wmv8P?Y5t`7DrX;tTbGOexA zPq0?vqd%)Us@n$Nau6FlKSW{bmxz%6itJyAP+OxLm$f1yyW2nuaFwV1u2v)jM-yOe zjh+w3b~~o*$iZRRmzJFqSQ0K zrX?aYD2U*X4tAAiXwPu0Gcbr?XKwXbTcdYlG<6rM6d&s#e(>BpIvnA0oFc-kt_7qmpE6-00!Vb<2@&ohrwUYs&{ zQkIP^H2yg0SXj5+$J@EEHTu#~bGeLPZD+vNX#dt4N?KKQtE(OC6~-r6zqj53u4Z`N z$#A=|vDxt8EUc{h%2T$|Hjf$=xc_hq4`E%J55P#SjQP5;V%@Pah~Pp8`?+y8=BU<% zyENbFWQaEh`Hz+%w5$t0>}2R-e%;JFo2jpi`IVEQxA{7HPwOfS z?7-wYR4qn_&SC~@YxMpdssww581fkvll@`nHs-LlM%!VsrB1En2sOgU8<|6Gjea%5 zzBveqREx0SYeZRFqiZp&q3X_*C~YV$&p?d$j#z7JG&;0yiK8wem@oufYisl-aH)#D zRtRR0X>E0a0P$K7h{|r;OOLnj#nBl<6y#-i|xnV8^=MrXZjgDznU6+DeY#6piXTT%f(wssq z3tn$yu{C-Lyt7rT2)^LJuJisbGaTkp@DO3v)~E-az%9+CU<#IM5{9kO&)SE>nkzWj z#$szUvst4!SUmc(Vb~gt!es0&*`?q`gjrjo2}$8Fmx7PkFl>#kZ`MDYLM;m(u(8-0 zJq@#uyJQE8UXT7NOUBmdA}kEuFqeYagjrjoZM}H!Rl?BITlV;9~(~2t~pRj9a^+F1oWTDrwZA7(l#cwa{CLrqW6-nc17PD6QZZSOuE_?U4tm+KRZwAVe-_j z=z@u1JUNqE(`k1qW$lXY!)itr81gQK${IzKwJUn2Q-)%WIE74WSM-sN&A6#+$oXnrqT}XEjA@^ zVo`ayNL(2}n=8zT{%1>3W=lE!qI?eeDyc6PK)hA@gin{L#wxFaXrBiG1U%Zm(3^uUBq1AFfOwh z%%L70b9@pp_d1Xp!XOf-ATJU!iMrfxL97kA)Pv;EXA&Q81IsXvTZr)d5%udZl239{ zlTQS5_#|N8&PQ9xtg!=`L!^!*Z%re3ACE=5tDY=*s)nfr1bmM{HSz2By0robt|eeA z=D5T}Z7*K#F2 zPJ1IC$+22G)=jFQ0trI@ zI1g@R#)IiKIv_OJRCqrC1>iXs35??9d_?n}MnG>d67SG*4xbJ2dwAQW+>|e0CqAzI zPz`V5n5k>Swg9ghoovDHw2SM6_`5|am%Js zcH0EcY#1+0D=~C0*~7{qwY}$O42A5DHbe~jl-w1C;CAz@!BA>*;@YuF(#eO#(1LtP zH?fB&Yh!cFkKl@7gNV5v%*0gBN|X{Vhn|Mx@5Icm2d0l_*F+bF?6?h-ldCJQ)J^OijP^42NW7Tr?G=j7+$vh4N)g zDhDZ3Tknu!Ge!>qDJyrKLkeU(x&@>`EBiX6oQ&JycBzBk2-qYeD*ZNSlsaTM)K%g= z>6gNHQ-@x4l1(u(rfvmgn1*g+sSp)E09BJNc-aQLdd~!2z2_ya2%$*GWn8|~A4bP} za!}O9(q>t(mRE*p#u8*QN$9&6)+#ZDnBFUW5+A_#3O=~dn)N+eV8{`S@x4Y6g!$ex zqy$4zuM<=<;2H9MPb70*#`xvwnd2Gq5lZYeMkU92hQ#2muUBq=DCy}r!87DbxMi;i zDmldy^8@uBkD;vB6fJfY3c$SGor_FK!wc?`rY2z7$C*?0nwV?{S8U_zAVH*_Oa}XF zugc%g65>pXwFF5(Of3N>OI>F%tWhAViJTiofV1&=G_J)JS=W%xF2>iJiygTozw(oZ= znVIC>UIO0kl@ZN&Q^_lZfAsou=TX?(f+=i0yKC=aRPOcgbI{RE7yT%ADUkA^d^fm8 zIa(ymI0Ix;MHzaHb4g&M<_(%4#4`Ab*3G97U)jgDhIaMT@a94~S05sHMv z%gs zUWgtnQJXvs9?&OSpN9UZmh*whk6_B_GeZAUqfKhlc@9RgJ|p!~EWcI0&b{FEeNNDS z!OgBk`4L{!XOw>X**0bJ%@_juoT&GO<&(zCww~ zzuykhczu0bh|~eYbe{=2&$L^p&V9#%G)Zqnf3Z{;ghfi9$@=9OtSw5n1W=~vb*QC9 zIiUk6Q}xd1Nxh{BI?sh?^qHo=1>0MgtEu>WT|3R8&q8glrh?6tC4NAelw~rF=Mm~sp43Df2>3KJ3P713_T7;voPaFfs(I#Fc4Xk1MuEH zv-SJXV=c;7j5B@a>SCuwiQf!=k=}U&?ycxN@XlL!iMtD-NVtgcJ9;;#Cx+4Jk(sEU zSB7cE{m5jJkT(kJ=_2WlPgw5wq<#|IR#{BB|#4hr+im$k2STWtaQrv^cj$E zQKVCTpeLZ(Zm0ZEf4s!ONT>WtUmdEnbjq*wJ4QGd>6G8->lZi_>6G8u3n8bm^4e>yt5XggNCi`WJ8uwwUdd&+6yE;UvX!%2)OIA&PX$*Y(OK2P2*GV?7aL zgOy7<6RA@^gI~{8#3RPofSSGIzpVbD6-l3NLXp5aQQP8MmC$ zMR%N1(r^P1v+>N_s ziz2Ya^%c4-hq=S zL6&z;Ha>A=>kr%BImPH|*uV!4*xotSsKd%YWfwWhJEs{vqHNl@1m&I6jc8cWQcim3 z4C6Ia+oDMCoM}AU;83J@&N6Q57w(;Nj8`#%S-GTlE;8;2`Ly)TV&g%W*TP8eEHSn; zIuz-hi;Wr0ymN^$3Vq7TCB1X0@dvD#!p6>###eDz0HV!o?;K^kgq;#evAlD<@n)q% zk={AcsLXOG(mUrHLosbyxukcVZ0M66iuBF`BL}T+VWf8!8h_2TDDg9?1HH5E3?Vi% zf!`$JC9VmfNLa?W<()3NM27u)7?NRcly-qg>-R9? z(IZ#_e&|bPjbYZ*Q4U~o1NxFdmIY`h0VM>e-@{mtXiHFqQ)%nhQMM7Keh*{s8j4T| zmZu&jrT&o!^?MlO2HE?1QWKH&D0%AlFnYq`VY#IiS?>~|eh=e>?coUP_b~D?MrBcZ zJGV3q%+6nz^BR7zOh&QWAwv?p#&xhu-ZlaTuKZq^%p|IazTmVAf_1)AT(8!q1Sjz zDz3u6lgVh`x8Xo9A`<1D8qEg^-W4Q6+0=I6$b$^tQ~IH+Q-~HzICPfBABSUI=Us@A zmo!V~DU3@7Dx(;(o#jvC#VjUwGDZpSGK*__+L`2>f*T9(%AAh2pM>&@tm_Ck7sG(J z_6Vbv@Q{ndKS?sX-EFZ#e8Geb`W6ZN{3g{3r@<;8fM>oV4a6|bP$9{EyP*Sa!Yml& z-O-k0?z+VEoeL=mouSCxS}YMx)g8toHbYjOE@)Y&)Pdl@vdT+{h}qyU-n1F15G^`h zM8=+Ult$HM7TaX^k;VFU*>XGlJA!BLK4D5!(JRU z--6%$<@lk5h+uon9f~gD7?`U^3ZUXyjiGixY&Ei9H`Z(3_p}UX=m}$ICu5by!@=Hz+RaeB zMG4s>ZGgw)8Qn?&L9X*O{FXF+$>GI`k6JHT@@mPNKvR9k&SZt^5>$9UvB36`^`w#CX?9%Suuif?$B zJIB$r<5cz`Hp*M#dFu3#a0vqs@du)K zM$LPxXY9C8aqR12#2w`F*tqur&-IB8SDf?;8Gj9;^sAokBAYcd)~JdMJ3`17+?;j6 z?+q5aFwJT*U7LrorOSsCU`e=#k`por2GGM8DbtL8(8yF#hF(b+SdVSGtKk_@Mz0xv zDaHB#{)(T_WS`cxA!i|vF@SIktolifNNO)&0ynZomGGfR9J9ymVz89?M&3k3_G%!8 zH2Sgp0}YQ~E&xDbu@oTUCJbc8q>>Oh<~@?Bh%r@*y;3rmIgY>jC{lkRcP0i0J<5e=X=mfa-|BVam9EL*_tq|_1db4lmu{7{_`e`3Ne`6eVp zLIp`wDV(0DU4`yq)2yK$_H6{*O=W>Dab7P>0(_f;0nI%}@loh#x>MYjqC> zlqF2qpylKzQu|cwvC-_maT?v(0(w$03nq7&3D;5c{ z4g*z`9yjnEwT7NJv!-Z?(A(LDKM)CDO;RZ%ItRnK-d?4A(SO0MmEJ+6qN2y3 zzv&%S6UD|~MqQ}u5g3(4!H6}y#GQ^%B-~9ti)==JvN;{=pH7`aFkAinS5Afc1K_@T z*QD#GL1a=CI;ob_X9&!jbPM`}p0uwT{G=Q-xtYY5V7y7|u_B2`daDzBEGf1JPQWEa z!Iu7{dN_1sk_VGuRMKlxaKa>M`VJwYlh)P2(n;qfY3C9b7)G^=RMKalm6Bo4`9TQeTz}CI$Dxr z&yaG=e)@Wj41CBxq>jlA93Albtsc|82o_-*>*ZQ(y|jL4_=p)n?&&a*zTDzk#!Wee z91b3O#SN&s8ax_hetL??sv#hV8tAK=FyvX;Mb_D*e@>BWIt>faQ~yl*g{Y;zwmYm& zm(gNF0+o}?QS-8V$Uo^D;t$ikHvMo4LR)*59>?6x1F9%aN}`Gf;8gnN*E%%MCN)1P zNJ#W9FwZE@XcZDapAfq4{#qd}V8Sl`5+vY{v}iaD!$5zi=9OWZu?aX+5jYxnjo*>L zXqury5(aKBhC5WkRT8=l`37#7&|UQ&wCg`KBzvf&rVnX=DH3|Bq(_f#2L%#(u_@8& z(aX<9s<%q{qMt!$N$8_eQPJPPe-rwuRBZIUFiJw2N+rf*qj-(wC-m21sf!lJ+KQNb zhcUor>;Oq*okj+qQzr}@g~qp-)}83W6d^7mAS@3m|3?T-GtL9cR8fX`mzS#LwP8;7 zhj_A0jJpOb5%kdqN1(;b#h&?V?RC|y zGFvc}OfR~Pxy|TF+=OFQ)>EsU9H* zHxto_Jm%>hqp4Z;s~qNLPaj}fW`B$bu7%BQo;T~m^p1N3IYjUyBKVe?d6s88)|xK; zEJPdNwDYjGFn4&0;5DigSv?EUkBGwv%yT?{p3s_%sYL9E2I2zGp3K%{EFC-xP0z$iY8AkEf;UdI`{fK-Ve_CJ6 z&LKSu(^b?ykM=hd(h5|JUF696z|)#A5r2k6px&Ft2=QkoEJ1O9K?3!rCN@ott?I|@ z6(3b*;a=kwps^#3(C0O-^s>HWq!~|uWHLJEGsI+n9Vq7RTOb6}+PrF<0r(m*VY2(0 z?4}wRd5Ax^Wge1ug^`hGtCi3$Czuq<4TB z-Szsj#Up)OGu~?!kMzoLo>YDlXlxdjJa`bh0e&AAc~7NL_>U*z7>J_&NUjH0m(IhK zwkSFQz2`*vA1O>W_?&!@yTgSv!{uX(_F@&I8RTJfSOf>#hec8*lDklTHI`X$uoEb7 z&Vup0%q_S9UQbXPU5M8WDES!@3%^IOz*7w!ez$4Eg0?bp-iCswk*6;bQ2@u_yC540 zEq}o{UZyWxfQu-86Ci#{7E7uq#r!8qs$`<@JY2Go^K2Bg;D1QVFE|-0ylBzKfw%B2 zBo=;zppeHm372HO29yK@4y6kc3wx6sbd$%DJQV>yr57S7c>sd+-(9<*uma?(A@O<^ zv=)iN1~=tgBoa9#b~Vr6Y%C1JGkDm*scu)KcjB6*qZ>q!#cNO zvC`M5p=B*ma6-9~PuaWS1})?tu;rhnxWq))@QS&KMir$rn}c#AmX@D^d`3vZE|QOKPv$Y~LW65b*X+1(;% zTNe8WRrt0wi@j-EZ0m+XwuTLC&03;(;c~PG`it8_6g%D*vQP{#v=He>SY)`*I%LN} z4kg?|4msRH6Igth&lX0&mGKQ($f1N=$RUR;RPYA0eGD#q8ESAw8wh!h9?nBPH-mB~ z>lKN~MVnigii=HKn2to@L^mZLiG>9uSG&pUNojIZevgFu6pUD*{P`jj{2~i)-d{ej zTW9-*f&l=tg)RZ`a(r8Bq0;TNj@@61r%=9&Qrs1{V>#&F?)EeMIA9PNYQN`@iS0*v zG``K+&mlYQ=TO4i&mo7m-!2v()_#joNI45~Jlvs#x1U1}wO{d!1N97=eN9CCP#0vNo)YxE`xd5;A-HF7B7HFC(I8Wk+ZoeVwl zFlz8>TL^JHG7_mceBB;t(?TBUP{KXZAv+%FP+T7QiB&iYzA@Te_(!08)~s-w7AoAK zgct6Rox&Z8tMDZ&Rn0Go!O6;4cj4E8atprhn%lHc;SMFdaEI&^?oeEXe_$2fK2E*r z6f%2nPzK=ZF5ISt3U?^sg*#-YaEIb5{4fgtBgO^!j#xZuej^8og7#QzJdPM&Z7U-A zc_bF{_C*x%g)?S32zo?!yN`COcLi6RV@Lv z9)Lw-#}IH9qbH)W#+;pqE-mW|wT!uxvvgTiDgKM*sg!|_$<1bSbgEUB`8dd@J;|cp z$U&A-vM7B~4_Lw&Mf#$|9gIFpvCFElaed;|n4FNE`$AIRqJ!Y^`H@nQDXqM)aE0)` zDc@@mCLcf*Mb`+yy#j?|N)sk;h>Hdz&O2%sN9M<^Gg-pqO?S}(M7aUsk&9)fSW1~N zPxcf_6z^kA-T`}!WgwU@K+mGBh`oV`lFbxKEy1OT%Rc_^GJRfQVUbY(T@2AhR#X%{ z1OWe~nLDf3VC{=O2kT};lrBtZbGdOm587&T+heHvhBTbz#l_@*O7j~0=VZ$RaGN=Z zv>E47c}Z~P6(;|ASMluD>_&fGR>~ZPMI7N?ucmq~Cs&J;l3cnk*Df$9b-qkA%Q!b1&z(LZ4$(wy? zfccv@svDF|xH&1#0JHfG%9Pb=`S1e(Phx+w#qz;@gHn#YTrMAe0{95Ntt}sl*8_Aa zr!)Ho6yp^!hY zAZKcIDB)A9Lk>-?xOcZKMr-L9U|LwreS^Xy$h6oq06)h%w|0Xv+zeSu6uiAgwFqTj z+ocux?i-X}Ecsr5+u+-p{9+z5+2tyubRQG078#73+fbC0hwO@Ea6|>{!U5gj>iVhg;~{78W`QTWhoN4Oz&cgj>iV zhb&Z3ce+{>?LZBx0ubUX2QLHVYSznjgJRP{>k@|&zAkad&bq{*xYi|aqHu13G@#%; zEc{qED9-}S{&F^eJMnF;g-SoBb(|ZN&yXbt(}GPYerTN#SCHUpzk`r9q(`XzDuH49 zk^T$5&Dzf)JMHIC!rRXwhqvFCEI#Z8Wlnb?cr+^1ehwwP{Tyl+r z*DH_w6gAkJ0wIn^9tK4N#qE(cE##37CEOz&vg45s#pRKWR^cr863ob=f=$T!s5KsG2wQLLIS^2o-)2D3_D!>WellRJcP4FWezJg*y~i;q_MG z5q*Ss8{bgj?UCw&ue)%Y7AoAKgct6Rox&Z8tME%uIM+Tb_$wB!ZcuiE%!NHkGx~xY zTG$snXJz>S^zX@2Sw6M0kTf?fJd0p5zkR) z#*($i9LCL>ei$!$%w^nLTL(FTo>zNTHKHPCY^E_x9UNgUMPl`XSgj?*U5qFi6_0#h z{rw{*Uxrvc9CKJgyqht4`Bo>oXuK2s z4r-~qYx?7!)51nBb)ttBIe=@hJz)WUMD?ub)jREIzu9NtZWL0R4-Iz{d?Ozfw*Gi0c0x)BVS=|it(kS$8iMh8Dm?gwq?8ZckwY{vGUaWnxw-C=t47VZ8TZnnT872Wk&esx?17|W{Bqjn*;j|d+oB|srfu?B< zSS^^}1JmL^b$hl?!vUX0K0j;mPrFY)7fr4ldfoStl(Vi499{FQOXkH`H-H!4x)XVc zT{nZ5z`9~ya@N)IvZ?M&UW8Wn2YL0>-6XF@-NW+gt9wyiW9$AQuYo%L=B*}j)kT zc$EzAl;LACd_{&I$?%X2+ZfE-NrwGoI8uhwWXStv%m`^;aVBqC&OnX zvw+OECE-gMdQ9f$BQ?#ul+08~7{+kjM25b)QR8qy!_SacPhE+;8g;AX)mL|xyvEjD zDzAaMTje#UZV#_U)Vf!A^{o3?ChLBb+^BVHazPDjxCUdMw&5Nb%Kyf?p%J|jr<2gf z!M15SI(+DW%Hjd#Wh-je3|O+FHhs{*!2>hX2M!GVm8~c)uPrG} zFYedR;w~zysTRMLwBJlnE0y`Ridt1wD%th^wL*?WbxmniVMS$4S;dO#f$W-Mbk&mD<)tfXtYmdf zd0`nqMKu*w03atRt4fQVbXi4p;i97IQpH8Athf*~3#>|o?+C>~x@^S~TM{)|RJ)k$ zvJeuvrLH88EL(xnR}__Fl)#D6($x}MQN4I|31d)eIm%mIQB?w&aL?lEni6;-d2S=f zs!2aBEi5iCs;(}z6|5=2COGmMTtqFc8h}($ZF!B7RtZXJQAy3(N{L7BRr;fJRRt&n zLsPJ_2c`;l66Ol4wq<;pu(GJkGN@%ti)WXG+M+6D6(}bH>-4fkcGLzy8CAo|rA3QM zsW3iP6&Dv3m&z7|0_bBhD~-dvc4IMJQBqpGs;02Ivb4CYsJ!g-BHIzbEGw>9vC1xe zIlCupDvT&$dIE^(@0gk|X!!IS>pX)oDCsZhzAiH9Td7iydD>x|_!lzVqwq}<5Al#L z^Z{D1bWT+XKKdG8KRfPAH#|KIZF;fc8D(g`eZC35Gd#aHG(F0bjd!i}nu`(dy+W)aE+v zI2z-BN7+p<>g^kS{YLmUS3%n+#XZpD2mQtWw$Z4^{TqEvvOU}A4;gSmzkcQVFJSz4 zJjHs+b$aKOlEUWL;|U`Ec^%{D=xiFs(JaNXS$S(Hu^8Rr;jF^;Xi4ZldXp7{hy0M&y#JOs@m8yfJ4|elh-!- zrj4F+F>?KqA|dfAEV= zNBC_{Z!O(g{aUL_T3T8lzqo?;>4D0ks-oqkxC5^afQ+|46q)yt*#S{qw!EyosH&`H zt-}dr$QCmvjyWlR_SE4+1`N$`BrY$)4!{~wS&|(Hh($7#H?09txf~>1NCQiy7FDT~ zB9>s6plC&LsW>7Y*0tO9o_%msM>BtK=x=H1+oQ}!b+f6n`G#&@8!*4uNx#p)ee#Q@ zd1XiaBQyPxB=gw_^Q<1`hY{wU6mzqW^m}~RFW%b5e7CKBVVm?16U`%jb8Eo7Akw_Q zhk1J>>3?i%e%V3X+txg-Oetoy9dB%vU>Tk9IKM?4VtmY`)c5+?j0N6cGE9&DXk$*E&=3#a+$&0^;_r=FL6C z4c*LlJBYt@GoR@u_H{Gg4v5>jQ}Pqt&A)XQ|LAUh(?dMh!+avee7q-1d8?=SQBQHW zr+G&&@jt1smv|tR^?D`M+}_9B*~>h$uh`a`h#T zdgY!Pj!qqK$NxXH6JyO1F&jN@9ljvOXPJ00YOGl)iDzn{hCYqsQjA8Q zKKft-BA>?X+JeiWPuuL;)pREwIN*%WZjM+DA8t9&p`qYVV}Y-s_NTo%X?w>;alqU= z))ycG`I^T18jO^WITSW@PT9?&l4MB$nnQEb*eDy)2ywMPH5@3|)9`ppZo^`a{oFt1u)C5}}W$?u%PCl|mq z%(6`L>0gn?);`(_t%WBNz9_@kj((YFR}$AD_>PYD)qBRYHEnuMGkOQ4`Pqao|NE50 zk8f*^+oB6R)sr8-8TLLNC)&J;Tg+|7nIS$8W*&2_VU)2C0N$*||kkF*?h3E;a4U)q88b_Bv0 z0VH$qwQUi`w+uo|3BI;Hj3>|_wo)$4c3_C5O^ltWh>fufL*9+}@=CiHd>gG5%=6&c zwh8GIGSFSfhN|E*>`a_JfeE<`D9z567r{46!w7tl)FM=35m6)Nl{o~J<%im41fI>s zZg+OJ^Y}nM02o=kw5Y0oKynx@tf?x(Mzkc43XICm-Vlx#Z~R7bR&K^?Mhj+5#FFjL zR&>~C^*m)_S#hp-#v*2B&YU*7(9L<(<_w>>q9z~fBNsrt=Vp$>TE@-%%w}df>!zU@ z;*dpkiZ98^P`T8$f8q41ip6E+rMdX!0;O}-;BghTi^@w`xW%*-6w%EfRG}H9qXh}( zFK|~Y#Uf`8wW{T?MY@|si6K_D%^HGSWZ9+?JU{^h=fl7}CBdjuLmHUJB1mj$U>=5$ zoYoA?QxFcbxq*57!IEh&OkrRicp%j&{-_4#u?HfLVPKwma6?)#Fb_Qt(#*g-=Rk5R z2IlbwhZSyMo@$V+76xW_?T@dA5j70S7*8q%5aXc1D+dPq6VUPNBKW?Ik#BB0A)d#% z4!+#N*J${@3|}I82VZXtUQ@xh1m_<35|{n5UmxVhdrU*r8( z<=Fbz`M*ToZ}7bglMi2`VcmA&%XfYFQV;9)Jie?`Exz`vVtj#d7ruOTvJy)O9-rrf zefyJ!_yByLh0O7o6-ptWWzc4P^M|r&L(1e!SbPiY>1ZXB?zr#k~XPGR6ec)@znvb&V4`0z_`ahL#%Zr0NzDoM<%CqIz_V{=0Y0KFNUHBsC zua#rxkHxXX1bm$k- zD#h16>0K4TA`f4_`EY7CAwGr-zUpFs_ybp6@O=<6ho$3&2=ZA5ZN`JUlua8_CeKjw z5cmDC9c4D)+XH#|+Km0-J19*5T6uQ<(a6ttV}4D39xAs#c0K=HJK1u+h7NoK<=4uw z^Is9b(OP_0!KUBh%OlFH6AwM}bTe&BUw9wB$m8Mm`E=U$Nqp&(Y{P3IV-LRe=kJKW zg)e3D4KubG%b-uN49aF3(l=NZeS$t>A3>+@vrLx3KJXr7O+;Dt=b)ATPvzV4wC?In zkbhU6EyuRUziUrhP6g`9_c(s796NvEf@wkL_)=zOHO{r*91JMcxmYDl%dg4I#0#4^ zuC%zkXi0TuMqz&8;-a#09LBQvL)B57iTO2yc|2!gesz9EA;Lwux%ovC^Ro(bbBE&0 zRN3jJxyxowMp{5b_0o#fl@+|tDJ-lmQ>Tjx^d1R$%Z79L}o3iKlX` z?rW+iF3-&zf?s4SEGb=4QMJ6VyrLR)m68^hRY_4SIapYTb9jZtYu02A3Olicl82Sx z5Li{k+T7`@k7lIW6=gLzr6r9t*(GZjUb020MWGX76Q@sh*)G$zU5#VdL4`ErAQ&>Y zvOIU@W>7lfu$9l@%*+EG<_oFD$E`!V`xwM|Eaa;nc$N z(xTG}af4WryGj)Dc4&pP_^}K=xO#O_W$sMbh|;tfq0>=AidWQBmD7-=m!cv9i=qN>wyUN0Zk%`fDMxzGVMDeD+c zIJ9a}>5{S)trt3&^)4w~URqsUw4{_>s(I_n`|`B@t{ZuETJD&)@z(9Vb861MxetsI zsAbs-7`D8;u(+srsb#b3;l)Mh*Ldh)>zUb#(+sI8Td{TpbS+#|%7c#5dC~crLrZfr z2jd^;IR2H1pI%fJ|L0>t<{+hEX;n>OQSF*scRy>bZ@|~`2gCKPp+mOoKQAR%SzEmn zhxUq3b7eeMBf@6T$Qhwpx=*HRN$KybExK%RMQx3cy^7lg)-#=ECZt`^y`8>%^g*(0 zP3|&f#qbdqy}z)!xD4I6Y%%ZhWj9kmd%#_kt2{RYV=FYT9#V|H&2A7r@Qo~ydmQi) zRxi`tcWWyvORHof9;6mbb5d4NDRlCUX7MBG|hackYG*doQ9Dps^E zXt7e4ik4Pwwbe=$>)zT|tV_TDJ@Y%~InRL?(xs|?DuA=bpIV`MPiI2H`j#obDzMGv z57fmolpyt4&TqGDT3wBgBi3`I^+FZJ`F$!AWL~0pe1%F+sp@=FVut1$6Y9v-LBtP>gKAUZERX-b}(Ne(sQe_xPL==r3$86z&godizxRi7(i`mscz4A+JS#p zjRm#!bx!AS1}>K%8u0w0%m-7FRP5$!8kNq(%6&oEghai)qZtk5)2!l`msAwH&T5P` z`xSNd3!8aTYtgDq_ra$(QR(v}M_CvkhiGXUvGzq(sz&|oLgy^p*EA)01FO2IACu>D zlfByF3VD+2gx(S<>7yQDZjHMozrW6?-PLTbw5_`GCJVc%$ofsytHgM_RRQJb_WP;V z&(*+ZZMAbeqsve!3#Da=n);@N%EWqt&v8?suBw&}*<#b~Uw^48wjR8{Yr9U3>7q`# z3sqCgibl(_<}1Yf;-aWFsLq)Zkj)laQCD4U*^l<85^YoU>dunyB)uM}bo8}WL%ONy zDhqwtXjE5bueg4pDtdWCqpD!34oH_WO*z2K?t63nS6=%;soI?xGpZ9K6ScNFATgq3 zWFWmuKJ?aayCOQ*bYfrID$AS7ExSup07ld_`CzRicooZ4k&M1s%56U@m-0-no#9$I zg&^&Cx?1YU&w#R*{+yMuexz((la<8N~xV4YQ%L7*%V4^ zbn@s+vuT!LznnQo6n4NF`ek?`kG?tfQZl-wv|8v|va(ojc%#a0^vqBm1RvTB+2UCkXSgZuDVVeNKC7%t4_YHK~BxLVY2^~qApn@ z(%igV#tX5F^)5KRQ$w^QD`=Fk92u0+{>|4QRsXlPtlquA%%Q{d;=)9IV^wvX4Vco@ zQ&&=&uRtlCTi>$N-Eu0|Gv=~Ac+I%LYsQ)BQFDnVlxS$Ei-wL_n$@DH^|zj-B^6ZV zRF;m+nK;*&kE>7A)@T_~GkK&mr48S$Wy~_k)d|7nOs2S~7G1m_~vLs4sYPLo*dpwEafzsfr5*7XX5A^Lr z^No}&I5GvO@okh|F+Uh8wUGfpS^acZqfx|NT~BGV-8*XxHC(UTo9@|at*4^2QI@g3 zWuZbNy~b45u(Quyvb;iOV^MS#8C*=w$?;Z_dI;+VvuB^#j8b(R)HwIRb=6XDMocKJ zD=kxm8j#9Z8yrHG!lZvz9ycXhyP~mCtvd4=)pgUnX)~5S)J^FX2NKuO|%xpYQGH!ZJ@BgWn}BxmCytce`d2`sNA{tk+r=W z80i)El(At~Gf7mf&CvG8&aIi2Xc#x0mth(r15B6tT*V;2FxFwD7C4QzZB?(c@`NMO zn3dNOn=#sLIlg|e_+-JC{l2A=+TV>tl{*?U%S>D?+n6ksS}|OyDG8Tlb<^FiDP!}C zLGtL)l?!sktuDW9Fimz^_>$sxRYIQ_aKxSya_*wd_-JYvB z4UF6&LV@COgreMhE z@uP;64ILt5+K`e7T4?TUQ!^48a6}>HPJBgdmZT!pq#hXngJBx0Bx)PyHjb&P9WS+5 zj#blI%KxbEoi#sj14_HW1_R#Q-?yr=ztUJ`O8*!wO0TM~P6XwZv*tE7CCAMyPFq0-JD%`x^08Y6?h%ek;@GnHiz z-H@oMo0qV+7N5;()l5Tvf$rCYUv(KKOy*@HrLLtn+s_ZF!@>G7LF!}>+c&6}@RL~0 zxuT{#njcK6Ve{7Ou#1fMo^JBl&m3zo62^X_4<=*8mMAV#tCd(#p6qW^0yE>C8*#c; zf%u}zIG}NMRsDQ7=E>Q-4k*{mi3|)*0dgrZ%SNo@R(-OUT3#*JQ-3~YICko0uGV|U z8zY~PG;>R`b*xQTQhm4O?d5KwLgR6F!fY#=+lkMA{!g=6_`!+h5-1n(X)etR)Xzj4 zZj^RhBLk;dmD~)Cb>#FRab>zOe8uh}KTo5HKkH5_8mj7LO!5(Nt68hOKC5_=U439S z;;Pyp-#l>BooxNMg!HBx0nHkaIxuUgdPXL%oPHJl?K@8Z({g1`l9oF!7*?&0GSM(m zd$_2oX(r!d%hv1U510{JvCVftgQw>DAZxER;GGqk-0RKi>CN1+<~gnhWi#}K<7Qri z8a^8`hc7v)KJT$n52`4nbA^SU(8t`Wg1{{n$c}Bc?3S(BQCB-_mIfB4I_4wv7H)XtSGvYmFj%s7JPZFB$q89Wj-o*@r?C9F21DQ()!{coI9zKUtFX| zpLI@fy4qcN+>yj|MWoUh*fno4x4N!at+cuD(bM`!vW+FJ__fApTU1|XwpzK%sAgpN z$o=1)%q(ph7LafLKV{I&i_uhkAJY)MM}sR!x!SJCe&U7-8k>7tPuQ=Qjcg{G=^9Xl4iN59 zRFone8Vy>9vZyn73?+x+Ej+LsDf|P=P-V6%^EwSE10*iRf6BT1)YajZBz4`K z72c#bQvZgk88cb2$iH+l&kA}Cb{o$NOGqK1T~JyaH&8$e=| zZ(Y@Jt(s|9-k~z4blLNTx{x!7S2fB^5ZOK4>CghuKXUX{QBIk+a^{`Lq|;KjEh~65 z)7)H9^Brq^<~mpNomP$*V8#@OY=dX@TcNYC8dO$iB>QFA!on2>HC1X*s#11f&1J<) zcj3h^#c8)@RI(pTB$qXoPq&h58JezJs0+*DhLNKvCMUwfX;}Xza^;-A$Cf^*>9^Gn z&fu{)?9QDwz9o&YIPX37(l^z0A0Ut-5Z0 zYaGeL`KIX&bus`fE{PsQ+EMD1pjyerp%W-=x3gb|h04|tXv7xQt=21N(Utbz{X12k zoLtWmTC2*ZIb+qhxlQ$Ro1!_H;dM+C7O+GjCJ|m2$a1F`c^2M?aqFUe0kE{=d)j^`kXN@9d~x~{;>b8 zhQ+lXaZA2Us!wwra5GKI0Ivlo%hf5!Gu-+-Ey@WUfqi@64WM?3)I{^Yx9rZQJ>~al zjErce(n}F(EZ0nobBD>E8#TqrBq)tJ-eF{fXsJZRCm;RnT52z4-WAiU7KDE6neB@W z8q~7b;6}5$zBnd3gk*1#v6iouzWp-zmL}KjxN2qjo>388sZOeuZfdEelAbYwnr~CE zs=a9rh0eklU-XhA=cPzn^O*ewPIp7!ux?;jwQHMi^(%_wbN3Y!Yz;`MW+%N%Y0h|B ztqEj~FH`3AEW*a*L}F6?^qw73-L=}0l*HTc@@nOyt1T((=1qNOl)yr$Vgg#q4iLJhZfWoKmDs*003 z*=hwX$0MfLQbONAv*Y_7KZ^>bw%IE5G+WjaR{IEfsA_J&XWmd|2uV6o`BY?4H)9K% zvNrPhG3N*0r?>1F6cs72Y5A=6o^@{i#2v`-O0rl^)Fi2OS9hf)Ak$d_qLH?nm5XL8 z-MqN_KtomN8K2Dx6Q&_ov5Ra&K4RCQrkGkHV@hZhvvI#(dX(js};G7%|R-O66BGOt%sZ{uFOJo&g(j(Sv7-`!zS!9^R)BK{`(gLT#I`7VK{d9gG zd}99BPA-G{|BIyuHeKTyJDL`^oFHehicDk9{-D9hEPbh?Rx^oB{-ybKSgg^B`>Xf@ z+nN@t^C)OGmb7`S!)Jbj4w{dS)|Y1Wt4Mh+={^lCFqA#pXo(zmb@YVET; zDSeSWh%+_%HX=%QexDTQ9bC=)W5-v><;X4H$C|TXqwMrH04UcMaHi8+YZS#)U>#qv z^K}jF-&zlp{Dw|gfV}%(VouV*CNw4$qL(U*(aL=k8U2!SDP!fw*!b=dX{LpWRu~f0 zDW=a3#6$egtVQ)rVRp5mrw@0J@QZPB*5Q*@t>5-DtQB)hWs&rf8bVx9_rksKu;fy)+76KV6h;=VGS&obNI% zKb_`IGfKGL>87u_Mu%pdKXdRuxkd8l?R+w%J6N6+(Jrc)-h zxq-CcWC0BqqgrIKApWzKtfs`-y<>YFS@4<7f%Vs+5|C-dPMaak)jqib>t-(5tUz;} zei3}6*k^G@^A2dv8BLDvDPC#Txg^KWMP`^9Q8GGdk#yT<*g#o5zB6!T6iPj9eCQrd z$-9>-H^@foz+Ky`959E!X5O}Qb&nNfH~rS=M(HUXYd^o8M`%EE!ez&}8&xz@QdGmT7&=saBc;a~#`0RR8Jg_CedEI+-|NJh)ijke+iX^H ziqlqqdo!t1ZG7_S<<(xrEh&~-Z$xvYyUtGu_&Xxqdthv$)qAb_HaW{gv~QT@4NzI- zHoLGwmYK!si86P&O50Yr**jD9=%liuIVhgg&&20)3TkCT5t_SfVUbTye8gF=Ws|HT z%+V&g)qh7XzGrOBuA3M zPQy@f?A#k%6KMMu70=SDLvz7$WiYCiMK%Rui9|=ux=hOk zPHv(t-2Ki1X`NvqW~|VFS$nWF#WuFGV482ALKhvSx#iu-?WuB<)|f$;`37rKqFfm0 zCxWC-xopVN+Q^A0n!OLNiN8V3WXqzNT$|{x35}S!?WnPZ@vbEbl6z0Ne3u)iazE8N zA1qE;+T*tt()L2uMg-<%p#P>kVnK-la4Rap&54RbKP8!@{ia6Rz(wODHxcUhLJ6Sm)4oPkZB;#$f zo3&{~o~E))QXLH37CbKAmWIrQ4VA9QhqkL7ap|?P65Dmpt!uIpnIl)+NH1lXUB2IC zA=gc=9gb$pl~UCz?Um{~1C6C}O{6yKlx3wmYSiM5XtuF)PHkO^yjp4!PGwM{*}kyl zYHfo(bEIfa-Lx@oiW7O3*Xg}2!i5Gd-LZMeXv*Civ8j5mo@4;)FV$z41x+)n zy!I1r#po{0QCnN7phpfkyquJ-O2s|eCBa^~cPi3MX-Yc%YC^ZYna}5B6W+q+otfKL zheLJEplBhd+&Xq}%Cr5k2wr|w!D>{~M>7gH2l zt6PSyhbmXuX8s3C<@R&`&3Yp@YB{U^*WyMM$&HAlutsxuefuhgNIFA{Qr#|tOlpiA zJ1KA2vB&21>s`=0KXBtb-}0sm<^3?zPi)5f1>Y(7*VyWLgY@3Qt*`ozLk*YQX~dQ8 z(&OD&#jn31*a*)q4#&&u^Rw#mq6J!V~=%D)0m0vzy((Io2iUu_ex)G7tZuEV`F=ZBt49i zdzBn(-u5xg)BLqq9^xZw#jrNHd&>@b;wHboA%_pOHMZlLUnLVQj5D`q+GReLG064M z@y_QY4b8N8Oz+1xSIM3&zhCi!`f3>wO7*qk+8J)9XhN)MYP3ZrTG&^isY$a81ZCP^ z!nP(hE0=AmWqFXTPcE3L4GX*;RV62paA^;#`S8`wsz_$}&_~KLD>o_S-RsnBxlK8} zdz~zCI_I6bL&wLM(J9+_Nv5sVuCb{puCmpCWp2u5Xz|3d(vm63QqrrJTw~G ziarR!qC|DVZugR;l_*${YsNYe-I+22fwS3;6?{KIzw;HuogZSP=ldb~|0?=PCoWU4 zwJQ%JiJdy^Nm2A8Q&jBREQOdeqd|4}J&ws^M!QOw+09Ll%C9PE&K4`%a@o)zn)}AI zm9MBd+4g<+)2hsZYvRs*y-Y)5cD+-dhX+sS={Yo-3NA5sZ+UE6ALu_s7gv}}xi;TP z_gy&uL2|n=IgM!9)4E>GuhK2AogsD1e+Nmrm@IsaLHH>$FFSYZoEhU?J6X4FZrX0$ zcIdL0MNgrU6O57EMiOQiD-KwE zFeYUO-q?29Hb`Z{%!-EwYmu*fGnGYil$lO8*?0R$K;st!#vB6j^V8?@&HCAluTro$yZ?*Eu`%B|Hx1}MzhLG$ zy$IWNg=|l;;zbLy;)8jOnI|N)TXfaDgm>&oE?xFvP#ENzl{U%ms(CJ5B))kj>Rpb@ z!vL zDMf3{@o+n?myMNIkahw>PxE7iT$-Q8`7BN5g}FkTY?VV>Evwqnx44k1oUljDW?S(Y zT;{w-%%_TS(F#X4w|9eL9;1yk!hU9ab)74n)F}t#=fyI`xx%XGkX;;ci!3`wc@}+Pd#{%f0y2tCKl5eOtQg<+ zw0D*KcEpZ#o~a*CRGaR+)%d2DdsjK0AT}NCR@%AmSg5BuJ^4){m))@>{bv@#%BTuu z=o>Y>8qEzk_n*LAw%h|`YO&TaCr#IU`ItW4FPUlPMs?F^`}0`I8$YfzaO!DV4N9@5 zv_g^bZ4i!<6oh7$<#9H3j?axreac&5Ko4JDOC}$6@};(eMQArS|B0AGXxh8BZacYo zOn+yRRWoIFWckI;O@4?bR~6jxoZnbTxM6KG!oQr|c&-Bof7yDy-(h5o9*7YOtbigo%~#d&+SK;N%2E*q6B*GoI2u zapla+_L+cm=jPbE8{iEYdU>{God0UFo=TmCt-45W-;>s`7N0z|`L++C#~!dST)^+U zN?*>y2lBSAW*vc@CY0imtI`VVLRn7zMG(Z*84<~C_!hW^t&1L6~# zk*V6IDp_<)+sz!r%KoaHv~3%=ueu&C@z?B8|PAFh~3=jz6R64e?F;GrBN; zt87~}+W*U1Ecf{ozcIhhU>#FEs%eE;I@E3`mi~hb?yINCxd*pyar~(%URDwlSXTPchxm)jN;YbhIDR(oH7U9(xa-w4VN)9p!H2o zE7XXnk}8pE_(Hcb=jLg9_IbOG8%|W(Qn^Hfxske$_&VS29LApbrjhbRNczfV_Z$n{ z2GW*rr6cm+^xqv{?6%AC<0&4^kIRZeS5cRl_5iqUhRa)X6cBx=I@uQ4u8vwt<4l}x z=O`BqdYbt`@}&l+eb9+o>+9yf!!ef?gs4C2A8uUc%$#f;rYqFB=q0CoaM^r=)S}xE z)bGewQmbA1OtEMTWb3G7gNYo^5_u;vz|JU+G6rOne`w%v3s~JZ80)mrm=(lU`Ur;}^!~L)<=ZW)@!ANR zN;PJ$QK74IbZ0;J@jzetOewRH=L$&{Cjn<*h$(Po!(1|QR0VHmPum$+wJR2%EDc&N zR95PZBNkxnrM04GC=5SBH{N#%+9^5xyW0I+D;~F?x0LSI4(PnOE!yXUI+Ed};2Q7x zM1|jas4_TiW?fC85e8IRlJhFdgb>Xa9qr+dt76K z+I*|C*(yQmIv&$X(f1+)(4axw9q;L!G9UE`#kNz2`w&s{JNIkYpY1!k>P@_-vx`K2 zn&EfUT#D(cBMmomA)fDsqxI$HHs=>3>H9iWepkM%k6sxr`)W34vZdBt9MuF@humhT z8DIA)PA>d&^*znU&Bh+F5r-^}|` zR_JxbHc!ZvoLWtk>UEk~gpaz$nz8?^@2RN?%`7PuD5bg2Yz;JNm}Xydd6N=^xA{l9 zr0k$O@jLQv&fE&PcG3+r51`?CP^v|~<7%rHGIeBIZRTkRAGl^BFrQ3&7yerV{ryKw z=4m#uPM-uwlxi7Dg>26Anru(4$jQ^nSgsf2bWod4(yM7?7a#Y+lV0TdmS~;6-dpGO zwH$%@31~*lY!f{{uvZ^j!rE+UO5gNHdTeqo+us#cqe6DR@C{;)B*m7$TM)VP!hhY^ z?|>z}Ib;4Id+n)=&u%Y{{4Jb@YMyUdTjc3siyZF6@2<=7AinPmMh+Wxd|nT&Svi^o zD?#tZg*AHRVpD_X%H^5=}&xxIDGY@5>V-OyXA-|3~5{;JGVC3Y(FaB1^*Ol_kr4=)qmgAm2LEISMC^W%tsJ9@$*n|_vGQAV0oKh@Bu;4TgUAFUG%Sm z{vCzfPPD(lv9L_G>+J7X{j=-i*I78>UwB;~9f%*d@NU~JyefHaXxepuEee9dOEa%K zNr&Rk(e&ds!KmT>IV=yt=a`TdUY89)@Kl%?v2$bfJ09L6Z?_2!(lN^yd%iHdY5Hx? z5kBwM&B?sb;V56u)$e$CTNIv!W8v+=btc#7Up%~R&4gE_>*C?P77MRqEW8DT*H(0Y zF9yM&@VA)9?m`-XnU z<6WundgxgAm&cFS#CUki6kZ=4v**}f|HAP8t>5wR-e@MgFLYfzymhhg4vd9&hyt_l z`s$zkb$BTVR{5Xqzjn_4_2RlPU+&U%563dl(r151>$-TnTNSUp2YZe~^e=plVT2d9 z8}+{rf(LXy{Ih%P@8q=bK2>=2I&R_FdkMoUPYbWl%l=*J689H|cTQS(mD}0`R(37C z!}Tu=?*hVeH|sy!60cP$3c?HXug9xF@UhN^e_?oP z7E|(X(YtMe$-2nG>#BcYcsCPXc>h6v2!e-V??b2E-wkQuZBckuhAq5q`WJ?GUs`xC zzOLtWA^87<;oXxK-fIdkPnTGD-_pM@yr`@WM1b@wVER6}o^w3(x-jN&ks8@4;8|>}c{Yls?pt@VA|{>-J4v7M=Tsj>WPy z*k^v5;Ir6`;ZI}uZY`M0mb3|0v=4&g^gB=g>^VB=pVf_ccn4k5CO9;#1UeUnr=KZ* z@#DJ$pI9>x{k2QGt6fSA7N5nQ{A(8|VX?n!wsR#Uc|kk%9F`AnDD&+Z+GfPp zF|dB|%IbohSMv~)4-ejz zY=5e1?!5IE_UGlpgS}z}&cZ1~wz7MK-p@&C=Zn+i(a6?DAEEbGifncIh~U8B+!T5L zpepVD#x(icY4R0m@~vs|ooVs|Y4X!)@~g=GmA-vdV*e(2uzrW~7m}Aq-dmO2&hHhg z?3Od8umL~rrP5vrP-YwPyS$w_H1pz})8w1d1) zf1f6Qm?rNUYm+T~nM=-gXq%hx;#PglQQrbAihT~OKsGwt-blLzna$6cu_e{jmX+65 z%ELkzettz}Y$RBtN&Aav-va+1DBi+^T8&Roy86 z%8YHCwNN@=TRGbvPjz}jaziPpm{?Yy&2FdiQS zH;Qdf2!fv&rNG?@@8i7bZg%|!JFe?qL4M1q`?qoYW25f>jN@M#bzghwB6gqYXmejI6s*4C7hpZJTVBS8Wm20^YuoBH`k6Uo@GW|XJb>l?kAjIV^n-U zv*Wt%mmJ^3@fSJ%hEexxXzcF)$j&SLPmQ|&D?6_HJ4(l~>pB}1&!M7SmuJ*?Pf(?T{dtVjLO- zwZ>u6Cyc{`;5uV*5IiQf8KLKfn~Woa;J3)18b<}ezl|k9aDa56wx{U1#5Skud0>Ay z7)}z~j#m80)h3S#g83$o)!5SHaY68`Q3Eg2tt`ET(qW91Mx}d!aaa(1$2dF)erzn( z^NN=4=iy66rTcZ{uZ>Fg?$UuQ-Fc#=`zVu@?tbuOcnT~NE!~yK^GsH{FEm-{zRF~! zdy`T5{)utC>{}Y7SbC2(D!nHdmEKZgaS$vNExn83MaGdq@O|WajY{vsMy2;f(bD^S zla=1B@MHJ|?9@TmDZTrPc3pRqmEOK4E4{-^R(fwSS@Exe4?weLSUO%djtYWzjf($M z(c=HyWQDui?w!(l(s;x9rz#bm{QhRKS5rpbzbxl#G_s8R3tGuUkp$;!7Pqw?(( zqw;N3Fmi||f-+`aOz4z34rF%cou0P6T zrMr*GO7{?xmF`-j(tVXt>0E78I@cSO&do-p^S?w(=NB;OC|T*-)2QP;jY?;sQRy5j zTKY;&J~ar+VGUdWzb9HcuR>mBveJ34$x7!2lagi-OI zCR+Tbo2>XNVLdz_t`IH$Ymt9y@|Yla&}7BG$z;XW0HJmYCWaE)<-%9)*4xa&>U_3s+TD?W~QkTJ`SA0%434}-noK%>$<-l%j>Gb-J) zj0(3wwDiwMz8GE$@3Qks_s@`jX|m$`jmb*)pG{V}|7o(q{mNv8*H#8d3%?WW0=vUO zqJ=vIxzuEZJI8oh5Pa7-AqajXS~&Nbtn)7-{}uTQlNE0}^_3QH2hpxS0Ct7F;84-x z9f^FV$qIMAQSn}BoFKh`^AB+T4bK0I^PM{Tcn=aS-os2*yvM>qI24{CTD)f?*P5(& zmm3xDYNO&^&-rIK|7Vl+eA`V{JYR8s&;5OT2g0tfP_%dkA&)g#@yswPo(qkNXC?B( z$eTrr=M|F`&+8`ZdESGc!M3vL*zp5Ji>C{6Z<7^IG4dJ6bB&7k3Zvq^#m+09^(HHx zM@?3E&%&4CU*Kn=#q%Zd-ZGC`Jl#YKr>DsZC*Nd+b22;?o(^Y=7EV3#Qj-y!oAI8 zg?m4I96kg8ELyl*k^jqNh1*efAPc9nXyF`evcl;O`@xf7sc7L$MxJG|!dYdM-m)G( z4G%j+$JH;NVpKnOu2KD5y;1$#Wk&UL_lVZs+z;0q)z179d8<+F%|}M1ch^I8pVGUh zXz4u|9tHcrV$srj3i8<|E4?#JR(rF+WVJWHFiKziz^L?g@8UVpsC3UXD&6N9mF}yI zO80uv()}oW(x`MlkNlxg>HgfPbay&T_bJ``iveG@rWTktl z$x8Qnqw@VtquTNIhl@(@!A7O`SfkQA%&7EMiI(14*l1LG7bD+dRC@0)D!osLmfl~P ztn_YyZ@~9pAZG_lZ+p?MJJ4jMx2wrYZ$Fcj-YZO2{MW$S;98^7@w8F#ziL$cTSbfi zU6U2=XRuwKm-mK8iWYwlmjyEdb zCK#1()uN?)4x9%sH7eadFe=^aj7s+-Mx}S7XzBko^2_iY__du^y4!X2*Y7V{y7Np{ zy7Ns|y3aK#-Aj!_6`xV*Tw_!^HyD-9w?#|md+=kU()R^&mm?)Bo!yN}=SiZaZ{-<)VH{(X&#|1i`k5ctd4;>iWL^KNQO~!Pb+Qvcmhj$qGL>+Os1(5cU);+qn`hKqn`hJoWF(hPayve`8|_Mg5Vz}E8guUE8bm?@!S_42K$N@Zy|Dt$%=P| zQSn}ARJ>Pn{x;5U=KS9{Z_}a{ZwJxh-OFUfdnoJ<`@)f;#XB1LT$2^=BBSE{fl=|U z;rzp#f5BwMv(041^8x3-fV=hNIbnCv;^~QelF5qa45Q+iV^lmVkncd=AX+?|OjbP4 zn|x{z{1Ltb{|A&1FEA?JE9|`DS!1%|x!Yvj{|opu zdD~w9t9Y&?^aXYW{ zy<)P$ecfb*`yTuZwmr@tKTx!AyCC;AS>cW}D%^6T!kusD748a?74EerE8L&Jd*Q?I z1<}IYg8a703inHs70xbwd^o#{7S4h2NZ1<=6D^!k$Wu&KI6pOcmms*y9913@?Vu z;nna4cq_aMJ`P`le}UWJhj2Um8t$X#v*+jv2gBiTDr|z^fzDS-_nGgK-M!msdFZ zAny;&kIce90``Q3@I*KamcVgv5k(5^om7DAgBu;XXI+3-SmDf}M18eR`?fw#l8(9IJl+;@<_g6%r^_}u(}&JRF7 z4Nis)Z~?psUJkE;_ragTm*Cs5)9yaLgJBO?2uHw4uo5=HrSM9)65b0RgU`d);Ct|2 zaQ8iYIu3%};Q&|+C&CKY0Ns3p@@ob1D!2x^`39YT1^Fx3VNV}#CwMsQ2~UQ@U>R(L zzlU$a?eJ^3hdNj*Kb>F~*cJAM1#mDN0Vlx8uoBLK^WY+Q8T>xH5#9>#f$QKC@M*XO z{sF!NKY;&&!CwBk_JaGtZ^ENsJ}iX8;VIC~XDENpMxF_4;dyWgTn?{-H^WtME&Mrr z6570ny@xIE5AZ$s5!`ccf896XSU3ru1naz6{;GhMxD7eSN&=!ujxf@JhG=J`dgegzmSwe9O1} zVK;aT><2MBQ0I!BOz_su} zxCMR!cQd=c;<0%LqnmdSk3}8=N5OMp0-g_TzQOLl4&DMEfRDhJ;H&VT@JqO#%?Bu) zLtr0R2*<)na0aY}%iwq6YIryN4g3i1p@Eyl_YK$+x_Jg2AB#K**2DSmDtJA73_b<_ z3g3sj*?fV*-5d6X{o!ah0oK4Kcs*PRH^8UiU*NlNcg-JIe4SuEEP|6^8N3{>fDgb& z;A`+L*umxz6#hQ&I5+^F4$pxL;05p&xEekSUxF64{p$ex!h!Hyn1ENnAHZM0C*k|> zAMhZXFVOFA!V)+ho(C_4cf$MNYw#_&m(2$#yw31sI0DXr^WhKS&G47-8TcmL2ET^w z^L#vq!mh9go(wDDZ1`Px6}%5V1Yd=3KrH}p&$Aos3H!lPI0c>uFNC+kHSl@31%3*@ zfQNSV@pXkmVF|2-bK$k{Cin>aC43A14eoQK5B~r-0G7d=|b3-TZ;_`y1VT`VNG>q0JlE z`xp%;z?rZPUIDL$_rhPo1A6#yy1+j0WLONx!!uwlbn^sC$Cb#}!F%D);q!0{d=I+$ z0o~vJXrB%@KOngmasiwK&xQ-&1@K1rWB3?+3cd-q!99-g@qGj4!S2w_3t0XlC*Wdu zEBrNlAMSCi54RT_1;@cza1LA!uZH))2jH{tCHN8S*we?;6&?*wh9ltFumUcGOW+US zkKq0AVYnH-3_pOM!cM(>Iu3-rp|k%h|4v1o0IOgl<2?%Y zgd^ctSOx3hci~m=ZnzG<3g3XXIMV9bZm=sn8kWHEa0aY_m%%IGI`|9tNB9@`6*RlP z#oG-Y3rE9J*a**qtKgk*Gkh6-2ET?!=KFY#fv3RJ;2gLBUJY-655p(m+wcR}rLPbF zNH_*ggbU#kcnAC${5^af?$*zTw>RtukB60THoO+z1b+peho8Z(VUGeI{&8>$EQibC zRq#Ie5d0JTEBq3+>+i!o80NtN@I+V&r@#x~C2%#o8$J)Wz)#^9@X!H1-mY*Y91CmV zTzDI5S3b+UU?W@zuYlLWpTfK0!I1SE(i{ZuaHh4RH3cd>4pXlS;6CMZ;gGa;T;0bUD90N;X8BD-Aa6Y^oUJGx8 zcf$MNWAG{XB76mIh3~=b@ZWHslPE8+3+x9+!l`f}ya_%IUxj~$|Ag&NCg0!@usa+I zN5Kj>3!V>`!Ykn#crSbqJ_etGFT%Ir-{8=}K3x;wnQ#`I1Mi0q!;fJw#NXcu=D|L2 zFdPX>;S@L>*1&~u30w}ZhPS}g@ILqudI#Uxx3&f5Yx0e7u9<2v`o!hZn-D z;q~xN_%rx4d>+09--Z8%?MM1}4~0j-LUqI0z1d;{LxGvK+f37!wHgxA4) z-~;ek_!8U(KZ5Pg^znCuJ>YS01RMh^;4HWVUIKpvSHZ{Oui%?-8{Bn@kH0${3QJ%a zoDLVki{SNeCHy&j6mEfkgdf0v!2Qnh@gD+DfJ5Nfa2i|+FNZ7PPvJxGarhd13${6% z_YH@@5;zW?1?%8kcqRNHydORUpMl%phj5Q`e7r}&W8sN#2s{VQfg9j&;G6KDaKCeX zxCg?1a3s7KUJX~nhv6&mHMkviEF-;8pP+E{WF(vfE8rZs3|)|}O2rh+}!SBOs;0F}M*v12@B$;oI<^aQAYbU)|wII1SE(=fNfLDtH}y5^jQ@!+*mr(|kN# z;mL3qJPZC5-U}at&%@W?-{5w*YlRQLGwcor!!uzStbudj-SA2HGW-N?hkIB0c=m_K z!oF}690zB?Iq*{WeRw-u3!jBA!4Kf4aG!*a{{WZ|i(o070_$NDTn_&Q^QQaoM!=b{ z8ZLu>fWZu1-&X5pU|0ApI0BvmPct5-eTR^%;3BvLUJri+AAk?R7vb;V2k;ZP`%Is% zy_*eL~ zQQ>x;?bCM<90H5sG^4JogBNi8BKSjiBfJOR2RFct@MZW%_@PnZ2h~0uyTE#MN!pX26Ho>Lv68Hmn16%{|f{(*r!WZH1;0N#%xJ!di ze+QTcyTL+u0xX4Rz*(>sUIM=Ze*|xZ55Y&_b8s_!+o=BYL%1Ct*XWO*0LR0#;0$;J z{3*N-{t52Voa^sD0QP~$!-;S)ybj(CAA~Q$Kf=Glw(}Ie z+P_`lk+3_|29NIiL^#K&dbk*VpW|1-)$k7ZD0~9G0DlYLhJS-!85RCM^L@Pg!6V>N zum}!;vE`W>R6-K4w zR^;2@{qRBf4Ezmz2fhb8E%fQ?4Eq`t?oi|ra0)yZ&Vh5`MetI11H2jj%&2gGiTpJD z9efqO4?l(-&hzQ(2oHgW!``qj91MrUGvHaU3f91j;pOl?_;dJzQR#jY{vEbG-=}L= zcnCZk=EMGQ7#s`E%*-nC;S|KW3f;F{_sfH9Tvh9UizJ@OJnFd+I0t^mxWD#2 zge&1H_@wbL?SBck8V}HZAn;%CYuIUtzkYwC+Sh|&9>;sZ6W|ce7sJsUpMZQiJcr{6 zI1gR~SHSDw?eGEk1biO83jYc}fnUMhFXTDk5wI5=2#euq@ElkL8{lH&5!&wz`BwM< zd=x$pUx9DI58>x^`@losQLqm@0iF)08IRV!FUXg`mGBO@5&i~lgMWt|FY@sp z0Q;Y4^YTmYBCo8W4=0X_q_!Vh7GWj?-rVHemH_JT$5Bsk8vi`IYXpOxE_jVkXo z#&x|u z*InO_>y_9pcAbv9>-%&40PQ2zM#oE4PTP4Z3xYO1wZ7k&7X&B5;ZTU22>}{_5qpd}+&jm8`6Cc3vwRvzINSY-jmJ`=RQ3`(57=T9U6`~dAU*X zx_r?2wI(axhd95*sBm^Q>OUb}In{9`#oeE0)P45n(g{1jjxfAWQMv2f{q`Kld9WMo z0re`}^(w-S1+WMXf`eiB+~biaLS>D+|7GOE8rH)mxBxDKOW-ni8Fcxo=eiF0 zCb$x=f@|Pia4lR1*TYBP2DlM!g3rNM;A`*=xD{@L@57Jbr*J#`5(bnjSMKyYVY%zb z@lLQaJP5jSsq4dX*^T3UpzW(~<)jD>f`j33I0}x2iY#1=qm4;99s2Zh#x%CiooO47b2n;A`*=xD{@L@57Jb zr!deny7~w^z>csJ>fv? z!;j&oa69}Gx_z$ndl&0>#SX9|>;yZ*gJ2h!2fM)@uqSl;W+_~^Zc7r`ZP8C(Icf!D#C;7Yg(u7P*KwQwC=42H${N;Wqd_+z!8lL3`dG>;OB$POvjP2zG&aup8_Fd%_|(2o8qB;V3v7 zj)xQBWOz253M=7ESPko86I=in!6ne`%cgR<0{I$v9lQyygsb2hco$p?*TMDh5x4b z!EiVn1xLg2a3Y)vE8$F74eMbOboB{V~Zd!Mia>em%+>6a<~Fs1FwTO!If|oTm$cd JYvDThe*jZ}`4<2H literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alignment.cpp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alignment.cpp new file mode 100755 index 00000000..f99d7c29 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alignment.cpp @@ -0,0 +1,191 @@ +/* + Copyright by Matthias Hoechsmann (C) 2002-2004 + ===================================== + You may use, copy and distribute this file freely as long as you + - do not change the file, + - leave this copyright notice in the file, + - do not make any profit with the distribution of this file + - give credit where credit is due + You are not allowed to copy or distribute this file otherwise + The commercial usage and distribution of this file is prohibited + Please report bugs and suggestions to +*/ + +#include +#include + +#ifndef WIN32 +#include "config.h" +#endif + +#include "misc.h" +#include "rna_alignment.h" +#include "rnafuncs.h" +#include "utils.h" + +/* ****************************************** */ +/* Private functions */ +/* ****************************************** */ + +void RNA_Alignment::makePairTable(map &pairs, bool first) const +{ + pair *baseIndex; // stores for each node in the alignment the index position of the left and right base (or -1) + RNA_Alphabet c; + + baseIndex=new pair[m_size]; + + // initialize pairs, all gaps + for(int i=size()-1;i>=0;i--) + { + baseIndex[i].first=-1; + baseIndex[i].second=-1; + } + + for(int i=size()-1;i>=0;i--) + { + // first or second component + if(first) + c=m_lb[i].a; + else + c=m_lb[i].b; + + if(isLeave(i)) + { + if(c!=ALPHA_GAP) + { + baseIndex[i].first=i; + baseIndex[i].second=i; + } + } + else + { + // internal node + // leftmost and rightmost base + bool lmBaseFound=false; + for(size_type r=0,h=i+1;r pairs; + makePairTable(pairs, first); + + // iterate through leaves nodes and use information of pairs + for(size_type i=0;i +*/ + +#ifndef _RNA_ALIGNMENT_H +#define _RNA_ALIGNMENT_H + +#include +#include +#include + +#include "alignment.h" +#include "ppforestali.h" +#include "rna_algebra.h" +#include "rnaforest.h" +#include "rnafuncs.h" +#include "types.h" + +#include "alignment.t.cpp" + +using namespace std; + +/** Alignment of RNAForests */ +class RNA_Alignment : public PPForestAli +{ +private: + string m_strname1; + string m_strname2; + + /** @name Implementations of virtual functions */ + //@{ + + void makeRepLabel(size_type node, RNA_Alphabet a, RNA_Alphabet b) + { + m_lb[node].a=a; + m_lb[node].b=b; + }; + + void makeDelLabel(size_type node, RNA_Alphabet a) + { + m_lb[node].a=a; + m_lb[node].b=ALPHA_GAP; + }; + + void makeInsLabel(size_type node, RNA_Alphabet b) + { + m_lb[node].a=ALPHA_GAP; + m_lb[node].b=b; + }; + + void showLabel(ostream &s,RNA_AlphaPair p) const + { + s << "[" << p.a << p.b << "]"; + }; + + //@} + + void makePairTable(map &pairs, bool first) const; + +public: + void setStructureNames(const string &s1,const string &s2); + const string& getStructureNameX() const {return m_strname1;}; + const string& getStructureNameY() const {return m_strname2;}; + void getSequenceAlignments(string &s1, string &s2) const; + void getStructureAlignment(string &s, bool first) const; + void generateXML(ostream &s) const; + void squigglePlot(const string &filename_suffix, const RNAFuncs::SquigglePlotOptions &options) const; +}; + +/* +class PW_RNA_Alignment: public Alignment +{ + public: + PW_RNA_Alignment(const RNAForest *ppfx, const RNAForest *ppfy, const IntScoreRNA_AlgebraType &alg) + : Alignment((const PPForest*)ppfx,(const PPForest*)ppfy,alg) {}; +};*/ + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alignment.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alignment.o new file mode 100755 index 0000000000000000000000000000000000000000..76e83d0ae0f6fb65f8691b678bd5044983771fc1 GIT binary patch literal 122216 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�w6vLl4{ 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alphabet.cpp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alphabet.cpp new file mode 100755 index 00000000..183334e7 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alphabet.cpp @@ -0,0 +1,33 @@ +#include "rna_alphabet.h" + +#include + +int alpha2RNA_Alpha(char c) +{ + switch(c) + { + case ALPHA_BASE_A: + return ALPHA_PRO_BASE_A; + case ALPHA_BASE_C: + return ALPHA_PRO_BASE_C; + case ALPHA_BASE_G: + return ALPHA_PRO_BASE_G; + case ALPHA_BASE_U: + return ALPHA_PRO_BASE_U; + case ALPHA_GAP: + return ALPHA_PRO_GAP; + case ALPHA_BASEPAIR: + return ALPHA_PRO_BASEPAIR; + case ALPHA_BASE: + return ALPHA_PRO_BASE; + default: + assert(true); + } + + return 0; // never reached !! +} + + + + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alphabet.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alphabet.h new file mode 100755 index 00000000..c48f8a66 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alphabet.h @@ -0,0 +1,99 @@ +#ifndef _RNA_ALPHABET_ +#define _RNA_ALPHABET_ + +#include + +using namespace std; + +/* +not every c++ compiler allows that enum types are used as +template arguments + +typedef enum + { + ALPHA_UNDEFINED=-1, + ALPHA_BASE_A=0, + ALPHA_BASE_C, + ALPHA_BASE_G, + ALPHA_BASE_U, + ALPHA_BASEPAIR, + ALPHA_GAP, + ALPHA_BASE, + RNA_ALPHABET_SIZE, + } RNA_Alphabet; +*/ + +typedef char RNA_Alphabet; + +/** pair alphabet of RNA_Alphabet */ +typedef struct {RNA_Alphabet a; RNA_Alphabet b;} RNA_AlphaPair; + + +//const int ALPHA_UNDEFINED=-1; +/* +const int ALPHA_BASE_A=0; +const int ALPHA_BASE_C=1; +const int ALPHA_BASE_G=2; +const int ALPHA_BASE_U=3; +const int ALPHA_BASEPAIR=4; +const int ALPHA_GAP=5; +const int ALPHA_BASE=6;*/ + + +const int ALPHA_BASE_A='a'; +const int ALPHA_BASE_C='c'; +const int ALPHA_BASE_G='g'; +const int ALPHA_BASE_U='u'; +const int ALPHA_BASEPAIR='P'; +const int ALPHA_GAP='-'; +const int ALPHA_BASE='B'; + +const int RNA_ALPHABET_SIZE=7; + +/*const int ALPHABET_SIZE = 256;*/ + +/* +class RNA_AlphabetTransformation +{ +private: + const static int m_alphabetsize; + const static int m_rna_alphabetsize; + + RNA_Alphabet m_alpha2RNA_Alpha[ALPHABET_SIZE]; + char m_RNA_Alpha2alpha[RNA_ALPHABET_SIZE]; + + void setMapEntry(RNA_Alphabet a, char c); +public: + RNA_AlphabetTransformation(); + + inline RNA_Alphabet RNA_AlphabetTransformation::alpha2RNA_Alpha(char c) + { + return m_alpha2RNA_Alpha[(unsigned int)c]; + }; + + inline char RNA_AlphabetTransformation::RNA_Alpha2alpha(RNA_Alphabet a) + { + return m_RNA_Alpha2alpha[(unsigned int)a]; + }; + +};*/ + +const int ALPHA_PRO_BASE_A=0; +const int ALPHA_PRO_BASE_C=1; +const int ALPHA_PRO_BASE_G=2; +const int ALPHA_PRO_BASE_U=3; +const int ALPHA_PRO_BASEPAIR=4; +const int ALPHA_PRO_GAP=5; +const int ALPHA_PRO_BASE=6; + +struct RNA_Alphabet_Profile +{ + RNA_Alphabet_Profile() {}; + + double p[RNA_ALPHABET_SIZE]; + string columnStr; +}; + +int alpha2RNA_Alpha(char c); + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alphabet.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_alphabet.o new file mode 100755 index 0000000000000000000000000000000000000000..a926598f0fe2a168e0c2e3ba2781b3489e654533 GIT binary patch literal 36652 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 x_%q@S#Jh +*/ + +#ifndef WIN32 +#include "config.h" +#endif + +#include + +#ifdef HAVE_LIBG2 +#include +#include +#endif + +#include +#include +#include +#include + +#include "matrix.h" +#include "rna_profile_alignment.h" +#include "rnafuncs.h" +#include "utils.h" + +#ifdef HAVE_LIBRNA // This features require the ViennaRNA library +#include "part_func.h" +#include "fold_vars.h" + +extern "C"{ +#include "fold.h" +} + +#endif + +#include "ppforest.t.cpp" + +ostream& operator <<(ostream &s,RNA_Alphabet_Profile p) +{ + + s.precision(2); + s << p.p[ALPHA_PRO_BASE_A] << "\\n"; + s.precision(2); + s << p.p[ALPHA_PRO_BASE_C] << "\\n"; + s.precision(2); + s << p.p[ALPHA_PRO_BASE_G] << "\\n"; + s.precision(2); + s << p.p[ALPHA_PRO_BASE_U] << "\\n"; + s.precision(2); + s << p.p[ALPHA_PRO_BASEPAIR] << "\\n"; + s.precision(2); + s << p.p[ALPHA_PRO_GAP]; + s.precision(2); + s << p.p[ALPHA_PRO_BASE]; + + // for(Uint i=0;i(RNAFuncs::treeSize(viennaStr)), + m_name(name), + m_numStructures(1) +{ + buildForest(baseStr,viennaStr); + addStrName(name); +}; + +#ifdef HAVE_LIBRNA // This features require the ViennaRNA library +RNAProfileAlignment::RNAProfileAlignment(const string &baseStr, const string &name, const string &constraint, double t) + : PPForestAli(2*baseStr.length()), + m_name(name), + m_numStructures(1) +{ + char *viennaStr=NULL; + + // calculate partition function for the sequence + do_backtrack=1; + init_pf_fold(baseStr.length()); + + //if(constraint.length()>0) + //pf_fold((char*)baseStr.c_str(),(char*)constraint.c_str()); // expicit conversion to non-const value, but pf_fold does not alter baseStr + //else + pf_fold((char*)baseStr.c_str(),NULL); // expicit conversion to non-const value, but pf_fold does not alter baseStr + + viennaStr=new char[baseStr.length()+1]; + dangles=2; + fold((char*)baseStr.c_str(),viennaStr); + + setSize(RNAFuncs::treeSize(viennaStr)); + buildForest(baseStr,viennaStr,true); + + free_pf_arrays(); + delete[] viennaStr; + + // hasSequence=true; + addStrName(name); +} +#endif + +RNAProfileAlignment::RNAProfileAlignment(const string &filename) +{ + // read ppforest from file + size_type size; + ifstream s; + char *colStr; + + s.open(filename.c_str()); + + // first of all save the size + s.read((char*)&size,sizeof(size_type)); + s.read((char*)&m_numStructures,sizeof(Uint)); + + colStr=new char[m_numStructures+1]; + colStr[m_numStructures]=0; // terminate string + + // initialize structures + // ::PPForestBase(m_size); + // m_lb=new L[ppf.size()]; + initialize(size); + + // save the arrays + for(Uint i=0;i(&d),sizeof(double)); + l.p[r]=d; + } + + s.read(colStr,sizeof(char)*m_numStructures); + + l.columnStr=colStr; + m_lb[i]=l; + } + + s.read(reinterpret_cast(m_rb),sizeof(size_type)*size); + s.read(reinterpret_cast(m_noc),sizeof(size_type)*size); + // s.read((char*)m_sumUpCSF,sizeof(size_type)*size); + // s.read((char*)m_rmb,sizeof(size_type)*size); + + for(Uint r=0;r(ppf) +{ + m_numStructures=ppf.m_numStructuresX+ppf.m_numStructuresY; +}*/ + +/* ****************************************** */ +/* Private functions */ +/* ****************************************** */ + +void RNAProfileAlignment::makeRepLabel(size_type node, RNA_Alphabet_Profile a, RNA_Alphabet_Profile b) + { + double p,q; + double m; + + p=m_numStructuresX; // weight number of structures in profile + q=m_numStructuresY; + m=p+q; + p/=m; + q/=m; + + // profile + for(int i=0;i 0) + // if(baseStr.length() != viennaStrLen) + // throw RNAForestExceptionInput(RNAForestExceptionInput::Error_BaseStringAndViennaStringIncompatible); + + nodeStack=new Uint[maxDepth+1]; + numChildrenStack=new Uint[maxDepth+1]; + baseposStack=new Uint[maxDepth+1]; + memset(nodeStack,0,sizeof(Uint)*maxDepth+1); + memset(numChildrenStack,0,sizeof(Uint)*maxDepth+1); + memset(baseposStack,0,sizeof(Uint)*maxDepth+1); + + // fill PPForest structure + stackPtr=0; + node=0; + for(Uint i=0;i &pairprob, double t,size_type i, size_type j) const +{ + size_type h; + double bestPairScore; + // list leftPairList; + //list rightPairList; + //Uint bestLeftIndex,bestRightIndex; + //Uint lastLeftIndex,lastRightIndex; + + // QWATCH(i); + // QWATCH(j); + + if(j==0) + return; + + if(isPair(i)) + { + // TRACE(DBG_GET_PROFILE_STRUCTURE,"Profile_RNA_Alignment_Forest::getStructureAlignmentFromCSF","basepair"); + // WATCH(DBG_GET_PROFILE_STRUCTURE,"Profile_RNA_Alignment_Forest::getStructureAlignmentFromCSF",m_lb[i].p[ALPHA_BASEPAIR]); + + bestPairScore=bestPairs(i); + + // backtrack best pairs + if(bestPairScore == bestPairs(i+1) + bestPairs(getRightmostBrotherIndex(i+1)) || m_lb[i].p[ALPHA_PRO_BASEPAIR] < t) + { + // i pairs not + // cout << "unpaired" << endl; + getStructureAlignmentFromCSF(s,pairprob,t,i+1,noc(i)); + // cout << "back to:" << endl; + // QWATCH(i); + // QWATCH(j); + } + else + { + // cout << "paired" << endl; + // i pairs + s += '('; + pairprob.push_back(m_lb[i].p[ALPHA_PRO_BASEPAIR]); + + // left path - righthand best pairs + h=i+1; + while(h < size() && isPair(h)) + { + // cout << "left" << endl; + // QWATCH(h); + + assert((int)noc(h)-1>=0); + getStructureAlignmentFromCSF(s,pairprob,t,rb(h+1),noc(h)-1); + h=h+1; + } + + + assert((int)noc(i)-2>=0); + getStructureAlignmentFromCSF(s,pairprob,t,rb(i+1),noc(i)-2); + // cout << "back to:" << endl; + // QWATCH(i); + // QWATCH(j); + + // right path - lefthand best pairs + h=getRightmostBrotherIndex(i+1); + while(h < size() && isPair(h)) + { + // cout << "right" << endl; + // QWATCH(h); + + assert((int)noc(h)-1>=0); + getStructureAlignmentFromCSF(s,pairprob,t,h+1,noc(h)-1); + //h=h+1; + h=getRightmostBrotherIndex(h+1); + } + + + s += ')'; + pairprob.push_back(m_lb[i].p[ALPHA_PRO_BASEPAIR]); + } + } + else + { + s+= '.'; + pairprob.push_back(m_lb[i].p[ALPHA_PRO_BASE]); + } + + // right forest + getStructureAlignmentFromCSF(s,pairprob,t,rb(i),j-1); +} + +double RNAProfileAlignment::bestPairs(size_type node) const +{ + size_type i=node; + double d1,d2; + + WATCH(DBG_GET_PROFILE_STRUCTURE,"RNAProfileForest::getStructureAlignment",node); + + if(isBase(node)) + return 0; + else + { + // node pairs not + d1=bestPairs(node+1) + bestPairs(getRightmostBrotherIndex(node+1)); + + // node pairs + d2=label(node).p[ALPHA_PRO_BASEPAIR]; + + // left path - righthand best pairs + i=node+1; + while(i < size() && isPair(i)) + { + d2+=bestPairs(getRightmostBrotherIndex(i+1)); + i=i+1; + } + + // right path - lefthand best pairs + i=getRightmostBrotherIndex(node+1); + while(isPair(i) && i < size()) + { + d2+=bestPairs(i+1); + i=getRightmostBrotherIndex(i+1); + } + + return max(d1,d2); + } +} + +#ifdef HAVE_LIBG2 // This features require the g2 library +void RNAProfileAlignment::drawBaseCircles(int device_id,const BaseProbs &bp,double center_x,double center_y) const +{ + const double box_size=6.0; + const double max_radius=3.0; + + double xpos,ypos; + int color; + // double dashes=0.5; + + // draw the base probabilities as circles on the edges of the square and the gap probability + // as the center square + + // upper left corner = a + xpos=center_x-box_size/2.0; + ypos=center_y+box_size/2.0; + + color=g2_ink(device_id,1,0,0); + g2_pen(device_id,color); + g2_filled_circle(device_id,xpos,ypos,max_radius*bp.a); + + // upper right corner = c + xpos=center_x+box_size/2.0; + ypos=center_y+box_size/2.0; + + color=g2_ink(device_id,0,1,0); + g2_pen(device_id,color); + g2_filled_circle(device_id,xpos,ypos,max_radius*bp.c); + + // lower right corner = g + xpos=center_x+box_size/2.0; + ypos=center_y-box_size/2.0; + + color=g2_ink(device_id,0,0,1); + g2_pen(device_id,color); + g2_filled_circle(device_id,xpos,ypos,max_radius*bp.g); + + // lower right corner = u + xpos=center_x-box_size/2.0; + ypos=center_y-box_size/2.0; + + color=g2_ink(device_id,1,0,1); + g2_pen(device_id,color); + g2_filled_circle(device_id,xpos,ypos,max_radius*bp.u); + + // gap in the center + color=g2_ink(device_id,0,0,0); + g2_pen(device_id,color); + g2_filled_circle(device_id,center_x,center_y,max_radius*bp.gap); + + // draw rectangle for orientation + //g2_set_dash(device_id,1,&dashes); + color=g2_ink(device_id,0.75,0.75,0.75); + g2_pen(device_id,color); + g2_rectangle(device_id,center_x-box_size/2,center_y-box_size/2,center_x+box_size/2,center_y+box_size/2); +} +#endif + +inline double RNAProfileAlignment::getMlBaseFreq(const BaseProbs &bp) const +{ + return max(max(max(bp.a,bp.c),bp.g),bp.u); +} + +char RNAProfileAlignment::getMlBase(const BaseProbs &bp) const +{ + double p = getMlBaseFreq(bp); + if(bp.a==p) + return ALPHA_BASE_A; + if(bp.c==p) + return ALPHA_BASE_C; + if(bp.g==p) + return ALPHA_BASE_G; + if(bp.u==p) + return ALPHA_BASE_U; + + assert(false); // you should never get so far ... + return 'x'; +} + +void RNAProfileAlignment::getSeqAli(string &seq,Uint row, Uint i, Uint j) const +{ + if(i==0 && j==getMaxLength(0)) + seq=""; + + if(j==0) + return; + + // basepair=internal node + if(isPair(i)) + { + getSeqAli(seq,row,i+1,noc(i)); + getSeqAli(seq,row,rb(i),j-1); + } + else + { + // base=leaf + seq+=m_lb[i].columnStr[row]; + getSeqAli(seq,row,rb(i),j-1); + } +} + +void RNAProfileAlignment::getStructAli(string &s,Uint row) const +{ + s=""; + + map pairs; + makePairTable(pairs, row); + + // iterate through leaves nodes and use information of pairs + for(Uint i=0;i &pairs, Uint row) const +{ + pair *baseIndex; // left and right base + RNA_Alphabet c; + + assert(row[m_size]; + + // initialize pairs, all gaps + for(int i=size()-1;i>=0;i--) + { + baseIndex[i].first=-1; + baseIndex[i].second=-1; + } + + for(int i=size()-1;i>=0;i--) + { + c=m_lb[i].columnStr[row]; + + if(isLeave(i)) + { + if(c!=ALPHA_GAP) + { + baseIndex[i].first=i; + baseIndex[i].second=i; + } + } + else + { + // internal node + // leftmost and rightmost base + bool lmBaseFound=false; + for(size_type r=0,h=i+1;r &pairprob, deque &baseprobs, double minFreq) const +{ + deque::iterator itPP; + // deque::iterator itBP; + string::iterator it; + + for(itPP=pairprob.begin(),it=structure.begin();itPP!=pairprob.end();itPP++,it++) + { + if(*itPPbase &baseprob) const +{ + BaseProbs bp; + + // generate base strings + for(size_type i=0;i &pairprob) const +{ + WATCH(DBG_GET_PROFILE_STRUCTURE,"Profile_RNA_Alignment_Forest::getStructureAlignment",size()); + + s=""; + getStructureAlignmentFromCSF(s,pairprob,t,0,getMaxLength(0)); +} + +#ifdef HAVE_LIBG2 // This features require the g2 library +void RNAProfileAlignment::squigglePlot(const string &filename, SquigglePlotOptions &options) const +{ + const double base_fontsize=8; + const Uint num_grey_colors=100; + const double min_grey_color=1.0; + + string seq,structure; + string base,structname; + float *X,*Y,min_X=0,max_X=0,min_Y=0,max_Y=0; + Uint i; + short *pair_table; + int id_PS,id; + int ps_grey_colors[num_grey_colors]; + int ps_color_red; + int ps_color_black; + double xpos,ypos; + + deque pairprob; + deque baseprobs; + + getStructureAlignment(options.minPairProb,structure,pairprob); + getSequenceAlignment(baseprobs); + + // filterConsensus(structure,pairprob,baseprobs,0.5); + + //assert(baseprobs.size() == structure.size()); + if(baseprobs.size() != structure.size()) + cerr << "Error in resolving consensus structure!" << endl; + + X = new float[structure.size()]; + Y = new float[structure.size()]; + + pair_table = make_pair_table(structure.c_str()); + i = naview_xy_coordinates(pair_table, X, Y); + if(i!=structure.size()) + cerr << "strange things happening in squigglePlot ..." << endl; + + // calculate image dimesions + for(i=0;ii+1) + { + // pairs in both structures + if(pairprob[i]==1) + g2_pen(id,ps_color_red); + else + g2_pen(id,ps_grey_colors[(int)floor(pairprob[i]*num_grey_colors-1)]); + + g2_line(id,X[i],Y[i],X[pair_table[i+1]-1],Y[pair_table[i+1]-1]); + } + } + + g2_flush(id); + g2_close(id); + + free(pair_table); + DELETE(X); + DELETE(Y); +} +#endif + +void RNAProfileAlignment::printSeqAli() const +{ + Uint i,l; + deque seqs; + string seq,info; + + // get alignment rows + for(i=0;i strs; + string str,info; + + // get alignment rows + for(i=0;i" << m_strNames[i] << endl; + cout << seq << endl; + if(!noStructure) + cout << str << endl; + } +} + +void RNAProfileAlignment::printConsensus(double minPairProb) const +{ + const int mountain_high=10; + int j; + + string seq,structure; + + deque baseprobs; + deque pairprob; + + getSequenceAlignment(baseprobs); + getStructureAlignment(minPairProb,structure,pairprob); + + // build sequence + deque::const_iterator it; + for(it=baseprobs.begin();it!=baseprobs.end();it++) + { + seq += getMlBase(*it); + } + +// assert(seq.size() == structure.size()); + if(seq.size() != structure.size()) + cerr << "Error in resolving consensus structure!" << endl; + + for(Uint i=0;i=1-(1/(double)mountain_high)*(double)j) + cout << "*"; + else + cout << " "; + } + } + cout << endl; + } + + cout << setw(25) << " " << seq.substr(i,55) << endl; + cout << setw(25) << " " << structure.substr(i,55) << endl; + + // show structure frequency mountain + for(j=0;j=(1/(double)mountain_high)*(double)j) + cout << "*"; + else + cout << " "; + } + } + cout << endl; + } + + cout << endl; + } +} + +void RNAProfileAlignment::addStrNames(const deque& strNames) +{ + deque::const_iterator it; + for(it=strNames.begin();it!=strNames.end();it++) + m_strNames.push_back(*it); +} + +void RNAProfileAlignment::save(const string &filename) +{ + ofstream s(filename.c_str()); + + // save the pforest to stream in binary format + + // first of all save the size + s.write(reinterpret_cast(&m_size),sizeof(size_type)); + s.write(reinterpret_cast(&m_numStructures),sizeof(Uint)); + + // save the arrays + for(Uint i=0;i(&m_lb[i].p[r]),sizeof(double)); + + s.write(reinterpret_cast(m_lb[i].columnStr.c_str()),sizeof(char)*m_numStructures); + } + + + // for(Uint i=0;i(&m_lb[i]),sizeof(label_type)*m_size); + // } + + // s.write(reinterpret_cast(m_lb),sizeof(label_type)*m_size); + s.write(reinterpret_cast(m_rb),sizeof(size_type)*m_size); + s.write(reinterpret_cast(m_noc),sizeof(size_type)*m_size); + + for(Uint r=0;r(ss.str().c_str()),sizeof(char)*20); + } + + + // s.write(reinterpret_cast(m_sumUpCSF),sizeof(size_type)*m_size); + // s.write(reinterpret_cast(m_rmb),sizeof(size_type)*m_size); + + // s.write(m_name; + //Uint m_numStructures; + //Uint m_numStructuresX; + //Uint m_numStructuresY; + //deque m_strNames; + //bool hasSequence; +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_profile_alignment.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_profile_alignment.h new file mode 100755 index 00000000..57b2e18d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_profile_alignment.h @@ -0,0 +1,141 @@ +/* + Copyright by Matthias Hoechsmann (C) 2002-2004 + ===================================== + You may use, copy and distribute this file freely as long as you + - do not change the file, + - leave this copyright notice in the file, + - do not make any profit with the distribution of this file + - give credit where credit is due + You are not allowed to copy or distribute this file otherwise + The commercial usage and distribution of this file is prohibited + Please report bugs and suggestions to +*/ + +#ifndef _RNA_PROFILE_ALIGNMENT_H +#define _RNA_PROFILE_ALIGNMENT_H + +#include +#include +#include + +#include "alignment.h" +#include "matrix.h" +#include "ppforestali.h" +#include "rna_algebra.h" +#include "types.h" + +//#include "alignment.t.cpp" + +using namespace std; + +class RNAProfileAlignment + : public PPForestAli +{ + public: + // typedef typename PPForestAli::size_type size_type; + + struct SquigglePlotOptions + { + bool hideBaseNumbers; + Uint baseNumInterval; + bool greyColors; + bool mostLikelySequence; + double minPairProb; + }; + + struct BaseProbs + { + double a; + double c; + double g; + double u; + double gap; + double base; + }; + + private: + string m_name; + Uint m_numStructures; + Uint m_numStructuresX; + Uint m_numStructuresY; + deque m_strNames; + bool hasSequence; + + void makeRepLabel(size_type node, RNA_Alphabet_Profile a, RNA_Alphabet_Profile b); + void makeDelLabel(size_type node, RNA_Alphabet_Profile a); + void makeInsLabel(size_type node, RNA_Alphabet_Profile b); + + void showLabel(ostream &s,RNA_Alphabet_Profile p) const; + void makeLabel(RNA_Alphabet_Profile &a,char c); + + /** Build forest from structure, sequence pair. */ + void buildForest(const string &baseStr, const string &viennaStr, bool use_bp_prob=false); + + void getStructureAlignmentFromCSF(string &s, deque &pairprop, double t,size_type i, size_type j) const; + double bestPairs(size_type node) const; + void drawBaseCircles(int device_id,const BaseProbs &bp,double center_x,double center_y) const; + double getMlBaseFreq(const BaseProbs &baseprobs) const; + char getMlBase(const BaseProbs &bp) const; + void getSeqAli(string &seq,Uint row,Uint i,Uint j) const; + void getStructAli(string &str,Uint row) const; + void makePairTable(map &pairs, Uint row) const; + void filterConsensus(string &structure, deque &pairprob, deque &baseprobs, double minFreq) const; + void addStrName(const string &strName) {m_strNames.push_back(strName);}; + + inline bool isBase(size_type node) const + { + if(label(node).p[ALPHA_PRO_BASE] > 0) + return true; + else + return false; + }; + + inline bool isPair(size_type node) const {return !isBase(node);}; + +public: + RNAProfileAlignment(const string &baseStr, const string &viennaStr, const string &name); + RNAProfileAlignment(const string &baseStr, const string &constraint, const string &name, double t); + RNAProfileAlignment(const string &filename); + + void printSeqAli() const; + void printStrAli() const; + void printConsensus(double minPairProb) const; + void printFastaAli(bool noStructure=false) const; + + void squigglePlot(const string &filename, SquigglePlotOptions &options) const; + void getSequenceAlignment(deque &baseprob) const; + void getStructureAlignment(double t, string &s, deque &pairprob) const; + string getName() const {return m_name;}; + void setName(const string &name) {m_name=name;}; + Uint getNumStructures() const {return m_numStructures;}; + const deque& getStrNames() const {return m_strNames;}; + void addStrNames(const deque& strNames); + void save(const string &filename); + + RNAProfileAlignment(Uint numStructuresX,Uint numStructuresY) : + PPForestAli(), + m_numStructures(numStructuresX + numStructuresY), + m_numStructuresX(numStructuresX), + m_numStructuresY(numStructuresY){}; +}; + +/* +class Profile_RNA_Alignment: public Alignment +{ + private: + string m_name; + + public: + Profile_RNA_Alignment(const RNAProfileForest *ppfx, const RNAProfileForest *ppfy, const DoubleScoreProfileAlgebraType &alg) + : Alignment((const PPForest*)ppfx,(const PPForest*)ppfy,alg) + { + m_name=ppfx->getName(); + m_name+="."; + m_name+=ppfy->getName(); + }; + + string getName() const {return m_name;}; +}; +*/ + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_profile_alignment.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rna_profile_alignment.o new file mode 100755 index 0000000000000000000000000000000000000000..35c332b815992bfacb362c003a9eebde6531b911 GIT binary patch literal 362272 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 aoXxpxWD}d&!UbH!Hnwv)S8yd)^M3*CCPh{N literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforest.cpp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforest.cpp new file mode 100755 index 00000000..5bab01a2 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforest.cpp @@ -0,0 +1,181 @@ +/* + Copyright by Matthias Hoechsmann (C) 2002-2004 + ===================================== + You may use, copy and distribute this file freely as long as you + - do not change the file, + - leave this copyright notice in the file, + - do not make any profit with the distribution of this file + - give credit where credit is due + You are not allowed to copy or distribute this file otherwise + The commercial usage and distribution of this file is prohibited + Please report bugs and suggestions to +*/ + +#ifndef WIN32 +#include "config.h" +#endif + +#ifndef HAVE_LIBRNA +#undef HAVE_LIBG2 +#endif + +#include "rnaforest.h" +#include "rnafuncs.h" + +#include "ppforest.t.cpp" + +/* ****************************************** */ +/* Constructor and Destruktor functions */ +/* ****************************************** */ + +RNAForest::RNAForest(const string &baseStr, const string &viennaStr, const string &name) +: PPForest(RNAFuncs::treeSize(viennaStr)), + m_baseStr(baseStr), + m_viennaStr(viennaStr) +{ + if(name.empty()) + m_name="unknown"; + else + m_name=name; + + buildForest(baseStr,viennaStr); +}; + +/* ****************************************** */ +/* Private functions */ +/* ****************************************** */ + +inline void RNAForest::makeLabel(RNA_Alphabet &a,char c) +{ + a=c; +} + +inline void RNAForest::showLabel(ostream &s,RNA_Alphabet a) const +{ + s << a; +} + +void RNAForest::buildForest(const string &baseStr, const string &viennaStr) +{ + Ulong basePairCount=0,maxDepth=0,stackPtr; + Uint baseStrLen,viennaStrLen,node,*nodeStack, *numChildrenStack; + + assert(RNAFuncs::isRNAString(baseStr)); + + RNAFuncs::isViennaString(viennaStr,basePairCount,maxDepth); + + baseStrLen=baseStr.length(); + viennaStrLen=viennaStr.length(); + + // check if base string and vienna string have the same length + // if(baseStr.length() > 0) + // if(baseStr.length() != viennaStrLen) + // throw RNAForestExceptionInput(RNAForestExceptionInput::Error_BaseStringAndViennaStringIncompatible); + + nodeStack=new Uint[maxDepth+1]; + numChildrenStack=new Uint[maxDepth+1]; + memset(nodeStack,0,sizeof(Uint)*maxDepth+1); + memset(numChildrenStack,0,sizeof(Uint)*maxDepth+1); + + // fill PPForest structure + stackPtr=0; + node=0; + for(Uint i=0;i > ®ions, const RNAFuncs::SquigglePlotOptions &sqOptions) const +{ + RNAFuncs::drawRNAStructure(m_baseStr,m_viennaStr,filename_prefix,m_name,regions,sqOptions); +} +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforest.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforest.h new file mode 100755 index 00000000..1fdb5e79 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforest.h @@ -0,0 +1,61 @@ +/* + Copyright by Matthias Hoechsmann (C) 2002-2004 + ===================================== + You may use, copy and distribute this file freely as long as you + - do not change the file, + - leave this copyright notice in the file, + - do not make any profit with the distribution of this file + - give credit where credit is due + You are not allowed to copy or distribute this file otherwise + The commercial usage and distribution of this file is prohibited + Please report bugs and suggestions to +*/ + +#ifndef _RNA_FOREST_H_ +#define _RNA_FOREST_H_ + +#include + +#include "algebra.h" +#include "ppforest.h" +#include "rna_alphabet.h" +#include "rnafuncs.h" + + +using namespace std; + + +/** RNAForest encapsulates the forest representation of an RNA */ +class RNAForest + : public PPForest +{ +private: + typedef PPForest PPForestRNAType; + + string m_name; + string m_baseStr; + string m_viennaStr; + + void showLabel(ostream &s,RNA_Alphabet a) const; // virtual function of PPForest + void makeLabel(RNA_Alphabet &a,char c); + + /** Build forest from structure, sequence pair. */ + void buildForest(const string &baseStr, const string &viennaStr); + +public: + /** Build forest from structure sequence pair. + * This allows for direct use of Vienna RNA strings. + * e.g.: str="(..(...))", seq="accguuucu" + */ + RNAForest(const string &baseStr, const string &viennaStr, const string &name); + + const string& getName() const {return m_name;}; + const string& getBaseStr() const {return m_baseStr;}; + const string& getViennaStr() const {return m_viennaStr;}; + + void plot2d(const string &filename_prefix, const list > ®ions, const RNAFuncs::SquigglePlotOptions &sqOptions) const; +}; + +#endif + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforest.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnaforest.o new file mode 100755 index 0000000000000000000000000000000000000000..832eba7add68dfe0591f2af0541a7324a2cfac95 GIT binary patch literal 88932 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 +*/ + +#include +#include + +#ifndef WIN32 +#include "config.h" +#endif + +#ifndef HAVE_LIBRNA +#undef HAVE_LIBG2 +#endif + +#include "rnaforester_options.h" + +RNAforesterOptions::RNAforesterOptions(int argc, const char **argv) +: m_argv(argv) +{ + m_options=new OptionsInfo[NumberOfOptions]; + + setOption(Help, "--help",""," ","shows this help info",false); + setOption(Version, "--version",""," ","shows version information",false); + setOption(OutputAlignmentDotFormat, "-dot","=file"," ","show alignment forest in dot format",true); + setOption(CalculateDistance, "-d",""," ","calculate distance instead of similarity",false); + setOption(RelativeScore, "-r",""," ","calculate relative score",false); + setOption(LocalSimilarity, "-l",""," ","local similarity",false); + setOption(LocalSubopts, "-so","=int"," ","local suboptimal alignments within int%",false); + setOption(SmallInLarge, "-s",""," ","small-in-large similarity",false); + setOption(Multiple, "-m",""," ","multiple alignment mode",false); + setOption(ClusterThreshold, "-mt","=double"," ","clustering threshold",false); + setOption(ClusterJoinCutoff, "-mc","=double"," ","clustering cutoff",false); +#ifdef HAVE_LIBRNA // This features require the ViennaRNA library + setOption(PredictProfile, "-p",""," ","predict structures from sequences",false); + setOption(PredictMinPairProb, "-pmin","=double"," ","minimum basepair frequency for prediction",false); +#endif + setOption(SaveProfile, "-sp","=file"," ","save profile",false); + setOption(ProfileSearch, "-ps","=file"," ","profile search",false); + + setOption(TreeEdit, "-e",""," ","use tree edit model to calculate distance and similarity",true); + setOption(GlobalAlignment, "-g",""," ","calculate global alignment in its original version",true); + setOption(BpRepScore, "-pm","=int"," ","basepair(bond) match score",false); + setOption(BpDelScore, "-pd","=int"," ","basepair bond indel score",false); + setOption(BMatchScore, "-bm","=int"," ","base match score",false); + setOption(BRepScore, "-br","=int"," ","base mismatch score",false); + setOption(BDelScore, "-bd","=int"," ","base indel score",false); + setOption(RIBOSUMScore, "--RIBOSUM",""," ","RIBOSUM85-60 scoring matrix (base-pair substitutions)",false); + setOption(ConsensusMinPairProb, "-cmin","=double"," ","minimum basepair frequency for consensus structure",false); +#ifdef HAVE_LIBG2 // This features require the g2 library + setOption(MakeSquigglePlot, "-2d",""," ","generate alignment 2D plots in postscript format",false); + setOption(SquiggleHideBaseNumbers, "--2d_hidebasenum",""," ","hide base numbers in 2D plot",false); + setOption(SquiggleBaseNumberInterval,"--2d_basenuminterval","=n"," ","show every n-th base number",false); + setOption(SquiggleGreyColors, "--2d_grey",""," ","use only grey colors in 2D plots",false); + setOption(SquiggleScaleFactor, "--2d_scale","=double"," ","scale factor for the 2d plots",false); + setOption(SquiggleGenerateFIG, "--2d_fig",""," ","generate additional fig file of 2d plot",false); +#ifdef HAVE_LIBGD // This features require the gd library + setOption(SquiggleGeneratePNG, "--2d_png",""," ","generate additional png file of 2d plot",false); + setOption(SquiggleGenerateJPG, "--2d_jpg",""," ","generate additional jpg file of 2d plot",false); +#endif +#endif + setOption(ReadFromFile, "-f","=file"," ","read input from file",false); + // setOption(SaveMultipleAliFile, "-sm","=file"," ","save multiple alignment as binary file",true); + setOption(NoScale, "--noscale",""," ","suppress output of scale",false); + setOption(MakeDotForInputTrees, "-idot",""," ","make dot files for the input trees",true); +#ifdef HAVE_LIBRNA // This features require the ViennaRNA library + setOption(GenerateXML, "--xml",""," ","generate xml output for Jforester",true); +#endif + setOption(SecretHelp, "--shelp",""," ","shows this help info",true); + setOption(ShowOnlyScore, "--score",""," ","compute only scores, no alignment",false); + setOption(FastaOutput, "--fasta",""," ","generate fasta output of alignments",false); + + setOption(SpaceTimeInfo, "--spacetime",""," ","space and time measurements",true); + + // set the arguments that can be seperated by spaces + stringstream ss; + for(int i=0;ihas(m_options[option].tag); +} + +void RNAforesterOptions::help() +{ + cout << "Usage: " << m_argv[0] << " [options]" << endl; + + for(int i=0;igOYhTMXX&=(c2> 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 +#include +#include +#include +#include + +#include "debug.h" +#include "misc.h" +#include "rnafuncs.h" +#include "utils.h" + +#ifndef WIN32 +#include "config.h" +#endif + +#ifndef HAVE_LIBRNA +#undef HAVE_LIBG2 +#endif + +#include + +#ifdef HAVE_LIBG2 +#include +#include +#include + +#ifdef HAVE_LIBGD +#include +#endif +#endif + +#define COLOR_RED 0 +#define COLOR_GREEN 1 +#define COLOR_BLUE 2 +#define COLOR_YELLOW 3 +#define COLOR_MAGENTA 4 +#define COLOR_TURKIS 5 +#define NUM_COLORS 6 + +#define COLOR_DEF_RED 1,0,0 +#define COLOR_DEF_GREEN 0,1,0 +#define COLOR_DEF_BLUE 0,0,1 +#define COLOR_DEF_YELLOW 1,1,0 +#define COLOR_DEF_MAGENTA 0,1,1 +#define COLOR_DEF_TURKIS 1,0,1 + +bool RNAFuncs::isRNAString(const string &str) +{ + string::const_iterator it; + for(it=str.begin(); it!=str.end(); it++) + { + switch(tolower(*it)) + { + case 'a': + case 'c': + case 'g': + case 'u': + case 't': + case '.': + case '-': + break; + default: + return false; + } + } + + return true; +} + + +bool RNAFuncs::isViennaString(const string &str, Ulong &basePairCount, Ulong &maxDepth) +{ + long brackets=0; + maxDepth=0; + basePairCount=0; + + string::const_iterator it; + for(it=str.begin(); it!=str.end(); it++) + { + switch(*it) + { + case '.': + break; + case '(': + brackets++; + basePairCount++; + if(brackets>0) + maxDepth=max(static_cast(maxDepth),static_cast(brackets)); + break; + case ')': + if(brackets) + { + brackets--; + break; + } + default: + return false; + } + } + + // equal nr of opening and closing brackets ? + if(brackets) + return false; + + return true; +} + +#ifdef HAVE_LIBG2 // This features require the g2 library +void RNAFuncs::drawRNAStructure(const string &seq, const string &structure, const string &filename_prefix, const string &structname, const list > ®ions, const SquigglePlotOptions &options) +{ + const double base_fontsize=12; + + float *X, *Y,min_X=0,max_X=0,min_Y=0,max_Y=0; + Uint i; + short *pair_table; + int id_PS,id_FIG=0,id; + int color_black, *colors; + double xpos,ypos; + char buf[10]; + string filename; + double *points; + int numPoints; + +#ifdef HAVE_LIBGD + int id_PNG=0,id_JPG=0; +#endif + + X = new float[structure.size()]; + Y = new float[structure.size()]; + points=new double[2*structure.size()]; + colors=new int[NUM_COLORS]; + + assert(seq.size() == structure.size()); + + pair_table = make_pair_table(structure.c_str()); + i = naview_xy_coordinates(pair_table, X, Y); + if(i!=structure.size()) + cerr << "strange things happening in squigglePlot ..." << endl; + + // scale image + for(i=0;i(options.scale); + Y[i]*=static_cast(options.scale); + } + + // calculate image dimensions + for(i=0;ii+1) + { + // pairs in both structures + g2_line(id,X[i],Y[i],X[pair_table[i+1]-1],Y[pair_table[i+1]-1]); + } + } + + // draw regions + g2_set_line_width(id,0.4); + list >::const_iterator it; + Uint regionNr=0; + + for(it=regions.begin();it!=regions.end();it++) + { + double center_x=0,center_y=0; + + // fill coordinate list + for(i=0;i < it->second;i++) + { + points[2*i]=X[it->first+i]; + points[2*i+1]=Y[it->first+i]; + + center_x+=X[it->first+i]; + center_y+=Y[it->first+i]; + } + numPoints=it->second-1; + center_x/=numPoints; // center of gravity + center_y/=numPoints; + + g2_pen(id,colors[regionNr % NUM_COLORS]); + g2_poly_line(id,numPoints,points); + sprintf(buf,"%d",regionNr+1); + g2_string(id,center_x,center_y,buf); // draw region number + + regionNr++; + } + + // mark 5' end + + g2_pen(id,color_black); + g2_string(id,X[0]-20,Y[0],"5'"); + + g2_set_font_size(id,base_fontsize*options.scale); + g2_set_line_width(id,0.2); + + // draw sequence + for(i=0;i(options.scale); + Y[i]*=static_cast(options.scale); + } + + // calculate image dimensions + for(i=0;ii+1 && (unsigned short)alt_pair_table[i+1]>i+1) + { + // pairs in both structures + g2_pen(id,ps_color_black); + g2_line(id,X[i],Y[i],X[pair_table[i+1]-1],Y[pair_table[i+1]-1]); + } + else + { + if((unsigned short)pair_table[i+1]>i+1 && (unsigned short)alt_pair_table[i+1]<=i+1) + { + // pairs only in first structure + if(atX) + g2_pen(id,ps_color_blue); + else + g2_pen(id,ps_color_green); + + g2_line(id,X[i],Y[i],X[pair_table[i+1]-1],Y[pair_table[i+1]-1]); + } + else + { + if((unsigned short)pair_table[i+1]<=i+1 && (unsigned short)alt_pair_table[i+1]>i+1) + { + // pairs only in second structure + if(atX) + g2_pen(id,ps_color_green); + else + g2_pen(id,ps_color_blue); + + double dashes=2.0; + g2_set_dash(id,1,&dashes); + g2_line(id,X[i],Y[i],X[alt_pair_table[i+1]-1],Y[alt_pair_table[i+1]-1]); + dashes=0; + g2_set_dash(id,1,&dashes); + } + } + } + } + + + // draw structure names + // x-at-y or y-at-x + if(atX) + { + g2_pen(id,ps_color_green); + g2_string(id,min_X,max_Y-10,(char*)strname2.c_str()); + g2_pen(id,ps_color_black); + g2_string(id,min_X,max_Y-20,"at"); + g2_pen(id,ps_color_blue); + g2_string(id,min_X,max_Y-30,(char*)strname1.c_str()); + } + else + { + g2_pen(id,ps_color_blue); + g2_string(id,min_X,max_Y-10,(char*)strname1.c_str()); + g2_pen(id,ps_color_black); + g2_string(id,min_X,max_Y-20,"at"); + g2_pen(id,ps_color_green); + g2_string(id,min_X,max_Y-30,(char*)strname2.c_str()); + } + + g2_flush(id); + g2_close(id); + + free(pair_table); + free(alt_pair_table); + DELETE(X); + DELETE(Y); +} +#endif + +#ifdef HAVE_LIBRNA +void RNAFuncs::generateRNAAlignmentXML(const string &structure, const string &altStructure, const string &seq1, const string &seq2, const string &strname1, const string &strname2, ostream &s) +{ + string base; + Uint i; + float *X, *Y; + short *pair_table,*alt_pair_table; + Uint basenr_x=1, basenr_y=1; + string filename; + + X = new float[structure.size()]; + Y = new float[structure.size()]; + + assert(seq1.size() == seq2.size()); + assert(seq1.size() == structure.size()); + assert(seq1.size() == altStructure.size()); + + // calculate coordinates + pair_table = make_pair_table(structure.c_str()); + alt_pair_table = make_pair_table(altStructure.c_str()); + i = naview_xy_coordinates(pair_table, X, Y); + if(i!=structure.size()) + cerr << "strange things happening in squigglePlot ..." << endl; + + // generate XML + s << "" << endl; + + // seqalignment + s << " " << endl; + for(i=0;i" << endl; + if(seq1[i]!='-') + basenr_x++; + + if(seq2[i]!='-') + basenr_y++; + } + s << " " << endl; + + // pairs + s << " " << endl; + for(i=0;ii+1 && (unsigned short)alt_pair_table[i+1]>i+1) + { + s << " " << endl; + } + else + { + if((unsigned short)pair_table[i+1]>i+1) + { + s << " " << endl; + } + else + { + if((unsigned short)alt_pair_table[i+1]>i+1) + s << " " << endl; + } + } + } + s << " " << endl; + + // coordinates + // x structure + s << " " << endl; + s << " " << endl; + for(i=0;i" << endl; + } + s << " " << endl; + s << " " << endl; + + DELETE(X); + DELETE(Y); + X = new float[altStructure.size()]; + Y = new float[altStructure.size()]; + + // y structure + i = naview_xy_coordinates(alt_pair_table, X, Y); + if(i!=structure.size()) + cerr << "strange things happening in squigglePlot ..." << endl; + + s << " " << endl; + s << " " << endl; + for(i=0;i" << endl; + } + s << " " << endl; + s << " " << endl; + s << "" << endl; + + free(pair_table); + free(alt_pair_table); + DELETE(X); + DELETE(Y); +} +#endif + +void RNAFuncs::printAli(const string &name1, const string &name2, const string &seq1, const string &seq2, const string &str1, const string &str2) +{ + Uint i; + string info; + + for(i=0;i +#include + +#include "types.h" + +using namespace std; + +class RNAFuncs +{ + public: + struct SquigglePlotOptions + { + bool hideBaseNumbers; + Uint baseNumInterval; + bool greyColors; + bool generatePNG; + bool generateJPG; + bool generateFIG; + double scale; + }; + + static bool isRNAString(const string &str); + static bool isViennaString(const string &str, Ulong &basePairCount, Ulong &maxDepth); + static void drawRNAStructure(const string &seq, const string &structure, const string &filename_prefix, const string &structname, const list > ®ions, const SquigglePlotOptions &options); + static void drawRNAAlignment(const string &structure, const string &altStructure, const string &seq1, const string &seq2, const string &strname1, const string &strname2, const string &filename_prefix, const bool atX, const SquigglePlotOptions &options); + static void generateRNAAlignmentXML(const string &structure, const string &altStructure, const string &seq1, const string &seq2, const string &strname1, const string &strname2, ostream &s); + static void printAli(const string &name1, const string &name2, const string &seq1, const string &seq2, const string &str1, const string &str2); + static Uint treeSize(const string &viennaStr); + +}; + +#endif + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnafuncs.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/rnafuncs.o new file mode 100755 index 0000000000000000000000000000000000000000..dacb82ef8bfb2f4fd479cd1c179b398d047995f7 GIT binary patch literal 134520 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%0A!=-n)Cr8HT5UsYZE`G)uhi!I%RZRj_;HzQvNK& zuaSXCAoa9S0VupEGla;$nw(s0;8TUUD9yte_!n}RXi{TM2Or!3h3cmW17C3Y%_4jT zh2|f1`Ee0GgFp=YnXFPqcf8BeV{>3KY*E!FxI9^{$nPduZ6KCpHiPq`tP;IOk$qqW z*e%VKNTM8$4n*WvkUL=_xM!H>qq7}O@E$fvj)eT%iOFGyXPU>B)Wxg?P~`6>CJPxn z^-S{zB;05{j5Lw|DKXuz04B%m3W|#%I~YSfMaFy!{I2Hj=^j2=%6*7U7W{TRuD%U0 z*l#}#xeg2>su?DHt#I3c5v0qxEHiv`IiF?5jxG;lnSrCr7qZN#(dF4Jvz7ce3>99F zPam1SWw^_=?_ilfy7bH2Tzfxa$#3(g+qwF>n-CImKF2{PUx8w@Yu{zU0KAZ()8#0Q zKpPB07+rom7o^U744_G7m(Styc3n2Xx0+;k`E(daXJ6dgCB<~9K@YdEU61#N zI~2Q1HU@CJo-sWfiik_xji$+TbtNojJCS^j@gw*ht|IAu-pf~HMA4I@X!O|&@Rna* zbM2oXP--4eY0l(jI2JYm~Qqw zm4RYmHl}Q|U7^{t0t?Zs0jfC2?D;nGOjc1xsKPI|&7Qs@6o;zf2s2OxZyS86N7e|u zkq|z>?7hvUjnyENi}u?uei8r4lWKFMCLIvIN4?`NF0Tq-BYbn9+ZH94=pkF zX=~lHP^D^=d z!QiY%KWHaJn}``Avx>ZF2#l<)cOpYX@$M&Y99o<8qI*vcLnJCUWSccy68Z?=w0<_{tSf1X#_>Cod~i|-SX_~jMxPcjLE|1<)xFp_Or(!9+qxUl_|&2#4qK?HtOHQ-E8u4#TC!D&-y39^$sz#>(8VGAH-E8g?TSuVG~79j-t`()35_w zBU|tognYd9ak}yG)igf73TJTs1$bcqZj9_atIai6;Z=>@tY45ywzC#v_$A9hIoJ9c z<53Q5BYk)*CZ6oxR^m#B)U-_;vRHP3^%Xis$+dYLQJ>w%8jNM0ru>E|%I<6JT;))P zzlRi%-Ou_R>qe#99A1J9nq6c~p5lpXZ?35wyT5mMPh ztutD?q&9QQ%#yCbK<@mq&4_u

        #(N32rhHAOuP>Tns9N3ETRIz?Tjg7RZ)4~B&z zwO2v;iFK;jskV&_%1^DDt}aCe-#Ji35WR+{1jJ_w1@XPC_QvHC?yTsz!x%cv2*Q_h)2J? z=GtFE)b5E8$SURo3Zxlu8y3F z&1UvH(_D&-%{ZG&WUX7K%I5aHO&r~(ip?au*BFOn;dRw2Hk0j2%$O?VUdKzyi)C!4 z*xiuH6jj*8GGn%|J6`J0x*IAwQ|%iQor+a-wz5-txfB_lA-i4BrO4<^vq$!gj?Omr z5LBjPNJeL_J+G5XkQ(HI$>nf77Kp_(G2 zGs|v{X+u+Fbhfv@?5`<_gJ=VzGd~V5*JQy+SjLawN?b+KMZDM1>7l#PDQO7IJCR3X z5S`y3BK`83Ygal*k$mpDC z-#yr+$mlGyhoaZDl#I^F_MZwhCGj&vw~WrqFUR_t1{n!0`4Mb`t4R6}`8qm1bT>LB z4bhp4xit>ac|9T$TXI};ZT<+*r*5A_ALa1D_!JCOJFYf`$rs4^Yg%*(cT?UwCr?Jk{YDMBY z(&?v<%kZrl7MvPiL_s8NAxXY2F^ZlXMWcsy!!5b``U-@6By>86X*aP0RJ4riv>qM0 z49!h$8Hj%cHndFO)`8yn2+OaQ!3XKsc6R(V%TP*GyqNe@8>J*wY8w9nX1?oFHD> zl~+jok7og&_T5E|;aR^&2aVF=t0->vgLs>rP||R95%FIDH(y6ArG+`5MBY})hbZ56 z7Gn0l$YV=yBI~t0V;#mF`%k+Dk#HC>;Fs52`y(jzk&tVD&RafA$hEi2i20EO{^{9V zo9{&&Y#YZmQeQ<<`$&tC~+UVRWetbV=(vB7tbbw-*C0BF%RcQ*&S>vTQ-ac ze*4tE-poPodn(X~IYe04$JsZU=b-JX7TG+Fs3zib8hNw%%e;nk{FR9N4l~n-cYsSjDJLd=Lnd>}wE0@QJiL=3xmD>no!cfs|{0QEKE5<+X z4|4=Z(UYTStfvcretFHc@5Q~3gq&aDw^tCRd{fs!s&d}j7MhHL2z=_&3XKFw3#Nl3 z0>6;qys1kv^r>HF8dT~xbsa#+u?8dIEUF8}Q#7-W3mE=ACLN0`4M>)NX%b*!0vc60 z)6t+R?+XR`y=|35sW)}iTul`U!TQuU7&8A%1ivsIGa+q?^Ds$TBJ%c=r{2`{28MBz zw6r4c6C#cmLVDV6?%O^3^_#ku^cA8jt#^3RHSqFMbfw>J3YL$z`0<#$lHj+uz;n5F zdop?Jm$$i+oU;|w6~G#aqneY62rvRuKy+WxMFjd~nM=bfx+E?5G)N+F3mMKUx+FvQ zi+YjUq+UWiPe_y$jOYnsuKgUYK6T4$PTEu<-qPXmCB>ZZ$Oi*v2)I?z3XKFw3-$v? z1VUsu;UO7Lc=RSmy~wR2f}AxN3Fq+|>_pMbi(J6)ixAhD9zZteu0M?;tz_Ky~o7$2IWv_2^-orh?_;E!KweN`l{h32x4{i^$}yU*6_Qa?YEet_7Ci zL8c6kl_0v|K?M3`lS@N*NSbd?nA(&vu3BR_9$RB zpas!1IEsJRz;Cw(!pGZONywFi!NmwZt{h@w*BZ^qm43pT^@VX(CJfkWe1H!+0Nx3H+ zo6F(CPh_^3jvDEjw#%L$if{bTR9&$I6yy`Yx5&hHGtW(naNWv9sFV=d!^P%pMNSW2 zNL3=Vm`wggDz?-VFoSP3*ENXHI+r=wwBWD~lBpznKSm~hBNaQ-JOf98Udi6CxXcCS z<(TZflA$lj+*s!^4N*&3*E^~vq z9uX5IIgw2MZYcIHb2=2r)p~+CfR#2s91Qe_y_d_<Q9+*l zHKNFs;-Bv@K873G9v{fyR8@)d|3dl`h^4kS&Rgoqn~~1Rf0d9zEcs)vux~iigQ?St z`6mhdhzVego$gJ-66jt;ek$xR{+tcqb+(yTSEEeX`8|ngI}(_6_F0H9H=|PzCXe;Y zz}L;tQxxWnj>vVn^6Iy_(aibkQkA9b*k|MApKth`6wDieYF5yc6&x@Uj)RERzymJr zWlakbE&_X9#%m7aBpI29$>5GN_MI*8nHrJ5OKq7yk;e^Z><4o&2GsIh^O6YRelzx? zM>^s<2Ssf~W_OqO>1`eGSGK4|@zicJb0h)WP{!8YI=7DSLYH@<>6Hx$-%J3%%NKiU zEsjo9#*|hC6JUkNe1ZUemoN5oM!N<8iSH7?*=ui0UAbePRFEvaioTIfRZ7t{JR|bk zY)r2GA87EgBmK4yb@~)lT}jBf2F)Vhj$NR-?XT)6O#}wfQ|B&5#a9>!grVEYT-tI? zQ-@%g%gB(ubM-&aR+WZtkV2Uo$&c#(G>{Z zdVs`*1h99?;UrnPW1duyES-nmk-k$((G6^dU-nC`ywAzL3~xedg0)tgqWH4*_^!w> zbzCRn#~@X;IZq$n1>R$I{FzgmQAUE?!ivE6F0Dkb9jA~6xS(!j^y0of%ENRIqu zsSO57WojZp$aI2~kCo=!g*)y85@M${=b0l0vk}ktDa20Sgo^ndkqW1ZyU{FemY`1V zeu8pKl2lFp&pCDJ$x$>RF1P?$k6#w%e~5MbO{$U8&d0|LiyUL*s0sM+gOP%Nqo<=V zdLA!V;4;RckG&S9k~Ca4;~%L3q8~!1xj$#7gbok#QQAQO)No zGPWRMbW0RQXW}CN^YM?r_~qBtN;d+_KgeZ`yBJ<#$r%5icwDnh{`HpeeMY$V7f$#J z3Bkyb4EULU87tQ&s`Po>j)x1ZiIXQ!#UGPl8MhbXmV9hvKq#f9{EIUhCI769LdjcE z8UqX0MF2xsRsi{DX0)2lpgtNw$-gqAQ1Vt>)Mfzy7Ay_ zNcAq+RS%4h=e9ncEz3)3f1vqdSk!wHwnZ}sOnfO575YuIs^|5$7Y_2b#E<4RBE)}Du z0=EaaefT$e4ho}|cqyw$VOO{q-4)7xr3CXWv)=ZWhC$>js=dUEmMucpF}Tit3ssFY zXtN5gv&k|_XJ85wGGMyOfI%h%o$+!QjH9&AjTe{VcBnMcB|Gsl1R7T0-`^qqPinXh zh0z;u8TE*l{1hpJQI!jH6+=pfRwgWNhktcK%O!gSv~&Iptsey7hw;rY)#DFVkTAYk zZ+ZU!?uCy>xAIcD4`sex*z2@uiy54?@iQk1Oq zPp%v(u!2WclaC$D_2XyF7UoWqbBDEl%gR~fg}KXoMC!P2<*W-M zrOhj+AD9G*XU%Prd*{mO|7ztaZ(2G1{M9HwCv_R)rte0w)g^2FhLzJ_8;-o}KeG3=5U8S1 z0t#}7xD2fV3s@s|03RTDQ-0`#i=F_!o#6C8-jx^9Cn~_eNoRk5Lm|ptmh6YypIa$WS6X+e3^#x72QwNhr47AuhOmf z5YQh8_qg?b%_BWvNAo@dk7KL_=zKmM=}VX5y3VCIuH$RX*_U%5cx@fUp{0sP`n`2{ zJv5K>y>)nt!DC+@0R2_++`e=vu0bxvG3c;X`~d`~`n)Y2wGDQXJe1^TQ5gL?0eapMyc$}pL9KoAa!F@J)$IOnQA!c57yz01drZ+74&z>b2Az# zZ;|3Q&ZRhwtJcDw0#+L(Ov)Eg!Y;)Tenkr>V3nSTf03G9id(ZwafH9nP2wLD>q%ix zaG6)A=912hftS}-^GKgxhc^*C_VW_ZuO!dyXP4p{0Sap(LN8 z&ggz7`7MX+?PoF`CL_|%V`M-7UDuO|I{HS{BT9bJJklrB;kCR{IfeAab$H9cdmAzE z8R*}UcNm3HC%lyZpfK7-+9;U^Fqe4*e@?LL6PKcVa%l)~BEH5y2)?6hVGX}f(5=O# zxV6YBmE@lYbZa2xBq`eKqGZxls#))15k0mkIBpz_N=Nl1cL#ZP2NaCav%B+SR7n=3 zm`Tb00skVIRLs}{TgMgxC%2065N<`i?pATs81NkO>@q4G$@YnoueB|-;|0n@+d}dV z{HtTjR&5K}<&W6jA;0d7{Z{eW62?at7cZs_;}gzA2R8&r)=g0FFw5fR9#iiD+_| z?h&OYz~^6B@pxw3X83eGn1(1#Ky>mYq)MD6L;2+W6x<6R-+(H8a@mu)K$Y^ZZ}V>i zM^^`Xx3eEEoELOqzH; zi#uiUNc4 zxsVR!#$t+ZXr#DqZq%+h8# z&P1T~pDU)U>**AYaZ_hccUhmTn6dTWblOk&7uiR-l)C$(l8unzBH~xzf2T|W3NnYg z6gP*v6ldmqM+P|AE4#ufLGpt{KZ=SX7K*h zfc!JyGijMP^$X%(WRiC&(UUyMJ_6nLx)j}BQSu)sErE$kfm=)LWE4iv#%0u%UUDVL z>v5TpV_lIFS4HwD%BreZ+c&69uD@_Nl$rpRyE6LBp+q~4xmEqE43CSs2{L&K6MEMU7pe*t-}FioIiRv1@Fov6onrsF@9zRaYRZIy6^XZ#HTJ#zww(z(R$1``?LtS<62hDe(g+2qv}J3ldwgAn(TU-nZ`wD($fUM`xVfW|g86Ka8T_4HFPKpJu$yb|UBR zh*u}_HJ$Qj)-;;I1ed zG{R4OW1a*f{KWeaaCYcn#?wdU(+XwNsj(=0N$Ml zcW@)zf1R}u=1qK;CO9LNKeVZG2{y_8%6Zmt;?vGW5U9g&S7VMD&LH=?WRk zgRS7UD^x|N)mCiV6{>;BUG`R&729@&4m0N0x~$-~D-<*4m%FU!wkuR;%rA6R8D^?0 zl!Q4{RbSf%_NOa!>;4Sw`K~I%KXrwgjO!;Y19d!|f`LLOi~Z?T2zT*vm|>v0L*$^W zp!e921if{JKeI*(U@7W7E@U~ZN4qHM^-SpHhQ&HAWO=NwyXqqQqAWb~mtA#+$@0vf zb=4Uz%QJu4MWOQXhDQm_vSQ=kg)F0WUzZgdd*-{k>I~y`g83Lc*&VQ2)&OaESKXW= z5%Gz}(p`3QSKZaM0rT};b=+$7?XT&odl~)4H(%9dWzr{!U0U8{rP7}HlCC<#t(~ml z?aZz^!?1bgle^{`uI-c%**40@>)xM;@J|hKXW3nLQdiv&jOxDm#4ao4KFyT5naXOu zMa_^sV~@Lw1CKA}_9;2+*`U*`pQqve#SA|_CC5)pem;cze`NUaDLH;Ffgg^^|AhOm z=*J(EeTqN&`4n$VeqEmT+!A-W;7NNXWdbR_XP@GE9&oyic_y44mf_i__?~@==eb&* z>G8K2o_&h%*{67(&y?pDcx=t^>{EQtKE?C=XL&vb9v5eL_9?z+pW=D`7M?j#odb{O z(X%fd_bJwCP5Dw=I*-HElNr(Y6h9iD;zd&h&*V1$43D4DbAa1yfgQQchOLl!JV9>r z!^KX`nXo6f*#^7Cv=4Bbw7*&YFM-`3^Z0*3{vU_k^LhO5_{Bvl zVUkDDp`Tx$qWn5FM=MYUSd|f|Pst3FFV=M^XejAaDsQ!)c3xjG|IpW+9) z=^2(w-4`?D!FZD7i$k;0oG~qC;tBAnPhwOTpZXnY)v4JBfskGO9o+qqZZp|clFuYr zobeJkXCL2n8!#ex(%saj_+{%;ytecNJfDnd=16!vj-JngVa6r+IcQ~&d>hI4lS~GH zuIJIUIOduU5DeKj25~wqE`mYq+lgo5=m>mX3i`*idzoRq!?6AlB!5Hl&-~f&JlOpT zKfagkU`P(ePpEpvSip=){HelE&7laM*{9np89awLr=|tuBVbR`H6+i0!S15G2jd4M z`PKFZIA-!c1NGmu2_(OAnN9u%rD%M3vXbwU^CaK5E0X+QA$TUAZu>BJoBUxQGx;QK zOmaH;`@whsNq+K=Qy8;AJ)AZS!z}iFir)fAIW*wAX69KKDG*aVh!4_Y5e&%_@#8K# zzN_W~gnhQG+h~0$3^T6A&q22b$q$h7lqg9$Tnz*MY9=6p5Afaz;<0#Ud=A5mZ~5b% z4^OOU-;O0UgB6`*HKVruiav;?M0ZCs3{y(*%w4g2K)9boTOc*d5FvLBn43pP_je6^ zieDT)#p@8y!82nzVOuEJ;7OOIPw_qb6wmWocxF2~4<0Y0XTKepg!*J9bnw~M`89BQ zbFOorEa&^mdH?M&&EQFg?$p%DZU@kZX4x%~-Kn6TpJjK6?3ROmZI<2Ru;X;re+Tf# zc+%6EPf^Ogl*{FCwIai%Pm#+l&#_@%4_7y4xb!J<*$kIl&$aG|3wH3NXA+;1IX;uj zuivF-5}#sjKn0{t=s&iTL&aCN7J?V|TRE^=YRc0PVrh+^<$wR4~Bw{ueVqC>Bp z_rcJ`5a@eqZU{cv55cE+A?$z<*r4fq8bdJYK8SU&c#z{9k0)IRK1G?c+EV#M`e~Y3 zv~pE3*U_T&9Ve24c@_uz)nE{FmUXvi{l*b|(y#M4*xNkH{$7qb_VL@D0mp|NR}J%2^Ch-JhV@Rrm#5!tAX6hY zMh!6b*DwH|9&EQ8dt9X3Q6KS8cw%aetmMpVM76(3&qc<}fVVH3{erl>=#etSq4YcwHTI|+?K{?LzlF2%e zd@7xLe9H?LT2}f2TA)zVtaQ!2h~iufx#wkrpxLX_W%-O!*KNk-VXW*Kc%qV4bO}< zFql6R$1IRcE=?RWOdN$^$6aH+2A2avU?he}d+>KB1+mKK3MttWWRuQ9HfYfAE(IrX`EnOxxyMp&e zURXu6Jd_SHtBB-DB-g-=t)jm0!T4ykIj#IE@+cWq)KAVbs)+s=Y_N)|`H?gd)73=E z1Uy;QlmyA-G*C^|^F{RHacVZY#8wlxr7DIo59mxr!K&sZ6_!PgceTp|;TmjGI z7-qv`J3YS%gHf9BDVZDt$q732!}KX$`>DB0C3Pa)okh1+3+-o+xo#rqPLea%O+Gnu z-9++bbnT5l<1e-OWe|7M!XF=fik~*0;^p^pc;@){Bs~6yp3~!F3RWB+Y4r@Pvc|{v zJujK#BgucGb1!{gUuN6Mro$ma!V_pGZz2k|6IzX=Rd)CJ5PsPhXn7x=jLx?OEa{t; zGxPa=3J%!$Xn8FiWOhE1&m}qC`A$=Ow3~{C4D1yf$w8ETelDPewI8r1a2o9>dM9k*0b!sCiX_Z+lrkZFsk#?EYq!E(7+Gy+N-lJsXzERH7 zscJ&B93gLm4Q~@qj~G71uW6s6nl?H}{1)#E^k@dM{5xF!ieVOWdGkQbXlX?sFs#__ zxm(*ktV(`q+Bz^iw&j+GZ6NLzoUVO$X7xu)sptvEhm1Y|mzP9BBp|$czVo6fTo{Yr z9wh@oZ(zIPfu8>Sab`_}aqkVhm;(Aevj)J%nbm;bSq%Ir6Zpe4V{~Kp; z7Z6T_ar7v855E!P{Rg~V=6k0JYlAlcvj&5?Y1-TiI8b^6Ln=KK^+3A>n|}lxZxM#) z7sfb_`A}9()fNN5r0?y5C4`u`X>o|^35^6t}7;3+o5N^NQP}`re z#J4SRjU|RQf|F?bCWLM-;)#`eGRoQpMc*` z`>lj<`=f-C_E!nf_D>1@+J7LFE;wu=puLg5y?5h>HMsUOd&p=PVVDAd3R)J!H@in9M1^*L`c}i{Fa&DefS%R)3U}8>J8ya z5*F~a{Z#%&JDx*JV>Q2TFx>IA!IF**_9Z>qv8BO&9YYM3c1$ohp`)5u(!0H$7;ax+ zj2)*M+urTbsi2lF7&Q&BV2b(exj)~x;&1zV{4HHDyo#i~&2PQ=eQpLR@0s5cNEt#4 z8fy64Wq$v_U+1|^(RG}6S+1cU`}V>w?ze|wSbM5mt?G5KFctT5H>yTho-REf=#cSLTOC>-y#$kiMA|&och=c>kiJIbytBEL1oXv>l2FEw8;0Z;+FV9% zns_1>Z>UYByd=zNo7*}BiKuOFV73rk3n+=&Ixm?$Ff}N}2m(1nLKrklyQMa%k~XEH zxRH@$Gs4;cF(zkwuU;Ss4;{u(5m}sMua;?Uu1mx_+G44eL_AsBkUYA!E!o_};(}!| z-rUrofZ1CUvHIG0!mFHyWFxyDlIE0zF$goq?i09zVYlu?ZHepN9jYh^yH9sj;Qh`} zyrjhaG_=%R>r4Ul%VQqfZJUya`>HeLu<|{2-eYh%tZ#JZyT9+=8rDB8n$iZsf81^u zez$0f+gaiE9OTZgnF{JpE}gs|S~`C8l<^n7g3up1W~qBYco3*7!*Q7ZvY2tK3=eX@ zSU9B{gcm~9!NZ%2ri`5h!yiiM{hedpFCXrH zRWc>|*q(5A>moXN%3Y23rx!72ce;b{{?ej2-fwf6%h$T*yPq#!J<>fbT)~$k+yxcx z*+|CciMH zHSWvKV{eWDwrwIS1eiz>cbJZivAilOBO}9J|bO& zC`(xXE5w5T@tA0LMj8D%60Tu{-yCC#D1U^1jxfS+j>(Mhl}PxY(6!f^DF1#;bZhsP z?h5yLr$*QfjF&{+v%Bf}zEHFx%fS@i0qfwbP<$kLmF^N<3d<#?(=F+qkN30D>B8>kU4xP^oEu^VePnv$3U?LW-$tu&-7DQy!8W_r zG+x-QS+o|mKjAiqg{CghWI=taoz?KY6KJY6AiUy6SHt#u6XHo|XJPlpMbY^0XOEk_ zhNv&Mn&Sl^10p6;cs%+nu3(KYTHUGE2~eX09HPX_gU``Yjh{o&?;zH5y8 z=+^l?RLH~6?Tq`_UhM5Zw-0jrM^|4P-Nx;==AY4@28Va=TmR4Sh<<~^qx!4!W9xZcEX2Q?7IT4l|1^X~O$$1* z7R$Q^mGpAY?T*fe#pg~O2J{togyD_MuZTbQjoNg5DH%Ve;QUagbz~ zE;K{_mri(Zn$9%tzB2CEOE6bBTerP1G&-iME-?!&|K;#5{o(H1?zp?ut-*IR;%psZ z_sDMdJ=`Z59=ox-VR(GVof@tVp;W`8`t8O7nLI9B)^FxGyqTZLWbQF}f3jxSpM~Tm2%~2veD0HMZ7{r6aL_9c57#sNg0o6vo8YklZII$|D z=$>~tcn3%O40Gl%@*j-rEhuG-CgEK}?!1-m0Jiv_LP#1SyQ6p9eK^JOv=_5=M{j29 z+0>N5gD2H3sRQNK-tp`)g{g`AbB!HSPG7+4`+5Ub%jpZyfiV4E>-Jg|Z3~au_@Cij z`bEdhuH)lwu?hp4J1_1IAg_b=$J+Znrf7F~Nq9y3?QMwea}KrP9r~h?UhH17c&&R* zIPP}VxT|{1zstR&6HOKkARtruFv`{FYHpAoa}8mPjIIjUMbmCoN>Ezwbf%NekIbzwg1)J9S}n z(Dl)0V18t=X*V^@1d`V6o`YC{aFkdZO~J(ti%~cx)#re*Lh51FvefjbD;I}%r&S!j zOcw=uP8M1xH=yI7tCpMcLWgD7xVoFw_NLPv9=v(<$;YEZ4hHeu?(lxLPqSvNli!8n zPrz_i5A=*zI@r78z*TDaUoMOy4h%GK^1&iFvDS3P@PA$y-YH~yKkQ#vlsV8p?~vsP zHp&chU}#vI(R|DV0j7f-XSg$zWrr~W5nl>xI~HO%bU$;#gG13K_vr3u6B4o+OZK-b z>)j#It)rbb_k-{JDY|cX-~M+FKE2M3uLWB(AUui9{RZZWP2h&^`R+6L@F3a(yTi@h ztD?7>8er2y)rO<*8{>DzcvUz$2>s~saM>mVw@&6ncsE>{@ed6L02KLc0aV`$rPZzI7yQn~Wr~%?b z2kyCx(E*~5!rSG><@?8A)HbZ{sc3Dk`|rhr+~d1egMWK89G(z*qGUt&d~o=UtKH2m z1`qe{;wjO6V0mf@xM6$>dGR0^J`L9-U^s8_e7Ja`3yDO74rSCNI)1MCZ1DG|cGcWr zBikboS>h*m<0%=@tvNOr!~5$I!(Y*hF78#~e$-x(jwQPCi9k5v9atfGl8WN_gDIYO z3uDP#v8_`2Tsdifa44yO25<}Ln<0xrGcKi?Gp-%Rm$=N5mS z5-C{z9C-3%DyOIY@5}$xu5Meq(bel)?l+kde9@LWngCZy%udE^<_`>Kg&xB+wV`_^ z)+#^2-38q%GqNd8^07?f6!h&}_7dDi76W444a)RPt|TiGxQotCck1Y)c;|x!3!m`z zeeDY(&E{uvSsVt2xi?P&5y;HE7HCfYCJDR-AH<6|0ox{U7kqYz9!T6iV z8uM;=p9r|O=(z4B-Qg&tl%6o-!yb?uyt=SrnY*$_JRF9Nw=Y0h2mfkL`RKID=xJ5G zkNxX`_#)TwPnVuj)%%D)Sxfw;+8|Gfmv%HK>q=)#pE#KUwQ=L-B$_BSOMo)5Avve1 zG11g^$N~HB0&z>KtrX&%apSBEYNx@a|9{X-j1r;k1R;I;FMs;$T5CIz_Ug9Q_IO)+ zYvO;Ia0t$HNFPYy}_mY-E*)lDPMS(-&N_JrF;6tn685A`R&O$a~cv=4b5!_ zwiuaLX3lLH6wSY1cmK=$|Kf%)yScf+Yc}i5FG8`N{0>|$`ZlJ_p+g>UqtuHnSyyKApEi#$W*Z?3a>RB>;&!TH63R#z+LCgH)+gsU zJJva)c6N4*XNtqejf))+YfZE?Ku#R1ZC~KjwmG{wr5Pe~3~ueS5s&lp&!OQ5zP#a? zeViM)E%r#C$kM*fnm&={xC?l_ljIq;(XsL z^5urk;~Pf4+0ePV_Zxj-arwZ=Uj{mV9vH!QdcGVOS++IKkuYpTm^?eQDs*PVc_e}u zUyVfG>EZkwiTtI9b5oB9?!9?;g9t2_L?bV3?wlTtEZxGnA$nzBkiOkK@~17F+qZ~3 zu!ZxNEh0-J&gEM!iNfN6?HI-v+cAvGwr3bGZGRDCKxE&9j@kR69?t8b$VGjf%fkDA z($~4d-2s$$+{m(i&iN(Dhx$2pMYaWHZDioLn>nxbK&n3Pu_6S@P0`3z8#$jwlYiOB zIk^{oJ=QDo+NRD=y^<$x=3LU7ln;9k{9=G}U7rZv-|Z85udj1@-w0xPpf4#WZNzw= z+$i$WM$WezF|<4SMb6#Wd9NR1Kche0KiEHlv)F6;N1oo;S-ElK`Hh_qHjaF_iF5WQ zk-u%?{ArWO7n?Z8Z5mmXE`2cFKG2n$WQxnV!iqMc(02t}KmUyV z(?!wVB_$_^poImR_s0ZG>>E8Hymy}nR5$!ToKv*)Nqr)dkB^*Ka*~VB!P~zx0o-Hq z{7pIDbv(Z>fW9PPS9yHNiP+%s?W+)fs%P5o)Z-&FPI6By@%=-6;BoA-o3Ii0{wJ2~ ze|+R5*R$vO+s=*C_V91g=Gjvbdc}t6@F$++PN5Uep6U?wf%Hv2zGQzU&?^)2IV>|1 z|CBxvk4`O!Al)mA(9u=`Uj9oqMnQWO`5l7FDrv~>$MaNA&s+}X0Xc{C+pXw-7ypE{*^ zM=3gNzsKQWpEw53Vmxhl7T|&2yVHQDKc1k!vtfo_zw}_yt#^3M0tO_UW(UN zT>-zh;_?1?-4m~oB8}mCe=p*FHJ(4Cf%DRz0q9E);5`EDg~z-9#k)<$^XFae;az#L z9I80HspDikr{nSdyt_BNdlo$UbaXV{7x5cBaXjAN6-dLCcz8UA=k9-n0Q+d7=s#)Wyo~6IoVbiPI%F1xzFmw*;8*1mI z%7(|PvAvvZfMPe*8}8DKzzU}|S& zbuE4>%SO~Eo9bfNgl~&A*H>0e>zwDbH>JR2ChEZFngHOpys5o0(Ta_JyRSX9v9fH` z+}c#EF45H7+8AqSPNk48DnK|Uym~N*43P0x#9~lciNzNzC>xof*MRuP)Ft4jd0}N$ zC!OZYc6(E@4QJ|2wyWF5vP{TNjz~6v)ZWydO4N;z-|SS@A$#~ZcPz1>rMU^qNE=3~ zYy|kQhD7aAF{o73RdzVB`eXw#VnQiWR^_SA+Lp>0)gxkxZ+Kc^U{t)Rt+k;Nxlc6I zIc?1`TiDPiaGILiVhLLm)or6<)rq#w+GB$&{m^*_pJt*{JO`lGE<#;DlT#+HV%(I}?cx;n6| z^@-L*Q#@gvp)pQ9FxFVxdKA{_%1B1NuB#kJx6V$?LG|U0w4C{_i!~-vsoFUS)2i6S zYSY>@<5{%34K~YOv;-6fnh=&{hOTvQps5>j?s}Lmu=*|C(?Kqi5G`P-9E;b+=bAD@ zLmVF4AFFHA)}~gsm2-hGb>2L7o9ePyW#w3Si=z>>+H9cXjg8l~)W(x-3%!ix^cu9s zQEkblg-ys@Y<8l)xiw*%WNrsbRF;+FOY?ryEgN3xcoSgN^eJk98C^PFX=`J+ZJtFM z@@V8Y(b`ry4~@`k%$ZeRW^2K;Z;Y1?nGoyuZQYm=7Tcyu<^oFQ^F%4cq3fo(=bsvJ!NW4i*#9w*V*MsoOpOe4`2 zn_fE|!5t85X>UWZ)+J177n?)Ium@p$@_Is%WSCwvHxWOI4I+*KO*4Z{m_N8z_!F4T zSR00Hlw@4`Z)FvTaSoD-3Cd`*#b!4*+SmiFB5SgVSC$R0OZW}4Dn5@xEEMb#bDCR| ziByb|n*s%dj$78++>T)u3UdtwJ8fO%sMgxLBx?hsJSLR}JNVcVOqFwLtYo~X#v+B} zbO+vBULEjJT1*7rCp0eSMn4cHgd7Z3| zk?T@=2Bp3>R&iwbfHe;Zqs_LNsr%4!! zmJJQ8TCtPpCJEF!=D&1(=NYp`aLh_Jp;vLzH8qwhvvUi6dn9`e#G6fX%m|GTz+cyMrinF`@ux5s?58S!;D*--u*u{# z;IinPH>%YPW?U~|)(dJY7usoX>;T%<+zF;Tc66e(8P)9#$ELK4v~!H9^PJhOweh2% zVe3^*<~%;NzOrl#TSR6#Ip}|h)(&sj$SzoT%I(nLf{$V(fhLnRnG|Ds(rcRP@|eeo zH@C8iGMSX|cKb^6dp?fV;}sxi#|Soh&RAfcGX>4%(nPAF z$8ghHn&bC+{1EHNj9wM&dr;SI!*EC5lG6ySi?*b(T%nmEl1;jvJp!K|Nk?cFMm}d^ zmPK{3wq#?%;bsn&P*a<1izw23az=&DYK#*jF)o13F&W6^!0Ri=BwA9*hGs5QGMn0X zQ&Ju~mfNH>o#gLr=*r?H60NPxT0WpXWe3w(Io2QB>`JLf25k@Le9B?vK& zHLF-r(_Ax#AlpGarq1%c==5KDGdObHE$v*&P-aig6lcWs1Q=v0?ArD zTJ98F`Meoe;5yvjQY{ThNF>+_vZrV)&u5s<%~H1Er5wlzz)y0glp&)CDc!IORT=N+2;hZ zmQ95R>HvQcYQoP@fHvQg62PwvqgwW>FuSC{tkTLRD zUx+Z%tH{c#>{>@P*-Fk3b=vw;^=lzBM*N|1Uo^pfO^k?{L>6^imYX}&p?p@Sf~ADC z2j#IG%Fv#gFul!bz=1BzSnHVOMq7r^j*Dn05P-Bm>KO<3l(#pQl_lnLOo{PG5(b*2 zsclds_)FM%E6`{PGPN!H(?13(p02`Ks#r5bdE^_}!Ey%SL?wqs4q#?2Cn1-~Um&s~ zW1=Ty2$mP66zD--eP>T~b(IzV1kVx*EP)E762ng(e%M8(xi2#F63i{~E%4E7R9>o{lUS@5nq3t3Y#sR-$=t+XOzHj$(P24951JP*tF!d%LJBjDQx4^rl-G*6j5GfmXoIQAknd^8I?0<9vYim zGku?#QxBXTvtv?`hBVqJCf2d|BvIv>Jur!K$j4f_wxMNitx0BTbXo|z&c*XD@31x@ zS%QT0_|Zg$#tP*md$yZtkO9+zQUi1zyK3+kfMvmr8OW(y=879kfjew$sl`@Wpbw}m z2boFanfjY`SiBkrp8E&bgyQfYZ%wv9c$v|fD9fAs0{K3M!?{heIYUk z5MQ9Vpknaaj9UXz@dWZex49V-N7Q7KX^)Ho{iR?W>7_{qH)42G3NOjsS7%F}bA>qC ziYgq>XeeLIZ})akiwr^NXq{SOL*?Bu0~&64fUdOp0fV%TQp;hiFc6R%i#5!}07bDN zgD>OH2$jxyu-JA$(V&>60TZtrk(iJ1ChiTIMY892pn3D=+4W5k$NA)?o;(9~fqhKm zz}v?R3`1lyP_5i0&5}DhcGNaSX*cb#D$Nz_1V>7v&}K)lVoZ955Vknm66j1eAwIW= zDl?Nw;fOLM86MwV%dWzouF`|cZ;r4{C})Pn>Jj}6^3L{#=1MT6RFu)^6f7y0 zbrvI6xZ(RtB{Osv?1!e+a-SC+*JxA}Shk4c%H09@-^%{0+bVp81aB%dnpx;kXc*Y` zZnGP^dA7}hYq~t51?;L>p=5zd!Jg9a^qSZ-z+${`unj=~V|nM?DYHIXCXN>8Pyc4p zGBabIAzVY*RKFb6mK~^B-^zSOr#AcO&CSw=K!eDz^;H*e4U$z|fLa54 zJUShvruCdN47X_8uGibxw^S^2W($aKmVNu>`I=r0H7*pHsYbgYT$Hg76tgrAj9kg; z8&a7Eea_HX2RFs8a7${HY1WPwhjRG8@ZNFUC=LGKW4UB3{&Y9~; znF>bf>j9z6{k6zgPxF@?Xv$W)|Eq*$%5n+)C@k2lkBP_YxN80H?dQ-+Bw=O}`r z$8_0cm{qT{aj(au+tR{KbSQa^(cnX$enFRw&eqV*EO8Wn{$aTsx-K)w^_Arl`=sZI zo$N}?m%*=NAcKMc1~QbfH)midw?$HHiq9iIw5+9{&k-X%bv;y`uWpWmjG5WBZ45gl zPL5_eTTZ%Pn+;XdGJ<2CH|3(xa`!>fY6+DsZRlQT2a^)GP-~sp^ZPo2x6G5Dt+Afk zzR3nds%~4qHeuSgRoV(LJ0=A2GDaAeOkv6AuLErao@64ej)?4LtfINx4e$(X(uKJY zh~NAjJk&e0kkdgeQ{n9na)r#A<^T`J2e7MrRwmYvk1Hp@;X$X{WbR%!Il?NFAn4eX6d$dZ+1 z7066u;FS9;8U2U`s(o2zo+{RkkrB{sp#g)K@#fnl!?=Q zkrMN}289h+@<6oE`TBu%D>=tA8AnSBZ z^|J?VFR=ZAJw1;(GVH9^&Tv2x5)}-L>7;nVh1%J^Y@ztD0}ZJTCk3r&+hTd*z^{Hb z7}J(8d<0}w5D7H5Li5`+L~O#@?SS9LJ-og3h`tz+$Px{wox+$YhBFOlj6Yp*;F ze_gFOSC@(VBjDh(bd(Io7u0PpQjTEdIhy64Rq8W#ge5(v+hQ|paMv%6aak-h_e%43 zknAbY^eS$P1#dO5=QWCU4sAf7WW6b^Xtul=KI26Ax+Z}#@OEwK`&qeiIe=$~8e*P+ z22#%S?n<@}1rt@nyVFtac(mEZ0PiZzQOr45SNM!ov0iRD4#{skttZM#?R=ewd&7{*-a4Bq z`(B?eQW{>HVYOg#%&uGvYep^1tWJ|S8D(2kg}+HPHBNq%Oq&iUVDVK6Rg{JX>I#`q z1NtA;C}$j%HMJ|w)@bSnbUUb_fmUVDNjdBV)_KlgPCW>US<>ng1so>QM-x!HRKfCf zmNg|~!bo#4QcY!+cGHonTwb;`|F&Gt)g$6&IRPHP0!r(Z6{!<{Xt#`(Ek&!|1F3}> z!;7<6xyn5l;@}U{6qGiMo+;G4{X-Dm=C;`)G?x-5J>}I@9(j_NhGOm37iyV^*&Iw` z2n?Hf1Z!3#1AS+sv%{gTfB=b85&BO9#UW@bR0?qXW?&*JmbRSbKJ~cmfRjDfvolFC zUz(lX-j5OcnC2ZkMu!y)WxrTm|9 z6l*K#9Y8axF)Pr}3tpL>u@9|`21i!I&4}mpn_h5+%U4x_?Xr1}zf+bPffFdUFpH$w zm+oNNwF3*PlSe4>Pmgx%%v0R4LrUf`N?!^FwPD*b%tT?vD|1(ML6t8upcxvgXil87 zoLCbtYtI-C9UKFmlVC40vNl_ie$-{dGq$p&3qjYM_}5E4#18h%jDNDgGce=1UT3}<=L;6#v`YYOr zy|JAGQ327J;|Xa^Nf+r{>HSeNfM!k2-dv2KR#leepln3&0JlF97m3i*r?9(&;QB7}d~}gmxz#`k40}g`!zFeGHxu=LWdb+lncc#_7BZ8_`8VddKaZJXw z2`O>7=0G!53CU|_7CGdpX^jL5ce(AAgldAheL?*sI~8?V+Zc6Ldh7S!{i@7qiuD^; zf=fn-olW%>h!?rfckHxqJe{V6s_7-5h&nIO4t*WVJnE$AScY8;90|-m2I*Z35ku=? zdUJa}nZ-if74^fsBaC*EE7IXj+cO)CI;e}yNxOIFD`)1>n6X+iMq>u5n;EJzoV(I1 zMvUg`wWu-aEL_-_xTO7D=y-=s^H}bbO`f`cS|(`DvYUJI$iRV*u`(l5rokD_Q?W74 zBSV=D6XCTbxu^Y7X7!tI#PUY<8CHV9WE7sZbJvZAV<|Yw7gu!ltJUw( zBkeJN6q%8q88wGo6-`qjMOu*0+nW6(f2)1{eAoq4fhizUg}?Y1x}H*9E44GcyiT(P z8eKky+-zrK|54mxPW@xNf>e?3>Yg4e;9NymeXZc}T_46a2uv>-#3-i_jJ z8|G@Rt0=uX#L)?B{{Vqq9At8Zg%%7FIQv=TStROeXPm?J#vTo{0UbY2Q11x^7CGE4 z=4kNFj6if8^fB(az42Q~%~yaI~5aRn;5KCoi~xp&H(Ue7=OWynR@ znM{yH65tm;rDwzDHa8}Qf%(A4#fDA6ZMcbHdncQQSuK7jI;7u*lnos{3>02+l!82B zSgJM7{qV%}_Qt6cP;}T+b46xU%vIj~5}3!Uc%PZ40Fl*o}^Gi;0XgX8%q;)oaf&8c%R|S|Zk~3$K(+`R%!0Cer zFelJhoDK^Bq7q8eaW{kl3GQuClidoAs3c=<@bPdKsY!_J!L5H}Ej+feAiK1mWp3X=AfUi_PY7Y?&0Ck471h zR{F?rZbN~771#z(!_-z&u!JF}fk-rc1j;VPtP~Wki>?dP$B@y{u_(nH?OlbFSM7}B zoRMjn0)?s)iWOtCxeYF1revop<30|rMR2@NZ%>qy6~OsZ%lAx$L>v!C89E1>n=5(> zY#5}~s?)a&`0b&5Dw1RLl8v@4ZazVA_;(KZ%`RUl>*fHv#faX{y!v9*EIGKHdbHpw z))*9q=9XWk7A8rJpSQB%DSunfRC1uX7UV~b5=2XiTjR~GxMC@hFbZaQhGz^&nHL~< zECabg|I!I;HL~MiC`?Z^l458{U$ChMSSZ_-jkp%-SmqW-bGMb(TmtJ}>H^^GOr>KF z&=?m*N<8DnqoQr!zYC}M$|@iagQV5of(a$liGe#pid<2}n+h@|C4rOG4lm2cJ#@Gg zz*f&}T+WRtkrz+kQk~+%qgjn-99=52r_PJ*RhTg~`-Z1qK4oB~z{P@px+2iKjiMR$ z+I(f&^jMz?oFK~3Ei}Ubgq|o3bK+d1zVgcn@O z74GRtPgY#C*=Jl7S&iPOVJ5TiG%=XV;ynotBuu^-$L1gpyAW97ns$aQ8+(_g@!>1! z`72&?tTda&%uI`Eo6Z`6qlRKO|nhQH#(hxT_v**Z%zlBFWTB`iP&=eGwdeJ zB6Qmv_VAmza>-T*=L0)4m~pVC2dLjXA z_~95KHj;DX4#k(%|6MhKf{SRbwSr1m0Tm}Nx0#}m3^fPor5Do-MokoyT&ATo(>!Lq zSUd188=W$}rgWb{gG$X8yU~>Fy^!mdTy!z65$!0SXRV*LZRP8xqCa4AFkOQDc$T&& zdkdtb_CjaVxcxKJUb3>prs#XVW&!yqOcOYt*6J-bG8->Xq$ET#za+6duh;B`41v%Jny`v6xXvAe zfa%rFtSM|}V@l#x;kNB~s(p5V30!GnrMs*G5TuyYTy_EswHaXaR6^EhEq_yF>!Az^O}vDQu7q4 zSq}IMUa>5=&^D8K$2n{sG0>0_SafE|NP@cx!TmC%&p#bgupF|NN#5?9)8T!@Lte8} zS8mc)<>|*1WU2#;4^B(@6!Z%3lhy@9oUF)#v6zi)Ps^~-Jwmz%2b}@ej6m=Kaav=s z13KPb3Ps^Y1GOsd`27bLFPM_Cw{G~XA`X?Iv83<7%+?9vux7+!!K;gZ;Y9gA-pXKJ z0}IJQJ59`ev8iKJrgT4h%Y&Lo+1k2=>(}1`St1%Lsv8uPI7q)I`4Kc zEhefl@}2BEZINzrw}+ZWl{=l_3V5Ab!$@K7a7ZtiodtH|Z=vcTPlZ8ETi!EdxSmMI z%wT~lRmW%vp2ePKcd&Xt)OGcl{99(W3$05k9FznV?N`}suQ#RI4FYZ27=>Mwvi;5o z+O6MsJ!K~L>cVyGbIk~yZ7tsnO+Jfz&*nQYbdr{&7jMKF^Q^B`1UW>9<9!5#0Te9- zt4Ef7eGfam0l2OsqqJS zLkfu@$?`au+$LDydbXVG+0B*$$Lw+s1etRFe=C9D$c3T~1d?xf@pMa!f*_{u05=nm zAdO6yfw)65&E`A@E?mQXKMuzpHayg{uimWk%q}$S2jp%;lYz(A4zL%h&B{E(2xgX? z%ka7^r|!u=GshRBAev@6^Urs_dP9-v;}>)2yoj5hvG8SKe#%idBW*H~ar-_|*;IE02q zE@#8`mJ0Z^C|3)Ct+90s6TVQ#oP)8vOp)^UjuqH3)jCfrON_BA4c&cLB$x{SHe{P2 ztL?pB%HC$X%Z^;Z@xf%&ET0=0hrAyC`%ORQqTa* z5Fs+5MatoqGau72n&Ms+F(Var*;yn8ETVPrQccA4p!7uKiIGwn^M$W=Y}&cet1uhK zRCi!Wn!|{aK=|vF*$wRp77HeF#Z@jzzWpQ_hr3+alI`Vb*jU8Z#d!I+ zDctm~g<1cl#eF-OU2@Cr_#%-(j=n))>n(emOByGcCC#tl=;U@$2E-iFG9q;IlPO=u zHFeyuZf~?Q(IO2P18RVa(g5kV*1!R0Sos=!93FLZwx>QqlBaEs^|<{u=sLQmr;=&z zVt{{hC%0|G*_BmR7TDfIjcGF_5BuRW(`GZpp*n+t%r`%$FS*iJ5QCrf_U3upU7c2Z z_707qKxmk>vu^Lm*e?yV*Bq%&VJtZXtGlX2jdzyYM-J)GLtr5YEPKcVVoR}e)BYW&N-Waa~ z0p52NwYC1?-8YH|ImXMak&&!*lBXgJ)zSn{@!1p?T#{;$XC_mLe27G9mxWJ z>78!V8D`typ}Kt+H;2$Y3%@dAGZmQndH6ux|2fry^DC?NHQPxDQqKQn-1Z zhwE*>T!*f_Hxsif*uEph-Xb~lMO9h|A5hNH$k*VI zw}B(@TpV3o~&8edgs<9VrFP_R37L4Xxh(0WBt7$!zW4tNRmiT&X&Za-a=PxRZ z7OJfP_1qN3q&yAD(;V`Bj`TiM!a+87k1Ac1MQYTp)w1rhqZE>gw$*ltU~?CUmeL4{ zmc8o_jDsSPc+Bs*I1IZK^-m_-U5(6}_c^#^sXdvIC*9y|YV)&pDC2KbZ;?D5Um%}WcH2cyr$S3ZOD7D%PbhPY;pykR-Gk7K;=tsbLxo#!8{{K z`nCpB4jM=Eoo(jFC!oDx)CYW?z!M5gT9;5D5RcbD_JG<4bt4K?fc*?nP~9(gYQ`7x zJOybxuLPDzg(bKRY0*L9Q7nA}Q*bsd7^u-z^_1w$_brVGhu;|2Bk+8M^B}Q@pH3hT~l4oMM?QP zGCyRPaph%?4&SrH9^KGH5g-phnp4%p%BAB&^rgRAhGV_IHMQuJ)Wr_ip-Z^06 zTiZ&(PdR3oQGKkdICy}b-H|8ICe7 zNCRCoi#HAKsbwuOeO<;PdDREif(mqt>`lPAjifHPgU0qzg&Vf^!DV4>PM3D`_%#r7 z>H*&}2z(7VQv(d2oDF>JvPk0Woa;>4XP@=j zp>4c>XQ(*>Gjw(;h1bOF_BpZI*|RZ!I78{gQZUps2hI3QaKf77xKaonjZ^!IPp%Jz z{ZZVM8rnA0$bNG^Avm^!+Vd0;@MGV7s$Wm zfv{+%JN^yAL-#><49ENP+zkgINN0GPY~Z;{+wGm@?zX)g=eiZS?)C&Jn2#m5g`8j2 z*nF@IynM{a3h&5|9p|M@bHkgS72XBWuqiW^3-jlNHyiKFhnL^sKc>q9WWQXF#CtG( z*C0HG!|-~^9nFn+g5i}H2rmhD!SHSlgx5O|9@`AV^Vz zF%9@TJsffd+gJ0;c=^1Ghv9ne?t(kEHSdpQ%;!ryf#f)!!rdVO0>k3pXLy3;d>6|3 zX3$t~o8h55h8KcgdiRn(p(NzI1+(|(g|`-jV0d$ThMg+V7#{1z3vVNZ2a@?47zsHa zdIq4E)D7_x4DT+4$Mi6~E%12ZZJ!mM(<9{U0()S%7|5P;&e#$bRe=ch7 zQ5YY>vj$JD|4l$m|GCbl&IBavAv|_G*vMIl_ZP-EPCcCE=8ru&{pV(kkSt&Jr1YO_ zdP305mYn``oo&(vytz(kmU&y}b)<)X?DN~9^w-FID$E-rhXc^q&cr+CHJZy{egW@G zWDfQ<*4ZI}#!2%Wn5z(G3JsF}ugbE2Jj?uSmietL^S`pp|H(3!2O2%&Z_YB`n`M41 z%lu=OITC2n46k>Vxqp^u$VnXx>*P8}L7IRok{zx10dmH1jy-p_Fc z!t~E8RT~`-eEp8Qh3WH3FyvQKUB~xqeo@^2m$Om@BPxgJmRCaXL#*Bn6EHP5#cG@C zuycqN7nE9P9-g!x{K@+z`n0l8;m^H7FyK4O{lbiIRhFx6)CLhUK9AwVYMMGBGJ=dU zg@cWhH2A)LX{{UCh!uqz>8*cQKlo{irrLQB)*pqBU~w^B^8a8HPPZofPuR^NvHDe|pr zsKOn?(DGrZ0htgwF2o6Qxz;zW4CnYNt7e(zg}u7Kwu(+iBaQZe4R7AZ2ieT^5PnL{ zxir5W{I7bdi7vHInd$euh6gu3S(>Me=?iuJ4G0bq&YThEh+Yg^;*)8hMsT|2VAlZm zCN=u5cm=)ZqoayaB|cHjL#DB?x8?8^NaWYG8lQ~mg1(j*&ntP zTl1OfNNk1Zps}{Ot<9Z~ls3)52W8C{T5YF6gUPx)iJyshJWOWeV67J|PG?F^n+xEvV9q86ebgOoRfcXgZ} zgygBiyE)Eozz_sg!-$yd$C3_SVghl9<5ZH4CCE(CzeVo}-ZwnVary)4eoLB>o}EM=D*71FCyPE^^n*pOC!(C1MDG;+ zMA3gQ`uU#3wNiKskp1yv;m@S+2)QlgE$KPOy+8t>wt_e zNyK`rQ|8~%ezfD9Ml;I!Oxa&1`|D(XtL#_F{wdkNEc^h-@>oMexqd4;g*BuPCxSi- z$aG8;eJT;cs&5$|#MdlA^W;%#Whv*allRlCN`dA>- zaS+WYx4A@=+p#iVAoEHh!oNrO6_Dk>E7nA8w|fa|gmZ)^6L)o-Yl*u#&RsyZ=lh8$ z=f_D$dY&U9|2_KHa5n?8K6fP|UE_&JR~zj&b(||`u5g@dXh!;Ppn06*+$r-TH1F;> zFA~Q)&g-Njz2DHhhvRI6x(`F(F_DOH_60JW187D#vt*u4Gs2lqL^umcM>uEDyqDwL zK}0zB5GO!(Oq}RAeK!K`jc|o$3!e~v3}iSFlmYWMkcj*Z0+PO;=y96yG!hYZ2NCH! z9?153J`w(JC&K@CM8rE1Zip?y8-;6x!?AXz{e0nSU}!VP`H1Fy9Or$Axx$kiXDzW3 za%Yq|;~fYLPj;M1#3}GkM1F51?&~;z0y3NrXrAggqw!99l8E>&6TTwsGr-dK6&^2q zK=>gM=~x3~{2M}u#rod@$oRLBc^u9AInD%{5%&HxBOe_^_+Lgk{9P*iqwpyr!hH$I zeEmQ~xV<5Wru#A=&3h52p?whdcbwl4F+L@UBQTB#&k$ZMya^cE8SPN`CF$jk^Rvvq zh8%+fR5Z5&i8V;Uh%!yBC1$cdro9M&2PE z{qAGp5Y*E^8-As5rZ5g@KAq-q zj&rWeSI~_9bpvrc#s|`o&*x~~1O4dNK=iLoi0EHC64BlU0a?#`(2RQCmu7@tM?}1> zq@&(0Bck0sAbgbe@b`|)AIkib%q0+~(*KS?wx`30Xg{^2Bm8=rk^W|xyJ(&c{)^@V z9p_fjSCL+Y@+KaHe3V-IfkcF}Es*wm5n;cGbof7=2>WHSze)C=k&bkIC+xSaHID`| zpRW*+&OX}#(ch*KVQv62zbDd+{`iFGpNd|xy`?WD!u=~m_}^d$YwiPNyt~tkc&bG| zRP-Z>Nbm1te~Ij`k^Kvzze7a-`HYDE^8*q6CyKU396&@r+CexN$ab)oaE5T9@B$#) z<4r`g$9qXfyMBy_aq>AL()A|oM?216W&ernzma`-Cu`pmNcVk-@V|-7yUKnv%}7rT z&4_n_@C+j2e~7p@<`>~^a7*)+=$kCp>BJe1a~=`p`=HEk5nHDqB z37YXNq#5y@Kr_;Jj_8*V5$9F3NBUL?Unau+>$FGuz9F*QNJqNJ>k<1B;cg3=e+^{# zLx^xYiiq&{pgqE`7cL|nedZLJ5zg;vhP!iVMtB#|jC#9L=38l=?l{lN{I>8T(&6qq zBIIAj|PQnJ*KrARXm+i_CY@jQreBGt&1e&B*6RqJK_A z`oEz)@)<3&xC0UHcLlN>_a!2I^}?foOdoDKHP|gYS$H{+>APO$+lBX$j`Tet^RqM~ zeecoSALAm;NZ*g5yBG_Zz72s)->-#ZiEzIM?UBC2iAY~9=}1>n*iMAIB{H7?H0_9p zcrPI${Hth>@Sh;U|FfdMEV_fSnd89b#8GG`MC5M*kp5z_?~wgc(XSExUeTWx{cobL zmHAf)o8b>4BK$ExhC562dYO-v`5YqL-7NDHGQTJDw=(yG8-}|x5zl@y*UJ1mnJAqC->t%jI<~NA&_pQu*$5`{$K>8a`Gt%26 zJVEy7$o@9bHy8`|B^YOb;X|R@AoDIXALckc9N0%-Pu#%4?lcg*6xcU>xD-P&lH{~q}-0>u|l{?__Xj-;b%gq;28G zEBuS_ZQ&Qf?}a}L`=PC}oVF5fD;z8wA>2neT{u%16LL?T;j{=lgvSa`5}qZzKzOBa zrSNtk<$?_Fap9kZuL<83{$2P_;eUiK`WXH96>cUh749tLUOe4Z2q{OTd7AKWVUuu) z@HC;3AHw}|nO6v}7v3r4o;kziUODk~;oHLRg?%tU(0*ItU?KO+NgpfRQ#eVupRh_e zOL(|&wy;sSK-eYxozTc15zm=2Qx3^^FBM)XTq(Rsc(?FT;nTv8g#Qrsz?jGIdJA_J z4iQcg?kB7jQvOJPjY8^C(Y#RDEu=h>^wWgr3NIGkAbeQ(rtn?ikHU?jHk=)WgM?+m zF~YrtQ-wzgj~1RMG;&F#>p7YKF6`0M#-<yh7U5~aWx`v8tAwkCuM5`*zY+GwT7>1dxo|h( zP~j=UONDm|pB26!?6fkvpmKN4;FR^&lH{~yhC`O@I~Qk!f%B?3Af%%nc*fr%JVAK6@CxBI!pDR!3*QueDg0X4Z-C+zjuaj&JVAJx@N(ge!rO%p3Lh7~ zE#!Ux)9q|-aRcG6g*ytz3-=KoCae{<36Bw8BD_-gsPGx#C&Dj;y?$lm?=Ku8EEiS@ z4;C&IE)jB{fcZF2xI%cZ@MYoW!hTr5(fwHAZ-fhlmk3u09}vDSd{6kJFubJ=Z)@QW z!g0ch!Xt&p2$u;j5Z)-fL->sFCE=&SHNwbNHs0RC?S#7u_YzJP9xjXvyM-qTFBM)T zyhr%3@HOGP!hZ_C6ZXY^1!gGWd3-1)(FMLh-uJ8vT;+ z;eoN63HK8oBy13-gl7vc65cC(MEFe(9aH;j*Q@E>exUfcexbQULS;G5- ze-eHwTqE3KTN{3$@`M;I5*6P_wu zCcIO4zwmA0hr*H_RbIkD!V$uQg+~gzgeM69D7;?ytZ=pPJK@j5ZFaKp?IfHmJV4ke zY!hB6TrT8358Lw-!cT->2>b4A?KcyS6HXM?3g-$>7M>xzNqDF5Md540wZf8JY&;`{ z}N@;TyvDh2IH(7H&1z#yKs^44B>ggRl)~^?+QN_ zQs&Qk=_%Y%I9Rx^@Ic{FLhh5%-#NmIh1Uvi5k4$@Rk%hN9cuj#5>^X4gxud^_+~!~ z_>#=r&m#S6;g7-r!z_Jk;aK5b!W!Y>LhfHNob!a&3vUxXC452nvG8-DJKXy3B`g*0 zEZjplNqCsBR@f=*5?&;{LU@<(LE$UHw}f8_e-QRAv+3DH$o(qjZ@6%paE8$ASHb=q znQs!_DST1*n(!;(55mnx*zgAm#|ZZn#)b2QrwW$|uNU4XTrGS<_)p=t!i`7T__h%4 zDXbJGgbl)zgufTwD7-`Xs_<>0*?&TLl$6_ea8BQp-zec>!dfBspIE*p3vUqKE__+| zrtn80_k8GYYvB&UNy2Hu7GbAwh42R9Uxe=n-O)DOUcz$W?!w;+=LnYxFA&}@d{p>_ z@EhSaV{G_439Ez$3y&3^EWA~Cx9~&ZKZFCu+VBPn#|!rn&J{KbPZTZ{UMaj*_>k}k z;oHIwg*_{5eEo#Og=2&V3y&0b2~QCIQFy)ZMd540?}R@Kw;8AM5>6H#AZ!&b6kaG? zE__J%gzyvL7s5?;x8ZLo94DM8tQF1`o-8~=c)Rdk;hVz03aNX=cG^?8t8lomMtHbz zk??romBMR72>-{CO=b! zM+h$vUM5^Ayh(VE@FC%|!k2{a3qKLA6}o%b__h#kBPEzCLxttSiNYzunZm<_bA*k;g~D#(X~Jc~D}`4J z|0Mj2u;)~pzKw(fg@c6Sgj0ow2t}4fnJ0^%rh0+*P={aH8;F z;Ss`=aG~%F;km-=gtrKv5dK;CuJ9w_=xH`RdkFUx9w>|n>xIV(PY_-qyhGS)f8|d& zP`JHtq;Q<@P~j26g~Fx6=Y_8d-xq!={95>7gd>D|2qy`vga-@b z!g<0D;bP$_!ZU@J2(J|0D7-`XknjoNOTyQM9}52={I_teFgo4lZzJKB!fl0vg(HP~ z3M++G!h?nLgo}hH34brVP`F%po$yxS{lZ6u&kJ7_zAyY#_^t3q;pPY0{0tHvDNG1k zgq_0Ug{KP76J9F3MtGC(9^u2nXN9YU?+QN_ek1&kaKkE_zKw;y7Vao46OI+`Biv6| zBRpIC|n{uO?Z~@QsGs?n}l}?9~M3-TrGS<_>u54;m^YU2ibfL6mBmZDjX%8 zAeBALo;l;dJ8uZZX?`DI6_z;ZWgz z!Xt%^!VCVtrtUq?r>frr__%~)6iTJes1c$kR0vaq2N7z>En(8Q-*PSY2qX8~xZi~u zW86xmP(r9APsz{_dGHXT8XXmN_MZLrI%ocv_k7phYp>5*vwy$2yk^#qOPS7%+{Rrz zz)YUxIcD=u=4%<{yqR|~o)57q>$3^lumgK@AV+c>XK)@@FrDvmEBA0ekMIP~^A}!c z-d54P3iA$@WH~<0r}-RTU=Q}=aE{?r&gL?{#kctZ_i`W4@)~1XN4X#8GklgWaWvET z4nOB%p6AcZ|D4Y^AK*i*!v;)ZC%(d=oWpb;p+K z`8GE*lgF6!i&t;A?g>;`&ow#n9Ob*r32JYrQp5;%>^WPeWJ3hv<#{FAvl zMc0XADc0hXY{!lq!cknz4|#x@yvS@8>>Q0-lx10w_1Ks%vKwDz3Kw!Yw{aJE7 zH*fD^9axD8Ok^weX0TmN&hJ0RaSB&*4YzS8|IHs6+tqroJS(#~pJzV~=0wimT5jUE zJj&eNqVWpwUY21s)?^E|Wp4(%)#S`Sg_D@Z_52qP^AG0g9`(P6WthNT9LZE>@Kb)l zANU_$XPzF>ICt@0KE~Q?#dZvKJI|Tl2+rdYe!y+~mZf?|{i?DNJF+`RGKCAdobPiR z5A%Cw^AFzMD;oE|S(P=|nr%6NtN0Fg^E+PUH5Tg~jnj~A`2vS=8s7}PIoO|q8@2CL z?_m~?^JiXRftRA|6k=4(A@83=PIV!;9Mg4h?eV?HBdGjb%fF z^B-gaYqBvD*()>{|259hzJTjOgK_q#zu*xb<7H;^zxqcxZe~17vl6Sa37fJbyK+Kk zkaITQ<37g^FjMTU-EQlumjra`Pu>-@6zu^-T+B6G&t2ThL;Q|sd4aiJj>fr(xA9Jv z;RAev|726PU^2UK7)NpnXK*Q3a5J~^bMEI!o?$kxGT$rFd zPT*WFtWMd|>6T5L3M{*|Ta1GaU9}n;> zFEH=0C|?1_votHQDxYREzQB$gz(E|xiJZqpT+es-2|r~PkMkG)#-hWc{I|1AXz;vW zSzV2d_zb(UCtu}gF6MG>42=u^u3Wv7hxi>Y@mJ;>5#=k$GJJpup>e_fbn3=TVlsDx zmWYWt$}=qbYSex|Td@O&aUoZ6E06LF|Kx)sqwCgT5(kF{U%!TPruL;=$1VJvM|dhU z`1*V?G?@1<+V30{jdwpEWj!XbH-~dB-{ia8!7QHRRTg_K8m~fVFrP%eJhm}~B zPw{EC3k|OGlDa=rIDyN!l5g`pe#S4E#pArf-xQCNy|ntQZ=sZ)NSZ z_zZ_~A{Q{7yLpIbm}g=%-fb+!%B;)g?8pI3LCzRJm*&Q)B^_qm0i@k^fM8D{e;^G%NO7v#Mx#Ygxk>#_mcu>)UXe~#i< z&gWvT;d*Z4Cp^UOc$OC!GsXJzR^GwVEXSIx!!~TsAsoT^T+9!+jYoKl=Xr^_r$+hm zu^5Z9A}g^r>#;T4vO9Zo3}5GL&SwTU@FVWvVIJkryu!TGg8aebwM1y}I4H>~tj;EE z$|NSUF9&i0r*Iip@_laM0UqQ9US^)@QNH}Vm!;U4iA-h}zRV$<##FB1dhXzEe$SIE zI3vn)3rn&LtFSts;j`?(PVCQDIEmAk&UO5RpYj`K@&Yfjz|1IbAwJA1tk0*|o-eWw z2kPvgB$n}cQBJ#{E5FXUuu-MAWN_$A7uiYu_b%6A181MS8+Ap=N5j&Z}P?}+^WJ9e=I1=i3;ctBvCzDze-W191FX$@e2(qdhXXjClevO#aToXU z2cBl``B9#Hyo)7Rh1K~a8?h~4U|$YoN@%ctsp`2*=Q@7EPkDsLn9Zv!vLMP`jOF<- zpWr{)lr7kmJvo-+xr(c~mD`!gES}><{>9u2qnx+#PL^YNKE@~5j4j!PJvfSExsXfw z0k<)eSv<#!{EN94MR|)ej{jgq)?jV6WE*y6Prl00oX%NH=Q@7EPkER}d5OQWz~U%( zA>Pe$> zCbUGbe=861cUFBPI$oQtIGp2{%8lH@y}ZnVE28Ta<0GsZnmZ=uG1k$Z$Ru`lygU19 zAEX|}(b}hR5#QiizQd2Wi{FOkjfwdwPn2s*vA~;Sa^Aw6;ah0&(BNHMXmI>tbrr{( zs#~agsr#yfA4hZgPgiHCH>mfi52!DwFRKgXiuxA`4f2#%KdjDq&DtPeL-nm;zqY}C z>H1d)4H}!MTdD`DN2uqim#ep{^MwZQZdgQn&bs`+^$M0UCtm>;;*Ilz<^8|)4Caxu zo`Lb&Z{#hfF3;+$!P>0HhP*Mq=hW@kft}cmz1WvG)?<`tlJ`W8Z)?o zo4B33xR?8Qm`8bnr+As!yvl2gaUbODiyN$O0d>xO6x28Fqhi{NGmhn$bDst0-?-1J zXs^y1tj(PJFgU-dx&_16vkvducI?Jp?8|{1#jzaE$(+tvoX166#+6KC1~+gMH*+iZ zavu-yAP@5>Pw*5kGn-d=jRk_W2-l+!i?A4rGiP7n;Ny68X_jMo=Il2dd|X3aoAvm= DC +*/ + +#ifndef _TREE_EDIT_H_ +#define _TREE_EDIT_H_ + +#include +#include + +#include "types.h" +#include "algebra.h" +#include "ppforestsz.h" +//#include "ppforestali.h" + +template +class Mapping +{ + R *m_mtrxTD; + R *m_mtrxFD; + Ulong *m_rowStartTD; + Ulong *m_rowStartFD; + Ulong m_mtrxSizeTD; + Ulong m_mtrxSizeFD; + R m_optimum; + + PPForestSZ *m_ppfx; + PPForestSZ *m_ppfy; + const SZAlgebra *m_alg; + + inline R getMtrxTDVal(Ulong i,Ulong j) const + { + assert(m_rowStartTD[i]+j &ppf,Uint i, Uint j, Uint k, Uint l, Uint &node); +public: + Mapping(const PPForestSZ *ppfx, const PPForestSZ *ppfy,const SZAlgebra &alg); + ~Mapping(); + + R getGlobalOptimum() {return m_optimum;}; +}; + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/treeedit.t.cpp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/treeedit.t.cpp new file mode 100755 index 00000000..f1f3a1f4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/treeedit.t.cpp @@ -0,0 +1,174 @@ +/* + Copyright by Matthias Hoechsmann (C) 2002-2003 + ===================================== + You may use, copy and distribute this file freely as long as you + - do not change the file, + - leave this copyright notice in the file, + - do not make any profit with the distribution of this file + - give credit where credit is due + You are not allowed to copy or distribute this file otherwise + The commercial usage and distribution of this file is prohibited + Please report bugs and suggestions to +*/ + +#ifndef _TREE_EDIT_T_CPP_ +#define _TREE_EDIT_T_CPP_ + +#include +#include + +#include "alignment.h" +#include "debug.h" + +#include "misc.t.cpp" +#include "ppforestsz.t.cpp" + +template +Mapping::Mapping(const PPForestSZ *ppfx, const PPForestSZ *ppfy, const SZAlgebra &alg) +{ + assert(ppfx != NULL); + assert(ppfy != NULL); + + Ulong m,n,h,cols; + Ulong i,j,k,l,r,s; + R score,h_score; + + + // alloc space for the score matrices + m=ppfx->size(); + n=ppfy->size(); + + m_mtrxSizeTD=(m)*(n); + m_mtrxSizeFD=(m+1)*(n+1); // +1 because index 0 means the empty forest + m_mtrxTD=new R[m_mtrxSizeTD]; + m_mtrxFD=new R[m_mtrxSizeFD]; + m_rowStartTD=new Ulong[m]; + m_rowStartFD=new Ulong[m+1]; + + m_ppfx = new PPForestSZ(*ppfx); + m_ppfy = new PPForestSZ(*ppfy); + m_alg=&alg; + + cols=n; + m_rowStartTD[0]=0; + for(h=1;hkeyroot(i)) + continue; + + for(j=0;jkeyroot(j)) + continue; + + // calculate forest distance + + // edit to empty forest + setMtrxFDVal(0,0,0); + + for(k=m_ppfx->lml(i),r=1;k<=i;k++,r++) // r is the indexpos of k + setMtrxFDVal(r,0,m_alg->del(m_ppfx->label(k),getMtrxFDVal(r-1,0))); + + for(l=m_ppfy->lml(j),s=1;l<=j;l++,s++) + setMtrxFDVal(0,s,m_alg->insert(getMtrxFDVal(0,s-1),m_ppfy->label(l))); // s is the indexpos of j + + for(k=m_ppfx->lml(i),r=1;k<=i;k++,r++) + { + for(l=m_ppfy->lml(j),s=1;l<=j;l++,s++) + { + // fdist(k,i,l,j) + // lml(k)==lml(i) && lml(l)==lml(j) + if(m_ppfx->lml(k)==m_ppfx->lml(i) && m_ppfy->lml(l)==m_ppfy->lml(j)) + { + score=m_alg->replace(m_ppfx->label(k),getMtrxFDVal(r-1,s-1),m_ppfy->label(l)); + + h_score=m_alg->del(m_ppfx->label(k),getMtrxFDVal(r-1,s)); + score=alg.choice(score,h_score); + + h_score=m_alg->insert(getMtrxFDVal(r,s-1),m_ppfy->label(l)); + score=alg.choice(score,h_score); + + setMtrxFDVal(r,s,score); + setMtrxTDVal(k,l,score); + } + else + { + long p,q; + p=m_ppfx->lml(k) - m_ppfx->lml(i); + q=m_ppfy->lml(l) - m_ppfy->lml(j); + + score=getMtrxFDVal(p,q) + getMtrxTDVal(k,l); + + h_score=m_alg->del(m_ppfx->label(k),getMtrxFDVal(r-1,s)); + score=alg.choice(score,h_score); + + h_score=m_alg->insert(getMtrxFDVal(r,s-1),m_ppfy->label(l)); + score=alg.choice(score,h_score); + + setMtrxFDVal(r,s,score); + } + } + } + } + } + + // until here the original tree edit distance was calculated + // to allow edit distances between forests, the distance for a virtual root node is calculated + // leftmost leaf of the root node is the first node in postorder traversal + // The distances are calculated until the last tree node in postorder traversal which then holds the result + // for a virtual root node that is matched with zero cost + + // edit to empty forest + setMtrxFDVal(0,0,0); + + for(k=0,r=1;kdel(m_ppfx->label(k),getMtrxFDVal(r-1,0))); + + for(l=0,s=1;linsert(getMtrxFDVal(0,s-1),m_ppfy->label(l))); // s is the indexpos of j + + for(k=0,r=1;klml(k); + q=m_ppfy->lml(l); + + score=getMtrxFDVal(p,q) + getMtrxTDVal(k,l); + + h_score=m_alg->del(m_ppfx->label(k),getMtrxFDVal(r-1,s)); + score=alg.choice(score,h_score); + + h_score=m_alg->insert(getMtrxFDVal(r,s-1),m_ppfy->label(l)); + score=alg.choice(score,h_score); + + setMtrxFDVal(r,s,score); + } + } + + m_optimum=getMtrxFDVal(m,n); +} + +template +Mapping::~Mapping() +{ + DELETE(m_ppfx); + DELETE(m_ppfy); + + delete[] m_mtrxTD; + delete[] m_mtrxFD; + delete[] m_rowStartTD; + delete[] m_rowStartFD; +} +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/types.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/types.h new file mode 100755 index 00000000..6cac73e7 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/types.h @@ -0,0 +1,7 @@ +#ifndef _TYPES_H_ +#define _TYPES_H_ + +typedef unsigned int Uint; +typedef unsigned long Ulong; + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/unpairs.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/unpairs.c new file mode 100755 index 00000000..4ec6675b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/unpairs.c @@ -0,0 +1,112 @@ +#include "wmatch.h" + +/* Expands a blossom. Fixes up LINK and MATE. */ + +void UNPAIR (int oldbase, int oldmate) +{ int e, newbase, u; + +#ifdef DEBUG + printf("Unpair oldbase, oldmate=%d %d\n",oldbase, oldmate); +#endif + + UNLINK (oldbase); + newbase = BMATE (oldmate); + if (newbase != oldbase) { + LINK [oldbase] = -DUMMYEDGE; + REMATCH (newbase, MATE[oldbase]); + if (f == LASTEDGE[1]) + LINK[secondmate] = -LASTEDGE[2]; + else LINK[secondmate] = -LASTEDGE[1]; + } + e = LINK[oldmate]; + u = BEND (OPPEDGE (e)); + if (u == newbase) { + POINTER (newbase, oldmate, e); + return; + } + LINK[BMATE (u)] = -e; + do { + e = -LINK[u]; + v = BMATE (u); + POINTER (u, v, -LINK[v]); + u = BEND (e); + } while (u != newbase); + e = OPPEDGE (e); + POINTER (newbase, oldmate, e); +} + + +/* changes the matching along an alternating path */ +/* firstmate is the first base vertex on the path */ +/* edge e is the new matched edge for firstmate */ + +void REMATCH (int firstmate, int e) +{ +#ifdef DEBUG + printf("Rematch firstmate=%d e=%d-%d\n",firstmate, END[OPPEDGE(e)], END[e]); +#endif + + MATE[firstmate] = e; + nexte = -LINK[firstmate]; + while (nexte != DUMMYEDGE) { + e = nexte; + f = OPPEDGE (e); + firstmate = BEND (e); + secondmate = BEND (f); + nexte = -LINK[firstmate]; + LINK[firstmate] = -MATE[secondmate]; + LINK[secondmate] = -MATE[firstmate]; + MATE[firstmate] = f; + MATE[secondmate] = e; + } +} + + +/* unlinks subblossoms in a blossom. oldbase is the base of the blossom to */ +/* be unlinked. */ + +void UNLINK (int oldbase) +{ int k, j=1; + +#ifdef DEBUG + printf("Unlink oldbase=%d\n",oldbase); +#endif + + i = NEXTVTX[oldbase]; + newbase = NEXTVTX[oldbase]; + nextbase = NEXTVTX[LASTVTX[newbase]]; + e = LINK[nextbase]; +UL2: + do { + nextedge = OPPEDGE (LINK[newbase]); + for (k=1; k <= 2; ++k) { + LINK[newbase] = -LINK[newbase]; + BASE[i] = newbase; + i = NEXTVTX[i]; + while (i != nextbase) { + BASE[i] = newbase; + i = NEXTVTX[i]; + } + newbase = nextbase; + nextbase = NEXTVTX[LASTVTX[newbase]]; + } + } while (LINK[nextbase] == nextedge); + if (j==1) { + LASTEDGE[1] = nextedge; + j++; + nextedge = OPPEDGE (e); + if (LINK[nextbase] == nextedge) { + goto UL2; + } + } + LASTEDGE[2] = nextedge; + + if (BASE[LASTVTX[oldbase]] == oldbase) + NEXTVTX[oldbase] = newbase; + else { + NEXTVTX[oldbase] = DUMMYVERTEX; + LASTVTX[oldbase] = oldbase; + } +} + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/utils.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/utils.h new file mode 100755 index 00000000..402380ea --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/utils.h @@ -0,0 +1,52 @@ +#ifndef _UTILS_H_ +#define _UTILS_H_ + +// matthias : added naview_xy_coordinates to header +// removed extern's +// added ifndef +// added ectern "C" +// removed unsigned short xsubi[3]; from this file + +/* Header file for utils.c */ + +#if defined(__cplusplus) +extern "C" +{ +#endif + +int naview_xy_coordinates(short *pair_table, float *X, float *Y); +void *space(unsigned size); /* allocate space safely */ + +/*@exits@*/ +void nrerror(const char message[]); /* die with error message */ +void init_rand(void); /* make random number seeds */ + //unsigned short xsubi[3]; /* current 48bit random number */ +double urn(void); /* random number from [0..1] */ +int int_urn(int from, int to); /* random integer */ +void filecopy(FILE *from, FILE *to); /* inefficient `cp' */ +/*@observer@*/ +char *time_stamp(void); /* current date in a string */ +char *random_string(int l, const char symbols[]); +/* random string of length l using characters from symbols[] */ +int hamming(const char *s1, const char *s2); +/* calculate hamming distance */ +char *get_line(FILE *fp); /* read one (arbitrary length) line from fp */ + + +char *pack_structure(const char *struc); +/* pack secondary secondary structure, 5:1 compression using base 3 encoding */ +char *unpack_structure(const char *packed); +/* unpack sec structure packed with pack_structure() */ +short *make_pair_table(const char *structure); +/* returns a newly allocated table, such that: table[i]=j if (i.j) pair or + 0 if i is unpaired, table[0] contains the length of the structure. */ + +int bp_distance(const char *str1, const char *str2); +/* dist = {number of base pairs in one structure but not in the other} + same as edit distance with open-pair close-pair as move-set */ + +#if defined(__cplusplus) +} +#endif + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/wmatch.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/wmatch.c new file mode 100755 index 00000000..89ffe5c1 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/wmatch.c @@ -0,0 +1,147 @@ +/* N-cubed weighted matching */ +/* Implementation of H. Gabow's Ph.D. thesis, Stanford Univ. 1973 */ +/* Written by Edward Rothberg 7/85 */ +/* For complete details, please refer to the original paper */ + +/* Send either a Euclidean graph or an adjacency list graph. */ +/* Returns an array, the ith entry being the mate of vertex 'i'. */ +/* A zero entry indicates an unmatched vertex. */ + +/* To add new type, see readgraph.c */ + +#include "match.defs" +#include "graphtypes.h" +#include "wmatch.h" + +#include "pairs.c" +#include "pointer.c" +#include "readgraph.c" +#include "term.c" +#include "unpairs.c" + +void Initialize(int maximize); +void FreeUp(); + +int *Weighted_Match (void *gptr,int type,int maximize) + //int gptr,type,maximize; +{ int g, j, w, outcome; // loop=1; + + /* set up internal data structure */ + SetUp(gptr,type); + Initialize(maximize); + + for(;;) { + /* printf("Augment #%d\n",loop++); */ + DELTA = 0; + for (v=1; v<=U; ++v) + if (MATE[v] == DUMMYEDGE) + POINTER (DUMMYVERTEX, v, DUMMYEDGE); + for(;;) { + i = 1; + for (j=2; j<=U; ++j) + if (NEXT_D[i] > NEXT_D[j]) + i = j; + DELTA = NEXT_D[i]; + if (DELTA == LAST_D) + goto done; + v = BASE[i]; + if (LINK[v] >= 0) { + PAIR (&outcome); + if (outcome == 1) + break; + } + else { + w = BMATE (v); + if (LINK[w] < 0) { + POINTER (v, w, OPPEDGE(NEXTEDGE[i])); + } + else UNPAIR (v, w); + } + } + + LAST_D -=DELTA; + SET_BOUNDS(); + g = OPPEDGE(e); + REMATCH (BEND(e), g); + REMATCH (BEND(g), e); + } + +done: + SET_BOUNDS(); + UNPAIR_ALL(); + for (i=1; i<=U;++i) { + MATE[i] = END[MATE[i]]; + if (MATE[i]==DUMMYVERTEX) + MATE[i]=0; + } + + FreeUp(); + return(MATE); +} + + +void Initialize(int maximize) +{ int i, allocsize, max_wt= -MAXWT, min_wt=MAXWT; + + DUMMYVERTEX = U+1; + DUMMYEDGE = U+2*V+1; + END[DUMMYEDGE] = DUMMYVERTEX; + + for (i=U+2; i<=U+2*V; i+=2) { + if (WEIGHT[i] > max_wt) + max_wt = WEIGHT[i]; + if (WEIGHT[i] < min_wt) + min_wt = WEIGHT[i]; + } + if (!maximize) { + if (U%2!=0) { + printf("Must have an even number of vertices to do a\n"); + printf("minimum complete matching.\n"); + exit(0); + } + max_wt += 2; /* Don't want all zero weight */ + for (i=U+1; i<=U+2*V; i++) + WEIGHT[i] = max_wt-WEIGHT[i]; + max_wt = max_wt-min_wt; + } + LAST_D = max_wt/2; + + allocsize = (U+2)*sizeof(int); + MATE = (int *) malloc(allocsize); + LINK = (int *) malloc(allocsize); + BASE = (int *) malloc(allocsize); + NEXTVTX = (int *) malloc(allocsize); + LASTVTX = (int *) malloc(allocsize); + Y = (int *) malloc(allocsize); + NEXT_D = (int *) malloc(allocsize); + NEXTEDGE = (int *) malloc(allocsize); + allocsize = (U+2*V+2)*sizeof(int); + NEXTPAIR = (int *) malloc(allocsize); + + for (i = 1; i <= U+1; ++i) { + MATE[i] = DUMMYEDGE; + NEXTEDGE[i] = DUMMYEDGE; + NEXTVTX[i] = 0; + LINK[i] = -DUMMYEDGE; + BASE[i] = i; + LASTVTX[i] = i; + Y[i] = LAST_D; + NEXT_D[i] = LAST_D; + } +} + +void FreeUp() +{ + free(LINK); + free(BASE); + free(NEXTVTX); + free(LASTVTX); + free(Y); + free(NEXT_D); + free(NEXTEDGE); + free(NEXTPAIR); + free(A); + free(END); + free(WEIGHT); +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/wmatch.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/wmatch.h new file mode 100755 index 00000000..62881b91 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/wmatch.h @@ -0,0 +1,40 @@ +#ifndef _WMATCH_H_ +#define _WMATCH_H_ + +#ifdef __cplusplus +extern "C" +{ +#endif + + int *Weighted_Match (void *gptr,int type,int maximize); + + // pairs.c + void PAIR (int *outcome); + void MERGE_PAIRS (int v); + void LINK_PATH (int e); + void INSERT_PAIR (); + + // pointer.c + void POINTER (int u, int v, int e); + void SCAN (int x, int del); + + // readgraph.c + void SetUp (void* gptr, int type); + void SetStandard(Graph graph); + void SetEuclid(EuclidGraph graph); + void SetMatrix(MatrixGraph graph); + + // termc.c + void SET_BOUNDS (); + void UNPAIR_ALL (); + + // unpairs.c + void UNPAIR (int oldbase, int oldmate); + void REMATCH (int firstmate, int e) ; + void UNLINK (int oldbase); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/wmatch.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/src/wmatch.o new file mode 100755 index 0000000000000000000000000000000000000000..78bdfcdf29fce7bfb4c5d5ffa3799efeef9c6a6a GIT binary patch literal 21896 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 O91r*(TKyQudjAiG-X<;p literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/stamp-h1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/stamp-h1 new file mode 100755 index 00000000..4547fe1b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/RNAforester/stamp-h1 @@ -0,0 +1 @@ +timestamp for config.h diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Formats b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Formats new file mode 100755 index 00000000..12830c82 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Formats @@ -0,0 +1,980 @@ +||||||||||| ReadSeq supported formats (revised 30Dec92) +-------------------------------------------------------- + + -f[ormat=]Name Format name for output: + 1. IG/Stanford 10. Olsen (in-only) + 2. GenBank/GB 11. Phylip3.2 + 3. NBRF 12. Phylip + 4. EMBL 13. Plain/Raw + 5. GCG 14. PIR/CODATA + 6. DNAStrider 15. MSF + 7. Fitch 16. ASN.1 + 8. Pearson/Fasta 17. PAUP + 9. Zuker (in-only) 18. Pretty (out-only) + +In general, output supports only minimal subsets of each format +needed for sequence data exchanges. Features, descriptions +and other format-unique information is discarded. + +Users of Olsen multi sequence editor (VMS). The Olsen format +here is produced with the print command: + print/out=some.file +Use Genbank output from readseq to produce a format that this +editor can read, and use the command + load/genbank some.file +Dan Davison has a VMS program that will convert to/from the +Olsen native binary data format. E-mail davison@uh.edu + +Warning: Phylip format input is now supported (30Dec92), however the +auto-detection of Phylip format is very probabilistic and messy, +especially distinguishing sequential from interleaved versions. It +is not recommended that one use readseq to convert files from Phylip +format to others unless essential. + + + +||||||||||| ReadSeq usage (revised 11Nov91) +-------------------------------------------------------- + +A. determine file format: + + short skiplines; /* result: number of header lines to skip (or 0) */ + short error; /* error result or 0 */ + short format; /* resulting format code, see ureadseq.h */ + char *filename = "Mysequence.file" + + format = seqFileFormat( filename, &skiplines, &error); + if (error!=0) fail; + +B. read number and list of sequences (optional) + short numseqs; /* resulting number of sequences found in file */ + char *seqlist; /* list of sequence names, newline separated, 0 terminated */ + + seqlist = listSeqs( filename, skiplines, format, &numseqs, &error); + if (error!=0) display (seqlist); + free( seqlist); + +C. read individual sequences as desired + short seqIndex; /* sequence index #, or == kListSeqs for listSeqs equivalent */ + long seqlen; /* length of seq */ + char seqid[256]; /* sequence name */ + char *seq; /* sequence, 0 terminated, free when done */ + + seq = readSeq( seqIndex, filename, skiplines, format, + &seqlen, &numseqs, &error, seqid); + if (error!=0) manipulate(seq); + free(seq); + +D. write sequences as desired + int nlines; /* number of lines of sequence written */ + FILE* fout; /* open file pointer (stdout or other) */ + short outform; /* output format, see ureadseq.h */ + + nlines = writeSeq( fout, seq, seqlen, format, outform, seqid); + + +Note (30Dec92): There is various processing done by the main program (in readseq.c), + rather than just in the subroutines (in ureadseq.c). Especially for interleaved + output formats, the writeSeq subroutine does not handle interleaving, nor some of + the formatting at the top and end of output files. While seqFileFormat, listSeqs, + and readSeq subroutines are fairly self-contained, the writeSeq depends a lot on + auxilliary processing. At some point, this may be revised so writeSeq is self- + contained. + +Note 2: The NCBI toolkit (ftp from ncbi.nlm.nih.gov) is needed for the ASN.1 format + reading (see ureadasn.c). A bastard (but workable I hope) ASN.1 format is written + by writeSeq alone. + + + +||||||||||| sequence formats.... +--------------------------------------------------- + +stanford/IG +;comments +;... +seq1 info +abcd... +efgh1 (or 2 = terminator) +;another seq +;.... +seq2 info +abcd...1 +--- for e.g. ---- +; Dro5s-T.Seq Length: 120 April 6, 1989 21:22 Check: 9487 .. +dro5stseq +GCCAACGACCAUACCACGCUGAAUACAUCGGUUCUCGUCCGAUCACCGAAAUUAAGCAGCGUCGCGGGCG +GUUAGUACUUAGAUGGGGGACCGCUUGGGAACACCGCGUGUUGUUGGCCU1 + +; TOIG of: Dro5srna.Seq check: 9487 from: 1 to: 120 +--------------------------------------------------- + +Genbank: +LOCUS seq1 ID.. +... +ORIGIN ... +123456789abcdefg....(1st 9 columns are formatting) + hijkl... +// (end of sequence) +LOCUS seq2 ID .. +... +ORIGIN + abcd... +// +--------------------------------------------------- + +NBRF format: (from uwgcg ToNBRF) +>DL;DRO5SRNA +Iubio$Dua0:[Gilbertd.Gcg]Dro5srna.Seq;2 => DRO5SRNA + + 51 AAUUAAGCAG CGUCGCGGGC GGUUAGUACU UAGAUGGGGG ACCGCUUGGG + 101 AACACCGCGU GUUGUUGGCC U + +--------------------------------------------------- + +EMBL format +ID345 seq1 id (the 345 are spaces) +... other info +SQ345Sequence (the 3,4,5 are spaces) +abcd... +hijk... +// (! this is proper end string: 12Oct90) +ID seq2 id +... +SQ Sequence +abcd... +... +// +--------------------------------------------------- + +UW GCG Format: +comments of any form, up to ".." signal +signal line has seq id, and " Check: #### .." +only 1 seq/file + +-- e.g. --- (GCG from GenBank) +LOCUS DROEST6 1819 bp ss-mRNA INV 31-AUG-1987 + ... much more ... +ORIGIN 1 bp upstream of EcoRI site; chromosome BK9 region 69A1. + +INVERTEBRATE:DROEST6 Length: 1819 January 9, 1989 16:48 Check: 8008 .. + + 1 GAATTCGCCG GAGTGAGGAG CAACATGAAC TACGTGGGAC TGGGACTTAT + + 51 CATTGTGCTG AGCTGCCTTT GGCTCGGTTC GAACGCGAGT GATACAGATG + + +--------------------------------------------------- + +DNAStrider (Mac) = modified Stanford: +; ### from DNA Strider Friday, April 7, 1989 11:04:24 PM +; DNA sequence pBR322 4363 b.p. complete sequence +; +abcd... +efgh +// (end of sequence) +--------------------------------------------------- + +Fitch format: +Dro5srna.Seq + GCC AAC GAC CAU ACC ACG CUG AAU ACA UCG GUU CUC GUC CGA UCA CCG AAA UUA AGC AGC + GUC GCG GGC GGU UAG UAC UUA GAU GGG GGA CCG CUU GGG AAC ACC GCG UGU UGU UGG CCU +Droest6.Seq + GAA TTC GCC GGA GTG AGG AGC AAC ATG AAC TAC GTG GGA CTG GGA CTT ATC ATT GTG CTG + AGC TGC CTT TGG CTC GGT TCG AAC GCG AGT GAT ACA GAT GAC CCT CTG TTG GTG CAG CTG +--------------------------------------------------- + +W.Pearson/Fasta format: +>BOVPRL GenBank entry BOVPRL from omam file. 907 nucleotides. +TGCTTGGCTGAGGAGCCATAGGACGAGAGCTTCCTGGTGAAGTGTGTTTCTTGAAATCAT + +--------------------------------------------------- +Phylip version 3.2 format (e.g., DNAML): + + 5 13 YF (# seqs, #bases, YF) +Alpha AACGTGGCCAAAT + aaaagggccc... (continued sp. alpha) +Beta AAGGTCGCCAAAC + aaaagggccc... (continued sp. beta) +Gamma CATTTCGTCACAA + aaaagggccc... (continued sp. Gamma) +1234567890^-- bases must start in col 11, and run 'til #bases + (spaces & newlines are okay) +--------------------------------------------------- +Phylip version 3.3 format (e.g., DNAML): + + 5 42 YF (# seqs, #bases, YF) +Turkey AAGCTNGGGC ATTTCAGGGT +Salmo gairAAGCCTTGGC AGTGCAGGGT +H. SapiensACCGGTTGGC CGTTCAGGGT +Chimp AAACCCTTGC CGTTACGCTT +Gorilla AAACCCTTGC CGGTACGCTT +1234567890^-- bases must start in col 11 + !! this version interleaves the species -- contrary to + all other output formats. + +GAGCCCGGGC AATACAGGGT AT +GAGCCGTGGC CGGGCACGGT AT +ACAGGTTGGC CGTTCAGGGT AA +AAACCGAGGC CGGGACACTC AT +AAACCATTGC CGGTACGCTT AA + +--------------------------------------------------- +Phylip version 3.4 format (e.g., DNAML) +-- Both Interleaved and sequential are permitted + + 5 13 (# seqs, #bases) +Alpha AACGTGGCCAAAT + aaaagggccc... (continued sp. alpha) +Beta AAGGTCGCCAAAC + aaaagggccc... (continued sp. beta) +Gamma CATTTCGTCACAA + aaaagggccc... (continued sp. Gamma) +1234567890^-- bases must start in col 11, and run 'til #bases + (spaces, newlines and numbers are are ignored) + +--------------------------------------------------- +Gary Olsen (multiple) sequence editor /print format: + +!--------------------- +!17Oct91 -- error in original copy of olsen /print format, shifted right 1 space +! here is correct copy: + 301 40 Tb.thiop CGCAGCGAAA----------GCUNUGCUAAUACCGCAUA-CGnCCUG----------------------------------------------------- Tb.thiop +123456789012345678901 + 301 42 Rhc.purp CGUAGCGAAA----------GUUACGCUAAUACCGCAUA-UUCUGUG----------------------------------------------------- Rhc.purp + + 301 44 Rhc.gela nnngnCGAAA----------GCCGGAUUAAUACCGCAUA-CGACCUA----------------------------------------------------- Rhc.gela +!--------------------- + + RNase P RNA components. on 20-FEB-90 17:23:58 + + 1 (E.c. pr ): Base pairing in Escherichia coli RNase P RNA. + 2 (chrom ): Chromatium + : + 12 (B.brevis): Bacillus brevis RNase P RNA, B. James. + 13 ( 90% con): 90% conserved + 14 (100% con): 100% conserved + 15 (gram+ pr): pairing + +1 + RNase P RNA components. on 20-FEB-90 17:23:58 + + Posi- Sequence + tion: identity: Data: + + 1 1 E.c. pr <<<<<<<<<< {{{{{{{{<<:<<<<<<<<<<^<<<<<<====>>>> E.c. pr + 1 2 chrom GGAGUCGGCCAGACAGUCGCUUCCGUCCU------------------ chrom + : + 1 12 B.brevis AUGCAGGAAAUGCGGGUAGCCGCUGCCGCAAUCGUCU------------- B.brevis +1234567890123456789012 >>>>>^>>^>>>>:>> <<<^<<<< {{{{{ E.c. pr + 60 2 chrom -----GGUG-ACGGGGGAGGAAAGUCCGG-GCUCCAU------------- chrom + : : + 60 10 B.stearo ----UU-CG-GCCGUAGAGGAAAGUCCAUGCUCGCACGGUGCUGAGAUGC B.stearo + + +--------------------------------------------------- + GCG MSF format +Title line + +picorna.msf MSF: 100 Type: P January 17, 1991 17:53 Check: 541 +.. +Name: Cb3 Len: 100 Check: 7009 Weight: 1.00 +Name: E Len: 100 Check: 60 Weight: 1.00 + +// + + 1 50 +Cb3 ...gpvedai .......t.. aaigr..vad tvgtgptnse aipaltaaet + E gvenae.kgv tentna.tad fvaqpvylpe .nqt...... kv.affynrs + + 51 100 + +Cb3 ghtsqvvpgd tmqtrhvkny hsrsestien flcrsacvyf teykn..... + E ...spi.gaf tvks...... gs.lesgfap .fsngtc.pn sviltpgpqf + +--------------------------------------------------- + PIR format +This is NBRF-PIR MAILSERVER version 1.45 +Command-> get PIR3:A31391 +\\\ +ENTRY A31391 #Type Protein +TITLE *Esterase-6 - Fruit fly (Drosophila melanogaster) + +DATE 03-Aug-1992 #Sequence 03-Aug-1992 #Text 03-Aug-1992 +PLACEMENT 0.0 0.0 0.0 0.0 0.0 +COMMENT *This entry is not verified. +SOURCE Drosophila melanogaster + +REFERENCE + #Authors Cooke P.H., Oakeshott J.G. + #Citation submitted to GenBank, April 1989 + #Reference-number A31391 + #Accession A31391 + #Cross-reference GB:J04167 + +SUMMARY #Molecular-weight 61125 #Length 544 #Checksum 1679 +SEQUENCE + 5 10 15 20 25 30 + 1 M N Y V G L G L I I V L S C L W L G S N A S D T D D P L L V + 31 Q L P Q G K L R G R D N G S Y Y S Y E S I P Y A E P P T G D + 61 L R F E A P E P Y K Q K W S D I F D A T K T P V A C L Q W D + 91 Q F T P G A N K L V G E E D C L T V S V Y K P K N S K R N S + 121 F P V V A H I H G G A F M F G A A W Q N G H E N V M R E G K + 151 F I L V K I S Y R L G P L G F V S T G D R D L P G N Y G L K + 181 D Q R L A L K W I K Q N I A S F G G E P Q N V L L V G H S A + 211 G G A S V H L Q M L R E D F G Q L A R A A F S F S G N A L D + 241 P W V I Q K G A R G R A F E L G R N V G C E S A E D S T S L + 271 K K C L K S K P A S E L V T A V R K F L I F S Y V P F A P F + 301 S P V L E P S D A P D A I I T Q D P R D V I K S G K F G Q V + 331 P W A V S Y V T E D G G Y N A A L L L K E R K S G I V I D D + 361 L N E R W L E L A P Y L L F Y R D T K T K K D M D D Y S R K + 391 I K Q E Y I G N Q R F D I E S Y S E L Q R L F T D I L F K N + 421 S T Q E S L D L H R K Y G K S P A Y A Y V Y D N P A E K G I + 451 A Q V L A N R T D Y D F G T V H G D D Y F L I F E N F V R D + 481 V E M R P D E Q I I S R N F I N M L A D F A S S D N G S L K + 511 Y G E C D F K D N V G S E K F Q L L A I Y I D G C Q N R Q H + 541 V E F P +/// +\\\ +--------------------------------------------------- +PAUP format: +The NEXUS Format + +Every block starts with "BEGIN blockname;" and ends with "END;". +Each block is composed of one or more statements, each +terminated by a semicolon (;). + +Comments may be included in NEXUS files by enclosing them within +square brackets, as in "[This is a comment]." + +NEXUS-conforming files are identified by a "#NEXUS" directive at +the very beginning of the file (line 1, column 1). If the +#NEXUS is omitted PAUP issues a warning but continues +processing. + +NEXUS files are entirely free-format. Blanks, tabs, and +newlines may be placed anywhere in the file. Unless RESPECTCASE +is requested, commands and data may be entered in upper case, +lower case, or a mixture of upper and lower case. + +The following conventions are used in the syntax descriptions of +the various blocks. Upper-case items are entered exactly as +shown. Lower-case items inside of angle brackets -- e.g., +-- represent items to be substituted by the user. Items inside +of square brackets -- e.g., [X] -- are optional. Items inside +of curly braces and separated by vertical bars -- e.g., { X | Y +| Z } -- are mutually exclusive options. + + +The DATA Block + +The DATA block contains the data matrix and other associated +information. Its syntax is: + +BEGIN DATA; +DIMENSIONS NTAX= NCHAR=; + [ FORMAT [ MISSING= ] + [ LABELPOS={ LEFT | RIGHT } ] + [ SYMBOLS="" ] + [ INTERLEAVE ] + [ MATCHCHAR= ] + [ EQUATE="= [=...]" ] + [ TRANSPOSE ] + [ RESPECTCASE ] + [ DATATYPE = { STANDARD | DNA | RNA | PROTEIN } ]; ] + [ OPTIONS [ IGNORE={ INVAR | UNINFORM } ] + [ MSTAXA = { UNCERTAIN | POLYMORPH | VARIABLE } ] + [ ZAP = "" ] ; ] + [ CHARLABELS label_2>ÊÉ ; ] + [ TAXLABELS ; ] + [ STATELABELS ; ] + MATRIX ; + END; + +--- example PAUP file + +#NEXUS + +[!Brown et al. (1982) primate mitochondrial DNA] + +begin data; + dimensions ntax=5 nchar=896; + format datatype=dna matchchar=. interleave missing='-'; + matrix +[ 2 4 6 8 ] +[ 1 1 1 1 1 ] +human aagcttcaccggcgcagtca ttctcataatcgcccacggR cttacatcctcattactatt ctgcctagcaaactcaaact acgaacgcactcacagtcgc +chimp ................a.t. .c.................a ...............t.... ..................t. .t........c......... +gorilla ..................tg ....t.....t........a ........a......t.... .................... .......a..c.....c... +orang ................ac.. cc.....g..t.....t..a ..c........cc....g.. .................... .......a..c.....c... +gibbon ......t..a..t...ac.g .c.................a ..a..c..t..cc.g..... ......t............. .......a........c... + +[ 8 8 8 8 8 8 ] +[ 0 2 4 6 8 9 ] +[ 1 1 1 1 1 6 ] +human cttccccacaacaatattca tgtgcctagaccaagaagtt attatctcgaactgacactg agccacaacccaaacaaccc agctctccctaagctt +chimp t................... .a................c. ........a.....g..... ...a................ ................ +gorilla ..................tc .a................c. ........a.g......... ...a.............tt. .a.............. +orang ta....a...........t. .c.......ga......acc ..cg..a.a......tg... .a.a..c.....g...cta. .a.....a........ +gibbon a..t.......t........ ....ac...........acc .....t..a........... .a.tg..........gctag .a.............. + ; +end; +--------------------------------------------------- + + + + + + +||||||||||| Sample SMTP mail header +--------------------------------------------------- + +- - - - - - - - - +From GenBank-Retrieval-System@genbank.bio.net Sun Nov 10 17:28:56 1991 +Received: from genbank.bio.net by sunflower.bio.indiana.edu + (4.1/9.5jsm) id AA19328; Sun, 10 Nov 91 17:28:55 EST +Received: by genbank.bio.net (5.65/IG-2.0) + id AA14458; Sun, 10 Nov 91 14:30:03 -0800 +Date: Sun, 10 Nov 91 14:30:03 -0800 +Message-Id: <9111102230.AA14458@genbank.bio.net> +From: Database Server +To: gilbertd@sunflower.bio.indiana.edu +Subject: Results of Query for drorna +Status: R + +No matches on drorna. +- - - - - - +From GenBank-Retrieval-System@genbank.bio.net Sun Nov 10 17:28:49 1991 +Received: from genbank.bio.net by sunflower.bio.indiana.edu + (4.1/9.5jsm) id AA19323; Sun, 10 Nov 91 17:28:47 EST +Received: by genbank.bio.net (5.65/IG-2.0) + id AA14461; Sun, 10 Nov 91 14:30:03 -0800 +Date: Sun, 10 Nov 91 14:30:03 -0800 +Message-Id: <9111102230.AA14461@genbank.bio.net> +From: Database Server +To: gilbertd@sunflower.bio.indiana.edu +Subject: Results of Query for droest6 +Status: R + +LOCUS DROEST6 1819 bp ss-mRNA INV 31-AUG-1987 +DEFINITION D.melanogaster esterase-6 mRNA, complete cds. +ACCESSION M15961 + + + + + + + + + + + + +||||||||||| GCG manual discussion of sequence symbols: +--------------------------------------------------- + +III_SEQUENCE_SYMBOLS + + + GCG programs allow all upper and lower case letters, periods (.), +asterisks (*), pluses (+), ampersands (&), and ats (@) as symbols in +biological sequences. Nucleotide symbols, their complements, and the +standard one-letter amino acid symbols are shown below in separate lists. +The meanings of the symbols +, &, and @ have not been assigned at this +writing (March, 1989). + + GCG uses the letter codes for amino acid codes and nucleotide +ambiguity proposed by IUB (Nomenclature Committee, 1985, +Eur. J. Biochem. 150; 1-5). These codes are compatible with the codes +used by the EMBL, GenBank, and NBRF data libraries. + + + NUCLEOTIDES + + The meaning of each symbol, its complement, and the Cambridge and +Stanford equivalents are shown below. Cambridge files can be converted +into GCG files and vice versa with the programs FROMSTADEN and TOSTADEN. +IntelliGenetics sequence files can be interconverted with the programs +FROMIG and TOIG. + +IUB/GCG Meaning Complement Staden/Sanger Stanford + + A A T A A + C C G C C + G G C G G + T/U T A T T/U + M A or C K 5 J + R A or G Y R R + W A or T W 7 L + S C or G S 8 M + Y C or T R Y Y + K G or T M 6 K + V A or C or G B not supported N + H A or C or T D not supported N + D A or G or T H not supported N + B C or G or T V not supported N + X/N G or A or T or C X -/X N + . not G or A or T or C . not supported ? + + + The frame ambiguity codes used by Staden are not supported by GCG +and are translated by FROMSTADEN as the lower case single base +equivalent. + + Staden Code Meaning GCG + + D C or CC c + V T or TT t + B A or AA a + H G or GG g + K C or CX c + L T or TX t + M A or AX a + N G or GX g + + + AMINO ACIDS + + Here is a list of the standard one-letter amino acid codes and their +three-letter equivalents. The synonymous codons and their depiction in +the IUB codes are shown. You should recognize that the codons following +semicolons (;) are not sufficiently specific to define a single amino +acid even though they represent the best possible back translation into +the IUB codes! All of the relationships in this list can be redefined by +the user in a local data file described below. + + IUB +Symbol 3-letter Meaning Codons Depiction + A Ala Alanine GCT,GCC,GCA,GCG !GCX + B Asp,Asn Aspartic, + Asparagine GAT,GAC,AAT,AAC !RAY + C Cys Cysteine TGT,TGC !TGY + D Asp Aspartic GAT,GAC !GAY + E Glu Glutamic GAA,GAG !GAR + F Phe Phenylalanine TTT,TTC !TTY + G Gly Glycine GGT,GGC,GGA,GGG !GGX + H His Histidine CAT,CAC !CAY + I Ile Isoleucine ATT,ATC,ATA !ATH + K Lys Lysine AAA,AAG !AAR + L Leu Leucine TTG,TTA,CTT,CTC,CTA,CTG +!TTR,CTX,YTR;YTX + M Met Methionine ATG !ATG + N Asn Asparagine AAT,AAC !AAY + P Pro Proline CCT,CCC,CCA,CCG !CCX + Q Gln Glutamine CAA,CAG !CAR + R Arg Arginine CGT,CGC,CGA,CGG,AGA,AGG +!CGX,AGR,MGR;MGX + S Ser Serine TCT,TCC,TCA,TCG,AGT,AGC !TCX,AGY;WSX + T Thr Threonine ACT,ACC,ACA,ACG !ACX + V Val Valine GTT,GTC,GTA,GTG !GTX + W Trp Tryptophan TGG !TGG + X Xxx Unknown !XXX + Y Tyr Tyrosine TAT, TAC !TAY + Z Glu,Gln Glutamic, + Glutamine GAA,GAG,CAA,CAG !SAR + * End Terminator TAA, TAG, TGA !TAR,TRA;TRR + + + + + + + + +||||||||||| docs from PSC on sequence formats: +--------------------------------------------------- + + + Nucleic Acid and Protein Sequence File Formats + + +It will probably save you some time if you have your data in a usable +format before you send it to us. However, we do have the University of +Wisconsin Genetics Computing Group programs running on our VAXen and +this package includes several reformatting utilities. Our programs +usually recognize any of several standard formats, including GenBank, +EMBL, NBRF, and MolGen/Stanford. For the purposes of annotating an +analysis we find the GenBank and EMBL formats most useful, particularly +if you have already received an accession number from one of these +organizations for your sequence. + +Our programs do not require that all of the line types available in +GenBank, EMBL, or NBRF file formats be present for the file format to +be recognized and processed. The following pages outline the essential +details required for correct processing of files by our programs. +Additional information may be present but will generally be ignored. + + + GenBank File Format + +File Header + +1. The first line in the file must have "GENETIC SEQUENCE DATA BANK" + in spaces 20 through 46 (see LINE 1, below). +2. The next 8 lines may contain arbitrary text. They are ignored but + are required to maintain the GenBank format (see LINE 2 - LINE 9). + +Sequence Data Entries + +3. Each sequence entry in the file should have the following format. + a) first line: Must have LOCUS in the first 5 spaces. The + genetic locus name or identifier must be in spaces + 13 - 22. The length of the sequences is right + justified in spaces 23 through 29 (see LINE 10). + b) second line: Must have DEFINITION in the first 10 spaces. + Spaces 13 - 80 are free form text to identify the + sequence (see LINE 11). + c) third line: Must have ACCESSION in the first 9 spaces. Spaces + 13 - 18 must hold the primary accession number + (see LINE 12). + d) fourth line: Must have ORIGIN in the first 6 spaces. Nothing + else is required on this line, it indicates that + the nucleic acid sequence begins on the next line + (see LINE 13). + e) fifth line: Begins the nucleotide sequence. The first 9 + spaces of each sequence line may either be blank + or may contain the position in the sequence of the + first nucleotide on the line. The next 66 spaces + hold the nucleotide sequence in six blocks of ten + nucleotides. Each of the six blocks begins with a + blank space followed by ten nucleotides. Thus the + first nucleotide is in space eleven of the line while + the last is in space 75 (see LINE 14, LINE 15). + f) last line: Must have // in the first 2 spaces to indicate + termination of the sequence (see LINE 16). + +NOTE: Multiple sequences may appear in each file. To begin another + sequence go back to a) and start again. + + + Example GenBank file + + +LINE 1 : GENETIC SEQUENCE DATA BANK +LINE 2 : +LINE 3 : +LINE 4 : +LINE 5 : +LINE 6 : +LINE 7 : +LINE 8 : +LINE 9 : +LINE 10 :LOCUS L_Name Length BP +LINE 11 :DEFINITION Describe the sequence any way you want +LINE 12 :ACCESSION Accession Number +LINE 13 :ORIGIN +LINE 14 : 1 acgtacgtac gtacgtacgt acgtacgtac gtacgtacgt a... +LINE 15 : 61 acgt... +LINE 16 :// + + + + EMBL File Format + +Unlike the GenBank file format the EMBL file format does not require +a series of header lines. Thus the first line in the file begins +the first sequence entry of the file. + +1. The first line of each sequence entry contains the two letters ID + in the first two spaces. This is followed by the EMBL identifier + in spaces 6 through 14. (See LINE 1). + +2. The second line of each sequence entry has the two letters AC in + the first two spaces. This is followed by the accession number in + spaces 6 through 11. (See LINE 2). + +3. The third line of each sequence entry has the two letters DE in the + first two spaces. This is followed by a free form text definition + in spaces 6 through 72. (See LINE 3). + +4. The fourth line in each sequence entry has the two letters SQ in + the first two spaces. This is followed by the length of the + sequence beginning at or after space 13. After the sequence length + there is a blank space and the two letters BP. (See LINE 4). + +5. The nucleotide sequence begins on the fifth line of the sequence + entry. Each line of sequence begins with four blank spaces. The + next 66 spaces hold the nucleotide sequence in six blocks of ten + nucleotides. Each of the six blocks begins with a blank space + followed by ten nucleotides. Thus the first nucleotide is in space + 6 of the line while the last is in space 70. (See LINE 5 - + LINE 6). + +6. The last line of each sequence entry in the file is a terminator + line which has the two characters // in the first two spaces. + (See LINE 7). + +7. Multiple sequences may appear in each file. To begin another + sequence go back to item 1 and start again. + + + Example EMBL file + +LINE 1 :ID ID_name +LINE 2 :AC Accession number +LINE 3 :DE Describe the sequence any way you want +LINE 4 :SQ Length BP +LINE 5 : ACGTACGTAC GTACGTACGT ACGTACGTAC GTACGTA... +LINE 6 : ACGT... +LINE 7 :// + + + + NBRF (protein or nucleic acid) File Format + +1. The first line of each sequence entry begins with a greater than + symbol, >. This is immediately followed by the two character + sequence type specifier. Space four must contain a semi-colon. + Beginning in space five is the sequence name or identification code + for the NBRF database. The code is from four to six letters and + numbers. (See LINE 1). + +!!!! >> add these to readseq + Specifier Sequence type + + P1 protein, complete + F1 protein, fragment + DL DNA, linear + DC DNA, circular + RL RNA, linear + RC RNA, circular + N1 functional RNA, other than tRNA + N3 tRNA + +2. The second line of each sequence entry contains two kinds of + information. First is the sequence name which is separated from + the organism or organelle name by the three character sequence + blank space, dash, blank space, " - ". There is no special + character marking the beginning of this line. (See LINE 2). + +3. Either the amino acid or nucleic acid sequence begins on line three + and can begin in any space, including the first. The sequence is + free format and may be interrupted by blanks for ease of reading. + Protein sequences man contain special punctuation to indicate + various indeterminacies in the sequence. In the NBRF data files + all lines may be up to 500 characters long. However some PSC + programs currently have a limit of 130 characters per line + (including blanks), and BitNet will not accept lines of over eighty + characters. (See LINE 3, LINE 4, and LINE 5). + + The last character in the sequence must be an asterisks, *. + + Example NBRF file + + LINE 1 :>P1;CBRT + LINE 2 :Cytochrome b - Rat mitochondrion (SGC1) + LINE 3 :M T N I R K S H P L F K I I N H S F I D L P A P S + LINE 4 : VTHICRDVN Y GWL IRY + LINE 5 :TWIGGQPVEHPFIIIGQLASISYFSIILILMPISGIVEDKMLKWN* + + + + MolGen/Stanford File Format + +1. The first line in a sequence file is a comment line. This line + begins with a semi-colon in the first space. This line need + not be present. If it is present it holds descriptive text. + There may be as many comment lines as desired at the first of + sequence file. (See LINE 1). + +2. The second line must be present and contains an identifier or + name for the sequence in the first ten spaces. (See LINE 2). + +3. The sequence begins on the third line and occupies up to eighty + spaces. Spaces may be included in the sequence for ease of + reading. The sequence continues for as many line as needed + and is terminated with a 1 or 2. 1 indicates a linear sequence + while 2 marks a circular sequence. (See LINE 3 and LINE 4). + + Example MolGen/Stanford file + +LINE 1 :; Describe the sequence any way you want +LINE 2 :ECTRNAGLY2 +LINE 3 :ACGCACGTAC ACGTACGTAC A C G T C C G T ACG TAC GTA CGT +LINE 4 : GCTTA GG G C T A1 + + + + +||||||||||| Phylip file format +--------------------------------------------------- + + Phylip 3.3 File Format (DNA sequences) + + + The input and output formats for PROTPARS and for RESTML are described in +their document files. In general their input formats are similar to those +described here, except that the one-letter codes for data are specific to those +programs and are described in those document files. Since the input formats +for the eight DNA sequence programs apply to all eight, they are described +here. Their input formats are standard: the data have A's, G's, C's and T's +(or U's). The first line of the input file contains the number of species and +the number of sites. As with the other programs, options information may +follow this. In the case of DNAML, DNAMLK, and DNADIST an additional line +(described in the document file for these pograms) may follow the first one. +Following this, each species starts on a new line. The first 10 characters of +that line are the species name. There then follows the base sequence of that +species, each character being one of the letters A, B, C, D, G, H, K, M, N, O, +R, S, T, U, V, W, X, Y, ?, or - (a period was also previously allowed but it is +no longer allowed, because it sometimes is used to in aligned sequences to mean +"the same as the sequence above"). Blanks will be ignored, and so will +numerical digits. This allows GENBANK and EMBL sequence entries to be read +with minimum editing. + + These characters can be either upper or lower case. The algorithms +convert all input characters to upper case (which is how they are treated). +The characters constitute the IUPAC (IUB) nucleic acid code plus some slight +extensions. They enable input of nucleic acid sequences taking full account of +any ambiguities in the sequence. + +The sequences can continue over multiple lines; when this is done the sequences +must be either in "interleaved" format, similar to the output of alignment +programs, or "sequential" format. These are described in the main document +file. In sequential format all of one sequence is given, possibly on multiple +lines, before the next starts. In interleaved format the first part of the +file should contain the first part of each of the sequences, then possibly a +line containing nothing but a carriage-return character, then the second part +of each sequence, and so on. Only the first parts of the sequences should be +preceded by names. Here is a hypothetical example of interleaved format: + + 5 42 +Turkey AAGCTNGGGC ATTTCAGGGT +Salmo gairAAGCCTTGGC AGTGCAGGGT +H. SapiensACCGGTTGGC CGTTCAGGGT +Chimp AAACCCTTGC CGTTACGCTT +Gorilla AAACCCTTGC CGGTACGCTT + +GAGCCCGGGC AATACAGGGT AT +GAGCCGTGGC CGGGCACGGT AT +ACAGGTTGGC CGTTCAGGGT AA +AAACCGAGGC CGGGACACTC AT +AAACCATTGC CGGTACGCTT AA + +while in sequential format the same sequences would be: + + 5 42 +Turkey AAGCTNGGGC ATTTCAGGGT +GAGCCCGGGC AATACAGGGT AT +Salmo gairAAGCCTTGGC AGTGCAGGGT +GAGCCGTGGC CGGGCACGGT AT +H. SapiensACCGGTTGGC CGTTCAGGGT +ACAGGTTGGC CGTTCAGGGT AA +Chimp AAACCCTTGC CGTTACGCTT +AAACCGAGGC CGGGACACTC AT +Gorilla AAACCCTTGC CGGTACGCTT +AAACCATTGC CGGTACGCTT AA + + +Note, of course, that a portion of a sequence like this: + + 300 AAGCGTGAAC GTTGTACTAA TRCAG + +is perfectly legal, assuming that the species name has gone before, and is +filled out to full length by blanks. The above digits and blanks will be +ignored, the sequence being taken as starting at the first base symbol (in this +case an A). + + The present versions of the programs may sometimes have difficulties with +the blank lines between groups of lines, and if so you might want to retype +those lines, making sure that they have only a carriage-return and no blank +characters on them, or you may perhaps have to eliminate them. The symptoms of +this problem are that the programs complain that the sequences are not properly +aligned, and you can find no other cause for this complaint. + +------------------------------------------------ + + +||||||||||| ASN.1 file format +--------------------------------------------------- + + +ASN.1 -- see NCBI toolkit docs, source and examples (ncbi.nlm.nih.gov) + +Example asn.1 sequence file---- + +Bioseq-set ::= { +seq-set { + seq { + id { local id 1 } , -- id essential + descr { title "Dummy sequence data from nowhere" } , -- optional + inst { -- inst essential + repr raw , + mol dna , + length 156 , + topology linear , + seq-data + iupacna "GAATTCATTTTTGAAACAAATCGACCTGACGACGGAATGGTACTCGAATTA +TGGGCCAAAGGGTTTTATGGGACAAATTAATAGGTGTTCATTATATGCCACTTTCGGAGATTAGATACAGCAATGCAG +TGGATTCAAAGCAATAGAGTTGTTCTT" + } } , + + seq { + id { local id 2 } , + descr { title "Dummy sequence 2 data from somewhere else" } , + inst { + repr raw , + mol dna , + length 150 , + topology linear , + seq-data + iupacna "TTTTTTTTTTTTGAAACAAATCGACCTGACGACGGAATGGTACTCGAATTA +TGGGCCAAAGGGTTTTATGGGACAAATTAATAGGTGTTCATTATATGCCACTTTCGGAGATTAGATACAGCAATGCAG +TGGATTCAAAGCAATAGAGTT" + } + } + } + } + + +partial ASN.1 description from toolkit + +Bioseq ::= SEQUENCE { + id SET OF Seq-id , -- equivalent identifiers + descr Seq-descr OPTIONAL , -- descriptors + inst Seq-inst , -- the sequence data + annot SET OF Seq-annot OPTIONAL } + +Seq-inst ::= SEQUENCE { -- the sequence data itself + repr ENUMERATED { -- representation class + not-set (0) , -- empty + virtual (1) , -- no seq data + raw (2) , -- continuous sequence + seg (3) , -- segmented sequence + const (4) , -- constructed sequence + ref (5) , -- reference to another sequence + consen (6) , -- consensus sequence or pattern + map (7) , -- ordered map (genetic, restriction) + other (255) } , + mol ENUMERATED { -- molecule class in living organism + not-set (0) , -- > cdna = rna + dna (1) , + rna (2) , + aa (3) , + na (4) , -- just a nucleic acid + other (255) } , + length INTEGER OPTIONAL , -- length of sequence in residues + fuzz Int-fuzz OPTIONAL , -- length uncertainty + topology ENUMERATED { -- topology of molecule + not-set (0) , + linear (1) , + circular (2) , + tandem (3) , -- some part of tandem repeat + other (255) } DEFAULT linear , + strand ENUMERATED { -- strandedness in living organism + not-set (0) , + ss (1) , -- single strand + ds (2) , -- double strand + mixed (3) , + other (255) } OPTIONAL , -- default ds for DNA, ss for RNA, pept + seq-data Seq-data OPTIONAL , -- the sequence + ext Seq-ext OPTIONAL , -- extensions for special types + hist Seq-hist OPTIONAL } -- sequence history + +------------------------------------------------ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Make.com b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Make.com new file mode 100755 index 00000000..82da18a5 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Make.com @@ -0,0 +1,63 @@ +$! +$!VAX-VMS cc make file for readseq +$! +$ echo := write sys$output +$ if p1.eqs."TEST" then goto tests +$ +$ echo "compiling readseq..." +$ cc readseq, ureadseq +$! +$ echo "linking readseq..." +$ link readseq, ureadseq, sys$library:vaxcrtl/lib +$! +$tests: +$! +$ echo "defining readseq symbol:" +$ dd = f$environment("default") +$ readseq :== $ 'dd'readseq.exe +$ show symbol readseq +$! +$ echo "" +$ echo "test for general read/write of all chars:" +$ readseq -p alphabet.std -otest.alpha +$ diff test.alpha alphabet.std +$! +$ echo "" +$ echo "test for valid format conversions" +$! +$ readseq -v -p -f=ig nucleic.std -otest.ig +$ readseq -v -p -f=gb test.ig -otest.gb +$ readseq -v -p -f=nbrf test.gb -otest.nbrf +$ readseq -v -p -f=embl test.nbrf -otest.embl +$ readseq -v -p -f=gcg test.embl -otest.gcg +$ readseq -v -p -f=strider test.gcg -otest.strider +$ readseq -v -p -f=fitch test.strider -otest.fitch +$ readseq -v -p -f=fasta test.fitch -otest.fasta +$ readseq -v -p -f=pir test.fasta -otest.pir +$ readseq -v -p -f=ig test.pir -otest.ig-b +$ diff test.ig test.ig-b +$! +$ echo "" +$ echo "Test for multiple-sequence format conversions:" +$ readseq -p -f=ig multi.std -otest.m-ig +$ readseq -p -f=gb test.m-ig -otest.m-gb +$ readseq -p -f=nbrf test.m-gb -otest.m-nbrf +$ readseq -p -f=embl test.m-nbrf -otest.m-embl +$ readseq -p -f=fasta test.m-embl -otest.m-fasta +$ readseq -p -f=pir test.m-fasta -otest.m-pir +$ readseq -p -f=msf test.m-pir -otest.m-msf +$ readseq -p -f=paup test.m-msf -otest.m-paup +$ readseq -p -f=ig test.m-paup -otest.m-ig-b +$ diff test.m-ig test.m-ig-b +$ echo "" +$ echo "Expect differences in the header lines due to" +$ echo "different format headers. If any sequence lines" +$ echo "differ, or if checksums differ, there is a problem." +$! +$! #cleanup +$! delete test.*; +$ echo "-----------" +$ echo "" +$ echo "To clean up test files, command me: +$ echo " DELETE test.*;" +$! diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Make.ncbi b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Make.ncbi new file mode 100755 index 00000000..f6df5af6 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Make.ncbi @@ -0,0 +1,110 @@ +# +# Unix Makefile for readseq +# to use, command me: +# % make -- or -- +# % make CC=your-c-compiler-name +# + +# pick an ANSI C compiler (the default Sun CC is not ANSI) +CC=gcc # Gnu C Compiler +#CC=cc # SGI Irix +#CC=vcc # some DEC Ultrix + +CFLAGS= +#CFLAGS= -DSMALLCHECKSUM # if you prefer to use a GCG-standard 13 bit checksum +# instead of a full 32 bit checksum. This may enhance compatibility w/ GCG software + +SOURCES= readseq.c ureadseq.c ureadseq.h ureadasn.c +DOCS= Readme readseq.help Formats Stdfiles Makefile Make.com add.gdemenu *.std + + +# NCBI toolkit support for ASN.1 reader + +# this is path to NCBI toolkit, you must set for your system: +NCBI=/bio/mb/ncbi +# +OTHERLIBS=-lm +LIB1=-lncbi +LIB2=-lncbiobj +LIB3=-lncbicdr +LIB4=-lvibrant +INCPATH=$(NCBI)/include +LIBPATH=$(NCBI)/lib +NCFLAGS=$(CFLAGS) -DNCBI -I$(INCPATH) +NLDFLAGS=-I$(INCPATH) -L$(LIBPATH) +NLIBS=$(LIB1) $(LIB2) $(OTHERLIBS) + + +all: build test + +#build: $(SOURCES) +# @echo "Compiling readseq..." +# $(CC) $(CFLAGS) -o readseq readseq.c ureadseq.c + +# if using NCBI, uncomment these lines in place of build: above +build: $(SOURCES) + @echo "Compiling readseq with NCBI toolkit support..."; + $(CC) -o readseq $(NLDFLAGS) $(NCFLAGS) readseq.c ureadseq.c ureadasn.c $(NLIBS) + +test: $(SOURCES) readseq + @echo "" + @echo "Test for general read/write of all chars:" + ./readseq -p alphabet.std -otest.alpha + -diff test.alpha alphabet.std + + @echo "" + @echo "Test for valid format conversions:" + ./readseq -v -p -f=ig nucleic.std -otest.ig + ./readseq -v -p -f=gb test.ig -otest.gb + ./readseq -v -p -f=nbrf test.gb -otest.nbrf + ./readseq -v -p -f=embl test.nbrf -otest.embl + ./readseq -v -p -f=gcg test.embl -otest.gcg + ./readseq -v -p -f=strider test.gcg -otest.strider + ./readseq -v -p -f=fitch test.strider -otest.fitch + ./readseq -v -p -f=fasta test.fitch -otest.fasta + ./readseq -v -p -f=pir test.fasta -otest.pir + ./readseq -v -p -f=ig test.pir -otest.ig-b + -diff test.ig test.ig-b + + @echo "" + @echo "Test for multiple-sequence format conversions:" + ./readseq -p -f=ig multi.std -otest.m-ig + ./readseq -p -f=gb test.m-ig -otest.m-gb + ./readseq -p -f=nbrf test.m-gb -otest.m-nbrf + ./readseq -p -f=embl test.m-nbrf -otest.m-embl + ./readseq -p -f=fasta test.m-embl -otest.m-fasta + ./readseq -p -f=pir test.m-fasta -otest.m-pir + ./readseq -p -f=msf test.m-pir -otest.m-msf + ./readseq -p -f=paup test.m-msf -otest.m-paup + ./readseq -p -f=ig test.m-paup -otest.m-ig-b + -diff test.m-ig test.m-ig-b +# +# if using NCBI, uncomment these lines + @echo "" + @echo "Test of NCBI ASN.1 conversions:" + ./readseq -p -f=asn test.m-ig -otest.m-asn + ./readseq -p -f=ig test.m-asn -otest.m-ig-c + -diff test.m-ig test.m-ig-c +# + @echo "" + @echo "Expect differences in the header lines due to" + @echo "different format headers. If any sequence lines" + @echo "differ, or if the checksums differ, there is a problem." + @echo "----------------------" + @echo "" + @echo "To clean up test files, command me:" + @echo " make clean" + + +clean: + rm -f *.o core test.* + +shar: + @echo "shell archiving files..." + -rm -f readseq*.shar + mkdir readseqd + cp $(SOURCES) readseqd + cp $(DOCS) readseqd + shar -v readseqd > readseq.shar + rm -rf readseqd + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Makefile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Makefile new file mode 100755 index 00000000..3c674326 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Makefile @@ -0,0 +1,111 @@ +# +# Unix Makefile for readseq +# to use, command me: +# % make -- or -- +# % make CC=your-c-compiler-name +# + +# pick an ANSI C compiler (the default Sun CC is not ANSI) +#CC=gcc # Gnu C Compiler +CC=cc # SGI Irix +#CC=vcc # some DEC Ultrix + +CFLAGS= +#CFLAGS= -DSMALLCHECKSUM # if you prefer to use a GCG-standard 13 bit checksum +# instead of a full 32 bit checksum. This may enhance compatibility w/ GCG software + +SOURCES= readseq.c ureadseq.c ureadseq.h ureadasn.c +DOCS= Readme Readseq.help Formats Stdfiles Makefile Make.com add.gdemenu *.std + + +# NCBI toolkit support for ASN.1 reader + +# this is path to NCBI toolkit, you must set for your system: +NCBI= +#NCBI=/bio/mb/ncbi +# +OTHERLIBS=-lm +LIB1=-lncbi +LIB2=-lncbiobj +LIB3=-lncbicdr +LIB4=-lvibrant +INCPATH=$(NCBI)/include +LIBPATH=$(NCBI)/lib +NCFLAGS=$(CFLAGS) -DNCBI -I$(INCPATH) +NLDFLAGS=-I$(INCPATH) -L$(LIBPATH) +NLIBS=$(LIB1) $(LIB2) $(OTHERLIBS) + + +all: build test + +build: $(SOURCES) + @echo "Compiling readseq..." + $(CC) $(CFLAGS) -o readseq readseq.c ureadseq.c + +# if using NCBI, uncomment these lines in place of build: above +#build: $(SOURCES) +# @echo "Compiling readseq with NCBI toolkit support..."; +# $(CC) -o readseq $(NLDFLAGS) $(NCFLAGS) readseq.c ureadseq.c ureadasn.c $(NLIBS) + +test: $(SOURCES) readseq + @echo "" + @echo "Test for general read/write of all chars:" + ./readseq -p alphabet.std -otest.alpha + -diff test.alpha alphabet.std + + @echo "" + @echo "Test for valid format conversions:" + ./readseq -v -p -f=ig nucleic.std -otest.ig + ./readseq -v -p -f=gb test.ig -otest.gb + ./readseq -v -p -f=nbrf test.gb -otest.nbrf + ./readseq -v -p -f=embl test.nbrf -otest.embl + ./readseq -v -p -f=gcg test.embl -otest.gcg + ./readseq -v -p -f=strider test.gcg -otest.strider + ./readseq -v -p -f=fitch test.strider -otest.fitch + ./readseq -v -p -f=fasta test.fitch -otest.fasta + ./readseq -v -p -f=pir test.fasta -otest.pir + ./readseq -v -p -f=ig test.pir -otest.ig-b + -diff test.ig test.ig-b + + @echo "" + @echo "Test for multiple-sequence format conversions:" + ./readseq -p -f=ig multi.std -otest.m-ig + ./readseq -p -f=gb test.m-ig -otest.m-gb + ./readseq -p -f=nbrf test.m-gb -otest.m-nbrf + ./readseq -p -f=embl test.m-nbrf -otest.m-embl + ./readseq -p -f=fasta test.m-embl -otest.m-fasta + ./readseq -p -f=pir test.m-fasta -otest.m-pir + ./readseq -p -f=msf test.m-pir -otest.m-msf + ./readseq -p -f=paup test.m-msf -otest.m-paup + ./readseq -p -f=ig test.m-paup -otest.m-ig-b + -diff test.m-ig test.m-ig-b +# +# if using NCBI, uncomment these lines +# @echo "" +# @echo "Test of NCBI ASN.1 conversions:" +# ./readseq -p -f=asn test.m-ig -otest.m-asn +# ./readseq -p -f=ig test.m-asn -otest.m-ig-c +# -diff test.m-ig test.m-ig-c +# + @echo "" + @echo "Expect differences in the header lines due to" + @echo "different format headers. If any sequence lines" + @echo "differ, or if the checksums differ, there is a problem." + @echo "----------------------" + @echo "" + @echo "To clean up test files, command me:" + @echo " make clean" + + +clean: + rm -f *.o core test.* + +shar: + @echo "shell archiving files..." + -rm -f readseq*.shar + mkdir readseqd + cp $(SOURCES) readseqd + cp $(DOCS) readseqd + shar -v readseqd > readseq.shar + rm -rf readseqd + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Readme b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Readme new file mode 100755 index 00000000..6efd1f45 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Readme @@ -0,0 +1,160 @@ + + * ReadSeq -- 1 Feb 93 + * + * Reads and writes nucleic/protein sequences in various + * formats. Data files may have multiple sequences. + * + * Copyright 1990 by d.g.gilbert + * biology dept., indiana university, bloomington, in 47405 + * e-mail: gilbertd@bio.indiana.edu + * + * This program may be freely copied and used by anyone. + * Developers are encourged to incorporate parts in their + * programs, rather than devise their own private sequence + * format. + * + * This should compile and run with any ANSI C compiler. + * Please advise me of any bugs, additions or corrections. + +Readseq has been updated. There have been a number of enhancements +and a few bug corrections since the previous general release in Nov 91 +(see below). If you are using earlier versions, I recommend you update to +this release. + +Readseq is particularly useful as it automatically detects many +sequence formats, and interconverts among them. +Formats added to this release include + + MSF multi sequence format used by GCG software + + PAUP's multiple sequence (NEXUS) format + + PIR/CODATA format used by PIR + + ASN.1 format used by NCBI + + Pretty print with various options for nice looking output. + +As well, Phylip format can now be used as input. Options to +reverse-compliment and to degap sequences have been added. A menu +addition for users of the GDE sequence editor is included. + +This program is available thru Internet gopher, as + + gopher ftp.bio.indiana.edu + browse into the IUBio-Software+Data/molbio/readseq/ folder + select the readseq.shar document + +Or thru anonymous FTP in this manner: + my_computer> ftp ftp.bio.indiana.edu (or IP address 129.79.224.25) + username: anonymous + password: my_username@my_computer + ftp> cd molbio/readseq + ftp> get readseq.shar + ftp> bye + +readseq.shar is a Unix shell archive of the readseq files. +This file can be editted by any text editor to reconstitute the +original files, for those who do not have a Unix system or an +Unshar program. Read the top of this .shar file for further +instructions. + +There are also pre-compiled executables for the following computers: +Silicon Graphics Iris, Sparc (Sun Sparcstation & clones), VMS-Vax, +Macintosh. Use binary ftp to transfer these, except Macintosh. The +Mac version is just the command-line program in a window, not very +handy. + +C source files: + readseq.c ureadseq.c ureadasn.c ureadseq.h +Document files: + Readme (this doc) + Readseq.help (longer than this doc) + Formats (description of sequence file formats) + add.gdemenu (GDE program users can add this to the .GDEmenu file) + Stdfiles -- test sequence files + Makefile -- Unix make file + Make.com -- VMS make file + *.std -- files for testing validity of readseq + + +Example usage: + readseq + -- for interactive use + readseq my.1st.seq my.2nd.seq -all -format=genbank -output=my.gb + -- convert all of two input files to one genbank format output file + readseq my.seq -all -form=pretty -nameleft=3 -numleft -numright -numtop -match + -- output to standard output a file in a pretty format + readseq my.seq -item=9,8,3,2 -degap -CASE -rev -f=msf -out=my.rev + -- select 4 items from input, degap, reverse, and uppercase them + cat *.seq | readseq -pipe -all -format=asn > bunch-of.asn + -- pipe a bunch of data thru readseq, converting all to asn + + +The brief usage of readseq is as follows. The "[]" denote +optional parts of the syntax: + + readseq -help +readSeq (27Dec92), multi-format molbio sequence reader. +usage: readseq [-options] in.seq > out.seq + options + -a[ll] select All sequences + -c[aselower] change to lower case + -C[ASEUPPER] change to UPPER CASE + -degap[=-] remove gap symbols + -i[tem=2,3,4] select Item number(s) from several + -l[ist] List sequences only + -o[utput=]out.seq redirect Output + -p[ipe] Pipe (command line, stdout) + -r[everse] change to Reverse-complement + -v[erbose] Verbose progress + -f[ormat=]# Format number for output, or + -f[ormat=]Name Format name for output: + 1. IG/Stanford 10. Olsen (in-only) + 2. GenBank/GB 11. Phylip3.2 + 3. NBRF 12. Phylip + 4. EMBL 13. Plain/Raw + 5. GCG 14. PIR/CODATA + 6. DNAStrider 15. MSF + 7. Fitch 16. ASN.1 + 8. Pearson/Fasta 17. PAUP + 9. Zuker 18. Pretty (out-only) + + Pretty format options: + -wid[th]=# sequence line width + -tab=# left indent + -col[space]=# column space within sequence line on output + -gap[count] count gap chars in sequence numbers + -nameleft, -nameright[=#] name on left/right side [=max width] + -nametop name at top/bottom + -numleft, -numright seq index on left/right side + -numtop, -numbot index on top/bottom + -match[=.] use match base for 2..n species + -inter[line=#] blank line(s) between sequence blocks + + + +Recent changes: + +4 May 92 ++ added 32 bit CRC checksum as alternative to GCG 6.5bit checksum +Aug 92 += fixed Olsen format input to handle files w/ more sequences, + not to mess up when more than one seq has same identifier, + and to convert number masks to symbols. += IG format fix to understand ^L +30 Dec 92 +* revised command-line & interactive interface. Suggested form is now + readseq infile -format=genbank -output=outfile -item=1,3,4 ... + but remains compatible with prior commandlines: + readseq infile -f2 -ooutfile -i3 ... ++ added GCG MSF multi sequence file format ++ added PIR/CODATA format ++ added NCBI ASN.1 sequence file format ++ added Pretty, multi sequence pretty output (only) ++ added PAUP multi seq format ++ added degap option ++ added Gary Williams (GWW, G.Williams@CRC.AC.UK) reverse-complement option. ++ added support for reading Phylip formats (interleave & sequential) +* string fixes, dropped need for compiler flags NOSTR, FIXTOUPPER, NEEDSTRCASECMP +* changed 32bit checksum to default, -DSMALLCHECKSUM for GCG version + +1Feb93 += reverted Genbank output format to fixed left margin + (change in 30 Dec release), so GDE and others relying on fixed margin + can read this. diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Readseq.help b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Readseq.help new file mode 100755 index 00000000..08fdc080 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Readseq.help @@ -0,0 +1,229 @@ + + * ReadSeq.Help -- 30 Dec 92 + * + * Reads and writes nucleic/protein sequences in various + * formats. Data files may have multiple sequences. + * + * Copyright 1990 by d.g.gilbert + * biology dept., indiana university, bloomington, in 47405 + * e-mail: gilbertd@bio.indiana.edu + * + * This program may be freely copied and used by anyone. + * Developers are encourged to incorporate parts in their + * programs, rather than devise their own private sequence + * format. + * + * This should compile and run with any ANSI C compiler. + * Please advise me of any bugs, additions or corrections. + +Readseq is particularly useful as it automatically detects many +sequence formats, and interconverts among them. + +Formats which readseq currently understands: + + * IG/Stanford, used by Intelligenetics and others + * GenBank/GB, genbank flatfile format + * NBRF format + * EMBL, EMBL flatfile format + * GCG, single sequence format of GCG software + * DNAStrider, for common Mac program + * Fitch format, limited use + * Pearson/Fasta, a common format used by Fasta programs and others + * Zuker format, limited use. Input only. + * Olsen, format printed by Olsen VMS sequence editor. Input only. + * Phylip3.2, sequential format for Phylip programs + * Phylip, interleaved format for Phylip programs (v3.3, v3.4) + * Plain/Raw, sequence data only (no name, document, numbering) + + MSF multi sequence format used by GCG software + + PAUP's multiple sequence (NEXUS) format + + PIR/CODATA format used by PIR + + ASN.1 format used by NCBI + + Pretty print with various options for nice looking output. Output only. + +See the included "Formats" file for detail on file formats. + + +Example usage: + readseq + -- for interactive use + + readseq my.1st.seq my.2nd.seq -all -format=genbank -output=my.gb + -- convert all of two input files to one genbank format output file + + readseq my.seq -all -form=pretty -nameleft=3 -numleft -numright -numtop -match + -- output to standard output a file in a pretty format + + readseq my.seq -item=9,8,3,2 -degap -CASE -rev -f=msf -out=my.rev + -- select 4 items from input, degap, reverse, and uppercase them + + cat *.seq | readseq -pipe -all -format=asn > bunch-of.asn + -- pipe a bunch of data thru readseq, converting all to asn + + +The brief usage of readseq is as follows. The "[]" denote +optional parts of the syntax: + +readseq -help +readSeq (27Dec92), multi-format molbio sequence reader. +usage: readseq [-options] in.seq > out.seq + options + -a[ll] select All sequences + -c[aselower] change to lower case + -C[ASEUPPER] change to UPPER CASE + -degap[=-] remove gap symbols + -i[tem=2,3,4] select Item number(s) from several + -l[ist] List sequences only + -o[utput=]out.seq redirect Output + -p[ipe] Pipe (command line, stdout) + -r[everse] change to Reverse-complement + -v[erbose] Verbose progress + -f[ormat=]# Format number for output, or + -f[ormat=]Name Format name for output: + 1. IG/Stanford 10. Olsen (in-only) + 2. GenBank/GB 11. Phylip3.2 + 3. NBRF 12. Phylip + 4. EMBL 13. Plain/Raw + 5. GCG 14. PIR/CODATA + 6. DNAStrider 15. MSF + 7. Fitch 16. ASN.1 + 8. Pearson/Fasta 17. PAUP + 9. Zuker 18. Pretty (out-only) + + Pretty format options: + -wid[th]=# sequence line width + -tab=# left indent + -col[space]=# column space within sequence line on output + -gap[count] count gap chars in sequence numbers + -nameleft, -nameright[=#] name on left/right side [=max width] + -nametop name at top/bottom + -numleft, -numright seq index on left/right side + -numtop, -numbot index on top/bottom + -match[=.] use match base for 2..n species + -inter[line=#] blank line(s) between sequence blocks + + +Notes: + +In use, readseq will respond to command line arguments, or to +interactive use. Command line arguments cannot be combined +but must each follow a switch character (-). In this release, +the command line options are now words, with an equals (=) +to separate parameter(s) fromt he command. You cannot put a +space between a command and its parameter, as is usual for +Unix programs (this is to preserve compatibility with VMS). +The command line syntax of the earlier versions is still +supported. + +See the file Formats for details of the sequence formats which +are supported by readseq. The auto-detection feature of +readseq which distinguishes these formats looks for some of the +unique keywords and symbols that are found in each format. It +is not infallible at this, though it attempts to exclude unknown +formats. In general, if you feed to readseq a sequence file that +you know is one of these common formats, you are okay. If you feed +it data that might be oddball formats, or non-sequence data, +you might well get garbage results. Also, different developers +are always thinking up minor twists on these common formats +(like PAUP requiring a blank line between blocks of Phylip format, +or IG adding form feeds between sequences), which may cause hassles. + +In general, output supports only minimal subsets of each format +needed for sequence data exchanges. Features, descriptions +and other format-unique information is discarded. + +The pretty format requires additional options to generate a +nice output. Try the various pretty options to see what you like. +Pretty format is OUPUT only, readseq cannot read a Pretty format +file. + +Readseq is NOT optimized for LARGE files. It generally makes several +reads thru each input file (one per sequence output at present, future +version may optimize this). It should handle input and output files +and sequences of any size, but will slow down quite a bit for very large +(multi megabyte) sized files. It is NOT recommended for converting +databanks or large subsets there-of. It is primarily directed at the +small files that researchers use to maintain their personal data, which +they frequently need to interconvert for the various analysis programs +which so frequently require a special format. + +Users of Olsen multi sequence editor (VMS). The Olsen format +here is produced with the print command: + print/out=some.file +Use Genbank output from readseq to produce a format that this +editor can read, and use the command + load/genbank some.file +Dan Davison has a VMS program that will convert to/from the +Olsen native binary data format. E-mail davison@uh.edu + +Warning: Phylip format input is now supported (30Dec92), however the +auto-detection of Phylip format is very probabilistic and messy, +especially distinguishing sequential from interleaved versions. It +is not recommended that one use readseq to convert files from Phylip +format to others unless essential. + + +This program is available thru Internet gopher, as + + gopher ftp.bio.indiana.edu + browse into the IUBio-Software+Data/molbio/readseq/ folder + select the readseq.shar document + +Or thru anonymous FTP in this manner: + my_computer> ftp ftp.bio.indiana.edu (or IP address 129.79.224.25) + username: anonymous + password: my_username@my_computer + ftp> cd molbio/readseq + ftp> get readseq.shar + ftp> bye + +readseq.shar is a Unix shell archive of the readseq files. +This file can be editted by any text editor to reconstitute the +original files, for those who do not have a Unix system or an +Unshar program. Read the top of this .shar file for further +instructions. + +There are also pre-compiled executables for the following computers: +Silicon Graphics Iris, Sparc (Sun Sparcstation & clones), VMS-Vax, +Macintosh. Use binary ftp to transfer these, except Macintosh. The +Mac version is just the command-line program in a window, not very +handy. + +C source files: + readseq.c ureadseq.c ureadasn.c ureadseq.h + +Document files: + Readme (this doc) + Formats (description of sequence file formats) + add.gdemenu (GDE program users can add this to the .GDEmenu file) + Stdfiles -- test sequence files + Makefile -- Unix make file + Make.com -- VMS make file + *.std -- files for testing validity of readseq + + +Recent changes (see also readseq.c for all history of changes): + +4 May 92 ++ added 32 bit CRC checksum as alternative to GCG 6.5bit checksum +Aug 92 += fixed Olsen format input to handle files w/ more sequences, + not to mess up when more than one seq has same identifier, + and to convert number masks to symbols. += IG format fix to understand ^L +30 Dec 92 +* revised command-line & interactive interface. Suggested form is now + readseq infile -format=genbank -output=outfile -item=1,3,4 ... + but remains compatible with prior commandlines: + readseq infile -f2 -ooutfile -i3 ... ++ added GCG MSF multi sequence file format ++ added PIR/CODATA format ++ added NCBI ASN.1 sequence file format ++ added Pretty, multi sequence pretty output (only) ++ added PAUP multi seq format ++ added degap option ++ added Gary Williams (GWW, G.Williams@CRC.AC.UK) reverse-complement option. ++ added support for reading Phylip formats (interleave & sequential) +* string fixes, dropped need for compiler flags NOSTR, FIXTOUPPER, NEEDSTRCASECMP +* changed 32bit checksum to default, -DSMALLCHECKSUM for GCG version + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Stdfiles b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Stdfiles new file mode 100755 index 00000000..f72ad1e3 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/Stdfiles @@ -0,0 +1,134 @@ +/* Stdfiles + generate standard files to test readseq +*/ + +C +#include +/* no sequence formats use chars > #126, ignore these */ +main(void) +{ + int c; + puts("> alphabet['!'..'~']"); + for (c = '!'; c <= '~'; c++) putc(c,stdout); + putc('\n', stdout); +} + +link -w -t MPST -c 'MPS ' c.o ¶ + "{Libraries}"Interface.o "{Libraries}"ToolLibs.o ¶ + "{Libraries}"Runtime.o "{CLibraries}"StdClib.o +link.out > alphabet.orig + + +C +#include +main(void) +{ +/* note: symbols "*" and "/" removed as terminators for various formats */ +const char *aminos = "ABCDEFGHIKLMNPQRSTVWXYZ"; +const char *primenuc = "ACGTU"; +const char *allsymbols = "_.-?<>{}[]()!@#$%^&=+;:'|`~\"\\"; + + char *c, all[256]; + int count; + + strcpy(all, aminos); + strcat(all, primenuc); + strcat(all, allsymbols); + puts("> nucleic/amino test"); + for (count=0; count<4; count++) { + for (c = all; *c!=0; c++) putc(*c, stdout); + putc('\n', stdout); + } +} + +link -w -t MPST -c 'MPS ' c.o ¶ + "{Libraries}"Interface.o "{Libraries}"ToolLibs.o ¶ + "{Libraries}"Runtime.o "{CLibraries}"StdClib.o +link.out > nucleic.std + +#-------------------------- + +#standards (ship w/ readseq) +#note: not all alphabet.orig chars are expected to be passed by +# readseq. Numbers are dropped. +readseq -p alphabet.orig > alphabet.std +readseq -p -C alphabet.std > upper.std + +cat alphabet.orig + > alphabet['!'..'~'] + !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ + +cat alphabet.std + >alphabet['!'..'~'], 83 bases, 9429 checksum. + !"#$%&'()*+-./:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] + ^_`abcdefghijklmnopqrstuvwxyz{|}~ + +cat upper.std + >alphabet['!'..'~'], 83 bases, 9429 checksum. + !"#$%&'()*+-./:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] + ^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~ + +cat nucleic.std + > nucleic/amino test + ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}[]()!@#$%^&=+;:'|`~"\ + ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}[]()!@#$%^&=+;:'|`~"\ + ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}[]()!@#$%^&=+;:'|`~"\ + ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}[]()!@#$%^&=+;:'|`~"\ + +readseq -p nucleic.std + >nucleic/amino test, 228 bases, 5952 checksum. + ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}[]()!@#$%^&=+; + :'|`~"\ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}[]()!@# + $%^&=+;:'|`~"\ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{} + []()!@#$%^&=+;:'|`~"\ABCDEFGHIKLMNPQRSTVWXYZACGTU_ + .-?<>{}[]()!@#$%^&=+;:'|`~"\ + + +#---------------------------------- + +#test for general read/write of all chars: +readseq -p alphabet.std -otest.alpha +diff test.alpha alphabet.std + +#test for valid toupper, general read/write: +readseq -p -C alphabet.std -otest.upper +diff test.upper upper.std +#for vms, use "-C" to preserve case +# readseq -p "-C" alphabet.std -otest.upper + +#test for multiple sequence file conversions +# leave out gcg, raw; +# test of long seq conversion ? +# test of mail-header seq conversion ? + +#test for valid format conversions +readseq -v -p -f1 nucleic.std -otest.f1 +readseq -v -p -f2 test.f1 -otest.f2 +readseq -v -p -f3 test.f2 -otest.f3 +readseq -v -p -f4 test.f3 -otest.f4 +readseq -v -p -f5 test.f4 -otest.f5 +readseq -v -p -f6 test.f5 -otest.f6 +readseq -v -p -f7 test.f6 -otest.f7 +readseq -v -p -f8 test.f7 -otest.f8 +readseq -v -p -f1 test.f8 -otest.f1b +diff test.f1 test.f1b +compare test.f1 test.f1b + +readseq -v -p -f13 test.f8 -otest.f13 # raw, drops name +readseq -v -p -f9 test.f8 -otest.f9 # zuker, little used +#readseq -v -p -f10 test.f9 -otest.f10 # olsen, input only (output=raw) +readseq -v -p -f11 test.f8 -otest.f11 # phylip 3.2, output only +readseq -v -p -f12 test.f8 -otest.f12 # phylip 3.3, output only +readseq -v -p -f14 test.f8 -otest.f14 # phylip 3.4, output only + + +#clean up +rm test.Å + + +#----------------------------- +# some general tests + +readseq -h + +readseq diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/add.gdemenu b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/add.gdemenu new file mode 100755 index 00000000..12818f65 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/add.gdemenu @@ -0,0 +1,123 @@ +# +# dgg added new readseq formats, 29 dec 92 +# + +item:Export Foreign Format +itemmethod:readseq in1 -pipe -all -form=$FORMAT > $OUTPUTFILE +itemhelp:readseq.help + +arg:FORMAT +argtype:choice_menu +argchoice:GenBank:genbank +argchoice:IG/Stanford:ig +argchoice:NBRF:nbrf +argchoice:EMBL:embl +argchoice:GCG:gcg +argchoice:DNA Strider:strider +argchoice:Fitch:fitch +argchoice:Pearson/Fasta:pearson +argchoice:Zuker:zuker +argchoice:Olsen:olsen +argchoice:Phylip:phylip +#argchoice:Phylip v3.2:phylip3.2 +argchoice:Plain text:raw +argchoice:ASN.1:asn +argchoice:PIR:pir +argchoice:MSF:msf +argchoice:PAUP:paup +argchoice:Pretty:pretty -nametop -nameleft=3 -numright -nameright -numtop + +arg:OUTPUTFILE +argtype:text +arglabel:Save as? + +in:in1 +informat:genbank + + +# +#dgg addition for new readseq, 24 dec 92 +# + +item:Pretty Print +itemmethod:readseq in1 -p -a -f=pretty $NAMELEFT $NAMERIGHT $NUMTOP $NUMBOT $NUMLEFT $NUMRIGHT -col=$COLS -width=$WIDTH $MATCH $GAPC > in1.pretty; (textedit in1.pretty; /bin/rm -f in1 in1.pretty)& +itemhelp:readseq.help + +#nametop is bad !? + +in:in1 +informat:genbank + +arg:NAMETOP +argtype:chooser +arglabel:Names at top ? +argchoice:No: +argchoice:Yes:-nametop + +arg:NAMELEFT +argtype:chooser +arglabel:Names at left ? +argchoice:No: +argchoice:Yes:-nameleft + +arg:NAMERIGHT +argtype:chooser +arglabel:Names at right? +argchoice:Yes:-nameright +argchoice:No: + +arg:NUMTOP +argtype:chooser +arglabel:Numbers at top ? +argchoice:Yes:-numtop +argchoice:No: + +arg:NUMBOT +argtype:chooser +arglabel:Numbers at tail ? +argchoice:No: +argchoice:Yes:-numbot + +arg:NUMLEFT +argtype:chooser +arglabel:Numbers at left ? +argchoice:Yes:-numleft +argchoice:No: + +arg:NUMRIGHT +argtype:chooser +arglabel:Numbers at right? +argchoice:Yes:-numright +argchoice:No: + +arg:MATCH +argtype:chooser +arglabel:Use match '.' for 2..n species? +argchoice:No: +argchoice:Yes:-match + +arg:GAPC +argtype:chooser +arglabel:Count gap symbols? +argchoice:No: +argchoice:Yes:-gap + +arg:WIDTH +argtype:slider +arglabel:Sequence width? +argmin:10 +argmax:200 +argvalue:50 + +arg:COLS +argtype:slider +arglabel:Column spacers? +argmin:0 +argmax:50 +argvalue:10 + + +### pretty print insert end +# + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/alphabet.std b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/alphabet.std new file mode 100755 index 00000000..e6dc9533 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/alphabet.std @@ -0,0 +1,3 @@ +>alphabet['!'..'~'], 83 bases, 9429 checksum. +!"#$%&'()*+-./:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] +^_`abcdefghijklmnopqrstuvwxyz{|}~ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/macinit.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/macinit.c new file mode 100755 index 00000000..5a049ade --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/macinit.c @@ -0,0 +1,302 @@ +/* + macinit.c + -- Macintosh initializations, then call real main + +Note: compile this segment as Main for generic 68000 processor, so it won't + fail on generic mac + +*/ + +#pragma segment Main + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +//#include +//#include + + +Boolean StopKey() +{ +EventRecord ev; + + if (EventAvail( keyDownMask+autoKeyMask, &ev)) { + if ( (ev.modifiers & cmdKey) + && ((char)(ev.message & charCodeMask) == '.') ) { + SysBeep(1); + (void) GetNextEvent( keyDownMask+autoKeyMask, &ev); + return true; + } + } + return false; +} + +Boolean cmdKeyIsDown() +{ KeyMap kmap; + GetKeys(&kmap); + return BitTst(kmap, (sizeof(KeyMap)*8) - 55); +} + +Boolean shiftKeyIsDown() +{ KeyMap kmap; + GetKeys(&kmap); + return BitTst(kmap, (sizeof(KeyMap)*8) - 56); +} + +Boolean capsLockIsDown() +{ KeyMap kmap; + GetKeys(&kmap); + return BitTst(kmap, (sizeof(KeyMap)*8) - 57); +} + +Boolean optionKeyIsDown() +{ KeyMap kmap; + GetKeys(&kmap); + return BitTst(kmap, (sizeof(KeyMap)*8) - 58); +} + +Boolean MouseButton() +{ + return Button(); +} + +Boolean Keypress() +{ EventRecord ev; + return EventAvail( keyDownMask+keyUpMask+autoKeyMask, &ev); +} + + + +char *StdGetFile( + char* prompt, + OSType fileTypes[], + int nFileTypes) +{ + Point wher; /*where to display dialog*/ + SFReply reply; /*reply record*/ + short len; + static char filename[80] = "\0"; + + wher.h = 80; + wher.v = 90; + if (optionKeyIsDown()) nFileTypes=0; + + SFGetFile(wher, prompt, nil, nFileTypes, fileTypes, nil, &reply); + + if (reply.good) { + len = SetVol(nil, reply.vRefNum); + len = reply.fName[0]; + strncpy(filename, (char *)(&reply.fName[1]), len); + filename[len]= '\0'; + return filename; + } + else + return NULL; +} + + +int readCmdOptions(FILE *cl, char *progname, char ***argv) +/* command line reader for Mac/MPW -- dgg */ +{ +#define MAXS 255 +#define addarg(sptr) if (strlen(sptr)>0) { \ + targv = (char **) realloc( targv, (argc+1) * sizeof(char *)); \ + targv[argc] = (char *) malloc(1+strlen(sptr) * sizeof(char)); \ + strcpy( targv[argc], sptr); \ + argc++; } + + char *pword, st[MAXS]; + int argc = 0; + char **targv; + + targv = (char **) malloc(1); + if (progname==NULL) progname = "program"; + addarg( progname); + fgets( st, MAXS, cl); + if (!feof(cl) && st!=NULL && *st!=0) { + pword = strtok( st, "\ \n"); + while (pword!=NULL) { + addarg( pword); + pword = strtok( NULL, "\ \n"); + } + } + + *argv = targv; + return argc; +} + +int ccommand(char ***argv) +{ + int argc; + char **targv; + + argc = readCmdOptions(stdin, *argv[0], &targv); + *argv = targv; + return argc; +} + + + + +extern _DataInit(); + +//#define VERSION curSysEnvVers +#define nocolorID 130 +#define no68020 133 +#define no68881 132 +#define no256 134 +#define nosys6 135 + +void MacInit() +{ +SysEnvRec theWorld; +OSErr OSys; +DialogPtr crashDia; +long tick; + + UnloadSeg(_DataInit); + + InitGraf((Ptr)&qd.thePort); + //InitFonts(); + InitWindows(); + //InitMenus(); + //TEInit(); + InitDialogs(nil); + InitCursor(); + +/*______________________________________________________*/ +/* If not right Machine then stop */ +/*______________________________________________________*/ + OSys = SysEnvirons( curSysEnvVers,&theWorld); + + /*if(!theWorld.hasColorQD) { + crashDia = GetNewDialog (nocolorID, nil, (WindowPtr) -1); + DrawDialog (crashDia); + Delay (300, &tick); + ExitToShell(); + }*/ + /*if(theWorld.processor < env68020) { + crashDia = GetNewDialog (no68020, nil, (WindowPtr) -1); + DrawDialog (crashDia); + Delay (300, &tick); + ExitToShell(); + }*/ + /*if(!theWorld.hasFPU) { + crashDia = GetNewDialog (no68881, nil, (WindowPtr) -1); + DrawDialog (crashDia); + Delay (300, &tick); + ExitToShell(); + } + if(theWorld.systemVersion < 0x0600) { + crashDia = GetNewDialog (nosys6, nil, (WindowPtr) -1); + DrawDialog (crashDia); + Delay (300, &tick); + ExitToShell(); + }*/ + +#ifdef UnDeFineD +/*______________________________________________________*/ +/* Set Rects */ +/*______________________________________________________*/ + screenRect = qd.screenBits.bounds; + offLeft = 0; + offTop = 0; + offRight = screenRect.right; + offBottom = screenRect.bottom; + SetRect(&BaseRect, 40, 60, 472, 282); + tempRgn = GetGrayRgn(); + HLock ((Handle) tempRgn); + TotalRect = (**tempRgn).rgnBBox; + SetRect(&minRect, 80, 80, (**tempRgn).rgnBBox.right - 40, + (**tempRgn).rgnBBox.bottom - 40); + HUnlock ((Handle) tempRgn); + +/*______________________________________________________*/ +/* Open Window & set Palette & Picture */ +/*______________________________________________________*/ + theGDevice = GetMainDevice(); + HLock ((Handle) theGDevice); + mycolors = (**(**theGDevice).gdPMap).pmTable; + numcolor = (**(**theGDevice).gdPMap).pixelSize; + HUnlock((Handle) theGDevice); + switch (numcolor) { + case 1: + numcolor = 2; + break; + case 2: + numcolor = 4; + break; + case 4: + numcolor = 16; + break; + case 8: + numcolor = 256; + break; + } + + myWindow = NewCWindow(nil, &BaseRect, "", true, zoomDocProc, + (WindowPtr) -1, true, 150); + SetPort((WindowPtr) myWindow); + DrawGrowIcon (myWindow); + + srcPalette = NewPalette (numcolor, mycolors, pmCourteous, 0); + SetPalette ((WindowPtr) myWindow, srcPalette, true); + +/*______________________________________________________*/ +/* Set menus */ +/*______________________________________________________*/ + mymenu0 = GetMenu(appleID); + AddResMenu(mymenu0, 'DRVR'); + InsertMenu(mymenu0,0); + mymenu1 = newmenu(129,"File"); + appendmenu(mymenu1,"Start;Quit"); + InsertMenu(mymenu1,0); + mymenu2 = newmenu(130,"Edit"); + InsertMenu(mymenu2,0); + DrawMenuBar(); + +/*______________________________________________________*/ +/* Init variables */ +/*______________________________________________________*/ + DoneFlag = false; + yieldTime = 0; + return; +#endif + +} + + + + +main(int argc, char *argv[]) +{ + Boolean loop = true; + char **myargv; + int myargc; + + /* MacInit(); -- SIOW library handles this */ + do { + fprintf(stderr,"\nEnter command line for %s [cmd-Q to quit]\n", argv[0]); + fprintf(stderr,"-> %s ",argv[0]); + myargv = argv; + myargc = ccommand(&myargv); + + siow_main(myargc, myargv); + fflush(stdout); + + } while (true); + exit(0); +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/macinit.r b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/macinit.r new file mode 100755 index 00000000..fb8e74b1 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/macinit.r @@ -0,0 +1,412 @@ +/*------------------------------------------------------------------------------ +# +# +# MultiFinder-Aware Simple Input/Output Window resource +# +# for ReadSeq +# +------------------------------------------------------------------------------*/ + +#include "systypes.r" +#include "types.r" + + +resource 'MENU' (20000, preload) { + 20000, + textMenuProc, + 0x7FFFFFFD, + enabled, + apple, + { /* array: 2 elements */ + /* [1] */ + "About ReadSeqÉ", noIcon, noKey, noMark, plain, + /* [2] */ + "-", noIcon, noKey, noMark, plain + } +}; + +resource 'MENU' (20001, preload) { + 20001, + textMenuProc, + 0x0, + enabled, + "File", + { /* array: 11 elements */ + /* [1] */ + "New", noIcon, "N", noMark, plain, + /* [2] */ + "Open", noIcon, "O", noMark, plain, + /* [3] */ + "-", noIcon, noKey, noMark, plain, + /* [4] */ + "Close", noIcon, "W", noMark, plain, + /* [5] */ + "Save", noIcon, "S", noMark, plain, + /* [6] */ + "Save AsÉ", noIcon, noKey, noMark, plain, + /* [7] */ + "-", noIcon, noKey, noMark, plain, + /* [8] */ + "Page SetupÉ", noIcon, noKey, noMark, plain, + /* [9] */ + "PrintÉ", noIcon, noKey, noMark, plain, + /* [10] */ + "-", noIcon, noKey, noMark, plain, + /* [11] */ + "Quit", noIcon, "Q", noMark, plain + } +}; + +resource 'MENU' (20002, preload) { + 20002, + textMenuProc, + 0x0, + enabled, + "Edit", + { /* array: 6 elements */ + /* [1] */ + "Undo", noIcon, "Z", noMark, plain, + /* [2] */ + "-", noIcon, noKey, noMark, plain, + /* [3] */ + "Cut", noIcon, "X", noMark, plain, + /* [4] */ + "Copy", noIcon, "C", noMark, plain, + /* [5] */ + "Paste", noIcon, "V", noMark, plain, + /* [6] */ + "Clear", noIcon, noKey, noMark, plain + } +}; + +resource 'MENU' (20003, preload) { + 20003, + textMenuProc, + allEnabled, + enabled, + "Font", + { /* array: 0 elements */ + } +}; + +resource 'ALRT' (20000, purgeable) { + {98, 108, 314, 405}, + 20000, + { /* array: 4 elements */ + /* [1] */ + OK, visible, silent, + /* [2] */ + OK, visible, silent, + /* [3] */ + OK, visible, silent, + /* [4] */ + OK, visible, silent + } +}; + +resource 'ALRT' (20001, purgeable) { + {40, 20, 150, 260}, + 20001, + { /* array: 4 elements */ + /* [1] */ + OK, visible, silent, + /* [2] */ + OK, visible, silent, + /* [3] */ + OK, visible, silent, + /* [4] */ + OK, visible, silent + } +}; + +resource 'ALRT' (20002, preload) { + {72, 64, 212, 372}, + 20002, + { /* array: 4 elements */ + /* [1] */ + OK, visible, silent, + /* [2] */ + OK, visible, silent, + /* [3] */ + OK, visible, silent, + /* [4] */ + OK, visible, silent + } +}; + +resource 'DITL' (20000, purgeable) { + { /* array DITLarray: 8 elements */ + /* [1] */ + {191, 98, 211, 178}, + Button { + enabled, + "OK" + }, + /* [2] */ + {110, 24, 130, 256}, + StaticText { + disabled, + " Copyright © 1990 by d.g.gilbert\n" + }, + /* [3] */ + {6, 93, 24, 281}, + StaticText { + disabled, + "A tool for molecular biology." + }, + /* [4] */ + {31, 25, 86, 281}, + StaticText { + disabled, + "Reads and writes nucleic or protein sequ" + "ences in various formats. Data files may" + " have multiple sequences." + }, + /* [5] */ + {6, 17, 22, 92}, + StaticText { + disabled, + "ReadSeq" + }, + /* [6] */ + {150, 28, 186, 262}, + StaticText { + disabled, + "land mail: biology dept., indiana univer" + "sity, bloomington, in 47405\n" + }, + /* [7] */ + {129, 25, 153, 258}, + StaticText { + disabled, + " e-mail: gilbertd@bio.indiana.edu\n" + }, + /* [8] */ + {86, 12, 107, 281}, + StaticText { + disabled, + "This program may be freely distributed." + } + } +}; + +resource 'DITL' (20001, purgeable) { + { /* array DITLarray: 3 elements */ + /* [1] */ + {80, 150, 100, 230}, + Button { + enabled, + "OK" + }, + /* [2] */ + {10, 60, 60, 230}, + StaticText { + disabled, + "Error. ^0." + }, + /* [3] */ + {8, 8, 40, 40}, + Icon { + disabled, + 2 + } + } +}; + +resource 'DITL' (20002, preload) { + { /* array DITLarray: 4 elements */ + /* [1] */ + {58, 25, 76, 99}, + Button { + enabled, + "Yes" + }, + /* [2] */ + {86, 25, 104, 99}, + Button { + enabled, + "No" + }, + /* [3] */ + {12, 20, 45, 277}, + StaticText { + disabled, + "Save changes before closing?" + }, + /* [4] */ + {86, 195, 104, 269}, + Button { + enabled, + "Cancel" + } + } +}; + +resource 'CNTL' (20000, purgeable, preload) { + {-1, 465, 272, 481}, + 0, + invisible, + 0, + 0, + scrollBarProc, + 0, + "" +}; + +resource 'CNTL' (20001, purgeable, preload) { + {271, -1, 287, 466}, + 0, + invisible, + 0, + 0, + scrollBarProc, + 0, + "" +}; + +data 'pzza' (128, purgeable) { + $"4D50 5320" /* MPS */ +}; + +resource 'MBAR' (20000, preload) { + { /* array MenuArray: 4 elements */ + /* [1] */ + 20000, + /* [2] */ + 20001, + /* [3] */ + 20002, + /* [4] */ + 20003 + } +}; + +resource 'WIND' (20000, purgeable, preload) { + {0, 0, 286, 480}, + zoomDocProc, + invisible, + noGoAway, + 0x0, + "untitled" +}; + +resource 'STR#' (20000, purgeable) { + { /* array StringArray: 11 elements */ + /* [1] */ + "You must run on 512Ke or later", + /* [2] */ + "Application Memory Size is too small", + /* [3] */ + "Not enough memory to run SIOW", + /* [4] */ + "Not enough memory to do Cut", + /* [5] */ + "Cannot do Cut", + /* [6] */ + "Cannot do Copy", + /* [7] */ + "Cannot exceed 32,000 characters with Pas" + "te", + /* [8] */ + "Not enough memory to do Paste", + /* [9] */ + "Cannot create window", + /* [10] */ + "Cannot exceed 32,000 characters", + /* [11] */ + "Cannot do PasteFont not found" + } +}; + +resource 'SIZE' (-1) { + reserved, + acceptSuspendResumeEvents, + reserved, + canBackground, + multiFinderAware, + backgroundAndForeground, + dontGetFrontClicks, + ignoreChildDiedEvents, + not32BitCompatible, + notHighLevelEventAware, + onlyLocalHLEvents, + notStationeryAware, + dontUseTextEditServices, + reserved, + reserved, + reserved, + 124928, + 38912 +}; + +resource 'SIZE' (0) { + reserved, + acceptSuspendResumeEvents, + reserved, + canBackground, + multiFinderAware, + backgroundAndForeground, + dontGetFrontClicks, + ignoreChildDiedEvents, + not32BitCompatible, + notHighLevelEventAware, + onlyLocalHLEvents, + notStationeryAware, + dontUseTextEditServices, + reserved, + reserved, + reserved, + 256000, + 38912 +}; + +data 'siow' (0) { + $"0F52 6561 6453 6571 2069 6E20 5349 4F57" /* .ReadSeq in SIOW */ +}; + +resource 'BNDL' (128) { + 'siow', + 0, + { /* array TypeArray: 2 elements */ + /* [1] */ + 'ICN#', + { /* array IDArray: 1 elements */ + /* [1] */ + 0, 128 + }, + /* [2] */ + 'FREF', + { /* array IDArray: 1 elements */ + /* [1] */ + 0, 128 + } + } +}; + +resource 'FREF' (128) { + 'APPL', + 0, + "" +}; + +resource 'ICN#' (128) { + { /* array: 2 elements */ + /* [1] */ + $"0000 0000 0000 0000 0010 4100 0010 2200" + $"0020 2200 0020 2100 0020 4100 0010 4200" + $"0010 4200 0010 2200 0020 2100 0020 0100" + $"00FF FF00 03FF FFE0 0791 03F0 0ED1 0E7C" + $"1C31 321C 380D C10E 3FFF FFFE 3003 C106" + $"380D 300E 1E31 0E3C 1FC1 01F8 07FF FFE0" + $"00FF FE", + /* [2] */ + $"0000 0000 0000 0000 0010 4100 0010 2200" + $"0020 2200 0020 2100 0020 4100 0010 4200" + $"0010 4200 0010 2200 0020 2100 0020 0100" + $"00FF FF00 03FF FFE0 07FF FFF0 0FFF FFFC" + $"1FFF FFFC 3FFF FFFE 3FFF FFFE 3FFF FFFE" + $"3FFF FFFE 1FFF FFFC 1FFF FFF8 07FF FFE0" + $"00FF FE" + } +}; + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/multi.std b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/multi.std new file mode 100755 index 00000000..2fb48be7 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/multi.std @@ -0,0 +1,25 @@ +>acarr58sst , 183 bases, 6EF8F222 checksum. +a-------actcctaacaacGgAtatCTtGgtT-CtcgcgagGatGAaGa +acGcAGcg--AaatGcGatacgtagtgtgaatcgc-agggatcagtgaat +catcgaatctttgaacgcaagttgcgctctcgtg--gtttaaccccccgg +gagc-acgttcgcttgagtgcc--gctt----- +>amgrrbst , 183 bases, 250C5F09 checksum. +----cgt--ccccgaacggcGgAtcaCTtGgcT-CgtggatcGatGAaGa +ccGcAGc--tAtctGcGcgtcgtcgtgtaatccgc-aggttatac--gaa +catcgaccagtcgaacgcacattgcggcctcggt--gacccgcgggcccc +gggccacgcctgtctgagggtc--gt------a +>bmorrbst , 183 bases, AF379101 checksum. +aaatgattaccctggacggtGgAtcaCTtGgcT-CgcgggtcGatGAaGa +acGcAGt--tAactGcGcgtcatagtgtgaactgc-aggacacatttgaa +catcgacatttcgaacgcacattgcggtc-cgtg--gagacaca--tcca +ggaccactcctgtctgagggcc--ggct----- +>crerrbst , 183 bases, AD1ECB91 checksum. +a-------actctcaacaacGgAtatCTtGgcT-CtcggatcGatGAaGg +acGcAGcg--AaatGcGatacgtagtgtgaactgc-agaaatacgtgaac +tatcgaatccctgaacgtatactgcgccc--gag--gcc---ccggt--a +gagc-atgtctgccttagtgct--gggt----t +>ddirr58sst , 183 bases, 783AEF3F checksum. +t-----taagcataaacggtGaAtacCTcGacTcC-caaattGatGAaGa +ccGtAGca--AactGcGataattcacttgaattgc-agcctactg-ggat +agttgaaatgttgaacgcacatgatgacatcggt---cctttcggattag +gtgttatacttgggtgagagt--------ggtc diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/nucleic.std b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/nucleic.std new file mode 100755 index 00000000..729b5b03 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/nucleic.std @@ -0,0 +1,5 @@ +> nucleic/amino test +ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}[]()!@#$%^&=+;:'|`~"\ +ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}[]()!@#$%^&=+;:'|`~"\ +ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}[]()!@#$%^&=+;:'|`~"\ +ABCDEFGHIKLMNPQRSTVWXYZACGTU_.-?<>{}[]()!@#$%^&=+;:'|`~"\ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/readseq b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/readseq new file mode 100755 index 0000000000000000000000000000000000000000..4b3f498e792902ea5edb46dbde496cf6ca1fab4d GIT binary patch literal 50619 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

        oxF#05RfY8J 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/readseq.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/readseq.c new file mode 100755 index 00000000..695fb7ab --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/readseq.c @@ -0,0 +1,1143 @@ +/* File: readseq.c + * main() program for ureadseq.c, ureadseq.h + * + * Reads and writes nucleic/protein sequence in various + * formats. Data files may have multiple sequences. + * + * Copyright 1990 by d.g.gilbert + * biology dept., indiana university, bloomington, in 47405 + * e-mail: gilbertd@bio.indiana.edu + * + * This program may be freely copied and used by anyone. + * Developers are encourged to incorporate parts in their + * programs, rather than devise their own private sequence + * format. + * + * This should compile and run with any ANSI C compiler. + * Please advise me of any bugs, additions or corrections. + * + */ + +const char *title + = "readSeq (1Feb93), multi-format molbio sequence reader.\n"; + + /* History + 27 Feb 90. 1st release to public. + 4 Mar 90. + Gary Olsen format + + case change + * minor corrections to NBRF,EMBL,others + * output 1 file per sequence for gcg, unknown + * define -DNOSTR for c-libraries w/o strstr + - readseq.p, pascal version, becomes out-of-date + 24 May 90. + Phylip 3.2 output format (no input) + 20 Jul 90. + Phylip 3.3 output (no input yet) + + interactive output re-direction + + verbose progress info + * interactive help output + * dropped line no.s on NBRF output + * patched in HyperGCG XCMD corrections, + - except for seq. documentation handling + * dropped the IG special nuc codes, as IG has + adopted the standard IUB codes (now if only + everyone would adopt a standard format !) + 11 Oct 90. * corrected bug in reading/writing of EMBL format + + 17 Oct 91. * corrected bug in reading Olsen format + (serious-deletion) + 10 Nov 91. * corrected bug in reading some GCG format files + (serious-last line duplicated) + + add format name parsing (-fgb, -ffasta, ...) + + Phylip v3.4 output format (== v3.2, sequential) + + add checksum output to all forms that have document + + skip mail headers in seq file + + add pipe for standard input == seq file (with -p) + * fold in parts of MacApp Seq object + * strengthen format detection + * clarify program structure + * remove fixed sequence size limit (now dynamic, sizeof memory) + * check and fold in accumulated bug reports: + * Now ANSI-C fopen(..,"w") & check open failure + * Define -DFIXTOUPPER for nonANSI C libraries that mess + up toupper/tolower + = No command-line changes; callers of readseq main() should be okay + - ureadseq.h functions have changed; client programs need to note. + + added Unix and VMS Make scripts, including validation tests + + 4 May 92. + added 32 bit CRC checksum as alternative to GCG 6.5bit checksum + (-DBIGCHECKSUM) + Aug 92 = fixed Olsen format input to handle files w/ more sequences, + not to mess up when more than one seq has same identifier, + and to convert number masks to symbols. + = IG format fix to understand ^L + + 25-30 Dec 92 + * revised command-line & interactive interface. Suggested form is now + readseq infile -format=genbank -output=outfile -item=1,3,4 ... + but remains compatible with prior commandlines: + readseq infile -f2 -ooutfile -i3 ... + + added GCG MSF multi sequence file format + + added PIR/CODATA format + + added NCBI ASN.1 sequence file format + + added Pretty, multi sequence pretty output (only) + + added PAUP multi seq format + + added degap option + + added Gary Williams (GWW, G.Williams@CRC.AC.UK) reverse-complement option. + + added support for reading Phylip formats (interleave & sequential) + * string fixes, dropped need for compiler flags NOSTR, FIXTOUPPER, NEEDSTRCASECMP + * changed 32bit checksum to default, -DSMALLCHECKSUM for GCG version + + 1Feb93 + = revert GenBank output to a fixed left number width which + other software depends on. + = fix for MSF input to handle symbols in names + = fix bug for possible memory overrun when truncating seqs for + Phylip or Paup formats (thanks Anthony Persechini) + 29 April 93 + * added a comma free output format for the Vienna RNA Package + + */ + + + +/* + Readseq has been tested with: + Macintosh MPW C + GNU gcc + SGI cc + VAX-VMS cc + Any ANSI C compiler should be able to handle this. + Old-style C compilers barf all over the source. + + +How do I build the readseq program if I have an Ansi C compiler? +#-------------------- +# Unix ANSI C +# Use the supplied Makefile this way: +% make CC=name-of-c-compiler +# OR do this... +% gcc readseq.c ureadseq.c -o readseq + +#-------------------- +$!VAX-VMS cc +$! Use the supplied Make.Com this way: +$ @make +$! OR, do this: +$ cc readseq, ureadseq +$ link readseq, ureadseq, sys$library:vaxcrtl/lib +$ readseq :== $ MyDisk:[myacct]readseq + +#-------------------- +# Macintosh Simple Input/Output Window application +# requires MPW-C and SIOW library (from APDA) +# also uses files macinit.c, macinit.r, readseqSIOW.make +# +Buildprogram readseqSIOW + +#-------------------- +#MPW-C v3 tool +C ureadseq.c +C readseq.c +link -w -o readseq -t MPST -c 'MPS ' ¶ + readseq.c.o Ureadseq.c.o ¶ + "{Libraries}"Interface.o ¶ + "{Libraries}"ToolLibs.o ¶ + "{Libraries}"Runtime.o ¶ + "{CLibraries}"StdClib.o +readseq -i1 ig.seq + +# MPW-C with NCBI tools + +set NCBI "{Boot}@molbio:ncbi:"; EXPORT NCBI +set NCBILIB1 "{NCBI}"lib:libncbi.o; export NCBILIB1 +set NCBILIB2 "{NCBI}"lib:libncbiobj.o; export NCBILIB2 +set NCBILIB3 "{NCBI}"lib:libncbicdr.o; export NCBILIB3 +set NCBILIB4 "{NCBI}"lib:libvibrant.o; export NCBILIB4 + +C ureadseq.c +C -d NCBI -i "{NCBI}"include: ureadasn.c +C -d NCBI -i "{NCBI}"include: readseq.c +link -w -o readseq -t MPST -c 'MPS ' ¶ + ureadseq.c.o ureadasn.c.o readseq.c.o ¶ + {NCBILIB4} {NCBILIB2} {NCBILIB1} ¶ + "{Libraries}"Interface.o ¶ + "{Libraries}"ToolLibs.o ¶ + "{Libraries}"Runtime.o ¶ + "{CLibraries}"CSANELib.o ¶ + "{CLibraries}"Math.o ¶ + "{CLibraries}"StdClib.o + +===========================================================*/ + + + +#include +#include +#include + +#include "ureadseq.h" + +#pragma segment readseq + + + +static char inputfilestore[256], *inputfile = inputfilestore; + +const char *formats[kMaxFormat+1] = { + " 1. IG/Stanford", + " 2. GenBank/GB", + " 3. NBRF", + " 4. EMBL", + " 5. GCG", + " 6. DNAStrider", + " 7. Fitch", + " 8. Pearson/Fasta", + " 9. Zuker (in-only)", + "10. Olsen (in-only)", + "11. Phylip3.2", + "12. Phylip", + "13. Plain/Raw", + "14. PIR/CODATA", + "15. MSF", + "16. ASN.1", + "17. PAUP/NEXUS", + "18. Pretty (out-only)", + "19. Vienna (out-only)", + "" }; + +#define kFormCount 31 +#define kMaxFormName 15 + +const struct formatTable { + char *name; + short num; + } formname[] = { + {"ig", kIG}, + {"stanford", kIG}, + {"genbank", kGenBank}, + {"gb", kGenBank}, + {"nbrf", kNBRF}, + {"embl", kEMBL}, + {"gcg", kGCG}, + {"uwgcg", kGCG}, + {"dnastrider", kStrider}, + {"strider", kStrider}, + {"fitch", kFitch}, + {"pearson", kPearson}, + {"fasta", kPearson}, + {"zuker", kZuker}, + {"olsen", kOlsen}, + {"phylip", kPhylip}, + {"phylip3.2", kPhylip2}, + {"phylip3.3", kPhylip3}, + {"phylip3.4", kPhylip4}, + {"phylip-interleaved", kPhylip4}, + {"phylip-sequential", kPhylip2}, + {"plain", kPlain}, + {"raw", kPlain}, + {"pir", kPIR}, + {"codata", kPIR}, + {"asn.1", kASN1}, + {"msf", kMSF}, + {"paup", kPAUP}, + {"nexus", kPAUP}, + {"pretty", kPretty}, + {"vienna", kVienna}, + }; + +const char *kASN1headline = "Bioseq-set ::= {\nseq-set {\n"; + +/* GWW table for getting the complement of a nucleotide (IUB codes) */ +/* ! "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ \]^_`abcdefghijklmnopqrstuvwxyz{|}~ */ +const char compl[] = " !\"#$%&'()*+,-./0123456789:;<=>?@TVGHNNCDNNMNKNNYRYSAABWNRN[\\]^_`tvghnncdnnmnknnyrysaabwnrn{|}~"; + + + +char *formatstr( short format) +{ + if (format < 1 || format > kMaxFormat) { + switch (format) { + case kASNseqentry : + case kASNseqset : return formats[kASN1-1]; + case kPhylipInterleave: + case kPhylipSequential: return formats[kPhylip-1]; + default: return "(unknown)"; + } + } + else return formats[format-1]; +} + +int parseformat( char *name) +{ +#define kDupmatch -2 + int namelen, maxlen, i, match, matchat; + char lname[kMaxFormName+1]; + + skipwhitespace(name); + namelen = strlen(name); + if (namelen == 0) + return kNoformat; + else if (isdigit(*name)) { + i = atol( name); + if (i < kMinFormat | i > kMaxFormat) return kNoformat; + else return i; + } + + /* else match character name */ + maxlen = min( kMaxFormName, namelen); + for (i=0; i out.seq\n"); + fprintf(stderr," options\n"); +/* ? add -d[igits] to allow digits in sequence data, &/or option to specify seq charset !? */ + fprintf(stderr, " -a[ll] select All sequences\n"); + fprintf(stderr, " -c[aselower] change to lower case\n"); + fprintf(stderr, " -C[ASEUPPER] change to UPPER CASE\n"); + fprintf(stderr, " -degap[=-] remove gap symbols\n"); + fprintf(stderr, " -i[tem=2,3,4] select Item number(s) from several\n"); + fprintf(stderr, " -l[ist] List sequences only\n"); + fprintf(stderr, " -o[utput=]out.seq redirect Output\n"); + fprintf(stderr, " -p[ipe] Pipe (command line, stdout)\n"); + fprintf(stderr, " -r[everse] change to Reverse-complement\n"); + fprintf(stderr, " -v[erbose] Verbose progress\n"); + fprintf(stderr, " -f[ormat=]# Format number for output, or\n"); + fprintf(stderr, " -f[ormat=]Name Format name for output:\n"); + midi = (kMaxFormat+1) / 2; + for (i = kMinFormat-1; i < midi; i++) + fprintf( stderr, " %-20s %-20s\n", + formats[i], formats[midi+i]); + + /* new output format options, esp. for pretty format: */ + fprintf(stderr, " \n"); + fprintf(stderr, " Pretty format options: \n"); + fprintf(stderr, " -wid[th]=# sequence line width\n"); + fprintf(stderr, " -tab=# left indent\n"); + fprintf(stderr, " -col[space]=# column space within sequence line on output\n"); + fprintf(stderr, " -gap[count] count gap chars in sequence numbers\n"); + fprintf(stderr, " -nameleft, -nameright[=#] name on left/right side [=max width]\n"); + fprintf(stderr, " -nametop name at top/bottom\n"); + fprintf(stderr, " -numleft, -numright seq index on left/right side\n"); + fprintf(stderr, " -numtop, -numbot index on top/bottom\n"); + fprintf(stderr, " -match[=.] use match base for 2..n species\n"); + fprintf(stderr, " -inter[line=#] blank line(s) between sequence blocks\n"); + + /****** not ready yet + fprintf(stderr, " -code=none,rtf,postscript,ps code syntax\n"); + fprintf(stderr, " -namefont=, -numfont=, -seqfont=font font choice\n"); + fprintf(stderr, " font suggestions include times,courier,helvetica\n"); + fprintf(stderr, " -namefontsize=, -numfontsize=, -seqfontsize=#\n"); + fprintf(stderr, " fontsize suggestions include 9,10,12,14\n"); + fprintf(stderr, " -namefontstyle=, -numfontstyle=, -seqfontstyle= style fontstyle for names\n"); + fprintf(stderr, " fontstyle options are plain,italic,bold,bold-italic\n"); + ******/ +} + +void erralert(short err) +{ + switch (err) { + case 0 : + break; + case eFileNotFound: fprintf(stderr, "File not found: %s\n", inputfile); + break; + case eFileCreate: fprintf(stderr, "Can't open output file.\n"); + break; + case eASNerr: fprintf(stderr, "Error in ASN.1 sequence routines.\n"); + break; + case eNoData: fprintf(stderr, "No data in file.\n"); + break; + case eItemNotFound: fprintf(stderr, "Specified item not in file.\n"); + break; + case eUnequalSize: fprintf(stderr, + "This format requires equal length sequences.\nSequence truncated or padded to fit.\n"); + break; + case eUnknownFormat: fprintf(stderr, "Error: this format is unknown to me.\n"); + break; + case eOneFormat: fprintf(stderr, + "Warning: This format permits only 1 sequence per file.\n"); + break; + case eMemFull: fprintf(stderr, "Out of storage memory. Sequence truncated.\n"); + break; + default: fprintf(stderr, "readSeq error = %d\n", err); + break; + } +} /* erralert */ + + +int chooseFormat( boolean quietly) +{ + char sform[128]; + int midi, i, outform; + + if (quietly) + return kPearson; /* default */ + else { + midi = (kMaxFormat+1) / 2; + for (i = kMinFormat-1; i < midi; i++) + fprintf( stderr, " %-20s %-20s\n", + formats[i], formats[midi+i]); + fprintf(stderr,"\nChoose an output format (name or #): \n"); + gets(sform); + outform = parseformat(sform); + if (outform == kNoformat) outform = kPearson; + return outform; + } +} + + + +/* read paramater(s) */ + +boolean checkopt( boolean casesense, char *sopt, const char *smatch, short minword) +{ + long lenopt, lenmatch; + boolean result; + short minmaxw; + + lenopt = strlen(sopt); + lenmatch= strlen(smatch); + minmaxw= max(minword, min(lenopt, lenmatch)); + + if (casesense) + result= (!strncmp( sopt, smatch, minmaxw)); + else + result= (!Strncasecmp( sopt, smatch, minmaxw )); + /* if (result) { */ + /* fprintf(stderr,"true checkopt(opt=%s,match=%s,param=%s)\n", sopt, smatch, *sparam); */ + /* } */ + return result; +} + + +#define kMaxwhichlist 50 + +/* global for readopt(), main() */ +boolean chooseall = false, quietly = false, gotinputfile = false, + listonly = false, closeout = false, verbose = false, + manyout = false, dolower = false, doupper = false, doreverse= false, + askout = true, dopipe= false, interleaved = false; +short nfile = 0, iwhichlist=0, nwhichlist = 0; +short whichlist[kMaxwhichlist+1]; +long whichSeq = 0, outform = kNoformat; +char onamestore[128], *oname = onamestore; +FILE *foo = NULL; + +void resetGlobals() +/* need this when used from SIOW, as these globals are not reinited automatically +between calls to local main() */ +{ + chooseall = false; quietly = false; gotinputfile = false; + listonly = false; closeout = false; verbose = false; + manyout = false; dolower = false; doupper = false; doreverse= false; + askout = true; dopipe= false; interleaved = false; + nfile = 0; iwhichlist=0; nwhichlist = 0; + whichSeq = 0; outform = kNoformat; + oname = onamestore; + foo = NULL; + + gPrettyInit(gPretty); +} + + +#define kOptOkay 1 +#define kOptNone 0 + +int readopt( char *sopt) +{ + char sparamstore[256], *sparam= sparamstore; + short n, slen= strlen(sopt); + + /* fprintf(stderr,"readopt( %s) == ", sopt); */ + + if (*sopt == '?') { + usage(); + return kOptNone; /*? eOptionBad or kOptNone */ + } + + else if (*sopt == '-') { + + char *cp= strchr(sopt,'='); + *sparam= '\0'; + if (cp) { + strcpy(sparam, cp+1); + *cp= 0; + } + + if (checkopt( false, sopt, "-help", 2)) { + usage(); + return kOptNone; + } + + if (checkopt( false, sopt, "-all", 2)) { + whichSeq= 1; chooseall= true; + return kOptOkay; + } + + if (checkopt( false, sopt, "-colspace", 4)) { /* test before -c[ase] */ + n= atoi( sparam); + gPretty.spacer = n; + return kOptOkay; + } + + if (checkopt( true, sopt, "-caselower", 2)) { + dolower= true; + return kOptOkay; + } + if (checkopt( true, sopt, "-CASEUPPER", 2)) { + doupper= true; + return kOptOkay; + } + + if (checkopt( false, sopt, "-pipe", 2)) { + dopipe= true; askout= false; + return kOptOkay; + } + + if (checkopt( false, sopt, "-list", 2)) { + listonly = true; askout = false; + return kOptOkay; + } + + if (checkopt( false, sopt, "-reverse", 2)) { + doreverse = true; + return kOptOkay; + } + + if (checkopt( false, sopt, "-verbose", 2)) { + verbose = true; + return kOptOkay; + } + + if (checkopt( false, sopt, "-match", 5)) { + gPretty.domatch= true; + if (*sparam >= ' ') gPretty.matchchar= *sparam; + return kOptOkay; + } + if (checkopt( false, sopt, "-degap", 4)) { + gPretty.degap= true; + if (*sparam >= ' ') gPretty.gapchar= *sparam; + return kOptOkay; + } + + if (checkopt( false, sopt, "-interline", 4)) { + gPretty.interline= atoi( sparam); + return kOptOkay; + } + + if (checkopt( false, sopt, "-item", 2)) { + char *cp = sparam; + nwhichlist= 0; + whichlist[0]= 0; + if (*cp == 0) cp= sopt+2; /* compatible w/ old way */ + do { + while (*cp!=0 && !isdigit(*cp)) cp++; + if (*cp!=0) { + n = atoi( cp); + whichlist[nwhichlist++]= n; + while (*cp!=0 && isdigit(*cp)) cp++; + } + } while (*cp!=0 && n>0 && nwhichlist0) gPretty.seqwidth = n; + return kOptOkay; + } + + if (checkopt( false, sopt, "-tab", 4)) { + if (*sparam==0) { for (sparam= sopt+2; !isdigit(*sparam) && *sparam!=0; sparam++) ; } + n= atoi( sparam); + gPretty.tab = n; + return kOptOkay; + } + + if (checkopt( false, sopt, "-gapcount", 4)) { + gPretty.baseonlynum = false; + /* if (*sparam >= ' ') gPretty.gapchar= *sparam; */ + return kOptOkay; + } + if (checkopt( false, sopt, "-nointerleave", 8)) { + gPretty.noleaves = true; + return kOptOkay; + } + + if (checkopt( false, sopt, "-nameleft", 7)) { + if (*sparam==0) { for (sparam= sopt+2; !isdigit(*sparam) && *sparam!=0; sparam++) ; } + n= atoi( sparam); + if (n>0 && n<50) gPretty.namewidth = n; + gPretty.nameleft= true; + return kOptOkay; + } + if (checkopt( false, sopt, "-nameright", 7)) { + if (*sparam==0) { for (sparam= sopt+2; !isdigit(*sparam) && *sparam!=0; sparam++) ; } + n= atoi( sparam); + if (n>0 && n<50) gPretty.namewidth = n; + gPretty.nameright= true; + return kOptOkay; + } + if (checkopt( false, sopt, "-nametop", 6)) { + gPretty.nametop= true; + return kOptOkay; + } + + if (checkopt( false, sopt, "-numleft", 6)) { + if (*sparam==0) { for (sparam= sopt+2; !isdigit(*sparam) && *sparam!=0; sparam++) ; } + n= atoi( sparam); + if (n>0 && n<50) gPretty.numwidth = n; + gPretty.numleft= true; + return kOptOkay; + } + if (checkopt( false, sopt, "-numright", 6)) { + if (*sparam==0) { for (sparam= sopt+2; !isdigit(*sparam) && *sparam!=0; sparam++) ; } + n= atoi( sparam); + if (n>0 && n<50) gPretty.numwidth = n; + gPretty.numright= true; + return kOptOkay; + } + + if (checkopt( false, sopt, "-numtop", 6)) { + gPretty.numtop= true; + return kOptOkay; + } + if (checkopt( false, sopt, "-numbottom", 6)) { + gPretty.numbot= true; + return kOptOkay; + } + + else { + usage(); + return eOptionBad; + } + } + + else { + strcpy( inputfile, sopt); + gotinputfile = (*inputfile != 0); + nfile++; + return kOptOkay; + } + + /* return kOptNone; -- never here */ +} + + + + +/* this program suffers some as it tries to be a quiet translator pipe + _and_ a noisy user interactor +*/ + +/* return is best for SIOW, okay for others */ +#ifdef SIOW +#define Exit(a) return(a) +siow_main( int argc, char *argv[]) + +#else +#define Exit(a) exit(a) + +main( int argc, char *argv[]) +#endif +{ +boolean closein = false; +short ifile, nseq, atseq, format, err = 0, seqtype = kDNA, + nlines, seqout = 0, phylvers = 2; +long i, skiplines, seqlen, seqlen0; +unsigned long checksum= 0, checkall= 0; +char *seq, *cp, *firstseq = NULL, *seqlist, *progname, tempname[256]; +char seqid[256], *seqidptr = seqid; +char stempstore[256], *stemp = stempstore; +FILE *ftmp, *fin, *fout; +long outindexmax= 0, noutindex= 0, *outindex = NULL; + +#define exit_main(err) { \ + if (closeout) fclose(fout); \ + if (closein) fclose(fin); \ + if (*tempname!=0) remove(tempname);\ + Exit(err); } + +#define indexout() if (interleaved) {\ + if (noutindex>=outindexmax) {\ + outindexmax= noutindex + 20;\ + outindex= (long*) realloc(outindex, sizeof(long)*outindexmax);\ + if (outindex==NULL) { err= eMemFull; erralert(err); exit_main(err); }\ + }\ + outindex[noutindex++]= ftell(fout);\ + } + + + resetGlobals(); + foo = stdout; + progname = argv[0]; + *oname = 0; + *tempname = 0; + /* initialize gPretty ?? -- done in header */ + + for (i=1; i < argc; i++) { + err= readopt( argv[i]); + if (err <= 0) exit_main(err); + } + + /* pipe input from stdin !? */ + if (dopipe && !gotinputfile) { + int c; + tmpnam(tempname); + inputfile = tempname; + ftmp = fopen( inputfile, "w"); + if (!ftmp) { erralert(eFileCreate); exit_main(eFileCreate); } + while ((c = getc(stdin)) != EOF) fputc(c, ftmp); + fclose(ftmp); + gotinputfile= true; + } + + quietly = (dopipe || (gotinputfile && (listonly || whichSeq != 0))); + + if (verbose || (!quietly && !gotinputfile)) fprintf( stderr, title); + ifile = 1; + + /* UI: Choose output */ + if (askout && !closeout && !quietly) { + askout = false; + fprintf(stderr,"\nName of output file (?=help, defaults to display): \n"); + gets(oname= onamestore); + skipwhitespace(oname); + if (*oname == '?') { usage(); exit_main(0); } + else if (*oname != 0) { + closeout = true; + foo = fopen( oname, "w"); + if (!foo) { erralert(eFileCreate); exit_main(eFileCreate); } + } + } + + fout = foo; + if (outform == kNoformat) outform = chooseFormat(quietly); + + /* set up formats ... */ + switch (outform) { + case kPhylip2: + interleaved= false; + phylvers = 2; + outform = kPhylip; + break; + + case kPhylip4: + interleaved= true; + phylvers = 4; + outform = kPhylip; + break; + + case kMSF: + case kPAUP: + interleaved= true; + break; + + case kPretty: + gPretty.isactive= true; + interleaved= true; + break; + + } + + if (gPretty.isactive && gPretty.noleaves) interleaved= false; + if (interleaved) { + fout = ftmp = tmpfile(); + outindexmax= 30; noutindex= 0; + outindex = (long*) malloc(outindexmax*sizeof(long)); + if (outindex==NULL) { err= eMemFull; erralert(err); exit_main(err); } + } + + /* big loop over all input files */ + do { + /* select next input file */ + gotinputfile = (*tempname != 0); + while ((ifile < argc) && (!gotinputfile)) { + if (*argv[ifile] != '-') { + strcpy( inputfile, argv[ifile]); + gotinputfile = (*inputfile != 0); + --nfile; + } + ifile++; + } + + while (!gotinputfile) { + fprintf(stderr,"\nName an input sequence or -option: \n"); + inputfile= inputfilestore; + + gets(stemp= stempstore); + if (*stemp==0) goto fini; /* !! need this to finish work during interactive use */ + stemp= strtok(stempstore, " \n\r\t"); + while (stemp) { + err= readopt( stemp); /* will read inputfile if it exists */ + if (err<0) exit_main(err); + stemp= strtok( NULL, " \n\r\t"); + } + } + /* thanks to AJB@UK.AC.DARESBURY.DLVH for this PHYLIP3 fix: */ + /* head for end (interleave if needed) */ + if (*inputfile == 0) break; + + format = seqFileFormat( inputfile, &skiplines, &err); + + if (err == 0) { +#ifdef NCBI + if (format == kASNseqentry || format == kASNseqset) + seqlist = listASNSeqs( inputfile, skiplines, format, &nseq, &err); + else +#endif + seqlist = listSeqs( inputfile, skiplines, format, &nseq, &err); + } + + if (err != 0) + erralert(err); + + else if (listonly) { + dumpSeqList(seqlist,format); + free( seqlist); + } + + else { + /* choose whichSeq if needed */ + if (nseq == 1 || chooseall || (quietly && whichSeq == 0)) { + chooseall= true; + whichSeq = 1; + quietly = true; /* no loop */ + } + else if (whichSeq > nseq && quietly) { + erralert(eItemNotFound); + err= eItemNotFound; + } + else if (whichSeq > nseq || !quietly) { + dumpSeqList(seqlist, format); + fprintf(stderr,"\nChoose a sequence (# or All): \n"); + gets(stemp= stempstore); + skipwhitespace(stemp); + if (to_lower(*stemp) == 'a') { + chooseall= true; + whichSeq = 1; + quietly = true; /* !? this means we don't ask for another file + as well as no more whichSeqs... */ + } + else if (isdigit(*stemp)) whichSeq= atol(stemp); + else whichSeq= 1; /* default */ + } + free( seqlist); + + if (false /*chooseall*/) { /* this isn't debugged yet...*/ + fin = fopen(inputfile, "r"); + closein= true; + } + + while (whichSeq > 0 && whichSeq <= nseq) { + /* need to open multiple output files ? */ + manyout = ((chooseall || nwhichlist>1) && nseq > 1 + && (outform == kPlain || outform == kGCG)); + if (manyout) { + if ( whichSeq == 1 ) erralert(eOneFormat); + else if (closeout) { + sprintf( stemp,"%s_%d", oname, whichSeq); + freopen( stemp, "w", fout); + fprintf( stderr,"Writing sequence %d to file %s\n", whichSeq, stemp); + } + } + + if (closein) { + /* !! this fails... skips most seqs... */ + /* !! in sequential read, must count seqs already read from whichSeq ... */ + /* need major revision of ureadseq before we can do this */ + atseq= whichSeq-1; + seqidptr= seqid; + seq = readSeqFp( whichSeq, fin, skiplines, format, + &seqlen, &atseq, &err, seqidptr); + skiplines= 0; + } + else { + atseq= 0; + seqidptr= seqid; +#ifdef NCBI + if (format == kASNseqentry || format == kASNseqset) { + seqidptr= NULL; + seq = readASNSeq( whichSeq, inputfile, skiplines, format, + &seqlen, &atseq, &err, &seqidptr); + } + else +#endif + seq = readSeq( whichSeq, inputfile, skiplines, format, + &seqlen, &atseq, &err, seqidptr); + } + + + if (gPretty.degap) { + char *newseq; + long newlen; + newseq= compressSeq( gPretty.gapchar, seq, seqlen, &newlen); + if (newseq) { + free(seq); seq= newseq; seqlen= newlen; + } + } + + if (outform == kMSF) checksum= GCGchecksum(seq, seqlen, &checkall); + else if (verbose) checksum= seqchecksum(seq, seqlen, &checkall); + if (verbose) + fprintf( stderr, "Sequence %d, length= %d, checksum= %X, format= %s, id= %s\n", + whichSeq, seqlen, checksum, formatstr(format), seqidptr); + + if (err != 0) erralert(err); + else { + /* format fixes that writeseq doesn't do */ + switch (outform) { + case kPIR: + if (seqout == 0) fprintf( foo,"\\\\\\\n"); + break; + case kASN1: + if (seqout == 0) fprintf( foo, kASN1headline); + break; + + case kPhylip: + if (seqout == 0) { + if (!interleaved) { /* bug, nseq is for 1st infile only */ + if (chooseall) i= nseq; else i=1; + if (phylvers >= 4) fprintf(foo," %d %d\n", i, seqlen); + else fprintf(foo," %d %d YF\n", i, seqlen); + } + seqlen0 = seqlen; + } + else if (seqlen != seqlen0) { + erralert(eUnequalSize); + if (seqlen < seqlen0) seq = (char *)realloc(seq, seqlen0); + for (i=seqlen; i 0 || !quietly); + + +fini: + if (firstseq) { free(firstseq); firstseq= NULL; } + if (err || listonly) exit_main(err); + + if (gPretty.isactive && gPretty.numbot) { + gPretty.numline = 2; + indexout(); + (void) writeSeq( fout, seq, seqlen, outform, seqidptr); + gPretty.numline = 1; + indexout(); + (void) writeSeq( fout, seq, seqlen, outform, seqidptr); + gPretty.numline = 0; + } + + if (outform == kMSF) { + if (*oname) cp= oname; else cp= inputfile; + fprintf(foo,"\n %s MSF: %d Type: N January 01, 1776 12:00 Check: %d ..\n\n", + cp, seqlen, checkall); + } + + if (outform == kPAUP) { + fprintf(foo,"#NEXUS\n"); + if (*oname) cp= oname; else cp= inputfile; + fprintf(foo,"[%s -- data title]\n\n", cp); + /* ! now have header lines for each sequence... put them before "begin data;... */ + } + + if (outform==kPhylip && interleaved) { + if (phylvers >= 4) fprintf(foo," %d %d\n", seqout, seqlen); + else fprintf(foo," %d %d YF\n", seqout, seqlen); + } + + if (interleaved) { + /* interleave species lines in true output */ + /* nlines is # lines / sequence */ + short iline, j, leaf, iseq; + char *s = stempstore; + + indexout(); noutindex--; /* mark eof */ + + for (leaf=0; leaf +#include +#include + +#include "ureadseq.h" + +#pragma segment readseq + + + +static char inputfilestore[256], *inputfile = inputfilestore; + +const char *formats[kMaxFormat+1] = { + " 1. IG/Stanford", + " 2. GenBank/GB", + " 3. NBRF", + " 4. EMBL", + " 5. GCG", + " 6. DNAStrider", + " 7. Fitch", + " 8. Pearson/Fasta", + " 9. Zuker (in-only)", + "10. Olsen (in-only)", + "11. Phylip3.2", + "12. Phylip", + "13. Plain/Raw", + "14. PIR/CODATA", + "15. MSF", + "16. ASN.1", + "17. PAUP/NEXUS", + "18. Pretty (out-only)", + "" }; + +#define kFormCount 30 +#define kMaxFormName 15 + +const struct formatTable { + char *name; + short num; + } formname[] = { + {"ig", kIG}, + {"stanford", kIG}, + {"genbank", kGenBank}, + {"gb", kGenBank}, + {"nbrf", kNBRF}, + {"embl", kEMBL}, + {"gcg", kGCG}, + {"uwgcg", kGCG}, + {"dnastrider", kStrider}, + {"strider", kStrider}, + {"fitch", kFitch}, + {"pearson", kPearson}, + {"fasta", kPearson}, + {"zuker", kZuker}, + {"olsen", kOlsen}, + {"phylip", kPhylip}, + {"phylip3.2", kPhylip2}, + {"phylip3.3", kPhylip3}, + {"phylip3.4", kPhylip4}, + {"phylip-interleaved", kPhylip4}, + {"phylip-sequential", kPhylip2}, + {"plain", kPlain}, + {"raw", kPlain}, + {"pir", kPIR}, + {"codata", kPIR}, + {"asn.1", kASN1}, + {"msf", kMSF}, + {"paup", kPAUP}, + {"nexus", kPAUP}, + {"pretty", kPretty}, + }; + +const char *kASN1headline = "Bioseq-set ::= {\nseq-set {\n"; + +/* GWW table for getting the complement of a nucleotide (IUB codes) */ +/* ! "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ \]^_`abcdefghijklmnopqrstuvwxyz{|}~ */ +const char compl[] = " !\"#$%&'()*+,-./0123456789:;<=>?@TVGHNNCDNNMNKNNYRYSAABWNRN[\\]^_`tvghnncdnnmnknnyrysaabwnrn{|}~"; + + + +char *formatstr( short format) +{ + if (format < 1 || format > kMaxFormat) { + switch (format) { + case kASNseqentry : + case kASNseqset : return formats[kASN1-1]; + case kPhylipInterleave: + case kPhylipSequential: return formats[kPhylip-1]; + default: return "(unknown)"; + } + } + else return formats[format-1]; +} + +int parseformat( char *name) +{ +#define kDupmatch -2 + int namelen, maxlen, i, match, matchat; + char lname[kMaxFormName+1]; + + skipwhitespace(name); + namelen = strlen(name); + if (namelen == 0) + return kNoformat; + else if (isdigit(*name)) { + i = atol( name); + if (i < kMinFormat | i > kMaxFormat) return kNoformat; + else return i; + } + + /* else match character name */ + maxlen = min( kMaxFormName, namelen); + for (i=0; i out.seq\n"); + fprintf(stderr," options\n"); +/* ? add -d[igits] to allow digits in sequence data, &/or option to specify seq charset !? */ + fprintf(stderr, " -a[ll] select All sequences\n"); + fprintf(stderr, " -c[aselower] change to lower case\n"); + fprintf(stderr, " -C[ASEUPPER] change to UPPER CASE\n"); + fprintf(stderr, " -degap[=-] remove gap symbols\n"); + fprintf(stderr, " -i[tem=2,3,4] select Item number(s) from several\n"); + fprintf(stderr, " -l[ist] List sequences only\n"); + fprintf(stderr, " -o[utput=]out.seq redirect Output\n"); + fprintf(stderr, " -p[ipe] Pipe (command line, stdout)\n"); + fprintf(stderr, " -r[everse] change to Reverse-complement\n"); + fprintf(stderr, " -v[erbose] Verbose progress\n"); + fprintf(stderr, " -f[ormat=]# Format number for output, or\n"); + fprintf(stderr, " -f[ormat=]Name Format name for output:\n"); + midi = (kMaxFormat+1) / 2; + for (i = kMinFormat-1; i < midi; i++) + fprintf( stderr, " %-20s %-20s\n", + formats[i], formats[midi+i]); + + /* new output format options, esp. for pretty format: */ + fprintf(stderr, " \n"); + fprintf(stderr, " Pretty format options: \n"); + fprintf(stderr, " -wid[th]=# sequence line width\n"); + fprintf(stderr, " -tab=# left indent\n"); + fprintf(stderr, " -col[space]=# column space within sequence line on output\n"); + fprintf(stderr, " -gap[count] count gap chars in sequence numbers\n"); + fprintf(stderr, " -nameleft, -nameright[=#] name on left/right side [=max width]\n"); + fprintf(stderr, " -nametop name at top/bottom\n"); + fprintf(stderr, " -numleft, -numright seq index on left/right side\n"); + fprintf(stderr, " -numtop, -numbot index on top/bottom\n"); + fprintf(stderr, " -match[=.] use match base for 2..n species\n"); + fprintf(stderr, " -inter[line=#] blank line(s) between sequence blocks\n"); + + /****** not ready yet + fprintf(stderr, " -code=none,rtf,postscript,ps code syntax\n"); + fprintf(stderr, " -namefont=, -numfont=, -seqfont=font font choice\n"); + fprintf(stderr, " font suggestions include times,courier,helvetica\n"); + fprintf(stderr, " -namefontsize=, -numfontsize=, -seqfontsize=#\n"); + fprintf(stderr, " fontsize suggestions include 9,10,12,14\n"); + fprintf(stderr, " -namefontstyle=, -numfontstyle=, -seqfontstyle= style fontstyle for names\n"); + fprintf(stderr, " fontstyle options are plain,italic,bold,bold-italic\n"); + ******/ +} + +void erralert(short err) +{ + switch (err) { + case 0 : + break; + case eFileNotFound: fprintf(stderr, "File not found: %s\n", inputfile); + break; + case eFileCreate: fprintf(stderr, "Can't open output file.\n"); + break; + case eASNerr: fprintf(stderr, "Error in ASN.1 sequence routines.\n"); + break; + case eNoData: fprintf(stderr, "No data in file.\n"); + break; + case eItemNotFound: fprintf(stderr, "Specified item not in file.\n"); + break; + case eUnequalSize: fprintf(stderr, + "This format requires equal length sequences.\nSequence truncated or padded to fit.\n"); + break; + case eUnknownFormat: fprintf(stderr, "Error: this format is unknown to me.\n"); + break; + case eOneFormat: fprintf(stderr, + "Warning: This format permits only 1 sequence per file.\n"); + break; + case eMemFull: fprintf(stderr, "Out of storage memory. Sequence truncated.\n"); + break; + default: fprintf(stderr, "readSeq error = %d\n", err); + break; + } +} /* erralert */ + + +int chooseFormat( boolean quietly) +{ + char sform[128]; + int midi, i, outform; + + if (quietly) + return kPearson; /* default */ + else { + midi = (kMaxFormat+1) / 2; + for (i = kMinFormat-1; i < midi; i++) + fprintf( stderr, " %-20s %-20s\n", + formats[i], formats[midi+i]); + fprintf(stderr,"\nChoose an output format (name or #): \n"); + gets(sform); + outform = parseformat(sform); + if (outform == kNoformat) outform = kPearson; + return outform; + } +} + + + +/* read paramater(s) */ + +boolean checkopt( boolean casesense, char *sopt, const char *smatch, short minword) +{ + long lenopt, lenmatch; + boolean result; + short minmaxw; + + lenopt = strlen(sopt); + lenmatch= strlen(smatch); + minmaxw= max(minword, min(lenopt, lenmatch)); + + if (casesense) + result= (!strncmp( sopt, smatch, minmaxw)); + else + result= (!Strncasecmp( sopt, smatch, minmaxw )); + /* if (result) { */ + /* fprintf(stderr,"true checkopt(opt=%s,match=%s,param=%s)\n", sopt, smatch, *sparam); */ + /* } */ + return result; +} + + +#define kMaxwhichlist 50 + +/* global for readopt(), main() */ +boolean chooseall = false, quietly = false, gotinputfile = false, + listonly = false, closeout = false, verbose = false, + manyout = false, dolower = false, doupper = false, doreverse= false, + askout = true, dopipe= false, interleaved = false; +short nfile = 0, iwhichlist=0, nwhichlist = 0; +short whichlist[kMaxwhichlist+1]; +long whichSeq = 0, outform = kNoformat; +char onamestore[128], *oname = onamestore; +FILE *foo = NULL; + +void resetGlobals() +/* need this when used from SIOW, as these globals are not reinited automatically +between calls to local main() */ +{ + chooseall = false; quietly = false; gotinputfile = false; + listonly = false; closeout = false; verbose = false; + manyout = false; dolower = false; doupper = false; doreverse= false; + askout = true; dopipe= false; interleaved = false; + nfile = 0; iwhichlist=0; nwhichlist = 0; + whichSeq = 0; outform = kNoformat; + oname = onamestore; + foo = NULL; + + gPrettyInit(gPretty); +} + + +#define kOptOkay 1 +#define kOptNone 0 + +int readopt( char *sopt) +{ + char sparamstore[256], *sparam= sparamstore; + short n, slen= strlen(sopt); + + /* fprintf(stderr,"readopt( %s) == ", sopt); */ + + if (*sopt == '?') { + usage(); + return kOptNone; /*? eOptionBad or kOptNone */ + } + + else if (*sopt == '-') { + + char *cp= strchr(sopt,'='); + *sparam= '\0'; + if (cp) { + strcpy(sparam, cp+1); + *cp= 0; + } + + if (checkopt( false, sopt, "-help", 2)) { + usage(); + return kOptNone; + } + + if (checkopt( false, sopt, "-all", 2)) { + whichSeq= 1; chooseall= true; + return kOptOkay; + } + + if (checkopt( false, sopt, "-colspace", 4)) { /* test before -c[ase] */ + n= atoi( sparam); + gPretty.spacer = n; + return kOptOkay; + } + + if (checkopt( true, sopt, "-caselower", 2)) { + dolower= true; + return kOptOkay; + } + if (checkopt( true, sopt, "-CASEUPPER", 2)) { + doupper= true; + return kOptOkay; + } + + if (checkopt( false, sopt, "-pipe", 2)) { + dopipe= true; askout= false; + return kOptOkay; + } + + if (checkopt( false, sopt, "-list", 2)) { + listonly = true; askout = false; + return kOptOkay; + } + + if (checkopt( false, sopt, "-reverse", 2)) { + doreverse = true; + return kOptOkay; + } + + if (checkopt( false, sopt, "-verbose", 2)) { + verbose = true; + return kOptOkay; + } + + if (checkopt( false, sopt, "-match", 5)) { + gPretty.domatch= true; + if (*sparam >= ' ') gPretty.matchchar= *sparam; + return kOptOkay; + } + if (checkopt( false, sopt, "-degap", 4)) { + gPretty.degap= true; + if (*sparam >= ' ') gPretty.gapchar= *sparam; + return kOptOkay; + } + + if (checkopt( false, sopt, "-interline", 4)) { + gPretty.interline= atoi( sparam); + return kOptOkay; + } + + if (checkopt( false, sopt, "-item", 2)) { + char *cp = sparam; + nwhichlist= 0; + whichlist[0]= 0; + if (*cp == 0) cp= sopt+2; /* compatible w/ old way */ + do { + while (*cp!=0 && !isdigit(*cp)) cp++; + if (*cp!=0) { + n = atoi( cp); + whichlist[nwhichlist++]= n; + while (*cp!=0 && isdigit(*cp)) cp++; + } + } while (*cp!=0 && n>0 && nwhichlist0) gPretty.seqwidth = n; + return kOptOkay; + } + + if (checkopt( false, sopt, "-tab", 4)) { + if (*sparam==0) { for (sparam= sopt+2; !isdigit(*sparam) && *sparam!=0; sparam++) ; } + n= atoi( sparam); + gPretty.tab = n; + return kOptOkay; + } + + if (checkopt( false, sopt, "-gapcount", 4)) { + gPretty.baseonlynum = false; + /* if (*sparam >= ' ') gPretty.gapchar= *sparam; */ + return kOptOkay; + } + if (checkopt( false, sopt, "-nointerleave", 8)) { + gPretty.noleaves = true; + return kOptOkay; + } + + if (checkopt( false, sopt, "-nameleft", 7)) { + if (*sparam==0) { for (sparam= sopt+2; !isdigit(*sparam) && *sparam!=0; sparam++) ; } + n= atoi( sparam); + if (n>0 && n<50) gPretty.namewidth = n; + gPretty.nameleft= true; + return kOptOkay; + } + if (checkopt( false, sopt, "-nameright", 7)) { + if (*sparam==0) { for (sparam= sopt+2; !isdigit(*sparam) && *sparam!=0; sparam++) ; } + n= atoi( sparam); + if (n>0 && n<50) gPretty.namewidth = n; + gPretty.nameright= true; + return kOptOkay; + } + if (checkopt( false, sopt, "-nametop", 6)) { + gPretty.nametop= true; + return kOptOkay; + } + + if (checkopt( false, sopt, "-numleft", 6)) { + if (*sparam==0) { for (sparam= sopt+2; !isdigit(*sparam) && *sparam!=0; sparam++) ; } + n= atoi( sparam); + if (n>0 && n<50) gPretty.numwidth = n; + gPretty.numleft= true; + return kOptOkay; + } + if (checkopt( false, sopt, "-numright", 6)) { + if (*sparam==0) { for (sparam= sopt+2; !isdigit(*sparam) && *sparam!=0; sparam++) ; } + n= atoi( sparam); + if (n>0 && n<50) gPretty.numwidth = n; + gPretty.numright= true; + return kOptOkay; + } + + if (checkopt( false, sopt, "-numtop", 6)) { + gPretty.numtop= true; + return kOptOkay; + } + if (checkopt( false, sopt, "-numbottom", 6)) { + gPretty.numbot= true; + return kOptOkay; + } + + else { + usage(); + return eOptionBad; + } + } + + else { + strcpy( inputfile, sopt); + gotinputfile = (*inputfile != 0); + nfile++; + return kOptOkay; + } + + /* return kOptNone; -- never here */ +} + + + + +/* this program suffers some as it tries to be a quiet translator pipe + _and_ a noisy user interactor +*/ + +/* return is best for SIOW, okay for others */ +#ifdef SIOW +#define Exit(a) return(a) +siow_main( int argc, char *argv[]) + +#else +#define Exit(a) exit(a) + +main( int argc, char *argv[]) +#endif +{ +boolean closein = false; +short ifile, nseq, atseq, format, err = 0, seqtype = kDNA, + nlines, seqout = 0, phylvers = 2; +long i, skiplines, seqlen, seqlen0; +unsigned long checksum= 0, checkall= 0; +char *seq, *cp, *firstseq = NULL, *seqlist, *progname, tempname[256]; +char seqid[256], *seqidptr = seqid; +char stempstore[256], *stemp = stempstore; +FILE *ftmp, *fin, *fout; +long outindexmax= 0, noutindex= 0, *outindex = NULL; + +#define exit_main(err) { \ + if (closeout) fclose(fout); \ + if (closein) fclose(fin); \ + if (*tempname!=0) remove(tempname);\ + Exit(err); } + +#define indexout() if (interleaved) {\ + if (noutindex>=outindexmax) {\ + outindexmax= noutindex + 20;\ + outindex= (long*) realloc(outindex, sizeof(long)*outindexmax);\ + if (outindex==NULL) { err= eMemFull; erralert(err); exit_main(err); }\ + }\ + outindex[noutindex++]= ftell(fout);\ + } + + + resetGlobals(); + foo = stdout; + progname = argv[0]; + *oname = 0; + *tempname = 0; + /* initialize gPretty ?? -- done in header */ + + for (i=1; i < argc; i++) { + err= readopt( argv[i]); + if (err <= 0) exit_main(err); + } + + /* pipe input from stdin !? */ + if (dopipe && !gotinputfile) { + int c; + tmpnam(tempname); + inputfile = tempname; + ftmp = fopen( inputfile, "w"); + if (!ftmp) { erralert(eFileCreate); exit_main(eFileCreate); } + while ((c = getc(stdin)) != EOF) fputc(c, ftmp); + fclose(ftmp); + gotinputfile= true; + } + + quietly = (dopipe || (gotinputfile && (listonly || whichSeq != 0))); + + if (verbose || (!quietly && !gotinputfile)) fprintf( stderr, title); + ifile = 1; + + /* UI: Choose output */ + if (askout && !closeout && !quietly) { + askout = false; + fprintf(stderr,"\nName of output file (?=help, defaults to display): \n"); + gets(oname= onamestore); + skipwhitespace(oname); + if (*oname == '?') { usage(); exit_main(0); } + else if (*oname != 0) { + closeout = true; + foo = fopen( oname, "w"); + if (!foo) { erralert(eFileCreate); exit_main(eFileCreate); } + } + } + + fout = foo; + if (outform == kNoformat) outform = chooseFormat(quietly); + + /* set up formats ... */ + switch (outform) { + case kPhylip2: + interleaved= false; + phylvers = 2; + outform = kPhylip; + break; + + case kPhylip4: + interleaved= true; + phylvers = 4; + outform = kPhylip; + break; + + case kMSF: + case kPAUP: + interleaved= true; + break; + + case kPretty: + gPretty.isactive= true; + interleaved= true; + break; + + } + + if (gPretty.isactive && gPretty.noleaves) interleaved= false; + if (interleaved) { + fout = ftmp = tmpfile(); + outindexmax= 30; noutindex= 0; + outindex = (long*) malloc(outindexmax*sizeof(long)); + if (outindex==NULL) { err= eMemFull; erralert(err); exit_main(err); } + } + + /* big loop over all input files */ + do { + /* select next input file */ + gotinputfile = (*tempname != 0); + while ((ifile < argc) && (!gotinputfile)) { + if (*argv[ifile] != '-') { + strcpy( inputfile, argv[ifile]); + gotinputfile = (*inputfile != 0); + --nfile; + } + ifile++; + } + + while (!gotinputfile) { + fprintf(stderr,"\nName an input sequence or -option: \n"); + inputfile= inputfilestore; + + gets(stemp= stempstore); + if (*stemp==0) goto fini; /* !! need this to finish work during interactive use */ + stemp= strtok(stempstore, " \n\r\t"); + while (stemp) { + err= readopt( stemp); /* will read inputfile if it exists */ + if (err<0) exit_main(err); + stemp= strtok( NULL, " \n\r\t"); + } + } + /* thanks to AJB@UK.AC.DARESBURY.DLVH for this PHYLIP3 fix: */ + /* head for end (interleave if needed) */ + if (*inputfile == 0) break; + + format = seqFileFormat( inputfile, &skiplines, &err); + + if (err == 0) { +#ifdef NCBI + if (format == kASNseqentry || format == kASNseqset) + seqlist = listASNSeqs( inputfile, skiplines, format, &nseq, &err); + else +#endif + seqlist = listSeqs( inputfile, skiplines, format, &nseq, &err); + } + + if (err != 0) + erralert(err); + + else if (listonly) { + dumpSeqList(seqlist,format); + free( seqlist); + } + + else { + /* choose whichSeq if needed */ + if (nseq == 1 || chooseall || (quietly && whichSeq == 0)) { + chooseall= true; + whichSeq = 1; + quietly = true; /* no loop */ + } + else if (whichSeq > nseq && quietly) { + erralert(eItemNotFound); + err= eItemNotFound; + } + else if (whichSeq > nseq || !quietly) { + dumpSeqList(seqlist, format); + fprintf(stderr,"\nChoose a sequence (# or All): \n"); + gets(stemp= stempstore); + skipwhitespace(stemp); + if (to_lower(*stemp) == 'a') { + chooseall= true; + whichSeq = 1; + quietly = true; /* !? this means we don't ask for another file + as well as no more whichSeqs... */ + } + else if (isdigit(*stemp)) whichSeq= atol(stemp); + else whichSeq= 1; /* default */ + } + free( seqlist); + + if (false /*chooseall*/) { /* this isn't debugged yet...*/ + fin = fopen(inputfile, "r"); + closein= true; + } + + while (whichSeq > 0 && whichSeq <= nseq) { + /* need to open multiple output files ? */ + manyout = ((chooseall || nwhichlist>1) && nseq > 1 + && (outform == kPlain || outform == kGCG)); + if (manyout) { + if ( whichSeq == 1 ) erralert(eOneFormat); + else if (closeout) { + sprintf( stemp,"%s_%d", oname, whichSeq); + freopen( stemp, "w", fout); + fprintf( stderr,"Writing sequence %d to file %s\n", whichSeq, stemp); + } + } + + if (closein) { + /* !! this fails... skips most seqs... */ + /* !! in sequential read, must count seqs already read from whichSeq ... */ + /* need major revision of ureadseq before we can do this */ + atseq= whichSeq-1; + seqidptr= seqid; + seq = readSeqFp( whichSeq, fin, skiplines, format, + &seqlen, &atseq, &err, seqidptr); + skiplines= 0; + } + else { + atseq= 0; + seqidptr= seqid; +#ifdef NCBI + if (format == kASNseqentry || format == kASNseqset) { + seqidptr= NULL; + seq = readASNSeq( whichSeq, inputfile, skiplines, format, + &seqlen, &atseq, &err, &seqidptr); + } + else +#endif + seq = readSeq( whichSeq, inputfile, skiplines, format, + &seqlen, &atseq, &err, seqidptr); + } + + + if (gPretty.degap) { + char *newseq; + long newlen; + newseq= compressSeq( gPretty.gapchar, seq, seqlen, &newlen); + if (newseq) { + free(seq); seq= newseq; seqlen= newlen; + } + } + + if (outform == kMSF) checksum= GCGchecksum(seq, seqlen, &checkall); + else if (verbose) checksum= seqchecksum(seq, seqlen, &checkall); + if (verbose) + fprintf( stderr, "Sequence %d, length= %d, checksum= %X, format= %s, id= %s\n", + whichSeq, seqlen, checksum, formatstr(format), seqidptr); + + if (err != 0) erralert(err); + else { + /* format fixes that writeseq doesn't do */ + switch (outform) { + case kPIR: + if (seqout == 0) fprintf( foo,"\\\\\\\n"); + break; + case kASN1: + if (seqout == 0) fprintf( foo, kASN1headline); + break; + + case kPhylip: + if (seqout == 0) { + if (!interleaved) { /* bug, nseq is for 1st infile only */ + if (chooseall) i= nseq; else i=1; + if (phylvers >= 4) fprintf(foo," %d %d\n", i, seqlen); + else fprintf(foo," %d %d YF\n", i, seqlen); + } + seqlen0 = seqlen; + } + else if (seqlen != seqlen0) { + erralert(eUnequalSize); + if (seqlen < seqlen0) seq = (char *)realloc(seq, seqlen0); + for (i=seqlen; i 0 || !quietly); + + +fini: + if (firstseq) { free(firstseq); firstseq= NULL; } + if (err || listonly) exit_main(err); + + if (gPretty.isactive && gPretty.numbot) { + gPretty.numline = 2; + indexout(); + (void) writeSeq( fout, seq, seqlen, outform, seqidptr); + gPretty.numline = 1; + indexout(); + (void) writeSeq( fout, seq, seqlen, outform, seqidptr); + gPretty.numline = 0; + } + + if (outform == kMSF) { + if (*oname) cp= oname; else cp= inputfile; + fprintf(foo,"\n %s MSF: %d Type: N January 01, 1776 12:00 Check: %d ..\n\n", + cp, seqlen, checkall); + } + + if (outform == kPAUP) { + fprintf(foo,"#NEXUS\n"); + if (*oname) cp= oname; else cp= inputfile; + fprintf(foo,"[%s -- data title]\n\n", cp); + /* ! now have header lines for each sequence... put them before "begin data;... */ + } + + if (outform==kPhylip && interleaved) { + if (phylvers >= 4) fprintf(foo," %d %d\n", seqout, seqlen); + else fprintf(foo," %d %d YF\n", seqout, seqlen); + } + + if (interleaved) { + /* interleave species lines in true output */ + /* nlines is # lines / sequence */ + short iline, j, leaf, iseq; + char *s = stempstore; + + indexout(); noutindex--; /* mark eof */ + + for (leaf=0; leafstdout)\n"); + fprintf(stderr, " -r[everse] change to Reverse-complement\n"); ++ #ifdef TRANSLATE ++ fprintf(stderr, " -t[ranslate=]io translate input symbol [i] to output symbol [o] \n"); ++ fprintf(stderr, " use several -tio to translate several symbols \n"); ++ #endif + fprintf(stderr, " -v[erbose] Verbose progress\n"); + fprintf(stderr, " -f[ormat=]# Format number for output, or\n"); + fprintf(stderr, " -f[ormat=]Name Format name for output:\n"); +*************** +*** 474,479 **** +--- 478,486 ---- + foo = NULL; + + gPrettyInit(gPretty); ++ #ifdef TRANSLATE ++ gTranslateInit(); ++ #endif + } + + +*************** +*** 590,595 **** +--- 597,615 ---- + outform = parseformat( sparam); + return kOptOkay; + } ++ ++ #ifdef TRANSLATE ++ if (checkopt( false, sopt, "-translate", 3)) {/* -translate=io */ ++ if (*sparam==0) { for (sparam= sopt+3; isalpha(*sparam); sparam++) ; } ++ if (*sparam) gTranslate[*sparam]= sparam[1]; ++ return kOptOkay; ++ } ++ if (checkopt( false, sopt, "-t", 2)) { /* shorthand is -tio */ ++ if (*sparam==0) sparam= sopt+2; ++ if (*sparam) gTranslate[*sparam]= sparam[1]; ++ return kOptOkay; ++ } ++ #endif + + if (checkopt( false, sopt, "-output", 3)) {/* -output=myseq */ + if (*sparam==0) { for (sparam= sopt+3; isalpha(*sparam); sparam++) ; } + + +diff -bwrc old/ureadseq.c rtrans/ureadseq.c +*** old/ureadseq.c Thu Dec 22 08:58:41 1994 +--- rtrans/ureadseq.c Thu Dec 22 09:01:43 1994 +*************** +*** 162,168 **** +--- 162,172 ---- + } + else V->seq = ptr; + } ++ #ifdef TRANSLATE ++ V->seq[(V->seqlen)++] = gTranslate[*s]; ++ #else + V->seq[(V->seqlen)++] = *s; ++ #endif + } + s++; + } + + +diff -bwrc old/ureadseq.h rtrans/ureadseq.h +*** old/ureadseq.h Thu Dec 22 08:58:41 1994 +--- rtrans/ureadseq.h Thu Dec 22 08:58:28 1994 +*************** +*** 113,118 **** +--- 113,126 ---- + extern prettyopts gPretty; + #endif + ++ #ifdef TRANSLATE ++ #ifdef UREADSEQ_G ++ char gTranslate[256]; ++ #else ++ extern char gTranslate[256]; ++ #endif ++ #define gTranslateInit() { short c; for(c=0; c<256; c++) gTranslate[c]= c; } ++ #endif + + #ifdef __cplusplus + extern "C" { diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/upper.std b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/upper.std new file mode 100755 index 00000000..3b8c3e42 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/upper.std @@ -0,0 +1,3 @@ +>alphabet['!'..'~'], 83 bases, 9429 checksum. +!"#$%&'()*+-./:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] +^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/ureadasn.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/ureadasn.c new file mode 100755 index 00000000..8684aa56 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/ureadasn.c @@ -0,0 +1,305 @@ +/* ureadasn.c + -- parse, mangle and otherwise rewrite ASN1 file/entries for readseq reading + -- from NCBI toolkit (ncbi.nlm.nih.gov:/toolkit) +*/ + +#ifdef NCBI + +#include +#include +#include + +/* NCBI toolkit :include: must be on lib path */ +#include +#include + +#define UREADASN +#include "ureadseq.h" + +#pragma segment ureadasn + +/* this stuff is hacked up from tofasta.c of ncbitools */ +#define kBaseAny 0 +#define kBaseNucleic 1 +#define kBaseAmino 2 + +typedef struct tofasta { + Boolean idonly; + short *seqnum; + short whichSeq; + char **seq, **seqid; + long *seqlen; +} FastaDat, PNTR FastaPtr; + + +void BioseqRawToRaw(BioseqPtr bsp, Boolean idonly, + short whichSeq, short *seqnum, + char **seq, char **seqid, long *seqlen) +{ + SeqPortPtr spp; + SeqIdPtr bestid; + Uint1 repr, code, residue; + CharPtr tmp, title; + long outlen, outmax; + char localid[256], *sp; + + /* !!! this may be called several times for a single sequence + because SeqEntryExplore looks for parts and joins them... + assume seq, seqid, seqlen may contain data (or NULL) + */ + if (bsp == NULL) return; + repr = Bioseq_repr(bsp); + if (!(repr == Seq_repr_raw || repr == Seq_repr_const)) return; + + (*seqnum)++; + if (!(whichSeq == *seqnum || whichSeq == 0)) return; + + bestid = SeqIdFindBest(bsp->id, (Uint1) 0); + title = BioseqGetTitle(bsp); + if (idonly) { + sprintf(localid, " %d) ", *seqnum); + tmp= localid + strlen(localid)-1; + } + else { + strcpy(localid," "); + tmp= localid; + } + tmp = SeqIdPrint(bestid, tmp, PRINTID_FASTA_SHORT); + tmp = StringMove(tmp, " "); + StringNCpy(tmp, title, 200); +/* fprintf(stderr,"BioseqRawToRaw: localid='%s'\n",localid); */ + + /* < seqid is fixed storage */ + /* strcpy( *seqid, localid); */ + /* < seqid is variable sized */ + outmax= strlen(localid) + 3; + if (*seqid==NULL) { + *seqid= (char*) malloc(outmax); + if (*seqid==NULL) return; + strcpy(*seqid, localid); + } + else { + outmax += strlen(*seqid) + 2; + *seqid= (char*) realloc( *seqid, outmax); + if (*seqid==NULL) return; + if (!idonly) strcat(*seqid, "; "); + strcat(*seqid, localid); + } + + if (idonly) { + strcat(*seqid,"\n"); + return; + } + + if (ISA_na(bsp->mol)) code = Seq_code_iupacna; + else code = Seq_code_iupacaa; + spp = SeqPortNew(bsp, 0, -1, 0, code); + SeqPortSeek(spp, 0, SEEK_SET); + + sp= *seq; + if (sp==NULL) { /* this is always true now !? */ + outlen= 0; + outmax= 500; + sp= (char*) malloc(outmax); + } + else { + outlen= strlen(sp); + outmax= outlen + 500; + sp= (char*) realloc( sp, outmax); + } + if (sp==NULL) return; + + while ((residue = SeqPortGetResidue(spp)) != SEQPORT_EOF) { + if (outlen>=outmax) { + outmax= outlen + 500; + sp= (char*) realloc(sp, outmax); + if (sp==NULL) return; + } + sp[outlen++] = residue; + } + sp= (char*) realloc(sp, outlen+1); + if (sp!=NULL) sp[outlen]= '\0'; + *seq= sp; + *seqlen= outlen; + SeqPortFree(spp); + return; +} + + +static void SeqEntryRawseq(SeqEntryPtr sep, Pointer data, Int4 index, Int2 indent) +{ + FastaPtr tfa; + BioseqPtr bsp; + + if (!IS_Bioseq(sep)) return; + bsp = (BioseqPtr)sep->data.ptrvalue; + tfa = (FastaPtr) data; + BioseqRawToRaw(bsp, tfa->idonly, tfa->whichSeq, tfa->seqnum, + tfa->seq, tfa->seqid, tfa->seqlen); +} + +void SeqEntryToRaw(SeqEntryPtr sep, Boolean idonly, short whichSeq, short *seqnum, + char **seq, char **seqid, long *seqlen) +{ + FastaDat tfa; + + if (sep == NULL) return; + tfa.idonly= idonly; + tfa.seqnum= seqnum; + tfa.whichSeq= whichSeq; + tfa.seq = seq; + tfa.seqid = seqid; + tfa.seqlen= seqlen; + SeqEntryExplore(sep, (Pointer)&tfa, SeqEntryRawseq); +} + + + + +char *listASNSeqs(const char *filename, const long skiplines, + const short format, /* note: this is kASNseqentry or kASNseqset */ + short *nseq, short *error ) +{ + AsnIoPtr aip = NULL; + SeqEntryPtr the_set; + AsnTypePtr atp, atp2; + AsnModulePtr amp; + Boolean inIsBinary= FALSE; /* damn, why can't asn routines test this? */ + char *seq = NULL; + char *seqid = NULL, stemp[256]; + long seqlen; + int i, count; + + *nseq= 0; + *error= 0; + + /* asn dictionary setups */ +/*fprintf(stderr,"listASNSeqs: SeqEntryLoad\n");*/ + if (! SeqEntryLoad()) goto errxit; /* sequence alphabets (and sequence parse trees) */ + amp = AsnAllModPtr(); /* get pointer to all loaded ASN.1 modules */ + if (amp == NULL) goto errxit; + atp = AsnFind("Bioseq-set"); /* get the initial type pointers */ + if (atp == NULL) goto errxit; + atp2 = AsnFind("Bioseq-set.seq-set.E"); + if (atp2 == NULL) goto errxit; + +/*fprintf(stderr,"listASNSeqs: AsnIoOpen\n");*/ + /* open the ASN.1 input file in the right mode */ + /* !!!! THIS FAILS when filename has MAC PATH (& other paths?) (:folder:filename) */ + if ((aip = AsnIoOpen(filename, inIsBinary?"rb":"r")) == NULL) goto errxit; + for (i=0; ifp); /* this may mess up asn routines... */ + + if (! ErrSetLog ("stderr")) goto errxit; + else ErrSetOpts(ERR_CONTINUE, ERR_LOG_ON); /*?? log errors instead of die */ + + if (format == kASNseqentry) { /* read one Seq-entry */ +/*fprintf(stderr,"listASNSeqs: SeqEntryAsnRead\n");*/ + the_set = SeqEntryAsnRead(aip, NULL); + SeqEntryToRaw(the_set, true, 0, nseq, &seq, &seqid, &seqlen); + if (seq) free(seq); seq= NULL; + SeqEntryFree(the_set); + } + else { /* read Seq-entry's from a Bioseq-set */ + count = 0; +/*fprintf(stderr,"listASNSeqs: AsnReadId\n");*/ + while ((atp = AsnReadId(aip, amp, atp)) != NULL) { + if (atp == atp2) { /* top level Seq-entry */ + the_set = SeqEntryAsnRead(aip, atp); + SeqEntryToRaw(the_set, true, 0, nseq, &seq, &seqid, &seqlen); + SeqEntryFree(the_set); + if (seq) free(seq); seq= NULL; + } + else + AsnReadVal(aip, atp, NULL); + count++; + } + } + + AsnIoClose(aip); + *error= 0; + return seqid; + +errxit: + AsnIoClose(aip); + if (seqid) free(seqid); + *error= eASNerr; + return NULL; +} + + +char *readASNSeq(const short whichEntry, const char *filename, + const long skiplines, + const short format, /* note: this is kASNseqentry or kASNseqset */ + long *seqlen, short *nseq, + short *error, char **seqid ) +{ + AsnIoPtr aip = NULL; + SeqEntryPtr the_set; + AsnTypePtr atp, atp2; + AsnModulePtr amp; + Boolean inIsBinary= FALSE; /* damn, why can't asn routines test this? */ + char *seq, stemp[200]; + int i, count; + + *seqlen= 0; + *nseq= 0; + *error= 0; + seq= NULL; + +/*fprintf(stderr,"readASNseq: SeqEntryLoad\n");*/ + /* asn dictionary setups */ + if (! SeqEntryLoad()) goto errxit; /* sequence alphabets (and sequence parse trees) */ + amp = AsnAllModPtr(); /* get pointer to all loaded ASN.1 modules */ + if (amp == NULL) goto errxit; + atp = AsnFind("Bioseq-set"); /* get the initial type pointers */ + if (atp == NULL) goto errxit; + atp2 = AsnFind("Bioseq-set.seq-set.E"); + if (atp2 == NULL) goto errxit; + + /* open the ASN.1 input file in the right mode */ +/*fprintf(stderr,"readASNseq: AsnIoOpen(%s)\n", filename);*/ + if ((aip = AsnIoOpen(filename, inIsBinary?"rb":"r")) == NULL) goto errxit; + for (i=0; ifp); /* this may mess up asn routines... */ + + if (! ErrSetLog ("stderr")) goto errxit; + else ErrSetOpts(ERR_CONTINUE, ERR_LOG_ON); /*?? log errors instead of die */ + + seq= NULL; + if (format == kASNseqentry) { /* read one Seq-entry */ +/*fprintf(stderr,"readASNseq: SeqEntryAsnRead\n");*/ + the_set = SeqEntryAsnRead(aip, NULL); + SeqEntryToRaw(the_set, false, whichEntry, nseq, &seq, seqid, seqlen); + SeqEntryFree(the_set); + goto goodexit; + } + + else { /* read Seq-entry's from a Bioseq-set */ + count = 0; +/*fprintf(stderr,"readASNseq: AsnReadId\n");*/ + while ((atp = AsnReadId(aip, amp, atp)) != NULL) { + if (atp == atp2) { /* top level Seq-entry */ + the_set = SeqEntryAsnRead(aip, atp); + SeqEntryToRaw(the_set, false, whichEntry, nseq, &seq, seqid, seqlen); + SeqEntryFree(the_set); + if (*nseq >= whichEntry) goto goodexit; + } + else + AsnReadVal(aip, atp, NULL); + count++; + } + } + +goodexit: + AsnIoClose(aip); + *error= 0; + return seq; + +errxit: + AsnIoClose(aip); + *error= eASNerr; + if (seq) free(seq); + return NULL; +} + + +#endif /*NCBI*/ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/ureadseq.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/ureadseq.c new file mode 100755 index 00000000..f2410b97 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/ureadseq.c @@ -0,0 +1,1880 @@ +/* File: ureadseq.c + * + * Reads and writes nucleic/protein sequence in various + * formats. Data files may have multiple sequences. + * + * Copyright 1990 by d.g.gilbert + * biology dept., indiana university, bloomington, in 47405 + * e-mail: gilbertd@bio.indiana.edu + * + * This program may be freely copied and used by anyone. + * Developers are encourged to incorporate parts in their + * programs, rather than devise their own private sequence + * format. + * + * This should compile and run with any ANSI C compiler. + * + */ + + +#include +#include +#include + +#define UREADSEQ_G +#include "ureadseq.h" + +#pragma segment ureadseq + + +int Strcasecmp(const char *a, const char *b) /* from Nlm_StrICmp */ +{ + int diff, done; + if (a == b) return 0; + done = 0; + while (! done) { + diff = to_upper(*a) - to_upper(*b); + if (diff) return diff; + if (*a == '\0') done = 1; + else { a++; b++; } + } + return 0; +} + +int Strncasecmp(const char *a, const char *b, long maxn) /* from Nlm_StrNICmp */ +{ + int diff, done; + if (a == b) return 0; + done = 0; + while (! done) { + diff = to_upper(*a) - to_upper(*b); + if (diff) return diff; + if (*a == '\0') done = 1; + else { + a++; b++; maxn--; + if (! maxn) done = 1; + } + } + return 0; +} + + + + + +#ifndef Local +# define Local static /* local functions */ +#endif + +#define kStartLength 50000 + +const char *aminos = "ABCDEFGHIKLMNPQRSTVWXYZ*"; +const char *primenuc = "ACGTU"; +const char *protonly = "EFIPQZ"; + +const char kNocountsymbols[5] = "_.-?"; +const char stdsymbols[6] = "_.-*?"; +const char allsymbols[32] = "_.-*?<>{}[]()!@#$%^&=+;:'/|`~\"\\"; +static const char *seqsymbols = allsymbols; + +const char nummask[11] = "0123456789"; +const char nonummask[11] = "~!@#$%^&*("; + +/* + use general form of isseqchar -- all chars + symbols. + no formats except nbrf (?) use symbols in data area as + anything other than sequence chars. +*/ + + + + /* Local variables for readSeq: */ +struct ReadSeqVars { + short choice, err, nseq; + long seqlen, maxseq, seqlencount; + short topnseq; + long topseqlen; + const char *fname; + char *seq, *seqid, matchchar; + boolean allDone, done, filestart, addit; + FILE *f; + long linestart; + char s[256], *sp; + + int (*isseqchar)(); + /* int (*isseqchar)(int c); << sgi cc hates (int c) */ +}; + + + +int isSeqChar(int c) +{ + return (isalpha(c) || strchr(seqsymbols,c)); +} + +int isSeqNumChar(int c) +{ + return (isalnum(c) || strchr(seqsymbols,c)); +} + + +int isAnyChar(int c) +{ + return isascii(c); /* wrap in case isascii is macro */ +} + +Local void readline(FILE *f, char *s, long *linestart) +{ + char *cp; + + *linestart= ftell(f); + if (NULL == fgets(s, 256, f)) + *s = 0; + else { + cp = strchr(s, '\n'); + if (cp != NULL) *cp = 0; + } +} + +Local void getline(struct ReadSeqVars *V) +{ + readline(V->f, V->s, &V->linestart); +} + +Local void ungetline(struct ReadSeqVars *V) +{ + fseek(V->f, V->linestart, 0); +} + + +Local void addseq(char *s, struct ReadSeqVars *V) +{ + char *ptr; + + if (V->addit) while (*s != 0) { + if ((V->isseqchar)(*s)) { + if (V->seqlen >= V->maxseq) { + V->maxseq += kStartLength; + ptr = (char*) realloc(V->seq, V->maxseq+1); + if (ptr==NULL) { + V->err = eMemFull; + return; + } + else V->seq = ptr; + } + V->seq[(V->seqlen)++] = *s; + } + s++; + } +} + +Local void countseq(char *s, struct ReadSeqVars *V) + /* this must count all valid seq chars, for some formats (paup-sequential) even + if we are skipping seq... */ +{ + while (*s != 0) { + if ((V->isseqchar)(*s)) { + (V->seqlencount)++; + } + s++; + } +} + + +Local void addinfo(char *s, struct ReadSeqVars *V) +{ + char s2[256], *si; + boolean saveadd; + + si = s2; + while (*s == ' ') s++; + sprintf(si, " %d) %s\n", V->nseq, s); + + saveadd = V->addit; + V->addit = true; + V->isseqchar = isAnyChar; + addseq( si, V); + V->addit = saveadd; + V->isseqchar = isSeqChar; +} + + + + +Local void readLoop(short margin, boolean addfirst, + boolean (*endTest)(boolean *addend, boolean *ungetend, struct ReadSeqVars *V), + struct ReadSeqVars *V) +{ + boolean addend = false; + boolean ungetend = false; + + V->nseq++; + if (V->choice == kListSequences) V->addit = false; + else V->addit = (V->nseq == V->choice); + if (V->addit) V->seqlen = 0; + + if (addfirst) addseq(V->s, V); + do { + getline(V); + V->done = feof(V->f); + V->done |= (*endTest)( &addend, &ungetend, V); + if (V->addit && (addend || !V->done) && (strlen(V->s) > margin)) { + addseq( (V->s)+margin, V); + } + } while (!V->done); + + if (V->choice == kListSequences) addinfo(V->seqid, V); + else { + V->allDone = (V->nseq >= V->choice); + if (V->allDone && ungetend) ungetline(V); + } +} + + + +Local boolean endIG( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + *addend = true; /* 1 or 2 occur in line w/ bases */ + *ungetend= false; + return((strchr(V->s,'1')!=NULL) || (strchr(V->s,'2')!=NULL)); +} + +Local void readIG(struct ReadSeqVars *V) +{ +/* 18Aug92: new IG format -- ^L between sequences in place of ";" */ + char *si; + + while (!V->allDone) { + do { + getline(V); + for (si= V->s; *si != 0 && *si < ' '; si++) *si= ' '; /* drop controls */ + if (*si == 0) *V->s= 0; /* chop line to empty */ + } while (! (feof(V->f) || ((*V->s != 0) && (*V->s != ';') ) )); + if (feof(V->f)) + V->allDone = true; + else { + strcpy(V->seqid, V->s); + readLoop(0, false, endIG, V); + } + } +} + + + +Local boolean endStrider( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + *addend = false; + *ungetend= false; + return (strstr( V->s, "//") != NULL); +} + +Local void readStrider(struct ReadSeqVars *V) +{ /* ? only 1 seq/file ? */ + + while (!V->allDone) { + getline(V); + if (strstr(V->s,"; DNA sequence ") == V->s) + strcpy(V->seqid, (V->s)+16); + else + strcpy(V->seqid, (V->s)+1); + while ((!feof(V->f)) && (*V->s == ';')) { + getline(V); + } + if (feof(V->f)) V->allDone = true; + else readLoop(0, true, endStrider, V); + } +} + + +Local boolean endPIR( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + *addend = false; + *ungetend= (strstr(V->s,"ENTRY") == V->s); + return ((strstr(V->s,"///") != NULL) || *ungetend); +} + +Local void readPIR(struct ReadSeqVars *V) +{ /*PIR -- many seqs/file */ + + while (!V->allDone) { + while (! (feof(V->f) || strstr(V->s,"ENTRY") || strstr(V->s,"SEQUENCE")) ) + getline(V); + strcpy(V->seqid, (V->s)+16); + while (! (feof(V->f) || strstr(V->s,"SEQUENCE") == V->s)) + getline(V); + readLoop(0, false, endPIR, V); + + if (!V->allDone) { + while (! (feof(V->f) || ((*V->s != 0) + && (strstr( V->s,"ENTRY") == V->s)))) + getline(V); + } + if (feof(V->f)) V->allDone = true; + } +} + + +Local boolean endGB( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + *addend = false; + *ungetend= (strstr(V->s,"LOCUS") == V->s); + return ((strstr(V->s,"//") != NULL) || *ungetend); +} + +Local void readGenBank(struct ReadSeqVars *V) +{ /*GenBank -- many seqs/file */ + + while (!V->allDone) { + strcpy(V->seqid, (V->s)+12); + while (! (feof(V->f) || strstr(V->s,"ORIGIN") == V->s)) + getline(V); + readLoop(0, false, endGB, V); + + if (!V->allDone) { + while (! (feof(V->f) || ((*V->s != 0) + && (strstr( V->s,"LOCUS") == V->s)))) + getline(V); + } + if (feof(V->f)) V->allDone = true; + } +} + + +Local boolean endNBRF( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + char *a; + + if ((a = strchr(V->s, '*')) != NULL) { /* end of 1st seq */ + /* "*" can be valid base symbol, drop it here */ + *a = 0; + *addend = true; + *ungetend= false; + return(true); + } + else if (*V->s == '>') { /* start of next seq */ + *addend = false; + *ungetend= true; + return(true); + } + else + return(false); +} + +Local void readNBRF(struct ReadSeqVars *V) +{ + while (!V->allDone) { + strcpy(V->seqid, (V->s)+4); + getline(V); /*skip title-junk line*/ + readLoop(0, false, endNBRF, V); + if (!V->allDone) { + while (!(feof(V->f) || (*V->s != 0 && *V->s == '>'))) + getline(V); + } + if (feof(V->f)) V->allDone = true; + } +} + + + +Local boolean endPearson( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + *addend = false; + *ungetend= true; + return(*V->s == '>'); +} + +Local void readPearson(struct ReadSeqVars *V) +{ + while (!V->allDone) { + strcpy(V->seqid, (V->s)+1); + readLoop(0, false, endPearson, V); + if (!V->allDone) { + while (!(feof(V->f) || ((*V->s != 0) && (*V->s == '>')))) + getline(V); + } + if (feof(V->f)) V->allDone = true; + } +} + + + +Local boolean endEMBL( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + *addend = false; + *ungetend= (strstr(V->s,"ID ") == V->s); + return ((strstr(V->s,"//") != NULL) || *ungetend); +} + +Local void readEMBL(struct ReadSeqVars *V) +{ + while (!V->allDone) { + strcpy(V->seqid, (V->s)+5); + do { + getline(V); + } while (!(feof(V->f) | (strstr(V->s,"SQ ") == V->s))); + + readLoop(0, false, endEMBL, V); + if (!V->allDone) { + while (!(feof(V->f) | + ((*V->s != '\0') & (strstr(V->s,"ID ") == V->s)))) + getline(V); + } + if (feof(V->f)) V->allDone = true; + } +} + + + +Local boolean endZuker( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + *addend = false; + *ungetend= true; + return( *V->s == '(' ); +} + +Local void readZuker(struct ReadSeqVars *V) +{ + /*! 1st string is Zuker's Fortran format */ + + while (!V->allDone) { + getline(V); /*s == "seqLen seqid string..."*/ + strcpy(V->seqid, (V->s)+6); + readLoop(0, false, endZuker, V); + if (!V->allDone) { + while (!(feof(V->f) | + ((*V->s != '\0') & (*V->s == '(')))) + getline(V); + } + if (feof(V->f)) V->allDone = true; + } +} + + + +Local boolean endFitch( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + /* this is a somewhat shaky end, + 1st char of line is non-blank for seq. title + */ + *addend = false; + *ungetend= true; + return( *V->s != ' ' ); +} + +Local void readFitch(struct ReadSeqVars *V) +{ + boolean first; + + first = true; + while (!V->allDone) { + if (!first) strcpy(V->seqid, V->s); + readLoop(0, first, endFitch, V); + if (feof(V->f)) V->allDone = true; + first = false; + } +} + + +Local void readPlain(struct ReadSeqVars *V) +{ + V->nseq++; + V->addit = (V->choice > 0); + if (V->addit) V->seqlen = 0; + addseq(V->seqid, V); /*from above..*/ + if (V->fname!=NULL) sprintf(V->seqid, "%s [Unknown form]", V->fname); + else sprintf(V->seqid, " [Unknown form]"); + do { + addseq(V->s, V); + V->done = feof(V->f); + getline(V); + } while (!V->done); + if (V->choice == kListSequences) addinfo(V->seqid, V); + V->allDone = true; +} + + +Local void readUWGCG(struct ReadSeqVars *V) +{ +/* +10nov91: Reading GCG files casued duplication of last line when + EOF followed that line !!! + fix: getline now sets *V->s = 0 +*/ + char *si; + + V->nseq++; + V->addit = (V->choice > 0); + if (V->addit) V->seqlen = 0; + strcpy(V->seqid, V->s); + /*writeseq: " %s Length: %d (today) Check: %d ..\n" */ + /*drop above or ".." from id*/ + if (si = strstr(V->seqid," Length: ")) *si = 0; + else if (si = strstr(V->seqid,"..")) *si = 0; + do { + V->done = feof(V->f); + getline(V); + if (!V->done) addseq((V->s), V); + } while (!V->done); + if (V->choice == kListSequences) addinfo(V->seqid, V); + V->allDone = true; +} + + +Local void readOlsen(struct ReadSeqVars *V) +{ /* G. Olsen /print output from multiple sequence editor */ + + char *si, *sj, *sk, *sm, sid[40], snum[20]; + boolean indata = false; + int snumlen; + + V->addit = (V->choice > 0); + if (V->addit) V->seqlen = 0; + rewind(V->f); V->nseq= 0; + do { + getline(V); + V->done = feof(V->f); + + if (V->done && !(*V->s)) break; + else if (indata) { + if ( (si= strstr(V->s, sid)) + /* && (strstr(V->s, snum) == si - snumlen - 1) ) { */ + && (sm= strstr(V->s, snum)) && (sm < si - snumlen) ) { + + /* Spaces are valid alignment data !! */ +/* 17Oct91: Error, the left margin is 21 not 22! */ +/* dropped some nucs up to now -- my example file was right shifted ! */ +/* variable right id margin, drop id-2 spaces at end */ +/* + VMS CC COMPILER (VAXC031) mess up: + -- Index of 21 is chopping 1st nuc on VMS systems Only! + Byte-for-byte same ame rnasep.olsen sequence file ! +*/ + + /* si = (V->s)+21; < was this before VMS CC wasted my time */ + si += 10; /* use strstr index plus offset to outfox VMS CC bug */ + + if (sk = strstr(si, sid)) *(sk-2) = 0; + for (sk = si; *sk != 0; sk++) { + if (*sk == ' ') *sk = '.'; + /* 18aug92: !! some olsen masks are NUMBERS !! which addseq eats */ + else if (isdigit(*sk)) *sk= nonummask[*sk - '0']; + } + + addseq(si, V); + } + } + + else if (sk = strstr(V->s, "): ")) { /* seq info header line */ + /* 18aug92: correct for diff seqs w/ same name -- use number, e.g. */ + /* 3 (Agr.tume): agrobacterium.prna 18-JUN-1987 16:12 */ + /* 328 (Agr.tume): agrobacterium.prna XYZ 19-DEC-1992 */ + (V->nseq)++; + si = 1 + strchr(V->s,'('); + *sk = ' '; + if (V->choice == kListSequences) addinfo( si, V); + else if (V->nseq == V->choice) { + strcpy(V->seqid, si); + sj = strchr(V->seqid, ':'); + while (*(--sj) == ' ') ; + while (--sj != V->seqid) { if (*sj == ' ') *sj = '_'; } + + *sk = 0; + while (*(--sk) == ' ') *sk = 0; + strcpy(sid, si); + + si= V->s; + while ((*si <= ' ') && (*si != 0)) si++; + snumlen=0; + while (si[snumlen] > ' ' && snumlen<20) + { snum[snumlen]= si[snumlen]; snumlen++; } + snum[snumlen]= 0; + } + + } + + else if (strstr(V->s,"identity: Data:")) { + indata = true; + if (V->choice == kListSequences) V->done = true; + } + + } while (!V->done); + + V->allDone = true; +} /*readOlsen*/ + + +Local void readMSF(struct ReadSeqVars *V) +{ /* gcg's MSF, mult. sequence format, interleaved ! */ + + char *si, *sj, sid[128]; + boolean indata = false; + int atseq= 0, iline= 0; + + V->addit = (V->choice > 0); + if (V->addit) V->seqlen = 0; + rewind(V->f); V->nseq= 0; + do { + getline(V); + V->done = feof(V->f); + + if (V->done && !(*V->s)) break; + else if (indata) { + /*somename ...gpvedai .......t.. aaigr..vad tvgtgptnse aipaltaaet */ + /* E gvenae.kgv tentna.tad fvaqpvylpe .nqt...... kv.affynrs */ + + si= V->s; + skipwhitespace(si); + /* for (sj= si; isalnum(*sj); sj++) ; bug -- cdelwiche uses "-", "_" and others in names*/ + for (sj= si; *sj > ' '; sj++) ; + *sj= 0; + if ( *si ) { + if ( (0==strcmp(si, sid)) ) { + addseq(sj+1, V); + } + iline++; + } + } + + else if (NULL != (si = strstr(V->s, "Name: "))) { /* seq info header line */ + /* Name: somename Len: 100 Check: 7009 Weight: 1.00 */ + + (V->nseq)++; + si += 6; + if (V->choice == kListSequences) addinfo( si, V); + else if (V->nseq == V->choice) { + strcpy(V->seqid, si); + si = V->seqid; + skipwhitespace(si); + /* for (sj= si; isalnum(*sj); sj++) ; -- bug */ + for (sj= si; *sj > ' '; sj++) ; + *sj= 0; + strcpy(sid, si); + } + } + + else if ( strstr(V->s,"//") /*== V->s*/ ) { + indata = true; + iline= 0; + if (V->choice == kListSequences) V->done = true; + } + + } while (!V->done); + + + V->allDone = true; +} /*readMSF*/ + + + +Local void readPAUPinterleaved(struct ReadSeqVars *V) +{ /* PAUP mult. sequence format, interleaved or sequential! */ + + char *si, *sj, *send, sid[40], sid1[40], saveseq[255]; + boolean first = true, indata = false, domatch; + int atseq= 0, iline= 0, ifmc, saveseqlen=0; + +#define fixmatchchar(s) { \ + for (ifmc=0; ifmcmatchchar) s[ifmc]= saveseq[ifmc]; } + + V->addit = (V->choice > 0); + V->seqlencount = 0; + if (V->addit) V->seqlen = 0; + /* rewind(V->f); V->nseq= 0; << do in caller !*/ + indata= true; /* call here after we find "matrix" */ + domatch= (V->matchchar > 0); + + do { + getline(V); + V->done = feof(V->f); + + if (V->done && !(*V->s)) break; + else if (indata) { + /* [ 1 1 1 ]*/ + /* human aagcttcaccggcgcagtca ttctcataatcgcccacggR cttacatcct*/ + /* chimp ................a.t. .c.................a ..........*/ + /* !! need to correct for V->matchchar */ + si= V->s; + skipwhitespace(si); + if (strchr(si,';')) indata= false; + + if (isalnum(*si)) { + /* valid data line starts w/ a left-justified seq name in columns [0..8] */ + if (first) { + (V->nseq)++; + if (V->nseq >= V->topnseq) first= false; + for (sj = si; isalnum(*sj); sj++) ; + send= sj; + skipwhitespace(sj); + if (V->choice == kListSequences) { + *send= 0; + addinfo( si, V); + } + else if (V->nseq == V->choice) { + if (domatch) { + if (V->nseq == 1) { strcpy( saveseq, sj); saveseqlen= strlen(saveseq); } + else fixmatchchar( sj); + } + addseq(sj, V); + *send= 0; + strcpy(V->seqid, si); + strcpy(sid, si); + if (V->nseq == 1) strcpy(sid1, sid); + } + } + + else if ( (strstr(si, sid) == si) ){ + while (isalnum(*si)) si++; + skipwhitespace(si); + if (domatch) { + if (V->nseq == 1) { strcpy( saveseq, si); saveseqlen= strlen(saveseq); } + else fixmatchchar( si); + } + addseq(si, V); + } + + else if (domatch && (strstr(si, sid1) == si)) { + strcpy( saveseq, si); + saveseqlen= strlen(saveseq); + } + + iline++; + } + } + + else if ( strstr(V->s,"matrix") ) { + indata = true; + iline= 0; + if (V->choice == kListSequences) V->done = true; + } + + } while (!V->done); + + V->allDone = true; +} /*readPAUPinterleaved*/ + + + +Local void readPAUPsequential(struct ReadSeqVars *V) +{ /* PAUP mult. sequence format, interleaved or sequential! */ + char *si, *sj; + boolean atname = true, indata = false; + + V->addit = (V->choice > 0); + if (V->addit) V->seqlen = 0; + V->seqlencount = 0; + /* rewind(V->f); V->nseq= 0; << do in caller !*/ + indata= true; /* call here after we find "matrix" */ + do { + getline(V); + V->done = feof(V->f); + + if (V->done && !(*V->s)) break; + else if (indata) { + /* [ 1 1 1 ]*/ + /* human aagcttcaccggcgcagtca ttctcataatcgcccacggR cttacatcct*/ + /* aagcttcaccggcgcagtca ttctcataatcgcccacggR cttacatcct*/ + /* chimp ................a.t. .c.................a ..........*/ + /* ................a.t. .c.................a ..........*/ + + si= V->s; + skipwhitespace(si); + if (strchr(si,';')) indata= false; + if (isalnum(*si)) { + /* valid data line starts w/ a left-justified seq name in columns [0..8] */ + if (atname) { + (V->nseq)++; + V->seqlencount = 0; + atname= false; + sj= si+1; + while (isalnum(*sj)) sj++; + if (V->choice == kListSequences) { + /* !! we must count bases to know when topseqlen is reached ! */ + countseq(sj, V); + if (V->seqlencount >= V->topseqlen) atname= true; + *sj= 0; + addinfo( si, V); + } + else if (V->nseq == V->choice) { + addseq(sj, V); + V->seqlencount= V->seqlen; + if (V->seqlencount >= V->topseqlen) atname= true; + *sj= 0; + strcpy(V->seqid, si); + } + else { + countseq(sj, V); + if (V->seqlencount >= V->topseqlen) atname= true; + } + } + + else if (V->nseq == V->choice) { + addseq(V->s, V); + V->seqlencount= V->seqlen; + if (V->seqlencount >= V->topseqlen) atname= true; + } + else { + countseq(V->s, V); + if (V->seqlencount >= V->topseqlen) atname= true; + } + } + } + + else if ( strstr(V->s,"matrix") ) { + indata = true; + atname= true; + if (V->choice == kListSequences) V->done = true; + } + + } while (!V->done); + + V->allDone = true; +} /*readPAUPsequential*/ + + +Local void readPhylipInterleaved(struct ReadSeqVars *V) +{ + char *si, *sj; + boolean first = true; + int iline= 0; + + V->addit = (V->choice > 0); + if (V->addit) V->seqlen = 0; + V->seqlencount = 0; + /* sscanf( V->s, "%d%d", &V->topnseq, &V->topseqlen); << topnseq == 0 !!! bad scan !! */ + si= V->s; + skipwhitespace(si); + V->topnseq= atoi(si); + while (isdigit(*si)) si++; + skipwhitespace(si); + V->topseqlen= atol(si); + /* fprintf(stderr,"Phylip-ileaf: topnseq=%d topseqlen=%d\n",V->topnseq, V->topseqlen); */ + + do { + getline(V); + V->done = feof(V->f); + + if (V->done && !(*V->s)) break; + si= V->s; + skipwhitespace(si); + if (*si != 0) { + + if (first) { /* collect seq names + seq, as fprintf(outf,"%-10s ",seqname); */ + (V->nseq)++; + if (V->nseq >= V->topnseq) first= false; + sj= V->s+10; /* past name, start of data */ + if (V->choice == kListSequences) { + *sj= 0; + addinfo( si, V); + } + else if (V->nseq == V->choice) { + addseq(sj, V); + *sj= 0; + strcpy(V->seqid, si); + } + } + else if ( iline % V->nseq == V->choice -1 ) { + addseq(si, V); + } + iline++; + } + } while (!V->done); + + V->allDone = true; +} /*readPhylipInterleaved*/ + + + +Local boolean endPhylipSequential( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + *addend = false; + *ungetend= false; + countseq( V->s, V); + return V->seqlencount >= V->topseqlen; +} + +Local void readPhylipSequential(struct ReadSeqVars *V) +{ + short i; + char *si; + /* sscanf( V->s, "%d%d", &V->topnseq, &V->topseqlen); < ? bad sscan ? */ + si= V->s; + skipwhitespace(si); + V->topnseq= atoi(si); + while (isdigit(*si)) si++; + skipwhitespace(si); + V->topseqlen= atol(si); + getline(V); + while (!V->allDone) { + V->seqlencount= 0; + strncpy(V->seqid, (V->s), 10); + V->seqid[10]= 0; + for (i=0; i<10 && V->s[i]; i++) V->s[i]= ' '; + readLoop(0, true, endPhylipSequential, V); + if (feof(V->f)) V->allDone = true; + } +} + + + + +Local void readSeqMain( + struct ReadSeqVars *V, + const long skiplines_, + const short format_) +{ +#define tolowerstr(s) { long Itlwr, Ntlwr= strlen(s); \ + for (Itlwr=0; Itlwrlinestart= 0; + V->matchchar= 0; + if (V->f == NULL) + V->err = eFileNotFound; + else { + + for (l = skiplines_; l > 0; l--) getline( V); + + do { + getline( V); + for (l= strlen(V->s); (l > 0) && (V->s[l] == ' '); l--) ; + } while ((l == 0) && !feof(V->f)); + + if (feof(V->f)) V->err = eNoData; + + else switch (format_) { + case kPlain : readPlain(V); break; + case kIG : readIG(V); break; + case kStrider: readStrider(V); break; + case kGenBank: readGenBank(V); break; + case kPIR : readPIR(V); break; + case kNBRF : readNBRF(V); break; + case kPearson: readPearson(V); break; + case kEMBL : readEMBL(V); break; + case kZuker : readZuker(V); break; + case kOlsen : readOlsen(V); break; + case kMSF : readMSF(V); break; + + case kPAUP : { + boolean done= false; + boolean interleaved= false; + char *cp; + /* rewind(V->f); V->nseq= 0; ?? assume it is at top ?? skiplines ... */ + while (!done) { + getline( V); + tolowerstr( V->s); + if (strstr( V->s, "matrix")) done= true; + if (strstr( V->s, "interleav")) interleaved= true; + if (NULL != (cp=strstr( V->s, "ntax=")) ) V->topnseq= atoi(cp+5); + if (NULL != (cp=strstr( V->s, "nchar=")) ) V->topseqlen= atoi(cp+6); + if (NULL != (cp=strstr( V->s, "matchchar=")) ) { + cp += 10; + if (*cp=='\'') cp++; + else if (*cp=='"') cp++; + V->matchchar= *cp; + } + } + if (interleaved) readPAUPinterleaved(V); + else readPAUPsequential(V); + } + break; + + /* kPhylip: ! can't determine in middle of file which type it is...*/ + /* test for interleave or sequential and use Phylip4(ileave) or Phylip2 */ + case kPhylip2: + readPhylipSequential(V); + break; + case kPhylip4: /* == kPhylip3 */ + readPhylipInterleaved(V); + break; + + default: + V->err = eUnknownFormat; + break; + + case kFitch : + strcpy(V->seqid, V->s); getline(V); + readFitch(V); + break; + + case kGCG: + do { + gotuw = (strstr(V->s,"..") != NULL); + if (gotuw) readUWGCG(V); + getline(V); + } while (!(feof(V->f) || V->allDone)); + break; + } + } + + V->filestart= false; + V->seq[V->seqlen] = 0; /* stick a string terminator on it */ +} + + +char *readSeqFp( + const short whichEntry_, /* index to sequence in file */ + FILE *fp_, /* pointer to open seq file */ + const long skiplines_, + const short format_, /* sequence file format */ + long *seqlen_, /* return seq size */ + short *nseq_, /* number of seqs in file, for listSeqs() */ + short *error_, /* return error */ + char *seqid_) /* return seq name/info */ +{ + struct ReadSeqVars V; + + if (format_ < kMinFormat || format_ > kMaxFormat) { + *error_ = eUnknownFormat; + *seqlen_ = 0; + return NULL; + } + + V.choice = whichEntry_; + V.fname = NULL; /* don't know */ + V.seq = (char*) calloc(1, kStartLength+1); + V.maxseq = kStartLength; + V.seqlen = 0; + V.seqid = seqid_; + + V.f = fp_; + V.filestart= (ftell( fp_) == 0); + /* !! in sequential read, must remove current seq position from choice/whichEntry_ counter !! ... */ + if (V.filestart) V.nseq = 0; + else V.nseq= *nseq_; /* track where we are in file...*/ + + *V.seqid = '\0'; + V.err = 0; + V.nseq = 0; + V.isseqchar = isSeqChar; + if (V.choice == kListSequences) ; /* leave as is */ + else if (V.choice <= 0) V.choice = 1; /* default ?? */ + V.addit = (V.choice > 0); + V.allDone = false; + + readSeqMain(&V, skiplines_, format_); + + *error_ = V.err; + *seqlen_ = V.seqlen; + *nseq_ = V.nseq; + return V.seq; +} + +char *readSeq( + const short whichEntry_, /* index to sequence in file */ + const char *filename_, /* file name */ + const long skiplines_, + const short format_, /* sequence file format */ + long *seqlen_, /* return seq size */ + short *nseq_, /* number of seqs in file, for listSeqs() */ + short *error_, /* return error */ + char *seqid_) /* return seq name/info */ +{ + struct ReadSeqVars V; + + if (format_ < kMinFormat || format_ > kMaxFormat) { + *error_ = eUnknownFormat; + *seqlen_ = 0; + return NULL; + } + + V.choice = whichEntry_; + V.fname = filename_; /* don't need to copy string, just ptr to it */ + V.seq = (char*) calloc(1, kStartLength+1); + V.maxseq = kStartLength; + V.seqlen = 0; + V.seqid = seqid_; + + V.f = NULL; + *V.seqid = '\0'; + V.err = 0; + V.nseq = 0; + V.isseqchar = isSeqChar; + if (V.choice == kListSequences) ; /* leave as is */ + else if (V.choice <= 0) V.choice = 1; /* default ?? */ + V.addit = (V.choice > 0); + V.allDone = false; + + V.f = fopen(V.fname, "r"); + V.filestart= true; + + readSeqMain(&V, skiplines_, format_); + + if (V.f != NULL) fclose(V.f); + *error_ = V.err; + *seqlen_ = V.seqlen; + *nseq_ = V.nseq; + return V.seq; +} + + + + + +char *listSeqs( + const char *filename_, /* file name */ + const long skiplines_, + const short format_, /* sequence file format */ + short *nseq_, /* number of seqs in file, for listSeqs() */ + short *error_) /* return error */ +{ + char seqid[256]; + long seqlen; + + return readSeq( kListSequences, filename_, skiplines_, format_, + &seqlen, nseq_, error_, seqid); +} + + + + +short seqFileFormat( /* return sequence format number, see ureadseq.h */ + const char *filename, + long *skiplines, /* return #lines to skip any junk like mail header */ + short *error) /* return any error value or 0 */ +{ + FILE *fseq; + short format; + + fseq = fopen(filename, "r"); + format= seqFileFormatFp( fseq, skiplines, error); + if (fseq!=NULL) fclose(fseq); + return format; +} + +short seqFileFormatFp( + FILE *fseq, + long *skiplines, /* return #lines to skip any junk like mail header */ + short *error) /* return any error value or 0 */ +{ + boolean foundDNA= false, foundIG= false, foundStrider= false, + foundGB= false, foundPIR= false, foundEMBL= false, foundNBRF= false, + foundPearson= false, foundFitch= false, foundPhylip= false, foundZuker= false, + gotolsen= false, gotpaup = false, gotasn1 = false, gotuw= false, gotMSF= false, + isfitch= false, isphylip= false, done= false; + short format= kUnknown; + int nlines= 0, k, splen= 0, otherlines= 0, aminolines= 0, dnalines= 0; + char sp[256]; + long linestart=0; + int maxlines2check=500; + +#define ReadOneLine(sp) \ + { done |= (feof(fseq)); \ + readline( fseq, sp, &linestart); \ + if (!done) { splen = strlen(sp); ++nlines; } } + + *skiplines = 0; + *error = 0; + if (fseq == NULL) { *error = eFileNotFound; return kNoformat; } + + while ( !done ) { + ReadOneLine(sp); + + /* check for mailer head & skip past if found */ + if (nlines < 4 && !done) { + if ((strstr(sp,"From ") == sp) || (strstr(sp,"Received:") == sp)) { + do { + /* skip all lines until find one blank line */ + ReadOneLine(sp); + if (!done) for (k=0; (k') { + if (sp[3] == ';') foundNBRF= true; + else foundPearson= true; + } + + else if (strstr(sp,"ID ") == sp) + foundEMBL= true; + else if (strstr(sp,"SQ ") == sp) + foundEMBL= true; + + else if (*sp == '(') + foundZuker= true; + + else { + if (nlines - *skiplines == 1) { + int ispp= 0, ilen= 0; + sscanf( sp, "%d%d", &ispp, &ilen); + if (ispp > 0 && ilen > 0) isphylip= true; + } + else if (isphylip && nlines - *skiplines == 2) { + int tseq; + tseq= getseqtype(sp+10, strlen(sp+10)); + if ( isalpha(*sp) /* 1st letter in 2nd line must be of a name */ + && (tseq != kOtherSeq)) /* sequence section must be okay */ + foundPhylip= true; + } + + for (k=0, isfitch= true; isfitch & (k < splen); k++) { + if (k % 4 == 0) isfitch &= (sp[k] == ' '); + else isfitch &= (sp[k] != ' '); + } + if (isfitch & (splen > 20)) foundFitch= true; + + /* kRNA && kDNA are fairly certain...*/ + switch (getseqtype( sp, splen)) { + case kOtherSeq: otherlines++; break; + case kAmino : if (splen>20) aminolines++; break; + case kDNA : + case kRNA : if (splen>20) dnalines++; break; + case kNucleic : break; /* not much info ? */ + } + + } + + /* pretty certain */ + if (gotolsen) { + format= kOlsen; + done= true; + } + else if (gotMSF) { + format= kMSF; + done= true; + } + else if (gotasn1) { + /* !! we need to look further and return kASNseqentry | kASNseqset */ + /* + seqentry key is Seq-entry ::= + seqset key is Bioseq-set ::= + ?? can't read these yet w/ ncbi tools ?? + Seq-submit ::= + Bioseq ::= << fails both bioseq-seq and seq-entry parsers ! + */ + if (strstr(sp,"Bioseq-set")) format= kASNseqset; + else if (strstr(sp,"Seq-entry")) format= kASNseqentry; + else format= kASN1; /* other form, we can't yet read... */ + done= true; + } + else if (gotpaup) { + format= kPAUP; + done= true; + } + + else if (gotuw) { + if (foundIG) format= kIG; /* a TOIG file from GCG for certain */ + else format= kGCG; + done= true; + } + + else if ((dnalines > 1) || done || (nlines > maxlines2check)) { + /* decide on most likely format */ + /* multichar idents: */ + if (foundStrider) format= kStrider; + else if (foundGB) format= kGenBank; + else if (foundPIR) format= kPIR; + else if (foundEMBL) format= kEMBL; + else if (foundNBRF) format= kNBRF; + /* single char idents: */ + else if (foundIG) format= kIG; + else if (foundPearson) format= kPearson; + else if (foundZuker) format= kZuker; + /* digit ident: */ + else if (foundPhylip) format= kPhylip; + /* spacing ident: */ + else if (foundFitch) format= kFitch; + /* no format chars: */ + else if (otherlines > 0) format= kUnknown; + else if (dnalines > 1) format= kPlain; + else if (aminolines > 1) format= kPlain; + else format= kUnknown; + + done= true; + } + + /* need this for possible long header in olsen format */ + else if (strstr(sp,"): ") != NULL) + maxlines2check++; + } + + if (format == kPhylip) { + /* check for interleaved or sequential -- really messy */ + int tname, tseq; + long i, j, nspp= 0, nlen= 0, ilen, leaf= 0, seq= 0; + char *ps; + + rewind(fseq); + for (i=0; i < *skiplines; i++) ReadOneLine(sp); + nlines= 0; + ReadOneLine(sp); + sscanf( sp, "%d%d", &nspp, &nlen); + ReadOneLine(sp); /* 1st seq line */ + for (ps= sp+10, ilen=0; *ps!=0; ps++) if (isprint(*ps)) ilen++; + + for (i= 1; i=9) seq += 10; /* pretty certain not ileaf */ + else { + if (tseq != tname) leaf++; else seq++; + if (tname == kDNA || tname == kRNA) seq++; else leaf++; + } + + if (ilen <= nlen && j<9) { + if (tname == kOtherSeq) leaf += 10; + else if (tname == kAmino || tname == kDNA || tname == kRNA) seq++; else leaf++; + } + else if (ilen > nlen) { + ilen= 0; + } + } + for ( nspp *= 2 ; i nlen) { + if (j>9) leaf += 10; /* must be a name here for sequent */ + else if (tname == kOtherSeq) seq += 10; + ilen= 0; + } + } + + if (leaf > seq) format= kPhylip4; + else format= kPhylip2; + } + + return(format); +#undef ReadOneLine +} /* SeqFileFormat */ + + + + +unsigned long GCGchecksum( const char *seq, const long seqlen, unsigned long *checktotal) +/* GCGchecksum */ +{ + register long i, check = 0, count = 0; + + for (i = 0; i < seqlen; i++) { + count++; + check += count * to_upper(seq[i]); + if (count == 57) count = 0; + } + check %= 10000; + *checktotal += check; + *checktotal %= 10000; + return check; +} + +/* Table of CRC-32's of all single byte values (made by makecrc.c of ZIP source) */ +const unsigned long crctab[] = { + 0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L, + 0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L, + 0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L, + 0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL, + 0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L, + 0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L, + 0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L, + 0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL, + 0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L, + 0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL, + 0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L, + 0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L, + 0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L, + 0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL, + 0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL, + 0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L, + 0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL, + 0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L, + 0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L, + 0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L, + 0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL, + 0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L, + 0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L, + 0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL, + 0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L, + 0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L, + 0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L, + 0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L, + 0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L, + 0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL, + 0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL, + 0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L, + 0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L, + 0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL, + 0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL, + 0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L, + 0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL, + 0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L, + 0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL, + 0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L, + 0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL, + 0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L, + 0x68ddb3f8L, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L, + 0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL, + 0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L, + 0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L, + 0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L, + 0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L, + 0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L, + 0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L, + 0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL, + 0x2d02ef8dL +}; + +unsigned long CRC32checksum(const char *seq, const long seqlen, unsigned long *checktotal) +/*CRC32checksum: modified from CRC-32 algorithm found in ZIP compression source */ +{ + register unsigned long c = 0xffffffffL; + register long n = seqlen; + + while (n--) { + c = crctab[((int)c ^ (to_upper(*seq))) & 0xff] ^ (c >> 8); + seq++; /* fixed aug'98 finally */ + } + c= c ^ 0xffffffffL; + *checktotal += c; + return c; +} + + + + +short getseqtype( const char *seq, const long seqlen) +{ /* return sequence kind: kDNA, kRNA, kProtein, kOtherSeq, ??? */ + char c; + short i, maxtest; + short na = 0, aa = 0, po = 0, nt = 0, nu = 0, ns = 0, no = 0; + + maxtest = min(300, seqlen); + for (i = 0; i < maxtest; i++) { + c = to_upper(seq[i]); + if (strchr(protonly, c)) po++; + else if (strchr(primenuc,c)) { + na++; + if (c == 'T') nt++; + else if (c == 'U') nu++; + } + else if (strchr(aminos,c)) aa++; + else if (strchr(seqsymbols,c)) ns++; + else if (isalpha(c)) no++; + } + + if ((no > 0) || (po+aa+na == 0)) return kOtherSeq; + /* ?? test for probability of kOtherSeq ?, e.g., + else if (po+aa+na / maxtest < 0.70) return kOtherSeq; + */ + else if (po > 0) return kAmino; + else if (aa == 0) { + if (nu > nt) return kRNA; + else return kDNA; + } + else if (na > aa) return kNucleic; + else return kAmino; +} /* getseqtype */ + + +char* compressSeq( const char gapc, const char *seq, const long seqlen, long *newlen) +{ + register char *a, *b; + register long i; + char *newseq; + + *newlen= 0; + if (!seq) return NULL; + newseq = (char*) malloc(seqlen+1); + if (!newseq) return NULL; + for (a= (char*)seq, b=newseq, i=0; *a!=0; a++) + if (*a != gapc) { + *b++= *a; + i++; + } + *b= '\0'; + newseq = (char*) realloc(newseq, i+1); + *newlen= i; + return newseq; +} + + + +/*** +char *rtfhead = "{\\rtf1\\defformat\\mac\\deff2 \ +{\\fonttbl\ + {\\f1\\fmodern Courier;}{\\f2\\fmodern Monaco;}\ + {\\f3\\fswiss Helvetica;}{\\f4\\fswiss Geneva;}\ + {\\f5\\froman Times;}{\\f6\\froman Palatino;}\ + {\\f7\\froman New Century Schlbk;}{\\f8\\ftech Symbol;}}\ +{\\stylesheet\ + {\\s1 \\f5\\fs20 \\sbasedon0\\snext1 name;}\ + {\\s2 \\f3\\fs20 \\sbasedon0\\snext2 num;}\ + {\\s3 \\f1\\f21 \\sbasedon0\\snext3 seq;}}"; + +char *rtftail = "}"; +****/ + +short writeSeq(FILE *outf, const char *seq, const long seqlen, + const short outform, const char *seqid) +/* dump sequence to standard output */ +{ + const short kSpaceAll = -9; +#define kMaxseqwidth 250 + + boolean baseonlynum= false; /* nocountsymbols -- only count true bases, not "-" */ + short numline = 0; /* only true if we are writing seq number line (for interleave) */ + boolean numright = false, numleft = false; + boolean nameright = false, nameleft = false; + short namewidth = 8, numwidth = 8; + short spacer = 0, width = 50, tab = 0; + /* new parameters: width, spacer, those above... */ + + short linesout = 0, seqtype = kNucleic; + long i, j, l, l1, ibase; + char idword[31], endstr[10]; + char seqnamestore[128], *seqname = seqnamestore; + char s[kMaxseqwidth], *cp; + char nameform[10], numform[10], nocountsymbols[10]; + unsigned long checksum = 0, checktotal = 0; + + gPretty.atseq++; + skipwhitespace(seqid); + l = min(128, strlen(seqid)); + strncpy( seqnamestore, seqid, l); + seqname[l] = 0; + + sscanf( seqname, "%30s", idword); + sprintf(numform, "%d", seqlen); + numwidth= strlen(numform)+1; + nameform[0]= '\0'; + + if (strstr(seqname,"checksum") != NULL) { + cp = strstr(seqname,"bases"); + if (cp!=NULL) { + for ( ; (cp!=seqname) && (*cp!=','); cp--) ; + if (cp!=seqname) *cp=0; + } + } + + strcpy( endstr,""); + l1 = 0; + + if (outform == kGCG || outform == kMSF) + checksum = GCGchecksum(seq, seqlen, &checktotal); + else + checksum = seqchecksum(seq, seqlen, &checktotal); + + switch (outform) { + + case kPlain: + case kUnknown: /* no header, just sequence */ + strcpy(endstr,"\n"); /* end w/ extra blank line */ + break; + + case kOlsen: /* Olsen seq. editor takes plain nucs OR Genbank */ + case kGenBank: + fprintf(outf,"LOCUS %s %d bp\n", idword, seqlen); + fprintf(outf,"DEFINITION %s, %d bases, %X checksum.\n", seqname, seqlen, checksum); + /* fprintf(outf,"ACCESSION %s\n", accnum); */ + fprintf(outf,"ORIGIN \n"); + spacer = 11; + numleft = true; + numwidth = 8; /* dgg. 1Feb93, patch for GDE fail to read short numwidth */ + strcpy(endstr, "\n//"); + linesout += 4; + break; + + case kPIR: + /* somewhat like genbank... \\\*/ + /* fprintf(outf,"\\\\\\\n"); << only at top of file, not each entry... */ + fprintf(outf,"ENTRY %s \n", idword); + fprintf(outf,"TITLE %s, %d bases, %X checksum.\n", seqname, seqlen, checksum); + /* fprintf(outf,"ACCESSION %s\n", accnum); */ + fprintf(outf,"SEQUENCE \n"); + numwidth = 7; + width= 30; + spacer = kSpaceAll; + numleft = true; + strcpy(endstr, "\n///"); + /* run a top number line for PIR */ + for (j=0; jP1;%s\n", idword); + else + fprintf(outf,">DL;%s\n", idword); + fprintf(outf,"%s, %d bases, %X checksum.\n", seqname, seqlen, checksum); + spacer = 11; + strcpy(endstr,"*\n"); + linesout += 3; + break; + + case kEMBL: + fprintf(outf,"ID %s\n", idword); + /* fprintf(outf,"AC %s\n", accnum); */ + fprintf(outf,"DE %s, %d bases, %X checksum.\n", seqname, seqlen, checksum); + fprintf(outf,"SQ %d BP\n", seqlen); + strcpy(endstr, "\n//"); /* 11Oct90: bug fix*/ + tab = 4; /** added 31jan91 */ + spacer = 11; /** added 31jan91 */ + width = 60; + linesout += 4; + break; + + case kGCG: + fprintf(outf,"%s\n", seqname); + /* fprintf(outf,"ACCESSION %s\n", accnum); */ + fprintf(outf," %s Length: %d (today) Check: %d ..\n", idword, seqlen, checksum); + spacer = 11; + numleft = true; + strcpy(endstr, "\n"); /* this is insurance to help prevent misreads at eof */ + linesout += 3; + break; + + case kStrider: /* ?? map ?*/ + fprintf(outf,"; ### from DNA Strider ;-)\n"); + fprintf(outf,"; DNA sequence %s, %d bases, %X checksum.\n;\n", seqname, seqlen, checksum); + strcpy(endstr, "\n//"); + linesout += 3; + break; + + case kFitch: + fprintf(outf,"%s, %d bases, %X checksum.\n", seqname, seqlen, checksum); + spacer = 4; + width = 60; + linesout += 1; + break; + + case kPhylip2: + case kPhylip4: + /* this is version 3.2/3.4 -- simplest way to write + version 3.3 is to write as version 3.2, then + re-read file and interleave the species lines */ + if (strlen(idword)>10) idword[10] = 0; + fprintf(outf,"%-10s ",idword); + l1 = -1; + tab = 12; + spacer = 11; + break; + + case kASN1: + seqtype= getseqtype(seq, seqlen); + switch (seqtype) { + case kDNA : cp= "dna"; break; + case kRNA : cp= "rna"; break; + case kNucleic : cp= "na"; break; + case kAmino : cp= "aa"; break; + case kOtherSeq: cp= "not-set"; break; + } + fprintf(outf," seq {\n"); + fprintf(outf," id { local id %d },\n", gPretty.atseq); + fprintf(outf," descr { title \"%s\" },\n", seqid); + fprintf(outf," inst {\n"); + fprintf(outf," repr raw, mol %s, length %d, topology linear,\n", cp, seqlen); + fprintf(outf," seq-data\n"); + if (seqtype == kAmino) + fprintf(outf," iupacaa \""); + else + fprintf(outf," iupacna \""); + l1 = 17; + spacer = 0; + width = 78; + tab = 0; + strcpy(endstr,"\"\n } } ,"); + linesout += 7; + break; + + case kPAUP: + nameleft= true; + namewidth = 9; + spacer = 21; + width = 100; + tab = 0; /* 1; */ + /* strcpy(endstr,";\nend;"); << this is end of all seqs.. */ + /* do a header comment line for paup */ + fprintf(outf,"[Name: %-16s Len:%6d Check: %8X]\n", idword, seqlen, checksum); + linesout += 1; + break; + + case kPretty: + numline= gPretty.numline; + baseonlynum= gPretty.baseonlynum; + namewidth = gPretty.namewidth; + numright = gPretty.numright; + numleft = gPretty.numleft; + nameright = gPretty.nameright; + nameleft = gPretty.nameleft; + spacer = gPretty.spacer + 1; + width = gPretty.seqwidth; + tab = gPretty.tab; + /* also add rtf formatting w/ font, size, style */ + if (gPretty.nametop) { + fprintf(outf,"Name: %-16s Len:%6d Check: %8X\n", idword, seqlen, checksum); + linesout++; + } + break; + + case kMSF: + fprintf(outf," Name: %-16s Len:%6d Check: %5d Weight: 1.00\n", + idword, seqlen, checksum); + linesout++; + nameleft= true; + namewidth= 15; /* need MAX namewidth here... */ + sprintf(nameform, "%%+%ds ",namewidth); + spacer = 11; + width = 50; + tab = 0; /* 1; */ + break; + + case kIG: + fprintf(outf,";%s, %d bases, %X checksum.\n", seqname, seqlen, checksum); + fprintf(outf,"%s\n", idword); + strcpy(endstr,"1"); /* == linear dna */ + linesout += 2; + break; + + case kZuker: /* don't attempt Zuker's ftn format */ + case kPearson: + fprintf(outf,">%s, %d bases, %X checksum.\n", seqname, seqlen, checksum); + linesout += 1; + break; + + default: + case kVienna: /* Vienna RNA Package Format */ + fprintf(outf,"> %s [%d bases, %X]\n", seqname, seqlen, checksum); + fprintf(outf,"%s\n", seq); + return 2; + } + + if (*nameform==0) sprintf(nameform, "%%%d.%ds ",namewidth,namewidth); + if (numline) sprintf(numform, "%%%ds ",numwidth); + else sprintf(numform, "%%%dd ",numwidth); + strcpy( nocountsymbols, kNocountsymbols); + if (baseonlynum) { + if (strchr(nocountsymbols,gPretty.gapchar)==NULL) { + strcat(nocountsymbols," "); + nocountsymbols[strlen(nocountsymbols)-1]= gPretty.gapchar; + } + if (gPretty.domatch && (cp=strchr(nocountsymbols,gPretty.matchchar))!=NULL) { + *cp= ' '; + } + } + + if (numline) { + *idword= 0; + } + + width = min(width,kMaxseqwidth); + for (i=0, l=0, ibase = 1; i < seqlen; ) { + + if (l1 < 0) l1 = 0; + else if (l1 == 0) { + if (nameleft) fprintf(outf, nameform, idword); + if (numleft) { if (numline) fprintf(outf, numform, ""); + else fprintf(outf, numform, ibase);} + for (j=0; j +#include +#include + +#define UREADSEQ_G +#include "ureadseq.h" + +#pragma segment ureadseq + + +int Strcasecmp(const char *a, const char *b) /* from Nlm_StrICmp */ +{ + int diff, done; + if (a == b) return 0; + done = 0; + while (! done) { + diff = to_upper(*a) - to_upper(*b); + if (diff) return diff; + if (*a == '\0') done = 1; + else { a++; b++; } + } + return 0; +} + +int Strncasecmp(const char *a, const char *b, long maxn) /* from Nlm_StrNICmp */ +{ + int diff, done; + if (a == b) return 0; + done = 0; + while (! done) { + diff = to_upper(*a) - to_upper(*b); + if (diff) return diff; + if (*a == '\0') done = 1; + else { + a++; b++; maxn--; + if (! maxn) done = 1; + } + } + return 0; +} + + + + + +#ifndef Local +# define Local static /* local functions */ +#endif + +#define kStartLength 500 + +const char *aminos = "ABCDEFGHIKLMNPQRSTVWXYZ*"; +const char *primenuc = "ACGTU"; +const char *protonly = "EFIPQZ"; + +const char kNocountsymbols[5] = "_.-?"; +const char stdsymbols[6] = "_.-*?"; +const char allsymbols[32] = "_.-*?<>{}[]()!@#$%^&=+;:'/|`~\"\\"; +static const char *seqsymbols = allsymbols; + +const char nummask[11] = "0123456789"; +const char nonummask[11] = "~!@#$%^&*("; + +/* + use general form of isseqchar -- all chars + symbols. + no formats except nbrf (?) use symbols in data area as + anything other than sequence chars. +*/ + + + + /* Local variables for readSeq: */ +struct ReadSeqVars { + short choice, err, nseq; + long seqlen, maxseq, seqlencount; + short topnseq; + long topseqlen; + const char *fname; + char *seq, *seqid, matchchar; + boolean allDone, done, filestart, addit; + FILE *f; + long linestart; + char s[256], *sp; + + int (*isseqchar)(); + /* int (*isseqchar)(int c); << sgi cc hates (int c) */ +}; + + + +int isSeqChar(int c) +{ + return (isalpha(c) || strchr(seqsymbols,c)); +} + +int isSeqNumChar(int c) +{ + return (isalnum(c) || strchr(seqsymbols,c)); +} + + +int isAnyChar(int c) +{ + return isascii(c); /* wrap in case isascii is macro */ +} + +Local void readline(FILE *f, char *s, long *linestart) +{ + char *cp; + + *linestart= ftell(f); + if (NULL == fgets(s, 256, f)) + *s = 0; + else { + cp = strchr(s, '\n'); + if (cp != NULL) *cp = 0; + } +} + +Local void getline(struct ReadSeqVars *V) +{ + readline(V->f, V->s, &V->linestart); +} + +Local void ungetline(struct ReadSeqVars *V) +{ + fseek(V->f, V->linestart, 0); +} + + +Local void addseq(char *s, struct ReadSeqVars *V) +{ + char *ptr; + + if (V->addit) while (*s != 0) { + if ((V->isseqchar)(*s)) { + if (V->seqlen >= V->maxseq) { + V->maxseq += kStartLength; + ptr = (char*) realloc(V->seq, V->maxseq+1); + if (ptr==NULL) { + V->err = eMemFull; + return; + } + else V->seq = ptr; + } + V->seq[(V->seqlen)++] = *s; + } + s++; + } +} + +Local void countseq(char *s, struct ReadSeqVars *V) + /* this must count all valid seq chars, for some formats (paup-sequential) even + if we are skipping seq... */ +{ + while (*s != 0) { + if ((V->isseqchar)(*s)) { + (V->seqlencount)++; + } + s++; + } +} + + +Local void addinfo(char *s, struct ReadSeqVars *V) +{ + char s2[256], *si; + boolean saveadd; + + si = s2; + while (*s == ' ') s++; + sprintf(si, " %d) %s\n", V->nseq, s); + + saveadd = V->addit; + V->addit = true; + V->isseqchar = isAnyChar; + addseq( si, V); + V->addit = saveadd; + V->isseqchar = isSeqChar; +} + + + + +Local void readLoop(short margin, boolean addfirst, + boolean (*endTest)(boolean *addend, boolean *ungetend, struct ReadSeqVars *V), + struct ReadSeqVars *V) +{ + boolean addend = false; + boolean ungetend = false; + + V->nseq++; + if (V->choice == kListSequences) V->addit = false; + else V->addit = (V->nseq == V->choice); + if (V->addit) V->seqlen = 0; + + if (addfirst) addseq(V->s, V); + do { + getline(V); + V->done = feof(V->f); + V->done |= (*endTest)( &addend, &ungetend, V); + if (V->addit && (addend || !V->done) && (strlen(V->s) > margin)) { + addseq( (V->s)+margin, V); + } + } while (!V->done); + + if (V->choice == kListSequences) addinfo(V->seqid, V); + else { + V->allDone = (V->nseq >= V->choice); + if (V->allDone && ungetend) ungetline(V); + } +} + + + +Local boolean endIG( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + *addend = true; /* 1 or 2 occur in line w/ bases */ + *ungetend= false; + return((strchr(V->s,'1')!=NULL) || (strchr(V->s,'2')!=NULL)); +} + +Local void readIG(struct ReadSeqVars *V) +{ +/* 18Aug92: new IG format -- ^L between sequences in place of ";" */ + char *si; + + while (!V->allDone) { + do { + getline(V); + for (si= V->s; *si != 0 && *si < ' '; si++) *si= ' '; /* drop controls */ + if (*si == 0) *V->s= 0; /* chop line to empty */ + } while (! (feof(V->f) || ((*V->s != 0) && (*V->s != ';') ) )); + if (feof(V->f)) + V->allDone = true; + else { + strcpy(V->seqid, V->s); + readLoop(0, false, endIG, V); + } + } +} + + + +Local boolean endStrider( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + *addend = false; + *ungetend= false; + return (strstr( V->s, "//") != NULL); +} + +Local void readStrider(struct ReadSeqVars *V) +{ /* ? only 1 seq/file ? */ + + while (!V->allDone) { + getline(V); + if (strstr(V->s,"; DNA sequence ") == V->s) + strcpy(V->seqid, (V->s)+16); + else + strcpy(V->seqid, (V->s)+1); + while ((!feof(V->f)) && (*V->s == ';')) { + getline(V); + } + if (feof(V->f)) V->allDone = true; + else readLoop(0, true, endStrider, V); + } +} + + +Local boolean endPIR( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + *addend = false; + *ungetend= (strstr(V->s,"ENTRY") == V->s); + return ((strstr(V->s,"///") != NULL) || *ungetend); +} + +Local void readPIR(struct ReadSeqVars *V) +{ /*PIR -- many seqs/file */ + + while (!V->allDone) { + while (! (feof(V->f) || strstr(V->s,"ENTRY") || strstr(V->s,"SEQUENCE")) ) + getline(V); + strcpy(V->seqid, (V->s)+16); + while (! (feof(V->f) || strstr(V->s,"SEQUENCE") == V->s)) + getline(V); + readLoop(0, false, endPIR, V); + + if (!V->allDone) { + while (! (feof(V->f) || ((*V->s != 0) + && (strstr( V->s,"ENTRY") == V->s)))) + getline(V); + } + if (feof(V->f)) V->allDone = true; + } +} + + +Local boolean endGB( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + *addend = false; + *ungetend= (strstr(V->s,"LOCUS") == V->s); + return ((strstr(V->s,"//") != NULL) || *ungetend); +} + +Local void readGenBank(struct ReadSeqVars *V) +{ /*GenBank -- many seqs/file */ + + while (!V->allDone) { + strcpy(V->seqid, (V->s)+12); + while (! (feof(V->f) || strstr(V->s,"ORIGIN") == V->s)) + getline(V); + readLoop(0, false, endGB, V); + + if (!V->allDone) { + while (! (feof(V->f) || ((*V->s != 0) + && (strstr( V->s,"LOCUS") == V->s)))) + getline(V); + } + if (feof(V->f)) V->allDone = true; + } +} + + +Local boolean endNBRF( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + char *a; + + if ((a = strchr(V->s, '*')) != NULL) { /* end of 1st seq */ + /* "*" can be valid base symbol, drop it here */ + *a = 0; + *addend = true; + *ungetend= false; + return(true); + } + else if (*V->s == '>') { /* start of next seq */ + *addend = false; + *ungetend= true; + return(true); + } + else + return(false); +} + +Local void readNBRF(struct ReadSeqVars *V) +{ + while (!V->allDone) { + strcpy(V->seqid, (V->s)+4); + getline(V); /*skip title-junk line*/ + readLoop(0, false, endNBRF, V); + if (!V->allDone) { + while (!(feof(V->f) || (*V->s != 0 && *V->s == '>'))) + getline(V); + } + if (feof(V->f)) V->allDone = true; + } +} + + + +Local boolean endPearson( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + *addend = false; + *ungetend= true; + return(*V->s == '>'); +} + +Local void readPearson(struct ReadSeqVars *V) +{ + while (!V->allDone) { + strcpy(V->seqid, (V->s)+1); + readLoop(0, false, endPearson, V); + if (!V->allDone) { + while (!(feof(V->f) || ((*V->s != 0) && (*V->s == '>')))) + getline(V); + } + if (feof(V->f)) V->allDone = true; + } +} + + + +Local boolean endEMBL( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + *addend = false; + *ungetend= (strstr(V->s,"ID ") == V->s); + return ((strstr(V->s,"//") != NULL) || *ungetend); +} + +Local void readEMBL(struct ReadSeqVars *V) +{ + while (!V->allDone) { + strcpy(V->seqid, (V->s)+5); + do { + getline(V); + } while (!(feof(V->f) | (strstr(V->s,"SQ ") == V->s))); + + readLoop(0, false, endEMBL, V); + if (!V->allDone) { + while (!(feof(V->f) | + ((*V->s != '\0') & (strstr(V->s,"ID ") == V->s)))) + getline(V); + } + if (feof(V->f)) V->allDone = true; + } +} + + + +Local boolean endZuker( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + *addend = false; + *ungetend= true; + return( *V->s == '(' ); +} + +Local void readZuker(struct ReadSeqVars *V) +{ + /*! 1st string is Zuker's Fortran format */ + + while (!V->allDone) { + getline(V); /*s == "seqLen seqid string..."*/ + strcpy(V->seqid, (V->s)+6); + readLoop(0, false, endZuker, V); + if (!V->allDone) { + while (!(feof(V->f) | + ((*V->s != '\0') & (*V->s == '(')))) + getline(V); + } + if (feof(V->f)) V->allDone = true; + } +} + + + +Local boolean endFitch( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + /* this is a somewhat shaky end, + 1st char of line is non-blank for seq. title + */ + *addend = false; + *ungetend= true; + return( *V->s != ' ' ); +} + +Local void readFitch(struct ReadSeqVars *V) +{ + boolean first; + + first = true; + while (!V->allDone) { + if (!first) strcpy(V->seqid, V->s); + readLoop(0, first, endFitch, V); + if (feof(V->f)) V->allDone = true; + first = false; + } +} + + +Local void readPlain(struct ReadSeqVars *V) +{ + V->nseq++; + V->addit = (V->choice > 0); + if (V->addit) V->seqlen = 0; + addseq(V->seqid, V); /*from above..*/ + if (V->fname!=NULL) sprintf(V->seqid, "%s [Unknown form]", V->fname); + else sprintf(V->seqid, " [Unknown form]"); + do { + addseq(V->s, V); + V->done = feof(V->f); + getline(V); + } while (!V->done); + if (V->choice == kListSequences) addinfo(V->seqid, V); + V->allDone = true; +} + + +Local void readUWGCG(struct ReadSeqVars *V) +{ +/* +10nov91: Reading GCG files casued duplication of last line when + EOF followed that line !!! + fix: getline now sets *V->s = 0 +*/ + char *si; + + V->nseq++; + V->addit = (V->choice > 0); + if (V->addit) V->seqlen = 0; + strcpy(V->seqid, V->s); + /*writeseq: " %s Length: %d (today) Check: %d ..\n" */ + /*drop above or ".." from id*/ + if (si = strstr(V->seqid," Length: ")) *si = 0; + else if (si = strstr(V->seqid,"..")) *si = 0; + do { + V->done = feof(V->f); + getline(V); + if (!V->done) addseq((V->s), V); + } while (!V->done); + if (V->choice == kListSequences) addinfo(V->seqid, V); + V->allDone = true; +} + + +Local void readOlsen(struct ReadSeqVars *V) +{ /* G. Olsen /print output from multiple sequence editor */ + + char *si, *sj, *sk, *sm, sid[40], snum[20]; + boolean indata = false; + int snumlen; + + V->addit = (V->choice > 0); + if (V->addit) V->seqlen = 0; + rewind(V->f); V->nseq= 0; + do { + getline(V); + V->done = feof(V->f); + + if (V->done && !(*V->s)) break; + else if (indata) { + if ( (si= strstr(V->s, sid)) + /* && (strstr(V->s, snum) == si - snumlen - 1) ) { */ + && (sm= strstr(V->s, snum)) && (sm < si - snumlen) ) { + + /* Spaces are valid alignment data !! */ +/* 17Oct91: Error, the left margin is 21 not 22! */ +/* dropped some nucs up to now -- my example file was right shifted ! */ +/* variable right id margin, drop id-2 spaces at end */ +/* + VMS CC COMPILER (VAXC031) mess up: + -- Index of 21 is chopping 1st nuc on VMS systems Only! + Byte-for-byte same ame rnasep.olsen sequence file ! +*/ + + /* si = (V->s)+21; < was this before VMS CC wasted my time */ + si += 10; /* use strstr index plus offset to outfox VMS CC bug */ + + if (sk = strstr(si, sid)) *(sk-2) = 0; + for (sk = si; *sk != 0; sk++) { + if (*sk == ' ') *sk = '.'; + /* 18aug92: !! some olsen masks are NUMBERS !! which addseq eats */ + else if (isdigit(*sk)) *sk= nonummask[*sk - '0']; + } + + addseq(si, V); + } + } + + else if (sk = strstr(V->s, "): ")) { /* seq info header line */ + /* 18aug92: correct for diff seqs w/ same name -- use number, e.g. */ + /* 3 (Agr.tume): agrobacterium.prna 18-JUN-1987 16:12 */ + /* 328 (Agr.tume): agrobacterium.prna XYZ 19-DEC-1992 */ + (V->nseq)++; + si = 1 + strchr(V->s,'('); + *sk = ' '; + if (V->choice == kListSequences) addinfo( si, V); + else if (V->nseq == V->choice) { + strcpy(V->seqid, si); + sj = strchr(V->seqid, ':'); + while (*(--sj) == ' ') ; + while (--sj != V->seqid) { if (*sj == ' ') *sj = '_'; } + + *sk = 0; + while (*(--sk) == ' ') *sk = 0; + strcpy(sid, si); + + si= V->s; + while ((*si <= ' ') && (*si != 0)) si++; + snumlen=0; + while (si[snumlen] > ' ' && snumlen<20) + { snum[snumlen]= si[snumlen]; snumlen++; } + snum[snumlen]= 0; + } + + } + + else if (strstr(V->s,"identity: Data:")) { + indata = true; + if (V->choice == kListSequences) V->done = true; + } + + } while (!V->done); + + V->allDone = true; +} /*readOlsen*/ + + +Local void readMSF(struct ReadSeqVars *V) +{ /* gcg's MSF, mult. sequence format, interleaved ! */ + + char *si, *sj, sid[128]; + boolean indata = false; + int atseq= 0, iline= 0; + + V->addit = (V->choice > 0); + if (V->addit) V->seqlen = 0; + rewind(V->f); V->nseq= 0; + do { + getline(V); + V->done = feof(V->f); + + if (V->done && !(*V->s)) break; + else if (indata) { + /*somename ...gpvedai .......t.. aaigr..vad tvgtgptnse aipaltaaet */ + /* E gvenae.kgv tentna.tad fvaqpvylpe .nqt...... kv.affynrs */ + + si= V->s; + skipwhitespace(si); + /* for (sj= si; isalnum(*sj); sj++) ; bug -- cdelwiche uses "-", "_" and others in names*/ + for (sj= si; *sj > ' '; sj++) ; + *sj= 0; + if ( *si ) { + if ( (0==strcmp(si, sid)) ) { + addseq(sj+1, V); + } + iline++; + } + } + + else if (NULL != (si = strstr(V->s, "Name: "))) { /* seq info header line */ + /* Name: somename Len: 100 Check: 7009 Weight: 1.00 */ + + (V->nseq)++; + si += 6; + if (V->choice == kListSequences) addinfo( si, V); + else if (V->nseq == V->choice) { + strcpy(V->seqid, si); + si = V->seqid; + skipwhitespace(si); + /* for (sj= si; isalnum(*sj); sj++) ; -- bug */ + for (sj= si; *sj > ' '; sj++) ; + *sj= 0; + strcpy(sid, si); + } + } + + else if ( strstr(V->s,"//") /*== V->s*/ ) { + indata = true; + iline= 0; + if (V->choice == kListSequences) V->done = true; + } + + } while (!V->done); + + + V->allDone = true; +} /*readMSF*/ + + + +Local void readPAUPinterleaved(struct ReadSeqVars *V) +{ /* PAUP mult. sequence format, interleaved or sequential! */ + + char *si, *sj, *send, sid[40], sid1[40], saveseq[255]; + boolean first = true, indata = false, domatch; + int atseq= 0, iline= 0, ifmc, saveseqlen=0; + +#define fixmatchchar(s) { \ + for (ifmc=0; ifmcmatchchar) s[ifmc]= saveseq[ifmc]; } + + V->addit = (V->choice > 0); + V->seqlencount = 0; + if (V->addit) V->seqlen = 0; + /* rewind(V->f); V->nseq= 0; << do in caller !*/ + indata= true; /* call here after we find "matrix" */ + domatch= (V->matchchar > 0); + + do { + getline(V); + V->done = feof(V->f); + + if (V->done && !(*V->s)) break; + else if (indata) { + /* [ 1 1 1 ]*/ + /* human aagcttcaccggcgcagtca ttctcataatcgcccacggR cttacatcct*/ + /* chimp ................a.t. .c.................a ..........*/ + /* !! need to correct for V->matchchar */ + si= V->s; + skipwhitespace(si); + if (strchr(si,';')) indata= false; + + if (isalnum(*si)) { + /* valid data line starts w/ a left-justified seq name in columns [0..8] */ + if (first) { + (V->nseq)++; + if (V->nseq >= V->topnseq) first= false; + for (sj = si; isalnum(*sj); sj++) ; + send= sj; + skipwhitespace(sj); + if (V->choice == kListSequences) { + *send= 0; + addinfo( si, V); + } + else if (V->nseq == V->choice) { + if (domatch) { + if (V->nseq == 1) { strcpy( saveseq, sj); saveseqlen= strlen(saveseq); } + else fixmatchchar( sj); + } + addseq(sj, V); + *send= 0; + strcpy(V->seqid, si); + strcpy(sid, si); + if (V->nseq == 1) strcpy(sid1, sid); + } + } + + else if ( (strstr(si, sid) == si) ){ + while (isalnum(*si)) si++; + skipwhitespace(si); + if (domatch) { + if (V->nseq == 1) { strcpy( saveseq, si); saveseqlen= strlen(saveseq); } + else fixmatchchar( si); + } + addseq(si, V); + } + + else if (domatch && (strstr(si, sid1) == si)) { + strcpy( saveseq, si); + saveseqlen= strlen(saveseq); + } + + iline++; + } + } + + else if ( strstr(V->s,"matrix") ) { + indata = true; + iline= 0; + if (V->choice == kListSequences) V->done = true; + } + + } while (!V->done); + + V->allDone = true; +} /*readPAUPinterleaved*/ + + + +Local void readPAUPsequential(struct ReadSeqVars *V) +{ /* PAUP mult. sequence format, interleaved or sequential! */ + char *si, *sj; + boolean atname = true, indata = false; + + V->addit = (V->choice > 0); + if (V->addit) V->seqlen = 0; + V->seqlencount = 0; + /* rewind(V->f); V->nseq= 0; << do in caller !*/ + indata= true; /* call here after we find "matrix" */ + do { + getline(V); + V->done = feof(V->f); + + if (V->done && !(*V->s)) break; + else if (indata) { + /* [ 1 1 1 ]*/ + /* human aagcttcaccggcgcagtca ttctcataatcgcccacggR cttacatcct*/ + /* aagcttcaccggcgcagtca ttctcataatcgcccacggR cttacatcct*/ + /* chimp ................a.t. .c.................a ..........*/ + /* ................a.t. .c.................a ..........*/ + + si= V->s; + skipwhitespace(si); + if (strchr(si,';')) indata= false; + if (isalnum(*si)) { + /* valid data line starts w/ a left-justified seq name in columns [0..8] */ + if (atname) { + (V->nseq)++; + V->seqlencount = 0; + atname= false; + sj= si+1; + while (isalnum(*sj)) sj++; + if (V->choice == kListSequences) { + /* !! we must count bases to know when topseqlen is reached ! */ + countseq(sj, V); + if (V->seqlencount >= V->topseqlen) atname= true; + *sj= 0; + addinfo( si, V); + } + else if (V->nseq == V->choice) { + addseq(sj, V); + V->seqlencount= V->seqlen; + if (V->seqlencount >= V->topseqlen) atname= true; + *sj= 0; + strcpy(V->seqid, si); + } + else { + countseq(sj, V); + if (V->seqlencount >= V->topseqlen) atname= true; + } + } + + else if (V->nseq == V->choice) { + addseq(V->s, V); + V->seqlencount= V->seqlen; + if (V->seqlencount >= V->topseqlen) atname= true; + } + else { + countseq(V->s, V); + if (V->seqlencount >= V->topseqlen) atname= true; + } + } + } + + else if ( strstr(V->s,"matrix") ) { + indata = true; + atname= true; + if (V->choice == kListSequences) V->done = true; + } + + } while (!V->done); + + V->allDone = true; +} /*readPAUPsequential*/ + + +Local void readPhylipInterleaved(struct ReadSeqVars *V) +{ + char *si, *sj; + boolean first = true; + int iline= 0; + + V->addit = (V->choice > 0); + if (V->addit) V->seqlen = 0; + V->seqlencount = 0; + /* sscanf( V->s, "%d%d", &V->topnseq, &V->topseqlen); << topnseq == 0 !!! bad scan !! */ + si= V->s; + skipwhitespace(si); + V->topnseq= atoi(si); + while (isdigit(*si)) si++; + skipwhitespace(si); + V->topseqlen= atol(si); + /* fprintf(stderr,"Phylip-ileaf: topnseq=%d topseqlen=%d\n",V->topnseq, V->topseqlen); */ + + do { + getline(V); + V->done = feof(V->f); + + if (V->done && !(*V->s)) break; + si= V->s; + skipwhitespace(si); + if (*si != 0) { + + if (first) { /* collect seq names + seq, as fprintf(outf,"%-10s ",seqname); */ + (V->nseq)++; + if (V->nseq >= V->topnseq) first= false; + sj= V->s+10; /* past name, start of data */ + if (V->choice == kListSequences) { + *sj= 0; + addinfo( si, V); + } + else if (V->nseq == V->choice) { + addseq(sj, V); + *sj= 0; + strcpy(V->seqid, si); + } + } + else if ( iline % V->nseq == V->choice -1 ) { + addseq(si, V); + } + iline++; + } + } while (!V->done); + + V->allDone = true; +} /*readPhylipInterleaved*/ + + + +Local boolean endPhylipSequential( boolean *addend, boolean *ungetend, struct ReadSeqVars *V) +{ + *addend = false; + *ungetend= false; + countseq( V->s, V); + return V->seqlencount >= V->topseqlen; +} + +Local void readPhylipSequential(struct ReadSeqVars *V) +{ + short i; + char *si; + /* sscanf( V->s, "%d%d", &V->topnseq, &V->topseqlen); < ? bad sscan ? */ + si= V->s; + skipwhitespace(si); + V->topnseq= atoi(si); + while (isdigit(*si)) si++; + skipwhitespace(si); + V->topseqlen= atol(si); + getline(V); + while (!V->allDone) { + V->seqlencount= 0; + strncpy(V->seqid, (V->s), 10); + V->seqid[10]= 0; + for (i=0; i<10 && V->s[i]; i++) V->s[i]= ' '; + readLoop(0, true, endPhylipSequential, V); + if (feof(V->f)) V->allDone = true; + } +} + + + + +Local void readSeqMain( + struct ReadSeqVars *V, + const long skiplines_, + const short format_) +{ +#define tolowerstr(s) { long Itlwr, Ntlwr= strlen(s); \ + for (Itlwr=0; Itlwrlinestart= 0; + V->matchchar= 0; + if (V->f == NULL) + V->err = eFileNotFound; + else { + + for (l = skiplines_; l > 0; l--) getline( V); + + do { + getline( V); + for (l= strlen(V->s); (l > 0) && (V->s[l] == ' '); l--) ; + } while ((l == 0) && !feof(V->f)); + + if (feof(V->f)) V->err = eNoData; + + else switch (format_) { + case kPlain : readPlain(V); break; + case kIG : readIG(V); break; + case kStrider: readStrider(V); break; + case kGenBank: readGenBank(V); break; + case kPIR : readPIR(V); break; + case kNBRF : readNBRF(V); break; + case kPearson: readPearson(V); break; + case kEMBL : readEMBL(V); break; + case kZuker : readZuker(V); break; + case kOlsen : readOlsen(V); break; + case kMSF : readMSF(V); break; + + case kPAUP : { + boolean done= false; + boolean interleaved= false; + char *cp; + /* rewind(V->f); V->nseq= 0; ?? assume it is at top ?? skiplines ... */ + while (!done) { + getline( V); + tolowerstr( V->s); + if (strstr( V->s, "matrix")) done= true; + if (strstr( V->s, "interleav")) interleaved= true; + if (NULL != (cp=strstr( V->s, "ntax=")) ) V->topnseq= atoi(cp+5); + if (NULL != (cp=strstr( V->s, "nchar=")) ) V->topseqlen= atoi(cp+6); + if (NULL != (cp=strstr( V->s, "matchchar=")) ) { + cp += 10; + if (*cp=='\'') cp++; + else if (*cp=='"') cp++; + V->matchchar= *cp; + } + } + if (interleaved) readPAUPinterleaved(V); + else readPAUPsequential(V); + } + break; + + /* kPhylip: ! can't determine in middle of file which type it is...*/ + /* test for interleave or sequential and use Phylip4(ileave) or Phylip2 */ + case kPhylip2: + readPhylipSequential(V); + break; + case kPhylip4: /* == kPhylip3 */ + readPhylipInterleaved(V); + break; + + default: + V->err = eUnknownFormat; + break; + + case kFitch : + strcpy(V->seqid, V->s); getline(V); + readFitch(V); + break; + + case kGCG: + do { + gotuw = (strstr(V->s,"..") != NULL); + if (gotuw) readUWGCG(V); + getline(V); + } while (!(feof(V->f) || V->allDone)); + break; + } + } + + V->filestart= false; + V->seq[V->seqlen] = 0; /* stick a string terminator on it */ +} + + +char *readSeqFp( + const short whichEntry_, /* index to sequence in file */ + FILE *fp_, /* pointer to open seq file */ + const long skiplines_, + const short format_, /* sequence file format */ + long *seqlen_, /* return seq size */ + short *nseq_, /* number of seqs in file, for listSeqs() */ + short *error_, /* return error */ + char *seqid_) /* return seq name/info */ +{ + struct ReadSeqVars V; + + if (format_ < kMinFormat || format_ > kMaxFormat) { + *error_ = eUnknownFormat; + *seqlen_ = 0; + return NULL; + } + + V.choice = whichEntry_; + V.fname = NULL; /* don't know */ + V.seq = (char*) calloc(1, kStartLength+1); + V.maxseq = kStartLength; + V.seqlen = 0; + V.seqid = seqid_; + + V.f = fp_; + V.filestart= (ftell( fp_) == 0); + /* !! in sequential read, must remove current seq position from choice/whichEntry_ counter !! ... */ + if (V.filestart) V.nseq = 0; + else V.nseq= *nseq_; /* track where we are in file...*/ + + *V.seqid = '\0'; + V.err = 0; + V.nseq = 0; + V.isseqchar = isSeqChar; + if (V.choice == kListSequences) ; /* leave as is */ + else if (V.choice <= 0) V.choice = 1; /* default ?? */ + V.addit = (V.choice > 0); + V.allDone = false; + + readSeqMain(&V, skiplines_, format_); + + *error_ = V.err; + *seqlen_ = V.seqlen; + *nseq_ = V.nseq; + return V.seq; +} + +char *readSeq( + const short whichEntry_, /* index to sequence in file */ + const char *filename_, /* file name */ + const long skiplines_, + const short format_, /* sequence file format */ + long *seqlen_, /* return seq size */ + short *nseq_, /* number of seqs in file, for listSeqs() */ + short *error_, /* return error */ + char *seqid_) /* return seq name/info */ +{ + struct ReadSeqVars V; + + if (format_ < kMinFormat || format_ > kMaxFormat) { + *error_ = eUnknownFormat; + *seqlen_ = 0; + return NULL; + } + + V.choice = whichEntry_; + V.fname = filename_; /* don't need to copy string, just ptr to it */ + V.seq = (char*) calloc(1, kStartLength+1); + V.maxseq = kStartLength; + V.seqlen = 0; + V.seqid = seqid_; + + V.f = NULL; + *V.seqid = '\0'; + V.err = 0; + V.nseq = 0; + V.isseqchar = isSeqChar; + if (V.choice == kListSequences) ; /* leave as is */ + else if (V.choice <= 0) V.choice = 1; /* default ?? */ + V.addit = (V.choice > 0); + V.allDone = false; + + V.f = fopen(V.fname, "r"); + V.filestart= true; + + readSeqMain(&V, skiplines_, format_); + + if (V.f != NULL) fclose(V.f); + *error_ = V.err; + *seqlen_ = V.seqlen; + *nseq_ = V.nseq; + return V.seq; +} + + + + + +char *listSeqs( + const char *filename_, /* file name */ + const long skiplines_, + const short format_, /* sequence file format */ + short *nseq_, /* number of seqs in file, for listSeqs() */ + short *error_) /* return error */ +{ + char seqid[256]; + long seqlen; + + return readSeq( kListSequences, filename_, skiplines_, format_, + &seqlen, nseq_, error_, seqid); +} + + + + +short seqFileFormat( /* return sequence format number, see ureadseq.h */ + const char *filename, + long *skiplines, /* return #lines to skip any junk like mail header */ + short *error) /* return any error value or 0 */ +{ + FILE *fseq; + short format; + + fseq = fopen(filename, "r"); + format= seqFileFormatFp( fseq, skiplines, error); + if (fseq!=NULL) fclose(fseq); + return format; +} + +short seqFileFormatFp( + FILE *fseq, + long *skiplines, /* return #lines to skip any junk like mail header */ + short *error) /* return any error value or 0 */ +{ + boolean foundDNA= false, foundIG= false, foundStrider= false, + foundGB= false, foundPIR= false, foundEMBL= false, foundNBRF= false, + foundPearson= false, foundFitch= false, foundPhylip= false, foundZuker= false, + gotolsen= false, gotpaup = false, gotasn1 = false, gotuw= false, gotMSF= false, + isfitch= false, isphylip= false, done= false; + short format= kUnknown; + int nlines= 0, k, splen= 0, otherlines= 0, aminolines= 0, dnalines= 0; + char sp[256]; + long linestart=0; + int maxlines2check=500; + +#define ReadOneLine(sp) \ + { done |= (feof(fseq)); \ + readline( fseq, sp, &linestart); \ + if (!done) { splen = strlen(sp); ++nlines; } } + + *skiplines = 0; + *error = 0; + if (fseq == NULL) { *error = eFileNotFound; return kNoformat; } + + while ( !done ) { + ReadOneLine(sp); + + /* check for mailer head & skip past if found */ + if (nlines < 4 && !done) { + if ((strstr(sp,"From ") == sp) || (strstr(sp,"Received:") == sp)) { + do { + /* skip all lines until find one blank line */ + ReadOneLine(sp); + if (!done) for (k=0; (k') { + if (sp[3] == ';') foundNBRF= true; + else foundPearson= true; + } + + else if (strstr(sp,"ID ") == sp) + foundEMBL= true; + else if (strstr(sp,"SQ ") == sp) + foundEMBL= true; + + else if (*sp == '(') + foundZuker= true; + + else { + if (nlines - *skiplines == 1) { + int ispp= 0, ilen= 0; + sscanf( sp, "%d%d", &ispp, &ilen); + if (ispp > 0 && ilen > 0) isphylip= true; + } + else if (isphylip && nlines - *skiplines == 2) { + int tseq; + tseq= getseqtype(sp+10, strlen(sp+10)); + if ( isalpha(*sp) /* 1st letter in 2nd line must be of a name */ + && (tseq != kOtherSeq)) /* sequence section must be okay */ + foundPhylip= true; + } + + for (k=0, isfitch= true; isfitch & (k < splen); k++) { + if (k % 4 == 0) isfitch &= (sp[k] == ' '); + else isfitch &= (sp[k] != ' '); + } + if (isfitch & (splen > 20)) foundFitch= true; + + /* kRNA && kDNA are fairly certain...*/ + switch (getseqtype( sp, splen)) { + case kOtherSeq: otherlines++; break; + case kAmino : if (splen>20) aminolines++; break; + case kDNA : + case kRNA : if (splen>20) dnalines++; break; + case kNucleic : break; /* not much info ? */ + } + + } + + /* pretty certain */ + if (gotolsen) { + format= kOlsen; + done= true; + } + else if (gotMSF) { + format= kMSF; + done= true; + } + else if (gotasn1) { + /* !! we need to look further and return kASNseqentry | kASNseqset */ + /* + seqentry key is Seq-entry ::= + seqset key is Bioseq-set ::= + ?? can't read these yet w/ ncbi tools ?? + Seq-submit ::= + Bioseq ::= << fails both bioseq-seq and seq-entry parsers ! + */ + if (strstr(sp,"Bioseq-set")) format= kASNseqset; + else if (strstr(sp,"Seq-entry")) format= kASNseqentry; + else format= kASN1; /* other form, we can't yet read... */ + done= true; + } + else if (gotpaup) { + format= kPAUP; + done= true; + } + + else if (gotuw) { + if (foundIG) format= kIG; /* a TOIG file from GCG for certain */ + else format= kGCG; + done= true; + } + + else if ((dnalines > 1) || done || (nlines > maxlines2check)) { + /* decide on most likely format */ + /* multichar idents: */ + if (foundStrider) format= kStrider; + else if (foundGB) format= kGenBank; + else if (foundPIR) format= kPIR; + else if (foundEMBL) format= kEMBL; + else if (foundNBRF) format= kNBRF; + /* single char idents: */ + else if (foundIG) format= kIG; + else if (foundPearson) format= kPearson; + else if (foundZuker) format= kZuker; + /* digit ident: */ + else if (foundPhylip) format= kPhylip; + /* spacing ident: */ + else if (foundFitch) format= kFitch; + /* no format chars: */ + else if (otherlines > 0) format= kUnknown; + else if (dnalines > 1) format= kPlain; + else if (aminolines > 1) format= kPlain; + else format= kUnknown; + + done= true; + } + + /* need this for possible long header in olsen format */ + else if (strstr(sp,"): ") != NULL) + maxlines2check++; + } + + if (format == kPhylip) { + /* check for interleaved or sequential -- really messy */ + int tname, tseq; + long i, j, nspp= 0, nlen= 0, ilen, leaf= 0, seq= 0; + char *ps; + + rewind(fseq); + for (i=0; i < *skiplines; i++) ReadOneLine(sp); + nlines= 0; + ReadOneLine(sp); + sscanf( sp, "%d%d", &nspp, &nlen); + ReadOneLine(sp); /* 1st seq line */ + for (ps= sp+10, ilen=0; *ps!=0; ps++) if (isprint(*ps)) ilen++; + + for (i= 1; i=9) seq += 10; /* pretty certain not ileaf */ + else { + if (tseq != tname) leaf++; else seq++; + if (tname == kDNA || tname == kRNA) seq++; else leaf++; + } + + if (ilen <= nlen && j<9) { + if (tname == kOtherSeq) leaf += 10; + else if (tname == kAmino || tname == kDNA || tname == kRNA) seq++; else leaf++; + } + else if (ilen > nlen) { + ilen= 0; + } + } + for ( nspp *= 2 ; i nlen) { + if (j>9) leaf += 10; /* must be a name here for sequent */ + else if (tname == kOtherSeq) seq += 10; + ilen= 0; + } + } + + if (leaf > seq) format= kPhylip4; + else format= kPhylip2; + } + + return(format); +#undef ReadOneLine +} /* SeqFileFormat */ + + + + +unsigned long GCGchecksum( const char *seq, const long seqlen, unsigned long *checktotal) +/* GCGchecksum */ +{ + register long i, check = 0, count = 0; + + for (i = 0; i < seqlen; i++) { + count++; + check += count * to_upper(seq[i]); + if (count == 57) count = 0; + } + check %= 10000; + *checktotal += check; + *checktotal %= 10000; + return check; +} + +/* Table of CRC-32's of all single byte values (made by makecrc.c of ZIP source) */ +const unsigned long crctab[] = { + 0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L, + 0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L, + 0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L, + 0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL, + 0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L, + 0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L, + 0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L, + 0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL, + 0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L, + 0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL, + 0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L, + 0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L, + 0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L, + 0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL, + 0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL, + 0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L, + 0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL, + 0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L, + 0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L, + 0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L, + 0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL, + 0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L, + 0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L, + 0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL, + 0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L, + 0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L, + 0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L, + 0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L, + 0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L, + 0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL, + 0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL, + 0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L, + 0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L, + 0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL, + 0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL, + 0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L, + 0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL, + 0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L, + 0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL, + 0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L, + 0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL, + 0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L, + 0x68ddb3f8L, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L, + 0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL, + 0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L, + 0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L, + 0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L, + 0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L, + 0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L, + 0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L, + 0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL, + 0x2d02ef8dL +}; + +unsigned long CRC32checksum(const char *seq, const long seqlen, unsigned long *checktotal) +/*CRC32checksum: modified from CRC-32 algorithm found in ZIP compression source */ +{ + register unsigned long c = 0xffffffffL; + register long n = seqlen; + + while (n--) { + c = crctab[((int)c ^ (to_upper(*seq))) & 0xff] ^ (c >> 8); + seq++; /* fixed aug'98 finally */ + } + c= c ^ 0xffffffffL; + *checktotal += c; + return c; +} + + + + +short getseqtype( const char *seq, const long seqlen) +{ /* return sequence kind: kDNA, kRNA, kProtein, kOtherSeq, ??? */ + char c; + short i, maxtest; + short na = 0, aa = 0, po = 0, nt = 0, nu = 0, ns = 0, no = 0; + + maxtest = min(300, seqlen); + for (i = 0; i < maxtest; i++) { + c = to_upper(seq[i]); + if (strchr(protonly, c)) po++; + else if (strchr(primenuc,c)) { + na++; + if (c == 'T') nt++; + else if (c == 'U') nu++; + } + else if (strchr(aminos,c)) aa++; + else if (strchr(seqsymbols,c)) ns++; + else if (isalpha(c)) no++; + } + + if ((no > 0) || (po+aa+na == 0)) return kOtherSeq; + /* ?? test for probability of kOtherSeq ?, e.g., + else if (po+aa+na / maxtest < 0.70) return kOtherSeq; + */ + else if (po > 0) return kAmino; + else if (aa == 0) { + if (nu > nt) return kRNA; + else return kDNA; + } + else if (na > aa) return kNucleic; + else return kAmino; +} /* getseqtype */ + + +char* compressSeq( const char gapc, const char *seq, const long seqlen, long *newlen) +{ + register char *a, *b; + register long i; + char *newseq; + + *newlen= 0; + if (!seq) return NULL; + newseq = (char*) malloc(seqlen+1); + if (!newseq) return NULL; + for (a= (char*)seq, b=newseq, i=0; *a!=0; a++) + if (*a != gapc) { + *b++= *a; + i++; + } + *b= '\0'; + newseq = (char*) realloc(newseq, i+1); + *newlen= i; + return newseq; +} + + + +/*** +char *rtfhead = "{\\rtf1\\defformat\\mac\\deff2 \ +{\\fonttbl\ + {\\f1\\fmodern Courier;}{\\f2\\fmodern Monaco;}\ + {\\f3\\fswiss Helvetica;}{\\f4\\fswiss Geneva;}\ + {\\f5\\froman Times;}{\\f6\\froman Palatino;}\ + {\\f7\\froman New Century Schlbk;}{\\f8\\ftech Symbol;}}\ +{\\stylesheet\ + {\\s1 \\f5\\fs20 \\sbasedon0\\snext1 name;}\ + {\\s2 \\f3\\fs20 \\sbasedon0\\snext2 num;}\ + {\\s3 \\f1\\f21 \\sbasedon0\\snext3 seq;}}"; + +char *rtftail = "}"; +****/ + +short writeSeq(FILE *outf, const char *seq, const long seqlen, + const short outform, const char *seqid) +/* dump sequence to standard output */ +{ + const short kSpaceAll = -9; +#define kMaxseqwidth 250 + + boolean baseonlynum= false; /* nocountsymbols -- only count true bases, not "-" */ + short numline = 0; /* only true if we are writing seq number line (for interleave) */ + boolean numright = false, numleft = false; + boolean nameright = false, nameleft = false; + short namewidth = 8, numwidth = 8; + short spacer = 0, width = 50, tab = 0; + /* new parameters: width, spacer, those above... */ + + short linesout = 0, seqtype = kNucleic; + long i, j, l, l1, ibase; + char idword[31], endstr[10]; + char seqnamestore[128], *seqname = seqnamestore; + char s[kMaxseqwidth], *cp; + char nameform[10], numform[10], nocountsymbols[10]; + unsigned long checksum = 0, checktotal = 0; + + gPretty.atseq++; + skipwhitespace(seqid); + l = min(128, strlen(seqid)); + strncpy( seqnamestore, seqid, l); + seqname[l] = 0; + + sscanf( seqname, "%30s", idword); + sprintf(numform, "%d", seqlen); + numwidth= strlen(numform)+1; + nameform[0]= '\0'; + + if (strstr(seqname,"checksum") != NULL) { + cp = strstr(seqname,"bases"); + if (cp!=NULL) { + for ( ; (cp!=seqname) && (*cp!=','); cp--) ; + if (cp!=seqname) *cp=0; + } + } + + strcpy( endstr,""); + l1 = 0; + + if (outform == kGCG || outform == kMSF) + checksum = GCGchecksum(seq, seqlen, &checktotal); + else + checksum = seqchecksum(seq, seqlen, &checktotal); + + switch (outform) { + + case kPlain: + case kUnknown: /* no header, just sequence */ + strcpy(endstr,"\n"); /* end w/ extra blank line */ + break; + + case kOlsen: /* Olsen seq. editor takes plain nucs OR Genbank */ + case kGenBank: + fprintf(outf,"LOCUS %s %d bp\n", idword, seqlen); + fprintf(outf,"DEFINITION %s, %d bases, %X checksum.\n", seqname, seqlen, checksum); + /* fprintf(outf,"ACCESSION %s\n", accnum); */ + fprintf(outf,"ORIGIN \n"); + spacer = 11; + numleft = true; + numwidth = 8; /* dgg. 1Feb93, patch for GDE fail to read short numwidth */ + strcpy(endstr, "\n//"); + linesout += 4; + break; + + case kPIR: + /* somewhat like genbank... \\\*/ + /* fprintf(outf,"\\\\\\\n"); << only at top of file, not each entry... */ + fprintf(outf,"ENTRY %s \n", idword); + fprintf(outf,"TITLE %s, %d bases, %X checksum.\n", seqname, seqlen, checksum); + /* fprintf(outf,"ACCESSION %s\n", accnum); */ + fprintf(outf,"SEQUENCE \n"); + numwidth = 7; + width= 30; + spacer = kSpaceAll; + numleft = true; + strcpy(endstr, "\n///"); + /* run a top number line for PIR */ + for (j=0; jP1;%s\n", idword); + else + fprintf(outf,">DL;%s\n", idword); + fprintf(outf,"%s, %d bases, %X checksum.\n", seqname, seqlen, checksum); + spacer = 11; + strcpy(endstr,"*\n"); + linesout += 3; + break; + + case kEMBL: + fprintf(outf,"ID %s\n", idword); + /* fprintf(outf,"AC %s\n", accnum); */ + fprintf(outf,"DE %s, %d bases, %X checksum.\n", seqname, seqlen, checksum); + fprintf(outf,"SQ %d BP\n", seqlen); + strcpy(endstr, "\n//"); /* 11Oct90: bug fix*/ + tab = 4; /** added 31jan91 */ + spacer = 11; /** added 31jan91 */ + width = 60; + linesout += 4; + break; + + case kGCG: + fprintf(outf,"%s\n", seqname); + /* fprintf(outf,"ACCESSION %s\n", accnum); */ + fprintf(outf," %s Length: %d (today) Check: %d ..\n", idword, seqlen, checksum); + spacer = 11; + numleft = true; + strcpy(endstr, "\n"); /* this is insurance to help prevent misreads at eof */ + linesout += 3; + break; + + case kStrider: /* ?? map ?*/ + fprintf(outf,"; ### from DNA Strider ;-)\n"); + fprintf(outf,"; DNA sequence %s, %d bases, %X checksum.\n;\n", seqname, seqlen, checksum); + strcpy(endstr, "\n//"); + linesout += 3; + break; + + case kFitch: + fprintf(outf,"%s, %d bases, %X checksum.\n", seqname, seqlen, checksum); + spacer = 4; + width = 60; + linesout += 1; + break; + + case kPhylip2: + case kPhylip4: + /* this is version 3.2/3.4 -- simplest way to write + version 3.3 is to write as version 3.2, then + re-read file and interleave the species lines */ + if (strlen(idword)>10) idword[10] = 0; + fprintf(outf,"%-10s ",idword); + l1 = -1; + tab = 12; + spacer = 11; + break; + + case kASN1: + seqtype= getseqtype(seq, seqlen); + switch (seqtype) { + case kDNA : cp= "dna"; break; + case kRNA : cp= "rna"; break; + case kNucleic : cp= "na"; break; + case kAmino : cp= "aa"; break; + case kOtherSeq: cp= "not-set"; break; + } + fprintf(outf," seq {\n"); + fprintf(outf," id { local id %d },\n", gPretty.atseq); + fprintf(outf," descr { title \"%s\" },\n", seqid); + fprintf(outf," inst {\n"); + fprintf(outf," repr raw, mol %s, length %d, topology linear,\n", cp, seqlen); + fprintf(outf," seq-data\n"); + if (seqtype == kAmino) + fprintf(outf," iupacaa \""); + else + fprintf(outf," iupacna \""); + l1 = 17; + spacer = 0; + width = 78; + tab = 0; + strcpy(endstr,"\"\n } } ,"); + linesout += 7; + break; + + case kPAUP: + nameleft= true; + namewidth = 9; + spacer = 21; + width = 100; + tab = 0; /* 1; */ + /* strcpy(endstr,";\nend;"); << this is end of all seqs.. */ + /* do a header comment line for paup */ + fprintf(outf,"[Name: %-16s Len:%6d Check: %8X]\n", idword, seqlen, checksum); + linesout += 1; + break; + + case kPretty: + numline= gPretty.numline; + baseonlynum= gPretty.baseonlynum; + namewidth = gPretty.namewidth; + numright = gPretty.numright; + numleft = gPretty.numleft; + nameright = gPretty.nameright; + nameleft = gPretty.nameleft; + spacer = gPretty.spacer + 1; + width = gPretty.seqwidth; + tab = gPretty.tab; + /* also add rtf formatting w/ font, size, style */ + if (gPretty.nametop) { + fprintf(outf,"Name: %-16s Len:%6d Check: %8X\n", idword, seqlen, checksum); + linesout++; + } + break; + + case kMSF: + fprintf(outf," Name: %-16s Len:%6d Check: %5d Weight: 1.00\n", + idword, seqlen, checksum); + linesout++; + nameleft= true; + namewidth= 15; /* need MAX namewidth here... */ + sprintf(nameform, "%%+%ds ",namewidth); + spacer = 11; + width = 50; + tab = 0; /* 1; */ + break; + + case kIG: + fprintf(outf,";%s, %d bases, %X checksum.\n", seqname, seqlen, checksum); + fprintf(outf,"%s\n", idword); + strcpy(endstr,"1"); /* == linear dna */ + linesout += 2; + break; + + default : + case kZuker: /* don't attempt Zuker's ftn format */ + case kPearson: + fprintf(outf,">%s, %d bases, %X checksum.\n", seqname, seqlen, checksum); + linesout += 1; + break; + } + + if (*nameform==0) sprintf(nameform, "%%%d.%ds ",namewidth,namewidth); + if (numline) sprintf(numform, "%%%ds ",numwidth); + else sprintf(numform, "%%%dd ",numwidth); + strcpy( nocountsymbols, kNocountsymbols); + if (baseonlynum) { + if (strchr(nocountsymbols,gPretty.gapchar)==NULL) { + strcat(nocountsymbols," "); + nocountsymbols[strlen(nocountsymbols)-1]= gPretty.gapchar; + } + if (gPretty.domatch && (cp=strchr(nocountsymbols,gPretty.matchchar))!=NULL) { + *cp= ' '; + } + } + + if (numline) { + *idword= 0; + } + + width = min(width,kMaxseqwidth); + for (i=0, l=0, ibase = 1; i < seqlen; ) { + + if (l1 < 0) l1 = 0; + else if (l1 == 0) { + if (nameleft) fprintf(outf, nameform, idword); + if (numleft) { if (numline) fprintf(outf, numform, ""); + else fprintf(outf, numform, ibase);} + for (j=0; jb)?a:b +#define skipwhitespace(string) {while (*string <= ' ' && *string != 0) string++;} + + /* NLM strings */ +#define is_upper(c) ('A'<=(c) && (c)<='Z') +#define is_lower(c) ('a'<=(c) && (c)<='z') +#define to_lower(c) ((char)(is_upper(c) ? (c)+' ' : (c))) +#define to_upper(c) ((char)(is_lower(c) ? (c)-' ' : (c))) + + + /* readSeq errors */ +#define eFileNotFound -1 +#define eNoData -2 +#define eMemFull -3 +#define eItemNotFound -4 +#define eOneFormat -5 +#define eUnequalSize -6 +#define eFileCreate -7 +#define eUnknownFormat -8 +#define eOptionBad -9 +#define eASNerr -10 + + /* magic number for readSeq(whichEntry) to give seq list */ +#define kListSequences -1 + + /* sequence types parsed by getseqtype */ +#define kOtherSeq 0 +#define kDNA 1 +#define kRNA 2 +#define kNucleic 3 +#define kAmino 4 + + /* formats known to readSeq */ +#define kIG 1 +#define kGenBank 2 +#define kNBRF 3 +#define kEMBL 4 +#define kGCG 5 +#define kStrider 6 +#define kFitch 7 +#define kPearson 8 +#define kZuker 9 +#define kOlsen 10 +#define kPhylip2 11 +#define kPhylip4 12 +#define kPhylip3 kPhylip4 +#define kPhylip kPhylip4 +#define kPlain 13 /* keep this at #13 */ +#define kPIR 14 +#define kMSF 15 +#define kASN1 16 +#define kPAUP 17 +#define kPretty 18 +#define kVienna 19 + +#define kMaxFormat 19 +#define kMinFormat 1 +#define kNoformat -1 /* format not tested */ +#define kUnknown 0 /* format not determinable */ + + /* subsidiary types */ +#define kASNseqentry 51 +#define kASNseqset 52 + +#define kPhylipInterleave 61 +#define kPhylipSequential 62 + + +typedef struct { + boolean isactive, baseonlynum; + boolean numright, numleft, numtop, numbot; + boolean nameright, nameleft, nametop; + boolean noleaves, domatch, degap; + char matchchar, gapchar; + short numline, atseq; + short namewidth, numwidth; + short interline, spacer, seqwidth, tab; + } prettyopts; + +#define gPrettyInit(p) { \ + p.isactive=false;\ + p.baseonlynum=true;\ + p.numline= p.atseq= 0;\ + p.numright= p.numleft= p.numtop= p.numbot= false;\ + p.nameright= p.nameleft= p.nametop= false;\ + p.noleaves= p.domatch= p.degap= false;\ + p.matchchar='.';\ + p.gapchar='-';\ + p.namewidth=8;\ + p.numwidth=5;\ + p.interline=1;\ + p.spacer=10;\ + p.seqwidth=50;\ + p.tab=0; } + +#ifdef UREADSEQ_G +prettyopts gPretty; +#else +extern prettyopts gPretty; +#endif + + +#ifdef __cplusplus +extern "C" { +#endif + +extern short seqFileFormat(const char *filename, long *skiplines, short *error ); +extern short seqFileFormatFp(FILE *fseq, long *skiplines, short *error ); + +extern char *listSeqs(const char *filename, const long skiplines, + const short format, short *nseq, short *error ); + +extern char *readSeq(const short whichEntry, const char *filename, + const long skiplines, const short format, + long *seqlen, short *nseq, short *error, char *seqid ); + +extern char *readSeqFp(const short whichEntry_, FILE *fp_, + const long skiplines_, const short format_, + long *seqlen_, short *nseq_, short *error_, char *seqid_ ); + +extern short writeSeq(FILE *outf, const char *seq, const long seqlen, + const short outform, const char *seqid ); + +extern unsigned long CRC32checksum(const char *seq, const long seqlen, unsigned long *checktotal); +extern unsigned long GCGchecksum(const char *seq, const long seqlen, unsigned long *checktotal); +#ifdef SMALLCHECKSUM +#define seqchecksum GCGchecksum +#else +#define seqchecksum CRC32checksum +#endif + +extern short getseqtype(const char *seq, const long seqlen ); +extern char *compressSeq( const char gapc, const char *seq, const long seqlen, long *newlen); + +#ifdef NCBI + +extern char *listASNSeqs(const char *filename, const long skiplines, + const short format, short *nseq, short *error ); + +extern char *readASNSeq(const short whichEntry, const char *filename, + const long skiplines, const short format, + long *seqlen, short *nseq, short *error, char **seqid ); +#endif + + + /* patches for some missing string.h stuff */ +extern int Strcasecmp(const char *a, const char *b); +extern int Strncasecmp(const char *a, const char *b, long maxn); + +#ifdef __cplusplus +} +#endif + +#endif /*UREADSEQ_H*/ + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/ureadseq.h.orig b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/ureadseq.h.orig new file mode 100755 index 00000000..cb5a87c5 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Readseq/ureadseq.h.orig @@ -0,0 +1,169 @@ +/* File: ureadseq.h + * + * Header for module UReadSeq + */ + +#ifndef UREADSEQ_H +#define UREADSEQ_H + + + +typedef char boolean; +#define NEWLINE '\n' +#define false 0 +#define true 1 +#define min(a,b) (ab)?a:b +#define skipwhitespace(string) {while (*string <= ' ' && *string != 0) string++;} + + /* NLM strings */ +#define is_upper(c) ('A'<=(c) && (c)<='Z') +#define is_lower(c) ('a'<=(c) && (c)<='z') +#define to_lower(c) ((char)(is_upper(c) ? (c)+' ' : (c))) +#define to_upper(c) ((char)(is_lower(c) ? (c)-' ' : (c))) + + + /* readSeq errors */ +#define eFileNotFound -1 +#define eNoData -2 +#define eMemFull -3 +#define eItemNotFound -4 +#define eOneFormat -5 +#define eUnequalSize -6 +#define eFileCreate -7 +#define eUnknownFormat -8 +#define eOptionBad -9 +#define eASNerr -10 + + /* magic number for readSeq(whichEntry) to give seq list */ +#define kListSequences -1 + + /* sequence types parsed by getseqtype */ +#define kOtherSeq 0 +#define kDNA 1 +#define kRNA 2 +#define kNucleic 3 +#define kAmino 4 + + /* formats known to readSeq */ +#define kIG 1 +#define kGenBank 2 +#define kNBRF 3 +#define kEMBL 4 +#define kGCG 5 +#define kStrider 6 +#define kFitch 7 +#define kPearson 8 +#define kZuker 9 +#define kOlsen 10 +#define kPhylip2 11 +#define kPhylip4 12 +#define kPhylip3 kPhylip4 +#define kPhylip kPhylip4 +#define kPlain 13 /* keep this at #13 */ +#define kPIR 14 +#define kMSF 15 +#define kASN1 16 +#define kPAUP 17 +#define kPretty 18 + +#define kMaxFormat 18 +#define kMinFormat 1 +#define kNoformat -1 /* format not tested */ +#define kUnknown 0 /* format not determinable */ + + /* subsidiary types */ +#define kASNseqentry 51 +#define kASNseqset 52 + +#define kPhylipInterleave 61 +#define kPhylipSequential 62 + + +typedef struct { + boolean isactive, baseonlynum; + boolean numright, numleft, numtop, numbot; + boolean nameright, nameleft, nametop; + boolean noleaves, domatch, degap; + char matchchar, gapchar; + short numline, atseq; + short namewidth, numwidth; + short interline, spacer, seqwidth, tab; + } prettyopts; + +#define gPrettyInit(p) { \ + p.isactive=false;\ + p.baseonlynum=true;\ + p.numline= p.atseq= 0;\ + p.numright= p.numleft= p.numtop= p.numbot= false;\ + p.nameright= p.nameleft= p.nametop= false;\ + p.noleaves= p.domatch= p.degap= false;\ + p.matchchar='.';\ + p.gapchar='-';\ + p.namewidth=8;\ + p.numwidth=5;\ + p.interline=1;\ + p.spacer=10;\ + p.seqwidth=50;\ + p.tab=0; } + +#ifdef UREADSEQ_G +prettyopts gPretty; +#else +extern prettyopts gPretty; +#endif + + +#ifdef __cplusplus +extern "C" { +#endif + +extern short seqFileFormat(const char *filename, long *skiplines, short *error ); +extern short seqFileFormatFp(FILE *fseq, long *skiplines, short *error ); + +extern char *listSeqs(const char *filename, const long skiplines, + const short format, short *nseq, short *error ); + +extern char *readSeq(const short whichEntry, const char *filename, + const long skiplines, const short format, + long *seqlen, short *nseq, short *error, char *seqid ); + +extern char *readSeqFp(const short whichEntry_, FILE *fp_, + const long skiplines_, const short format_, + long *seqlen_, short *nseq_, short *error_, char *seqid_ ); + +extern short writeSeq(FILE *outf, const char *seq, const long seqlen, + const short outform, const char *seqid ); + +extern unsigned long CRC32checksum(const char *seq, const long seqlen, unsigned long *checktotal); +extern unsigned long GCGchecksum(const char *seq, const long seqlen, unsigned long *checktotal); +#ifdef SMALLCHECKSUM +#define seqchecksum GCGchecksum +#else +#define seqchecksum CRC32checksum +#endif + +extern short getseqtype(const char *seq, const long seqlen ); +extern char *compressSeq( const char gapc, const char *seq, const long seqlen, long *newlen); + +#ifdef NCBI + +extern char *listASNSeqs(const char *filename, const long skiplines, + const short format, short *nseq, short *error ); + +extern char *readASNSeq(const short whichEntry, const char *filename, + const long skiplines, const short format, + long *seqlen, short *nseq, short *error, char **seqid ); +#endif + + + /* patches for some missing string.h stuff */ +extern int Strcasecmp(const char *a, const char *b); +extern int Strncasecmp(const char *a, const char *b, long maxn); + +#ifdef __cplusplus +} +#endif + +#endif /*UREADSEQ_H*/ + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/THANKS b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/THANKS new file mode 100755 index 00000000..6908c26e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/THANKS @@ -0,0 +1,7 @@ +Sebastian Bonhoeffer's implementation of partition function folding served + as a precursor to our part_func.c +Manfred Tacker hacked constrained folding into fold.c for the first time +Martin Fekete made the first attempts at "alignment folding" + +Thanks also to everyone who helped testing and finding bugs, especially +Christoph Flamm, Martijn Huynen, Baerbel Krakhofer, and many more diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/.deps/b2ct.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/.deps/b2ct.Po new file mode 100755 index 00000000..284f603c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/.deps/b2ct.Po @@ -0,0 +1,83 @@ +b2ct.o b2ct.o: b2ct.c /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/.deps/popt.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/.deps/popt.Po new file mode 100755 index 00000000..22193500 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/.deps/popt.Po @@ -0,0 +1,87 @@ +popt.o popt.o: popt.c /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/endian.h /usr/include/bits/endian.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h ../H/utils.h ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/local/lib/gcc/i686-pc-linux-gnu/3.4.1/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/Fold b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/Fold new file mode 100755 index 00000000..8e3c2124 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/Fold @@ -0,0 +1,15 @@ +#!/bin/csh -f +# This is an example script that demonstrates how to automatically convert +# seqences from databanks into a format suitable for RNAfold and pipe the +# result to RNAfold. +@ n=$#argv +if ( $n == 0 ) goto usage +if !( -f $argv[$n] ) goto nofile +readseq -f19 -pipe $argv[$n] | sed -e "/^>/\!s/[Tt]/U/g" | RNAfold $argv[1-$n] +exit +nofile: +echo "couldn't open file " $argv[$n] +usage: +echo "usage: Fold [RNAfold_options] sequence_file" +exit -1 + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/Makefile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/Makefile new file mode 100755 index 00000000..edb77d2a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/Makefile @@ -0,0 +1,457 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# Utils/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +SOURCES = b2ct.c popt.c + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/ViennaRNA +pkglibdir = $(libdir)/ViennaRNA +pkgincludedir = $(includedir)/ViennaRNA +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +pkgbin_PROGRAMS = b2ct$(EXEEXT) popt$(EXEEXT) +subdir = Utils +DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(pkgbindir)" "$(DESTDIR)$(pkgbindir)" +pkgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(pkgbin_PROGRAMS) +b2ct_SOURCES = b2ct.c +b2ct_OBJECTS = b2ct.$(OBJEXT) +b2ct_LDADD = $(LDADD) +b2ct_DEPENDENCIES = +popt_SOURCES = popt.c +popt_OBJECTS = popt.$(OBJEXT) +popt_LDADD = $(LDADD) +popt_DEPENDENCIES = +pkgbinSCRIPT_INSTALL = $(INSTALL_SCRIPT) +SCRIPTS = $(pkgbin_SCRIPTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = b2ct.c popt.c +DIST_SOURCES = b2ct.c popt.c +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run tar +AUTOCONF = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoconf +AUTOHEADER = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoheader +AUTOMAKE = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +ISODATE = 2006-06-13 +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run makeinfo +MAKE_CLUSTER_FALSE = +MAKE_CLUSTER_TRUE = # +MAKE_FORESTER_FALSE = # +MAKE_FORESTER_TRUE = +MAKE_KINFOLD_FALSE = # +MAKE_KINFOLD_TRUE = +MAKE_PERL_EXT_FALSE = # +MAKE_PERL_EXT_TRUE = +OBJEXT = o +PACKAGE = ViennaRNA +PACKAGE_BUGREPORT = rna@tbi.univie.ac.at +PACKAGE_NAME = ViennaRNA +PACKAGE_STRING = ViennaRNA 1.6 +PACKAGE_TARNAME = ViennaRNA +PACKAGE_VERSION = 1.6 +PATH_SEPARATOR = : +PerlCmd = /usr/bin/perl +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.6 +ac_ct_CC = gcc +ac_ct_RANLIB = ranlib +ac_ct_STRIP = +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +datadir = ${prefix}/share +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = RNAforester Kinfold +sysconfdir = ${prefix}/etc +target_alias = +pkgbindir = $(pkgdatadir)/bin +pscript = b2mt.pl ct2b.pl dpzoom.pl mountain.pl relplot.pl rotate_ss.pl cmount.pl colorrna.pl coloraln.pl +pkgbin_SCRIPTS = $(pscript) Fold +EXTRA_DIST = $(pscript) Fold +LDADD = -L../lib -lRNA -lm +INCLUDES = -I../H +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Utils/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Utils/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-pkgbinPROGRAMS: $(pkgbin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(pkgbindir)" || $(mkdir_p) "$(DESTDIR)$(pkgbindir)" + @list='$(pkgbin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(pkgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(pkgbindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(pkgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(pkgbindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-pkgbinPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(pkgbin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(pkgbindir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgbindir)/$$f"; \ + done + +clean-pkgbinPROGRAMS: + -test -z "$(pkgbin_PROGRAMS)" || rm -f $(pkgbin_PROGRAMS) +b2ct$(EXEEXT): $(b2ct_OBJECTS) $(b2ct_DEPENDENCIES) + @rm -f b2ct$(EXEEXT) + $(LINK) $(b2ct_LDFLAGS) $(b2ct_OBJECTS) $(b2ct_LDADD) $(LIBS) +popt$(EXEEXT): $(popt_OBJECTS) $(popt_DEPENDENCIES) + @rm -f popt$(EXEEXT) + $(LINK) $(popt_LDFLAGS) $(popt_OBJECTS) $(popt_LDADD) $(LIBS) +install-pkgbinSCRIPTS: $(pkgbin_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(pkgbindir)" || $(mkdir_p) "$(DESTDIR)$(pkgbindir)" + @list='$(pkgbin_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(pkgbinSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgbindir)/$$f'"; \ + $(pkgbinSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgbindir)/$$f"; \ + else :; fi; \ + done + +uninstall-pkgbinSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(pkgbin_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(pkgbindir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgbindir)/$$f"; \ + done + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/b2ct.Po +include ./$(DEPDIR)/popt.Po + +.c.o: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(SCRIPTS) +installdirs: + for dir in "$(DESTDIR)$(pkgbindir)" "$(DESTDIR)$(pkgbindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-pkgbinPROGRAMS mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-pkgbinPROGRAMS install-pkgbinSCRIPTS + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-pkgbinPROGRAMS \ + uninstall-pkgbinSCRIPTS + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-pkgbinPROGRAMS ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-pkgbinPROGRAMS \ + install-pkgbinSCRIPTS install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-info-am uninstall-pkgbinPROGRAMS \ + uninstall-pkgbinSCRIPTS + + +$(pscript) : Makefile + if test -n "/usr/bin/perl"; then \ + /usr/bin/perl -npi -e 's|^#!\S+|#!/usr/bin/perl|' $@ ; \ + fi +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/Makefile.am b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/Makefile.am new file mode 100755 index 00000000..fc24f708 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/Makefile.am @@ -0,0 +1,16 @@ +pkgbindir = $(pkgdatadir)/bin +pkgbin_PROGRAMS = b2ct popt + +pscript = b2mt.pl ct2b.pl dpzoom.pl mountain.pl relplot.pl rotate_ss.pl cmount.pl colorrna.pl coloraln.pl +pkgbin_SCRIPTS = $(pscript) Fold + +EXTRA_DIST = $(pscript) Fold + +LDADD = -L../lib -lRNA -lm + +INCLUDES = -I../H + +$(pscript) : Makefile + if test -n "@PerlCmd@"; then \ + @PerlCmd@ -npi -e 's|^#!\S+|#!@PerlCmd@|' $@ ; \ + fi diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/Makefile.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/Makefile.in new file mode 100755 index 00000000..bb2c57ca --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/Makefile.in @@ -0,0 +1,457 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +SOURCES = b2ct.c popt.c + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +pkgbin_PROGRAMS = b2ct$(EXEEXT) popt$(EXEEXT) +subdir = Utils +DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__installdirs = "$(DESTDIR)$(pkgbindir)" "$(DESTDIR)$(pkgbindir)" +pkgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) +PROGRAMS = $(pkgbin_PROGRAMS) +b2ct_SOURCES = b2ct.c +b2ct_OBJECTS = b2ct.$(OBJEXT) +b2ct_LDADD = $(LDADD) +b2ct_DEPENDENCIES = +popt_SOURCES = popt.c +popt_OBJECTS = popt.$(OBJEXT) +popt_LDADD = $(LDADD) +popt_DEPENDENCIES = +pkgbinSCRIPT_INSTALL = $(INSTALL_SCRIPT) +SCRIPTS = $(pkgbin_SCRIPTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = b2ct.c popt.c +DIST_SOURCES = b2ct.c popt.c +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKE_CLUSTER_FALSE = @MAKE_CLUSTER_FALSE@ +MAKE_CLUSTER_TRUE = @MAKE_CLUSTER_TRUE@ +MAKE_FORESTER_FALSE = @MAKE_FORESTER_FALSE@ +MAKE_FORESTER_TRUE = @MAKE_FORESTER_TRUE@ +MAKE_KINFOLD_FALSE = @MAKE_KINFOLD_FALSE@ +MAKE_KINFOLD_TRUE = @MAKE_KINFOLD_TRUE@ +MAKE_PERL_EXT_FALSE = @MAKE_PERL_EXT_FALSE@ +MAKE_PERL_EXT_TRUE = @MAKE_PERL_EXT_TRUE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PerlCmd = @PerlCmd@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +pkgbindir = $(pkgdatadir)/bin +pscript = b2mt.pl ct2b.pl dpzoom.pl mountain.pl relplot.pl rotate_ss.pl cmount.pl colorrna.pl coloraln.pl +pkgbin_SCRIPTS = $(pscript) Fold +EXTRA_DIST = $(pscript) Fold +LDADD = -L../lib -lRNA -lm +INCLUDES = -I../H +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Utils/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Utils/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-pkgbinPROGRAMS: $(pkgbin_PROGRAMS) + @$(NORMAL_INSTALL) + test -z "$(pkgbindir)" || $(mkdir_p) "$(DESTDIR)$(pkgbindir)" + @list='$(pkgbin_PROGRAMS)'; for p in $$list; do \ + p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ + if test -f $$p \ + ; then \ + f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " $(INSTALL_PROGRAM_ENV) $(pkgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(pkgbindir)/$$f'"; \ + $(INSTALL_PROGRAM_ENV) $(pkgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(pkgbindir)/$$f" || exit 1; \ + else :; fi; \ + done + +uninstall-pkgbinPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(pkgbin_PROGRAMS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + echo " rm -f '$(DESTDIR)$(pkgbindir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgbindir)/$$f"; \ + done + +clean-pkgbinPROGRAMS: + -test -z "$(pkgbin_PROGRAMS)" || rm -f $(pkgbin_PROGRAMS) +b2ct$(EXEEXT): $(b2ct_OBJECTS) $(b2ct_DEPENDENCIES) + @rm -f b2ct$(EXEEXT) + $(LINK) $(b2ct_LDFLAGS) $(b2ct_OBJECTS) $(b2ct_LDADD) $(LIBS) +popt$(EXEEXT): $(popt_OBJECTS) $(popt_DEPENDENCIES) + @rm -f popt$(EXEEXT) + $(LINK) $(popt_LDFLAGS) $(popt_OBJECTS) $(popt_LDADD) $(LIBS) +install-pkgbinSCRIPTS: $(pkgbin_SCRIPTS) + @$(NORMAL_INSTALL) + test -z "$(pkgbindir)" || $(mkdir_p) "$(DESTDIR)$(pkgbindir)" + @list='$(pkgbin_SCRIPTS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + if test -f $$d$$p; then \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " $(pkgbinSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgbindir)/$$f'"; \ + $(pkgbinSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgbindir)/$$f"; \ + else :; fi; \ + done + +uninstall-pkgbinSCRIPTS: + @$(NORMAL_UNINSTALL) + @list='$(pkgbin_SCRIPTS)'; for p in $$list; do \ + f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \ + echo " rm -f '$(DESTDIR)$(pkgbindir)/$$f'"; \ + rm -f "$(DESTDIR)$(pkgbindir)/$$f"; \ + done + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/b2ct.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/popt.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) $(SCRIPTS) +installdirs: + for dir in "$(DESTDIR)$(pkgbindir)" "$(DESTDIR)$(pkgbindir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-pkgbinPROGRAMS mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-pkgbinPROGRAMS install-pkgbinSCRIPTS + +install-exec-am: + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-pkgbinPROGRAMS \ + uninstall-pkgbinSCRIPTS + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-pkgbinPROGRAMS ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-man install-pkgbinPROGRAMS \ + install-pkgbinSCRIPTS install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-info-am uninstall-pkgbinPROGRAMS \ + uninstall-pkgbinSCRIPTS + + +$(pscript) : Makefile + if test -n "@PerlCmd@"; then \ + @PerlCmd@ -npi -e 's|^#!\S+|#!@PerlCmd@|' $@ ; \ + fi +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/README b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/README new file mode 100755 index 00000000..250c13b8 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/README @@ -0,0 +1,41 @@ +# -*-Text-*- +This directory contains a few scripts, you might find useful. They're not +installed by default. + +Fold automatically converts sequence files from databanks using readseq + and feeds the converted sequence to RNAfold + +b2ct.c converts the bracket notation produced by RNAfold into an '.ct' file, + as produced by Zukers mfold. + +b2mt.pl perl script that converts a secondary structure in bracket notation + into a list of x y values that can be plotted to obtain the + "mountain"-representation of an RNA secondary structure. E.g.: + RNAfold < foo.seq | b2mt.pl | xmgr -pipe + +mountain.pl + produces a generalized mountain presentation and the pre postion + entropy as a measure of well-definedness from the base pair + probabilities contained in an PostScript dotplot. E.g: + RNAfold < foo.seq; mountain.pl dot.ps | xmgr -pipe + +dpzoom.pl extract a portion of a dot plot produced by RNAfold -p + e.g.: to extract the structure of bases 7361 to 7600 from the + folding of a complete HIV sequence use + dpzoom.pl -f 7361 -l 7600 HIV_dp.ps > RRE_dp.ps + +rotate_ss.pl + rotate or flip the coordinates of an RNA secondary structure plot. + E.g. to rotate the file foo_ss.ps by 90 degrees and get a + clockwise drawing (instead of the default counter-clockwise), use + rotate_ss.pl -a 90 -m foo_ss.ps > foo90_ss.ps + +relplot.pl + add reliability information to a RNA seondary structure plot + in the form of color annotation. The script computes the + "positional entropy" S(i) = - Sum p(ij) log(p(ij)) and encodes + it as color hue, ranging from red (low entropy, well-defined) via + green to blue and violet (high entropy, ill-defined). Apart + from the secondary structure plot the dot plot containing the + pair probabilities p(ij) is needed. Use as + replot.pl foo_ss.ps foo_dp.ps > foo_rss.ps \ No newline at end of file diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/b2ct.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/b2ct.c new file mode 100755 index 00000000..5b0dc4bf --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/b2ct.c @@ -0,0 +1,152 @@ +/* Last Changed Time-stamp: <2001-09-07 10:17:47 ivo> */ +/* This program converts the bracket notation for RNA secondary structures + produced by RNAfold to .ct files used by Michael Zukers Program. + To compile enter: + cc -o b2ct b2ct.c + And use as + b2ct < structure_file > ct_file.ct + or + RNAfold < sequence_file | b2ct > ct_file.ct +*/ + +#include +#include +#include +#define MAXLENGTH 30000 + +void write_ct_file(char *fname, char *sequence, char *structure, char *name, + float energy); +short *make_pair_table(const char *structure); +void *space(unsigned size); +void nrerror(char *message); + +int main(void) +{ + char line[MAXLENGTH+1]; + char *string=NULL, *structure=NULL, *name=NULL; + float energy; + int n=0; + + while (fgets(line, MAXLENGTH, stdin)!=NULL) { + if (strcmp(line,"@")==0) break; + + switch (line[0]) { + case '>': name = (char *) space(strlen(line)); + sscanf(line,"> %s", name); + break; + case '.': + case '(': + case ')': structure = (char *) space(strlen(line)); + if (sscanf(line,"%s (%f)", structure, &energy)!=2) { + free(structure); structure=NULL; break; + } + n++; + break; + default: string = (char *) space(strlen(line)+1); + sscanf(line, "%s", string); + } + if (structure!=NULL) { + if (name==NULL) { + name = (char *) space(10); + sprintf(name,"%d",n); + } + write_ct_file("-", string, structure, name, energy); + free(string); + free(structure); + free(name); + string = structure = name = NULL; + } + } + return 0; +} + +void write_ct_file(char *fname, char *sequence, char *structure, char *name, + float energy) +{ + int i, length; + short *table; + FILE *ct; + + length = strlen(structure); + if ((table = make_pair_table(structure))==NULL) { + return; + } + if (length!=strlen(sequence)) + nrerror("sequence and structure have unequal length"); + + if (strcmp(fname,"-")==0) + ct = stdout; + else { + ct = fopen(fname, "a"); + if (ct==NULL) nrerror("can't open .ct file"); + } + + fprintf(ct, "%5d ENERGY = %7.1f %s\n", length, energy, name); + for (i=1; i<=length; i++) + fprintf(ct, "%5d %c %5d %4d %4d %4d\n", + i, sequence[i-1], i-1, (i+1)%(length+1), table[i], i); + if (strcmp(fname,"-")) + fclose(ct); + else fflush(ct); +} + +short *make_pair_table(const char *structure) +{ + /* returns array representation of structure. + table[i] is 0 if unpaired or j if (i.j) pair. */ + int i,j,hx; + int length; + short *stack; + short *table; + + length = strlen(structure); + stack = (short *) space(sizeof(short)*(length+1)); + table = (short *) space(sizeof(short)*(length+2)); + table[0] = length; + + for (hx=0, i=1; i<=length; i++) { + switch (structure[i-1]) { + case '(': + stack[hx++]=i; + break; + case ')': + j = stack[--hx]; + if (hx<0) { + fprintf(stderr, "unbalanced brackets in %s\n", structure); + free(stack); free(table); return NULL; + } + table[i]=j; + table[j]=i; + break; + default: /* unpaired base, usually '.' */ + table[i]= 0; + break; + } + } + free(stack); + if (hx!=0) { + fprintf(stderr, "unbalanced brackets %s\n", structure); + free(table); + return NULL; + } + return(table); +} + +void *space(unsigned size) +{ + void *pointer; + + if ( (pointer = (void *) calloc(1, size)) == NULL) { + fprintf(stderr,"SPACE: requested size: %d\n", size); + nrerror("SPACE allocation failure -> no memory"); + } + return pointer; +} + + +void nrerror(char *message) /* output message upon error */ +{ + fprintf(stderr, "\n%s\n", message); + exit(0); +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/b2ct.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/b2ct.o new file mode 100755 index 0000000000000000000000000000000000000000..3ddfb34c73a4878de6f093625b32451b228d4cba GIT binary patch literal 16456 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/b2mt.pl b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/b2mt.pl new file mode 100755 index 00000000..faa40f44 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/b2mt.pl @@ -0,0 +1,42 @@ +#!/usr/bin/perl -w +# -*-Perl-*- +# Last changed Time-stamp: <2005-03-09 19:38:25 ivo> +# produce Pauline's mountain representation from bracket notation +# use e.g. as RNAfold < foo.seq | b2mt | xmgr -pipe +# definition: h=number of base pairs enclosing base +use strict; +while (<>) { + print if (s/>/#/); + + next unless (/\.\.\./); + next if (/\[/); # don't process output from partition function + chop; + my @F=split(//,$_); + my $p=0; my $h=0; + foreach my $i (@F) { + $h-- if ($i eq ')'); + $p++; + printf("%4d %4d\n",$p,$h); + $h++ if ($i eq '('); # increase $h *after* printing + } + print "&\n"; +} + +=head1 NAME + +b2mt - produce coordinates for a mountain plot from bracket notation + +=head1 SYNOPSIS + + b2mt.pl < seq.fold > mountain.dat + +=head1 DESCRIPTION + +read a secondary structures in bracket notation as output by RNAfold, +and compute coordinates for a mountain plot as introduced by Pauline Hogeweg. +The output is suitable for graphing with xmgrace, e.g.: +C< RNAfold < foo.seq | b2mt.pl | xmgrace -pipe> + +=head1 AUTHOR + +Ivo L. Hofacker diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/cmount.pl b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/cmount.pl new file mode 100755 index 00000000..4cec21d8 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/cmount.pl @@ -0,0 +1,152 @@ +#!/usr/bin/perl -w +# -*-Perl-*- +# Last changed Time-stamp: <2005-11-07 13:31:34 ivo> +# Produce coloured Hogeweg mountain representation in PostScript. +# Input is a colour _dp.ps file from alidot or RNAalifold +# definition: mm[i],mp[i]=number of base pairs enclosing base i + +use strict; +use vars qw(@mm @mp @hue @sat @pair @pr); +sub usage { + die "Usage: $0 alidot.ps\n"; +} + +usage() if eof(); + +print "%!PS-Adobe-2.0 EPSF-1.2 +%%Title: Mount Ali +%%Creator: in hiding +%%BoundingBox: 66 209 518 686 +%%Pages: 1 +%%EndComments\n"; + + +print <) { + chomp; + if (/^% Subsequence from (\d+) to (\d+)/) { # get start and end + $from=$1; $to=$2; + } + if (/\/sequence \{ \((\S*)[\\\)]/) { + print "$_\n"; + $seq = $1; # empty for new version + while (!/\) \} def/) { # read until end of definition + $_ = <>; + print $_; + /(\S*)[\\\)]/; # ends either with `)' or `\' + $seq .= $1; + } + print "/len { sequence length } def\n"; + $length = length($seq); + next; + } + + next if /^%/; + next unless /[ul]box$/; + # Damn! alidot and alifold use different postscript macros. + # Try to recognize both + my ($h, $s, $blah, $i, $j, $p, $tok); + if (/ hsb /) { # alifold version + ($h, $s, $blah, $i, $j, $p, $tok) = split; + + } else { # alidot version + ($i, $j, $p, $h, $s, $tok) = split; + } + + if ($tok eq "lbox") { # only read lbox entries + $mp[$i+1]+=$p*$p; + $mp[$j] -=$p*$p; + $pair[$i] = $j; + $hue[$i] = $h; + $sat[$i] = $s; + $pr[$i] = $p*$p; + } +} +my $max=0; +$mp[0]=$mm[0]=0; +for (my $i=1; $i<=$length; $i++) { #find maximum for scaling + $mp[$i]+=$mp[$i-1]; + $max = $mp[$i] if ($mp[$i]>$max); + $mm[$i]+=$mm[$i-1]; + $max = $mp[$i] if ($mp[$i]>$max); +} + +# postscript scaleing etc +print "72 216 translate\n"; +print "/xs {72 6 mul len div} def /ys {72 6 mul $max div} def xs ys scale\n"; +print "0.03 setlinewidth +/Times-Roman findfont 1.8 scalefont setfont +0 1 len 1 sub { + dup + 0.8 add -0.5 moveto + sequence exch 1 getinterval + gsave 1 $max len div scale show grestore +} for\n\n"; + +print "/Times-Roman findfont 10 scalefont setfont +0.01 setlinewidth +len log 0.7 sub cvi 10 exch exp % grid spacing +gsave 0.5 0 translate +/temp 12 string def +0 exch len { + dup dup + 0 moveto + $max 1.03 mul lineto + cvi $from 1 sub add temp cvs centershow +} for +stroke +grestore\n"; + + +for (my $i=1; $i<=$length; $i++) { # print pairs as coloured trapezes + next unless ($pair[$i]); + print "$i $pair[$i] "; + printf "%6.4f %6.4f $hue[$i] $sat[$i] trapez\n", $mp[$i], $pr[$i] ; +} + +print "showpage\n"; + +=head1 NAME + +cmount.pl - produce a colored mountain plot of a consensus structure + +=head1 SYNOPSIS + + cmount.pl alidot.ps + +=head1 DESCRIPTION + +cmount.pl reads a color dot plot as produced by either C or C and writes a postscript colored mountain plot to +stdout. + +In the mountain plot a colored trapez with baseline from position i to +j represents the pair (i,j) in the consensus structure. The color of +the trapez encodes the sequence variation at that pair: Red marks +pairs with no sequence variation; ochre, green, turquoise, blue, and +violet mark pairs with 2,3,4,5,6 different tpyes of pairs, +respectively. + +=cut diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/coloraln.pl b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/coloraln.pl new file mode 100755 index 00000000..3a87ccbd --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/coloraln.pl @@ -0,0 +1,531 @@ +#!/usr/bin/perl -w + +use Getopt::Long; +use POSIX; +#use GD; +use strict; + +my $ssFile='alirna.ps'; +my $columnWidth=120; +my $formatT=0; +my $help=0; + +GetOptions ('-s:s' => \$ssFile, + '-c:i' => \$columnWidth, + '-t' => \$formatT, + "help"=>\$help, + "h"=>\$help, + ); + +if ($help){ + print "\ncoloraln.pl [-s structure.ps] < file.aln \n\n"; + print " -s ... RNAalifold consensus structure file (default: alirna.ps) \n"; + print " -c ... maximum number of columns in a block (default: 120)\n"; + print " -t ... print Ts (default: print Us)\n\n"; + exit(1); +} + +if (!-e $ssFile){ + print "No RNAalifold consensus secondary structure file found (use option -s with the correct filename).\n"; + exit(1); +} + +my $aln=readClustal(); + +my @ss=(); +for my $i (1..length($aln->[0]->{seq})){ + push @ss,'.'; +} + +my $consStruc=''; + +open(ALIRNA,"<$ssFile"); +my $pairsFlag=0; +my $sequenceFlag=0; +while (){ + $pairsFlag=1 if (/\/pairs/); + if ($pairsFlag and /\[(\d+) (\d+)\]/){ + $ss[$1-1]='('; + $ss[$2-1]=')'; + } + $pairsFlag=0 if ($pairsFlag and /def/); +} + +$consStruc=join('',@ss); + +for my $row (@$aln){ + $row->{seq}=uc($row->{seq}); + if ($formatT){ + $row->{seq}=~s/U/T/g; + } else { + $row->{seq}=~s/T/U/g; + } +} + + +my $consSeq=consensusSeq($aln); + +#print "$consSeq\n$consStruc\n"; + +plotAln($aln,$consSeq,$consStruc); + + + +###################################################################### +# +# consensusSeq(\@aln alnref) +# +# Returns consensus sequence of alignment +# +###################################################################### + +sub consensusSeq{ + + my @aln=@{$_[0]}; + my $out=''; + + for my $i (0..length($aln[0]->{seq})-1){ + + my %countHash=('A'=>0,'C'=>0,'G'=>0,'T'=>0,'U'=>0,'-'=>0); + #print %countHash,"\n"; + for my $j (0..$#aln){ + my $c=substr($aln[$j]->{seq},$i,1); + $countHash{$c}++; + } + #print %countHash,"\n"; + my $maxCount=0; + my $maxChar=''; + + for my $c ('A','C','G','T','U','-'){ + if ($countHash{$c}>=$maxCount){ + $maxChar=$c; + $maxCount=$countHash{$c}; + } + } + $out.=$maxChar; + } + return $out; +} + + +###################################################################### +# +# readClustal(filehandle) +# +# Reads Clustal W formatted alignment file and returns it in list of +# hash references with keys "name" and "seq" for the name and the sequence, +# resp. +# +###################################################################### + +sub readClustal{ +# my $fh=shift; + my @out=(); + my (%order, $order, %alignments); + while(<>) { + next if ( /^\s+$/ ); + my ($seqname, $aln_line) = ('', ''); + if( /^\s*(\S+)\s*\/\s*(\d+)-(\d+)\s+(\S+)\s*$/ ) { + # clustal 1.4 format + ($seqname,$aln_line) = ("$1/$2-$3",$4); + } elsif( /^(\S+)\s+([A-Z\-]+)\s*$/ ) { + ($seqname,$aln_line) = ($1,$2); + } else { + next; + } + if( !exists $order{$seqname} ) { + $order{$seqname} = $order++; + } + $alignments{$seqname} .= $aln_line; + } + + foreach my $name ( sort { $order{$a} <=> $order{$b} } keys %alignments ) { + if( $name =~ /(\S+):(\d+)-(\d+)/ ) { + (my $sname,my $start, my $end) = ($1,$2,$3); + } else { + (my $sname, my $start) = ($name,1); + my $str = $alignments{$name}; + $str =~ s/[^A-Za-z]//g; + my $end = length($str); + } + my $seq=$alignments{$name}; + push @out, {name=>$name,seq=>$seq}; + } + return [@out]; +} + +###################################################################### +# +# getPairs(\@aln alnref, $ss string) +# +# Evalutates the pairing of an alignment according to a given +# consensus secondary structure +# +# Returns list of all base pairs which is a hash with the following +# keys: +# +# open ... column in the alignment of the first base in the pair "(" +# close ... column in the alignment of the second base in the pair ")" +# all ... list of all basepairs in the different sequences in the alignment +# pairing ... list of all different pairing basepairs +# nonpairing ... list of all incompatible basepairs +# +###################################################################### + +sub getPairs{ + + my @inputAln=@{$_[0]}; + my $ss=$_[1]; + + # return nothing if there are no pairs + if (!($ss=~tr/(/(/)){ + return (); + } + + my @aln=(); + foreach my $row (@inputAln){ + my $seq=$row->{seq}; + $seq=uc($seq); + $seq=~s/T/U/g; + my @tmp=split(//,$seq); + push @aln,\@tmp; + } + my @ss=split(//,$ss); + + my @pairs=(); + my @stack=(); + + foreach my $column (0..$#ss){ + + my $currChar=$ss[$column]; + + if ($currChar eq '('){ + push @stack,$column; + } + + if ($currChar eq ')'){ + my $openedCol=pop @stack; + push @pairs,{open=>$openedCol,close=>$column}; + } + } + + @pairs=sort {$a->{open} <=> $b->{open}} @pairs; + + foreach my $i (0..$#pairs){ + #print "$i: $pairs[$i]->{open} - $pairs[$i]->{close}\n"; + + my @all=(); + my @pairing=(); + my @nonpairing=(); + + for my $j (0..$#aln){ + my $currPair=$aln[$j][$pairs[$i]->{open}].$aln[$j][$pairs[$i]->{close}]; + push @all,$currPair; + } + + for my $pair (@all){ + if (($pair eq 'AU') or + ($pair eq 'UA') or + ($pair eq 'GC') or + ($pair eq 'CG') or + ($pair eq 'UG') or + ($pair eq 'GU')){ + + push @pairing, $pair; + } elsif ($pair eq "--"){ + # do nothing + } else { + push @nonpairing,$pair; + } + } + + undef my %saw; + my @uniquePairing = grep(!$saw{$_}++, @pairing); + + $pairs[$i]->{all}=[@all]; + $pairs[$i]->{pairing}=[@uniquePairing]; + $pairs[$i]->{nonpairing}=[@nonpairing]; + } + + return @pairs; + +} + + +###################################################################### +# +# plotAln(\@aln ref-to-alignment, $consensus string, $ss string) +# +# Creates a image of the alignment with various annotations +# +# \@aln ... alignment in list of hash format +# $consensus ... consensus sequence +# $ss ... consensus secondary structure in dot bracket notation +# +# Returns png as string. +# +###################################################################### + +sub plotAln{ + + my @aln=@{$_[0]}; + my $consensus=$_[1]; + my $ss=$_[2]; + + my $ps=''; + + # Get important measures + (my $fontWidth, my $fontHeight) = (6,6); + + my $length=length($aln[0]->{seq}); + my $maxName=0; + foreach my $row (@aln){ + $maxName=length($row->{name}) if (length($row->{name})>$maxName); + } + + # Custom Sizes + my $lineStep=$fontHeight+2; # distance between lines + my $blockStep=3.5*$fontHeight; # distance between blocks + my $consStep=$fontHeight*0.5; # distance between alignment and conservation curve + my $ssStep=2; + my $nameStep=3*$fontWidth; # distance between names and sequences + my $maxConsBar=2.5*$fontHeight; # Height of conservation curve + my $startY=2; # "y origin" + my $namesX=$fontWidth; # "x origin" + my $seqsX=$namesX+$maxName*$fontWidth+$nameStep; # y-coord. where sequences start + + # Calculate width and height + + my $tmpColumns=$columnWidth; + + $tmpColumns=$length if ($length<$columnWidth); + + my $imageWidth=$namesX+($maxName+$tmpColumns)*$fontWidth+$nameStep+$fontWidth; + my $imageHeight=$startY+(ceil($length/$columnWidth))*((@aln+1)*$lineStep+$blockStep+$consStep+$ssStep); + + + + my $white="1 1 1"; + my $black="0 0 0" ; + my $grey="1 1 1"; + + my $red="0.0 1"; + my $ocre="0.16 1"; + my $green="0.32 1"; + my $turq="0.48 1"; + my $blue="0.65 1"; + my $violet="0.81 1"; + + + my $red1="0.0 0.6"; + my $ocre1="0.16 0.6"; + my $green1="0.32 0.6"; + my $turq1="0.48 0.6"; + my $blue1="0.65 0.6"; + my $violet1="0.81 0.6"; + + my $red2="0.0 0.2"; + my $ocre2="0.16 0.2"; + my $green2="0.32 0.2"; + my $turq2="0.48 0.2"; + my $blue2="0.65 0.2"; + my $violet2="0.81 0.2"; + + + my @colorMatrix=([$red,$red1,$red2], + [$ocre,$ocre1,$ocre2], + [$green,$green1,$green2], + [$turq,$turq1,$turq2], + [$blue,$blue1,$blue2], + [$violet,$violet1,$violet2]); + + my @pairs=getPairs(\@aln,$ss); + + foreach my $pair (@pairs){ + + foreach my $column ($pair->{open},$pair->{close}){ + my $block=ceil(($column+1)/$columnWidth); + my $effCol=$column-($block-1)*$columnWidth; + my $x=$seqsX+$effCol*$fontWidth; + + foreach my $row (0..$#aln){ + + my $pairing=@{$pair->{pairing}}; + my $nonpairing=@{$pair->{nonpairing}}; + + my $color; + + if ($nonpairing <=2){ + $color=$colorMatrix[$pairing-1][$nonpairing]; + + if (($pair->{all}->[$row] eq 'AU') or + ($pair->{all}->[$row] eq 'UA') or + ($pair->{all}->[$row] eq 'GC') or + ($pair->{all}->[$row] eq 'CG') or + ($pair->{all}->[$row] eq 'GU') or + ($pair->{all}->[$row] eq 'UG')){ + + my $y=$startY+($block-1)*($lineStep*(@aln+1)+$blockStep+$consStep)+$ssStep*($block)+($row+1)*$lineStep; + + my $xtmp=$x+$fontWidth; + my $ytmp1=$y-1; + my $ytmp2=$y+$fontHeight+1; + $ps.="$x $ytmp1 $xtmp $ytmp2 $color box\n"; + } + } + } + } + } + # Calculate conservation scores as (M+1)/(N+1), where M is the + # number of matches to the consensus and N is the number of + # sequences in the alignment + + my @conservation=(); # each column one score + + for my $column (0..$length-1){ + + my $consChar=substr($consensus,$column,1); + + # if consensus is gap, score=0 + if ($consChar eq "-" or $consChar eq "_"){ + push @conservation, 0; + next; + } + + my $match=0; + for my $row (0..$#aln){ + my $currChar=substr($aln[$row]->{seq},$column,1); + $match++ if ($currChar eq $consChar); + } + + my $score=($match-1)/(@aln-1); + push @conservation,$score; + } + + # Draw the alignments in chunks + my $currY=$startY; + my $currPos=0; + + while ($currPos<$length){ + + # secondary structure in first line + #$out->string($font,$seqsX,$currY,substr($ss,$currPos,$columnWidth),$black); + my $tmpSeq=substr($ss,$currPos,$columnWidth); + $tmpSeq=~s/\(/\\\(/g; + $tmpSeq=~s/\)/\\\)/g; + $ps.="($tmpSeq) $seqsX $currY string\n"; + $currY+=$lineStep+$ssStep; + + # sequences labeled only with the organism-specifier + foreach my $row (@aln){ + #$out->string($font,$namesX,$currY,$row->{name},$black); + $ps.="($row->{name}) $namesX $currY string\n"; + #$out->string($font,$seqsX,$currY,substr($row->{seq},$currPos,$columnWidth),$black); + my $tmpSeq=substr($row->{seq},$currPos,$columnWidth); + $ps.="($tmpSeq) $seqsX $currY string\n"; + $currY+=$lineStep; + } + + # conservation curve + $currY+=$consStep; + $ps .= "0.6 setgray\n"; + for my $col ($currPos..$currPos+$columnWidth-1){ + my $score=shift @conservation; + last if (!defined $score); + my $barHeight=$maxConsBar*$score; + $barHeight=1 if ($barHeight==0); + my $x=$seqsX+($col-($columnWidth*int($currPos/$columnWidth)))*$fontWidth; + # $out->filledRectangle($x,$currY+$maxConsBar-$barHeight,$x+$fontWidth,$currY+$maxConsBar,$grey); + my $ytmp1=$currY+$maxConsBar-$barHeight; + my $xtmp2=$x+$fontWidth; + my $ytmp2=$currY+$maxConsBar; + $ps .= "$x $ytmp1 $xtmp2 $ytmp2 box2\n"; + } + $currY+=$blockStep; + $currPos+=$columnWidth; + } + + my $BB="0 0 $imageWidth $imageHeight"; + + while (){ + s/!BB!/$BB/; + s/!HEIGHT!/$imageHeight/; + print; + } + print $ps; + print "showpage\n"; +} + +=head1 NAME + +coloraln.pl - colorize an alignment with consensus structure + +=head1 SYNOPSIS + + coloraln.pl [-s structure.ps] file.aln + +=head1 DESCRIPTION + +colorrna.pl reads an alignment in CLUSTAL format, and a consensus +secondary structure (which it extracts from a postscript secondary +structure plot). It produces a postscript figure of the alignment, in +which compensatory mutation supporting the consensus structure are +marked by color. The color scheme is the same employed by RNAalifold +and alidot: Red marks pairs with no sequence variation; ochre, green, +turquoise, blue, and violet mark pairs with 2,3,4,5,6 different tpyes +of pairs, respectively. + +=head1 OPTIONS + +=over 4 + +=item B<-s> I + +read I to extract the consensus structure (default: C) + +=item B<-c> I + +break alignments into blocks of at most I columns, (default: 120) + +=item B<-t> + +suppress conversion of C to C, i.e. do not convert DNA to +RNA, (default: convert to C) + +=back + +=cut + + +__DATA__ +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: !BB! +%%EndComments + +% draws Vienna RNA like colored boxes +/box { % x1 y1 x2 y2 hue saturation + gsave + dup 0.3 mul 1 exch sub sethsbcolor + exch 3 index sub exch 2 index sub rectfill + grestore +} def + +% draws a box in current color +/box2 { % x1 y1 x2 y2 + exch 3 index sub exch 2 index sub rectfill +} def + +/string { % (Text) x y + 6 add + moveto + show +} def + +0 !HEIGHT! translate +1 -1 scale +/Courier findfont +[10 0 0 -10 0 0] makefont setfont + +%100 100 106 110 0.5 0.5 1 box +%(A) 100 100 string +%(This is a string) 200 200 string diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/colorrna.pl b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/colorrna.pl new file mode 100755 index 00000000..748a9550 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/colorrna.pl @@ -0,0 +1,111 @@ +#!/usr/bin/perl -w +# -*-CPerl-*- +# Last changed Time-stamp: <2005-11-07 12:08:38 ivo> +# $Id: colorrna.pl,v 1.1 2005/11/07 12:42:27 ivo Exp $ +# colorize a secondary structure plot with reliability annotation +# from positional entropy +use strict; +use Getopt::Std; +$main::VERSION = 1.0; +$Getopt::Std::STANDARD_HELP_VERSION=1; + +our $opt_p; +getopts('p'); + +sub HELP_MESSAGE { + print STDERR "\nusage: $0 FOO_ss.ps FOO_dp.ps > FOO_css.ps\n"; + print STDERR "For more details run\n\tperldoc -F $0\n"; +} + +HELP_MESSAGE() unless $#ARGV >0; +my $macro_seen= 0; +my %mfe = (); # hash of mfe pairs +my @ss_ps = ('',''); # head and tail of the ss.ps file + +my $n = swallow_ss_ps(); # read ss plot +my %hsb = read_dp(); # read dot plot and compute entropies + +print $ss_ps[0]; # print head +if (!$macro_seen) { + print <<_E_O_F_ +/hsb { + dup 0.3 mul 1 exch sub sethsbcolor +} bind def +/colorpair { % i j hue sat colorpair + % draw basepair i,j in color + % 1 index 0.00 ne { + gsave + newpath + hsb + fsize setlinewidth + 1 sub coor exch get aload pop moveto + 1 sub coor exch get aload pop lineto + stroke + grestore + % } if +} bind def +_E_O_F_ +} +foreach my $k (keys %hsb) { + my ($i,$j) = split($;,$k); + print "$i $j ", $hsb{$k}->[0], " ", $hsb{$k}->[1]," colorpair\n"; +} +print $ss_ps[1]; # print main part +print $ss_ps[2]; # print showpage etc + +sub swallow_ss_ps { + # read the secondary structure plot + my $length=0; + my $tail=0; + while (<>) { + $macro_seen=1 if /colorpair/; + $length ++ if /^\/coor/ .. /^\] def/; + if (/^\/pairs/ .. /^\] def/) { + $mfe{$1,$2}=1 if /(\d+)\s+(\d+)/; + } + next if /\d gmark$/; + $tail++ if /^drawpairs/; + s/^drawpairs/% drawpairs/; + $tail++ if /^showpage/; + $ss_ps[$tail] .= $_; + last if eof; + } + return $length-2; +} + +sub read_dp { + # read dot plot and extract hsb values + my %hsb; + while (<>) { + next unless /lbox$/; + my @F = split; + $hsb{$F[3],$F[4]} = [$F[0], $F[1]]; + } + return %hsb; +} + +=head1 NAME + +colorrna - colorize an alirna.ps file + +=head1 SYNOPSIS + + colorrna.pl alirna.ps alidot.ps > colorRNA.ps + +=head1 DESCRIPTION + +colorrna reads an RNA secondary structure plot and a dot plot +containing pair probabilities and covariance annotation as, produced +by C, and writes a new secondary structure plot with +color annotated seqence annotation to stdout. The color annotation +is taken directly from the color dot plot file. + +=head1 AUTHOR + +Ivo L. Hofacker +Stefan Washietl + +=cut + +# End of file + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/ct2b.pl b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/ct2b.pl new file mode 100755 index 00000000..1a5ee530 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/ct2b.pl @@ -0,0 +1,27 @@ +#!/usr/bin/perl +# -*-Perl-*- +# Last changed Time-stamp: <1999-09-29 13:24:23 ivo> +# produce dot bracket notation of an RNA secondary structure from +# Zuker's .ct file + +while (<>) { + @F = split; + if ((/ = /) && ($#F!=5)) { + if (defined($seq)) { + print "$seq\n" unless ($seq eq $oldseq); + $oldseq = $seq; + print "$s ($E)\n"; + } + $E = $F[3]; + $s = $seq = ""; + next; + } + $seq .= $F[1]; + if ($F[4]==0) {$s .= "."; next} + $s .= "(" if ($F[0]<$F[4]); + $s .= ")" if ($F[0]>$F[4]); +} +print "$seq\n" unless ($seq eq $oldseq); +print "$s ($E)\n" if defined($s); + +# End of file diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/dpzoom.pl b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/dpzoom.pl new file mode 100755 index 00000000..2fd0d2d5 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/dpzoom.pl @@ -0,0 +1,46 @@ +#!/usr/bin/perl -w +# zoom into a PostScript dot plot produced by RNAfold, RNAalifold or alidot +# Last changed Time-stamp: <2003-03-24 12:47:26 ivo> +sub usage { + die "Usage: $0 [-f first] [-l last] [dp_file]\n"; +} + +$from=1; +$to = -1; +# parse command line +while ($_ = shift) { + /^-[\?h]/ && usage(); + /^-f$/ && ($from = shift, next ); + /^-l$/ && ($to = shift, next ); + unshift (@ARGV, $_); + last; +} + +usage() if eof(); + +while (<>) { + if (/\/sequence \{ \((\S*)[\\\)]/) { + $seq = $1; # empty for new version + while (!/\) \} def/) { # read until end of definition + $_ = <>; + /(\S*)[\\\)]/; # ends either with `)' or `\' + $seq .= $1; + } + if ($to>$from) { $seq=substr($seq,$from-1,$to-$from+1) } + else { $seq=substr($seq,$from-1) } + print "% Subsequence from $from to $to\n"; + print "/sequence { (\\\n"; + for ($p=0; $p$to)&&($to>0))); + $i -= ($from-1); + $j -= ($from-1); + printf "%d %d %s\n", $i, $j, $3; + } + else {print} +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/mountain.pl b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/mountain.pl new file mode 100755 index 00000000..d6c5b2d9 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/mountain.pl @@ -0,0 +1,106 @@ +#!/usr/bin/perl -w +# -*-Perl-*- +# Last changed Time-stamp: <2004-07-19 10:36:39 ivo> +# produce Pauline Hogeweg's mountain representation *_dp.ps files +# writes 3 sets of x y data separated by a "&" +# the first two sets are mountain representations from base pair probabilities +# and mfe structure, respectively. +# definition: mm[i],mp[i] = (mean) number of base pairs enclosing base i +# third set a measure of well-definedness: the entropy of the pair probs of +# base i, sp[i] = -Sum p_i * ln(p_i). Well-defined regions have low entropy. +# +# use e.g. as mountain.pl dot.ps | xmgrace -pipe + +use strict; +our (@mm, @mp, @pp, @sp, @p0, $i, $max, $length, $do_png); # perl5 only + +my $sep = "&"; # xmgr uses & to separate data sets + +if (@ARGV && ($ARGV[0] eq '-png')) { + eval "use Chart::Lines"; + die($@, + "\nCould not load the Chart::Lines module required with -png option\n") + if $@; + $do_png=1; + shift; +} + + +while (<>) { + my ($seq,$i,$j,$p,$id); + chop; + if (/\/sequence \{ \((\S*)[\\\)]/) { + $seq = $1; # empty for new version + while (!/\) \} def/) { # read until end of definition + $_ = <>; + /(\S*)[\\\)]/; # ends either with `)' or `\' + $seq .= $1; + } + $length = length($seq); + next; + } + + next unless /box$/; + ($i, $j, $p, $id) = split; + if ($id eq "ubox") { + $p *= $p; # square it to probability + $mp[$i+1] += $p; + $mp[$j] -= $p; + my $ss = $p*log($p); + $sp[$i] += $ss; + $sp[$j] += $ss; + $pp[$i] += $p; + $pp[$j] += $p; + } + if ($id eq "lbox") { + $mm[$i+1]++; + $mm[$j]--; + } +} +$mp[0] = $mm[0] = $max = 0; +for ($i=1; $i<=$length; $i++) { + no warnings; + $mp[$i]+=$mp[$i-1]; + $max = $mp[$i] if ($mp[$i]>$max); + $mm[$i]+=$mm[$i-1]; + $max = $mp[$i] if ($mp[$i]>$max); + $sp[$i] += (1-$pp[$i])*log(1-$pp[$i]); +} + +if ($do_png) { + my $width = 800; + my $height = 600; + + # FIXME: legend_lables when doing mfe only + my $skip = 10**(int (log($length)/log(10.) - 0.5)); + my $obj = Chart::Lines->new( $width, $height ); + $obj->set ('title' => $ARGV, + 'x_label' => 'Position', + 'y_label' => 'Height', + 'min_val' => 0, + 'precision' => 0, + 'legend_labels' => ['mfe', 'pf'], + 'skip_x_ticks' => $skip); + + $obj->add_dataset ((0..$length)); + + $obj->add_dataset (@mp); + $obj->add_dataset (@mm); + $obj->png("mountain.png"); + +} else { + # print the results for plotting + for ($i=1; $i<=$length; $i++) { + printf("%4d %7.5g\n", $i, $mp[$i]); + } + print "$sep\n"; + + for ($i=1; $i<=$length; $i++) { + printf("%4d %4d\n", $i, $mm[$i]); + } + print "&\n"; + my $log2 = log(2); + for ($i=1; $i<=$length; $i++) { + printf("%4d %7.5g\n", $i, -$sp[$i]/$log2); + } +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/popt b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/popt new file mode 100755 index 0000000000000000000000000000000000000000..8a8ecea419ed06a0bd4c675acf0e106fd9aa8818 GIT binary patch literal 16687 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/popt.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/popt.c new file mode 100755 index 00000000..5261faeb --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/popt.c @@ -0,0 +1,88 @@ +/* + extract Zuker's p-optimal folds from subopt output. + prints p-optimal structures followed by the list of pairs + with respect to which they are optimal + + input must be sorted by energy! + + Ivo Hofacker, Walter Fontana +*/ + +#include +#include +#include +#include "utils.h" +#define PRIVATE static +#define PUBLIC + + +PRIVATE void +help () +{ + printf ("p-optimal filter to subopt output. usage:\n" + "RNAsubopt -s < seq | popt \n"); + exit(EXIT_FAILURE); +} + +/*-------------------------------------------------------------------------*/ + +int main (int argc, char *argv[]) +{ + char *line, *sequence, *structure; + int i, j, length; + float energy; + + short *ptable; + char *pair_seen; + int *iindx; + + if (argc>1) help(); + + line = get_line (stdin); + if (*line=='>') { + free (line); + line = get_line (stdin); + } + + /* read the sequence */ + sequence = (char *) space (sizeof (char) * (strlen(line)+1)); + (void) sscanf(line, "%s", sequence); + free (line); + length = (int) strlen(sequence); + + iindx = (int *) space(sizeof(int)*(length+1)); + for (i=1; i<=length; i++) + iindx[i] = ((length+1-i)*(length-i))/2 +length+1; + pair_seen = (char *) space(((length+1)*(length+2))/2 * sizeof(char)); + + structure = (char *) space (sizeof (char) * (length+1)); + + /* get of suboptimal structures */ + + while ((line = get_line (stdin))) { + int r, popt; + + r = sscanf(line, "%s %f", structure, &energy); + free(line); + if (r==0) continue; + ptable = make_pair_table(structure); + + popt = 0; + for (i = 0; i < length; i++) { + if ((j=ptable[i])>i) + if (pair_seen[iindx[i]-j]==0) { + pair_seen[iindx[i]-j]=(char) 1; + if (popt==0) { + printf("%s %6.2f", structure, energy); + popt = 1; + } + printf(" (%d,%d)", i,j); + } + } + if (popt==1) printf("\n"); + free(ptable); + } + free(sequence); free(structure); free(iindx); free(pair_seen); + + return 0; +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/popt.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/popt.o new file mode 100755 index 0000000000000000000000000000000000000000..a5c90edf2a5d93b893bc6c758217261fb73d0c63 GIT binary patch literal 5708 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/relplot.pl b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/relplot.pl new file mode 100755 index 00000000..94811753 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/relplot.pl @@ -0,0 +1,184 @@ +#!/usr/bin/perl -w +# -*-CPerl-*- +# Last changed Time-stamp: <2005-03-09 19:45:55 ivo> +# $Id: relplot.pl,v 1.7 2005/11/07 12:40:46 ivo Exp $ +# colorize a secondary structure plot with reliability annotation +# from positional entropy +use strict; +use Getopt::Std; +$main::VERSION = 1.3; +$Getopt::Std::STANDARD_HELP_VERSION=1; + +our $opt_p; +getopts('p'); + +sub HELP_MESSAGE { + print STDERR "\nusage: $0 [-p] FOO_ss.ps FOO_dp.ps > FOO_rss.ps\n"; + print STDERR "For more details run\n\tperldoc -F $0\n"; +} + +HELP_MESSAGE() unless $#ARGV >0; +my $macro_seen= 0; +my %mfe = (); # hash of mfe pairs +my @ss_ps = ('',''); # head and tail of the ss.ps file + +my $n = swallow_ss_ps(); # read ss plot +my @sp = posent(); # read dot plot and compute entropies +my $Smax = $opt_p ? 1 : 0; +if (!$opt_p) { + foreach (@sp) { + $Smax = $_ if $_>$Smax; + } + $Smax = ($Smax>0.2) ? sprintf("%3.1f", $Smax) : 0.2 ; + +} +print $ss_ps[0]; # print head +if (!$macro_seen) { + print <<_E_O_F_ +/range 0.8 def +/drawreliability { + /Smax $Smax def + 0 + coor { + aload pop + S 3 index get + Smax div range mul + invert {range exch sub} if + 1 1 sethsbcolor + newpath + fsize 2 div 0 360 arc + fill + 1 add + } forall +} bind def +/colorbar { % xloc yloc colorbar -> [] + /STR 8 string def + gsave + xmin xmax add size sub 2 div + ymin ymax add size sub 2 div translate + size dup scale + translate + 0.015 dup scale + /tics 64 def + gsave + 10 tics div 1 scale + 0 1 tics + { + dup 0 moveto 0.5 add + tics div range mul + invert {range exch sub} if + 1 1 sethsbcolor + 1 0 rlineto 0 1 rlineto -1 0 rlineto closepath fill + } for + grestore + 0 setgray + -0.1 1.01 moveto (0) gsave 0.1 dup scale show grestore + 10 1.01 moveto Smax STR cvs + gsave 0.1 dup scale dup stringwidth pop -2 div 0 rmoveto show grestore + grestore +} bind def +_E_O_F_ +} +print "/S [\n"; +foreach (@sp) { + printf " %7.5f\n", $_; +} +print "] def\n\n"; +print "/invert ", $opt_p ? 'true' : 'false', " def\n"; +print "drawreliability\n"; +print "0.1 0.1 colorbar\n"; +print $ss_ps[1]; # print tail + +sub swallow_ss_ps { + # read the secondary structure plot + my $length=0; + my $tail=0; + while (<>) { + $macro_seen=1 if /drawreliability /; + $length ++ if /^\/coor/ .. /^\] def/; + if (/^\/pairs/ .. /^\] def/) { + $mfe{$1,$2}=1 if /(\d+)\s+(\d+)/; + } + $tail=1 if /^drawoutline/; + $ss_ps[$tail] .= $_; + last if eof; + } + return $length-2; +} + +sub posent { + # compute positional entropy from pair probs in the dot plot file + # or, with $opt_p, find pair probs corresponding to mfe pairs + my @pp; + my @sp; + while (<>) { + my ($i, $j, $p, $id) = split; + next unless defined $id && $id eq 'ubox'; + $p *= $p; + if ($opt_p) { + $sp[$i] = $sp[$j] = $p if exists $mfe{$i,$j}; + } else { + my $ss = $p*log($p); + $sp[$i] += $ss; + $sp[$j] += $ss; + } + $pp[$i] += $p; + $pp[$j] += $p; + } + my $log2 = log(2); + for my $i (1..$n) { + no warnings; # $p[$i] may be undef + if ($opt_p) { + $sp[$i] = 1-$pp[$i] if !defined $sp[$i]; + } else { + $sp[$i] += (1-$pp[$i])*log(1-$pp[$i]); + $sp[$i] /= -$log2; + } + } + shift @sp; # get rid of [0] entry + return @sp; +} + +=head1 NAME + +relplot - annotate a secdonary structure plot with reliability information + +=head1 SYNOPSIS + + relplot [-p] file_ss.ps file_dp.ps > file_rss.ps + +=head1 DESCRIPTION + +relplot reads an RNA secondary structure plot and a dot plot +containing pair probabilities, as produces by C, and +writes a new secondary structure with reliability annotation to +stdout. The anotation is used to colorize the plot and can use either +"positional entropy" (default), or pair probabilities (with -p). + +Positional entropies are computed from the pair probabilities as +C. Low entropy regions have little +structural flexibility and the reliability of the predicted structure +is high. High entropy implies many structural alternatives. While +these alternatives may be functionally important, they make structure +prediction more difficult and thus less reliable. + +If the -p switch is given, the script colors base pairs by their pair +probability, unpaired bases use the probability of being unpaired. + +Entropy (repsectively probability) is encoded as color hue, ranging +from red for low entropy, well-defined regions, (high probability +pairs) via yellow and green to blue and violet for regions with very +high entropy (low probability). + +You may have to manually move the color legend to a convenient +position. Just edit the postscript file and change the two numbers in the +line reading C<0.1 0.1 colobar>. Or delete the line to remove the legend. + +=head1 AUTHOR + +Ivo L. Hofacker + +=cut + +# End of file + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/rotate_ss.pl b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/rotate_ss.pl new file mode 100755 index 00000000..7e7f60ed --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Utils/rotate_ss.pl @@ -0,0 +1,138 @@ +#!/usr/bin/perl -w +# -*-Perl-*- +# Last changed Time-stamp: <2004-08-09 16:50:14 ivo> +# $Id: rotate_ss.pl,v 1.3 2004/08/10 08:54:05 ivo Exp $ + +use Getopt::Long; +use strict; +use vars qw/$ss_ps $opt_a $opt_m/; +use constant PI => 3.14159265; + +my $ss_ps = { Header => [], + Coords => [], + BPairs => [], + Tailer => [] }; +$opt_a = 0; +usage() unless GetOptions("a=i" => \$opt_a, "m"); + +swallow_ss_ps(); +my $ar = to_Array($ss_ps->{Coords}); +my $mp = get_Midpt($ar); +$ar = flip_Array($mp, $ar) if $opt_m; +$ar = rot_Array($mp, $ar) if $opt_a; +print_ss_ps($ar); + +#--- +sub usage { + printf STDERR "\nusage: $0 [-a ANGLE] [-m] FOO_ss.ps > BAR_ss.ps\n"; + exit(1); +} + +#--- +sub swallow_ss_ps { + local $_; + my $toggle = 0; + + while (<>) { + $toggle = 1 if m/^\/coor/; + push @{$ss_ps->{Header}}, $_ if $toggle == 0; + push @{$ss_ps->{Coords}}, $_ if $toggle == 1; + push @{$ss_ps->{BPairs}}, $_ if $toggle == 2; + push @{$ss_ps->{Tailer}}, $_ if $toggle > 2; + $toggle++ if m/\]\s+def/; + } +} + +#--- +sub to_Array { + my $aref = shift; + return [ map {chomp; s/\[//; s/\]//; [split] } @$aref[$[+1 .. $#$aref-1] ]; +} + +#--- +sub get_Midpt { + local $_; + my $aref = shift; + my ($xl, $yl, $xu, $yu) = ( 100000, 100000, -100000, -100000 ); + for ( @$aref ) { + $xl = ($_->[0] < $xl) ? $_->[0] : $xl; + $yl = ($_->[1] < $yl) ? $_->[1] : $yl; + $xu = ($_->[0] > $xu) ? $_->[0] : $xu; + $yu = ($_->[1] > $yu) ? $_->[1] : $yu; + } + return [($xl+$xu)/2, ($yl+$yu)/2, $xl, $yl, $xu, $yu]; +} + +#--- +sub rot_Array { + my ($mp, $ar) = @_; + my $a = $opt_a/360*2*PI; + my ($ca, $sa) = (cos($a), sin($a)); + return + [ + map { [ ($ca*($_->[0]-$mp->[0]) + (-$sa*($_->[1]-$mp->[1])))+$mp->[0], + ($sa*($_->[0]-$mp->[0]) + $ca*($_->[1]-$mp->[1])) +$mp->[1] + ] } @$ar ]; +} +#--- +sub flip_Array { + my ($mp, $ar) = @_; + return + [ map { [ ($mp->[0]-$_->[0]), $_->[1]] } @$ar ]; +} + +#--- +sub print_ss_ps { + local $_; + my $ar = shift; + for (qw/Header Coords BPairs Tailer/) { + if ($_ eq 'Coords') { + print "/coor [\n"; + for my $xy (@$ar) { + print sprintf("[%7.3f %7.3f]\n", $xy->[0], $xy->[1]); + } + print "] def\n"; + next; + } + print join "", @{$ss_ps->{$_}}; + } +} + +=head1 NAME + +rotate_ss - rotate or mirror coordinates of secondary structure plot + +=head1 SYNOPSIS + + rotate_ss.pl [-a angle] [-m] old_ss.ps > new_ss.ps + +=head1 DESCRIPTION + +B reads a PostScript RNA secondary structure plot, as +produced by B or B, rotates and/or mirrors the +coordinates, and writes the new plot to STDOUT. + +=head1 OPTIONS + +=over 4 + +=item B<-a> I + +Rotate the plot counter-clockwise by I degrees. + +=item B<-m> + +Mirror the coordinates in the plot, i.e. convert from a +couter-clockwise to clockwise layout. Note that, if both B<-m> and +B<-a> are given, the plot is first mirrored, then rotated. + +=back + +=head1 AUTHORS + +Ivo L. Hofacker , +Christoph Flamm + +=cut + +__END__ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/ViennaRNA.spec b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/ViennaRNA.spec new file mode 100755 index 00000000..98c633d5 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/ViennaRNA.spec @@ -0,0 +1,95 @@ +# barriers.spec +# +# Copyright (c) 2001 Ivo Hofacker, Peter Stadler, ivo@tbi.univie.ac.at +# +%define name ViennaRNA +%define version 1.6 +%define release 1 +%define manifest %{_builddir}/%{name}-%{version}-%{release}.manifest + +# required items +Name: %{name} +Version: %{version} +Release: %{release} +Copyright: GPL +Group: Application/Misc + +# optional items +Vendor: Ivo Hofacker, Peter Stadler, TBI +#Distribution: +#Icon: +URL: http://www.tbi.univie.ac.at/~ivo/RNA/ +Packager: Ivo Hofacker, ivo@tbi.univie.ac.at + +# source + patches +Source: %{name}-%{version}.tar.gz +#Source1: +#Patch: +#Patch1: + +# RPM info +Provides: libRNA.a +#Requires: +#Conflicts: +#Prereq: + +#Prefix: /usr +BuildRoot: /var/tmp/%{name}-%{version} + +Summary: RNA secondary structure prediction and analysis. + +%description +The ViennaRNA package consists of a library and several standalone +programs for RNA secondary structure analysis. It includes algorithms +for predicting optimal and suboptimal secondary structures, base pair +probabilities and partition functions, for comparing secondary +structures, and the design of RNA sequences with a desired structure. + + +%prep +%setup -q +#%patch0 -p1 + +%build +%configure +make + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT +%makeinstall + +# __os_install_post is implicitly expanded after the +# %install section... do it now, and then disable it, +# so all work is done before building manifest. + +%{?__os_install_post} +%define __os_install_post %{nil} + +# build the file list automagically into %{manifest} + +cd $RPM_BUILD_ROOT +rm -f %{manifest} +find . -type d \ + | sed '1,2d;s,^\.,\%attr(-\,root\,root) \%dir ,' >> %{manifest} +find . -type f \ + | sed 's,^\.,\%attr(-\,root\,root) ,' >> %{manifest} +find . -type l \ + | sed 's,^\.,\%attr(-\,root\,root) ,' >> %{manifest} + +#%pre +#%post +#%preun +#%postun + +%clean +rm -f %{manifest} +rm -rf $RPM_BUILD_ROOT + +%files -f %{manifest} +%defattr(-,root,root) +#%doc README +#%docdir +#%config + +%changelog diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/ViennaRNA.spec.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/ViennaRNA.spec.in new file mode 100755 index 00000000..5a20604d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/ViennaRNA.spec.in @@ -0,0 +1,95 @@ +# barriers.spec +# +# Copyright (c) 2001 Ivo Hofacker, Peter Stadler, ivo@tbi.univie.ac.at +# +%define name ViennaRNA +%define version @VERSION@ +%define release 1 +%define manifest %{_builddir}/%{name}-%{version}-%{release}.manifest + +# required items +Name: %{name} +Version: %{version} +Release: %{release} +Copyright: GPL +Group: Application/Misc + +# optional items +Vendor: Ivo Hofacker, Peter Stadler, TBI +#Distribution: +#Icon: +URL: http://www.tbi.univie.ac.at/~ivo/RNA/ +Packager: Ivo Hofacker, ivo@tbi.univie.ac.at + +# source + patches +Source: %{name}-%{version}.tar.gz +#Source1: +#Patch: +#Patch1: + +# RPM info +Provides: libRNA.a +#Requires: +#Conflicts: +#Prereq: + +#Prefix: /usr +BuildRoot: /var/tmp/%{name}-%{version} + +Summary: RNA secondary structure prediction and analysis. + +%description +The ViennaRNA package consists of a library and several standalone +programs for RNA secondary structure analysis. It includes algorithms +for predicting optimal and suboptimal secondary structures, base pair +probabilities and partition functions, for comparing secondary +structures, and the design of RNA sequences with a desired structure. + + +%prep +%setup -q +#%patch0 -p1 + +%build +%configure +make + +%install +rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT +%makeinstall + +# __os_install_post is implicitly expanded after the +# %install section... do it now, and then disable it, +# so all work is done before building manifest. + +%{?__os_install_post} +%define __os_install_post %{nil} + +# build the file list automagically into %{manifest} + +cd $RPM_BUILD_ROOT +rm -f %{manifest} +find . -type d \ + | sed '1,2d;s,^\.,\%attr(-\,root\,root) \%dir ,' >> %{manifest} +find . -type f \ + | sed 's,^\.,\%attr(-\,root\,root) ,' >> %{manifest} +find . -type l \ + | sed 's,^\.,\%attr(-\,root\,root) ,' >> %{manifest} + +#%pre +#%post +#%preun +#%postun + +%clean +rm -f %{manifest} +rm -rf $RPM_BUILD_ROOT + +%files -f %{manifest} +%defattr(-,root,root) +#%doc README +#%docdir +#%config + +%changelog diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/aclocal.m4 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/aclocal.m4 new file mode 100755 index 00000000..36033f6d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/aclocal.m4 @@ -0,0 +1,878 @@ +# generated automatically by aclocal 1.9.5 -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005 Free Software Foundation, Inc. +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_AUTOMAKE_VERSION(VERSION) +# ---------------------------- +# Automake X.Y traces this macro to ensure aclocal.m4 has been +# generated from the m4 files accompanying Automake X.Y. +AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"]) + +# AM_SET_CURRENT_AUTOMAKE_VERSION +# ------------------------------- +# Call AM_AUTOMAKE_VERSION so it can be traced. +# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], + [AM_AUTOMAKE_VERSION([1.9.5])]) + +# AM_AUX_DIR_EXPAND -*- Autoconf -*- + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets +# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to +# `$srcdir', `$srcdir/..', or `$srcdir/../..'. +# +# Of course, Automake must honor this variable whenever it calls a +# tool from the auxiliary directory. The problem is that $srcdir (and +# therefore $ac_aux_dir as well) can be either absolute or relative, +# depending on how configure is run. This is pretty annoying, since +# it makes $ac_aux_dir quite unusable in subdirectories: in the top +# source directory, any form will work fine, but in subdirectories a +# relative path needs to be adjusted first. +# +# $ac_aux_dir/missing +# fails when called from a subdirectory if $ac_aux_dir is relative +# $top_srcdir/$ac_aux_dir/missing +# fails if $ac_aux_dir is absolute, +# fails when called from a subdirectory in a VPATH build with +# a relative $ac_aux_dir +# +# The reason of the latter failure is that $top_srcdir and $ac_aux_dir +# are both prefixed by $srcdir. In an in-source build this is usually +# harmless because $srcdir is `.', but things will broke when you +# start a VPATH build or use an absolute $srcdir. +# +# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, +# iff we strip the leading $srcdir from $ac_aux_dir. That would be: +# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` +# and then we would define $MISSING as +# MISSING="\${SHELL} $am_aux_dir/missing" +# This will work as long as MISSING is not called from configure, because +# unfortunately $(top_srcdir) has no meaning in configure. +# However there are other variables, like CC, which are often used in +# configure, and could therefore not use this "fixed" $ac_aux_dir. +# +# Another solution, used here, is to always expand $ac_aux_dir to an +# absolute PATH. The drawback is that using absolute paths prevent a +# configured tree to be moved without reconfiguration. + +AC_DEFUN([AM_AUX_DIR_EXPAND], +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` +]) + +# AM_CONDITIONAL -*- Autoconf -*- + +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 7 + +# AM_CONDITIONAL(NAME, SHELL-CONDITION) +# ------------------------------------- +# Define a conditional. +AC_DEFUN([AM_CONDITIONAL], +[AC_PREREQ(2.52)dnl + ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], + [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl +AC_SUBST([$1_TRUE]) +AC_SUBST([$1_FALSE]) +if $2; then + $1_TRUE= + $1_FALSE='#' +else + $1_TRUE='#' + $1_FALSE= +fi +AC_CONFIG_COMMANDS_PRE( +[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then + AC_MSG_ERROR([[conditional "$1" was never defined. +Usually this means the macro was only invoked conditionally.]]) +fi])]) + + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 8 + +# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be +# written in clear, in which case automake, when reading aclocal.m4, +# will think it sees a *use*, and therefore will trigger all it's +# C support machinery. Also note that it means that autoscan, seeing +# CC etc. in the Makefile, will ask for an AC_PROG_CC use... + + +# _AM_DEPENDENCIES(NAME) +# ---------------------- +# See how the compiler implements dependency checking. +# NAME is "CC", "CXX", "GCJ", or "OBJC". +# We try a few techniques and use that to set a single cache variable. +# +# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was +# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular +# dependency, and given that the user is not expected to run this macro, +# just rely on AC_PROG_CC. +AC_DEFUN([_AM_DEPENDENCIES], +[AC_REQUIRE([AM_SET_DEPDIR])dnl +AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl +AC_REQUIRE([AM_MAKE_INCLUDE])dnl +AC_REQUIRE([AM_DEP_TRACK])dnl + +ifelse([$1], CC, [depcc="$CC" am_compiler_list=], + [$1], CXX, [depcc="$CXX" am_compiler_list=], + [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], + [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], + [depcc="$$1" am_compiler_list=]) + +AC_CACHE_CHECK([dependency style of $depcc], + [am_cv_$1_dependencies_compiler_type], +[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_$1_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_$1_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_$1_dependencies_compiler_type=none +fi +]) +AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) +AM_CONDITIONAL([am__fastdep$1], [ + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) +]) + + +# AM_SET_DEPDIR +# ------------- +# Choose a directory name for dependency files. +# This macro is AC_REQUIREd in _AM_DEPENDENCIES +AC_DEFUN([AM_SET_DEPDIR], +[AC_REQUIRE([AM_SET_LEADING_DOT])dnl +AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl +]) + + +# AM_DEP_TRACK +# ------------ +AC_DEFUN([AM_DEP_TRACK], +[AC_ARG_ENABLE(dependency-tracking, +[ --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors]) +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi +AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) +AC_SUBST([AMDEPBACKSLASH]) +]) + +# Generate code to set up dependency tracking. -*- Autoconf -*- + +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +#serial 3 + +# _AM_OUTPUT_DEPENDENCY_COMMANDS +# ------------------------------ +AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], +[for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`AS_DIRNAME("$mf")` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`AS_DIRNAME(["$file"])` + AS_MKDIR_P([$dirpart/$fdir]) + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done +])# _AM_OUTPUT_DEPENDENCY_COMMANDS + + +# AM_OUTPUT_DEPENDENCY_COMMANDS +# ----------------------------- +# This macro should only be invoked once -- use via AC_REQUIRE. +# +# This code is only required when automatic dependency tracking +# is enabled. FIXME. This creates each `.P' file that we will +# need in order to bootstrap the dependency handling code. +AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], +[AC_CONFIG_COMMANDS([depfiles], + [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], + [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) +]) + + +# Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +AC_DEFUN([AM_WITH_DMALLOC], +[AC_MSG_CHECKING([if malloc debugging is wanted]) +AC_ARG_WITH(dmalloc, +[ --with-dmalloc use dmalloc, as in + http://www.dmalloc.com/dmalloc.tar.gz], +[if test "$withval" = yes; then + AC_MSG_RESULT(yes) + AC_DEFINE(WITH_DMALLOC,1, + [Define if using the dmalloc debugging malloc package]) + LIBS="$LIBS -ldmalloc" + LDFLAGS="$LDFLAGS -g" +else + AC_MSG_RESULT(no) +fi], [AC_MSG_RESULT(no)]) +]) + +AU_DEFUN([fp_WITH_DMALLOC], [AM_WITH_DMALLOC]) + +# Do all the work for Automake. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 12 + +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. + +# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) +# AM_INIT_AUTOMAKE([OPTIONS]) +# ----------------------------------------------- +# The call with PACKAGE and VERSION arguments is the old style +# call (pre autoconf-2.50), which is being phased out. PACKAGE +# and VERSION should now be passed to AC_INIT and removed from +# the call to AM_INIT_AUTOMAKE. +# We support both call styles for the transition. After +# the next Automake release, Autoconf can make the AC_INIT +# arguments mandatory, and then we can depend on a new Autoconf +# release and drop the old call support. +AC_DEFUN([AM_INIT_AUTOMAKE], +[AC_PREREQ([2.58])dnl +dnl Autoconf wants to disallow AM_ names. We explicitly allow +dnl the ones we care about. +m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl +AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl +AC_REQUIRE([AC_PROG_INSTALL])dnl +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi +AC_SUBST([CYGPATH_W]) + +# Define the identity of the package. +dnl Distinguish between old-style and new-style calls. +m4_ifval([$2], +[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl + AC_SUBST([PACKAGE], [$1])dnl + AC_SUBST([VERSION], [$2])], +[_AM_SET_OPTIONS([$1])dnl + AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl + AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl + +_AM_IF_OPTION([no-define],, +[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) + AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl + +# Some tools Automake needs. +AC_REQUIRE([AM_SANITY_CHECK])dnl +AC_REQUIRE([AC_ARG_PROGRAM])dnl +AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) +AM_MISSING_PROG(AUTOCONF, autoconf) +AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) +AM_MISSING_PROG(AUTOHEADER, autoheader) +AM_MISSING_PROG(MAKEINFO, makeinfo) +AM_PROG_INSTALL_SH +AM_PROG_INSTALL_STRIP +AC_REQUIRE([AM_PROG_MKDIR_P])dnl +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([AC_PROG_MAKE_SET])dnl +AC_REQUIRE([AM_SET_LEADING_DOT])dnl +_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], + [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], + [_AM_PROG_TAR([v7])])]) +_AM_IF_OPTION([no-dependencies],, +[AC_PROVIDE_IFELSE([AC_PROG_CC], + [_AM_DEPENDENCIES(CC)], + [define([AC_PROG_CC], + defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl +AC_PROVIDE_IFELSE([AC_PROG_CXX], + [_AM_DEPENDENCIES(CXX)], + [define([AC_PROG_CXX], + defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl +]) +]) + + +# When config.status generates a header, we must update the stamp-h file. +# This file resides in the same directory as the config header +# that is generated. The stamp files are numbered to have different names. + +# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the +# loop where config.status creates the headers, so we can generate +# our stamp files there. +AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], +[# Compute $1's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $1 | $1:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_SH +# ------------------ +# Define $install_sh. +AC_DEFUN([AM_PROG_INSTALL_SH], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +install_sh=${install_sh-"$am_aux_dir/install-sh"} +AC_SUBST(install_sh)]) + +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# Check whether the underlying file-system supports filenames +# with a leading dot. For instance MS-DOS doesn't. +AC_DEFUN([AM_SET_LEADING_DOT], +[rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null +AC_SUBST([am__leading_dot])]) + +# Check to see how 'make' treats includes. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# AM_MAKE_INCLUDE() +# ----------------- +# Check to see how make treats includes. +AC_DEFUN([AM_MAKE_INCLUDE], +[am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +AC_MSG_CHECKING([for style of include used by $am_make]) +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi +AC_SUBST([am__include]) +AC_SUBST([am__quote]) +AC_MSG_RESULT([$_am_result]) +rm -f confinc confmf +]) + +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- + +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_MISSING_PROG(NAME, PROGRAM) +# ------------------------------ +AC_DEFUN([AM_MISSING_PROG], +[AC_REQUIRE([AM_MISSING_HAS_RUN]) +$1=${$1-"${am_missing_run}$2"} +AC_SUBST($1)]) + + +# AM_MISSING_HAS_RUN +# ------------------ +# Define MISSING if not defined so far and test if it supports --run. +# If it does, set am_missing_run to use it, otherwise, to nothing. +AC_DEFUN([AM_MISSING_HAS_RUN], +[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + AC_MSG_WARN([`missing' script is too old or missing]) +fi +]) + +# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_MKDIR_P +# --------------- +# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. +# +# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories +# created by `make install' are always world readable, even if the +# installer happens to have an overly restrictive umask (e.g. 077). +# This was a mistake. There are at least two reasons why we must not +# use `-m 0755': +# - it causes special bits like SGID to be ignored, +# - it may be too restrictive (some setups expect 775 directories). +# +# Do not use -m 0755 and let people choose whatever they expect by +# setting umask. +# +# We cannot accept any implementation of `mkdir' that recognizes `-p'. +# Some implementations (such as Solaris 8's) are not thread-safe: if a +# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c' +# concurrently, both version can detect that a/ is missing, but only +# one can create it and the other will error out. Consequently we +# restrict ourselves to GNU make (using the --version option ensures +# this.) +AC_DEFUN([AM_PROG_MKDIR_P], +[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi +AC_SUBST([mkdir_p])]) + +# Helper functions for option handling. -*- Autoconf -*- + +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 3 + +# _AM_MANGLE_OPTION(NAME) +# ----------------------- +AC_DEFUN([_AM_MANGLE_OPTION], +[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) + +# _AM_SET_OPTION(NAME) +# ------------------------------ +# Set option NAME. Presently that only means defining a flag for this option. +AC_DEFUN([_AM_SET_OPTION], +[m4_define(_AM_MANGLE_OPTION([$1]), 1)]) + +# _AM_SET_OPTIONS(OPTIONS) +# ---------------------------------- +# OPTIONS is a space-separated list of Automake options. +AC_DEFUN([_AM_SET_OPTIONS], +[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) + +# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) +# ------------------------------------------- +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +AC_DEFUN([_AM_IF_OPTION], +[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) + +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 4 + +# AM_SANITY_CHECK +# --------------- +AC_DEFUN([AM_SANITY_CHECK], +[AC_MSG_CHECKING([whether build environment is sane]) +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$[*]" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$[*]" != "X $srcdir/configure conftest.file" \ + && test "$[*]" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken +alias in your environment]) + fi + + test "$[2]" = conftest.file + ) +then + # Ok. + : +else + AC_MSG_ERROR([newly created file is older than distributed files! +Check your system clock]) +fi +AC_MSG_RESULT(yes)]) + +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# AM_PROG_INSTALL_STRIP +# --------------------- +# One issue with vendor `install' (even GNU) is that you can't +# specify the program used to strip binaries. This is especially +# annoying in cross-compiling environments, where the build's strip +# is unlikely to handle the host's binaries. +# Fortunately install-sh will honor a STRIPPROG variable, so we +# always use install-sh in `make install-strip', and initialize +# STRIPPROG with the value of the STRIP variable (set by the user). +AC_DEFUN([AM_PROG_INSTALL_STRIP], +[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +dnl Don't test for $cross_compiling = yes, because it might be `maybe'. +if test "$cross_compiling" != no; then + AC_CHECK_TOOL([STRIP], [strip], :) +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" +AC_SUBST([INSTALL_STRIP_PROGRAM])]) + +# Check how to create a tarball. -*- Autoconf -*- + +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 2 + +# _AM_PROG_TAR(FORMAT) +# -------------------- +# Check how to create a tarball in format FORMAT. +# FORMAT should be one of `v7', `ustar', or `pax'. +# +# Substitute a variable $(am__tar) that is a command +# writing to stdout a FORMAT-tarball containing the directory +# $tardir. +# tardir=directory && $(am__tar) > result.tar +# +# Substitute a variable $(am__untar) that extract such +# a tarball read from stdin. +# $(am__untar) < result.tar +AC_DEFUN([_AM_PROG_TAR], +[# Always define AMTAR for backward compatibility. +AM_MISSING_PROG([AMTAR], [tar]) +m4_if([$1], [v7], + [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [m4_case([$1], [ustar],, [pax],, + [m4_fatal([Unknown tar format])]) +AC_MSG_CHECKING([how to create a $1 tar archive]) +# Loop over all known methods to create a tar archive until one works. +_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' +_am_tools=${am_cv_prog_tar_$1-$_am_tools} +# Do not fold the above two line into one, because Tru64 sh and +# Solaris sh will not grok spaces in the rhs of `-'. +for _am_tool in $_am_tools +do + case $_am_tool in + gnutar) + for _am_tar in tar gnutar gtar; + do + AM_RUN_LOG([$_am_tar --version]) && break + done + am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' + am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' + am__untar="$_am_tar -xf -" + ;; + plaintar) + # Must skip GNU tar: if it does not support --format= it doesn't create + # ustar tarball either. + (tar --version) >/dev/null 2>&1 && continue + am__tar='tar chf - "$$tardir"' + am__tar_='tar chf - "$tardir"' + am__untar='tar xf -' + ;; + pax) + am__tar='pax -L -x $1 -w "$$tardir"' + am__tar_='pax -L -x $1 -w "$tardir"' + am__untar='pax -r' + ;; + cpio) + am__tar='find "$$tardir" -print | cpio -o -H $1 -L' + am__tar_='find "$tardir" -print | cpio -o -H $1 -L' + am__untar='cpio -i -H $1 -d' + ;; + none) + am__tar=false + am__tar_=false + am__untar=false + ;; + esac + + # If the value was cached, stop now. We just wanted to have am__tar + # and am__untar set. + test -n "${am_cv_prog_tar_$1}" && break + + # tar/untar a dummy directory, and stop if the command works + rm -rf conftest.dir + mkdir conftest.dir + echo GrepMe > conftest.dir/file + AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) + rm -rf conftest.dir + if test -s conftest.tar; then + AM_RUN_LOG([$am__untar /dev/null 2>&1 && break + fi +done +rm -rf conftest.dir + +AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) +AC_MSG_RESULT([$am_cv_prog_tar_$1])]) +AC_SUBST([am__tar]) +AC_SUBST([am__untar]) +]) # _AM_PROG_TAR + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.guess b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.guess new file mode 100755 index 00000000..6be7a693 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.guess @@ -0,0 +1,1450 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +timestamp='2004-08-11' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Per Bothner . +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# This script attempts to guess a canonical system name similar to +# config.sub. If it succeeds, it prints the system name on stdout, and +# exits with 0. Otherwise, it exits with 1. +# +# The plan is that this can be called by configure scripts if you +# don't specify an explicit build system type. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep __ELF__ >/dev/null + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit 0 ;; + amd64:OpenBSD:*:*) + echo x86_64-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + amiga:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + arc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + cats:OpenBSD:*:*) + echo arm-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + hp300:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + luna88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mac68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + macppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme68k:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvme88k:OpenBSD:*:*) + echo m88k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + mvmeppc:OpenBSD:*:*) + echo powerpc-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + pmax:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sgi:OpenBSD:*:*) + echo mipseb-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + sun3:OpenBSD:*:*) + echo m68k-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + wgrisc:OpenBSD:*:*) + echo mipsel-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:OpenBSD:*:*) + echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit 0 ;; + macppc:MirBSD:*:*) + echo powerppc-unknown-mirbsd${UNAME_RELEASE} + exit 0 ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit 0 ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit 0 ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit 0 ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit 0 ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit 0;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit 0 ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit 0 ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit 0 ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit 0 ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit 0;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit 0;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit 0 ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit 0 ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit 0 ;; + DRS?6000:UNIX_SV:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7 && exit 0 ;; + esac ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + i86pc:SunOS:5.*:*) + echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit 0 ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit 0 ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit 0 ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit 0 ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit 0 ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit 0 ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit 0 ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit 0 ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit 0 ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit 0 ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit 0 ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit 0 ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c \ + && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ + && exit 0 + echo mips-mips-riscos${UNAME_RELEASE} + exit 0 ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit 0 ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit 0 ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit 0 ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit 0 ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit 0 ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit 0 ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit 0 ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit 0 ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit 0 ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit 0 ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit 0 ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit 0 ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit 0 ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 + echo rs6000-ibm-aix3.2.5 + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit 0 ;; + *:AIX:*:[45]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit 0 ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit 0 ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit 0 ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit 0 ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit 0 ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit 0 ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit 0 ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit 0 ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + # avoid double evaluation of $set_cc_for_build + test -n "$CC_FOR_BUILD" || eval $set_cc_for_build + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit 0 ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit 0 ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0 + echo unknown-hitachi-hiuxwe2 + exit 0 ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit 0 ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit 0 ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit 0 ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit 0 ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit 0 ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit 0 ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit 0 ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit 0 ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit 0 ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit 0 ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit 0 ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit 0 ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit 0 ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit 0 ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit 0 ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; + *:FreeBSD:*:*) + echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit 0 ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit 0 ;; + i*:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit 0 ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit 0 ;; + x86:Interix*:[34]*) + echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//' + exit 0 ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit 0 ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit 0 ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit 0 ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit 0 ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit 0 ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit 0 ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu + exit 0 ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit 0 ;; + arm*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + cris:Linux:*:*) + echo cris-axis-linux-gnu + exit 0 ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + mips:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips + #undef mipsel + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mipsel + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + ;; + mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef mips64 + #undef mips64el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=mips64el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=mips64 + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=` + test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0 + ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu + exit 0 ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit 0 ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit 0 ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-gnu ;; + PA8*) echo hppa2.0-unknown-linux-gnu ;; + *) echo hppa-unknown-linux-gnu ;; + esac + exit 0 ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit 0 ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux + exit 0 ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; + x86_64:Linux:*:*) + echo x86_64-unknown-linux-gnu + exit 0 ;; + i*86:Linux:*:*) + # The BFD linker knows what the default object file format is, so + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + # Set LC_ALL=C to ensure ld outputs messages in English. + ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ + | sed -ne '/supported targets:/!d + s/[ ][ ]*/ /g + s/.*supported targets: *// + s/ .*// + p'` + case "$ld_supported_targets" in + elf32-i386) + TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" + ;; + a.out-i386-linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit 0 ;; + coff-i386) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit 0 ;; + "") + # Either a pre-BFD a.out linker (linux-gnuoldld) or + # one that does not give us useful --help. + echo "${UNAME_MACHINE}-pc-linux-gnuoldld" + exit 0 ;; + esac + # Determine whether the default compiler is a.out or elf + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + #ifdef __ELF__ + # ifdef __GLIBC__ + # if __GLIBC__ >= 2 + LIBC=gnu + # else + LIBC=gnulibc1 + # endif + # else + LIBC=gnulibc1 + # endif + #else + #ifdef __INTEL_COMPILER + LIBC=gnu + #else + LIBC=gnuaout + #endif + #endif + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=` + test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0 + test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit 0 ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit 0 ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit 0 ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit 0 ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit 0 ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit 0 ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit 0 ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit 0 ;; + i*86:*:5:[78]*) + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit 0 ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit 0 ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i386. + echo i386-pc-msdosdjgpp + exit 0 ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit 0 ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit 0 ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit 0 ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit 0 ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit 0 ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit 0 ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4.3${OS_REL} && exit 0 + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && echo i486-ncr-sysv4 && exit 0 ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit 0 ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit 0 ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit 0 ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit 0 ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit 0 ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit 0 ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit 0 ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit 0 ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit 0 ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit 0 ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit 0 ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit 0 ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit 0 ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit 0 ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit 0 ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit 0 ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit 0 ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + case $UNAME_PROCESSOR in + *86) UNAME_PROCESSOR=i686 ;; + unknown) UNAME_PROCESSOR=powerpc ;; + esac + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit 0 ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit 0 ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit 0 ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit 0 ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit 0 ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit 0 ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit 0 ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit 0 ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit 0 ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit 0 ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit 0 ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit 0 ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit 0 ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit 0 ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit 0 ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit 0 ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms && exit 0 ;; + I*) echo ia64-dec-vms && exit 0 ;; + V*) echo vax-dec-vms && exit 0 ;; + esac +esac + +#echo '(No uname command or uname output not recognized.)' 1>&2 +#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 + +eval $set_cc_for_build +cat >$dummy.c < +# include +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (__arm) && defined (__acorn) && defined (__unix) + printf ("arm-acorn-riscix"); exit (0); +#endif + +#if defined (hp300) && !defined (hpux) + printf ("m68k-hp-bsd\n"); exit (0); +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); + +#endif + +#if defined (vax) +# if !defined (ultrix) +# include +# if defined (BSD) +# if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +# else +# if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# endif +# else + printf ("vax-dec-bsd\n"); exit (0); +# endif +# else + printf ("vax-dec-ultrix\n"); exit (0); +# endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0 + +# Apollos put the system type in the environment. + +test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } + +# Convex versions that predate uname can use getsysinfo(1) + +if [ -x /usr/convex/getsysinfo ] +then + case `getsysinfo -f cpu_type` in + c1*) + echo c1-convex-bsd + exit 0 ;; + c2*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit 0 ;; + c34*) + echo c34-convex-bsd + exit 0 ;; + c38*) + echo c38-convex-bsd + exit 0 ;; + c4*) + echo c4-convex-bsd + exit 0 ;; + esac +fi + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.h new file mode 100755 index 00000000..78a8d9c0 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.h @@ -0,0 +1,86 @@ +/* config.h. Generated by configure. */ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* Define to 1 if you have the `erand48' function. */ +#define HAVE_ERAND48 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MALLOC_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strchr' function. */ +#define HAVE_STRCHR 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRDUP 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the `strstr' function. */ +#define HAVE_STRSTR 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Name of package */ +#define PACKAGE "ViennaRNA" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "rna@tbi.univie.ac.at" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "ViennaRNA" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "ViennaRNA 1.6" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "ViennaRNA" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "1.6" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* only for gcc */ +#define UNUSED __attribute__ ((unused)) + +/* Version number of package */ +#define VERSION "1.6" + +/* Define if using the dmalloc debugging malloc package */ +/* #undef WITH_DMALLOC */ + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +/* #undef inline */ +#endif + +/* Define to `unsigned' if does not define. */ +/* #undef size_t */ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.h.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.h.in new file mode 100755 index 00000000..361112b2 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.h.in @@ -0,0 +1,85 @@ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* Define to 1 if you have the `erand48' function. */ +#undef HAVE_ERAND48 + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MALLOC_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the `strchr' function. */ +#undef HAVE_STRCHR + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRDUP + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the `strstr' function. */ +#undef HAVE_STRSTR + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* only for gcc */ +#undef UNUSED + +/* Version number of package */ +#undef VERSION + +/* Define if using the dmalloc debugging malloc package */ +#undef WITH_DMALLOC + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* Define to `__inline__' or `__inline' if that's what the C compiler + calls it, or to nothing if 'inline' is not supported under any name. */ +#ifndef __cplusplus +#undef inline +#endif + +/* Define to `unsigned' if does not define. */ +#undef size_t diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.log b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.log new file mode 100755 index 00000000..4edb2e45 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.log @@ -0,0 +1,625 @@ +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by ViennaRNA configure 1.6, which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ ./configure + +## --------- ## +## Platform. ## +## --------- ## + +hostname = mcluster02 +uname -m = x86_64 +uname -r = 2.6.9-34.ELsmp +uname -s = Linux +uname -v = #1 SMP Fri Feb 24 16:56:28 EST 2006 + +/usr/bin/uname -p = unknown +/bin/uname -X = unknown + +/bin/arch = x86_64 +/usr/bin/arch -k = unknown +/usr/convex/getsysinfo = unknown +hostinfo = unknown +/bin/machine = unknown +/usr/bin/oslevel = unknown +/bin/universe = unknown + +PATH: /storage/appl/n1ge6u7/bin/lx24-amd64 +PATH: /opt/sun/n1gc/bin +PATH: /usr/local/bin +PATH: /bin +PATH: /usr/bin +PATH: /opt/c3-4/ +PATH: /usr/X11R6/bin +PATH: /usr/local/bin +PATH: /usr/local/bin/X11R5 +PATH: /usr/local/X11R5/bin +PATH: /usr/X11R6/bin +PATH: /home/rabani/Develop/perl/GeneXPress +PATH: /home/rabani/Develop/perl/Genome +PATH: /home/rabani/Develop/perl/Lib +PATH: /home/rabani/Develop/perl/Parsers +PATH: /home/rabani/Develop/perl/RNA +PATH: /home/rabani/Develop/perl/Sequence +PATH: /home/rabani/Develop/perl/System +PATH: /home/rabani/Develop/perl/Web +PATH: /home/rabani/Develop/perl/Web/DataDir +PATH: /home/rabani/Develop/genie_release64/Programs +PATH: /storage/appl/matlab14.3/bin +PATH: /home/rabani + + +## ----------- ## +## Core tests. ## +## ----------- ## + +configure:1368: checking for a BSD-compatible install +configure:1423: result: /usr/bin/install -c +configure:1434: checking whether build environment is sane +configure:1477: result: yes +configure:1542: checking for gawk +configure:1558: found /bin/gawk +configure:1568: result: gawk +configure:1578: checking whether make sets $(MAKE) +configure:1598: result: yes +configure:1767: checking if malloc debugging is wanted +configure:1788: result: no +configure:1836: checking build system type +configure:1854: result: x86_64-unknown-linux-gnu +configure:1862: checking host system type +configure:1876: result: x86_64-unknown-linux-gnu +configure:1931: checking for gcc +configure:1947: found /usr/bin/gcc +configure:1957: result: gcc +configure:2201: checking for C compiler version +configure:2204: gcc --version &5 +gcc (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2) +Copyright (C) 2004 Free Software Foundation, Inc. +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +configure:2207: $? = 0 +configure:2209: gcc -v &5 +Reading specs from /usr/lib/gcc/x86_64-redhat-linux/3.4.5/specs +Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=x86_64-redhat-linux +Thread model: posix +gcc version 3.4.5 20051201 (Red Hat 3.4.5-2) +configure:2212: $? = 0 +configure:2214: gcc -V &5 +gcc: `-V' option must have argument +configure:2217: $? = 1 +configure:2240: checking for C compiler default output file name +configure:2243: gcc conftest.c >&5 +configure:2246: $? = 0 +configure:2292: result: a.out +configure:2297: checking whether the C compiler works +configure:2303: ./a.out +configure:2306: $? = 0 +configure:2323: result: yes +configure:2330: checking whether we are cross compiling +configure:2332: result: no +configure:2335: checking for suffix of executables +configure:2337: gcc -o conftest conftest.c >&5 +configure:2340: $? = 0 +configure:2365: result: +configure:2371: checking for suffix of object files +configure:2392: gcc -c conftest.c >&5 +configure:2395: $? = 0 +configure:2417: result: o +configure:2421: checking whether we are using the GNU C compiler +configure:2445: gcc -c conftest.c >&5 +configure:2451: $? = 0 +configure:2455: test -z + || test ! -s conftest.err +configure:2458: $? = 0 +configure:2461: test -s conftest.o +configure:2464: $? = 0 +configure:2477: result: yes +configure:2483: checking whether gcc accepts -g +configure:2504: gcc -c -g conftest.c >&5 +configure:2510: $? = 0 +configure:2514: test -z + || test ! -s conftest.err +configure:2517: $? = 0 +configure:2520: test -s conftest.o +configure:2523: $? = 0 +configure:2534: result: yes +configure:2551: checking for gcc option to accept ANSI C +configure:2621: gcc -c -g -O2 conftest.c >&5 +configure:2627: $? = 0 +configure:2631: test -z + || test ! -s conftest.err +configure:2634: $? = 0 +configure:2637: test -s conftest.o +configure:2640: $? = 0 +configure:2658: result: none needed +configure:2676: gcc -c -g -O2 conftest.c >&5 +conftest.c:2: error: syntax error before "me" +configure:2682: $? = 1 +configure: failed program was: +| #ifndef __cplusplus +| choke me +| #endif +configure:2826: checking for style of include used by make +configure:2854: result: GNU +configure:2882: checking dependency style of gcc +configure:2972: result: gcc3 +configure:3015: checking for a BSD-compatible install +configure:3070: result: /usr/bin/install -c +configure:3122: checking for ranlib +configure:3138: found /usr/bin/ranlib +configure:3149: result: ranlib +configure:3164: checking for perl +configure:3182: found /usr/bin/perl +configure:3194: result: /usr/bin/perl +configure:3297: checking how to run the C preprocessor +configure:3332: gcc -E conftest.c +configure:3338: $? = 0 +configure:3370: gcc -E conftest.c +conftest.c:12:28: ac_nonexistent.h: No such file or directory +configure:3376: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "ViennaRNA" +| #define PACKAGE_TARNAME "ViennaRNA" +| #define PACKAGE_VERSION "1.6" +| #define PACKAGE_STRING "ViennaRNA 1.6" +| #define PACKAGE_BUGREPORT "rna@tbi.univie.ac.at" +| #define PACKAGE "ViennaRNA" +| #define VERSION "1.6" +| #define UNUSED __attribute__ ((unused)) +| /* end confdefs.h. */ +| #include +configure:3415: result: gcc -E +configure:3439: gcc -E conftest.c +configure:3445: $? = 0 +configure:3477: gcc -E conftest.c +conftest.c:12:28: ac_nonexistent.h: No such file or directory +configure:3483: $? = 1 +configure: failed program was: +| /* confdefs.h. */ +| +| #define PACKAGE_NAME "ViennaRNA" +| #define PACKAGE_TARNAME "ViennaRNA" +| #define PACKAGE_VERSION "1.6" +| #define PACKAGE_STRING "ViennaRNA 1.6" +| #define PACKAGE_BUGREPORT "rna@tbi.univie.ac.at" +| #define PACKAGE "ViennaRNA" +| #define VERSION "1.6" +| #define UNUSED __attribute__ ((unused)) +| /* end confdefs.h. */ +| #include +configure:3527: checking for egrep +configure:3537: result: grep -E +configure:3542: checking for ANSI C header files +configure:3567: gcc -c -g -O2 conftest.c >&5 +configure:3573: $? = 0 +configure:3577: test -z + || test ! -s conftest.err +configure:3580: $? = 0 +configure:3583: test -s conftest.o +configure:3586: $? = 0 +configure:3675: gcc -o conftest -g -O2 conftest.c >&5 +configure:3678: $? = 0 +configure:3680: ./conftest +configure:3683: $? = 0 +configure:3698: result: yes +configure:3722: checking for sys/types.h +configure:3738: gcc -c -g -O2 conftest.c >&5 +configure:3744: $? = 0 +configure:3748: test -z + || test ! -s conftest.err +configure:3751: $? = 0 +configure:3754: test -s conftest.o +configure:3757: $? = 0 +configure:3768: result: yes +configure:3722: checking for sys/stat.h +configure:3738: gcc -c -g -O2 conftest.c >&5 +configure:3744: $? = 0 +configure:3748: test -z + || test ! -s conftest.err +configure:3751: $? = 0 +configure:3754: test -s conftest.o +configure:3757: $? = 0 +configure:3768: result: yes +configure:3722: checking for stdlib.h +configure:3738: gcc -c -g -O2 conftest.c >&5 +configure:3744: $? = 0 +configure:3748: test -z + || test ! -s conftest.err +configure:3751: $? = 0 +configure:3754: test -s conftest.o +configure:3757: $? = 0 +configure:3768: result: yes +configure:3722: checking for string.h +configure:3738: gcc -c -g -O2 conftest.c >&5 +configure:3744: $? = 0 +configure:3748: test -z + || test ! -s conftest.err +configure:3751: $? = 0 +configure:3754: test -s conftest.o +configure:3757: $? = 0 +configure:3768: result: yes +configure:3722: checking for memory.h +configure:3738: gcc -c -g -O2 conftest.c >&5 +configure:3744: $? = 0 +configure:3748: test -z + || test ! -s conftest.err +configure:3751: $? = 0 +configure:3754: test -s conftest.o +configure:3757: $? = 0 +configure:3768: result: yes +configure:3722: checking for strings.h +configure:3738: gcc -c -g -O2 conftest.c >&5 +configure:3744: $? = 0 +configure:3748: test -z + || test ! -s conftest.err +configure:3751: $? = 0 +configure:3754: test -s conftest.o +configure:3757: $? = 0 +configure:3768: result: yes +configure:3722: checking for inttypes.h +configure:3738: gcc -c -g -O2 conftest.c >&5 +configure:3744: $? = 0 +configure:3748: test -z + || test ! -s conftest.err +configure:3751: $? = 0 +configure:3754: test -s conftest.o +configure:3757: $? = 0 +configure:3768: result: yes +configure:3722: checking for stdint.h +configure:3738: gcc -c -g -O2 conftest.c >&5 +configure:3744: $? = 0 +configure:3748: test -z + || test ! -s conftest.err +configure:3751: $? = 0 +configure:3754: test -s conftest.o +configure:3757: $? = 0 +configure:3768: result: yes +configure:3722: checking for unistd.h +configure:3738: gcc -c -g -O2 conftest.c >&5 +configure:3744: $? = 0 +configure:3748: test -z + || test ! -s conftest.err +configure:3751: $? = 0 +configure:3754: test -s conftest.o +configure:3757: $? = 0 +configure:3768: result: yes +configure:3796: checking malloc.h usability +configure:3808: gcc -c -g -O2 conftest.c >&5 +configure:3814: $? = 0 +configure:3818: test -z + || test ! -s conftest.err +configure:3821: $? = 0 +configure:3824: test -s conftest.o +configure:3827: $? = 0 +configure:3837: result: yes +configure:3841: checking malloc.h presence +configure:3851: gcc -E conftest.c +configure:3857: $? = 0 +configure:3877: result: yes +configure:3912: checking for malloc.h +configure:3919: result: yes +configure:3787: checking for strings.h +configure:3792: result: yes +configure:3787: checking for unistd.h +configure:3792: result: yes +configure:3933: checking for an ANSI C-conforming const +configure:4000: gcc -c -g -O2 conftest.c >&5 +configure:4006: $? = 0 +configure:4010: test -z + || test ! -s conftest.err +configure:4013: $? = 0 +configure:4016: test -s conftest.o +configure:4019: $? = 0 +configure:4030: result: yes +configure:4040: checking for size_t +configure:4064: gcc -c -g -O2 conftest.c >&5 +configure:4070: $? = 0 +configure:4074: test -z + || test ! -s conftest.err +configure:4077: $? = 0 +configure:4080: test -s conftest.o +configure:4083: $? = 0 +configure:4094: result: yes +configure:4106: checking for inline +configure:4127: gcc -c -g -O2 conftest.c >&5 +configure:4133: $? = 0 +configure:4137: test -z + || test ! -s conftest.err +configure:4140: $? = 0 +configure:4143: test -s conftest.o +configure:4146: $? = 0 +configure:4158: result: inline +configure:4185: checking for strdup +configure:4242: gcc -o conftest -g -O2 conftest.c >&5 +conftest.c:49: warning: conflicting types for built-in function 'strdup' +configure:4248: $? = 0 +configure:4252: test -z + || test ! -s conftest.err +configure:4255: $? = 0 +configure:4258: test -s conftest +configure:4261: $? = 0 +configure:4273: result: yes +configure:4185: checking for strstr +configure:4242: gcc -o conftest -g -O2 conftest.c >&5 +conftest.c:50: warning: conflicting types for built-in function 'strstr' +configure:4248: $? = 0 +configure:4252: test -z + || test ! -s conftest.err +configure:4255: $? = 0 +configure:4258: test -s conftest +configure:4261: $? = 0 +configure:4273: result: yes +configure:4185: checking for strchr +configure:4242: gcc -o conftest -g -O2 conftest.c >&5 +conftest.c:51: warning: conflicting types for built-in function 'strchr' +configure:4248: $? = 0 +configure:4252: test -z + || test ! -s conftest.err +configure:4255: $? = 0 +configure:4258: test -s conftest +configure:4261: $? = 0 +configure:4273: result: yes +configure:4185: checking for erand48 +configure:4242: gcc -o conftest -g -O2 conftest.c >&5 +configure:4248: $? = 0 +configure:4252: test -z + || test ! -s conftest.err +configure:4255: $? = 0 +configure:4258: test -s conftest +configure:4261: $? = 0 +configure:4273: result: yes +configure:4423: creating ./config.status + +## ---------------------- ## +## Running config.status. ## +## ---------------------- ## + +This file was extended by ViennaRNA config.status 1.6, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = + CONFIG_HEADERS = + CONFIG_LINKS = + CONFIG_COMMANDS = + $ ./config.status + +on mcluster02 + +config.status:731: creating Makefile +config.status:731: creating ViennaRNA.spec +config.status:731: creating Utils/Makefile +config.status:731: creating Progs/Makefile +config.status:731: creating lib/Makefile +config.status:731: creating man/Makefile +config.status:731: creating Cluster/Makefile +config.status:731: creating H/Makefile +config.status:731: creating Perl/Makefile +config.status:731: creating man/RNAheat.1 +config.status:731: creating man/RNAsubopt.1 +config.status:731: creating man/RNAdistance.1 +config.status:731: creating man/RNAinverse.1 +config.status:731: creating man/RNAeval.1 +config.status:731: creating man/RNAfold.1 +config.status:731: creating man/RNApdist.1 +config.status:731: creating man/RNAplot.1 +config.status:731: creating man/RNALfold.1 +config.status:731: creating man/RNAalifold.1 +config.status:731: creating man/RNAduplex.1 +config.status:731: creating man/RNAcofold.1 +config.status:731: creating man/RNAplfold.1 +config.status:835: creating config.h +config.status:957: config.h is unchanged +config.status:1137: executing depfiles commands +configure:5796: configuring in RNAforester +configure:5913: running /bin/sh './configure' --prefix=/usr/local --cache-file=/dev/null --srcdir=. +configure:5796: configuring in Kinfold +configure:5913: running /bin/sh './configure' --prefix=/usr/local --cache-file=/dev/null --srcdir=. +configure:5949: +Configure successful with the following options: + + Perl Extension: yes + Analyse{Dists,Seqs}: no + Kinfold: yes + RNAforester: yes + +Files will be installed in the following directories: + + Executables: /usr/local/bin + Libraries: /usr/local/lib + Header files: /usr/local/include + Extra Data: /usr/local/share + Man pages: /usr/local/man + + +## ---------------- ## +## Cache variables. ## +## ---------------- ## + +ac_cv_build=x86_64-unknown-linux-gnu +ac_cv_build_alias=x86_64-unknown-linux-gnu +ac_cv_c_compiler_gnu=yes +ac_cv_c_const=yes +ac_cv_c_inline=inline +ac_cv_env_CC_set= +ac_cv_env_CC_value= +ac_cv_env_CFLAGS_set= +ac_cv_env_CFLAGS_value= +ac_cv_env_CPPFLAGS_set= +ac_cv_env_CPPFLAGS_value= +ac_cv_env_CPP_set= +ac_cv_env_CPP_value= +ac_cv_env_LDFLAGS_set= +ac_cv_env_LDFLAGS_value= +ac_cv_env_build_alias_set= +ac_cv_env_build_alias_value= +ac_cv_env_host_alias_set= +ac_cv_env_host_alias_value= +ac_cv_env_target_alias_set= +ac_cv_env_target_alias_value= +ac_cv_exeext= +ac_cv_func_erand48=yes +ac_cv_func_strchr=yes +ac_cv_func_strdup=yes +ac_cv_func_strstr=yes +ac_cv_header_inttypes_h=yes +ac_cv_header_malloc_h=yes +ac_cv_header_memory_h=yes +ac_cv_header_stdc=yes +ac_cv_header_stdint_h=yes +ac_cv_header_stdlib_h=yes +ac_cv_header_string_h=yes +ac_cv_header_strings_h=yes +ac_cv_header_sys_stat_h=yes +ac_cv_header_sys_types_h=yes +ac_cv_header_unistd_h=yes +ac_cv_host=x86_64-unknown-linux-gnu +ac_cv_host_alias=x86_64-unknown-linux-gnu +ac_cv_objext=o +ac_cv_path_PerlCmd=/usr/bin/perl +ac_cv_path_install='/usr/bin/install -c' +ac_cv_prog_AWK=gawk +ac_cv_prog_CPP='gcc -E' +ac_cv_prog_ac_ct_CC=gcc +ac_cv_prog_ac_ct_RANLIB=ranlib +ac_cv_prog_cc_g=yes +ac_cv_prog_cc_stdc= +ac_cv_prog_egrep='grep -E' +ac_cv_prog_make_make_set=yes +ac_cv_type_size_t=yes +am_cv_CC_dependencies_compiler_type=gcc3 + +## ----------------- ## +## Output variables. ## +## ----------------- ## + +ACLOCAL='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run aclocal-1.9' +AMDEPBACKSLASH='\' +AMDEP_FALSE='#' +AMDEP_TRUE='' +AMTAR='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run tar' +AUTOCONF='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoconf' +AUTOHEADER='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoheader' +AUTOMAKE='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run automake-1.9' +AWK='gawk' +CC='gcc' +CCDEPMODE='depmode=gcc3' +CFLAGS='-g -O2' +CPP='gcc -E' +CPPFLAGS='' +CYGPATH_W='echo' +DEFS='-DHAVE_CONFIG_H' +DEPDIR='.deps' +ECHO_C='' +ECHO_N='-n' +ECHO_T='' +EGREP='grep -E' +EXEEXT='' +INSTALL_DATA='${INSTALL} -m 644' +INSTALL_PROGRAM='${INSTALL}' +INSTALL_SCRIPT='${INSTALL}' +INSTALL_STRIP_PROGRAM='${SHELL} $(install_sh) -c -s' +ISODATE='2006-06-13' +LDFLAGS='' +LIBOBJS='' +LIBS='' +LTLIBOBJS='' +MAKEINFO='${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run makeinfo' +MAKE_CLUSTER_FALSE='' +MAKE_CLUSTER_TRUE='#' +MAKE_FORESTER_FALSE='#' +MAKE_FORESTER_TRUE='' +MAKE_KINFOLD_FALSE='#' +MAKE_KINFOLD_TRUE='' +MAKE_PERL_EXT_FALSE='#' +MAKE_PERL_EXT_TRUE='' +OBJEXT='o' +PACKAGE='ViennaRNA' +PACKAGE_BUGREPORT='rna@tbi.univie.ac.at' +PACKAGE_NAME='ViennaRNA' +PACKAGE_STRING='ViennaRNA 1.6' +PACKAGE_TARNAME='ViennaRNA' +PACKAGE_VERSION='1.6' +PATH_SEPARATOR=':' +PerlCmd='/usr/bin/perl' +RANLIB='ranlib' +SET_MAKE='' +SHELL='/bin/sh' +STRIP='' +VERSION='1.6' +ac_ct_CC='gcc' +ac_ct_RANLIB='ranlib' +ac_ct_STRIP='' +am__fastdepCC_FALSE='#' +am__fastdepCC_TRUE='' +am__include='include' +am__leading_dot='.' +am__quote='' +am__tar='${AMTAR} chof - "$$tardir"' +am__untar='${AMTAR} xf -' +bindir='${exec_prefix}/bin' +build='x86_64-unknown-linux-gnu' +build_alias='' +build_cpu='x86_64' +build_os='linux-gnu' +build_vendor='unknown' +datadir='${prefix}/share' +exec_prefix='${prefix}' +host='x86_64-unknown-linux-gnu' +host_alias='' +host_cpu='x86_64' +host_os='linux-gnu' +host_vendor='unknown' +includedir='${prefix}/include' +infodir='${prefix}/info' +install_sh='/home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/install-sh' +libdir='${exec_prefix}/lib' +libexecdir='${exec_prefix}/libexec' +localstatedir='${prefix}/var' +mandir='${prefix}/man' +mkdir_p='mkdir -p --' +oldincludedir='/usr/include' +prefix='/usr/local' +program_transform_name='s,x,x,' +sbindir='${exec_prefix}/sbin' +sharedstatedir='${prefix}/com' +subdirs=' RNAforester Kinfold' +sysconfdir='${prefix}/etc' +target_alias='' + +## ----------- ## +## confdefs.h. ## +## ----------- ## + +#define HAVE_ERAND48 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_MALLOC_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRCHR 1 +#define HAVE_STRDUP 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_STRSTR 1 +#define HAVE_SYS_STAT_H 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_UNISTD_H 1 +#define HAVE_UNISTD_H 1 +#define PACKAGE "ViennaRNA" +#define PACKAGE_BUGREPORT "rna@tbi.univie.ac.at" +#define PACKAGE_NAME "ViennaRNA" +#define PACKAGE_STRING "ViennaRNA 1.6" +#define PACKAGE_TARNAME "ViennaRNA" +#define PACKAGE_VERSION "1.6" +#define STDC_HEADERS 1 +#define UNUSED __attribute__ ((unused)) +#define VERSION "1.6" + +configure: exit 0 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.status b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.status new file mode 100755 index 00000000..07739d49 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.status @@ -0,0 +1,1228 @@ +#! /bin/sh +# Generated by configure. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=${CONFIG_SHELL-/bin/sh} +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by ViennaRNA $as_me 1.6, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +config_files=" Makefile ViennaRNA.spec Utils/Makefile Progs/Makefile lib/Makefile man/Makefile Cluster/Makefile H/Makefile Perl/Makefile man/RNAheat.1 man/RNAsubopt.1 man/RNAdistance.1 man/RNAinverse.1 man/RNAeval.1 man/RNAfold.1 man/RNApdist.1 man/RNAplot.1 man/RNALfold.1 man/RNAalifold.1 man/RNAduplex.1 man/RNAcofold.1 man/RNAplfold.1" +config_headers=" config.h" +config_commands=" depfiles" + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." +ac_cs_version="\ +ViennaRNA config.status 1.6 +configured by ./configure, generated by GNU Autoconf 2.59, + with options \"\" + +Copyright (C) 2003 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=. +INSTALL="/usr/bin/install -c" +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +if $ac_cs_recheck; then + echo "running /bin/sh ./configure " $ac_configure_extra_args " --no-create --no-recursion" >&6 + exec /bin/sh ./configure $ac_configure_extra_args --no-create --no-recursion +fi + +# +# INIT-COMMANDS section. +# + +AMDEP_TRUE="" ac_aux_dir="." + +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "ViennaRNA.spec" ) CONFIG_FILES="$CONFIG_FILES ViennaRNA.spec" ;; + "Utils/Makefile" ) CONFIG_FILES="$CONFIG_FILES Utils/Makefile" ;; + "Progs/Makefile" ) CONFIG_FILES="$CONFIG_FILES Progs/Makefile" ;; + "lib/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; + "man/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; + "Cluster/Makefile" ) CONFIG_FILES="$CONFIG_FILES Cluster/Makefile" ;; + "H/Makefile" ) CONFIG_FILES="$CONFIG_FILES H/Makefile" ;; + "Perl/Makefile" ) CONFIG_FILES="$CONFIG_FILES Perl/Makefile" ;; + "man/RNAheat.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAheat.1" ;; + "man/RNAsubopt.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAsubopt.1" ;; + "man/RNAdistance.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAdistance.1" ;; + "man/RNAinverse.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAinverse.1" ;; + "man/RNAeval.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAeval.1" ;; + "man/RNAfold.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAfold.1" ;; + "man/RNApdist.1" ) CONFIG_FILES="$CONFIG_FILES man/RNApdist.1" ;; + "man/RNAplot.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAplot.1" ;; + "man/RNALfold.1" ) CONFIG_FILES="$CONFIG_FILES man/RNALfold.1" ;; + "man/RNAalifold.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAalifold.1" ;; + "man/RNAduplex.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAduplex.1" ;; + "man/RNAcofold.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAcofold.1" ;; + "man/RNAplfold.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAplfold.1" ;; + "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >$tmp/subs.sed <<\CEOF +s,@SHELL@,/bin/sh,;t t +s,@PATH_SEPARATOR@,:,;t t +s,@PACKAGE_NAME@,ViennaRNA,;t t +s,@PACKAGE_TARNAME@,ViennaRNA,;t t +s,@PACKAGE_VERSION@,1.6,;t t +s,@PACKAGE_STRING@,ViennaRNA 1.6,;t t +s,@PACKAGE_BUGREPORT@,rna@tbi.univie.ac.at,;t t +s,@exec_prefix@,${prefix},;t t +s,@prefix@,/usr/local,;t t +s,@program_transform_name@,s,x,x,,;t t +s,@bindir@,${exec_prefix}/bin,;t t +s,@sbindir@,${exec_prefix}/sbin,;t t +s,@libexecdir@,${exec_prefix}/libexec,;t t +s,@datadir@,${prefix}/share,;t t +s,@sysconfdir@,${prefix}/etc,;t t +s,@sharedstatedir@,${prefix}/com,;t t +s,@localstatedir@,${prefix}/var,;t t +s,@libdir@,${exec_prefix}/lib,;t t +s,@includedir@,${prefix}/include,;t t +s,@oldincludedir@,/usr/include,;t t +s,@infodir@,${prefix}/info,;t t +s,@mandir@,${prefix}/man,;t t +s,@build_alias@,,;t t +s,@host_alias@,,;t t +s,@target_alias@,,;t t +s,@DEFS@,-DHAVE_CONFIG_H,;t t +s,@ECHO_C@,,;t t +s,@ECHO_N@,-n,;t t +s,@ECHO_T@,,;t t +s,@LIBS@,,;t t +s,@INSTALL_PROGRAM@,${INSTALL},;t t +s,@INSTALL_SCRIPT@,${INSTALL},;t t +s,@INSTALL_DATA@,${INSTALL} -m 644,;t t +s,@CYGPATH_W@,echo,;t t +s,@PACKAGE@,ViennaRNA,;t t +s,@VERSION@,1.6,;t t +s,@ACLOCAL@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run aclocal-1.9,;t t +s,@AUTOCONF@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoconf,;t t +s,@AUTOMAKE@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run automake-1.9,;t t +s,@AUTOHEADER@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoheader,;t t +s,@MAKEINFO@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run makeinfo,;t t +s,@install_sh@,/home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/install-sh,;t t +s,@STRIP@,,;t t +s,@ac_ct_STRIP@,,;t t +s,@INSTALL_STRIP_PROGRAM@,${SHELL} $(install_sh) -c -s,;t t +s,@mkdir_p@,mkdir -p --,;t t +s,@AWK@,gawk,;t t +s,@SET_MAKE@,,;t t +s,@am__leading_dot@,.,;t t +s,@AMTAR@,${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run tar,;t t +s,@am__tar@,${AMTAR} chof - "$$tardir",;t t +s,@am__untar@,${AMTAR} xf -,;t t +s,@ISODATE@,2006-06-13,;t t +s,@build@,x86_64-unknown-linux-gnu,;t t +s,@build_cpu@,x86_64,;t t +s,@build_vendor@,unknown,;t t +s,@build_os@,linux-gnu,;t t +s,@host@,x86_64-unknown-linux-gnu,;t t +s,@host_cpu@,x86_64,;t t +s,@host_vendor@,unknown,;t t +s,@host_os@,linux-gnu,;t t +s,@CC@,gcc,;t t +s,@CFLAGS@,-g -O2,;t t +s,@LDFLAGS@,,;t t +s,@CPPFLAGS@,,;t t +s,@ac_ct_CC@,gcc,;t t +s,@EXEEXT@,,;t t +s,@OBJEXT@,o,;t t +s,@DEPDIR@,.deps,;t t +s,@am__include@,include,;t t +s,@am__quote@,,;t t +s,@AMDEP_TRUE@,,;t t +s,@AMDEP_FALSE@,#,;t t +s,@AMDEPBACKSLASH@,\,;t t +s,@CCDEPMODE@,depmode=gcc3,;t t +s,@am__fastdepCC_TRUE@,,;t t +s,@am__fastdepCC_FALSE@,#,;t t +s,@RANLIB@,ranlib,;t t +s,@ac_ct_RANLIB@,ranlib,;t t +s,@PerlCmd@,/usr/bin/perl,;t t +s,@subdirs@, RNAforester Kinfold,;t t +s,@MAKE_PERL_EXT_TRUE@,,;t t +s,@MAKE_PERL_EXT_FALSE@,#,;t t +s,@MAKE_CLUSTER_TRUE@,#,;t t +s,@MAKE_CLUSTER_FALSE@,,;t t +s,@MAKE_FORESTER_TRUE@,,;t t +s,@MAKE_FORESTER_FALSE@,#,;t t +s,@MAKE_KINFOLD_TRUE@,,;t t +s,@MAKE_KINFOLD_FALSE@,#,;t t +s,@CPP@,gcc -E,;t t +s,@EGREP@,grep -E,;t t +s,@LIBOBJS@,,;t t +s,@LTLIBOBJS@,,;t t +CEOF + + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + sed "/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +} + +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done + +# +# CONFIG_HEADER section. +# + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' +ac_dC=' ' +ac_dD=',;t' +# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='$,\1#\2define\3' +ac_uC=' ' +ac_uD=',;t' + +for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + # Remove the trailing spaces. + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + + # Handle all the #define templates only if necessary. + if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then + # If there are no defines, we may have an empty if/fi + : + cat >$tmp/defines.sed <$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in + + fi # grep + + # Handle all the #undef templates + cat >$tmp/undefs.sed <$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + echo "/* Generated by configure. */" >$tmp/config.h + else + echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + fi + cat $tmp/in >>$tmp/config.h + rm -f $tmp/in + if test x"$ac_file" != x-; then + if diff $ac_file $tmp/config.h >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + rm -f $ac_file + mv $tmp/config.h $ac_file + fi + else + cat $tmp/config.h + rm -f $tmp/config.h + fi +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'`/stamp-h$_am_stamp_count +done + +# +# CONFIG_COMMANDS section. +# +for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue + ac_dest=`echo "$ac_file" | sed 's,:.*,,'` + ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_dir=`(dirname "$ac_dest") 2>/dev/null || +$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_dest" : 'X\(//\)[^/]' \| \ + X"$ac_dest" : 'X\(//\)$' \| \ + X"$ac_dest" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_dest" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 +echo "$as_me: executing $ac_dest commands" >&6;} + case $ac_dest in + depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`(dirname "$mf") 2>/dev/null || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`(dirname "$file") 2>/dev/null || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p $dirpart/$fdir + else + as_dir=$dirpart/$fdir + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 +echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} + { (exit 1); exit 1; }; }; } + + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + esac +done + +{ (exit 0); exit 0; } diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.sub b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.sub new file mode 100755 index 00000000..ac6de986 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/config.sub @@ -0,0 +1,1552 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, +# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + +timestamp='2004-06-24' + +# This file is (in principle) common to ALL GNU software. +# The presence of a machine in this file suggests that SOME GNU software +# can handle that machine. It does not imply ALL GNU software can. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Please send patches to . Submit a context +# diff and a properly formatted ChangeLog entry. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit 0 ;; + --version | -v ) + echo "$version" ; exit 0 ;; + --help | --h* | -h ) + echo "$usage"; exit 0 ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit 0;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \ + kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray) + os= + basic_machine=$1 + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \ + | c4x | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | m32r | m32rle | m68000 | m68k | m88k | mcore \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64vr | mips64vrel \ + | mips64orion | mips64orionel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | msp430 \ + | ns16k | ns32k \ + | openrisc | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ + | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ + | strongarm \ + | tahoe | thumb | tic4x | tic80 | tron \ + | v850 | v850e \ + | we32k \ + | x86 | xscale | xstormy16 | xtensa \ + | z8k) + basic_machine=$basic_machine-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12) + # Motorola 68HC11/12. + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* \ + | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ + | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | mcore-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | msp430-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ + | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | tahoe-* | thumb-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tron-* \ + | v850-* | v850e-* | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \ + | xtensa-* \ + | ymp-* \ + | z8k-*) + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; +# I'm not sure what "Sysv32" means. Should this be sysv3.2? + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + mingw32) + basic_machine=i386-pc + os=-mingw32 + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + or32 | or32-*) + basic_machine=or32-unknown + os=-coff + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc) basic_machine=powerpc-unknown + ;; + ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tic54x | c54x*) + basic_machine=tic54x-unknown + os=-coff + ;; + tic55x | c55x*) + basic_machine=tic55x-unknown + os=-coff + ;; + tic6x | c6x*) + basic_machine=tic6x-unknown + os=-coff + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* \ + | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -kaos*) + os=-kaos + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + # This also exists in the configure program, but was not the + # default. + # os=-sunos4 + ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/configure b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/configure new file mode 100755 index 00000000..dad8ae41 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/configure @@ -0,0 +1,5965 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.59 for ViennaRNA 1.6. +# +# Report bugs to . +# +# Copyright (C) 2003 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +exec 6>&1 + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_config_libobj_dir=. +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Maximum number of lines to put in a shell here document. +# This variable seems obsolete. It should probably be removed, and +# only ac_max_sed_lines should be used. +: ${ac_max_here_lines=38} + +# Identity of this package. +PACKAGE_NAME='ViennaRNA' +PACKAGE_TARNAME='ViennaRNA' +PACKAGE_VERSION='1.6' +PACKAGE_STRING='ViennaRNA 1.6' +PACKAGE_BUGREPORT='rna@tbi.univie.ac.at' + +ac_subdirs_all="$ac_subdirs_all RNAforester" +ac_subdirs_all="$ac_subdirs_all Kinfold" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif +#if HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar ISODATE build build_cpu build_vendor build_os host host_cpu host_vendor host_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB PerlCmd subdirs MAKE_PERL_EXT_TRUE MAKE_PERL_EXT_FALSE MAKE_CLUSTER_TRUE MAKE_CLUSTER_FALSE MAKE_FORESTER_TRUE MAKE_FORESTER_FALSE MAKE_KINFOLD_TRUE MAKE_KINFOLD_FALSE CPP EGREP LIBOBJS LTLIBOBJS' +ac_subst_files='' + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +ac_prev= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_option in + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + eval "enable_$ac_feature=no" ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "enable_$ac_feature='$ac_optarg'" ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package| sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "with_$ac_package='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/-/_/g'` + eval "with_$ac_package=no" ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + eval "$ac_envvar='$ac_optarg'" + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute paths. +for ac_var in exec_prefix prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# Be sure to have absolute paths. +for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ + localstatedir libdir includedir oldincludedir infodir mandir +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then its parent. + ac_confdir=`(dirname "$0") 2>/dev/null || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r $srcdir/$ac_unique_file; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { (exit 1); exit 1; }; } + else + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } + fi +fi +(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || + { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 + { (exit 1); exit 1; }; } +srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +ac_env_build_alias_set=${build_alias+set} +ac_env_build_alias_value=$build_alias +ac_cv_env_build_alias_set=${build_alias+set} +ac_cv_env_build_alias_value=$build_alias +ac_env_host_alias_set=${host_alias+set} +ac_env_host_alias_value=$host_alias +ac_cv_env_host_alias_set=${host_alias+set} +ac_cv_env_host_alias_value=$host_alias +ac_env_target_alias_set=${target_alias+set} +ac_env_target_alias_value=$target_alias +ac_cv_env_target_alias_set=${target_alias+set} +ac_cv_env_target_alias_value=$target_alias +ac_env_CC_set=${CC+set} +ac_env_CC_value=$CC +ac_cv_env_CC_set=${CC+set} +ac_cv_env_CC_value=$CC +ac_env_CFLAGS_set=${CFLAGS+set} +ac_env_CFLAGS_value=$CFLAGS +ac_cv_env_CFLAGS_set=${CFLAGS+set} +ac_cv_env_CFLAGS_value=$CFLAGS +ac_env_LDFLAGS_set=${LDFLAGS+set} +ac_env_LDFLAGS_value=$LDFLAGS +ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +ac_cv_env_LDFLAGS_value=$LDFLAGS +ac_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_env_CPPFLAGS_value=$CPPFLAGS +ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_cv_env_CPPFLAGS_value=$CPPFLAGS +ac_env_CPP_set=${CPP+set} +ac_env_CPP_value=$CPP +ac_cv_env_CPP_set=${CPP+set} +ac_cv_env_CPP_value=$CPP + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures ViennaRNA 1.6 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +_ACEOF + + cat <<_ACEOF +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data [PREFIX/share] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] +_ACEOF + + cat <<\_ACEOF + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of ViennaRNA 1.6:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-floatpf use float instead of double for partition function + --disable-dependency-tracking speeds up one-time build + --enable-dependency-tracking do not reject slow dependency extractors + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-dmalloc use dmalloc, as in + http://www.dmalloc.com/dmalloc.tar.gz + --with-cluster build AnalyseSeqs and AnalyseDists + --without-perl don't build Perl module + --without-forester don't build RNAforester program + --without-kinfold don't build Kinfold program + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have + headers in a nonstandard directory + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + ac_popdir=`pwd` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d $ac_dir || continue + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + cd $ac_dir + # Check for guested configure; otherwise get Cygnus style configure. + if test -f $ac_srcdir/configure.gnu; then + echo + $SHELL $ac_srcdir/configure.gnu --help=recursive + elif test -f $ac_srcdir/configure; then + echo + $SHELL $ac_srcdir/configure --help=recursive + elif test -f $ac_srcdir/configure.ac || + test -f $ac_srcdir/configure.in; then + echo + $ac_configure --help + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi + cd $ac_popdir + done +fi + +test -n "$ac_init_help" && exit 0 +if $ac_init_version; then + cat <<\_ACEOF +ViennaRNA configure 1.6 +generated by GNU Autoconf 2.59 + +Copyright (C) 2003 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit 0 +fi +exec 5>config.log +cat >&5 <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by ViennaRNA $as_me 1.6, which was +generated by GNU Autoconf 2.59. Invocation command line was + + $ $0 $@ + +_ACEOF +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +hostinfo = `(hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_sep= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" + # Get rid of the leading space. + ac_sep=" " + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Be sure not to use single quotes in there, as some shells, +# such as our DU 5.0 friend, will then `close' the trap. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +{ + (set) 2>&1 | + case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in + *ac_space=\ *) + sed -n \ + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + ;; + *) + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------- ## +## Output files. ## +## ------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + sed "/^$/d" confdefs.h | sort + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core && + rm -rf conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status + ' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo >confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . $cache_file;; + *) . ./$cache_file;; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in `(set) 2>&1 | + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val="\$ac_cv_env_${ac_var}_value" + eval ac_new_val="\$ac_env_${ac_var}_value" + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + + + + + + + + + + + + + + +am__api_version="1.9" +ac_aux_dir= +for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do + if test -f $ac_dir/install-sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f $ac_dir/install.sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f $ac_dir/shtool; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 +echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} + { (exit 1); exit 1; }; } +fi +ac_config_guess="$SHELL $ac_aux_dir/config.guess" +ac_config_sub="$SHELL $ac_aux_dir/config.sub" +ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. We don't cache a + # path for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the path is relative. + INSTALL=$ac_install_sh + fi +fi +echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6 + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +echo "$as_me:$LINENO: checking whether build environment is sane" >&5 +echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6 +# Just in case +sleep 1 +echo timestamp > conftest.file +# Do `set' in a subshell so we don't clobber the current shell's +# arguments. Must try -L first in case configure is actually a +# symlink; some systems play weird games with the mod time of symlinks +# (eg FreeBSD returns the mod time of the symlink's containing +# directory). +if ( + set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` + if test "$*" = "X"; then + # -L didn't work. + set X `ls -t $srcdir/configure conftest.file` + fi + rm -f conftest.file + if test "$*" != "X $srcdir/configure conftest.file" \ + && test "$*" != "X conftest.file $srcdir/configure"; then + + # If neither matched, then we have a broken ls. This can happen + # if, for instance, CONFIG_SHELL is bash and it inherits a + # broken ls alias from the environment. This has actually + # happened. Such a system could not be considered "sane". + { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&5 +echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken +alias in your environment" >&2;} + { (exit 1); exit 1; }; } + fi + + test "$2" = conftest.file + ) +then + # Ok. + : +else + { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! +Check your system clock" >&5 +echo "$as_me: error: newly created file is older than distributed files! +Check your system clock" >&2;} + { (exit 1); exit 1; }; } +fi +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 +test "$program_prefix" != NONE && + program_transform_name="s,^,$program_prefix,;$program_transform_name" +# Use a double $ so make ignores it. +test "$program_suffix" != NONE && + program_transform_name="s,\$,$program_suffix,;$program_transform_name" +# Double any \ or $. echo might interpret backslashes. +# By default was `s,x,x', remove it if useless. +cat <<\_ACEOF >conftest.sed +s/[\\$]/&&/g;s/;s,x,x,$// +_ACEOF +program_transform_name=`echo $program_transform_name | sed -f conftest.sed` +rm conftest.sed + +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` + +test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" +# Use eval to expand $SHELL +if eval "$MISSING --run true"; then + am_missing_run="$MISSING --run " +else + am_missing_run= + { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 +echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} +fi + +if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + # We used to keeping the `.' as first argument, in order to + # allow $(mkdir_p) to be used without argument. As in + # $(mkdir_p) $(somedir) + # where $(somedir) is conditionally defined. However this is wrong + # for two reasons: + # 1. if the package is installed by a user who cannot write `.' + # make install will fail, + # 2. the above comment should most certainly read + # $(mkdir_p) $(DESTDIR)$(somedir) + # so it does not work when $(somedir) is undefined and + # $(DESTDIR) is not. + # To support the latter case, we have to write + # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir), + # so the `.' trick is pointless. + mkdir_p='mkdir -p --' +else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + for d in ./-p ./--version; + do + test -d $d && rmdir $d + done + # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists. + if test -f "$ac_aux_dir/mkinstalldirs"; then + mkdir_p='$(mkinstalldirs)' + else + mkdir_p='$(install_sh) -d' + fi +fi + +for ac_prog in gawk mawk nawk awk +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_AWK+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + echo "$as_me:$LINENO: result: $AWK" >&5 +echo "${ECHO_T}$AWK" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$AWK" && break +done + +echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'` +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +all: + @echo 'ac_maketemp="$(MAKE)"' +_ACEOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` +if test -n "$ac_maketemp"; then + eval ac_cv_prog_make_${ac_make}_set=yes +else + eval ac_cv_prog_make_${ac_make}_set=no +fi +rm -f conftest.make +fi +if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + SET_MAKE= +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 + SET_MAKE="MAKE=${MAKE-make}" +fi + +rm -rf .tst 2>/dev/null +mkdir .tst 2>/dev/null +if test -d .tst; then + am__leading_dot=. +else + am__leading_dot=_ +fi +rmdir .tst 2>/dev/null + +# test to see if srcdir already configured +if test "`cd $srcdir && pwd`" != "`pwd`" && + test -f $srcdir/config.status; then + { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 +echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} + { (exit 1); exit 1; }; } +fi + +# test whether we have cygpath +if test -z "$CYGPATH_W"; then + if (cygpath --version) >/dev/null 2>/dev/null; then + CYGPATH_W='cygpath -w' + else + CYGPATH_W=echo + fi +fi + + +# Define the identity of the package. + PACKAGE='ViennaRNA' + VERSION='1.6' + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE "$PACKAGE" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define VERSION "$VERSION" +_ACEOF + +# Some tools Automake needs. + +ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} + + +AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} + + +AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} + + +AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} + + +MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} + +install_sh=${install_sh-"$am_aux_dir/install-sh"} + +# Installed binaries are usually stripped using `strip' when the user +# run `make install-strip'. However `strip' might not be the right +# tool to use in cross-compilation environments, therefore Automake +# will honor the `STRIP' environment variable to overrule this program. +if test "$cross_compiling" != no; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$STRIP"; then + ac_cv_prog_STRIP="$STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + echo "$as_me:$LINENO: result: $STRIP" >&5 +echo "${ECHO_T}$STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_STRIP"; then + ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_STRIP" && ac_cv_prog_ac_ct_STRIP=":" +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 +echo "${ECHO_T}$ac_ct_STRIP" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + STRIP=$ac_ct_STRIP +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s" + +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. +# Always define AMTAR for backward compatibility. + +AMTAR=${AMTAR-"${am_missing_run}tar"} + +am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' + + + + + + +echo "$as_me:$LINENO: checking if malloc debugging is wanted" >&5 +echo $ECHO_N "checking if malloc debugging is wanted... $ECHO_C" >&6 + +# Check whether --with-dmalloc or --without-dmalloc was given. +if test "${with_dmalloc+set}" = set; then + withval="$with_dmalloc" + if test "$withval" = yes; then + echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +cat >>confdefs.h <<\_ACEOF +#define WITH_DMALLOC 1 +_ACEOF + + LIBS="$LIBS -ldmalloc" + LDFLAGS="$LDFLAGS -g" +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi; + + +# Check whether --with-cluster or --without-cluster was given. +if test "${with_cluster+set}" = set; then + withval="$with_cluster" + +fi; + +# Check whether --with-perl or --without-perl was given. +if test "${with_perl+set}" = set; then + withval="$with_perl" + +fi; + +# Check whether --with-forester or --without-forester was given. +if test "${with_forester+set}" = set; then + withval="$with_forester" + +fi; + +# Check whether --with-kinfold or --without-kinfold was given. +if test "${with_kinfold+set}" = set; then + withval="$with_kinfold" + +fi; +# Check whether --enable-floatpf or --disable-floatpf was given. +if test "${enable_floatpf+set}" = set; then + enableval="$enable_floatpf" + +fi; + + ac_config_headers="$ac_config_headers config.h" + + + + +ISODATE=`date +%Y-%m-%d` + + +# Make sure we can run config.sub. +$ac_config_sub sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 +echo "$as_me: error: cannot run $ac_config_sub" >&2;} + { (exit 1); exit 1; }; } + +echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6 +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_build_alias=$build_alias +test -z "$ac_cv_build_alias" && + ac_cv_build_alias=`$ac_config_guess` +test -z "$ac_cv_build_alias" && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6 +build=$ac_cv_build +build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + +echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6 +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_host_alias=$host_alias +test -z "$ac_cv_host_alias" && + ac_cv_host_alias=$ac_cv_build_alias +ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || + { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 +echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} + { (exit 1); exit 1; }; } + +fi +echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6 +host=$ac_cv_host +host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + CC=$ac_ct_CC +else + CC="$ac_cv_prog_CC" +fi + +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CC" && break +done + + CC=$ac_ct_CC +fi + +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 + (eval $ac_link_default) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Find the output, starting from the most likely. This scheme is +# not robust to junk in `.', hence go to wildcards (a.*) only as a last +# resort. + +# Be careful to initialize this variable, since it used to be cached. +# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +ac_cv_exeext= +# b.out is created by i960 compilers. +for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) + ;; + conftest.$ac_ext ) + # This is the source file. + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool, + # but it would be cool to find out if it's true. Does anybody + # maintain Libtool? --akim. + export ac_cv_exeext + break;; + * ) + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6 + +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 +echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6 + +echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + export ac_cv_exeext + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6 + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6 +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +CFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cc_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_stdc=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_stdc=$ac_arg +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext +done +rm -f conftest.$ac_ext conftest.$ac_objext +CC=$ac_save_CC + +fi + +case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 ;; + *) + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; +esac + +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +#ifndef __cplusplus + choke me +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +#include +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +DEPDIR="${am__leading_dot}deps" + + ac_config_commands="$ac_config_commands depfiles" + + +am_make=${MAKE-make} +cat > confinc << 'END' +am__doit: + @echo done +.PHONY: am__doit +END +# If we don't find an include directive, just comment out the code. +echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 +echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6 +am__include="#" +am__quote= +_am_result=none +# First try GNU make style include. +echo "include confinc" > confmf +# We grep out `Entering directory' and `Leaving directory' +# messages which can occur if `w' ends up in MAKEFLAGS. +# In particular we don't look at `^make:' because GNU make might +# be invoked under some other name (usually "gmake"), in which +# case it prints its new name instead of `make'. +if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then + am__include=include + am__quote= + _am_result=GNU +fi +# Now try BSD make style include. +if test "$am__include" = "#"; then + echo '.include "confinc"' > confmf + if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then + am__include=.include + am__quote="\"" + _am_result=BSD + fi +fi + + +echo "$as_me:$LINENO: result: $_am_result" >&5 +echo "${ECHO_T}$_am_result" >&6 +rm -f confinc confmf + +# Check whether --enable-dependency-tracking or --disable-dependency-tracking was given. +if test "${enable_dependency_tracking+set}" = set; then + enableval="$enable_dependency_tracking" + +fi; +if test "x$enable_dependency_tracking" != xno; then + am_depcomp="$ac_aux_dir/depcomp" + AMDEPBACKSLASH='\' +fi + + +if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + + + +depcc="$CC" am_compiler_list= + +echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 +echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6 +if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then + # We make a subdir and do the tests there. Otherwise we can end up + # making bogus files that we don't know about and never remove. For + # instance it was reported that on HP-UX the gcc test will end up + # making a dummy file named `D' -- because `-MD' means `put the output + # in D'. + mkdir conftest.dir + # Copy depcomp to subdir because otherwise we won't find it if we're + # using a relative directory. + cp "$am_depcomp" conftest.dir + cd conftest.dir + # We will build objects and dependencies in a subdirectory because + # it helps to detect inapplicable dependency modes. For instance + # both Tru64's cc and ICC support -MD to output dependencies as a + # side effect of compilation, but ICC will put the dependencies in + # the current directory while Tru64 will put them in the object + # directory. + mkdir sub + + am_cv_CC_dependencies_compiler_type=none + if test "$am_compiler_list" = ""; then + am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` + fi + for depmode in $am_compiler_list; do + # Setup a source with many dependencies, because some compilers + # like to wrap large dependency lists on column 80 (with \), and + # we should not choose a depcomp mode which is confused by this. + # + # We need to recreate these files for each test, as the compiler may + # overwrite some of them when testing with obscure command lines. + # This happens at least with the AIX C compiler. + : > sub/conftest.c + for i in 1 2 3 4 5 6; do + echo '#include "conftst'$i'.h"' >> sub/conftest.c + # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with + # Solaris 8's {/usr,}/bin/sh. + touch sub/conftst$i.h + done + echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf + + case $depmode in + nosideeffect) + # after this tag, mechanisms are not by side-effect, so they'll + # only be used when explicitly requested + if test "x$enable_dependency_tracking" = xyes; then + continue + else + break + fi + ;; + none) break ;; + esac + # We check with `-c' and `-o' for the sake of the "dashmstdout" + # mode. It turns out that the SunPro C++ compiler does not properly + # handle `-M -o', and we need to detect this. + if depmode=$depmode \ + source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ + depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ + $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ + >/dev/null 2>conftest.err && + grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && + grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && + ${MAKE-make} -s -f confmf > /dev/null 2>&1; then + # icc doesn't choke on unknown options, it will just issue warnings + # or remarks (even with -Werror). So we grep stderr for any message + # that says an option was ignored or not supported. + # When given -MP, icc 7.0 and 7.1 complain thusly: + # icc: Command line warning: ignoring option '-M'; no argument required + # The diagnosis changed in icc 8.0: + # icc: Command line remark: option '-MP' not supported + if (grep 'ignoring option' conftest.err || + grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else + am_cv_CC_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CC_dependencies_compiler_type=none +fi + +fi +echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 +echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6 +CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type + + + +if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then + am__fastdepCC_TRUE= + am__fastdepCC_FALSE='#' +else + am__fastdepCC_TRUE='#' + am__fastdepCC_FALSE= +fi + + +if test "$GCC" = yes; then + +cat >>confdefs.h <<\_ACEOF +#define UNUSED __attribute__ ((unused)) +_ACEOF + +else + +cat >>confdefs.h <<\_ACEOF +#define UNUSED +_ACEOF + +fi +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. We don't cache a + # path for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the path is relative. + INSTALL=$ac_install_sh + fi +fi +echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6 + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + RANLIB=$ac_ct_RANLIB +else + RANLIB="$ac_cv_prog_RANLIB" +fi + + +# Extract the first word of "perl", so it can be a program name with args. +set dummy perl; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_path_PerlCmd+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + case $PerlCmd in + [\\/]* | ?:[\\/]*) + ac_cv_path_PerlCmd="$PerlCmd" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PerlCmd="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + ;; +esac +fi +PerlCmd=$ac_cv_path_PerlCmd + +if test -n "$PerlCmd"; then + echo "$as_me:$LINENO: result: $PerlCmd" >&5 +echo "${ECHO_T}$PerlCmd" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +if test -n "$PerlCmd"; then + if $PerlCmd -e 'require 5.004'; then : + else + echo "$as_me:$LINENO: result: You need Perl version 5.004 or higher for the Perl module" >&5 +echo "${ECHO_T}You need Perl version 5.004 or higher for the Perl module" >&6 + with_perl="no" + fi +fi + +if test -z "$PerlCmd"; then + echo "$as_me:$LINENO: result: No suitable Perl found -- will not build Perl module" >&5 +echo "${ECHO_T}No suitable Perl found -- will not build Perl module" >&6 + echo "$as_me:$LINENO: result: You may set the PerlCmd environment variable to point to + a suitable perl binary" >&5 +echo "${ECHO_T}You may set the PerlCmd environment variable to point to + a suitable perl binary" >&6 + with_perl="no" +fi + +if test "$with_forester" != "no"; then + if test -f $srcdir/RNAforester/Makefile.am; then + + +subdirs="$subdirs RNAforester" + + else + { echo "$as_me:$LINENO: WARNING: RNAforester subdirectory does not exist" >&5 +echo "$as_me: WARNING: RNAforester subdirectory does not exist" >&2;} + with_forester="no" + fi +fi + +if test "$with_kinfold" != "no"; then + if test -f $srcdir/Kinfold/Makefile.am; then + + +subdirs="$subdirs Kinfold" + + else + { echo "$as_me:$LINENO: WARNING: Kinfold subdirectory does not exist" >&5 +echo "$as_me: WARNING: Kinfold subdirectory does not exist" >&2;} + with_kinfold="no" + fi +fi + + + +if test "$with_perl" != "no"; then + MAKE_PERL_EXT_TRUE= + MAKE_PERL_EXT_FALSE='#' +else + MAKE_PERL_EXT_TRUE='#' + MAKE_PERL_EXT_FALSE= +fi + + + + +if test "$with_cluster" = "yes"; then + MAKE_CLUSTER_TRUE= + MAKE_CLUSTER_FALSE='#' +else + MAKE_CLUSTER_TRUE='#' + MAKE_CLUSTER_FALSE= +fi + + + + +if test "$with_forester" != "no"; then + MAKE_FORESTER_TRUE= + MAKE_FORESTER_FALSE='#' +else + MAKE_FORESTER_TRUE='#' + MAKE_FORESTER_FALSE= +fi + + + + +if test "$with_kinfold" != "no"; then + MAKE_KINFOLD_TRUE= + MAKE_KINFOLD_FALSE='#' +else + MAKE_KINFOLD_TRUE='#' + MAKE_KINFOLD_FALSE= +fi + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6 +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +if test "${ac_cv_prog_egrep+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +echo "${ECHO_T}$ac_cv_prog_egrep" >&6 + EGREP=$ac_cv_prog_egrep + + +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6 +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + +for ac_header in malloc.h strings.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ----------------------------------- ## +## Report this to rna@tbi.univie.ac.at ## +## ----------------------------------- ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 +if test "${ac_cv_c_const+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset x; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *ccp; + char **p; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + ccp = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++ccp; + p = (char**) ccp; + ccp = (char const *const *) p; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + } +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_const=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_c_const=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +echo "${ECHO_T}$ac_cv_c_const" >&6 +if test $ac_cv_c_const = no; then + +cat >>confdefs.h <<\_ACEOF +#define const +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for size_t" >&5 +echo $ECHO_N "checking for size_t... $ECHO_C" >&6 +if test "${ac_cv_type_size_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if ((size_t *) 0) + return 0; +if (sizeof (size_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_type_size_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_type_size_t=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 +echo "${ECHO_T}$ac_cv_type_size_t" >&6 +if test $ac_cv_type_size_t = yes; then + : +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for inline" >&5 +echo $ECHO_N "checking for inline... $ECHO_C" >&6 +if test "${ac_cv_c_inline+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_inline=$ac_kw; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +echo "${ECHO_T}$ac_cv_c_inline" >&6 + + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + + + + + + +for ac_func in strdup strstr strchr erand48 +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + + ac_config_files="$ac_config_files Makefile ViennaRNA.spec Utils/Makefile Progs/Makefile lib/Makefile man/Makefile Cluster/Makefile H/Makefile Perl/Makefile man/RNAheat.1 man/RNAsubopt.1 man/RNAdistance.1 man/RNAinverse.1 man/RNAeval.1 man/RNAfold.1 man/RNApdist.1 man/RNAplot.1 man/RNALfold.1 man/RNAalifold.1 man/RNAduplex.1 man/RNAcofold.1 man/RNAplfold.1" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +{ + (set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} | + sed ' + t clear + : clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + : end' >>confcache +if diff $cache_file confcache >/dev/null 2>&1; then :; else + if test -w $cache_file; then + test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + cat confcache >$cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +}' +fi + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_i=`echo "$ac_i" | + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + # 2. Add them. + ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${MAKE_PERL_EXT_TRUE}" && test -z "${MAKE_PERL_EXT_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAKE_PERL_EXT\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAKE_PERL_EXT\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${MAKE_CLUSTER_TRUE}" && test -z "${MAKE_CLUSTER_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAKE_CLUSTER\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAKE_CLUSTER\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${MAKE_FORESTER_TRUE}" && test -z "${MAKE_FORESTER_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAKE_FORESTER\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAKE_FORESTER\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi +if test -z "${MAKE_KINFOLD_TRUE}" && test -z "${MAKE_KINFOLD_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"MAKE_KINFOLD\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"MAKE_KINFOLD\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by ViennaRNA $as_me 1.6, which was +generated by GNU Autoconf 2.59. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +_ACEOF + +# Files that config.status was made for. +if test -n "$ac_config_files"; then + echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_headers"; then + echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_links"; then + echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_commands"; then + echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +fi + +cat >>$CONFIG_STATUS <<\_ACEOF + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Configuration commands: +$config_commands + +Report bugs to ." +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +ViennaRNA config.status 1.6 +configured by $0, generated by GNU Autoconf 2.59, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2003 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=$srcdir +INSTALL="$INSTALL" +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# +# INIT-COMMANDS section. +# + +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" + +_ACEOF + + + +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "ViennaRNA.spec" ) CONFIG_FILES="$CONFIG_FILES ViennaRNA.spec" ;; + "Utils/Makefile" ) CONFIG_FILES="$CONFIG_FILES Utils/Makefile" ;; + "Progs/Makefile" ) CONFIG_FILES="$CONFIG_FILES Progs/Makefile" ;; + "lib/Makefile" ) CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; + "man/Makefile" ) CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; + "Cluster/Makefile" ) CONFIG_FILES="$CONFIG_FILES Cluster/Makefile" ;; + "H/Makefile" ) CONFIG_FILES="$CONFIG_FILES H/Makefile" ;; + "Perl/Makefile" ) CONFIG_FILES="$CONFIG_FILES Perl/Makefile" ;; + "man/RNAheat.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAheat.1" ;; + "man/RNAsubopt.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAsubopt.1" ;; + "man/RNAdistance.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAdistance.1" ;; + "man/RNAinverse.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAinverse.1" ;; + "man/RNAeval.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAeval.1" ;; + "man/RNAfold.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAfold.1" ;; + "man/RNApdist.1" ) CONFIG_FILES="$CONFIG_FILES man/RNApdist.1" ;; + "man/RNAplot.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAplot.1" ;; + "man/RNALfold.1" ) CONFIG_FILES="$CONFIG_FILES man/RNALfold.1" ;; + "man/RNAalifold.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAalifold.1" ;; + "man/RNAduplex.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAduplex.1" ;; + "man/RNAcofold.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAcofold.1" ;; + "man/RNAplfold.1" ) CONFIG_FILES="$CONFIG_FILES man/RNAplfold.1" ;; + "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers + test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "\$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +s,@SHELL@,$SHELL,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +s,@exec_prefix@,$exec_prefix,;t t +s,@prefix@,$prefix,;t t +s,@program_transform_name@,$program_transform_name,;t t +s,@bindir@,$bindir,;t t +s,@sbindir@,$sbindir,;t t +s,@libexecdir@,$libexecdir,;t t +s,@datadir@,$datadir,;t t +s,@sysconfdir@,$sysconfdir,;t t +s,@sharedstatedir@,$sharedstatedir,;t t +s,@localstatedir@,$localstatedir,;t t +s,@libdir@,$libdir,;t t +s,@includedir@,$includedir,;t t +s,@oldincludedir@,$oldincludedir,;t t +s,@infodir@,$infodir,;t t +s,@mandir@,$mandir,;t t +s,@build_alias@,$build_alias,;t t +s,@host_alias@,$host_alias,;t t +s,@target_alias@,$target_alias,;t t +s,@DEFS@,$DEFS,;t t +s,@ECHO_C@,$ECHO_C,;t t +s,@ECHO_N@,$ECHO_N,;t t +s,@ECHO_T@,$ECHO_T,;t t +s,@LIBS@,$LIBS,;t t +s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@CYGPATH_W@,$CYGPATH_W,;t t +s,@PACKAGE@,$PACKAGE,;t t +s,@VERSION@,$VERSION,;t t +s,@ACLOCAL@,$ACLOCAL,;t t +s,@AUTOCONF@,$AUTOCONF,;t t +s,@AUTOMAKE@,$AUTOMAKE,;t t +s,@AUTOHEADER@,$AUTOHEADER,;t t +s,@MAKEINFO@,$MAKEINFO,;t t +s,@install_sh@,$install_sh,;t t +s,@STRIP@,$STRIP,;t t +s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t +s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t +s,@mkdir_p@,$mkdir_p,;t t +s,@AWK@,$AWK,;t t +s,@SET_MAKE@,$SET_MAKE,;t t +s,@am__leading_dot@,$am__leading_dot,;t t +s,@AMTAR@,$AMTAR,;t t +s,@am__tar@,$am__tar,;t t +s,@am__untar@,$am__untar,;t t +s,@ISODATE@,$ISODATE,;t t +s,@build@,$build,;t t +s,@build_cpu@,$build_cpu,;t t +s,@build_vendor@,$build_vendor,;t t +s,@build_os@,$build_os,;t t +s,@host@,$host,;t t +s,@host_cpu@,$host_cpu,;t t +s,@host_vendor@,$host_vendor,;t t +s,@host_os@,$host_os,;t t +s,@CC@,$CC,;t t +s,@CFLAGS@,$CFLAGS,;t t +s,@LDFLAGS@,$LDFLAGS,;t t +s,@CPPFLAGS@,$CPPFLAGS,;t t +s,@ac_ct_CC@,$ac_ct_CC,;t t +s,@EXEEXT@,$EXEEXT,;t t +s,@OBJEXT@,$OBJEXT,;t t +s,@DEPDIR@,$DEPDIR,;t t +s,@am__include@,$am__include,;t t +s,@am__quote@,$am__quote,;t t +s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t +s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t +s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t +s,@CCDEPMODE@,$CCDEPMODE,;t t +s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t +s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t +s,@RANLIB@,$RANLIB,;t t +s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +s,@PerlCmd@,$PerlCmd,;t t +s,@subdirs@,$subdirs,;t t +s,@MAKE_PERL_EXT_TRUE@,$MAKE_PERL_EXT_TRUE,;t t +s,@MAKE_PERL_EXT_FALSE@,$MAKE_PERL_EXT_FALSE,;t t +s,@MAKE_CLUSTER_TRUE@,$MAKE_CLUSTER_TRUE,;t t +s,@MAKE_CLUSTER_FALSE@,$MAKE_CLUSTER_FALSE,;t t +s,@MAKE_FORESTER_TRUE@,$MAKE_FORESTER_TRUE,;t t +s,@MAKE_FORESTER_FALSE@,$MAKE_FORESTER_FALSE,;t t +s,@MAKE_KINFOLD_TRUE@,$MAKE_KINFOLD_TRUE,;t t +s,@MAKE_KINFOLD_FALSE@,$MAKE_KINFOLD_FALSE,;t t +s,@CPP@,$CPP,;t t +s,@EGREP@,$EGREP,;t t +s,@LIBOBJS@,$LIBOBJS,;t t +s,@LTLIBOBJS@,$LTLIBOBJS,;t t +CEOF + +_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_HEADER section. +# + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' +ac_dC=' ' +ac_dD=',;t' +# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='$,\1#\2define\3' +ac_uC=' ' +ac_uD=',;t' + +for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + # Remove the trailing spaces. + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + +_ACEOF + +# Transform confdefs.h into two sed scripts, `conftest.defines' and +# `conftest.undefs', that substitutes the proper values into +# config.h.in to produce config.h. The first handles `#define' +# templates, and the second `#undef' templates. +# And first: Protect against being on the right side of a sed subst in +# config.status. Protect against being in an unquoted here document +# in config.status. +rm -f conftest.defines conftest.undefs +# Using a here document instead of a string reduces the quoting nightmare. +# Putting comments in sed scripts is not portable. +# +# `end' is used to avoid that the second main sed command (meant for +# 0-ary CPP macros) applies to n-ary macro definitions. +# See the Autoconf documentation for `clear'. +cat >confdef2sed.sed <<\_ACEOF +s/[\\&,]/\\&/g +s,[\\$`],\\&,g +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp +t end +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +: end +_ACEOF +# If some macros were called several times there might be several times +# the same #defines, which is useless. Nevertheless, we may not want to +# sort them, since we want the *last* AC-DEFINE to be honored. +uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines +sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs +rm -f confdef2sed.sed + +# This sed command replaces #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +cat >>conftest.undefs <<\_ACEOF +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +_ACEOF + +# Break up conftest.defines because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS +echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS +echo ' :' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.defines >/dev/null +do + # Write a limited-size here document to $tmp/defines.sed. + echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS + # Speed up: don't consider the non `#define' lines. + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/defines.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines +echo ' fi # grep' >>$CONFIG_STATUS +echo >>$CONFIG_STATUS + +# Break up conftest.undefs because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #undef templates' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.undefs >/dev/null +do + # Write a limited-size here document to $tmp/undefs.sed. + echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS + # Speed up: don't consider the non `#undef' + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/undefs.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail + rm -f conftest.undefs + mv conftest.tail conftest.undefs +done +rm -f conftest.undefs + +cat >>$CONFIG_STATUS <<\_ACEOF + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + echo "/* Generated by configure. */" >$tmp/config.h + else + echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + fi + cat $tmp/in >>$tmp/config.h + rm -f $tmp/in + if test x"$ac_file" != x-; then + if diff $ac_file $tmp/config.h >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + rm -f $ac_file + mv $tmp/config.h $ac_file + fi + else + cat $tmp/config.h + rm -f $tmp/config.h + fi +# Compute $ac_file's index in $config_headers. +_am_stamp_count=1 +for _am_header in $config_headers :; do + case $_am_header in + $ac_file | $ac_file:* ) + break ;; + * ) + _am_stamp_count=`expr $_am_stamp_count + 1` ;; + esac +done +echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null || +$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X$ac_file : 'X\(//\)[^/]' \| \ + X$ac_file : 'X\(//\)$' \| \ + X$ac_file : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X$ac_file | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'`/stamp-h$_am_stamp_count +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_COMMANDS section. +# +for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue + ac_dest=`echo "$ac_file" | sed 's,:.*,,'` + ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_dir=`(dirname "$ac_dest") 2>/dev/null || +$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_dest" : 'X\(//\)[^/]' \| \ + X"$ac_dest" : 'X\(//\)$' \| \ + X"$ac_dest" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_dest" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + { echo "$as_me:$LINENO: executing $ac_dest commands" >&5 +echo "$as_me: executing $ac_dest commands" >&6;} + case $ac_dest in + depfiles ) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + # Strip MF so we end up with the name of the file. + mf=`echo "$mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile or not. + # We used to match only the files named `Makefile.in', but + # some people rename them; so instead we look at the file content. + # Grep'ing the first line is not enough: some people post-process + # each Makefile.in and add a new line on top of each file to say so. + # So let's grep whole file. + if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then + dirpart=`(dirname "$mf") 2>/dev/null || +$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$mf" : 'X\(//\)[^/]' \| \ + X"$mf" : 'X\(//\)$' \| \ + X"$mf" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$mf" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + else + continue + fi + # Extract the definition of DEPDIR, am__include, and am__quote + # from the Makefile without running `make'. + DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` + test -z "$DEPDIR" && continue + am__include=`sed -n 's/^am__include = //p' < "$mf"` + test -z "am__include" && continue + am__quote=`sed -n 's/^am__quote = //p' < "$mf"` + # When using ansi2knr, U may be empty or an underscore; expand it + U=`sed -n 's/^U = //p' < "$mf"` + # Find all dependency output files, they are included files with + # $(DEPDIR) in their names. We invoke sed twice because it is the + # simplest approach to changing $(DEPDIR) to its actual value in the + # expansion. + for file in `sed -n " + s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ + sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do + # Make sure the directory exists. + test -f "$dirpart/$file" && continue + fdir=`(dirname "$file") 2>/dev/null || +$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$file" : 'X\(//\)[^/]' \| \ + X"$file" : 'X\(//\)$' \| \ + X"$file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p $dirpart/$fdir + else + as_dir=$dirpart/$fdir + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory $dirpart/$fdir" >&5 +echo "$as_me: error: cannot create directory $dirpart/$fdir" >&2;} + { (exit 1); exit 1; }; }; } + + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done +done + ;; + esac +done +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + +# +# CONFIG_SUBDIRS section. +# +if test "$no_recursion" != yes; then + + # Remove --cache-file and --srcdir arguments so they do not pile up. + ac_sub_configure_args= + ac_prev= + for ac_arg in $ac_configure_args; do + if test -n "$ac_prev"; then + ac_prev= + continue + fi + case $ac_arg in + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \ + | --c=*) + ;; + --config-cache | -C) + ;; + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + ;; + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + ;; + *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;; + esac + done + + # Always prepend --prefix to ensure using the same prefix + # in subdir configurations. + ac_sub_configure_args="--prefix=$prefix $ac_sub_configure_args" + + ac_popdir=`pwd` + for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue + + # Do not complain, so a configure script can configure whichever + # parts of a large source tree are present. + test -d $srcdir/$ac_dir || continue + + { echo "$as_me:$LINENO: configuring in $ac_dir" >&5 +echo "$as_me: configuring in $ac_dir" >&6;} + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac + +# Do not use `cd foo && pwd` to compute absolute paths, because +# the directories may not exist. +case `pwd` in +.) ac_abs_builddir="$ac_dir";; +*) + case "$ac_dir" in + .) ac_abs_builddir=`pwd`;; + [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; + *) ac_abs_builddir=`pwd`/"$ac_dir";; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; + esac;; +esac +case $ac_abs_builddir in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir=$ac_abs_builddir;; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; + esac;; +esac + + + cd $ac_dir + + # Check for guested configure; otherwise get Cygnus style configure. + if test -f $ac_srcdir/configure.gnu; then + ac_sub_configure="$SHELL '$ac_srcdir/configure.gnu'" + elif test -f $ac_srcdir/configure; then + ac_sub_configure="$SHELL '$ac_srcdir/configure'" + elif test -f $ac_srcdir/configure.in; then + ac_sub_configure=$ac_configure + else + { echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5 +echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;} + ac_sub_configure= + fi + + # The recursion is here. + if test -n "$ac_sub_configure"; then + # Make the cache file name correct relative to the subdirectory. + case $cache_file in + [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;; + *) # Relative path. + ac_sub_cache_file=$ac_top_builddir$cache_file ;; + esac + + { echo "$as_me:$LINENO: running $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5 +echo "$as_me: running $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;} + # The eval makes quoting arguments work. + eval $ac_sub_configure $ac_sub_configure_args \ + --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir || + { { echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5 +echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;} + { (exit 1); exit 1; }; } + fi + + cd $ac_popdir + done +fi + + +eval _bindir=$(eval echo $bindir) +eval _libdir=$(eval echo $libdir) +eval _includedir=${includedir} +eval _datadir=$datadir +eval _mandir=$mandir + +{ echo "$as_me:$LINENO: +Configure successful with the following options: + + Perl Extension: ${with_perl:-yes} + Analyse{Dists,Seqs}: ${with_cluster:-no} + Kinfold: ${with_kinfold:-yes} + RNAforester: ${with_forester:-yes} + +Files will be installed in the following directories: + + Executables: $_bindir + Libraries: $_libdir + Header files: $_includedir + Extra Data: $_datadir + Man pages: $_mandir +" >&5 +echo "$as_me: +Configure successful with the following options: + + Perl Extension: ${with_perl:-yes} + Analyse{Dists,Seqs}: ${with_cluster:-no} + Kinfold: ${with_kinfold:-yes} + RNAforester: ${with_forester:-yes} + +Files will be installed in the following directories: + + Executables: $_bindir + Libraries: $_libdir + Header files: $_includedir + Extra Data: $_datadir + Man pages: $_mandir +" >&6;} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/configure.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/configure.in new file mode 100755 index 00000000..0f63161f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/configure.in @@ -0,0 +1,118 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT([ViennaRNA],[1.6],[rna@tbi.univie.ac.at],[ViennaRNA]) +dnl Every other copy of the package version number gets its value from here +AM_INIT_AUTOMAKE +dnl change the default installation prefix +dnl AC_PREFIX_DEFAULT(/usr/local/RNA) + +dnl configure options +AM_WITH_DMALLOC +AC_ARG_WITH(cluster, [ --with-cluster build AnalyseSeqs and AnalyseDists]) +AC_ARG_WITH(perl, [ --without-perl don't build Perl module]) +AC_ARG_WITH(forester, [ --without-forester don't build RNAforester program]) +AC_ARG_WITH(kinfold, [ --without-kinfold don't build Kinfold program]) +AC_ARG_ENABLE(floatpf, [ --enable-floatpf use float instead of double for partition function], []) + +dnl create a config.h file (Automake will add -DHAVE_CONFIG_H) +AC_CONFIG_HEADERS([config.h]) + +AC_SUBST(VERSION) + +ISODATE=`date +%Y-%m-%d` +AC_SUBST(ISODATE) + +AC_CANONICAL_HOST + +dnl Checks for programs. +AC_PROG_CC +if test "$GCC" = yes; then + AC_DEFINE(UNUSED, __attribute__ ((unused)), avoid warning about unused variables) +else + AC_DEFINE(UNUSED,, only for gcc) +fi +AC_PROG_INSTALL +AC_PROG_RANLIB + +AC_PATH_PROG(PerlCmd, perl) +if test -n "$PerlCmd"; then + if $PerlCmd -e 'require 5.004'; then : + else + AC_MSG_RESULT(You need Perl version 5.004 or higher for the Perl module) + with_perl="no" + fi +fi + +if test -z "$PerlCmd"; then + AC_MSG_RESULT(No suitable Perl found -- will not build Perl module) + AC_MSG_RESULT(You may set the PerlCmd environment variable to point to + a suitable perl binary) + with_perl="no" +fi + +if test "$with_forester" != "no"; then + if test -f $srcdir/RNAforester/Makefile.am; then + AC_CONFIG_SUBDIRS(RNAforester) + else + AC_MSG_WARN([RNAforester subdirectory does not exist]) + with_forester="no" + fi +fi + +if test "$with_kinfold" != "no"; then + if test -f $srcdir/Kinfold/Makefile.am; then + AC_CONFIG_SUBDIRS(Kinfold) + else + AC_MSG_WARN([Kinfold subdirectory does not exist]) + with_kinfold="no" + fi +fi + +AM_CONDITIONAL(MAKE_PERL_EXT, test "$with_perl" != "no") + +AM_CONDITIONAL(MAKE_CLUSTER, test "$with_cluster" = "yes") + +AM_CONDITIONAL(MAKE_FORESTER, test "$with_forester" != "no") + +AM_CONDITIONAL(MAKE_KINFOLD, test "$with_kinfold" != "no") + +dnl Checks for libraries. +dnl AC_REPLACE_GNU_GETOPT + +dnl Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS(malloc.h strings.h unistd.h) + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_TYPE_SIZE_T +AC_C_INLINE([]) + +dnl Checks for library functions. +AC_CHECK_FUNCS(strdup strstr strchr erand48) + +AC_CONFIG_FILES([Makefile ViennaRNA.spec Utils/Makefile Progs/Makefile lib/Makefile man/Makefile Cluster/Makefile H/Makefile Perl/Makefile man/RNAheat.1 man/RNAsubopt.1 man/RNAdistance.1 man/RNAinverse.1 man/RNAeval.1 man/RNAfold.1 man/RNApdist.1 man/RNAplot.1 man/RNALfold.1 man/RNAalifold.1 man/RNAduplex.1 man/RNAcofold.1 man/RNAplfold.1]) +AC_OUTPUT + +eval _bindir=$(eval echo $bindir) +eval _libdir=$(eval echo $libdir) +eval _includedir=${includedir} +eval _datadir=$datadir +eval _mandir=$mandir + +AC_MSG_NOTICE( +[ +Configure successful with the following options: + + Perl Extension: ${with_perl:-yes} + Analyse{Dists,Seqs}: ${with_cluster:-no} + Kinfold: ${with_kinfold:-yes} + RNAforester: ${with_forester:-yes} + +Files will be installed in the following directories: + + Executables: $_bindir + Libraries: $_libdir + Header files: $_includedir + Extra Data: $_datadir + Man pages: $_mandir +]) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/default.par b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/default.par new file mode 100755 index 00000000..442aca4f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/default.par @@ -0,0 +1,11620 @@ +## RNAfold parameter file + +# stack_energies +/* CG GC GU UG AU UA @ */ + -240 -330 -210 -140 -210 -210 NST + -330 -340 -250 -150 -220 -240 NST + -210 -250 130 -50 -140 -130 NST + -140 -150 -50 30 -60 -100 NST + -210 -220 -140 -60 -110 -90 NST + -210 -240 -130 -100 -90 -130 NST + NST NST NST NST NST NST NST + +# stack_enthalpies +/* CG GC GU UG AU UA @ */ + -1060 -1340 -1210 -560 -1050 -1040 0 + -1340 -1490 -1260 -830 -1140 -1240 0 + -1210 -1260 -1460 -1350 -880 -1280 0 + -560 -830 -1350 -930 -320 -700 0 + -1050 -1140 -880 -320 -940 -680 0 + -1040 -1240 -1280 -700 -680 -770 0 + 0 0 0 0 0 0 0 + +# mismatch_hairpin + 0 0 0 0 0 + -90 -150 -150 -140 -180 + -90 -100 -90 -290 -80 + -90 -220 -200 -160 -110 + -90 -170 -140 -180 -200 + 0 0 0 0 0 + -70 -110 -150 -130 -210 + -70 -110 -70 -240 -50 + -70 -240 -290 -140 -120 + -70 -190 -100 -220 -150 + 0 0 0 0 0 + 0 20 -50 -30 -30 + 0 -10 -20 -150 -20 + 0 -90 -110 -30 0 + 0 -30 -30 -40 -110 + 0 0 0 0 0 + 0 -50 -30 -60 -50 + 0 -20 -10 -170 0 + 0 -80 -120 -30 -70 + 0 -60 -10 -60 -80 + 0 0 0 0 0 + 0 -30 -50 -30 -30 + 0 -10 -20 -150 -20 + 0 -110 -120 -20 20 + 0 -30 -30 -60 -110 + 0 0 0 0 0 + 0 -50 -30 -60 -50 + 0 -20 -10 -120 0 + 0 -140 -120 -70 -20 + 0 -30 -10 -50 -80 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + +# mismatch_interior + 0 0 0 0 0 + 0 0 0 -110 0 + 0 0 0 0 0 + 0 -110 0 0 0 + 0 0 0 0 -70 + 0 0 0 0 0 + 0 0 0 -110 0 + 0 0 0 0 0 + 0 -110 0 0 0 + 0 0 0 0 -70 + 0 0 0 0 0 + 0 70 70 -40 70 + 0 70 70 70 70 + 0 -40 70 70 70 + 0 70 70 70 0 + 0 0 0 0 0 + 0 70 70 -40 70 + 0 70 70 70 70 + 0 -40 70 70 70 + 0 70 70 70 0 + 0 0 0 0 0 + 0 70 70 -40 70 + 0 70 70 70 70 + 0 -40 70 70 70 + 0 70 70 70 0 + 0 0 0 0 0 + 0 70 70 -40 70 + 0 70 70 70 70 + 0 -40 70 70 70 + 0 70 70 70 0 + 90 90 90 90 90 + 90 90 90 90 -20 + 90 90 90 90 90 + 90 -20 90 90 90 + 90 90 90 90 20 + +# mismatch_enthalpies + 0 0 0 0 0 + DEF -1030 -950 -1030 -1030 + DEF -520 -450 -520 -670 + DEF -940 -940 -940 -940 + DEF -810 -740 -810 -860 + 0 0 0 0 0 + DEF -520 -880 -560 -880 + DEF -720 -310 -310 -390 + DEF -710 -740 -620 -740 + DEF -500 -500 -500 -570 + 0 0 0 0 0 + DEF -430 -600 -600 -600 + DEF -260 -240 -240 -240 + DEF -340 -690 -690 -690 + DEF -330 -330 -330 -330 + 0 0 0 0 0 + DEF -720 -790 -960 -810 + DEF -480 -480 -360 -480 + DEF -660 -810 -920 -810 + DEF -550 -440 -550 -360 + 0 0 0 0 0 + DEF -430 -600 -600 -600 + DEF -260 -240 -240 -240 + DEF -340 -690 -690 -690 + DEF -330 -330 -330 -330 + 0 0 0 0 0 + DEF -400 -630 -890 -590 + DEF -430 -510 -200 -180 + DEF -380 -680 -890 -680 + DEF -280 -140 -280 -140 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + +# dangle5 +/* @ A C G U */ + INF INF INF INF INF + INF -50 -30 -20 -10 + INF -20 -30 0 0 + INF -30 -30 -40 -20 + INF -30 -10 -20 -20 + INF -30 -30 -40 -20 + INF -30 -10 -20 -20 + 0 0 0 0 0 + +# dangle3 +/* @ A C G U */ + INF INF INF INF INF + INF -110 -40 -130 -60 + INF -170 -80 -170 -120 + INF -70 -10 -70 -10 + INF -80 -50 -80 -60 + INF -70 -10 -70 -10 + INF -80 -50 -80 -60 + 0 0 0 0 0 + +# dangle5_enthalpies +/* @ A C G U */ + INF INF INF INF INF + 0 -240 330 80 -140 + 0 -160 70 -460 -40 + 0 160 220 70 310 + 0 -150 510 10 100 + 0 160 220 70 310 + 0 -50 690 -60 -60 + 0 0 0 0 0 + +# dangle3_enthalpies +/* @ A C G U */ + INF INF INF INF INF + 0 -740 -280 -640 -360 + 0 -900 -410 -860 -750 + 0 -740 -240 -720 -490 + 0 -490 -90 -550 -230 + 0 -570 -70 -580 -220 + 0 -490 -90 -550 -230 + 0 0 0 0 0 + +# int11_energies +/* GC..GC */ + 110 110 110 110 110 + 110 110 40 40 40 + 110 40 40 40 40 + 110 40 40 -140 40 + 110 40 40 40 40 +/* GC..CG */ + 110 110 110 110 110 + 110 40 -40 40 40 + 110 30 50 40 50 + 110 -10 40 -170 40 + 110 40 0 40 -30 +/* GC..GU */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 -100 110 + 110 110 110 110 110 +/* GC..UG */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 -100 110 + 110 110 110 110 110 +/* GC..AU */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 -100 110 + 110 110 110 110 110 +/* GC..UA */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 -100 110 + 110 110 110 110 110 +/* GC.. @ */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 +/* CG..GC */ + 110 110 110 110 110 + 110 40 30 -10 40 + 110 -40 50 40 0 + 110 40 40 -170 40 + 110 40 50 40 -30 +/* CG..CG */ + 110 110 110 110 110 + 110 80 40 40 40 + 110 40 40 40 40 + 110 40 40 -210 40 + 110 40 40 40 -70 +/* CG..GU */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 -100 110 + 110 110 110 110 110 +/* CG..UG */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 -100 110 + 110 110 110 110 110 +/* CG..AU */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 -100 110 + 110 110 110 110 100 +/* CG..UA */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 -100 110 + 110 110 110 110 110 +/* CG.. @ */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 +/* GU..GC */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 -100 110 + 110 110 110 110 110 +/* GU..CG */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 -100 110 + 110 110 110 110 110 +/* GU..GU */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 -40 170 + 170 170 170 170 170 +/* GU..UG */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 -40 170 + 170 170 170 170 170 +/* GU..AU */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 -40 170 + 170 170 170 170 170 +/* GU..UA */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 -40 170 + 170 170 170 170 170 +/* GU.. @ */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 +/* UG..GC */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 -100 110 + 110 110 110 110 110 +/* UG..CG */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 -100 110 + 110 110 110 110 110 +/* UG..GU */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 -40 170 + 170 170 170 170 170 +/* UG..UG */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 -40 170 + 170 170 170 170 170 +/* UG..AU */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 -40 170 + 170 170 170 170 170 +/* UG..UA */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 -40 170 + 170 170 170 170 170 +/* UG.. @ */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 +/* AU..GC */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 -100 110 + 110 110 110 110 110 +/* AU..CG */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 -100 110 + 110 110 110 110 100 +/* AU..GU */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 -40 170 + 170 170 170 170 170 +/* AU..UG */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 -40 170 + 170 170 170 170 170 +/* AU..AU */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 -40 170 + 170 170 170 170 120 +/* AU..UA */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 -40 170 + 170 170 170 170 150 +/* AU.. @ */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 +/* UA..GC */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 -100 110 + 110 110 110 110 110 +/* UA..CG */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 -100 110 + 110 110 110 110 110 +/* UA..GU */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 -40 170 + 170 170 170 170 170 +/* UA..UG */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 -40 170 + 170 170 170 170 170 +/* UA..AU */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 -40 170 + 170 170 170 170 150 +/* UA..UA */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 -40 170 + 170 170 170 170 180 +/* UA.. @ */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 +/* @..GC */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 +/* @..CG */ + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 + 110 110 110 110 110 +/* @..GU */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 +/* @..UG */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 +/* @..AU */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 +/* @..UA */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 +/* @.. @ */ + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + 170 170 170 170 170 + +# int11_enthalpies +/* GC..GC */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GC..CG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GC..GU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GC..UG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GC..AU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GC..UA */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GC.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* CG..GC */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* CG..CG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* CG..GU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* CG..UG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* CG..AU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* CG..UA */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* CG.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GU..GC */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GU..CG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GU..GU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GU..UG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GU..AU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GU..UA */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GU.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UG..GC */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UG..CG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UG..GU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UG..UG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UG..AU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UG..UA */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UG.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* AU..GC */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* AU..CG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* AU..GU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* AU..UG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* AU..AU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* AU..UA */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* AU.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UA..GC */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UA..CG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UA..GU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UA..UG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UA..AU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UA..UA */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UA.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..GC */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..CG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..GU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..UG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..AU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..UA */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + +# int21_energies +/* GC.@..GC */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GC.A..GC */ + 550 550 550 550 550 + 550 240 220 160 400 + 550 210 170 160 400 + 550 100 60 40 400 + 550 400 400 400 400 +/* GC.C..GC */ + 550 550 550 550 550 + 550 230 220 400 220 + 550 220 250 400 220 + 550 400 400 400 400 + 550 250 190 400 220 +/* GC.G..GC */ + 550 550 550 550 550 + 550 170 400 80 400 + 550 400 400 400 400 + 550 80 400 220 400 + 550 400 400 400 400 +/* GC.U..GC */ + 550 550 550 550 550 + 550 400 400 400 400 + 550 400 220 400 130 + 550 400 400 400 400 + 550 400 170 400 120 +/* GC.@..CG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GC.A..CG */ + 550 550 550 550 550 + 550 230 220 110 400 + 550 210 170 160 400 + 550 80 60 40 400 + 550 400 400 400 400 +/* GC.C..CG */ + 550 550 550 550 550 + 550 230 220 400 220 + 550 220 250 400 220 + 550 400 400 400 400 + 550 250 190 400 220 +/* GC.G..CG */ + 550 550 550 550 550 + 550 170 400 80 400 + 550 400 400 400 400 + 550 80 400 220 400 + 550 400 400 400 400 +/* GC.U..CG */ + 550 550 550 550 550 + 550 400 400 400 400 + 550 400 220 400 150 + 550 400 400 400 400 + 550 400 170 400 120 +/* GC.@..GU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GC.A..GU */ + 550 550 550 550 550 + 550 320 300 240 480 + 550 290 250 240 480 + 550 180 140 120 480 + 550 480 480 480 480 +/* GC.C..GU */ + 550 550 550 550 550 + 550 310 300 480 300 + 550 300 330 480 300 + 550 480 480 480 480 + 550 330 270 480 300 +/* GC.G..GU */ + 550 550 550 550 550 + 550 250 480 160 480 + 550 480 480 480 480 + 550 160 480 300 480 + 550 480 480 480 480 +/* GC.U..GU */ + 550 550 550 550 550 + 550 480 480 480 480 + 550 480 300 480 210 + 550 480 480 480 480 + 550 480 250 480 200 +/* GC.@..UG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GC.A..UG */ + 550 550 550 550 550 + 550 320 300 240 480 + 550 290 250 240 480 + 550 180 140 120 480 + 550 480 480 480 480 +/* GC.C..UG */ + 550 550 550 550 550 + 550 310 300 480 300 + 550 300 330 480 300 + 550 480 480 480 480 + 550 330 270 480 300 +/* GC.G..UG */ + 550 550 550 550 550 + 550 250 480 160 480 + 550 480 480 480 480 + 550 160 480 300 480 + 550 480 480 480 480 +/* GC.U..UG */ + 550 550 550 550 550 + 550 480 480 480 480 + 550 480 300 480 210 + 550 480 480 480 480 + 550 480 250 480 200 +/* GC.@..AU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GC.A..AU */ + 550 550 550 550 550 + 550 320 300 240 480 + 550 290 250 240 480 + 550 180 140 120 480 + 550 480 480 480 480 +/* GC.C..AU */ + 550 550 550 550 550 + 550 310 300 480 300 + 550 300 330 480 300 + 550 480 480 480 480 + 550 330 270 480 300 +/* GC.G..AU */ + 550 550 550 550 550 + 550 250 480 160 480 + 550 480 480 480 480 + 550 160 480 300 480 + 550 480 480 480 480 +/* GC.U..AU */ + 550 550 550 550 550 + 550 480 480 480 480 + 550 480 300 480 210 + 550 480 480 480 480 + 550 480 250 480 200 +/* GC.@..UA */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GC.A..UA */ + 550 550 550 550 550 + 550 320 300 240 480 + 550 290 250 240 480 + 550 180 140 120 480 + 550 480 480 480 480 +/* GC.C..UA */ + 550 550 550 550 550 + 550 310 300 480 300 + 550 300 330 480 300 + 550 480 480 480 480 + 550 330 270 480 300 +/* GC.G..UA */ + 550 550 550 550 550 + 550 250 480 160 480 + 550 480 480 480 480 + 550 160 480 300 480 + 550 480 480 480 480 +/* GC.U..UA */ + 550 550 550 550 550 + 550 480 480 480 480 + 550 480 300 480 210 + 550 480 480 480 480 + 550 480 250 480 200 +/* GC.@.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GC.A.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GC.C.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GC.G.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GC.U.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* CG.@..GC */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* CG.A..GC */ + 550 550 550 550 550 + 550 250 220 210 400 + 550 210 170 160 400 + 550 120 60 40 400 + 550 400 400 400 400 +/* CG.C..GC */ + 550 550 550 550 550 + 550 230 220 400 220 + 550 220 250 400 220 + 550 400 400 400 400 + 550 250 190 400 220 +/* CG.G..GC */ + 550 550 550 550 550 + 550 170 400 80 400 + 550 400 400 400 400 + 550 80 400 220 400 + 550 400 400 400 400 +/* CG.U..GC */ + 550 550 550 550 550 + 550 400 400 400 400 + 550 400 220 400 120 + 550 400 400 400 400 + 550 400 170 400 120 +/* CG.@..CG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* CG.A..CG */ + 550 550 550 550 550 + 550 240 220 160 400 + 550 210 170 160 400 + 550 100 60 40 400 + 550 400 400 400 400 +/* CG.C..CG */ + 550 550 550 550 550 + 550 230 220 400 220 + 550 220 250 400 220 + 550 400 400 400 400 + 550 250 190 400 220 +/* CG.G..CG */ + 550 550 550 550 550 + 550 170 400 80 400 + 550 400 400 400 400 + 550 80 400 220 400 + 550 400 400 400 400 +/* CG.U..CG */ + 550 550 550 550 550 + 550 400 400 400 400 + 550 400 220 400 130 + 550 400 400 400 400 + 550 400 170 400 120 +/* CG.@..GU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* CG.A..GU */ + 550 550 550 550 550 + 550 320 300 240 480 + 550 290 250 240 480 + 550 180 140 120 480 + 550 480 480 480 480 +/* CG.C..GU */ + 550 550 550 550 550 + 550 310 300 480 300 + 550 300 330 480 300 + 550 480 480 480 480 + 550 330 270 480 300 +/* CG.G..GU */ + 550 550 550 550 550 + 550 250 480 160 480 + 550 480 480 480 480 + 550 160 480 300 480 + 550 480 480 480 480 +/* CG.U..GU */ + 550 550 550 550 550 + 550 480 480 480 480 + 550 480 300 480 210 + 550 480 480 480 480 + 550 480 250 480 200 +/* CG.@..UG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* CG.A..UG */ + 550 550 550 550 550 + 550 320 300 240 480 + 550 290 250 240 480 + 550 180 140 120 480 + 550 480 480 480 480 +/* CG.C..UG */ + 550 550 550 550 550 + 550 310 300 480 300 + 550 300 330 480 300 + 550 480 480 480 480 + 550 330 270 480 300 +/* CG.G..UG */ + 550 550 550 550 550 + 550 250 480 160 480 + 550 480 480 480 480 + 550 160 480 300 480 + 550 480 480 480 480 +/* CG.U..UG */ + 550 550 550 550 550 + 550 480 480 480 480 + 550 480 300 480 210 + 550 480 480 480 480 + 550 480 250 480 200 +/* CG.@..AU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* CG.A..AU */ + 550 550 550 550 550 + 550 320 300 240 480 + 550 290 250 240 480 + 550 180 140 120 480 + 550 480 480 480 480 +/* CG.C..AU */ + 550 550 550 550 550 + 550 310 300 480 300 + 550 300 330 480 300 + 550 480 480 480 480 + 550 330 270 480 300 +/* CG.G..AU */ + 550 550 550 550 550 + 550 250 480 160 480 + 550 480 480 480 480 + 550 160 480 300 480 + 550 480 480 480 480 +/* CG.U..AU */ + 550 550 550 550 550 + 550 480 480 480 480 + 550 480 300 480 210 + 550 480 480 480 480 + 550 480 250 480 200 +/* CG.@..UA */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* CG.A..UA */ + 550 550 550 550 550 + 550 320 300 240 480 + 550 290 250 240 480 + 550 180 140 120 480 + 550 480 480 480 480 +/* CG.C..UA */ + 550 550 550 550 550 + 550 310 300 480 300 + 550 300 330 480 300 + 550 480 480 480 480 + 550 330 270 480 300 +/* CG.G..UA */ + 550 550 550 550 550 + 550 250 480 160 480 + 550 480 480 480 480 + 550 160 480 300 480 + 550 480 480 480 480 +/* CG.U..UA */ + 550 550 550 550 550 + 550 480 480 480 480 + 550 480 300 480 210 + 550 480 480 480 480 + 550 480 250 480 200 +/* CG.@.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* CG.A.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* CG.C.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* CG.G.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* CG.U.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GU.@..GC */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GU.A..GC */ + 550 550 550 550 550 + 550 320 300 240 480 + 550 290 250 240 480 + 550 180 140 120 480 + 550 480 480 480 480 +/* GU.C..GC */ + 550 550 550 550 550 + 550 310 300 480 300 + 550 300 330 480 300 + 550 480 480 480 480 + 550 330 270 480 300 +/* GU.G..GC */ + 550 550 550 550 550 + 550 250 480 160 480 + 550 480 480 480 480 + 550 160 480 300 480 + 550 480 480 480 480 +/* GU.U..GC */ + 550 550 550 550 550 + 550 480 480 480 480 + 550 480 300 480 210 + 550 480 480 480 480 + 550 480 250 480 200 +/* GU.@..CG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GU.A..CG */ + 550 550 550 550 550 + 550 320 300 240 480 + 550 290 250 240 480 + 550 180 140 120 480 + 550 480 480 480 480 +/* GU.C..CG */ + 550 550 550 550 550 + 550 310 300 480 300 + 550 300 330 480 300 + 550 480 480 480 480 + 550 330 270 480 300 +/* GU.G..CG */ + 550 550 550 550 550 + 550 250 480 160 480 + 550 480 480 480 480 + 550 160 480 300 480 + 550 480 480 480 480 +/* GU.U..CG */ + 550 550 550 550 550 + 550 480 480 480 480 + 550 480 300 480 210 + 550 480 480 480 480 + 550 480 250 480 200 +/* GU.@..GU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GU.A..GU */ + 550 550 550 550 550 + 550 390 370 310 550 + 550 360 320 310 550 + 550 250 210 190 550 + 550 550 550 550 550 +/* GU.C..GU */ + 550 550 550 550 550 + 550 380 370 550 370 + 550 370 400 550 370 + 550 550 550 550 550 + 550 400 340 550 370 +/* GU.G..GU */ + 550 550 550 550 550 + 550 320 550 230 550 + 550 550 550 550 550 + 550 230 550 370 550 + 550 550 550 550 550 +/* GU.U..GU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 370 550 280 + 550 550 550 550 550 + 550 550 320 550 270 +/* GU.@..UG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GU.A..UG */ + 550 550 550 550 550 + 550 390 370 310 550 + 550 360 320 310 550 + 550 250 210 190 550 + 550 550 550 550 550 +/* GU.C..UG */ + 550 550 550 550 550 + 550 380 370 550 370 + 550 370 400 550 370 + 550 550 550 550 550 + 550 400 340 550 370 +/* GU.G..UG */ + 550 550 550 550 550 + 550 320 550 230 550 + 550 550 550 550 550 + 550 230 550 370 550 + 550 550 550 550 550 +/* GU.U..UG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 370 550 280 + 550 550 550 550 550 + 550 550 320 550 270 +/* GU.@..AU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GU.A..AU */ + 550 550 550 550 550 + 550 390 370 310 550 + 550 360 320 310 550 + 550 250 210 190 550 + 550 550 550 550 550 +/* GU.C..AU */ + 550 550 550 550 550 + 550 380 370 550 370 + 550 370 400 550 370 + 550 550 550 550 550 + 550 400 340 550 370 +/* GU.G..AU */ + 550 550 550 550 550 + 550 320 550 230 550 + 550 550 550 550 550 + 550 230 550 370 550 + 550 550 550 550 550 +/* GU.U..AU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 370 550 280 + 550 550 550 550 550 + 550 550 320 550 270 +/* GU.@..UA */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GU.A..UA */ + 550 550 550 550 550 + 550 390 370 310 550 + 550 360 320 310 550 + 550 250 210 190 550 + 550 550 550 550 550 +/* GU.C..UA */ + 550 550 550 550 550 + 550 380 370 550 370 + 550 370 400 550 370 + 550 550 550 550 550 + 550 400 340 550 370 +/* GU.G..UA */ + 550 550 550 550 550 + 550 320 550 230 550 + 550 550 550 550 550 + 550 230 550 370 550 + 550 550 550 550 550 +/* GU.U..UA */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 370 550 280 + 550 550 550 550 550 + 550 550 320 550 270 +/* GU.@.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GU.A.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GU.C.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GU.G.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* GU.U.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UG.@..GC */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UG.A..GC */ + 550 550 550 550 550 + 550 320 300 240 480 + 550 290 250 240 480 + 550 180 140 120 480 + 550 480 480 480 480 +/* UG.C..GC */ + 550 550 550 550 550 + 550 310 300 480 300 + 550 300 330 480 300 + 550 480 480 480 480 + 550 330 270 480 300 +/* UG.G..GC */ + 550 550 550 550 550 + 550 250 480 160 480 + 550 480 480 480 480 + 550 160 480 300 480 + 550 480 480 480 480 +/* UG.U..GC */ + 550 550 550 550 550 + 550 480 480 480 480 + 550 480 300 480 210 + 550 480 480 480 480 + 550 480 250 480 200 +/* UG.@..CG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UG.A..CG */ + 550 550 550 550 550 + 550 320 300 240 480 + 550 290 250 240 480 + 550 180 140 120 480 + 550 480 480 480 480 +/* UG.C..CG */ + 550 550 550 550 550 + 550 310 300 480 300 + 550 300 330 480 300 + 550 480 480 480 480 + 550 330 270 480 300 +/* UG.G..CG */ + 550 550 550 550 550 + 550 250 480 160 480 + 550 480 480 480 480 + 550 160 480 300 480 + 550 480 480 480 480 +/* UG.U..CG */ + 550 550 550 550 550 + 550 480 480 480 480 + 550 480 300 480 210 + 550 480 480 480 480 + 550 480 250 480 200 +/* UG.@..GU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UG.A..GU */ + 550 550 550 550 550 + 550 390 370 310 550 + 550 360 320 310 550 + 550 250 210 190 550 + 550 550 550 550 550 +/* UG.C..GU */ + 550 550 550 550 550 + 550 380 370 550 370 + 550 370 400 550 370 + 550 550 550 550 550 + 550 400 340 550 370 +/* UG.G..GU */ + 550 550 550 550 550 + 550 320 550 230 550 + 550 550 550 550 550 + 550 230 550 370 550 + 550 550 550 550 550 +/* UG.U..GU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 370 550 280 + 550 550 550 550 550 + 550 550 320 550 270 +/* UG.@..UG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UG.A..UG */ + 550 550 550 550 550 + 550 390 370 310 550 + 550 360 320 310 550 + 550 250 210 190 550 + 550 550 550 550 550 +/* UG.C..UG */ + 550 550 550 550 550 + 550 380 370 550 370 + 550 370 400 550 370 + 550 550 550 550 550 + 550 400 340 550 370 +/* UG.G..UG */ + 550 550 550 550 550 + 550 320 550 230 550 + 550 550 550 550 550 + 550 230 550 370 550 + 550 550 550 550 550 +/* UG.U..UG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 370 550 280 + 550 550 550 550 550 + 550 550 320 550 270 +/* UG.@..AU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UG.A..AU */ + 550 550 550 550 550 + 550 390 370 310 550 + 550 360 320 310 550 + 550 250 210 190 550 + 550 550 550 550 550 +/* UG.C..AU */ + 550 550 550 550 550 + 550 380 370 550 370 + 550 370 400 550 370 + 550 550 550 550 550 + 550 400 340 550 370 +/* UG.G..AU */ + 550 550 550 550 550 + 550 320 550 230 550 + 550 550 550 550 550 + 550 230 550 370 550 + 550 550 550 550 550 +/* UG.U..AU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 370 550 280 + 550 550 550 550 550 + 550 550 320 550 270 +/* UG.@..UA */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UG.A..UA */ + 550 550 550 550 550 + 550 390 370 310 550 + 550 360 320 310 550 + 550 250 210 190 550 + 550 550 550 550 550 +/* UG.C..UA */ + 550 550 550 550 550 + 550 380 370 550 370 + 550 370 400 550 370 + 550 550 550 550 550 + 550 400 340 550 370 +/* UG.G..UA */ + 550 550 550 550 550 + 550 320 550 230 550 + 550 550 550 550 550 + 550 230 550 370 550 + 550 550 550 550 550 +/* UG.U..UA */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 370 550 280 + 550 550 550 550 550 + 550 550 320 550 270 +/* UG.@.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UG.A.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UG.C.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UG.G.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UG.U.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* AU.@..GC */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* AU.A..GC */ + 550 550 550 550 550 + 550 320 300 240 480 + 550 290 250 240 480 + 550 180 140 120 480 + 550 480 480 480 480 +/* AU.C..GC */ + 550 550 550 550 550 + 550 310 300 480 300 + 550 300 330 480 300 + 550 480 480 480 480 + 550 330 270 480 300 +/* AU.G..GC */ + 550 550 550 550 550 + 550 250 480 160 480 + 550 480 480 480 480 + 550 160 480 300 480 + 550 480 480 480 480 +/* AU.U..GC */ + 550 550 550 550 550 + 550 480 480 480 480 + 550 480 300 480 210 + 550 480 480 480 480 + 550 480 250 480 200 +/* AU.@..CG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* AU.A..CG */ + 550 550 550 550 550 + 550 320 300 240 480 + 550 290 250 240 480 + 550 180 140 120 480 + 550 480 480 480 480 +/* AU.C..CG */ + 550 550 550 550 550 + 550 310 300 480 300 + 550 300 330 480 300 + 550 480 480 480 480 + 550 330 270 480 300 +/* AU.G..CG */ + 550 550 550 550 550 + 550 250 480 160 480 + 550 480 480 480 480 + 550 160 480 300 480 + 550 480 480 480 480 +/* AU.U..CG */ + 550 550 550 550 550 + 550 480 480 480 480 + 550 480 300 480 210 + 550 480 480 480 480 + 550 480 250 480 200 +/* AU.@..GU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* AU.A..GU */ + 550 550 550 550 550 + 550 390 370 310 550 + 550 360 320 310 550 + 550 250 210 190 550 + 550 550 550 550 550 +/* AU.C..GU */ + 550 550 550 550 550 + 550 380 370 550 370 + 550 370 400 550 370 + 550 550 550 550 550 + 550 400 340 550 370 +/* AU.G..GU */ + 550 550 550 550 550 + 550 320 550 230 550 + 550 550 550 550 550 + 550 230 550 370 550 + 550 550 550 550 550 +/* AU.U..GU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 370 550 280 + 550 550 550 550 550 + 550 550 320 550 270 +/* AU.@..UG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* AU.A..UG */ + 550 550 550 550 550 + 550 390 370 310 550 + 550 360 320 310 550 + 550 250 210 190 550 + 550 550 550 550 550 +/* AU.C..UG */ + 550 550 550 550 550 + 550 380 370 550 370 + 550 370 400 550 370 + 550 550 550 550 550 + 550 400 340 550 370 +/* AU.G..UG */ + 550 550 550 550 550 + 550 320 550 230 550 + 550 550 550 550 550 + 550 230 550 370 550 + 550 550 550 550 550 +/* AU.U..UG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 370 550 280 + 550 550 550 550 550 + 550 550 320 550 270 +/* AU.@..AU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* AU.A..AU */ + 550 550 550 550 550 + 550 390 370 310 550 + 550 360 320 310 550 + 550 250 210 190 550 + 550 550 550 550 550 +/* AU.C..AU */ + 550 550 550 550 550 + 550 380 370 550 370 + 550 370 400 550 370 + 550 550 550 550 550 + 550 400 340 550 370 +/* AU.G..AU */ + 550 550 550 550 550 + 550 320 550 230 550 + 550 550 550 550 550 + 550 230 550 370 550 + 550 550 550 550 550 +/* AU.U..AU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 370 550 280 + 550 550 550 550 550 + 550 550 320 550 270 +/* AU.@..UA */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* AU.A..UA */ + 550 550 550 550 550 + 550 390 370 310 550 + 550 360 320 310 550 + 550 250 210 190 550 + 550 550 550 550 550 +/* AU.C..UA */ + 550 550 550 550 550 + 550 380 370 550 370 + 550 370 400 550 370 + 550 550 550 550 550 + 550 400 340 550 370 +/* AU.G..UA */ + 550 550 550 550 550 + 550 320 550 230 550 + 550 550 550 550 550 + 550 230 550 370 550 + 550 550 550 550 550 +/* AU.U..UA */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 370 550 280 + 550 550 550 550 550 + 550 550 320 550 270 +/* AU.@.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* AU.A.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* AU.C.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* AU.G.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* AU.U.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UA.@..GC */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UA.A..GC */ + 550 550 550 550 550 + 550 320 300 240 480 + 550 290 250 240 480 + 550 180 140 120 480 + 550 480 480 480 480 +/* UA.C..GC */ + 550 550 550 550 550 + 550 310 300 480 300 + 550 300 330 480 300 + 550 480 480 480 480 + 550 330 270 480 300 +/* UA.G..GC */ + 550 550 550 550 550 + 550 250 480 160 480 + 550 480 480 480 480 + 550 160 480 300 480 + 550 480 480 480 480 +/* UA.U..GC */ + 550 550 550 550 550 + 550 480 480 480 480 + 550 480 300 480 210 + 550 480 480 480 480 + 550 480 250 480 200 +/* UA.@..CG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UA.A..CG */ + 550 550 550 550 550 + 550 320 300 240 480 + 550 290 250 240 480 + 550 180 140 120 480 + 550 480 480 480 480 +/* UA.C..CG */ + 550 550 550 550 550 + 550 310 300 480 300 + 550 300 330 480 300 + 550 480 480 480 480 + 550 330 270 480 300 +/* UA.G..CG */ + 550 550 550 550 550 + 550 250 480 160 480 + 550 480 480 480 480 + 550 160 480 300 480 + 550 480 480 480 480 +/* UA.U..CG */ + 550 550 550 550 550 + 550 480 480 480 480 + 550 480 300 480 210 + 550 480 480 480 480 + 550 480 250 480 200 +/* UA.@..GU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UA.A..GU */ + 550 550 550 550 550 + 550 390 370 310 550 + 550 360 320 310 550 + 550 250 210 190 550 + 550 550 550 550 550 +/* UA.C..GU */ + 550 550 550 550 550 + 550 380 370 550 370 + 550 370 400 550 370 + 550 550 550 550 550 + 550 400 340 550 370 +/* UA.G..GU */ + 550 550 550 550 550 + 550 320 550 230 550 + 550 550 550 550 550 + 550 230 550 370 550 + 550 550 550 550 550 +/* UA.U..GU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 370 550 280 + 550 550 550 550 550 + 550 550 320 550 270 +/* UA.@..UG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UA.A..UG */ + 550 550 550 550 550 + 550 390 370 310 550 + 550 360 320 310 550 + 550 250 210 190 550 + 550 550 550 550 550 +/* UA.C..UG */ + 550 550 550 550 550 + 550 380 370 550 370 + 550 370 400 550 370 + 550 550 550 550 550 + 550 400 340 550 370 +/* UA.G..UG */ + 550 550 550 550 550 + 550 320 550 230 550 + 550 550 550 550 550 + 550 230 550 370 550 + 550 550 550 550 550 +/* UA.U..UG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 370 550 280 + 550 550 550 550 550 + 550 550 320 550 270 +/* UA.@..AU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UA.A..AU */ + 550 550 550 550 550 + 550 390 370 310 550 + 550 360 320 310 550 + 550 250 210 190 550 + 550 550 550 550 550 +/* UA.C..AU */ + 550 550 550 550 550 + 550 380 370 550 370 + 550 370 400 550 370 + 550 550 550 550 550 + 550 400 340 550 370 +/* UA.G..AU */ + 550 550 550 550 550 + 550 320 550 230 550 + 550 550 550 550 550 + 550 230 550 370 550 + 550 550 550 550 550 +/* UA.U..AU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 370 550 280 + 550 550 550 550 550 + 550 550 320 550 270 +/* UA.@..UA */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UA.A..UA */ + 550 550 550 550 550 + 550 390 370 310 550 + 550 360 320 310 550 + 550 250 210 190 550 + 550 550 550 550 550 +/* UA.C..UA */ + 550 550 550 550 550 + 550 380 370 550 370 + 550 370 400 550 370 + 550 550 550 550 550 + 550 400 340 550 370 +/* UA.G..UA */ + 550 550 550 550 550 + 550 320 550 230 550 + 550 550 550 550 550 + 550 230 550 370 550 + 550 550 550 550 550 +/* UA.U..UA */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 370 550 280 + 550 550 550 550 550 + 550 550 320 550 270 +/* UA.@.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UA.A.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UA.C.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UA.G.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* UA.U.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.@..GC */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.A..GC */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.C..GC */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.G..GC */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.U..GC */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.@..CG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.A..CG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.C..CG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.G..CG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.U..CG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.@..GU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.A..GU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.C..GU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.G..GU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.U..GU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.@..UG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.A..UG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.C..UG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.G..UG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.U..UG */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.@..AU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.A..AU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.C..AU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.G..AU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.U..AU */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.@..UA */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.A..UA */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.C..UA */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.G..UA */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.U..UA */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.@.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.A.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.C.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.G.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 +/* @.U.. @ */ + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + 550 550 550 550 550 + +# int21_enthalpies +/* CG.@..CG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* CG.A..CG */ + DEF -1029 -949 -1029 -1029 + -1079 -2058 -1978 -2058 -2058 + -569 -1548 -1468 -1548 -1548 + -989 -1968 -1888 -1968 -1968 + -859 -1838 -1758 -1838 -1838 +/* CG.C..CG */ + DEF -519 -449 -519 -669 + -999 -1468 -1398 -1468 -1618 + -499 -968 -898 -968 -1118 + -989 -1458 -1388 -1458 -1608 + -789 -1258 -1188 -1258 -1408 +/* CG.G..CG */ + DEF -939 -939 -939 -939 + -1079 -1968 -1968 -1968 -1968 + -569 -1458 -1458 -1458 -1458 + -989 -1878 -1878 -1878 -1878 + -859 -1748 -1748 -1748 -1748 +/* CG.U..CG */ + DEF -809 -739 -809 -859 + -1079 -1838 -1768 -1838 -1888 + -719 -1478 -1408 -1478 -1528 + -989 -1748 -1678 -1748 -1798 + -909 -1668 -1598 -1668 -1718 +/* CG.@..GC */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* CG.A..GC */ + DEF -1029 -949 -1029 -1029 + -569 -1548 -1468 -1548 -1548 + -769 -1748 -1668 -1748 -1748 + -759 -1738 -1658 -1738 -1738 + -549 -1528 -1448 -1528 -1528 +/* CG.C..GC */ + DEF -519 -449 -519 -669 + -929 -1398 -1328 -1398 -1548 + -359 -828 -758 -828 -978 + -789 -1258 -1188 -1258 -1408 + -549 -1018 -948 -1018 -1168 +/* CG.G..GC */ + DEF -939 -939 -939 -939 + -609 -1498 -1498 -1498 -1498 + -359 -1248 -1248 -1248 -1248 + -669 -1558 -1558 -1558 -1558 + -549 -1438 -1438 -1438 -1438 +/* CG.U..GC */ + DEF -809 -739 -809 -859 + -929 -1688 -1618 -1688 -1738 + -439 -1198 -1128 -1198 -1248 + -789 -1548 -1478 -1548 -1598 + -619 -1378 -1308 -1378 -1428 +/* CG.@..GU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* CG.A..GU */ + DEF -1029 -949 -1029 -1029 + -479 -1458 -1378 -1458 -1458 + -309 -1288 -1208 -1288 -1288 + -389 -1368 -1288 -1368 -1368 + -379 -1358 -1278 -1358 -1358 +/* CG.C..GU */ + DEF -519 -449 -519 -669 + -649 -1118 -1048 -1118 -1268 + -289 -758 -688 -758 -908 + -739 -1208 -1138 -1208 -1358 + -379 -848 -778 -848 -998 +/* CG.G..GU */ + DEF -939 -939 -939 -939 + -649 -1538 -1538 -1538 -1538 + -289 -1178 -1178 -1178 -1178 + -739 -1628 -1628 -1628 -1628 + -379 -1268 -1268 -1268 -1268 +/* CG.U..GU */ + DEF -809 -739 -809 -859 + -649 -1408 -1338 -1408 -1458 + -289 -1048 -978 -1048 -1098 + -739 -1498 -1428 -1498 -1548 + -379 -1138 -1068 -1138 -1188 +/* CG.@..UG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* CG.A..UG */ + DEF -1029 -949 -1029 -1029 + -769 -1748 -1668 -1748 -1748 + -529 -1508 -1428 -1508 -1508 + -709 -1688 -1608 -1688 -1688 + -599 -1578 -1498 -1578 -1578 +/* CG.C..UG */ + DEF -519 -449 -519 -669 + -839 -1308 -1238 -1308 -1458 + -529 -998 -928 -998 -1148 + -859 -1328 -1258 -1328 -1478 + -489 -958 -888 -958 -1108 +/* CG.G..UG */ + DEF -939 -939 -939 -939 + -1009 -1898 -1898 -1898 -1898 + -409 -1298 -1298 -1298 -1298 + -969 -1858 -1858 -1858 -1858 + -599 -1488 -1488 -1488 -1488 +/* CG.U..UG */ + DEF -809 -739 -809 -859 + -859 -1618 -1548 -1618 -1668 + -529 -1288 -1218 -1288 -1338 + -859 -1618 -1548 -1618 -1668 + -409 -1168 -1098 -1168 -1218 +/* CG.@..AU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* CG.A..AU */ + DEF -1029 -949 -1029 -1029 + -479 -1458 -1378 -1458 -1458 + -309 -1288 -1208 -1288 -1288 + -389 -1368 -1288 -1368 -1368 + -379 -1358 -1278 -1358 -1358 +/* CG.C..AU */ + DEF -519 -449 -519 -669 + -649 -1118 -1048 -1118 -1268 + -289 -758 -688 -758 -908 + -739 -1208 -1138 -1208 -1358 + -379 -848 -778 -848 -998 +/* CG.G..AU */ + DEF -939 -939 -939 -939 + -649 -1538 -1538 -1538 -1538 + -289 -1178 -1178 -1178 -1178 + -739 -1628 -1628 -1628 -1628 + -379 -1268 -1268 -1268 -1268 +/* CG.U..AU */ + DEF -809 -739 -809 -859 + -649 -1408 -1338 -1408 -1458 + -289 -1048 -978 -1048 -1098 + -739 -1498 -1428 -1498 -1548 + -379 -1138 -1068 -1138 -1188 +/* CG.@..UA */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* CG.A..UA */ + DEF -1029 -949 -1029 -1029 + -449 -1428 -1348 -1428 -1428 + -479 -1458 -1378 -1458 -1458 + -429 -1408 -1328 -1408 -1408 + -329 -1308 -1228 -1308 -1308 +/* CG.C..UA */ + DEF -519 -449 -519 -669 + -679 -1148 -1078 -1148 -1298 + -559 -1028 -958 -1028 -1178 + -729 -1198 -1128 -1198 -1348 + -189 -658 -588 -658 -808 +/* CG.G..UA */ + DEF -939 -939 -939 -939 + -939 -1828 -1828 -1828 -1828 + -249 -1138 -1138 -1138 -1138 + -939 -1828 -1828 -1828 -1828 + -329 -1218 -1218 -1218 -1218 +/* CG.U..UA */ + DEF -809 -739 -809 -859 + -639 -1398 -1328 -1398 -1448 + -229 -988 -918 -988 -1038 + -729 -1488 -1418 -1488 -1538 + -190 -949 -879 -949 -999 +/* CG.@.. @ */ + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* CG.A.. @ */ + -100 -1079 -999 -1079 -1079 + -100 -1079 -999 -1079 -1079 + -100 -1079 -999 -1079 -1079 + -100 -1079 -999 -1079 -1079 + -100 -1079 -999 -1079 -1079 +/* CG.C.. @ */ + -100 -569 -499 -569 -719 + -100 -569 -499 -569 -719 + -100 -569 -499 -569 -719 + -100 -569 -499 -569 -719 + -100 -569 -499 -569 -719 +/* CG.G.. @ */ + -100 -989 -989 -989 -989 + -100 -989 -989 -989 -989 + -100 -989 -989 -989 -989 + -100 -989 -989 -989 -989 + -100 -989 -989 -989 -989 +/* CG.U.. @ */ + -100 -859 -789 -859 -909 + -100 -859 -789 -859 -909 + -100 -859 -789 -859 -909 + -100 -859 -789 -859 -909 + -100 -859 -789 -859 -909 +/* GC.@..CG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GC.A..CG */ + DEF -519 -879 -559 -879 + -1079 -1548 -1908 -1588 -1908 + -569 -1038 -1398 -1078 -1398 + -989 -1458 -1818 -1498 -1818 + -859 -1328 -1688 -1368 -1688 +/* GC.C..CG */ + DEF -719 -309 -309 -389 + -999 -1668 -1258 -1258 -1338 + -499 -1168 -758 -758 -838 + -989 -1658 -1248 -1248 -1328 + -789 -1458 -1048 -1048 -1128 +/* GC.G..CG */ + DEF -709 -739 -619 -739 + -1079 -1738 -1768 -1648 -1768 + -569 -1228 -1258 -1138 -1258 + -989 -1648 -1678 -1558 -1678 + -859 -1518 -1548 -1428 -1548 +/* GC.U..CG */ + DEF -499 -499 -499 -569 + -1079 -1528 -1528 -1528 -1598 + -719 -1168 -1168 -1168 -1238 + -989 -1438 -1438 -1438 -1508 + -909 -1358 -1358 -1358 -1428 +/* GC.@..GC */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GC.A..GC */ + DEF -519 -879 -559 -879 + -569 -1038 -1398 -1078 -1398 + -769 -1238 -1598 -1278 -1598 + -759 -1228 -1588 -1268 -1588 + -549 -1018 -1378 -1058 -1378 +/* GC.C..GC */ + DEF -719 -309 -309 -389 + -929 -1598 -1188 -1188 -1268 + -359 -1028 -618 -618 -698 + -789 -1458 -1048 -1048 -1128 + -549 -1218 -808 -808 -888 +/* GC.G..GC */ + DEF -709 -739 -619 -739 + -609 -1268 -1298 -1178 -1298 + -359 -1018 -1048 -928 -1048 + -669 -1328 -1358 -1238 -1358 + -549 -1208 -1238 -1118 -1238 +/* GC.U..GC */ + DEF -499 -499 -499 -569 + -929 -1378 -1378 -1378 -1448 + -439 -888 -888 -888 -958 + -789 -1238 -1238 -1238 -1308 + -619 -1068 -1068 -1068 -1138 +/* GC.@..GU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GC.A..GU */ + DEF -519 -879 -559 -879 + -479 -948 -1308 -988 -1308 + -309 -778 -1138 -818 -1138 + -389 -858 -1218 -898 -1218 + -379 -848 -1208 -888 -1208 +/* GC.C..GU */ + DEF -719 -309 -309 -389 + -649 -1318 -908 -908 -988 + -289 -958 -548 -548 -628 + -739 -1408 -998 -998 -1078 + -379 -1048 -638 -638 -718 +/* GC.G..GU */ + DEF -709 -739 -619 -739 + -649 -1308 -1338 -1218 -1338 + -289 -948 -978 -858 -978 + -739 -1398 -1428 -1308 -1428 + -379 -1038 -1068 -948 -1068 +/* GC.U..GU */ + DEF -499 -499 -499 -569 + -649 -1098 -1098 -1098 -1168 + -289 -738 -738 -738 -808 + -739 -1188 -1188 -1188 -1258 + -379 -828 -828 -828 -898 +/* GC.@..UG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GC.A..UG */ + DEF -519 -879 -559 -879 + -769 -1238 -1598 -1278 -1598 + -529 -998 -1358 -1038 -1358 + -709 -1178 -1538 -1218 -1538 + -599 -1068 -1428 -1108 -1428 +/* GC.C..UG */ + DEF -719 -309 -309 -389 + -839 -1508 -1098 -1098 -1178 + -529 -1198 -788 -788 -868 + -859 -1528 -1118 -1118 -1198 + -489 -1158 -748 -748 -828 +/* GC.G..UG */ + DEF -709 -739 -619 -739 + -1009 -1668 -1698 -1578 -1698 + -409 -1068 -1098 -978 -1098 + -969 -1628 -1658 -1538 -1658 + -599 -1258 -1288 -1168 -1288 +/* GC.U..UG */ + DEF -499 -499 -499 -569 + -859 -1308 -1308 -1308 -1378 + -529 -978 -978 -978 -1048 + -859 -1308 -1308 -1308 -1378 + -409 -858 -858 -858 -928 +/* GC.@..AU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GC.A..AU */ + DEF -519 -879 -559 -879 + -479 -948 -1308 -988 -1308 + -309 -778 -1138 -818 -1138 + -389 -858 -1218 -898 -1218 + -379 -848 -1208 -888 -1208 +/* GC.C..AU */ + DEF -719 -309 -309 -389 + -649 -1318 -908 -908 -988 + -289 -958 -548 -548 -628 + -739 -1408 -998 -998 -1078 + -379 -1048 -638 -638 -718 +/* GC.G..AU */ + DEF -709 -739 -619 -739 + -649 -1308 -1338 -1218 -1338 + -289 -948 -978 -858 -978 + -739 -1398 -1428 -1308 -1428 + -379 -1038 -1068 -948 -1068 +/* GC.U..AU */ + DEF -499 -499 -499 -569 + -649 -1098 -1098 -1098 -1168 + -289 -738 -738 -738 -808 + -739 -1188 -1188 -1188 -1258 + -379 -828 -828 -828 -898 +/* GC.@..UA */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GC.A..UA */ + DEF -519 -879 -559 -879 + -449 -918 -1278 -958 -1278 + -479 -948 -1308 -988 -1308 + -429 -898 -1258 -938 -1258 + -329 -798 -1158 -838 -1158 +/* GC.C..UA */ + DEF -719 -309 -309 -389 + -679 -1348 -938 -938 -1018 + -559 -1228 -818 -818 -898 + -729 -1398 -988 -988 -1068 + -189 -858 -448 -448 -528 +/* GC.G..UA */ + DEF -709 -739 -619 -739 + -939 -1598 -1628 -1508 -1628 + -249 -908 -938 -818 -938 + -939 -1598 -1628 -1508 -1628 + -329 -988 -1018 -898 -1018 +/* GC.U..UA */ + DEF -499 -499 -499 -569 + -639 -1088 -1088 -1088 -1158 + -229 -678 -678 -678 -748 + -729 -1178 -1178 -1178 -1248 + -190 -639 -639 -639 -709 +/* GC.@.. @ */ + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GC.A.. @ */ + -100 -569 -929 -609 -929 + -100 -569 -929 -609 -929 + -100 -569 -929 -609 -929 + -100 -569 -929 -609 -929 + -100 -569 -929 -609 -929 +/* GC.C.. @ */ + -100 -769 -359 -359 -439 + -100 -769 -359 -359 -439 + -100 -769 -359 -359 -439 + -100 -769 -359 -359 -439 + -100 -769 -359 -359 -439 +/* GC.G.. @ */ + -100 -759 -789 -669 -789 + -100 -759 -789 -669 -789 + -100 -759 -789 -669 -789 + -100 -759 -789 -669 -789 + -100 -759 -789 -669 -789 +/* GC.U.. @ */ + -100 -549 -549 -549 -619 + -100 -549 -549 -549 -619 + -100 -549 -549 -549 -619 + -100 -549 -549 -549 -619 + -100 -549 -549 -549 -619 +/* GU.@..CG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GU.A..CG */ + DEF -429 -599 -599 -599 + -1079 -1458 -1628 -1628 -1628 + -569 -948 -1118 -1118 -1118 + -989 -1368 -1538 -1538 -1538 + -859 -1238 -1408 -1408 -1408 +/* GU.C..CG */ + DEF -259 -239 -239 -239 + -999 -1208 -1188 -1188 -1188 + -499 -708 -688 -688 -688 + -989 -1198 -1178 -1178 -1178 + -789 -998 -978 -978 -978 +/* GU.G..CG */ + DEF -339 -689 -689 -689 + -1079 -1368 -1718 -1718 -1718 + -569 -858 -1208 -1208 -1208 + -989 -1278 -1628 -1628 -1628 + -859 -1148 -1498 -1498 -1498 +/* GU.U..CG */ + DEF -329 -329 -329 -329 + -1079 -1358 -1358 -1358 -1358 + -719 -998 -998 -998 -998 + -989 -1268 -1268 -1268 -1268 + -909 -1188 -1188 -1188 -1188 +/* GU.@..GC */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GU.A..GC */ + DEF -429 -599 -599 -599 + -569 -948 -1118 -1118 -1118 + -769 -1148 -1318 -1318 -1318 + -759 -1138 -1308 -1308 -1308 + -549 -928 -1098 -1098 -1098 +/* GU.C..GC */ + DEF -259 -239 -239 -239 + -929 -1138 -1118 -1118 -1118 + -359 -568 -548 -548 -548 + -789 -998 -978 -978 -978 + -549 -758 -738 -738 -738 +/* GU.G..GC */ + DEF -339 -689 -689 -689 + -609 -898 -1248 -1248 -1248 + -359 -648 -998 -998 -998 + -669 -958 -1308 -1308 -1308 + -549 -838 -1188 -1188 -1188 +/* GU.U..GC */ + DEF -329 -329 -329 -329 + -929 -1208 -1208 -1208 -1208 + -439 -718 -718 -718 -718 + -789 -1068 -1068 -1068 -1068 + -619 -898 -898 -898 -898 +/* GU.@..GU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GU.A..GU */ + DEF -429 -599 -599 -599 + -479 -858 -1028 -1028 -1028 + -309 -688 -858 -858 -858 + -389 -768 -938 -938 -938 + -379 -758 -928 -928 -928 +/* GU.C..GU */ + DEF -259 -239 -239 -239 + -649 -858 -838 -838 -838 + -289 -498 -478 -478 -478 + -739 -948 -928 -928 -928 + -379 -588 -568 -568 -568 +/* GU.G..GU */ + DEF -339 -689 -689 -689 + -649 -938 -1288 -1288 -1288 + -289 -578 -928 -928 -928 + -739 -1028 -1378 -1378 -1378 + -379 -668 -1018 -1018 -1018 +/* GU.U..GU */ + DEF -329 -329 -329 -329 + -649 -928 -928 -928 -928 + -289 -568 -568 -568 -568 + -739 -1018 -1018 -1018 -1018 + -379 -658 -658 -658 -658 +/* GU.@..UG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GU.A..UG */ + DEF -429 -599 -599 -599 + -769 -1148 -1318 -1318 -1318 + -529 -908 -1078 -1078 -1078 + -709 -1088 -1258 -1258 -1258 + -599 -978 -1148 -1148 -1148 +/* GU.C..UG */ + DEF -259 -239 -239 -239 + -839 -1048 -1028 -1028 -1028 + -529 -738 -718 -718 -718 + -859 -1068 -1048 -1048 -1048 + -489 -698 -678 -678 -678 +/* GU.G..UG */ + DEF -339 -689 -689 -689 + -1009 -1298 -1648 -1648 -1648 + -409 -698 -1048 -1048 -1048 + -969 -1258 -1608 -1608 -1608 + -599 -888 -1238 -1238 -1238 +/* GU.U..UG */ + DEF -329 -329 -329 -329 + -859 -1138 -1138 -1138 -1138 + -529 -808 -808 -808 -808 + -859 -1138 -1138 -1138 -1138 + -409 -688 -688 -688 -688 +/* GU.@..AU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GU.A..AU */ + DEF -429 -599 -599 -599 + -479 -858 -1028 -1028 -1028 + -309 -688 -858 -858 -858 + -389 -768 -938 -938 -938 + -379 -758 -928 -928 -928 +/* GU.C..AU */ + DEF -259 -239 -239 -239 + -649 -858 -838 -838 -838 + -289 -498 -478 -478 -478 + -739 -948 -928 -928 -928 + -379 -588 -568 -568 -568 +/* GU.G..AU */ + DEF -339 -689 -689 -689 + -649 -938 -1288 -1288 -1288 + -289 -578 -928 -928 -928 + -739 -1028 -1378 -1378 -1378 + -379 -668 -1018 -1018 -1018 +/* GU.U..AU */ + DEF -329 -329 -329 -329 + -649 -928 -928 -928 -928 + -289 -568 -568 -568 -568 + -739 -1018 -1018 -1018 -1018 + -379 -658 -658 -658 -658 +/* GU.@..UA */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GU.A..UA */ + DEF -429 -599 -599 -599 + -449 -828 -998 -998 -998 + -479 -858 -1028 -1028 -1028 + -429 -808 -978 -978 -978 + -329 -708 -878 -878 -878 +/* GU.C..UA */ + DEF -259 -239 -239 -239 + -679 -888 -868 -868 -868 + -559 -768 -748 -748 -748 + -729 -938 -918 -918 -918 + -189 -398 -378 -378 -378 +/* GU.G..UA */ + DEF -339 -689 -689 -689 + -939 -1228 -1578 -1578 -1578 + -249 -538 -888 -888 -888 + -939 -1228 -1578 -1578 -1578 + -329 -618 -968 -968 -968 +/* GU.U..UA */ + DEF -329 -329 -329 -329 + -639 -918 -918 -918 -918 + -229 -508 -508 -508 -508 + -729 -1008 -1008 -1008 -1008 + -190 -469 -469 -469 -469 +/* GU.@.. @ */ + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GU.A.. @ */ + -100 -479 -649 -649 -649 + -100 -479 -649 -649 -649 + -100 -479 -649 -649 -649 + -100 -479 -649 -649 -649 + -100 -479 -649 -649 -649 +/* GU.C.. @ */ + -100 -309 -289 -289 -289 + -100 -309 -289 -289 -289 + -100 -309 -289 -289 -289 + -100 -309 -289 -289 -289 + -100 -309 -289 -289 -289 +/* GU.G.. @ */ + -100 -389 -739 -739 -739 + -100 -389 -739 -739 -739 + -100 -389 -739 -739 -739 + -100 -389 -739 -739 -739 + -100 -389 -739 -739 -739 +/* GU.U.. @ */ + -100 -379 -379 -379 -379 + -100 -379 -379 -379 -379 + -100 -379 -379 -379 -379 + -100 -379 -379 -379 -379 + -100 -379 -379 -379 -379 +/* UG.@..CG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UG.A..CG */ + DEF -719 -789 -959 -809 + -1079 -1748 -1818 -1988 -1838 + -569 -1238 -1308 -1478 -1328 + -989 -1658 -1728 -1898 -1748 + -859 -1528 -1598 -1768 -1618 +/* UG.C..CG */ + DEF -479 -479 -359 -479 + -999 -1428 -1428 -1308 -1428 + -499 -928 -928 -808 -928 + -989 -1418 -1418 -1298 -1418 + -789 -1218 -1218 -1098 -1218 +/* UG.G..CG */ + DEF -659 -809 -919 -809 + -1079 -1688 -1838 -1948 -1838 + -569 -1178 -1328 -1438 -1328 + -989 -1598 -1748 -1858 -1748 + -859 -1468 -1618 -1728 -1618 +/* UG.U..CG */ + DEF -549 -439 -549 -359 + -1079 -1578 -1468 -1578 -1388 + -719 -1218 -1108 -1218 -1028 + -989 -1488 -1378 -1488 -1298 + -909 -1408 -1298 -1408 -1218 +/* UG.@..GC */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UG.A..GC */ + DEF -719 -789 -959 -809 + -569 -1238 -1308 -1478 -1328 + -769 -1438 -1508 -1678 -1528 + -759 -1428 -1498 -1668 -1518 + -549 -1218 -1288 -1458 -1308 +/* UG.C..GC */ + DEF -479 -479 -359 -479 + -929 -1358 -1358 -1238 -1358 + -359 -788 -788 -668 -788 + -789 -1218 -1218 -1098 -1218 + -549 -978 -978 -858 -978 +/* UG.G..GC */ + DEF -659 -809 -919 -809 + -609 -1218 -1368 -1478 -1368 + -359 -968 -1118 -1228 -1118 + -669 -1278 -1428 -1538 -1428 + -549 -1158 -1308 -1418 -1308 +/* UG.U..GC */ + DEF -549 -439 -549 -359 + -929 -1428 -1318 -1428 -1238 + -439 -938 -828 -938 -748 + -789 -1288 -1178 -1288 -1098 + -619 -1118 -1008 -1118 -928 +/* UG.@..GU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UG.A..GU */ + DEF -719 -789 -959 -809 + -479 -1148 -1218 -1388 -1238 + -309 -978 -1048 -1218 -1068 + -389 -1058 -1128 -1298 -1148 + -379 -1048 -1118 -1288 -1138 +/* UG.C..GU */ + DEF -479 -479 -359 -479 + -649 -1078 -1078 -958 -1078 + -289 -718 -718 -598 -718 + -739 -1168 -1168 -1048 -1168 + -379 -808 -808 -688 -808 +/* UG.G..GU */ + DEF -659 -809 -919 -809 + -649 -1258 -1408 -1518 -1408 + -289 -898 -1048 -1158 -1048 + -739 -1348 -1498 -1608 -1498 + -379 -988 -1138 -1248 -1138 +/* UG.U..GU */ + DEF -549 -439 -549 -359 + -649 -1148 -1038 -1148 -958 + -289 -788 -678 -788 -598 + -739 -1238 -1128 -1238 -1048 + -379 -878 -768 -878 -688 +/* UG.@..UG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UG.A..UG */ + DEF -719 -789 -959 -809 + -769 -1438 -1508 -1678 -1528 + -529 -1198 -1268 -1438 -1288 + -709 -1378 -1448 -1618 -1468 + -599 -1268 -1338 -1508 -1358 +/* UG.C..UG */ + DEF -479 -479 -359 -479 + -839 -1268 -1268 -1148 -1268 + -529 -958 -958 -838 -958 + -859 -1288 -1288 -1168 -1288 + -489 -918 -918 -798 -918 +/* UG.G..UG */ + DEF -659 -809 -919 -809 + -1009 -1618 -1768 -1878 -1768 + -409 -1018 -1168 -1278 -1168 + -969 -1578 -1728 -1838 -1728 + -599 -1208 -1358 -1468 -1358 +/* UG.U..UG */ + DEF -549 -439 -549 -359 + -859 -1358 -1248 -1358 -1168 + -529 -1028 -918 -1028 -838 + -859 -1358 -1248 -1358 -1168 + -409 -908 -798 -908 -718 +/* UG.@..AU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UG.A..AU */ + DEF -719 -789 -959 -809 + -479 -1148 -1218 -1388 -1238 + -309 -978 -1048 -1218 -1068 + -389 -1058 -1128 -1298 -1148 + -379 -1048 -1118 -1288 -1138 +/* UG.C..AU */ + DEF -479 -479 -359 -479 + -649 -1078 -1078 -958 -1078 + -289 -718 -718 -598 -718 + -739 -1168 -1168 -1048 -1168 + -379 -808 -808 -688 -808 +/* UG.G..AU */ + DEF -659 -809 -919 -809 + -649 -1258 -1408 -1518 -1408 + -289 -898 -1048 -1158 -1048 + -739 -1348 -1498 -1608 -1498 + -379 -988 -1138 -1248 -1138 +/* UG.U..AU */ + DEF -549 -439 -549 -359 + -649 -1148 -1038 -1148 -958 + -289 -788 -678 -788 -598 + -739 -1238 -1128 -1238 -1048 + -379 -878 -768 -878 -688 +/* UG.@..UA */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UG.A..UA */ + DEF -719 -789 -959 -809 + -449 -1118 -1188 -1358 -1208 + -479 -1148 -1218 -1388 -1238 + -429 -1098 -1168 -1338 -1188 + -329 -998 -1068 -1238 -1088 +/* UG.C..UA */ + DEF -479 -479 -359 -479 + -679 -1108 -1108 -988 -1108 + -559 -988 -988 -868 -988 + -729 -1158 -1158 -1038 -1158 + -189 -618 -618 -498 -618 +/* UG.G..UA */ + DEF -659 -809 -919 -809 + -939 -1548 -1698 -1808 -1698 + -249 -858 -1008 -1118 -1008 + -939 -1548 -1698 -1808 -1698 + -329 -938 -1088 -1198 -1088 +/* UG.U..UA */ + DEF -549 -439 -549 -359 + -639 -1138 -1028 -1138 -948 + -229 -728 -618 -728 -538 + -729 -1228 -1118 -1228 -1038 + -190 -689 -579 -689 -499 +/* UG.@.. @ */ + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UG.A.. @ */ + -100 -769 -839 -1009 -859 + -100 -769 -839 -1009 -859 + -100 -769 -839 -1009 -859 + -100 -769 -839 -1009 -859 + -100 -769 -839 -1009 -859 +/* UG.C.. @ */ + -100 -529 -529 -409 -529 + -100 -529 -529 -409 -529 + -100 -529 -529 -409 -529 + -100 -529 -529 -409 -529 + -100 -529 -529 -409 -529 +/* UG.G.. @ */ + -100 -709 -859 -969 -859 + -100 -709 -859 -969 -859 + -100 -709 -859 -969 -859 + -100 -709 -859 -969 -859 + -100 -709 -859 -969 -859 +/* UG.U.. @ */ + -100 -599 -489 -599 -409 + -100 -599 -489 -599 -409 + -100 -599 -489 -599 -409 + -100 -599 -489 -599 -409 + -100 -599 -489 -599 -409 +/* AU.@..CG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* AU.A..CG */ + DEF -429 -599 -599 -599 + -1079 -1458 -1628 -1628 -1628 + -569 -948 -1118 -1118 -1118 + -989 -1368 -1538 -1538 -1538 + -859 -1238 -1408 -1408 -1408 +/* AU.C..CG */ + DEF -259 -239 -239 -239 + -999 -1208 -1188 -1188 -1188 + -499 -708 -688 -688 -688 + -989 -1198 -1178 -1178 -1178 + -789 -998 -978 -978 -978 +/* AU.G..CG */ + DEF -339 -689 -689 -689 + -1079 -1368 -1718 -1718 -1718 + -569 -858 -1208 -1208 -1208 + -989 -1278 -1628 -1628 -1628 + -859 -1148 -1498 -1498 -1498 +/* AU.U..CG */ + DEF -329 -329 -329 -329 + -1079 -1358 -1358 -1358 -1358 + -719 -998 -998 -998 -998 + -989 -1268 -1268 -1268 -1268 + -909 -1188 -1188 -1188 -1188 +/* AU.@..GC */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* AU.A..GC */ + DEF -429 -599 -599 -599 + -569 -948 -1118 -1118 -1118 + -769 -1148 -1318 -1318 -1318 + -759 -1138 -1308 -1308 -1308 + -549 -928 -1098 -1098 -1098 +/* AU.C..GC */ + DEF -259 -239 -239 -239 + -929 -1138 -1118 -1118 -1118 + -359 -568 -548 -548 -548 + -789 -998 -978 -978 -978 + -549 -758 -738 -738 -738 +/* AU.G..GC */ + DEF -339 -689 -689 -689 + -609 -898 -1248 -1248 -1248 + -359 -648 -998 -998 -998 + -669 -958 -1308 -1308 -1308 + -549 -838 -1188 -1188 -1188 +/* AU.U..GC */ + DEF -329 -329 -329 -329 + -929 -1208 -1208 -1208 -1208 + -439 -718 -718 -718 -718 + -789 -1068 -1068 -1068 -1068 + -619 -898 -898 -898 -898 +/* AU.@..GU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* AU.A..GU */ + DEF -429 -599 -599 -599 + -479 -858 -1028 -1028 -1028 + -309 -688 -858 -858 -858 + -389 -768 -938 -938 -938 + -379 -758 -928 -928 -928 +/* AU.C..GU */ + DEF -259 -239 -239 -239 + -649 -858 -838 -838 -838 + -289 -498 -478 -478 -478 + -739 -948 -928 -928 -928 + -379 -588 -568 -568 -568 +/* AU.G..GU */ + DEF -339 -689 -689 -689 + -649 -938 -1288 -1288 -1288 + -289 -578 -928 -928 -928 + -739 -1028 -1378 -1378 -1378 + -379 -668 -1018 -1018 -1018 +/* AU.U..GU */ + DEF -329 -329 -329 -329 + -649 -928 -928 -928 -928 + -289 -568 -568 -568 -568 + -739 -1018 -1018 -1018 -1018 + -379 -658 -658 -658 -658 +/* AU.@..UG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* AU.A..UG */ + DEF -429 -599 -599 -599 + -769 -1148 -1318 -1318 -1318 + -529 -908 -1078 -1078 -1078 + -709 -1088 -1258 -1258 -1258 + -599 -978 -1148 -1148 -1148 +/* AU.C..UG */ + DEF -259 -239 -239 -239 + -839 -1048 -1028 -1028 -1028 + -529 -738 -718 -718 -718 + -859 -1068 -1048 -1048 -1048 + -489 -698 -678 -678 -678 +/* AU.G..UG */ + DEF -339 -689 -689 -689 + -1009 -1298 -1648 -1648 -1648 + -409 -698 -1048 -1048 -1048 + -969 -1258 -1608 -1608 -1608 + -599 -888 -1238 -1238 -1238 +/* AU.U..UG */ + DEF -329 -329 -329 -329 + -859 -1138 -1138 -1138 -1138 + -529 -808 -808 -808 -808 + -859 -1138 -1138 -1138 -1138 + -409 -688 -688 -688 -688 +/* AU.@..AU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* AU.A..AU */ + DEF -429 -599 -599 -599 + -479 -858 -1028 -1028 -1028 + -309 -688 -858 -858 -858 + -389 -768 -938 -938 -938 + -379 -758 -928 -928 -928 +/* AU.C..AU */ + DEF -259 -239 -239 -239 + -649 -858 -838 -838 -838 + -289 -498 -478 -478 -478 + -739 -948 -928 -928 -928 + -379 -588 -568 -568 -568 +/* AU.G..AU */ + DEF -339 -689 -689 -689 + -649 -938 -1288 -1288 -1288 + -289 -578 -928 -928 -928 + -739 -1028 -1378 -1378 -1378 + -379 -668 -1018 -1018 -1018 +/* AU.U..AU */ + DEF -329 -329 -329 -329 + -649 -928 -928 -928 -928 + -289 -568 -568 -568 -568 + -739 -1018 -1018 -1018 -1018 + -379 -658 -658 -658 -658 +/* AU.@..UA */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* AU.A..UA */ + DEF -429 -599 -599 -599 + -449 -828 -998 -998 -998 + -479 -858 -1028 -1028 -1028 + -429 -808 -978 -978 -978 + -329 -708 -878 -878 -878 +/* AU.C..UA */ + DEF -259 -239 -239 -239 + -679 -888 -868 -868 -868 + -559 -768 -748 -748 -748 + -729 -938 -918 -918 -918 + -189 -398 -378 -378 -378 +/* AU.G..UA */ + DEF -339 -689 -689 -689 + -939 -1228 -1578 -1578 -1578 + -249 -538 -888 -888 -888 + -939 -1228 -1578 -1578 -1578 + -329 -618 -968 -968 -968 +/* AU.U..UA */ + DEF -329 -329 -329 -329 + -639 -918 -918 -918 -918 + -229 -508 -508 -508 -508 + -729 -1008 -1008 -1008 -1008 + -190 -469 -469 -469 -469 +/* AU.@.. @ */ + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* AU.A.. @ */ + -100 -479 -649 -649 -649 + -100 -479 -649 -649 -649 + -100 -479 -649 -649 -649 + -100 -479 -649 -649 -649 + -100 -479 -649 -649 -649 +/* AU.C.. @ */ + -100 -309 -289 -289 -289 + -100 -309 -289 -289 -289 + -100 -309 -289 -289 -289 + -100 -309 -289 -289 -289 + -100 -309 -289 -289 -289 +/* AU.G.. @ */ + -100 -389 -739 -739 -739 + -100 -389 -739 -739 -739 + -100 -389 -739 -739 -739 + -100 -389 -739 -739 -739 + -100 -389 -739 -739 -739 +/* AU.U.. @ */ + -100 -379 -379 -379 -379 + -100 -379 -379 -379 -379 + -100 -379 -379 -379 -379 + -100 -379 -379 -379 -379 + -100 -379 -379 -379 -379 +/* UA.@..CG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UA.A..CG */ + DEF -399 -629 -889 -589 + -1079 -1428 -1658 -1918 -1618 + -569 -918 -1148 -1408 -1108 + -989 -1338 -1568 -1828 -1528 + -859 -1208 -1438 -1698 -1398 +/* UA.C..CG */ + DEF -429 -509 -199 -179 + -999 -1378 -1458 -1148 -1128 + -499 -878 -958 -648 -628 + -989 -1368 -1448 -1138 -1118 + -789 -1168 -1248 -938 -918 +/* UA.G..CG */ + DEF -379 -679 -889 -679 + -1079 -1408 -1708 -1918 -1708 + -569 -898 -1198 -1408 -1198 + -989 -1318 -1618 -1828 -1618 + -859 -1188 -1488 -1698 -1488 +/* UA.U..CG */ + DEF -279 -139 -279 -140 + -1079 -1308 -1168 -1308 -1169 + -719 -948 -808 -948 -809 + -989 -1218 -1078 -1218 -1079 + -909 -1138 -998 -1138 -999 +/* UA.@..GC */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UA.A..GC */ + DEF -399 -629 -889 -589 + -569 -918 -1148 -1408 -1108 + -769 -1118 -1348 -1608 -1308 + -759 -1108 -1338 -1598 -1298 + -549 -898 -1128 -1388 -1088 +/* UA.C..GC */ + DEF -429 -509 -199 -179 + -929 -1308 -1388 -1078 -1058 + -359 -738 -818 -508 -488 + -789 -1168 -1248 -938 -918 + -549 -928 -1008 -698 -678 +/* UA.G..GC */ + DEF -379 -679 -889 -679 + -609 -938 -1238 -1448 -1238 + -359 -688 -988 -1198 -988 + -669 -998 -1298 -1508 -1298 + -549 -878 -1178 -1388 -1178 +/* UA.U..GC */ + DEF -279 -139 -279 -140 + -929 -1158 -1018 -1158 -1019 + -439 -668 -528 -668 -529 + -789 -1018 -878 -1018 -879 + -619 -848 -708 -848 -709 +/* UA.@..GU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UA.A..GU */ + DEF -399 -629 -889 -589 + -479 -828 -1058 -1318 -1018 + -309 -658 -888 -1148 -848 + -389 -738 -968 -1228 -928 + -379 -728 -958 -1218 -918 +/* UA.C..GU */ + DEF -429 -509 -199 -179 + -649 -1028 -1108 -798 -778 + -289 -668 -748 -438 -418 + -739 -1118 -1198 -888 -868 + -379 -758 -838 -528 -508 +/* UA.G..GU */ + DEF -379 -679 -889 -679 + -649 -978 -1278 -1488 -1278 + -289 -618 -918 -1128 -918 + -739 -1068 -1368 -1578 -1368 + -379 -708 -1008 -1218 -1008 +/* UA.U..GU */ + DEF -279 -139 -279 -140 + -649 -878 -738 -878 -739 + -289 -518 -378 -518 -379 + -739 -968 -828 -968 -829 + -379 -608 -468 -608 -469 +/* UA.@..UG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UA.A..UG */ + DEF -399 -629 -889 -589 + -769 -1118 -1348 -1608 -1308 + -529 -878 -1108 -1368 -1068 + -709 -1058 -1288 -1548 -1248 + -599 -948 -1178 -1438 -1138 +/* UA.C..UG */ + DEF -429 -509 -199 -179 + -839 -1218 -1298 -988 -968 + -529 -908 -988 -678 -658 + -859 -1238 -1318 -1008 -988 + -489 -868 -948 -638 -618 +/* UA.G..UG */ + DEF -379 -679 -889 -679 + -1009 -1338 -1638 -1848 -1638 + -409 -738 -1038 -1248 -1038 + -969 -1298 -1598 -1808 -1598 + -599 -928 -1228 -1438 -1228 +/* UA.U..UG */ + DEF -279 -139 -279 -140 + -859 -1088 -948 -1088 -949 + -529 -758 -618 -758 -619 + -859 -1088 -948 -1088 -949 + -409 -638 -498 -638 -499 +/* UA.@..AU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UA.A..AU */ + DEF -399 -629 -889 -589 + -479 -828 -1058 -1318 -1018 + -309 -658 -888 -1148 -848 + -389 -738 -968 -1228 -928 + -379 -728 -958 -1218 -918 +/* UA.C..AU */ + DEF -429 -509 -199 -179 + -649 -1028 -1108 -798 -778 + -289 -668 -748 -438 -418 + -739 -1118 -1198 -888 -868 + -379 -758 -838 -528 -508 +/* UA.G..AU */ + DEF -379 -679 -889 -679 + -649 -978 -1278 -1488 -1278 + -289 -618 -918 -1128 -918 + -739 -1068 -1368 -1578 -1368 + -379 -708 -1008 -1218 -1008 +/* UA.U..AU */ + DEF -279 -139 -279 -140 + -649 -878 -738 -878 -739 + -289 -518 -378 -518 -379 + -739 -968 -828 -968 -829 + -379 -608 -468 -608 -469 +/* UA.@..UA */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UA.A..UA */ + DEF -399 -629 -889 -589 + -449 -798 -1028 -1288 -988 + -479 -828 -1058 -1318 -1018 + -429 -778 -1008 -1268 -968 + -329 -678 -908 -1168 -868 +/* UA.C..UA */ + DEF -429 -509 -199 -179 + -679 -1058 -1138 -828 -808 + -559 -938 -1018 -708 -688 + -729 -1108 -1188 -878 -858 + -189 -568 -648 -338 -318 +/* UA.G..UA */ + DEF -379 -679 -889 -679 + -939 -1268 -1568 -1778 -1568 + -249 -578 -878 -1088 -878 + -939 -1268 -1568 -1778 -1568 + -329 -658 -958 -1168 -958 +/* UA.U..UA */ + DEF -279 -139 -279 -140 + -639 -868 -728 -868 -729 + -229 -458 -318 -458 -319 + -729 -958 -818 -958 -819 + -190 -419 -279 -419 -280 +/* UA.@.. @ */ + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UA.A.. @ */ + -100 -449 -679 -939 -639 + -100 -449 -679 -939 -639 + -100 -449 -679 -939 -639 + -100 -449 -679 -939 -639 + -100 -449 -679 -939 -639 +/* UA.C.. @ */ + -100 -479 -559 -249 -229 + -100 -479 -559 -249 -229 + -100 -479 -559 -249 -229 + -100 -479 -559 -249 -229 + -100 -479 -559 -249 -229 +/* UA.G.. @ */ + -100 -429 -729 -939 -729 + -100 -429 -729 -939 -729 + -100 -429 -729 -939 -729 + -100 -429 -729 -939 -729 + -100 -429 -729 -939 -729 +/* UA.U.. @ */ + -100 -329 -189 -329 -190 + -100 -329 -189 -329 -190 + -100 -329 -189 -329 -190 + -100 -329 -189 -329 -190 + -100 -329 -189 -329 -190 +/* @.@..CG */ + DEF DEF DEF DEF DEF + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.A..CG */ + DEF DEF DEF DEF DEF + -1079 -1079 -1079 -1079 -1079 + -569 -569 -569 -569 -569 + -989 -989 -989 -989 -989 + -859 -859 -859 -859 -859 +/* @.C..CG */ + DEF DEF DEF DEF DEF + -999 -999 -999 -999 -999 + -499 -499 -499 -499 -499 + -989 -989 -989 -989 -989 + -789 -789 -789 -789 -789 +/* @.G..CG */ + DEF DEF DEF DEF DEF + -1079 -1079 -1079 -1079 -1079 + -569 -569 -569 -569 -569 + -989 -989 -989 -989 -989 + -859 -859 -859 -859 -859 +/* @.U..CG */ + DEF DEF DEF DEF DEF + -1079 -1079 -1079 -1079 -1079 + -719 -719 -719 -719 -719 + -989 -989 -989 -989 -989 + -909 -909 -909 -909 -909 +/* @.@..GC */ + DEF DEF DEF DEF DEF + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.A..GC */ + DEF DEF DEF DEF DEF + -569 -569 -569 -569 -569 + -769 -769 -769 -769 -769 + -759 -759 -759 -759 -759 + -549 -549 -549 -549 -549 +/* @.C..GC */ + DEF DEF DEF DEF DEF + -929 -929 -929 -929 -929 + -359 -359 -359 -359 -359 + -789 -789 -789 -789 -789 + -549 -549 -549 -549 -549 +/* @.G..GC */ + DEF DEF DEF DEF DEF + -609 -609 -609 -609 -609 + -359 -359 -359 -359 -359 + -669 -669 -669 -669 -669 + -549 -549 -549 -549 -549 +/* @.U..GC */ + DEF DEF DEF DEF DEF + -929 -929 -929 -929 -929 + -439 -439 -439 -439 -439 + -789 -789 -789 -789 -789 + -619 -619 -619 -619 -619 +/* @.@..GU */ + DEF DEF DEF DEF DEF + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.A..GU */ + DEF DEF DEF DEF DEF + -479 -479 -479 -479 -479 + -309 -309 -309 -309 -309 + -389 -389 -389 -389 -389 + -379 -379 -379 -379 -379 +/* @.C..GU */ + DEF DEF DEF DEF DEF + -649 -649 -649 -649 -649 + -289 -289 -289 -289 -289 + -739 -739 -739 -739 -739 + -379 -379 -379 -379 -379 +/* @.G..GU */ + DEF DEF DEF DEF DEF + -649 -649 -649 -649 -649 + -289 -289 -289 -289 -289 + -739 -739 -739 -739 -739 + -379 -379 -379 -379 -379 +/* @.U..GU */ + DEF DEF DEF DEF DEF + -649 -649 -649 -649 -649 + -289 -289 -289 -289 -289 + -739 -739 -739 -739 -739 + -379 -379 -379 -379 -379 +/* @.@..UG */ + DEF DEF DEF DEF DEF + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.A..UG */ + DEF DEF DEF DEF DEF + -769 -769 -769 -769 -769 + -529 -529 -529 -529 -529 + -709 -709 -709 -709 -709 + -599 -599 -599 -599 -599 +/* @.C..UG */ + DEF DEF DEF DEF DEF + -839 -839 -839 -839 -839 + -529 -529 -529 -529 -529 + -859 -859 -859 -859 -859 + -489 -489 -489 -489 -489 +/* @.G..UG */ + DEF DEF DEF DEF DEF + -1009 -1009 -1009 -1009 -1009 + -409 -409 -409 -409 -409 + -969 -969 -969 -969 -969 + -599 -599 -599 -599 -599 +/* @.U..UG */ + DEF DEF DEF DEF DEF + -859 -859 -859 -859 -859 + -529 -529 -529 -529 -529 + -859 -859 -859 -859 -859 + -409 -409 -409 -409 -409 +/* @.@..AU */ + DEF DEF DEF DEF DEF + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.A..AU */ + DEF DEF DEF DEF DEF + -479 -479 -479 -479 -479 + -309 -309 -309 -309 -309 + -389 -389 -389 -389 -389 + -379 -379 -379 -379 -379 +/* @.C..AU */ + DEF DEF DEF DEF DEF + -649 -649 -649 -649 -649 + -289 -289 -289 -289 -289 + -739 -739 -739 -739 -739 + -379 -379 -379 -379 -379 +/* @.G..AU */ + DEF DEF DEF DEF DEF + -649 -649 -649 -649 -649 + -289 -289 -289 -289 -289 + -739 -739 -739 -739 -739 + -379 -379 -379 -379 -379 +/* @.U..AU */ + DEF DEF DEF DEF DEF + -649 -649 -649 -649 -649 + -289 -289 -289 -289 -289 + -739 -739 -739 -739 -739 + -379 -379 -379 -379 -379 +/* @.@..UA */ + DEF DEF DEF DEF DEF + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.A..UA */ + DEF DEF DEF DEF DEF + -449 -449 -449 -449 -449 + -479 -479 -479 -479 -479 + -429 -429 -429 -429 -429 + -329 -329 -329 -329 -329 +/* @.C..UA */ + DEF DEF DEF DEF DEF + -679 -679 -679 -679 -679 + -559 -559 -559 -559 -559 + -729 -729 -729 -729 -729 + -189 -189 -189 -189 -189 +/* @.G..UA */ + DEF DEF DEF DEF DEF + -939 -939 -939 -939 -939 + -249 -249 -249 -249 -249 + -939 -939 -939 -939 -939 + -329 -329 -329 -329 -329 +/* @.U..UA */ + DEF DEF DEF DEF DEF + -639 -639 -639 -639 -639 + -229 -229 -229 -229 -229 + -729 -729 -729 -729 -729 + -190 -190 -190 -190 -190 +/* @.@.. @ */ + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.A.. @ */ + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.C.. @ */ + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.G.. @ */ + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.U.. @ */ + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + +# int22_energies +/* GC.AA..GC */ + 130 160 30 200 + 120 150 20 200 + 30 60 -70 200 + 200 200 200 200 +/* GC.AC..GC */ + 160 200 60 200 + 210 180 150 200 + 200 200 200 200 + 190 170 130 200 +/* GC.AG..GC */ + 30 60 -70 200 + 200 200 200 200 + 100 140 0 200 + -40 -110 -60 200 +/* GC.AU..GC */ + 200 200 200 200 + 190 170 130 200 + 110 40 90 200 + 140 80 130 200 +/* GC.CA..GC */ + 120 210 200 190 + 110 140 200 120 + 20 150 200 130 + 200 200 200 200 +/* GC.CC..GC */ + 150 180 200 170 + 140 170 200 150 + 200 200 200 200 + 120 150 200 140 +/* GC.CG..GC */ + 20 150 200 130 + 200 200 200 200 + 90 180 200 170 + -150 -20 200 -40 +/* GC.CU..GC */ + 200 200 200 200 + 120 150 200 140 + 0 130 200 110 + 30 60 200 50 +/* GC.GA..GC */ + 30 200 100 110 + 20 200 90 0 + -70 200 0 90 + 200 200 200 200 +/* GC.GC..GC */ + 60 200 140 40 + 150 200 180 130 + 200 200 200 200 + 130 200 170 110 +/* GC.GG..GC */ + -70 200 0 90 + 200 200 200 200 + 0 200 80 90 + -60 200 -70 -260 +/* GC.GU..GC */ + 200 200 200 200 + 130 200 170 110 + 90 200 90 -110 + 130 200 120 110 +/* GC.UA..GC */ + 200 190 -40 140 + 200 120 -150 30 + 200 130 -60 130 + 200 200 200 200 +/* GC.UC..GC */ + 200 170 -110 80 + 200 150 -20 60 + 200 200 200 200 + 200 140 -40 50 +/* GC.UG..GC */ + 200 130 -60 130 + 200 200 200 200 + 200 170 -70 120 + 200 -40 -420 -50 +/* GC.UU..GC */ + 200 200 200 200 + 200 140 -40 50 + 200 110 -260 110 + 200 50 -50 -40 +/* GC.AA..CG */ + 50 60 0 200 + 110 150 -70 200 + -30 10 -160 200 + 200 200 200 200 +/* GC.AC..CG */ + 110 110 -100 200 + 170 150 -60 200 + 200 200 200 200 + 70 50 20 200 +/* GC.AG..CG */ + 40 50 -70 200 + 200 200 200 200 + 100 140 0 200 + 10 -70 -80 200 +/* GC.AU..CG */ + 200 200 200 200 + 180 150 120 200 + -50 -60 -60 200 + 150 0 90 200 +/* GC.CA..CG */ + 130 220 200 200 + 100 130 200 120 + -70 70 200 40 + 200 200 200 200 +/* GC.CC..CG */ + 100 190 200 110 + 100 130 200 120 + 200 200 200 200 + 0 30 200 170 +/* GC.CG..CG */ + 70 70 200 100 + 200 200 200 200 + 90 180 200 170 + -190 -30 200 -70 +/* GC.CU..CG */ + 200 200 200 200 + 110 140 200 120 + -150 -20 200 -30 + -20 -10 200 20 +/* GC.GA..CG */ + -20 200 110 90 + -40 200 90 0 + -170 200 -90 30 + 200 200 200 200 +/* GC.GC..CG */ + 70 200 80 -10 + 110 200 150 100 + 200 200 200 200 + 20 200 50 0 +/* GC.GG..CG */ + -50 200 -20 60 + 200 200 200 200 + 0 200 80 90 + -90 200 -100 -300 +/* GC.GU..CG */ + 200 200 200 200 + 120 200 150 100 + -130 200 -60 -240 + 90 200 110 60 +/* GC.UA..CG */ + 200 200 -10 140 + 200 120 -160 30 + 200 40 -160 50 + 200 200 200 200 +/* GC.UC..CG */ + 200 110 -160 30 + 200 120 -60 30 + 200 200 200 200 + 200 20 -160 10 +/* GC.UG..CG */ + 200 50 -60 140 + 200 200 200 200 + 200 170 -70 120 + 200 -70 -440 -100 +/* GC.UU..CG */ + 200 200 200 200 + 200 120 -50 30 + 200 -10 -410 10 + 200 40 -100 60 +/* GC.AA..GU */ + 200 240 100 200 + 180 210 80 200 + 80 110 -20 200 + 200 200 200 200 +/* GC.AC..GU */ + 190 220 90 200 + 230 210 170 200 + 200 200 200 200 + 230 210 170 200 +/* GC.AG..GU */ + 80 110 -20 200 + 200 200 200 200 + 130 170 30 200 + 60 0 40 200 +/* GC.AU..GU */ + 200 200 200 200 + 230 210 170 200 + 160 90 140 200 + 190 130 180 200 +/* GC.CA..GU */ + 190 280 200 270 + 170 200 200 180 + 70 200 200 180 + 200 200 200 200 +/* GC.CC..GU */ + 180 210 200 190 + 160 190 200 180 + 200 200 200 200 + 160 190 200 180 +/* GC.CG..GU */ + 70 200 200 180 + 200 200 200 200 + 120 210 200 200 + -50 80 200 70 +/* GC.CU..GU */ + 200 200 200 200 + 160 190 200 180 + 50 180 200 160 + 80 110 200 100 +/* GC.GA..GU */ + 100 200 180 180 + 80 200 150 60 + -20 200 50 140 + 200 200 200 200 +/* GC.GC..GU */ + 90 200 160 70 + 170 200 210 150 + 200 200 200 200 + 170 200 210 150 +/* GC.GG..GU */ + -20 200 50 140 + 200 200 200 200 + 30 200 110 110 + 40 200 40 -160 +/* GC.GU..GU */ + 200 200 200 200 + 170 200 210 150 + 140 200 130 -60 + 180 200 170 160 +/* GC.UA..GU */ + 200 270 30 220 + 200 180 -90 90 + 200 180 -10 180 + 200 200 200 200 +/* GC.UC..GU */ + 200 190 -80 100 + 200 180 0 90 + 200 200 200 200 + 200 180 0 90 +/* GC.UG..GU */ + 200 180 -10 180 + 200 200 200 200 + 200 200 -40 150 + 200 70 -310 60 +/* GC.UU..GU */ + 200 200 200 200 + 200 180 0 90 + 200 160 -210 160 + 200 100 0 10 +/* GC.AA..UG */ + 200 240 100 200 + 160 190 60 200 + 100 130 0 200 + 200 200 200 200 +/* GC.AC..UG */ + 200 240 100 200 + 260 240 200 200 + 200 200 200 200 + 260 240 200 200 +/* GC.AG..UG */ + 100 130 0 200 + 200 200 200 200 + 140 170 40 200 + 20 -40 0 200 +/* GC.AU..UG */ + 200 200 200 200 + 230 210 170 200 + 150 80 130 200 + 220 150 200 200 +/* GC.CA..UG */ + 190 280 200 270 + 150 180 200 160 + 90 220 200 200 + 200 200 200 200 +/* GC.CC..UG */ + 190 220 200 210 + 190 220 200 210 + 200 200 200 200 + 190 220 200 210 +/* GC.CG..UG */ + 90 220 200 200 + 200 200 200 200 + 130 220 200 200 + -90 40 200 30 +/* GC.CU..UG */ + 200 200 200 200 + 160 190 200 180 + 40 170 200 150 + 110 140 200 120 +/* GC.GA..UG */ + 100 200 180 180 + 60 200 130 40 + 0 200 70 160 + 200 200 200 200 +/* GC.GC..UG */ + 100 200 180 80 + 200 200 240 180 + 200 200 200 200 + 200 200 240 180 +/* GC.GG..UG */ + 0 200 70 160 + 200 200 200 200 + 40 200 110 120 + 0 200 0 -200 +/* GC.GU..UG */ + 200 200 200 200 + 170 200 210 150 + 130 200 120 -70 + 200 200 190 180 +/* GC.UA..UG */ + 200 270 30 220 + 200 160 -110 70 + 200 200 10 190 + 200 200 200 200 +/* GC.UC..UG */ + 200 210 -70 120 + 200 210 30 120 + 200 200 200 200 + 200 210 30 120 +/* GC.UG..UG */ + 200 200 10 190 + 200 200 200 200 + 200 200 -30 150 + 200 30 -350 20 +/* GC.UU..UG */ + 200 200 200 200 + 200 180 0 90 + 200 150 -220 150 + 200 120 30 30 +/* GC.AA..AU */ + 200 240 100 200 + 180 210 80 200 + 80 110 -20 200 + 200 200 200 200 +/* GC.AC..AU */ + 190 220 90 200 + 230 210 170 200 + 200 200 200 200 + 230 210 170 200 +/* GC.AG..AU */ + 80 110 -20 200 + 200 200 200 200 + 130 170 30 200 + 60 0 40 200 +/* GC.AU..AU */ + 200 200 200 200 + 230 210 170 200 + 160 90 140 200 + 190 130 180 200 +/* GC.CA..AU */ + 190 280 200 270 + 170 200 200 180 + 70 200 200 180 + 200 200 200 200 +/* GC.CC..AU */ + 180 210 200 190 + 160 190 200 180 + 200 200 200 200 + 160 190 200 180 +/* GC.CG..AU */ + 70 200 200 180 + 200 200 200 200 + 120 210 200 200 + -50 80 200 70 +/* GC.CU..AU */ + 200 200 200 200 + 160 190 200 180 + 50 180 200 160 + 80 110 200 100 +/* GC.GA..AU */ + 100 200 180 180 + 80 200 150 60 + -20 200 50 140 + 200 200 200 200 +/* GC.GC..AU */ + 90 200 160 70 + 170 200 210 150 + 200 200 200 200 + 170 200 210 150 +/* GC.GG..AU */ + -20 200 50 140 + 200 200 200 200 + 30 200 110 110 + 40 200 40 -160 +/* GC.GU..AU */ + 200 200 200 200 + 170 200 210 150 + 140 200 130 -60 + 180 200 170 160 +/* GC.UA..AU */ + 200 270 30 220 + 200 180 -90 90 + 200 180 -10 180 + 200 200 200 200 +/* GC.UC..AU */ + 200 190 -80 100 + 200 180 0 90 + 200 200 200 200 + 200 180 0 90 +/* GC.UG..AU */ + 200 180 -10 180 + 200 200 200 200 + 200 200 -40 150 + 200 70 -310 60 +/* GC.UU..AU */ + 200 200 200 200 + 200 180 0 90 + 200 160 -210 160 + 200 100 0 10 +/* GC.AA..UA */ + 200 240 100 200 + 160 190 60 200 + 100 130 0 200 + 200 200 200 200 +/* GC.AC..UA */ + 200 240 100 200 + 260 240 200 200 + 200 200 200 200 + 260 240 200 200 +/* GC.AG..UA */ + 100 130 0 200 + 200 200 200 200 + 140 170 40 200 + 20 -40 0 200 +/* GC.AU..UA */ + 200 200 200 200 + 230 210 170 200 + 150 80 130 200 + 220 150 200 200 +/* GC.CA..UA */ + 190 280 200 270 + 150 180 200 160 + 90 220 200 200 + 200 200 200 200 +/* GC.CC..UA */ + 190 220 200 210 + 190 220 200 210 + 200 200 200 200 + 190 220 200 210 +/* GC.CG..UA */ + 90 220 200 200 + 200 200 200 200 + 130 220 200 200 + -90 40 200 30 +/* GC.CU..UA */ + 200 200 200 200 + 160 190 200 180 + 40 170 200 150 + 110 140 200 120 +/* GC.GA..UA */ + 100 200 180 180 + 60 200 130 40 + 0 200 70 160 + 200 200 200 200 +/* GC.GC..UA */ + 100 200 180 80 + 200 200 240 180 + 200 200 200 200 + 200 200 240 180 +/* GC.GG..UA */ + 0 200 70 160 + 200 200 200 200 + 40 200 110 120 + 0 200 0 -200 +/* GC.GU..UA */ + 200 200 200 200 + 170 200 210 150 + 130 200 120 -70 + 200 200 190 180 +/* GC.UA..UA */ + 200 270 30 220 + 200 160 -110 70 + 200 200 10 190 + 200 200 200 200 +/* GC.UC..UA */ + 200 210 -70 120 + 200 210 30 120 + 200 200 200 200 + 200 210 30 120 +/* GC.UG..UA */ + 200 200 10 190 + 200 200 200 200 + 200 200 -30 150 + 200 30 -350 20 +/* GC.UU..UA */ + 200 200 200 200 + 200 180 0 90 + 200 150 -220 150 + 200 120 30 30 +/* GC.AA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GC.AC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GC.AG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GC.AU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GC.CA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GC.CC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GC.CG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GC.CU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GC.GA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GC.GC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GC.GG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GC.GU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GC.UA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GC.UC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GC.UG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GC.UU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* CG.AA..GC */ + 50 110 40 200 + 130 100 70 200 + -20 70 -50 200 + 200 200 200 200 +/* CG.AC..GC */ + 60 110 50 200 + 220 190 70 200 + 200 200 200 200 + 200 110 50 200 +/* CG.AG..GC */ + 0 -100 -70 200 + 200 200 200 200 + 110 80 -20 200 + -10 -160 -60 200 +/* CG.AU..GC */ + 200 200 200 200 + 200 110 100 200 + 90 -10 60 200 + 140 30 140 200 +/* CG.CA..GC */ + 110 170 200 180 + 100 100 200 110 + -40 110 200 120 + 200 200 200 200 +/* CG.CC..GC */ + 150 150 200 150 + 130 130 200 140 + 200 200 200 200 + 120 120 200 120 +/* CG.CG..GC */ + -70 -60 200 120 + 200 200 200 200 + 90 150 200 150 + -160 -60 200 -50 +/* CG.CU..GC */ + 200 200 200 200 + 120 120 200 120 + 0 100 200 100 + 30 30 200 30 +/* CG.GA..GC */ + -30 200 100 -50 + -70 200 90 -150 + -170 200 0 -130 + 200 200 200 200 +/* CG.GC..GC */ + 10 200 140 -60 + 70 200 180 -20 + 200 200 200 200 + 40 200 170 -10 +/* CG.GG..GC */ + -160 200 0 -60 + 200 200 200 200 + -90 200 80 -60 + -160 200 -70 -410 +/* CG.GU..GC */ + 200 200 200 200 + 40 200 170 -30 + 30 200 90 -240 + 50 200 120 10 +/* CG.UA..GC */ + 200 70 10 150 + 200 0 -190 -20 + 200 20 -90 90 + 200 200 200 200 +/* CG.UC..GC */ + 200 50 -70 0 + 200 30 -30 -10 + 200 200 200 200 + 200 20 -70 40 +/* CG.UG..GC */ + 200 20 -80 90 + 200 200 200 200 + 200 50 -100 110 + 200 -160 -440 -100 +/* CG.UU..GC */ + 200 200 200 200 + 200 170 -70 20 + 200 0 -300 60 + 200 10 -100 60 +/* CG.AA..CG */ + 150 120 10 200 + 120 90 -10 200 + -50 -80 -190 200 + 200 200 200 200 +/* CG.AC..CG */ + 120 90 -20 200 + 180 90 90 200 + 200 200 200 200 + 80 0 -10 200 +/* CG.AG..CG */ + 10 -20 -130 200 + 200 200 200 200 + 110 80 -20 200 + -70 -200 -130 200 +/* CG.AU..CG */ + 200 200 200 200 + 190 100 90 200 + -30 -160 -90 200 + 150 20 90 200 +/* CG.CA..CG */ + 120 180 200 190 + 100 100 200 100 + -80 20 200 30 + 200 200 200 200 +/* CG.CC..CG */ + 90 90 200 100 + 100 100 200 100 + 200 200 200 200 + 0 0 200 0 +/* CG.CG..CG */ + -10 90 200 90 + 200 200 200 200 + 90 150 200 150 + -190 -90 200 -90 +/* CG.CU..CG */ + 200 200 200 200 + 100 100 200 110 + -150 -50 200 -50 + 20 20 200 30 +/* CG.GA..CG */ + -50 200 110 -30 + -80 200 90 -150 + -260 200 -90 -150 + 200 200 200 200 +/* CG.GC..CG */ + -80 200 80 -160 + 20 200 150 -50 + 200 200 200 200 + -80 200 50 -150 +/* CG.GG..CG */ + -190 200 -20 -90 + 200 200 200 200 + -90 200 80 -60 + -190 200 -100 -450 +/* CG.GU..CG */ + 200 200 200 200 + 30 200 150 -50 + -150 200 -60 -410 + 30 200 110 -50 +/* CG.UA..CG */ + 200 80 -70 150 + 200 0 -190 20 + 200 -80 -190 30 + 200 200 200 200 +/* CG.UC..CG */ + 200 0 -200 20 + 200 0 -90 20 + 200 200 200 200 + 200 -100 -190 -70 +/* CG.UG..CG */ + 200 -10 -130 90 + 200 200 200 200 + 200 50 -100 110 + 200 -190 -490 -90 +/* CG.UU..CG */ + 200 200 200 200 + 200 0 -90 30 + 200 -150 -450 -50 + 200 -70 -90 -50 +/* CG.AA..GU */ + 210 180 70 200 + 190 160 50 200 + 90 60 -50 200 + 200 200 200 200 +/* CG.AC..GU */ + 200 170 60 200 + 240 150 140 200 + 200 200 200 200 + 240 150 140 200 +/* CG.AG..GU */ + 90 60 -50 200 + 200 200 200 200 + 140 110 0 200 + 70 -60 10 200 +/* CG.AU..GU */ + 200 200 200 200 + 240 150 140 200 + 170 40 110 200 + 200 70 150 200 +/* CG.CA..GU */ + 190 250 200 250 + 160 160 200 170 + 60 160 200 170 + 200 200 200 200 +/* CG.CC..GU */ + 170 170 200 180 + 160 160 200 160 + 200 200 200 200 + 160 160 200 160 +/* CG.CG..GU */ + 60 160 200 170 + 200 200 200 200 + 120 180 200 180 + -50 50 200 50 +/* CG.CU..GU */ + 200 200 200 200 + 160 160 200 160 + 40 140 200 150 + 80 80 200 80 +/* CG.GA..GU */ + 10 200 180 40 + -10 200 150 -90 + -110 200 50 -10 + 200 200 200 200 +/* CG.GC..GU */ + 0 200 160 -80 + 80 200 210 10 + 200 200 200 200 + 80 200 210 10 +/* CG.GG..GU */ + -110 200 50 -10 + 200 200 200 200 + -60 200 110 -30 + -50 200 40 -310 +/* CG.GU..GU */ + 200 200 200 200 + 80 200 210 10 + 50 200 130 -210 + 80 200 170 10 +/* CG.UA..GU */ + 200 150 0 210 + 200 60 -130 90 + 200 70 -50 170 + 200 200 200 200 +/* CG.UC..GU */ + 200 70 -120 100 + 200 60 -30 80 + 200 200 200 200 + 200 60 -30 80 +/* CG.UG..GU */ + 200 70 -50 170 + 200 200 200 200 + 200 80 -70 140 + 200 -50 -350 50 +/* CG.UU..GU */ + 200 200 200 200 + 200 60 -30 80 + 200 50 -250 150 + 200 -20 -30 0 +/* CG.AA..UG */ + 210 180 70 200 + 170 140 30 200 + 110 80 -30 200 + 200 200 200 200 +/* CG.AC..UG */ + 210 180 70 200 + 270 180 170 200 + 200 200 200 200 + 270 180 170 200 +/* CG.AG..UG */ + 110 80 -30 200 + 200 200 200 200 + 150 120 10 200 + 30 -100 -30 200 +/* CG.AU..UG */ + 200 200 200 200 + 240 150 140 200 + 160 30 100 200 + 230 100 170 200 +/* CG.CA..UG */ + 190 250 200 250 + 140 140 200 150 + 80 180 200 190 + 200 200 200 200 +/* CG.CC..UG */ + 190 190 200 190 + 190 190 200 190 + 200 200 200 200 + 190 190 200 190 +/* CG.CG..UG */ + 80 180 200 190 + 200 200 200 200 + 120 180 200 190 + -90 10 200 10 +/* CG.CU..UG */ + 200 200 200 200 + 160 160 200 160 + 30 130 200 140 + 100 100 200 110 +/* CG.GA..UG */ + 10 200 180 40 + -30 200 130 -110 + -90 200 70 10 + 200 200 200 200 +/* CG.GC..UG */ + 10 200 180 -60 + 110 200 240 40 + 200 200 200 200 + 110 200 240 40 +/* CG.GG..UG */ + -90 200 70 10 + 200 200 200 200 + -50 200 110 -30 + -90 200 0 -350 +/* CG.GU..UG */ + 200 200 200 200 + 80 200 210 10 + 40 200 120 -220 + 110 200 190 30 +/* CG.UA..UG */ + 200 150 0 210 + 200 40 -150 70 + 200 90 -30 190 + 200 200 200 200 +/* CG.UC..UG */ + 200 90 -100 110 + 200 90 0 110 + 200 200 200 200 + 200 90 0 110 +/* CG.UG..UG */ + 200 90 -30 190 + 200 200 200 200 + 200 80 -70 150 + 200 -90 -390 10 +/* CG.UU..UG */ + 200 200 200 200 + 200 60 -30 80 + 200 40 -260 140 + 200 0 -10 30 +/* CG.AA..AU */ + 210 180 70 200 + 190 160 50 200 + 90 60 -50 200 + 200 200 200 200 +/* CG.AC..AU */ + 200 170 60 200 + 240 150 140 200 + 200 200 200 200 + 240 150 140 200 +/* CG.AG..AU */ + 90 60 -50 200 + 200 200 200 200 + 140 110 0 200 + 70 -60 10 200 +/* CG.AU..AU */ + 200 200 200 200 + 240 150 140 200 + 170 40 110 200 + 200 70 150 200 +/* CG.CA..AU */ + 190 250 200 250 + 160 160 200 170 + 60 160 200 170 + 200 200 200 200 +/* CG.CC..AU */ + 170 170 200 180 + 160 160 200 160 + 200 200 200 200 + 160 160 200 160 +/* CG.CG..AU */ + 60 160 200 170 + 200 200 200 200 + 120 180 200 180 + -50 50 200 50 +/* CG.CU..AU */ + 200 200 200 200 + 160 160 200 160 + 40 140 200 150 + 80 80 200 80 +/* CG.GA..AU */ + 10 200 180 40 + -10 200 150 -90 + -110 200 50 -10 + 200 200 200 200 +/* CG.GC..AU */ + 0 200 160 -80 + 80 200 210 10 + 200 200 200 200 + 80 200 210 10 +/* CG.GG..AU */ + -110 200 50 -10 + 200 200 200 200 + -60 200 110 -30 + -50 200 40 -310 +/* CG.GU..AU */ + 200 200 200 200 + 80 200 210 10 + 50 200 130 -210 + 80 200 170 10 +/* CG.UA..AU */ + 200 150 0 210 + 200 60 -130 90 + 200 70 -50 170 + 200 200 200 200 +/* CG.UC..AU */ + 200 70 -120 100 + 200 60 -30 80 + 200 200 200 200 + 200 60 -30 80 +/* CG.UG..AU */ + 200 70 -50 170 + 200 200 200 200 + 200 80 -70 140 + 200 -50 -350 50 +/* CG.UU..AU */ + 200 200 200 200 + 200 60 -30 80 + 200 50 -250 150 + 200 -20 -30 0 +/* CG.AA..UA */ + 210 180 70 200 + 170 140 30 200 + 110 80 -30 200 + 200 200 200 200 +/* CG.AC..UA */ + 210 180 70 200 + 270 180 170 200 + 200 200 200 200 + 270 180 170 200 +/* CG.AG..UA */ + 110 80 -30 200 + 200 200 200 200 + 150 120 10 200 + 30 -100 -30 200 +/* CG.AU..UA */ + 200 200 200 200 + 240 150 140 200 + 160 30 100 200 + 230 100 170 200 +/* CG.CA..UA */ + 190 250 200 250 + 140 140 200 150 + 80 180 200 190 + 200 200 200 200 +/* CG.CC..UA */ + 190 190 200 190 + 190 190 200 190 + 200 200 200 200 + 190 190 200 190 +/* CG.CG..UA */ + 80 180 200 190 + 200 200 200 200 + 120 180 200 190 + -90 10 200 10 +/* CG.CU..UA */ + 200 200 200 200 + 160 160 200 160 + 30 130 200 140 + 100 100 200 110 +/* CG.GA..UA */ + 10 200 180 40 + -30 200 130 -110 + -90 200 70 10 + 200 200 200 200 +/* CG.GC..UA */ + 10 200 180 -60 + 110 200 240 40 + 200 200 200 200 + 110 200 240 40 +/* CG.GG..UA */ + -90 200 70 10 + 200 200 200 200 + -50 200 110 -30 + -90 200 0 -350 +/* CG.GU..UA */ + 200 200 200 200 + 80 200 210 10 + 40 200 120 -220 + 110 200 190 30 +/* CG.UA..UA */ + 200 150 0 210 + 200 40 -150 70 + 200 90 -30 190 + 200 200 200 200 +/* CG.UC..UA */ + 200 90 -100 110 + 200 90 0 110 + 200 200 200 200 + 200 90 0 110 +/* CG.UG..UA */ + 200 90 -30 190 + 200 200 200 200 + 200 80 -70 150 + 200 -90 -390 10 +/* CG.UU..UA */ + 200 200 200 200 + 200 60 -30 80 + 200 40 -260 140 + 200 0 -10 30 +/* CG.AA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* CG.AC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* CG.AG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* CG.AU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* CG.CA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* CG.CC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* CG.CG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* CG.CU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* CG.GA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* CG.GC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* CG.GG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* CG.GU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* CG.UA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* CG.UC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* CG.UG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* CG.UU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GU.AA..GC */ + 200 190 80 200 + 190 180 70 200 + 100 90 -20 200 + 200 200 200 200 +/* GU.AC..GC */ + 240 220 110 200 + 280 210 200 200 + 200 200 200 200 + 270 190 180 200 +/* GU.AG..GC */ + 100 90 -20 200 + 200 200 200 200 + 180 160 50 200 + 30 -80 -10 200 +/* GU.AU..GC */ + 200 200 200 200 + 270 190 180 200 + 180 70 140 200 + 220 100 180 200 +/* GU.CA..GC */ + 180 230 200 230 + 170 160 200 160 + 80 170 200 170 + 200 200 200 200 +/* GU.CC..GC */ + 210 210 200 210 + 200 190 200 190 + 200 200 200 200 + 180 180 200 180 +/* GU.CG..GC */ + 80 170 200 170 + 200 200 200 200 + 150 210 200 210 + -90 0 200 0 +/* GU.CU..GC */ + 200 200 200 200 + 180 180 200 180 + 60 150 200 150 + 90 90 200 90 +/* GU.GA..GC */ + 80 200 130 160 + 70 200 120 50 + -20 200 30 140 + 200 200 200 200 +/* GU.GC..GC */ + 110 200 170 90 + 200 200 210 180 + 200 200 200 200 + 180 200 200 160 +/* GU.GG..GC */ + -20 200 30 140 + 200 200 200 200 + 50 200 110 130 + -10 200 -40 -210 +/* GU.GU..GC */ + 200 200 200 200 + 180 200 200 160 + 140 200 110 -60 + 180 200 150 160 +/* GU.UA..GC */ + 200 230 60 190 + 200 160 -50 80 + 200 170 40 180 + 200 200 200 200 +/* GU.UC..GC */ + 200 210 0 130 + 200 190 80 110 + 200 200 200 200 + 200 180 70 100 +/* GU.UG..GC */ + 200 170 40 180 + 200 200 200 200 + 200 210 40 170 + 200 0 -310 0 +/* GU.UU..GC */ + 200 200 200 200 + 200 180 70 100 + 200 150 -160 160 + 200 90 60 10 +/* GU.AA..CG */ + 210 200 90 200 + 190 170 60 200 + 10 0 -110 200 + 200 200 200 200 +/* GU.AC..CG */ + 180 170 60 200 + 250 170 160 200 + 200 200 200 200 + 150 70 70 200 +/* GU.AG..CG */ + 70 60 -50 200 + 200 200 200 200 + 180 160 50 200 + 0 -120 -50 200 +/* GU.AU..CG */ + 200 200 200 200 + 250 180 170 200 + 40 -80 -10 200 + 210 100 170 200 +/* GU.CA..CG */ + 190 240 200 240 + 160 160 200 160 + -10 80 200 80 + 200 200 200 200 +/* GU.CC..CG */ + 160 150 200 150 + 160 160 200 160 + 200 200 200 200 + 60 60 200 60 +/* GU.CG..CG */ + 50 140 200 140 + 200 200 200 200 + 150 210 200 210 + -130 -30 200 -30 +/* GU.CU..CG */ + 200 200 200 200 + 170 160 200 160 + -90 10 200 10 + 90 80 200 80 +/* GU.GA..CG */ + 90 200 140 170 + 60 200 120 40 + -110 200 -60 50 + 200 200 200 200 +/* GU.GC..CG */ + 60 200 110 40 + 160 200 180 140 + 200 200 200 200 + 70 200 80 50 +/* GU.GG..CG */ + -50 200 0 110 + 200 200 200 200 + 50 200 110 130 + -50 200 -70 -250 +/* GU.GU..CG */ + 200 200 200 200 + 170 200 180 150 + -10 200 -30 -210 + 170 200 140 150 +/* GU.UA..CG */ + 200 240 70 200 + 200 160 -50 80 + 200 80 -50 80 + 200 200 200 200 +/* GU.UC..CG */ + 200 150 -60 70 + 200 160 50 80 + 200 200 200 200 + 200 60 -50 -20 +/* GU.UG..CG */ + 200 140 10 150 + 200 200 200 200 + 200 210 40 170 + 200 -30 -350 -30 +/* GU.UU..CG */ + 200 200 200 200 + 200 160 50 80 + 200 10 -310 10 + 200 80 50 0 +/* GU.AA..GU */ + 280 260 150 200 + 250 240 130 200 + 150 140 30 200 + 200 200 200 200 +/* GU.AC..GU */ + 260 250 140 200 + 310 230 220 200 + 200 200 200 200 + 310 230 220 200 +/* GU.AG..GU */ + 150 140 30 200 + 200 200 200 200 + 210 190 80 200 + 130 20 90 200 +/* GU.AU..GU */ + 200 200 200 200 + 310 230 220 200 + 230 120 190 200 + 270 150 220 200 +/* GU.CA..GU */ + 250 310 200 310 + 230 220 200 220 + 130 220 200 220 + 200 200 200 200 +/* GU.CC..GU */ + 240 230 200 230 + 220 220 200 220 + 200 200 200 200 + 220 220 200 220 +/* GU.CG..GU */ + 130 220 200 220 + 200 200 200 200 + 180 240 200 240 + 10 100 200 100 +/* GU.CU..GU */ + 200 200 200 200 + 220 220 200 220 + 110 200 200 200 + 140 140 200 140 +/* GU.GA..GU */ + 150 200 210 230 + 130 200 180 110 + 30 200 80 190 + 200 200 200 200 +/* GU.GC..GU */ + 140 200 190 120 + 220 200 240 200 + 200 200 200 200 + 220 200 240 200 +/* GU.GG..GU */ + 30 200 80 190 + 200 200 200 200 + 80 200 140 160 + 90 200 70 -110 +/* GU.GU..GU */ + 200 200 200 200 + 220 200 240 200 + 190 200 160 -10 + 220 200 200 200 +/* GU.UA..GU */ + 200 310 130 270 + 200 220 10 140 + 200 220 90 220 + 200 200 200 200 +/* GU.UC..GU */ + 200 230 20 150 + 200 220 100 140 + 200 200 200 200 + 200 220 100 140 +/* GU.UG..GU */ + 200 220 90 220 + 200 200 200 200 + 200 240 70 200 + 200 100 -210 110 +/* GU.UU..GU */ + 200 200 200 200 + 200 220 100 140 + 200 200 -110 200 + 200 140 110 60 +/* GU.AA..UG */ + 280 260 150 200 + 230 220 110 200 + 170 160 50 200 + 200 200 200 200 +/* GU.AC..UG */ + 280 260 150 200 + 340 260 250 200 + 200 200 200 200 + 340 260 250 200 +/* GU.AG..UG */ + 170 160 50 200 + 200 200 200 200 + 210 200 90 200 + 100 -20 50 200 +/* GU.AU..UG */ + 200 200 200 200 + 310 230 220 200 + 220 110 180 200 + 290 180 250 200 +/* GU.CA..UG */ + 250 310 200 310 + 210 200 200 200 + 150 240 200 240 + 200 200 200 200 +/* GU.CC..UG */ + 250 250 200 250 + 250 250 200 250 + 200 200 200 200 + 250 250 200 250 +/* GU.CG..UG */ + 150 240 200 240 + 200 200 200 200 + 190 240 200 240 + -30 70 200 70 +/* GU.CU..UG */ + 200 200 200 200 + 220 220 200 220 + 100 190 200 190 + 170 160 200 160 +/* GU.GA..UG */ + 150 200 210 230 + 110 200 160 90 + 50 200 100 210 + 200 200 200 200 +/* GU.GC..UG */ + 150 200 210 130 + 250 200 270 230 + 200 200 200 200 + 250 200 270 230 +/* GU.GG..UG */ + 50 200 100 210 + 200 200 200 200 + 90 200 140 170 + 50 200 30 -150 +/* GU.GU..UG */ + 200 200 200 200 + 220 200 240 200 + 180 200 150 -20 + 250 200 220 230 +/* GU.UA..UG */ + 200 310 130 270 + 200 200 -10 120 + 200 240 110 240 + 200 200 200 200 +/* GU.UC..UG */ + 200 250 30 170 + 200 250 130 170 + 200 200 200 200 + 200 250 130 170 +/* GU.UG..UG */ + 200 240 110 240 + 200 200 200 200 + 200 240 70 200 + 200 70 -250 70 +/* GU.UU..UG */ + 200 200 200 200 + 200 220 100 140 + 200 190 -120 190 + 200 160 130 80 +/* GU.AA..AU */ + 280 260 150 200 + 250 240 130 200 + 150 140 30 200 + 200 200 200 200 +/* GU.AC..AU */ + 260 250 140 200 + 310 230 220 200 + 200 200 200 200 + 310 230 220 200 +/* GU.AG..AU */ + 150 140 30 200 + 200 200 200 200 + 210 190 80 200 + 130 20 90 200 +/* GU.AU..AU */ + 200 200 200 200 + 310 230 220 200 + 230 120 190 200 + 270 150 220 200 +/* GU.CA..AU */ + 250 310 200 310 + 230 220 200 220 + 130 220 200 220 + 200 200 200 200 +/* GU.CC..AU */ + 240 230 200 230 + 220 220 200 220 + 200 200 200 200 + 220 220 200 220 +/* GU.CG..AU */ + 130 220 200 220 + 200 200 200 200 + 180 240 200 240 + 10 100 200 100 +/* GU.CU..AU */ + 200 200 200 200 + 220 220 200 220 + 110 200 200 200 + 140 140 200 140 +/* GU.GA..AU */ + 150 200 210 230 + 130 200 180 110 + 30 200 80 190 + 200 200 200 200 +/* GU.GC..AU */ + 140 200 190 120 + 220 200 240 200 + 200 200 200 200 + 220 200 240 200 +/* GU.GG..AU */ + 30 200 80 190 + 200 200 200 200 + 80 200 140 160 + 90 200 70 -110 +/* GU.GU..AU */ + 200 200 200 200 + 220 200 240 200 + 190 200 160 -10 + 220 200 200 200 +/* GU.UA..AU */ + 200 310 130 270 + 200 220 10 140 + 200 220 90 220 + 200 200 200 200 +/* GU.UC..AU */ + 200 230 20 150 + 200 220 100 140 + 200 200 200 200 + 200 220 100 140 +/* GU.UG..AU */ + 200 220 90 220 + 200 200 200 200 + 200 240 70 200 + 200 100 -210 110 +/* GU.UU..AU */ + 200 200 200 200 + 200 220 100 140 + 200 200 -110 200 + 200 140 110 60 +/* GU.AA..UA */ + 280 260 150 200 + 230 220 110 200 + 170 160 50 200 + 200 200 200 200 +/* GU.AC..UA */ + 280 260 150 200 + 340 260 250 200 + 200 200 200 200 + 340 260 250 200 +/* GU.AG..UA */ + 170 160 50 200 + 200 200 200 200 + 210 200 90 200 + 100 -20 50 200 +/* GU.AU..UA */ + 200 200 200 200 + 310 230 220 200 + 220 110 180 200 + 290 180 250 200 +/* GU.CA..UA */ + 250 310 200 310 + 210 200 200 200 + 150 240 200 240 + 200 200 200 200 +/* GU.CC..UA */ + 250 250 200 250 + 250 250 200 250 + 200 200 200 200 + 250 250 200 250 +/* GU.CG..UA */ + 150 240 200 240 + 200 200 200 200 + 190 240 200 240 + -30 70 200 70 +/* GU.CU..UA */ + 200 200 200 200 + 220 220 200 220 + 100 190 200 190 + 170 160 200 160 +/* GU.GA..UA */ + 150 200 210 230 + 110 200 160 90 + 50 200 100 210 + 200 200 200 200 +/* GU.GC..UA */ + 150 200 210 130 + 250 200 270 230 + 200 200 200 200 + 250 200 270 230 +/* GU.GG..UA */ + 50 200 100 210 + 200 200 200 200 + 90 200 140 170 + 50 200 30 -150 +/* GU.GU..UA */ + 200 200 200 200 + 220 200 240 200 + 180 200 150 -20 + 250 200 220 230 +/* GU.UA..UA */ + 200 310 130 270 + 200 200 -10 120 + 200 240 110 240 + 200 200 200 200 +/* GU.UC..UA */ + 200 250 30 170 + 200 250 130 170 + 200 200 200 200 + 200 250 130 170 +/* GU.UG..UA */ + 200 240 110 240 + 200 200 200 200 + 200 240 70 200 + 200 70 -250 70 +/* GU.UU..UA */ + 200 200 200 200 + 200 220 100 140 + 200 190 -120 190 + 200 160 130 80 +/* GU.AA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GU.AC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GU.AG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GU.AU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GU.CA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GU.CC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GU.CG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GU.CU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GU.GA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GU.GC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GU.GG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GU.GU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GU.UA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GU.UC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GU.UG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* GU.UU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UG.AA..GC */ + 200 200 100 200 + 190 190 90 200 + 100 100 0 200 + 200 200 200 200 +/* UG.AC..GC */ + 240 240 130 200 + 280 220 220 200 + 200 200 200 200 + 270 210 200 200 +/* UG.AG..GC */ + 100 100 0 200 + 200 200 200 200 + 180 180 70 200 + 30 -70 10 200 +/* UG.AU..GC */ + 200 200 200 200 + 270 210 200 200 + 180 80 160 200 + 220 120 190 200 +/* UG.CA..GC */ + 160 260 200 230 + 150 190 200 160 + 60 200 200 170 + 200 200 200 200 +/* UG.CC..GC */ + 190 240 200 210 + 180 220 200 190 + 200 200 200 200 + 160 210 200 180 +/* UG.CG..GC */ + 60 200 200 170 + 200 200 200 200 + 130 240 200 210 + -110 30 200 0 +/* UG.CU..GC */ + 200 200 200 200 + 160 210 200 180 + 40 180 200 150 + 70 120 200 90 +/* UG.GA..GC */ + 100 200 140 150 + 90 200 130 40 + 0 200 40 130 + 200 200 200 200 +/* UG.GC..GC */ + 130 200 170 80 + 220 200 220 170 + 200 200 200 200 + 200 200 200 150 +/* UG.GG..GC */ + 0 200 40 130 + 200 200 200 200 + 70 200 110 120 + 10 200 -30 -220 +/* UG.GU..GC */ + 200 200 200 200 + 200 200 200 150 + 160 200 120 -70 + 190 200 150 150 +/* UG.UA..GC */ + 200 260 20 220 + 200 190 -90 110 + 200 200 0 200 + 200 200 200 200 +/* UG.UC..GC */ + 200 240 -40 150 + 200 220 40 140 + 200 200 200 200 + 200 210 30 120 +/* UG.UG..GC */ + 200 200 0 200 + 200 200 200 200 + 200 240 0 190 + 200 30 -350 30 +/* UG.UU..GC */ + 200 200 200 200 + 200 210 30 120 + 200 180 -200 180 + 200 120 20 30 +/* UG.AA..CG */ + 210 210 110 200 + 190 190 80 200 + 10 10 -90 200 + 200 200 200 200 +/* UG.AC..CG */ + 180 180 80 200 + 250 190 180 200 + 200 200 200 200 + 150 90 90 200 +/* UG.AG..CG */ + 70 70 -30 200 + 200 200 200 200 + 180 180 70 200 + 0 -100 -30 200 +/* UG.AU..CG */ + 200 200 200 200 + 250 190 190 200 + 40 -60 10 200 + 210 110 190 200 +/* UG.CA..CG */ + 170 270 200 240 + 140 190 200 160 + -30 110 200 80 + 200 200 200 200 +/* UG.CC..CG */ + 140 180 200 150 + 140 190 200 160 + 200 200 200 200 + 40 90 200 60 +/* UG.CG..CG */ + 30 170 200 140 + 200 200 200 200 + 130 240 200 210 + -150 0 200 -30 +/* UG.CU..CG */ + 200 200 200 200 + 150 190 200 160 + -110 40 200 10 + 70 110 200 80 +/* UG.GA..CG */ + 110 200 150 160 + 80 200 120 30 + -90 200 -50 40 + 200 200 200 200 +/* UG.GC..CG */ + 80 200 120 30 + 180 200 180 130 + 200 200 200 200 + 90 200 80 40 +/* UG.GG..CG */ + -30 200 10 100 + 200 200 200 200 + 70 200 110 120 + -30 200 -70 -260 +/* UG.GU..CG */ + 200 200 200 200 + 190 200 190 140 + 10 200 -30 -220 + 190 200 150 140 +/* UG.UA..CG */ + 200 270 30 230 + 200 190 -90 100 + 200 110 -90 110 + 200 200 200 200 +/* UG.UC..CG */ + 200 180 -100 100 + 200 190 10 100 + 200 200 200 200 + 200 90 -90 0 +/* UG.UG..CG */ + 200 170 -30 170 + 200 200 200 200 + 200 240 0 190 + 200 0 -390 -10 +/* UG.UU..CG */ + 200 200 200 200 + 200 190 10 110 + 200 40 -350 30 + 200 110 10 30 +/* UG.AA..GU */ + 280 280 170 200 + 250 250 150 200 + 150 150 50 200 + 200 200 200 200 +/* UG.AC..GU */ + 260 260 160 200 + 310 250 240 200 + 200 200 200 200 + 310 250 240 200 +/* UG.AG..GU */ + 150 150 50 200 + 200 200 200 200 + 210 210 100 200 + 130 30 110 200 +/* UG.AU..GU */ + 200 200 200 200 + 310 250 240 200 + 230 130 210 200 + 270 170 240 200 +/* UG.CA..GU */ + 230 340 200 310 + 210 250 200 220 + 110 250 200 220 + 200 200 200 200 +/* UG.CC..GU */ + 220 260 200 230 + 200 250 200 220 + 200 200 200 200 + 200 250 200 220 +/* UG.CG..GU */ + 110 250 200 220 + 200 200 200 200 + 160 270 200 240 + -10 130 200 100 +/* UG.CU..GU */ + 200 200 200 200 + 200 250 200 220 + 90 230 200 200 + 120 170 200 140 +/* UG.GA..GU */ + 170 200 210 220 + 150 200 190 100 + 50 200 90 180 + 200 200 200 200 +/* UG.GC..GU */ + 160 200 200 110 + 240 200 240 190 + 200 200 200 200 + 240 200 240 190 +/* UG.GG..GU */ + 50 200 90 180 + 200 200 200 200 + 100 200 140 150 + 110 200 70 -120 +/* UG.GU..GU */ + 200 200 200 200 + 240 200 240 190 + 210 200 170 -20 + 240 200 200 190 +/* UG.UA..GU */ + 200 340 100 290 + 200 250 -30 170 + 200 250 50 250 + 200 200 200 200 +/* UG.UC..GU */ + 200 260 -20 180 + 200 250 70 160 + 200 200 200 200 + 200 250 70 160 +/* UG.UG..GU */ + 200 250 50 250 + 200 200 200 200 + 200 270 30 220 + 200 130 -250 130 +/* UG.UU..GU */ + 200 200 200 200 + 200 250 70 160 + 200 230 -150 230 + 200 170 70 80 +/* UG.AA..UG */ + 280 280 170 200 + 230 230 130 200 + 170 170 70 200 + 200 200 200 200 +/* UG.AC..UG */ + 280 280 170 200 + 340 280 270 200 + 200 200 200 200 + 340 280 270 200 +/* UG.AG..UG */ + 170 170 70 200 + 200 200 200 200 + 210 210 110 200 + 100 0 70 200 +/* UG.AU..UG */ + 200 200 200 200 + 310 250 240 200 + 220 120 200 200 + 290 190 270 200 +/* UG.CA..UG */ + 230 340 200 310 + 190 230 200 200 + 130 270 200 240 + 200 200 200 200 +/* UG.CC..UG */ + 230 280 200 250 + 230 280 200 250 + 200 200 200 200 + 230 280 200 250 +/* UG.CG..UG */ + 130 270 200 240 + 200 200 200 200 + 170 270 200 240 + -50 100 200 70 +/* UG.CU..UG */ + 200 200 200 200 + 200 250 200 220 + 80 220 200 190 + 150 190 200 160 +/* UG.GA..UG */ + 170 200 210 220 + 130 200 170 80 + 70 200 110 200 + 200 200 200 200 +/* UG.GC..UG */ + 170 200 210 120 + 270 200 270 220 + 200 200 200 200 + 270 200 270 220 +/* UG.GG..UG */ + 70 200 110 200 + 200 200 200 200 + 110 200 150 160 + 70 200 30 -160 +/* UG.GU..UG */ + 200 200 200 200 + 240 200 240 190 + 200 200 160 -30 + 270 200 230 220 +/* UG.UA..UG */ + 200 340 100 290 + 200 230 -50 150 + 200 270 70 270 + 200 200 200 200 +/* UG.UC..UG */ + 200 280 0 190 + 200 280 100 190 + 200 200 200 200 + 200 280 100 190 +/* UG.UG..UG */ + 200 270 70 270 + 200 200 200 200 + 200 270 30 230 + 200 100 -290 90 +/* UG.UU..UG */ + 200 200 200 200 + 200 250 70 160 + 200 220 -160 220 + 200 190 90 110 +/* UG.AA..AU */ + 280 280 170 200 + 250 250 150 200 + 150 150 50 200 + 200 200 200 200 +/* UG.AC..AU */ + 260 260 160 200 + 310 250 240 200 + 200 200 200 200 + 310 250 240 200 +/* UG.AG..AU */ + 150 150 50 200 + 200 200 200 200 + 210 210 100 200 + 130 30 110 200 +/* UG.AU..AU */ + 200 200 200 200 + 310 250 240 200 + 230 130 210 200 + 270 170 240 200 +/* UG.CA..AU */ + 230 340 200 310 + 210 250 200 220 + 110 250 200 220 + 200 200 200 200 +/* UG.CC..AU */ + 220 260 200 230 + 200 250 200 220 + 200 200 200 200 + 200 250 200 220 +/* UG.CG..AU */ + 110 250 200 220 + 200 200 200 200 + 160 270 200 240 + -10 130 200 100 +/* UG.CU..AU */ + 200 200 200 200 + 200 250 200 220 + 90 230 200 200 + 120 170 200 140 +/* UG.GA..AU */ + 170 200 210 220 + 150 200 190 100 + 50 200 90 180 + 200 200 200 200 +/* UG.GC..AU */ + 160 200 200 110 + 240 200 240 190 + 200 200 200 200 + 240 200 240 190 +/* UG.GG..AU */ + 50 200 90 180 + 200 200 200 200 + 100 200 140 150 + 110 200 70 -120 +/* UG.GU..AU */ + 200 200 200 200 + 240 200 240 190 + 210 200 170 -20 + 240 200 200 190 +/* UG.UA..AU */ + 200 340 100 290 + 200 250 -30 170 + 200 250 50 250 + 200 200 200 200 +/* UG.UC..AU */ + 200 260 -20 180 + 200 250 70 160 + 200 200 200 200 + 200 250 70 160 +/* UG.UG..AU */ + 200 250 50 250 + 200 200 200 200 + 200 270 30 220 + 200 130 -250 130 +/* UG.UU..AU */ + 200 200 200 200 + 200 250 70 160 + 200 230 -150 230 + 200 170 70 80 +/* UG.AA..UA */ + 280 280 170 200 + 230 230 130 200 + 170 170 70 200 + 200 200 200 200 +/* UG.AC..UA */ + 280 280 170 200 + 340 280 270 200 + 200 200 200 200 + 340 280 270 200 +/* UG.AG..UA */ + 170 170 70 200 + 200 200 200 200 + 210 210 110 200 + 100 0 70 200 +/* UG.AU..UA */ + 200 200 200 200 + 310 250 240 200 + 220 120 200 200 + 290 190 270 200 +/* UG.CA..UA */ + 230 340 200 310 + 190 230 200 200 + 130 270 200 240 + 200 200 200 200 +/* UG.CC..UA */ + 230 280 200 250 + 230 280 200 250 + 200 200 200 200 + 230 280 200 250 +/* UG.CG..UA */ + 130 270 200 240 + 200 200 200 200 + 170 270 200 240 + -50 100 200 70 +/* UG.CU..UA */ + 200 200 200 200 + 200 250 200 220 + 80 220 200 190 + 150 190 200 160 +/* UG.GA..UA */ + 170 200 210 220 + 130 200 170 80 + 70 200 110 200 + 200 200 200 200 +/* UG.GC..UA */ + 170 200 210 120 + 270 200 270 220 + 200 200 200 200 + 270 200 270 220 +/* UG.GG..UA */ + 70 200 110 200 + 200 200 200 200 + 110 200 150 160 + 70 200 30 -160 +/* UG.GU..UA */ + 200 200 200 200 + 240 200 240 190 + 200 200 160 -30 + 270 200 230 220 +/* UG.UA..UA */ + 200 340 100 290 + 200 230 -50 150 + 200 270 70 270 + 200 200 200 200 +/* UG.UC..UA */ + 200 280 0 190 + 200 280 100 190 + 200 200 200 200 + 200 280 100 190 +/* UG.UG..UA */ + 200 270 70 270 + 200 200 200 200 + 200 270 30 230 + 200 100 -290 90 +/* UG.UU..UA */ + 200 200 200 200 + 200 250 70 160 + 200 220 -160 220 + 200 190 90 110 +/* UG.AA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UG.AC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UG.AG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UG.AU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UG.CA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UG.CC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UG.CG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UG.CU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UG.GA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UG.GC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UG.GG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UG.GU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UG.UA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UG.UC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UG.UG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UG.UU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* AU.AA..GC */ + 200 190 80 200 + 190 180 70 200 + 100 90 -20 200 + 200 200 200 200 +/* AU.AC..GC */ + 240 220 110 200 + 280 210 200 200 + 200 200 200 200 + 270 190 180 200 +/* AU.AG..GC */ + 100 90 -20 200 + 200 200 200 200 + 180 160 50 200 + 30 -80 -10 200 +/* AU.AU..GC */ + 200 200 200 200 + 270 190 180 200 + 180 70 140 200 + 220 100 180 200 +/* AU.CA..GC */ + 180 230 200 230 + 170 160 200 160 + 80 170 200 170 + 200 200 200 200 +/* AU.CC..GC */ + 210 210 200 210 + 200 190 200 190 + 200 200 200 200 + 180 180 200 180 +/* AU.CG..GC */ + 80 170 200 170 + 200 200 200 200 + 150 210 200 210 + -90 0 200 0 +/* AU.CU..GC */ + 200 200 200 200 + 180 180 200 180 + 60 150 200 150 + 90 90 200 90 +/* AU.GA..GC */ + 80 200 130 160 + 70 200 120 50 + -20 200 30 140 + 200 200 200 200 +/* AU.GC..GC */ + 110 200 170 90 + 200 200 210 180 + 200 200 200 200 + 180 200 200 160 +/* AU.GG..GC */ + -20 200 30 140 + 200 200 200 200 + 50 200 110 130 + -10 200 -40 -210 +/* AU.GU..GC */ + 200 200 200 200 + 180 200 200 160 + 140 200 110 -60 + 180 200 150 160 +/* AU.UA..GC */ + 200 230 60 190 + 200 160 -50 80 + 200 170 40 180 + 200 200 200 200 +/* AU.UC..GC */ + 200 210 0 130 + 200 190 80 110 + 200 200 200 200 + 200 180 70 100 +/* AU.UG..GC */ + 200 170 40 180 + 200 200 200 200 + 200 210 40 170 + 200 0 -310 0 +/* AU.UU..GC */ + 200 200 200 200 + 200 180 70 100 + 200 150 -160 160 + 200 90 60 10 +/* AU.AA..CG */ + 210 200 90 200 + 190 170 60 200 + 10 0 -110 200 + 200 200 200 200 +/* AU.AC..CG */ + 180 170 60 200 + 250 170 160 200 + 200 200 200 200 + 150 70 70 200 +/* AU.AG..CG */ + 70 60 -50 200 + 200 200 200 200 + 180 160 50 200 + 0 -120 -50 200 +/* AU.AU..CG */ + 200 200 200 200 + 250 180 170 200 + 40 -80 -10 200 + 210 100 170 200 +/* AU.CA..CG */ + 190 240 200 240 + 160 160 200 160 + -10 80 200 80 + 200 200 200 200 +/* AU.CC..CG */ + 160 150 200 150 + 160 160 200 160 + 200 200 200 200 + 60 60 200 60 +/* AU.CG..CG */ + 50 140 200 140 + 200 200 200 200 + 150 210 200 210 + -130 -30 200 -30 +/* AU.CU..CG */ + 200 200 200 200 + 170 160 200 160 + -90 10 200 10 + 90 80 200 80 +/* AU.GA..CG */ + 90 200 140 170 + 60 200 120 40 + -110 200 -60 50 + 200 200 200 200 +/* AU.GC..CG */ + 60 200 110 40 + 160 200 180 140 + 200 200 200 200 + 70 200 80 50 +/* AU.GG..CG */ + -50 200 0 110 + 200 200 200 200 + 50 200 110 130 + -50 200 -70 -250 +/* AU.GU..CG */ + 200 200 200 200 + 170 200 180 150 + -10 200 -30 -210 + 170 200 140 150 +/* AU.UA..CG */ + 200 240 70 200 + 200 160 -50 80 + 200 80 -50 80 + 200 200 200 200 +/* AU.UC..CG */ + 200 150 -60 70 + 200 160 50 80 + 200 200 200 200 + 200 60 -50 -20 +/* AU.UG..CG */ + 200 140 10 150 + 200 200 200 200 + 200 210 40 170 + 200 -30 -350 -30 +/* AU.UU..CG */ + 200 200 200 200 + 200 160 50 80 + 200 10 -310 10 + 200 80 50 0 +/* AU.AA..GU */ + 280 260 150 200 + 250 240 130 200 + 150 140 30 200 + 200 200 200 200 +/* AU.AC..GU */ + 260 250 140 200 + 310 230 220 200 + 200 200 200 200 + 310 230 220 200 +/* AU.AG..GU */ + 150 140 30 200 + 200 200 200 200 + 210 190 80 200 + 130 20 90 200 +/* AU.AU..GU */ + 200 200 200 200 + 310 230 220 200 + 230 120 190 200 + 270 150 220 200 +/* AU.CA..GU */ + 250 310 200 310 + 230 220 200 220 + 130 220 200 220 + 200 200 200 200 +/* AU.CC..GU */ + 240 230 200 230 + 220 220 200 220 + 200 200 200 200 + 220 220 200 220 +/* AU.CG..GU */ + 130 220 200 220 + 200 200 200 200 + 180 240 200 240 + 10 100 200 100 +/* AU.CU..GU */ + 200 200 200 200 + 220 220 200 220 + 110 200 200 200 + 140 140 200 140 +/* AU.GA..GU */ + 150 200 210 230 + 130 200 180 110 + 30 200 80 190 + 200 200 200 200 +/* AU.GC..GU */ + 140 200 190 120 + 220 200 240 200 + 200 200 200 200 + 220 200 240 200 +/* AU.GG..GU */ + 30 200 80 190 + 200 200 200 200 + 80 200 140 160 + 90 200 70 -110 +/* AU.GU..GU */ + 200 200 200 200 + 220 200 240 200 + 190 200 160 -10 + 220 200 200 200 +/* AU.UA..GU */ + 200 310 130 270 + 200 220 10 140 + 200 220 90 220 + 200 200 200 200 +/* AU.UC..GU */ + 200 230 20 150 + 200 220 100 140 + 200 200 200 200 + 200 220 100 140 +/* AU.UG..GU */ + 200 220 90 220 + 200 200 200 200 + 200 240 70 200 + 200 100 -210 110 +/* AU.UU..GU */ + 200 200 200 200 + 200 220 100 140 + 200 200 -110 200 + 200 140 110 60 +/* AU.AA..UG */ + 280 260 150 200 + 230 220 110 200 + 170 160 50 200 + 200 200 200 200 +/* AU.AC..UG */ + 280 260 150 200 + 340 260 250 200 + 200 200 200 200 + 340 260 250 200 +/* AU.AG..UG */ + 170 160 50 200 + 200 200 200 200 + 210 200 90 200 + 100 -20 50 200 +/* AU.AU..UG */ + 200 200 200 200 + 310 230 220 200 + 220 110 180 200 + 290 180 250 200 +/* AU.CA..UG */ + 250 310 200 310 + 210 200 200 200 + 150 240 200 240 + 200 200 200 200 +/* AU.CC..UG */ + 250 250 200 250 + 250 250 200 250 + 200 200 200 200 + 250 250 200 250 +/* AU.CG..UG */ + 150 240 200 240 + 200 200 200 200 + 190 240 200 240 + -30 70 200 70 +/* AU.CU..UG */ + 200 200 200 200 + 220 220 200 220 + 100 190 200 190 + 170 160 200 160 +/* AU.GA..UG */ + 150 200 210 230 + 110 200 160 90 + 50 200 100 210 + 200 200 200 200 +/* AU.GC..UG */ + 150 200 210 130 + 250 200 270 230 + 200 200 200 200 + 250 200 270 230 +/* AU.GG..UG */ + 50 200 100 210 + 200 200 200 200 + 90 200 140 170 + 50 200 30 -150 +/* AU.GU..UG */ + 200 200 200 200 + 220 200 240 200 + 180 200 150 -20 + 250 200 220 230 +/* AU.UA..UG */ + 200 310 130 270 + 200 200 -10 120 + 200 240 110 240 + 200 200 200 200 +/* AU.UC..UG */ + 200 250 30 170 + 200 250 130 170 + 200 200 200 200 + 200 250 130 170 +/* AU.UG..UG */ + 200 240 110 240 + 200 200 200 200 + 200 240 70 200 + 200 70 -250 70 +/* AU.UU..UG */ + 200 200 200 200 + 200 220 100 140 + 200 190 -120 190 + 200 160 130 80 +/* AU.AA..AU */ + 280 260 150 200 + 250 240 130 200 + 150 140 30 200 + 200 200 200 200 +/* AU.AC..AU */ + 260 250 140 200 + 310 230 220 200 + 200 200 200 200 + 310 230 220 200 +/* AU.AG..AU */ + 150 140 30 200 + 200 200 200 200 + 210 190 80 200 + 130 20 90 200 +/* AU.AU..AU */ + 200 200 200 200 + 310 230 220 200 + 230 120 190 200 + 270 150 220 200 +/* AU.CA..AU */ + 250 310 200 310 + 230 220 200 220 + 130 220 200 220 + 200 200 200 200 +/* AU.CC..AU */ + 240 230 200 230 + 220 220 200 220 + 200 200 200 200 + 220 220 200 220 +/* AU.CG..AU */ + 130 220 200 220 + 200 200 200 200 + 180 240 200 240 + 10 100 200 100 +/* AU.CU..AU */ + 200 200 200 200 + 220 220 200 220 + 110 200 200 200 + 140 140 200 140 +/* AU.GA..AU */ + 150 200 210 230 + 130 200 180 110 + 30 200 80 190 + 200 200 200 200 +/* AU.GC..AU */ + 140 200 190 120 + 220 200 240 200 + 200 200 200 200 + 220 200 240 200 +/* AU.GG..AU */ + 30 200 80 190 + 200 200 200 200 + 80 200 140 160 + 90 200 70 -110 +/* AU.GU..AU */ + 200 200 200 200 + 220 200 240 200 + 190 200 160 -10 + 220 200 200 200 +/* AU.UA..AU */ + 200 310 130 270 + 200 220 10 140 + 200 220 90 220 + 200 200 200 200 +/* AU.UC..AU */ + 200 230 20 150 + 200 220 100 140 + 200 200 200 200 + 200 220 100 140 +/* AU.UG..AU */ + 200 220 90 220 + 200 200 200 200 + 200 240 70 200 + 200 100 -210 110 +/* AU.UU..AU */ + 200 200 200 200 + 200 220 100 140 + 200 200 -110 200 + 200 140 110 60 +/* AU.AA..UA */ + 280 260 150 200 + 230 220 110 200 + 170 160 50 200 + 200 200 200 200 +/* AU.AC..UA */ + 280 260 150 200 + 340 260 250 200 + 200 200 200 200 + 340 260 250 200 +/* AU.AG..UA */ + 170 160 50 200 + 200 200 200 200 + 210 200 90 200 + 100 -20 50 200 +/* AU.AU..UA */ + 200 200 200 200 + 310 230 220 200 + 220 110 180 200 + 290 180 250 200 +/* AU.CA..UA */ + 250 310 200 310 + 210 200 200 200 + 150 240 200 240 + 200 200 200 200 +/* AU.CC..UA */ + 250 250 200 250 + 250 250 200 250 + 200 200 200 200 + 250 250 200 250 +/* AU.CG..UA */ + 150 240 200 240 + 200 200 200 200 + 190 240 200 240 + -30 70 200 70 +/* AU.CU..UA */ + 200 200 200 200 + 220 220 200 220 + 100 190 200 190 + 170 160 200 160 +/* AU.GA..UA */ + 150 200 210 230 + 110 200 160 90 + 50 200 100 210 + 200 200 200 200 +/* AU.GC..UA */ + 150 200 210 130 + 250 200 270 230 + 200 200 200 200 + 250 200 270 230 +/* AU.GG..UA */ + 50 200 100 210 + 200 200 200 200 + 90 200 140 170 + 50 200 30 -150 +/* AU.GU..UA */ + 200 200 200 200 + 220 200 240 200 + 180 200 150 -20 + 250 200 220 230 +/* AU.UA..UA */ + 200 310 130 270 + 200 200 -10 120 + 200 240 110 240 + 200 200 200 200 +/* AU.UC..UA */ + 200 250 30 170 + 200 250 130 170 + 200 200 200 200 + 200 250 130 170 +/* AU.UG..UA */ + 200 240 110 240 + 200 200 200 200 + 200 240 70 200 + 200 70 -250 70 +/* AU.UU..UA */ + 200 200 200 200 + 200 220 100 140 + 200 190 -120 190 + 200 160 130 80 +/* AU.AA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* AU.AC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* AU.AG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* AU.AU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* AU.CA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* AU.CC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* AU.CG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* AU.CU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* AU.GA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* AU.GC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* AU.GG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* AU.GU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* AU.UA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* AU.UC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* AU.UG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* AU.UU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UA.AA..GC */ + 200 200 100 200 + 190 190 90 200 + 100 100 0 200 + 200 200 200 200 +/* UA.AC..GC */ + 240 240 130 200 + 280 220 220 200 + 200 200 200 200 + 270 210 200 200 +/* UA.AG..GC */ + 100 100 0 200 + 200 200 200 200 + 180 180 70 200 + 30 -70 10 200 +/* UA.AU..GC */ + 200 200 200 200 + 270 210 200 200 + 180 80 160 200 + 220 120 190 200 +/* UA.CA..GC */ + 160 260 200 230 + 150 190 200 160 + 60 200 200 170 + 200 200 200 200 +/* UA.CC..GC */ + 190 240 200 210 + 180 220 200 190 + 200 200 200 200 + 160 210 200 180 +/* UA.CG..GC */ + 60 200 200 170 + 200 200 200 200 + 130 240 200 210 + -110 30 200 0 +/* UA.CU..GC */ + 200 200 200 200 + 160 210 200 180 + 40 180 200 150 + 70 120 200 90 +/* UA.GA..GC */ + 100 200 140 150 + 90 200 130 40 + 0 200 40 130 + 200 200 200 200 +/* UA.GC..GC */ + 130 200 170 80 + 220 200 220 170 + 200 200 200 200 + 200 200 200 150 +/* UA.GG..GC */ + 0 200 40 130 + 200 200 200 200 + 70 200 110 120 + 10 200 -30 -220 +/* UA.GU..GC */ + 200 200 200 200 + 200 200 200 150 + 160 200 120 -70 + 190 200 150 150 +/* UA.UA..GC */ + 200 260 20 220 + 200 190 -90 110 + 200 200 0 200 + 200 200 200 200 +/* UA.UC..GC */ + 200 240 -40 150 + 200 220 40 140 + 200 200 200 200 + 200 210 30 120 +/* UA.UG..GC */ + 200 200 0 200 + 200 200 200 200 + 200 240 0 190 + 200 30 -350 30 +/* UA.UU..GC */ + 200 200 200 200 + 200 210 30 120 + 200 180 -200 180 + 200 120 20 30 +/* UA.AA..CG */ + 210 210 110 200 + 190 190 80 200 + 10 10 -90 200 + 200 200 200 200 +/* UA.AC..CG */ + 180 180 80 200 + 250 190 180 200 + 200 200 200 200 + 150 90 90 200 +/* UA.AG..CG */ + 70 70 -30 200 + 200 200 200 200 + 180 180 70 200 + 0 -100 -30 200 +/* UA.AU..CG */ + 200 200 200 200 + 250 190 190 200 + 40 -60 10 200 + 210 110 190 200 +/* UA.CA..CG */ + 170 270 200 240 + 140 190 200 160 + -30 110 200 80 + 200 200 200 200 +/* UA.CC..CG */ + 140 180 200 150 + 140 190 200 160 + 200 200 200 200 + 40 90 200 60 +/* UA.CG..CG */ + 30 170 200 140 + 200 200 200 200 + 130 240 200 210 + -150 0 200 -30 +/* UA.CU..CG */ + 200 200 200 200 + 150 190 200 160 + -110 40 200 10 + 70 110 200 80 +/* UA.GA..CG */ + 110 200 150 160 + 80 200 120 30 + -90 200 -50 40 + 200 200 200 200 +/* UA.GC..CG */ + 80 200 120 30 + 180 200 180 130 + 200 200 200 200 + 90 200 80 40 +/* UA.GG..CG */ + -30 200 10 100 + 200 200 200 200 + 70 200 110 120 + -30 200 -70 -260 +/* UA.GU..CG */ + 200 200 200 200 + 190 200 190 140 + 10 200 -30 -220 + 190 200 150 140 +/* UA.UA..CG */ + 200 270 30 230 + 200 190 -90 100 + 200 110 -90 110 + 200 200 200 200 +/* UA.UC..CG */ + 200 180 -100 100 + 200 190 10 100 + 200 200 200 200 + 200 90 -90 0 +/* UA.UG..CG */ + 200 170 -30 170 + 200 200 200 200 + 200 240 0 190 + 200 0 -390 -10 +/* UA.UU..CG */ + 200 200 200 200 + 200 190 10 110 + 200 40 -350 30 + 200 110 10 30 +/* UA.AA..GU */ + 280 280 170 200 + 250 250 150 200 + 150 150 50 200 + 200 200 200 200 +/* UA.AC..GU */ + 260 260 160 200 + 310 250 240 200 + 200 200 200 200 + 310 250 240 200 +/* UA.AG..GU */ + 150 150 50 200 + 200 200 200 200 + 210 210 100 200 + 130 30 110 200 +/* UA.AU..GU */ + 200 200 200 200 + 310 250 240 200 + 230 130 210 200 + 270 170 240 200 +/* UA.CA..GU */ + 230 340 200 310 + 210 250 200 220 + 110 250 200 220 + 200 200 200 200 +/* UA.CC..GU */ + 220 260 200 230 + 200 250 200 220 + 200 200 200 200 + 200 250 200 220 +/* UA.CG..GU */ + 110 250 200 220 + 200 200 200 200 + 160 270 200 240 + -10 130 200 100 +/* UA.CU..GU */ + 200 200 200 200 + 200 250 200 220 + 90 230 200 200 + 120 170 200 140 +/* UA.GA..GU */ + 170 200 210 220 + 150 200 190 100 + 50 200 90 180 + 200 200 200 200 +/* UA.GC..GU */ + 160 200 200 110 + 240 200 240 190 + 200 200 200 200 + 240 200 240 190 +/* UA.GG..GU */ + 50 200 90 180 + 200 200 200 200 + 100 200 140 150 + 110 200 70 -120 +/* UA.GU..GU */ + 200 200 200 200 + 240 200 240 190 + 210 200 170 -20 + 240 200 200 190 +/* UA.UA..GU */ + 200 340 100 290 + 200 250 -30 170 + 200 250 50 250 + 200 200 200 200 +/* UA.UC..GU */ + 200 260 -20 180 + 200 250 70 160 + 200 200 200 200 + 200 250 70 160 +/* UA.UG..GU */ + 200 250 50 250 + 200 200 200 200 + 200 270 30 220 + 200 130 -250 130 +/* UA.UU..GU */ + 200 200 200 200 + 200 250 70 160 + 200 230 -150 230 + 200 170 70 80 +/* UA.AA..UG */ + 280 280 170 200 + 230 230 130 200 + 170 170 70 200 + 200 200 200 200 +/* UA.AC..UG */ + 280 280 170 200 + 340 280 270 200 + 200 200 200 200 + 340 280 270 200 +/* UA.AG..UG */ + 170 170 70 200 + 200 200 200 200 + 210 210 110 200 + 100 0 70 200 +/* UA.AU..UG */ + 200 200 200 200 + 310 250 240 200 + 220 120 200 200 + 290 190 270 200 +/* UA.CA..UG */ + 230 340 200 310 + 190 230 200 200 + 130 270 200 240 + 200 200 200 200 +/* UA.CC..UG */ + 230 280 200 250 + 230 280 200 250 + 200 200 200 200 + 230 280 200 250 +/* UA.CG..UG */ + 130 270 200 240 + 200 200 200 200 + 170 270 200 240 + -50 100 200 70 +/* UA.CU..UG */ + 200 200 200 200 + 200 250 200 220 + 80 220 200 190 + 150 190 200 160 +/* UA.GA..UG */ + 170 200 210 220 + 130 200 170 80 + 70 200 110 200 + 200 200 200 200 +/* UA.GC..UG */ + 170 200 210 120 + 270 200 270 220 + 200 200 200 200 + 270 200 270 220 +/* UA.GG..UG */ + 70 200 110 200 + 200 200 200 200 + 110 200 150 160 + 70 200 30 -160 +/* UA.GU..UG */ + 200 200 200 200 + 240 200 240 190 + 200 200 160 -30 + 270 200 230 220 +/* UA.UA..UG */ + 200 340 100 290 + 200 230 -50 150 + 200 270 70 270 + 200 200 200 200 +/* UA.UC..UG */ + 200 280 0 190 + 200 280 100 190 + 200 200 200 200 + 200 280 100 190 +/* UA.UG..UG */ + 200 270 70 270 + 200 200 200 200 + 200 270 30 230 + 200 100 -290 90 +/* UA.UU..UG */ + 200 200 200 200 + 200 250 70 160 + 200 220 -160 220 + 200 190 90 110 +/* UA.AA..AU */ + 280 280 170 200 + 250 250 150 200 + 150 150 50 200 + 200 200 200 200 +/* UA.AC..AU */ + 260 260 160 200 + 310 250 240 200 + 200 200 200 200 + 310 250 240 200 +/* UA.AG..AU */ + 150 150 50 200 + 200 200 200 200 + 210 210 100 200 + 130 30 110 200 +/* UA.AU..AU */ + 200 200 200 200 + 310 250 240 200 + 230 130 210 200 + 270 170 240 200 +/* UA.CA..AU */ + 230 340 200 310 + 210 250 200 220 + 110 250 200 220 + 200 200 200 200 +/* UA.CC..AU */ + 220 260 200 230 + 200 250 200 220 + 200 200 200 200 + 200 250 200 220 +/* UA.CG..AU */ + 110 250 200 220 + 200 200 200 200 + 160 270 200 240 + -10 130 200 100 +/* UA.CU..AU */ + 200 200 200 200 + 200 250 200 220 + 90 230 200 200 + 120 170 200 140 +/* UA.GA..AU */ + 170 200 210 220 + 150 200 190 100 + 50 200 90 180 + 200 200 200 200 +/* UA.GC..AU */ + 160 200 200 110 + 240 200 240 190 + 200 200 200 200 + 240 200 240 190 +/* UA.GG..AU */ + 50 200 90 180 + 200 200 200 200 + 100 200 140 150 + 110 200 70 -120 +/* UA.GU..AU */ + 200 200 200 200 + 240 200 240 190 + 210 200 170 -20 + 240 200 200 190 +/* UA.UA..AU */ + 200 340 100 290 + 200 250 -30 170 + 200 250 50 250 + 200 200 200 200 +/* UA.UC..AU */ + 200 260 -20 180 + 200 250 70 160 + 200 200 200 200 + 200 250 70 160 +/* UA.UG..AU */ + 200 250 50 250 + 200 200 200 200 + 200 270 30 220 + 200 130 -250 130 +/* UA.UU..AU */ + 200 200 200 200 + 200 250 70 160 + 200 230 -150 230 + 200 170 70 80 +/* UA.AA..UA */ + 280 280 170 200 + 230 230 130 200 + 170 170 70 200 + 200 200 200 200 +/* UA.AC..UA */ + 280 280 170 200 + 340 280 270 200 + 200 200 200 200 + 340 280 270 200 +/* UA.AG..UA */ + 170 170 70 200 + 200 200 200 200 + 210 210 110 200 + 100 0 70 200 +/* UA.AU..UA */ + 200 200 200 200 + 310 250 240 200 + 220 120 200 200 + 290 190 270 200 +/* UA.CA..UA */ + 230 340 200 310 + 190 230 200 200 + 130 270 200 240 + 200 200 200 200 +/* UA.CC..UA */ + 230 280 200 250 + 230 280 200 250 + 200 200 200 200 + 230 280 200 250 +/* UA.CG..UA */ + 130 270 200 240 + 200 200 200 200 + 170 270 200 240 + -50 100 200 70 +/* UA.CU..UA */ + 200 200 200 200 + 200 250 200 220 + 80 220 200 190 + 150 190 200 160 +/* UA.GA..UA */ + 170 200 210 220 + 130 200 170 80 + 70 200 110 200 + 200 200 200 200 +/* UA.GC..UA */ + 170 200 210 120 + 270 200 270 220 + 200 200 200 200 + 270 200 270 220 +/* UA.GG..UA */ + 70 200 110 200 + 200 200 200 200 + 110 200 150 160 + 70 200 30 -160 +/* UA.GU..UA */ + 200 200 200 200 + 240 200 240 190 + 200 200 160 -30 + 270 200 230 220 +/* UA.UA..UA */ + 200 340 100 290 + 200 230 -50 150 + 200 270 70 270 + 200 200 200 200 +/* UA.UC..UA */ + 200 280 0 190 + 200 280 100 190 + 200 200 200 200 + 200 280 100 190 +/* UA.UG..UA */ + 200 270 70 270 + 200 200 200 200 + 200 270 30 230 + 200 100 -290 90 +/* UA.UU..UA */ + 200 200 200 200 + 200 250 70 160 + 200 220 -160 220 + 200 190 90 110 +/* UA.AA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UA.AC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UA.AG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UA.AU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UA.CA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UA.CC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UA.CG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UA.CU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UA.GA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UA.GC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UA.GG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UA.GU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UA.UA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UA.UC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UA.UG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* UA.UU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AA..GC */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AC..GC */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AG..GC */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AU..GC */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CA..GC */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CC..GC */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CG..GC */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CU..GC */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GA..GC */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GC..GC */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GG..GC */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GU..GC */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UA..GC */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UC..GC */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UG..GC */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UU..GC */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AA..CG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AC..CG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AG..CG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AU..CG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CA..CG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CC..CG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CG..CG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CU..CG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GA..CG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GC..CG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GG..CG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GU..CG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UA..CG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UC..CG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UG..CG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UU..CG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AA..GU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AC..GU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AG..GU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AU..GU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CA..GU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CC..GU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CG..GU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CU..GU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GA..GU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GC..GU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GG..GU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GU..GU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UA..GU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UC..GU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UG..GU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UU..GU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AA..UG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AC..UG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AG..UG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AU..UG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CA..UG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CC..UG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CG..UG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CU..UG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GA..UG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GC..UG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GG..UG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GU..UG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UA..UG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UC..UG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UG..UG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UU..UG */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AA..AU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AC..AU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AG..AU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AU..AU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CA..AU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CC..AU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CG..AU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CU..AU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GA..AU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GC..AU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GG..AU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GU..AU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UA..AU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UC..AU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UG..AU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UU..AU */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AA..UA */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AC..UA */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AG..UA */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AU..UA */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CA..UA */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CC..UA */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CG..UA */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CU..UA */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GA..UA */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GC..UA */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GG..UA */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GU..UA */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UA..UA */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UC..UA */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UG..UA */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UU..UA */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.AU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.CU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.GU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UA.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UC.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UG.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 +/* @.UU.. @ */ + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + 340 340 340 340 + +# int22_enthalpies +/* CG.AA..CG */ + -2058 -1978 -2058 -2058 + -1548 -1468 -1548 -1548 + -1968 -1888 -1968 -1968 + -1838 -1758 -1838 -1838 +/* CG.AC..CG */ + -1978 -1898 -1978 -1978 + -1478 -1398 -1478 -1478 + -1968 -1888 -1968 -1968 + -1768 -1688 -1768 -1768 +/* CG.AG..CG */ + -2058 -1978 -2058 -2058 + -1548 -1468 -1548 -1548 + -1968 -1888 -1968 -1968 + -1838 -1758 -1838 -1838 +/* CG.AU..CG */ + -2058 -1978 -2058 -2058 + -1698 -1618 -1698 -1698 + -1968 -1888 -1968 -1968 + -1888 -1808 -1888 -1888 +/* CG.CA..CG */ + -1548 -1478 -1548 -1698 + -1038 -968 -1038 -1188 + -1458 -1388 -1458 -1608 + -1328 -1258 -1328 -1478 +/* CG.CC..CG */ + -1468 -1398 -1468 -1618 + -968 -898 -968 -1118 + -1458 -1388 -1458 -1608 + -1258 -1188 -1258 -1408 +/* CG.CG..CG */ + -1548 -1478 -1548 -1698 + -1038 -968 -1038 -1188 + -1458 -1388 -1458 -1608 + -1328 -1258 -1328 -1478 +/* CG.CU..CG */ + -1548 -1478 -1548 -1698 + -1188 -1118 -1188 -1338 + -1458 -1388 -1458 -1608 + -1378 -1308 -1378 -1528 +/* CG.GA..CG */ + -1968 -1968 -1968 -1968 + -1458 -1458 -1458 -1458 + -1878 -1878 -1878 -1878 + -1748 -1748 -1748 -1748 +/* CG.GC..CG */ + -1888 -1888 -1888 -1888 + -1388 -1388 -1388 -1388 + -1878 -1878 -1878 -1878 + -1678 -1678 -1678 -1678 +/* CG.GG..CG */ + -1968 -1968 -1968 -1968 + -1458 -1458 -1458 -1458 + -1878 -1878 -1878 -1878 + -1748 -1748 -1748 -1748 +/* CG.GU..CG */ + -1968 -1968 -1968 -1968 + -1608 -1608 -1608 -1608 + -1878 -1878 -1878 -1878 + -1798 -1798 -1798 -1798 +/* CG.UA..CG */ + -1838 -1768 -1838 -1888 + -1328 -1258 -1328 -1378 + -1748 -1678 -1748 -1798 + -1618 -1548 -1618 -1668 +/* CG.UC..CG */ + -1758 -1688 -1758 -1808 + -1258 -1188 -1258 -1308 + -1748 -1678 -1748 -1798 + -1548 -1478 -1548 -1598 +/* CG.UG..CG */ + -1838 -1768 -1838 -1888 + -1328 -1258 -1328 -1378 + -1748 -1678 -1748 -1798 + -1618 -1548 -1618 -1668 +/* CG.UU..CG */ + -1838 -1768 -1838 -1888 + -1478 -1408 -1478 -1528 + -1748 -1678 -1748 -1798 + -1668 -1598 -1668 -1718 +/* CG.AA..GC */ + -1548 -1468 -1548 -1548 + -1748 -1668 -1748 -1748 + -1738 -1658 -1738 -1738 + -1528 -1448 -1528 -1528 +/* CG.AC..GC */ + -1908 -1828 -1908 -1908 + -1338 -1258 -1338 -1338 + -1768 -1688 -1768 -1768 + -1528 -1448 -1528 -1528 +/* CG.AG..GC */ + -1588 -1508 -1588 -1588 + -1338 -1258 -1338 -1338 + -1648 -1568 -1648 -1648 + -1528 -1448 -1528 -1528 +/* CG.AU..GC */ + -1908 -1828 -1908 -1908 + -1418 -1338 -1418 -1418 + -1768 -1688 -1768 -1768 + -1598 -1518 -1598 -1598 +/* CG.CA..GC */ + -1038 -968 -1038 -1188 + -1238 -1168 -1238 -1388 + -1228 -1158 -1228 -1378 + -1018 -948 -1018 -1168 +/* CG.CC..GC */ + -1398 -1328 -1398 -1548 + -828 -758 -828 -978 + -1258 -1188 -1258 -1408 + -1018 -948 -1018 -1168 +/* CG.CG..GC */ + -1078 -1008 -1078 -1228 + -828 -758 -828 -978 + -1138 -1068 -1138 -1288 + -1018 -948 -1018 -1168 +/* CG.CU..GC */ + -1398 -1328 -1398 -1548 + -908 -838 -908 -1058 + -1258 -1188 -1258 -1408 + -1088 -1018 -1088 -1238 +/* CG.GA..GC */ + -1458 -1458 -1458 -1458 + -1658 -1658 -1658 -1658 + -1648 -1648 -1648 -1648 + -1438 -1438 -1438 -1438 +/* CG.GC..GC */ + -1818 -1818 -1818 -1818 + -1248 -1248 -1248 -1248 + -1678 -1678 -1678 -1678 + -1438 -1438 -1438 -1438 +/* CG.GG..GC */ + -1498 -1498 -1498 -1498 + -1248 -1248 -1248 -1248 + -1558 -1558 -1558 -1558 + -1438 -1438 -1438 -1438 +/* CG.GU..GC */ + -1818 -1818 -1818 -1818 + -1328 -1328 -1328 -1328 + -1678 -1678 -1678 -3080 + -1508 -1508 -1508 -1508 +/* CG.UA..GC */ + -1328 -1258 -1328 -1378 + -1528 -1458 -1528 -1578 + -1518 -1448 -1518 -1568 + -1308 -1238 -1308 -1358 +/* CG.UC..GC */ + -1688 -1618 -1688 -1738 + -1118 -1048 -1118 -1168 + -1548 -1478 -1548 -1598 + -1308 -1238 -1308 -1358 +/* CG.UG..GC */ + -1368 -1298 -1368 -1418 + -1118 -1048 -1118 -1168 + -1428 -1358 -1428 -1478 + -1308 -1238 -1308 -1358 +/* CG.UU..GC */ + -1688 -1618 -1688 -1738 + -1198 -1128 -1198 -1248 + -1548 -1478 -1548 -1598 + -1378 -1308 -1378 -1428 +/* CG.AA..GU */ + -1458 -1378 -1458 -1458 + -1288 -1208 -1288 -1288 + -1368 -1288 -1368 -1368 + -1358 -1278 -1358 -1358 +/* CG.AC..GU */ + -1628 -1548 -1628 -1628 + -1268 -1188 -1268 -1268 + -1718 -1638 -1718 -1718 + -1358 -1278 -1358 -1358 +/* CG.AG..GU */ + -1628 -1548 -1628 -1628 + -1268 -1188 -1268 -1268 + -1718 -1638 -1718 -1718 + -1358 -1278 -1358 -1358 +/* CG.AU..GU */ + -1628 -1548 -1628 -1628 + -1268 -1188 -1268 -1268 + -1718 -1638 -1718 -1718 + -1358 -1278 -1358 -1358 +/* CG.CA..GU */ + -948 -878 -948 -1098 + -778 -708 -778 -928 + -858 -788 -858 -1008 + -848 -778 -848 -998 +/* CG.CC..GU */ + -1118 -1048 -1118 -1268 + -758 -688 -758 -908 + -1208 -1138 -1208 -1358 + -848 -778 -848 -998 +/* CG.CG..GU */ + -1118 -1048 -1118 -1268 + -758 -688 -758 -908 + -1208 -1138 -1208 -1358 + -848 -778 -848 -998 +/* CG.CU..GU */ + -1118 -1048 -1118 -1268 + -758 -688 -758 -908 + -1208 -1138 -1208 -1358 + -848 -778 -848 -998 +/* CG.GA..GU */ + -1368 -1368 -1368 -1368 + -1198 -1198 -1198 -1198 + -1278 -1278 -1278 -1278 + -1268 -1268 -1268 -1268 +/* CG.GC..GU */ + -1538 -1538 -1538 -1538 + -1178 -1178 -1178 -1178 + -1628 -1628 -1628 -1628 + -1268 -1268 -1268 -1268 +/* CG.GG..GU */ + -1538 -1538 -1538 -1538 + -1178 -1178 -1178 -1178 + -1628 -1628 -1628 -1628 + -1268 -1268 -1268 -1268 +/* CG.GU..GU */ + -1538 -1538 -1538 -1538 + -1178 -1178 -1178 -1178 + -1628 -1628 -1628 -1628 + -1268 -1268 -1268 -1268 +/* CG.UA..GU */ + -1238 -1168 -1238 -1288 + -1068 -998 -1068 -1118 + -1148 -1078 -1148 -1198 + -1138 -1068 -1138 -1188 +/* CG.UC..GU */ + -1408 -1338 -1408 -1458 + -1048 -978 -1048 -1098 + -1498 -1428 -1498 -1548 + -1138 -1068 -1138 -1188 +/* CG.UG..GU */ + -1408 -1338 -1408 -1458 + -1048 -978 -1048 -1098 + -1498 -1428 -1498 -1548 + -1138 -1068 -1138 -1188 +/* CG.UU..GU */ + -1408 -1338 -1408 -1458 + -1048 -978 -1048 -1098 + -1498 -1428 -1498 -1548 + -1138 -1068 -1138 -1188 +/* CG.AA..UG */ + -1748 -1668 -1748 -1748 + -1508 -1428 -1508 -1508 + -1688 -1608 -1688 -1688 + -1578 -1498 -1578 -1578 +/* CG.AC..UG */ + -1818 -1738 -1818 -1818 + -1508 -1428 -1508 -1508 + -1838 -1758 -1838 -1838 + -1468 -1388 -1468 -1468 +/* CG.AG..UG */ + -1988 -1908 -1988 -1988 + -1388 -1308 -1388 -1388 + -1948 -1868 -1948 -1948 + -1578 -1498 -1578 -1578 +/* CG.AU..UG */ + -1838 -1758 -1838 -1838 + -1508 -1428 -1508 -1508 + -1838 -1758 -1838 -1838 + -1388 -1308 -1388 -1388 +/* CG.CA..UG */ + -1238 -1168 -1238 -1388 + -998 -928 -998 -1148 + -1178 -1108 -1178 -1328 + -1068 -998 -1068 -1218 +/* CG.CC..UG */ + -1308 -1238 -1308 -1458 + -998 -928 -998 -1148 + -1328 -1258 -1328 -1478 + -958 -888 -958 -1108 +/* CG.CG..UG */ + -1478 -1408 -1478 -1628 + -878 -808 -878 -1028 + -1438 -1368 -1438 -1588 + -1068 -998 -1068 -1218 +/* CG.CU..UG */ + -1328 -1258 -1328 -1478 + -998 -928 -998 -1148 + -1328 -1258 -1328 -1478 + -878 -808 -878 -1028 +/* CG.GA..UG */ + -1658 -1658 -1658 -1658 + -1418 -1418 -1418 -1418 + -1598 -1598 -1598 -1598 + -1488 -1488 -1488 -1488 +/* CG.GC..UG */ + -1728 -1728 -1728 -1728 + -1418 -1418 -1418 -1418 + -1748 -1748 -1748 -1748 + -1378 -1378 -1378 -1378 +/* CG.GG..UG */ + -1898 -1898 -1898 -1898 + -1298 -1298 -1298 -1298 + -1858 -1858 -1858 -1858 + -1488 -1488 -1488 -1488 +/* CG.GU..UG */ + -1748 -1748 -1748 -1748 + -1418 -1418 -1418 -1418 + -1748 -1748 -1748 -1748 + -1298 -1298 -1298 -1298 +/* CG.UA..UG */ + -1528 -1458 -1528 -1578 + -1288 -1218 -1288 -1338 + -1468 -1398 -1468 -1518 + -1358 -1288 -1358 -1408 +/* CG.UC..UG */ + -1598 -1528 -1598 -1648 + -1288 -1218 -1288 -1338 + -1618 -1548 -1618 -1668 + -1248 -1178 -1248 -1298 +/* CG.UG..UG */ + -1768 -1698 -1768 -1818 + -1168 -1098 -1168 -1218 + -1728 -1658 -1728 -1778 + -1358 -1288 -1358 -1408 +/* CG.UU..UG */ + -1618 -1548 -1618 -1668 + -1288 -1218 -1288 -1338 + -1618 -1548 -1618 -1668 + -1168 -1098 -1168 -1218 +/* CG.AA..AU */ + -1458 -1378 -1458 -1458 + -1288 -1208 -1288 -1288 + -1368 -1288 -1368 -1368 + -1358 -1278 -1358 -1358 +/* CG.AC..AU */ + -1628 -1548 -1628 -1628 + -1268 -1188 -1268 -1268 + -1718 -1638 -1718 -1718 + -1358 -1278 -1358 -1358 +/* CG.AG..AU */ + -1628 -1548 -1628 -1628 + -1268 -1188 -1268 -1268 + -1718 -1638 -1718 -1718 + -1358 -1278 -1358 -1358 +/* CG.AU..AU */ + -1628 -1548 -1628 -1628 + -1268 -1188 -1268 -1268 + -1718 -1638 -1718 -1718 + -1358 -1278 -1358 -1358 +/* CG.CA..AU */ + -948 -878 -948 -1098 + -778 -708 -778 -928 + -858 -788 -858 -1008 + -848 -778 -848 -998 +/* CG.CC..AU */ + -1118 -1048 -1118 -1268 + -758 -688 -758 -908 + -1208 -1138 -1208 -1358 + -848 -778 -848 -998 +/* CG.CG..AU */ + -1118 -1048 -1118 -1268 + -758 -688 -758 -908 + -1208 -1138 -1208 -1358 + -848 -778 -848 -998 +/* CG.CU..AU */ + -1118 -1048 -1118 -1268 + -758 -688 -758 -908 + -1208 -1138 -1208 -1358 + -848 -778 -848 -998 +/* CG.GA..AU */ + -1368 -1368 -1368 -1368 + -1198 -1198 -1198 -1198 + -1278 -1278 -1278 -1278 + -1268 -1268 -1268 -1268 +/* CG.GC..AU */ + -1538 -1538 -1538 -1538 + -1178 -1178 -1178 -1178 + -1628 -1628 -1628 -1628 + -1268 -1268 -1268 -1268 +/* CG.GG..AU */ + -1538 -1538 -1538 -1538 + -1178 -1178 -1178 -1178 + -1628 -1628 -1628 -1628 + -1268 -1268 -1268 -1268 +/* CG.GU..AU */ + -1538 -1538 -1538 -1538 + -1178 -1178 -1178 -1178 + -1628 -1628 -1628 -1628 + -1268 -1268 -1268 -1268 +/* CG.UA..AU */ + -1238 -1168 -1238 -1288 + -1068 -998 -1068 -1118 + -1148 -1078 -1148 -1198 + -1138 -1068 -1138 -1188 +/* CG.UC..AU */ + -1408 -1338 -1408 -1458 + -1048 -978 -1048 -1098 + -1498 -1428 -1498 -1548 + -1138 -1068 -1138 -1188 +/* CG.UG..AU */ + -1408 -1338 -1408 -1458 + -1048 -978 -1048 -1098 + -1498 -1428 -1498 -1548 + -1138 -1068 -1138 -1188 +/* CG.UU..AU */ + -1408 -1338 -1408 -1458 + -1048 -978 -1048 -1098 + -1498 -1428 -1498 -1548 + -1138 -1068 -1138 -1188 +/* CG.AA..UA */ + -1428 -1348 -1428 -1428 + -1458 -1378 -1458 -1458 + -1408 -1328 -1408 -1408 + -1308 -1228 -1308 -1308 +/* CG.AC..UA */ + -1658 -1578 -1658 -1658 + -1538 -1458 -1538 -1538 + -1708 -1628 -1708 -1708 + -1168 -1088 -1168 -1168 +/* CG.AG..UA */ + -1918 -1838 -1918 -1918 + -1228 -1148 -1228 -1228 + -1918 -1838 -1918 -1918 + -1308 -1228 -1308 -1308 +/* CG.AU..UA */ + -1618 -1538 -1618 -1618 + -1208 -1128 -1208 -1208 + -1708 -1628 -1708 -1708 + -1169 -1089 -1169 -1169 +/* CG.CA..UA */ + -918 -848 -918 -1068 + -948 -878 -948 -1098 + -898 -828 -898 -1048 + -798 -728 -798 -948 +/* CG.CC..UA */ + -1148 -1078 -1148 -1298 + -1028 -958 -1028 -1178 + -1198 -1128 -1198 -1348 + -658 -588 -658 -808 +/* CG.CG..UA */ + -1408 -1338 -1408 -1558 + -718 -648 -718 -868 + -1408 -1338 -1408 -1558 + -798 -728 -798 -948 +/* CG.CU..UA */ + -1108 -1038 -1108 -1258 + -698 -628 -698 -848 + -1198 -1128 -1198 -1348 + -659 -589 -659 -809 +/* CG.GA..UA */ + -1338 -1338 -1338 -1338 + -1368 -1368 -1368 -1368 + -1318 -1318 -1318 -1318 + -1218 -1218 -1218 -1218 +/* CG.GC..UA */ + -1568 -1568 -1568 -1568 + -1448 -1448 -1448 -1448 + -1618 -1618 -1618 -1618 + -1078 -1078 -1078 -1078 +/* CG.GG..UA */ + -1828 -1828 -1828 -1828 + -1138 -1138 -1138 -1138 + -1828 -1828 -1828 -1828 + -1218 -1218 -1218 -1218 +/* CG.GU..UA */ + -1528 -1528 -1528 -1528 + -1118 -1118 -1118 -1118 + -1618 -1618 -1618 -1618 + -1079 -1079 -1079 -1079 +/* CG.UA..UA */ + -1208 -1138 -1208 -1258 + -1238 -1168 -1238 -1288 + -1188 -1118 -1188 -1238 + -1088 -1018 -1088 -1138 +/* CG.UC..UA */ + -1438 -1368 -1438 -1488 + -1318 -1248 -1318 -1368 + -1488 -1418 -1488 -1538 + -948 -878 -948 -998 +/* CG.UG..UA */ + -1698 -1628 -1698 -1748 + -1008 -938 -1008 -1058 + -1698 -1628 -1698 -1748 + -1088 -1018 -1088 -1138 +/* CG.UU..UA */ + -1398 -1328 -1398 -1448 + -988 -918 -988 -1038 + -1488 -1418 -1488 -1538 + -949 -879 -949 -999 +/* CG.AA.. @ */ + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 +/* CG.AC.. @ */ + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 +/* CG.AG.. @ */ + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 +/* CG.AU.. @ */ + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 +/* CG.CA.. @ */ + -569 -499 -569 -719 + -569 -499 -569 -719 + -569 -499 -569 -719 + -569 -499 -569 -719 +/* CG.CC.. @ */ + -569 -499 -569 -719 + -569 -499 -569 -719 + -569 -499 -569 -719 + -569 -499 -569 -719 +/* CG.CG.. @ */ + -569 -499 -569 -719 + -569 -499 -569 -719 + -569 -499 -569 -719 + -569 -499 -569 -719 +/* CG.CU.. @ */ + -569 -499 -569 -719 + -569 -499 -569 -719 + -569 -499 -569 -719 + -569 -499 -569 -719 +/* CG.GA.. @ */ + -989 -989 -989 -989 + -989 -989 -989 -989 + -989 -989 -989 -989 + -989 -989 -989 -989 +/* CG.GC.. @ */ + -989 -989 -989 -989 + -989 -989 -989 -989 + -989 -989 -989 -989 + -989 -989 -989 -989 +/* CG.GG.. @ */ + -989 -989 -989 -989 + -989 -989 -989 -989 + -989 -989 -989 -989 + -989 -989 -989 -989 +/* CG.GU.. @ */ + -989 -989 -989 -989 + -989 -989 -989 -989 + -989 -989 -989 -989 + -989 -989 -989 -989 +/* CG.UA.. @ */ + -859 -789 -859 -909 + -859 -789 -859 -909 + -859 -789 -859 -909 + -859 -789 -859 -909 +/* CG.UC.. @ */ + -859 -789 -859 -909 + -859 -789 -859 -909 + -859 -789 -859 -909 + -859 -789 -859 -909 +/* CG.UG.. @ */ + -859 -789 -859 -909 + -859 -789 -859 -909 + -859 -789 -859 -909 + -859 -789 -859 -909 +/* CG.UU.. @ */ + -859 -789 -859 -909 + -859 -789 -859 -909 + -859 -789 -859 -909 + -859 -789 -859 -909 +/* GC.AA..CG */ + -1548 -1908 -1588 -1908 + -1038 -1398 -1078 -1398 + -1458 -1818 -1498 -1818 + -1328 -1688 -1368 -1688 +/* GC.AC..CG */ + -1468 -1828 -1508 -1828 + -968 -1328 -1008 -1328 + -1458 -1818 -1498 -1818 + -1258 -1618 -1298 -1618 +/* GC.AG..CG */ + -1548 -1908 -1588 -1908 + -1038 -1398 -1078 -1398 + -1458 -1818 -1498 -1818 + -1328 -1688 -1368 -1688 +/* GC.AU..CG */ + -1548 -1908 -1588 -1908 + -1188 -1548 -1228 -1548 + -1458 -1818 -1498 -1818 + -1378 -1738 -1418 -1738 +/* GC.CA..CG */ + -1748 -1338 -1338 -1418 + -1238 -828 -828 -908 + -1658 -1248 -1248 -1328 + -1528 -1118 -1118 -1198 +/* GC.CC..CG */ + -1668 -1258 -1258 -1338 + -1168 -758 -758 -838 + -1658 -1248 -1248 -1328 + -1458 -1048 -1048 -1128 +/* GC.CG..CG */ + -1748 -1338 -1338 -1418 + -1238 -828 -828 -908 + -1658 -1248 -1248 -1328 + -1528 -1118 -1118 -1198 +/* GC.CU..CG */ + -1748 -1338 -1338 -1418 + -1388 -978 -978 -1058 + -1658 -1248 -1248 -1328 + -1578 -1168 -1168 -1248 +/* GC.GA..CG */ + -1738 -1768 -1648 -1768 + -1228 -1258 -1138 -1258 + -1648 -1678 -1558 -1678 + -1518 -1548 -1428 -1548 +/* GC.GC..CG */ + -1658 -1688 -1568 -1688 + -1158 -1188 -1068 -1188 + -1648 -1678 -1558 -1678 + -1448 -1478 -1358 -1478 +/* GC.GG..CG */ + -1738 -1768 -1648 -1768 + -1228 -1258 -1138 -1258 + -1648 -1678 -1558 -1678 + -1518 -1548 -1428 -1548 +/* GC.GU..CG */ + -1738 -1768 -1648 -1768 + -1378 -1408 -1288 -1408 + -1648 -1678 -1558 -3080 + -1568 -1598 -1478 -1598 +/* GC.UA..CG */ + -1528 -1528 -1528 -1598 + -1018 -1018 -1018 -1088 + -1438 -1438 -1438 -1508 + -1308 -1308 -1308 -1378 +/* GC.UC..CG */ + -1448 -1448 -1448 -1518 + -948 -948 -948 -1018 + -1438 -1438 -1438 -1508 + -1238 -1238 -1238 -1308 +/* GC.UG..CG */ + -1528 -1528 -1528 -1598 + -1018 -1018 -1018 -1088 + -1438 -1438 -1438 -1508 + -1308 -1308 -1308 -1378 +/* GC.UU..CG */ + -1528 -1528 -1528 -1598 + -1168 -1168 -1168 -1238 + -1438 -1438 -1438 -1508 + -1358 -1358 -1358 -1428 +/* GC.AA..GC */ + -1038 -1398 -1078 -1398 + -1238 -1598 -1278 -1598 + -1228 -1588 -1268 -1588 + -1018 -1378 -1058 -1378 +/* GC.AC..GC */ + -1398 -1758 -1438 -1758 + -828 -1188 -868 -1188 + -1258 -1618 -1298 -1618 + -1018 -1378 -1058 -1378 +/* GC.AG..GC */ + -1078 -1438 -1118 -1438 + -828 -1188 -868 -1188 + -1138 -1498 -1178 -1498 + -1018 -1378 -1058 -1378 +/* GC.AU..GC */ + -1398 -1758 -1438 -1758 + -908 -1268 -948 -1268 + -1258 -1618 -1298 -1618 + -1088 -1448 -1128 -1448 +/* GC.CA..GC */ + -1238 -828 -828 -908 + -1438 -1028 -1028 -1108 + -1428 -1018 -1018 -1098 + -1218 -808 -808 -888 +/* GC.CC..GC */ + -1598 -1188 -1188 -1268 + -1028 -618 -618 -698 + -1458 -1048 -1048 -1128 + -1218 -808 -808 -888 +/* GC.CG..GC */ + -1278 -868 -868 -948 + -1028 -618 -618 -698 + -1338 -928 -928 -1008 + -1218 -808 -808 -888 +/* GC.CU..GC */ + -1598 -1188 -1188 -1268 + -1108 -698 -698 -778 + -1458 -1048 -1048 -1128 + -1288 -878 -878 -958 +/* GC.GA..GC */ + -1228 -1258 -1138 -1258 + -1428 -1458 -1338 -1458 + -1418 -1448 -1328 -1448 + -1208 -1238 -1118 -1238 +/* GC.GC..GC */ + -1588 -1618 -1498 -1618 + -1018 -1048 -928 -1048 + -1448 -1478 -1358 -1478 + -1208 -1238 -1118 -1238 +/* GC.GG..GC */ + -1268 -1298 -1178 -1298 + -1018 -1048 -928 -1048 + -1328 -1358 -1238 -1358 + -1208 -1238 -1118 -1238 +/* GC.GU..GC */ + -1588 -1618 -1498 -1618 + -1098 -1128 -1008 -1128 + -1448 -1478 -1358 -3080 + -1278 -1308 -1188 -1308 +/* GC.UA..GC */ + -1018 -1018 -1018 -1088 + -1218 -1218 -1218 -1288 + -1208 -1208 -1208 -1278 + -998 -998 -998 -1068 +/* GC.UC..GC */ + -1378 -1378 -1378 -1448 + -808 -808 -808 -878 + -1238 -1238 -1238 -1308 + -998 -998 -998 -1068 +/* GC.UG..GC */ + -1058 -1058 -1058 -1128 + -808 -808 -808 -878 + -1118 -1118 -1118 -1188 + -998 -998 -998 -1068 +/* GC.UU..GC */ + -1378 -1378 -1378 -1448 + -888 -888 -888 -958 + -1238 -1238 -1238 -1308 + -1068 -1068 -1068 -1138 +/* GC.AA..GU */ + -948 -1308 -988 -1308 + -778 -1138 -818 -1138 + -858 -1218 -898 -1218 + -848 -1208 -888 -1208 +/* GC.AC..GU */ + -1118 -1478 -1158 -1478 + -758 -1118 -798 -1118 + -1208 -1568 -1248 -1568 + -848 -1208 -888 -1208 +/* GC.AG..GU */ + -1118 -1478 -1158 -1478 + -758 -1118 -798 -1118 + -1208 -1568 -1248 -1568 + -848 -1208 -888 -1208 +/* GC.AU..GU */ + -1118 -1478 -1158 -1478 + -758 -1118 -798 -1118 + -1208 -1568 -1248 -1568 + -848 -1208 -888 -1208 +/* GC.CA..GU */ + -1148 -738 -738 -818 + -978 -568 -568 -648 + -1058 -648 -648 -728 + -1048 -638 -638 -718 +/* GC.CC..GU */ + -1318 -908 -908 -988 + -958 -548 -548 -628 + -1408 -998 -998 -1078 + -1048 -638 -638 -718 +/* GC.CG..GU */ + -1318 -908 -908 -988 + -958 -548 -548 -628 + -1408 -998 -998 -1078 + -1048 -638 -638 -718 +/* GC.CU..GU */ + -1318 -908 -908 -988 + -958 -548 -548 -628 + -1408 -998 -998 -1078 + -1048 -638 -638 -718 +/* GC.GA..GU */ + -1138 -1168 -1048 -1168 + -968 -998 -878 -998 + -1048 -1078 -958 -1078 + -1038 -1068 -948 -1068 +/* GC.GC..GU */ + -1308 -1338 -1218 -1338 + -948 -978 -858 -978 + -1398 -1428 -1308 -1428 + -1038 -1068 -948 -1068 +/* GC.GG..GU */ + -1308 -1338 -1218 -1338 + -948 -978 -858 -978 + -1398 -1428 -1308 -1428 + -1038 -1068 -948 -1068 +/* GC.GU..GU */ + -1308 -1338 -1218 -1338 + -948 -978 -858 -978 + -1398 -1428 -1308 -1428 + -1038 -1068 -948 -1068 +/* GC.UA..GU */ + -928 -928 -928 -998 + -758 -758 -758 -828 + -838 -838 -838 -908 + -828 -828 -828 -898 +/* GC.UC..GU */ + -1098 -1098 -1098 -1168 + -738 -738 -738 -808 + -1188 -1188 -1188 -1258 + -828 -828 -828 -898 +/* GC.UG..GU */ + -1098 -1098 -1098 -1168 + -738 -738 -738 -808 + -1188 -1188 -1188 -1258 + -828 -828 -828 -898 +/* GC.UU..GU */ + -1098 -1098 -1098 -1168 + -738 -738 -738 -808 + -1188 -1188 -1188 -1258 + -828 -828 -828 -898 +/* GC.AA..UG */ + -1238 -1598 -1278 -1598 + -998 -1358 -1038 -1358 + -1178 -1538 -1218 -1538 + -1068 -1428 -1108 -1428 +/* GC.AC..UG */ + -1308 -1668 -1348 -1668 + -998 -1358 -1038 -1358 + -1328 -1688 -1368 -1688 + -958 -1318 -998 -1318 +/* GC.AG..UG */ + -1478 -1838 -1518 -1838 + -878 -1238 -918 -1238 + -1438 -1798 -1478 -1798 + -1068 -1428 -1108 -1428 +/* GC.AU..UG */ + -1328 -1688 -1368 -1688 + -998 -1358 -1038 -1358 + -1328 -1688 -1368 -1688 + -878 -1238 -918 -1238 +/* GC.CA..UG */ + -1438 -1028 -1028 -1108 + -1198 -788 -788 -868 + -1378 -968 -968 -1048 + -1268 -858 -858 -938 +/* GC.CC..UG */ + -1508 -1098 -1098 -1178 + -1198 -788 -788 -868 + -1528 -1118 -1118 -1198 + -1158 -748 -748 -828 +/* GC.CG..UG */ + -1678 -1268 -1268 -1348 + -1078 -668 -668 -748 + -1638 -1228 -1228 -1308 + -1268 -858 -858 -938 +/* GC.CU..UG */ + -1528 -1118 -1118 -1198 + -1198 -788 -788 -868 + -1528 -1118 -1118 -1198 + -1078 -668 -668 -748 +/* GC.GA..UG */ + -1428 -1458 -1338 -1458 + -1188 -1218 -1098 -1218 + -1368 -1398 -1278 -1398 + -1258 -1288 -1168 -1288 +/* GC.GC..UG */ + -1498 -1528 -1408 -1528 + -1188 -1218 -1098 -1218 + -1518 -1548 -1428 -1548 + -1148 -1178 -1058 -1178 +/* GC.GG..UG */ + -1668 -1698 -1578 -1698 + -1068 -1098 -978 -1098 + -1628 -1658 -1538 -1658 + -1258 -1288 -1168 -1288 +/* GC.GU..UG */ + -1518 -1548 -1428 -1548 + -1188 -1218 -1098 -1218 + -1518 -1548 -1428 -1548 + -1068 -1098 -978 -1098 +/* GC.UA..UG */ + -1218 -1218 -1218 -1288 + -978 -978 -978 -1048 + -1158 -1158 -1158 -1228 + -1048 -1048 -1048 -1118 +/* GC.UC..UG */ + -1288 -1288 -1288 -1358 + -978 -978 -978 -1048 + -1308 -1308 -1308 -1378 + -938 -938 -938 -1008 +/* GC.UG..UG */ + -1458 -1458 -1458 -1528 + -858 -858 -858 -928 + -1418 -1418 -1418 -1488 + -1048 -1048 -1048 -1118 +/* GC.UU..UG */ + -1308 -1308 -1308 -1378 + -978 -978 -978 -1048 + -1308 -1308 -1308 -1378 + -858 -858 -858 -928 +/* GC.AA..AU */ + -948 -1308 -988 -1308 + -778 -1138 -818 -1138 + -858 -1218 -898 -1218 + -848 -1208 -888 -1208 +/* GC.AC..AU */ + -1118 -1478 -1158 -1478 + -758 -1118 -798 -1118 + -1208 -1568 -1248 -1568 + -848 -1208 -888 -1208 +/* GC.AG..AU */ + -1118 -1478 -1158 -1478 + -758 -1118 -798 -1118 + -1208 -1568 -1248 -1568 + -848 -1208 -888 -1208 +/* GC.AU..AU */ + -1118 -1478 -1158 -1478 + -758 -1118 -798 -1118 + -1208 -1568 -1248 -1568 + -848 -1208 -888 -1208 +/* GC.CA..AU */ + -1148 -738 -738 -818 + -978 -568 -568 -648 + -1058 -648 -648 -728 + -1048 -638 -638 -718 +/* GC.CC..AU */ + -1318 -908 -908 -988 + -958 -548 -548 -628 + -1408 -998 -998 -1078 + -1048 -638 -638 -718 +/* GC.CG..AU */ + -1318 -908 -908 -988 + -958 -548 -548 -628 + -1408 -998 -998 -1078 + -1048 -638 -638 -718 +/* GC.CU..AU */ + -1318 -908 -908 -988 + -958 -548 -548 -628 + -1408 -998 -998 -1078 + -1048 -638 -638 -718 +/* GC.GA..AU */ + -1138 -1168 -1048 -1168 + -968 -998 -878 -998 + -1048 -1078 -958 -1078 + -1038 -1068 -948 -1068 +/* GC.GC..AU */ + -1308 -1338 -1218 -1338 + -948 -978 -858 -978 + -1398 -1428 -1308 -1428 + -1038 -1068 -948 -1068 +/* GC.GG..AU */ + -1308 -1338 -1218 -1338 + -948 -978 -858 -978 + -1398 -1428 -1308 -1428 + -1038 -1068 -948 -1068 +/* GC.GU..AU */ + -1308 -1338 -1218 -1338 + -948 -978 -858 -978 + -1398 -1428 -1308 -1428 + -1038 -1068 -948 -1068 +/* GC.UA..AU */ + -928 -928 -928 -998 + -758 -758 -758 -828 + -838 -838 -838 -908 + -828 -828 -828 -898 +/* GC.UC..AU */ + -1098 -1098 -1098 -1168 + -738 -738 -738 -808 + -1188 -1188 -1188 -1258 + -828 -828 -828 -898 +/* GC.UG..AU */ + -1098 -1098 -1098 -1168 + -738 -738 -738 -808 + -1188 -1188 -1188 -1258 + -828 -828 -828 -898 +/* GC.UU..AU */ + -1098 -1098 -1098 -1168 + -738 -738 -738 -808 + -1188 -1188 -1188 -1258 + -828 -828 -828 -898 +/* GC.AA..UA */ + -918 -1278 -958 -1278 + -948 -1308 -988 -1308 + -898 -1258 -938 -1258 + -798 -1158 -838 -1158 +/* GC.AC..UA */ + -1148 -1508 -1188 -1508 + -1028 -1388 -1068 -1388 + -1198 -1558 -1238 -1558 + -658 -1018 -698 -1018 +/* GC.AG..UA */ + -1408 -1768 -1448 -1768 + -718 -1078 -758 -1078 + -1408 -1768 -1448 -1768 + -798 -1158 -838 -1158 +/* GC.AU..UA */ + -1108 -1468 -1148 -1468 + -698 -1058 -738 -1058 + -1198 -1558 -1238 -1558 + -659 -1019 -699 -1019 +/* GC.CA..UA */ + -1118 -708 -708 -788 + -1148 -738 -738 -818 + -1098 -688 -688 -768 + -998 -588 -588 -668 +/* GC.CC..UA */ + -1348 -938 -938 -1018 + -1228 -818 -818 -898 + -1398 -988 -988 -1068 + -858 -448 -448 -528 +/* GC.CG..UA */ + -1608 -1198 -1198 -1278 + -918 -508 -508 -588 + -1608 -1198 -1198 -1278 + -998 -588 -588 -668 +/* GC.CU..UA */ + -1308 -898 -898 -978 + -898 -488 -488 -568 + -1398 -988 -988 -1068 + -859 -449 -449 -529 +/* GC.GA..UA */ + -1108 -1138 -1018 -1138 + -1138 -1168 -1048 -1168 + -1088 -1118 -998 -1118 + -988 -1018 -898 -1018 +/* GC.GC..UA */ + -1338 -1368 -1248 -1368 + -1218 -1248 -1128 -1248 + -1388 -1418 -1298 -1418 + -848 -878 -758 -878 +/* GC.GG..UA */ + -1598 -1628 -1508 -1628 + -908 -938 -818 -938 + -1598 -1628 -1508 -1628 + -988 -1018 -898 -1018 +/* GC.GU..UA */ + -1298 -1328 -1208 -1328 + -888 -918 -798 -918 + -1388 -1418 -1298 -1418 + -849 -879 -759 -879 +/* GC.UA..UA */ + -898 -898 -898 -968 + -928 -928 -928 -998 + -878 -878 -878 -948 + -778 -778 -778 -848 +/* GC.UC..UA */ + -1128 -1128 -1128 -1198 + -1008 -1008 -1008 -1078 + -1178 -1178 -1178 -1248 + -638 -638 -638 -708 +/* GC.UG..UA */ + -1388 -1388 -1388 -1458 + -698 -698 -698 -768 + -1388 -1388 -1388 -1458 + -778 -778 -778 -848 +/* GC.UU..UA */ + -1088 -1088 -1088 -1158 + -678 -678 -678 -748 + -1178 -1178 -1178 -1248 + -639 -639 -639 -709 +/* GC.AA.. @ */ + -569 -929 -609 -929 + -569 -929 -609 -929 + -569 -929 -609 -929 + -569 -929 -609 -929 +/* GC.AC.. @ */ + -569 -929 -609 -929 + -569 -929 -609 -929 + -569 -929 -609 -929 + -569 -929 -609 -929 +/* GC.AG.. @ */ + -569 -929 -609 -929 + -569 -929 -609 -929 + -569 -929 -609 -929 + -569 -929 -609 -929 +/* GC.AU.. @ */ + -569 -929 -609 -929 + -569 -929 -609 -929 + -569 -929 -609 -929 + -569 -929 -609 -929 +/* GC.CA.. @ */ + -769 -359 -359 -439 + -769 -359 -359 -439 + -769 -359 -359 -439 + -769 -359 -359 -439 +/* GC.CC.. @ */ + -769 -359 -359 -439 + -769 -359 -359 -439 + -769 -359 -359 -439 + -769 -359 -359 -439 +/* GC.CG.. @ */ + -769 -359 -359 -439 + -769 -359 -359 -439 + -769 -359 -359 -439 + -769 -359 -359 -439 +/* GC.CU.. @ */ + -769 -359 -359 -439 + -769 -359 -359 -439 + -769 -359 -359 -439 + -769 -359 -359 -439 +/* GC.GA.. @ */ + -759 -789 -669 -789 + -759 -789 -669 -789 + -759 -789 -669 -789 + -759 -789 -669 -789 +/* GC.GC.. @ */ + -759 -789 -669 -789 + -759 -789 -669 -789 + -759 -789 -669 -789 + -759 -789 -669 -789 +/* GC.GG.. @ */ + -759 -789 -669 -789 + -759 -789 -669 -789 + -759 -789 -669 -789 + -759 -789 -669 -789 +/* GC.GU.. @ */ + -759 -789 -669 -789 + -759 -789 -669 -789 + -759 -789 -669 -789 + -759 -789 -669 -789 +/* GC.UA.. @ */ + -549 -549 -549 -619 + -549 -549 -549 -619 + -549 -549 -549 -619 + -549 -549 -549 -619 +/* GC.UC.. @ */ + -549 -549 -549 -619 + -549 -549 -549 -619 + -549 -549 -549 -619 + -549 -549 -549 -619 +/* GC.UG.. @ */ + -549 -549 -549 -619 + -549 -549 -549 -619 + -549 -549 -549 -619 + -549 -549 -549 -619 +/* GC.UU.. @ */ + -549 -549 -549 -619 + -549 -549 -549 -619 + -549 -549 -549 -619 + -549 -549 -549 -619 +/* GU.AA..CG */ + -1458 -1628 -1628 -1628 + -948 -1118 -1118 -1118 + -1368 -1538 -1538 -1538 + -1238 -1408 -1408 -1408 +/* GU.AC..CG */ + -1378 -1548 -1548 -1548 + -878 -1048 -1048 -1048 + -1368 -1538 -1538 -1538 + -1168 -1338 -1338 -1338 +/* GU.AG..CG */ + -1458 -1628 -1628 -1628 + -948 -1118 -1118 -1118 + -1368 -1538 -1538 -1538 + -1238 -1408 -1408 -1408 +/* GU.AU..CG */ + -1458 -1628 -1628 -1628 + -1098 -1268 -1268 -1268 + -1368 -1538 -1538 -1538 + -1288 -1458 -1458 -1458 +/* GU.CA..CG */ + -1288 -1268 -1268 -1268 + -778 -758 -758 -758 + -1198 -1178 -1178 -1178 + -1068 -1048 -1048 -1048 +/* GU.CC..CG */ + -1208 -1188 -1188 -1188 + -708 -688 -688 -688 + -1198 -1178 -1178 -1178 + -998 -978 -978 -978 +/* GU.CG..CG */ + -1288 -1268 -1268 -1268 + -778 -758 -758 -758 + -1198 -1178 -1178 -1178 + -1068 -1048 -1048 -1048 +/* GU.CU..CG */ + -1288 -1268 -1268 -1268 + -928 -908 -908 -908 + -1198 -1178 -1178 -1178 + -1118 -1098 -1098 -1098 +/* GU.GA..CG */ + -1368 -1718 -1718 -1718 + -858 -1208 -1208 -1208 + -1278 -1628 -1628 -1628 + -1148 -1498 -1498 -1498 +/* GU.GC..CG */ + -1288 -1638 -1638 -1638 + -788 -1138 -1138 -1138 + -1278 -1628 -1628 -1628 + -1078 -1428 -1428 -1428 +/* GU.GG..CG */ + -1368 -1718 -1718 -1718 + -858 -1208 -1208 -1208 + -1278 -1628 -1628 -1628 + -1148 -1498 -1498 -1498 +/* GU.GU..CG */ + -1368 -1718 -1718 -1718 + -1008 -1358 -1358 -1358 + -1278 -1628 -1628 -1628 + -1198 -1548 -1548 -1548 +/* GU.UA..CG */ + -1358 -1358 -1358 -1358 + -848 -848 -848 -848 + -1268 -1268 -1268 -1268 + -1138 -1138 -1138 -1138 +/* GU.UC..CG */ + -1278 -1278 -1278 -1278 + -778 -778 -778 -778 + -1268 -1268 -1268 -1268 + -1068 -1068 -1068 -1068 +/* GU.UG..CG */ + -1358 -1358 -1358 -1358 + -848 -848 -848 -848 + -1268 -1268 -1268 -1268 + -1138 -1138 -1138 -1138 +/* GU.UU..CG */ + -1358 -1358 -1358 -1358 + -998 -998 -998 -998 + -1268 -1268 -1268 -1268 + -1188 -1188 -1188 -1188 +/* GU.AA..GC */ + -948 -1118 -1118 -1118 + -1148 -1318 -1318 -1318 + -1138 -1308 -1308 -1308 + -928 -1098 -1098 -1098 +/* GU.AC..GC */ + -1308 -1478 -1478 -1478 + -738 -908 -908 -908 + -1168 -1338 -1338 -1338 + -928 -1098 -1098 -1098 +/* GU.AG..GC */ + -988 -1158 -1158 -1158 + -738 -908 -908 -908 + -1048 -1218 -1218 -1218 + -928 -1098 -1098 -1098 +/* GU.AU..GC */ + -1308 -1478 -1478 -1478 + -818 -988 -988 -988 + -1168 -1338 -1338 -1338 + -998 -1168 -1168 -1168 +/* GU.CA..GC */ + -778 -758 -758 -758 + -978 -958 -958 -958 + -968 -948 -948 -948 + -758 -738 -738 -738 +/* GU.CC..GC */ + -1138 -1118 -1118 -1118 + -568 -548 -548 -548 + -998 -978 -978 -978 + -758 -738 -738 -738 +/* GU.CG..GC */ + -818 -798 -798 -798 + -568 -548 -548 -548 + -878 -858 -858 -858 + -758 -738 -738 -738 +/* GU.CU..GC */ + -1138 -1118 -1118 -1118 + -648 -628 -628 -628 + -998 -978 -978 -978 + -828 -808 -808 -808 +/* GU.GA..GC */ + -858 -1208 -1208 -1208 + -1058 -1408 -1408 -1408 + -1048 -1398 -1398 -1398 + -838 -1188 -1188 -1188 +/* GU.GC..GC */ + -1218 -1568 -1568 -1568 + -648 -998 -998 -998 + -1078 -1428 -1428 -1428 + -838 -1188 -1188 -1188 +/* GU.GG..GC */ + -898 -1248 -1248 -1248 + -648 -998 -998 -998 + -958 -1308 -1308 -1308 + -838 -1188 -1188 -1188 +/* GU.GU..GC */ + -1218 -1568 -1568 -1568 + -728 -1078 -1078 -1078 + -1078 -1428 -1428 -1428 + -908 -1258 -1258 -1258 +/* GU.UA..GC */ + -848 -848 -848 -848 + -1048 -1048 -1048 -1048 + -1038 -1038 -1038 -1038 + -828 -828 -828 -828 +/* GU.UC..GC */ + -1208 -1208 -1208 -1208 + -638 -638 -638 -638 + -1068 -1068 -1068 -1068 + -828 -828 -828 -828 +/* GU.UG..GC */ + -888 -888 -888 -888 + -638 -638 -638 -638 + -948 -948 -948 -948 + -828 -828 -828 -828 +/* GU.UU..GC */ + -1208 -1208 -1208 -1208 + -718 -718 -718 -718 + -1068 -1068 -1068 -1068 + -898 -898 -898 -898 +/* GU.AA..GU */ + -858 -1028 -1028 -1028 + -688 -858 -858 -858 + -768 -938 -938 -938 + -758 -928 -928 -928 +/* GU.AC..GU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* GU.AG..GU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* GU.AU..GU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* GU.CA..GU */ + -688 -668 -668 -668 + -518 -498 -498 -498 + -598 -578 -578 -578 + -588 -568 -568 -568 +/* GU.CC..GU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* GU.CG..GU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* GU.CU..GU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* GU.GA..GU */ + -768 -1118 -1118 -1118 + -598 -948 -948 -948 + -678 -1028 -1028 -1028 + -668 -1018 -1018 -1018 +/* GU.GC..GU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* GU.GG..GU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* GU.GU..GU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* GU.UA..GU */ + -758 -758 -758 -758 + -588 -588 -588 -588 + -668 -668 -668 -668 + -658 -658 -658 -658 +/* GU.UC..GU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* GU.UG..GU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* GU.UU..GU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* GU.AA..UG */ + -1148 -1318 -1318 -1318 + -908 -1078 -1078 -1078 + -1088 -1258 -1258 -1258 + -978 -1148 -1148 -1148 +/* GU.AC..UG */ + -1218 -1388 -1388 -1388 + -908 -1078 -1078 -1078 + -1238 -1408 -1408 -1408 + -868 -1038 -1038 -1038 +/* GU.AG..UG */ + -1388 -1558 -1558 -1558 + -788 -958 -958 -958 + -1348 -1518 -1518 -1518 + -978 -1148 -1148 -1148 +/* GU.AU..UG */ + -1238 -1408 -1408 -1408 + -908 -1078 -1078 -1078 + -1238 -1408 -1408 -1408 + -788 -958 -958 -958 +/* GU.CA..UG */ + -978 -958 -958 -958 + -738 -718 -718 -718 + -918 -898 -898 -898 + -808 -788 -788 -788 +/* GU.CC..UG */ + -1048 -1028 -1028 -1028 + -738 -718 -718 -718 + -1068 -1048 -1048 -1048 + -698 -678 -678 -678 +/* GU.CG..UG */ + -1218 -1198 -1198 -1198 + -618 -598 -598 -598 + -1178 -1158 -1158 -1158 + -808 -788 -788 -788 +/* GU.CU..UG */ + -1068 -1048 -1048 -1048 + -738 -718 -718 -718 + -1068 -1048 -1048 -1048 + -618 -598 -598 -598 +/* GU.GA..UG */ + -1058 -1408 -1408 -1408 + -818 -1168 -1168 -1168 + -998 -1348 -1348 -1348 + -888 -1238 -1238 -1238 +/* GU.GC..UG */ + -1128 -1478 -1478 -1478 + -818 -1168 -1168 -1168 + -1148 -1498 -1498 -1498 + -778 -1128 -1128 -1128 +/* GU.GG..UG */ + -1298 -1648 -1648 -1648 + -698 -1048 -1048 -1048 + -1258 -1608 -1608 -1608 + -888 -1238 -1238 -1238 +/* GU.GU..UG */ + -1148 -1498 -1498 -1498 + -818 -1168 -1168 -1168 + -1148 -1498 -1498 -1498 + -698 -1048 -1048 -1048 +/* GU.UA..UG */ + -1048 -1048 -1048 -1048 + -808 -808 -808 -808 + -988 -988 -988 -988 + -878 -878 -878 -878 +/* GU.UC..UG */ + -1118 -1118 -1118 -1118 + -808 -808 -808 -808 + -1138 -1138 -1138 -1138 + -768 -768 -768 -768 +/* GU.UG..UG */ + -1288 -1288 -1288 -1288 + -688 -688 -688 -688 + -1248 -1248 -1248 -1248 + -878 -878 -878 -878 +/* GU.UU..UG */ + -1138 -1138 -1138 -1138 + -808 -808 -808 -808 + -1138 -1138 -1138 -1138 + -688 -688 -688 -688 +/* GU.AA..AU */ + -858 -1028 -1028 -1028 + -688 -858 -858 -858 + -768 -938 -938 -938 + -758 -928 -928 -928 +/* GU.AC..AU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* GU.AG..AU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* GU.AU..AU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* GU.CA..AU */ + -688 -668 -668 -668 + -518 -498 -498 -498 + -598 -578 -578 -578 + -588 -568 -568 -568 +/* GU.CC..AU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* GU.CG..AU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* GU.CU..AU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* GU.GA..AU */ + -768 -1118 -1118 -1118 + -598 -948 -948 -948 + -678 -1028 -1028 -1028 + -668 -1018 -1018 -1018 +/* GU.GC..AU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* GU.GG..AU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* GU.GU..AU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* GU.UA..AU */ + -758 -758 -758 -758 + -588 -588 -588 -588 + -668 -668 -668 -668 + -658 -658 -658 -658 +/* GU.UC..AU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* GU.UG..AU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* GU.UU..AU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* GU.AA..UA */ + -828 -998 -998 -998 + -858 -1028 -1028 -1028 + -808 -978 -978 -978 + -708 -878 -878 -878 +/* GU.AC..UA */ + -1058 -1228 -1228 -1228 + -938 -1108 -1108 -1108 + -1108 -1278 -1278 -1278 + -568 -738 -738 -738 +/* GU.AG..UA */ + -1318 -1488 -1488 -1488 + -628 -798 -798 -798 + -1318 -1488 -1488 -1488 + -708 -878 -878 -878 +/* GU.AU..UA */ + -1018 -1188 -1188 -1188 + -608 -778 -778 -778 + -1108 -1278 -1278 -1278 + -569 -739 -739 -739 +/* GU.CA..UA */ + -658 -638 -638 -638 + -688 -668 -668 -668 + -638 -618 -618 -618 + -538 -518 -518 -518 +/* GU.CC..UA */ + -888 -868 -868 -868 + -768 -748 -748 -748 + -938 -918 -918 -918 + -398 -378 -378 -378 +/* GU.CG..UA */ + -1148 -1128 -1128 -1128 + -458 -438 -438 -438 + -1148 -1128 -1128 -1128 + -538 -518 -518 -518 +/* GU.CU..UA */ + -848 -828 -828 -828 + -438 -418 -418 -418 + -938 -918 -918 -918 + -399 -379 -379 -379 +/* GU.GA..UA */ + -738 -1088 -1088 -1088 + -768 -1118 -1118 -1118 + -718 -1068 -1068 -1068 + -618 -968 -968 -968 +/* GU.GC..UA */ + -968 -1318 -1318 -1318 + -848 -1198 -1198 -1198 + -1018 -1368 -1368 -1368 + -478 -828 -828 -828 +/* GU.GG..UA */ + -1228 -1578 -1578 -1578 + -538 -888 -888 -888 + -1228 -1578 -1578 -1578 + -618 -968 -968 -968 +/* GU.GU..UA */ + -928 -1278 -1278 -1278 + -518 -868 -868 -868 + -1018 -1368 -1368 -1368 + -479 -829 -829 -829 +/* GU.UA..UA */ + -728 -728 -728 -728 + -758 -758 -758 -758 + -708 -708 -708 -708 + -608 -608 -608 -608 +/* GU.UC..UA */ + -958 -958 -958 -958 + -838 -838 -838 -838 + -1008 -1008 -1008 -1008 + -468 -468 -468 -468 +/* GU.UG..UA */ + -1218 -1218 -1218 -1218 + -528 -528 -528 -528 + -1218 -1218 -1218 -1218 + -608 -608 -608 -608 +/* GU.UU..UA */ + -918 -918 -918 -918 + -508 -508 -508 -508 + -1008 -1008 -1008 -1008 + -469 -469 -469 -469 +/* GU.AA.. @ */ + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 +/* GU.AC.. @ */ + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 +/* GU.AG.. @ */ + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 +/* GU.AU.. @ */ + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 +/* GU.CA.. @ */ + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 +/* GU.CC.. @ */ + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 +/* GU.CG.. @ */ + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 +/* GU.CU.. @ */ + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 +/* GU.GA.. @ */ + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 +/* GU.GC.. @ */ + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 +/* GU.GG.. @ */ + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 +/* GU.GU.. @ */ + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 +/* GU.UA.. @ */ + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 +/* GU.UC.. @ */ + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 +/* GU.UG.. @ */ + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 +/* GU.UU.. @ */ + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 +/* UG.AA..CG */ + -1748 -1818 -1988 -1838 + -1238 -1308 -1478 -1328 + -1658 -1728 -1898 -1748 + -1528 -1598 -1768 -1618 +/* UG.AC..CG */ + -1668 -1738 -1908 -1758 + -1168 -1238 -1408 -1258 + -1658 -1728 -1898 -1748 + -1458 -1528 -1698 -1548 +/* UG.AG..CG */ + -1748 -1818 -1988 -1838 + -1238 -1308 -1478 -1328 + -1658 -1728 -1898 -1748 + -1528 -1598 -1768 -1618 +/* UG.AU..CG */ + -1748 -1818 -1988 -1838 + -1388 -1458 -1628 -1478 + -1658 -1728 -1898 -1748 + -1578 -1648 -1818 -1668 +/* UG.CA..CG */ + -1508 -1508 -1388 -1508 + -998 -998 -878 -998 + -1418 -1418 -1298 -1418 + -1288 -1288 -1168 -1288 +/* UG.CC..CG */ + -1428 -1428 -1308 -1428 + -928 -928 -808 -928 + -1418 -1418 -1298 -1418 + -1218 -1218 -1098 -1218 +/* UG.CG..CG */ + -1508 -1508 -1388 -1508 + -998 -998 -878 -998 + -1418 -1418 -1298 -1418 + -1288 -1288 -1168 -1288 +/* UG.CU..CG */ + -1508 -1508 -1388 -1508 + -1148 -1148 -1028 -1148 + -1418 -1418 -1298 -1418 + -1338 -1338 -1218 -1338 +/* UG.GA..CG */ + -1688 -1838 -1948 -1838 + -1178 -1328 -1438 -1328 + -1598 -1748 -1858 -1748 + -1468 -1618 -1728 -1618 +/* UG.GC..CG */ + -1608 -1758 -1868 -1758 + -1108 -1258 -1368 -1258 + -1598 -1748 -1858 -1748 + -1398 -1548 -1658 -1548 +/* UG.GG..CG */ + -1688 -1838 -1948 -1838 + -1178 -1328 -1438 -1328 + -1598 -1748 -1858 -1748 + -1468 -1618 -1728 -1618 +/* UG.GU..CG */ + -1688 -1838 -1948 -1838 + -1328 -1478 -1588 -1478 + -1598 -1748 -1858 -1748 + -1518 -1668 -1778 -1668 +/* UG.UA..CG */ + -1578 -1468 -1578 -1388 + -1068 -958 -1068 -878 + -1488 -1378 -1488 -1298 + -1358 -1248 -1358 -1168 +/* UG.UC..CG */ + -1498 -1388 -1498 -1308 + -998 -888 -998 -808 + -1488 -1378 -1488 -1298 + -1288 -1178 -1288 -1098 +/* UG.UG..CG */ + -1578 -1468 -1578 -1388 + -1068 -958 -1068 -878 + -1488 -1378 -1488 -1298 + -1358 -1248 -1358 -1168 +/* UG.UU..CG */ + -1578 -1468 -1578 -1388 + -1218 -1108 -1218 -1028 + -1488 -1378 -1488 -1298 + -1408 -1298 -1408 -1218 +/* UG.AA..GC */ + -1238 -1308 -1478 -1328 + -1438 -1508 -1678 -1528 + -1428 -1498 -1668 -1518 + -1218 -1288 -1458 -1308 +/* UG.AC..GC */ + -1598 -1668 -1838 -1688 + -1028 -1098 -1268 -1118 + -1458 -1528 -1698 -1548 + -1218 -1288 -1458 -1308 +/* UG.AG..GC */ + -1278 -1348 -1518 -1368 + -1028 -1098 -1268 -1118 + -1338 -1408 -1578 -1428 + -1218 -1288 -1458 -1308 +/* UG.AU..GC */ + -1598 -1668 -1838 -1688 + -1108 -1178 -1348 -1198 + -1458 -1528 -1698 -1548 + -1288 -1358 -1528 -1378 +/* UG.CA..GC */ + -998 -998 -878 -998 + -1198 -1198 -1078 -1198 + -1188 -1188 -1068 -1188 + -978 -978 -858 -978 +/* UG.CC..GC */ + -1358 -1358 -1238 -1358 + -788 -788 -668 -788 + -1218 -1218 -1098 -1218 + -978 -978 -858 -978 +/* UG.CG..GC */ + -1038 -1038 -918 -1038 + -788 -788 -668 -788 + -1098 -1098 -978 -1098 + -978 -978 -858 -978 +/* UG.CU..GC */ + -1358 -1358 -1238 -1358 + -868 -868 -748 -868 + -1218 -1218 -1098 -1218 + -1048 -1048 -928 -1048 +/* UG.GA..GC */ + -1178 -1328 -1438 -1328 + -1378 -1528 -1638 -1528 + -1368 -1518 -1628 -1518 + -1158 -1308 -1418 -1308 +/* UG.GC..GC */ + -1538 -1688 -1798 -1688 + -968 -1118 -1228 -1118 + -1398 -1548 -1658 -1548 + -1158 -1308 -1418 -1308 +/* UG.GG..GC */ + -1218 -1368 -1478 -1368 + -968 -1118 -1228 -1118 + -1278 -1428 -1538 -1428 + -1158 -1308 -1418 -1308 +/* UG.GU..GC */ + -1538 -1688 -1798 -1688 + -1048 -1198 -1308 -1198 + -1398 -1548 -1658 -1548 + -1228 -1378 -1488 -1378 +/* UG.UA..GC */ + -1068 -958 -1068 -878 + -1268 -1158 -1268 -1078 + -1258 -1148 -1258 -1068 + -1048 -938 -1048 -858 +/* UG.UC..GC */ + -1428 -1318 -1428 -1238 + -858 -748 -858 -668 + -1288 -1178 -1288 -1098 + -1048 -938 -1048 -858 +/* UG.UG..GC */ + -1108 -998 -1108 -918 + -858 -748 -858 -668 + -1168 -1058 -1168 -978 + -1048 -938 -1048 -858 +/* UG.UU..GC */ + -1428 -1318 -1428 -1238 + -938 -828 -938 -748 + -1288 -1178 -1288 -1098 + -1118 -1008 -1118 -928 +/* UG.AA..GU */ + -1148 -1218 -1388 -1238 + -978 -1048 -1218 -1068 + -1058 -1128 -1298 -1148 + -1048 -1118 -1288 -1138 +/* UG.AC..GU */ + -1318 -1388 -1558 -1408 + -958 -1028 -1198 -1048 + -1408 -1478 -1648 -1498 + -1048 -1118 -1288 -1138 +/* UG.AG..GU */ + -1318 -1388 -1558 -1408 + -958 -1028 -1198 -1048 + -1408 -1478 -1648 -1498 + -1048 -1118 -1288 -1138 +/* UG.AU..GU */ + -1318 -1388 -1558 -1408 + -958 -1028 -1198 -1048 + -1408 -1478 -1648 -1498 + -1048 -1118 -1288 -1138 +/* UG.CA..GU */ + -908 -908 -788 -908 + -738 -738 -618 -738 + -818 -818 -698 -818 + -808 -808 -688 -808 +/* UG.CC..GU */ + -1078 -1078 -958 -1078 + -718 -718 -598 -718 + -1168 -1168 -1048 -1168 + -808 -808 -688 -808 +/* UG.CG..GU */ + -1078 -1078 -958 -1078 + -718 -718 -598 -718 + -1168 -1168 -1048 -1168 + -808 -808 -688 -808 +/* UG.CU..GU */ + -1078 -1078 -958 -1078 + -718 -718 -598 -718 + -1168 -1168 -1048 -1168 + -808 -808 -688 -808 +/* UG.GA..GU */ + -1088 -1238 -1348 -1238 + -918 -1068 -1178 -1068 + -998 -1148 -1258 -1148 + -988 -1138 -1248 -1138 +/* UG.GC..GU */ + -1258 -1408 -1518 -1408 + -898 -1048 -1158 -1048 + -1348 -1498 -1608 -1498 + -988 -1138 -1248 -1138 +/* UG.GG..GU */ + -1258 -1408 -1518 -1408 + -898 -1048 -1158 -1048 + -1348 -1498 -1608 -1498 + -988 -1138 -1248 -1138 +/* UG.GU..GU */ + -1258 -1408 -1518 -1408 + -898 -1048 -1158 -1048 + -1348 -1498 -1608 -1498 + -988 -1138 -1248 -1138 +/* UG.UA..GU */ + -978 -868 -978 -788 + -808 -698 -808 -618 + -888 -778 -888 -698 + -878 -768 -878 -688 +/* UG.UC..GU */ + -1148 -1038 -1148 -958 + -788 -678 -788 -598 + -1238 -1128 -1238 -1048 + -878 -768 -878 -688 +/* UG.UG..GU */ + -1148 -1038 -1148 -958 + -788 -678 -788 -598 + -1238 -1128 -1238 -1048 + -878 -768 -878 -688 +/* UG.UU..GU */ + -1148 -1038 -1148 -958 + -788 -678 -788 -598 + -1238 -1128 -1238 -1048 + -878 -768 -878 -688 +/* UG.AA..UG */ + -1438 -1508 -1678 -1528 + -1198 -1268 -1438 -1288 + -1378 -1448 -1618 -1468 + -1268 -1338 -1508 -1358 +/* UG.AC..UG */ + -1508 -1578 -1748 -1598 + -1198 -1268 -1438 -1288 + -1528 -1598 -1768 -1618 + -1158 -1228 -1398 -1248 +/* UG.AG..UG */ + -1678 -1748 -1918 -1768 + -1078 -1148 -1318 -1168 + -1638 -1708 -1878 -1728 + -1268 -1338 -1508 -1358 +/* UG.AU..UG */ + -1528 -1598 -1768 -1618 + -1198 -1268 -1438 -1288 + -1528 -1598 -1768 -1618 + -1078 -1148 -1318 -1168 +/* UG.CA..UG */ + -1198 -1198 -1078 -1198 + -958 -958 -838 -958 + -1138 -1138 -1018 -1138 + -1028 -1028 -908 -1028 +/* UG.CC..UG */ + -1268 -1268 -1148 -1268 + -958 -958 -838 -958 + -1288 -1288 -1168 -1288 + -918 -918 -798 -918 +/* UG.CG..UG */ + -1438 -1438 -1318 -1438 + -838 -838 -718 -838 + -1398 -1398 -1278 -1398 + -1028 -1028 -908 -1028 +/* UG.CU..UG */ + -1288 -1288 -1168 -1288 + -958 -958 -838 -958 + -1288 -1288 -1168 -1288 + -838 -838 -718 -838 +/* UG.GA..UG */ + -1378 -1528 -1638 -1528 + -1138 -1288 -1398 -1288 + -1318 -1468 -1578 -1468 + -1208 -1358 -1468 -1358 +/* UG.GC..UG */ + -1448 -1598 -1708 -1598 + -1138 -1288 -1398 -1288 + -1468 -1618 -1728 -1618 + -1098 -1248 -1358 -1248 +/* UG.GG..UG */ + -1618 -1768 -1878 -1768 + -1018 -1168 -1278 -1168 + -1578 -1728 -1838 -1728 + -1208 -1358 -1468 -1358 +/* UG.GU..UG */ + -1468 -1618 -1728 -1618 + -1138 -1288 -1398 -1288 + -1468 -1618 -1728 -1618 + -1018 -1168 -1278 -1168 +/* UG.UA..UG */ + -1268 -1158 -1268 -1078 + -1028 -918 -1028 -838 + -1208 -1098 -1208 -1018 + -1098 -988 -1098 -908 +/* UG.UC..UG */ + -1338 -1228 -1338 -1148 + -1028 -918 -1028 -838 + -1358 -1248 -1358 -1168 + -988 -878 -988 -798 +/* UG.UG..UG */ + -1508 -1398 -1508 -1318 + -908 -798 -908 -718 + -1468 -1358 -1468 -1278 + -1098 -988 -1098 -908 +/* UG.UU..UG */ + -1358 -1248 -1358 -1168 + -1028 -918 -1028 -838 + -1358 -1248 -1358 -1168 + -908 -798 -908 -718 +/* UG.AA..AU */ + -1148 -1218 -1388 -1238 + -978 -1048 -1218 -1068 + -1058 -1128 -1298 -1148 + -1048 -1118 -1288 -1138 +/* UG.AC..AU */ + -1318 -1388 -1558 -1408 + -958 -1028 -1198 -1048 + -1408 -1478 -1648 -1498 + -1048 -1118 -1288 -1138 +/* UG.AG..AU */ + -1318 -1388 -1558 -1408 + -958 -1028 -1198 -1048 + -1408 -1478 -1648 -1498 + -1048 -1118 -1288 -1138 +/* UG.AU..AU */ + -1318 -1388 -1558 -1408 + -958 -1028 -1198 -1048 + -1408 -1478 -1648 -1498 + -1048 -1118 -1288 -1138 +/* UG.CA..AU */ + -908 -908 -788 -908 + -738 -738 -618 -738 + -818 -818 -698 -818 + -808 -808 -688 -808 +/* UG.CC..AU */ + -1078 -1078 -958 -1078 + -718 -718 -598 -718 + -1168 -1168 -1048 -1168 + -808 -808 -688 -808 +/* UG.CG..AU */ + -1078 -1078 -958 -1078 + -718 -718 -598 -718 + -1168 -1168 -1048 -1168 + -808 -808 -688 -808 +/* UG.CU..AU */ + -1078 -1078 -958 -1078 + -718 -718 -598 -718 + -1168 -1168 -1048 -1168 + -808 -808 -688 -808 +/* UG.GA..AU */ + -1088 -1238 -1348 -1238 + -918 -1068 -1178 -1068 + -998 -1148 -1258 -1148 + -988 -1138 -1248 -1138 +/* UG.GC..AU */ + -1258 -1408 -1518 -1408 + -898 -1048 -1158 -1048 + -1348 -1498 -1608 -1498 + -988 -1138 -1248 -1138 +/* UG.GG..AU */ + -1258 -1408 -1518 -1408 + -898 -1048 -1158 -1048 + -1348 -1498 -1608 -1498 + -988 -1138 -1248 -1138 +/* UG.GU..AU */ + -1258 -1408 -1518 -1408 + -898 -1048 -1158 -1048 + -1348 -1498 -1608 -1498 + -988 -1138 -1248 -1138 +/* UG.UA..AU */ + -978 -868 -978 -788 + -808 -698 -808 -618 + -888 -778 -888 -698 + -878 -768 -878 -688 +/* UG.UC..AU */ + -1148 -1038 -1148 -958 + -788 -678 -788 -598 + -1238 -1128 -1238 -1048 + -878 -768 -878 -688 +/* UG.UG..AU */ + -1148 -1038 -1148 -958 + -788 -678 -788 -598 + -1238 -1128 -1238 -1048 + -878 -768 -878 -688 +/* UG.UU..AU */ + -1148 -1038 -1148 -958 + -788 -678 -788 -598 + -1238 -1128 -1238 -1048 + -878 -768 -878 -688 +/* UG.AA..UA */ + -1118 -1188 -1358 -1208 + -1148 -1218 -1388 -1238 + -1098 -1168 -1338 -1188 + -998 -1068 -1238 -1088 +/* UG.AC..UA */ + -1348 -1418 -1588 -1438 + -1228 -1298 -1468 -1318 + -1398 -1468 -1638 -1488 + -858 -928 -1098 -948 +/* UG.AG..UA */ + -1608 -1678 -1848 -1698 + -918 -988 -1158 -1008 + -1608 -1678 -1848 -1698 + -998 -1068 -1238 -1088 +/* UG.AU..UA */ + -1308 -1378 -1548 -1398 + -898 -968 -1138 -988 + -1398 -1468 -1638 -1488 + -859 -929 -1099 -949 +/* UG.CA..UA */ + -878 -878 -758 -878 + -908 -908 -788 -908 + -858 -858 -738 -858 + -758 -758 -638 -758 +/* UG.CC..UA */ + -1108 -1108 -988 -1108 + -988 -988 -868 -988 + -1158 -1158 -1038 -1158 + -618 -618 -498 -618 +/* UG.CG..UA */ + -1368 -1368 -1248 -1368 + -678 -678 -558 -678 + -1368 -1368 -1248 -1368 + -758 -758 -638 -758 +/* UG.CU..UA */ + -1068 -1068 -948 -1068 + -658 -658 -538 -658 + -1158 -1158 -1038 -1158 + -619 -619 -499 -619 +/* UG.GA..UA */ + -1058 -1208 -1318 -1208 + -1088 -1238 -1348 -1238 + -1038 -1188 -1298 -1188 + -938 -1088 -1198 -1088 +/* UG.GC..UA */ + -1288 -1438 -1548 -1438 + -1168 -1318 -1428 -1318 + -1338 -1488 -1598 -1488 + -798 -948 -1058 -948 +/* UG.GG..UA */ + -1548 -1698 -1808 -1698 + -858 -1008 -1118 -1008 + -1548 -1698 -1808 -1698 + -938 -1088 -1198 -1088 +/* UG.GU..UA */ + -1248 -1398 -1508 -1398 + -838 -988 -1098 -988 + -1338 -1488 -1598 -1488 + -799 -949 -1059 -949 +/* UG.UA..UA */ + -948 -838 -948 -758 + -978 -868 -978 -788 + -928 -818 -928 -738 + -828 -718 -828 -638 +/* UG.UC..UA */ + -1178 -1068 -1178 -988 + -1058 -948 -1058 -868 + -1228 -1118 -1228 -1038 + -688 -578 -688 -498 +/* UG.UG..UA */ + -1438 -1328 -1438 -1248 + -748 -638 -748 -558 + -1438 -1328 -1438 -1248 + -828 -718 -828 -638 +/* UG.UU..UA */ + -1138 -1028 -1138 -948 + -728 -618 -728 -538 + -1228 -1118 -1228 -1038 + -689 -579 -689 -499 +/* UG.AA.. @ */ + -769 -839 -1009 -859 + -769 -839 -1009 -859 + -769 -839 -1009 -859 + -769 -839 -1009 -859 +/* UG.AC.. @ */ + -769 -839 -1009 -859 + -769 -839 -1009 -859 + -769 -839 -1009 -859 + -769 -839 -1009 -859 +/* UG.AG.. @ */ + -769 -839 -1009 -859 + -769 -839 -1009 -859 + -769 -839 -1009 -859 + -769 -839 -1009 -859 +/* UG.AU.. @ */ + -769 -839 -1009 -859 + -769 -839 -1009 -859 + -769 -839 -1009 -859 + -769 -839 -1009 -859 +/* UG.CA.. @ */ + -529 -529 -409 -529 + -529 -529 -409 -529 + -529 -529 -409 -529 + -529 -529 -409 -529 +/* UG.CC.. @ */ + -529 -529 -409 -529 + -529 -529 -409 -529 + -529 -529 -409 -529 + -529 -529 -409 -529 +/* UG.CG.. @ */ + -529 -529 -409 -529 + -529 -529 -409 -529 + -529 -529 -409 -529 + -529 -529 -409 -529 +/* UG.CU.. @ */ + -529 -529 -409 -529 + -529 -529 -409 -529 + -529 -529 -409 -529 + -529 -529 -409 -529 +/* UG.GA.. @ */ + -709 -859 -969 -859 + -709 -859 -969 -859 + -709 -859 -969 -859 + -709 -859 -969 -859 +/* UG.GC.. @ */ + -709 -859 -969 -859 + -709 -859 -969 -859 + -709 -859 -969 -859 + -709 -859 -969 -859 +/* UG.GG.. @ */ + -709 -859 -969 -859 + -709 -859 -969 -859 + -709 -859 -969 -859 + -709 -859 -969 -859 +/* UG.GU.. @ */ + -709 -859 -969 -859 + -709 -859 -969 -859 + -709 -859 -969 -859 + -709 -859 -969 -859 +/* UG.UA.. @ */ + -599 -489 -599 -409 + -599 -489 -599 -409 + -599 -489 -599 -409 + -599 -489 -599 -409 +/* UG.UC.. @ */ + -599 -489 -599 -409 + -599 -489 -599 -409 + -599 -489 -599 -409 + -599 -489 -599 -409 +/* UG.UG.. @ */ + -599 -489 -599 -409 + -599 -489 -599 -409 + -599 -489 -599 -409 + -599 -489 -599 -409 +/* UG.UU.. @ */ + -599 -489 -599 -409 + -599 -489 -599 -409 + -599 -489 -599 -409 + -599 -489 -599 -409 +/* AU.AA..CG */ + -1458 -1628 -1628 -1628 + -948 -1118 -1118 -1118 + -1368 -1538 -1538 -1538 + -1238 -1408 -1408 -1408 +/* AU.AC..CG */ + -1378 -1548 -1548 -1548 + -878 -1048 -1048 -1048 + -1368 -1538 -1538 -1538 + -1168 -1338 -1338 -1338 +/* AU.AG..CG */ + -1458 -1628 -1628 -1628 + -948 -1118 -1118 -1118 + -1368 -1538 -1538 -1538 + -1238 -1408 -1408 -1408 +/* AU.AU..CG */ + -1458 -1628 -1628 -1628 + -1098 -1268 -1268 -1268 + -1368 -1538 -1538 -1538 + -1288 -1458 -1458 -1458 +/* AU.CA..CG */ + -1288 -1268 -1268 -1268 + -778 -758 -758 -758 + -1198 -1178 -1178 -1178 + -1068 -1048 -1048 -1048 +/* AU.CC..CG */ + -1208 -1188 -1188 -1188 + -708 -688 -688 -688 + -1198 -1178 -1178 -1178 + -998 -978 -978 -978 +/* AU.CG..CG */ + -1288 -1268 -1268 -1268 + -778 -758 -758 -758 + -1198 -1178 -1178 -1178 + -1068 -1048 -1048 -1048 +/* AU.CU..CG */ + -1288 -1268 -1268 -1268 + -928 -908 -908 -908 + -1198 -1178 -1178 -1178 + -1118 -1098 -1098 -1098 +/* AU.GA..CG */ + -1368 -1718 -1718 -1718 + -858 -1208 -1208 -1208 + -1278 -1628 -1628 -1628 + -1148 -1498 -1498 -1498 +/* AU.GC..CG */ + -1288 -1638 -1638 -1638 + -788 -1138 -1138 -1138 + -1278 -1628 -1628 -1628 + -1078 -1428 -1428 -1428 +/* AU.GG..CG */ + -1368 -1718 -1718 -1718 + -858 -1208 -1208 -1208 + -1278 -1628 -1628 -1628 + -1148 -1498 -1498 -1498 +/* AU.GU..CG */ + -1368 -1718 -1718 -1718 + -1008 -1358 -1358 -1358 + -1278 -1628 -1628 -1628 + -1198 -1548 -1548 -1548 +/* AU.UA..CG */ + -1358 -1358 -1358 -1358 + -848 -848 -848 -848 + -1268 -1268 -1268 -1268 + -1138 -1138 -1138 -1138 +/* AU.UC..CG */ + -1278 -1278 -1278 -1278 + -778 -778 -778 -778 + -1268 -1268 -1268 -1268 + -1068 -1068 -1068 -1068 +/* AU.UG..CG */ + -1358 -1358 -1358 -1358 + -848 -848 -848 -848 + -1268 -1268 -1268 -1268 + -1138 -1138 -1138 -1138 +/* AU.UU..CG */ + -1358 -1358 -1358 -1358 + -998 -998 -998 -998 + -1268 -1268 -1268 -1268 + -1188 -1188 -1188 -1188 +/* AU.AA..GC */ + -948 -1118 -1118 -1118 + -1148 -1318 -1318 -1318 + -1138 -1308 -1308 -1308 + -928 -1098 -1098 -1098 +/* AU.AC..GC */ + -1308 -1478 -1478 -1478 + -738 -908 -908 -908 + -1168 -1338 -1338 -1338 + -928 -1098 -1098 -1098 +/* AU.AG..GC */ + -988 -1158 -1158 -1158 + -738 -908 -908 -908 + -1048 -1218 -1218 -1218 + -928 -1098 -1098 -1098 +/* AU.AU..GC */ + -1308 -1478 -1478 -1478 + -818 -988 -988 -988 + -1168 -1338 -1338 -1338 + -998 -1168 -1168 -1168 +/* AU.CA..GC */ + -778 -758 -758 -758 + -978 -958 -958 -958 + -968 -948 -948 -948 + -758 -738 -738 -738 +/* AU.CC..GC */ + -1138 -1118 -1118 -1118 + -568 -548 -548 -548 + -998 -978 -978 -978 + -758 -738 -738 -738 +/* AU.CG..GC */ + -818 -798 -798 -798 + -568 -548 -548 -548 + -878 -858 -858 -858 + -758 -738 -738 -738 +/* AU.CU..GC */ + -1138 -1118 -1118 -1118 + -648 -628 -628 -628 + -998 -978 -978 -978 + -828 -808 -808 -808 +/* AU.GA..GC */ + -858 -1208 -1208 -1208 + -1058 -1408 -1408 -1408 + -1048 -1398 -1398 -1398 + -838 -1188 -1188 -1188 +/* AU.GC..GC */ + -1218 -1568 -1568 -1568 + -648 -998 -998 -998 + -1078 -1428 -1428 -1428 + -838 -1188 -1188 -1188 +/* AU.GG..GC */ + -898 -1248 -1248 -1248 + -648 -998 -998 -998 + -958 -1308 -1308 -1308 + -838 -1188 -1188 -1188 +/* AU.GU..GC */ + -1218 -1568 -1568 -1568 + -728 -1078 -1078 -1078 + -1078 -1428 -1428 -1428 + -908 -1258 -1258 -1258 +/* AU.UA..GC */ + -848 -848 -848 -848 + -1048 -1048 -1048 -1048 + -1038 -1038 -1038 -1038 + -828 -828 -828 -828 +/* AU.UC..GC */ + -1208 -1208 -1208 -1208 + -638 -638 -638 -638 + -1068 -1068 -1068 -1068 + -828 -828 -828 -828 +/* AU.UG..GC */ + -888 -888 -888 -888 + -638 -638 -638 -638 + -948 -948 -948 -948 + -828 -828 -828 -828 +/* AU.UU..GC */ + -1208 -1208 -1208 -1208 + -718 -718 -718 -718 + -1068 -1068 -1068 -1068 + -898 -898 -898 -898 +/* AU.AA..GU */ + -858 -1028 -1028 -1028 + -688 -858 -858 -858 + -768 -938 -938 -938 + -758 -928 -928 -928 +/* AU.AC..GU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* AU.AG..GU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* AU.AU..GU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* AU.CA..GU */ + -688 -668 -668 -668 + -518 -498 -498 -498 + -598 -578 -578 -578 + -588 -568 -568 -568 +/* AU.CC..GU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* AU.CG..GU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* AU.CU..GU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* AU.GA..GU */ + -768 -1118 -1118 -1118 + -598 -948 -948 -948 + -678 -1028 -1028 -1028 + -668 -1018 -1018 -1018 +/* AU.GC..GU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* AU.GG..GU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* AU.GU..GU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* AU.UA..GU */ + -758 -758 -758 -758 + -588 -588 -588 -588 + -668 -668 -668 -668 + -658 -658 -658 -658 +/* AU.UC..GU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* AU.UG..GU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* AU.UU..GU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* AU.AA..UG */ + -1148 -1318 -1318 -1318 + -908 -1078 -1078 -1078 + -1088 -1258 -1258 -1258 + -978 -1148 -1148 -1148 +/* AU.AC..UG */ + -1218 -1388 -1388 -1388 + -908 -1078 -1078 -1078 + -1238 -1408 -1408 -1408 + -868 -1038 -1038 -1038 +/* AU.AG..UG */ + -1388 -1558 -1558 -1558 + -788 -958 -958 -958 + -1348 -1518 -1518 -1518 + -978 -1148 -1148 -1148 +/* AU.AU..UG */ + -1238 -1408 -1408 -1408 + -908 -1078 -1078 -1078 + -1238 -1408 -1408 -1408 + -788 -958 -958 -958 +/* AU.CA..UG */ + -978 -958 -958 -958 + -738 -718 -718 -718 + -918 -898 -898 -898 + -808 -788 -788 -788 +/* AU.CC..UG */ + -1048 -1028 -1028 -1028 + -738 -718 -718 -718 + -1068 -1048 -1048 -1048 + -698 -678 -678 -678 +/* AU.CG..UG */ + -1218 -1198 -1198 -1198 + -618 -598 -598 -598 + -1178 -1158 -1158 -1158 + -808 -788 -788 -788 +/* AU.CU..UG */ + -1068 -1048 -1048 -1048 + -738 -718 -718 -718 + -1068 -1048 -1048 -1048 + -618 -598 -598 -598 +/* AU.GA..UG */ + -1058 -1408 -1408 -1408 + -818 -1168 -1168 -1168 + -998 -1348 -1348 -1348 + -888 -1238 -1238 -1238 +/* AU.GC..UG */ + -1128 -1478 -1478 -1478 + -818 -1168 -1168 -1168 + -1148 -1498 -1498 -1498 + -778 -1128 -1128 -1128 +/* AU.GG..UG */ + -1298 -1648 -1648 -1648 + -698 -1048 -1048 -1048 + -1258 -1608 -1608 -1608 + -888 -1238 -1238 -1238 +/* AU.GU..UG */ + -1148 -1498 -1498 -1498 + -818 -1168 -1168 -1168 + -1148 -1498 -1498 -1498 + -698 -1048 -1048 -1048 +/* AU.UA..UG */ + -1048 -1048 -1048 -1048 + -808 -808 -808 -808 + -988 -988 -988 -988 + -878 -878 -878 -878 +/* AU.UC..UG */ + -1118 -1118 -1118 -1118 + -808 -808 -808 -808 + -1138 -1138 -1138 -1138 + -768 -768 -768 -768 +/* AU.UG..UG */ + -1288 -1288 -1288 -1288 + -688 -688 -688 -688 + -1248 -1248 -1248 -1248 + -878 -878 -878 -878 +/* AU.UU..UG */ + -1138 -1138 -1138 -1138 + -808 -808 -808 -808 + -1138 -1138 -1138 -1138 + -688 -688 -688 -688 +/* AU.AA..AU */ + -858 -1028 -1028 -1028 + -688 -858 -858 -858 + -768 -938 -938 -938 + -758 -928 -928 -928 +/* AU.AC..AU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* AU.AG..AU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* AU.AU..AU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* AU.CA..AU */ + -688 -668 -668 -668 + -518 -498 -498 -498 + -598 -578 -578 -578 + -588 -568 -568 -568 +/* AU.CC..AU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* AU.CG..AU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* AU.CU..AU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* AU.GA..AU */ + -768 -1118 -1118 -1118 + -598 -948 -948 -948 + -678 -1028 -1028 -1028 + -668 -1018 -1018 -1018 +/* AU.GC..AU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* AU.GG..AU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* AU.GU..AU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* AU.UA..AU */ + -758 -758 -758 -758 + -588 -588 -588 -588 + -668 -668 -668 -668 + -658 -658 -658 -658 +/* AU.UC..AU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* AU.UG..AU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* AU.UU..AU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* AU.AA..UA */ + -828 -998 -998 -998 + -858 -1028 -1028 -1028 + -808 -978 -978 -978 + -708 -878 -878 -878 +/* AU.AC..UA */ + -1058 -1228 -1228 -1228 + -938 -1108 -1108 -1108 + -1108 -1278 -1278 -1278 + -568 -738 -738 -738 +/* AU.AG..UA */ + -1318 -1488 -1488 -1488 + -628 -798 -798 -798 + -1318 -1488 -1488 -1488 + -708 -878 -878 -878 +/* AU.AU..UA */ + -1018 -1188 -1188 -1188 + -608 -778 -778 -778 + -1108 -1278 -1278 -1278 + -569 -739 -739 -739 +/* AU.CA..UA */ + -658 -638 -638 -638 + -688 -668 -668 -668 + -638 -618 -618 -618 + -538 -518 -518 -518 +/* AU.CC..UA */ + -888 -868 -868 -868 + -768 -748 -748 -748 + -938 -918 -918 -918 + -398 -378 -378 -378 +/* AU.CG..UA */ + -1148 -1128 -1128 -1128 + -458 -438 -438 -438 + -1148 -1128 -1128 -1128 + -538 -518 -518 -518 +/* AU.CU..UA */ + -848 -828 -828 -828 + -438 -418 -418 -418 + -938 -918 -918 -918 + -399 -379 -379 -379 +/* AU.GA..UA */ + -738 -1088 -1088 -1088 + -768 -1118 -1118 -1118 + -718 -1068 -1068 -1068 + -618 -968 -968 -968 +/* AU.GC..UA */ + -968 -1318 -1318 -1318 + -848 -1198 -1198 -1198 + -1018 -1368 -1368 -1368 + -478 -828 -828 -828 +/* AU.GG..UA */ + -1228 -1578 -1578 -1578 + -538 -888 -888 -888 + -1228 -1578 -1578 -1578 + -618 -968 -968 -968 +/* AU.GU..UA */ + -928 -1278 -1278 -1278 + -518 -868 -868 -868 + -1018 -1368 -1368 -1368 + -479 -829 -829 -829 +/* AU.UA..UA */ + -728 -728 -728 -728 + -758 -758 -758 -758 + -708 -708 -708 -708 + -608 -608 -608 -608 +/* AU.UC..UA */ + -958 -958 -958 -958 + -838 -838 -838 -838 + -1008 -1008 -1008 -1008 + -468 -468 -468 -468 +/* AU.UG..UA */ + -1218 -1218 -1218 -1218 + -528 -528 -528 -528 + -1218 -1218 -1218 -1218 + -608 -608 -608 -608 +/* AU.UU..UA */ + -918 -918 -918 -918 + -508 -508 -508 -508 + -1008 -1008 -1008 -1008 + -469 -469 -469 -469 +/* AU.AA.. @ */ + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 +/* AU.AC.. @ */ + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 +/* AU.AG.. @ */ + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 +/* AU.AU.. @ */ + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 +/* AU.CA.. @ */ + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 +/* AU.CC.. @ */ + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 +/* AU.CG.. @ */ + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 +/* AU.CU.. @ */ + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 +/* AU.GA.. @ */ + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 +/* AU.GC.. @ */ + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 +/* AU.GG.. @ */ + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 +/* AU.GU.. @ */ + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 +/* AU.UA.. @ */ + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 +/* AU.UC.. @ */ + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 +/* AU.UG.. @ */ + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 +/* AU.UU.. @ */ + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 +/* UA.AA..CG */ + -1428 -1658 -1918 -1618 + -918 -1148 -1408 -1108 + -1338 -1568 -1828 -1528 + -1208 -1438 -1698 -1398 +/* UA.AC..CG */ + -1348 -1578 -1838 -1538 + -848 -1078 -1338 -1038 + -1338 -1568 -1828 -1528 + -1138 -1368 -1628 -1328 +/* UA.AG..CG */ + -1428 -1658 -1918 -1618 + -918 -1148 -1408 -1108 + -1338 -1568 -1828 -1528 + -1208 -1438 -1698 -1398 +/* UA.AU..CG */ + -1428 -1658 -1918 -1618 + -1068 -1298 -1558 -1258 + -1338 -1568 -1828 -1528 + -1258 -1488 -1748 -1448 +/* UA.CA..CG */ + -1458 -1538 -1228 -1208 + -948 -1028 -718 -698 + -1368 -1448 -1138 -1118 + -1238 -1318 -1008 -988 +/* UA.CC..CG */ + -1378 -1458 -1148 -1128 + -878 -958 -648 -628 + -1368 -1448 -1138 -1118 + -1168 -1248 -938 -918 +/* UA.CG..CG */ + -1458 -1538 -1228 -1208 + -948 -1028 -718 -698 + -1368 -1448 -1138 -1118 + -1238 -1318 -1008 -988 +/* UA.CU..CG */ + -1458 -1538 -1228 -1208 + -1098 -1178 -868 -848 + -1368 -1448 -1138 -1118 + -1288 -1368 -1058 -1038 +/* UA.GA..CG */ + -1408 -1708 -1918 -1708 + -898 -1198 -1408 -1198 + -1318 -1618 -1828 -1618 + -1188 -1488 -1698 -1488 +/* UA.GC..CG */ + -1328 -1628 -1838 -1628 + -828 -1128 -1338 -1128 + -1318 -1618 -1828 -1618 + -1118 -1418 -1628 -1418 +/* UA.GG..CG */ + -1408 -1708 -1918 -1708 + -898 -1198 -1408 -1198 + -1318 -1618 -1828 -1618 + -1188 -1488 -1698 -1488 +/* UA.GU..CG */ + -1408 -1708 -1918 -1708 + -1048 -1348 -1558 -1348 + -1318 -1618 -1828 -1618 + -1238 -1538 -1748 -1538 +/* UA.UA..CG */ + -1308 -1168 -1308 -1169 + -798 -658 -798 -659 + -1218 -1078 -1218 -1079 + -1088 -948 -1088 -949 +/* UA.UC..CG */ + -1228 -1088 -1228 -1089 + -728 -588 -728 -589 + -1218 -1078 -1218 -1079 + -1018 -878 -1018 -879 +/* UA.UG..CG */ + -1308 -1168 -1308 -1169 + -798 -658 -798 -659 + -1218 -1078 -1218 -1079 + -1088 -948 -1088 -949 +/* UA.UU..CG */ + -1308 -1168 -1308 -1169 + -948 -808 -948 -809 + -1218 -1078 -1218 -1079 + -1138 -998 -1138 -999 +/* UA.AA..GC */ + -918 -1148 -1408 -1108 + -1118 -1348 -1608 -1308 + -1108 -1338 -1598 -1298 + -898 -1128 -1388 -1088 +/* UA.AC..GC */ + -1278 -1508 -1768 -1468 + -708 -938 -1198 -898 + -1138 -1368 -1628 -1328 + -898 -1128 -1388 -1088 +/* UA.AG..GC */ + -958 -1188 -1448 -1148 + -708 -938 -1198 -898 + -1018 -1248 -1508 -1208 + -898 -1128 -1388 -1088 +/* UA.AU..GC */ + -1278 -1508 -1768 -1468 + -788 -1018 -1278 -978 + -1138 -1368 -1628 -1328 + -968 -1198 -1458 -1158 +/* UA.CA..GC */ + -948 -1028 -718 -698 + -1148 -1228 -918 -898 + -1138 -1218 -908 -888 + -928 -1008 -698 -678 +/* UA.CC..GC */ + -1308 -1388 -1078 -1058 + -738 -818 -508 -488 + -1168 -1248 -938 -918 + -928 -1008 -698 -678 +/* UA.CG..GC */ + -988 -1068 -758 -738 + -738 -818 -508 -488 + -1048 -1128 -818 -798 + -928 -1008 -698 -678 +/* UA.CU..GC */ + -1308 -1388 -1078 -1058 + -818 -898 -588 -568 + -1168 -1248 -938 -918 + -998 -1078 -768 -748 +/* UA.GA..GC */ + -898 -1198 -1408 -1198 + -1098 -1398 -1608 -1398 + -1088 -1388 -1598 -1388 + -878 -1178 -1388 -1178 +/* UA.GC..GC */ + -1258 -1558 -1768 -1558 + -688 -988 -1198 -988 + -1118 -1418 -1628 -1418 + -878 -1178 -1388 -1178 +/* UA.GG..GC */ + -938 -1238 -1448 -1238 + -688 -988 -1198 -988 + -998 -1298 -1508 -1298 + -878 -1178 -1388 -1178 +/* UA.GU..GC */ + -1258 -1558 -1768 -1558 + -768 -1068 -1278 -1068 + -1118 -1418 -1628 -1418 + -948 -1248 -1458 -1248 +/* UA.UA..GC */ + -798 -658 -798 -659 + -998 -858 -998 -859 + -988 -848 -988 -849 + -778 -638 -778 -639 +/* UA.UC..GC */ + -1158 -1018 -1158 -1019 + -588 -448 -588 -449 + -1018 -878 -1018 -879 + -778 -638 -778 -639 +/* UA.UG..GC */ + -838 -698 -838 -699 + -588 -448 -588 -449 + -898 -758 -898 -759 + -778 -638 -778 -639 +/* UA.UU..GC */ + -1158 -1018 -1158 -1019 + -668 -528 -668 -529 + -1018 -878 -1018 -879 + -848 -708 -848 -709 +/* UA.AA..GU */ + -828 -1058 -1318 -1018 + -658 -888 -1148 -848 + -738 -968 -1228 -928 + -728 -958 -1218 -918 +/* UA.AC..GU */ + -998 -1228 -1488 -1188 + -638 -868 -1128 -828 + -1088 -1318 -1578 -1278 + -728 -958 -1218 -918 +/* UA.AG..GU */ + -998 -1228 -1488 -1188 + -638 -868 -1128 -828 + -1088 -1318 -1578 -1278 + -728 -958 -1218 -918 +/* UA.AU..GU */ + -998 -1228 -1488 -1188 + -638 -868 -1128 -828 + -1088 -1318 -1578 -1278 + -728 -958 -1218 -918 +/* UA.CA..GU */ + -858 -938 -628 -608 + -688 -768 -458 -438 + -768 -848 -538 -518 + -758 -838 -528 -508 +/* UA.CC..GU */ + -1028 -1108 -798 -778 + -668 -748 -438 -418 + -1118 -1198 -888 -868 + -758 -838 -528 -508 +/* UA.CG..GU */ + -1028 -1108 -798 -778 + -668 -748 -438 -418 + -1118 -1198 -888 -868 + -758 -838 -528 -508 +/* UA.CU..GU */ + -1028 -1108 -798 -778 + -668 -748 -438 -418 + -1118 -1198 -888 -868 + -758 -838 -528 -508 +/* UA.GA..GU */ + -808 -1108 -1318 -1108 + -638 -938 -1148 -938 + -718 -1018 -1228 -1018 + -708 -1008 -1218 -1008 +/* UA.GC..GU */ + -978 -1278 -1488 -1278 + -618 -918 -1128 -918 + -1068 -1368 -1578 -1368 + -708 -1008 -1218 -1008 +/* UA.GG..GU */ + -978 -1278 -1488 -1278 + -618 -918 -1128 -918 + -1068 -1368 -1578 -1368 + -708 -1008 -1218 -1008 +/* UA.GU..GU */ + -978 -1278 -1488 -1278 + -618 -918 -1128 -918 + -1068 -1368 -1578 -1368 + -708 -1008 -1218 -1008 +/* UA.UA..GU */ + -708 -568 -708 -569 + -538 -398 -538 -399 + -618 -478 -618 -479 + -608 -468 -608 -469 +/* UA.UC..GU */ + -878 -738 -878 -739 + -518 -378 -518 -379 + -968 -828 -968 -829 + -608 -468 -608 -469 +/* UA.UG..GU */ + -878 -738 -878 -739 + -518 -378 -518 -379 + -968 -828 -968 -829 + -608 -468 -608 -469 +/* UA.UU..GU */ + -878 -738 -878 -739 + -518 -378 -518 -379 + -968 -828 -968 -829 + -608 -468 -608 -469 +/* UA.AA..UG */ + -1118 -1348 -1608 -1308 + -878 -1108 -1368 -1068 + -1058 -1288 -1548 -1248 + -948 -1178 -1438 -1138 +/* UA.AC..UG */ + -1188 -1418 -1678 -1378 + -878 -1108 -1368 -1068 + -1208 -1438 -1698 -1398 + -838 -1068 -1328 -1028 +/* UA.AG..UG */ + -1358 -1588 -1848 -1548 + -758 -988 -1248 -948 + -1318 -1548 -1808 -1508 + -948 -1178 -1438 -1138 +/* UA.AU..UG */ + -1208 -1438 -1698 -1398 + -878 -1108 -1368 -1068 + -1208 -1438 -1698 -1398 + -758 -988 -1248 -948 +/* UA.CA..UG */ + -1148 -1228 -918 -898 + -908 -988 -678 -658 + -1088 -1168 -858 -838 + -978 -1058 -748 -728 +/* UA.CC..UG */ + -1218 -1298 -988 -968 + -908 -988 -678 -658 + -1238 -1318 -1008 -988 + -868 -948 -638 -618 +/* UA.CG..UG */ + -1388 -1468 -1158 -1138 + -788 -868 -558 -538 + -1348 -1428 -1118 -1098 + -978 -1058 -748 -728 +/* UA.CU..UG */ + -1238 -1318 -1008 -988 + -908 -988 -678 -658 + -1238 -1318 -1008 -988 + -788 -868 -558 -538 +/* UA.GA..UG */ + -1098 -1398 -1608 -1398 + -858 -1158 -1368 -1158 + -1038 -1338 -1548 -1338 + -928 -1228 -1438 -1228 +/* UA.GC..UG */ + -1168 -1468 -1678 -1468 + -858 -1158 -1368 -1158 + -1188 -1488 -1698 -1488 + -818 -1118 -1328 -1118 +/* UA.GG..UG */ + -1338 -1638 -1848 -1638 + -738 -1038 -1248 -1038 + -1298 -1598 -1808 -1598 + -928 -1228 -1438 -1228 +/* UA.GU..UG */ + -1188 -1488 -1698 -1488 + -858 -1158 -1368 -1158 + -1188 -1488 -1698 -1488 + -738 -1038 -1248 -1038 +/* UA.UA..UG */ + -998 -858 -998 -859 + -758 -618 -758 -619 + -938 -798 -938 -799 + -828 -688 -828 -689 +/* UA.UC..UG */ + -1068 -928 -1068 -929 + -758 -618 -758 -619 + -1088 -948 -1088 -949 + -718 -578 -718 -579 +/* UA.UG..UG */ + -1238 -1098 -1238 -1099 + -638 -498 -638 -499 + -1198 -1058 -1198 -1059 + -828 -688 -828 -689 +/* UA.UU..UG */ + -1088 -948 -1088 -949 + -758 -618 -758 -619 + -1088 -948 -1088 -949 + -638 -498 -638 -499 +/* UA.AA..AU */ + -828 -1058 -1318 -1018 + -658 -888 -1148 -848 + -738 -968 -1228 -928 + -728 -958 -1218 -918 +/* UA.AC..AU */ + -998 -1228 -1488 -1188 + -638 -868 -1128 -828 + -1088 -1318 -1578 -1278 + -728 -958 -1218 -918 +/* UA.AG..AU */ + -998 -1228 -1488 -1188 + -638 -868 -1128 -828 + -1088 -1318 -1578 -1278 + -728 -958 -1218 -918 +/* UA.AU..AU */ + -998 -1228 -1488 -1188 + -638 -868 -1128 -828 + -1088 -1318 -1578 -1278 + -728 -958 -1218 -918 +/* UA.CA..AU */ + -858 -938 -628 -608 + -688 -768 -458 -438 + -768 -848 -538 -518 + -758 -838 -528 -508 +/* UA.CC..AU */ + -1028 -1108 -798 -778 + -668 -748 -438 -418 + -1118 -1198 -888 -868 + -758 -838 -528 -508 +/* UA.CG..AU */ + -1028 -1108 -798 -778 + -668 -748 -438 -418 + -1118 -1198 -888 -868 + -758 -838 -528 -508 +/* UA.CU..AU */ + -1028 -1108 -798 -778 + -668 -748 -438 -418 + -1118 -1198 -888 -868 + -758 -838 -528 -508 +/* UA.GA..AU */ + -808 -1108 -1318 -1108 + -638 -938 -1148 -938 + -718 -1018 -1228 -1018 + -708 -1008 -1218 -1008 +/* UA.GC..AU */ + -978 -1278 -1488 -1278 + -618 -918 -1128 -918 + -1068 -1368 -1578 -1368 + -708 -1008 -1218 -1008 +/* UA.GG..AU */ + -978 -1278 -1488 -1278 + -618 -918 -1128 -918 + -1068 -1368 -1578 -1368 + -708 -1008 -1218 -1008 +/* UA.GU..AU */ + -978 -1278 -1488 -1278 + -618 -918 -1128 -918 + -1068 -1368 -1578 -1368 + -708 -1008 -1218 -1008 +/* UA.UA..AU */ + -708 -568 -708 -569 + -538 -398 -538 -399 + -618 -478 -618 -479 + -608 -468 -608 -469 +/* UA.UC..AU */ + -878 -738 -878 -739 + -518 -378 -518 -379 + -968 -828 -968 -829 + -608 -468 -608 -469 +/* UA.UG..AU */ + -878 -738 -878 -739 + -518 -378 -518 -379 + -968 -828 -968 -829 + -608 -468 -608 -469 +/* UA.UU..AU */ + -878 -738 -878 -739 + -518 -378 -518 -379 + -968 -828 -968 -829 + -608 -468 -608 -469 +/* UA.AA..UA */ + -798 -1028 -1288 -988 + -828 -1058 -1318 -1018 + -778 -1008 -1268 -968 + -678 -908 -1168 -868 +/* UA.AC..UA */ + -1028 -1258 -1518 -1218 + -908 -1138 -1398 -1098 + -1078 -1308 -1568 -1268 + -538 -768 -1028 -728 +/* UA.AG..UA */ + -1288 -1518 -1778 -1478 + -598 -828 -1088 -788 + -1288 -1518 -1778 -1478 + -678 -908 -1168 -868 +/* UA.AU..UA */ + -988 -1218 -1478 -1178 + -578 -808 -1068 -768 + -1078 -1308 -1568 -1268 + -539 -769 -1029 -729 +/* UA.CA..UA */ + -828 -908 -598 -578 + -858 -938 -628 -608 + -808 -888 -578 -558 + -708 -788 -478 -458 +/* UA.CC..UA */ + -1058 -1138 -828 -808 + -938 -1018 -708 -688 + -1108 -1188 -878 -858 + -568 -648 -338 -318 +/* UA.CG..UA */ + -1318 -1398 -1088 -1068 + -628 -708 -398 -378 + -1318 -1398 -1088 -1068 + -708 -788 -478 -458 +/* UA.CU..UA */ + -1018 -1098 -788 -768 + -608 -688 -378 -358 + -1108 -1188 -878 -858 + -569 -649 -339 -319 +/* UA.GA..UA */ + -778 -1078 -1288 -1078 + -808 -1108 -1318 -1108 + -758 -1058 -1268 -1058 + -658 -958 -1168 -958 +/* UA.GC..UA */ + -1008 -1308 -1518 -1308 + -888 -1188 -1398 -1188 + -1058 -1358 -1568 -1358 + -518 -818 -1028 -818 +/* UA.GG..UA */ + -1268 -1568 -1778 -1568 + -578 -878 -1088 -878 + -1268 -1568 -1778 -1568 + -658 -958 -1168 -958 +/* UA.GU..UA */ + -968 -1268 -1478 -1268 + -558 -858 -1068 -858 + -1058 -1358 -1568 -1358 + -519 -819 -1029 -819 +/* UA.UA..UA */ + -678 -538 -678 -539 + -708 -568 -708 -569 + -658 -518 -658 -519 + -558 -418 -558 -419 +/* UA.UC..UA */ + -908 -768 -908 -769 + -788 -648 -788 -649 + -958 -818 -958 -819 + -418 -278 -418 -279 +/* UA.UG..UA */ + -1168 -1028 -1168 -1029 + -478 -338 -478 -339 + -1168 -1028 -1168 -1029 + -558 -418 -558 -419 +/* UA.UU..UA */ + -868 -728 -868 -729 + -458 -318 -458 -319 + -958 -818 -958 -819 + -419 -279 -419 -280 +/* UA.AA.. @ */ + -449 -679 -939 -639 + -449 -679 -939 -639 + -449 -679 -939 -639 + -449 -679 -939 -639 +/* UA.AC.. @ */ + -449 -679 -939 -639 + -449 -679 -939 -639 + -449 -679 -939 -639 + -449 -679 -939 -639 +/* UA.AG.. @ */ + -449 -679 -939 -639 + -449 -679 -939 -639 + -449 -679 -939 -639 + -449 -679 -939 -639 +/* UA.AU.. @ */ + -449 -679 -939 -639 + -449 -679 -939 -639 + -449 -679 -939 -639 + -449 -679 -939 -639 +/* UA.CA.. @ */ + -479 -559 -249 -229 + -479 -559 -249 -229 + -479 -559 -249 -229 + -479 -559 -249 -229 +/* UA.CC.. @ */ + -479 -559 -249 -229 + -479 -559 -249 -229 + -479 -559 -249 -229 + -479 -559 -249 -229 +/* UA.CG.. @ */ + -479 -559 -249 -229 + -479 -559 -249 -229 + -479 -559 -249 -229 + -479 -559 -249 -229 +/* UA.CU.. @ */ + -479 -559 -249 -229 + -479 -559 -249 -229 + -479 -559 -249 -229 + -479 -559 -249 -229 +/* UA.GA.. @ */ + -429 -729 -939 -729 + -429 -729 -939 -729 + -429 -729 -939 -729 + -429 -729 -939 -729 +/* UA.GC.. @ */ + -429 -729 -939 -729 + -429 -729 -939 -729 + -429 -729 -939 -729 + -429 -729 -939 -729 +/* UA.GG.. @ */ + -429 -729 -939 -729 + -429 -729 -939 -729 + -429 -729 -939 -729 + -429 -729 -939 -729 +/* UA.GU.. @ */ + -429 -729 -939 -729 + -429 -729 -939 -729 + -429 -729 -939 -729 + -429 -729 -939 -729 +/* UA.UA.. @ */ + -329 -189 -329 -190 + -329 -189 -329 -190 + -329 -189 -329 -190 + -329 -189 -329 -190 +/* UA.UC.. @ */ + -329 -189 -329 -190 + -329 -189 -329 -190 + -329 -189 -329 -190 + -329 -189 -329 -190 +/* UA.UG.. @ */ + -329 -189 -329 -190 + -329 -189 -329 -190 + -329 -189 -329 -190 + -329 -189 -329 -190 +/* UA.UU.. @ */ + -329 -189 -329 -190 + -329 -189 -329 -190 + -329 -189 -329 -190 + -329 -189 -329 -190 +/* @.AA..CG */ + -1079 -1079 -1079 -1079 + -569 -569 -569 -569 + -989 -989 -989 -989 + -859 -859 -859 -859 +/* @.AC..CG */ + -999 -999 -999 -999 + -499 -499 -499 -499 + -989 -989 -989 -989 + -789 -789 -789 -789 +/* @.AG..CG */ + -1079 -1079 -1079 -1079 + -569 -569 -569 -569 + -989 -989 -989 -989 + -859 -859 -859 -859 +/* @.AU..CG */ + -1079 -1079 -1079 -1079 + -719 -719 -719 -719 + -989 -989 -989 -989 + -909 -909 -909 -909 +/* @.CA..CG */ + -1079 -1079 -1079 -1079 + -569 -569 -569 -569 + -989 -989 -989 -989 + -859 -859 -859 -859 +/* @.CC..CG */ + -999 -999 -999 -999 + -499 -499 -499 -499 + -989 -989 -989 -989 + -789 -789 -789 -789 +/* @.CG..CG */ + -1079 -1079 -1079 -1079 + -569 -569 -569 -569 + -989 -989 -989 -989 + -859 -859 -859 -859 +/* @.CU..CG */ + -1079 -1079 -1079 -1079 + -719 -719 -719 -719 + -989 -989 -989 -989 + -909 -909 -909 -909 +/* @.GA..CG */ + -1079 -1079 -1079 -1079 + -569 -569 -569 -569 + -989 -989 -989 -989 + -859 -859 -859 -859 +/* @.GC..CG */ + -999 -999 -999 -999 + -499 -499 -499 -499 + -989 -989 -989 -989 + -789 -789 -789 -789 +/* @.GG..CG */ + -1079 -1079 -1079 -1079 + -569 -569 -569 -569 + -989 -989 -989 -989 + -859 -859 -859 -859 +/* @.GU..CG */ + -1079 -1079 -1079 -1079 + -719 -719 -719 -719 + -989 -989 -989 -989 + -909 -909 -909 -909 +/* @.UA..CG */ + -1079 -1079 -1079 -1079 + -569 -569 -569 -569 + -989 -989 -989 -989 + -859 -859 -859 -859 +/* @.UC..CG */ + -999 -999 -999 -999 + -499 -499 -499 -499 + -989 -989 -989 -989 + -789 -789 -789 -789 +/* @.UG..CG */ + -1079 -1079 -1079 -1079 + -569 -569 -569 -569 + -989 -989 -989 -989 + -859 -859 -859 -859 +/* @.UU..CG */ + -1079 -1079 -1079 -1079 + -719 -719 -719 -719 + -989 -989 -989 -989 + -909 -909 -909 -909 +/* @.AA..GC */ + -569 -569 -569 -569 + -769 -769 -769 -769 + -759 -759 -759 -759 + -549 -549 -549 -549 +/* @.AC..GC */ + -929 -929 -929 -929 + -359 -359 -359 -359 + -789 -789 -789 -789 + -549 -549 -549 -549 +/* @.AG..GC */ + -609 -609 -609 -609 + -359 -359 -359 -359 + -669 -669 -669 -669 + -549 -549 -549 -549 +/* @.AU..GC */ + -929 -929 -929 -929 + -439 -439 -439 -439 + -789 -789 -789 -789 + -619 -619 -619 -619 +/* @.CA..GC */ + -569 -569 -569 -569 + -769 -769 -769 -769 + -759 -759 -759 -759 + -549 -549 -549 -549 +/* @.CC..GC */ + -929 -929 -929 -929 + -359 -359 -359 -359 + -789 -789 -789 -789 + -549 -549 -549 -549 +/* @.CG..GC */ + -609 -609 -609 -609 + -359 -359 -359 -359 + -669 -669 -669 -669 + -549 -549 -549 -549 +/* @.CU..GC */ + -929 -929 -929 -929 + -439 -439 -439 -439 + -789 -789 -789 -789 + -619 -619 -619 -619 +/* @.GA..GC */ + -569 -569 -569 -569 + -769 -769 -769 -769 + -759 -759 -759 -759 + -549 -549 -549 -549 +/* @.GC..GC */ + -929 -929 -929 -929 + -359 -359 -359 -359 + -789 -789 -789 -789 + -549 -549 -549 -549 +/* @.GG..GC */ + -609 -609 -609 -609 + -359 -359 -359 -359 + -669 -669 -669 -669 + -549 -549 -549 -549 +/* @.GU..GC */ + -929 -929 -929 -929 + -439 -439 -439 -439 + -789 -789 -789 -789 + -619 -619 -619 -619 +/* @.UA..GC */ + -569 -569 -569 -569 + -769 -769 -769 -769 + -759 -759 -759 -759 + -549 -549 -549 -549 +/* @.UC..GC */ + -929 -929 -929 -929 + -359 -359 -359 -359 + -789 -789 -789 -789 + -549 -549 -549 -549 +/* @.UG..GC */ + -609 -609 -609 -609 + -359 -359 -359 -359 + -669 -669 -669 -669 + -549 -549 -549 -549 +/* @.UU..GC */ + -929 -929 -929 -929 + -439 -439 -439 -439 + -789 -789 -789 -789 + -619 -619 -619 -619 +/* @.AA..GU */ + -479 -479 -479 -479 + -309 -309 -309 -309 + -389 -389 -389 -389 + -379 -379 -379 -379 +/* @.AC..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.AG..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.AU..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.CA..GU */ + -479 -479 -479 -479 + -309 -309 -309 -309 + -389 -389 -389 -389 + -379 -379 -379 -379 +/* @.CC..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.CG..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.CU..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.GA..GU */ + -479 -479 -479 -479 + -309 -309 -309 -309 + -389 -389 -389 -389 + -379 -379 -379 -379 +/* @.GC..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.GG..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.GU..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.UA..GU */ + -479 -479 -479 -479 + -309 -309 -309 -309 + -389 -389 -389 -389 + -379 -379 -379 -379 +/* @.UC..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.UG..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.UU..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.AA..UG */ + -769 -769 -769 -769 + -529 -529 -529 -529 + -709 -709 -709 -709 + -599 -599 -599 -599 +/* @.AC..UG */ + -839 -839 -839 -839 + -529 -529 -529 -529 + -859 -859 -859 -859 + -489 -489 -489 -489 +/* @.AG..UG */ + -1009 -1009 -1009 -1009 + -409 -409 -409 -409 + -969 -969 -969 -969 + -599 -599 -599 -599 +/* @.AU..UG */ + -859 -859 -859 -859 + -529 -529 -529 -529 + -859 -859 -859 -859 + -409 -409 -409 -409 +/* @.CA..UG */ + -769 -769 -769 -769 + -529 -529 -529 -529 + -709 -709 -709 -709 + -599 -599 -599 -599 +/* @.CC..UG */ + -839 -839 -839 -839 + -529 -529 -529 -529 + -859 -859 -859 -859 + -489 -489 -489 -489 +/* @.CG..UG */ + -1009 -1009 -1009 -1009 + -409 -409 -409 -409 + -969 -969 -969 -969 + -599 -599 -599 -599 +/* @.CU..UG */ + -859 -859 -859 -859 + -529 -529 -529 -529 + -859 -859 -859 -859 + -409 -409 -409 -409 +/* @.GA..UG */ + -769 -769 -769 -769 + -529 -529 -529 -529 + -709 -709 -709 -709 + -599 -599 -599 -599 +/* @.GC..UG */ + -839 -839 -839 -839 + -529 -529 -529 -529 + -859 -859 -859 -859 + -489 -489 -489 -489 +/* @.GG..UG */ + -1009 -1009 -1009 -1009 + -409 -409 -409 -409 + -969 -969 -969 -969 + -599 -599 -599 -599 +/* @.GU..UG */ + -859 -859 -859 -859 + -529 -529 -529 -529 + -859 -859 -859 -859 + -409 -409 -409 -409 +/* @.UA..UG */ + -769 -769 -769 -769 + -529 -529 -529 -529 + -709 -709 -709 -709 + -599 -599 -599 -599 +/* @.UC..UG */ + -839 -839 -839 -839 + -529 -529 -529 -529 + -859 -859 -859 -859 + -489 -489 -489 -489 +/* @.UG..UG */ + -1009 -1009 -1009 -1009 + -409 -409 -409 -409 + -969 -969 -969 -969 + -599 -599 -599 -599 +/* @.UU..UG */ + -859 -859 -859 -859 + -529 -529 -529 -529 + -859 -859 -859 -859 + -409 -409 -409 -409 +/* @.AA..AU */ + -479 -479 -479 -479 + -309 -309 -309 -309 + -389 -389 -389 -389 + -379 -379 -379 -379 +/* @.AC..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.AG..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.AU..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.CA..AU */ + -479 -479 -479 -479 + -309 -309 -309 -309 + -389 -389 -389 -389 + -379 -379 -379 -379 +/* @.CC..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.CG..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.CU..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.GA..AU */ + -479 -479 -479 -479 + -309 -309 -309 -309 + -389 -389 -389 -389 + -379 -379 -379 -379 +/* @.GC..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.GG..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.GU..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.UA..AU */ + -479 -479 -479 -479 + -309 -309 -309 -309 + -389 -389 -389 -389 + -379 -379 -379 -379 +/* @.UC..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.UG..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.UU..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.AA..UA */ + -449 -449 -449 -449 + -479 -479 -479 -479 + -429 -429 -429 -429 + -329 -329 -329 -329 +/* @.AC..UA */ + -679 -679 -679 -679 + -559 -559 -559 -559 + -729 -729 -729 -729 + -189 -189 -189 -189 +/* @.AG..UA */ + -939 -939 -939 -939 + -249 -249 -249 -249 + -939 -939 -939 -939 + -329 -329 -329 -329 +/* @.AU..UA */ + -639 -639 -639 -639 + -229 -229 -229 -229 + -729 -729 -729 -729 + -190 -190 -190 -190 +/* @.CA..UA */ + -449 -449 -449 -449 + -479 -479 -479 -479 + -429 -429 -429 -429 + -329 -329 -329 -329 +/* @.CC..UA */ + -679 -679 -679 -679 + -559 -559 -559 -559 + -729 -729 -729 -729 + -189 -189 -189 -189 +/* @.CG..UA */ + -939 -939 -939 -939 + -249 -249 -249 -249 + -939 -939 -939 -939 + -329 -329 -329 -329 +/* @.CU..UA */ + -639 -639 -639 -639 + -229 -229 -229 -229 + -729 -729 -729 -729 + -190 -190 -190 -190 +/* @.GA..UA */ + -449 -449 -449 -449 + -479 -479 -479 -479 + -429 -429 -429 -429 + -329 -329 -329 -329 +/* @.GC..UA */ + -679 -679 -679 -679 + -559 -559 -559 -559 + -729 -729 -729 -729 + -189 -189 -189 -189 +/* @.GG..UA */ + -939 -939 -939 -939 + -249 -249 -249 -249 + -939 -939 -939 -939 + -329 -329 -329 -329 +/* @.GU..UA */ + -639 -639 -639 -639 + -229 -229 -229 -229 + -729 -729 -729 -729 + -190 -190 -190 -190 +/* @.UA..UA */ + -449 -449 -449 -449 + -479 -479 -479 -479 + -429 -429 -429 -429 + -329 -329 -329 -329 +/* @.UC..UA */ + -679 -679 -679 -679 + -559 -559 -559 -559 + -729 -729 -729 -729 + -189 -189 -189 -189 +/* @.UG..UA */ + -939 -939 -939 -939 + -249 -249 -249 -249 + -939 -939 -939 -939 + -329 -329 -329 -329 +/* @.UU..UA */ + -639 -639 -639 -639 + -229 -229 -229 -229 + -729 -729 -729 -729 + -190 -190 -190 -190 +/* @.AA.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.AC.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.AG.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.AU.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.CA.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.CC.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.CG.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.CU.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.GA.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.GC.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.GG.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.GU.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.UA.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.UC.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.UG.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.UU.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + +# hairpin + INF INF INF 570 560 560 540 590 560 640 + 650 660 670 678 686 694 701 707 713 719 + 725 730 735 740 744 749 753 757 761 765 + 769 + +# bulge + INF 380 280 320 360 400 440 459 470 480 + 490 500 510 519 527 534 541 548 554 560 + 565 571 576 580 585 589 594 598 602 605 + 609 + +# internal_loop + INF INF 410 510 170 180 200 220 230 240 + 250 260 270 278 286 294 301 307 313 319 + 325 330 335 340 345 349 353 357 361 365 + 369 + +# ML_params +/* F = cu*n_unpaired + cc + ci*loop_degree (+TermAU) */ +/* cu cc ci TerminalAU */ + 0 340 40 50 + +# NINIO +/* Ninio = MIN(max, m*|n1-n2| */ +/* m max */ + 50 300 + +# Tetraloops + GGGGAC -300 + GGUGAC -300 + CGAAAG -300 + GGAGAC -300 + CGCAAG -300 + GGAAAC -300 + CGGAAG -300 + CUUCGG -300 + CGUGAG -300 + CGAAGG -250 + CUACGG -250 + GGCAAC -250 + CGCGAG -250 + UGAGAG -250 + CGAGAG -200 + AGAAAU -200 + CGUAAG -200 + CUAACG -200 + UGAAAG -200 + GGAAGC -150 + GGGAAC -150 + UGAAAA -150 + AGCAAU -150 + AGUAAU -150 + CGGGAG -150 + AGUGAU -150 + GGCGAC -150 + GGGAGC -150 + GUGAAC -150 + UGGAAA -150 + +# Triloops + +#END diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/depcomp b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/depcomp new file mode 100755 index 00000000..11e2d3bf --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/depcomp @@ -0,0 +1,522 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2004-05-31.23 + +# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by `PROGRAMS ARGS'. + object Object file output by `PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputing dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit 0 + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit 0 + ;; +esac + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. + "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz +## The second -e expression handles DOS-style file names with drive letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the `deleted header file' problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. + tr ' ' ' +' < "$tmpdepfile" | +## Some versions of gcc put a space before the `:'. On the theory +## that the space means something, we add a space to the output as +## well. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like `#:fec' to the end of the + # dependency line. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ + tr ' +' ' ' >> $depfile + echo >> $depfile + + # The second pass generates a dummy entry for each header file. + tr ' ' ' +' < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> $depfile + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts `$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` + tmpdepfile="$stripped.u" + if test "$libtool" = yes; then + "$@" -Wc,-M + else + "$@" -M + fi + stat=$? + + if test -f "$tmpdepfile"; then : + else + stripped=`echo "$stripped" | sed 's,^.*/,,'` + tmpdepfile="$stripped.u" + fi + + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + + if test -f "$tmpdepfile"; then + outname="$stripped.o" + # Each line is of the form `foo.o: dependent.h'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" + sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + else + # The sourcefile does not contain any dependencies, so just + # store a dummy comment line, to avoid errors with the Makefile + # "include basename.Plo" scheme. + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +icc) + # Intel's C compiler understands `-MD -MF file'. However on + # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c + # ICC 7.0 will fill foo.d with something like + # foo.o: sub/foo.c + # foo.o: sub/foo.h + # which is wrong. We want: + # sub/foo.o: sub/foo.c + # sub/foo.o: sub/foo.h + # sub/foo.c: + # sub/foo.h: + # ICC 7.1 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using \ : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | + sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in `foo.d' instead, so we check for that too. + # Subdirectories are respected. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + + if test "$libtool" = yes; then + # Dependencies are output in .lo.d with libtool 1.4. + # With libtool 1.5 they are output both in $dir.libs/$base.o.d + # and in $dir.libs/$base.o.d and $dir$base.o.d. We process the + # latter, because the former will be cleaned when $dir.libs is + # erased. + tmpdepfile1="$dir.libs/$base.lo.d" + tmpdepfile2="$dir$base.o.d" + tmpdepfile3="$dir.libs/$base.d" + "$@" -Wc,-MD + else + tmpdepfile1="$dir$base.o.d" + tmpdepfile2="$dir$base.d" + tmpdepfile3="$dir$base.d" + "$@" -MD + fi + + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + if test -f "$tmpdepfile1"; then + tmpdepfile="$tmpdepfile1" + elif test -f "$tmpdepfile2"; then + tmpdepfile="$tmpdepfile2" + else + tmpdepfile="$tmpdepfile3" + fi + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for `:' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. + "$@" $dashmflag | + sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + tr ' ' ' +' < "$tmpdepfile" | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no + for arg in "$@"; do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix="`echo $object | sed 's/^.*\././'`" + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + sed '1,2d' "$tmpdepfile" | tr ' ' ' +' | \ +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test $1 != '--mode=compile'; do + shift + done + shift + fi + + # Remove `-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E | + sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o, + # because we must use -o when running libtool. + "$@" || exit $? + IFS=" " + for arg + do + case "$arg" in + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" + echo " " >> "$depfile" + . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/install-sh b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/install-sh new file mode 100755 index 00000000..b777f124 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/install-sh @@ -0,0 +1,322 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2004-07-05.00 + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# `make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. It can only install one file at a time, a restriction +# shared with many OS's install programs. + +# set DOITPROG to echo to test this script + +# Don't use :- since 4.3BSD and earlier shells don't like it. +doit="${DOITPROG-}" + +# put in absolute paths if you don't have them in your path; or use env. vars. + +mvprog="${MVPROG-mv}" +cpprog="${CPPROG-cp}" +chmodprog="${CHMODPROG-chmod}" +chownprog="${CHOWNPROG-chown}" +chgrpprog="${CHGRPPROG-chgrp}" +stripprog="${STRIPPROG-strip}" +rmprog="${RMPROG-rm}" +mkdirprog="${MKDIRPROG-mkdir}" + +chmodcmd="$chmodprog 0755" +chowncmd= +chgrpcmd= +stripcmd= +rmcmd="$rmprog -f" +mvcmd="$mvprog" +src= +dst= +dir_arg= +dstarg= +no_target_directory= + +usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: +-c (ignored) +-d create directories instead of installing files. +-g GROUP $chgrpprog installed files to GROUP. +-m MODE $chmodprog installed files to MODE. +-o USER $chownprog installed files to USER. +-s $stripprog installed files. +-t DIRECTORY install into DIRECTORY. +-T report an error if DSTFILE is a directory. +--help display this help and exit. +--version display version info and exit. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG +" + +while test -n "$1"; do + case $1 in + -c) shift + continue;; + + -d) dir_arg=true + shift + continue;; + + -g) chgrpcmd="$chgrpprog $2" + shift + shift + continue;; + + --help) echo "$usage"; exit 0;; + + -m) chmodcmd="$chmodprog $2" + shift + shift + continue;; + + -o) chowncmd="$chownprog $2" + shift + shift + continue;; + + -s) stripcmd=$stripprog + shift + continue;; + + -t) dstarg=$2 + shift + shift + continue;; + + -T) no_target_directory=true + shift + continue;; + + --version) echo "$0 $scriptversion"; exit 0;; + + *) # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + test -n "$dir_arg$dstarg" && break + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dstarg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dstarg" + shift # fnord + fi + shift # arg + dstarg=$arg + done + break;; + esac +done + +if test -z "$1"; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call `install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +for src +do + # Protect names starting with `-'. + case $src in + -*) src=./$src ;; + esac + + if test -n "$dir_arg"; then + dst=$src + src= + + if test -d "$dst"; then + mkdircmd=: + chmodcmd= + else + mkdircmd=$mkdirprog + fi + else + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dstarg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + + dst=$dstarg + # Protect names starting with `-'. + case $dst in + -*) dst=./$dst ;; + esac + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test -n "$no_target_directory"; then + echo "$0: $dstarg: Is a directory" >&2 + exit 1 + fi + dst=$dst/`basename "$src"` + fi + fi + + # This sed command emulates the dirname command. + dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` + + # Make sure that the destination directory exists. + + # Skip lots of stat calls in the usual case. + if test ! -d "$dstdir"; then + defaultIFS=' + ' + IFS="${IFS-$defaultIFS}" + + oIFS=$IFS + # Some sh's can't handle IFS=/ for some reason. + IFS='%' + set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` + IFS=$oIFS + + pathcomp= + + while test $# -ne 0 ; do + pathcomp=$pathcomp$1 + shift + if test ! -d "$pathcomp"; then + $mkdirprog "$pathcomp" + # mkdir can fail with a `File exist' error in case several + # install-sh are creating the directory concurrently. This + # is OK. + test -d "$pathcomp" || exit + fi + pathcomp=$pathcomp/ + done + fi + + if test -n "$dir_arg"; then + $doit $mkdircmd "$dst" \ + && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; } + + else + dstfile=`basename "$dst"` + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 + + # Copy the file name to the temp name. + $doit $cpprog "$src" "$dsttmp" && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ + && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ + && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ + && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } && + + # Now rename the file to the real destination. + { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \ + || { + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + if test -f "$dstdir/$dstfile"; then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \ + || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \ + || { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" + } + } + fi || { (exit 1); exit; } +done + +# The final little trick to "correctly" pass the exit status to the exit trap. +{ + (exit 0); exit +} + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/LPfold.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/LPfold.Po new file mode 100755 index 00000000..115403fb --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/LPfold.Po @@ -0,0 +1,117 @@ +LPfold.o LPfold.o: LPfold.c ../config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/float.h ../H/utils.h \ + ../H/energy_par.h ../H/energy_const.h ../H/fold_vars.h ../H/pair_mat.h \ + /usr/include/ctype.h ../H/PS_dot.h + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/float.h: + +../H/utils.h: + +../H/energy_par.h: + +../H/energy_const.h: + +../H/fold_vars.h: + +../H/pair_mat.h: + +/usr/include/ctype.h: + +../H/PS_dot.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/Lfold.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/Lfold.Po new file mode 100755 index 00000000..3c8d7d29 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/Lfold.Po @@ -0,0 +1,114 @@ +Lfold.o Lfold.o: Lfold.c ../config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/utils.h ../H/energy_par.h \ + ../H/energy_const.h ../H/fold_vars.h ../H/pair_mat.h ../H/params.h + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/utils.h: + +../H/energy_par.h: + +../H/energy_const.h: + +../H/fold_vars.h: + +../H/pair_mat.h: + +../H/params.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/PS_dot.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/PS_dot.Po new file mode 100755 index 00000000..4737f985 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/PS_dot.Po @@ -0,0 +1,107 @@ +PS_dot.o PS_dot.o: PS_dot.c ../config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/ctype.h ../H/utils.h ../H/fold_vars.h ../H/PS_dot.h + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/ctype.h: + +../H/utils.h: + +../H/fold_vars.h: + +../H/PS_dot.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/ProfileAln.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/ProfileAln.Po new file mode 100755 index 00000000..d2252c51 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/ProfileAln.Po @@ -0,0 +1,112 @@ +ProfileAln.o ProfileAln.o: ProfileAln.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/ctype.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/float.h ../H/dist_vars.h \ + ../H/fold_vars.h ../H/part_func.h ../H/utils.h ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/ctype.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/float.h: + +../H/dist_vars.h: + +../H/fold_vars.h: + +../H/part_func.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/ProfileDist.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/ProfileDist.Po new file mode 100755 index 00000000..e8100ab8 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/ProfileDist.Po @@ -0,0 +1,110 @@ +ProfileDist.o ProfileDist.o: ProfileDist.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/ctype.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ + ../H/dist_vars.h ../H/fold_vars.h ../H/part_func.h ../H/utils.h \ + ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/ctype.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +../H/dist_vars.h: + +../H/fold_vars.h: + +../H/part_func.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/RNAstruct.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/RNAstruct.Po new file mode 100755 index 00000000..1368e80c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/RNAstruct.Po @@ -0,0 +1,91 @@ +RNAstruct.o RNAstruct.o: RNAstruct.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/ctype.h ../H/utils.h \ + ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/ctype.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/alifold.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/alifold.Po new file mode 100755 index 00000000..ce3ab297 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/alifold.Po @@ -0,0 +1,116 @@ +alifold.o alifold.o: alifold.c ../config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/fold.h ../H/utils.h ../H/energy_par.h \ + ../H/energy_const.h ../H/fold_vars.h ../H/pair_mat.h ../H/params.h + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/fold.h: + +../H/utils.h: + +../H/energy_par.h: + +../H/energy_const.h: + +../H/fold_vars.h: + +../H/pair_mat.h: + +../H/params.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/alipfold.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/alipfold.Po new file mode 100755 index 00000000..139a3fdb --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/alipfold.Po @@ -0,0 +1,117 @@ +alipfold.o alipfold.o: alipfold.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/float.h ../H/utils.h \ + ../config.h ../H/energy_par.h ../H/energy_const.h ../H/fold_vars.h \ + ../H/pair_mat.h /usr/include/ctype.h ../H/alifold.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/float.h: + +../H/utils.h: + +../config.h: + +../H/energy_par.h: + +../H/energy_const.h: + +../H/fold_vars.h: + +../H/pair_mat.h: + +/usr/include/ctype.h: + +../H/alifold.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/aln_util.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/aln_util.Po new file mode 100755 index 00000000..0ac8cd1b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/aln_util.Po @@ -0,0 +1,108 @@ +aln_util.o aln_util.o: aln_util.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/asm-x86_64/errno.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/ctype.h ../config.h ../H/utils.h ../H/fold_vars.h \ + ../H/pair_mat.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/errno.h: + +/usr/include/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/asm/errno.h: + +/usr/include/asm-x86_64/errno.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/ctype.h: + +../config.h: + +../H/utils.h: + +../H/fold_vars.h: + +../H/pair_mat.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/cofold.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/cofold.Po new file mode 100755 index 00000000..cd55b652 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/cofold.Po @@ -0,0 +1,114 @@ +cofold.o cofold.o: cofold.c ../config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/utils.h ../H/energy_par.h \ + ../H/energy_const.h ../H/fold_vars.h ../H/pair_mat.h ../H/params.h + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/utils.h: + +../H/energy_par.h: + +../H/energy_const.h: + +../H/fold_vars.h: + +../H/pair_mat.h: + +../H/params.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/dist_vars.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/dist_vars.Po new file mode 100755 index 00000000..a863fbe4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/dist_vars.Po @@ -0,0 +1 @@ +dist_vars.o dist_vars.o: dist_vars.c diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/duplex.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/duplex.Po new file mode 100755 index 00000000..1403515f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/duplex.Po @@ -0,0 +1,117 @@ +duplex.o duplex.o: duplex.c ../config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/utils.h ../H/energy_par.h \ + ../H/energy_const.h ../H/fold_vars.h ../H/pair_mat.h ../H/params.h \ + ../H/duplex.h + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/utils.h: + +../H/energy_par.h: + +../H/energy_const.h: + +../H/fold_vars.h: + +../H/pair_mat.h: + +../H/params.h: + +../H/duplex.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/energy_par.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/energy_par.Po new file mode 100755 index 00000000..d5c288fc --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/energy_par.Po @@ -0,0 +1,5 @@ +energy_par.o energy_par.o: energy_par.c ../H/energy_const.h intloops.h + +../H/energy_const.h: + +intloops.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/fold.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/fold.Po new file mode 100755 index 00000000..b3ecfa9d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/fold.Po @@ -0,0 +1,117 @@ +fold.o fold.o: fold.c ../config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/ctype.h \ + /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h ../H/utils.h ../H/energy_par.h \ + ../H/energy_const.h ../H/fold_vars.h ../H/pair_mat.h ../H/params.h \ + circfold.inc + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/ctype.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/utils.h: + +../H/energy_par.h: + +../H/energy_const.h: + +../H/fold_vars.h: + +../H/pair_mat.h: + +../H/params.h: + +circfold.inc: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/fold_vars.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/fold_vars.Po new file mode 100755 index 00000000..8b95a0a3 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/fold_vars.Po @@ -0,0 +1,61 @@ +fold_vars.o fold_vars.o: fold_vars.c /usr/include/string.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/endian.h /usr/include/bits/endian.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/stdlib.h \ + /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \ + /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h ../H/fold_vars.h + +/usr/include/string.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/stdlib.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +../H/fold_vars.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/inverse.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/inverse.Po new file mode 100755 index 00000000..026f8975 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/inverse.Po @@ -0,0 +1,112 @@ +inverse.o inverse.o: inverse.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/ctype.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ + ../H/part_func.h ../H/fold.h ../H/utils.h ../config.h ../H/fold_vars.h \ + ../H/pair_mat.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/ctype.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +../H/part_func.h: + +../H/fold.h: + +../H/utils.h: + +../config.h: + +../H/fold_vars.h: + +../H/pair_mat.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/list.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/list.Po new file mode 100755 index 00000000..bb19b185 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/list.Po @@ -0,0 +1,82 @@ +list.o list.o: list.c /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h ../H/utils.h ../config.h list.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +../H/utils.h: + +../config.h: + +list.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/naview.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/naview.Po new file mode 100755 index 00000000..aff4e4e5 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/naview.Po @@ -0,0 +1,100 @@ +naview.o naview.o: naview.c /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ + ../H/utils.h ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/params.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/params.Po new file mode 100755 index 00000000..5d501701 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/params.Po @@ -0,0 +1,110 @@ +params.o params.o: params.c ../config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + ../H/energy_par.h ../H/energy_const.h ../H/fold_vars.h ../H/utils.h \ + ../H/params.h + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../H/energy_par.h: + +../H/energy_const.h: + +../H/fold_vars.h: + +../H/utils.h: + +../H/params.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/part_func.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/part_func.Po new file mode 100755 index 00000000..398c3b0e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/part_func.Po @@ -0,0 +1,115 @@ +part_func.o part_func.o: part_func.c ../config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/float.h ../H/utils.h \ + ../H/energy_par.h ../H/energy_const.h ../H/fold_vars.h ../H/pair_mat.h \ + /usr/include/ctype.h + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/float.h: + +../H/utils.h: + +../H/energy_par.h: + +../H/energy_const.h: + +../H/fold_vars.h: + +../H/pair_mat.h: + +/usr/include/ctype.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/part_func_co.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/part_func_co.Po new file mode 100755 index 00000000..4865acac --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/part_func_co.Po @@ -0,0 +1,119 @@ +part_func_co.o part_func_co.o: part_func_co.c ../config.h \ + /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/float.h ../H/utils.h \ + ../H/energy_par.h ../H/energy_const.h ../H/fold_vars.h ../H/pair_mat.h \ + /usr/include/ctype.h ../H/PS_dot.h ../H/part_func_co.h + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/float.h: + +../H/utils.h: + +../H/energy_par.h: + +../H/energy_const.h: + +../H/fold_vars.h: + +../H/pair_mat.h: + +/usr/include/ctype.h: + +../H/PS_dot.h: + +../H/part_func_co.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/read_epars.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/read_epars.Po new file mode 100755 index 00000000..6b03b665 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/read_epars.Po @@ -0,0 +1,110 @@ +read_epars.o read_epars.o: read_epars.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/ctype.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h ../H/utils.h ../config.h \ + ../H/energy_const.h ../H/energy_par.h ../H/energy_const.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/ctype.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +../H/utils.h: + +../config.h: + +../H/energy_const.h: + +../H/energy_par.h: + +../H/energy_const.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/stringdist.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/stringdist.Po new file mode 100755 index 00000000..6e7c3b8b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/stringdist.Po @@ -0,0 +1,107 @@ +stringdist.o stringdist.o: stringdist.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/ctype.h /usr/include/math.h \ + /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h \ + /usr/include/bits/mathcalls.h /usr/include/bits/mathinline.h \ + ../H/edit_cost.h ../H/dist_vars.h ../H/utils.h ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/ctype.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +../H/edit_cost.h: + +../H/dist_vars.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/subopt.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/subopt.Po new file mode 100755 index 00000000..b4e825cc --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/subopt.Po @@ -0,0 +1,121 @@ +subopt.o subopt.o: subopt.c ../config.h /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/ctype.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h \ + /usr/include/math.h /usr/include/bits/huge_val.h \ + /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h \ + /usr/include/bits/mathinline.h ../H/fold.h ../H/utils.h \ + ../H/energy_par.h ../H/energy_const.h ../H/fold_vars.h ../H/pair_mat.h \ + list.h ../H/subopt.h ../H/params.h + +../config.h: + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/ctype.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/math.h: + +/usr/include/bits/huge_val.h: + +/usr/include/bits/mathdef.h: + +/usr/include/bits/mathcalls.h: + +/usr/include/bits/mathinline.h: + +../H/fold.h: + +../H/utils.h: + +../H/energy_par.h: + +../H/energy_const.h: + +../H/fold_vars.h: + +../H/pair_mat.h: + +list.h: + +../H/subopt.h: + +../H/params.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/treedist.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/treedist.Po new file mode 100755 index 00000000..afd7fdbd --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/treedist.Po @@ -0,0 +1,95 @@ +treedist.o treedist.o: treedist.c /usr/include/stdio.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/string.h /usr/include/bits/string.h \ + /usr/include/bits/string2.h /usr/include/ctype.h ../H/edit_cost.h \ + ../H/dist_vars.h ../H/utils.h ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +/usr/include/ctype.h: + +../H/edit_cost.h: + +../H/dist_vars.h: + +../H/utils.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/utils.Po b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/utils.Po new file mode 100755 index 00000000..b9740d88 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/.deps/utils.Po @@ -0,0 +1,97 @@ +utils.o utils.o: utils.c /usr/include/stdio.h /usr/include/features.h \ + /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h \ + /usr/include/bits/types.h /usr/include/bits/wordsize.h \ + /usr/include/bits/typesizes.h /usr/include/libio.h \ + /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \ + /usr/include/gconv.h \ + /usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/stdlib.h \ + /usr/include/sys/types.h /usr/include/time.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/sys/select.h \ + /usr/include/bits/select.h /usr/include/bits/sigset.h \ + /usr/include/bits/time.h /usr/include/sys/sysmacros.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \ + /usr/include/alloca.h /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/asm-x86_64/errno.h /usr/include/string.h \ + /usr/include/bits/string.h /usr/include/bits/string2.h ../config.h + +/usr/include/stdio.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/gnu/stubs.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stddef.h: + +/usr/include/bits/types.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/typesizes.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/include/bits/wchar.h: + +/usr/include/gconv.h: + +/usr/lib/gcc/x86_64-redhat-linux/3.4.5/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/stdlib.h: + +/usr/include/sys/types.h: + +/usr/include/time.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/sigset.h: + +/usr/include/bits/time.h: + +/usr/include/sys/sysmacros.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/sched.h: + +/usr/include/alloca.h: + +/usr/include/errno.h: + +/usr/include/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/asm/errno.h: + +/usr/include/asm-x86_64/errno.h: + +/usr/include/string.h: + +/usr/include/bits/string.h: + +/usr/include/bits/string2.h: + +../config.h: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/LPfold.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/LPfold.c new file mode 100755 index 00000000..3040f791 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/LPfold.c @@ -0,0 +1,752 @@ +/* Last changed Time-stamp: <2006-01-16 10:43:16 ivo> */ +/* + local pair probabilities for RNA secondary structures + + Stephan Bernhart, Ivo L Hofacker + Vienna RNA package +*/ +/* + todo: compute energy z-score for each window + +*/ +#include +#include +#include +#include +#include +#include /* #defines FLT_MAX ... */ +#include "utils.h" +#include "energy_par.h" +#include "fold_vars.h" +#include "pair_mat.h" +#include "PS_dot.h" +/*@unused@*/ +static char rcsid[] UNUSED = "$Id: LPfold.c,v 1.2 2006/01/16 09:49:07 ivo Exp $"; + +#define MAX(x,y) (((x)>(y)) ? (x) : (y)) +#define MIN(x,y) (((x)<(y)) ? (x) : (y)) +#define PUBLIC +#define PRIVATE static + +static int num_p=0; /*for counting basepairs*/ +PUBLIC int pfl_fold(char *seq, int winSize, float cutoff, struct plist **pl); +PUBLIC void init_pf_foldLP(int length); +PUBLIC void free_pf_arraysLP(void); +PUBLIC void update_pf_paramsLP(int length); +/*PUBLIC int st_back=0;*/ +PRIVATE void scale_pf_params(unsigned int length); +PRIVATE void get_arrays(unsigned int length); +PRIVATE double expLoopEnergy(int u1, int u2, int type, int type2, + short si1, short sj1, short sp1, short sq1); +PRIVATE double expHairpinEnergy(int u, int type, short si1, short sj1, + const char *string); +/*PRIVATE void make_ptypes(const short *S, const char *structure);*/ +/*new functions*/ +PRIVATE void GetPtype(int j, int winSize,const short *S, int n); +PRIVATE void FreeOldArrays(int i); +PRIVATE void GetNewArrays(int j, int winSize); +PRIVATE void printpbar(FLT_OR_DBL **prb,int winSize, int i, int n, float cutoff); +PRIVATE struct plist *get_plistW(struct plist *pl, int length, double cutoff, int start, FLT_OR_DBL **Tpr, int winSize); +/*end*/ +PRIVATE FLT_OR_DBL expMLclosing, expMLintern[NBPAIRS+1], *expMLbase; +PRIVATE FLT_OR_DBL expTermAU; +PRIVATE FLT_OR_DBL expdangle5[NBPAIRS+1][5], expdangle3[NBPAIRS+1][5]; +PRIVATE FLT_OR_DBL lxc, exptetra[40], expTriloop[40]; +PRIVATE FLT_OR_DBL expstack[NBPAIRS+1][NBPAIRS+1]; +PRIVATE FLT_OR_DBL expmismatchI[NBPAIRS+1][5][5], + expmismatchH[NBPAIRS+1][5][5], expmismatchM[NBPAIRS+1][5][5]; +PRIVATE FLT_OR_DBL expint11[NBPAIRS+1][NBPAIRS+1][5][5]; +PRIVATE FLT_OR_DBL expint21[NBPAIRS+1][NBPAIRS+1][5][5][5]; +PRIVATE FLT_OR_DBL expint22[NBPAIRS+1][NBPAIRS+1][5][5][5][5]; +PRIVATE FLT_OR_DBL *exphairpin; +PRIVATE FLT_OR_DBL expbulge[MAXLOOP+1]; +PRIVATE FLT_OR_DBL expinternal[MAXLOOP+1]; +PRIVATE FLT_OR_DBL expninio[5][MAXLOOP+1]; +PRIVATE FLT_OR_DBL **q, **qb, **qm, *qm1, *qqm, *qqm1, *qq, *qq1, **pR; +PRIVATE FLT_OR_DBL *prml, *prm_l, *prm_l1, *q1k, *qln; +PRIVATE FLT_OR_DBL *scale; +PRIVATE char **ptype; /* precomputed array of pair types */ +PRIVATE int *jindx; +PRIVATE int init_length; /* length in last call to init_pf_fold() */ +PRIVATE double init_temp; /* temperature in last call to scale_pf_params */ +#define ISOLATED 256.0 + +/*-----------------------------------------------------------------*/ +static short *S, *S1; +PUBLIC int pfl_fold(char *sequence, int winSize, float cutoff, struct plist **pl) +{ + + int n, m,i,j,k,l, u,u1,ii, type, type_2, tt, ov=0; + FLT_OR_DBL temp, Qmax=0, prm_MLb; + FLT_OR_DBL prmt,prmt1; + FLT_OR_DBL qbt1, *tmp; + + double free_energy; + double max_real; + + max_real = (sizeof(FLT_OR_DBL) == sizeof(float)) ? FLT_MAX : DBL_MAX; + + n = (int) strlen(sequence); + if (ninit_length) init_pf_foldLP(n); /* (re)allocate space */ + if ((init_temp - temperature)>1e-6) update_pf_paramsLP(n); + + S = (short *) xrealloc(S, sizeof(short)*(n+1)); + S1= (short *) xrealloc(S1, sizeof(short)*(n+1)); + S[0] = n; + for (l=1; l<=n; l++) { + S[l] = (short) encode_char(toupper(sequence[l-1])); + S1[l] = alias[S[l]]; + } + /* make_ptypes(S, structure); das machmadochlieber lokal, ey!*/ + + /*array initialization ; qb,qm,q + qb,qm,q (i,j) are stored as ((n+1-i)*(n-i) div 2 + n+1-j */ + num_p=0; + *pl=space(1000*sizeof(struct plist)); + + + /* for (i=1; i<=n; i++) + qq[i]=qq1[i]=qqm[i]=qqm1[i]=prm_l[i]=prm_l1[i]=prml[i]=0; oisa gaunza unnedig, wenn nicht recycelt*/ + /*ALWAYS q[i][j] => i>j!!*/ + for (j=1; j=MAX(1,(j-winSize+1)); i--) { + /* construction of partition function of segment i,j*/ + /*firstly that given i bound to j : qb(i,j) */ + u = j-i-1; + type = ptype[i][j]; + if (type!=0) { + /*hairpin contribution*/ + if (((type==3)||(type==4))&&no_closingGU) qbt1 = 0; + else + qbt1 = expHairpinEnergy(u, type, S1[i+1], S1[j-1], sequence+i-1); + + /* interior loops with interior pair k,l */ + for (k=i+1; k<=MIN(i+MAXLOOP+1,j-TURN-2); k++) { + u1 = k-i-1; + for (l=MAX(k+TURN+1,j-1-MAXLOOP+u1); l1) qbt1 *= expdangle5[type][S1[i-1]];/*wann dangle??*/ + if (j2) qbt1 *= expTermAU; + qqm[i] += qbt1; + } + if (qm1) qm1[jindx[j]+i] = qqm[i]; /* for stochastic backtracking */ + + /*construction of qm matrix containing multiple loop + partition function contributions from segment i,j */ + temp = 0.0; + /*ii = iindx[i]; ii-k=[i,k-1] */ + for (k=i+1; k<=j; k++) temp += (qm[i][k-1]+expMLbase[k-i])*qqm[k]; + qm[i][j] = (temp + qqm[i]); + + /*auxiliary matrix qq for cubic order q calculation below */ + qbt1 = qb[i][j]; + if (type) { + if (i>1/*MAX(1,j-winSize+1)*/) qbt1 *= expdangle5[type][S1[i-1]]; + if (j2) qbt1 *= expTermAU; + } + qq[i] = qq1[i]*scale[1] + qbt1; + + /*construction of partition function for segment i,j */ + temp = 1.0*scale[1+j-i] + qq[i]; + for (k=i; k<=j-1; k++) temp += q[i][k]*qq[k+1]; + q[i][j] = temp; + + if (temp>Qmax) { + Qmax = temp; + if (Qmax>max_real/10.) + fprintf(stderr, "Q close to overflow: %d %d %g\n", i,j,temp); + } + if (temp>=max_real) { + PRIVATE char msg[128]; + sprintf(msg, "overflow in pf_fold while calculating q[%d,%d]\n" + "use larger pf_scale", i,j); + nrerror(msg); + } + } /*end for i??*/ + tmp = qq1; qq1 =qq; qq =tmp; + tmp = qqm1; qqm1=qqm; qqm=tmp; + } + +#if 0 /* no output in library functions! */ + + if ((j>winSize)&&(j<=n)) { + /*Ausgabe von freenergy fenster*/ + int middle=j-winSize/2; + double Fwind; + Fwind=(-log(q[j-winSize+1][j])-winSize*log(pf_scale))*(temperature+K0)*GASCONST/1000.0; + printf("%6d\t%.7f\n",middle, Fwind); + } +#endif + if (j>winSize) { + Qmax=0; + /*i=j-winSize;*/ + /*initialize multiloopfs*/ + for (k=j-winSize+1; k<=MIN(n,j); k++) { + prml[k]=0; + prm_l[k]=0; + /* prm_l1[k]=0; others stay??*/ + } + k=j-winSize; + for (l=k+TURN+1; l<=MIN(n,k+winSize-1); l++) { + int a; + pR[k][l] = 0; /*set zero at start*/ + type=ptype[k][l]; + if (qb[k][l]==0) continue; + + for (a=MAX(1,l-winSize+2); a=1) /*l outermost*/ + pR[k][l]+=q[l-winSize+1][k-1]/q[l-winSize+1][l]; + } + if (k>1) + pR[k][l]*=expdangle5[type][S1[k-1]]; + if (l2) + pR[k][l] *= expTermAU; + + + /*initialize multiloopfs*/ + prml[j-winSize]=0; + prm_l[j-winSize]=0; + prm_l1[j-winSize]=0; + + /* pr = q; */ /* recycling */ + + type_2 = ptype[k][l]; type_2 = rtype[type_2]; + + for (i=MAX(MAX(l-winSize+1,k-MAXLOOP-1),1); i<=k-1; i++) { + for (m=l+1; m<=MIN(MIN(l+ MAXLOOP -k+i+2,i+winSize-1),n); m++) { + type = ptype[i][m]; + if ((pR[i][m]>0)) + pR[k][l] += pR[i][m]*expLoopEnergy(k-i-1, m-l-1, type, type_2, + S1[i+1], S1[m-1], S1[k-1], S1[l+1]); + } + } + } + /* 3. bonding k,l as substem of multi-loop enclosed by i,m */ + prm_MLb = 0.; + if(k>1) /*sonst nix!*/ + for (l=MIN(n-1,k+winSize-2/*??*/); l>=k+TURN+1; l--) { /*opposite direction*/ + m=l+1; + prmt = prmt1 = 0.0; + tt = ptype[k-1][m]; tt=rtype[tt]; + prmt1 = pR[k-1][m]*expMLclosing*expMLintern[tt]* + expdangle3[tt][S1[k]]*expdangle5[tt][S1[l]]; + for (i=MAX(1,l-winSize+2/*?*/); i=l+2; m--) + temp += prml[m]*qm[l+1][m-1]; + + temp *= expMLintern[tt]*scale[2]; + if (k>1) temp *= expdangle5[tt][S1[k-1]]; + if (lQmax) { + Qmax = pR[k][l]; + if (Qmax>max_real/10.) + fprintf(stderr, "P close to overflow: %d %d %g %g\n", + i, m, pR[k][l], qb[k][l]); + } + if (pR[k][l]>=max_real) { + ov++; + pR[k][l]=FLT_MAX; + } + + } /* end for (k=..) */ + tmp = prm_l1; prm_l1=prm_l; prm_l=tmp; + + /* end for (l=..) */ + + if (j-2*winSize>0) { + printpbar(pR,winSize,j-2*winSize,n,cutoff); + *pl=get_plistW(*pl, n, cutoff, j-2*winSize, pR, winSize); + FreeOldArrays(j-2*winSize); + } + + } /* end if (do_backtrack)*/ + + + }/*end for j */ + + /*finish output and free*/ + for (j=n-winSize+1; j<=n; j++) { + printpbar(pR,winSize,j,n,cutoff); + *pl=get_plistW(*pl, n, cutoff, j, pR, winSize); + FreeOldArrays(j); + } + if (ov>0) fprintf(stderr, "%d overflows occurred while backtracking;\n" + "you might try a smaller pf_scale than %g\n", + ov, pf_scale); + + return 1; +} + +/*------------------------------------------------------------------------*/ +/* dangling ends should never be destabilizing, i.e. expdangle>=1 */ +/* specific heat needs smooth function (2nd derivative) */ +/* we use a*(sin(x+b)+1)^2, with a=2/(3*sqrt(3)), b=Pi/6-sqrt(3)/2, */ +/* in the interval b0.8660254)?(X): \ + SCALE*0.38490018*(sin((X)/SCALE-0.34242663)+1)*(sin((X)/SCALE-0.34242663)+1)) +/*#define SMOOTH(X) ((X)<0 ? 0 : (X)) */ + +PRIVATE void scale_pf_params(unsigned int length) +{ + /* scale energy parameters and pre-calculate Boltzmann weights */ + unsigned int i, j, k, l; + double kT, TT; + double GT; + + + init_temp = temperature; + kT = (temperature+K0)*GASCONST; /* kT in cal/mol */ + TT = (temperature+K0)/(Tmeasure); + + /* scaling factors (to avoid overflows) */ + if (pf_scale==-1) { /* mean energy for random sequences: 184.3*length cal */ + pf_scale = exp(-(-185+(temperature-37.)*7.27)/kT); + } + if (pf_scale<1) pf_scale=1; + scale[0] = 1.; + for (i=1; i<=length; i++) + scale[i] = scale[i-1]/pf_scale; + + /* loop energies: hairpins, bulges, interior, mulit-loops */ + for (i=0; i<=MIN(30,length); i++) { + GT = hairpin37[i]*TT; + exphairpin[i] = exp( -GT*10./kT); + } + for (i=0; i<=MIN(30, MAXLOOP); i++) { + GT = bulge37[i]*TT; + expbulge[i] = exp( -GT*10./kT); + GT = internal_loop37[i]*TT; + expinternal[i] = exp( -GT*10./kT); + } + /* special case of size 2 interior loops (single mismatch) */ + if (james_rule) expinternal[2] = exp ( -80*10/kT); + + lxc = lxc37*TT; + for (i=31; i2) GT += TerminalAU; */ + expMLintern[i] = exp( -GT*10./kT); + } + expTermAU = exp(-TerminalAU*10/kT); + + GT = ML_BASE37*TT; + for (i=0; i 0 (at large temps), + but make sure go smoothly to 0 */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=4; j++) { + if (dangles) { + GT = dangle5_H[i][j] - (dangle5_H[i][j] - dangle5_37[i][j])*TT; + expdangle5[i][j] = exp(SMOOTH(-GT)*10./kT); + GT = dangle3_H[i][j] - (dangle3_H[i][j] - dangle3_37[i][j])*TT; + expdangle3[i][j] = exp(SMOOTH(-GT)*10./kT); + } else + expdangle3[i][j] = expdangle5[i][j] = 1; + if (i>2) /* add TermAU penalty into dangle3 */ + expdangle3[i][j] *= expTermAU; + } + + /* stacking energies */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) { + GT = enthalpies[i][j] - (enthalpies[i][j] - stack37[i][j])*TT; + expstack[i][j] = exp( -GT*10/kT); + } + + /* mismatch energies */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<5; j++) + for (k=0; k<5; k++) { + GT = mism_H[i][j][k] - (mism_H[i][j][k] - mismatchI37[i][j][k])*TT; + expmismatchI[i][j][k] = exp(-GT*10.0/kT); + GT = mism_H[i][j][k] - (mism_H[i][j][k] - mismatchH37[i][j][k])*TT; + expmismatchH[i][j][k] = exp(-GT*10.0/kT); + GT = mism_H[i][j][k] - (mism_H[i][j][k] - mismatchM37[i][j][k])*TT; + expmismatchM[i][j][k] = exp(-GT*10.0/kT); + } + + /* interior lops of length 2 */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) + for (k=0; k<5; k++) + for (l=0; l<5; l++) { + GT = int11_H[i][j][k][l] - + (int11_H[i][j][k][l] - int11_37[i][j][k][l])*TT; + expint11[i][j][k][l] = exp(-GT*10./kT); + } + /* interior 2x1 loops */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) + for (k=0; k<5; k++) + for (l=0; l<5; l++) { + int m; + for (m=0; m<5; m++) { + GT = int21_H[i][j][k][l][m] - + (int21_H[i][j][k][l][m] - int21_37[i][j][k][l][m])*TT; + expint21[i][j][k][l][m] = exp(-GT*10./kT); + } + } + /* interior 2x2 loops */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) + for (k=0; k<5; k++) + for (l=0; l<5; l++) { + int m,n; + for (m=0; m<5; m++) + for (n=0; n<5; n++) { + GT = int22_H[i][j][k][l][m][n] - + (int22_H[i][j][k][l][m][n]-int22_37[i][j][k][l][m][n])*TT; + expint22[i][j][k][l][m][n] = exp(-GT*10./kT); + } + } +} + +/*----------------------------------------------------------------------*/ +PRIVATE double expHairpinEnergy(int u, int type, short si1, short sj1, + const char *string) { + double q; + q = exphairpin[u]; + if ((tetra_loop)&&(u==4)) { + char tl[7]={0}, *ts; + strncpy(tl, string, 6); + if ((ts=strstr(Tetraloops, tl))) + q *= exptetra[(ts-Tetraloops)/7]; + } + if (u==3) { + char tl[6]={0}, *ts; + strncpy(tl, string, 5); + if ((ts=strstr(Triloops, tl))) + q *= expTriloop[(ts-Triloops)/6]; + if (type>2) + q *= expTermAU; + } + else /* no mismatches for tri-loops */ + q *= expmismatchH[type][si1][sj1]; + + q *= scale[u+2]; + return q; +} + +PRIVATE double expLoopEnergy(int u1, int u2, int type, int type2, + short si1, short sj1, short sp1, short sq1) { + double z=0; + int no_close = 0; + + if ((no_closingGU) && ((type2==3)||(type2==4)||(type==2)||(type==4))) + no_close = 1; + + if ((u1==0) && (u2==0)) /* stack */ + z = expstack[type][type2]; + else if (no_close==0) { + if ((u1==0)||(u2==0)) { /* bulge */ + int u; + u = (u1==0)?u2:u1; + z = expbulge[u]; + if (u2+u1==1) z *= expstack[type][type2]; + else { + if (type>2) z *= expTermAU; + if (type2>2) z *= expTermAU; + } + } + else { /* interior loop */ + if (u1+u2==2) /* size 2 is special */ + z = expint11[type][type2][si1][sj1]; + else if ((u1==1) && (u2==2)) + z = expint21[type][type2][si1][sq1][sj1]; + else if ((u1==2) && (u2==1)) + z = expint21[type2][type][sq1][si1][sp1]; + else if ((u1==2) && (u2==2)) + z = expint22[type][type2][si1][sp1][sq1][sj1]; + else { + z = expinternal[u1+u2]* + expmismatchI[type][si1][sj1]* + expmismatchI[type2][sq1][sp1]; + z *= expninio[2][abs(u1-u2)]; + } + } + } + return z*scale[u1+u2+2]; +} + +/*----------------------------------------------------------------------*/ + +PRIVATE void get_arrays(unsigned int length) +{/*arrays in 2 dimensions*/ + + q = (FLT_OR_DBL **) space((length+1)*sizeof(FLT_OR_DBL *)); + qb = (FLT_OR_DBL **) space((length+1)*sizeof(FLT_OR_DBL *)); + qm = (FLT_OR_DBL **) space((length+1)*sizeof(FLT_OR_DBL *)); + pR = (FLT_OR_DBL **) space((length+1)*sizeof(FLT_OR_DBL *)); + ptype = (char **) space((length+1)*sizeof(char *)); + /* if (st_back) { + qm1 = (FLT_OR_DBL *) space(size); + }*/ + /*length??*/ + q1k = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+1)); + qln = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + qq = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + qq1 = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + qqm = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + qqm1 = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + prm_l = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + prm_l1 =(FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + prml = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + exphairpin = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+1)); + expMLbase = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+1)); + scale = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+1)); + iindx = (int *) space(sizeof(int)*(length+1)); + jindx = (int *) space(sizeof(int)*(length+1)); + /* for (i=1; i<=length; i++) { + iindx[i] = ((length+1-i)*(length-i))/2 +length+1; + jindx[i] = (i*(i-1))/2; + }*/ +} + +/*----------------------------------------------------------------------*/ + +PUBLIC void init_pf_foldLP(int length) +{ + if (length<1) nrerror("init_pf_fold: length must be greater 0"); + if (init_length>0) free_pf_arraysLP(); /* free previous allocation */ +#ifdef SUN4 + nonstandard_arithmetic(); +#else +#ifdef HP9 + fpsetfastmode(1); +#endif +#endif + make_pair_matrix(); + get_arrays((unsigned) length); + scale_pf_params((unsigned) length); + init_length=length; +} + +PUBLIC void free_pf_arraysLP(void) +{ + free(q); + free(qb); + free(qm); + free(pR); + q=pR=NULL; + if (qm1 != NULL) {free(qm1); qm1 = NULL;} + free(ptype); + free(qq); free(qq1); + free(qqm); free(qqm1); + free(q1k); free(qln); + free(prm_l); free(prm_l1); free(prml); + free(exphairpin); + free(expMLbase); + free(scale); + free(iindx); free(jindx); +#ifdef SUN4 + standard_arithmetic(); +#else +#ifdef HP9 + fpsetfastmode(0); +#endif +#endif + init_length=0; + free(S); S=NULL; + free(S1); S1=NULL; +} +/*---------------------------------------------------------------------------*/ + +PUBLIC void update_pf_paramsLP(int length) +{ + if (length>init_length) init_pf_foldLP(length); /* init not update */ + else { + /* make_pair_matrix();*/ + scale_pf_params((unsigned) length); + } +} + +/*---------------------------------------------------------------------------*/ + + +PRIVATE void printpbar(FLT_OR_DBL **prb,int winSize, int i, int n, float cutoff) { + int j; + int howoften=0; /* how many samples do we have for this pair */ + int pairdist; + + for (j=i+TURN; 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Lfold.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Lfold.c new file mode 100755 index 00000000..142a5736 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Lfold.c @@ -0,0 +1,856 @@ +/* Last changed Time-stamp: <2005-10-30 21:03:40 ivo> */ +/* + minimum free energy + RNA secondary structure prediction + with maximum distance base pairs + + c Ivo Hofacker, Peter Stadler + + Vienna RNA package +*/ + +#include +#include +#include +#include +#include +#include +#include "utils.h" +#include "energy_par.h" +#include "fold_vars.h" +#include "pair_mat.h" +#include "params.h" + +/*@unused@*/ +static char rcsid[] UNUSED = "$Id: Lfold.c,v 1.5 2005/10/30 20:06:20 ivo Exp $"; + + +#define PAREN + +#define PUBLIC +#define PRIVATE static + +#define STACK_BULGE1 1 /* stacking energies for bulges of size 1 */ +#define NEW_NINIO 1 /* new asymetry penalty */ + +PUBLIC float Lfold(char *string, char *structure, int maxdist); +PRIVATE void initialize_fold(int length, int maxdist); +PRIVATE void update_fold_params(void); + +/*@unused@*/ +PRIVATE void letter_structure(char *structure, int length) UNUSED; +/* PRIVATE void parenthesis_structure(char *structure, int length); */ +PRIVATE void get_arrays(unsigned int size, int maxdist); +PRIVATE void free_arrays(int maxdist); +/* PRIVATE void scale_parameters(void); */ +/* PRIVATE int stack_energy(int i, char *string); + PRIVATE int ML_Energy(int i, int is_extloop); */ +PRIVATE void make_ptypes(const short *S, int i, int maxdist, int n); +PRIVATE void encode_seq(char *sequence); +PRIVATE char * backtrack(char *sequence, int start, int maxdist); +PRIVATE int fill_arrays(char *sequence, int maxdist); +extern int LoopEnergy(int n1, int n2, int type, int type_2, + int si1, int sj1, int sp1, int sq1); +extern int HairpinE(int size, int type, int si1, int sj1, const char *string); + +/*@unused@*/ +#define MAXSECTORS 500 /* dimension for a backtrack array */ +#define LOCALITY 0. /* locality parameter for base-pairs */ + +#define MIN2(A, B) ((A) < (B) ? (A) : (B)) +#define SAME_STRAND(I,J) (((I)>=cut_point)||((J)(int)size-maxdist-5 && i>=0; i--) { + c[i] = (int *) space(sizeof(int)*(maxdist+5)); + } + for (i=size; i>(int)size-maxdist-5 && i>=0; i--) { + fML[i] = (int *) space(sizeof(int)*(maxdist+5)); + } + for (i=size; i>(int)size-maxdist-5 && i>=0; i--) { + ptype[i] = (char *) space(sizeof(char)*(maxdist+5)); + } +} + +/*--------------------------------------------------------------------------*/ + +PRIVATE void free_arrays(int maxdist) +{ + int i; + for (i=0; i = base must be paired with j>i + -4: x = base must not pair + positive int: base is paired with int */ + +float Lfold(char *string, char *structure, int maxdist) { + int i, energy, bonus=0; + + length = (int) strlen(string); + if (maxdist>length) maxdist = length; + initialize_fold(length, maxdist); + if (fabs(P->temperature - temperature)>1e-6) update_fold_params(); + + encode_seq(string); + + /* BP = (int *)space(sizeof(int)*(length+2)); */ + for (i=length; i>(int)length-(int)maxdist-4 && i>0; i--) + make_ptypes(S, i, maxdist, length); + + energy = fill_arrays(string, maxdist); + + /* parenthesis_structure(structure, length); */ + + free(S); free(S1);\ + + energy += bonus; /*remove bonus energies from result */ + free_arrays(maxdist); + return (float) energy/100.; +} + +PRIVATE int fill_arrays(char *string, int maxdist) { + /* fill "c", "fML" and "f3" arrays and return optimal energy */ + + int i, j, k, length, energy; + int decomp, new_fML; + int no_close, type, type_2, tt; + int bonus=0; + + length = (int) strlen(string); + + for (j=0; jlength-maxdist-4; j--) { + for (i=(length-maxdist-4>0)?length-maxdist-4:1 ; i= 1; i--) { /* i,j in [1..length] */ + + for (j = i+TURN+1; j <= length && j <= i+maxdist; j++) { + int p, q; + bonus = 0; + type = ptype[i][j-i]; + + no_close = (((type==3)||(type==4))&&no_closingGU&&(bonus==0)); + + if (type) { /* we have a pair */ + int new_c=0, stackEnergy=INF; + /* hairpin ----------------------------------------------*/ + + if (no_close) new_c = FORBIDDEN; + else + new_c = HairpinE(j-i-1, type, S1[i+1], S1[j-1], string+i-1); + + /*-------------------------------------------------------- + check for elementary structures involving more than one + closing pair. + --------------------------------------------------------*/ + + for (p = i+1; p <= MIN2(j-2-TURN,i+MAXLOOP+1) ; p++) { + int minq = j-i+p-MAXLOOP-2; + if (minqi+1)||(qdangle3[tt][S1[i+1]]; + d5 = P->dangle5[tt][S1[j-1]]; + if (dangles==2) /* double dangles */ + decomp += d5 + d3; + else { /* normal dangles */ + decomp = MIN2(DMLi2[j-1-(i+2)]+d3+P->MLbase, decomp); + decomp = MIN2(DMLi1[j-2-(i+1)]+d5+P->MLbase, decomp); + decomp = MIN2(DMLi2[j-2-(i+2)]+d5+d3+2*P->MLbase, decomp); + } + } + + MLenergy = P->MLclosing+P->MLintern[type]+decomp; + + new_c = MLenergy < new_c ? MLenergy : new_c; + } + + /* coaxial stacking of (i.j) with (i+1.k) or (k+1.j-1) */ + + if (dangles==3) { + decomp = INF; + for (k = i+2+TURN; k < j-2-TURN; k++) { + type_2 = ptype[i+1][k-i-1]; type_2 = rtype[type_2]; + if (type_2) + decomp = MIN2(decomp, c[i+1][k-i-1]+P->stack[type][type_2]+ + fML[k+1][j-1-k-1]); + type_2 = ptype[k+1][j-1-k-1]; type_2 = rtype[type_2]; + if (type_2) + decomp = MIN2(decomp, c[k+1][j-1-k-1]+P->stack[type][type_2]+ + fML[i+1][k-i-1]); + } + /* no TermAU penalty if coax stack */ + decomp += 2*P->MLintern[1] + P->MLclosing; + new_c = MIN2(new_c, decomp); + } + + new_c = MIN2(new_c, cc1[j-1-(i+1)]+stackEnergy); + cc[j-i] = new_c + bonus; + if (noLonelyPairs) + c[i][j-i] = cc1[j-1-(i+1)]+stackEnergy+bonus; + else + c[i][j-i] = cc[j-i]; + + } /* end >> if (pair) << */ + + else c[i][j-i] = INF; + + + /* done with c[i,j], now compute fML[i,j] */ + /* free ends ? -----------------------------------------*/ + + new_fML = fML[i+1][j-i-1]+P->MLbase; + new_fML = MIN2(fML[i][j-1-i]+P->MLbase, new_fML); + energy = c[i][j-i]+P->MLintern[type]; + if (dangles==2) { /* double dangles */ + if (i>1) energy += P->dangle5[type][S1[i-1]]; + if (jdangle3[type][S1[j+1]]; + } + new_fML = MIN2(energy, new_fML); + + if (dangles%2==1) { /* normal dangles */ + tt = ptype[i+1][j-i-1]; /* i+1,j */ + new_fML = MIN2(c[i+1][j-i-1]+P->dangle5[tt][S1[i]] + +P->MLintern[tt]+P->MLbase,new_fML); + tt = ptype[i][j-1-i]; + new_fML = MIN2(c[i][j-1-i]+P->dangle3[tt][S1[j]] + +P->MLintern[tt]+P->MLbase, new_fML); + tt = ptype[i+1][j-1-i-1]; + new_fML = MIN2(c[i+1][j-1-i-1]+P->dangle5[tt][S1[i]]+ + P->dangle3[tt][S1[j]]+P->MLintern[tt]+2*P->MLbase, new_fML); + } + + /* modular decomposition -------------------------------*/ + + for (decomp = INF, k = i+1+TURN; k <= j-2-TURN; k++) + decomp = MIN2(decomp, Fmi[k-i]+fML[k+1][j-k-1]); + + DMLi[j-i] = decomp; /* store for use in ML decompositon */ + new_fML = MIN2(new_fML,decomp); + + /* coaxial stacking */ + if (dangles==3) { + /* additional ML decomposition as two coaxially stacked helices */ + for (decomp = INF, k = i+1+TURN; k <= j-2-TURN; k++) { + type = ptype[i][k-i]; type = rtype[type]; + type_2 = ptype[k+1][j-k-1]; type_2 = rtype[type_2]; + if (type && type_2) + decomp = MIN2(decomp, + c[i][k-i]+c[k+1][j-k-1]+P->stack[type][type_2]); + } + + decomp += 2*P->MLintern[1]; /* no TermAU penalty if coax stack */ +#if 0 + /* This is needed for Y shaped ML loops with coax stacking of + interior pairts, but backtracking will fail if activated */ + DMLi[j-i] = MIN2(DMLi[j-i], decomp); + DMLi[j-i] = MIN2(DMLi[j-i], DMLi[j-1-i]+P->MLbase); + DMLi[j-i] = MIN2(DMLi[j-i], DMLi1[j-(i+1)]+P->MLbase); + new_fML = MIN2(new_fML, DMLi[j-i]); +#endif + new_fML = MIN2(new_fML, decomp); + } + + fML[i][j-i] = Fmi[j-i] = new_fML; /* substring energy */ + + } /* for (j...) */ + + /* calculate energies of 5' and 3' fragments */ + { + static int do_backtrack = 0, prev_i=0; + static char * prev=NULL; + char *ss; + f3[i] = f3[i+1]; + for (j=i+TURN+1; j2) energy += P->TerminalAU; + if (dangles==2) { + if (i>1) energy += P->dangle5[type][S1[i-1]]; + energy += P->dangle3[type][S1[j+1]]; + } + f3[i] = MIN2(f3[i], energy); + if (dangles%2==1) { + energy = c[i][j-i]+P->dangle3[type][S1[j+1]]; + if (j+2<=length) energy += f3[j+2]; + if (type>2) energy += P->TerminalAU; + f3[i] = MIN2(f3[i], energy); + } + } + type = ptype[i+1][j-i-1]; + if ((type)&&(dangles%2==1)) { + energy = c[i+1][j-i-1]+P->dangle5[type][S1[i]]; + if (type>2) energy += P->TerminalAU; + f3[i] = MIN2(f3[i], f3[j+1]+energy); + energy+=P->dangle3[type][S1[j+1]]; + if (j+12) energy += P->TerminalAU; + if (dangles==2) { + energy += P->dangle5[type][S1[i-1]]; + } + f3[i] = MIN2(f3[i], energy); + } + type = ptype[i+1][j-i-1]; + if ((type)&&(dangles%2==1)) { + energy = c[i+1][j-i-1]+P->dangle5[type][S1[i]]; + if (type>2) energy += P->TerminalAU; + f3[i] = MIN2(f3[i], energy); + } + } + /* backtrack partial structure */ + if (f3[i] != f3[i+1]) do_backtrack=1; + else if (do_backtrack) { + ss = backtrack(string, i+1 , maxdist+1); + if (prev) { + if ((i+strlen(ss)1) make_ptypes(S, i-1, maxdist, length); + for (ii=0; ii0) { + int ml, fij, cij, traced, i1, j1, d3, d5, mm, p, q, jj=0; + int canonical = 1; /* (i,j) closes a canonical structure */ + i = sector[s].i; + j = sector[s].j; + ml = sector[s--].ml; /* ml is a flag indicating if backtracking is to + occur in the fML- (1) or in the f-array (0) */ + if (ml==2) { + structure[i-start] = '('; + structure[j-start] = ')'; + goto repeat1; + } + + if (j < i+TURN+1) continue; /* no more pairs in this interval */ + + fij = (ml)? fML[i][j-i] : f3[i]; + + if (ml == 0) { /* backtrack in f3 */ + + if (fij == f3[i+1]) { + sector[++s].i = i+1; + sector[s].j = j; + sector[s].ml = ml; + continue; + } + /* i or i+1 is paired. Find pairing partner */ + for (k=i+TURN+1,traced=0; k<=j; k++) { + int cc, en; + jj = k+1; + type = ptype[i+1][k-(i+1)]; + if((type)&&(dangles%2==1)) { + cc = c[i+1][k-(i+1)]+P->dangle5[type][S1[i]]; + if (type>2) cc += P->TerminalAU; + if (fij == cc + f3[k+1]) + traced=i+1; + if (kdangle3[type][S1[k+1]]) { + traced=i+1; jj=k+2; + } + } + type = ptype[i][k-i]; + if (type) { + cc = c[i][k-i]; + if (type>2) cc += P->TerminalAU; + en = cc + f3[k+1]; + if (dangles==2) { + if (i>1) en += P->dangle5[type][S1[i-1]]; + if (kdangle3[type][S1[k+1]]; + } + if (fij == en) traced=i; + if ((dangles%2==1) && (kdangle3[type][S1[k+1]]) { + traced=i; jj=k+2; + } + } + if (traced) break; + } + + if (!traced) nrerror("backtrack failed in f3"); + if (j==length) { /* backtrack only one component, unless j==length */ + sector[++s].i = jj; + sector[s].j = j; + sector[s].ml = ml; + } + i=traced; j=k; + structure[i-start] = '('; structure[j-start] = ')'; + if ((jj==j+2) || (dangles==2)) structure[j+1-start] = '.'; + goto repeat1; + } + else { /* trace back in fML array */ + int cij1=INF, ci1j=INF, ci1j1=INF; + + if (fML[i][j-1-i]+P->MLbase == fij) { /* 3' end is unpaired */ + sector[++s].i = i; + sector[s].j = j-1; + sector[s].ml = ml; + continue; + } + if (fML[i+1][j-(i+1)]+P->MLbase == fij) { /* 5' end is unpaired */ + sector[++s].i = i+1; + sector[s].j = j; + sector[s].ml = ml; + continue; + } + + tt = ptype[i][j-i]; + cij = c[i][j-i] + P->MLintern[tt]; + if (dangles==2) { /* double dangles */ + if (i>1) cij += P->dangle5[tt][S1[i-1]]; + if (jdangle3[tt][S1[j+1]]; + } + else if (dangles%2==1) { /* normal dangles */ + tt = ptype[i+1][j-(i+1)]; + ci1j= c[i+1][j-(i+1)] + P->dangle5[tt][S1[i]] + P->MLintern[tt]+P->MLbase; + tt = ptype[i][j-1-i]; + cij1= c[i][j-1-i] + P->dangle3[tt][S1[j]] + P->MLintern[tt]+P->MLbase; + tt = ptype[i+1][j-1-(i+1)]; + ci1j1=c[i+1][j-1-(i+1)] + P->dangle5[tt][S1[i]] + P->dangle3[tt][S1[j]] + + P->MLintern[tt] + 2*P->MLbase; + } + + if ((fij==cij)||(fij==ci1j)||(fij==cij1)||(fij==ci1j1)) { + /* found a pair */ + if (fij==ci1j) i++; + else if (fij==cij1) j--; + else if (fij==ci1j1) {i++; j--;} + structure[i-start] = '('; structure[j-start] = ')'; + goto repeat1; + } + + for (k = i+1+TURN; k <= j-2-TURN; k++) + if (fij == (fML[i][k-i]+fML[k+1][j-(k+1)])) + break; + + if ((dangles==3)&&(k>j-2-TURN)) { /* must be coax stack */ + ml = 2; + for (k = i+1+TURN; k <= j-2-TURN; k++) { + type = ptype[i][k-i]; type= rtype[type]; + type_2 = ptype[k+1][j-(k+1)]; type_2= rtype[type_2]; + if (type && type_2) + if (fij == c[i][k-i]+c[k+1][j-(k+1)]+P->stack[type][type_2]+ + 2*P->MLintern[1]) + break; + } + } + + sector[++s].i = i; + sector[s].j = k; + sector[s].ml = ml; + sector[++s].i = k+1; + sector[s].j = j; + sector[s].ml = ml; + + if (k>j-2-TURN) nrerror("backtrack failed in fML"); + continue; + } + + repeat1: + + /*----- begin of "repeat:" -----*/ + if (canonical) cij = c[i][j-i]; + + type = ptype[i][j-i]; + + bonus = 0; + + if (noLonelyPairs) + if (cij == c[i][j-i]) { + /* (i.j) closes canonical structures, thus + (i+1.j-1) must be a pair */ + type_2 = ptype[i+1][j-1-(i+1)]; type_2 = rtype[type_2]; + cij -= P->stack[type][type_2] + bonus; + structure[i+1-start] = '('; structure[j-1-start] = ')'; + i++; j--; + canonical=0; + goto repeat1; + } + canonical = 1; + + + no_close = (((type==3)||(type==4))&&no_closingGU&&(bonus==0)); + if (no_close) { + if (cij == FORBIDDEN) continue; + } else + if (cij == HairpinE(j-i-1, type, S1[i+1], S1[j-1],string+i-1)+bonus) + continue; + + for (p = i+1; p <= MIN2(j-2-TURN,i+MAXLOOP+1); p++) { + int minq; + minq = j-i+p-MAXLOOP-2; + if (minq= minq; q--) { + + type_2 = ptype[p][q-p]; + if (type_2==0) continue; + type_2 = rtype[type_2]; + if (no_closingGU) + if (no_close||(type_2==3)||(type_2==4)) + if ((p>i+1)||(qMLclosing+P->MLintern[tt]; + d5 = P->dangle5[tt][S1[j-1]]; + d3 = P->dangle3[tt][S1[i+1]]; + i1 = i+1; j1 = j-1; + sector[s+1].ml = sector[s+2].ml = 1; + + for (k = i+2+TURN; k < j-2-TURN; k++) { + int en; + en = fML[i+1][k-(i+1)]+fML[k+1][j-1-(k+1)]+mm; + if (dangles==2) /* double dangles */ + en += d5+d3; + if (cij == en) + break; + if (dangles%2==1) { /* normal dangles */ + if (cij == (fML[i+2][k-(i+2)]+fML[k+1][j-1-(k+1)]+mm+d3+P->MLbase)) { + i1 = i+2; + break; + } + if (cij == (fML[i+1][k-(i+1)]+fML[k+1][j-2-(k+1)]+mm+d5+P->MLbase)) { + j1 = j-2; + break; + } + if (cij == (fML[i+2][k-(i+2)]+fML[k+1][j-2-(k+1)]+mm+d3+d5+P->MLbase+P->MLbase)) { + i1 = i+2; j1 = j-2; + break; + } + } + /* coaxial stacking of (i.j) with (i+1.k) or (k.j-1) */ + /* use MLintern[1] since coax stacked pairs don't get TerminalAU */ + if (dangles==3) { + type_2 = ptype[i+1][k-(i+1)]; type_2 = rtype[type_2]; + if (type_2) { + en = c[i+1][k-(i+1)]+P->stack[type][type_2]+fML[k+1][j-1-(k+1)]; + if (cij == en+2*P->MLintern[1]+P->MLclosing) { + ml = 2; + sector[s+1].ml = 2; + break; + } + } + type_2 = ptype[k+1][j-1-(k+1)]; type_2 = rtype[type_2]; + if (type_2) { + en = c[k+1][j-1-(k+1)]+P->stack[type][type_2]+fML[i+1][k-(i+1)]; + if (cij == en+2*P->MLintern[1]+P->MLclosing) { + sector[s+2].ml = 2; + break; + } + } + } + + } + if (k<=j-3-TURN) { /* found the decomposition */ + sector[++s].i = i1; + sector[s].j = k; + sector[++s].i = k+1; + sector[s].j = j1; + } else { +#if 0 + /* Y shaped ML loops fon't work yet */ + if (dangles==3) { + /* (i,j) must close a Y shaped ML loop with coax stacking */ + if (cij == fML[i+1][j-2-(i+2)] + mm + d3 + d5 + P->MLbase + P->MLbase) { + i1 = i+2; + j1 = j-2; + } else if (cij == fML[i+1][j-2-(i+1)] + mm + d5 + P->MLbase) + j1 = j-2; + else if (cij == fML[i+2][j-1-(i+2)] + mm + d3 + P->MLbase) + i1 = i+2; + else /* last chance */ + if (cij != fML[i+1][j-1-(i+1)] + mm + P->MLbase) + fprintf(stderr, "backtracking failed in repeat"); + /* if we arrive here we can express cij via fML[i1,j1]+dangles */ + sector[++s].i = i1; + sector[s].j = j1; + } + else +#endif + nrerror("backtracking failed in repeat"); + } + + } + + for (i=strlen(structure)-1; i>0 && structure[i] == '-'; i--) + structure[i] = '\0'; + for (;i>=0; i--) + if (structure[i]=='-') structure[i]='.'; + + return structure; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void encode_seq(char *sequence) { + unsigned int i,l; + + l = strlen(sequence); + S = (short *) space(sizeof(short)*(l+1)); + S1= (short *) space(sizeof(short)*(l+1)); + /* S1 exists only for the special X K and I bases and energy_set!=0 */ + S[0] = S1[0] = (short) l; + + for (i=1; i<=l; i++) { /* make numerical encoding of sequence */ + S[i]= (short) encode_char(toupper(sequence[i-1])); + S1[i] = alias[S[i]]; /* for mismatches of nostandard bases */ + } +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void letter_structure(char *structure, int length) +{ + int n, k, x, y; + + for (n = 0; n <= length-1; structure[n++] = ' ') ; + structure[length] = '\0'; + + for (n = 0, k = 1; k <= base_pair[0].i; k++) { + y = base_pair[k].j; + x = base_pair[k].i; + if (x-1 > 0 && y+1 <= length) { + if (structure[x-2] != ' ' && structure[y] == structure[x-2]) { + structure[x-1] = structure[x-2]; + structure[y-1] = structure[x-1]; + continue; + } + } + if (structure[x] != ' ' && structure[y-2] == structure[x]) { + structure[x-1] = structure[x]; + structure[y-1] = structure[x-1]; + continue; + } + n++; + structure[x-1] = alpha[n-1]; + structure[y-1] = alpha[n-1]; + } +} + +/*---------------------------------------------------------------------------*/ +#if 0 +PRIVATE void parenthesis_structure(char *structure, int length) +{ + int n, k; + + for (n = 0; n <= length-1; structure[n++] = '.') ; + structure[length] = '\0'; + + for (k = 1; k <= base_pair[0].i; k++) { + structure[base_pair[k].i-1] = '('; + structure[base_pair[k].j-1] = ')'; + } +} +#endif +/*---------------------------------------------------------------------------*/ + +PRIVATE void update_fold_params(void) +{ + P = scale_parameters(); + make_pair_matrix(); +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void make_ptypes(const short *S, int i, int maxdist, int n) { + int j,k, type; + + for (k=TURN+1; kn) continue; + type = pair[S[i]][S[j]]; + if (noLonelyPairs && type) { + if (!ptype[i+1][j-1-i-1]) + if (j==n || i==1 || (!pair[S[i-1]][S[j+1]])) type=0; + } + ptype[i][j-i]=type; + } +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Lfold.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Lfold.o new file mode 100755 index 0000000000000000000000000000000000000000..e6ee3f70cfc4d8eda9d7ee2cfd59a9d20ed4a59c GIT binary patch literal 55696 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Makefile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Makefile new file mode 100755 index 00000000..c3fe284d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Makefile @@ -0,0 +1,473 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# lib/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + +SOURCES = $(libRNA_a_SOURCES) + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/ViennaRNA +pkglibdir = $(libdir)/ViennaRNA +pkgincludedir = $(includedir)/ViennaRNA +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +subdir = lib +DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(libdir)" +libLIBRARIES_INSTALL = $(INSTALL_DATA) +LIBRARIES = $(lib_LIBRARIES) +AR = ar +ARFLAGS = cru +libRNA_a_AR = $(AR) $(ARFLAGS) +libRNA_a_LIBADD = +am_libRNA_a_OBJECTS = dist_vars.$(OBJEXT) fold_vars.$(OBJEXT) \ + part_func.$(OBJEXT) read_epars.$(OBJEXT) treedist.$(OBJEXT) \ + energy_par.$(OBJEXT) inverse.$(OBJEXT) ProfileDist.$(OBJEXT) \ + RNAstruct.$(OBJEXT) utils.$(OBJEXT) fold.$(OBJEXT) \ + naview.$(OBJEXT) PS_dot.$(OBJEXT) stringdist.$(OBJEXT) \ + params.$(OBJEXT) subopt.$(OBJEXT) list.$(OBJEXT) \ + Lfold.$(OBJEXT) cofold.$(OBJEXT) part_func_co.$(OBJEXT) \ + ProfileAln.$(OBJEXT) duplex.$(OBJEXT) alifold.$(OBJEXT) \ + alipfold.$(OBJEXT) aln_util.$(OBJEXT) LPfold.$(OBJEXT) +libRNA_a_OBJECTS = $(am_libRNA_a_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libRNA_a_SOURCES) +DIST_SOURCES = $(libRNA_a_SOURCES) +HEADERS = $(noinst_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run tar +AUTOCONF = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoconf +AUTOHEADER = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoheader +AUTOMAKE = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +ISODATE = 2006-06-13 +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run makeinfo +MAKE_CLUSTER_FALSE = +MAKE_CLUSTER_TRUE = # +MAKE_FORESTER_FALSE = # +MAKE_FORESTER_TRUE = +MAKE_KINFOLD_FALSE = # +MAKE_KINFOLD_TRUE = +MAKE_PERL_EXT_FALSE = # +MAKE_PERL_EXT_TRUE = +OBJEXT = o +PACKAGE = ViennaRNA +PACKAGE_BUGREPORT = rna@tbi.univie.ac.at +PACKAGE_NAME = ViennaRNA +PACKAGE_STRING = ViennaRNA 1.6 +PACKAGE_TARNAME = ViennaRNA +PACKAGE_VERSION = 1.6 +PATH_SEPARATOR = : +PerlCmd = /usr/bin/perl +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.6 +ac_ct_CC = gcc +ac_ct_RANLIB = ranlib +ac_ct_STRIP = +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +datadir = ${prefix}/share +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = RNAforester Kinfold +sysconfdir = ${prefix}/etc +target_alias = +lib_LIBRARIES = libRNA.a +libRNA_a_SOURCES = dist_vars.c fold_vars.c part_func.c read_epars.c\ + treedist.c energy_par.c inverse.c ProfileDist.c RNAstruct.c utils.c\ + fold.c naview.c PS_dot.c stringdist.c params.c subopt.c list.c \ + Lfold.c cofold.c part_func_co.c ProfileAln.c duplex.c alifold.c \ + alipfold.c aln_util.c LPfold.c + +noinst_HEADERS = intloops.h list.h +EXTRA_DIST = circfold.inc +INCLUDES = -I../H +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu lib/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-libLIBRARIES: $(lib_LIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + @list='$(lib_LIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(libLIBRARIES_INSTALL) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(libLIBRARIES_INSTALL) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + else :; fi; \ + done + @$(POST_INSTALL) + @list='$(lib_LIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + p=$(am__strip_dir) \ + echo " $(RANLIB) '$(DESTDIR)$(libdir)/$$p'"; \ + $(RANLIB) "$(DESTDIR)$(libdir)/$$p"; \ + else :; fi; \ + done + +uninstall-libLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + rm -f "$(DESTDIR)$(libdir)/$$p"; \ + done + +clean-libLIBRARIES: + -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) +libRNA.a: $(libRNA_a_OBJECTS) $(libRNA_a_DEPENDENCIES) + -rm -f libRNA.a + $(libRNA_a_AR) libRNA.a $(libRNA_a_OBJECTS) $(libRNA_a_LIBADD) + $(RANLIB) libRNA.a + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/LPfold.Po +include ./$(DEPDIR)/Lfold.Po +include ./$(DEPDIR)/PS_dot.Po +include ./$(DEPDIR)/ProfileAln.Po +include ./$(DEPDIR)/ProfileDist.Po +include ./$(DEPDIR)/RNAstruct.Po +include ./$(DEPDIR)/alifold.Po +include ./$(DEPDIR)/alipfold.Po +include ./$(DEPDIR)/aln_util.Po +include ./$(DEPDIR)/cofold.Po +include ./$(DEPDIR)/dist_vars.Po +include ./$(DEPDIR)/duplex.Po +include ./$(DEPDIR)/energy_par.Po +include ./$(DEPDIR)/fold.Po +include ./$(DEPDIR)/fold_vars.Po +include ./$(DEPDIR)/inverse.Po +include ./$(DEPDIR)/list.Po +include ./$(DEPDIR)/naview.Po +include ./$(DEPDIR)/params.Po +include ./$(DEPDIR)/part_func.Po +include ./$(DEPDIR)/part_func_co.Po +include ./$(DEPDIR)/read_epars.Po +include ./$(DEPDIR)/stringdist.Po +include ./$(DEPDIR)/subopt.Po +include ./$(DEPDIR)/treedist.Po +include ./$(DEPDIR)/utils.Po + +.c.o: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c $< + +.c.obj: + if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ + then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +# source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(COMPILE) -c `$(CYGPATH_W) '$<'` +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LIBRARIES) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLIBRARIES mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-libLIBRARIES + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-libLIBRARIES + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libLIBRARIES ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-libLIBRARIES install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-info-am uninstall-libLIBRARIES + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Makefile.am b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Makefile.am new file mode 100755 index 00000000..5022d286 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Makefile.am @@ -0,0 +1,13 @@ +lib_LIBRARIES = libRNA.a + +libRNA_a_SOURCES = dist_vars.c fold_vars.c part_func.c read_epars.c\ + treedist.c energy_par.c inverse.c ProfileDist.c RNAstruct.c utils.c\ + fold.c naview.c PS_dot.c stringdist.c params.c subopt.c list.c \ + Lfold.c cofold.c part_func_co.c ProfileAln.c duplex.c alifold.c \ + alipfold.c aln_util.c LPfold.c + +noinst_HEADERS = intloops.h list.h + +EXTRA_DIST = circfold.inc + +INCLUDES = -I../H diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Makefile.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Makefile.in new file mode 100755 index 00000000..0ae0bf32 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/Makefile.in @@ -0,0 +1,473 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + + +SOURCES = $(libRNA_a_SOURCES) + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = lib +DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(libdir)" +libLIBRARIES_INSTALL = $(INSTALL_DATA) +LIBRARIES = $(lib_LIBRARIES) +AR = ar +ARFLAGS = cru +libRNA_a_AR = $(AR) $(ARFLAGS) +libRNA_a_LIBADD = +am_libRNA_a_OBJECTS = dist_vars.$(OBJEXT) fold_vars.$(OBJEXT) \ + part_func.$(OBJEXT) read_epars.$(OBJEXT) treedist.$(OBJEXT) \ + energy_par.$(OBJEXT) inverse.$(OBJEXT) ProfileDist.$(OBJEXT) \ + RNAstruct.$(OBJEXT) utils.$(OBJEXT) fold.$(OBJEXT) \ + naview.$(OBJEXT) PS_dot.$(OBJEXT) stringdist.$(OBJEXT) \ + params.$(OBJEXT) subopt.$(OBJEXT) list.$(OBJEXT) \ + Lfold.$(OBJEXT) cofold.$(OBJEXT) part_func_co.$(OBJEXT) \ + ProfileAln.$(OBJEXT) duplex.$(OBJEXT) alifold.$(OBJEXT) \ + alipfold.$(OBJEXT) aln_util.$(OBJEXT) LPfold.$(OBJEXT) +libRNA_a_OBJECTS = $(am_libRNA_a_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(libRNA_a_SOURCES) +DIST_SOURCES = $(libRNA_a_SOURCES) +HEADERS = $(noinst_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKE_CLUSTER_FALSE = @MAKE_CLUSTER_FALSE@ +MAKE_CLUSTER_TRUE = @MAKE_CLUSTER_TRUE@ +MAKE_FORESTER_FALSE = @MAKE_FORESTER_FALSE@ +MAKE_FORESTER_TRUE = @MAKE_FORESTER_TRUE@ +MAKE_KINFOLD_FALSE = @MAKE_KINFOLD_FALSE@ +MAKE_KINFOLD_TRUE = @MAKE_KINFOLD_TRUE@ +MAKE_PERL_EXT_FALSE = @MAKE_PERL_EXT_FALSE@ +MAKE_PERL_EXT_TRUE = @MAKE_PERL_EXT_TRUE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PerlCmd = @PerlCmd@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +lib_LIBRARIES = libRNA.a +libRNA_a_SOURCES = dist_vars.c fold_vars.c part_func.c read_epars.c\ + treedist.c energy_par.c inverse.c ProfileDist.c RNAstruct.c utils.c\ + fold.c naview.c PS_dot.c stringdist.c params.c subopt.c list.c \ + Lfold.c cofold.c part_func_co.c ProfileAln.c duplex.c alifold.c \ + alipfold.c aln_util.c LPfold.c + +noinst_HEADERS = intloops.h list.h +EXTRA_DIST = circfold.inc +INCLUDES = -I../H +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu lib/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-libLIBRARIES: $(lib_LIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + @list='$(lib_LIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(libLIBRARIES_INSTALL) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(libLIBRARIES_INSTALL) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + else :; fi; \ + done + @$(POST_INSTALL) + @list='$(lib_LIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + p=$(am__strip_dir) \ + echo " $(RANLIB) '$(DESTDIR)$(libdir)/$$p'"; \ + $(RANLIB) "$(DESTDIR)$(libdir)/$$p"; \ + else :; fi; \ + done + +uninstall-libLIBRARIES: + @$(NORMAL_UNINSTALL) + @list='$(lib_LIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + rm -f "$(DESTDIR)$(libdir)/$$p"; \ + done + +clean-libLIBRARIES: + -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) +libRNA.a: $(libRNA_a_OBJECTS) $(libRNA_a_DEPENDENCIES) + -rm -f libRNA.a + $(libRNA_a_AR) libRNA.a $(libRNA_a_OBJECTS) $(libRNA_a_LIBADD) + $(RANLIB) libRNA.a + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/LPfold.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Lfold.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PS_dot.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ProfileAln.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ProfileDist.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RNAstruct.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alifold.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alipfold.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aln_util.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cofold.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dist_vars.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/duplex.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/energy_par.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fold.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fold_vars.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/inverse.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/naview.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/params.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/part_func.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/part_func_co.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/read_epars.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stringdist.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/subopt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/treedist.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` +uninstall-info-am: + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LIBRARIES) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLIBRARIES mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: + +install-exec-am: install-libLIBRARIES + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-libLIBRARIES + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libLIBRARIES ctags distclean distclean-compile \ + distclean-generic distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-exec install-exec-am install-info \ + install-info-am install-libLIBRARIES install-man install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-info-am uninstall-libLIBRARIES + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/PS_dot.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/PS_dot.c new file mode 100755 index 00000000..a60ef9f5 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/PS_dot.c @@ -0,0 +1,1112 @@ +/* + PostScript and GML output for RNA secondary structures + and pair probability matrices + + c Ivo Hofacker and Peter F Stadler + Vienna RNA package +*/ +#include +#include +#include +#include +#include +#include +#include "utils.h" +#include "fold_vars.h" +#include "PS_dot.h" + +static char UNUSED rcsid[] = "$Id: PS_dot.c,v 1.34 2006/01/18 12:58:42 ivo Exp $"; + +#define PUBLIC +#define PRIVATE static +#define MAX(A,B) (A)>(B)?(A):(B) +#ifndef PI +#define PI 3.141592654 +#endif +#define PIHALF PI/2. + +PUBLIC int gmlRNA(char *string, char *structure, char *ssfile, char option); +PUBLIC int PS_rna_plot_a(char *string, char *structure, char *ssfile, + char *pre, char *post); +PUBLIC int PS_rna_plot(char *string, char *structure, char *ssfile); +PUBLIC int ssv_rna_plot(char *string, char *structure, char *ssfile); +PUBLIC int xrna_plot(char *string, char *structure, char *ssfile); + +PUBLIC int simple_xy_coordinates(short *pair_table, float *X, float *Y); +extern int naview_xy_coordinates(short *pair_table, float *X, float *Y); + +PUBLIC int rna_plot_type = 1; /* 0 = simple, 1 = naview */ + +PUBLIC int PS_dot_plot(char *string, char *wastlfile); +PUBLIC int PS_color_dot_plot(char *seq, cpair *pi, char *wastlfile); +PUBLIC int PS_dot_plot_list(char *string, char *wastlfile, struct plist *pl, + struct plist *mf, char *comment); +PUBLIC int PS_dot_plot_turn(char *seq, struct plist *pl, char *wastlfile, + int winSize); + +/* local functions */ +PRIVATE void loop(int i, int j, short *pair_table); +PRIVATE FILE *PS_dot_common(char *seq, char *wastlfile, char *comment, + int winsize); + +/* local variables for parsing routines */ +PRIVATE float *angle; +PRIVATE int *loop_size, *stack_size; +PRIVATE int lp, stk; + +extern int cut_point; /* set to first pos of second seq for cofolding */ + +/*---------------------------------------------------------------------------*/ + +/* options for gml output: + uppercase letters: print sequence labels + lowercase letters: no sequence lables + graphics information: + x X simple xy plot + (nothing else implemented at present) + default: no graphics data at all +*/ + +PUBLIC int gmlRNA(char *string, char *structure, char *ssfile, char option) +{ + FILE *gmlfile; + int i; + int length; + int labels=0; + short *pair_table; + float *X, *Y; + + if (isupper(option)) labels = 1; + + gmlfile = fopen(ssfile, "w"); + if (gmlfile == NULL) { + fprintf(stderr, "can't open file %s - not doing xy_plot\n", ssfile); + return 0; + } + + length = strlen(string); + + pair_table = make_pair_table(structure); + + switch(option){ + case 'X' : + case 'x' : + /* Simple XY Plot */ + X = (float *) space((length+1)*sizeof(float)); + Y = (float *) space((length+1)*sizeof(float)); + if (rna_plot_type == 0) + i = simple_xy_coordinates(pair_table, X, Y); + else + i = naview_xy_coordinates(pair_table, X, Y); + + if(i!=length) fprintf(stderr,"strange things happening in gmlRNA ...\n"); + break; + default: + /* No Graphics Information */ + X = NULL; + Y = NULL; + } + + fprintf(gmlfile, + "# Vienna RNA Package %s\n" + "# GML Output\n" + "# CreationDate: %s\n" + "# Name: %s\n" + "# Options: %s\n", VERSION, time_stamp(), ssfile, option_string()); + fprintf(gmlfile, + "graph [\n" + " directed 0\n"); + for (i=1; i<=length; i++){ + fprintf(gmlfile, + " node [ id %d ", i); + if (option) fprintf(gmlfile, + "label \"%c\"",string[i-1]); + if ((option == 'X')||(option=='x')) + fprintf(gmlfile, + "\n graphics [ x %9.4f y %9.4f ]\n", X[i-1], Y[i-1]); + fprintf(gmlfile," ]\n"); + } + for (i=1; ii) + fprintf(gmlfile, + "edge [ source %d target %d ]\n", i, pair_table[i]); + } + fprintf(gmlfile, "]\n"); + fclose(gmlfile); + + free(pair_table); + free(X); free(Y); + return 1; /* success */ +} + +/*---------------------------------------------------------------------------*/ +int PS_rna_plot(char *string, char *structure, char *ssfile) { + return PS_rna_plot_a(string, structure, ssfile, NULL, NULL); +} + +static const char *RNAss_head = +"%%BeginProlog\n" +"/RNAplot 100 dict def\n" +"RNAplot begin\n" +"/fsize 14 def\n" +"/outlinecolor {0.2 setgray} bind def\n" +"/paircolor {0.2 setgray} bind def\n" +"/seqcolor {0 setgray} bind def\n" +"/cshow { dup stringwidth pop -2 div fsize -3 div rmoveto show} bind def\n" +"/min { 2 copy gt { exch } if pop } bind def\n" +"/max { 2 copy lt { exch } if pop } bind def\n" +"/drawoutline {\n" +" gsave outlinecolor newpath\n" +" coor 0 get aload pop 0.8 0 360 arc % draw 5' circle of 1st sequence\n" +" currentdict /cutpoint known % check if cutpoint is defined\n" +" {coor 0 cutpoint getinterval\n" +" {aload pop lineto} forall % draw outline of 1st sequence\n" +" coor cutpoint get aload pop\n" +" 2 copy moveto 0.8 0 360 arc % draw 5' circle of 2nd sequence\n" +" coor cutpoint coor length cutpoint sub getinterval\n" +" {aload pop lineto} forall} % draw outline of 2nd sequence\n" +" {coor {aload pop lineto} forall} % draw outline as a whole\n" +" ifelse\n" +" stroke grestore\n" +"} bind def\n" +"/drawpairs {\n" +" paircolor\n" +" 0.7 setlinewidth\n" +" [9 3.01] 9 setdash\n" +" newpath\n" +" pairs {aload pop\n" +" coor exch 1 sub get aload pop moveto\n" +" coor exch 1 sub get aload pop lineto\n" +" } forall\n" +" stroke\n" +"} bind def\n" +"% draw bases\n" +"/drawbases {\n" +" [] 0 setdash\n" +" seqcolor\n" +" 0\n" +" coor {\n" +" aload pop moveto\n" +" dup sequence exch 1 getinterval cshow\n" +" 1 add\n" +" } forall\n" +" pop\n" +"} bind def\n\n" +"/init {\n" +" /Helvetica findfont fsize scalefont setfont\n" +" 1 setlinejoin\n" +" 1 setlinecap\n" +" 0.8 setlinewidth\n" +" 72 216 translate\n" +" % find the coordinate range\n" +" /xmax -1000 def /xmin 10000 def\n" +" /ymax -1000 def /ymin 10000 def\n" +" coor {\n" +" aload pop\n" +" dup ymin lt {dup /ymin exch def} if\n" +" dup ymax gt {/ymax exch def} {pop} ifelse\n" +" dup xmin lt {dup /xmin exch def} if\n" +" dup xmax gt {/xmax exch def} {pop} ifelse\n" +" } forall\n" +" /size {xmax xmin sub ymax ymin sub max} bind def\n" +" 72 6 mul size div dup scale\n" +" size xmin sub xmax sub 2 div size ymin sub ymax sub 2 div\n" +" translate\n" +"} bind def\n" +"end\n"; + +static const char *anote_macros = +"RNAplot begin\n" +"% extra definitions for standard anotations\n" +"/min { 2 copy gt { exch } if pop } bind def\n" +"/BLACK { 0 0 0 } def\n" +"/RED { 1 0 0 } def\n" +"/GREEN { 0 1 0 } def\n" +"/BLUE { 0 0 1 } def\n" +"/WHITE { 1 1 1 } def\n" +"/LabelFont { % font size LabelFont\n" +" exch findfont exch fsize mul scalefont setfont\n" +"} bind def\n" +"/Label { % i dx dy (text) Label\n" +" % write text at base i plus offset dx, dy\n" +" 4 3 roll 1 sub coor exch get aload pop moveto\n" +" 3 1 roll fsize mul exch fsize mul exch rmoveto\n" +" show\n" +"} bind def\n" +"/cmark { % i cmark draw circle around base i\n" +" newpath 1 sub coor exch get aload pop\n" +" fsize 2 div 0 360 arc stroke\n" +"} bind def\n" +"/gmark { % i j c cmark\n" +" % draw basepair i,j with c counter examples in gray\n" +" gsave\n" +" 3 min [0 0.33 0.66 0.9] exch get setgray\n" +" 1 sub dup coor exch get aload pop moveto\n" +" sequence exch 1 getinterval cshow\n" +" 1 sub dup coor exch get aload pop moveto\n" +" sequence exch 1 getinterval cshow\n" +" grestore\n" +"} bind def\n" +"/segmark { % f i j lw r g b segmark\n" +" % mark segment [i,j] with outline width lw and color rgb\n" +" % use omark and Fomark instead\n" +" gsave\n" +" setrgbcolor setlinewidth\n" +" newpath\n" +" 1 sub exch 1 sub dup\n" +" coor exch get aload pop moveto\n" +" exch 1 exch {\n" +" coor exch get aload pop lineto\n" +" } for\n" +" { closepath fill } if stroke\n" +" grestore\n" +"} bind def\n" +"/omark { % i j lw r g b omark\n" +" % stroke segment [i..j] with linewidth lw, color rgb\n" +" false 7 1 roll segmark\n" +"} bind def\n" +"/Fomark { % i j r g b Fomark\n" +" % fill segment [i..j] with color rgb\n" +" % should precede drawbases\n" +" 1 4 1 roll true 7 1 roll segmark\n" +"} bind def\n" +"/BFmark{ % i j k l r g b BFmark\n" +" % fill block between pairs (i,j) and (k,l) with color rgb\n" +" % should precede drawbases\n" +" gsave\n" +" setrgbcolor\n" +" newpath\n" +" exch 4 3 roll exch 1 sub exch 1 sub dup\n" +" coor exch get aload pop moveto\n" +" exch 1 exch { coor exch get aload pop lineto } for\n" +" exch 1 sub exch 1 sub dup\n" +" coor exch get aload pop lineto\n" +" exch 1 exch { coor exch get aload pop lineto } for\n" +" closepath fill stroke\n" +" grestore\n" +"} bind def\n" +"end\n\n"; + +int PS_rna_plot_a(char *string, char *structure, char *ssfile, char *pre, char *post) +{ + float xmin, xmax, ymin, ymax, size; + int i, length; + float *X, *Y; + FILE *xyplot; + short *pair_table; + + length = strlen(string); + + xyplot = fopen(ssfile, "w"); + if (xyplot == NULL) { + fprintf(stderr, "can't open file %s - not doing xy_plot\n", ssfile); + return 0; + } + + pair_table = make_pair_table(structure); + + X = (float *) space((length+1)*sizeof(float)); + Y = (float *) space((length+1)*sizeof(float)); + if (rna_plot_type == 0) + i = simple_xy_coordinates(pair_table, X, Y); + else + i = naview_xy_coordinates(pair_table, X, Y); + if(i!=length) fprintf(stderr,"strange things happening in PS_rna_plot...\n"); + + xmin = xmax = X[0]; + ymin = ymax = Y[0]; + for (i = 1; i < length; i++) { + xmin = X[i] < xmin ? X[i] : xmin; + xmax = X[i] > xmax ? X[i] : xmax; + ymin = Y[i] < ymin ? Y[i] : ymin; + ymax = Y[i] > ymax ? Y[i] : ymax; + } + size = MAX((xmax-xmin),(ymax-ymin)); + + fprintf(xyplot, + "%%!PS-Adobe-3.0 EPSF-3.0\n" + "%%%%Creator: %s, ViennaRNA-%s\n" + "%%%%CreationDate: %s" + "%%%%Title: RNA Secondary Structure Plot\n" + "%%%%BoundingBox: 66 210 518 662\n" + "%%%%DocumentFonts: Helvetica\n" + "%%%%Pages: 1\n" + "%%%%EndComments\n\n" + "%%Options: %s\n", rcsid+5, VERSION, time_stamp(), option_string()); + fprintf(xyplot, "%% to switch off outline pairs of sequence comment or\n" + "%% delete the appropriate line near the end of the file\n\n"); + fprintf(xyplot, "%s", RNAss_head); + + if (pre || post) { + fprintf(xyplot, "%s", anote_macros); + } + fprintf(xyplot, "%%%%EndProlog\n"); + + fprintf(xyplot, "RNAplot begin\n" + "%% data start here\n"); + + /* cut_point */ + if (cut_point > 0 && cut_point <= strlen(string)) + fprintf(xyplot, "/cutpoint %d def\n", cut_point-1); + + /* sequence */ + fprintf(xyplot,"/sequence (\\\n"); + i=0; + while (ii) + fprintf(xyplot, "[%d %d]\n", i, pair_table[i]); + fprintf(xyplot, "] def\n\n"); + + fprintf(xyplot, "init\n\n"); + /* draw the data */ + if (pre) { + fprintf(xyplot, "%% Start Annotations\n"); + fprintf(xyplot, "%s\n", pre); + fprintf(xyplot, "%% End Annotations\n"); + } + fprintf(xyplot, + "%% switch off outline pairs or bases by removing these lines\n" + "drawoutline\n" + "drawpairs\n" + "drawbases\n"); + + if (post) { + fprintf(xyplot, "%% Start Annotations\n"); + fprintf(xyplot, "%s\n", post); + fprintf(xyplot, "%% End Annotations\n"); + } + fprintf(xyplot, "%% show it\nshowpage\n"); + fprintf(xyplot, "end\n"); + fprintf(xyplot, "%%%%EOF\n"); + + fclose(xyplot); + + free(pair_table); + free(X); free(Y); + return 1; /* success */ +} + +/*--------------------------------------------------------------------------*/ + +#define SIZE 452. + +int svg_rna_plot(char *string, char *structure, char *ssfile) +{ + float xmin, xmax, ymin, ymax, size; + int i, length; + float *X, *Y; + FILE *xyplot; + short *pair_table; + + length = strlen(string); + + xyplot = fopen(ssfile, "w"); + if (xyplot == NULL) { + fprintf(stderr, "can't open file %s - not doing xy_plot\n", ssfile); + return 0; + } + + pair_table = make_pair_table(structure); + + X = (float *) space((length+1)*sizeof(float)); + Y = (float *) space((length+1)*sizeof(float)); + if (rna_plot_type == 0) + i = simple_xy_coordinates(pair_table, X, Y); + else + i = naview_xy_coordinates(pair_table, X, Y); + if(i!=length) fprintf(stderr,"strange things happening in PS_rna_plot...\n"); + + + xmin = xmax = X[0]; + ymin = ymax = Y[0]; + for (i = 1; i < length; i++) { + xmin = X[i] < xmin ? X[i] : xmin; + xmax = X[i] > xmax ? X[i] : xmax; + ymin = Y[i] < ymin ? Y[i] : ymin; + ymax = Y[i] > ymax ? Y[i] : ymax; + } + for (i = 0; i < length; i++) + Y[i] = ymin+ymax - Y[i]; /* mirror coordinates so they look as in PS */ + + size = MAX((xmax-xmin),(ymax-ymin)); + size += 10; /* add some so the bounding box isn't too tight */ + + fprintf(xyplot, + "\n" + "\n"); + fprintf(xyplot, + "\n"); + fprintf(xyplot, + " \n" + " \n", + SIZE/size, SIZE/size, (size-xmin-xmax)/2, (size-ymin-ymax)/2); + + fprintf(xyplot, + " \n"); + + fprintf(xyplot," \n"); + for (i = 1; i <= length; i++) { + int j; + if ((j=pair_table[i])>i) + fprintf(xyplot, + " \"\n", + i,j, X[i-1], Y[i-1], X[j-1], Y[j-1]); + } + fprintf(xyplot, " \n"); + fprintf(xyplot, " \n"); + for (i = 0; i < length; i++) + fprintf(xyplot, " %c\n", X[i], Y[i], string[i]); + fprintf(xyplot, " \n"); + fprintf(xyplot, " \n"); + fprintf(xyplot, "\n"); + + fclose(xyplot); + + free(pair_table); + free(X); free(Y); + return 1; /* success */ +} + +/*--------------------------------------------------------------------------*/ + +PUBLIC int ssv_rna_plot(char *string, char *structure, char *ssfile) +{ /* produce input for the SStructView java applet */ + FILE *ssvfile; + int i, bp; + int length; + short *pair_table; + float *X, *Y; + float xmin, xmax, ymin, ymax; + + ssvfile = fopen(ssfile, "w"); + if (ssvfile == NULL) { + fprintf(stderr, "can't open file %s - not doing xy_plot\n", ssfile); + return 0; + } + length = strlen(string); + pair_table = make_pair_table(structure); + + /* make coordinates */ + X = (float *) space((length+1)*sizeof(float)); + Y = (float *) space((length+1)*sizeof(float)); + + if (rna_plot_type == 0) + i = simple_xy_coordinates(pair_table, X, Y); + else + i = naview_xy_coordinates(pair_table, X, Y); + if (i!=length) + fprintf(stderr,"strange things happening in ssv_rna_plot...\n"); + + /* make coords nonegative */ + xmin = xmax = X[0]; + ymin = ymax = Y[0]; + for (i = 1; i < length; i++) { + xmin = X[i] < xmin ? X[i] : xmin; + xmax = X[i] > xmax ? X[i] : xmax; + ymin = Y[i] < ymin ? Y[i] : ymin; + ymax = Y[i] > ymax ? Y[i] : ymax; + } + if (xmin<1) { + for (i = 0; i <= length; i++) + X[i] -= xmin-1; + xmin = 1; + } + if (ymin<1) { + for (i = 0; i <= length; i++) + Y[i] -= ymin-1; + ymin = 1; + } +#if 0 + { + float size, xoff, yoff; + float JSIZE = 500; /* size of the java applet window */ + /* rescale coordinates, center on square of size HSIZE */ + size = MAX((xmax-xmin),(ymax-ymin)); + xoff = (size - xmax + xmin)/2; + yoff = (size - ymax + ymin)/2; + for (i = 0; i <= length; i++) { + X[i] = (X[i]-xmin+xoff)*(JSIZE-10)/size + 5; + Y[i] = (Y[i]-ymin+yoff)*(JSIZE-10)/size + 5; + } + } +#endif + /* */ + + fprintf(ssvfile, + "# Vienna RNA Package %s\n" + "# SStructView Output\n" + "# CreationDate: %s\n" + "# Name: %s\n" + "# Options: %s\n", VERSION, time_stamp(), ssfile, option_string()); + for (i=1; i<=length; i++) + fprintf(ssvfile, "BASE\t%d\t%c\t%d\t%d\n", + i, string[i-1], (int) (X[i-1]+0.5), (int) (Y[i-1]+0.5)); + for (bp=1, i=1; i<=length; i++) + if (pair_table[i]>i) + fprintf(ssvfile, "BASE-PAIR\tbp%d\t%d\t%d\n", bp++, i, pair_table[i]); + fclose(ssvfile); + + free(pair_table); + free(X); free(Y); + return 1; /* success */ +} + +/*---------------------------------------------------------------------------*/ +PUBLIC int xrna_plot(char *string, char *structure, char *ssfile) +{ /* produce input for XRNA RNA drawing program */ + FILE *ss_file; + int i; + int length; + short *pair_table; + float *X, *Y; + + ss_file = fopen(ssfile, "w"); + if (ss_file == NULL) { + fprintf(stderr, "can't open file %s - not doing xy_plot\n", ssfile); + return 0; + } + + length = strlen(string); + pair_table = make_pair_table(structure); + + /* make coordinates */ + X = (float *) space((length+1)*sizeof(float)); + Y = (float *) space((length+1)*sizeof(float)); + + if (rna_plot_type == 0) + i = simple_xy_coordinates(pair_table, X, Y); + else + i = naview_xy_coordinates(pair_table, X, Y); + if (i!=length) + fprintf(stderr,"strange things happening in xrna_plot...\n"); + + fprintf(ss_file, + "# Vienna RNA Package %s, XRNA output\n" + "# CreationDate: %s\n" + "# Options: %s\n", VERSION, time_stamp(), option_string()); + for (i=1; i<=length; i++) + /* XRNA likes to have coordinate mirrored, so we use (-X, Y) */ + fprintf(ss_file, "%d %c %6.2f %6.2f %d %d\n", i, string[i-1], + -X[i-1], Y[i-1], (pair_table[i]?1:0), pair_table[i]); + fclose(ss_file); + + free(pair_table); + free(X); free(Y); + return 1; /* success */ +} + + +/*---------------------------------------------------------------------------*/ +#define PMIN 0.00001 +const char *RNAdp_prolog = +"%This file contains the square roots of the base pair probabilities in the form\n" +"% i j sqrt(p(i,j)) ubox\n\n" +"%%BeginProlog\n" +"/DPdict 100 dict def\n" +"DPdict begin\n" +"/logscale false def\n" +"/lpmin 1e-05 log def\n\n" +"/box { %size x y box - draws box centered on x,y\n" +" 2 index 0.5 mul sub % x -= 0.5\n" +" exch 2 index 0.5 mul sub exch % y -= 0.5\n" +" 3 -1 roll dup rectfill\n" +"} bind def\n\n" +"/ubox {\n" +" logscale {\n" +" log dup add lpmin div 1 exch sub dup 0 lt { pop 0 } if\n" +" } if\n" +" 3 1 roll\n" +" exch len exch sub 1 add box\n" +"} bind def\n\n" +"/lbox {\n" +" 3 1 roll\n" +" len exch sub 1 add box\n" +"} bind def\n\n" +"/drawseq {\n" +"% print sequence along all 4 sides\n" +"[ [0.7 -0.3 0 ]\n" +" [0.7 0.7 len add 0]\n" +" [-0.3 len sub -0.4 -90]\n" +" [-0.3 len sub 0.7 len add -90]\n" +"] {\n" +" gsave\n" +" aload pop rotate translate\n" +" 0 1 len 1 sub {\n" +" dup 0 moveto\n" +" sequence exch 1 getinterval\n" +" show\n" +" } for\n" +" grestore\n" +" } forall\n" +"} bind def\n\n" +"/drawgrid{\n" +" 0.01 setlinewidth\n" +" len log 0.9 sub cvi 10 exch exp % grid spacing\n" +" dup 1 gt {\n" +" dup dup 20 div dup 2 array astore exch 40 div setdash\n" +" } { [0.3 0.7] 0.1 setdash } ifelse\n" +" 0 exch len {\n" +" dup dup\n" +" 0 moveto\n" +" len lineto \n" +" dup\n" +" len exch sub 0 exch moveto\n" +" len exch len exch sub lineto\n" +" stroke\n" +" } for\n" +" [] 0 setdash\n" +" 0.04 setlinewidth \n" +" currentdict /cutpoint known {\n" +" cutpoint 1 sub\n" +" dup dup -1 moveto len 1 add lineto\n" +" len exch sub dup\n" +" -1 exch moveto len 1 add exch lineto\n" +" stroke\n" +" } if\n" +" 0.5 neg dup translate\n" +"} bind def\n\n" +"end\n" +"%%EndProlog\n"; + +int PS_dot_plot(char *string, char *wastlfile) { + /* this is just a wrapper to call PS_dot_plot_list */ + int i, j, k, length, maxl, mf_num; + struct plist *pl; + struct plist *mf; + + length = strlen(string); + maxl = 2*length; + pl = (struct plist *)space(maxl*sizeof(struct plist)); + k=0; + /*make plist out of pr array*/ + for (i=1; i=maxl-1) { + maxl *= 2; + pl = (struct plist *)xrealloc(pl,maxl*sizeof(struct plist)); + } + pl[k].i = i; + pl[k].j = j; + pl[k++].p = pr[iindx[i]-j]; + } + pl[k].i=0; + pl[k].j=0; + pl[k++].p=0.; + /*make plist out of base_pair array*/ + mf_num = base_pair ? base_pair[0].i : 0; + mf = (struct plist *)space((mf_num+1)*sizeof(struct plist)); + for (k=0; k0) { + fprintf(wastl,"%1.2f %1.2f hsb %d %d %1.6f ubox\n", + pi[i].hue, pi[i].sat, pi[i].i, pi[i].j, sqrt(pi[i].p)); + + if (pi[i].mfe) + fprintf(wastl,"%1.2f %1.2f hsb %d %d %1.4f lbox\n", + pi[i].hue, pi[i].sat, pi[i].i, pi[i].j, pi[i].p); + i++; + } + + fprintf(wastl,"showpage\n" + "end\n" + "%%%%EOF\n"); + fclose(wastl); + return 1; /* success */ +} + +/*---------------------------------------------------------------------------*/ + +PUBLIC int simple_xy_coordinates(short *pair_table, float *x, float *y) +{ + float INIT_ANGLE=0.; /* initial bending angle */ + float INIT_X = 100.; /* coordinate of first digit */ + float INIT_Y = 100.; /* see above */ + float RADIUS = 15.; + + int i, length; + float alpha; + + length = pair_table[0]; + angle = (float*) space( (length+5)*sizeof(float) ); + loop_size = (int*) space( 16+(length/5)*sizeof(int) ); + stack_size = (int*) space( 16+(length/5)*sizeof(int) ); + lp = stk = 0; + loop(0, length+1, pair_table); + loop_size[lp] -= 2; /* correct for cheating with function loop */ + + alpha = INIT_ANGLE; + x[0] = INIT_X; + y[0] = INIT_Y; + + for (i = 1; i <= length; i++) { + x[i] = x[i-1]+RADIUS*cos(alpha); + y[i] = y[i-1]+RADIUS*sin(alpha); + alpha += PI-angle[i+1]; + } + free(angle); + free(loop_size); + free(stack_size); + + return length; + +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void loop(int i, int j, short *pair_table) + /* i, j are the positions AFTER the last pair of a stack; i.e + i-1 and j+1 are paired. */ +{ + int count = 2; /* counts the VERTICES of a loop polygon; that's + NOT necessarily the number of unpaired bases! + Upon entry the loop has already 2 vertices, namely + the pair i-1/j+1. */ + + int r = 0, bubble = 0; /* bubble counts the unpaired digits in loops */ + + int i_old, partner, k, l, start_k, start_l, fill, ladder; + int begin, v, diff; + float polygon; + + short *remember; + + remember = (short *) space((1+(j-i)/5)*2*sizeof(short)); + + i_old = i-1, j++; /* j has now been set to the partner of the + previous pair for correct while-loop + termination. */ + while (i != j) { + partner = pair_table[i]; + if ((!partner) || (i==0)) + i++, count++, bubble++; + else { + count += 2; + k = i, l = partner; /* beginning of stack */ + remember[++r] = k; + remember[++r] = l; + i = partner+1; /* next i for the current loop */ + + start_k = k, start_l = l; + ladder = 0; + do { + k++, l--, ladder++; /* go along the stack region */ + } + while (pair_table[k] == l); + + fill = ladder-2; + if (ladder >= 2) { + angle[start_k+1+fill] += PIHALF; /* Loop entries and */ + angle[start_l-1-fill] += PIHALF; /* exits get an */ + angle[start_k] += PIHALF; /* additional PI/2. */ + angle[start_l] += PIHALF; /* Why ? (exercise) */ + if (ladder > 2) { + for (; fill >= 1; fill--) { + angle[start_k+fill] = PI; /* fill in the angles */ + angle[start_l-fill] = PI; /* for the backbone */ + } + } + } + stack_size[++stk] = ladder; + loop(k, l, pair_table); + } + } + polygon = PI*(count-2)/(float)count; /* bending angle in loop polygon */ + remember[++r] = j; + begin = i_old < 0 ? 0 : i_old; + for (v = 1; v <= r; v++) { + diff = remember[v]-begin; + for (fill = 0; fill <= diff; fill++) + angle[begin+fill] += polygon; + if (v > r) + break; + begin = remember[++v]; + } + loop_size[++lp] = bubble; + free(remember); +} + +/*---------------------------------------------------------------------------*/ + + +PUBLIC int PS_dot_plot_list(char *seq, char *wastlfile, + struct plist *pl, struct plist *mf, char *comment) { + FILE *wastl; + int length; + double tmp; + struct plist *pl1; + + length= strlen(seq); + wastl = PS_dot_common(seq, wastlfile, comment, 0); + if (wastl==NULL) return 0; /* return 0 for failure */ + + fprintf(wastl,"%%data starts here\n"); + /* print boxes in upper right half*/ + for (pl1=pl; pl1->i>0; pl1++) { + tmp = sqrt(pl1->p); + fprintf(wastl,"%d %d %1.9f ubox\n", pl1->i, pl1->j, tmp); + } + + /* print boxes in lower left half (mfe) */ + for (pl1=mf; pl1->i>0; pl1++) { + tmp=pl1->p; + fprintf(wastl,"%d %d %1.9f lbox\n", pl1->i, pl1->j, tmp); + } + + fprintf(wastl,"showpage\n" + "end\n" + "%%%%EOF\n"); + fclose(wastl); + return 1; /* success */ +} + +const char *RNAdp_prolog_turn = +"/drawseq_turn {" +"% print sequence at bottom\n" +" gsave\n" +" len 2 sqrt div dup neg 0.28 add exch 0.78 sub translate\n" +" 0 1 len 1 sub {\n" +" dup dup 2 sqrt mul 0 moveto\n" +" sequence exch 1 getinterval\n" +" show\n" +" } for\n" +" grestore\n" +"} bind def\n" +"/drawgrid_turn{\n" +" 0.01 setlinewidth\n" +" len log 0.9 sub cvi 10 exch exp % grid spacing\n" +" dup 1 gt {\n" +" dup dup 20 div dup 2 array astore exch 40 div setdash\n" +" } { [0.3 0.7] 0.1 setdash } ifelse\n" +" 0 exch len { %for (0, gridspacing, len) \n" +" dup dup %duplicate what - gridspacing??\n" +" dup len exch sub moveto %moveto diagonal?\n" +" dup winSize gt\n" +" {dup dup len exch sub winSize add lineto}\n" +" {dup len lineto}ifelse\n" +" dup len exch sub moveto %moveto diagonal?\n" +" dup len winSize sub le\n" +" {dup dup len exch sub dup winSize exch sub len add exch lineto}\n" +" {dup dup len exch sub len exch lineto}ifelse" +" stroke pop pop\n" +" } for\n" +" len log 0.9 sub cvi 10 exch exp % grid spacing\n" +" dup 1 gt {\n" +" dup dup 20 div dup 2 array astore exch 40 div setdash\n" +" } { [0.3 0.7] 0.1 setdash } ifelse\n" +" 0 exch len { %for (0, gridspacing, len) \n" +" dup dup %duplicate what - gridspacing??\n" +" dup len exch sub moveto %moveto diagonal?\n" +" len exch sub 0.7 sub exch 0.7 sub exch lineto\n" +" stroke\n" +" }for\n" +" winSize len moveto len winSize lineto stroke\n" +" [] 0 setdash\n" +" 0.04 setlinewidth \n" +" currentdict /cutpoint known {\n" +" cutpoint 1 sub\n" +" dup dup -1 moveto len 1 add lineto\n" +" len exch sub dup\n" +" -1 exch moveto len 1 add exch lineto\n" +" stroke\n" +" } if\n" +" 0.5 neg dup translate\n" + "} bind def \n\n"; + +int PS_color_dot_plot_turn(char *seq, cpair *pi, char *wastlfile, int winSize) { + /* produce color PostScript dot plot from cpair */ + + FILE *wastl; + int i, length; + + length= strlen(seq); + wastl = PS_dot_common(seq, wastlfile, NULL, winSize); + if (wastl==NULL) + return 0; /* return 0 for failure */ + + fprintf(wastl, "/hsb {\n" + "dup 0.3 mul 1 exch sub sethsbcolor\n" + "} bind def\n\n" + "%%BEGIN DATA\n"); + + /* print boxes */ + i=0; + while (pi[i].j>0) { + fprintf(wastl,"%1.2f %1.2f hsb %d %d %1.6f ubox\n", + pi[i].hue, pi[i].sat, pi[i].i, pi[i].j, sqrt(pi[i].p));/*sqrt??*/ + + if (pi[i].mfe) + fprintf(wastl,"%1.2f %1.2f hsb %d %d %1.4f lbox\n", + pi[i].hue, pi[i].sat, pi[i].i, pi[i].j, pi[i].p); + i++; + } + + fprintf(wastl,"showpage\n" + "end\n" + "%%%%EOF\n"); + fclose(wastl); + return 1; /* success */ +} + +int PS_dot_plot_turn(char *seq, struct plist *pl, char *wastlfile, int winSize) { + /* produce color PostScript dot plot from cpair */ + + FILE *wastl; + int i, length; + + length= strlen(seq); + wastl = PS_dot_common(seq, wastlfile, NULL, winSize); + if (wastl==NULL) + return 0; /* return 0 for failure */ + + /* print boxes */ + i=0; + while (pl[i].j>0) { + fprintf(wastl,"%d %d %1.4f ubox\n", + pl[i].i, pl[i].j, sqrt(pl[i].p)); + i++; + } + + fprintf(wastl,"showpage\n" + "end\n" + "%%%%EOF\n"); + fclose(wastl); + return 1; /* success */ +} + +static FILE * PS_dot_common(char *seq, char *wastlfile, + char *comment, int winsize) { + /* write PS header etc for all dot plot variants */ + FILE *wastl; + char name[31], *c; + int i, length; + + length= strlen(seq); + wastl = fopen(wastlfile,"w"); + if (wastl==NULL) { + fprintf(stderr, "can't open %s for dot plot\n", wastlfile); + return NULL; /* return 0 for failure */ + } + strncpy(name, wastlfile, 30); + if ((c=strrchr(name, '_'))!=0) *c='\0'; + + fprintf(wastl, + "%%!PS-Adobe-3.0 EPSF-3.0\n" + "%%%%Title: RNA Dot Plot\n" + "%%%%Creator: %s, ViennaRNA-%s\n" + "%%%%CreationDate: %s", rcsid+5, VERSION, time_stamp()); + if (winsize>0) + fprintf(wastl, "%%%%BoundingBox: 66 530 520 650\n"); + else + fprintf(wastl, "%%%%BoundingBox: 66 211 518 662\n"); + fprintf(wastl, + "%%%%DocumentFonts: Helvetica\n" + "%%%%Pages: 1\n" + "%%%%EndComments\n\n" + "%%Options: %s\n", option_string()); + + if (comment) fprintf(wastl,"%% %s\n",comment); + + fprintf(wastl,"%s", RNAdp_prolog); + + fprintf(wastl,"DPdict begin\n" + "%%delete next line to get rid of title\n" + "270 665 moveto /Helvetica findfont 14 scalefont setfont " + "(%s) show\n\n", name); + + fprintf(wastl,"/sequence { (\\\n"); + for (i=0; i0) + fprintf(wastl,"/winSize %d def\n",winsize); + fprintf(wastl,"/len { sequence length } bind def\n\n"); + if (cut_point>0) fprintf(wastl,"/cutpoint %d def\n\n", cut_point); + + + if (winsize>0) + fprintf(wastl,"292 416 translate\n" + "72 6 mul len 1 add winSize add 2 sqrt mul div dup scale\n"); + else + fprintf(wastl,"72 216 translate\n" + "72 6 mul len 1 add div dup scale\n"); + fprintf(wastl, "/Helvetica findfont 0.95 scalefont setfont\n\n"); + + if (winsize>0) { + fprintf(wastl, "%s", RNAdp_prolog_turn); + fprintf(wastl,"0.5 dup translate\n" + "drawseq_turn\n" + "45 rotate\n" + "drawgrid_turn\n"); + } + else + fprintf(wastl,"drawseq\n" + "0.5 dup translate\n" + "%% draw diagonal\n" + "0.04 setlinewidth\n" + "0 len moveto len 0 lineto stroke \n\n" + "drawgrid\n"); + return(wastl); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/PS_dot.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/PS_dot.o new file mode 100755 index 0000000000000000000000000000000000000000..d9c50537143cbd4472d720005f670d69fb276737 GIT binary patch literal 60248 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

        44a5HAl;$%V92hI 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/ProfileAln.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/ProfileAln.c new file mode 100755 index 00000000..0f3b8afb --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/ProfileAln.c @@ -0,0 +1,280 @@ +/* + Fast, but crude, pairwise structural Alignments of RNA sequences + + Possible structures of each RNA are encoded in a linear + "probability profile", by computing for each base the probability + of being unpaired, or paired upstream or downstream. These profiles + can be aligned using standard string alignment. + + The is an extension of the old method in ProfileDist.c with the + following changes: + - use sequence as well as structure profile for scoring + - use similarity alignment instead of distance (maybe add local alinment) + - use affine gap costs + + C Ivo L Hofacker, Vienna RNA Package +*/ +/* Last changed Time-stamp: <2004-08-02 10:11:13 ivo> */ + +#include +#include +#include +#include +#include +#include +#include "dist_vars.h" +#include "fold_vars.h" +#include "part_func.h" +#include "utils.h" +/*@unused@*/ +static char rcsid[] = "$Id: ProfileAln.c,v 1.5 2006/01/18 13:00:30 ivo Exp $"; + +#define PUBLIC +#define PRIVATE static +#define MIN(x,y) (((x)<(y)) ? (x) : (y)) +#define MAX(x,y) (((x)>(y)) ? (x) : (y)) +#define MAX3(x,y,z) (MAX( (MAX((x),(y))) ,(z))) +#define EQUAL(x,y) (fabs((x)-(y)) <= fabs(x)*2*FLT_EPSILON) + +PRIVATE int *alignment[2]; + +PUBLIC float profile_aln(const float *T1, const char *seq1, + const float *T2, const char *seq2); + +PUBLIC int set_paln_params(double gap_open, double gap_ext, + double seqweight, int free_ends); + +PRIVATE void sprint_aligned_bppm(const float *T1, const char *seq1, + const float *T2, const char *seq2); +PRIVATE double PrfEditScore(const float *p1, const float *p2, + char c1, char c2); +PRIVATE double average(double x, double y); + +PRIVATE double open=-1.5, ext=-0.666; /* defaults from clustalw */ +PRIVATE double seqw=0.5; +PRIVATE int free_ends=1; /* whether to use free end gaps */ +extern float *Make_bp_profile(int length); + +/*---------------------------------------------------------------------------*/ + +PRIVATE float **newmat(int l1, int l2) { + float **a; + int i; + a = (float **) space((l1+1)*sizeof(float *)); + for (i=0; i<=l1; i++) a[i] = (float *) space((l2+1)*sizeof(float)); + return a; +} + +PUBLIC float profile_aln(const float *T1, const char *seq1, + const float *T2, const char *seq2) +{ + /* align the 2 probability profiles T1, T2 */ + /* This is like a Needleman-Wunsch alignment, with affine gap-costs + ala Gotoh. The score looks at both seq and pair profile */ + + float **S, **E, **F, tot_score; + int i, j, length1, length2; + + length1 = strlen(seq1); + length2 = strlen(seq2); + S = newmat(length1, length2); + E = newmat(length1, length2); + F = newmat(length1, length2); + + E[0][0] = F[0][0] = open - ext; + S[0][0] = 0; + for (i=1; i<=length1; i++) F[i][0] = -9999; /* impossible */ + for (j=1; j<=length2; j++) E[0][j] = -9999; /* impossible */ + if (!free_ends) { + for (i=1; i<=length1; i++) S[i][0] = E[i][0] = E[i-1][0] +ext; + for (j=1; j<=length2; j++) S[0][j] = F[0][j] = F[0][j-1] +ext; + } + + for (i=1; i<=length1; i++) { + for (j=1; j<=length2; j++) { + float M; + E[i][j] = MAX(E[i-1][j]+ext, S[i-1][j]+open); + F[i][j] = MAX(F[i][j-1]+ext, S[i][j-1]+open); + M = S[i-1][j-1] + PrfEditScore(T1+3*i,T2+3*j, seq1[i-1], seq2[j-1]); + S[i][j] = MAX3(M, E[i][j], F[i][j]); + } + } + + if (edit_backtrack) { + double score=0; + char state = 'S'; + int pos, i,j; + alignment[0] = (int *) space((length1+length2+1)*sizeof(int)); + alignment[1] = (int *) space((length1+length2+1)*sizeof(int)); + + pos = length1+length2; + i = length1; + j = length2; + + tot_score = S[length1][length2]; + + if (free_ends) { + /* find starting point for backtracking, + search for highest entry in last row or column */ + int imax=0; + for (i=1; i<=length1; i++) { + if (S[i][length2]>score) { + score=S[i][length2]; + imax=i; + } + } + for (j=1; j<=length2; j++) { + if (S[length1][j]>score) { + score=S[length1][j]; + imax=-j; + } + } + if (imax<0) { + for (j=length2; j> -imax; j--) { + alignment[0][pos] = 0; + alignment[1][pos--] = j; + } + i=length1; + } else { + for (i=length1; i>imax; i--) { + alignment[0][pos] = i; + alignment[1][pos--] = 0; + } + j=length2; + } + tot_score=score; + } + + while (i>0 && j>0) { + switch (state) { + case 'E': + score = E[i][j]; + alignment[0][pos] = i; + alignment[1][pos--] = 0; + if (EQUAL(score, S[i-1][j] + open)) state = 'S'; + i--; + break; + case 'F': + score = F[i][j]; + alignment[0][pos] = 0; + alignment[1][pos--] = j; + if (EQUAL(score, S[i][j-1] + open)) state = 'S'; + j--; + break; + case 'S': + score = S[i][j]; + if (EQUAL(score, E[i][j])) state = 'E'; + else if (EQUAL(score, F[i][j])) state = 'F'; + else if (EQUAL(score, S[i-1][j-1] + + PrfEditScore(T1+3*i,T2+3*j, seq1[i-1], seq2[j-1]))) { + alignment[0][pos] = i; + alignment[1][pos--] = j; + i--; j--; + } + else nrerror("backtrack of alignment failed"); + break; + } + } + + for (; j>0; j--) { + alignment[0][pos] = 0; + alignment[1][pos--] = j; + } + for (; i>0; i--) { + alignment[0][pos] = i; + alignment[1][pos--] = 0; + } + + for(i=pos+1; i<=length1+length2; i++){ + alignment[0][i-pos] = alignment[0][i]; + alignment[1][i-pos] = alignment[1][i]; + } + alignment[0][0] = length1+length2-pos; /* length of alignment */ + + sprint_aligned_bppm(T1,seq1, T2,seq2); + free(alignment[0]); + free(alignment[1]); + } + for (i=0; i<=length1; i++) { + free(S[i]); free(E[i]); free(F[i]); + } + free(S); free(E); free(F); + + return tot_score; +} + + +/*---------------------------------------------------------------------------*/ +PRIVATE inline double average(double x, double y) { + /* + As in Bonhoeffer et al (1993) 'RNA Multi Structure Landscapes', + Eur. Biophys. J. 22: 13-24 we have chosen the geometric mean. + */ + return (float) sqrt(x*y); +} + +PRIVATE double PrfEditScore(const float *p1, const float *p2, char c1, char c2) +{ + double score; + int k; + + for(score=0.,k=0; k<3; k++) + score += average(p1[k],p2[k]); + + score *= (1- seqw); + if (c1==c2) score += seqw; + else if (((c1=='A') && (c2=='G')) || + ((c1=='G') && (c2=='A')) || + ((c1=='C') && (c2=='U')) || + ((c1=='U') && (c2=='C'))) + score += 0.5*seqw; + else score -= 0.9*seqw; + return score; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void sprint_aligned_bppm(const float *T1, const char *seq1, + const float *T2, const char *seq2) { + int i, length; + length = alignment[0][0]; + for (i=0; i<4; i++) { + if (aligned_line[i] != NULL) free(aligned_line[i]); + aligned_line[i] = (char *) space((length+1)*sizeof(char)); + } + for(i=1; i<=length; i++){ + if (alignment[0][i]==0) + aligned_line[0][i-1] = aligned_line[2][i-1] = '_'; + else { + aligned_line[0][i-1] = bppm_symbol(T1+alignment[0][i]*3); + aligned_line[2][i-1] = seq1[alignment[0][i]-1]; + } + if (alignment[1][i]==0) + aligned_line[1][i-1] = aligned_line[3][i-1] = '_'; + else { + aligned_line[1][i-1] = bppm_symbol(T2+alignment[1][i]*3); + aligned_line[3][i-1] = seq2[alignment[1][i]-1]; + } + } +} + +PUBLIC int set_paln_params(double gap_open, double gap_ext, + double seq_weight, int freeends) { + open = (gap_open>0) ? -gap_open : gap_open; + ext = (gap_ext>0) ? -gap_ext : gap_ext; + if (open > ext) fprintf(stderr, "Gap extension penalty is smaller than " + "gap open. Do you realy want this?\n"); + seqw = seq_weight; + if (seqw<0) { + seqw = 0; + fprintf(stderr, "Sequence weight set to 0 (must be in [0..1])\n"); + } else + if (seqw>1) { + seqw = 1; + fprintf(stderr, "Sequence weight set to 1 (must be in [0..1])\n"); + } + free_ends = (freeends) ? 1 : 0; + return 0; +} + +/*---------------------------------------------------------------------------*/ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/ProfileAln.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/ProfileAln.o new file mode 100755 index 0000000000000000000000000000000000000000..7920bd0956b43d50a2f37c50953c4347d3596a5d GIT binary patch literal 21616 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 L;$FN!G2`~Xp>|V* literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/ProfileDist.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/ProfileDist.c new file mode 100755 index 00000000..52d1cc0a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/ProfileDist.c @@ -0,0 +1,242 @@ +/* + Functions for handling the Base Pair Probability Matrix + Peter F Stadler, Ivo L Hofacker + Vienna RNA Package +*/ +/* Last changed Time-stamp: <2002-11-07 12:46:16 ivo> */ + +#include +#include +#include +#include +#include +#include "dist_vars.h" +#include "fold_vars.h" +#include "part_func.h" +#include "utils.h" +/*@unused@*/ +static char rcsid[] = "$Id: ProfileDist.c,v 1.6 2002/11/07 11:49:59 ivo Exp $"; + +#define PUBLIC +#define PRIVATE static +#define MIN(x,y) (((x)<(y)) ? (x) : (y)) +#define MAX(x,y) (((x)>(y)) ? (x) : (y)) +#define MIN3(x,y,z) (MIN( (MIN((x),(y))) ,(z))) + +PRIVATE int *alignment[2]; + +PUBLIC float profile_edit_distance(const float *T1, const float *T2); +PUBLIC float *Make_bp_profile(int length); +PUBLIC void free_profile(float *T); +PRIVATE void sprint_aligned_bppm(const float *T1, const float *T2); +PRIVATE double PrfEditCost(int i, int j, const float *T1, const float *T2); +PRIVATE double average(double x, double y); + +/*---------------------------------------------------------------------------*/ + +PUBLIC float profile_edit_distance(const float *T1, const float *T2) +{ + /* align the 2 probability profiles T1, T2 */ + /* This is like a Needleman-Wunsch alignment, + we should really use affine gap-costs ala Gotoh */ + + float **distance; + short **i_point, **j_point; + + int i, j, i1, j1, pos, length1,length2; + float minus, plus, change, temp; + + length1 = (int) T1[0]; + length2 = (int) T2[0]; + distance = (float **) space((length1 +1)*sizeof(float *)); + if(edit_backtrack){ + i_point = (short **) space((length1 +1)*sizeof(short *)); + j_point = (short **) space((length1 +1)*sizeof(short *)); + } + for(i=0; i<= length1; i++){ + distance[i] = (float *) space( (length2+1)*sizeof(float)); + if(edit_backtrack){ + i_point[i] = (short *) space( (length2+1)*sizeof(short)); + j_point[i] = (short *) space( (length2+1)*sizeof(short)); + } + } + + for(i = 1; i <= length1; i++) { + distance[i][0] = distance[i-1][0]+PrfEditCost(i,0,T1,T2); + if(edit_backtrack){ i_point[i][0] = (short) i-1; j_point[i][0] = 0; } + } + for(j = 1; j <= length2; j++) { + distance[0][j] = distance[0][j-1]+PrfEditCost(0,j,T1,T2); + if(edit_backtrack){ i_point[0][j] = 0; j_point[0][j] = (short) j-1; } + } + for (i = 1; i <= length1; i++) { + for (j = 1; j <= length2 ; j++) { + minus = distance[i-1][j] + PrfEditCost(i,0,T1,T2); + plus = distance[i][j-1] + PrfEditCost(0,j,T1,T2); + change = distance[i-1][j-1]+ PrfEditCost(i,j,T1,T2); + + distance[i][j] = MIN3(minus, plus, change); + /* printf("%g ", distance[i][j]); */ + + if(edit_backtrack){ + if(distance[i][j] == change) { + i_point[i][j]= (short)i-1; j_point[i][j]= (short) j-1; } + else if(distance[i][j] == plus) { + i_point[i][j]= (short)i ; j_point[i][j]= (short)j-1; } + else { + i_point[i][j]= (short)i-1; j_point[i][j]= (short)j ; } + } + } + /* printf("\n"); */ + } + /* printf("\n"); */ + temp = distance[length1][length2]; + for(i=0;i<=length1;i++) + free(distance[i]); + free(distance); + + if(edit_backtrack){ + alignment[0] = (int *) space((length1+length2+1)*sizeof(int)); + alignment[1] = (int *) space((length1+length2+1)*sizeof(int)); + + pos = length1+length2; + i = length1; + j = length2; + while( (i>0)||(j>0) ) { + i1 = i_point[i][j]; + j1 = j_point[i][j]; + if( ((i-i1)==1)&&((j-j1)==1) ) { /* substitution */ + alignment[0][pos] = i; + alignment[1][pos] = j; + } + if( ((i-i1)==1)&&(j==j1) ) { /* Deletion in [1] */ + alignment[0][pos] = i; + alignment[1][pos] = 0; + } + if( (i==i1)&&((j-j1)==1) ) { /* Deletion in [0] */ + alignment[0][pos] = 0; + alignment[1][pos] = j; + } + pos--; + i = i1; + j = j1; + } + for(i=pos+1; i<=length1+length2; i++){ + alignment[0][i-pos] = alignment[0][i]; + alignment[1][i-pos] = alignment[1][i]; + } + alignment[0][0] = length1+length2-pos; /* length of alignment */ + + for(i=0; i<=length1; i++){ + free(i_point[i]); free(j_point[i]); + } + free(i_point); free(j_point); + sprint_aligned_bppm(T1,T2); + free(alignment[0]); + free(alignment[1]); + } + + return temp; +} + + +/*---------------------------------------------------------------------------*/ + +PRIVATE double PrfEditCost(int i, int j, const float *T1, const float *T2) +{ + double dist; + int k, kmax; + + kmax = (int) T1[1]; + if ((int) T2[1] != kmax) nrerror("inconsistent Profiles in PrfEditCost"); + + if(i==0) { + for(dist = 0. ,k=0 ; k0)&&(j>0)) { + for(dist = 2.,k=0; k= 0 for 0<= x,y <= 1 + 3.) a(x,y) <= (x+y)/2 + 4.) a(x,x) >= a(x,y) for 0<= x,y <= 1 + As in Bonhoeffer et al (1993) 'RNA Multi Structure Landscapes', + Eur. Biophys. J. 22: 13-24 we have chosen the geometric mean. +*/ + +{ + float a; + a = (float) sqrt(x*y); + return a; +} + +/*---------------------------------------------------------------------------*/ + +PUBLIC float *Make_bp_profile(int length) +{ + int i,j; + int L=3; + float *P; /* P[i*3+0] unpaired, P[i*3+1] upstream, P[i*3+2] downstream p */ + + P = (float *) space((length+1)*3*sizeof(float)); + /* indices start at 1 use first entries to store length and dimension */ + P[0] = (float) length; + P[1] = (float) L; + + for( i=1; i0uzlbj}QX}CX>lTB6&HPAheL6 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 E3k(cXUH||9 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/RNAstruct.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/RNAstruct.c new file mode 100755 index 00000000..30c3ed04 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/RNAstruct.c @@ -0,0 +1,587 @@ +/* + parse and convert secondary structures + Walter Fontana, Ivo L Hofacker, Peter F Stadler + Vienna RNA Package +*/ +/* Last changed Time-stamp: <2005-07-23 10:12:19 ivo> */ + + +#include +#include +#include +#include +#include "utils.h" +#define PRIVATE static +#define PUBLIC + +#define MAXLEN 10000 +#define STRUC MAXLEN/5 /* maximal number of loops at min stack length 2 */ + +static char rcsid[] = "$Id: RNAstruct.c,v 1.7 2005/07/24 08:37:15 ivo Exp $"; + +PUBLIC char *b2HIT(const char *structure); /* Full -> HIT [incl. root] */ +PUBLIC char *b2C(const char *structure); /* Full -> Coarse [incl. root] */ +PUBLIC char *b2Shapiro(const char *structure); /* Full -> weighted Shapiro [i.r.] */ +PUBLIC char *add_root(const char *structure); /* {Tree} -> ({Tree}R) */ + +PUBLIC char *expand_Shapiro(const char *structure); /* Coarse [i.r.] -> unweighted Shapiro */ +PUBLIC char *expand_Full(const char *structure); /* Full -> FFull */ +PUBLIC char *unexpand_Full(const char *structure); /* FFull -> Full */ + +PUBLIC void parse_structure(const char *structure); /* guess !!! */ + +PRIVATE char *aux_struct(const char *structure); + +/* on return from parse_structure(), b2C() or b2Shapiro() ... */ +PUBLIC int loop_size[STRUC]; /* contains loop sizes of a structure */ +PUBLIC int helix_size[STRUC]; /* contains helix sizes of a structure */ +PUBLIC int loop_degree[STRUC]; /* contains loop degrees of a structure */ +PUBLIC int loops; /* n of loops and stacks in a structure */ +PUBLIC int unpaired, pairs; /* n of unpaired digits and pairs */ + +/*---------------------------------------------------------------------------*/ + +PRIVATE char *aux_struct(const char* structure ) +{ + short *match_paren; + int i, o, p; + char *string; + + string = (char *) space(sizeof(char)*(strlen(structure)+1)); + match_paren = (short *) space(sizeof(short)*(strlen(structure)/2+1)); + strcpy(string, structure); + + i = o = 0; + while (string[i]) { + switch (string[i]) { + case '.': break; + case '(': + match_paren[++o]=i; + break; + case ')': + p=i; + while ((string[p+1]==')')&&(match_paren[o-1]==match_paren[o]-1)) { + p++; o--; + } + string[p]=']'; + i=p; + string[match_paren[o]]='['; + o--; + break; + default: + nrerror("Junk in structure at aux_structure\n"); + } + i++; + } + free(match_paren); + return(string); +} + +/*---------------------------------------------------------------------------*/ + +PUBLIC char *b2HIT(const char *structure) +{ + + int i, u, p, l; + char *string, *temp, *HIT, tt[10]; + + temp = (char *) space(strlen(structure)*4+4); + string = aux_struct( structure ); + + strcpy(temp,"("); + i=p=u=0; l=1; + while (string[i]) { + switch(string[i]) { + case '.': + u++; break; + case '[': + if (u>0) { + sprintf(tt, "(U%d)" , u); + strcat(temp+l, tt); + l+=strlen(tt); + u=0; + } + strcat(temp+l, "("); l++; + break; + case ')': + if (u>0) { + sprintf(tt, "(U%d)" , u); + strcat(temp+l, tt); + l+=strlen(tt); + u=0; + } + p++; + break; + case ']': + if (u>0) { + sprintf(tt, "(U%d)" , u); + strcat(temp+l, tt); + l+=strlen(tt); + u=0; + } + sprintf(tt,"P%d)", p+1); + strcat(temp+l, tt); + l+=strlen(tt); + p=0; + break; + } + i++; + } + if (u>0) { + sprintf(tt, "(U%d)" , u); + strcat(temp+l, tt); + l+=strlen(tt); + } + strcat(temp+l, "R)"); + + free( string ); + + HIT = (char *) space(sizeof(char)*(strlen(temp)+2)); + strcpy(HIT, temp); + free(temp); + return(HIT); +} + +/*---------------------------------------------------------------------------*/ + +PUBLIC char *b2C(const char *structure ) +{ + short *bulge, *loop; + + int i, lp, p, l; + char *string, *Coarse, *temp; + + bulge = (short *) space(sizeof(short)*(strlen(structure)/3+1)); + loop = (short *) space(sizeof(short)*(strlen(structure)/3+1)); + temp = (char *) space(4*strlen(structure)+2); + + for (i = 0; i < STRUC; i++) { + loop_size[i] = helix_size[i] = 0; + } + loop_degree[0]=0; /* open structure has degree 0 */ + pairs = unpaired = loops = lp = 0; + loop[0]=0; + + string = aux_struct( structure ); + + i=p=l=0; + temp[l++] = '('; + while (string[i]) { + switch(string[i]) { + case '.': + loop_size[loop[lp]]++; + break; + case '[': + temp[l++]='('; + if ((i>0)&&(string[i-1]=='(')) bulge[lp]=1; + lp++; + loop_degree[++loops]=1; + loop[lp]=loops; + bulge[lp]=0; + break; + case ')': + if (string[i-1]==']') bulge[lp]=1; + p++; + break; + case ']': + if (string[i-1]==']') bulge[lp]=1; + switch (loop_degree[loop[lp]]) { + case 1: temp[l++]='H'; break; /* hairpin */ + case 2: + if (bulge[lp]==1) + temp[l++] = 'B'; /* bulge */ + else + temp[l++] = 'I'; /* internal loop */ + break; + default: temp[l++] = 'M'; /* multiloop */ + } + temp[l++] = ')'; + pairs+=p+1; + p=0; + loop_degree[loop[--lp]]++; + break; + } + i++; + } + temp[l++] = 'R'; + temp[l++] = ')'; + temp[l]='\0'; + free(string); + Coarse = (char *) space(sizeof(char)*(strlen(temp)+2)); + strcpy(Coarse, temp); + free(temp); + free(bulge); free(loop); + return(Coarse); +} + +/*---------------------------------------------------------------------------*/ + +PUBLIC char *b2Shapiro(const char *structure ) +{ + + short *bulge, *loop; + + int i, lp, p, l, k; + char *string, *Shapiro, *temp, tt[10]; + + bulge = (short *) space(sizeof(short)*(strlen(structure)/3+1)); + loop = (short *) space(sizeof(short)*(strlen(structure)/3+1)); + temp = (char *) space(4*strlen(structure)+3); + + for (i = 0; i < STRUC; i++) { + loop_size[i] = helix_size[i] = 0; + } + loop_degree[0]=0; /* open structure has degree 0 */ + pairs = unpaired = loops = lp = 0; + loop[0]=0; + + string = aux_struct( structure ); + + i=p=l=0; + temp[l++] = '('; /* root */ + while (string[i]) { + switch(string[i]) { + case '.': + unpaired++; + loop_size[loop[lp]]++; + break; + case '[': + temp[l++]='('; + temp[l++]='('; + if ((i>0)&&(string[i-1]=='(')) bulge[lp]=1; + lp++; + loop_degree[++loops]=1; + loop[lp]=loops; + bulge[lp]=0; + break; + case ')': + if (string[i-1]==']') bulge[lp]=1; + p++; + break; + case ']': + if (string[i-1]==']') bulge[lp]=1; + switch (loop_degree[loop[lp]]) { + case 1: temp[l++]='H'; break; /* hairpin */ + case 2: + if (bulge[lp]==1) + temp[l++] = 'B'; /* bulge */ + else + temp[l++] = 'I'; /* internal loop */ + break; + default: temp[l++] = 'M'; /* multiloop */ + } + helix_size[loop[lp]]=p+1; + + sprintf(tt, "%d)" , loop_size[loop[lp]]); + for(k=0; k0)&&(string[i-1]=='(')) bulge[lp]=1; + lp++; + loop_degree[++loops]=1; + loop[lp]=loops; + bulge[lp]=0; + break; + case ')': + if (string[i-1]==']') bulge[lp]=1; + p++; + break; + case ']': + if (string[i-1]==']') bulge[lp]=1; + helix_size[loop[lp]]=p+1; + pairs+=p+1; + p=0; + loop_degree[loop[--lp]]++; + break; + } + i++; + } + free(string); + free(bulge); free(loop); + free(temp); +} + +/*---------------------------------------------------------------------------*/ + +PUBLIC char *add_root(const char *structure) +{ + char *xS; + xS = (char *) space(sizeof(char)*(strlen(structure)+4)); + xS[0] = '('; + strcat(xS,structure); + strcat(xS,"R)"); + return xS; +} + + +/*---------------------------------------------------------------------------*/ + +PUBLIC char *expand_Shapiro(const char *structure) +{ + char *xS, *temp; + int i, l; + + temp = (char *) space(4*strlen(structure)+2); + + i = 1; + l = 1; + temp[0] = '('; + while (i=0) { + switch (structure[i]) { + case '(': + for (j=0; j1xy02M`lBy&Sdwk;oo!#`CioA&(C2xfXENRv_13kP6`Y&#%1Lj{&bHGj z2^${*9Z#boaXWm-7kITbdyEwvnebH1n6}fY!3pc$Xgi%&Q&Y3ErSl#K;T5N!a+GP+RwU z+v%$lHtq$o?Q|J<)bhfnPkrr+k`vcegg$->RfExt{lb;JK-d@hL%!>C8Ntw7z`xby zYda9rzB7FG?AfngI{)B?4_cuFPlR4Na3b-mgRQNWm5}?AuRX`@OUQlJdd1iFmYwmb zFZHb)*Nar;!z+i(hBfBT# zD9lYeeSrhv0~`MFVo%FD60-@%0~U>3_bzlXjK-K`fMext%YsSIsdPu3`0(p+cuvOA zjH4Yej$!OV*XQhmVF<(YQFw*fP7dOFz`_T7ftOpev#gq(2^()mo~L56#2EeihTpaFFifeuNfO64-3 zFsI8Pt7%@(cfOk+`bu!AiQ38iL*SThy7MC#2GZ81qhL2>T|aDlN=xs&z+r6rT$i== z9N7Svf4>MH^aT#WBs?$}5-9Z|23N{$p*g#4SDSg910)W@XbF z^vf_u8enlr^tG=^_KFoIC;SWy$?(C@Krx25$_uS)zV`fNFXYGfo|xKmlfAg0`BD$~ zroNES_Dg6;!rt6TpzJs-`CxR`mY9hr?-s2I9}0`X1Dh4$AdMdpsn%==(x$f|Uu3>^ zfMRRYD+!x2FmBiinGo&4WN*!p+!!yeBQYbf#V}s5(J~Ww@bHoXi^*1DG(YquOjDco z2YdV4Z*XppVHTF|{xxe+{#}(pnbm1@eiVcOr;6 zf;BdAjmzq6!yBsGse?OzD@LVo*w^_ku!tUT_#ij_w^E{nQ{rVviROXbq{Gj)ib*w` zpFGf&58h)lAjK1TXodGXvup!pN#}##ViYixZQ0kjf_*91^Ewl-H8SyMb-JO#E2G>W z@az-0KI&^7X|j=ru7YQ|C6i~cL?qce}d6f{T79e;E%htii!m|3h7`~MaWXMCA) zRIZK*8#jV1%rXPTEE9%`S{H+LYDGk*b?=IKb+L!UA>;jO1Ov#;NX^UOUZDM%v`o#M*xj}8M($fD2a^a7hmQ@L_F0Xk$U}g}`UQ4Wq&ZdgMaYGu+YnH^^@^*g?uVKL9}N z_k5v6$*1x|RmrDe$w|r!eJh-AUll`*_-~jZVC&Ig$FJdzfL(pNqNlAqYUghM+r^+b%Xl)-Mbf93d zqEf-yNjQ%wAm!wz*iPf%sx=ArZm+aXgN5*L@G3ZRO_Jj+8_r!jME4&I9|Q|2u;qYD zY4{)}tHi+V1FhLfcwXHbla!s(@_W2J`-)}yclBjeHEnQnRe>SYd*;f91&V@QJdR&5{4rjojN}h>(Cn+M{(Qe zx7H03`9{W5@R5Ok>a*)l=7e9wf$YcCPYh)2D*5LN)g`}&t`aQiwJG?vmQ>S*z8t%LEtb!f5}{rON!%HIn6 z4~()rqQd4h)RC|^Zme%>4`0GlFMpX^;PT++y8{N(tSxaVut&%XywjRJ)@ph4ka?Q}uH#^DfxgdLlqzeOUtRt|^s8w{tD*;{g_!*UPJn;mXIMR0(k(Roe0E3fQaOZKumyZjtsUCCyBD>h-p-Q`Yor`#N=5*j2AV9PFOzV?3z_MZ!tUiM1F~H>-fZTY;vU>KFOtEiaW>Tp^%MB@WnLmksI;Kg+VhHRZ!C1StK4`_nN`crIR2#EnF}@0NCzA4J&sfhEuDE*i7%NcA zdefZ-XJp8!IM)KaJ<5{Rey$ru)g!C@shTLO1E`uLs{^U(mDO{onj))%sG2UT=TbFO zR+FeYQ&tC4)hDY%s9GSaL#et@R)@P*Kr`Hbb%jd({0@pX=Hs`1iOhk0;i15mb6%e_`%e_9H#8p;(gay)X~~dQ3LmlC^!Z zeA*_Kcr^k6fU*#*4_y zO4ru}aev%+Ap)acRMS|nU#;bufbL-F*PvG#wThHVzftm`a|J;5e-q4$QQ<274*NxH z9}Si&gDqNR02mZ^+$-by)oC}RaX%Y3s{MR{K){9YHIRSkPVRNN~Qu@}^he%ERhsr`NQ-@Vc! zwTl{RH>#pX-d8;`$OH4eY|LEkZ9EjDaxPw7lU>}DBvGH|;tnwD=Rs@o#CS!<^RNrF zYL}W6ov(su)~&&pEAQ626dUT*i}Y}f^6

        VL{3?CrZi+c^nc=@y8nBSgJoa-I63;m$u4Z~}8b^L9`*`ESw@0W`6Jio}PM;l4r zA^s`ZxZ2L}zX;#U@S}EjhW1sQ?XMI22Pw|}93=5P-0*j0o*Az=+rd6Xh2k8CjMO{D z@LPqSYwR1FFIJrO*NFZVigSA#gx{z*+o|7^e$a8d z;%sNA^w(XAvz;ore*IB#wsV!(!F<5|$ab)Pd)DZGCHiX&KXflDM8}7Uvz;a4&$o(m zy%R-$3%PC}e;RwR75a{4!|}Zmdl>%t-cG-_;lJC*@&1alKiwpMhA7VdJiD*cA7S`) z`#C<=@QVE%uMp1N#7+HH@@JyqmrB3SFm^r_J9CZxAn|{J;cJComxteCIOgXS!a2^I z57)|iewES3-*I@s@OzG+LUg>Y>~P%19FWD)TZ*%N%<~^9&iWff{~N;x9_Z|BF4s@w zLz8fPe;0VoK~8^vqkom~UW&6nnE#J3{9|V(Dps8R{CO|;MycX#2lH@^;;jF)=r<_N z`k0?v6=(g;52hb<%ut;5F>lXPob{)Q{so55KZLE&zJlUxr$ENtb&9i{6^F7m%^QY) zFZ?dW+0Lz!C-)0Sp1;{MYbL_?r*Xez$GeQL7nL2Zx4pO1$NC8UIJuAG>y7@teI4Ie z)<@94Q1}*#v!A%H-brz;_es&;&+w&%&OW}k4fg*oe3;QMU}JO?8(twiWB4V)ryKsX z@Y4)m+~3*9dJz6B8sPW^N}t<1fjfeZs}yI`2XH6Qag*YVR!hJ9N^!QcK=Ndn;%sMv z*tuVE*2nk8u27uyd-0oeJgzvS`=#C&6leW9(SK8Mu5zec$3Iq_^?MvfKj_$C_}#)c z?dIO+xUro@VrMJGxk_A5cTt?}k3O7!(6P7TY-gR=IYM#PKU4Iv&P9LiDjR}hjQ+hc zf2IsyC%nq=gO6ly=sKx5`_n4pahl@nPrc}O7(Q(XTZy7G49D-g{z7rKUm)wuD->t@ zy^m%qwC|!g>tny~PQ_XOVbTA+;Wx^2(?<+{RQM{xpE{OnjiMI~e|KmWN3SZ*{;U@N z-%*_Xd2N`}|3o%Z_t?lq$~c#eR5=;;i3exYKVmyn2M=&5E-f>~G9eobCKx^yeA=%}8hG zJjJ=aH_CXq-SDqv9#|$E@x@stdITAaf-8kx#(9JexdMbhCeC%RKv%f;OhN_;R}RcVfaJB zZ#Mi};mZskbfUBWu;DGjR~!B-;cpuLj_{8R-)oGs|Bc}%3I9QHj_12hJ=#L{3AUuy z9M5fv+#A~}&idcTywqKB*1tjY_fnkoujhoJ;~>RZ|M0O{9384S>pvm-hbhkbuZsQ< z#aUl2o6$(cS^tc2^n;EQ6=(h5i~lLbS%0(ftWDp!WcV=Q&4!inBh}`8O-h`Xfr6{%wl0KGx5_H~f5=$6i%DI}dN}?7XKq z+n+4Pd1uQnW?<6olqKr&spg|q)F#o3?bV&_i9S%04BKd3mz=S+#u z6N(Ms5xN?ZYOTu?Hyg{xn{e*LOaKF@S z<;owcIQPr$lN~QIyiRyhakjHa>|_*YJ4;1>isG!lTJ%p*ob{JXp&xXdruZOwjd}Iw zinIPLjjT=2gA`}`-L}r+=t{*||LUoZU#qybf2-oG{}0i>Lvhx>nFCJ8D#H(ydE+JF z=$Cn=PXDilcaeGfU1f*s?LE!u<9olkzqnqkC%-cKZ;Jl6inBh}lbgtM1GdBVk8GkJ zbnIaGWx{t=obBK`zK`N;=a}hiC5jGIob_=XFI1fMuM+)1inBhhf*dw?fu+cPh^9-L2KxxmR%=|A!Q3{eo24Ke5_NP_1_Ww?+w59wSwkmSSJinIO)qJOU9JTDc?ytKsdMZ$lpINRBO z2K}I8nc`gUQfb#CinDz@?^&rh>u)Z8KCd|2zhCUXtT^kB68(1+XZ<0k&<{G^Q=IjO zNq&BzIP0$#{b)BX6+U;m*JkeZ*1|DPTV=fLWcahf2Pr#j|Ja$%&TzvQ3LmRD`-y$C za$_HVZ@Sj-U&?j4QQ6^opB4Kv4L@_1^XGKMxn9iM_`3$k|FYRm|1zb|_7@4iT5-06 zd3BlMtUvfvXXjzVZx_DW@EuQg`Y$TZ_A!p$SDf>zU>m3ZiQ=q}b?HA9XMcL1;q*7! z-JQ9;Y-gU>*+y~Je?s(kF?`FpuKeDHA3o3V-iEIdewg7~pXv1R_aNZU8u2G>^dC6O z>Ern``fK~2J3hteA9A+ivlQp{;`!5AigSC*7C8O$3|}VvQo~;oey!mH7CJk(7=DBB zrHZpZcgXXbdlYAXz8C!m6=(f!+d2EsD9-v7zi|8&;TXS*>m7f~@E)>G{-@!m3GcFp zD+fCp$++8FILDv!ZKlk7hZy}uqCdd!OD8+KLzEr%|3>kDsN!rN<8+MTtbfQk&Q7u7 ztS{9@`1=>glMc~uRQhaZweVSnZ+fn?f41RA2|rhHt{3aE%M@q(4~YKNinBiEjhhu` z{q>^%JH=UFx;=VCIQj*DPx(p1@%vEED?4oe;PdDQ9WN`+_7P|Ny${4~qUgV8^s$cp zLUFc#o9N^3eXt$f-mdaF2-sgQ`a2lD>-kiWj(rV3Qg~0r+5T3WX4RuXhV$QP=i@lT zM>!mgH@u(dR~mk|@J7SS#m*^)Pu|46ahBm%$^FP8!_N}`uQ7b3=>OVqe9r%Oh94sS ztT6m^vGc5OZq69d<g^cfY1{!K=I7xCu~qhBNX_Z$7s zxpF%Gtn?WbFr?#6qmSQnc+c=>xZ!ksYMJg`>YN z7e9L%{n4Ab0z(Wh7CzqaGU4@x*9f0w_!Qyi8{R7X2E%6w|DECUgg+=8?c%?C&&MjG zkI&z~X!K8)e0a;~FB1D782vLv|0|<^h3Nla^v8%lTkY-qLcc5#{T_zjD!jkpcL*OM z9PRBV`Eb0_=dK;1ld?pnvFz_1^c5XG6^Ly0F)wnQwf<0} zUn8$8g|`b&gEe~~nLSswlSj6Qy^WPKj}uZ=#& z#s1=#Z7=>#H~hip%u{*v%Y=LVtzCteb$JiqS9qd&{&V}Ej49{u}_KK8rT=h6S#=;OYAYZ*7ze|+8(?Zy3gQ6Bwb z;n2tW|MWci^Nc>$u>~ft */ +/* + global variables to change behaviour of folding routines + Vienna RNA package +*/ +#include +#include +#include "fold_vars.h" + +int noGU = 0; /* GU not allowed at all */ +int no_closingGU = 0; /* GU allowed only inside stacks */ +int tetra_loop = 1; /* Fold with specially stable 4-loops */ +int energy_set = 0; /* 0 = BP; 1=any with GC; 2=any with AU parameters */ +int dangles = 1; /* use dangling end energies */ +char *nonstandards = (char *)0; /* contains allowed non standard bases */ +double temperature = 37.0; +int james_rule = 1; /* interior loops of size 2 get energy 0.8Kcal and + no mismatches (no longer used) */ +struct bond *base_pair; + +FLT_OR_DBL *pr; /* base pairing prob. matrix */ +int *iindx; /* pr[i,j] -> pr[iindx[i]-j] */ +double pf_scale=- 1; /* scaling factor to avoid floating point overflows */ +int fold_constrained = 0; /* fold with constraints */ +int do_backtrack=1; /* calculate pair prob matrix in part_func() */ +int noLonelyPairs = 0; /* avoid helices of length 1 */ +char backtrack_type='F'; /* 'C' require (1,N) to be bonded; + 'M' seq is part of s multi loop */ + +char * option_string(void) { + static char options[100]; + *options = '\0'; + if (noGU) strcat(options, "-noGU "); + if (no_closingGU) strcat(options, "-noCloseGU "); + if (!tetra_loop) strcat(options, "-4 "); + if (noLonelyPairs) strcat(options, "-noLP "); + if (fold_constrained) strcat(options, "-C "); + if (dangles!=1) sprintf(options+strlen(options), "-d%d ", dangles); + if (temperature!=37.0) + sprintf(options+strlen(options), "-T %f ", temperature); + return options; +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/fold_vars.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/fold_vars.o new file mode 100755 index 0000000000000000000000000000000000000000..1ec46656acbb56a1f038f93be5aac952c2d7dc3a GIT binary patch literal 10008 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/intloops.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/intloops.h new file mode 100755 index 00000000..43bc5cdc --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/intloops.h @@ -0,0 +1,11069 @@ +PUBLIC int int11_37[NBPAIRS+1][NBPAIRS+1][5][5] = +{ /* noPair */ {{{0}}}, +{ /* noPair */ {{0}}, +/* CG..CG */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 40, 40, 40}, +{ 110, 40, 40, 40, 40}, +{ 110, 40, 40, -140, 40}, +{ 110, 40, 40, 40, 40} +}, +/* CG..GC */ +{{ 110, 110, 110, 110, 110}, +{ 110, 40, -40, 40, 40}, +{ 110, 30, 50, 40, 50}, +{ 110, -10, 40, -170, 40}, +{ 110, 40, 0, 40, -30} +}, +/* CG..GU */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, -100, 110}, +{ 110, 110, 110, 110, 110} +}, +/* CG..UG */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, -100, 110}, +{ 110, 110, 110, 110, 110} +}, +/* CG..AU */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, -100, 110}, +{ 110, 110, 110, 110, 110} +}, +/* CG..UA */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, -100, 110}, +{ 110, 110, 110, 110, 110} +}, +/* CG..?? */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110} +} +}, +{ /* noPair */ {{0}}, +/* GC..CG */ +{{ 110, 110, 110, 110, 110}, +{ 110, 40, 30, -10, 40}, +{ 110, -40, 50, 40, 0}, +{ 110, 40, 40, -170, 40}, +{ 110, 40, 50, 40, -30} +}, +/* GC..GC */ +{{ 110, 110, 110, 110, 110}, +{ 110, 80, 40, 40, 40}, +{ 110, 40, 40, 40, 40}, +{ 110, 40, 40, -210, 40}, +{ 110, 40, 40, 40, -70} +}, +/* GC..GU */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, -100, 110}, +{ 110, 110, 110, 110, 110} +}, +/* GC..UG */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, -100, 110}, +{ 110, 110, 110, 110, 110} +}, +/* GC..AU */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, -100, 110}, +{ 110, 110, 110, 110, 100} +}, +/* GC..UA */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, -100, 110}, +{ 110, 110, 110, 110, 110} +}, +/* GC..?? */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110} +} +}, +{ /* noPair */ {{0}}, +/* GU..CG */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, -100, 110}, +{ 110, 110, 110, 110, 110} +}, +/* GU..GC */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, -100, 110}, +{ 110, 110, 110, 110, 110} +}, +/* GU..GU */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, -40, 170}, +{ 170, 170, 170, 170, 170} +}, +/* GU..UG */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, -40, 170}, +{ 170, 170, 170, 170, 170} +}, +/* GU..AU */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, -40, 170}, +{ 170, 170, 170, 170, 170} +}, +/* GU..UA */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, -40, 170}, +{ 170, 170, 170, 170, 170} +}, +/* GU..?? */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170} +} +}, +{ /* noPair */ {{0}}, +/* UG..CG */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, -100, 110}, +{ 110, 110, 110, 110, 110} +}, +/* UG..GC */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, -100, 110}, +{ 110, 110, 110, 110, 110} +}, +/* UG..GU */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, -40, 170}, +{ 170, 170, 170, 170, 170} +}, +/* UG..UG */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, -40, 170}, +{ 170, 170, 170, 170, 170} +}, +/* UG..AU */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, -40, 170}, +{ 170, 170, 170, 170, 170} +}, +/* UG..UA */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, -40, 170}, +{ 170, 170, 170, 170, 170} +}, +/* UG..?? */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170} +} +}, +{ /* noPair */ {{0}}, +/* AU..CG */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, -100, 110}, +{ 110, 110, 110, 110, 110} +}, +/* AU..GC */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, -100, 110}, +{ 110, 110, 110, 110, 100} +}, +/* AU..GU */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, -40, 170}, +{ 170, 170, 170, 170, 170} +}, +/* AU..UG */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, -40, 170}, +{ 170, 170, 170, 170, 170} +}, +/* AU..AU */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, -40, 170}, +{ 170, 170, 170, 170, 120} +}, +/* AU..UA */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, -40, 170}, +{ 170, 170, 170, 170, 150} +}, +/* AU..?? */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170} +} +}, +{ /* noPair */ {{0}}, +/* UA..CG */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, -100, 110}, +{ 110, 110, 110, 110, 110} +}, +/* UA..GC */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, -100, 110}, +{ 110, 110, 110, 110, 110} +}, +/* UA..GU */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, -40, 170}, +{ 170, 170, 170, 170, 170} +}, +/* UA..UG */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, -40, 170}, +{ 170, 170, 170, 170, 170} +}, +/* UA..AU */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, -40, 170}, +{ 170, 170, 170, 170, 150} +}, +/* UA..UA */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, -40, 170}, +{ 170, 170, 170, 170, 180} +}, +/* UA..?? */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170} +} +}, +{ /* noPair */ {{0}}, +/* ??..CG */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110} +}, +/* ??..GC */ +{{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110}, +{ 110, 110, 110, 110, 110} +}, +/* ??..GU */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170} +}, +/* ??..UG */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170} +}, +/* ??..AU */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170} +}, +/* ??..UA */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170} +}, +/* ??..?? */ +{{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170}, +{ 170, 170, 170, 170, 170} +} +} +}; + +PUBLIC int int11_H[NBPAIRS+1][NBPAIRS+1][5][5] = + /* GC..GC */ +{ /* noPair */ {{{0}}}, +{ /* noPair */ {{0}}, +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* GC..CG */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* GC..GU */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* GC..UG */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* GC..AU */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* GC..UA */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* GC.. @ */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}}, + /* CG..GC */ +{ /* noPair */ {{0}}, +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* CG..CG */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* CG..GU */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* CG..UG */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* CG..AU */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* CG..UA */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* CG.. @ */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}}, + /* GU..GC */ +{ /* noPair */ {{0}}, +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* GU..CG */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* GU..GU */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* GU..UG */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* GU..AU */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* GU..UA */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* GU.. @ */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}}, + /* UG..GC */ +{ /* noPair */ {{0}}, +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* UG..CG */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* UG..GU */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* UG..UG */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* UG..AU */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* UG..UA */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* UG.. @ */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}}, + /* AU..GC */ +{ /* noPair */ {{0}}, +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* AU..CG */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* AU..GU */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* AU..UG */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* AU..AU */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* AU..UA */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* AU.. @ */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}}, + /* UA..GC */ +{ /* noPair */ {{0}}, +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* UA..CG */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* UA..GU */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* UA..UG */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* UA..AU */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* UA..UA */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* UA.. @ */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}}, + /* @..GC */ +{ /* noPair */ {{0}}, +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* @..CG */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* @..GU */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* @..UG */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* @..AU */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* @..UA */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}, + /* @.. @ */ +{ { 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}, +{ 0, 0, 0, 0, 0}}}}; + +PUBLIC int int21_37[NBPAIRS+1][NBPAIRS+1][5][5][5] = +{ /* noPair */ {{{{0}}}}, +{ /* noPair */ {{{0}}}, +{ +/* CG.@..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* CG.A..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 240, 220, 160, 400},{ 550, 210, 170, 160, 400},{ 550, 100, 60, 40, 400},{ 550, 400, 400, 400, 400}}, +/* CG.C..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 230, 220, 400, 220},{ 550, 220, 250, 400, 220},{ 550, 400, 400, 400, 400},{ 550, 250, 190, 400, 220}}, +/* CG.G..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 170, 400, 80, 400},{ 550, 400, 400, 400, 400},{ 550, 80, 400, 220, 400},{ 550, 400, 400, 400, 400}}, +/* CG.U..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 400, 400, 400, 400},{ 550, 400, 220, 400, 130},{ 550, 400, 400, 400, 400},{ 550, 400, 170, 400, 120}} +}, +{ +/* CG.@..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* CG.A..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 230, 220, 110, 400},{ 550, 210, 170, 160, 400},{ 550, 80, 60, 40, 400},{ 550, 400, 400, 400, 400}}, +/* CG.C..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 230, 220, 400, 220},{ 550, 220, 250, 400, 220},{ 550, 400, 400, 400, 400},{ 550, 250, 190, 400, 220}}, +/* CG.G..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 170, 400, 80, 400},{ 550, 400, 400, 400, 400},{ 550, 80, 400, 220, 400},{ 550, 400, 400, 400, 400}}, +/* CG.U..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 400, 400, 400, 400},{ 550, 400, 220, 400, 150},{ 550, 400, 400, 400, 400},{ 550, 400, 170, 400, 120}} +}, +{ +/* CG.@..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* CG.A..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 300, 240, 480},{ 550, 290, 250, 240, 480},{ 550, 180, 140, 120, 480},{ 550, 480, 480, 480, 480}}, +/* CG.C..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 310, 300, 480, 300},{ 550, 300, 330, 480, 300},{ 550, 480, 480, 480, 480},{ 550, 330, 270, 480, 300}}, +/* CG.G..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 480, 160, 480},{ 550, 480, 480, 480, 480},{ 550, 160, 480, 300, 480},{ 550, 480, 480, 480, 480}}, +/* CG.U..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 480, 480, 480, 480},{ 550, 480, 300, 480, 210},{ 550, 480, 480, 480, 480},{ 550, 480, 250, 480, 200}} +}, +{ +/* CG.@..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* CG.A..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 300, 240, 480},{ 550, 290, 250, 240, 480},{ 550, 180, 140, 120, 480},{ 550, 480, 480, 480, 480}}, +/* CG.C..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 310, 300, 480, 300},{ 550, 300, 330, 480, 300},{ 550, 480, 480, 480, 480},{ 550, 330, 270, 480, 300}}, +/* CG.G..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 480, 160, 480},{ 550, 480, 480, 480, 480},{ 550, 160, 480, 300, 480},{ 550, 480, 480, 480, 480}}, +/* CG.U..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 480, 480, 480, 480},{ 550, 480, 300, 480, 210},{ 550, 480, 480, 480, 480},{ 550, 480, 250, 480, 200}} +}, +{ +/* CG.@..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* CG.A..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 300, 240, 480},{ 550, 290, 250, 240, 480},{ 550, 180, 140, 120, 480},{ 550, 480, 480, 480, 480}}, +/* CG.C..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 310, 300, 480, 300},{ 550, 300, 330, 480, 300},{ 550, 480, 480, 480, 480},{ 550, 330, 270, 480, 300}}, +/* CG.G..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 480, 160, 480},{ 550, 480, 480, 480, 480},{ 550, 160, 480, 300, 480},{ 550, 480, 480, 480, 480}}, +/* CG.U..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 480, 480, 480, 480},{ 550, 480, 300, 480, 210},{ 550, 480, 480, 480, 480},{ 550, 480, 250, 480, 200}} +}, +{ +/* CG.@..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* CG.A..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 300, 240, 480},{ 550, 290, 250, 240, 480},{ 550, 180, 140, 120, 480},{ 550, 480, 480, 480, 480}}, +/* CG.C..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 310, 300, 480, 300},{ 550, 300, 330, 480, 300},{ 550, 480, 480, 480, 480},{ 550, 330, 270, 480, 300}}, +/* CG.G..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 480, 160, 480},{ 550, 480, 480, 480, 480},{ 550, 160, 480, 300, 480},{ 550, 480, 480, 480, 480}}, +/* CG.U..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 480, 480, 480, 480},{ 550, 480, 300, 480, 210},{ 550, 480, 480, 480, 480},{ 550, 480, 250, 480, 200}} +}, +{ +/* CG.@..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* CG.A..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* CG.C..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* CG.G..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* CG.U..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}} +} +}, +{ /* noPair */ {{{0}}}, +{ +/* GC.@..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GC.A..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 220, 210, 400},{ 550, 210, 170, 160, 400},{ 550, 120, 60, 40, 400},{ 550, 400, 400, 400, 400}}, +/* GC.C..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 230, 220, 400, 220},{ 550, 220, 250, 400, 220},{ 550, 400, 400, 400, 400},{ 550, 250, 190, 400, 220}}, +/* GC.G..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 170, 400, 80, 400},{ 550, 400, 400, 400, 400},{ 550, 80, 400, 220, 400},{ 550, 400, 400, 400, 400}}, +/* GC.U..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 400, 400, 400, 400},{ 550, 400, 220, 400, 120},{ 550, 400, 400, 400, 400},{ 550, 400, 170, 400, 120}} +}, +{ +/* GC.@..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GC.A..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 240, 220, 160, 400},{ 550, 210, 170, 160, 400},{ 550, 100, 60, 40, 400},{ 550, 400, 400, 400, 400}}, +/* GC.C..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 230, 220, 400, 220},{ 550, 220, 250, 400, 220},{ 550, 400, 400, 400, 400},{ 550, 250, 190, 400, 220}}, +/* GC.G..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 170, 400, 80, 400},{ 550, 400, 400, 400, 400},{ 550, 80, 400, 220, 400},{ 550, 400, 400, 400, 400}}, +/* GC.U..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 400, 400, 400, 400},{ 550, 400, 220, 400, 130},{ 550, 400, 400, 400, 400},{ 550, 400, 170, 400, 120}} +}, +{ +/* GC.@..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GC.A..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 300, 240, 480},{ 550, 290, 250, 240, 480},{ 550, 180, 140, 120, 480},{ 550, 480, 480, 480, 480}}, +/* GC.C..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 310, 300, 480, 300},{ 550, 300, 330, 480, 300},{ 550, 480, 480, 480, 480},{ 550, 330, 270, 480, 300}}, +/* GC.G..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 480, 160, 480},{ 550, 480, 480, 480, 480},{ 550, 160, 480, 300, 480},{ 550, 480, 480, 480, 480}}, +/* GC.U..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 480, 480, 480, 480},{ 550, 480, 300, 480, 210},{ 550, 480, 480, 480, 480},{ 550, 480, 250, 480, 200}} +}, +{ +/* GC.@..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GC.A..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 300, 240, 480},{ 550, 290, 250, 240, 480},{ 550, 180, 140, 120, 480},{ 550, 480, 480, 480, 480}}, +/* GC.C..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 310, 300, 480, 300},{ 550, 300, 330, 480, 300},{ 550, 480, 480, 480, 480},{ 550, 330, 270, 480, 300}}, +/* GC.G..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 480, 160, 480},{ 550, 480, 480, 480, 480},{ 550, 160, 480, 300, 480},{ 550, 480, 480, 480, 480}}, +/* GC.U..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 480, 480, 480, 480},{ 550, 480, 300, 480, 210},{ 550, 480, 480, 480, 480},{ 550, 480, 250, 480, 200}} +}, +{ +/* GC.@..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GC.A..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 300, 240, 480},{ 550, 290, 250, 240, 480},{ 550, 180, 140, 120, 480},{ 550, 480, 480, 480, 480}}, +/* GC.C..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 310, 300, 480, 300},{ 550, 300, 330, 480, 300},{ 550, 480, 480, 480, 480},{ 550, 330, 270, 480, 300}}, +/* GC.G..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 480, 160, 480},{ 550, 480, 480, 480, 480},{ 550, 160, 480, 300, 480},{ 550, 480, 480, 480, 480}}, +/* GC.U..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 480, 480, 480, 480},{ 550, 480, 300, 480, 210},{ 550, 480, 480, 480, 480},{ 550, 480, 250, 480, 200}} +}, +{ +/* GC.@..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GC.A..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 300, 240, 480},{ 550, 290, 250, 240, 480},{ 550, 180, 140, 120, 480},{ 550, 480, 480, 480, 480}}, +/* GC.C..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 310, 300, 480, 300},{ 550, 300, 330, 480, 300},{ 550, 480, 480, 480, 480},{ 550, 330, 270, 480, 300}}, +/* GC.G..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 480, 160, 480},{ 550, 480, 480, 480, 480},{ 550, 160, 480, 300, 480},{ 550, 480, 480, 480, 480}}, +/* GC.U..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 480, 480, 480, 480},{ 550, 480, 300, 480, 210},{ 550, 480, 480, 480, 480},{ 550, 480, 250, 480, 200}} +}, +{ +/* GC.@..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GC.A..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GC.C..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GC.G..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GC.U..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}} +} +}, +{ /* noPair */ {{{0}}}, +{ +/* GU.@..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GU.A..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 300, 240, 480},{ 550, 290, 250, 240, 480},{ 550, 180, 140, 120, 480},{ 550, 480, 480, 480, 480}}, +/* GU.C..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 310, 300, 480, 300},{ 550, 300, 330, 480, 300},{ 550, 480, 480, 480, 480},{ 550, 330, 270, 480, 300}}, +/* GU.G..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 480, 160, 480},{ 550, 480, 480, 480, 480},{ 550, 160, 480, 300, 480},{ 550, 480, 480, 480, 480}}, +/* GU.U..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 480, 480, 480, 480},{ 550, 480, 300, 480, 210},{ 550, 480, 480, 480, 480},{ 550, 480, 250, 480, 200}} +}, +{ +/* GU.@..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GU.A..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 300, 240, 480},{ 550, 290, 250, 240, 480},{ 550, 180, 140, 120, 480},{ 550, 480, 480, 480, 480}}, +/* GU.C..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 310, 300, 480, 300},{ 550, 300, 330, 480, 300},{ 550, 480, 480, 480, 480},{ 550, 330, 270, 480, 300}}, +/* GU.G..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 480, 160, 480},{ 550, 480, 480, 480, 480},{ 550, 160, 480, 300, 480},{ 550, 480, 480, 480, 480}}, +/* GU.U..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 480, 480, 480, 480},{ 550, 480, 300, 480, 210},{ 550, 480, 480, 480, 480},{ 550, 480, 250, 480, 200}} +}, +{ +/* GU.@..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GU.A..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 390, 370, 310, 550},{ 550, 360, 320, 310, 550},{ 550, 250, 210, 190, 550},{ 550, 550, 550, 550, 550}}, +/* GU.C..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 380, 370, 550, 370},{ 550, 370, 400, 550, 370},{ 550, 550, 550, 550, 550},{ 550, 400, 340, 550, 370}}, +/* GU.G..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 550, 230, 550},{ 550, 550, 550, 550, 550},{ 550, 230, 550, 370, 550},{ 550, 550, 550, 550, 550}}, +/* GU.U..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 370, 550, 280},{ 550, 550, 550, 550, 550},{ 550, 550, 320, 550, 270}} +}, +{ +/* GU.@..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GU.A..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 390, 370, 310, 550},{ 550, 360, 320, 310, 550},{ 550, 250, 210, 190, 550},{ 550, 550, 550, 550, 550}}, +/* GU.C..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 380, 370, 550, 370},{ 550, 370, 400, 550, 370},{ 550, 550, 550, 550, 550},{ 550, 400, 340, 550, 370}}, +/* GU.G..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 550, 230, 550},{ 550, 550, 550, 550, 550},{ 550, 230, 550, 370, 550},{ 550, 550, 550, 550, 550}}, +/* GU.U..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 370, 550, 280},{ 550, 550, 550, 550, 550},{ 550, 550, 320, 550, 270}} +}, +{ +/* GU.@..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GU.A..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 390, 370, 310, 550},{ 550, 360, 320, 310, 550},{ 550, 250, 210, 190, 550},{ 550, 550, 550, 550, 550}}, +/* GU.C..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 380, 370, 550, 370},{ 550, 370, 400, 550, 370},{ 550, 550, 550, 550, 550},{ 550, 400, 340, 550, 370}}, +/* GU.G..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 550, 230, 550},{ 550, 550, 550, 550, 550},{ 550, 230, 550, 370, 550},{ 550, 550, 550, 550, 550}}, +/* GU.U..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 370, 550, 280},{ 550, 550, 550, 550, 550},{ 550, 550, 320, 550, 270}} +}, +{ +/* GU.@..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GU.A..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 390, 370, 310, 550},{ 550, 360, 320, 310, 550},{ 550, 250, 210, 190, 550},{ 550, 550, 550, 550, 550}}, +/* GU.C..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 380, 370, 550, 370},{ 550, 370, 400, 550, 370},{ 550, 550, 550, 550, 550},{ 550, 400, 340, 550, 370}}, +/* GU.G..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 550, 230, 550},{ 550, 550, 550, 550, 550},{ 550, 230, 550, 370, 550},{ 550, 550, 550, 550, 550}}, +/* GU.U..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 370, 550, 280},{ 550, 550, 550, 550, 550},{ 550, 550, 320, 550, 270}} +}, +{ +/* GU.@..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GU.A..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GU.C..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GU.G..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* GU.U..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}} +} +}, +{ /* noPair */ {{{0}}}, +{ +/* UG.@..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UG.A..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 300, 240, 480},{ 550, 290, 250, 240, 480},{ 550, 180, 140, 120, 480},{ 550, 480, 480, 480, 480}}, +/* UG.C..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 310, 300, 480, 300},{ 550, 300, 330, 480, 300},{ 550, 480, 480, 480, 480},{ 550, 330, 270, 480, 300}}, +/* UG.G..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 480, 160, 480},{ 550, 480, 480, 480, 480},{ 550, 160, 480, 300, 480},{ 550, 480, 480, 480, 480}}, +/* UG.U..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 480, 480, 480, 480},{ 550, 480, 300, 480, 210},{ 550, 480, 480, 480, 480},{ 550, 480, 250, 480, 200}} +}, +{ +/* UG.@..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UG.A..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 300, 240, 480},{ 550, 290, 250, 240, 480},{ 550, 180, 140, 120, 480},{ 550, 480, 480, 480, 480}}, +/* UG.C..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 310, 300, 480, 300},{ 550, 300, 330, 480, 300},{ 550, 480, 480, 480, 480},{ 550, 330, 270, 480, 300}}, +/* UG.G..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 480, 160, 480},{ 550, 480, 480, 480, 480},{ 550, 160, 480, 300, 480},{ 550, 480, 480, 480, 480}}, +/* UG.U..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 480, 480, 480, 480},{ 550, 480, 300, 480, 210},{ 550, 480, 480, 480, 480},{ 550, 480, 250, 480, 200}} +}, +{ +/* UG.@..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UG.A..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 390, 370, 310, 550},{ 550, 360, 320, 310, 550},{ 550, 250, 210, 190, 550},{ 550, 550, 550, 550, 550}}, +/* UG.C..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 380, 370, 550, 370},{ 550, 370, 400, 550, 370},{ 550, 550, 550, 550, 550},{ 550, 400, 340, 550, 370}}, +/* UG.G..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 550, 230, 550},{ 550, 550, 550, 550, 550},{ 550, 230, 550, 370, 550},{ 550, 550, 550, 550, 550}}, +/* UG.U..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 370, 550, 280},{ 550, 550, 550, 550, 550},{ 550, 550, 320, 550, 270}} +}, +{ +/* UG.@..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UG.A..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 390, 370, 310, 550},{ 550, 360, 320, 310, 550},{ 550, 250, 210, 190, 550},{ 550, 550, 550, 550, 550}}, +/* UG.C..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 380, 370, 550, 370},{ 550, 370, 400, 550, 370},{ 550, 550, 550, 550, 550},{ 550, 400, 340, 550, 370}}, +/* UG.G..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 550, 230, 550},{ 550, 550, 550, 550, 550},{ 550, 230, 550, 370, 550},{ 550, 550, 550, 550, 550}}, +/* UG.U..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 370, 550, 280},{ 550, 550, 550, 550, 550},{ 550, 550, 320, 550, 270}} +}, +{ +/* UG.@..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UG.A..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 390, 370, 310, 550},{ 550, 360, 320, 310, 550},{ 550, 250, 210, 190, 550},{ 550, 550, 550, 550, 550}}, +/* UG.C..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 380, 370, 550, 370},{ 550, 370, 400, 550, 370},{ 550, 550, 550, 550, 550},{ 550, 400, 340, 550, 370}}, +/* UG.G..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 550, 230, 550},{ 550, 550, 550, 550, 550},{ 550, 230, 550, 370, 550},{ 550, 550, 550, 550, 550}}, +/* UG.U..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 370, 550, 280},{ 550, 550, 550, 550, 550},{ 550, 550, 320, 550, 270}} +}, +{ +/* UG.@..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UG.A..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 390, 370, 310, 550},{ 550, 360, 320, 310, 550},{ 550, 250, 210, 190, 550},{ 550, 550, 550, 550, 550}}, +/* UG.C..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 380, 370, 550, 370},{ 550, 370, 400, 550, 370},{ 550, 550, 550, 550, 550},{ 550, 400, 340, 550, 370}}, +/* UG.G..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 550, 230, 550},{ 550, 550, 550, 550, 550},{ 550, 230, 550, 370, 550},{ 550, 550, 550, 550, 550}}, +/* UG.U..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 370, 550, 280},{ 550, 550, 550, 550, 550},{ 550, 550, 320, 550, 270}} +}, +{ +/* UG.@..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UG.A..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UG.C..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UG.G..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UG.U..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}} +} +}, +{ /* noPair */ {{{0}}}, +{ +/* AU.@..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* AU.A..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 300, 240, 480},{ 550, 290, 250, 240, 480},{ 550, 180, 140, 120, 480},{ 550, 480, 480, 480, 480}}, +/* AU.C..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 310, 300, 480, 300},{ 550, 300, 330, 480, 300},{ 550, 480, 480, 480, 480},{ 550, 330, 270, 480, 300}}, +/* AU.G..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 480, 160, 480},{ 550, 480, 480, 480, 480},{ 550, 160, 480, 300, 480},{ 550, 480, 480, 480, 480}}, +/* AU.U..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 480, 480, 480, 480},{ 550, 480, 300, 480, 210},{ 550, 480, 480, 480, 480},{ 550, 480, 250, 480, 200}} +}, +{ +/* AU.@..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* AU.A..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 300, 240, 480},{ 550, 290, 250, 240, 480},{ 550, 180, 140, 120, 480},{ 550, 480, 480, 480, 480}}, +/* AU.C..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 310, 300, 480, 300},{ 550, 300, 330, 480, 300},{ 550, 480, 480, 480, 480},{ 550, 330, 270, 480, 300}}, +/* AU.G..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 480, 160, 480},{ 550, 480, 480, 480, 480},{ 550, 160, 480, 300, 480},{ 550, 480, 480, 480, 480}}, +/* AU.U..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 480, 480, 480, 480},{ 550, 480, 300, 480, 210},{ 550, 480, 480, 480, 480},{ 550, 480, 250, 480, 200}} +}, +{ +/* AU.@..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* AU.A..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 390, 370, 310, 550},{ 550, 360, 320, 310, 550},{ 550, 250, 210, 190, 550},{ 550, 550, 550, 550, 550}}, +/* AU.C..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 380, 370, 550, 370},{ 550, 370, 400, 550, 370},{ 550, 550, 550, 550, 550},{ 550, 400, 340, 550, 370}}, +/* AU.G..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 550, 230, 550},{ 550, 550, 550, 550, 550},{ 550, 230, 550, 370, 550},{ 550, 550, 550, 550, 550}}, +/* AU.U..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 370, 550, 280},{ 550, 550, 550, 550, 550},{ 550, 550, 320, 550, 270}} +}, +{ +/* AU.@..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* AU.A..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 390, 370, 310, 550},{ 550, 360, 320, 310, 550},{ 550, 250, 210, 190, 550},{ 550, 550, 550, 550, 550}}, +/* AU.C..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 380, 370, 550, 370},{ 550, 370, 400, 550, 370},{ 550, 550, 550, 550, 550},{ 550, 400, 340, 550, 370}}, +/* AU.G..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 550, 230, 550},{ 550, 550, 550, 550, 550},{ 550, 230, 550, 370, 550},{ 550, 550, 550, 550, 550}}, +/* AU.U..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 370, 550, 280},{ 550, 550, 550, 550, 550},{ 550, 550, 320, 550, 270}} +}, +{ +/* AU.@..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* AU.A..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 390, 370, 310, 550},{ 550, 360, 320, 310, 550},{ 550, 250, 210, 190, 550},{ 550, 550, 550, 550, 550}}, +/* AU.C..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 380, 370, 550, 370},{ 550, 370, 400, 550, 370},{ 550, 550, 550, 550, 550},{ 550, 400, 340, 550, 370}}, +/* AU.G..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 550, 230, 550},{ 550, 550, 550, 550, 550},{ 550, 230, 550, 370, 550},{ 550, 550, 550, 550, 550}}, +/* AU.U..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 370, 550, 280},{ 550, 550, 550, 550, 550},{ 550, 550, 320, 550, 270}} +}, +{ +/* AU.@..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* AU.A..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 390, 370, 310, 550},{ 550, 360, 320, 310, 550},{ 550, 250, 210, 190, 550},{ 550, 550, 550, 550, 550}}, +/* AU.C..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 380, 370, 550, 370},{ 550, 370, 400, 550, 370},{ 550, 550, 550, 550, 550},{ 550, 400, 340, 550, 370}}, +/* AU.G..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 550, 230, 550},{ 550, 550, 550, 550, 550},{ 550, 230, 550, 370, 550},{ 550, 550, 550, 550, 550}}, +/* AU.U..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 370, 550, 280},{ 550, 550, 550, 550, 550},{ 550, 550, 320, 550, 270}} +}, +{ +/* AU.@..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* AU.A..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* AU.C..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* AU.G..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* AU.U..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}} +} +}, +{ /* noPair */ {{{0}}}, +{ +/* UA.@..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UA.A..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 300, 240, 480},{ 550, 290, 250, 240, 480},{ 550, 180, 140, 120, 480},{ 550, 480, 480, 480, 480}}, +/* UA.C..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 310, 300, 480, 300},{ 550, 300, 330, 480, 300},{ 550, 480, 480, 480, 480},{ 550, 330, 270, 480, 300}}, +/* UA.G..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 480, 160, 480},{ 550, 480, 480, 480, 480},{ 550, 160, 480, 300, 480},{ 550, 480, 480, 480, 480}}, +/* UA.U..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 480, 480, 480, 480},{ 550, 480, 300, 480, 210},{ 550, 480, 480, 480, 480},{ 550, 480, 250, 480, 200}} +}, +{ +/* UA.@..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UA.A..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 300, 240, 480},{ 550, 290, 250, 240, 480},{ 550, 180, 140, 120, 480},{ 550, 480, 480, 480, 480}}, +/* UA.C..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 310, 300, 480, 300},{ 550, 300, 330, 480, 300},{ 550, 480, 480, 480, 480},{ 550, 330, 270, 480, 300}}, +/* UA.G..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 250, 480, 160, 480},{ 550, 480, 480, 480, 480},{ 550, 160, 480, 300, 480},{ 550, 480, 480, 480, 480}}, +/* UA.U..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 480, 480, 480, 480},{ 550, 480, 300, 480, 210},{ 550, 480, 480, 480, 480},{ 550, 480, 250, 480, 200}} +}, +{ +/* UA.@..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UA.A..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 390, 370, 310, 550},{ 550, 360, 320, 310, 550},{ 550, 250, 210, 190, 550},{ 550, 550, 550, 550, 550}}, +/* UA.C..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 380, 370, 550, 370},{ 550, 370, 400, 550, 370},{ 550, 550, 550, 550, 550},{ 550, 400, 340, 550, 370}}, +/* UA.G..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 550, 230, 550},{ 550, 550, 550, 550, 550},{ 550, 230, 550, 370, 550},{ 550, 550, 550, 550, 550}}, +/* UA.U..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 370, 550, 280},{ 550, 550, 550, 550, 550},{ 550, 550, 320, 550, 270}} +}, +{ +/* UA.@..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UA.A..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 390, 370, 310, 550},{ 550, 360, 320, 310, 550},{ 550, 250, 210, 190, 550},{ 550, 550, 550, 550, 550}}, +/* UA.C..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 380, 370, 550, 370},{ 550, 370, 400, 550, 370},{ 550, 550, 550, 550, 550},{ 550, 400, 340, 550, 370}}, +/* UA.G..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 550, 230, 550},{ 550, 550, 550, 550, 550},{ 550, 230, 550, 370, 550},{ 550, 550, 550, 550, 550}}, +/* UA.U..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 370, 550, 280},{ 550, 550, 550, 550, 550},{ 550, 550, 320, 550, 270}} +}, +{ +/* UA.@..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UA.A..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 390, 370, 310, 550},{ 550, 360, 320, 310, 550},{ 550, 250, 210, 190, 550},{ 550, 550, 550, 550, 550}}, +/* UA.C..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 380, 370, 550, 370},{ 550, 370, 400, 550, 370},{ 550, 550, 550, 550, 550},{ 550, 400, 340, 550, 370}}, +/* UA.G..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 550, 230, 550},{ 550, 550, 550, 550, 550},{ 550, 230, 550, 370, 550},{ 550, 550, 550, 550, 550}}, +/* UA.U..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 370, 550, 280},{ 550, 550, 550, 550, 550},{ 550, 550, 320, 550, 270}} +}, +{ +/* UA.@..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UA.A..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 390, 370, 310, 550},{ 550, 360, 320, 310, 550},{ 550, 250, 210, 190, 550},{ 550, 550, 550, 550, 550}}, +/* UA.C..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 380, 370, 550, 370},{ 550, 370, 400, 550, 370},{ 550, 550, 550, 550, 550},{ 550, 400, 340, 550, 370}}, +/* UA.G..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 320, 550, 230, 550},{ 550, 550, 550, 550, 550},{ 550, 230, 550, 370, 550},{ 550, 550, 550, 550, 550}}, +/* UA.U..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 370, 550, 280},{ 550, 550, 550, 550, 550},{ 550, 550, 320, 550, 270}} +}, +{ +/* UA.@..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UA.A..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UA.C..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UA.G..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* UA.U..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}} +} +}, +{ /* noPair */ {{{0}}}, +{ +/* ??.@..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.A..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.C..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.G..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.U..GC */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}} +}, +{ +/* ??.@..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.A..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.C..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.G..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.U..CG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}} +}, +{ +/* ??.@..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.A..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.C..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.G..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.U..UG */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}} +}, +{ +/* ??.@..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.A..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.C..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.G..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.U..GU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}} +}, +{ +/* ??.@..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.A..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.C..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.G..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.U..UA */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}} +}, +{ +/* ??.@..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.A..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.C..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.G..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.U..AU */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}} +}, +{ +/* ??.@..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.A..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.C..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.G..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}}, +/* ??.U..?? */ +{{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550},{ 550, 550, 550, 550, 550}} +} +} +}; + +PUBLIC int int21_H[NBPAIRS+1][NBPAIRS+1][5][5][5] = +{ /* noPair */ {{{{0}}}}, +{ /* noPair */ {{{0}}}, +{ +/* CG.@..CG */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.A..CG */ +{{ DEF,-1029, -949,-1029,-1029},{-1079,-2058,-1978,-2058,-2058},{ -569,-1548,-1468,-1548,-1548},{ -989,-1968,-1888,-1968,-1968},{ -859,-1838,-1758,-1838,-1838}}, +/* CG.C..CG */ +{{ DEF, -519, -449, -519, -669},{ -999,-1468,-1398,-1468,-1618},{ -499, -968, -898, -968,-1118},{ -989,-1458,-1388,-1458,-1608},{ -789,-1258,-1188,-1258,-1408}}, +/* CG.G..CG */ +{{ DEF, -939, -939, -939, -939},{-1079,-1968,-1968,-1968,-1968},{ -569,-1458,-1458,-1458,-1458},{ -989,-1878,-1878,-1878,-1878},{ -859,-1748,-1748,-1748,-1748}}, +/* CG.U..CG */ +{{ DEF, -809, -739, -809, -859},{-1079,-1838,-1768,-1838,-1888},{ -719,-1478,-1408,-1478,-1528},{ -989,-1748,-1678,-1748,-1798},{ -909,-1668,-1598,-1668,-1718}} +}, +{ +/* CG.@..GC */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.A..GC */ +{{ DEF,-1029, -949,-1029,-1029},{ -569,-1548,-1468,-1548,-1548},{ -769,-1748,-1668,-1748,-1748},{ -759,-1738,-1658,-1738,-1738},{ -549,-1528,-1448,-1528,-1528}}, +/* CG.C..GC */ +{{ DEF, -519, -449, -519, -669},{ -929,-1398,-1328,-1398,-1548},{ -359, -828, -758, -828, -978},{ -789,-1258,-1188,-1258,-1408},{ -549,-1018, -948,-1018,-1168}}, +/* CG.G..GC */ +{{ DEF, -939, -939, -939, -939},{ -609,-1498,-1498,-1498,-1498},{ -359,-1248,-1248,-1248,-1248},{ -669,-1558,-1558,-1558,-1558},{ -549,-1438,-1438,-1438,-1438}}, +/* CG.U..GC */ +{{ DEF, -809, -739, -809, -859},{ -929,-1688,-1618,-1688,-1738},{ -439,-1198,-1128,-1198,-1248},{ -789,-1548,-1478,-1548,-1598},{ -619,-1378,-1308,-1378,-1428}} +}, +{ +/* CG.@..GU */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.A..GU */ +{{ DEF,-1029, -949,-1029,-1029},{ -479,-1458,-1378,-1458,-1458},{ -309,-1288,-1208,-1288,-1288},{ -389,-1368,-1288,-1368,-1368},{ -379,-1358,-1278,-1358,-1358}}, +/* CG.C..GU */ +{{ DEF, -519, -449, -519, -669},{ -649,-1118,-1048,-1118,-1268},{ -289, -758, -688, -758, -908},{ -739,-1208,-1138,-1208,-1358},{ -379, -848, -778, -848, -998}}, +/* CG.G..GU */ +{{ DEF, -939, -939, -939, -939},{ -649,-1538,-1538,-1538,-1538},{ -289,-1178,-1178,-1178,-1178},{ -739,-1628,-1628,-1628,-1628},{ -379,-1268,-1268,-1268,-1268}}, +/* CG.U..GU */ +{{ DEF, -809, -739, -809, -859},{ -649,-1408,-1338,-1408,-1458},{ -289,-1048, -978,-1048,-1098},{ -739,-1498,-1428,-1498,-1548},{ -379,-1138,-1068,-1138,-1188}} +}, +{ +/* CG.@..UG */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.A..UG */ +{{ DEF,-1029, -949,-1029,-1029},{ -769,-1748,-1668,-1748,-1748},{ -529,-1508,-1428,-1508,-1508},{ -709,-1688,-1608,-1688,-1688},{ -599,-1578,-1498,-1578,-1578}}, +/* CG.C..UG */ +{{ DEF, -519, -449, -519, -669},{ -839,-1308,-1238,-1308,-1458},{ -529, -998, -928, -998,-1148},{ -859,-1328,-1258,-1328,-1478},{ -489, -958, -888, -958,-1108}}, +/* CG.G..UG */ +{{ DEF, -939, -939, -939, -939},{-1009,-1898,-1898,-1898,-1898},{ -409,-1298,-1298,-1298,-1298},{ -969,-1858,-1858,-1858,-1858},{ -599,-1488,-1488,-1488,-1488}}, +/* CG.U..UG */ +{{ DEF, -809, -739, -809, -859},{ -859,-1618,-1548,-1618,-1668},{ -529,-1288,-1218,-1288,-1338},{ -859,-1618,-1548,-1618,-1668},{ -409,-1168,-1098,-1168,-1218}} +}, +{ +/* CG.@..AU */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.A..AU */ +{{ DEF,-1029, -949,-1029,-1029},{ -479,-1458,-1378,-1458,-1458},{ -309,-1288,-1208,-1288,-1288},{ -389,-1368,-1288,-1368,-1368},{ -379,-1358,-1278,-1358,-1358}}, +/* CG.C..AU */ +{{ DEF, -519, -449, -519, -669},{ -649,-1118,-1048,-1118,-1268},{ -289, -758, -688, -758, -908},{ -739,-1208,-1138,-1208,-1358},{ -379, -848, -778, -848, -998}}, +/* CG.G..AU */ +{{ DEF, -939, -939, -939, -939},{ -649,-1538,-1538,-1538,-1538},{ -289,-1178,-1178,-1178,-1178},{ -739,-1628,-1628,-1628,-1628},{ -379,-1268,-1268,-1268,-1268}}, +/* CG.U..AU */ +{{ DEF, -809, -739, -809, -859},{ -649,-1408,-1338,-1408,-1458},{ -289,-1048, -978,-1048,-1098},{ -739,-1498,-1428,-1498,-1548},{ -379,-1138,-1068,-1138,-1188}} +}, +{ +/* CG.@..UA */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.A..UA */ +{{ DEF,-1029, -949,-1029,-1029},{ -449,-1428,-1348,-1428,-1428},{ -479,-1458,-1378,-1458,-1458},{ -429,-1408,-1328,-1408,-1408},{ -329,-1308,-1228,-1308,-1308}}, +/* CG.C..UA */ +{{ DEF, -519, -449, -519, -669},{ -679,-1148,-1078,-1148,-1298},{ -559,-1028, -958,-1028,-1178},{ -729,-1198,-1128,-1198,-1348},{ -189, -658, -588, -658, -808}}, +/* CG.G..UA */ +{{ DEF, -939, -939, -939, -939},{ -939,-1828,-1828,-1828,-1828},{ -249,-1138,-1138,-1138,-1138},{ -939,-1828,-1828,-1828,-1828},{ -329,-1218,-1218,-1218,-1218}}, +/* CG.U..UA */ +{{ DEF, -809, -739, -809, -859},{ -639,-1398,-1328,-1398,-1448},{ -229, -988, -918, -988,-1038},{ -729,-1488,-1418,-1488,-1538},{ -190, -949, -879, -949, -999}} +}, +{ +/* CG.@.. @ */ +{{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.A.. @ */ +{{ -100,-1079, -999,-1079,-1079},{ -100,-1079, -999,-1079,-1079},{ -100,-1079, -999,-1079,-1079},{ -100,-1079, -999,-1079,-1079},{ -100,-1079, -999,-1079,-1079}}, +/* CG.C.. @ */ +{{ -100, -569, -499, -569, -719},{ -100, -569, -499, -569, -719},{ -100, -569, -499, -569, -719},{ -100, -569, -499, -569, -719},{ -100, -569, -499, -569, -719}}, +/* CG.G.. @ */ +{{ -100, -989, -989, -989, -989},{ -100, -989, -989, -989, -989},{ -100, -989, -989, -989, -989},{ -100, -989, -989, -989, -989},{ -100, -989, -989, -989, -989}}, +/* CG.U.. @ */ +{{ -100, -859, -789, -859, -909},{ -100, -859, -789, -859, -909},{ -100, -859, -789, -859, -909},{ -100, -859, -789, -859, -909},{ -100, -859, -789, -859, -909}} +} +}, +{ /* noPair */ {{{0}}}, +{ +/* GC.@..CG */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.A..CG */ +{{ DEF, -519, -879, -559, -879},{-1079,-1548,-1908,-1588,-1908},{ -569,-1038,-1398,-1078,-1398},{ -989,-1458,-1818,-1498,-1818},{ -859,-1328,-1688,-1368,-1688}}, +/* GC.C..CG */ +{{ DEF, -719, -309, -309, -389},{ -999,-1668,-1258,-1258,-1338},{ -499,-1168, -758, -758, -838},{ -989,-1658,-1248,-1248,-1328},{ -789,-1458,-1048,-1048,-1128}}, +/* GC.G..CG */ +{{ DEF, -709, -739, -619, -739},{-1079,-1738,-1768,-1648,-1768},{ -569,-1228,-1258,-1138,-1258},{ -989,-1648,-1678,-1558,-1678},{ -859,-1518,-1548,-1428,-1548}}, +/* GC.U..CG */ +{{ DEF, -499, -499, -499, -569},{-1079,-1528,-1528,-1528,-1598},{ -719,-1168,-1168,-1168,-1238},{ -989,-1438,-1438,-1438,-1508},{ -909,-1358,-1358,-1358,-1428}} +}, +{ +/* GC.@..GC */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.A..GC */ +{{ DEF, -519, -879, -559, -879},{ -569,-1038,-1398,-1078,-1398},{ -769,-1238,-1598,-1278,-1598},{ -759,-1228,-1588,-1268,-1588},{ -549,-1018,-1378,-1058,-1378}}, +/* GC.C..GC */ +{{ DEF, -719, -309, -309, -389},{ -929,-1598,-1188,-1188,-1268},{ -359,-1028, -618, -618, -698},{ -789,-1458,-1048,-1048,-1128},{ -549,-1218, -808, -808, -888}}, +/* GC.G..GC */ +{{ DEF, -709, -739, -619, -739},{ -609,-1268,-1298,-1178,-1298},{ -359,-1018,-1048, -928,-1048},{ -669,-1328,-1358,-1238,-1358},{ -549,-1208,-1238,-1118,-1238}}, +/* GC.U..GC */ +{{ DEF, -499, -499, -499, -569},{ -929,-1378,-1378,-1378,-1448},{ -439, -888, -888, -888, -958},{ -789,-1238,-1238,-1238,-1308},{ -619,-1068,-1068,-1068,-1138}} +}, +{ +/* GC.@..GU */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.A..GU */ +{{ DEF, -519, -879, -559, -879},{ -479, -948,-1308, -988,-1308},{ -309, -778,-1138, -818,-1138},{ -389, -858,-1218, -898,-1218},{ -379, -848,-1208, -888,-1208}}, +/* GC.C..GU */ +{{ DEF, -719, -309, -309, -389},{ -649,-1318, -908, -908, -988},{ -289, -958, -548, -548, -628},{ -739,-1408, -998, -998,-1078},{ -379,-1048, -638, -638, -718}}, +/* GC.G..GU */ +{{ DEF, -709, -739, -619, -739},{ -649,-1308,-1338,-1218,-1338},{ -289, -948, -978, -858, -978},{ -739,-1398,-1428,-1308,-1428},{ -379,-1038,-1068, -948,-1068}}, +/* GC.U..GU */ +{{ DEF, -499, -499, -499, -569},{ -649,-1098,-1098,-1098,-1168},{ -289, -738, -738, -738, -808},{ -739,-1188,-1188,-1188,-1258},{ -379, -828, -828, -828, -898}} +}, +{ +/* GC.@..UG */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.A..UG */ +{{ DEF, -519, -879, -559, -879},{ -769,-1238,-1598,-1278,-1598},{ -529, -998,-1358,-1038,-1358},{ -709,-1178,-1538,-1218,-1538},{ -599,-1068,-1428,-1108,-1428}}, +/* GC.C..UG */ +{{ DEF, -719, -309, -309, -389},{ -839,-1508,-1098,-1098,-1178},{ -529,-1198, -788, -788, -868},{ -859,-1528,-1118,-1118,-1198},{ -489,-1158, -748, -748, -828}}, +/* GC.G..UG */ +{{ DEF, -709, -739, -619, -739},{-1009,-1668,-1698,-1578,-1698},{ -409,-1068,-1098, -978,-1098},{ -969,-1628,-1658,-1538,-1658},{ -599,-1258,-1288,-1168,-1288}}, +/* GC.U..UG */ +{{ DEF, -499, -499, -499, -569},{ -859,-1308,-1308,-1308,-1378},{ -529, -978, -978, -978,-1048},{ -859,-1308,-1308,-1308,-1378},{ -409, -858, -858, -858, -928}} +}, +{ +/* GC.@..AU */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.A..AU */ +{{ DEF, -519, -879, -559, -879},{ -479, -948,-1308, -988,-1308},{ -309, -778,-1138, -818,-1138},{ -389, -858,-1218, -898,-1218},{ -379, -848,-1208, -888,-1208}}, +/* GC.C..AU */ +{{ DEF, -719, -309, -309, -389},{ -649,-1318, -908, -908, -988},{ -289, -958, -548, -548, -628},{ -739,-1408, -998, -998,-1078},{ -379,-1048, -638, -638, -718}}, +/* GC.G..AU */ +{{ DEF, -709, -739, -619, -739},{ -649,-1308,-1338,-1218,-1338},{ -289, -948, -978, -858, -978},{ -739,-1398,-1428,-1308,-1428},{ -379,-1038,-1068, -948,-1068}}, +/* GC.U..AU */ +{{ DEF, -499, -499, -499, -569},{ -649,-1098,-1098,-1098,-1168},{ -289, -738, -738, -738, -808},{ -739,-1188,-1188,-1188,-1258},{ -379, -828, -828, -828, -898}} +}, +{ +/* GC.@..UA */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.A..UA */ +{{ DEF, -519, -879, -559, -879},{ -449, -918,-1278, -958,-1278},{ -479, -948,-1308, -988,-1308},{ -429, -898,-1258, -938,-1258},{ -329, -798,-1158, -838,-1158}}, +/* GC.C..UA */ +{{ DEF, -719, -309, -309, -389},{ -679,-1348, -938, -938,-1018},{ -559,-1228, -818, -818, -898},{ -729,-1398, -988, -988,-1068},{ -189, -858, -448, -448, -528}}, +/* GC.G..UA */ +{{ DEF, -709, -739, -619, -739},{ -939,-1598,-1628,-1508,-1628},{ -249, -908, -938, -818, -938},{ -939,-1598,-1628,-1508,-1628},{ -329, -988,-1018, -898,-1018}}, +/* GC.U..UA */ +{{ DEF, -499, -499, -499, -569},{ -639,-1088,-1088,-1088,-1158},{ -229, -678, -678, -678, -748},{ -729,-1178,-1178,-1178,-1248},{ -190, -639, -639, -639, -709}} +}, +{ +/* GC.@.. @ */ +{{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.A.. @ */ +{{ -100, -569, -929, -609, -929},{ -100, -569, -929, -609, -929},{ -100, -569, -929, -609, -929},{ -100, -569, -929, -609, -929},{ -100, -569, -929, -609, -929}}, +/* GC.C.. @ */ +{{ -100, -769, -359, -359, -439},{ -100, -769, -359, -359, -439},{ -100, -769, -359, -359, -439},{ -100, -769, -359, -359, -439},{ -100, -769, -359, -359, -439}}, +/* GC.G.. @ */ +{{ -100, -759, -789, -669, -789},{ -100, -759, -789, -669, -789},{ -100, -759, -789, -669, -789},{ -100, -759, -789, -669, -789},{ -100, -759, -789, -669, -789}}, +/* GC.U.. @ */ +{{ -100, -549, -549, -549, -619},{ -100, -549, -549, -549, -619},{ -100, -549, -549, -549, -619},{ -100, -549, -549, -549, -619},{ -100, -549, -549, -549, -619}} +} +}, +{ /* noPair */ {{{0}}}, +{ +/* GU.@..CG */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.A..CG */ +{{ DEF, -429, -599, -599, -599},{-1079,-1458,-1628,-1628,-1628},{ -569, -948,-1118,-1118,-1118},{ -989,-1368,-1538,-1538,-1538},{ -859,-1238,-1408,-1408,-1408}}, +/* GU.C..CG */ +{{ DEF, -259, -239, -239, -239},{ -999,-1208,-1188,-1188,-1188},{ -499, -708, -688, -688, -688},{ -989,-1198,-1178,-1178,-1178},{ -789, -998, -978, -978, -978}}, +/* GU.G..CG */ +{{ DEF, -339, -689, -689, -689},{-1079,-1368,-1718,-1718,-1718},{ -569, -858,-1208,-1208,-1208},{ -989,-1278,-1628,-1628,-1628},{ -859,-1148,-1498,-1498,-1498}}, +/* GU.U..CG */ +{{ DEF, -329, -329, -329, -329},{-1079,-1358,-1358,-1358,-1358},{ -719, -998, -998, -998, -998},{ -989,-1268,-1268,-1268,-1268},{ -909,-1188,-1188,-1188,-1188}} +}, +{ +/* GU.@..GC */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.A..GC */ +{{ DEF, -429, -599, -599, -599},{ -569, -948,-1118,-1118,-1118},{ -769,-1148,-1318,-1318,-1318},{ -759,-1138,-1308,-1308,-1308},{ -549, -928,-1098,-1098,-1098}}, +/* GU.C..GC */ +{{ DEF, -259, -239, -239, -239},{ -929,-1138,-1118,-1118,-1118},{ -359, -568, -548, -548, -548},{ -789, -998, -978, -978, -978},{ -549, -758, -738, -738, -738}}, +/* GU.G..GC */ +{{ DEF, -339, -689, -689, -689},{ -609, -898,-1248,-1248,-1248},{ -359, -648, -998, -998, -998},{ -669, -958,-1308,-1308,-1308},{ -549, -838,-1188,-1188,-1188}}, +/* GU.U..GC */ +{{ DEF, -329, -329, -329, -329},{ -929,-1208,-1208,-1208,-1208},{ -439, -718, -718, -718, -718},{ -789,-1068,-1068,-1068,-1068},{ -619, -898, -898, -898, -898}} +}, +{ +/* GU.@..GU */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.A..GU */ +{{ DEF, -429, -599, -599, -599},{ -479, -858,-1028,-1028,-1028},{ -309, -688, -858, -858, -858},{ -389, -768, -938, -938, -938},{ -379, -758, -928, -928, -928}}, +/* GU.C..GU */ +{{ DEF, -259, -239, -239, -239},{ -649, -858, -838, -838, -838},{ -289, -498, -478, -478, -478},{ -739, -948, -928, -928, -928},{ -379, -588, -568, -568, -568}}, +/* GU.G..GU */ +{{ DEF, -339, -689, -689, -689},{ -649, -938,-1288,-1288,-1288},{ -289, -578, -928, -928, -928},{ -739,-1028,-1378,-1378,-1378},{ -379, -668,-1018,-1018,-1018}}, +/* GU.U..GU */ +{{ DEF, -329, -329, -329, -329},{ -649, -928, -928, -928, -928},{ -289, -568, -568, -568, -568},{ -739,-1018,-1018,-1018,-1018},{ -379, -658, -658, -658, -658}} +}, +{ +/* GU.@..UG */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.A..UG */ +{{ DEF, -429, -599, -599, -599},{ -769,-1148,-1318,-1318,-1318},{ -529, -908,-1078,-1078,-1078},{ -709,-1088,-1258,-1258,-1258},{ -599, -978,-1148,-1148,-1148}}, +/* GU.C..UG */ +{{ DEF, -259, -239, -239, -239},{ -839,-1048,-1028,-1028,-1028},{ -529, -738, -718, -718, -718},{ -859,-1068,-1048,-1048,-1048},{ -489, -698, -678, -678, -678}}, +/* GU.G..UG */ +{{ DEF, -339, -689, -689, -689},{-1009,-1298,-1648,-1648,-1648},{ -409, -698,-1048,-1048,-1048},{ -969,-1258,-1608,-1608,-1608},{ -599, -888,-1238,-1238,-1238}}, +/* GU.U..UG */ +{{ DEF, -329, -329, -329, -329},{ -859,-1138,-1138,-1138,-1138},{ -529, -808, -808, -808, -808},{ -859,-1138,-1138,-1138,-1138},{ -409, -688, -688, -688, -688}} +}, +{ +/* GU.@..AU */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.A..AU */ +{{ DEF, -429, -599, -599, -599},{ -479, -858,-1028,-1028,-1028},{ -309, -688, -858, -858, -858},{ -389, -768, -938, -938, -938},{ -379, -758, -928, -928, -928}}, +/* GU.C..AU */ +{{ DEF, -259, -239, -239, -239},{ -649, -858, -838, -838, -838},{ -289, -498, -478, -478, -478},{ -739, -948, -928, -928, -928},{ -379, -588, -568, -568, -568}}, +/* GU.G..AU */ +{{ DEF, -339, -689, -689, -689},{ -649, -938,-1288,-1288,-1288},{ -289, -578, -928, -928, -928},{ -739,-1028,-1378,-1378,-1378},{ -379, -668,-1018,-1018,-1018}}, +/* GU.U..AU */ +{{ DEF, -329, -329, -329, -329},{ -649, -928, -928, -928, -928},{ -289, -568, -568, -568, -568},{ -739,-1018,-1018,-1018,-1018},{ -379, -658, -658, -658, -658}} +}, +{ +/* GU.@..UA */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.A..UA */ +{{ DEF, -429, -599, -599, -599},{ -449, -828, -998, -998, -998},{ -479, -858,-1028,-1028,-1028},{ -429, -808, -978, -978, -978},{ -329, -708, -878, -878, -878}}, +/* GU.C..UA */ +{{ DEF, -259, -239, -239, -239},{ -679, -888, -868, -868, -868},{ -559, -768, -748, -748, -748},{ -729, -938, -918, -918, -918},{ -189, -398, -378, -378, -378}}, +/* GU.G..UA */ +{{ DEF, -339, -689, -689, -689},{ -939,-1228,-1578,-1578,-1578},{ -249, -538, -888, -888, -888},{ -939,-1228,-1578,-1578,-1578},{ -329, -618, -968, -968, -968}}, +/* GU.U..UA */ +{{ DEF, -329, -329, -329, -329},{ -639, -918, -918, -918, -918},{ -229, -508, -508, -508, -508},{ -729,-1008,-1008,-1008,-1008},{ -190, -469, -469, -469, -469}} +}, +{ +/* GU.@.. @ */ +{{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.A.. @ */ +{{ -100, -479, -649, -649, -649},{ -100, -479, -649, -649, -649},{ -100, -479, -649, -649, -649},{ -100, -479, -649, -649, -649},{ -100, -479, -649, -649, -649}}, +/* GU.C.. @ */ +{{ -100, -309, -289, -289, -289},{ -100, -309, -289, -289, -289},{ -100, -309, -289, -289, -289},{ -100, -309, -289, -289, -289},{ -100, -309, -289, -289, -289}}, +/* GU.G.. @ */ +{{ -100, -389, -739, -739, -739},{ -100, -389, -739, -739, -739},{ -100, -389, -739, -739, -739},{ -100, -389, -739, -739, -739},{ -100, -389, -739, -739, -739}}, +/* GU.U.. @ */ +{{ -100, -379, -379, -379, -379},{ -100, -379, -379, -379, -379},{ -100, -379, -379, -379, -379},{ -100, -379, -379, -379, -379},{ -100, -379, -379, -379, -379}} +} +}, +{ /* noPair */ {{{0}}}, +{ +/* UG.@..CG */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.A..CG */ +{{ DEF, -719, -789, -959, -809},{-1079,-1748,-1818,-1988,-1838},{ -569,-1238,-1308,-1478,-1328},{ -989,-1658,-1728,-1898,-1748},{ -859,-1528,-1598,-1768,-1618}}, +/* UG.C..CG */ +{{ DEF, -479, -479, -359, -479},{ -999,-1428,-1428,-1308,-1428},{ -499, -928, -928, -808, -928},{ -989,-1418,-1418,-1298,-1418},{ -789,-1218,-1218,-1098,-1218}}, +/* UG.G..CG */ +{{ DEF, -659, -809, -919, -809},{-1079,-1688,-1838,-1948,-1838},{ -569,-1178,-1328,-1438,-1328},{ -989,-1598,-1748,-1858,-1748},{ -859,-1468,-1618,-1728,-1618}}, +/* UG.U..CG */ +{{ DEF, -549, -439, -549, -359},{-1079,-1578,-1468,-1578,-1388},{ -719,-1218,-1108,-1218,-1028},{ -989,-1488,-1378,-1488,-1298},{ -909,-1408,-1298,-1408,-1218}} +}, +{ +/* UG.@..GC */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.A..GC */ +{{ DEF, -719, -789, -959, -809},{ -569,-1238,-1308,-1478,-1328},{ -769,-1438,-1508,-1678,-1528},{ -759,-1428,-1498,-1668,-1518},{ -549,-1218,-1288,-1458,-1308}}, +/* UG.C..GC */ +{{ DEF, -479, -479, -359, -479},{ -929,-1358,-1358,-1238,-1358},{ -359, -788, -788, -668, -788},{ -789,-1218,-1218,-1098,-1218},{ -549, -978, -978, -858, -978}}, +/* UG.G..GC */ +{{ DEF, -659, -809, -919, -809},{ -609,-1218,-1368,-1478,-1368},{ -359, -968,-1118,-1228,-1118},{ -669,-1278,-1428,-1538,-1428},{ -549,-1158,-1308,-1418,-1308}}, +/* UG.U..GC */ +{{ DEF, -549, -439, -549, -359},{ -929,-1428,-1318,-1428,-1238},{ -439, -938, -828, -938, -748},{ -789,-1288,-1178,-1288,-1098},{ -619,-1118,-1008,-1118, -928}} +}, +{ +/* UG.@..GU */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.A..GU */ +{{ DEF, -719, -789, -959, -809},{ -479,-1148,-1218,-1388,-1238},{ -309, -978,-1048,-1218,-1068},{ -389,-1058,-1128,-1298,-1148},{ -379,-1048,-1118,-1288,-1138}}, +/* UG.C..GU */ +{{ DEF, -479, -479, -359, -479},{ -649,-1078,-1078, -958,-1078},{ -289, -718, -718, -598, -718},{ -739,-1168,-1168,-1048,-1168},{ -379, -808, -808, -688, -808}}, +/* UG.G..GU */ +{{ DEF, -659, -809, -919, -809},{ -649,-1258,-1408,-1518,-1408},{ -289, -898,-1048,-1158,-1048},{ -739,-1348,-1498,-1608,-1498},{ -379, -988,-1138,-1248,-1138}}, +/* UG.U..GU */ +{{ DEF, -549, -439, -549, -359},{ -649,-1148,-1038,-1148, -958},{ -289, -788, -678, -788, -598},{ -739,-1238,-1128,-1238,-1048},{ -379, -878, -768, -878, -688}} +}, +{ +/* UG.@..UG */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.A..UG */ +{{ DEF, -719, -789, -959, -809},{ -769,-1438,-1508,-1678,-1528},{ -529,-1198,-1268,-1438,-1288},{ -709,-1378,-1448,-1618,-1468},{ -599,-1268,-1338,-1508,-1358}}, +/* UG.C..UG */ +{{ DEF, -479, -479, -359, -479},{ -839,-1268,-1268,-1148,-1268},{ -529, -958, -958, -838, -958},{ -859,-1288,-1288,-1168,-1288},{ -489, -918, -918, -798, -918}}, +/* UG.G..UG */ +{{ DEF, -659, -809, -919, -809},{-1009,-1618,-1768,-1878,-1768},{ -409,-1018,-1168,-1278,-1168},{ -969,-1578,-1728,-1838,-1728},{ -599,-1208,-1358,-1468,-1358}}, +/* UG.U..UG */ +{{ DEF, -549, -439, -549, -359},{ -859,-1358,-1248,-1358,-1168},{ -529,-1028, -918,-1028, -838},{ -859,-1358,-1248,-1358,-1168},{ -409, -908, -798, -908, -718}} +}, +{ +/* UG.@..AU */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.A..AU */ +{{ DEF, -719, -789, -959, -809},{ -479,-1148,-1218,-1388,-1238},{ -309, -978,-1048,-1218,-1068},{ -389,-1058,-1128,-1298,-1148},{ -379,-1048,-1118,-1288,-1138}}, +/* UG.C..AU */ +{{ DEF, -479, -479, -359, -479},{ -649,-1078,-1078, -958,-1078},{ -289, -718, -718, -598, -718},{ -739,-1168,-1168,-1048,-1168},{ -379, -808, -808, -688, -808}}, +/* UG.G..AU */ +{{ DEF, -659, -809, -919, -809},{ -649,-1258,-1408,-1518,-1408},{ -289, -898,-1048,-1158,-1048},{ -739,-1348,-1498,-1608,-1498},{ -379, -988,-1138,-1248,-1138}}, +/* UG.U..AU */ +{{ DEF, -549, -439, -549, -359},{ -649,-1148,-1038,-1148, -958},{ -289, -788, -678, -788, -598},{ -739,-1238,-1128,-1238,-1048},{ -379, -878, -768, -878, -688}} +}, +{ +/* UG.@..UA */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.A..UA */ +{{ DEF, -719, -789, -959, -809},{ -449,-1118,-1188,-1358,-1208},{ -479,-1148,-1218,-1388,-1238},{ -429,-1098,-1168,-1338,-1188},{ -329, -998,-1068,-1238,-1088}}, +/* UG.C..UA */ +{{ DEF, -479, -479, -359, -479},{ -679,-1108,-1108, -988,-1108},{ -559, -988, -988, -868, -988},{ -729,-1158,-1158,-1038,-1158},{ -189, -618, -618, -498, -618}}, +/* UG.G..UA */ +{{ DEF, -659, -809, -919, -809},{ -939,-1548,-1698,-1808,-1698},{ -249, -858,-1008,-1118,-1008},{ -939,-1548,-1698,-1808,-1698},{ -329, -938,-1088,-1198,-1088}}, +/* UG.U..UA */ +{{ DEF, -549, -439, -549, -359},{ -639,-1138,-1028,-1138, -948},{ -229, -728, -618, -728, -538},{ -729,-1228,-1118,-1228,-1038},{ -190, -689, -579, -689, -499}} +}, +{ +/* UG.@.. @ */ +{{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.A.. @ */ +{{ -100, -769, -839,-1009, -859},{ -100, -769, -839,-1009, -859},{ -100, -769, -839,-1009, -859},{ -100, -769, -839,-1009, -859},{ -100, -769, -839,-1009, -859}}, +/* UG.C.. @ */ +{{ -100, -529, -529, -409, -529},{ -100, -529, -529, -409, -529},{ -100, -529, -529, -409, -529},{ -100, -529, -529, -409, -529},{ -100, -529, -529, -409, -529}}, +/* UG.G.. @ */ +{{ -100, -709, -859, -969, -859},{ -100, -709, -859, -969, -859},{ -100, -709, -859, -969, -859},{ -100, -709, -859, -969, -859},{ -100, -709, -859, -969, -859}}, +/* UG.U.. @ */ +{{ -100, -599, -489, -599, -409},{ -100, -599, -489, -599, -409},{ -100, -599, -489, -599, -409},{ -100, -599, -489, -599, -409},{ -100, -599, -489, -599, -409}} +} +}, +{ /* noPair */ {{{0}}}, +{ +/* AU.@..CG */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.A..CG */ +{{ DEF, -429, -599, -599, -599},{-1079,-1458,-1628,-1628,-1628},{ -569, -948,-1118,-1118,-1118},{ -989,-1368,-1538,-1538,-1538},{ -859,-1238,-1408,-1408,-1408}}, +/* AU.C..CG */ +{{ DEF, -259, -239, -239, -239},{ -999,-1208,-1188,-1188,-1188},{ -499, -708, -688, -688, -688},{ -989,-1198,-1178,-1178,-1178},{ -789, -998, -978, -978, -978}}, +/* AU.G..CG */ +{{ DEF, -339, -689, -689, -689},{-1079,-1368,-1718,-1718,-1718},{ -569, -858,-1208,-1208,-1208},{ -989,-1278,-1628,-1628,-1628},{ -859,-1148,-1498,-1498,-1498}}, +/* AU.U..CG */ +{{ DEF, -329, -329, -329, -329},{-1079,-1358,-1358,-1358,-1358},{ -719, -998, -998, -998, -998},{ -989,-1268,-1268,-1268,-1268},{ -909,-1188,-1188,-1188,-1188}} +}, +{ +/* AU.@..GC */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.A..GC */ +{{ DEF, -429, -599, -599, -599},{ -569, -948,-1118,-1118,-1118},{ -769,-1148,-1318,-1318,-1318},{ -759,-1138,-1308,-1308,-1308},{ -549, -928,-1098,-1098,-1098}}, +/* AU.C..GC */ +{{ DEF, -259, -239, -239, -239},{ -929,-1138,-1118,-1118,-1118},{ -359, -568, -548, -548, -548},{ -789, -998, -978, -978, -978},{ -549, -758, -738, -738, -738}}, +/* AU.G..GC */ +{{ DEF, -339, -689, -689, -689},{ -609, -898,-1248,-1248,-1248},{ -359, -648, -998, -998, -998},{ -669, -958,-1308,-1308,-1308},{ -549, -838,-1188,-1188,-1188}}, +/* AU.U..GC */ +{{ DEF, -329, -329, -329, -329},{ -929,-1208,-1208,-1208,-1208},{ -439, -718, -718, -718, -718},{ -789,-1068,-1068,-1068,-1068},{ -619, -898, -898, -898, -898}} +}, +{ +/* AU.@..GU */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.A..GU */ +{{ DEF, -429, -599, -599, -599},{ -479, -858,-1028,-1028,-1028},{ -309, -688, -858, -858, -858},{ -389, -768, -938, -938, -938},{ -379, -758, -928, -928, -928}}, +/* AU.C..GU */ +{{ DEF, -259, -239, -239, -239},{ -649, -858, -838, -838, -838},{ -289, -498, -478, -478, -478},{ -739, -948, -928, -928, -928},{ -379, -588, -568, -568, -568}}, +/* AU.G..GU */ +{{ DEF, -339, -689, -689, -689},{ -649, -938,-1288,-1288,-1288},{ -289, -578, -928, -928, -928},{ -739,-1028,-1378,-1378,-1378},{ -379, -668,-1018,-1018,-1018}}, +/* AU.U..GU */ +{{ DEF, -329, -329, -329, -329},{ -649, -928, -928, -928, -928},{ -289, -568, -568, -568, -568},{ -739,-1018,-1018,-1018,-1018},{ -379, -658, -658, -658, -658}} +}, +{ +/* AU.@..UG */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.A..UG */ +{{ DEF, -429, -599, -599, -599},{ -769,-1148,-1318,-1318,-1318},{ -529, -908,-1078,-1078,-1078},{ -709,-1088,-1258,-1258,-1258},{ -599, -978,-1148,-1148,-1148}}, +/* AU.C..UG */ +{{ DEF, -259, -239, -239, -239},{ -839,-1048,-1028,-1028,-1028},{ -529, -738, -718, -718, -718},{ -859,-1068,-1048,-1048,-1048},{ -489, -698, -678, -678, -678}}, +/* AU.G..UG */ +{{ DEF, -339, -689, -689, -689},{-1009,-1298,-1648,-1648,-1648},{ -409, -698,-1048,-1048,-1048},{ -969,-1258,-1608,-1608,-1608},{ -599, -888,-1238,-1238,-1238}}, +/* AU.U..UG */ +{{ DEF, -329, -329, -329, -329},{ -859,-1138,-1138,-1138,-1138},{ -529, -808, -808, -808, -808},{ -859,-1138,-1138,-1138,-1138},{ -409, -688, -688, -688, -688}} +}, +{ +/* AU.@..AU */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.A..AU */ +{{ DEF, -429, -599, -599, -599},{ -479, -858,-1028,-1028,-1028},{ -309, -688, -858, -858, -858},{ -389, -768, -938, -938, -938},{ -379, -758, -928, -928, -928}}, +/* AU.C..AU */ +{{ DEF, -259, -239, -239, -239},{ -649, -858, -838, -838, -838},{ -289, -498, -478, -478, -478},{ -739, -948, -928, -928, -928},{ -379, -588, -568, -568, -568}}, +/* AU.G..AU */ +{{ DEF, -339, -689, -689, -689},{ -649, -938,-1288,-1288,-1288},{ -289, -578, -928, -928, -928},{ -739,-1028,-1378,-1378,-1378},{ -379, -668,-1018,-1018,-1018}}, +/* AU.U..AU */ +{{ DEF, -329, -329, -329, -329},{ -649, -928, -928, -928, -928},{ -289, -568, -568, -568, -568},{ -739,-1018,-1018,-1018,-1018},{ -379, -658, -658, -658, -658}} +}, +{ +/* AU.@..UA */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.A..UA */ +{{ DEF, -429, -599, -599, -599},{ -449, -828, -998, -998, -998},{ -479, -858,-1028,-1028,-1028},{ -429, -808, -978, -978, -978},{ -329, -708, -878, -878, -878}}, +/* AU.C..UA */ +{{ DEF, -259, -239, -239, -239},{ -679, -888, -868, -868, -868},{ -559, -768, -748, -748, -748},{ -729, -938, -918, -918, -918},{ -189, -398, -378, -378, -378}}, +/* AU.G..UA */ +{{ DEF, -339, -689, -689, -689},{ -939,-1228,-1578,-1578,-1578},{ -249, -538, -888, -888, -888},{ -939,-1228,-1578,-1578,-1578},{ -329, -618, -968, -968, -968}}, +/* AU.U..UA */ +{{ DEF, -329, -329, -329, -329},{ -639, -918, -918, -918, -918},{ -229, -508, -508, -508, -508},{ -729,-1008,-1008,-1008,-1008},{ -190, -469, -469, -469, -469}} +}, +{ +/* AU.@.. @ */ +{{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.A.. @ */ +{{ -100, -479, -649, -649, -649},{ -100, -479, -649, -649, -649},{ -100, -479, -649, -649, -649},{ -100, -479, -649, -649, -649},{ -100, -479, -649, -649, -649}}, +/* AU.C.. @ */ +{{ -100, -309, -289, -289, -289},{ -100, -309, -289, -289, -289},{ -100, -309, -289, -289, -289},{ -100, -309, -289, -289, -289},{ -100, -309, -289, -289, -289}}, +/* AU.G.. @ */ +{{ -100, -389, -739, -739, -739},{ -100, -389, -739, -739, -739},{ -100, -389, -739, -739, -739},{ -100, -389, -739, -739, -739},{ -100, -389, -739, -739, -739}}, +/* AU.U.. @ */ +{{ -100, -379, -379, -379, -379},{ -100, -379, -379, -379, -379},{ -100, -379, -379, -379, -379},{ -100, -379, -379, -379, -379},{ -100, -379, -379, -379, -379}} +} +}, +{ /* noPair */ {{{0}}}, +{ +/* UA.@..CG */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.A..CG */ +{{ DEF, -399, -629, -889, -589},{-1079,-1428,-1658,-1918,-1618},{ -569, -918,-1148,-1408,-1108},{ -989,-1338,-1568,-1828,-1528},{ -859,-1208,-1438,-1698,-1398}}, +/* UA.C..CG */ +{{ DEF, -429, -509, -199, -179},{ -999,-1378,-1458,-1148,-1128},{ -499, -878, -958, -648, -628},{ -989,-1368,-1448,-1138,-1118},{ -789,-1168,-1248, -938, -918}}, +/* UA.G..CG */ +{{ DEF, -379, -679, -889, -679},{-1079,-1408,-1708,-1918,-1708},{ -569, -898,-1198,-1408,-1198},{ -989,-1318,-1618,-1828,-1618},{ -859,-1188,-1488,-1698,-1488}}, +/* UA.U..CG */ +{{ DEF, -279, -139, -279, -140},{-1079,-1308,-1168,-1308,-1169},{ -719, -948, -808, -948, -809},{ -989,-1218,-1078,-1218,-1079},{ -909,-1138, -998,-1138, -999}} +}, +{ +/* UA.@..GC */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.A..GC */ +{{ DEF, -399, -629, -889, -589},{ -569, -918,-1148,-1408,-1108},{ -769,-1118,-1348,-1608,-1308},{ -759,-1108,-1338,-1598,-1298},{ -549, -898,-1128,-1388,-1088}}, +/* UA.C..GC */ +{{ DEF, -429, -509, -199, -179},{ -929,-1308,-1388,-1078,-1058},{ -359, -738, -818, -508, -488},{ -789,-1168,-1248, -938, -918},{ -549, -928,-1008, -698, -678}}, +/* UA.G..GC */ +{{ DEF, -379, -679, -889, -679},{ -609, -938,-1238,-1448,-1238},{ -359, -688, -988,-1198, -988},{ -669, -998,-1298,-1508,-1298},{ -549, -878,-1178,-1388,-1178}}, +/* UA.U..GC */ +{{ DEF, -279, -139, -279, -140},{ -929,-1158,-1018,-1158,-1019},{ -439, -668, -528, -668, -529},{ -789,-1018, -878,-1018, -879},{ -619, -848, -708, -848, -709}} +}, +{ +/* UA.@..GU */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.A..GU */ +{{ DEF, -399, -629, -889, -589},{ -479, -828,-1058,-1318,-1018},{ -309, -658, -888,-1148, -848},{ -389, -738, -968,-1228, -928},{ -379, -728, -958,-1218, -918}}, +/* UA.C..GU */ +{{ DEF, -429, -509, -199, -179},{ -649,-1028,-1108, -798, -778},{ -289, -668, -748, -438, -418},{ -739,-1118,-1198, -888, -868},{ -379, -758, -838, -528, -508}}, +/* UA.G..GU */ +{{ DEF, -379, -679, -889, -679},{ -649, -978,-1278,-1488,-1278},{ -289, -618, -918,-1128, -918},{ -739,-1068,-1368,-1578,-1368},{ -379, -708,-1008,-1218,-1008}}, +/* UA.U..GU */ +{{ DEF, -279, -139, -279, -140},{ -649, -878, -738, -878, -739},{ -289, -518, -378, -518, -379},{ -739, -968, -828, -968, -829},{ -379, -608, -468, -608, -469}} +}, +{ +/* UA.@..UG */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.A..UG */ +{{ DEF, -399, -629, -889, -589},{ -769,-1118,-1348,-1608,-1308},{ -529, -878,-1108,-1368,-1068},{ -709,-1058,-1288,-1548,-1248},{ -599, -948,-1178,-1438,-1138}}, +/* UA.C..UG */ +{{ DEF, -429, -509, -199, -179},{ -839,-1218,-1298, -988, -968},{ -529, -908, -988, -678, -658},{ -859,-1238,-1318,-1008, -988},{ -489, -868, -948, -638, -618}}, +/* UA.G..UG */ +{{ DEF, -379, -679, -889, -679},{-1009,-1338,-1638,-1848,-1638},{ -409, -738,-1038,-1248,-1038},{ -969,-1298,-1598,-1808,-1598},{ -599, -928,-1228,-1438,-1228}}, +/* UA.U..UG */ +{{ DEF, -279, -139, -279, -140},{ -859,-1088, -948,-1088, -949},{ -529, -758, -618, -758, -619},{ -859,-1088, -948,-1088, -949},{ -409, -638, -498, -638, -499}} +}, +{ +/* UA.@..AU */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.A..AU */ +{{ DEF, -399, -629, -889, -589},{ -479, -828,-1058,-1318,-1018},{ -309, -658, -888,-1148, -848},{ -389, -738, -968,-1228, -928},{ -379, -728, -958,-1218, -918}}, +/* UA.C..AU */ +{{ DEF, -429, -509, -199, -179},{ -649,-1028,-1108, -798, -778},{ -289, -668, -748, -438, -418},{ -739,-1118,-1198, -888, -868},{ -379, -758, -838, -528, -508}}, +/* UA.G..AU */ +{{ DEF, -379, -679, -889, -679},{ -649, -978,-1278,-1488,-1278},{ -289, -618, -918,-1128, -918},{ -739,-1068,-1368,-1578,-1368},{ -379, -708,-1008,-1218,-1008}}, +/* UA.U..AU */ +{{ DEF, -279, -139, -279, -140},{ -649, -878, -738, -878, -739},{ -289, -518, -378, -518, -379},{ -739, -968, -828, -968, -829},{ -379, -608, -468, -608, -469}} +}, +{ +/* UA.@..UA */ +{{ 0, 0, 0, 0, 0},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.A..UA */ +{{ DEF, -399, -629, -889, -589},{ -449, -798,-1028,-1288, -988},{ -479, -828,-1058,-1318,-1018},{ -429, -778,-1008,-1268, -968},{ -329, -678, -908,-1168, -868}}, +/* UA.C..UA */ +{{ DEF, -429, -509, -199, -179},{ -679,-1058,-1138, -828, -808},{ -559, -938,-1018, -708, -688},{ -729,-1108,-1188, -878, -858},{ -189, -568, -648, -338, -318}}, +/* UA.G..UA */ +{{ DEF, -379, -679, -889, -679},{ -939,-1268,-1568,-1778,-1568},{ -249, -578, -878,-1088, -878},{ -939,-1268,-1568,-1778,-1568},{ -329, -658, -958,-1168, -958}}, +/* UA.U..UA */ +{{ DEF, -279, -139, -279, -140},{ -639, -868, -728, -868, -729},{ -229, -458, -318, -458, -319},{ -729, -958, -818, -958, -819},{ -190, -419, -279, -419, -280}} +}, +{ +/* UA.@.. @ */ +{{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF},{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.A.. @ */ +{{ -100, -449, -679, -939, -639},{ -100, -449, -679, -939, -639},{ -100, -449, -679, -939, -639},{ -100, -449, -679, -939, -639},{ -100, -449, -679, -939, -639}}, +/* UA.C.. @ */ +{{ -100, -479, -559, -249, -229},{ -100, -479, -559, -249, -229},{ -100, -479, -559, -249, -229},{ -100, -479, -559, -249, -229},{ -100, -479, -559, -249, -229}}, +/* UA.G.. @ */ +{{ -100, -429, -729, -939, -729},{ -100, -429, -729, -939, -729},{ -100, -429, -729, -939, -729},{ -100, -429, -729, -939, -729},{ -100, -429, -729, -939, -729}}, +/* UA.U.. @ */ +{{ -100, -329, -189, -329, -190},{ -100, -329, -189, -329, -190},{ -100, -329, -189, -329, -190},{ -100, -329, -189, -329, -190},{ -100, -329, -189, -329, -190}} +} +}, +{ /* noPair */ {{{0}}}, +{ +/* @.@..CG */ +{{ DEF, DEF, DEF, DEF, DEF},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100}}, +/* @.A..CG */ +{{ DEF, DEF, DEF, DEF, DEF},{-1079,-1079,-1079,-1079,-1079},{ -569, -569, -569, -569, -569},{ -989, -989, -989, -989, -989},{ -859, -859, -859, -859, -859}}, +/* @.C..CG */ +{{ DEF, DEF, DEF, DEF, DEF},{ -999, -999, -999, -999, -999},{ -499, -499, -499, -499, -499},{ -989, -989, -989, -989, -989},{ -789, -789, -789, -789, -789}}, +/* @.G..CG */ +{{ DEF, DEF, DEF, DEF, DEF},{-1079,-1079,-1079,-1079,-1079},{ -569, -569, -569, -569, -569},{ -989, -989, -989, -989, -989},{ -859, -859, -859, -859, -859}}, +/* @.U..CG */ +{{ DEF, DEF, DEF, DEF, DEF},{-1079,-1079,-1079,-1079,-1079},{ -719, -719, -719, -719, -719},{ -989, -989, -989, -989, -989},{ -909, -909, -909, -909, -909}} +}, +{ +/* @.@..GC */ +{{ DEF, DEF, DEF, DEF, DEF},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100}}, +/* @.A..GC */ +{{ DEF, DEF, DEF, DEF, DEF},{ -569, -569, -569, -569, -569},{ -769, -769, -769, -769, -769},{ -759, -759, -759, -759, -759},{ -549, -549, -549, -549, -549}}, +/* @.C..GC */ +{{ DEF, DEF, DEF, DEF, DEF},{ -929, -929, -929, -929, -929},{ -359, -359, -359, -359, -359},{ -789, -789, -789, -789, -789},{ -549, -549, -549, -549, -549}}, +/* @.G..GC */ +{{ DEF, DEF, DEF, DEF, DEF},{ -609, -609, -609, -609, -609},{ -359, -359, -359, -359, -359},{ -669, -669, -669, -669, -669},{ -549, -549, -549, -549, -549}}, +/* @.U..GC */ +{{ DEF, DEF, DEF, DEF, DEF},{ -929, -929, -929, -929, -929},{ -439, -439, -439, -439, -439},{ -789, -789, -789, -789, -789},{ -619, -619, -619, -619, -619}} +}, +{ +/* @.@..GU */ +{{ DEF, DEF, DEF, DEF, DEF},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100}}, +/* @.A..GU */ +{{ DEF, DEF, DEF, DEF, DEF},{ -479, -479, -479, -479, -479},{ -309, -309, -309, -309, -309},{ -389, -389, -389, -389, -389},{ -379, -379, -379, -379, -379}}, +/* @.C..GU */ +{{ DEF, DEF, DEF, DEF, DEF},{ -649, -649, -649, -649, -649},{ -289, -289, -289, -289, -289},{ -739, -739, -739, -739, -739},{ -379, -379, -379, -379, -379}}, +/* @.G..GU */ +{{ DEF, DEF, DEF, DEF, DEF},{ -649, -649, -649, -649, -649},{ -289, -289, -289, -289, -289},{ -739, -739, -739, -739, -739},{ -379, -379, -379, -379, -379}}, +/* @.U..GU */ +{{ DEF, DEF, DEF, DEF, DEF},{ -649, -649, -649, -649, -649},{ -289, -289, -289, -289, -289},{ -739, -739, -739, -739, -739},{ -379, -379, -379, -379, -379}} +}, +{ +/* @.@..UG */ +{{ DEF, DEF, DEF, DEF, DEF},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100}}, +/* @.A..UG */ +{{ DEF, DEF, DEF, DEF, DEF},{ -769, -769, -769, -769, -769},{ -529, -529, -529, -529, -529},{ -709, -709, -709, -709, -709},{ -599, -599, -599, -599, -599}}, +/* @.C..UG */ +{{ DEF, DEF, DEF, DEF, DEF},{ -839, -839, -839, -839, -839},{ -529, -529, -529, -529, -529},{ -859, -859, -859, -859, -859},{ -489, -489, -489, -489, -489}}, +/* @.G..UG */ +{{ DEF, DEF, DEF, DEF, DEF},{-1009,-1009,-1009,-1009,-1009},{ -409, -409, -409, -409, -409},{ -969, -969, -969, -969, -969},{ -599, -599, -599, -599, -599}}, +/* @.U..UG */ +{{ DEF, DEF, DEF, DEF, DEF},{ -859, -859, -859, -859, -859},{ -529, -529, -529, -529, -529},{ -859, -859, -859, -859, -859},{ -409, -409, -409, -409, -409}} +}, +{ +/* @.@..AU */ +{{ DEF, DEF, DEF, DEF, DEF},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100}}, +/* @.A..AU */ +{{ DEF, DEF, DEF, DEF, DEF},{ -479, -479, -479, -479, -479},{ -309, -309, -309, -309, -309},{ -389, -389, -389, -389, -389},{ -379, -379, -379, -379, -379}}, +/* @.C..AU */ +{{ DEF, DEF, DEF, DEF, DEF},{ -649, -649, -649, -649, -649},{ -289, -289, -289, -289, -289},{ -739, -739, -739, -739, -739},{ -379, -379, -379, -379, -379}}, +/* @.G..AU */ +{{ DEF, DEF, DEF, DEF, DEF},{ -649, -649, -649, -649, -649},{ -289, -289, -289, -289, -289},{ -739, -739, -739, -739, -739},{ -379, -379, -379, -379, -379}}, +/* @.U..AU */ +{{ DEF, DEF, DEF, DEF, DEF},{ -649, -649, -649, -649, -649},{ -289, -289, -289, -289, -289},{ -739, -739, -739, -739, -739},{ -379, -379, -379, -379, -379}} +}, +{ +/* @.@..UA */ +{{ DEF, DEF, DEF, DEF, DEF},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100}}, +/* @.A..UA */ +{{ DEF, DEF, DEF, DEF, DEF},{ -449, -449, -449, -449, -449},{ -479, -479, -479, -479, -479},{ -429, -429, -429, -429, -429},{ -329, -329, -329, -329, -329}}, +/* @.C..UA */ +{{ DEF, DEF, DEF, DEF, DEF},{ -679, -679, -679, -679, -679},{ -559, -559, -559, -559, -559},{ -729, -729, -729, -729, -729},{ -189, -189, -189, -189, -189}}, +/* @.G..UA */ +{{ DEF, DEF, DEF, DEF, DEF},{ -939, -939, -939, -939, -939},{ -249, -249, -249, -249, -249},{ -939, -939, -939, -939, -939},{ -329, -329, -329, -329, -329}}, +/* @.U..UA */ +{{ DEF, DEF, DEF, DEF, DEF},{ -639, -639, -639, -639, -639},{ -229, -229, -229, -229, -229},{ -729, -729, -729, -729, -729},{ -190, -190, -190, -190, -190}} +}, +{ +/* @.@.. @ */ +{{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100}}, +/* @.A.. @ */ +{{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100}}, +/* @.C.. @ */ +{{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100}}, +/* @.G.. @ */ +{{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100}}, +/* @.U.. @ */ +{{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100},{ -100, -100, -100, -100, -100}} +} +} +}; + +PUBLIC int int22_37[NBPAIRS+1][NBPAIRS+1][5][5][5][5] = { +/* noPair */ {{{{{0}}}}}, +{ /* noPair */ {{{{0}}}}, +/* CG....CG */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 130, 160, 30, 200},{ 340, 120, 150, 20, 200},{ 340, 30, 60, -70, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 160, 200, 60, 200},{ 340, 210, 180, 150, 200},{ 340, 200, 200, 200, 200},{ 340, 190, 170, 130, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 30, 60, -70, 200},{ 340, 200, 200, 200, 200},{ 340, 100, 140, 0, 200},{ 340, -40, -110, -60, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 190, 170, 130, 200},{ 340, 110, 40, 90, 200},{ 340, 140, 80, 130, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 120, 210, 200, 190},{ 340, 110, 140, 200, 120},{ 340, 20, 150, 200, 130},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 180, 200, 170},{ 340, 140, 170, 200, 150},{ 340, 200, 200, 200, 200},{ 340, 120, 150, 200, 140}}, +{{ 340, 340, 340, 340, 340},{ 340, 20, 150, 200, 130},{ 340, 200, 200, 200, 200},{ 340, 90, 180, 200, 170},{ 340, -150, -20, 200, -40}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 120, 150, 200, 140},{ 340, 0, 130, 200, 110},{ 340, 30, 60, 200, 50}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 30, 200, 100, 110},{ 340, 20, 200, 90, 0},{ 340, -70, 200, 0, 90},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 60, 200, 140, 40},{ 340, 150, 200, 180, 130},{ 340, 200, 200, 200, 200},{ 340, 130, 200, 170, 110}}, +{{ 340, 340, 340, 340, 340},{ 340, -70, 200, 0, 90},{ 340, 200, 200, 200, 200},{ 340, 0, 200, 80, 90},{ 340, -60, 200, -70, -260}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 130, 200, 170, 110},{ 340, 90, 200, 90, -110},{ 340, 130, 200, 120, 110}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 190, -40, 140},{ 340, 200, 120, -150, 30},{ 340, 200, 130, -60, 130},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 170, -110, 80},{ 340, 200, 150, -20, 60},{ 340, 200, 200, 200, 200},{ 340, 200, 140, -40, 50}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 130, -60, 130},{ 340, 200, 200, 200, 200},{ 340, 200, 170, -70, 120},{ 340, 200, -40, -420, -50}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 140, -40, 50},{ 340, 200, 110, -260, 110},{ 340, 200, 50, -50, -40}} +} +}, +/* CG....GC */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 50, 60, 0, 200},{ 340, 110, 150, -70, 200},{ 340, -30, 10, -160, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 110, 110, -100, 200},{ 340, 170, 150, -60, 200},{ 340, 200, 200, 200, 200},{ 340, 70, 50, 20, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 40, 50, -70, 200},{ 340, 200, 200, 200, 200},{ 340, 100, 140, 0, 200},{ 340, 10, -70, -80, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 180, 150, 120, 200},{ 340, -50, -60, -60, 200},{ 340, 150, 0, 90, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 130, 220, 200, 200},{ 340, 100, 130, 200, 120},{ 340, -70, 70, 200, 40},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 100, 190, 200, 110},{ 340, 100, 130, 200, 120},{ 340, 200, 200, 200, 200},{ 340, 0, 30, 200, 170}}, +{{ 340, 340, 340, 340, 340},{ 340, 70, 70, 200, 100},{ 340, 200, 200, 200, 200},{ 340, 90, 180, 200, 170},{ 340, -190, -30, 200, -70}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 110, 140, 200, 120},{ 340, -150, -20, 200, -30},{ 340, -20, -10, 200, 20}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, -20, 200, 110, 90},{ 340, -40, 200, 90, 0},{ 340, -170, 200, -90, 30},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 70, 200, 80, -10},{ 340, 110, 200, 150, 100},{ 340, 200, 200, 200, 200},{ 340, 20, 200, 50, 0}}, +{{ 340, 340, 340, 340, 340},{ 340, -50, 200, -20, 60},{ 340, 200, 200, 200, 200},{ 340, 0, 200, 80, 90},{ 340, -90, 200, -100, -300}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 120, 200, 150, 100},{ 340, -130, 200, -60, -240},{ 340, 90, 200, 110, 60}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, -10, 140},{ 340, 200, 120, -160, 30},{ 340, 200, 40, -160, 50},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 110, -160, 30},{ 340, 200, 120, -60, 30},{ 340, 200, 200, 200, 200},{ 340, 200, 20, -160, 10}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 50, -60, 140},{ 340, 200, 200, 200, 200},{ 340, 200, 170, -70, 120},{ 340, 200, -70, -440, -100}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 120, -50, 30},{ 340, 200, -10, -410, 10},{ 340, 200, 40, -100, 60}} +} +}, +/* CG....GU */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 240, 100, 200},{ 340, 180, 210, 80, 200},{ 340, 80, 110, -20, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 220, 90, 200},{ 340, 230, 210, 170, 200},{ 340, 200, 200, 200, 200},{ 340, 230, 210, 170, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 80, 110, -20, 200},{ 340, 200, 200, 200, 200},{ 340, 130, 170, 30, 200},{ 340, 60, 0, 40, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 230, 210, 170, 200},{ 340, 160, 90, 140, 200},{ 340, 190, 130, 180, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 280, 200, 270},{ 340, 170, 200, 200, 180},{ 340, 70, 200, 200, 180},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 180, 210, 200, 190},{ 340, 160, 190, 200, 180},{ 340, 200, 200, 200, 200},{ 340, 160, 190, 200, 180}}, +{{ 340, 340, 340, 340, 340},{ 340, 70, 200, 200, 180},{ 340, 200, 200, 200, 200},{ 340, 120, 210, 200, 200},{ 340, -50, 80, 200, 70}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 160, 190, 200, 180},{ 340, 50, 180, 200, 160},{ 340, 80, 110, 200, 100}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 100, 200, 180, 180},{ 340, 80, 200, 150, 60},{ 340, -20, 200, 50, 140},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 90, 200, 160, 70},{ 340, 170, 200, 210, 150},{ 340, 200, 200, 200, 200},{ 340, 170, 200, 210, 150}}, +{{ 340, 340, 340, 340, 340},{ 340, -20, 200, 50, 140},{ 340, 200, 200, 200, 200},{ 340, 30, 200, 110, 110},{ 340, 40, 200, 40, -160}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 170, 200, 210, 150},{ 340, 140, 200, 130, -60},{ 340, 180, 200, 170, 160}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 270, 30, 220},{ 340, 200, 180, -90, 90},{ 340, 200, 180, -10, 180},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 190, -80, 100},{ 340, 200, 180, 0, 90},{ 340, 200, 200, 200, 200},{ 340, 200, 180, 0, 90}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 180, -10, 180},{ 340, 200, 200, 200, 200},{ 340, 200, 200, -40, 150},{ 340, 200, 70, -310, 60}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 180, 0, 90},{ 340, 200, 160, -210, 160},{ 340, 200, 100, 0, 10}} +} +}, +/* CG....UG */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 240, 100, 200},{ 340, 160, 190, 60, 200},{ 340, 100, 130, 0, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 240, 100, 200},{ 340, 260, 240, 200, 200},{ 340, 200, 200, 200, 200},{ 340, 260, 240, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 100, 130, 0, 200},{ 340, 200, 200, 200, 200},{ 340, 140, 170, 40, 200},{ 340, 20, -40, 0, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 230, 210, 170, 200},{ 340, 150, 80, 130, 200},{ 340, 220, 150, 200, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 280, 200, 270},{ 340, 150, 180, 200, 160},{ 340, 90, 220, 200, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 220, 200, 210},{ 340, 190, 220, 200, 210},{ 340, 200, 200, 200, 200},{ 340, 190, 220, 200, 210}}, +{{ 340, 340, 340, 340, 340},{ 340, 90, 220, 200, 200},{ 340, 200, 200, 200, 200},{ 340, 130, 220, 200, 200},{ 340, -90, 40, 200, 30}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 160, 190, 200, 180},{ 340, 40, 170, 200, 150},{ 340, 110, 140, 200, 120}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 100, 200, 180, 180},{ 340, 60, 200, 130, 40},{ 340, 0, 200, 70, 160},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 100, 200, 180, 80},{ 340, 200, 200, 240, 180},{ 340, 200, 200, 200, 200},{ 340, 200, 200, 240, 180}}, +{{ 340, 340, 340, 340, 340},{ 340, 0, 200, 70, 160},{ 340, 200, 200, 200, 200},{ 340, 40, 200, 110, 120},{ 340, 0, 200, 0, -200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 170, 200, 210, 150},{ 340, 130, 200, 120, -70},{ 340, 200, 200, 190, 180}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 270, 30, 220},{ 340, 200, 160, -110, 70},{ 340, 200, 200, 10, 190},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 210, -70, 120},{ 340, 200, 210, 30, 120},{ 340, 200, 200, 200, 200},{ 340, 200, 210, 30, 120}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 10, 190},{ 340, 200, 200, 200, 200},{ 340, 200, 200, -30, 150},{ 340, 200, 30, -350, 20}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 180, 0, 90},{ 340, 200, 150, -220, 150},{ 340, 200, 120, 30, 30}} +} +}, +/* CG....AU */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 240, 100, 200},{ 340, 180, 210, 80, 200},{ 340, 80, 110, -20, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 220, 90, 200},{ 340, 230, 210, 170, 200},{ 340, 200, 200, 200, 200},{ 340, 230, 210, 170, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 80, 110, -20, 200},{ 340, 200, 200, 200, 200},{ 340, 130, 170, 30, 200},{ 340, 60, 0, 40, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 230, 210, 170, 200},{ 340, 160, 90, 140, 200},{ 340, 190, 130, 180, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 280, 200, 270},{ 340, 170, 200, 200, 180},{ 340, 70, 200, 200, 180},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 180, 210, 200, 190},{ 340, 160, 190, 200, 180},{ 340, 200, 200, 200, 200},{ 340, 160, 190, 200, 180}}, +{{ 340, 340, 340, 340, 340},{ 340, 70, 200, 200, 180},{ 340, 200, 200, 200, 200},{ 340, 120, 210, 200, 200},{ 340, -50, 80, 200, 70}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 160, 190, 200, 180},{ 340, 50, 180, 200, 160},{ 340, 80, 110, 200, 100}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 100, 200, 180, 180},{ 340, 80, 200, 150, 60},{ 340, -20, 200, 50, 140},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 90, 200, 160, 70},{ 340, 170, 200, 210, 150},{ 340, 200, 200, 200, 200},{ 340, 170, 200, 210, 150}}, +{{ 340, 340, 340, 340, 340},{ 340, -20, 200, 50, 140},{ 340, 200, 200, 200, 200},{ 340, 30, 200, 110, 110},{ 340, 40, 200, 40, -160}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 170, 200, 210, 150},{ 340, 140, 200, 130, -60},{ 340, 180, 200, 170, 160}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 270, 30, 220},{ 340, 200, 180, -90, 90},{ 340, 200, 180, -10, 180},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 190, -80, 100},{ 340, 200, 180, 0, 90},{ 340, 200, 200, 200, 200},{ 340, 200, 180, 0, 90}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 180, -10, 180},{ 340, 200, 200, 200, 200},{ 340, 200, 200, -40, 150},{ 340, 200, 70, -310, 60}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 180, 0, 90},{ 340, 200, 160, -210, 160},{ 340, 200, 100, 0, 10}} +} +}, +/* CG....UA */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 240, 100, 200},{ 340, 160, 190, 60, 200},{ 340, 100, 130, 0, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 240, 100, 200},{ 340, 260, 240, 200, 200},{ 340, 200, 200, 200, 200},{ 340, 260, 240, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 100, 130, 0, 200},{ 340, 200, 200, 200, 200},{ 340, 140, 170, 40, 200},{ 340, 20, -40, 0, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 230, 210, 170, 200},{ 340, 150, 80, 130, 200},{ 340, 220, 150, 200, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 280, 200, 270},{ 340, 150, 180, 200, 160},{ 340, 90, 220, 200, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 220, 200, 210},{ 340, 190, 220, 200, 210},{ 340, 200, 200, 200, 200},{ 340, 190, 220, 200, 210}}, +{{ 340, 340, 340, 340, 340},{ 340, 90, 220, 200, 200},{ 340, 200, 200, 200, 200},{ 340, 130, 220, 200, 200},{ 340, -90, 40, 200, 30}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 160, 190, 200, 180},{ 340, 40, 170, 200, 150},{ 340, 110, 140, 200, 120}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 100, 200, 180, 180},{ 340, 60, 200, 130, 40},{ 340, 0, 200, 70, 160},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 100, 200, 180, 80},{ 340, 200, 200, 240, 180},{ 340, 200, 200, 200, 200},{ 340, 200, 200, 240, 180}}, +{{ 340, 340, 340, 340, 340},{ 340, 0, 200, 70, 160},{ 340, 200, 200, 200, 200},{ 340, 40, 200, 110, 120},{ 340, 0, 200, 0, -200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 170, 200, 210, 150},{ 340, 130, 200, 120, -70},{ 340, 200, 200, 190, 180}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 270, 30, 220},{ 340, 200, 160, -110, 70},{ 340, 200, 200, 10, 190},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 210, -70, 120},{ 340, 200, 210, 30, 120},{ 340, 200, 200, 200, 200},{ 340, 200, 210, 30, 120}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 10, 190},{ 340, 200, 200, 200, 200},{ 340, 200, 200, -30, 150},{ 340, 200, 30, -350, 20}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 180, 0, 90},{ 340, 200, 150, -220, 150},{ 340, 200, 120, 30, 30}} +} +}, +/* CG....?? */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +} +} +}, +{ /* noPair */ {{{{0}}}}, +/* GC....CG */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 50, 110, 40, 200},{ 340, 130, 100, 70, 200},{ 340, -20, 70, -50, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 60, 110, 50, 200},{ 340, 220, 190, 70, 200},{ 340, 200, 200, 200, 200},{ 340, 200, 110, 50, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 0, -100, -70, 200},{ 340, 200, 200, 200, 200},{ 340, 110, 80, -20, 200},{ 340, -10, -160, -60, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 110, 100, 200},{ 340, 90, -10, 60, 200},{ 340, 140, 30, 140, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 110, 170, 200, 180},{ 340, 100, 100, 200, 110},{ 340, -40, 110, 200, 120},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 150, 200, 150},{ 340, 130, 130, 200, 140},{ 340, 200, 200, 200, 200},{ 340, 120, 120, 200, 120}}, +{{ 340, 340, 340, 340, 340},{ 340, -70, -60, 200, 120},{ 340, 200, 200, 200, 200},{ 340, 90, 150, 200, 150},{ 340, -160, -60, 200, -50}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 120, 120, 200, 120},{ 340, 0, 100, 200, 100},{ 340, 30, 30, 200, 30}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, -30, 200, 100, -50},{ 340, -70, 200, 90, -150},{ 340, -170, 200, 0, -130},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 10, 200, 140, -60},{ 340, 70, 200, 180, -20},{ 340, 200, 200, 200, 200},{ 340, 40, 200, 170, -10}}, +{{ 340, 340, 340, 340, 340},{ 340, -160, 200, 0, -60},{ 340, 200, 200, 200, 200},{ 340, -90, 200, 80, -60},{ 340, -160, 200, -70, -410}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 40, 200, 170, -30},{ 340, 30, 200, 90, -240},{ 340, 50, 200, 120, 10}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 70, 10, 150},{ 340, 200, 0, -190, -20},{ 340, 200, 20, -90, 90},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 50, -70, 0},{ 340, 200, 30, -30, -10},{ 340, 200, 200, 200, 200},{ 340, 200, 20, -70, 40}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 20, -80, 90},{ 340, 200, 200, 200, 200},{ 340, 200, 50, -100, 110},{ 340, 200, -160, -440, -100}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 170, -70, 20},{ 340, 200, 0, -300, 60},{ 340, 200, 10, -100, 60}} +} +}, +/* GC....GC */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 120, 10, 200},{ 340, 120, 90, -10, 200},{ 340, -50, -80, -190, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 120, 90, -20, 200},{ 340, 180, 90, 90, 200},{ 340, 200, 200, 200, 200},{ 340, 80, 0, -10, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 10, -20, -130, 200},{ 340, 200, 200, 200, 200},{ 340, 110, 80, -20, 200},{ 340, -70, -200, -130, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 190, 100, 90, 200},{ 340, -30, -160, -90, 200},{ 340, 150, 20, 90, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 120, 180, 200, 190},{ 340, 100, 100, 200, 100},{ 340, -80, 20, 200, 30},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 90, 90, 200, 100},{ 340, 100, 100, 200, 100},{ 340, 200, 200, 200, 200},{ 340, 0, 0, 200, 0}}, +{{ 340, 340, 340, 340, 340},{ 340, -10, 90, 200, 90},{ 340, 200, 200, 200, 200},{ 340, 90, 150, 200, 150},{ 340, -190, -90, 200, -90}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 100, 100, 200, 110},{ 340, -150, -50, 200, -50},{ 340, 20, 20, 200, 30}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, -50, 200, 110, -30},{ 340, -80, 200, 90, -150},{ 340, -260, 200, -90, -150},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, -80, 200, 80, -160},{ 340, 20, 200, 150, -50},{ 340, 200, 200, 200, 200},{ 340, -80, 200, 50, -150}}, +{{ 340, 340, 340, 340, 340},{ 340, -190, 200, -20, -90},{ 340, 200, 200, 200, 200},{ 340, -90, 200, 80, -60},{ 340, -190, 200, -100, -450}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 30, 200, 150, -50},{ 340, -150, 200, -60, -410},{ 340, 30, 200, 110, -50}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 80, -70, 150},{ 340, 200, 0, -190, 20},{ 340, 200, -80, -190, 30},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 0, -200, 20},{ 340, 200, 0, -90, 20},{ 340, 200, 200, 200, 200},{ 340, 200, -100, -190, -70}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, -10, -130, 90},{ 340, 200, 200, 200, 200},{ 340, 200, 50, -100, 110},{ 340, 200, -190, -490, -90}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 0, -90, 30},{ 340, 200, -150, -450, -50},{ 340, 200, -70, -90, -50}} +} +}, +/* GC....GU */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 210, 180, 70, 200},{ 340, 190, 160, 50, 200},{ 340, 90, 60, -50, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 170, 60, 200},{ 340, 240, 150, 140, 200},{ 340, 200, 200, 200, 200},{ 340, 240, 150, 140, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 90, 60, -50, 200},{ 340, 200, 200, 200, 200},{ 340, 140, 110, 0, 200},{ 340, 70, -60, 10, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 240, 150, 140, 200},{ 340, 170, 40, 110, 200},{ 340, 200, 70, 150, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 250, 200, 250},{ 340, 160, 160, 200, 170},{ 340, 60, 160, 200, 170},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 170, 200, 180},{ 340, 160, 160, 200, 160},{ 340, 200, 200, 200, 200},{ 340, 160, 160, 200, 160}}, +{{ 340, 340, 340, 340, 340},{ 340, 60, 160, 200, 170},{ 340, 200, 200, 200, 200},{ 340, 120, 180, 200, 180},{ 340, -50, 50, 200, 50}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 160, 160, 200, 160},{ 340, 40, 140, 200, 150},{ 340, 80, 80, 200, 80}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 10, 200, 180, 40},{ 340, -10, 200, 150, -90},{ 340, -110, 200, 50, -10},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 0, 200, 160, -80},{ 340, 80, 200, 210, 10},{ 340, 200, 200, 200, 200},{ 340, 80, 200, 210, 10}}, +{{ 340, 340, 340, 340, 340},{ 340, -110, 200, 50, -10},{ 340, 200, 200, 200, 200},{ 340, -60, 200, 110, -30},{ 340, -50, 200, 40, -310}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 80, 200, 210, 10},{ 340, 50, 200, 130, -210},{ 340, 80, 200, 170, 10}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 150, 0, 210},{ 340, 200, 60, -130, 90},{ 340, 200, 70, -50, 170},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 70, -120, 100},{ 340, 200, 60, -30, 80},{ 340, 200, 200, 200, 200},{ 340, 200, 60, -30, 80}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 70, -50, 170},{ 340, 200, 200, 200, 200},{ 340, 200, 80, -70, 140},{ 340, 200, -50, -350, 50}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 60, -30, 80},{ 340, 200, 50, -250, 150},{ 340, 200, -20, -30, 0}} +} +}, +/* GC....UG */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 210, 180, 70, 200},{ 340, 170, 140, 30, 200},{ 340, 110, 80, -30, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 210, 180, 70, 200},{ 340, 270, 180, 170, 200},{ 340, 200, 200, 200, 200},{ 340, 270, 180, 170, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 110, 80, -30, 200},{ 340, 200, 200, 200, 200},{ 340, 150, 120, 10, 200},{ 340, 30, -100, -30, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 240, 150, 140, 200},{ 340, 160, 30, 100, 200},{ 340, 230, 100, 170, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 250, 200, 250},{ 340, 140, 140, 200, 150},{ 340, 80, 180, 200, 190},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 190, 200, 190},{ 340, 190, 190, 200, 190},{ 340, 200, 200, 200, 200},{ 340, 190, 190, 200, 190}}, +{{ 340, 340, 340, 340, 340},{ 340, 80, 180, 200, 190},{ 340, 200, 200, 200, 200},{ 340, 120, 180, 200, 190},{ 340, -90, 10, 200, 10}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 160, 160, 200, 160},{ 340, 30, 130, 200, 140},{ 340, 100, 100, 200, 110}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 10, 200, 180, 40},{ 340, -30, 200, 130, -110},{ 340, -90, 200, 70, 10},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 10, 200, 180, -60},{ 340, 110, 200, 240, 40},{ 340, 200, 200, 200, 200},{ 340, 110, 200, 240, 40}}, +{{ 340, 340, 340, 340, 340},{ 340, -90, 200, 70, 10},{ 340, 200, 200, 200, 200},{ 340, -50, 200, 110, -30},{ 340, -90, 200, 0, -350}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 80, 200, 210, 10},{ 340, 40, 200, 120, -220},{ 340, 110, 200, 190, 30}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 150, 0, 210},{ 340, 200, 40, -150, 70},{ 340, 200, 90, -30, 190},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 90, -100, 110},{ 340, 200, 90, 0, 110},{ 340, 200, 200, 200, 200},{ 340, 200, 90, 0, 110}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 90, -30, 190},{ 340, 200, 200, 200, 200},{ 340, 200, 80, -70, 150},{ 340, 200, -90, -390, 10}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 60, -30, 80},{ 340, 200, 40, -260, 140},{ 340, 200, 0, -10, 30}} +} +}, +/* GC....AU */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 210, 180, 70, 200},{ 340, 190, 160, 50, 200},{ 340, 90, 60, -50, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 170, 60, 200},{ 340, 240, 150, 140, 200},{ 340, 200, 200, 200, 200},{ 340, 240, 150, 140, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 90, 60, -50, 200},{ 340, 200, 200, 200, 200},{ 340, 140, 110, 0, 200},{ 340, 70, -60, 10, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 240, 150, 140, 200},{ 340, 170, 40, 110, 200},{ 340, 200, 70, 150, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 250, 200, 250},{ 340, 160, 160, 200, 170},{ 340, 60, 160, 200, 170},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 170, 200, 180},{ 340, 160, 160, 200, 160},{ 340, 200, 200, 200, 200},{ 340, 160, 160, 200, 160}}, +{{ 340, 340, 340, 340, 340},{ 340, 60, 160, 200, 170},{ 340, 200, 200, 200, 200},{ 340, 120, 180, 200, 180},{ 340, -50, 50, 200, 50}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 160, 160, 200, 160},{ 340, 40, 140, 200, 150},{ 340, 80, 80, 200, 80}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 10, 200, 180, 40},{ 340, -10, 200, 150, -90},{ 340, -110, 200, 50, -10},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 0, 200, 160, -80},{ 340, 80, 200, 210, 10},{ 340, 200, 200, 200, 200},{ 340, 80, 200, 210, 10}}, +{{ 340, 340, 340, 340, 340},{ 340, -110, 200, 50, -10},{ 340, 200, 200, 200, 200},{ 340, -60, 200, 110, -30},{ 340, -50, 200, 40, -310}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 80, 200, 210, 10},{ 340, 50, 200, 130, -210},{ 340, 80, 200, 170, 10}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 150, 0, 210},{ 340, 200, 60, -130, 90},{ 340, 200, 70, -50, 170},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 70, -120, 100},{ 340, 200, 60, -30, 80},{ 340, 200, 200, 200, 200},{ 340, 200, 60, -30, 80}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 70, -50, 170},{ 340, 200, 200, 200, 200},{ 340, 200, 80, -70, 140},{ 340, 200, -50, -350, 50}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 60, -30, 80},{ 340, 200, 50, -250, 150},{ 340, 200, -20, -30, 0}} +} +}, +/* GC....UA */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 210, 180, 70, 200},{ 340, 170, 140, 30, 200},{ 340, 110, 80, -30, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 210, 180, 70, 200},{ 340, 270, 180, 170, 200},{ 340, 200, 200, 200, 200},{ 340, 270, 180, 170, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 110, 80, -30, 200},{ 340, 200, 200, 200, 200},{ 340, 150, 120, 10, 200},{ 340, 30, -100, -30, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 240, 150, 140, 200},{ 340, 160, 30, 100, 200},{ 340, 230, 100, 170, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 250, 200, 250},{ 340, 140, 140, 200, 150},{ 340, 80, 180, 200, 190},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 190, 200, 190},{ 340, 190, 190, 200, 190},{ 340, 200, 200, 200, 200},{ 340, 190, 190, 200, 190}}, +{{ 340, 340, 340, 340, 340},{ 340, 80, 180, 200, 190},{ 340, 200, 200, 200, 200},{ 340, 120, 180, 200, 190},{ 340, -90, 10, 200, 10}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 160, 160, 200, 160},{ 340, 30, 130, 200, 140},{ 340, 100, 100, 200, 110}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 10, 200, 180, 40},{ 340, -30, 200, 130, -110},{ 340, -90, 200, 70, 10},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 10, 200, 180, -60},{ 340, 110, 200, 240, 40},{ 340, 200, 200, 200, 200},{ 340, 110, 200, 240, 40}}, +{{ 340, 340, 340, 340, 340},{ 340, -90, 200, 70, 10},{ 340, 200, 200, 200, 200},{ 340, -50, 200, 110, -30},{ 340, -90, 200, 0, -350}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 80, 200, 210, 10},{ 340, 40, 200, 120, -220},{ 340, 110, 200, 190, 30}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 150, 0, 210},{ 340, 200, 40, -150, 70},{ 340, 200, 90, -30, 190},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 90, -100, 110},{ 340, 200, 90, 0, 110},{ 340, 200, 200, 200, 200},{ 340, 200, 90, 0, 110}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 90, -30, 190},{ 340, 200, 200, 200, 200},{ 340, 200, 80, -70, 150},{ 340, 200, -90, -390, 10}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 60, -30, 80},{ 340, 200, 40, -260, 140},{ 340, 200, 0, -10, 30}} +} +}, +/* GC....?? */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +} +} +}, +{ /* noPair */ {{{{0}}}}, +/* GU....CG */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 190, 80, 200},{ 340, 190, 180, 70, 200},{ 340, 100, 90, -20, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 240, 220, 110, 200},{ 340, 280, 210, 200, 200},{ 340, 200, 200, 200, 200},{ 340, 270, 190, 180, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 100, 90, -20, 200},{ 340, 200, 200, 200, 200},{ 340, 180, 160, 50, 200},{ 340, 30, -80, -10, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 270, 190, 180, 200},{ 340, 180, 70, 140, 200},{ 340, 220, 100, 180, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 180, 230, 200, 230},{ 340, 170, 160, 200, 160},{ 340, 80, 170, 200, 170},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 210, 210, 200, 210},{ 340, 200, 190, 200, 190},{ 340, 200, 200, 200, 200},{ 340, 180, 180, 200, 180}}, +{{ 340, 340, 340, 340, 340},{ 340, 80, 170, 200, 170},{ 340, 200, 200, 200, 200},{ 340, 150, 210, 200, 210},{ 340, -90, 0, 200, 0}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 180, 180, 200, 180},{ 340, 60, 150, 200, 150},{ 340, 90, 90, 200, 90}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 80, 200, 130, 160},{ 340, 70, 200, 120, 50},{ 340, -20, 200, 30, 140},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 110, 200, 170, 90},{ 340, 200, 200, 210, 180},{ 340, 200, 200, 200, 200},{ 340, 180, 200, 200, 160}}, +{{ 340, 340, 340, 340, 340},{ 340, -20, 200, 30, 140},{ 340, 200, 200, 200, 200},{ 340, 50, 200, 110, 130},{ 340, -10, 200, -40, -210}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 180, 200, 200, 160},{ 340, 140, 200, 110, -60},{ 340, 180, 200, 150, 160}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 230, 60, 190},{ 340, 200, 160, -50, 80},{ 340, 200, 170, 40, 180},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 210, 0, 130},{ 340, 200, 190, 80, 110},{ 340, 200, 200, 200, 200},{ 340, 200, 180, 70, 100}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 170, 40, 180},{ 340, 200, 200, 200, 200},{ 340, 200, 210, 40, 170},{ 340, 200, 0, -310, 0}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 180, 70, 100},{ 340, 200, 150, -160, 160},{ 340, 200, 90, 60, 10}} +} +}, +/* GU....GC */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 210, 200, 90, 200},{ 340, 190, 170, 60, 200},{ 340, 10, 0, -110, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 180, 170, 60, 200},{ 340, 250, 170, 160, 200},{ 340, 200, 200, 200, 200},{ 340, 150, 70, 70, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 70, 60, -50, 200},{ 340, 200, 200, 200, 200},{ 340, 180, 160, 50, 200},{ 340, 0, -120, -50, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 250, 180, 170, 200},{ 340, 40, -80, -10, 200},{ 340, 210, 100, 170, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 240, 200, 240},{ 340, 160, 160, 200, 160},{ 340, -10, 80, 200, 80},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 160, 150, 200, 150},{ 340, 160, 160, 200, 160},{ 340, 200, 200, 200, 200},{ 340, 60, 60, 200, 60}}, +{{ 340, 340, 340, 340, 340},{ 340, 50, 140, 200, 140},{ 340, 200, 200, 200, 200},{ 340, 150, 210, 200, 210},{ 340, -130, -30, 200, -30}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 170, 160, 200, 160},{ 340, -90, 10, 200, 10},{ 340, 90, 80, 200, 80}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 90, 200, 140, 170},{ 340, 60, 200, 120, 40},{ 340, -110, 200, -60, 50},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 60, 200, 110, 40},{ 340, 160, 200, 180, 140},{ 340, 200, 200, 200, 200},{ 340, 70, 200, 80, 50}}, +{{ 340, 340, 340, 340, 340},{ 340, -50, 200, 0, 110},{ 340, 200, 200, 200, 200},{ 340, 50, 200, 110, 130},{ 340, -50, 200, -70, -250}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 170, 200, 180, 150},{ 340, -10, 200, -30, -210},{ 340, 170, 200, 140, 150}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 240, 70, 200},{ 340, 200, 160, -50, 80},{ 340, 200, 80, -50, 80},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 150, -60, 70},{ 340, 200, 160, 50, 80},{ 340, 200, 200, 200, 200},{ 340, 200, 60, -50, -20}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 140, 10, 150},{ 340, 200, 200, 200, 200},{ 340, 200, 210, 40, 170},{ 340, 200, -30, -350, -30}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 160, 50, 80},{ 340, 200, 10, -310, 10},{ 340, 200, 80, 50, 0}} +} +}, +/* GU....GU */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 260, 150, 200},{ 340, 250, 240, 130, 200},{ 340, 150, 140, 30, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 260, 250, 140, 200},{ 340, 310, 230, 220, 200},{ 340, 200, 200, 200, 200},{ 340, 310, 230, 220, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 140, 30, 200},{ 340, 200, 200, 200, 200},{ 340, 210, 190, 80, 200},{ 340, 130, 20, 90, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 310, 230, 220, 200},{ 340, 230, 120, 190, 200},{ 340, 270, 150, 220, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 250, 310, 200, 310},{ 340, 230, 220, 200, 220},{ 340, 130, 220, 200, 220},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 240, 230, 200, 230},{ 340, 220, 220, 200, 220},{ 340, 200, 200, 200, 200},{ 340, 220, 220, 200, 220}}, +{{ 340, 340, 340, 340, 340},{ 340, 130, 220, 200, 220},{ 340, 200, 200, 200, 200},{ 340, 180, 240, 200, 240},{ 340, 10, 100, 200, 100}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 220, 220, 200, 220},{ 340, 110, 200, 200, 200},{ 340, 140, 140, 200, 140}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 200, 210, 230},{ 340, 130, 200, 180, 110},{ 340, 30, 200, 80, 190},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 140, 200, 190, 120},{ 340, 220, 200, 240, 200},{ 340, 200, 200, 200, 200},{ 340, 220, 200, 240, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 30, 200, 80, 190},{ 340, 200, 200, 200, 200},{ 340, 80, 200, 140, 160},{ 340, 90, 200, 70, -110}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 220, 200, 240, 200},{ 340, 190, 200, 160, -10},{ 340, 220, 200, 200, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 310, 130, 270},{ 340, 200, 220, 10, 140},{ 340, 200, 220, 90, 220},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 230, 20, 150},{ 340, 200, 220, 100, 140},{ 340, 200, 200, 200, 200},{ 340, 200, 220, 100, 140}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 220, 90, 220},{ 340, 200, 200, 200, 200},{ 340, 200, 240, 70, 200},{ 340, 200, 100, -210, 110}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 220, 100, 140},{ 340, 200, 200, -110, 200},{ 340, 200, 140, 110, 60}} +} +}, +/* GU....UG */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 260, 150, 200},{ 340, 230, 220, 110, 200},{ 340, 170, 160, 50, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 260, 150, 200},{ 340, 340, 260, 250, 200},{ 340, 200, 200, 200, 200},{ 340, 340, 260, 250, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 160, 50, 200},{ 340, 200, 200, 200, 200},{ 340, 210, 200, 90, 200},{ 340, 100, -20, 50, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 310, 230, 220, 200},{ 340, 220, 110, 180, 200},{ 340, 290, 180, 250, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 250, 310, 200, 310},{ 340, 210, 200, 200, 200},{ 340, 150, 240, 200, 240},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 250, 250, 200, 250},{ 340, 250, 250, 200, 250},{ 340, 200, 200, 200, 200},{ 340, 250, 250, 200, 250}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 240, 200, 240},{ 340, 200, 200, 200, 200},{ 340, 190, 240, 200, 240},{ 340, -30, 70, 200, 70}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 220, 220, 200, 220},{ 340, 100, 190, 200, 190},{ 340, 170, 160, 200, 160}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 200, 210, 230},{ 340, 110, 200, 160, 90},{ 340, 50, 200, 100, 210},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 200, 210, 130},{ 340, 250, 200, 270, 230},{ 340, 200, 200, 200, 200},{ 340, 250, 200, 270, 230}}, +{{ 340, 340, 340, 340, 340},{ 340, 50, 200, 100, 210},{ 340, 200, 200, 200, 200},{ 340, 90, 200, 140, 170},{ 340, 50, 200, 30, -150}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 220, 200, 240, 200},{ 340, 180, 200, 150, -20},{ 340, 250, 200, 220, 230}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 310, 130, 270},{ 340, 200, 200, -10, 120},{ 340, 200, 240, 110, 240},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 250, 30, 170},{ 340, 200, 250, 130, 170},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 130, 170}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 240, 110, 240},{ 340, 200, 200, 200, 200},{ 340, 200, 240, 70, 200},{ 340, 200, 70, -250, 70}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 220, 100, 140},{ 340, 200, 190, -120, 190},{ 340, 200, 160, 130, 80}} +} +}, +/* GU....AU */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 260, 150, 200},{ 340, 250, 240, 130, 200},{ 340, 150, 140, 30, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 260, 250, 140, 200},{ 340, 310, 230, 220, 200},{ 340, 200, 200, 200, 200},{ 340, 310, 230, 220, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 140, 30, 200},{ 340, 200, 200, 200, 200},{ 340, 210, 190, 80, 200},{ 340, 130, 20, 90, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 310, 230, 220, 200},{ 340, 230, 120, 190, 200},{ 340, 270, 150, 220, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 250, 310, 200, 310},{ 340, 230, 220, 200, 220},{ 340, 130, 220, 200, 220},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 240, 230, 200, 230},{ 340, 220, 220, 200, 220},{ 340, 200, 200, 200, 200},{ 340, 220, 220, 200, 220}}, +{{ 340, 340, 340, 340, 340},{ 340, 130, 220, 200, 220},{ 340, 200, 200, 200, 200},{ 340, 180, 240, 200, 240},{ 340, 10, 100, 200, 100}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 220, 220, 200, 220},{ 340, 110, 200, 200, 200},{ 340, 140, 140, 200, 140}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 200, 210, 230},{ 340, 130, 200, 180, 110},{ 340, 30, 200, 80, 190},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 140, 200, 190, 120},{ 340, 220, 200, 240, 200},{ 340, 200, 200, 200, 200},{ 340, 220, 200, 240, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 30, 200, 80, 190},{ 340, 200, 200, 200, 200},{ 340, 80, 200, 140, 160},{ 340, 90, 200, 70, -110}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 220, 200, 240, 200},{ 340, 190, 200, 160, -10},{ 340, 220, 200, 200, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 310, 130, 270},{ 340, 200, 220, 10, 140},{ 340, 200, 220, 90, 220},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 230, 20, 150},{ 340, 200, 220, 100, 140},{ 340, 200, 200, 200, 200},{ 340, 200, 220, 100, 140}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 220, 90, 220},{ 340, 200, 200, 200, 200},{ 340, 200, 240, 70, 200},{ 340, 200, 100, -210, 110}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 220, 100, 140},{ 340, 200, 200, -110, 200},{ 340, 200, 140, 110, 60}} +} +}, +/* GU....UA */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 260, 150, 200},{ 340, 230, 220, 110, 200},{ 340, 170, 160, 50, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 260, 150, 200},{ 340, 340, 260, 250, 200},{ 340, 200, 200, 200, 200},{ 340, 340, 260, 250, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 160, 50, 200},{ 340, 200, 200, 200, 200},{ 340, 210, 200, 90, 200},{ 340, 100, -20, 50, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 310, 230, 220, 200},{ 340, 220, 110, 180, 200},{ 340, 290, 180, 250, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 250, 310, 200, 310},{ 340, 210, 200, 200, 200},{ 340, 150, 240, 200, 240},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 250, 250, 200, 250},{ 340, 250, 250, 200, 250},{ 340, 200, 200, 200, 200},{ 340, 250, 250, 200, 250}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 240, 200, 240},{ 340, 200, 200, 200, 200},{ 340, 190, 240, 200, 240},{ 340, -30, 70, 200, 70}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 220, 220, 200, 220},{ 340, 100, 190, 200, 190},{ 340, 170, 160, 200, 160}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 200, 210, 230},{ 340, 110, 200, 160, 90},{ 340, 50, 200, 100, 210},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 200, 210, 130},{ 340, 250, 200, 270, 230},{ 340, 200, 200, 200, 200},{ 340, 250, 200, 270, 230}}, +{{ 340, 340, 340, 340, 340},{ 340, 50, 200, 100, 210},{ 340, 200, 200, 200, 200},{ 340, 90, 200, 140, 170},{ 340, 50, 200, 30, -150}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 220, 200, 240, 200},{ 340, 180, 200, 150, -20},{ 340, 250, 200, 220, 230}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 310, 130, 270},{ 340, 200, 200, -10, 120},{ 340, 200, 240, 110, 240},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 250, 30, 170},{ 340, 200, 250, 130, 170},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 130, 170}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 240, 110, 240},{ 340, 200, 200, 200, 200},{ 340, 200, 240, 70, 200},{ 340, 200, 70, -250, 70}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 220, 100, 140},{ 340, 200, 190, -120, 190},{ 340, 200, 160, 130, 80}} +} +}, +/* GU....?? */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +} +} +}, +{ /* noPair */ {{{{0}}}}, +/* UG....CG */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 100, 200},{ 340, 190, 190, 90, 200},{ 340, 100, 100, 0, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 240, 240, 130, 200},{ 340, 280, 220, 220, 200},{ 340, 200, 200, 200, 200},{ 340, 270, 210, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 100, 100, 0, 200},{ 340, 200, 200, 200, 200},{ 340, 180, 180, 70, 200},{ 340, 30, -70, 10, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 270, 210, 200, 200},{ 340, 180, 80, 160, 200},{ 340, 220, 120, 190, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 160, 260, 200, 230},{ 340, 150, 190, 200, 160},{ 340, 60, 200, 200, 170},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 240, 200, 210},{ 340, 180, 220, 200, 190},{ 340, 200, 200, 200, 200},{ 340, 160, 210, 200, 180}}, +{{ 340, 340, 340, 340, 340},{ 340, 60, 200, 200, 170},{ 340, 200, 200, 200, 200},{ 340, 130, 240, 200, 210},{ 340, -110, 30, 200, 0}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 160, 210, 200, 180},{ 340, 40, 180, 200, 150},{ 340, 70, 120, 200, 90}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 100, 200, 140, 150},{ 340, 90, 200, 130, 40},{ 340, 0, 200, 40, 130},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 130, 200, 170, 80},{ 340, 220, 200, 220, 170},{ 340, 200, 200, 200, 200},{ 340, 200, 200, 200, 150}}, +{{ 340, 340, 340, 340, 340},{ 340, 0, 200, 40, 130},{ 340, 200, 200, 200, 200},{ 340, 70, 200, 110, 120},{ 340, 10, 200, -30, -220}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 200, 200, 150},{ 340, 160, 200, 120, -70},{ 340, 190, 200, 150, 150}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 260, 20, 220},{ 340, 200, 190, -90, 110},{ 340, 200, 200, 0, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 240, -40, 150},{ 340, 200, 220, 40, 140},{ 340, 200, 200, 200, 200},{ 340, 200, 210, 30, 120}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 0, 200},{ 340, 200, 200, 200, 200},{ 340, 200, 240, 0, 190},{ 340, 200, 30, -350, 30}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 210, 30, 120},{ 340, 200, 180, -200, 180},{ 340, 200, 120, 20, 30}} +} +}, +/* UG....GC */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 210, 210, 110, 200},{ 340, 190, 190, 80, 200},{ 340, 10, 10, -90, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 180, 180, 80, 200},{ 340, 250, 190, 180, 200},{ 340, 200, 200, 200, 200},{ 340, 150, 90, 90, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 70, 70, -30, 200},{ 340, 200, 200, 200, 200},{ 340, 180, 180, 70, 200},{ 340, 0, -100, -30, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 250, 190, 190, 200},{ 340, 40, -60, 10, 200},{ 340, 210, 110, 190, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 270, 200, 240},{ 340, 140, 190, 200, 160},{ 340, -30, 110, 200, 80},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 140, 180, 200, 150},{ 340, 140, 190, 200, 160},{ 340, 200, 200, 200, 200},{ 340, 40, 90, 200, 60}}, +{{ 340, 340, 340, 340, 340},{ 340, 30, 170, 200, 140},{ 340, 200, 200, 200, 200},{ 340, 130, 240, 200, 210},{ 340, -150, 0, 200, -30}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 150, 190, 200, 160},{ 340, -110, 40, 200, 10},{ 340, 70, 110, 200, 80}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 110, 200, 150, 160},{ 340, 80, 200, 120, 30},{ 340, -90, 200, -50, 40},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 80, 200, 120, 30},{ 340, 180, 200, 180, 130},{ 340, 200, 200, 200, 200},{ 340, 90, 200, 80, 40}}, +{{ 340, 340, 340, 340, 340},{ 340, -30, 200, 10, 100},{ 340, 200, 200, 200, 200},{ 340, 70, 200, 110, 120},{ 340, -30, 200, -70, -260}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 190, 200, 190, 140},{ 340, 10, 200, -30, -220},{ 340, 190, 200, 150, 140}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 270, 30, 230},{ 340, 200, 190, -90, 100},{ 340, 200, 110, -90, 110},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 180, -100, 100},{ 340, 200, 190, 10, 100},{ 340, 200, 200, 200, 200},{ 340, 200, 90, -90, 0}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 170, -30, 170},{ 340, 200, 200, 200, 200},{ 340, 200, 240, 0, 190},{ 340, 200, 0, -390, -10}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 190, 10, 110},{ 340, 200, 40, -350, 30},{ 340, 200, 110, 10, 30}} +} +}, +/* UG....GU */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 280, 170, 200},{ 340, 250, 250, 150, 200},{ 340, 150, 150, 50, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 260, 260, 160, 200},{ 340, 310, 250, 240, 200},{ 340, 200, 200, 200, 200},{ 340, 310, 250, 240, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 150, 50, 200},{ 340, 200, 200, 200, 200},{ 340, 210, 210, 100, 200},{ 340, 130, 30, 110, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 310, 250, 240, 200},{ 340, 230, 130, 210, 200},{ 340, 270, 170, 240, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 230, 340, 200, 310},{ 340, 210, 250, 200, 220},{ 340, 110, 250, 200, 220},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 220, 260, 200, 230},{ 340, 200, 250, 200, 220},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 200, 220}}, +{{ 340, 340, 340, 340, 340},{ 340, 110, 250, 200, 220},{ 340, 200, 200, 200, 200},{ 340, 160, 270, 200, 240},{ 340, -10, 130, 200, 100}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 200, 220},{ 340, 90, 230, 200, 200},{ 340, 120, 170, 200, 140}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 200, 210, 220},{ 340, 150, 200, 190, 100},{ 340, 50, 200, 90, 180},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 160, 200, 200, 110},{ 340, 240, 200, 240, 190},{ 340, 200, 200, 200, 200},{ 340, 240, 200, 240, 190}}, +{{ 340, 340, 340, 340, 340},{ 340, 50, 200, 90, 180},{ 340, 200, 200, 200, 200},{ 340, 100, 200, 140, 150},{ 340, 110, 200, 70, -120}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 240, 200, 240, 190},{ 340, 210, 200, 170, -20},{ 340, 240, 200, 200, 190}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 340, 100, 290},{ 340, 200, 250, -30, 170},{ 340, 200, 250, 50, 250},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 260, -20, 180},{ 340, 200, 250, 70, 160},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 70, 160}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 250, 50, 250},{ 340, 200, 200, 200, 200},{ 340, 200, 270, 30, 220},{ 340, 200, 130, -250, 130}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 70, 160},{ 340, 200, 230, -150, 230},{ 340, 200, 170, 70, 80}} +} +}, +/* UG....UG */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 280, 170, 200},{ 340, 230, 230, 130, 200},{ 340, 170, 170, 70, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 280, 170, 200},{ 340, 340, 280, 270, 200},{ 340, 200, 200, 200, 200},{ 340, 340, 280, 270, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 170, 70, 200},{ 340, 200, 200, 200, 200},{ 340, 210, 210, 110, 200},{ 340, 100, 0, 70, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 310, 250, 240, 200},{ 340, 220, 120, 200, 200},{ 340, 290, 190, 270, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 230, 340, 200, 310},{ 340, 190, 230, 200, 200},{ 340, 130, 270, 200, 240},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 230, 280, 200, 250},{ 340, 230, 280, 200, 250},{ 340, 200, 200, 200, 200},{ 340, 230, 280, 200, 250}}, +{{ 340, 340, 340, 340, 340},{ 340, 130, 270, 200, 240},{ 340, 200, 200, 200, 200},{ 340, 170, 270, 200, 240},{ 340, -50, 100, 200, 70}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 200, 220},{ 340, 80, 220, 200, 190},{ 340, 150, 190, 200, 160}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 200, 210, 220},{ 340, 130, 200, 170, 80},{ 340, 70, 200, 110, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 200, 210, 120},{ 340, 270, 200, 270, 220},{ 340, 200, 200, 200, 200},{ 340, 270, 200, 270, 220}}, +{{ 340, 340, 340, 340, 340},{ 340, 70, 200, 110, 200},{ 340, 200, 200, 200, 200},{ 340, 110, 200, 150, 160},{ 340, 70, 200, 30, -160}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 240, 200, 240, 190},{ 340, 200, 200, 160, -30},{ 340, 270, 200, 230, 220}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 340, 100, 290},{ 340, 200, 230, -50, 150},{ 340, 200, 270, 70, 270},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 280, 0, 190},{ 340, 200, 280, 100, 190},{ 340, 200, 200, 200, 200},{ 340, 200, 280, 100, 190}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 270, 70, 270},{ 340, 200, 200, 200, 200},{ 340, 200, 270, 30, 230},{ 340, 200, 100, -290, 90}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 70, 160},{ 340, 200, 220, -160, 220},{ 340, 200, 190, 90, 110}} +} +}, +/* UG....AU */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 280, 170, 200},{ 340, 250, 250, 150, 200},{ 340, 150, 150, 50, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 260, 260, 160, 200},{ 340, 310, 250, 240, 200},{ 340, 200, 200, 200, 200},{ 340, 310, 250, 240, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 150, 50, 200},{ 340, 200, 200, 200, 200},{ 340, 210, 210, 100, 200},{ 340, 130, 30, 110, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 310, 250, 240, 200},{ 340, 230, 130, 210, 200},{ 340, 270, 170, 240, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 230, 340, 200, 310},{ 340, 210, 250, 200, 220},{ 340, 110, 250, 200, 220},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 220, 260, 200, 230},{ 340, 200, 250, 200, 220},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 200, 220}}, +{{ 340, 340, 340, 340, 340},{ 340, 110, 250, 200, 220},{ 340, 200, 200, 200, 200},{ 340, 160, 270, 200, 240},{ 340, -10, 130, 200, 100}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 200, 220},{ 340, 90, 230, 200, 200},{ 340, 120, 170, 200, 140}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 200, 210, 220},{ 340, 150, 200, 190, 100},{ 340, 50, 200, 90, 180},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 160, 200, 200, 110},{ 340, 240, 200, 240, 190},{ 340, 200, 200, 200, 200},{ 340, 240, 200, 240, 190}}, +{{ 340, 340, 340, 340, 340},{ 340, 50, 200, 90, 180},{ 340, 200, 200, 200, 200},{ 340, 100, 200, 140, 150},{ 340, 110, 200, 70, -120}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 240, 200, 240, 190},{ 340, 210, 200, 170, -20},{ 340, 240, 200, 200, 190}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 340, 100, 290},{ 340, 200, 250, -30, 170},{ 340, 200, 250, 50, 250},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 260, -20, 180},{ 340, 200, 250, 70, 160},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 70, 160}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 250, 50, 250},{ 340, 200, 200, 200, 200},{ 340, 200, 270, 30, 220},{ 340, 200, 130, -250, 130}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 70, 160},{ 340, 200, 230, -150, 230},{ 340, 200, 170, 70, 80}} +} +}, +/* UG....UA */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 280, 170, 200},{ 340, 230, 230, 130, 200},{ 340, 170, 170, 70, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 280, 170, 200},{ 340, 340, 280, 270, 200},{ 340, 200, 200, 200, 200},{ 340, 340, 280, 270, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 170, 70, 200},{ 340, 200, 200, 200, 200},{ 340, 210, 210, 110, 200},{ 340, 100, 0, 70, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 310, 250, 240, 200},{ 340, 220, 120, 200, 200},{ 340, 290, 190, 270, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 230, 340, 200, 310},{ 340, 190, 230, 200, 200},{ 340, 130, 270, 200, 240},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 230, 280, 200, 250},{ 340, 230, 280, 200, 250},{ 340, 200, 200, 200, 200},{ 340, 230, 280, 200, 250}}, +{{ 340, 340, 340, 340, 340},{ 340, 130, 270, 200, 240},{ 340, 200, 200, 200, 200},{ 340, 170, 270, 200, 240},{ 340, -50, 100, 200, 70}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 200, 220},{ 340, 80, 220, 200, 190},{ 340, 150, 190, 200, 160}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 200, 210, 220},{ 340, 130, 200, 170, 80},{ 340, 70, 200, 110, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 200, 210, 120},{ 340, 270, 200, 270, 220},{ 340, 200, 200, 200, 200},{ 340, 270, 200, 270, 220}}, +{{ 340, 340, 340, 340, 340},{ 340, 70, 200, 110, 200},{ 340, 200, 200, 200, 200},{ 340, 110, 200, 150, 160},{ 340, 70, 200, 30, -160}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 240, 200, 240, 190},{ 340, 200, 200, 160, -30},{ 340, 270, 200, 230, 220}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 340, 100, 290},{ 340, 200, 230, -50, 150},{ 340, 200, 270, 70, 270},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 280, 0, 190},{ 340, 200, 280, 100, 190},{ 340, 200, 200, 200, 200},{ 340, 200, 280, 100, 190}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 270, 70, 270},{ 340, 200, 200, 200, 200},{ 340, 200, 270, 30, 230},{ 340, 200, 100, -290, 90}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 70, 160},{ 340, 200, 220, -160, 220},{ 340, 200, 190, 90, 110}} +} +}, +/* UG....?? */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +} +} +}, +{ /* noPair */ {{{{0}}}}, +/* AU....CG */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 190, 80, 200},{ 340, 190, 180, 70, 200},{ 340, 100, 90, -20, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 240, 220, 110, 200},{ 340, 280, 210, 200, 200},{ 340, 200, 200, 200, 200},{ 340, 270, 190, 180, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 100, 90, -20, 200},{ 340, 200, 200, 200, 200},{ 340, 180, 160, 50, 200},{ 340, 30, -80, -10, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 270, 190, 180, 200},{ 340, 180, 70, 140, 200},{ 340, 220, 100, 180, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 180, 230, 200, 230},{ 340, 170, 160, 200, 160},{ 340, 80, 170, 200, 170},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 210, 210, 200, 210},{ 340, 200, 190, 200, 190},{ 340, 200, 200, 200, 200},{ 340, 180, 180, 200, 180}}, +{{ 340, 340, 340, 340, 340},{ 340, 80, 170, 200, 170},{ 340, 200, 200, 200, 200},{ 340, 150, 210, 200, 210},{ 340, -90, 0, 200, 0}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 180, 180, 200, 180},{ 340, 60, 150, 200, 150},{ 340, 90, 90, 200, 90}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 80, 200, 130, 160},{ 340, 70, 200, 120, 50},{ 340, -20, 200, 30, 140},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 110, 200, 170, 90},{ 340, 200, 200, 210, 180},{ 340, 200, 200, 200, 200},{ 340, 180, 200, 200, 160}}, +{{ 340, 340, 340, 340, 340},{ 340, -20, 200, 30, 140},{ 340, 200, 200, 200, 200},{ 340, 50, 200, 110, 130},{ 340, -10, 200, -40, -210}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 180, 200, 200, 160},{ 340, 140, 200, 110, -60},{ 340, 180, 200, 150, 160}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 230, 60, 190},{ 340, 200, 160, -50, 80},{ 340, 200, 170, 40, 180},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 210, 0, 130},{ 340, 200, 190, 80, 110},{ 340, 200, 200, 200, 200},{ 340, 200, 180, 70, 100}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 170, 40, 180},{ 340, 200, 200, 200, 200},{ 340, 200, 210, 40, 170},{ 340, 200, 0, -310, 0}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 180, 70, 100},{ 340, 200, 150, -160, 160},{ 340, 200, 90, 60, 10}} +} +}, +/* AU....GC */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 210, 200, 90, 200},{ 340, 190, 170, 60, 200},{ 340, 10, 0, -110, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 180, 170, 60, 200},{ 340, 250, 170, 160, 200},{ 340, 200, 200, 200, 200},{ 340, 150, 70, 70, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 70, 60, -50, 200},{ 340, 200, 200, 200, 200},{ 340, 180, 160, 50, 200},{ 340, 0, -120, -50, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 250, 180, 170, 200},{ 340, 40, -80, -10, 200},{ 340, 210, 100, 170, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 240, 200, 240},{ 340, 160, 160, 200, 160},{ 340, -10, 80, 200, 80},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 160, 150, 200, 150},{ 340, 160, 160, 200, 160},{ 340, 200, 200, 200, 200},{ 340, 60, 60, 200, 60}}, +{{ 340, 340, 340, 340, 340},{ 340, 50, 140, 200, 140},{ 340, 200, 200, 200, 200},{ 340, 150, 210, 200, 210},{ 340, -130, -30, 200, -30}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 170, 160, 200, 160},{ 340, -90, 10, 200, 10},{ 340, 90, 80, 200, 80}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 90, 200, 140, 170},{ 340, 60, 200, 120, 40},{ 340, -110, 200, -60, 50},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 60, 200, 110, 40},{ 340, 160, 200, 180, 140},{ 340, 200, 200, 200, 200},{ 340, 70, 200, 80, 50}}, +{{ 340, 340, 340, 340, 340},{ 340, -50, 200, 0, 110},{ 340, 200, 200, 200, 200},{ 340, 50, 200, 110, 130},{ 340, -50, 200, -70, -250}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 170, 200, 180, 150},{ 340, -10, 200, -30, -210},{ 340, 170, 200, 140, 150}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 240, 70, 200},{ 340, 200, 160, -50, 80},{ 340, 200, 80, -50, 80},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 150, -60, 70},{ 340, 200, 160, 50, 80},{ 340, 200, 200, 200, 200},{ 340, 200, 60, -50, -20}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 140, 10, 150},{ 340, 200, 200, 200, 200},{ 340, 200, 210, 40, 170},{ 340, 200, -30, -350, -30}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 160, 50, 80},{ 340, 200, 10, -310, 10},{ 340, 200, 80, 50, 0}} +} +}, +/* AU....GU */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 260, 150, 200},{ 340, 250, 240, 130, 200},{ 340, 150, 140, 30, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 260, 250, 140, 200},{ 340, 310, 230, 220, 200},{ 340, 200, 200, 200, 200},{ 340, 310, 230, 220, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 140, 30, 200},{ 340, 200, 200, 200, 200},{ 340, 210, 190, 80, 200},{ 340, 130, 20, 90, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 310, 230, 220, 200},{ 340, 230, 120, 190, 200},{ 340, 270, 150, 220, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 250, 310, 200, 310},{ 340, 230, 220, 200, 220},{ 340, 130, 220, 200, 220},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 240, 230, 200, 230},{ 340, 220, 220, 200, 220},{ 340, 200, 200, 200, 200},{ 340, 220, 220, 200, 220}}, +{{ 340, 340, 340, 340, 340},{ 340, 130, 220, 200, 220},{ 340, 200, 200, 200, 200},{ 340, 180, 240, 200, 240},{ 340, 10, 100, 200, 100}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 220, 220, 200, 220},{ 340, 110, 200, 200, 200},{ 340, 140, 140, 200, 140}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 200, 210, 230},{ 340, 130, 200, 180, 110},{ 340, 30, 200, 80, 190},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 140, 200, 190, 120},{ 340, 220, 200, 240, 200},{ 340, 200, 200, 200, 200},{ 340, 220, 200, 240, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 30, 200, 80, 190},{ 340, 200, 200, 200, 200},{ 340, 80, 200, 140, 160},{ 340, 90, 200, 70, -110}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 220, 200, 240, 200},{ 340, 190, 200, 160, -10},{ 340, 220, 200, 200, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 310, 130, 270},{ 340, 200, 220, 10, 140},{ 340, 200, 220, 90, 220},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 230, 20, 150},{ 340, 200, 220, 100, 140},{ 340, 200, 200, 200, 200},{ 340, 200, 220, 100, 140}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 220, 90, 220},{ 340, 200, 200, 200, 200},{ 340, 200, 240, 70, 200},{ 340, 200, 100, -210, 110}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 220, 100, 140},{ 340, 200, 200, -110, 200},{ 340, 200, 140, 110, 60}} +} +}, +/* AU....UG */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 260, 150, 200},{ 340, 230, 220, 110, 200},{ 340, 170, 160, 50, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 260, 150, 200},{ 340, 340, 260, 250, 200},{ 340, 200, 200, 200, 200},{ 340, 340, 260, 250, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 160, 50, 200},{ 340, 200, 200, 200, 200},{ 340, 210, 200, 90, 200},{ 340, 100, -20, 50, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 310, 230, 220, 200},{ 340, 220, 110, 180, 200},{ 340, 290, 180, 250, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 250, 310, 200, 310},{ 340, 210, 200, 200, 200},{ 340, 150, 240, 200, 240},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 250, 250, 200, 250},{ 340, 250, 250, 200, 250},{ 340, 200, 200, 200, 200},{ 340, 250, 250, 200, 250}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 240, 200, 240},{ 340, 200, 200, 200, 200},{ 340, 190, 240, 200, 240},{ 340, -30, 70, 200, 70}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 220, 220, 200, 220},{ 340, 100, 190, 200, 190},{ 340, 170, 160, 200, 160}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 200, 210, 230},{ 340, 110, 200, 160, 90},{ 340, 50, 200, 100, 210},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 200, 210, 130},{ 340, 250, 200, 270, 230},{ 340, 200, 200, 200, 200},{ 340, 250, 200, 270, 230}}, +{{ 340, 340, 340, 340, 340},{ 340, 50, 200, 100, 210},{ 340, 200, 200, 200, 200},{ 340, 90, 200, 140, 170},{ 340, 50, 200, 30, -150}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 220, 200, 240, 200},{ 340, 180, 200, 150, -20},{ 340, 250, 200, 220, 230}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 310, 130, 270},{ 340, 200, 200, -10, 120},{ 340, 200, 240, 110, 240},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 250, 30, 170},{ 340, 200, 250, 130, 170},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 130, 170}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 240, 110, 240},{ 340, 200, 200, 200, 200},{ 340, 200, 240, 70, 200},{ 340, 200, 70, -250, 70}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 220, 100, 140},{ 340, 200, 190, -120, 190},{ 340, 200, 160, 130, 80}} +} +}, +/* AU....AU */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 260, 150, 200},{ 340, 250, 240, 130, 200},{ 340, 150, 140, 30, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 260, 250, 140, 200},{ 340, 310, 230, 220, 200},{ 340, 200, 200, 200, 200},{ 340, 310, 230, 220, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 140, 30, 200},{ 340, 200, 200, 200, 200},{ 340, 210, 190, 80, 200},{ 340, 130, 20, 90, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 310, 230, 220, 200},{ 340, 230, 120, 190, 200},{ 340, 270, 150, 220, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 250, 310, 200, 310},{ 340, 230, 220, 200, 220},{ 340, 130, 220, 200, 220},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 240, 230, 200, 230},{ 340, 220, 220, 200, 220},{ 340, 200, 200, 200, 200},{ 340, 220, 220, 200, 220}}, +{{ 340, 340, 340, 340, 340},{ 340, 130, 220, 200, 220},{ 340, 200, 200, 200, 200},{ 340, 180, 240, 200, 240},{ 340, 10, 100, 200, 100}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 220, 220, 200, 220},{ 340, 110, 200, 200, 200},{ 340, 140, 140, 200, 140}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 200, 210, 230},{ 340, 130, 200, 180, 110},{ 340, 30, 200, 80, 190},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 140, 200, 190, 120},{ 340, 220, 200, 240, 200},{ 340, 200, 200, 200, 200},{ 340, 220, 200, 240, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 30, 200, 80, 190},{ 340, 200, 200, 200, 200},{ 340, 80, 200, 140, 160},{ 340, 90, 200, 70, -110}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 220, 200, 240, 200},{ 340, 190, 200, 160, -10},{ 340, 220, 200, 200, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 310, 130, 270},{ 340, 200, 220, 10, 140},{ 340, 200, 220, 90, 220},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 230, 20, 150},{ 340, 200, 220, 100, 140},{ 340, 200, 200, 200, 200},{ 340, 200, 220, 100, 140}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 220, 90, 220},{ 340, 200, 200, 200, 200},{ 340, 200, 240, 70, 200},{ 340, 200, 100, -210, 110}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 220, 100, 140},{ 340, 200, 200, -110, 200},{ 340, 200, 140, 110, 60}} +} +}, +/* AU....UA */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 260, 150, 200},{ 340, 230, 220, 110, 200},{ 340, 170, 160, 50, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 260, 150, 200},{ 340, 340, 260, 250, 200},{ 340, 200, 200, 200, 200},{ 340, 340, 260, 250, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 160, 50, 200},{ 340, 200, 200, 200, 200},{ 340, 210, 200, 90, 200},{ 340, 100, -20, 50, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 310, 230, 220, 200},{ 340, 220, 110, 180, 200},{ 340, 290, 180, 250, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 250, 310, 200, 310},{ 340, 210, 200, 200, 200},{ 340, 150, 240, 200, 240},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 250, 250, 200, 250},{ 340, 250, 250, 200, 250},{ 340, 200, 200, 200, 200},{ 340, 250, 250, 200, 250}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 240, 200, 240},{ 340, 200, 200, 200, 200},{ 340, 190, 240, 200, 240},{ 340, -30, 70, 200, 70}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 220, 220, 200, 220},{ 340, 100, 190, 200, 190},{ 340, 170, 160, 200, 160}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 200, 210, 230},{ 340, 110, 200, 160, 90},{ 340, 50, 200, 100, 210},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 200, 210, 130},{ 340, 250, 200, 270, 230},{ 340, 200, 200, 200, 200},{ 340, 250, 200, 270, 230}}, +{{ 340, 340, 340, 340, 340},{ 340, 50, 200, 100, 210},{ 340, 200, 200, 200, 200},{ 340, 90, 200, 140, 170},{ 340, 50, 200, 30, -150}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 220, 200, 240, 200},{ 340, 180, 200, 150, -20},{ 340, 250, 200, 220, 230}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 310, 130, 270},{ 340, 200, 200, -10, 120},{ 340, 200, 240, 110, 240},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 250, 30, 170},{ 340, 200, 250, 130, 170},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 130, 170}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 240, 110, 240},{ 340, 200, 200, 200, 200},{ 340, 200, 240, 70, 200},{ 340, 200, 70, -250, 70}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 220, 100, 140},{ 340, 200, 190, -120, 190},{ 340, 200, 160, 130, 80}} +} +}, +/* AU....?? */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +} +} +}, +{ /* noPair */ {{{{0}}}}, +/* UA....CG */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 100, 200},{ 340, 190, 190, 90, 200},{ 340, 100, 100, 0, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 240, 240, 130, 200},{ 340, 280, 220, 220, 200},{ 340, 200, 200, 200, 200},{ 340, 270, 210, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 100, 100, 0, 200},{ 340, 200, 200, 200, 200},{ 340, 180, 180, 70, 200},{ 340, 30, -70, 10, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 270, 210, 200, 200},{ 340, 180, 80, 160, 200},{ 340, 220, 120, 190, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 160, 260, 200, 230},{ 340, 150, 190, 200, 160},{ 340, 60, 200, 200, 170},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 190, 240, 200, 210},{ 340, 180, 220, 200, 190},{ 340, 200, 200, 200, 200},{ 340, 160, 210, 200, 180}}, +{{ 340, 340, 340, 340, 340},{ 340, 60, 200, 200, 170},{ 340, 200, 200, 200, 200},{ 340, 130, 240, 200, 210},{ 340, -110, 30, 200, 0}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 160, 210, 200, 180},{ 340, 40, 180, 200, 150},{ 340, 70, 120, 200, 90}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 100, 200, 140, 150},{ 340, 90, 200, 130, 40},{ 340, 0, 200, 40, 130},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 130, 200, 170, 80},{ 340, 220, 200, 220, 170},{ 340, 200, 200, 200, 200},{ 340, 200, 200, 200, 150}}, +{{ 340, 340, 340, 340, 340},{ 340, 0, 200, 40, 130},{ 340, 200, 200, 200, 200},{ 340, 70, 200, 110, 120},{ 340, 10, 200, -30, -220}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 200, 200, 150},{ 340, 160, 200, 120, -70},{ 340, 190, 200, 150, 150}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 260, 20, 220},{ 340, 200, 190, -90, 110},{ 340, 200, 200, 0, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 240, -40, 150},{ 340, 200, 220, 40, 140},{ 340, 200, 200, 200, 200},{ 340, 200, 210, 30, 120}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 0, 200},{ 340, 200, 200, 200, 200},{ 340, 200, 240, 0, 190},{ 340, 200, 30, -350, 30}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 210, 30, 120},{ 340, 200, 180, -200, 180},{ 340, 200, 120, 20, 30}} +} +}, +/* UA....GC */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 210, 210, 110, 200},{ 340, 190, 190, 80, 200},{ 340, 10, 10, -90, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 180, 180, 80, 200},{ 340, 250, 190, 180, 200},{ 340, 200, 200, 200, 200},{ 340, 150, 90, 90, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 70, 70, -30, 200},{ 340, 200, 200, 200, 200},{ 340, 180, 180, 70, 200},{ 340, 0, -100, -30, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 250, 190, 190, 200},{ 340, 40, -60, 10, 200},{ 340, 210, 110, 190, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 270, 200, 240},{ 340, 140, 190, 200, 160},{ 340, -30, 110, 200, 80},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 140, 180, 200, 150},{ 340, 140, 190, 200, 160},{ 340, 200, 200, 200, 200},{ 340, 40, 90, 200, 60}}, +{{ 340, 340, 340, 340, 340},{ 340, 30, 170, 200, 140},{ 340, 200, 200, 200, 200},{ 340, 130, 240, 200, 210},{ 340, -150, 0, 200, -30}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 150, 190, 200, 160},{ 340, -110, 40, 200, 10},{ 340, 70, 110, 200, 80}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 110, 200, 150, 160},{ 340, 80, 200, 120, 30},{ 340, -90, 200, -50, 40},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 80, 200, 120, 30},{ 340, 180, 200, 180, 130},{ 340, 200, 200, 200, 200},{ 340, 90, 200, 80, 40}}, +{{ 340, 340, 340, 340, 340},{ 340, -30, 200, 10, 100},{ 340, 200, 200, 200, 200},{ 340, 70, 200, 110, 120},{ 340, -30, 200, -70, -260}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 190, 200, 190, 140},{ 340, 10, 200, -30, -220},{ 340, 190, 200, 150, 140}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 270, 30, 230},{ 340, 200, 190, -90, 100},{ 340, 200, 110, -90, 110},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 180, -100, 100},{ 340, 200, 190, 10, 100},{ 340, 200, 200, 200, 200},{ 340, 200, 90, -90, 0}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 170, -30, 170},{ 340, 200, 200, 200, 200},{ 340, 200, 240, 0, 190},{ 340, 200, 0, -390, -10}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 190, 10, 110},{ 340, 200, 40, -350, 30},{ 340, 200, 110, 10, 30}} +} +}, +/* UA....GU */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 280, 170, 200},{ 340, 250, 250, 150, 200},{ 340, 150, 150, 50, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 260, 260, 160, 200},{ 340, 310, 250, 240, 200},{ 340, 200, 200, 200, 200},{ 340, 310, 250, 240, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 150, 50, 200},{ 340, 200, 200, 200, 200},{ 340, 210, 210, 100, 200},{ 340, 130, 30, 110, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 310, 250, 240, 200},{ 340, 230, 130, 210, 200},{ 340, 270, 170, 240, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 230, 340, 200, 310},{ 340, 210, 250, 200, 220},{ 340, 110, 250, 200, 220},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 220, 260, 200, 230},{ 340, 200, 250, 200, 220},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 200, 220}}, +{{ 340, 340, 340, 340, 340},{ 340, 110, 250, 200, 220},{ 340, 200, 200, 200, 200},{ 340, 160, 270, 200, 240},{ 340, -10, 130, 200, 100}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 200, 220},{ 340, 90, 230, 200, 200},{ 340, 120, 170, 200, 140}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 200, 210, 220},{ 340, 150, 200, 190, 100},{ 340, 50, 200, 90, 180},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 160, 200, 200, 110},{ 340, 240, 200, 240, 190},{ 340, 200, 200, 200, 200},{ 340, 240, 200, 240, 190}}, +{{ 340, 340, 340, 340, 340},{ 340, 50, 200, 90, 180},{ 340, 200, 200, 200, 200},{ 340, 100, 200, 140, 150},{ 340, 110, 200, 70, -120}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 240, 200, 240, 190},{ 340, 210, 200, 170, -20},{ 340, 240, 200, 200, 190}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 340, 100, 290},{ 340, 200, 250, -30, 170},{ 340, 200, 250, 50, 250},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 260, -20, 180},{ 340, 200, 250, 70, 160},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 70, 160}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 250, 50, 250},{ 340, 200, 200, 200, 200},{ 340, 200, 270, 30, 220},{ 340, 200, 130, -250, 130}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 70, 160},{ 340, 200, 230, -150, 230},{ 340, 200, 170, 70, 80}} +} +}, +/* UA....UG */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 280, 170, 200},{ 340, 230, 230, 130, 200},{ 340, 170, 170, 70, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 280, 170, 200},{ 340, 340, 280, 270, 200},{ 340, 200, 200, 200, 200},{ 340, 340, 280, 270, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 170, 70, 200},{ 340, 200, 200, 200, 200},{ 340, 210, 210, 110, 200},{ 340, 100, 0, 70, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 310, 250, 240, 200},{ 340, 220, 120, 200, 200},{ 340, 290, 190, 270, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 230, 340, 200, 310},{ 340, 190, 230, 200, 200},{ 340, 130, 270, 200, 240},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 230, 280, 200, 250},{ 340, 230, 280, 200, 250},{ 340, 200, 200, 200, 200},{ 340, 230, 280, 200, 250}}, +{{ 340, 340, 340, 340, 340},{ 340, 130, 270, 200, 240},{ 340, 200, 200, 200, 200},{ 340, 170, 270, 200, 240},{ 340, -50, 100, 200, 70}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 200, 220},{ 340, 80, 220, 200, 190},{ 340, 150, 190, 200, 160}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 200, 210, 220},{ 340, 130, 200, 170, 80},{ 340, 70, 200, 110, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 200, 210, 120},{ 340, 270, 200, 270, 220},{ 340, 200, 200, 200, 200},{ 340, 270, 200, 270, 220}}, +{{ 340, 340, 340, 340, 340},{ 340, 70, 200, 110, 200},{ 340, 200, 200, 200, 200},{ 340, 110, 200, 150, 160},{ 340, 70, 200, 30, -160}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 240, 200, 240, 190},{ 340, 200, 200, 160, -30},{ 340, 270, 200, 230, 220}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 340, 100, 290},{ 340, 200, 230, -50, 150},{ 340, 200, 270, 70, 270},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 280, 0, 190},{ 340, 200, 280, 100, 190},{ 340, 200, 200, 200, 200},{ 340, 200, 280, 100, 190}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 270, 70, 270},{ 340, 200, 200, 200, 200},{ 340, 200, 270, 30, 230},{ 340, 200, 100, -290, 90}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 70, 160},{ 340, 200, 220, -160, 220},{ 340, 200, 190, 90, 110}} +} +}, +/* UA....AU */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 280, 170, 200},{ 340, 250, 250, 150, 200},{ 340, 150, 150, 50, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 260, 260, 160, 200},{ 340, 310, 250, 240, 200},{ 340, 200, 200, 200, 200},{ 340, 310, 250, 240, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 150, 150, 50, 200},{ 340, 200, 200, 200, 200},{ 340, 210, 210, 100, 200},{ 340, 130, 30, 110, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 310, 250, 240, 200},{ 340, 230, 130, 210, 200},{ 340, 270, 170, 240, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 230, 340, 200, 310},{ 340, 210, 250, 200, 220},{ 340, 110, 250, 200, 220},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 220, 260, 200, 230},{ 340, 200, 250, 200, 220},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 200, 220}}, +{{ 340, 340, 340, 340, 340},{ 340, 110, 250, 200, 220},{ 340, 200, 200, 200, 200},{ 340, 160, 270, 200, 240},{ 340, -10, 130, 200, 100}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 200, 220},{ 340, 90, 230, 200, 200},{ 340, 120, 170, 200, 140}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 200, 210, 220},{ 340, 150, 200, 190, 100},{ 340, 50, 200, 90, 180},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 160, 200, 200, 110},{ 340, 240, 200, 240, 190},{ 340, 200, 200, 200, 200},{ 340, 240, 200, 240, 190}}, +{{ 340, 340, 340, 340, 340},{ 340, 50, 200, 90, 180},{ 340, 200, 200, 200, 200},{ 340, 100, 200, 140, 150},{ 340, 110, 200, 70, -120}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 240, 200, 240, 190},{ 340, 210, 200, 170, -20},{ 340, 240, 200, 200, 190}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 340, 100, 290},{ 340, 200, 250, -30, 170},{ 340, 200, 250, 50, 250},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 260, -20, 180},{ 340, 200, 250, 70, 160},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 70, 160}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 250, 50, 250},{ 340, 200, 200, 200, 200},{ 340, 200, 270, 30, 220},{ 340, 200, 130, -250, 130}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 70, 160},{ 340, 200, 230, -150, 230},{ 340, 200, 170, 70, 80}} +} +}, +/* UA....UA */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 280, 170, 200},{ 340, 230, 230, 130, 200},{ 340, 170, 170, 70, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 280, 280, 170, 200},{ 340, 340, 280, 270, 200},{ 340, 200, 200, 200, 200},{ 340, 340, 280, 270, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 170, 70, 200},{ 340, 200, 200, 200, 200},{ 340, 210, 210, 110, 200},{ 340, 100, 0, 70, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 310, 250, 240, 200},{ 340, 220, 120, 200, 200},{ 340, 290, 190, 270, 200}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 230, 340, 200, 310},{ 340, 190, 230, 200, 200},{ 340, 130, 270, 200, 240},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 230, 280, 200, 250},{ 340, 230, 280, 200, 250},{ 340, 200, 200, 200, 200},{ 340, 230, 280, 200, 250}}, +{{ 340, 340, 340, 340, 340},{ 340, 130, 270, 200, 240},{ 340, 200, 200, 200, 200},{ 340, 170, 270, 200, 240},{ 340, -50, 100, 200, 70}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 200, 220},{ 340, 80, 220, 200, 190},{ 340, 150, 190, 200, 160}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 200, 210, 220},{ 340, 130, 200, 170, 80},{ 340, 70, 200, 110, 200},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 170, 200, 210, 120},{ 340, 270, 200, 270, 220},{ 340, 200, 200, 200, 200},{ 340, 270, 200, 270, 220}}, +{{ 340, 340, 340, 340, 340},{ 340, 70, 200, 110, 200},{ 340, 200, 200, 200, 200},{ 340, 110, 200, 150, 160},{ 340, 70, 200, 30, -160}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 240, 200, 240, 190},{ 340, 200, 200, 160, -30},{ 340, 270, 200, 230, 220}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 340, 100, 290},{ 340, 200, 230, -50, 150},{ 340, 200, 270, 70, 270},{ 340, 200, 200, 200, 200}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 280, 0, 190},{ 340, 200, 280, 100, 190},{ 340, 200, 200, 200, 200},{ 340, 200, 280, 100, 190}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 270, 70, 270},{ 340, 200, 200, 200, 200},{ 340, 200, 270, 30, 230},{ 340, 200, 100, -290, 90}}, +{{ 340, 340, 340, 340, 340},{ 340, 200, 200, 200, 200},{ 340, 200, 250, 70, 160},{ 340, 200, 220, -160, 220},{ 340, 200, 190, 90, 110}} +} +}, +/* UA....?? */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +} +} +}, +{ /* noPair */ {{{{0}}}}, +/* ??....CG */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +} +}, +/* ??....GC */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +} +}, +/* ??....GU */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +} +}, +/* ??....UG */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +} +}, +/* ??....AU */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +} +}, +/* ??....UA */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +} +}, +/* ??....?? */ +{{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +}, +{ +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}}, +{{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340},{ 340, 340, 340, 340, 340}} +} +} +} +}; + +PUBLIC int int22_H[NBPAIRS+1][NBPAIRS+1][5][5][5][5] = +{ /* noPair */ {{{{{0}}}}}, +{ /* noPair */ {{{{0}}}}, +/* CG.@@..CG */ +{ { { { 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.@A..CG */ +{ { 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -519, -519, -519, -519, -519}, +{ -939, -939, -939, -939, -939}, +{ -809, -809, -809, -809, -809}}, +/* CG.@C..CG */ +{ { 0, 0, 0, 0, 0}, +{ -949, -949, -949, -949, -949}, +{ -449, -449, -449, -449, -449}, +{ -939, -939, -939, -939, -939}, +{ -739, -739, -739, -739, -739}}, +/* CG.@G..CG */ +{ { 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -519, -519, -519, -519, -519}, +{ -939, -939, -939, -939, -939}, +{ -809, -809, -809, -809, -809}}, +/* CG.@U..CG */ +{ { 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -669, -669, -669, -669, -669}, +{ -939, -939, -939, -939, -939}, +{ -859, -859, -859, -859, -859}}}, +/* CG.A@..CG */ +{{{ DEF,-1029, -949,-1029,-1029}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}}, +/* CG.AA..CG */ +{{ DEF,-1029, -949,-1029,-1029}, +{-1079,-2058,-1978,-2058,-2058}, +{ -569,-1548,-1468,-1548,-1548}, +{ -989,-1968,-1888,-1968,-1968}, +{ -859,-1838,-1758,-1838,-1838}}, +/* CG.AC..CG */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -999,-1978,-1898,-1978,-1978}, +{ -499,-1478,-1398,-1478,-1478}, +{ -989,-1968,-1888,-1968,-1968}, +{ -789,-1768,-1688,-1768,-1768}}, +/* CG.AG..CG */ +{{ DEF,-1029, -949,-1029,-1029}, +{-1079,-2058,-1978,-2058,-2058}, +{ -569,-1548,-1468,-1548,-1548}, +{ -989,-1968,-1888,-1968,-1968}, +{ -859,-1838,-1758,-1838,-1838}}, +/* CG.AU..CG */ +{{ DEF,-1029, -949,-1029,-1029}, +{-1079,-2058,-1978,-2058,-2058}, +{ -719,-1698,-1618,-1698,-1698}, +{ -989,-1968,-1888,-1968,-1968}, +{ -909,-1888,-1808,-1888,-1888}}}, +/* CG.C@..CG */ +{{{ DEF, -519, -449, -519, -669}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}}, +/* CG.CA..CG */ +{{ DEF, -519, -449, -519, -669}, +{-1079,-1548,-1478,-1548,-1698}, +{ -569,-1038, -968,-1038,-1188}, +{ -989,-1458,-1388,-1458,-1608}, +{ -859,-1328,-1258,-1328,-1478}}, +/* CG.CC..CG */ +{{ DEF, -519, -449, -519, -669}, +{ -999,-1468,-1398,-1468,-1618}, +{ -499, -968, -898, -968,-1118}, +{ -989,-1458,-1388,-1458,-1608}, +{ -789,-1258,-1188,-1258,-1408}}, +/* CG.CG..CG */ +{{ DEF, -519, -449, -519, -669}, +{-1079,-1548,-1478,-1548,-1698}, +{ -569,-1038, -968,-1038,-1188}, +{ -989,-1458,-1388,-1458,-1608}, +{ -859,-1328,-1258,-1328,-1478}}, +/* CG.CU..CG */ +{{ DEF, -519, -449, -519, -669}, +{-1079,-1548,-1478,-1548,-1698}, +{ -719,-1188,-1118,-1188,-1338}, +{ -989,-1458,-1388,-1458,-1608}, +{ -909,-1378,-1308,-1378,-1528}}}, +/* CG.G@..CG */ +{{{ DEF, -939, -939, -939, -939}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}}, +/* CG.GA..CG */ +{{ DEF, -939, -939, -939, -939}, +{-1079,-1968,-1968,-1968,-1968}, +{ -569,-1458,-1458,-1458,-1458}, +{ -989,-1878,-1878,-1878,-1878}, +{ -859,-1748,-1748,-1748,-1748}}, +/* CG.GC..CG */ +{{ DEF, -939, -939, -939, -939}, +{ -999,-1888,-1888,-1888,-1888}, +{ -499,-1388,-1388,-1388,-1388}, +{ -989,-1878,-1878,-1878,-1878}, +{ -789,-1678,-1678,-1678,-1678}}, +/* CG.GG..CG */ +{{ DEF, -939, -939, -939, -939}, +{-1079,-1968,-1968,-1968,-1968}, +{ -569,-1458,-1458,-1458,-1458}, +{ -989,-1878,-1878,-1878,-1878}, +{ -859,-1748,-1748,-1748,-1748}}, +/* CG.GU..CG */ +{{ DEF, -939, -939, -939, -939}, +{-1079,-1968,-1968,-1968,-1968}, +{ -719,-1608,-1608,-1608,-1608}, +{ -989,-1878,-1878,-1878,-1878}, +{ -909,-1798,-1798,-1798,-1798}}}, +/* CG.U@..CG */ +{{{ DEF, -809, -739, -809, -859}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}}, +/* CG.UA..CG */ +{{ DEF, -809, -739, -809, -859}, +{-1079,-1838,-1768,-1838,-1888}, +{ -569,-1328,-1258,-1328,-1378}, +{ -989,-1748,-1678,-1748,-1798}, +{ -859,-1618,-1548,-1618,-1668}}, +/* CG.UC..CG */ +{{ DEF, -809, -739, -809, -859}, +{ -999,-1758,-1688,-1758,-1808}, +{ -499,-1258,-1188,-1258,-1308}, +{ -989,-1748,-1678,-1748,-1798}, +{ -789,-1548,-1478,-1548,-1598}}, +/* CG.UG..CG */ +{{ DEF, -809, -739, -809, -859}, +{-1079,-1838,-1768,-1838,-1888}, +{ -569,-1328,-1258,-1328,-1378}, +{ -989,-1748,-1678,-1748,-1798}, +{ -859,-1618,-1548,-1618,-1668}}, +/* CG.UU..CG */ +{{ DEF, -809, -739, -809, -859}, +{-1079,-1838,-1768,-1838,-1888}, +{ -719,-1478,-1408,-1478,-1528}, +{ -989,-1748,-1678,-1748,-1798}, +{ -909,-1668,-1598,-1668,-1718}}}}, +/* CG.@@..GC */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.@A..GC */ +{{ 0, 0, 0, 0, 0}, +{ -519, -519, -519, -519, -519}, +{ -719, -719, -719, -719, -719}, +{ -709, -709, -709, -709, -709}, +{ -499, -499, -499, -499, -499}}, +/* CG.@C..GC */ +{{ 0, 0, 0, 0, 0}, +{ -879, -879, -879, -879, -879}, +{ -309, -309, -309, -309, -309}, +{ -739, -739, -739, -739, -739}, +{ -499, -499, -499, -499, -499}}, +/* CG.@G..GC */ +{{ 0, 0, 0, 0, 0}, +{ -559, -559, -559, -559, -559}, +{ -309, -309, -309, -309, -309}, +{ -619, -619, -619, -619, -619}, +{ -499, -499, -499, -499, -499}}, +/* CG.@U..GC */ +{{ 0, 0, 0, 0, 0}, +{ -879, -879, -879, -879, -879}, +{ -389, -389, -389, -389, -389}, +{ -739, -739, -739, -739, -739}, +{ -569, -569, -569, -569, -569}}}, +/* CG.A@..GC */ +{{{ DEF,-1029, -949,-1029,-1029}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}}, +/* CG.AA..GC */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -569,-1548,-1468,-1548,-1548}, +{ -769,-1748,-1668,-1748,-1748}, +{ -759,-1738,-1658,-1738,-1738}, +{ -549,-1528,-1448,-1528,-1528}}, +/* CG.AC..GC */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -929,-1908,-1828,-1908,-1908}, +{ -359,-1338,-1258,-1338,-1338}, +{ -789,-1768,-1688,-1768,-1768}, +{ -549,-1528,-1448,-1528,-1528}}, +/* CG.AG..GC */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -609,-1588,-1508,-1588,-1588}, +{ -359,-1338,-1258,-1338,-1338}, +{ -669,-1648,-1568,-1648,-1648}, +{ -549,-1528,-1448,-1528,-1528}}, +/* CG.AU..GC */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -929,-1908,-1828,-1908,-1908}, +{ -439,-1418,-1338,-1418,-1418}, +{ -789,-1768,-1688,-1768,-1768}, +{ -619,-1598,-1518,-1598,-1598}}}, +/* CG.C@..GC */ +{{{ DEF, -519, -449, -519, -669}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}}, +/* CG.CA..GC */ +{{ DEF, -519, -449, -519, -669}, +{ -569,-1038, -968,-1038,-1188}, +{ -769,-1238,-1168,-1238,-1388}, +{ -759,-1228,-1158,-1228,-1378}, +{ -549,-1018, -948,-1018,-1168}}, +/* CG.CC..GC */ +{{ DEF, -519, -449, -519, -669}, +{ -929,-1398,-1328,-1398,-1548}, +{ -359, -828, -758, -828, -978}, +{ -789,-1258,-1188,-1258,-1408}, +{ -549,-1018, -948,-1018,-1168}}, +/* CG.CG..GC */ +{{ DEF, -519, -449, -519, -669}, +{ -609,-1078,-1008,-1078,-1228}, +{ -359, -828, -758, -828, -978}, +{ -669,-1138,-1068,-1138,-1288}, +{ -549,-1018, -948,-1018,-1168}}, +/* CG.CU..GC */ +{{ DEF, -519, -449, -519, -669}, +{ -929,-1398,-1328,-1398,-1548}, +{ -439, -908, -838, -908,-1058}, +{ -789,-1258,-1188,-1258,-1408}, +{ -619,-1088,-1018,-1088,-1238}}}, +/* CG.G@..GC */ +{{{ DEF, -939, -939, -939, -939}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}}, +/* CG.GA..GC */ +{{ DEF, -939, -939, -939, -939}, +{ -569,-1458,-1458,-1458,-1458}, +{ -769,-1658,-1658,-1658,-1658}, +{ -759,-1648,-1648,-1648,-1648}, +{ -549,-1438,-1438,-1438,-1438}}, +/* CG.GC..GC */ +{{ DEF, -939, -939, -939, -939}, +{ -929,-1818,-1818,-1818,-1818}, +{ -359,-1248,-1248,-1248,-1248}, +{ -789,-1678,-1678,-1678,-1678}, +{ -549,-1438,-1438,-1438,-1438}}, +/* CG.GG..GC */ +{{ DEF, -939, -939, -939, -939}, +{ -609,-1498,-1498,-1498,-1498}, +{ -359,-1248,-1248,-1248,-1248}, +{ -669,-1558,-1558,-1558,-1558}, +{ -549,-1438,-1438,-1438,-1438}}, +/* CG.GU..GC */ +{{ DEF, -939, -939, -939, -939}, +{ -929,-1818,-1818,-1818,-1818}, +{ -439,-1328,-1328,-1328,-1328}, +{ -789,-1678,-1678,-1678,-3080}, +{ -619,-1508,-1508,-1508,-1508}}}, +/* CG.U@..GC */ +{{{ DEF, -809, -739, -809, -859}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}}, +/* CG.UA..GC */ +{{ DEF, -809, -739, -809, -859}, +{ -569,-1328,-1258,-1328,-1378}, +{ -769,-1528,-1458,-1528,-1578}, +{ -759,-1518,-1448,-1518,-1568}, +{ -549,-1308,-1238,-1308,-1358}}, +/* CG.UC..GC */ +{{ DEF, -809, -739, -809, -859}, +{ -929,-1688,-1618,-1688,-1738}, +{ -359,-1118,-1048,-1118,-1168}, +{ -789,-1548,-1478,-1548,-1598}, +{ -549,-1308,-1238,-1308,-1358}}, +/* CG.UG..GC */ +{{ DEF, -809, -739, -809, -859}, +{ -609,-1368,-1298,-1368,-1418}, +{ -359,-1118,-1048,-1118,-1168}, +{ -669,-1428,-1358,-1428,-1478}, +{ -549,-1308,-1238,-1308,-1358}}, +/* CG.UU..GC */ +{{ DEF, -809, -739, -809, -859}, +{ -929,-1688,-1618,-1688,-1738}, +{ -439,-1198,-1128,-1198,-1248}, +{ -789,-1548,-1478,-1548,-1598}, +{ -619,-1378,-1308,-1378,-1428}}}}, +/* CG.@@..GU */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.@A..GU */ +{{ 0, 0, 0, 0, 0}, +{ -429, -429, -429, -429, -429}, +{ -259, -259, -259, -259, -259}, +{ -339, -339, -339, -339, -339}, +{ -329, -329, -329, -329, -329}}, +/* CG.@C..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* CG.@G..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* CG.@U..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}}, +/* CG.A@..GU */ +{{{ DEF,-1029, -949,-1029,-1029}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}}, +/* CG.AA..GU */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -479,-1458,-1378,-1458,-1458}, +{ -309,-1288,-1208,-1288,-1288}, +{ -389,-1368,-1288,-1368,-1368}, +{ -379,-1358,-1278,-1358,-1358}}, +/* CG.AC..GU */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -649,-1628,-1548,-1628,-1628}, +{ -289,-1268,-1188,-1268,-1268}, +{ -739,-1718,-1638,-1718,-1718}, +{ -379,-1358,-1278,-1358,-1358}}, +/* CG.AG..GU */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -649,-1628,-1548,-1628,-1628}, +{ -289,-1268,-1188,-1268,-1268}, +{ -739,-1718,-1638,-1718,-1718}, +{ -379,-1358,-1278,-1358,-1358}}, +/* CG.AU..GU */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -649,-1628,-1548,-1628,-1628}, +{ -289,-1268,-1188,-1268,-1268}, +{ -739,-1718,-1638,-1718,-1718}, +{ -379,-1358,-1278,-1358,-1358}}}, +/* CG.C@..GU */ +{{{ DEF, -519, -449, -519, -669}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}}, +/* CG.CA..GU */ +{{ DEF, -519, -449, -519, -669}, +{ -479, -948, -878, -948,-1098}, +{ -309, -778, -708, -778, -928}, +{ -389, -858, -788, -858,-1008}, +{ -379, -848, -778, -848, -998}}, +/* CG.CC..GU */ +{{ DEF, -519, -449, -519, -669}, +{ -649,-1118,-1048,-1118,-1268}, +{ -289, -758, -688, -758, -908}, +{ -739,-1208,-1138,-1208,-1358}, +{ -379, -848, -778, -848, -998}}, +/* CG.CG..GU */ +{{ DEF, -519, -449, -519, -669}, +{ -649,-1118,-1048,-1118,-1268}, +{ -289, -758, -688, -758, -908}, +{ -739,-1208,-1138,-1208,-1358}, +{ -379, -848, -778, -848, -998}}, +/* CG.CU..GU */ +{{ DEF, -519, -449, -519, -669}, +{ -649,-1118,-1048,-1118,-1268}, +{ -289, -758, -688, -758, -908}, +{ -739,-1208,-1138,-1208,-1358}, +{ -379, -848, -778, -848, -998}}}, +/* CG.G@..GU */ +{{{ DEF, -939, -939, -939, -939}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}}, +/* CG.GA..GU */ +{{ DEF, -939, -939, -939, -939}, +{ -479,-1368,-1368,-1368,-1368}, +{ -309,-1198,-1198,-1198,-1198}, +{ -389,-1278,-1278,-1278,-1278}, +{ -379,-1268,-1268,-1268,-1268}}, +/* CG.GC..GU */ +{{ DEF, -939, -939, -939, -939}, +{ -649,-1538,-1538,-1538,-1538}, +{ -289,-1178,-1178,-1178,-1178}, +{ -739,-1628,-1628,-1628,-1628}, +{ -379,-1268,-1268,-1268,-1268}}, +/* CG.GG..GU */ +{{ DEF, -939, -939, -939, -939}, +{ -649,-1538,-1538,-1538,-1538}, +{ -289,-1178,-1178,-1178,-1178}, +{ -739,-1628,-1628,-1628,-1628}, +{ -379,-1268,-1268,-1268,-1268}}, +/* CG.GU..GU */ +{{ DEF, -939, -939, -939, -939}, +{ -649,-1538,-1538,-1538,-1538}, +{ -289,-1178,-1178,-1178,-1178}, +{ -739,-1628,-1628,-1628,-1628}, +{ -379,-1268,-1268,-1268,-1268}}}, +/* CG.U@..GU */ +{{{ DEF, -809, -739, -809, -859}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}}, +/* CG.UA..GU */ +{{ DEF, -809, -739, -809, -859}, +{ -479,-1238,-1168,-1238,-1288}, +{ -309,-1068, -998,-1068,-1118}, +{ -389,-1148,-1078,-1148,-1198}, +{ -379,-1138,-1068,-1138,-1188}}, +/* CG.UC..GU */ +{{ DEF, -809, -739, -809, -859}, +{ -649,-1408,-1338,-1408,-1458}, +{ -289,-1048, -978,-1048,-1098}, +{ -739,-1498,-1428,-1498,-1548}, +{ -379,-1138,-1068,-1138,-1188}}, +/* CG.UG..GU */ +{{ DEF, -809, -739, -809, -859}, +{ -649,-1408,-1338,-1408,-1458}, +{ -289,-1048, -978,-1048,-1098}, +{ -739,-1498,-1428,-1498,-1548}, +{ -379,-1138,-1068,-1138,-1188}}, +/* CG.UU..GU */ +{{ DEF, -809, -739, -809, -859}, +{ -649,-1408,-1338,-1408,-1458}, +{ -289,-1048, -978,-1048,-1098}, +{ -739,-1498,-1428,-1498,-1548}, +{ -379,-1138,-1068,-1138,-1188}}}}, +/* CG.@@..UG */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.@A..UG */ +{{ 0, 0, 0, 0, 0}, +{ -719, -719, -719, -719, -719}, +{ -479, -479, -479, -479, -479}, +{ -659, -659, -659, -659, -659}, +{ -549, -549, -549, -549, -549}}, +/* CG.@C..UG */ +{{ 0, 0, 0, 0, 0}, +{ -789, -789, -789, -789, -789}, +{ -479, -479, -479, -479, -479}, +{ -809, -809, -809, -809, -809}, +{ -439, -439, -439, -439, -439}}, +/* CG.@G..UG */ +{{ 0, 0, 0, 0, 0}, +{ -959, -959, -959, -959, -959}, +{ -359, -359, -359, -359, -359}, +{ -919, -919, -919, -919, -919}, +{ -549, -549, -549, -549, -549}}, +/* CG.@U..UG */ +{{ 0, 0, 0, 0, 0}, +{ -809, -809, -809, -809, -809}, +{ -479, -479, -479, -479, -479}, +{ -809, -809, -809, -809, -809}, +{ -359, -359, -359, -359, -359}}}, +/* CG.A@..UG */ +{{{ DEF,-1029, -949,-1029,-1029}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}}, +/* CG.AA..UG */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -769,-1748,-1668,-1748,-1748}, +{ -529,-1508,-1428,-1508,-1508}, +{ -709,-1688,-1608,-1688,-1688}, +{ -599,-1578,-1498,-1578,-1578}}, +/* CG.AC..UG */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -839,-1818,-1738,-1818,-1818}, +{ -529,-1508,-1428,-1508,-1508}, +{ -859,-1838,-1758,-1838,-1838}, +{ -489,-1468,-1388,-1468,-1468}}, +/* CG.AG..UG */ +{{ DEF,-1029, -949,-1029,-1029}, +{-1009,-1988,-1908,-1988,-1988}, +{ -409,-1388,-1308,-1388,-1388}, +{ -969,-1948,-1868,-1948,-1948}, +{ -599,-1578,-1498,-1578,-1578}}, +/* CG.AU..UG */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -859,-1838,-1758,-1838,-1838}, +{ -529,-1508,-1428,-1508,-1508}, +{ -859,-1838,-1758,-1838,-1838}, +{ -409,-1388,-1308,-1388,-1388}}}, +/* CG.C@..UG */ +{{{ DEF, -519, -449, -519, -669}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}}, +/* CG.CA..UG */ +{{ DEF, -519, -449, -519, -669}, +{ -769,-1238,-1168,-1238,-1388}, +{ -529, -998, -928, -998,-1148}, +{ -709,-1178,-1108,-1178,-1328}, +{ -599,-1068, -998,-1068,-1218}}, +/* CG.CC..UG */ +{{ DEF, -519, -449, -519, -669}, +{ -839,-1308,-1238,-1308,-1458}, +{ -529, -998, -928, -998,-1148}, +{ -859,-1328,-1258,-1328,-1478}, +{ -489, -958, -888, -958,-1108}}, +/* CG.CG..UG */ +{{ DEF, -519, -449, -519, -669}, +{-1009,-1478,-1408,-1478,-1628}, +{ -409, -878, -808, -878,-1028}, +{ -969,-1438,-1368,-1438,-1588}, +{ -599,-1068, -998,-1068,-1218}}, +/* CG.CU..UG */ +{{ DEF, -519, -449, -519, -669}, +{ -859,-1328,-1258,-1328,-1478}, +{ -529, -998, -928, -998,-1148}, +{ -859,-1328,-1258,-1328,-1478}, +{ -409, -878, -808, -878,-1028}}}, +/* CG.G@..UG */ +{{{ DEF, -939, -939, -939, -939}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}}, +/* CG.GA..UG */ +{{ DEF, -939, -939, -939, -939}, +{ -769,-1658,-1658,-1658,-1658}, +{ -529,-1418,-1418,-1418,-1418}, +{ -709,-1598,-1598,-1598,-1598}, +{ -599,-1488,-1488,-1488,-1488}}, +/* CG.GC..UG */ +{{ DEF, -939, -939, -939, -939}, +{ -839,-1728,-1728,-1728,-1728}, +{ -529,-1418,-1418,-1418,-1418}, +{ -859,-1748,-1748,-1748,-1748}, +{ -489,-1378,-1378,-1378,-1378}}, +/* CG.GG..UG */ +{{ DEF, -939, -939, -939, -939}, +{-1009,-1898,-1898,-1898,-1898}, +{ -409,-1298,-1298,-1298,-1298}, +{ -969,-1858,-1858,-1858,-1858}, +{ -599,-1488,-1488,-1488,-1488}}, +/* CG.GU..UG */ +{{ DEF, -939, -939, -939, -939}, +{ -859,-1748,-1748,-1748,-1748}, +{ -529,-1418,-1418,-1418,-1418}, +{ -859,-1748,-1748,-1748,-1748}, +{ -409,-1298,-1298,-1298,-1298}}}, +/* CG.U@..UG */ +{{{ DEF, -809, -739, -809, -859}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}}, +/* CG.UA..UG */ +{{ DEF, -809, -739, -809, -859}, +{ -769,-1528,-1458,-1528,-1578}, +{ -529,-1288,-1218,-1288,-1338}, +{ -709,-1468,-1398,-1468,-1518}, +{ -599,-1358,-1288,-1358,-1408}}, +/* CG.UC..UG */ +{{ DEF, -809, -739, -809, -859}, +{ -839,-1598,-1528,-1598,-1648}, +{ -529,-1288,-1218,-1288,-1338}, +{ -859,-1618,-1548,-1618,-1668}, +{ -489,-1248,-1178,-1248,-1298}}, +/* CG.UG..UG */ +{{ DEF, -809, -739, -809, -859}, +{-1009,-1768,-1698,-1768,-1818}, +{ -409,-1168,-1098,-1168,-1218}, +{ -969,-1728,-1658,-1728,-1778}, +{ -599,-1358,-1288,-1358,-1408}}, +/* CG.UU..UG */ +{{ DEF, -809, -739, -809, -859}, +{ -859,-1618,-1548,-1618,-1668}, +{ -529,-1288,-1218,-1288,-1338}, +{ -859,-1618,-1548,-1618,-1668}, +{ -409,-1168,-1098,-1168,-1218}}}}, +/* CG.@@..AU */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.@A..AU */ +{{ 0, 0, 0, 0, 0}, +{ -429, -429, -429, -429, -429}, +{ -259, -259, -259, -259, -259}, +{ -339, -339, -339, -339, -339}, +{ -329, -329, -329, -329, -329}}, +/* CG.@C..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* CG.@G..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* CG.@U..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}}, +/* CG.A@..AU */ +{{{ DEF,-1029, -949,-1029,-1029}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}}, +/* CG.AA..AU */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -479,-1458,-1378,-1458,-1458}, +{ -309,-1288,-1208,-1288,-1288}, +{ -389,-1368,-1288,-1368,-1368}, +{ -379,-1358,-1278,-1358,-1358}}, +/* CG.AC..AU */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -649,-1628,-1548,-1628,-1628}, +{ -289,-1268,-1188,-1268,-1268}, +{ -739,-1718,-1638,-1718,-1718}, +{ -379,-1358,-1278,-1358,-1358}}, +/* CG.AG..AU */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -649,-1628,-1548,-1628,-1628}, +{ -289,-1268,-1188,-1268,-1268}, +{ -739,-1718,-1638,-1718,-1718}, +{ -379,-1358,-1278,-1358,-1358}}, +/* CG.AU..AU */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -649,-1628,-1548,-1628,-1628}, +{ -289,-1268,-1188,-1268,-1268}, +{ -739,-1718,-1638,-1718,-1718}, +{ -379,-1358,-1278,-1358,-1358}}}, +/* CG.C@..AU */ +{{{ DEF, -519, -449, -519, -669}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}}, +/* CG.CA..AU */ +{{ DEF, -519, -449, -519, -669}, +{ -479, -948, -878, -948,-1098}, +{ -309, -778, -708, -778, -928}, +{ -389, -858, -788, -858,-1008}, +{ -379, -848, -778, -848, -998}}, +/* CG.CC..AU */ +{{ DEF, -519, -449, -519, -669}, +{ -649,-1118,-1048,-1118,-1268}, +{ -289, -758, -688, -758, -908}, +{ -739,-1208,-1138,-1208,-1358}, +{ -379, -848, -778, -848, -998}}, +/* CG.CG..AU */ +{{ DEF, -519, -449, -519, -669}, +{ -649,-1118,-1048,-1118,-1268}, +{ -289, -758, -688, -758, -908}, +{ -739,-1208,-1138,-1208,-1358}, +{ -379, -848, -778, -848, -998}}, +/* CG.CU..AU */ +{{ DEF, -519, -449, -519, -669}, +{ -649,-1118,-1048,-1118,-1268}, +{ -289, -758, -688, -758, -908}, +{ -739,-1208,-1138,-1208,-1358}, +{ -379, -848, -778, -848, -998}}}, +/* CG.G@..AU */ +{{{ DEF, -939, -939, -939, -939}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}}, +/* CG.GA..AU */ +{{ DEF, -939, -939, -939, -939}, +{ -479,-1368,-1368,-1368,-1368}, +{ -309,-1198,-1198,-1198,-1198}, +{ -389,-1278,-1278,-1278,-1278}, +{ -379,-1268,-1268,-1268,-1268}}, +/* CG.GC..AU */ +{{ DEF, -939, -939, -939, -939}, +{ -649,-1538,-1538,-1538,-1538}, +{ -289,-1178,-1178,-1178,-1178}, +{ -739,-1628,-1628,-1628,-1628}, +{ -379,-1268,-1268,-1268,-1268}}, +/* CG.GG..AU */ +{{ DEF, -939, -939, -939, -939}, +{ -649,-1538,-1538,-1538,-1538}, +{ -289,-1178,-1178,-1178,-1178}, +{ -739,-1628,-1628,-1628,-1628}, +{ -379,-1268,-1268,-1268,-1268}}, +/* CG.GU..AU */ +{{ DEF, -939, -939, -939, -939}, +{ -649,-1538,-1538,-1538,-1538}, +{ -289,-1178,-1178,-1178,-1178}, +{ -739,-1628,-1628,-1628,-1628}, +{ -379,-1268,-1268,-1268,-1268}}}, +/* CG.U@..AU */ +{{{ DEF, -809, -739, -809, -859}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}}, +/* CG.UA..AU */ +{{ DEF, -809, -739, -809, -859}, +{ -479,-1238,-1168,-1238,-1288}, +{ -309,-1068, -998,-1068,-1118}, +{ -389,-1148,-1078,-1148,-1198}, +{ -379,-1138,-1068,-1138,-1188}}, +/* CG.UC..AU */ +{{ DEF, -809, -739, -809, -859}, +{ -649,-1408,-1338,-1408,-1458}, +{ -289,-1048, -978,-1048,-1098}, +{ -739,-1498,-1428,-1498,-1548}, +{ -379,-1138,-1068,-1138,-1188}}, +/* CG.UG..AU */ +{{ DEF, -809, -739, -809, -859}, +{ -649,-1408,-1338,-1408,-1458}, +{ -289,-1048, -978,-1048,-1098}, +{ -739,-1498,-1428,-1498,-1548}, +{ -379,-1138,-1068,-1138,-1188}}, +/* CG.UU..AU */ +{{ DEF, -809, -739, -809, -859}, +{ -649,-1408,-1338,-1408,-1458}, +{ -289,-1048, -978,-1048,-1098}, +{ -739,-1498,-1428,-1498,-1548}, +{ -379,-1138,-1068,-1138,-1188}}}}, +/* CG.@@..UA */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.@A..UA */ +{{ 0, 0, 0, 0, 0}, +{ -399, -399, -399, -399, -399}, +{ -429, -429, -429, -429, -429}, +{ -379, -379, -379, -379, -379}, +{ -279, -279, -279, -279, -279}}, +/* CG.@C..UA */ +{{ 0, 0, 0, 0, 0}, +{ -629, -629, -629, -629, -629}, +{ -509, -509, -509, -509, -509}, +{ -679, -679, -679, -679, -679}, +{ -139, -139, -139, -139, -139}}, +/* CG.@G..UA */ +{{ 0, 0, 0, 0, 0}, +{ -889, -889, -889, -889, -889}, +{ -199, -199, -199, -199, -199}, +{ -889, -889, -889, -889, -889}, +{ -279, -279, -279, -279, -279}}, +/* CG.@U..UA */ +{{ 0, 0, 0, 0, 0}, +{ -589, -589, -589, -589, -589}, +{ -179, -179, -179, -179, -179}, +{ -679, -679, -679, -679, -679}, +{ -140, -140, -140, -140, -140}}}, +/* CG.A@..UA */ +{{{ DEF,-1029, -949,-1029,-1029}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}}, +/* CG.AA..UA */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -449,-1428,-1348,-1428,-1428}, +{ -479,-1458,-1378,-1458,-1458}, +{ -429,-1408,-1328,-1408,-1408}, +{ -329,-1308,-1228,-1308,-1308}}, +/* CG.AC..UA */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -679,-1658,-1578,-1658,-1658}, +{ -559,-1538,-1458,-1538,-1538}, +{ -729,-1708,-1628,-1708,-1708}, +{ -189,-1168,-1088,-1168,-1168}}, +/* CG.AG..UA */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -939,-1918,-1838,-1918,-1918}, +{ -249,-1228,-1148,-1228,-1228}, +{ -939,-1918,-1838,-1918,-1918}, +{ -329,-1308,-1228,-1308,-1308}}, +/* CG.AU..UA */ +{{ DEF,-1029, -949,-1029,-1029}, +{ -639,-1618,-1538,-1618,-1618}, +{ -229,-1208,-1128,-1208,-1208}, +{ -729,-1708,-1628,-1708,-1708}, +{ -190,-1169,-1089,-1169,-1169}}}, +/* CG.C@..UA */ +{{{ DEF, -519, -449, -519, -669}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}}, +/* CG.CA..UA */ +{{ DEF, -519, -449, -519, -669}, +{ -449, -918, -848, -918,-1068}, +{ -479, -948, -878, -948,-1098}, +{ -429, -898, -828, -898,-1048}, +{ -329, -798, -728, -798, -948}}, +/* CG.CC..UA */ +{{ DEF, -519, -449, -519, -669}, +{ -679,-1148,-1078,-1148,-1298}, +{ -559,-1028, -958,-1028,-1178}, +{ -729,-1198,-1128,-1198,-1348}, +{ -189, -658, -588, -658, -808}}, +/* CG.CG..UA */ +{{ DEF, -519, -449, -519, -669}, +{ -939,-1408,-1338,-1408,-1558}, +{ -249, -718, -648, -718, -868}, +{ -939,-1408,-1338,-1408,-1558}, +{ -329, -798, -728, -798, -948}}, +/* CG.CU..UA */ +{{ DEF, -519, -449, -519, -669}, +{ -639,-1108,-1038,-1108,-1258}, +{ -229, -698, -628, -698, -848}, +{ -729,-1198,-1128,-1198,-1348}, +{ -190, -659, -589, -659, -809}}}, +/* CG.G@..UA */ +{{{ DEF, -939, -939, -939, -939}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}}, +/* CG.GA..UA */ +{{ DEF, -939, -939, -939, -939}, +{ -449,-1338,-1338,-1338,-1338}, +{ -479,-1368,-1368,-1368,-1368}, +{ -429,-1318,-1318,-1318,-1318}, +{ -329,-1218,-1218,-1218,-1218}}, +/* CG.GC..UA */ +{{ DEF, -939, -939, -939, -939}, +{ -679,-1568,-1568,-1568,-1568}, +{ -559,-1448,-1448,-1448,-1448}, +{ -729,-1618,-1618,-1618,-1618}, +{ -189,-1078,-1078,-1078,-1078}}, +/* CG.GG..UA */ +{{ DEF, -939, -939, -939, -939}, +{ -939,-1828,-1828,-1828,-1828}, +{ -249,-1138,-1138,-1138,-1138}, +{ -939,-1828,-1828,-1828,-1828}, +{ -329,-1218,-1218,-1218,-1218}}, +/* CG.GU..UA */ +{{ DEF, -939, -939, -939, -939}, +{ -639,-1528,-1528,-1528,-1528}, +{ -229,-1118,-1118,-1118,-1118}, +{ -729,-1618,-1618,-1618,-1618}, +{ -190,-1079,-1079,-1079,-1079}}}, +/* CG.U@..UA */ +{{{ DEF, -809, -739, -809, -859}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}}, +/* CG.UA..UA */ +{{ DEF, -809, -739, -809, -859}, +{ -449,-1208,-1138,-1208,-1258}, +{ -479,-1238,-1168,-1238,-1288}, +{ -429,-1188,-1118,-1188,-1238}, +{ -329,-1088,-1018,-1088,-1138}}, +/* CG.UC..UA */ +{{ DEF, -809, -739, -809, -859}, +{ -679,-1438,-1368,-1438,-1488}, +{ -559,-1318,-1248,-1318,-1368}, +{ -729,-1488,-1418,-1488,-1538}, +{ -189, -948, -878, -948, -998}}, +/* CG.UG..UA */ +{{ DEF, -809, -739, -809, -859}, +{ -939,-1698,-1628,-1698,-1748}, +{ -249,-1008, -938,-1008,-1058}, +{ -939,-1698,-1628,-1698,-1748}, +{ -329,-1088,-1018,-1088,-1138}}, +/* CG.UU..UA */ +{{ DEF, -809, -739, -809, -859}, +{ -639,-1398,-1328,-1398,-1448}, +{ -229, -988, -918, -988,-1038}, +{ -729,-1488,-1418,-1488,-1538}, +{ -190, -949, -879, -949, -999}}}}, +/* CG.@@.. @ */ +{{{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.@A.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.@C.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.@G.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* CG.@U.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}}, +/* CG.A@.. @ */ +{{{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}}, +/* CG.AA.. @ */ +{{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}}, +/* CG.AC.. @ */ +{{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}}, +/* CG.AG.. @ */ +{{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}}, +/* CG.AU.. @ */ +{{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}, +{ -100,-1079, -999,-1079,-1079}}}, +/* CG.C@.. @ */ +{{{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}}, +/* CG.CA.. @ */ +{{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}}, +/* CG.CC.. @ */ +{{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}}, +/* CG.CG.. @ */ +{{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}}, +/* CG.CU.. @ */ +{{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}, +{ -100, -569, -499, -569, -719}}}, +/* CG.G@.. @ */ +{{{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}}, +/* CG.GA.. @ */ +{{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}}, +/* CG.GC.. @ */ +{{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}}, +/* CG.GG.. @ */ +{{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}}, +/* CG.GU.. @ */ +{{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}, +{ -100, -989, -989, -989, -989}}}, +/* CG.U@.. @ */ +{{{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}}, +/* CG.UA.. @ */ +{{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}}, +/* CG.UC.. @ */ +{{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}}, +/* CG.UG.. @ */ +{{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}}, +/* CG.UU.. @ */ +{{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}, +{ -100, -859, -789, -859, -909}}}}}, +{ /* noPair */ {{{{0}}}}, +/* GC.@@..CG */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.@A..CG */ +{{ 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -519, -519, -519, -519, -519}, +{ -939, -939, -939, -939, -939}, +{ -809, -809, -809, -809, -809}}, +/* GC.@C..CG */ +{{ 0, 0, 0, 0, 0}, +{ -949, -949, -949, -949, -949}, +{ -449, -449, -449, -449, -449}, +{ -939, -939, -939, -939, -939}, +{ -739, -739, -739, -739, -739}}, +/* GC.@G..CG */ +{{ 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -519, -519, -519, -519, -519}, +{ -939, -939, -939, -939, -939}, +{ -809, -809, -809, -809, -809}}, +/* GC.@U..CG */ +{{ 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -669, -669, -669, -669, -669}, +{ -939, -939, -939, -939, -939}, +{ -859, -859, -859, -859, -859}}}, +/* GC.A@..CG */ +{{{ DEF, -519, -879, -559, -879}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}}, +/* GC.AA..CG */ +{{ DEF, -519, -879, -559, -879}, +{-1079,-1548,-1908,-1588,-1908}, +{ -569,-1038,-1398,-1078,-1398}, +{ -989,-1458,-1818,-1498,-1818}, +{ -859,-1328,-1688,-1368,-1688}}, +/* GC.AC..CG */ +{{ DEF, -519, -879, -559, -879}, +{ -999,-1468,-1828,-1508,-1828}, +{ -499, -968,-1328,-1008,-1328}, +{ -989,-1458,-1818,-1498,-1818}, +{ -789,-1258,-1618,-1298,-1618}}, +/* GC.AG..CG */ +{{ DEF, -519, -879, -559, -879}, +{-1079,-1548,-1908,-1588,-1908}, +{ -569,-1038,-1398,-1078,-1398}, +{ -989,-1458,-1818,-1498,-1818}, +{ -859,-1328,-1688,-1368,-1688}}, +/* GC.AU..CG */ +{{ DEF, -519, -879, -559, -879}, +{-1079,-1548,-1908,-1588,-1908}, +{ -719,-1188,-1548,-1228,-1548}, +{ -989,-1458,-1818,-1498,-1818}, +{ -909,-1378,-1738,-1418,-1738}}}, +/* GC.C@..CG */ +{{{ DEF, -719, -309, -309, -389}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}}, +/* GC.CA..CG */ +{{ DEF, -719, -309, -309, -389}, +{-1079,-1748,-1338,-1338,-1418}, +{ -569,-1238, -828, -828, -908}, +{ -989,-1658,-1248,-1248,-1328}, +{ -859,-1528,-1118,-1118,-1198}}, +/* GC.CC..CG */ +{{ DEF, -719, -309, -309, -389}, +{ -999,-1668,-1258,-1258,-1338}, +{ -499,-1168, -758, -758, -838}, +{ -989,-1658,-1248,-1248,-1328}, +{ -789,-1458,-1048,-1048,-1128}}, +/* GC.CG..CG */ +{{ DEF, -719, -309, -309, -389}, +{-1079,-1748,-1338,-1338,-1418}, +{ -569,-1238, -828, -828, -908}, +{ -989,-1658,-1248,-1248,-1328}, +{ -859,-1528,-1118,-1118,-1198}}, +/* GC.CU..CG */ +{{ DEF, -719, -309, -309, -389}, +{-1079,-1748,-1338,-1338,-1418}, +{ -719,-1388, -978, -978,-1058}, +{ -989,-1658,-1248,-1248,-1328}, +{ -909,-1578,-1168,-1168,-1248}}}, +/* GC.G@..CG */ +{{{ DEF, -709, -739, -619, -739}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}}, +/* GC.GA..CG */ +{{ DEF, -709, -739, -619, -739}, +{-1079,-1738,-1768,-1648,-1768}, +{ -569,-1228,-1258,-1138,-1258}, +{ -989,-1648,-1678,-1558,-1678}, +{ -859,-1518,-1548,-1428,-1548}}, +/* GC.GC..CG */ +{{ DEF, -709, -739, -619, -739}, +{ -999,-1658,-1688,-1568,-1688}, +{ -499,-1158,-1188,-1068,-1188}, +{ -989,-1648,-1678,-1558,-1678}, +{ -789,-1448,-1478,-1358,-1478}}, +/* GC.GG..CG */ +{{ DEF, -709, -739, -619, -739}, +{-1079,-1738,-1768,-1648,-1768}, +{ -569,-1228,-1258,-1138,-1258}, +{ -989,-1648,-1678,-1558,-1678}, +{ -859,-1518,-1548,-1428,-1548}}, +/* GC.GU..CG */ +{{ DEF, -709, -739, -619, -739}, +{-1079,-1738,-1768,-1648,-1768}, +{ -719,-1378,-1408,-1288,-1408}, +{ -989,-1648,-1678,-1558,-3080}, +{ -909,-1568,-1598,-1478,-1598}}}, +/* GC.U@..CG */ +{{{ DEF, -499, -499, -499, -569}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}}, +/* GC.UA..CG */ +{{ DEF, -499, -499, -499, -569}, +{-1079,-1528,-1528,-1528,-1598}, +{ -569,-1018,-1018,-1018,-1088}, +{ -989,-1438,-1438,-1438,-1508}, +{ -859,-1308,-1308,-1308,-1378}}, +/* GC.UC..CG */ +{{ DEF, -499, -499, -499, -569}, +{ -999,-1448,-1448,-1448,-1518}, +{ -499, -948, -948, -948,-1018}, +{ -989,-1438,-1438,-1438,-1508}, +{ -789,-1238,-1238,-1238,-1308}}, +/* GC.UG..CG */ +{{ DEF, -499, -499, -499, -569}, +{-1079,-1528,-1528,-1528,-1598}, +{ -569,-1018,-1018,-1018,-1088}, +{ -989,-1438,-1438,-1438,-1508}, +{ -859,-1308,-1308,-1308,-1378}}, +/* GC.UU..CG */ +{{ DEF, -499, -499, -499, -569}, +{-1079,-1528,-1528,-1528,-1598}, +{ -719,-1168,-1168,-1168,-1238}, +{ -989,-1438,-1438,-1438,-1508}, +{ -909,-1358,-1358,-1358,-1428}}}}, +/* GC.@@..GC */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.@A..GC */ +{{ 0, 0, 0, 0, 0}, +{ -519, -519, -519, -519, -519}, +{ -719, -719, -719, -719, -719}, +{ -709, -709, -709, -709, -709}, +{ -499, -499, -499, -499, -499}}, +/* GC.@C..GC */ +{{ 0, 0, 0, 0, 0}, +{ -879, -879, -879, -879, -879}, +{ -309, -309, -309, -309, -309}, +{ -739, -739, -739, -739, -739}, +{ -499, -499, -499, -499, -499}}, +/* GC.@G..GC */ +{{ 0, 0, 0, 0, 0}, +{ -559, -559, -559, -559, -559}, +{ -309, -309, -309, -309, -309}, +{ -619, -619, -619, -619, -619}, +{ -499, -499, -499, -499, -499}}, +/* GC.@U..GC */ +{{ 0, 0, 0, 0, 0}, +{ -879, -879, -879, -879, -879}, +{ -389, -389, -389, -389, -389}, +{ -739, -739, -739, -739, -739}, +{ -569, -569, -569, -569, -569}}}, +/* GC.A@..GC */ +{{{ DEF, -519, -879, -559, -879}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}}, +/* GC.AA..GC */ +{{ DEF, -519, -879, -559, -879}, +{ -569,-1038,-1398,-1078,-1398}, +{ -769,-1238,-1598,-1278,-1598}, +{ -759,-1228,-1588,-1268,-1588}, +{ -549,-1018,-1378,-1058,-1378}}, +/* GC.AC..GC */ +{{ DEF, -519, -879, -559, -879}, +{ -929,-1398,-1758,-1438,-1758}, +{ -359, -828,-1188, -868,-1188}, +{ -789,-1258,-1618,-1298,-1618}, +{ -549,-1018,-1378,-1058,-1378}}, +/* GC.AG..GC */ +{{ DEF, -519, -879, -559, -879}, +{ -609,-1078,-1438,-1118,-1438}, +{ -359, -828,-1188, -868,-1188}, +{ -669,-1138,-1498,-1178,-1498}, +{ -549,-1018,-1378,-1058,-1378}}, +/* GC.AU..GC */ +{{ DEF, -519, -879, -559, -879}, +{ -929,-1398,-1758,-1438,-1758}, +{ -439, -908,-1268, -948,-1268}, +{ -789,-1258,-1618,-1298,-1618}, +{ -619,-1088,-1448,-1128,-1448}}}, +/* GC.C@..GC */ +{{{ DEF, -719, -309, -309, -389}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}}, +/* GC.CA..GC */ +{{ DEF, -719, -309, -309, -389}, +{ -569,-1238, -828, -828, -908}, +{ -769,-1438,-1028,-1028,-1108}, +{ -759,-1428,-1018,-1018,-1098}, +{ -549,-1218, -808, -808, -888}}, +/* GC.CC..GC */ +{{ DEF, -719, -309, -309, -389}, +{ -929,-1598,-1188,-1188,-1268}, +{ -359,-1028, -618, -618, -698}, +{ -789,-1458,-1048,-1048,-1128}, +{ -549,-1218, -808, -808, -888}}, +/* GC.CG..GC */ +{{ DEF, -719, -309, -309, -389}, +{ -609,-1278, -868, -868, -948}, +{ -359,-1028, -618, -618, -698}, +{ -669,-1338, -928, -928,-1008}, +{ -549,-1218, -808, -808, -888}}, +/* GC.CU..GC */ +{{ DEF, -719, -309, -309, -389}, +{ -929,-1598,-1188,-1188,-1268}, +{ -439,-1108, -698, -698, -778}, +{ -789,-1458,-1048,-1048,-1128}, +{ -619,-1288, -878, -878, -958}}}, +/* GC.G@..GC */ +{{{ DEF, -709, -739, -619, -739}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}}, +/* GC.GA..GC */ +{{ DEF, -709, -739, -619, -739}, +{ -569,-1228,-1258,-1138,-1258}, +{ -769,-1428,-1458,-1338,-1458}, +{ -759,-1418,-1448,-1328,-1448}, +{ -549,-1208,-1238,-1118,-1238}}, +/* GC.GC..GC */ +{{ DEF, -709, -739, -619, -739}, +{ -929,-1588,-1618,-1498,-1618}, +{ -359,-1018,-1048, -928,-1048}, +{ -789,-1448,-1478,-1358,-1478}, +{ -549,-1208,-1238,-1118,-1238}}, +/* GC.GG..GC */ +{{ DEF, -709, -739, -619, -739}, +{ -609,-1268,-1298,-1178,-1298}, +{ -359,-1018,-1048, -928,-1048}, +{ -669,-1328,-1358,-1238,-1358}, +{ -549,-1208,-1238,-1118,-1238}}, +/* GC.GU..GC */ +{{ DEF, -709, -739, -619, -739}, +{ -929,-1588,-1618,-1498,-1618}, +{ -439,-1098,-1128,-1008,-1128}, +{ -789,-1448,-1478,-1358,-3080}, +{ -619,-1278,-1308,-1188,-1308}}}, +/* GC.U@..GC */ +{{{ DEF, -499, -499, -499, -569}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}}, +/* GC.UA..GC */ +{{ DEF, -499, -499, -499, -569}, +{ -569,-1018,-1018,-1018,-1088}, +{ -769,-1218,-1218,-1218,-1288}, +{ -759,-1208,-1208,-1208,-1278}, +{ -549, -998, -998, -998,-1068}}, +/* GC.UC..GC */ +{{ DEF, -499, -499, -499, -569}, +{ -929,-1378,-1378,-1378,-1448}, +{ -359, -808, -808, -808, -878}, +{ -789,-1238,-1238,-1238,-1308}, +{ -549, -998, -998, -998,-1068}}, +/* GC.UG..GC */ +{{ DEF, -499, -499, -499, -569}, +{ -609,-1058,-1058,-1058,-1128}, +{ -359, -808, -808, -808, -878}, +{ -669,-1118,-1118,-1118,-1188}, +{ -549, -998, -998, -998,-1068}}, +/* GC.UU..GC */ +{{ DEF, -499, -499, -499, -569}, +{ -929,-1378,-1378,-1378,-1448}, +{ -439, -888, -888, -888, -958}, +{ -789,-1238,-1238,-1238,-1308}, +{ -619,-1068,-1068,-1068,-1138}}}}, +/* GC.@@..GU */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.@A..GU */ +{{ 0, 0, 0, 0, 0}, +{ -429, -429, -429, -429, -429}, +{ -259, -259, -259, -259, -259}, +{ -339, -339, -339, -339, -339}, +{ -329, -329, -329, -329, -329}}, +/* GC.@C..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* GC.@G..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* GC.@U..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}}, +/* GC.A@..GU */ +{{{ DEF, -519, -879, -559, -879}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}}, +/* GC.AA..GU */ +{{ DEF, -519, -879, -559, -879}, +{ -479, -948,-1308, -988,-1308}, +{ -309, -778,-1138, -818,-1138}, +{ -389, -858,-1218, -898,-1218}, +{ -379, -848,-1208, -888,-1208}}, +/* GC.AC..GU */ +{{ DEF, -519, -879, -559, -879}, +{ -649,-1118,-1478,-1158,-1478}, +{ -289, -758,-1118, -798,-1118}, +{ -739,-1208,-1568,-1248,-1568}, +{ -379, -848,-1208, -888,-1208}}, +/* GC.AG..GU */ +{{ DEF, -519, -879, -559, -879}, +{ -649,-1118,-1478,-1158,-1478}, +{ -289, -758,-1118, -798,-1118}, +{ -739,-1208,-1568,-1248,-1568}, +{ -379, -848,-1208, -888,-1208}}, +/* GC.AU..GU */ +{{ DEF, -519, -879, -559, -879}, +{ -649,-1118,-1478,-1158,-1478}, +{ -289, -758,-1118, -798,-1118}, +{ -739,-1208,-1568,-1248,-1568}, +{ -379, -848,-1208, -888,-1208}}}, +/* GC.C@..GU */ +{{{ DEF, -719, -309, -309, -389}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}}, +/* GC.CA..GU */ +{{ DEF, -719, -309, -309, -389}, +{ -479,-1148, -738, -738, -818}, +{ -309, -978, -568, -568, -648}, +{ -389,-1058, -648, -648, -728}, +{ -379,-1048, -638, -638, -718}}, +/* GC.CC..GU */ +{{ DEF, -719, -309, -309, -389}, +{ -649,-1318, -908, -908, -988}, +{ -289, -958, -548, -548, -628}, +{ -739,-1408, -998, -998,-1078}, +{ -379,-1048, -638, -638, -718}}, +/* GC.CG..GU */ +{{ DEF, -719, -309, -309, -389}, +{ -649,-1318, -908, -908, -988}, +{ -289, -958, -548, -548, -628}, +{ -739,-1408, -998, -998,-1078}, +{ -379,-1048, -638, -638, -718}}, +/* GC.CU..GU */ +{{ DEF, -719, -309, -309, -389}, +{ -649,-1318, -908, -908, -988}, +{ -289, -958, -548, -548, -628}, +{ -739,-1408, -998, -998,-1078}, +{ -379,-1048, -638, -638, -718}}}, +/* GC.G@..GU */ +{{{ DEF, -709, -739, -619, -739}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}}, +/* GC.GA..GU */ +{{ DEF, -709, -739, -619, -739}, +{ -479,-1138,-1168,-1048,-1168}, +{ -309, -968, -998, -878, -998}, +{ -389,-1048,-1078, -958,-1078}, +{ -379,-1038,-1068, -948,-1068}}, +/* GC.GC..GU */ +{{ DEF, -709, -739, -619, -739}, +{ -649,-1308,-1338,-1218,-1338}, +{ -289, -948, -978, -858, -978}, +{ -739,-1398,-1428,-1308,-1428}, +{ -379,-1038,-1068, -948,-1068}}, +/* GC.GG..GU */ +{{ DEF, -709, -739, -619, -739}, +{ -649,-1308,-1338,-1218,-1338}, +{ -289, -948, -978, -858, -978}, +{ -739,-1398,-1428,-1308,-1428}, +{ -379,-1038,-1068, -948,-1068}}, +/* GC.GU..GU */ +{{ DEF, -709, -739, -619, -739}, +{ -649,-1308,-1338,-1218,-1338}, +{ -289, -948, -978, -858, -978}, +{ -739,-1398,-1428,-1308,-1428}, +{ -379,-1038,-1068, -948,-1068}}}, +/* GC.U@..GU */ +{{{ DEF, -499, -499, -499, -569}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}}, +/* GC.UA..GU */ +{{ DEF, -499, -499, -499, -569}, +{ -479, -928, -928, -928, -998}, +{ -309, -758, -758, -758, -828}, +{ -389, -838, -838, -838, -908}, +{ -379, -828, -828, -828, -898}}, +/* GC.UC..GU */ +{{ DEF, -499, -499, -499, -569}, +{ -649,-1098,-1098,-1098,-1168}, +{ -289, -738, -738, -738, -808}, +{ -739,-1188,-1188,-1188,-1258}, +{ -379, -828, -828, -828, -898}}, +/* GC.UG..GU */ +{{ DEF, -499, -499, -499, -569}, +{ -649,-1098,-1098,-1098,-1168}, +{ -289, -738, -738, -738, -808}, +{ -739,-1188,-1188,-1188,-1258}, +{ -379, -828, -828, -828, -898}}, +/* GC.UU..GU */ +{{ DEF, -499, -499, -499, -569}, +{ -649,-1098,-1098,-1098,-1168}, +{ -289, -738, -738, -738, -808}, +{ -739,-1188,-1188,-1188,-1258}, +{ -379, -828, -828, -828, -898}}}}, +/* GC.@@..UG */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.@A..UG */ +{{ 0, 0, 0, 0, 0}, +{ -719, -719, -719, -719, -719}, +{ -479, -479, -479, -479, -479}, +{ -659, -659, -659, -659, -659}, +{ -549, -549, -549, -549, -549}}, +/* GC.@C..UG */ +{{ 0, 0, 0, 0, 0}, +{ -789, -789, -789, -789, -789}, +{ -479, -479, -479, -479, -479}, +{ -809, -809, -809, -809, -809}, +{ -439, -439, -439, -439, -439}}, +/* GC.@G..UG */ +{{ 0, 0, 0, 0, 0}, +{ -959, -959, -959, -959, -959}, +{ -359, -359, -359, -359, -359}, +{ -919, -919, -919, -919, -919}, +{ -549, -549, -549, -549, -549}}, +/* GC.@U..UG */ +{{ 0, 0, 0, 0, 0}, +{ -809, -809, -809, -809, -809}, +{ -479, -479, -479, -479, -479}, +{ -809, -809, -809, -809, -809}, +{ -359, -359, -359, -359, -359}}}, +/* GC.A@..UG */ +{{{ DEF, -519, -879, -559, -879}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}}, +/* GC.AA..UG */ +{{ DEF, -519, -879, -559, -879}, +{ -769,-1238,-1598,-1278,-1598}, +{ -529, -998,-1358,-1038,-1358}, +{ -709,-1178,-1538,-1218,-1538}, +{ -599,-1068,-1428,-1108,-1428}}, +/* GC.AC..UG */ +{{ DEF, -519, -879, -559, -879}, +{ -839,-1308,-1668,-1348,-1668}, +{ -529, -998,-1358,-1038,-1358}, +{ -859,-1328,-1688,-1368,-1688}, +{ -489, -958,-1318, -998,-1318}}, +/* GC.AG..UG */ +{{ DEF, -519, -879, -559, -879}, +{-1009,-1478,-1838,-1518,-1838}, +{ -409, -878,-1238, -918,-1238}, +{ -969,-1438,-1798,-1478,-1798}, +{ -599,-1068,-1428,-1108,-1428}}, +/* GC.AU..UG */ +{{ DEF, -519, -879, -559, -879}, +{ -859,-1328,-1688,-1368,-1688}, +{ -529, -998,-1358,-1038,-1358}, +{ -859,-1328,-1688,-1368,-1688}, +{ -409, -878,-1238, -918,-1238}}}, +/* GC.C@..UG */ +{{{ DEF, -719, -309, -309, -389}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}}, +/* GC.CA..UG */ +{{ DEF, -719, -309, -309, -389}, +{ -769,-1438,-1028,-1028,-1108}, +{ -529,-1198, -788, -788, -868}, +{ -709,-1378, -968, -968,-1048}, +{ -599,-1268, -858, -858, -938}}, +/* GC.CC..UG */ +{{ DEF, -719, -309, -309, -389}, +{ -839,-1508,-1098,-1098,-1178}, +{ -529,-1198, -788, -788, -868}, +{ -859,-1528,-1118,-1118,-1198}, +{ -489,-1158, -748, -748, -828}}, +/* GC.CG..UG */ +{{ DEF, -719, -309, -309, -389}, +{-1009,-1678,-1268,-1268,-1348}, +{ -409,-1078, -668, -668, -748}, +{ -969,-1638,-1228,-1228,-1308}, +{ -599,-1268, -858, -858, -938}}, +/* GC.CU..UG */ +{{ DEF, -719, -309, -309, -389}, +{ -859,-1528,-1118,-1118,-1198}, +{ -529,-1198, -788, -788, -868}, +{ -859,-1528,-1118,-1118,-1198}, +{ -409,-1078, -668, -668, -748}}}, +/* GC.G@..UG */ +{{{ DEF, -709, -739, -619, -739}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}}, +/* GC.GA..UG */ +{{ DEF, -709, -739, -619, -739}, +{ -769,-1428,-1458,-1338,-1458}, +{ -529,-1188,-1218,-1098,-1218}, +{ -709,-1368,-1398,-1278,-1398}, +{ -599,-1258,-1288,-1168,-1288}}, +/* GC.GC..UG */ +{{ DEF, -709, -739, -619, -739}, +{ -839,-1498,-1528,-1408,-1528}, +{ -529,-1188,-1218,-1098,-1218}, +{ -859,-1518,-1548,-1428,-1548}, +{ -489,-1148,-1178,-1058,-1178}}, +/* GC.GG..UG */ +{{ DEF, -709, -739, -619, -739}, +{-1009,-1668,-1698,-1578,-1698}, +{ -409,-1068,-1098, -978,-1098}, +{ -969,-1628,-1658,-1538,-1658}, +{ -599,-1258,-1288,-1168,-1288}}, +/* GC.GU..UG */ +{{ DEF, -709, -739, -619, -739}, +{ -859,-1518,-1548,-1428,-1548}, +{ -529,-1188,-1218,-1098,-1218}, +{ -859,-1518,-1548,-1428,-1548}, +{ -409,-1068,-1098, -978,-1098}}}, +/* GC.U@..UG */ +{{{ DEF, -499, -499, -499, -569}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}}, +/* GC.UA..UG */ +{{ DEF, -499, -499, -499, -569}, +{ -769,-1218,-1218,-1218,-1288}, +{ -529, -978, -978, -978,-1048}, +{ -709,-1158,-1158,-1158,-1228}, +{ -599,-1048,-1048,-1048,-1118}}, +/* GC.UC..UG */ +{{ DEF, -499, -499, -499, -569}, +{ -839,-1288,-1288,-1288,-1358}, +{ -529, -978, -978, -978,-1048}, +{ -859,-1308,-1308,-1308,-1378}, +{ -489, -938, -938, -938,-1008}}, +/* GC.UG..UG */ +{{ DEF, -499, -499, -499, -569}, +{-1009,-1458,-1458,-1458,-1528}, +{ -409, -858, -858, -858, -928}, +{ -969,-1418,-1418,-1418,-1488}, +{ -599,-1048,-1048,-1048,-1118}}, +/* GC.UU..UG */ +{{ DEF, -499, -499, -499, -569}, +{ -859,-1308,-1308,-1308,-1378}, +{ -529, -978, -978, -978,-1048}, +{ -859,-1308,-1308,-1308,-1378}, +{ -409, -858, -858, -858, -928}}}}, +/* GC.@@..AU */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.@A..AU */ +{{ 0, 0, 0, 0, 0}, +{ -429, -429, -429, -429, -429}, +{ -259, -259, -259, -259, -259}, +{ -339, -339, -339, -339, -339}, +{ -329, -329, -329, -329, -329}}, +/* GC.@C..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* GC.@G..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* GC.@U..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}}, +/* GC.A@..AU */ +{{{ DEF, -519, -879, -559, -879}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}}, +/* GC.AA..AU */ +{{ DEF, -519, -879, -559, -879}, +{ -479, -948,-1308, -988,-1308}, +{ -309, -778,-1138, -818,-1138}, +{ -389, -858,-1218, -898,-1218}, +{ -379, -848,-1208, -888,-1208}}, +/* GC.AC..AU */ +{{ DEF, -519, -879, -559, -879}, +{ -649,-1118,-1478,-1158,-1478}, +{ -289, -758,-1118, -798,-1118}, +{ -739,-1208,-1568,-1248,-1568}, +{ -379, -848,-1208, -888,-1208}}, +/* GC.AG..AU */ +{{ DEF, -519, -879, -559, -879}, +{ -649,-1118,-1478,-1158,-1478}, +{ -289, -758,-1118, -798,-1118}, +{ -739,-1208,-1568,-1248,-1568}, +{ -379, -848,-1208, -888,-1208}}, +/* GC.AU..AU */ +{{ DEF, -519, -879, -559, -879}, +{ -649,-1118,-1478,-1158,-1478}, +{ -289, -758,-1118, -798,-1118}, +{ -739,-1208,-1568,-1248,-1568}, +{ -379, -848,-1208, -888,-1208}}}, +/* GC.C@..AU */ +{{{ DEF, -719, -309, -309, -389}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}}, +/* GC.CA..AU */ +{{ DEF, -719, -309, -309, -389}, +{ -479,-1148, -738, -738, -818}, +{ -309, -978, -568, -568, -648}, +{ -389,-1058, -648, -648, -728}, +{ -379,-1048, -638, -638, -718}}, +/* GC.CC..AU */ +{{ DEF, -719, -309, -309, -389}, +{ -649,-1318, -908, -908, -988}, +{ -289, -958, -548, -548, -628}, +{ -739,-1408, -998, -998,-1078}, +{ -379,-1048, -638, -638, -718}}, +/* GC.CG..AU */ +{{ DEF, -719, -309, -309, -389}, +{ -649,-1318, -908, -908, -988}, +{ -289, -958, -548, -548, -628}, +{ -739,-1408, -998, -998,-1078}, +{ -379,-1048, -638, -638, -718}}, +/* GC.CU..AU */ +{{ DEF, -719, -309, -309, -389}, +{ -649,-1318, -908, -908, -988}, +{ -289, -958, -548, -548, -628}, +{ -739,-1408, -998, -998,-1078}, +{ -379,-1048, -638, -638, -718}}}, +/* GC.G@..AU */ +{{{ DEF, -709, -739, -619, -739}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}}, +/* GC.GA..AU */ +{{ DEF, -709, -739, -619, -739}, +{ -479,-1138,-1168,-1048,-1168}, +{ -309, -968, -998, -878, -998}, +{ -389,-1048,-1078, -958,-1078}, +{ -379,-1038,-1068, -948,-1068}}, +/* GC.GC..AU */ +{{ DEF, -709, -739, -619, -739}, +{ -649,-1308,-1338,-1218,-1338}, +{ -289, -948, -978, -858, -978}, +{ -739,-1398,-1428,-1308,-1428}, +{ -379,-1038,-1068, -948,-1068}}, +/* GC.GG..AU */ +{{ DEF, -709, -739, -619, -739}, +{ -649,-1308,-1338,-1218,-1338}, +{ -289, -948, -978, -858, -978}, +{ -739,-1398,-1428,-1308,-1428}, +{ -379,-1038,-1068, -948,-1068}}, +/* GC.GU..AU */ +{{ DEF, -709, -739, -619, -739}, +{ -649,-1308,-1338,-1218,-1338}, +{ -289, -948, -978, -858, -978}, +{ -739,-1398,-1428,-1308,-1428}, +{ -379,-1038,-1068, -948,-1068}}}, +/* GC.U@..AU */ +{{{ DEF, -499, -499, -499, -569}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}}, +/* GC.UA..AU */ +{{ DEF, -499, -499, -499, -569}, +{ -479, -928, -928, -928, -998}, +{ -309, -758, -758, -758, -828}, +{ -389, -838, -838, -838, -908}, +{ -379, -828, -828, -828, -898}}, +/* GC.UC..AU */ +{{ DEF, -499, -499, -499, -569}, +{ -649,-1098,-1098,-1098,-1168}, +{ -289, -738, -738, -738, -808}, +{ -739,-1188,-1188,-1188,-1258}, +{ -379, -828, -828, -828, -898}}, +/* GC.UG..AU */ +{{ DEF, -499, -499, -499, -569}, +{ -649,-1098,-1098,-1098,-1168}, +{ -289, -738, -738, -738, -808}, +{ -739,-1188,-1188,-1188,-1258}, +{ -379, -828, -828, -828, -898}}, +/* GC.UU..AU */ +{{ DEF, -499, -499, -499, -569}, +{ -649,-1098,-1098,-1098,-1168}, +{ -289, -738, -738, -738, -808}, +{ -739,-1188,-1188,-1188,-1258}, +{ -379, -828, -828, -828, -898}}}}, +/* GC.@@..UA */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.@A..UA */ +{{ 0, 0, 0, 0, 0}, +{ -399, -399, -399, -399, -399}, +{ -429, -429, -429, -429, -429}, +{ -379, -379, -379, -379, -379}, +{ -279, -279, -279, -279, -279}}, +/* GC.@C..UA */ +{{ 0, 0, 0, 0, 0}, +{ -629, -629, -629, -629, -629}, +{ -509, -509, -509, -509, -509}, +{ -679, -679, -679, -679, -679}, +{ -139, -139, -139, -139, -139}}, +/* GC.@G..UA */ +{{ 0, 0, 0, 0, 0}, +{ -889, -889, -889, -889, -889}, +{ -199, -199, -199, -199, -199}, +{ -889, -889, -889, -889, -889}, +{ -279, -279, -279, -279, -279}}, +/* GC.@U..UA */ +{{ 0, 0, 0, 0, 0}, +{ -589, -589, -589, -589, -589}, +{ -179, -179, -179, -179, -179}, +{ -679, -679, -679, -679, -679}, +{ -140, -140, -140, -140, -140}}}, +/* GC.A@..UA */ +{{{ DEF, -519, -879, -559, -879}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}}, +/* GC.AA..UA */ +{{ DEF, -519, -879, -559, -879}, +{ -449, -918,-1278, -958,-1278}, +{ -479, -948,-1308, -988,-1308}, +{ -429, -898,-1258, -938,-1258}, +{ -329, -798,-1158, -838,-1158}}, +/* GC.AC..UA */ +{{ DEF, -519, -879, -559, -879}, +{ -679,-1148,-1508,-1188,-1508}, +{ -559,-1028,-1388,-1068,-1388}, +{ -729,-1198,-1558,-1238,-1558}, +{ -189, -658,-1018, -698,-1018}}, +/* GC.AG..UA */ +{{ DEF, -519, -879, -559, -879}, +{ -939,-1408,-1768,-1448,-1768}, +{ -249, -718,-1078, -758,-1078}, +{ -939,-1408,-1768,-1448,-1768}, +{ -329, -798,-1158, -838,-1158}}, +/* GC.AU..UA */ +{{ DEF, -519, -879, -559, -879}, +{ -639,-1108,-1468,-1148,-1468}, +{ -229, -698,-1058, -738,-1058}, +{ -729,-1198,-1558,-1238,-1558}, +{ -190, -659,-1019, -699,-1019}}}, +/* GC.C@..UA */ +{{{ DEF, -719, -309, -309, -389}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}}, +/* GC.CA..UA */ +{{ DEF, -719, -309, -309, -389}, +{ -449,-1118, -708, -708, -788}, +{ -479,-1148, -738, -738, -818}, +{ -429,-1098, -688, -688, -768}, +{ -329, -998, -588, -588, -668}}, +/* GC.CC..UA */ +{{ DEF, -719, -309, -309, -389}, +{ -679,-1348, -938, -938,-1018}, +{ -559,-1228, -818, -818, -898}, +{ -729,-1398, -988, -988,-1068}, +{ -189, -858, -448, -448, -528}}, +/* GC.CG..UA */ +{{ DEF, -719, -309, -309, -389}, +{ -939,-1608,-1198,-1198,-1278}, +{ -249, -918, -508, -508, -588}, +{ -939,-1608,-1198,-1198,-1278}, +{ -329, -998, -588, -588, -668}}, +/* GC.CU..UA */ +{{ DEF, -719, -309, -309, -389}, +{ -639,-1308, -898, -898, -978}, +{ -229, -898, -488, -488, -568}, +{ -729,-1398, -988, -988,-1068}, +{ -190, -859, -449, -449, -529}}}, +/* GC.G@..UA */ +{{{ DEF, -709, -739, -619, -739}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}}, +/* GC.GA..UA */ +{{ DEF, -709, -739, -619, -739}, +{ -449,-1108,-1138,-1018,-1138}, +{ -479,-1138,-1168,-1048,-1168}, +{ -429,-1088,-1118, -998,-1118}, +{ -329, -988,-1018, -898,-1018}}, +/* GC.GC..UA */ +{{ DEF, -709, -739, -619, -739}, +{ -679,-1338,-1368,-1248,-1368}, +{ -559,-1218,-1248,-1128,-1248}, +{ -729,-1388,-1418,-1298,-1418}, +{ -189, -848, -878, -758, -878}}, +/* GC.GG..UA */ +{{ DEF, -709, -739, -619, -739}, +{ -939,-1598,-1628,-1508,-1628}, +{ -249, -908, -938, -818, -938}, +{ -939,-1598,-1628,-1508,-1628}, +{ -329, -988,-1018, -898,-1018}}, +/* GC.GU..UA */ +{{ DEF, -709, -739, -619, -739}, +{ -639,-1298,-1328,-1208,-1328}, +{ -229, -888, -918, -798, -918}, +{ -729,-1388,-1418,-1298,-1418}, +{ -190, -849, -879, -759, -879}}}, +/* GC.U@..UA */ +{{{ DEF, -499, -499, -499, -569}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}}, +/* GC.UA..UA */ +{{ DEF, -499, -499, -499, -569}, +{ -449, -898, -898, -898, -968}, +{ -479, -928, -928, -928, -998}, +{ -429, -878, -878, -878, -948}, +{ -329, -778, -778, -778, -848}}, +/* GC.UC..UA */ +{{ DEF, -499, -499, -499, -569}, +{ -679,-1128,-1128,-1128,-1198}, +{ -559,-1008,-1008,-1008,-1078}, +{ -729,-1178,-1178,-1178,-1248}, +{ -189, -638, -638, -638, -708}}, +/* GC.UG..UA */ +{{ DEF, -499, -499, -499, -569}, +{ -939,-1388,-1388,-1388,-1458}, +{ -249, -698, -698, -698, -768}, +{ -939,-1388,-1388,-1388,-1458}, +{ -329, -778, -778, -778, -848}}, +/* GC.UU..UA */ +{{ DEF, -499, -499, -499, -569}, +{ -639,-1088,-1088,-1088,-1158}, +{ -229, -678, -678, -678, -748}, +{ -729,-1178,-1178,-1178,-1248}, +{ -190, -639, -639, -639, -709}}}}, +/* GC.@@.. @ */ +{{{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.@A.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.@C.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.@G.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GC.@U.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}}, +/* GC.A@.. @ */ +{{{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}}, +/* GC.AA.. @ */ +{{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}}, +/* GC.AC.. @ */ +{{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}}, +/* GC.AG.. @ */ +{{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}}, +/* GC.AU.. @ */ +{{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}, +{ -100, -569, -929, -609, -929}}}, +/* GC.C@.. @ */ +{{{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}}, +/* GC.CA.. @ */ +{{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}}, +/* GC.CC.. @ */ +{{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}}, +/* GC.CG.. @ */ +{{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}}, +/* GC.CU.. @ */ +{{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}, +{ -100, -769, -359, -359, -439}}}, +/* GC.G@.. @ */ +{{{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}}, +/* GC.GA.. @ */ +{{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}}, +/* GC.GC.. @ */ +{{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}}, +/* GC.GG.. @ */ +{{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}}, +/* GC.GU.. @ */ +{{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}, +{ -100, -759, -789, -669, -789}}}, +/* GC.U@.. @ */ +{{{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}}, +/* GC.UA.. @ */ +{{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}}, +/* GC.UC.. @ */ +{{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}}, +/* GC.UG.. @ */ +{{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}}, +/* GC.UU.. @ */ +{{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}, +{ -100, -549, -549, -549, -619}}}}}, +{ /* noPair */ {{{{0}}}}, +/* GU.@@..CG */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.@A..CG */ +{{ 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -519, -519, -519, -519, -519}, +{ -939, -939, -939, -939, -939}, +{ -809, -809, -809, -809, -809}}, +/* GU.@C..CG */ +{{ 0, 0, 0, 0, 0}, +{ -949, -949, -949, -949, -949}, +{ -449, -449, -449, -449, -449}, +{ -939, -939, -939, -939, -939}, +{ -739, -739, -739, -739, -739}}, +/* GU.@G..CG */ +{{ 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -519, -519, -519, -519, -519}, +{ -939, -939, -939, -939, -939}, +{ -809, -809, -809, -809, -809}}, +/* GU.@U..CG */ +{{ 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -669, -669, -669, -669, -669}, +{ -939, -939, -939, -939, -939}, +{ -859, -859, -859, -859, -859}}}, +/* GU.A@..CG */ +{{{ DEF, -429, -599, -599, -599}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* GU.AA..CG */ +{{ DEF, -429, -599, -599, -599}, +{-1079,-1458,-1628,-1628,-1628}, +{ -569, -948,-1118,-1118,-1118}, +{ -989,-1368,-1538,-1538,-1538}, +{ -859,-1238,-1408,-1408,-1408}}, +/* GU.AC..CG */ +{{ DEF, -429, -599, -599, -599}, +{ -999,-1378,-1548,-1548,-1548}, +{ -499, -878,-1048,-1048,-1048}, +{ -989,-1368,-1538,-1538,-1538}, +{ -789,-1168,-1338,-1338,-1338}}, +/* GU.AG..CG */ +{{ DEF, -429, -599, -599, -599}, +{-1079,-1458,-1628,-1628,-1628}, +{ -569, -948,-1118,-1118,-1118}, +{ -989,-1368,-1538,-1538,-1538}, +{ -859,-1238,-1408,-1408,-1408}}, +/* GU.AU..CG */ +{{ DEF, -429, -599, -599, -599}, +{-1079,-1458,-1628,-1628,-1628}, +{ -719,-1098,-1268,-1268,-1268}, +{ -989,-1368,-1538,-1538,-1538}, +{ -909,-1288,-1458,-1458,-1458}}}, +/* GU.C@..CG */ +{{{ DEF, -259, -239, -239, -239}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* GU.CA..CG */ +{{ DEF, -259, -239, -239, -239}, +{-1079,-1288,-1268,-1268,-1268}, +{ -569, -778, -758, -758, -758}, +{ -989,-1198,-1178,-1178,-1178}, +{ -859,-1068,-1048,-1048,-1048}}, +/* GU.CC..CG */ +{{ DEF, -259, -239, -239, -239}, +{ -999,-1208,-1188,-1188,-1188}, +{ -499, -708, -688, -688, -688}, +{ -989,-1198,-1178,-1178,-1178}, +{ -789, -998, -978, -978, -978}}, +/* GU.CG..CG */ +{{ DEF, -259, -239, -239, -239}, +{-1079,-1288,-1268,-1268,-1268}, +{ -569, -778, -758, -758, -758}, +{ -989,-1198,-1178,-1178,-1178}, +{ -859,-1068,-1048,-1048,-1048}}, +/* GU.CU..CG */ +{{ DEF, -259, -239, -239, -239}, +{-1079,-1288,-1268,-1268,-1268}, +{ -719, -928, -908, -908, -908}, +{ -989,-1198,-1178,-1178,-1178}, +{ -909,-1118,-1098,-1098,-1098}}}, +/* GU.G@..CG */ +{{{ DEF, -339, -689, -689, -689}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* GU.GA..CG */ +{{ DEF, -339, -689, -689, -689}, +{-1079,-1368,-1718,-1718,-1718}, +{ -569, -858,-1208,-1208,-1208}, +{ -989,-1278,-1628,-1628,-1628}, +{ -859,-1148,-1498,-1498,-1498}}, +/* GU.GC..CG */ +{{ DEF, -339, -689, -689, -689}, +{ -999,-1288,-1638,-1638,-1638}, +{ -499, -788,-1138,-1138,-1138}, +{ -989,-1278,-1628,-1628,-1628}, +{ -789,-1078,-1428,-1428,-1428}}, +/* GU.GG..CG */ +{{ DEF, -339, -689, -689, -689}, +{-1079,-1368,-1718,-1718,-1718}, +{ -569, -858,-1208,-1208,-1208}, +{ -989,-1278,-1628,-1628,-1628}, +{ -859,-1148,-1498,-1498,-1498}}, +/* GU.GU..CG */ +{{ DEF, -339, -689, -689, -689}, +{-1079,-1368,-1718,-1718,-1718}, +{ -719,-1008,-1358,-1358,-1358}, +{ -989,-1278,-1628,-1628,-1628}, +{ -909,-1198,-1548,-1548,-1548}}}, +/* GU.U@..CG */ +{{{ DEF, -329, -329, -329, -329}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* GU.UA..CG */ +{{ DEF, -329, -329, -329, -329}, +{-1079,-1358,-1358,-1358,-1358}, +{ -569, -848, -848, -848, -848}, +{ -989,-1268,-1268,-1268,-1268}, +{ -859,-1138,-1138,-1138,-1138}}, +/* GU.UC..CG */ +{{ DEF, -329, -329, -329, -329}, +{ -999,-1278,-1278,-1278,-1278}, +{ -499, -778, -778, -778, -778}, +{ -989,-1268,-1268,-1268,-1268}, +{ -789,-1068,-1068,-1068,-1068}}, +/* GU.UG..CG */ +{{ DEF, -329, -329, -329, -329}, +{-1079,-1358,-1358,-1358,-1358}, +{ -569, -848, -848, -848, -848}, +{ -989,-1268,-1268,-1268,-1268}, +{ -859,-1138,-1138,-1138,-1138}}, +/* GU.UU..CG */ +{{ DEF, -329, -329, -329, -329}, +{-1079,-1358,-1358,-1358,-1358}, +{ -719, -998, -998, -998, -998}, +{ -989,-1268,-1268,-1268,-1268}, +{ -909,-1188,-1188,-1188,-1188}}}}, +/* GU.@@..GC */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.@A..GC */ +{{ 0, 0, 0, 0, 0}, +{ -519, -519, -519, -519, -519}, +{ -719, -719, -719, -719, -719}, +{ -709, -709, -709, -709, -709}, +{ -499, -499, -499, -499, -499}}, +/* GU.@C..GC */ +{{ 0, 0, 0, 0, 0}, +{ -879, -879, -879, -879, -879}, +{ -309, -309, -309, -309, -309}, +{ -739, -739, -739, -739, -739}, +{ -499, -499, -499, -499, -499}}, +/* GU.@G..GC */ +{{ 0, 0, 0, 0, 0}, +{ -559, -559, -559, -559, -559}, +{ -309, -309, -309, -309, -309}, +{ -619, -619, -619, -619, -619}, +{ -499, -499, -499, -499, -499}}, +/* GU.@U..GC */ +{{ 0, 0, 0, 0, 0}, +{ -879, -879, -879, -879, -879}, +{ -389, -389, -389, -389, -389}, +{ -739, -739, -739, -739, -739}, +{ -569, -569, -569, -569, -569}}}, +/* GU.A@..GC */ +{{{ DEF, -429, -599, -599, -599}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* GU.AA..GC */ +{{ DEF, -429, -599, -599, -599}, +{ -569, -948,-1118,-1118,-1118}, +{ -769,-1148,-1318,-1318,-1318}, +{ -759,-1138,-1308,-1308,-1308}, +{ -549, -928,-1098,-1098,-1098}}, +/* GU.AC..GC */ +{{ DEF, -429, -599, -599, -599}, +{ -929,-1308,-1478,-1478,-1478}, +{ -359, -738, -908, -908, -908}, +{ -789,-1168,-1338,-1338,-1338}, +{ -549, -928,-1098,-1098,-1098}}, +/* GU.AG..GC */ +{{ DEF, -429, -599, -599, -599}, +{ -609, -988,-1158,-1158,-1158}, +{ -359, -738, -908, -908, -908}, +{ -669,-1048,-1218,-1218,-1218}, +{ -549, -928,-1098,-1098,-1098}}, +/* GU.AU..GC */ +{{ DEF, -429, -599, -599, -599}, +{ -929,-1308,-1478,-1478,-1478}, +{ -439, -818, -988, -988, -988}, +{ -789,-1168,-1338,-1338,-1338}, +{ -619, -998,-1168,-1168,-1168}}}, +/* GU.C@..GC */ +{{{ DEF, -259, -239, -239, -239}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* GU.CA..GC */ +{{ DEF, -259, -239, -239, -239}, +{ -569, -778, -758, -758, -758}, +{ -769, -978, -958, -958, -958}, +{ -759, -968, -948, -948, -948}, +{ -549, -758, -738, -738, -738}}, +/* GU.CC..GC */ +{{ DEF, -259, -239, -239, -239}, +{ -929,-1138,-1118,-1118,-1118}, +{ -359, -568, -548, -548, -548}, +{ -789, -998, -978, -978, -978}, +{ -549, -758, -738, -738, -738}}, +/* GU.CG..GC */ +{{ DEF, -259, -239, -239, -239}, +{ -609, -818, -798, -798, -798}, +{ -359, -568, -548, -548, -548}, +{ -669, -878, -858, -858, -858}, +{ -549, -758, -738, -738, -738}}, +/* GU.CU..GC */ +{{ DEF, -259, -239, -239, -239}, +{ -929,-1138,-1118,-1118,-1118}, +{ -439, -648, -628, -628, -628}, +{ -789, -998, -978, -978, -978}, +{ -619, -828, -808, -808, -808}}}, +/* GU.G@..GC */ +{{{ DEF, -339, -689, -689, -689}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* GU.GA..GC */ +{{ DEF, -339, -689, -689, -689}, +{ -569, -858,-1208,-1208,-1208}, +{ -769,-1058,-1408,-1408,-1408}, +{ -759,-1048,-1398,-1398,-1398}, +{ -549, -838,-1188,-1188,-1188}}, +/* GU.GC..GC */ +{{ DEF, -339, -689, -689, -689}, +{ -929,-1218,-1568,-1568,-1568}, +{ -359, -648, -998, -998, -998}, +{ -789,-1078,-1428,-1428,-1428}, +{ -549, -838,-1188,-1188,-1188}}, +/* GU.GG..GC */ +{{ DEF, -339, -689, -689, -689}, +{ -609, -898,-1248,-1248,-1248}, +{ -359, -648, -998, -998, -998}, +{ -669, -958,-1308,-1308,-1308}, +{ -549, -838,-1188,-1188,-1188}}, +/* GU.GU..GC */ +{{ DEF, -339, -689, -689, -689}, +{ -929,-1218,-1568,-1568,-1568}, +{ -439, -728,-1078,-1078,-1078}, +{ -789,-1078,-1428,-1428,-1428}, +{ -619, -908,-1258,-1258,-1258}}}, +/* GU.U@..GC */ +{{{ DEF, -329, -329, -329, -329}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* GU.UA..GC */ +{{ DEF, -329, -329, -329, -329}, +{ -569, -848, -848, -848, -848}, +{ -769,-1048,-1048,-1048,-1048}, +{ -759,-1038,-1038,-1038,-1038}, +{ -549, -828, -828, -828, -828}}, +/* GU.UC..GC */ +{{ DEF, -329, -329, -329, -329}, +{ -929,-1208,-1208,-1208,-1208}, +{ -359, -638, -638, -638, -638}, +{ -789,-1068,-1068,-1068,-1068}, +{ -549, -828, -828, -828, -828}}, +/* GU.UG..GC */ +{{ DEF, -329, -329, -329, -329}, +{ -609, -888, -888, -888, -888}, +{ -359, -638, -638, -638, -638}, +{ -669, -948, -948, -948, -948}, +{ -549, -828, -828, -828, -828}}, +/* GU.UU..GC */ +{{ DEF, -329, -329, -329, -329}, +{ -929,-1208,-1208,-1208,-1208}, +{ -439, -718, -718, -718, -718}, +{ -789,-1068,-1068,-1068,-1068}, +{ -619, -898, -898, -898, -898}}}}, +/* GU.@@..GU */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.@A..GU */ +{{ 0, 0, 0, 0, 0}, +{ -429, -429, -429, -429, -429}, +{ -259, -259, -259, -259, -259}, +{ -339, -339, -339, -339, -339}, +{ -329, -329, -329, -329, -329}}, +/* GU.@C..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* GU.@G..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* GU.@U..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}}, +/* GU.A@..GU */ +{{{ DEF, -429, -599, -599, -599}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* GU.AA..GU */ +{{ DEF, -429, -599, -599, -599}, +{ -479, -858,-1028,-1028,-1028}, +{ -309, -688, -858, -858, -858}, +{ -389, -768, -938, -938, -938}, +{ -379, -758, -928, -928, -928}}, +/* GU.AC..GU */ +{{ DEF, -429, -599, -599, -599}, +{ -649,-1028,-1198,-1198,-1198}, +{ -289, -668, -838, -838, -838}, +{ -739,-1118,-1288,-1288,-1288}, +{ -379, -758, -928, -928, -928}}, +/* GU.AG..GU */ +{{ DEF, -429, -599, -599, -599}, +{ -649,-1028,-1198,-1198,-1198}, +{ -289, -668, -838, -838, -838}, +{ -739,-1118,-1288,-1288,-1288}, +{ -379, -758, -928, -928, -928}}, +/* GU.AU..GU */ +{{ DEF, -429, -599, -599, -599}, +{ -649,-1028,-1198,-1198,-1198}, +{ -289, -668, -838, -838, -838}, +{ -739,-1118,-1288,-1288,-1288}, +{ -379, -758, -928, -928, -928}}}, +/* GU.C@..GU */ +{{{ DEF, -259, -239, -239, -239}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* GU.CA..GU */ +{{ DEF, -259, -239, -239, -239}, +{ -479, -688, -668, -668, -668}, +{ -309, -518, -498, -498, -498}, +{ -389, -598, -578, -578, -578}, +{ -379, -588, -568, -568, -568}}, +/* GU.CC..GU */ +{{ DEF, -259, -239, -239, -239}, +{ -649, -858, -838, -838, -838}, +{ -289, -498, -478, -478, -478}, +{ -739, -948, -928, -928, -928}, +{ -379, -588, -568, -568, -568}}, +/* GU.CG..GU */ +{{ DEF, -259, -239, -239, -239}, +{ -649, -858, -838, -838, -838}, +{ -289, -498, -478, -478, -478}, +{ -739, -948, -928, -928, -928}, +{ -379, -588, -568, -568, -568}}, +/* GU.CU..GU */ +{{ DEF, -259, -239, -239, -239}, +{ -649, -858, -838, -838, -838}, +{ -289, -498, -478, -478, -478}, +{ -739, -948, -928, -928, -928}, +{ -379, -588, -568, -568, -568}}}, +/* GU.G@..GU */ +{{{ DEF, -339, -689, -689, -689}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* GU.GA..GU */ +{{ DEF, -339, -689, -689, -689}, +{ -479, -768,-1118,-1118,-1118}, +{ -309, -598, -948, -948, -948}, +{ -389, -678,-1028,-1028,-1028}, +{ -379, -668,-1018,-1018,-1018}}, +/* GU.GC..GU */ +{{ DEF, -339, -689, -689, -689}, +{ -649, -938,-1288,-1288,-1288}, +{ -289, -578, -928, -928, -928}, +{ -739,-1028,-1378,-1378,-1378}, +{ -379, -668,-1018,-1018,-1018}}, +/* GU.GG..GU */ +{{ DEF, -339, -689, -689, -689}, +{ -649, -938,-1288,-1288,-1288}, +{ -289, -578, -928, -928, -928}, +{ -739,-1028,-1378,-1378,-1378}, +{ -379, -668,-1018,-1018,-1018}}, +/* GU.GU..GU */ +{{ DEF, -339, -689, -689, -689}, +{ -649, -938,-1288,-1288,-1288}, +{ -289, -578, -928, -928, -928}, +{ -739,-1028,-1378,-1378,-1378}, +{ -379, -668,-1018,-1018,-1018}}}, +/* GU.U@..GU */ +{{{ DEF, -329, -329, -329, -329}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* GU.UA..GU */ +{{ DEF, -329, -329, -329, -329}, +{ -479, -758, -758, -758, -758}, +{ -309, -588, -588, -588, -588}, +{ -389, -668, -668, -668, -668}, +{ -379, -658, -658, -658, -658}}, +/* GU.UC..GU */ +{{ DEF, -329, -329, -329, -329}, +{ -649, -928, -928, -928, -928}, +{ -289, -568, -568, -568, -568}, +{ -739,-1018,-1018,-1018,-1018}, +{ -379, -658, -658, -658, -658}}, +/* GU.UG..GU */ +{{ DEF, -329, -329, -329, -329}, +{ -649, -928, -928, -928, -928}, +{ -289, -568, -568, -568, -568}, +{ -739,-1018,-1018,-1018,-1018}, +{ -379, -658, -658, -658, -658}}, +/* GU.UU..GU */ +{{ DEF, -329, -329, -329, -329}, +{ -649, -928, -928, -928, -928}, +{ -289, -568, -568, -568, -568}, +{ -739,-1018,-1018,-1018,-1018}, +{ -379, -658, -658, -658, -658}}}}, +/* GU.@@..UG */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.@A..UG */ +{{ 0, 0, 0, 0, 0}, +{ -719, -719, -719, -719, -719}, +{ -479, -479, -479, -479, -479}, +{ -659, -659, -659, -659, -659}, +{ -549, -549, -549, -549, -549}}, +/* GU.@C..UG */ +{{ 0, 0, 0, 0, 0}, +{ -789, -789, -789, -789, -789}, +{ -479, -479, -479, -479, -479}, +{ -809, -809, -809, -809, -809}, +{ -439, -439, -439, -439, -439}}, +/* GU.@G..UG */ +{{ 0, 0, 0, 0, 0}, +{ -959, -959, -959, -959, -959}, +{ -359, -359, -359, -359, -359}, +{ -919, -919, -919, -919, -919}, +{ -549, -549, -549, -549, -549}}, +/* GU.@U..UG */ +{{ 0, 0, 0, 0, 0}, +{ -809, -809, -809, -809, -809}, +{ -479, -479, -479, -479, -479}, +{ -809, -809, -809, -809, -809}, +{ -359, -359, -359, -359, -359}}}, +/* GU.A@..UG */ +{{{ DEF, -429, -599, -599, -599}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* GU.AA..UG */ +{{ DEF, -429, -599, -599, -599}, +{ -769,-1148,-1318,-1318,-1318}, +{ -529, -908,-1078,-1078,-1078}, +{ -709,-1088,-1258,-1258,-1258}, +{ -599, -978,-1148,-1148,-1148}}, +/* GU.AC..UG */ +{{ DEF, -429, -599, -599, -599}, +{ -839,-1218,-1388,-1388,-1388}, +{ -529, -908,-1078,-1078,-1078}, +{ -859,-1238,-1408,-1408,-1408}, +{ -489, -868,-1038,-1038,-1038}}, +/* GU.AG..UG */ +{{ DEF, -429, -599, -599, -599}, +{-1009,-1388,-1558,-1558,-1558}, +{ -409, -788, -958, -958, -958}, +{ -969,-1348,-1518,-1518,-1518}, +{ -599, -978,-1148,-1148,-1148}}, +/* GU.AU..UG */ +{{ DEF, -429, -599, -599, -599}, +{ -859,-1238,-1408,-1408,-1408}, +{ -529, -908,-1078,-1078,-1078}, +{ -859,-1238,-1408,-1408,-1408}, +{ -409, -788, -958, -958, -958}}}, +/* GU.C@..UG */ +{{{ DEF, -259, -239, -239, -239}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* GU.CA..UG */ +{{ DEF, -259, -239, -239, -239}, +{ -769, -978, -958, -958, -958}, +{ -529, -738, -718, -718, -718}, +{ -709, -918, -898, -898, -898}, +{ -599, -808, -788, -788, -788}}, +/* GU.CC..UG */ +{{ DEF, -259, -239, -239, -239}, +{ -839,-1048,-1028,-1028,-1028}, +{ -529, -738, -718, -718, -718}, +{ -859,-1068,-1048,-1048,-1048}, +{ -489, -698, -678, -678, -678}}, +/* GU.CG..UG */ +{{ DEF, -259, -239, -239, -239}, +{-1009,-1218,-1198,-1198,-1198}, +{ -409, -618, -598, -598, -598}, +{ -969,-1178,-1158,-1158,-1158}, +{ -599, -808, -788, -788, -788}}, +/* GU.CU..UG */ +{{ DEF, -259, -239, -239, -239}, +{ -859,-1068,-1048,-1048,-1048}, +{ -529, -738, -718, -718, -718}, +{ -859,-1068,-1048,-1048,-1048}, +{ -409, -618, -598, -598, -598}}}, +/* GU.G@..UG */ +{{{ DEF, -339, -689, -689, -689}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* GU.GA..UG */ +{{ DEF, -339, -689, -689, -689}, +{ -769,-1058,-1408,-1408,-1408}, +{ -529, -818,-1168,-1168,-1168}, +{ -709, -998,-1348,-1348,-1348}, +{ -599, -888,-1238,-1238,-1238}}, +/* GU.GC..UG */ +{{ DEF, -339, -689, -689, -689}, +{ -839,-1128,-1478,-1478,-1478}, +{ -529, -818,-1168,-1168,-1168}, +{ -859,-1148,-1498,-1498,-1498}, +{ -489, -778,-1128,-1128,-1128}}, +/* GU.GG..UG */ +{{ DEF, -339, -689, -689, -689}, +{-1009,-1298,-1648,-1648,-1648}, +{ -409, -698,-1048,-1048,-1048}, +{ -969,-1258,-1608,-1608,-1608}, +{ -599, -888,-1238,-1238,-1238}}, +/* GU.GU..UG */ +{{ DEF, -339, -689, -689, -689}, +{ -859,-1148,-1498,-1498,-1498}, +{ -529, -818,-1168,-1168,-1168}, +{ -859,-1148,-1498,-1498,-1498}, +{ -409, -698,-1048,-1048,-1048}}}, +/* GU.U@..UG */ +{{{ DEF, -329, -329, -329, -329}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* GU.UA..UG */ +{{ DEF, -329, -329, -329, -329}, +{ -769,-1048,-1048,-1048,-1048}, +{ -529, -808, -808, -808, -808}, +{ -709, -988, -988, -988, -988}, +{ -599, -878, -878, -878, -878}}, +/* GU.UC..UG */ +{{ DEF, -329, -329, -329, -329}, +{ -839,-1118,-1118,-1118,-1118}, +{ -529, -808, -808, -808, -808}, +{ -859,-1138,-1138,-1138,-1138}, +{ -489, -768, -768, -768, -768}}, +/* GU.UG..UG */ +{{ DEF, -329, -329, -329, -329}, +{-1009,-1288,-1288,-1288,-1288}, +{ -409, -688, -688, -688, -688}, +{ -969,-1248,-1248,-1248,-1248}, +{ -599, -878, -878, -878, -878}}, +/* GU.UU..UG */ +{{ DEF, -329, -329, -329, -329}, +{ -859,-1138,-1138,-1138,-1138}, +{ -529, -808, -808, -808, -808}, +{ -859,-1138,-1138,-1138,-1138}, +{ -409, -688, -688, -688, -688}}}}, +/* GU.@@..AU */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.@A..AU */ +{{ 0, 0, 0, 0, 0}, +{ -429, -429, -429, -429, -429}, +{ -259, -259, -259, -259, -259}, +{ -339, -339, -339, -339, -339}, +{ -329, -329, -329, -329, -329}}, +/* GU.@C..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* GU.@G..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* GU.@U..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}}, +/* GU.A@..AU */ +{{{ DEF, -429, -599, -599, -599}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* GU.AA..AU */ +{{ DEF, -429, -599, -599, -599}, +{ -479, -858,-1028,-1028,-1028}, +{ -309, -688, -858, -858, -858}, +{ -389, -768, -938, -938, -938}, +{ -379, -758, -928, -928, -928}}, +/* GU.AC..AU */ +{{ DEF, -429, -599, -599, -599}, +{ -649,-1028,-1198,-1198,-1198}, +{ -289, -668, -838, -838, -838}, +{ -739,-1118,-1288,-1288,-1288}, +{ -379, -758, -928, -928, -928}}, +/* GU.AG..AU */ +{{ DEF, -429, -599, -599, -599}, +{ -649,-1028,-1198,-1198,-1198}, +{ -289, -668, -838, -838, -838}, +{ -739,-1118,-1288,-1288,-1288}, +{ -379, -758, -928, -928, -928}}, +/* GU.AU..AU */ +{{ DEF, -429, -599, -599, -599}, +{ -649,-1028,-1198,-1198,-1198}, +{ -289, -668, -838, -838, -838}, +{ -739,-1118,-1288,-1288,-1288}, +{ -379, -758, -928, -928, -928}}}, +/* GU.C@..AU */ +{{{ DEF, -259, -239, -239, -239}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* GU.CA..AU */ +{{ DEF, -259, -239, -239, -239}, +{ -479, -688, -668, -668, -668}, +{ -309, -518, -498, -498, -498}, +{ -389, -598, -578, -578, -578}, +{ -379, -588, -568, -568, -568}}, +/* GU.CC..AU */ +{{ DEF, -259, -239, -239, -239}, +{ -649, -858, -838, -838, -838}, +{ -289, -498, -478, -478, -478}, +{ -739, -948, -928, -928, -928}, +{ -379, -588, -568, -568, -568}}, +/* GU.CG..AU */ +{{ DEF, -259, -239, -239, -239}, +{ -649, -858, -838, -838, -838}, +{ -289, -498, -478, -478, -478}, +{ -739, -948, -928, -928, -928}, +{ -379, -588, -568, -568, -568}}, +/* GU.CU..AU */ +{{ DEF, -259, -239, -239, -239}, +{ -649, -858, -838, -838, -838}, +{ -289, -498, -478, -478, -478}, +{ -739, -948, -928, -928, -928}, +{ -379, -588, -568, -568, -568}}}, +/* GU.G@..AU */ +{{{ DEF, -339, -689, -689, -689}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* GU.GA..AU */ +{{ DEF, -339, -689, -689, -689}, +{ -479, -768,-1118,-1118,-1118}, +{ -309, -598, -948, -948, -948}, +{ -389, -678,-1028,-1028,-1028}, +{ -379, -668,-1018,-1018,-1018}}, +/* GU.GC..AU */ +{{ DEF, -339, -689, -689, -689}, +{ -649, -938,-1288,-1288,-1288}, +{ -289, -578, -928, -928, -928}, +{ -739,-1028,-1378,-1378,-1378}, +{ -379, -668,-1018,-1018,-1018}}, +/* GU.GG..AU */ +{{ DEF, -339, -689, -689, -689}, +{ -649, -938,-1288,-1288,-1288}, +{ -289, -578, -928, -928, -928}, +{ -739,-1028,-1378,-1378,-1378}, +{ -379, -668,-1018,-1018,-1018}}, +/* GU.GU..AU */ +{{ DEF, -339, -689, -689, -689}, +{ -649, -938,-1288,-1288,-1288}, +{ -289, -578, -928, -928, -928}, +{ -739,-1028,-1378,-1378,-1378}, +{ -379, -668,-1018,-1018,-1018}}}, +/* GU.U@..AU */ +{{{ DEF, -329, -329, -329, -329}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* GU.UA..AU */ +{{ DEF, -329, -329, -329, -329}, +{ -479, -758, -758, -758, -758}, +{ -309, -588, -588, -588, -588}, +{ -389, -668, -668, -668, -668}, +{ -379, -658, -658, -658, -658}}, +/* GU.UC..AU */ +{{ DEF, -329, -329, -329, -329}, +{ -649, -928, -928, -928, -928}, +{ -289, -568, -568, -568, -568}, +{ -739,-1018,-1018,-1018,-1018}, +{ -379, -658, -658, -658, -658}}, +/* GU.UG..AU */ +{{ DEF, -329, -329, -329, -329}, +{ -649, -928, -928, -928, -928}, +{ -289, -568, -568, -568, -568}, +{ -739,-1018,-1018,-1018,-1018}, +{ -379, -658, -658, -658, -658}}, +/* GU.UU..AU */ +{{ DEF, -329, -329, -329, -329}, +{ -649, -928, -928, -928, -928}, +{ -289, -568, -568, -568, -568}, +{ -739,-1018,-1018,-1018,-1018}, +{ -379, -658, -658, -658, -658}}}}, +/* GU.@@..UA */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.@A..UA */ +{{ 0, 0, 0, 0, 0}, +{ -399, -399, -399, -399, -399}, +{ -429, -429, -429, -429, -429}, +{ -379, -379, -379, -379, -379}, +{ -279, -279, -279, -279, -279}}, +/* GU.@C..UA */ +{{ 0, 0, 0, 0, 0}, +{ -629, -629, -629, -629, -629}, +{ -509, -509, -509, -509, -509}, +{ -679, -679, -679, -679, -679}, +{ -139, -139, -139, -139, -139}}, +/* GU.@G..UA */ +{{ 0, 0, 0, 0, 0}, +{ -889, -889, -889, -889, -889}, +{ -199, -199, -199, -199, -199}, +{ -889, -889, -889, -889, -889}, +{ -279, -279, -279, -279, -279}}, +/* GU.@U..UA */ +{{ 0, 0, 0, 0, 0}, +{ -589, -589, -589, -589, -589}, +{ -179, -179, -179, -179, -179}, +{ -679, -679, -679, -679, -679}, +{ -140, -140, -140, -140, -140}}}, +/* GU.A@..UA */ +{{{ DEF, -429, -599, -599, -599}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* GU.AA..UA */ +{{ DEF, -429, -599, -599, -599}, +{ -449, -828, -998, -998, -998}, +{ -479, -858,-1028,-1028,-1028}, +{ -429, -808, -978, -978, -978}, +{ -329, -708, -878, -878, -878}}, +/* GU.AC..UA */ +{{ DEF, -429, -599, -599, -599}, +{ -679,-1058,-1228,-1228,-1228}, +{ -559, -938,-1108,-1108,-1108}, +{ -729,-1108,-1278,-1278,-1278}, +{ -189, -568, -738, -738, -738}}, +/* GU.AG..UA */ +{{ DEF, -429, -599, -599, -599}, +{ -939,-1318,-1488,-1488,-1488}, +{ -249, -628, -798, -798, -798}, +{ -939,-1318,-1488,-1488,-1488}, +{ -329, -708, -878, -878, -878}}, +/* GU.AU..UA */ +{{ DEF, -429, -599, -599, -599}, +{ -639,-1018,-1188,-1188,-1188}, +{ -229, -608, -778, -778, -778}, +{ -729,-1108,-1278,-1278,-1278}, +{ -190, -569, -739, -739, -739}}}, +/* GU.C@..UA */ +{{{ DEF, -259, -239, -239, -239}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* GU.CA..UA */ +{{ DEF, -259, -239, -239, -239}, +{ -449, -658, -638, -638, -638}, +{ -479, -688, -668, -668, -668}, +{ -429, -638, -618, -618, -618}, +{ -329, -538, -518, -518, -518}}, +/* GU.CC..UA */ +{{ DEF, -259, -239, -239, -239}, +{ -679, -888, -868, -868, -868}, +{ -559, -768, -748, -748, -748}, +{ -729, -938, -918, -918, -918}, +{ -189, -398, -378, -378, -378}}, +/* GU.CG..UA */ +{{ DEF, -259, -239, -239, -239}, +{ -939,-1148,-1128,-1128,-1128}, +{ -249, -458, -438, -438, -438}, +{ -939,-1148,-1128,-1128,-1128}, +{ -329, -538, -518, -518, -518}}, +/* GU.CU..UA */ +{{ DEF, -259, -239, -239, -239}, +{ -639, -848, -828, -828, -828}, +{ -229, -438, -418, -418, -418}, +{ -729, -938, -918, -918, -918}, +{ -190, -399, -379, -379, -379}}}, +/* GU.G@..UA */ +{{{ DEF, -339, -689, -689, -689}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* GU.GA..UA */ +{{ DEF, -339, -689, -689, -689}, +{ -449, -738,-1088,-1088,-1088}, +{ -479, -768,-1118,-1118,-1118}, +{ -429, -718,-1068,-1068,-1068}, +{ -329, -618, -968, -968, -968}}, +/* GU.GC..UA */ +{{ DEF, -339, -689, -689, -689}, +{ -679, -968,-1318,-1318,-1318}, +{ -559, -848,-1198,-1198,-1198}, +{ -729,-1018,-1368,-1368,-1368}, +{ -189, -478, -828, -828, -828}}, +/* GU.GG..UA */ +{{ DEF, -339, -689, -689, -689}, +{ -939,-1228,-1578,-1578,-1578}, +{ -249, -538, -888, -888, -888}, +{ -939,-1228,-1578,-1578,-1578}, +{ -329, -618, -968, -968, -968}}, +/* GU.GU..UA */ +{{ DEF, -339, -689, -689, -689}, +{ -639, -928,-1278,-1278,-1278}, +{ -229, -518, -868, -868, -868}, +{ -729,-1018,-1368,-1368,-1368}, +{ -190, -479, -829, -829, -829}}}, +/* GU.U@..UA */ +{{{ DEF, -329, -329, -329, -329}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* GU.UA..UA */ +{{ DEF, -329, -329, -329, -329}, +{ -449, -728, -728, -728, -728}, +{ -479, -758, -758, -758, -758}, +{ -429, -708, -708, -708, -708}, +{ -329, -608, -608, -608, -608}}, +/* GU.UC..UA */ +{{ DEF, -329, -329, -329, -329}, +{ -679, -958, -958, -958, -958}, +{ -559, -838, -838, -838, -838}, +{ -729,-1008,-1008,-1008,-1008}, +{ -189, -468, -468, -468, -468}}, +/* GU.UG..UA */ +{{ DEF, -329, -329, -329, -329}, +{ -939,-1218,-1218,-1218,-1218}, +{ -249, -528, -528, -528, -528}, +{ -939,-1218,-1218,-1218,-1218}, +{ -329, -608, -608, -608, -608}}, +/* GU.UU..UA */ +{{ DEF, -329, -329, -329, -329}, +{ -639, -918, -918, -918, -918}, +{ -229, -508, -508, -508, -508}, +{ -729,-1008,-1008,-1008,-1008}, +{ -190, -469, -469, -469, -469}}}}, +/* GU.@@.. @ */ +{{{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.@A.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.@C.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.@G.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* GU.@U.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}}, +/* GU.A@.. @ */ +{{{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* GU.AA.. @ */ +{{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* GU.AC.. @ */ +{{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* GU.AG.. @ */ +{{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* GU.AU.. @ */ +{{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}}, +/* GU.C@.. @ */ +{{{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* GU.CA.. @ */ +{{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* GU.CC.. @ */ +{{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* GU.CG.. @ */ +{{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* GU.CU.. @ */ +{{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}}, +/* GU.G@.. @ */ +{{{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* GU.GA.. @ */ +{{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* GU.GC.. @ */ +{{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* GU.GG.. @ */ +{{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* GU.GU.. @ */ +{{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}}, +/* GU.U@.. @ */ +{{{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* GU.UA.. @ */ +{{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* GU.UC.. @ */ +{{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* GU.UG.. @ */ +{{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* GU.UU.. @ */ +{{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}}}}, +{ /* noPair */ {{{{0}}}}, +/* UG.@@..CG */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.@A..CG */ +{{ 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -519, -519, -519, -519, -519}, +{ -939, -939, -939, -939, -939}, +{ -809, -809, -809, -809, -809}}, +/* UG.@C..CG */ +{{ 0, 0, 0, 0, 0}, +{ -949, -949, -949, -949, -949}, +{ -449, -449, -449, -449, -449}, +{ -939, -939, -939, -939, -939}, +{ -739, -739, -739, -739, -739}}, +/* UG.@G..CG */ +{{ 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -519, -519, -519, -519, -519}, +{ -939, -939, -939, -939, -939}, +{ -809, -809, -809, -809, -809}}, +/* UG.@U..CG */ +{{ 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -669, -669, -669, -669, -669}, +{ -939, -939, -939, -939, -939}, +{ -859, -859, -859, -859, -859}}}, +/* UG.A@..CG */ +{{{ DEF, -719, -789, -959, -809}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}}, +/* UG.AA..CG */ +{{ DEF, -719, -789, -959, -809}, +{-1079,-1748,-1818,-1988,-1838}, +{ -569,-1238,-1308,-1478,-1328}, +{ -989,-1658,-1728,-1898,-1748}, +{ -859,-1528,-1598,-1768,-1618}}, +/* UG.AC..CG */ +{{ DEF, -719, -789, -959, -809}, +{ -999,-1668,-1738,-1908,-1758}, +{ -499,-1168,-1238,-1408,-1258}, +{ -989,-1658,-1728,-1898,-1748}, +{ -789,-1458,-1528,-1698,-1548}}, +/* UG.AG..CG */ +{{ DEF, -719, -789, -959, -809}, +{-1079,-1748,-1818,-1988,-1838}, +{ -569,-1238,-1308,-1478,-1328}, +{ -989,-1658,-1728,-1898,-1748}, +{ -859,-1528,-1598,-1768,-1618}}, +/* UG.AU..CG */ +{{ DEF, -719, -789, -959, -809}, +{-1079,-1748,-1818,-1988,-1838}, +{ -719,-1388,-1458,-1628,-1478}, +{ -989,-1658,-1728,-1898,-1748}, +{ -909,-1578,-1648,-1818,-1668}}}, +/* UG.C@..CG */ +{{{ DEF, -479, -479, -359, -479}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}}, +/* UG.CA..CG */ +{{ DEF, -479, -479, -359, -479}, +{-1079,-1508,-1508,-1388,-1508}, +{ -569, -998, -998, -878, -998}, +{ -989,-1418,-1418,-1298,-1418}, +{ -859,-1288,-1288,-1168,-1288}}, +/* UG.CC..CG */ +{{ DEF, -479, -479, -359, -479}, +{ -999,-1428,-1428,-1308,-1428}, +{ -499, -928, -928, -808, -928}, +{ -989,-1418,-1418,-1298,-1418}, +{ -789,-1218,-1218,-1098,-1218}}, +/* UG.CG..CG */ +{{ DEF, -479, -479, -359, -479}, +{-1079,-1508,-1508,-1388,-1508}, +{ -569, -998, -998, -878, -998}, +{ -989,-1418,-1418,-1298,-1418}, +{ -859,-1288,-1288,-1168,-1288}}, +/* UG.CU..CG */ +{{ DEF, -479, -479, -359, -479}, +{-1079,-1508,-1508,-1388,-1508}, +{ -719,-1148,-1148,-1028,-1148}, +{ -989,-1418,-1418,-1298,-1418}, +{ -909,-1338,-1338,-1218,-1338}}}, +/* UG.G@..CG */ +{{{ DEF, -659, -809, -919, -809}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}}, +/* UG.GA..CG */ +{{ DEF, -659, -809, -919, -809}, +{-1079,-1688,-1838,-1948,-1838}, +{ -569,-1178,-1328,-1438,-1328}, +{ -989,-1598,-1748,-1858,-1748}, +{ -859,-1468,-1618,-1728,-1618}}, +/* UG.GC..CG */ +{{ DEF, -659, -809, -919, -809}, +{ -999,-1608,-1758,-1868,-1758}, +{ -499,-1108,-1258,-1368,-1258}, +{ -989,-1598,-1748,-1858,-1748}, +{ -789,-1398,-1548,-1658,-1548}}, +/* UG.GG..CG */ +{{ DEF, -659, -809, -919, -809}, +{-1079,-1688,-1838,-1948,-1838}, +{ -569,-1178,-1328,-1438,-1328}, +{ -989,-1598,-1748,-1858,-1748}, +{ -859,-1468,-1618,-1728,-1618}}, +/* UG.GU..CG */ +{{ DEF, -659, -809, -919, -809}, +{-1079,-1688,-1838,-1948,-1838}, +{ -719,-1328,-1478,-1588,-1478}, +{ -989,-1598,-1748,-1858,-1748}, +{ -909,-1518,-1668,-1778,-1668}}}, +/* UG.U@..CG */ +{{{ DEF, -549, -439, -549, -359}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}}, +/* UG.UA..CG */ +{{ DEF, -549, -439, -549, -359}, +{-1079,-1578,-1468,-1578,-1388}, +{ -569,-1068, -958,-1068, -878}, +{ -989,-1488,-1378,-1488,-1298}, +{ -859,-1358,-1248,-1358,-1168}}, +/* UG.UC..CG */ +{{ DEF, -549, -439, -549, -359}, +{ -999,-1498,-1388,-1498,-1308}, +{ -499, -998, -888, -998, -808}, +{ -989,-1488,-1378,-1488,-1298}, +{ -789,-1288,-1178,-1288,-1098}}, +/* UG.UG..CG */ +{{ DEF, -549, -439, -549, -359}, +{-1079,-1578,-1468,-1578,-1388}, +{ -569,-1068, -958,-1068, -878}, +{ -989,-1488,-1378,-1488,-1298}, +{ -859,-1358,-1248,-1358,-1168}}, +/* UG.UU..CG */ +{{ DEF, -549, -439, -549, -359}, +{-1079,-1578,-1468,-1578,-1388}, +{ -719,-1218,-1108,-1218,-1028}, +{ -989,-1488,-1378,-1488,-1298}, +{ -909,-1408,-1298,-1408,-1218}}}}, +/* UG.@@..GC */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.@A..GC */ +{{ 0, 0, 0, 0, 0}, +{ -519, -519, -519, -519, -519}, +{ -719, -719, -719, -719, -719}, +{ -709, -709, -709, -709, -709}, +{ -499, -499, -499, -499, -499}}, +/* UG.@C..GC */ +{{ 0, 0, 0, 0, 0}, +{ -879, -879, -879, -879, -879}, +{ -309, -309, -309, -309, -309}, +{ -739, -739, -739, -739, -739}, +{ -499, -499, -499, -499, -499}}, +/* UG.@G..GC */ +{{ 0, 0, 0, 0, 0}, +{ -559, -559, -559, -559, -559}, +{ -309, -309, -309, -309, -309}, +{ -619, -619, -619, -619, -619}, +{ -499, -499, -499, -499, -499}}, +/* UG.@U..GC */ +{{ 0, 0, 0, 0, 0}, +{ -879, -879, -879, -879, -879}, +{ -389, -389, -389, -389, -389}, +{ -739, -739, -739, -739, -739}, +{ -569, -569, -569, -569, -569}}}, +/* UG.A@..GC */ +{{{ DEF, -719, -789, -959, -809}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}}, +/* UG.AA..GC */ +{{ DEF, -719, -789, -959, -809}, +{ -569,-1238,-1308,-1478,-1328}, +{ -769,-1438,-1508,-1678,-1528}, +{ -759,-1428,-1498,-1668,-1518}, +{ -549,-1218,-1288,-1458,-1308}}, +/* UG.AC..GC */ +{{ DEF, -719, -789, -959, -809}, +{ -929,-1598,-1668,-1838,-1688}, +{ -359,-1028,-1098,-1268,-1118}, +{ -789,-1458,-1528,-1698,-1548}, +{ -549,-1218,-1288,-1458,-1308}}, +/* UG.AG..GC */ +{{ DEF, -719, -789, -959, -809}, +{ -609,-1278,-1348,-1518,-1368}, +{ -359,-1028,-1098,-1268,-1118}, +{ -669,-1338,-1408,-1578,-1428}, +{ -549,-1218,-1288,-1458,-1308}}, +/* UG.AU..GC */ +{{ DEF, -719, -789, -959, -809}, +{ -929,-1598,-1668,-1838,-1688}, +{ -439,-1108,-1178,-1348,-1198}, +{ -789,-1458,-1528,-1698,-1548}, +{ -619,-1288,-1358,-1528,-1378}}}, +/* UG.C@..GC */ +{{{ DEF, -479, -479, -359, -479}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}}, +/* UG.CA..GC */ +{{ DEF, -479, -479, -359, -479}, +{ -569, -998, -998, -878, -998}, +{ -769,-1198,-1198,-1078,-1198}, +{ -759,-1188,-1188,-1068,-1188}, +{ -549, -978, -978, -858, -978}}, +/* UG.CC..GC */ +{{ DEF, -479, -479, -359, -479}, +{ -929,-1358,-1358,-1238,-1358}, +{ -359, -788, -788, -668, -788}, +{ -789,-1218,-1218,-1098,-1218}, +{ -549, -978, -978, -858, -978}}, +/* UG.CG..GC */ +{{ DEF, -479, -479, -359, -479}, +{ -609,-1038,-1038, -918,-1038}, +{ -359, -788, -788, -668, -788}, +{ -669,-1098,-1098, -978,-1098}, +{ -549, -978, -978, -858, -978}}, +/* UG.CU..GC */ +{{ DEF, -479, -479, -359, -479}, +{ -929,-1358,-1358,-1238,-1358}, +{ -439, -868, -868, -748, -868}, +{ -789,-1218,-1218,-1098,-1218}, +{ -619,-1048,-1048, -928,-1048}}}, +/* UG.G@..GC */ +{{{ DEF, -659, -809, -919, -809}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}}, +/* UG.GA..GC */ +{{ DEF, -659, -809, -919, -809}, +{ -569,-1178,-1328,-1438,-1328}, +{ -769,-1378,-1528,-1638,-1528}, +{ -759,-1368,-1518,-1628,-1518}, +{ -549,-1158,-1308,-1418,-1308}}, +/* UG.GC..GC */ +{{ DEF, -659, -809, -919, -809}, +{ -929,-1538,-1688,-1798,-1688}, +{ -359, -968,-1118,-1228,-1118}, +{ -789,-1398,-1548,-1658,-1548}, +{ -549,-1158,-1308,-1418,-1308}}, +/* UG.GG..GC */ +{{ DEF, -659, -809, -919, -809}, +{ -609,-1218,-1368,-1478,-1368}, +{ -359, -968,-1118,-1228,-1118}, +{ -669,-1278,-1428,-1538,-1428}, +{ -549,-1158,-1308,-1418,-1308}}, +/* UG.GU..GC */ +{{ DEF, -659, -809, -919, -809}, +{ -929,-1538,-1688,-1798,-1688}, +{ -439,-1048,-1198,-1308,-1198}, +{ -789,-1398,-1548,-1658,-1548}, +{ -619,-1228,-1378,-1488,-1378}}}, +/* UG.U@..GC */ +{{{ DEF, -549, -439, -549, -359}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}}, +/* UG.UA..GC */ +{{ DEF, -549, -439, -549, -359}, +{ -569,-1068, -958,-1068, -878}, +{ -769,-1268,-1158,-1268,-1078}, +{ -759,-1258,-1148,-1258,-1068}, +{ -549,-1048, -938,-1048, -858}}, +/* UG.UC..GC */ +{{ DEF, -549, -439, -549, -359}, +{ -929,-1428,-1318,-1428,-1238}, +{ -359, -858, -748, -858, -668}, +{ -789,-1288,-1178,-1288,-1098}, +{ -549,-1048, -938,-1048, -858}}, +/* UG.UG..GC */ +{{ DEF, -549, -439, -549, -359}, +{ -609,-1108, -998,-1108, -918}, +{ -359, -858, -748, -858, -668}, +{ -669,-1168,-1058,-1168, -978}, +{ -549,-1048, -938,-1048, -858}}, +/* UG.UU..GC */ +{{ DEF, -549, -439, -549, -359}, +{ -929,-1428,-1318,-1428,-1238}, +{ -439, -938, -828, -938, -748}, +{ -789,-1288,-1178,-1288,-1098}, +{ -619,-1118,-1008,-1118, -928}}}}, +/* UG.@@..GU */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.@A..GU */ +{{ 0, 0, 0, 0, 0}, +{ -429, -429, -429, -429, -429}, +{ -259, -259, -259, -259, -259}, +{ -339, -339, -339, -339, -339}, +{ -329, -329, -329, -329, -329}}, +/* UG.@C..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* UG.@G..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* UG.@U..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}}, +/* UG.A@..GU */ +{{{ DEF, -719, -789, -959, -809}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}}, +/* UG.AA..GU */ +{{ DEF, -719, -789, -959, -809}, +{ -479,-1148,-1218,-1388,-1238}, +{ -309, -978,-1048,-1218,-1068}, +{ -389,-1058,-1128,-1298,-1148}, +{ -379,-1048,-1118,-1288,-1138}}, +/* UG.AC..GU */ +{{ DEF, -719, -789, -959, -809}, +{ -649,-1318,-1388,-1558,-1408}, +{ -289, -958,-1028,-1198,-1048}, +{ -739,-1408,-1478,-1648,-1498}, +{ -379,-1048,-1118,-1288,-1138}}, +/* UG.AG..GU */ +{{ DEF, -719, -789, -959, -809}, +{ -649,-1318,-1388,-1558,-1408}, +{ -289, -958,-1028,-1198,-1048}, +{ -739,-1408,-1478,-1648,-1498}, +{ -379,-1048,-1118,-1288,-1138}}, +/* UG.AU..GU */ +{{ DEF, -719, -789, -959, -809}, +{ -649,-1318,-1388,-1558,-1408}, +{ -289, -958,-1028,-1198,-1048}, +{ -739,-1408,-1478,-1648,-1498}, +{ -379,-1048,-1118,-1288,-1138}}}, +/* UG.C@..GU */ +{{{ DEF, -479, -479, -359, -479}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}}, +/* UG.CA..GU */ +{{ DEF, -479, -479, -359, -479}, +{ -479, -908, -908, -788, -908}, +{ -309, -738, -738, -618, -738}, +{ -389, -818, -818, -698, -818}, +{ -379, -808, -808, -688, -808}}, +/* UG.CC..GU */ +{{ DEF, -479, -479, -359, -479}, +{ -649,-1078,-1078, -958,-1078}, +{ -289, -718, -718, -598, -718}, +{ -739,-1168,-1168,-1048,-1168}, +{ -379, -808, -808, -688, -808}}, +/* UG.CG..GU */ +{{ DEF, -479, -479, -359, -479}, +{ -649,-1078,-1078, -958,-1078}, +{ -289, -718, -718, -598, -718}, +{ -739,-1168,-1168,-1048,-1168}, +{ -379, -808, -808, -688, -808}}, +/* UG.CU..GU */ +{{ DEF, -479, -479, -359, -479}, +{ -649,-1078,-1078, -958,-1078}, +{ -289, -718, -718, -598, -718}, +{ -739,-1168,-1168,-1048,-1168}, +{ -379, -808, -808, -688, -808}}}, +/* UG.G@..GU */ +{{{ DEF, -659, -809, -919, -809}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}}, +/* UG.GA..GU */ +{{ DEF, -659, -809, -919, -809}, +{ -479,-1088,-1238,-1348,-1238}, +{ -309, -918,-1068,-1178,-1068}, +{ -389, -998,-1148,-1258,-1148}, +{ -379, -988,-1138,-1248,-1138}}, +/* UG.GC..GU */ +{{ DEF, -659, -809, -919, -809}, +{ -649,-1258,-1408,-1518,-1408}, +{ -289, -898,-1048,-1158,-1048}, +{ -739,-1348,-1498,-1608,-1498}, +{ -379, -988,-1138,-1248,-1138}}, +/* UG.GG..GU */ +{{ DEF, -659, -809, -919, -809}, +{ -649,-1258,-1408,-1518,-1408}, +{ -289, -898,-1048,-1158,-1048}, +{ -739,-1348,-1498,-1608,-1498}, +{ -379, -988,-1138,-1248,-1138}}, +/* UG.GU..GU */ +{{ DEF, -659, -809, -919, -809}, +{ -649,-1258,-1408,-1518,-1408}, +{ -289, -898,-1048,-1158,-1048}, +{ -739,-1348,-1498,-1608,-1498}, +{ -379, -988,-1138,-1248,-1138}}}, +/* UG.U@..GU */ +{{{ DEF, -549, -439, -549, -359}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}}, +/* UG.UA..GU */ +{{ DEF, -549, -439, -549, -359}, +{ -479, -978, -868, -978, -788}, +{ -309, -808, -698, -808, -618}, +{ -389, -888, -778, -888, -698}, +{ -379, -878, -768, -878, -688}}, +/* UG.UC..GU */ +{{ DEF, -549, -439, -549, -359}, +{ -649,-1148,-1038,-1148, -958}, +{ -289, -788, -678, -788, -598}, +{ -739,-1238,-1128,-1238,-1048}, +{ -379, -878, -768, -878, -688}}, +/* UG.UG..GU */ +{{ DEF, -549, -439, -549, -359}, +{ -649,-1148,-1038,-1148, -958}, +{ -289, -788, -678, -788, -598}, +{ -739,-1238,-1128,-1238,-1048}, +{ -379, -878, -768, -878, -688}}, +/* UG.UU..GU */ +{{ DEF, -549, -439, -549, -359}, +{ -649,-1148,-1038,-1148, -958}, +{ -289, -788, -678, -788, -598}, +{ -739,-1238,-1128,-1238,-1048}, +{ -379, -878, -768, -878, -688}}}}, +/* UG.@@..UG */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.@A..UG */ +{{ 0, 0, 0, 0, 0}, +{ -719, -719, -719, -719, -719}, +{ -479, -479, -479, -479, -479}, +{ -659, -659, -659, -659, -659}, +{ -549, -549, -549, -549, -549}}, +/* UG.@C..UG */ +{{ 0, 0, 0, 0, 0}, +{ -789, -789, -789, -789, -789}, +{ -479, -479, -479, -479, -479}, +{ -809, -809, -809, -809, -809}, +{ -439, -439, -439, -439, -439}}, +/* UG.@G..UG */ +{{ 0, 0, 0, 0, 0}, +{ -959, -959, -959, -959, -959}, +{ -359, -359, -359, -359, -359}, +{ -919, -919, -919, -919, -919}, +{ -549, -549, -549, -549, -549}}, +/* UG.@U..UG */ +{{ 0, 0, 0, 0, 0}, +{ -809, -809, -809, -809, -809}, +{ -479, -479, -479, -479, -479}, +{ -809, -809, -809, -809, -809}, +{ -359, -359, -359, -359, -359}}}, +/* UG.A@..UG */ +{{{ DEF, -719, -789, -959, -809}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}}, +/* UG.AA..UG */ +{{ DEF, -719, -789, -959, -809}, +{ -769,-1438,-1508,-1678,-1528}, +{ -529,-1198,-1268,-1438,-1288}, +{ -709,-1378,-1448,-1618,-1468}, +{ -599,-1268,-1338,-1508,-1358}}, +/* UG.AC..UG */ +{{ DEF, -719, -789, -959, -809}, +{ -839,-1508,-1578,-1748,-1598}, +{ -529,-1198,-1268,-1438,-1288}, +{ -859,-1528,-1598,-1768,-1618}, +{ -489,-1158,-1228,-1398,-1248}}, +/* UG.AG..UG */ +{{ DEF, -719, -789, -959, -809}, +{-1009,-1678,-1748,-1918,-1768}, +{ -409,-1078,-1148,-1318,-1168}, +{ -969,-1638,-1708,-1878,-1728}, +{ -599,-1268,-1338,-1508,-1358}}, +/* UG.AU..UG */ +{{ DEF, -719, -789, -959, -809}, +{ -859,-1528,-1598,-1768,-1618}, +{ -529,-1198,-1268,-1438,-1288}, +{ -859,-1528,-1598,-1768,-1618}, +{ -409,-1078,-1148,-1318,-1168}}}, +/* UG.C@..UG */ +{{{ DEF, -479, -479, -359, -479}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}}, +/* UG.CA..UG */ +{{ DEF, -479, -479, -359, -479}, +{ -769,-1198,-1198,-1078,-1198}, +{ -529, -958, -958, -838, -958}, +{ -709,-1138,-1138,-1018,-1138}, +{ -599,-1028,-1028, -908,-1028}}, +/* UG.CC..UG */ +{{ DEF, -479, -479, -359, -479}, +{ -839,-1268,-1268,-1148,-1268}, +{ -529, -958, -958, -838, -958}, +{ -859,-1288,-1288,-1168,-1288}, +{ -489, -918, -918, -798, -918}}, +/* UG.CG..UG */ +{{ DEF, -479, -479, -359, -479}, +{-1009,-1438,-1438,-1318,-1438}, +{ -409, -838, -838, -718, -838}, +{ -969,-1398,-1398,-1278,-1398}, +{ -599,-1028,-1028, -908,-1028}}, +/* UG.CU..UG */ +{{ DEF, -479, -479, -359, -479}, +{ -859,-1288,-1288,-1168,-1288}, +{ -529, -958, -958, -838, -958}, +{ -859,-1288,-1288,-1168,-1288}, +{ -409, -838, -838, -718, -838}}}, +/* UG.G@..UG */ +{{{ DEF, -659, -809, -919, -809}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}}, +/* UG.GA..UG */ +{{ DEF, -659, -809, -919, -809}, +{ -769,-1378,-1528,-1638,-1528}, +{ -529,-1138,-1288,-1398,-1288}, +{ -709,-1318,-1468,-1578,-1468}, +{ -599,-1208,-1358,-1468,-1358}}, +/* UG.GC..UG */ +{{ DEF, -659, -809, -919, -809}, +{ -839,-1448,-1598,-1708,-1598}, +{ -529,-1138,-1288,-1398,-1288}, +{ -859,-1468,-1618,-1728,-1618}, +{ -489,-1098,-1248,-1358,-1248}}, +/* UG.GG..UG */ +{{ DEF, -659, -809, -919, -809}, +{-1009,-1618,-1768,-1878,-1768}, +{ -409,-1018,-1168,-1278,-1168}, +{ -969,-1578,-1728,-1838,-1728}, +{ -599,-1208,-1358,-1468,-1358}}, +/* UG.GU..UG */ +{{ DEF, -659, -809, -919, -809}, +{ -859,-1468,-1618,-1728,-1618}, +{ -529,-1138,-1288,-1398,-1288}, +{ -859,-1468,-1618,-1728,-1618}, +{ -409,-1018,-1168,-1278,-1168}}}, +/* UG.U@..UG */ +{{{ DEF, -549, -439, -549, -359}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}}, +/* UG.UA..UG */ +{{ DEF, -549, -439, -549, -359}, +{ -769,-1268,-1158,-1268,-1078}, +{ -529,-1028, -918,-1028, -838}, +{ -709,-1208,-1098,-1208,-1018}, +{ -599,-1098, -988,-1098, -908}}, +/* UG.UC..UG */ +{{ DEF, -549, -439, -549, -359}, +{ -839,-1338,-1228,-1338,-1148}, +{ -529,-1028, -918,-1028, -838}, +{ -859,-1358,-1248,-1358,-1168}, +{ -489, -988, -878, -988, -798}}, +/* UG.UG..UG */ +{{ DEF, -549, -439, -549, -359}, +{-1009,-1508,-1398,-1508,-1318}, +{ -409, -908, -798, -908, -718}, +{ -969,-1468,-1358,-1468,-1278}, +{ -599,-1098, -988,-1098, -908}}, +/* UG.UU..UG */ +{{ DEF, -549, -439, -549, -359}, +{ -859,-1358,-1248,-1358,-1168}, +{ -529,-1028, -918,-1028, -838}, +{ -859,-1358,-1248,-1358,-1168}, +{ -409, -908, -798, -908, -718}}}}, +/* UG.@@..AU */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.@A..AU */ +{{ 0, 0, 0, 0, 0}, +{ -429, -429, -429, -429, -429}, +{ -259, -259, -259, -259, -259}, +{ -339, -339, -339, -339, -339}, +{ -329, -329, -329, -329, -329}}, +/* UG.@C..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* UG.@G..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* UG.@U..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}}, +/* UG.A@..AU */ +{{{ DEF, -719, -789, -959, -809}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}}, +/* UG.AA..AU */ +{{ DEF, -719, -789, -959, -809}, +{ -479,-1148,-1218,-1388,-1238}, +{ -309, -978,-1048,-1218,-1068}, +{ -389,-1058,-1128,-1298,-1148}, +{ -379,-1048,-1118,-1288,-1138}}, +/* UG.AC..AU */ +{{ DEF, -719, -789, -959, -809}, +{ -649,-1318,-1388,-1558,-1408}, +{ -289, -958,-1028,-1198,-1048}, +{ -739,-1408,-1478,-1648,-1498}, +{ -379,-1048,-1118,-1288,-1138}}, +/* UG.AG..AU */ +{{ DEF, -719, -789, -959, -809}, +{ -649,-1318,-1388,-1558,-1408}, +{ -289, -958,-1028,-1198,-1048}, +{ -739,-1408,-1478,-1648,-1498}, +{ -379,-1048,-1118,-1288,-1138}}, +/* UG.AU..AU */ +{{ DEF, -719, -789, -959, -809}, +{ -649,-1318,-1388,-1558,-1408}, +{ -289, -958,-1028,-1198,-1048}, +{ -739,-1408,-1478,-1648,-1498}, +{ -379,-1048,-1118,-1288,-1138}}}, +/* UG.C@..AU */ +{{{ DEF, -479, -479, -359, -479}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}}, +/* UG.CA..AU */ +{{ DEF, -479, -479, -359, -479}, +{ -479, -908, -908, -788, -908}, +{ -309, -738, -738, -618, -738}, +{ -389, -818, -818, -698, -818}, +{ -379, -808, -808, -688, -808}}, +/* UG.CC..AU */ +{{ DEF, -479, -479, -359, -479}, +{ -649,-1078,-1078, -958,-1078}, +{ -289, -718, -718, -598, -718}, +{ -739,-1168,-1168,-1048,-1168}, +{ -379, -808, -808, -688, -808}}, +/* UG.CG..AU */ +{{ DEF, -479, -479, -359, -479}, +{ -649,-1078,-1078, -958,-1078}, +{ -289, -718, -718, -598, -718}, +{ -739,-1168,-1168,-1048,-1168}, +{ -379, -808, -808, -688, -808}}, +/* UG.CU..AU */ +{{ DEF, -479, -479, -359, -479}, +{ -649,-1078,-1078, -958,-1078}, +{ -289, -718, -718, -598, -718}, +{ -739,-1168,-1168,-1048,-1168}, +{ -379, -808, -808, -688, -808}}}, +/* UG.G@..AU */ +{{{ DEF, -659, -809, -919, -809}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}}, +/* UG.GA..AU */ +{{ DEF, -659, -809, -919, -809}, +{ -479,-1088,-1238,-1348,-1238}, +{ -309, -918,-1068,-1178,-1068}, +{ -389, -998,-1148,-1258,-1148}, +{ -379, -988,-1138,-1248,-1138}}, +/* UG.GC..AU */ +{{ DEF, -659, -809, -919, -809}, +{ -649,-1258,-1408,-1518,-1408}, +{ -289, -898,-1048,-1158,-1048}, +{ -739,-1348,-1498,-1608,-1498}, +{ -379, -988,-1138,-1248,-1138}}, +/* UG.GG..AU */ +{{ DEF, -659, -809, -919, -809}, +{ -649,-1258,-1408,-1518,-1408}, +{ -289, -898,-1048,-1158,-1048}, +{ -739,-1348,-1498,-1608,-1498}, +{ -379, -988,-1138,-1248,-1138}}, +/* UG.GU..AU */ +{{ DEF, -659, -809, -919, -809}, +{ -649,-1258,-1408,-1518,-1408}, +{ -289, -898,-1048,-1158,-1048}, +{ -739,-1348,-1498,-1608,-1498}, +{ -379, -988,-1138,-1248,-1138}}}, +/* UG.U@..AU */ +{{{ DEF, -549, -439, -549, -359}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}}, +/* UG.UA..AU */ +{{ DEF, -549, -439, -549, -359}, +{ -479, -978, -868, -978, -788}, +{ -309, -808, -698, -808, -618}, +{ -389, -888, -778, -888, -698}, +{ -379, -878, -768, -878, -688}}, +/* UG.UC..AU */ +{{ DEF, -549, -439, -549, -359}, +{ -649,-1148,-1038,-1148, -958}, +{ -289, -788, -678, -788, -598}, +{ -739,-1238,-1128,-1238,-1048}, +{ -379, -878, -768, -878, -688}}, +/* UG.UG..AU */ +{{ DEF, -549, -439, -549, -359}, +{ -649,-1148,-1038,-1148, -958}, +{ -289, -788, -678, -788, -598}, +{ -739,-1238,-1128,-1238,-1048}, +{ -379, -878, -768, -878, -688}}, +/* UG.UU..AU */ +{{ DEF, -549, -439, -549, -359}, +{ -649,-1148,-1038,-1148, -958}, +{ -289, -788, -678, -788, -598}, +{ -739,-1238,-1128,-1238,-1048}, +{ -379, -878, -768, -878, -688}}}}, +/* UG.@@..UA */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.@A..UA */ +{{ 0, 0, 0, 0, 0}, +{ -399, -399, -399, -399, -399}, +{ -429, -429, -429, -429, -429}, +{ -379, -379, -379, -379, -379}, +{ -279, -279, -279, -279, -279}}, +/* UG.@C..UA */ +{{ 0, 0, 0, 0, 0}, +{ -629, -629, -629, -629, -629}, +{ -509, -509, -509, -509, -509}, +{ -679, -679, -679, -679, -679}, +{ -139, -139, -139, -139, -139}}, +/* UG.@G..UA */ +{{ 0, 0, 0, 0, 0}, +{ -889, -889, -889, -889, -889}, +{ -199, -199, -199, -199, -199}, +{ -889, -889, -889, -889, -889}, +{ -279, -279, -279, -279, -279}}, +/* UG.@U..UA */ +{{ 0, 0, 0, 0, 0}, +{ -589, -589, -589, -589, -589}, +{ -179, -179, -179, -179, -179}, +{ -679, -679, -679, -679, -679}, +{ -140, -140, -140, -140, -140}}}, +/* UG.A@..UA */ +{{{ DEF, -719, -789, -959, -809}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}}, +/* UG.AA..UA */ +{{ DEF, -719, -789, -959, -809}, +{ -449,-1118,-1188,-1358,-1208}, +{ -479,-1148,-1218,-1388,-1238}, +{ -429,-1098,-1168,-1338,-1188}, +{ -329, -998,-1068,-1238,-1088}}, +/* UG.AC..UA */ +{{ DEF, -719, -789, -959, -809}, +{ -679,-1348,-1418,-1588,-1438}, +{ -559,-1228,-1298,-1468,-1318}, +{ -729,-1398,-1468,-1638,-1488}, +{ -189, -858, -928,-1098, -948}}, +/* UG.AG..UA */ +{{ DEF, -719, -789, -959, -809}, +{ -939,-1608,-1678,-1848,-1698}, +{ -249, -918, -988,-1158,-1008}, +{ -939,-1608,-1678,-1848,-1698}, +{ -329, -998,-1068,-1238,-1088}}, +/* UG.AU..UA */ +{{ DEF, -719, -789, -959, -809}, +{ -639,-1308,-1378,-1548,-1398}, +{ -229, -898, -968,-1138, -988}, +{ -729,-1398,-1468,-1638,-1488}, +{ -190, -859, -929,-1099, -949}}}, +/* UG.C@..UA */ +{{{ DEF, -479, -479, -359, -479}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}}, +/* UG.CA..UA */ +{{ DEF, -479, -479, -359, -479}, +{ -449, -878, -878, -758, -878}, +{ -479, -908, -908, -788, -908}, +{ -429, -858, -858, -738, -858}, +{ -329, -758, -758, -638, -758}}, +/* UG.CC..UA */ +{{ DEF, -479, -479, -359, -479}, +{ -679,-1108,-1108, -988,-1108}, +{ -559, -988, -988, -868, -988}, +{ -729,-1158,-1158,-1038,-1158}, +{ -189, -618, -618, -498, -618}}, +/* UG.CG..UA */ +{{ DEF, -479, -479, -359, -479}, +{ -939,-1368,-1368,-1248,-1368}, +{ -249, -678, -678, -558, -678}, +{ -939,-1368,-1368,-1248,-1368}, +{ -329, -758, -758, -638, -758}}, +/* UG.CU..UA */ +{{ DEF, -479, -479, -359, -479}, +{ -639,-1068,-1068, -948,-1068}, +{ -229, -658, -658, -538, -658}, +{ -729,-1158,-1158,-1038,-1158}, +{ -190, -619, -619, -499, -619}}}, +/* UG.G@..UA */ +{{{ DEF, -659, -809, -919, -809}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}}, +/* UG.GA..UA */ +{{ DEF, -659, -809, -919, -809}, +{ -449,-1058,-1208,-1318,-1208}, +{ -479,-1088,-1238,-1348,-1238}, +{ -429,-1038,-1188,-1298,-1188}, +{ -329, -938,-1088,-1198,-1088}}, +/* UG.GC..UA */ +{{ DEF, -659, -809, -919, -809}, +{ -679,-1288,-1438,-1548,-1438}, +{ -559,-1168,-1318,-1428,-1318}, +{ -729,-1338,-1488,-1598,-1488}, +{ -189, -798, -948,-1058, -948}}, +/* UG.GG..UA */ +{{ DEF, -659, -809, -919, -809}, +{ -939,-1548,-1698,-1808,-1698}, +{ -249, -858,-1008,-1118,-1008}, +{ -939,-1548,-1698,-1808,-1698}, +{ -329, -938,-1088,-1198,-1088}}, +/* UG.GU..UA */ +{{ DEF, -659, -809, -919, -809}, +{ -639,-1248,-1398,-1508,-1398}, +{ -229, -838, -988,-1098, -988}, +{ -729,-1338,-1488,-1598,-1488}, +{ -190, -799, -949,-1059, -949}}}, +/* UG.U@..UA */ +{{{ DEF, -549, -439, -549, -359}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}}, +/* UG.UA..UA */ +{{ DEF, -549, -439, -549, -359}, +{ -449, -948, -838, -948, -758}, +{ -479, -978, -868, -978, -788}, +{ -429, -928, -818, -928, -738}, +{ -329, -828, -718, -828, -638}}, +/* UG.UC..UA */ +{{ DEF, -549, -439, -549, -359}, +{ -679,-1178,-1068,-1178, -988}, +{ -559,-1058, -948,-1058, -868}, +{ -729,-1228,-1118,-1228,-1038}, +{ -189, -688, -578, -688, -498}}, +/* UG.UG..UA */ +{{ DEF, -549, -439, -549, -359}, +{ -939,-1438,-1328,-1438,-1248}, +{ -249, -748, -638, -748, -558}, +{ -939,-1438,-1328,-1438,-1248}, +{ -329, -828, -718, -828, -638}}, +/* UG.UU..UA */ +{{ DEF, -549, -439, -549, -359}, +{ -639,-1138,-1028,-1138, -948}, +{ -229, -728, -618, -728, -538}, +{ -729,-1228,-1118,-1228,-1038}, +{ -190, -689, -579, -689, -499}}}}, +/* UG.@@.. @ */ +{{{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.@A.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.@C.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.@G.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UG.@U.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}}, +/* UG.A@.. @ */ +{{{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}}, +/* UG.AA.. @ */ +{{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}}, +/* UG.AC.. @ */ +{{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}}, +/* UG.AG.. @ */ +{{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}}, +/* UG.AU.. @ */ +{{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}, +{ -100, -769, -839,-1009, -859}}}, +/* UG.C@.. @ */ +{{{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}}, +/* UG.CA.. @ */ +{{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}}, +/* UG.CC.. @ */ +{{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}}, +/* UG.CG.. @ */ +{{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}}, +/* UG.CU.. @ */ +{{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}, +{ -100, -529, -529, -409, -529}}}, +/* UG.G@.. @ */ +{{{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}}, +/* UG.GA.. @ */ +{{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}}, +/* UG.GC.. @ */ +{{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}}, +/* UG.GG.. @ */ +{{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}}, +/* UG.GU.. @ */ +{{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}, +{ -100, -709, -859, -969, -859}}}, +/* UG.U@.. @ */ +{{{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}}, +/* UG.UA.. @ */ +{{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}}, +/* UG.UC.. @ */ +{{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}}, +/* UG.UG.. @ */ +{{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}}, +/* UG.UU.. @ */ +{{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}, +{ -100, -599, -489, -599, -409}}}}}, +{ /* noPair */ {{{{0}}}}, +/* AU.@@..CG */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.@A..CG */ +{{ 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -519, -519, -519, -519, -519}, +{ -939, -939, -939, -939, -939}, +{ -809, -809, -809, -809, -809}}, +/* AU.@C..CG */ +{{ 0, 0, 0, 0, 0}, +{ -949, -949, -949, -949, -949}, +{ -449, -449, -449, -449, -449}, +{ -939, -939, -939, -939, -939}, +{ -739, -739, -739, -739, -739}}, +/* AU.@G..CG */ +{{ 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -519, -519, -519, -519, -519}, +{ -939, -939, -939, -939, -939}, +{ -809, -809, -809, -809, -809}}, +/* AU.@U..CG */ +{{ 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -669, -669, -669, -669, -669}, +{ -939, -939, -939, -939, -939}, +{ -859, -859, -859, -859, -859}}}, +/* AU.A@..CG */ +{{{ DEF, -429, -599, -599, -599}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* AU.AA..CG */ +{{ DEF, -429, -599, -599, -599}, +{-1079,-1458,-1628,-1628,-1628}, +{ -569, -948,-1118,-1118,-1118}, +{ -989,-1368,-1538,-1538,-1538}, +{ -859,-1238,-1408,-1408,-1408}}, +/* AU.AC..CG */ +{{ DEF, -429, -599, -599, -599}, +{ -999,-1378,-1548,-1548,-1548}, +{ -499, -878,-1048,-1048,-1048}, +{ -989,-1368,-1538,-1538,-1538}, +{ -789,-1168,-1338,-1338,-1338}}, +/* AU.AG..CG */ +{{ DEF, -429, -599, -599, -599}, +{-1079,-1458,-1628,-1628,-1628}, +{ -569, -948,-1118,-1118,-1118}, +{ -989,-1368,-1538,-1538,-1538}, +{ -859,-1238,-1408,-1408,-1408}}, +/* AU.AU..CG */ +{{ DEF, -429, -599, -599, -599}, +{-1079,-1458,-1628,-1628,-1628}, +{ -719,-1098,-1268,-1268,-1268}, +{ -989,-1368,-1538,-1538,-1538}, +{ -909,-1288,-1458,-1458,-1458}}}, +/* AU.C@..CG */ +{{{ DEF, -259, -239, -239, -239}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* AU.CA..CG */ +{{ DEF, -259, -239, -239, -239}, +{-1079,-1288,-1268,-1268,-1268}, +{ -569, -778, -758, -758, -758}, +{ -989,-1198,-1178,-1178,-1178}, +{ -859,-1068,-1048,-1048,-1048}}, +/* AU.CC..CG */ +{{ DEF, -259, -239, -239, -239}, +{ -999,-1208,-1188,-1188,-1188}, +{ -499, -708, -688, -688, -688}, +{ -989,-1198,-1178,-1178,-1178}, +{ -789, -998, -978, -978, -978}}, +/* AU.CG..CG */ +{{ DEF, -259, -239, -239, -239}, +{-1079,-1288,-1268,-1268,-1268}, +{ -569, -778, -758, -758, -758}, +{ -989,-1198,-1178,-1178,-1178}, +{ -859,-1068,-1048,-1048,-1048}}, +/* AU.CU..CG */ +{{ DEF, -259, -239, -239, -239}, +{-1079,-1288,-1268,-1268,-1268}, +{ -719, -928, -908, -908, -908}, +{ -989,-1198,-1178,-1178,-1178}, +{ -909,-1118,-1098,-1098,-1098}}}, +/* AU.G@..CG */ +{{{ DEF, -339, -689, -689, -689}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* AU.GA..CG */ +{{ DEF, -339, -689, -689, -689}, +{-1079,-1368,-1718,-1718,-1718}, +{ -569, -858,-1208,-1208,-1208}, +{ -989,-1278,-1628,-1628,-1628}, +{ -859,-1148,-1498,-1498,-1498}}, +/* AU.GC..CG */ +{{ DEF, -339, -689, -689, -689}, +{ -999,-1288,-1638,-1638,-1638}, +{ -499, -788,-1138,-1138,-1138}, +{ -989,-1278,-1628,-1628,-1628}, +{ -789,-1078,-1428,-1428,-1428}}, +/* AU.GG..CG */ +{{ DEF, -339, -689, -689, -689}, +{-1079,-1368,-1718,-1718,-1718}, +{ -569, -858,-1208,-1208,-1208}, +{ -989,-1278,-1628,-1628,-1628}, +{ -859,-1148,-1498,-1498,-1498}}, +/* AU.GU..CG */ +{{ DEF, -339, -689, -689, -689}, +{-1079,-1368,-1718,-1718,-1718}, +{ -719,-1008,-1358,-1358,-1358}, +{ -989,-1278,-1628,-1628,-1628}, +{ -909,-1198,-1548,-1548,-1548}}}, +/* AU.U@..CG */ +{{{ DEF, -329, -329, -329, -329}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* AU.UA..CG */ +{{ DEF, -329, -329, -329, -329}, +{-1079,-1358,-1358,-1358,-1358}, +{ -569, -848, -848, -848, -848}, +{ -989,-1268,-1268,-1268,-1268}, +{ -859,-1138,-1138,-1138,-1138}}, +/* AU.UC..CG */ +{{ DEF, -329, -329, -329, -329}, +{ -999,-1278,-1278,-1278,-1278}, +{ -499, -778, -778, -778, -778}, +{ -989,-1268,-1268,-1268,-1268}, +{ -789,-1068,-1068,-1068,-1068}}, +/* AU.UG..CG */ +{{ DEF, -329, -329, -329, -329}, +{-1079,-1358,-1358,-1358,-1358}, +{ -569, -848, -848, -848, -848}, +{ -989,-1268,-1268,-1268,-1268}, +{ -859,-1138,-1138,-1138,-1138}}, +/* AU.UU..CG */ +{{ DEF, -329, -329, -329, -329}, +{-1079,-1358,-1358,-1358,-1358}, +{ -719, -998, -998, -998, -998}, +{ -989,-1268,-1268,-1268,-1268}, +{ -909,-1188,-1188,-1188,-1188}}}}, +/* AU.@@..GC */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.@A..GC */ +{{ 0, 0, 0, 0, 0}, +{ -519, -519, -519, -519, -519}, +{ -719, -719, -719, -719, -719}, +{ -709, -709, -709, -709, -709}, +{ -499, -499, -499, -499, -499}}, +/* AU.@C..GC */ +{{ 0, 0, 0, 0, 0}, +{ -879, -879, -879, -879, -879}, +{ -309, -309, -309, -309, -309}, +{ -739, -739, -739, -739, -739}, +{ -499, -499, -499, -499, -499}}, +/* AU.@G..GC */ +{{ 0, 0, 0, 0, 0}, +{ -559, -559, -559, -559, -559}, +{ -309, -309, -309, -309, -309}, +{ -619, -619, -619, -619, -619}, +{ -499, -499, -499, -499, -499}}, +/* AU.@U..GC */ +{{ 0, 0, 0, 0, 0}, +{ -879, -879, -879, -879, -879}, +{ -389, -389, -389, -389, -389}, +{ -739, -739, -739, -739, -739}, +{ -569, -569, -569, -569, -569}}}, +/* AU.A@..GC */ +{{{ DEF, -429, -599, -599, -599}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* AU.AA..GC */ +{{ DEF, -429, -599, -599, -599}, +{ -569, -948,-1118,-1118,-1118}, +{ -769,-1148,-1318,-1318,-1318}, +{ -759,-1138,-1308,-1308,-1308}, +{ -549, -928,-1098,-1098,-1098}}, +/* AU.AC..GC */ +{{ DEF, -429, -599, -599, -599}, +{ -929,-1308,-1478,-1478,-1478}, +{ -359, -738, -908, -908, -908}, +{ -789,-1168,-1338,-1338,-1338}, +{ -549, -928,-1098,-1098,-1098}}, +/* AU.AG..GC */ +{{ DEF, -429, -599, -599, -599}, +{ -609, -988,-1158,-1158,-1158}, +{ -359, -738, -908, -908, -908}, +{ -669,-1048,-1218,-1218,-1218}, +{ -549, -928,-1098,-1098,-1098}}, +/* AU.AU..GC */ +{{ DEF, -429, -599, -599, -599}, +{ -929,-1308,-1478,-1478,-1478}, +{ -439, -818, -988, -988, -988}, +{ -789,-1168,-1338,-1338,-1338}, +{ -619, -998,-1168,-1168,-1168}}}, +/* AU.C@..GC */ +{{{ DEF, -259, -239, -239, -239}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* AU.CA..GC */ +{{ DEF, -259, -239, -239, -239}, +{ -569, -778, -758, -758, -758}, +{ -769, -978, -958, -958, -958}, +{ -759, -968, -948, -948, -948}, +{ -549, -758, -738, -738, -738}}, +/* AU.CC..GC */ +{{ DEF, -259, -239, -239, -239}, +{ -929,-1138,-1118,-1118,-1118}, +{ -359, -568, -548, -548, -548}, +{ -789, -998, -978, -978, -978}, +{ -549, -758, -738, -738, -738}}, +/* AU.CG..GC */ +{{ DEF, -259, -239, -239, -239}, +{ -609, -818, -798, -798, -798}, +{ -359, -568, -548, -548, -548}, +{ -669, -878, -858, -858, -858}, +{ -549, -758, -738, -738, -738}}, +/* AU.CU..GC */ +{{ DEF, -259, -239, -239, -239}, +{ -929,-1138,-1118,-1118,-1118}, +{ -439, -648, -628, -628, -628}, +{ -789, -998, -978, -978, -978}, +{ -619, -828, -808, -808, -808}}}, +/* AU.G@..GC */ +{{{ DEF, -339, -689, -689, -689}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* AU.GA..GC */ +{{ DEF, -339, -689, -689, -689}, +{ -569, -858,-1208,-1208,-1208}, +{ -769,-1058,-1408,-1408,-1408}, +{ -759,-1048,-1398,-1398,-1398}, +{ -549, -838,-1188,-1188,-1188}}, +/* AU.GC..GC */ +{{ DEF, -339, -689, -689, -689}, +{ -929,-1218,-1568,-1568,-1568}, +{ -359, -648, -998, -998, -998}, +{ -789,-1078,-1428,-1428,-1428}, +{ -549, -838,-1188,-1188,-1188}}, +/* AU.GG..GC */ +{{ DEF, -339, -689, -689, -689}, +{ -609, -898,-1248,-1248,-1248}, +{ -359, -648, -998, -998, -998}, +{ -669, -958,-1308,-1308,-1308}, +{ -549, -838,-1188,-1188,-1188}}, +/* AU.GU..GC */ +{{ DEF, -339, -689, -689, -689}, +{ -929,-1218,-1568,-1568,-1568}, +{ -439, -728,-1078,-1078,-1078}, +{ -789,-1078,-1428,-1428,-1428}, +{ -619, -908,-1258,-1258,-1258}}}, +/* AU.U@..GC */ +{{{ DEF, -329, -329, -329, -329}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* AU.UA..GC */ +{{ DEF, -329, -329, -329, -329}, +{ -569, -848, -848, -848, -848}, +{ -769,-1048,-1048,-1048,-1048}, +{ -759,-1038,-1038,-1038,-1038}, +{ -549, -828, -828, -828, -828}}, +/* AU.UC..GC */ +{{ DEF, -329, -329, -329, -329}, +{ -929,-1208,-1208,-1208,-1208}, +{ -359, -638, -638, -638, -638}, +{ -789,-1068,-1068,-1068,-1068}, +{ -549, -828, -828, -828, -828}}, +/* AU.UG..GC */ +{{ DEF, -329, -329, -329, -329}, +{ -609, -888, -888, -888, -888}, +{ -359, -638, -638, -638, -638}, +{ -669, -948, -948, -948, -948}, +{ -549, -828, -828, -828, -828}}, +/* AU.UU..GC */ +{{ DEF, -329, -329, -329, -329}, +{ -929,-1208,-1208,-1208,-1208}, +{ -439, -718, -718, -718, -718}, +{ -789,-1068,-1068,-1068,-1068}, +{ -619, -898, -898, -898, -898}}}}, +/* AU.@@..GU */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.@A..GU */ +{{ 0, 0, 0, 0, 0}, +{ -429, -429, -429, -429, -429}, +{ -259, -259, -259, -259, -259}, +{ -339, -339, -339, -339, -339}, +{ -329, -329, -329, -329, -329}}, +/* AU.@C..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* AU.@G..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* AU.@U..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}}, +/* AU.A@..GU */ +{{{ DEF, -429, -599, -599, -599}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* AU.AA..GU */ +{{ DEF, -429, -599, -599, -599}, +{ -479, -858,-1028,-1028,-1028}, +{ -309, -688, -858, -858, -858}, +{ -389, -768, -938, -938, -938}, +{ -379, -758, -928, -928, -928}}, +/* AU.AC..GU */ +{{ DEF, -429, -599, -599, -599}, +{ -649,-1028,-1198,-1198,-1198}, +{ -289, -668, -838, -838, -838}, +{ -739,-1118,-1288,-1288,-1288}, +{ -379, -758, -928, -928, -928}}, +/* AU.AG..GU */ +{{ DEF, -429, -599, -599, -599}, +{ -649,-1028,-1198,-1198,-1198}, +{ -289, -668, -838, -838, -838}, +{ -739,-1118,-1288,-1288,-1288}, +{ -379, -758, -928, -928, -928}}, +/* AU.AU..GU */ +{{ DEF, -429, -599, -599, -599}, +{ -649,-1028,-1198,-1198,-1198}, +{ -289, -668, -838, -838, -838}, +{ -739,-1118,-1288,-1288,-1288}, +{ -379, -758, -928, -928, -928}}}, +/* AU.C@..GU */ +{{{ DEF, -259, -239, -239, -239}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* AU.CA..GU */ +{{ DEF, -259, -239, -239, -239}, +{ -479, -688, -668, -668, -668}, +{ -309, -518, -498, -498, -498}, +{ -389, -598, -578, -578, -578}, +{ -379, -588, -568, -568, -568}}, +/* AU.CC..GU */ +{{ DEF, -259, -239, -239, -239}, +{ -649, -858, -838, -838, -838}, +{ -289, -498, -478, -478, -478}, +{ -739, -948, -928, -928, -928}, +{ -379, -588, -568, -568, -568}}, +/* AU.CG..GU */ +{{ DEF, -259, -239, -239, -239}, +{ -649, -858, -838, -838, -838}, +{ -289, -498, -478, -478, -478}, +{ -739, -948, -928, -928, -928}, +{ -379, -588, -568, -568, -568}}, +/* AU.CU..GU */ +{{ DEF, -259, -239, -239, -239}, +{ -649, -858, -838, -838, -838}, +{ -289, -498, -478, -478, -478}, +{ -739, -948, -928, -928, -928}, +{ -379, -588, -568, -568, -568}}}, +/* AU.G@..GU */ +{{{ DEF, -339, -689, -689, -689}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* AU.GA..GU */ +{{ DEF, -339, -689, -689, -689}, +{ -479, -768,-1118,-1118,-1118}, +{ -309, -598, -948, -948, -948}, +{ -389, -678,-1028,-1028,-1028}, +{ -379, -668,-1018,-1018,-1018}}, +/* AU.GC..GU */ +{{ DEF, -339, -689, -689, -689}, +{ -649, -938,-1288,-1288,-1288}, +{ -289, -578, -928, -928, -928}, +{ -739,-1028,-1378,-1378,-1378}, +{ -379, -668,-1018,-1018,-1018}}, +/* AU.GG..GU */ +{{ DEF, -339, -689, -689, -689}, +{ -649, -938,-1288,-1288,-1288}, +{ -289, -578, -928, -928, -928}, +{ -739,-1028,-1378,-1378,-1378}, +{ -379, -668,-1018,-1018,-1018}}, +/* AU.GU..GU */ +{{ DEF, -339, -689, -689, -689}, +{ -649, -938,-1288,-1288,-1288}, +{ -289, -578, -928, -928, -928}, +{ -739,-1028,-1378,-1378,-1378}, +{ -379, -668,-1018,-1018,-1018}}}, +/* AU.U@..GU */ +{{{ DEF, -329, -329, -329, -329}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* AU.UA..GU */ +{{ DEF, -329, -329, -329, -329}, +{ -479, -758, -758, -758, -758}, +{ -309, -588, -588, -588, -588}, +{ -389, -668, -668, -668, -668}, +{ -379, -658, -658, -658, -658}}, +/* AU.UC..GU */ +{{ DEF, -329, -329, -329, -329}, +{ -649, -928, -928, -928, -928}, +{ -289, -568, -568, -568, -568}, +{ -739,-1018,-1018,-1018,-1018}, +{ -379, -658, -658, -658, -658}}, +/* AU.UG..GU */ +{{ DEF, -329, -329, -329, -329}, +{ -649, -928, -928, -928, -928}, +{ -289, -568, -568, -568, -568}, +{ -739,-1018,-1018,-1018,-1018}, +{ -379, -658, -658, -658, -658}}, +/* AU.UU..GU */ +{{ DEF, -329, -329, -329, -329}, +{ -649, -928, -928, -928, -928}, +{ -289, -568, -568, -568, -568}, +{ -739,-1018,-1018,-1018,-1018}, +{ -379, -658, -658, -658, -658}}}}, +/* AU.@@..UG */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.@A..UG */ +{{ 0, 0, 0, 0, 0}, +{ -719, -719, -719, -719, -719}, +{ -479, -479, -479, -479, -479}, +{ -659, -659, -659, -659, -659}, +{ -549, -549, -549, -549, -549}}, +/* AU.@C..UG */ +{{ 0, 0, 0, 0, 0}, +{ -789, -789, -789, -789, -789}, +{ -479, -479, -479, -479, -479}, +{ -809, -809, -809, -809, -809}, +{ -439, -439, -439, -439, -439}}, +/* AU.@G..UG */ +{{ 0, 0, 0, 0, 0}, +{ -959, -959, -959, -959, -959}, +{ -359, -359, -359, -359, -359}, +{ -919, -919, -919, -919, -919}, +{ -549, -549, -549, -549, -549}}, +/* AU.@U..UG */ +{{ 0, 0, 0, 0, 0}, +{ -809, -809, -809, -809, -809}, +{ -479, -479, -479, -479, -479}, +{ -809, -809, -809, -809, -809}, +{ -359, -359, -359, -359, -359}}}, +/* AU.A@..UG */ +{{{ DEF, -429, -599, -599, -599}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* AU.AA..UG */ +{{ DEF, -429, -599, -599, -599}, +{ -769,-1148,-1318,-1318,-1318}, +{ -529, -908,-1078,-1078,-1078}, +{ -709,-1088,-1258,-1258,-1258}, +{ -599, -978,-1148,-1148,-1148}}, +/* AU.AC..UG */ +{{ DEF, -429, -599, -599, -599}, +{ -839,-1218,-1388,-1388,-1388}, +{ -529, -908,-1078,-1078,-1078}, +{ -859,-1238,-1408,-1408,-1408}, +{ -489, -868,-1038,-1038,-1038}}, +/* AU.AG..UG */ +{{ DEF, -429, -599, -599, -599}, +{-1009,-1388,-1558,-1558,-1558}, +{ -409, -788, -958, -958, -958}, +{ -969,-1348,-1518,-1518,-1518}, +{ -599, -978,-1148,-1148,-1148}}, +/* AU.AU..UG */ +{{ DEF, -429, -599, -599, -599}, +{ -859,-1238,-1408,-1408,-1408}, +{ -529, -908,-1078,-1078,-1078}, +{ -859,-1238,-1408,-1408,-1408}, +{ -409, -788, -958, -958, -958}}}, +/* AU.C@..UG */ +{{{ DEF, -259, -239, -239, -239}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* AU.CA..UG */ +{{ DEF, -259, -239, -239, -239}, +{ -769, -978, -958, -958, -958}, +{ -529, -738, -718, -718, -718}, +{ -709, -918, -898, -898, -898}, +{ -599, -808, -788, -788, -788}}, +/* AU.CC..UG */ +{{ DEF, -259, -239, -239, -239}, +{ -839,-1048,-1028,-1028,-1028}, +{ -529, -738, -718, -718, -718}, +{ -859,-1068,-1048,-1048,-1048}, +{ -489, -698, -678, -678, -678}}, +/* AU.CG..UG */ +{{ DEF, -259, -239, -239, -239}, +{-1009,-1218,-1198,-1198,-1198}, +{ -409, -618, -598, -598, -598}, +{ -969,-1178,-1158,-1158,-1158}, +{ -599, -808, -788, -788, -788}}, +/* AU.CU..UG */ +{{ DEF, -259, -239, -239, -239}, +{ -859,-1068,-1048,-1048,-1048}, +{ -529, -738, -718, -718, -718}, +{ -859,-1068,-1048,-1048,-1048}, +{ -409, -618, -598, -598, -598}}}, +/* AU.G@..UG */ +{{{ DEF, -339, -689, -689, -689}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* AU.GA..UG */ +{{ DEF, -339, -689, -689, -689}, +{ -769,-1058,-1408,-1408,-1408}, +{ -529, -818,-1168,-1168,-1168}, +{ -709, -998,-1348,-1348,-1348}, +{ -599, -888,-1238,-1238,-1238}}, +/* AU.GC..UG */ +{{ DEF, -339, -689, -689, -689}, +{ -839,-1128,-1478,-1478,-1478}, +{ -529, -818,-1168,-1168,-1168}, +{ -859,-1148,-1498,-1498,-1498}, +{ -489, -778,-1128,-1128,-1128}}, +/* AU.GG..UG */ +{{ DEF, -339, -689, -689, -689}, +{-1009,-1298,-1648,-1648,-1648}, +{ -409, -698,-1048,-1048,-1048}, +{ -969,-1258,-1608,-1608,-1608}, +{ -599, -888,-1238,-1238,-1238}}, +/* AU.GU..UG */ +{{ DEF, -339, -689, -689, -689}, +{ -859,-1148,-1498,-1498,-1498}, +{ -529, -818,-1168,-1168,-1168}, +{ -859,-1148,-1498,-1498,-1498}, +{ -409, -698,-1048,-1048,-1048}}}, +/* AU.U@..UG */ +{{{ DEF, -329, -329, -329, -329}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* AU.UA..UG */ +{{ DEF, -329, -329, -329, -329}, +{ -769,-1048,-1048,-1048,-1048}, +{ -529, -808, -808, -808, -808}, +{ -709, -988, -988, -988, -988}, +{ -599, -878, -878, -878, -878}}, +/* AU.UC..UG */ +{{ DEF, -329, -329, -329, -329}, +{ -839,-1118,-1118,-1118,-1118}, +{ -529, -808, -808, -808, -808}, +{ -859,-1138,-1138,-1138,-1138}, +{ -489, -768, -768, -768, -768}}, +/* AU.UG..UG */ +{{ DEF, -329, -329, -329, -329}, +{-1009,-1288,-1288,-1288,-1288}, +{ -409, -688, -688, -688, -688}, +{ -969,-1248,-1248,-1248,-1248}, +{ -599, -878, -878, -878, -878}}, +/* AU.UU..UG */ +{{ DEF, -329, -329, -329, -329}, +{ -859,-1138,-1138,-1138,-1138}, +{ -529, -808, -808, -808, -808}, +{ -859,-1138,-1138,-1138,-1138}, +{ -409, -688, -688, -688, -688}}}}, +/* AU.@@..AU */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.@A..AU */ +{{ 0, 0, 0, 0, 0}, +{ -429, -429, -429, -429, -429}, +{ -259, -259, -259, -259, -259}, +{ -339, -339, -339, -339, -339}, +{ -329, -329, -329, -329, -329}}, +/* AU.@C..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* AU.@G..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* AU.@U..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}}, +/* AU.A@..AU */ +{{{ DEF, -429, -599, -599, -599}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* AU.AA..AU */ +{{ DEF, -429, -599, -599, -599}, +{ -479, -858,-1028,-1028,-1028}, +{ -309, -688, -858, -858, -858}, +{ -389, -768, -938, -938, -938}, +{ -379, -758, -928, -928, -928}}, +/* AU.AC..AU */ +{{ DEF, -429, -599, -599, -599}, +{ -649,-1028,-1198,-1198,-1198}, +{ -289, -668, -838, -838, -838}, +{ -739,-1118,-1288,-1288,-1288}, +{ -379, -758, -928, -928, -928}}, +/* AU.AG..AU */ +{{ DEF, -429, -599, -599, -599}, +{ -649,-1028,-1198,-1198,-1198}, +{ -289, -668, -838, -838, -838}, +{ -739,-1118,-1288,-1288,-1288}, +{ -379, -758, -928, -928, -928}}, +/* AU.AU..AU */ +{{ DEF, -429, -599, -599, -599}, +{ -649,-1028,-1198,-1198,-1198}, +{ -289, -668, -838, -838, -838}, +{ -739,-1118,-1288,-1288,-1288}, +{ -379, -758, -928, -928, -928}}}, +/* AU.C@..AU */ +{{{ DEF, -259, -239, -239, -239}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* AU.CA..AU */ +{{ DEF, -259, -239, -239, -239}, +{ -479, -688, -668, -668, -668}, +{ -309, -518, -498, -498, -498}, +{ -389, -598, -578, -578, -578}, +{ -379, -588, -568, -568, -568}}, +/* AU.CC..AU */ +{{ DEF, -259, -239, -239, -239}, +{ -649, -858, -838, -838, -838}, +{ -289, -498, -478, -478, -478}, +{ -739, -948, -928, -928, -928}, +{ -379, -588, -568, -568, -568}}, +/* AU.CG..AU */ +{{ DEF, -259, -239, -239, -239}, +{ -649, -858, -838, -838, -838}, +{ -289, -498, -478, -478, -478}, +{ -739, -948, -928, -928, -928}, +{ -379, -588, -568, -568, -568}}, +/* AU.CU..AU */ +{{ DEF, -259, -239, -239, -239}, +{ -649, -858, -838, -838, -838}, +{ -289, -498, -478, -478, -478}, +{ -739, -948, -928, -928, -928}, +{ -379, -588, -568, -568, -568}}}, +/* AU.G@..AU */ +{{{ DEF, -339, -689, -689, -689}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* AU.GA..AU */ +{{ DEF, -339, -689, -689, -689}, +{ -479, -768,-1118,-1118,-1118}, +{ -309, -598, -948, -948, -948}, +{ -389, -678,-1028,-1028,-1028}, +{ -379, -668,-1018,-1018,-1018}}, +/* AU.GC..AU */ +{{ DEF, -339, -689, -689, -689}, +{ -649, -938,-1288,-1288,-1288}, +{ -289, -578, -928, -928, -928}, +{ -739,-1028,-1378,-1378,-1378}, +{ -379, -668,-1018,-1018,-1018}}, +/* AU.GG..AU */ +{{ DEF, -339, -689, -689, -689}, +{ -649, -938,-1288,-1288,-1288}, +{ -289, -578, -928, -928, -928}, +{ -739,-1028,-1378,-1378,-1378}, +{ -379, -668,-1018,-1018,-1018}}, +/* AU.GU..AU */ +{{ DEF, -339, -689, -689, -689}, +{ -649, -938,-1288,-1288,-1288}, +{ -289, -578, -928, -928, -928}, +{ -739,-1028,-1378,-1378,-1378}, +{ -379, -668,-1018,-1018,-1018}}}, +/* AU.U@..AU */ +{{{ DEF, -329, -329, -329, -329}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* AU.UA..AU */ +{{ DEF, -329, -329, -329, -329}, +{ -479, -758, -758, -758, -758}, +{ -309, -588, -588, -588, -588}, +{ -389, -668, -668, -668, -668}, +{ -379, -658, -658, -658, -658}}, +/* AU.UC..AU */ +{{ DEF, -329, -329, -329, -329}, +{ -649, -928, -928, -928, -928}, +{ -289, -568, -568, -568, -568}, +{ -739,-1018,-1018,-1018,-1018}, +{ -379, -658, -658, -658, -658}}, +/* AU.UG..AU */ +{{ DEF, -329, -329, -329, -329}, +{ -649, -928, -928, -928, -928}, +{ -289, -568, -568, -568, -568}, +{ -739,-1018,-1018,-1018,-1018}, +{ -379, -658, -658, -658, -658}}, +/* AU.UU..AU */ +{{ DEF, -329, -329, -329, -329}, +{ -649, -928, -928, -928, -928}, +{ -289, -568, -568, -568, -568}, +{ -739,-1018,-1018,-1018,-1018}, +{ -379, -658, -658, -658, -658}}}}, +/* AU.@@..UA */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.@A..UA */ +{{ 0, 0, 0, 0, 0}, +{ -399, -399, -399, -399, -399}, +{ -429, -429, -429, -429, -429}, +{ -379, -379, -379, -379, -379}, +{ -279, -279, -279, -279, -279}}, +/* AU.@C..UA */ +{{ 0, 0, 0, 0, 0}, +{ -629, -629, -629, -629, -629}, +{ -509, -509, -509, -509, -509}, +{ -679, -679, -679, -679, -679}, +{ -139, -139, -139, -139, -139}}, +/* AU.@G..UA */ +{{ 0, 0, 0, 0, 0}, +{ -889, -889, -889, -889, -889}, +{ -199, -199, -199, -199, -199}, +{ -889, -889, -889, -889, -889}, +{ -279, -279, -279, -279, -279}}, +/* AU.@U..UA */ +{{ 0, 0, 0, 0, 0}, +{ -589, -589, -589, -589, -589}, +{ -179, -179, -179, -179, -179}, +{ -679, -679, -679, -679, -679}, +{ -140, -140, -140, -140, -140}}}, +/* AU.A@..UA */ +{{{ DEF, -429, -599, -599, -599}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* AU.AA..UA */ +{{ DEF, -429, -599, -599, -599}, +{ -449, -828, -998, -998, -998}, +{ -479, -858,-1028,-1028,-1028}, +{ -429, -808, -978, -978, -978}, +{ -329, -708, -878, -878, -878}}, +/* AU.AC..UA */ +{{ DEF, -429, -599, -599, -599}, +{ -679,-1058,-1228,-1228,-1228}, +{ -559, -938,-1108,-1108,-1108}, +{ -729,-1108,-1278,-1278,-1278}, +{ -189, -568, -738, -738, -738}}, +/* AU.AG..UA */ +{{ DEF, -429, -599, -599, -599}, +{ -939,-1318,-1488,-1488,-1488}, +{ -249, -628, -798, -798, -798}, +{ -939,-1318,-1488,-1488,-1488}, +{ -329, -708, -878, -878, -878}}, +/* AU.AU..UA */ +{{ DEF, -429, -599, -599, -599}, +{ -639,-1018,-1188,-1188,-1188}, +{ -229, -608, -778, -778, -778}, +{ -729,-1108,-1278,-1278,-1278}, +{ -190, -569, -739, -739, -739}}}, +/* AU.C@..UA */ +{{{ DEF, -259, -239, -239, -239}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* AU.CA..UA */ +{{ DEF, -259, -239, -239, -239}, +{ -449, -658, -638, -638, -638}, +{ -479, -688, -668, -668, -668}, +{ -429, -638, -618, -618, -618}, +{ -329, -538, -518, -518, -518}}, +/* AU.CC..UA */ +{{ DEF, -259, -239, -239, -239}, +{ -679, -888, -868, -868, -868}, +{ -559, -768, -748, -748, -748}, +{ -729, -938, -918, -918, -918}, +{ -189, -398, -378, -378, -378}}, +/* AU.CG..UA */ +{{ DEF, -259, -239, -239, -239}, +{ -939,-1148,-1128,-1128,-1128}, +{ -249, -458, -438, -438, -438}, +{ -939,-1148,-1128,-1128,-1128}, +{ -329, -538, -518, -518, -518}}, +/* AU.CU..UA */ +{{ DEF, -259, -239, -239, -239}, +{ -639, -848, -828, -828, -828}, +{ -229, -438, -418, -418, -418}, +{ -729, -938, -918, -918, -918}, +{ -190, -399, -379, -379, -379}}}, +/* AU.G@..UA */ +{{{ DEF, -339, -689, -689, -689}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* AU.GA..UA */ +{{ DEF, -339, -689, -689, -689}, +{ -449, -738,-1088,-1088,-1088}, +{ -479, -768,-1118,-1118,-1118}, +{ -429, -718,-1068,-1068,-1068}, +{ -329, -618, -968, -968, -968}}, +/* AU.GC..UA */ +{{ DEF, -339, -689, -689, -689}, +{ -679, -968,-1318,-1318,-1318}, +{ -559, -848,-1198,-1198,-1198}, +{ -729,-1018,-1368,-1368,-1368}, +{ -189, -478, -828, -828, -828}}, +/* AU.GG..UA */ +{{ DEF, -339, -689, -689, -689}, +{ -939,-1228,-1578,-1578,-1578}, +{ -249, -538, -888, -888, -888}, +{ -939,-1228,-1578,-1578,-1578}, +{ -329, -618, -968, -968, -968}}, +/* AU.GU..UA */ +{{ DEF, -339, -689, -689, -689}, +{ -639, -928,-1278,-1278,-1278}, +{ -229, -518, -868, -868, -868}, +{ -729,-1018,-1368,-1368,-1368}, +{ -190, -479, -829, -829, -829}}}, +/* AU.U@..UA */ +{{{ DEF, -329, -329, -329, -329}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* AU.UA..UA */ +{{ DEF, -329, -329, -329, -329}, +{ -449, -728, -728, -728, -728}, +{ -479, -758, -758, -758, -758}, +{ -429, -708, -708, -708, -708}, +{ -329, -608, -608, -608, -608}}, +/* AU.UC..UA */ +{{ DEF, -329, -329, -329, -329}, +{ -679, -958, -958, -958, -958}, +{ -559, -838, -838, -838, -838}, +{ -729,-1008,-1008,-1008,-1008}, +{ -189, -468, -468, -468, -468}}, +/* AU.UG..UA */ +{{ DEF, -329, -329, -329, -329}, +{ -939,-1218,-1218,-1218,-1218}, +{ -249, -528, -528, -528, -528}, +{ -939,-1218,-1218,-1218,-1218}, +{ -329, -608, -608, -608, -608}}, +/* AU.UU..UA */ +{{ DEF, -329, -329, -329, -329}, +{ -639, -918, -918, -918, -918}, +{ -229, -508, -508, -508, -508}, +{ -729,-1008,-1008,-1008,-1008}, +{ -190, -469, -469, -469, -469}}}}, +/* AU.@@.. @ */ +{{{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.@A.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.@C.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.@G.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* AU.@U.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}}, +/* AU.A@.. @ */ +{{{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* AU.AA.. @ */ +{{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* AU.AC.. @ */ +{{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* AU.AG.. @ */ +{{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}, +/* AU.AU.. @ */ +{{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}, +{ -100, -479, -649, -649, -649}}}, +/* AU.C@.. @ */ +{{{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* AU.CA.. @ */ +{{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* AU.CC.. @ */ +{{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* AU.CG.. @ */ +{{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}, +/* AU.CU.. @ */ +{{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}, +{ -100, -309, -289, -289, -289}}}, +/* AU.G@.. @ */ +{{{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* AU.GA.. @ */ +{{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* AU.GC.. @ */ +{{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* AU.GG.. @ */ +{{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}, +/* AU.GU.. @ */ +{{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}, +{ -100, -389, -739, -739, -739}}}, +/* AU.U@.. @ */ +{{{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* AU.UA.. @ */ +{{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* AU.UC.. @ */ +{{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* AU.UG.. @ */ +{{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}, +/* AU.UU.. @ */ +{{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}, +{ -100, -379, -379, -379, -379}}}}}, +{ /* noPair */ {{{{0}}}}, +/* UA.@@..CG */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.@A..CG */ +{{ 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -519, -519, -519, -519, -519}, +{ -939, -939, -939, -939, -939}, +{ -809, -809, -809, -809, -809}}, +/* UA.@C..CG */ +{{ 0, 0, 0, 0, 0}, +{ -949, -949, -949, -949, -949}, +{ -449, -449, -449, -449, -449}, +{ -939, -939, -939, -939, -939}, +{ -739, -739, -739, -739, -739}}, +/* UA.@G..CG */ +{{ 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -519, -519, -519, -519, -519}, +{ -939, -939, -939, -939, -939}, +{ -809, -809, -809, -809, -809}}, +/* UA.@U..CG */ +{{ 0, 0, 0, 0, 0}, +{-1029,-1029,-1029,-1029,-1029}, +{ -669, -669, -669, -669, -669}, +{ -939, -939, -939, -939, -939}, +{ -859, -859, -859, -859, -859}}}, +/* UA.A@..CG */ +{{{ DEF, -399, -629, -889, -589}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}}, +/* UA.AA..CG */ +{{ DEF, -399, -629, -889, -589}, +{-1079,-1428,-1658,-1918,-1618}, +{ -569, -918,-1148,-1408,-1108}, +{ -989,-1338,-1568,-1828,-1528}, +{ -859,-1208,-1438,-1698,-1398}}, +/* UA.AC..CG */ +{{ DEF, -399, -629, -889, -589}, +{ -999,-1348,-1578,-1838,-1538}, +{ -499, -848,-1078,-1338,-1038}, +{ -989,-1338,-1568,-1828,-1528}, +{ -789,-1138,-1368,-1628,-1328}}, +/* UA.AG..CG */ +{{ DEF, -399, -629, -889, -589}, +{-1079,-1428,-1658,-1918,-1618}, +{ -569, -918,-1148,-1408,-1108}, +{ -989,-1338,-1568,-1828,-1528}, +{ -859,-1208,-1438,-1698,-1398}}, +/* UA.AU..CG */ +{{ DEF, -399, -629, -889, -589}, +{-1079,-1428,-1658,-1918,-1618}, +{ -719,-1068,-1298,-1558,-1258}, +{ -989,-1338,-1568,-1828,-1528}, +{ -909,-1258,-1488,-1748,-1448}}}, +/* UA.C@..CG */ +{{{ DEF, -429, -509, -199, -179}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}}, +/* UA.CA..CG */ +{{ DEF, -429, -509, -199, -179}, +{-1079,-1458,-1538,-1228,-1208}, +{ -569, -948,-1028, -718, -698}, +{ -989,-1368,-1448,-1138,-1118}, +{ -859,-1238,-1318,-1008, -988}}, +/* UA.CC..CG */ +{{ DEF, -429, -509, -199, -179}, +{ -999,-1378,-1458,-1148,-1128}, +{ -499, -878, -958, -648, -628}, +{ -989,-1368,-1448,-1138,-1118}, +{ -789,-1168,-1248, -938, -918}}, +/* UA.CG..CG */ +{{ DEF, -429, -509, -199, -179}, +{-1079,-1458,-1538,-1228,-1208}, +{ -569, -948,-1028, -718, -698}, +{ -989,-1368,-1448,-1138,-1118}, +{ -859,-1238,-1318,-1008, -988}}, +/* UA.CU..CG */ +{{ DEF, -429, -509, -199, -179}, +{-1079,-1458,-1538,-1228,-1208}, +{ -719,-1098,-1178, -868, -848}, +{ -989,-1368,-1448,-1138,-1118}, +{ -909,-1288,-1368,-1058,-1038}}}, +/* UA.G@..CG */ +{{{ DEF, -379, -679, -889, -679}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}}, +/* UA.GA..CG */ +{{ DEF, -379, -679, -889, -679}, +{-1079,-1408,-1708,-1918,-1708}, +{ -569, -898,-1198,-1408,-1198}, +{ -989,-1318,-1618,-1828,-1618}, +{ -859,-1188,-1488,-1698,-1488}}, +/* UA.GC..CG */ +{{ DEF, -379, -679, -889, -679}, +{ -999,-1328,-1628,-1838,-1628}, +{ -499, -828,-1128,-1338,-1128}, +{ -989,-1318,-1618,-1828,-1618}, +{ -789,-1118,-1418,-1628,-1418}}, +/* UA.GG..CG */ +{{ DEF, -379, -679, -889, -679}, +{-1079,-1408,-1708,-1918,-1708}, +{ -569, -898,-1198,-1408,-1198}, +{ -989,-1318,-1618,-1828,-1618}, +{ -859,-1188,-1488,-1698,-1488}}, +/* UA.GU..CG */ +{{ DEF, -379, -679, -889, -679}, +{-1079,-1408,-1708,-1918,-1708}, +{ -719,-1048,-1348,-1558,-1348}, +{ -989,-1318,-1618,-1828,-1618}, +{ -909,-1238,-1538,-1748,-1538}}}, +/* UA.U@..CG */ +{{{ DEF, -279, -139, -279, -140}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}}, +/* UA.UA..CG */ +{{ DEF, -279, -139, -279, -140}, +{-1079,-1308,-1168,-1308,-1169}, +{ -569, -798, -658, -798, -659}, +{ -989,-1218,-1078,-1218,-1079}, +{ -859,-1088, -948,-1088, -949}}, +/* UA.UC..CG */ +{{ DEF, -279, -139, -279, -140}, +{ -999,-1228,-1088,-1228,-1089}, +{ -499, -728, -588, -728, -589}, +{ -989,-1218,-1078,-1218,-1079}, +{ -789,-1018, -878,-1018, -879}}, +/* UA.UG..CG */ +{{ DEF, -279, -139, -279, -140}, +{-1079,-1308,-1168,-1308,-1169}, +{ -569, -798, -658, -798, -659}, +{ -989,-1218,-1078,-1218,-1079}, +{ -859,-1088, -948,-1088, -949}}, +/* UA.UU..CG */ +{{ DEF, -279, -139, -279, -140}, +{-1079,-1308,-1168,-1308,-1169}, +{ -719, -948, -808, -948, -809}, +{ -989,-1218,-1078,-1218,-1079}, +{ -909,-1138, -998,-1138, -999}}}}, +/* UA.@@..GC */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.@A..GC */ +{{ 0, 0, 0, 0, 0}, +{ -519, -519, -519, -519, -519}, +{ -719, -719, -719, -719, -719}, +{ -709, -709, -709, -709, -709}, +{ -499, -499, -499, -499, -499}}, +/* UA.@C..GC */ +{{ 0, 0, 0, 0, 0}, +{ -879, -879, -879, -879, -879}, +{ -309, -309, -309, -309, -309}, +{ -739, -739, -739, -739, -739}, +{ -499, -499, -499, -499, -499}}, +/* UA.@G..GC */ +{{ 0, 0, 0, 0, 0}, +{ -559, -559, -559, -559, -559}, +{ -309, -309, -309, -309, -309}, +{ -619, -619, -619, -619, -619}, +{ -499, -499, -499, -499, -499}}, +/* UA.@U..GC */ +{{ 0, 0, 0, 0, 0}, +{ -879, -879, -879, -879, -879}, +{ -389, -389, -389, -389, -389}, +{ -739, -739, -739, -739, -739}, +{ -569, -569, -569, -569, -569}}}, +/* UA.A@..GC */ +{{{ DEF, -399, -629, -889, -589}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}}, +/* UA.AA..GC */ +{{ DEF, -399, -629, -889, -589}, +{ -569, -918,-1148,-1408,-1108}, +{ -769,-1118,-1348,-1608,-1308}, +{ -759,-1108,-1338,-1598,-1298}, +{ -549, -898,-1128,-1388,-1088}}, +/* UA.AC..GC */ +{{ DEF, -399, -629, -889, -589}, +{ -929,-1278,-1508,-1768,-1468}, +{ -359, -708, -938,-1198, -898}, +{ -789,-1138,-1368,-1628,-1328}, +{ -549, -898,-1128,-1388,-1088}}, +/* UA.AG..GC */ +{{ DEF, -399, -629, -889, -589}, +{ -609, -958,-1188,-1448,-1148}, +{ -359, -708, -938,-1198, -898}, +{ -669,-1018,-1248,-1508,-1208}, +{ -549, -898,-1128,-1388,-1088}}, +/* UA.AU..GC */ +{{ DEF, -399, -629, -889, -589}, +{ -929,-1278,-1508,-1768,-1468}, +{ -439, -788,-1018,-1278, -978}, +{ -789,-1138,-1368,-1628,-1328}, +{ -619, -968,-1198,-1458,-1158}}}, +/* UA.C@..GC */ +{{{ DEF, -429, -509, -199, -179}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}}, +/* UA.CA..GC */ +{{ DEF, -429, -509, -199, -179}, +{ -569, -948,-1028, -718, -698}, +{ -769,-1148,-1228, -918, -898}, +{ -759,-1138,-1218, -908, -888}, +{ -549, -928,-1008, -698, -678}}, +/* UA.CC..GC */ +{{ DEF, -429, -509, -199, -179}, +{ -929,-1308,-1388,-1078,-1058}, +{ -359, -738, -818, -508, -488}, +{ -789,-1168,-1248, -938, -918}, +{ -549, -928,-1008, -698, -678}}, +/* UA.CG..GC */ +{{ DEF, -429, -509, -199, -179}, +{ -609, -988,-1068, -758, -738}, +{ -359, -738, -818, -508, -488}, +{ -669,-1048,-1128, -818, -798}, +{ -549, -928,-1008, -698, -678}}, +/* UA.CU..GC */ +{{ DEF, -429, -509, -199, -179}, +{ -929,-1308,-1388,-1078,-1058}, +{ -439, -818, -898, -588, -568}, +{ -789,-1168,-1248, -938, -918}, +{ -619, -998,-1078, -768, -748}}}, +/* UA.G@..GC */ +{{{ DEF, -379, -679, -889, -679}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}}, +/* UA.GA..GC */ +{{ DEF, -379, -679, -889, -679}, +{ -569, -898,-1198,-1408,-1198}, +{ -769,-1098,-1398,-1608,-1398}, +{ -759,-1088,-1388,-1598,-1388}, +{ -549, -878,-1178,-1388,-1178}}, +/* UA.GC..GC */ +{{ DEF, -379, -679, -889, -679}, +{ -929,-1258,-1558,-1768,-1558}, +{ -359, -688, -988,-1198, -988}, +{ -789,-1118,-1418,-1628,-1418}, +{ -549, -878,-1178,-1388,-1178}}, +/* UA.GG..GC */ +{{ DEF, -379, -679, -889, -679}, +{ -609, -938,-1238,-1448,-1238}, +{ -359, -688, -988,-1198, -988}, +{ -669, -998,-1298,-1508,-1298}, +{ -549, -878,-1178,-1388,-1178}}, +/* UA.GU..GC */ +{{ DEF, -379, -679, -889, -679}, +{ -929,-1258,-1558,-1768,-1558}, +{ -439, -768,-1068,-1278,-1068}, +{ -789,-1118,-1418,-1628,-1418}, +{ -619, -948,-1248,-1458,-1248}}}, +/* UA.U@..GC */ +{{{ DEF, -279, -139, -279, -140}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}}, +/* UA.UA..GC */ +{{ DEF, -279, -139, -279, -140}, +{ -569, -798, -658, -798, -659}, +{ -769, -998, -858, -998, -859}, +{ -759, -988, -848, -988, -849}, +{ -549, -778, -638, -778, -639}}, +/* UA.UC..GC */ +{{ DEF, -279, -139, -279, -140}, +{ -929,-1158,-1018,-1158,-1019}, +{ -359, -588, -448, -588, -449}, +{ -789,-1018, -878,-1018, -879}, +{ -549, -778, -638, -778, -639}}, +/* UA.UG..GC */ +{{ DEF, -279, -139, -279, -140}, +{ -609, -838, -698, -838, -699}, +{ -359, -588, -448, -588, -449}, +{ -669, -898, -758, -898, -759}, +{ -549, -778, -638, -778, -639}}, +/* UA.UU..GC */ +{{ DEF, -279, -139, -279, -140}, +{ -929,-1158,-1018,-1158,-1019}, +{ -439, -668, -528, -668, -529}, +{ -789,-1018, -878,-1018, -879}, +{ -619, -848, -708, -848, -709}}}}, +/* UA.@@..GU */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.@A..GU */ +{{ 0, 0, 0, 0, 0}, +{ -429, -429, -429, -429, -429}, +{ -259, -259, -259, -259, -259}, +{ -339, -339, -339, -339, -339}, +{ -329, -329, -329, -329, -329}}, +/* UA.@C..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* UA.@G..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* UA.@U..GU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}}, +/* UA.A@..GU */ +{{{ DEF, -399, -629, -889, -589}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}}, +/* UA.AA..GU */ +{{ DEF, -399, -629, -889, -589}, +{ -479, -828,-1058,-1318,-1018}, +{ -309, -658, -888,-1148, -848}, +{ -389, -738, -968,-1228, -928}, +{ -379, -728, -958,-1218, -918}}, +/* UA.AC..GU */ +{{ DEF, -399, -629, -889, -589}, +{ -649, -998,-1228,-1488,-1188}, +{ -289, -638, -868,-1128, -828}, +{ -739,-1088,-1318,-1578,-1278}, +{ -379, -728, -958,-1218, -918}}, +/* UA.AG..GU */ +{{ DEF, -399, -629, -889, -589}, +{ -649, -998,-1228,-1488,-1188}, +{ -289, -638, -868,-1128, -828}, +{ -739,-1088,-1318,-1578,-1278}, +{ -379, -728, -958,-1218, -918}}, +/* UA.AU..GU */ +{{ DEF, -399, -629, -889, -589}, +{ -649, -998,-1228,-1488,-1188}, +{ -289, -638, -868,-1128, -828}, +{ -739,-1088,-1318,-1578,-1278}, +{ -379, -728, -958,-1218, -918}}}, +/* UA.C@..GU */ +{{{ DEF, -429, -509, -199, -179}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}}, +/* UA.CA..GU */ +{{ DEF, -429, -509, -199, -179}, +{ -479, -858, -938, -628, -608}, +{ -309, -688, -768, -458, -438}, +{ -389, -768, -848, -538, -518}, +{ -379, -758, -838, -528, -508}}, +/* UA.CC..GU */ +{{ DEF, -429, -509, -199, -179}, +{ -649,-1028,-1108, -798, -778}, +{ -289, -668, -748, -438, -418}, +{ -739,-1118,-1198, -888, -868}, +{ -379, -758, -838, -528, -508}}, +/* UA.CG..GU */ +{{ DEF, -429, -509, -199, -179}, +{ -649,-1028,-1108, -798, -778}, +{ -289, -668, -748, -438, -418}, +{ -739,-1118,-1198, -888, -868}, +{ -379, -758, -838, -528, -508}}, +/* UA.CU..GU */ +{{ DEF, -429, -509, -199, -179}, +{ -649,-1028,-1108, -798, -778}, +{ -289, -668, -748, -438, -418}, +{ -739,-1118,-1198, -888, -868}, +{ -379, -758, -838, -528, -508}}}, +/* UA.G@..GU */ +{{{ DEF, -379, -679, -889, -679}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}}, +/* UA.GA..GU */ +{{ DEF, -379, -679, -889, -679}, +{ -479, -808,-1108,-1318,-1108}, +{ -309, -638, -938,-1148, -938}, +{ -389, -718,-1018,-1228,-1018}, +{ -379, -708,-1008,-1218,-1008}}, +/* UA.GC..GU */ +{{ DEF, -379, -679, -889, -679}, +{ -649, -978,-1278,-1488,-1278}, +{ -289, -618, -918,-1128, -918}, +{ -739,-1068,-1368,-1578,-1368}, +{ -379, -708,-1008,-1218,-1008}}, +/* UA.GG..GU */ +{{ DEF, -379, -679, -889, -679}, +{ -649, -978,-1278,-1488,-1278}, +{ -289, -618, -918,-1128, -918}, +{ -739,-1068,-1368,-1578,-1368}, +{ -379, -708,-1008,-1218,-1008}}, +/* UA.GU..GU */ +{{ DEF, -379, -679, -889, -679}, +{ -649, -978,-1278,-1488,-1278}, +{ -289, -618, -918,-1128, -918}, +{ -739,-1068,-1368,-1578,-1368}, +{ -379, -708,-1008,-1218,-1008}}}, +/* UA.U@..GU */ +{{{ DEF, -279, -139, -279, -140}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}}, +/* UA.UA..GU */ +{{ DEF, -279, -139, -279, -140}, +{ -479, -708, -568, -708, -569}, +{ -309, -538, -398, -538, -399}, +{ -389, -618, -478, -618, -479}, +{ -379, -608, -468, -608, -469}}, +/* UA.UC..GU */ +{{ DEF, -279, -139, -279, -140}, +{ -649, -878, -738, -878, -739}, +{ -289, -518, -378, -518, -379}, +{ -739, -968, -828, -968, -829}, +{ -379, -608, -468, -608, -469}}, +/* UA.UG..GU */ +{{ DEF, -279, -139, -279, -140}, +{ -649, -878, -738, -878, -739}, +{ -289, -518, -378, -518, -379}, +{ -739, -968, -828, -968, -829}, +{ -379, -608, -468, -608, -469}}, +/* UA.UU..GU */ +{{ DEF, -279, -139, -279, -140}, +{ -649, -878, -738, -878, -739}, +{ -289, -518, -378, -518, -379}, +{ -739, -968, -828, -968, -829}, +{ -379, -608, -468, -608, -469}}}}, +/* UA.@@..UG */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.@A..UG */ +{{ 0, 0, 0, 0, 0}, +{ -719, -719, -719, -719, -719}, +{ -479, -479, -479, -479, -479}, +{ -659, -659, -659, -659, -659}, +{ -549, -549, -549, -549, -549}}, +/* UA.@C..UG */ +{{ 0, 0, 0, 0, 0}, +{ -789, -789, -789, -789, -789}, +{ -479, -479, -479, -479, -479}, +{ -809, -809, -809, -809, -809}, +{ -439, -439, -439, -439, -439}}, +/* UA.@G..UG */ +{{ 0, 0, 0, 0, 0}, +{ -959, -959, -959, -959, -959}, +{ -359, -359, -359, -359, -359}, +{ -919, -919, -919, -919, -919}, +{ -549, -549, -549, -549, -549}}, +/* UA.@U..UG */ +{{ 0, 0, 0, 0, 0}, +{ -809, -809, -809, -809, -809}, +{ -479, -479, -479, -479, -479}, +{ -809, -809, -809, -809, -809}, +{ -359, -359, -359, -359, -359}}}, +/* UA.A@..UG */ +{{{ DEF, -399, -629, -889, -589}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}}, +/* UA.AA..UG */ +{{ DEF, -399, -629, -889, -589}, +{ -769,-1118,-1348,-1608,-1308}, +{ -529, -878,-1108,-1368,-1068}, +{ -709,-1058,-1288,-1548,-1248}, +{ -599, -948,-1178,-1438,-1138}}, +/* UA.AC..UG */ +{{ DEF, -399, -629, -889, -589}, +{ -839,-1188,-1418,-1678,-1378}, +{ -529, -878,-1108,-1368,-1068}, +{ -859,-1208,-1438,-1698,-1398}, +{ -489, -838,-1068,-1328,-1028}}, +/* UA.AG..UG */ +{{ DEF, -399, -629, -889, -589}, +{-1009,-1358,-1588,-1848,-1548}, +{ -409, -758, -988,-1248, -948}, +{ -969,-1318,-1548,-1808,-1508}, +{ -599, -948,-1178,-1438,-1138}}, +/* UA.AU..UG */ +{{ DEF, -399, -629, -889, -589}, +{ -859,-1208,-1438,-1698,-1398}, +{ -529, -878,-1108,-1368,-1068}, +{ -859,-1208,-1438,-1698,-1398}, +{ -409, -758, -988,-1248, -948}}}, +/* UA.C@..UG */ +{{{ DEF, -429, -509, -199, -179}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}}, +/* UA.CA..UG */ +{{ DEF, -429, -509, -199, -179}, +{ -769,-1148,-1228, -918, -898}, +{ -529, -908, -988, -678, -658}, +{ -709,-1088,-1168, -858, -838}, +{ -599, -978,-1058, -748, -728}}, +/* UA.CC..UG */ +{{ DEF, -429, -509, -199, -179}, +{ -839,-1218,-1298, -988, -968}, +{ -529, -908, -988, -678, -658}, +{ -859,-1238,-1318,-1008, -988}, +{ -489, -868, -948, -638, -618}}, +/* UA.CG..UG */ +{{ DEF, -429, -509, -199, -179}, +{-1009,-1388,-1468,-1158,-1138}, +{ -409, -788, -868, -558, -538}, +{ -969,-1348,-1428,-1118,-1098}, +{ -599, -978,-1058, -748, -728}}, +/* UA.CU..UG */ +{{ DEF, -429, -509, -199, -179}, +{ -859,-1238,-1318,-1008, -988}, +{ -529, -908, -988, -678, -658}, +{ -859,-1238,-1318,-1008, -988}, +{ -409, -788, -868, -558, -538}}}, +/* UA.G@..UG */ +{{{ DEF, -379, -679, -889, -679}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}}, +/* UA.GA..UG */ +{{ DEF, -379, -679, -889, -679}, +{ -769,-1098,-1398,-1608,-1398}, +{ -529, -858,-1158,-1368,-1158}, +{ -709,-1038,-1338,-1548,-1338}, +{ -599, -928,-1228,-1438,-1228}}, +/* UA.GC..UG */ +{{ DEF, -379, -679, -889, -679}, +{ -839,-1168,-1468,-1678,-1468}, +{ -529, -858,-1158,-1368,-1158}, +{ -859,-1188,-1488,-1698,-1488}, +{ -489, -818,-1118,-1328,-1118}}, +/* UA.GG..UG */ +{{ DEF, -379, -679, -889, -679}, +{-1009,-1338,-1638,-1848,-1638}, +{ -409, -738,-1038,-1248,-1038}, +{ -969,-1298,-1598,-1808,-1598}, +{ -599, -928,-1228,-1438,-1228}}, +/* UA.GU..UG */ +{{ DEF, -379, -679, -889, -679}, +{ -859,-1188,-1488,-1698,-1488}, +{ -529, -858,-1158,-1368,-1158}, +{ -859,-1188,-1488,-1698,-1488}, +{ -409, -738,-1038,-1248,-1038}}}, +/* UA.U@..UG */ +{{{ DEF, -279, -139, -279, -140}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}}, +/* UA.UA..UG */ +{{ DEF, -279, -139, -279, -140}, +{ -769, -998, -858, -998, -859}, +{ -529, -758, -618, -758, -619}, +{ -709, -938, -798, -938, -799}, +{ -599, -828, -688, -828, -689}}, +/* UA.UC..UG */ +{{ DEF, -279, -139, -279, -140}, +{ -839,-1068, -928,-1068, -929}, +{ -529, -758, -618, -758, -619}, +{ -859,-1088, -948,-1088, -949}, +{ -489, -718, -578, -718, -579}}, +/* UA.UG..UG */ +{{ DEF, -279, -139, -279, -140}, +{-1009,-1238,-1098,-1238,-1099}, +{ -409, -638, -498, -638, -499}, +{ -969,-1198,-1058,-1198,-1059}, +{ -599, -828, -688, -828, -689}}, +/* UA.UU..UG */ +{{ DEF, -279, -139, -279, -140}, +{ -859,-1088, -948,-1088, -949}, +{ -529, -758, -618, -758, -619}, +{ -859,-1088, -948,-1088, -949}, +{ -409, -638, -498, -638, -499}}}}, +/* UA.@@..AU */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.@A..AU */ +{{ 0, 0, 0, 0, 0}, +{ -429, -429, -429, -429, -429}, +{ -259, -259, -259, -259, -259}, +{ -339, -339, -339, -339, -339}, +{ -329, -329, -329, -329, -329}}, +/* UA.@C..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* UA.@G..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}, +/* UA.@U..AU */ +{{ 0, 0, 0, 0, 0}, +{ -599, -599, -599, -599, -599}, +{ -239, -239, -239, -239, -239}, +{ -689, -689, -689, -689, -689}, +{ -329, -329, -329, -329, -329}}}, +/* UA.A@..AU */ +{{{ DEF, -399, -629, -889, -589}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}}, +/* UA.AA..AU */ +{{ DEF, -399, -629, -889, -589}, +{ -479, -828,-1058,-1318,-1018}, +{ -309, -658, -888,-1148, -848}, +{ -389, -738, -968,-1228, -928}, +{ -379, -728, -958,-1218, -918}}, +/* UA.AC..AU */ +{{ DEF, -399, -629, -889, -589}, +{ -649, -998,-1228,-1488,-1188}, +{ -289, -638, -868,-1128, -828}, +{ -739,-1088,-1318,-1578,-1278}, +{ -379, -728, -958,-1218, -918}}, +/* UA.AG..AU */ +{{ DEF, -399, -629, -889, -589}, +{ -649, -998,-1228,-1488,-1188}, +{ -289, -638, -868,-1128, -828}, +{ -739,-1088,-1318,-1578,-1278}, +{ -379, -728, -958,-1218, -918}}, +/* UA.AU..AU */ +{{ DEF, -399, -629, -889, -589}, +{ -649, -998,-1228,-1488,-1188}, +{ -289, -638, -868,-1128, -828}, +{ -739,-1088,-1318,-1578,-1278}, +{ -379, -728, -958,-1218, -918}}}, +/* UA.C@..AU */ +{{{ DEF, -429, -509, -199, -179}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}}, +/* UA.CA..AU */ +{{ DEF, -429, -509, -199, -179}, +{ -479, -858, -938, -628, -608}, +{ -309, -688, -768, -458, -438}, +{ -389, -768, -848, -538, -518}, +{ -379, -758, -838, -528, -508}}, +/* UA.CC..AU */ +{{ DEF, -429, -509, -199, -179}, +{ -649,-1028,-1108, -798, -778}, +{ -289, -668, -748, -438, -418}, +{ -739,-1118,-1198, -888, -868}, +{ -379, -758, -838, -528, -508}}, +/* UA.CG..AU */ +{{ DEF, -429, -509, -199, -179}, +{ -649,-1028,-1108, -798, -778}, +{ -289, -668, -748, -438, -418}, +{ -739,-1118,-1198, -888, -868}, +{ -379, -758, -838, -528, -508}}, +/* UA.CU..AU */ +{{ DEF, -429, -509, -199, -179}, +{ -649,-1028,-1108, -798, -778}, +{ -289, -668, -748, -438, -418}, +{ -739,-1118,-1198, -888, -868}, +{ -379, -758, -838, -528, -508}}}, +/* UA.G@..AU */ +{{{ DEF, -379, -679, -889, -679}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}}, +/* UA.GA..AU */ +{{ DEF, -379, -679, -889, -679}, +{ -479, -808,-1108,-1318,-1108}, +{ -309, -638, -938,-1148, -938}, +{ -389, -718,-1018,-1228,-1018}, +{ -379, -708,-1008,-1218,-1008}}, +/* UA.GC..AU */ +{{ DEF, -379, -679, -889, -679}, +{ -649, -978,-1278,-1488,-1278}, +{ -289, -618, -918,-1128, -918}, +{ -739,-1068,-1368,-1578,-1368}, +{ -379, -708,-1008,-1218,-1008}}, +/* UA.GG..AU */ +{{ DEF, -379, -679, -889, -679}, +{ -649, -978,-1278,-1488,-1278}, +{ -289, -618, -918,-1128, -918}, +{ -739,-1068,-1368,-1578,-1368}, +{ -379, -708,-1008,-1218,-1008}}, +/* UA.GU..AU */ +{{ DEF, -379, -679, -889, -679}, +{ -649, -978,-1278,-1488,-1278}, +{ -289, -618, -918,-1128, -918}, +{ -739,-1068,-1368,-1578,-1368}, +{ -379, -708,-1008,-1218,-1008}}}, +/* UA.U@..AU */ +{{{ DEF, -279, -139, -279, -140}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}}, +/* UA.UA..AU */ +{{ DEF, -279, -139, -279, -140}, +{ -479, -708, -568, -708, -569}, +{ -309, -538, -398, -538, -399}, +{ -389, -618, -478, -618, -479}, +{ -379, -608, -468, -608, -469}}, +/* UA.UC..AU */ +{{ DEF, -279, -139, -279, -140}, +{ -649, -878, -738, -878, -739}, +{ -289, -518, -378, -518, -379}, +{ -739, -968, -828, -968, -829}, +{ -379, -608, -468, -608, -469}}, +/* UA.UG..AU */ +{{ DEF, -279, -139, -279, -140}, +{ -649, -878, -738, -878, -739}, +{ -289, -518, -378, -518, -379}, +{ -739, -968, -828, -968, -829}, +{ -379, -608, -468, -608, -469}}, +/* UA.UU..AU */ +{{ DEF, -279, -139, -279, -140}, +{ -649, -878, -738, -878, -739}, +{ -289, -518, -378, -518, -379}, +{ -739, -968, -828, -968, -829}, +{ -379, -608, -468, -608, -469}}}}, +/* UA.@@..UA */ +{{{{ 0, 0, 0, 0, 0}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.@A..UA */ +{{ 0, 0, 0, 0, 0}, +{ -399, -399, -399, -399, -399}, +{ -429, -429, -429, -429, -429}, +{ -379, -379, -379, -379, -379}, +{ -279, -279, -279, -279, -279}}, +/* UA.@C..UA */ +{{ 0, 0, 0, 0, 0}, +{ -629, -629, -629, -629, -629}, +{ -509, -509, -509, -509, -509}, +{ -679, -679, -679, -679, -679}, +{ -139, -139, -139, -139, -139}}, +/* UA.@G..UA */ +{{ 0, 0, 0, 0, 0}, +{ -889, -889, -889, -889, -889}, +{ -199, -199, -199, -199, -199}, +{ -889, -889, -889, -889, -889}, +{ -279, -279, -279, -279, -279}}, +/* UA.@U..UA */ +{{ 0, 0, 0, 0, 0}, +{ -589, -589, -589, -589, -589}, +{ -179, -179, -179, -179, -179}, +{ -679, -679, -679, -679, -679}, +{ -140, -140, -140, -140, -140}}}, +/* UA.A@..UA */ +{{{ DEF, -399, -629, -889, -589}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}}, +/* UA.AA..UA */ +{{ DEF, -399, -629, -889, -589}, +{ -449, -798,-1028,-1288, -988}, +{ -479, -828,-1058,-1318,-1018}, +{ -429, -778,-1008,-1268, -968}, +{ -329, -678, -908,-1168, -868}}, +/* UA.AC..UA */ +{{ DEF, -399, -629, -889, -589}, +{ -679,-1028,-1258,-1518,-1218}, +{ -559, -908,-1138,-1398,-1098}, +{ -729,-1078,-1308,-1568,-1268}, +{ -189, -538, -768,-1028, -728}}, +/* UA.AG..UA */ +{{ DEF, -399, -629, -889, -589}, +{ -939,-1288,-1518,-1778,-1478}, +{ -249, -598, -828,-1088, -788}, +{ -939,-1288,-1518,-1778,-1478}, +{ -329, -678, -908,-1168, -868}}, +/* UA.AU..UA */ +{{ DEF, -399, -629, -889, -589}, +{ -639, -988,-1218,-1478,-1178}, +{ -229, -578, -808,-1068, -768}, +{ -729,-1078,-1308,-1568,-1268}, +{ -190, -539, -769,-1029, -729}}}, +/* UA.C@..UA */ +{{{ DEF, -429, -509, -199, -179}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}}, +/* UA.CA..UA */ +{{ DEF, -429, -509, -199, -179}, +{ -449, -828, -908, -598, -578}, +{ -479, -858, -938, -628, -608}, +{ -429, -808, -888, -578, -558}, +{ -329, -708, -788, -478, -458}}, +/* UA.CC..UA */ +{{ DEF, -429, -509, -199, -179}, +{ -679,-1058,-1138, -828, -808}, +{ -559, -938,-1018, -708, -688}, +{ -729,-1108,-1188, -878, -858}, +{ -189, -568, -648, -338, -318}}, +/* UA.CG..UA */ +{{ DEF, -429, -509, -199, -179}, +{ -939,-1318,-1398,-1088,-1068}, +{ -249, -628, -708, -398, -378}, +{ -939,-1318,-1398,-1088,-1068}, +{ -329, -708, -788, -478, -458}}, +/* UA.CU..UA */ +{{ DEF, -429, -509, -199, -179}, +{ -639,-1018,-1098, -788, -768}, +{ -229, -608, -688, -378, -358}, +{ -729,-1108,-1188, -878, -858}, +{ -190, -569, -649, -339, -319}}}, +/* UA.G@..UA */ +{{{ DEF, -379, -679, -889, -679}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}}, +/* UA.GA..UA */ +{{ DEF, -379, -679, -889, -679}, +{ -449, -778,-1078,-1288,-1078}, +{ -479, -808,-1108,-1318,-1108}, +{ -429, -758,-1058,-1268,-1058}, +{ -329, -658, -958,-1168, -958}}, +/* UA.GC..UA */ +{{ DEF, -379, -679, -889, -679}, +{ -679,-1008,-1308,-1518,-1308}, +{ -559, -888,-1188,-1398,-1188}, +{ -729,-1058,-1358,-1568,-1358}, +{ -189, -518, -818,-1028, -818}}, +/* UA.GG..UA */ +{{ DEF, -379, -679, -889, -679}, +{ -939,-1268,-1568,-1778,-1568}, +{ -249, -578, -878,-1088, -878}, +{ -939,-1268,-1568,-1778,-1568}, +{ -329, -658, -958,-1168, -958}}, +/* UA.GU..UA */ +{{ DEF, -379, -679, -889, -679}, +{ -639, -968,-1268,-1478,-1268}, +{ -229, -558, -858,-1068, -858}, +{ -729,-1058,-1358,-1568,-1358}, +{ -190, -519, -819,-1029, -819}}}, +/* UA.U@..UA */ +{{{ DEF, -279, -139, -279, -140}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}}, +/* UA.UA..UA */ +{{ DEF, -279, -139, -279, -140}, +{ -449, -678, -538, -678, -539}, +{ -479, -708, -568, -708, -569}, +{ -429, -658, -518, -658, -519}, +{ -329, -558, -418, -558, -419}}, +/* UA.UC..UA */ +{{ DEF, -279, -139, -279, -140}, +{ -679, -908, -768, -908, -769}, +{ -559, -788, -648, -788, -649}, +{ -729, -958, -818, -958, -819}, +{ -189, -418, -278, -418, -279}}, +/* UA.UG..UA */ +{{ DEF, -279, -139, -279, -140}, +{ -939,-1168,-1028,-1168,-1029}, +{ -249, -478, -338, -478, -339}, +{ -939,-1168,-1028,-1168,-1029}, +{ -329, -558, -418, -558, -419}}, +/* UA.UU..UA */ +{{ DEF, -279, -139, -279, -140}, +{ -639, -868, -728, -868, -729}, +{ -229, -458, -318, -458, -319}, +{ -729, -958, -818, -958, -819}, +{ -190, -419, -279, -419, -280}}}}, +/* UA.@@.. @ */ +{{{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.@A.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.@C.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.@G.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}, +/* UA.@U.. @ */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}, +{ DEF, DEF, DEF, DEF, DEF}}}, +/* UA.A@.. @ */ +{{{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}}, +/* UA.AA.. @ */ +{{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}}, +/* UA.AC.. @ */ +{{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}}, +/* UA.AG.. @ */ +{{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}}, +/* UA.AU.. @ */ +{{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}, +{ -100, -449, -679, -939, -639}}}, +/* UA.C@.. @ */ +{{{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}}, +/* UA.CA.. @ */ +{{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}}, +/* UA.CC.. @ */ +{{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}}, +/* UA.CG.. @ */ +{{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}}, +/* UA.CU.. @ */ +{{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}, +{ -100, -479, -559, -249, -229}}}, +/* UA.G@.. @ */ +{{{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}}, +/* UA.GA.. @ */ +{{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}}, +/* UA.GC.. @ */ +{{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}}, +/* UA.GG.. @ */ +{{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}}, +/* UA.GU.. @ */ +{{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}, +{ -100, -429, -729, -939, -729}}}, +/* UA.U@.. @ */ +{{{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}}, +/* UA.UA.. @ */ +{{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}}, +/* UA.UC.. @ */ +{{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}}, +/* UA.UG.. @ */ +{{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}}, +/* UA.UU.. @ */ +{{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}, +{ -100, -329, -189, -329, -190}}}}}, +{ /* noPair */ {{{{0}}}}, +/* @.@@..CG */ +{{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.@A..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1079,-1079,-1079,-1079,-1079}, +{ -569, -569, -569, -569, -569}, +{ -989, -989, -989, -989, -989}, +{ -859, -859, -859, -859, -859}}, +/* @.@C..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -999, -999, -999, -999, -999}, +{ -499, -499, -499, -499, -499}, +{ -989, -989, -989, -989, -989}, +{ -789, -789, -789, -789, -789}}, +/* @.@G..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1079,-1079,-1079,-1079,-1079}, +{ -569, -569, -569, -569, -569}, +{ -989, -989, -989, -989, -989}, +{ -859, -859, -859, -859, -859}}, +/* @.@U..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1079,-1079,-1079,-1079,-1079}, +{ -719, -719, -719, -719, -719}, +{ -989, -989, -989, -989, -989}, +{ -909, -909, -909, -909, -909}}}, +/* @.A@..CG */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.AA..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1079,-1079,-1079,-1079,-1079}, +{ -569, -569, -569, -569, -569}, +{ -989, -989, -989, -989, -989}, +{ -859, -859, -859, -859, -859}}, +/* @.AC..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -999, -999, -999, -999, -999}, +{ -499, -499, -499, -499, -499}, +{ -989, -989, -989, -989, -989}, +{ -789, -789, -789, -789, -789}}, +/* @.AG..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1079,-1079,-1079,-1079,-1079}, +{ -569, -569, -569, -569, -569}, +{ -989, -989, -989, -989, -989}, +{ -859, -859, -859, -859, -859}}, +/* @.AU..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1079,-1079,-1079,-1079,-1079}, +{ -719, -719, -719, -719, -719}, +{ -989, -989, -989, -989, -989}, +{ -909, -909, -909, -909, -909}}}, +/* @.C@..CG */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.CA..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1079,-1079,-1079,-1079,-1079}, +{ -569, -569, -569, -569, -569}, +{ -989, -989, -989, -989, -989}, +{ -859, -859, -859, -859, -859}}, +/* @.CC..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -999, -999, -999, -999, -999}, +{ -499, -499, -499, -499, -499}, +{ -989, -989, -989, -989, -989}, +{ -789, -789, -789, -789, -789}}, +/* @.CG..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1079,-1079,-1079,-1079,-1079}, +{ -569, -569, -569, -569, -569}, +{ -989, -989, -989, -989, -989}, +{ -859, -859, -859, -859, -859}}, +/* @.CU..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1079,-1079,-1079,-1079,-1079}, +{ -719, -719, -719, -719, -719}, +{ -989, -989, -989, -989, -989}, +{ -909, -909, -909, -909, -909}}}, +/* @.G@..CG */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.GA..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1079,-1079,-1079,-1079,-1079}, +{ -569, -569, -569, -569, -569}, +{ -989, -989, -989, -989, -989}, +{ -859, -859, -859, -859, -859}}, +/* @.GC..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -999, -999, -999, -999, -999}, +{ -499, -499, -499, -499, -499}, +{ -989, -989, -989, -989, -989}, +{ -789, -789, -789, -789, -789}}, +/* @.GG..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1079,-1079,-1079,-1079,-1079}, +{ -569, -569, -569, -569, -569}, +{ -989, -989, -989, -989, -989}, +{ -859, -859, -859, -859, -859}}, +/* @.GU..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1079,-1079,-1079,-1079,-1079}, +{ -719, -719, -719, -719, -719}, +{ -989, -989, -989, -989, -989}, +{ -909, -909, -909, -909, -909}}}, +/* @.U@..CG */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.UA..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1079,-1079,-1079,-1079,-1079}, +{ -569, -569, -569, -569, -569}, +{ -989, -989, -989, -989, -989}, +{ -859, -859, -859, -859, -859}}, +/* @.UC..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -999, -999, -999, -999, -999}, +{ -499, -499, -499, -499, -499}, +{ -989, -989, -989, -989, -989}, +{ -789, -789, -789, -789, -789}}, +/* @.UG..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1079,-1079,-1079,-1079,-1079}, +{ -569, -569, -569, -569, -569}, +{ -989, -989, -989, -989, -989}, +{ -859, -859, -859, -859, -859}}, +/* @.UU..CG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1079,-1079,-1079,-1079,-1079}, +{ -719, -719, -719, -719, -719}, +{ -989, -989, -989, -989, -989}, +{ -909, -909, -909, -909, -909}}}}, +/* @.@@..GC */ +{{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.@A..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -569, -569, -569, -569, -569}, +{ -769, -769, -769, -769, -769}, +{ -759, -759, -759, -759, -759}, +{ -549, -549, -549, -549, -549}}, +/* @.@C..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -929, -929, -929, -929, -929}, +{ -359, -359, -359, -359, -359}, +{ -789, -789, -789, -789, -789}, +{ -549, -549, -549, -549, -549}}, +/* @.@G..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -609, -609, -609, -609, -609}, +{ -359, -359, -359, -359, -359}, +{ -669, -669, -669, -669, -669}, +{ -549, -549, -549, -549, -549}}, +/* @.@U..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -929, -929, -929, -929, -929}, +{ -439, -439, -439, -439, -439}, +{ -789, -789, -789, -789, -789}, +{ -619, -619, -619, -619, -619}}}, +/* @.A@..GC */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.AA..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -569, -569, -569, -569, -569}, +{ -769, -769, -769, -769, -769}, +{ -759, -759, -759, -759, -759}, +{ -549, -549, -549, -549, -549}}, +/* @.AC..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -929, -929, -929, -929, -929}, +{ -359, -359, -359, -359, -359}, +{ -789, -789, -789, -789, -789}, +{ -549, -549, -549, -549, -549}}, +/* @.AG..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -609, -609, -609, -609, -609}, +{ -359, -359, -359, -359, -359}, +{ -669, -669, -669, -669, -669}, +{ -549, -549, -549, -549, -549}}, +/* @.AU..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -929, -929, -929, -929, -929}, +{ -439, -439, -439, -439, -439}, +{ -789, -789, -789, -789, -789}, +{ -619, -619, -619, -619, -619}}}, +/* @.C@..GC */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.CA..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -569, -569, -569, -569, -569}, +{ -769, -769, -769, -769, -769}, +{ -759, -759, -759, -759, -759}, +{ -549, -549, -549, -549, -549}}, +/* @.CC..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -929, -929, -929, -929, -929}, +{ -359, -359, -359, -359, -359}, +{ -789, -789, -789, -789, -789}, +{ -549, -549, -549, -549, -549}}, +/* @.CG..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -609, -609, -609, -609, -609}, +{ -359, -359, -359, -359, -359}, +{ -669, -669, -669, -669, -669}, +{ -549, -549, -549, -549, -549}}, +/* @.CU..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -929, -929, -929, -929, -929}, +{ -439, -439, -439, -439, -439}, +{ -789, -789, -789, -789, -789}, +{ -619, -619, -619, -619, -619}}}, +/* @.G@..GC */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.GA..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -569, -569, -569, -569, -569}, +{ -769, -769, -769, -769, -769}, +{ -759, -759, -759, -759, -759}, +{ -549, -549, -549, -549, -549}}, +/* @.GC..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -929, -929, -929, -929, -929}, +{ -359, -359, -359, -359, -359}, +{ -789, -789, -789, -789, -789}, +{ -549, -549, -549, -549, -549}}, +/* @.GG..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -609, -609, -609, -609, -609}, +{ -359, -359, -359, -359, -359}, +{ -669, -669, -669, -669, -669}, +{ -549, -549, -549, -549, -549}}, +/* @.GU..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -929, -929, -929, -929, -929}, +{ -439, -439, -439, -439, -439}, +{ -789, -789, -789, -789, -789}, +{ -619, -619, -619, -619, -619}}}, +/* @.U@..GC */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.UA..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -569, -569, -569, -569, -569}, +{ -769, -769, -769, -769, -769}, +{ -759, -759, -759, -759, -759}, +{ -549, -549, -549, -549, -549}}, +/* @.UC..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -929, -929, -929, -929, -929}, +{ -359, -359, -359, -359, -359}, +{ -789, -789, -789, -789, -789}, +{ -549, -549, -549, -549, -549}}, +/* @.UG..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -609, -609, -609, -609, -609}, +{ -359, -359, -359, -359, -359}, +{ -669, -669, -669, -669, -669}, +{ -549, -549, -549, -549, -549}}, +/* @.UU..GC */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -929, -929, -929, -929, -929}, +{ -439, -439, -439, -439, -439}, +{ -789, -789, -789, -789, -789}, +{ -619, -619, -619, -619, -619}}}}, +/* @.@@..GU */ +{{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.@A..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -479, -479, -479, -479, -479}, +{ -309, -309, -309, -309, -309}, +{ -389, -389, -389, -389, -389}, +{ -379, -379, -379, -379, -379}}, +/* @.@C..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.@G..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.@U..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}}, +/* @.A@..GU */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.AA..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -479, -479, -479, -479, -479}, +{ -309, -309, -309, -309, -309}, +{ -389, -389, -389, -389, -389}, +{ -379, -379, -379, -379, -379}}, +/* @.AC..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.AG..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.AU..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}}, +/* @.C@..GU */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.CA..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -479, -479, -479, -479, -479}, +{ -309, -309, -309, -309, -309}, +{ -389, -389, -389, -389, -389}, +{ -379, -379, -379, -379, -379}}, +/* @.CC..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.CG..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.CU..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}}, +/* @.G@..GU */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.GA..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -479, -479, -479, -479, -479}, +{ -309, -309, -309, -309, -309}, +{ -389, -389, -389, -389, -389}, +{ -379, -379, -379, -379, -379}}, +/* @.GC..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.GG..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.GU..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}}, +/* @.U@..GU */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.UA..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -479, -479, -479, -479, -479}, +{ -309, -309, -309, -309, -309}, +{ -389, -389, -389, -389, -389}, +{ -379, -379, -379, -379, -379}}, +/* @.UC..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.UG..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.UU..GU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}}}, +/* @.@@..UG */ +{{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.@A..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -769, -769, -769, -769, -769}, +{ -529, -529, -529, -529, -529}, +{ -709, -709, -709, -709, -709}, +{ -599, -599, -599, -599, -599}}, +/* @.@C..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -839, -839, -839, -839, -839}, +{ -529, -529, -529, -529, -529}, +{ -859, -859, -859, -859, -859}, +{ -489, -489, -489, -489, -489}}, +/* @.@G..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1009,-1009,-1009,-1009,-1009}, +{ -409, -409, -409, -409, -409}, +{ -969, -969, -969, -969, -969}, +{ -599, -599, -599, -599, -599}}, +/* @.@U..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -859, -859, -859, -859, -859}, +{ -529, -529, -529, -529, -529}, +{ -859, -859, -859, -859, -859}, +{ -409, -409, -409, -409, -409}}}, +/* @.A@..UG */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.AA..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -769, -769, -769, -769, -769}, +{ -529, -529, -529, -529, -529}, +{ -709, -709, -709, -709, -709}, +{ -599, -599, -599, -599, -599}}, +/* @.AC..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -839, -839, -839, -839, -839}, +{ -529, -529, -529, -529, -529}, +{ -859, -859, -859, -859, -859}, +{ -489, -489, -489, -489, -489}}, +/* @.AG..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1009,-1009,-1009,-1009,-1009}, +{ -409, -409, -409, -409, -409}, +{ -969, -969, -969, -969, -969}, +{ -599, -599, -599, -599, -599}}, +/* @.AU..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -859, -859, -859, -859, -859}, +{ -529, -529, -529, -529, -529}, +{ -859, -859, -859, -859, -859}, +{ -409, -409, -409, -409, -409}}}, +/* @.C@..UG */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.CA..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -769, -769, -769, -769, -769}, +{ -529, -529, -529, -529, -529}, +{ -709, -709, -709, -709, -709}, +{ -599, -599, -599, -599, -599}}, +/* @.CC..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -839, -839, -839, -839, -839}, +{ -529, -529, -529, -529, -529}, +{ -859, -859, -859, -859, -859}, +{ -489, -489, -489, -489, -489}}, +/* @.CG..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1009,-1009,-1009,-1009,-1009}, +{ -409, -409, -409, -409, -409}, +{ -969, -969, -969, -969, -969}, +{ -599, -599, -599, -599, -599}}, +/* @.CU..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -859, -859, -859, -859, -859}, +{ -529, -529, -529, -529, -529}, +{ -859, -859, -859, -859, -859}, +{ -409, -409, -409, -409, -409}}}, +/* @.G@..UG */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.GA..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -769, -769, -769, -769, -769}, +{ -529, -529, -529, -529, -529}, +{ -709, -709, -709, -709, -709}, +{ -599, -599, -599, -599, -599}}, +/* @.GC..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -839, -839, -839, -839, -839}, +{ -529, -529, -529, -529, -529}, +{ -859, -859, -859, -859, -859}, +{ -489, -489, -489, -489, -489}}, +/* @.GG..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1009,-1009,-1009,-1009,-1009}, +{ -409, -409, -409, -409, -409}, +{ -969, -969, -969, -969, -969}, +{ -599, -599, -599, -599, -599}}, +/* @.GU..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -859, -859, -859, -859, -859}, +{ -529, -529, -529, -529, -529}, +{ -859, -859, -859, -859, -859}, +{ -409, -409, -409, -409, -409}}}, +/* @.U@..UG */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.UA..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -769, -769, -769, -769, -769}, +{ -529, -529, -529, -529, -529}, +{ -709, -709, -709, -709, -709}, +{ -599, -599, -599, -599, -599}}, +/* @.UC..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -839, -839, -839, -839, -839}, +{ -529, -529, -529, -529, -529}, +{ -859, -859, -859, -859, -859}, +{ -489, -489, -489, -489, -489}}, +/* @.UG..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{-1009,-1009,-1009,-1009,-1009}, +{ -409, -409, -409, -409, -409}, +{ -969, -969, -969, -969, -969}, +{ -599, -599, -599, -599, -599}}, +/* @.UU..UG */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -859, -859, -859, -859, -859}, +{ -529, -529, -529, -529, -529}, +{ -859, -859, -859, -859, -859}, +{ -409, -409, -409, -409, -409}}}}, +/* @.@@..AU */ +{{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.@A..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -479, -479, -479, -479, -479}, +{ -309, -309, -309, -309, -309}, +{ -389, -389, -389, -389, -389}, +{ -379, -379, -379, -379, -379}}, +/* @.@C..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.@G..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.@U..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}}, +/* @.A@..AU */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.AA..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -479, -479, -479, -479, -479}, +{ -309, -309, -309, -309, -309}, +{ -389, -389, -389, -389, -389}, +{ -379, -379, -379, -379, -379}}, +/* @.AC..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.AG..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.AU..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}}, +/* @.C@..AU */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.CA..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -479, -479, -479, -479, -479}, +{ -309, -309, -309, -309, -309}, +{ -389, -389, -389, -389, -389}, +{ -379, -379, -379, -379, -379}}, +/* @.CC..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.CG..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.CU..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}}, +/* @.G@..AU */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.GA..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -479, -479, -479, -479, -479}, +{ -309, -309, -309, -309, -309}, +{ -389, -389, -389, -389, -389}, +{ -379, -379, -379, -379, -379}}, +/* @.GC..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.GG..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.GU..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}}, +/* @.U@..AU */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.UA..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -479, -479, -479, -479, -479}, +{ -309, -309, -309, -309, -309}, +{ -389, -389, -389, -389, -389}, +{ -379, -379, -379, -379, -379}}, +/* @.UC..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.UG..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}, +/* @.UU..AU */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -649, -649, -649, -649, -649}, +{ -289, -289, -289, -289, -289}, +{ -739, -739, -739, -739, -739}, +{ -379, -379, -379, -379, -379}}}}, +/* @.@@..UA */ +{{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.@A..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -449, -449, -449, -449, -449}, +{ -479, -479, -479, -479, -479}, +{ -429, -429, -429, -429, -429}, +{ -329, -329, -329, -329, -329}}, +/* @.@C..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -679, -679, -679, -679, -679}, +{ -559, -559, -559, -559, -559}, +{ -729, -729, -729, -729, -729}, +{ -189, -189, -189, -189, -189}}, +/* @.@G..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -939, -939, -939, -939, -939}, +{ -249, -249, -249, -249, -249}, +{ -939, -939, -939, -939, -939}, +{ -329, -329, -329, -329, -329}}, +/* @.@U..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -639, -639, -639, -639, -639}, +{ -229, -229, -229, -229, -229}, +{ -729, -729, -729, -729, -729}, +{ -190, -190, -190, -190, -190}}}, +/* @.A@..UA */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.AA..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -449, -449, -449, -449, -449}, +{ -479, -479, -479, -479, -479}, +{ -429, -429, -429, -429, -429}, +{ -329, -329, -329, -329, -329}}, +/* @.AC..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -679, -679, -679, -679, -679}, +{ -559, -559, -559, -559, -559}, +{ -729, -729, -729, -729, -729}, +{ -189, -189, -189, -189, -189}}, +/* @.AG..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -939, -939, -939, -939, -939}, +{ -249, -249, -249, -249, -249}, +{ -939, -939, -939, -939, -939}, +{ -329, -329, -329, -329, -329}}, +/* @.AU..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -639, -639, -639, -639, -639}, +{ -229, -229, -229, -229, -229}, +{ -729, -729, -729, -729, -729}, +{ -190, -190, -190, -190, -190}}}, +/* @.C@..UA */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.CA..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -449, -449, -449, -449, -449}, +{ -479, -479, -479, -479, -479}, +{ -429, -429, -429, -429, -429}, +{ -329, -329, -329, -329, -329}}, +/* @.CC..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -679, -679, -679, -679, -679}, +{ -559, -559, -559, -559, -559}, +{ -729, -729, -729, -729, -729}, +{ -189, -189, -189, -189, -189}}, +/* @.CG..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -939, -939, -939, -939, -939}, +{ -249, -249, -249, -249, -249}, +{ -939, -939, -939, -939, -939}, +{ -329, -329, -329, -329, -329}}, +/* @.CU..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -639, -639, -639, -639, -639}, +{ -229, -229, -229, -229, -229}, +{ -729, -729, -729, -729, -729}, +{ -190, -190, -190, -190, -190}}}, +/* @.G@..UA */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.GA..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -449, -449, -449, -449, -449}, +{ -479, -479, -479, -479, -479}, +{ -429, -429, -429, -429, -429}, +{ -329, -329, -329, -329, -329}}, +/* @.GC..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -679, -679, -679, -679, -679}, +{ -559, -559, -559, -559, -559}, +{ -729, -729, -729, -729, -729}, +{ -189, -189, -189, -189, -189}}, +/* @.GG..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -939, -939, -939, -939, -939}, +{ -249, -249, -249, -249, -249}, +{ -939, -939, -939, -939, -939}, +{ -329, -329, -329, -329, -329}}, +/* @.GU..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -639, -639, -639, -639, -639}, +{ -229, -229, -229, -229, -229}, +{ -729, -729, -729, -729, -729}, +{ -190, -190, -190, -190, -190}}}, +/* @.U@..UA */ +{{{ DEF, DEF, DEF, DEF, DEF}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.UA..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -449, -449, -449, -449, -449}, +{ -479, -479, -479, -479, -479}, +{ -429, -429, -429, -429, -429}, +{ -329, -329, -329, -329, -329}}, +/* @.UC..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -679, -679, -679, -679, -679}, +{ -559, -559, -559, -559, -559}, +{ -729, -729, -729, -729, -729}, +{ -189, -189, -189, -189, -189}}, +/* @.UG..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -939, -939, -939, -939, -939}, +{ -249, -249, -249, -249, -249}, +{ -939, -939, -939, -939, -939}, +{ -329, -329, -329, -329, -329}}, +/* @.UU..UA */ +{{ DEF, DEF, DEF, DEF, DEF}, +{ -639, -639, -639, -639, -639}, +{ -229, -229, -229, -229, -229}, +{ -729, -729, -729, -729, -729}, +{ -190, -190, -190, -190, -190}}}}, +/* @.@@.. @ */ +{{{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.@A.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.@C.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.@G.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.@U.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}}, +/* @.A@.. @ */ +{{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.AA.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.AC.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.AG.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.AU.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}}, +/* @.C@.. @ */ +{{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.CA.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.CC.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.CG.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.CU.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}}, +/* @.G@.. @ */ +{{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.GA.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.GC.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.GG.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.GU.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}}, +/* @.U@.. @ */ +{{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.UA.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.UC.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.UG.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}, +/* @.UU.. @ */ +{{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}, +{ -100, -100, -100, -100, -100}}}}}}; + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/inverse.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/inverse.c new file mode 100755 index 00000000..01c6ae97 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/inverse.c @@ -0,0 +1,529 @@ +/* + search for sequences that + fold into a given target structure + + c Ivo Hofacker + Vienna RNA package +*/ +/* Last changed Time-stamp: <2002-11-06 17:09:27 ivo> */ + +#define TDIST 0 /* use tree distance */ +#define PF 1 /* include support for partiton function */ + +#include +#include +#include +#include +#include +#if PF +#include "part_func.h" +#endif +#include "fold.h" +#if TDIST +#include "dist_vars.h" +#include "treedist.h" +#include "RNAstruct.h" +#endif +#include "utils.h" +#include "fold_vars.h" +#include "pair_mat.h" +/*@unused@*/ +static char rcsid[] = "$Id: inverse.c,v 1.11 2002/11/07 11:48:07 ivo Exp $"; +#define PUBLIC +#define PRIVATE static +PRIVATE double adaptive_walk(char *start, const char *target); +PRIVATE void shuffle(int *list, int len); +PRIVATE void make_start(char* start, const char *structure); +PRIVATE void make_ptable(const char *structure, int *table); +PRIVATE void make_pairset(void); +PRIVATE double mfe_cost(const char *, char*, const char *); +PRIVATE double pf_cost(const char *, char *, const char *); +PRIVATE char *aux_struct(const char* structure ); + +/* for backward compatibility, make sure symbolset can hold 20 characters */ +PRIVATE char default_alpha[21] = "AUGC"; +PUBLIC char *symbolset = default_alpha; +PUBLIC int give_up = 0; +PUBLIC float final_cost = 0; /* when to stop inverse_pf_fold */ +PUBLIC int inv_verbose=0; /* print out substructure on which inverse_fold() fails */ + +PRIVATE char pairset[2*MAXALPHA+1]; +PRIVATE int base, npairs; +PRIVATE int nc2; + +/*-------------------------------------------------------------------------*/ +PRIVATE int fold_type; +#if TDIST +PRIVATE Tree *T0; +#endif +PRIVATE double cost2; + +PRIVATE double adaptive_walk(char *start, const char *target) +{ +#ifdef DUMMY + printf("%s\n%s %c\n", start, target, backtrack_type ); + return 0.; +#endif + int i,j,p,tt,w1,w2, n_pos, len, flag; + long walk_len; + char *string, *string2, *cstring, *structure, *struct2; + int *mut_pos_list, mut_sym_list[MAXALPHA+1], mut_pair_list[2*MAXALPHA+1]; + int *w1_list, *w2_list, mut_position, symbol, bp; + int *target_table, *test_table; + char cont; + double cost, current_cost, ccost2; + double (*cost_function)(const char *, char *, const char *); + + len = strlen(start); + if (strlen(target)!=len) { + fprintf(stderr, "%s\n%s\n", start, target); + nrerror("adaptive_walk: start and target have unequal length"); + } + string = (char *) space(sizeof(char)*(len+1)); + cstring = (char *) space(sizeof(char)*(len+1)); + string2 = (char *) space(sizeof(char)*(len+1)); + structure = (char *) space(sizeof(char)*(len+1)); + struct2 = (char *) space(sizeof(char)*(len+1)); + mut_pos_list = (int *) space(sizeof(int)*len); + w1_list = (int *) space(sizeof(int)*len); + w2_list = (int *) space(sizeof(int)*len); + target_table = (int *) space(sizeof(int)*len); + test_table = (int *) space(sizeof(int)*len); + + make_ptable(target, target_table); + + for (i=0; i0) do { + cont=0; + + if (fold_type==0) { /* min free energy fold */ + make_ptable(structure, test_table); + for (j=w1=w2=flag=0; j0)) + if ((target_table[j-1]1) if (w2_list[w2-2]==w2_list[w2-1]) w2--; + + flag = 1; + } else { + if (flag==1) if ((tt0) cont=1; + break; + } + } + if ((current_cost>0)&&(cont==0)&&(string2[0])) { + /* no mutation that decreased cost was found, + but the the sequence in string2 decreases cost2 while keeping + cost constant */ + strcpy(cstring, string2); + strcpy(structure, struct2); + nc2++; cont=1; + } + } while (cont); + + for (i=0; i0)&&(give_up)) goto adios + +PUBLIC float inverse_fold(char *start, char *structure) +{ + int i, j, jj, len, o; + int *pt; + char *string, *wstring, *wstruct, *aux; + double dist=0; + + nc2 = j = o = fold_type = 0; + + len = strlen(structure); + if (strlen(start)!=len) { + fprintf(stderr, "%s\n%s\n", start, structure); + nrerror("inverse_fold: start and structure have unequal length"); + } + string = (char *) space(len+1); + wstring = (char *) space(len+1); + wstruct = (char *) space(len+1); + pt = (int *) space(sizeof(int)*(len+1)); + pt[len] = len+1; + + aux = aux_struct(structure); + strcpy(string, start); + make_pairset(); + make_start(string, structure); + + make_ptable(structure, pt); + + while (j=0)&&(aux[i]=='.')) i--; + if (pt[j]!=i) { + backtrack_type = (o==0)? 'F' : 'M'; + if (j-jj>8) { WALK((i+1),(jj)); } + WALK((i+1), (j-1)); + while ((i>=0) &&(aux[i]==']')) { + i=pt[i]-1; + while ((i>=0)&&(aux[i]=='.')) i--; + WALK((i+1), (j-1)); + } + } + } + } + adios: + backtrack_type='F'; + if ((dist>0)&&(inv_verbose)) printf("%s\n%s\n", wstring, wstruct); + /*if ((dist==0)||(give_up==0))*/ strcpy(start, string); + free(wstring); free(wstruct); + free(string); free(aux); + free(pt); +/* if (dist>0) printf("%3d \n", nc2); */ + return dist; +} + +/*-------------------------------------------------------------------------*/ + +PUBLIC float inverse_pf_fold(char *start, char *target) +{ + double dist; + int dang; + + dang=dangles; + if (dangles!=0) dangles=2; + + update_fold_params(); /* make sure there is a valid pair matrix */ + make_pairset(); + make_start(start, target); + fold_type=1; + do_backtrack = 0; + dist = adaptive_walk(start, target); + dangles=dang; + return (dist+final_cost); +} + +/*-------------------------------------------------------------------------*/ + +PRIVATE void make_start(char* start, const char *structure) +{ + int i,j,k,l,r,length; + int *table, *S, sym[MAXALPHA], ss; + + length=strlen(start); + table = (int *) space(sizeof(int)*length); + S = (int *) space(sizeof(int)*length); + + make_ptable(structure, table); + for (i=0; i1_U5ztyIR(EhMH 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 HiW~nAre@J{ literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/libRNA.a b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/libRNA.a new file mode 100755 index 0000000000000000000000000000000000000000..f1796f6535c5f6cd1170c3cba227bbad64244d25 GIT binary patch literal 1593138 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

        er4kxV4s(qQ_Qy|bnI2!itPQ!m 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

        1e3%mQH;AW~9f)}&?Sr3?!>{nw!C1o~=H^-r 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

        xtLdKM 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

        6yQ+nnbE5Fde( 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

        JBxWd`3Zy{PSF%)f>$? z2D08iQx=}4jMd0(bDwgcM)oPsff@%h>6esAmvIF-6hI@NN&)!G%Bz=goyV#=FZ1iU z%&+G%j-U@HJ(sbbp6@U7`@YZ9uA!DYR=I50-yy^QMW#Jjg_kg!mh~NA=JNq{nno2k z!t4q!d&LcA%=?rv8!AcABg)MhR*`_$RUmHQKs;N;mIe+aKPA({J{tQ}j;cxndkfnc zsMsYYE7xdX*9fU@+c0~KRQ?J&17kTg$j?;6G;qWG-h=*|l3rUim}a<$obxd{L+Abi zDbuKwsxi4{xe~dL&amhkEtQ3zY5Gi>4_@;91W$fIa96Z>$tG&^Nr)o=;o}V*PaP;2eMRAtx zHB2LS9PTX;W=$K6CR5|{czA%1ew&hi_n`Z!3hdE9#YxXC!^cotjimDcQE05MxYqCb zifet4isRl9uv$6k6&K3#6&I3q@IE>4d$o%kp=OMz(L8b)CB12D;Sg=){MqwLk5 zWujcyOck=DJo@lx8L*=4)e~qG0_e+>^rnMR|9})_|NO1$4pHv5an(no>nORygT6;e zwh)x)wXjTaxAj6-jLpDPpnw%?p<&81L(Ff6nBNRB9=SX-#Mlfx-vRO8@|hv#H$#lg zz+oL2{bq>y%@FgOA@=EJh_D$(sL?tS@R=dvH$%j4hDa(6+@2XCY=$@0oGEewjpd#< zMAE6rz3EAW&CsR1A;MG@3PGP=6Sqhj~jr>0F&|4b^%W0}^$R#2q-q6)0hY>GzNDjG#6Q_@>oM0vd7 zHh~I_rMAdZ^VcZ<%yHQ3nVj^zG_--PUhPqFv*f6@i1L`l%>*Sr;7UWkOlN?~DFXjQ z1^g(FK0NdQ6_3~6C=~Ta$*4a{Mmb9U+u?yD#j{=z@lW!i{_yIHEB~ODN>yWjn3Guw z3UP9_g2J4vRZwUNC8Hk19f=zg_Q*~nQ%+DO4Rf+oK_O1^WK5fvUExu28*l@Fc-e&B zC(qA36NmkwC+rVBzS$giT2D~KFDT*{p=w{Fy?z#L0sywqQhyA`D_Ir!3!mB9+d2wgCKkh8|$BN~i@nwpaR-T|%zo1sXAm2iP z1^ranBqD!O%(6V$5x?w+U$(DRShi;GPp?O_zpQ3|S-zzTm*wpMwXidI^=R?SZt=_Z zt+!Y<3xqDg-t~RuT_N_aR%Jhqb8+!rJudRs<05}OE;5b%O)CC(N@?Hf z(_dCSm-SmUFxGQf_o>0G-Ym;6XaNiIM%V=`$Qut%VoNpyYZF z@*8V`-&hO$##+F}`i3&r0>7~q_$}jee|C@=s_EV= zZR)u;cd6Rc|CW-xSb;l({-&?zcHXMmx!&K-_1w-^tC?3lxAQ$7WOf~%#CjXh(c4az zL_eZ44Dh@^J4UTFqAMu5T0vpn#pBr>OhC=z%4p8KPtBbpclnA7`HPDre8q+Q#reig zu2qSuN{Ex?3JP=bJOzbnDftZ#T2C5W?NykQ*DEN*N$+M>*ncz2H>CZXiaDT)3v==b z1%){IcLjyHn7cgD9taq@lzg?>lLXB6a{ zuRTq3KyD3Kcl%p7#@oW)$|2@&;h0%F-e%IaN&QPU)xx_x%drvP_8?Bar=Sog*@$4g zH>jdsUkJ1Hxzhs`uc;P|mKp=Z$;%ZK;$;@E1%Qf^pS+*S%Pck;Fq)R(**wo7U{jur zHNedRj%q-~OCwjcXam>Tt6&4q<~d#gqkjR~z-IW|Hw(O2(lA&BwLN66-~b!OUIo<+ zD9<04ak5C&xsj9H$zea5lb#vW?KED=0F~bi>Nb_O`OL{a71SF!sDI*3w`GHwfdd9S z!mxQQXSm_u4mT$`WC%LWaE#LKz4LuOL1z{^nS3};X|>DyBdcSNCfg)4U!~$HlScFm?O%;uh6VG2R~WqF?%CFY?P?WXitPC&)KZ zeV?nO>fu{E_zg0D261r#@Q}CP*z^4w`if`6oIve?Pfl_A3m%rm=~F!{o71Oxn9J$Y zJuH{gIUZKX>5}o%W&?g}fR)Q7MsOBR9#v4SX>{hArAX>HX^oS_;L|oGS%Co_`0xvw z&w^5vpk;nRzW&%TRu=mVo#F9+Q|T3?>}hAShCWAK=OghgMA<5FC8d^=-%-$fPVUR) zvTEO_>1nFY8Q}x*-ELpASGKph?U|p zpg*(hJSt;=F8&T#E}{fA_yskvAWuo(_%e!={8*W(kp*?D+BW(HHJZ)+e;W#KZu(sO ze_ul#A(v@ZEq)RE-j%Awef=Uj=d!`VJL+~9_DxizyG(( zW4&1Kn@P`eY3wrf`%lsH;^ni-AB;ZQy`oFJ1SDa#g+qy$73qTakR(@IO^Mddcrx7G zY;|}qny{LxE(Gex@}{I!ec`;SIpx(>Tco?of_IbPTPWczTrqehB2oco6Ta`TL%!() z$WX4O-hdJhwTp5E@v1nySVWL_cO=?c-~}M?-j$>!I6z3T6^EB$SjpB{GSp?EnhC3E zMJT=;USVPhJq39|Yv+nsK|B-=b+i@Ci*>Zc3TC%;6g0HOIyyoNE-3d>6N>Vu6u^7J ztbXr7vAh?(MB3t!_E=LQ*0KWL)?y{PS9Dli@z_c$)DZ!@K-lMZZ&>hd7-t2!)r zNqlQ86t$YVIulk$SEvmtZoGCS1aEY)60szg-`w6AN?P$`aZ|A{8K}?=Rq={XSon4k z&b#X_qzi5Ku#^Dd}&=eQH|C*@Ceiwg@U7Zn#4xw#9#t%9MX#3vMw73GRD zx{`5ePU)-(C^?D75!Hb=@POe#bLnxK1vP7-yM~0TBBiK|sIjada$5KTAK6L3Uy7iw zz^T~kkYt_UIHC4-%{vm%so+(ls>67%46>lJ#4RYS$ZBfp3h}8JHKP|5VKboK%7dF$ z3d?X?MWH-UD70GCas|A82Ryr_J!Yv^7ly_f70D~`9zM@r*b>51u-cK%_V%^}yoSbt zHWTuYO}Ilx_lhv63gv)w@G;SiDIm}_*-L-|9TQ0CB|_0yxVr`WT@=j#;RvIS_r^a_ zxY8B1XzFZ_a_x+_42hQmN?)8?Rb6Sdws)>VU9p#T2ea zg|5;DuW$kfPewbThc-3C+nqW(p(&srKwR_!foOZ^`XZu={s0ar>?&hcKmE}(;AiZB zAR68z1*Y#_VXeWw&;*QaXdq!QXn7G=pv}8PTxyDRV^nI#KqU)YV>NYmbi|BcZmA=FWaVJA_RDI*}R07v-0zEY!DXik|Z>3Cf~=lA7b86(|Z7 zinTUTRu&5$)Q`5SJKO=(psA)?C=Q;AnB?i7g95F5c1 zPd`@EYL)5u8uN1=S3ZcD{5y$1$b@t@`HKL@^38+!9Ye55TLFwFhO%zRmlAR9rXMEl zOt?6Z{c3(LxmMH73bY@#5$n%(!A&YtCUX7}6@!D{OC@uDTHFH|sQgD>kQ`hNmXBqd z<%a;n@{8e5KQ2B`=EU!EY8RNFb?$;|n5O586s3EOtAm)c^$w5@n1~*tp-1r z&*yE#Z|eUD@ozNvS#Lgnjra{RtL6fUEMh_;;BuM%tB@GT{?ET4DO}=5`{TDDnV;L` z2Y?}o+$n$r9k*R56Q5T8cY$o6@~xL7|4x#J<)h8b^6vx8sG{Vcy{*g2WR^co+FuRA ze;GCm9N540!{px&7YEXRC+W|2Lj8xspQ-=zfSED@vc65_7h*;`Oxow*+Cb&sM&&a< zmOm2y%<|s^%#;a`^)!{g-Vkomenk9S4)WsBuv4Co43TI4WPU#5ujg@^Y4E(@dOhc* zP1@{F;h*5Kij>I@+giTZjf6c^{+R}Ykrld|zK{Gac1$>Kqk#>d`Y(Y$)BeW-W`uY^ zEbEbPiIcU~DA34Cq5(dUF4cPL=m3|Xyn&_I18Rc$8BRb#ZOdp}g;S-C!fjQ1??M_R z1Dbp;DNEpUy4>=ew`X_uwc2|Ke=3t!-(gS1eT9& zhd7?`V0;#&5$8Og=Ms+fz=P#iLmKtrm!xeLSHa&2znH3w{gn^f8pg?fXWL5em&Z&C z{Gt5yB!}N~xE^q{8|%Y*0u1PJcb&xL7$6NKk_kVrjCIQu_e{)woVxYA3X>@ZVWIfLL;gW%^6 zg3liW$9dX7c33(H9v%d50sI8$@%%&$zvtB3#1KnNxx|OxfbceN#O?!r(B7Qfg5WJc zT*Sk^g|@pyTYCNX7CmvsUZ&U)%r7*yK54s=w;y=dR&3bhSI;S$Xu;mhPZX3B#nob&h6Ox`D#XvpLc-)?E728-#Bjf_9arhJjojQ7 zhn<~f*o1?vFnLR2A>T}4?=$i62f7Y`yCC(r39CI7vVU6(WCcIH2P^8{R0|4UBmCD zaT+h94cHFFlwh3g@J$UzR;K@fhM%R$->2a?=VAT-tl>B|F#f)VZ9X@ z8jd%$n7&%Wb$u3V_;`)JL&MQ0Sq*QZv)^>SM@d=~Jro;@0_w1-d@9K$%k_0XmTbDf}f+|x*e8kxUSE74cGPgj)v>>k88M2&(48*PSo^t$pH}8 z?c6a4{`w&JakP|0IeNWf8m{|ukA~~z?$B_(9rtRuZvWp8f={BQnpv;QHC)&8`x>tM z;jc7Y*Yng0y z893SkkEDj{cIeY^-45Rw1mCCOdOOyfCd)y6^m;AUa9w_fhR*^Xw%b+>*Xw()hU@Y9 z5e?VnzcL8^zJ}|1+NXQ^>;8PEhUah|_hvRgmU=w}1Q^>WUT1ZW?&Evq`U()q?P87g*cm-_#};veGH~{X5xKH{YzLMzk#P2t zo#ZDK8vSfwWjW_+IM#{f)EGGXNmRpi|GY%Qb$fOhILp6A!}WIgl7^$4F|wN0Ee1~0 zOY1HJXZkk{oav7pD+RLMXgIU744mc6HE^b{HgLA*5(8)YRs&~yb{ja>8IQFZJ{j^X ze~X4s(eU4CILcr-PinZ{Ue9Sb(z3rjui-lVs~V2uziYTo|F(uBJ=b^4IKigk z9{a;0182K6890~QL3kR7%Z5MdCe|j6Uib5>H5~O}f4IqzgJUor-#6&F-1{|Lm;WaX zNBK;D$iUgohY3#uTGW3b{Na&-n>%ozf9mo_6VCKWL1kIF8hr&|>?Z{pj{0!959UZl zl&`nfPzj4Wr9&u=NdTw!o_?8e~|J`2F^d| z(rn=8Qn{BJ_}heEVc=Y^UIV|I>~@`jA0j*KGVl<^|2qx*Ba(BkflnYgj~aLf(LZD0 zO@zN{;Ad04-ZSuxlpjKRaeKW&^dk(sp6K!Z8Xio)04ED@;C(ba7|$bp$_;!A;XH3* z`kzU5tI43ho%HE2@Y#g(^A}1E;nx`SkCHuaH1J1={!Rmbjp}uufzxu>`jvs-M)IFC z@Htf9Lk9i;$^X#6_Y*#h__$tt-{KSl{}bt-Z{WC=z@yZ_b4h-=fq#+m7aI5}B!8)a zf1mWe*}%^s`QI||EXse^z;7V=KQeHR{|_4YU#Z+*8u$>h|6v2Kq5Q`No*??;Nnf@z z<0qLo<CAfGKz0~y;J1>W6d8CL2z|@zh>FH}G_-*CT`@8L22FJ!ati zeAF|V9GA+(6W=#v{fE)DR}K0f5dIGXe~oaiH_PGvbqwjt_!r2|$7{F?GES%Zo?+m1 zgikQ=s|lZG;N0JN+{SWI{;6c7I*on|;OyrY6OLk$^f97uHSjvpze|(j0{u*)?=f(W zQ+)=0gy{J`U^G}B5YjUu@FB3iA=jC!aKAdCFe~J9{ z0t2rhJ(n8zR|xMl@OKI4-$dhb$B_K581w~{zgff4&V0ZB4g=>n`v(oj`qokYRRd=| z-ZSt=C_jWI{p?qV2p?|X8I(WM!1>1;3k>{P%Fi(H1C*bu;iEx+KIUt<3*cx+UWsWq z($`4X>ddzTUvc9V-R(8u&K}|Du8ao$wnCd=wfGj#~|U9pOJT@B@VZ zLc_7$`S)61HSq5W>97w*^+0x{=Qw+YfuBurgTGwJU$C)8h}27Z*vWxH~J z&g0Pkw%Y<3;cU0}s;u@?H%` z`5Y&&({Pm2oe3Xs+-l%$v~d5KhNGOl6qg>>a2N1vi2iW{|B!J0VL+@G(l0z7KHzx6 zpudCeL#HDl984dh`_RX0IO-E4`<$xbF5r8K{!9%=dLGyEG#u&QC;B1{M|%FT^l}5A zOm>)W;5$g4r3T(k_zDAmpZd#M1HY2+UIXu?a=&8Wi>aU9s^M6#k7)zzb`8gR@wo6a z1Ltw!9Sui0llVS5^&7m5_(H;uH}J~{cMbd|!gDkn^|_DqFVt|9&u@jFtl>z{UmcjG z;Yj}y$*opwd?v8jkeO5dCird>(DE{n^0zN4!!f4q-c@eCm$Y2?owT z17or9z?lRtq6@lYe17AY?rxDKeJ^oBd zKgyurLvqF$ILn!8$XQHsW*PW539mBnql7Oo@KK|rK1&RIIpI+QKS1~j1J4>Q<*YRD zxrFx^_zuFaGVmV~eyxFjNccAmyaF2&j_(@ycEaz|a1?P162tMFfj=)$nD1-23)rX} zdEq?+?>i1OE-x>uLk%dR=eeJm3C? zfuBxxzRSR?N&dYC{!6mY88m=$ecAry20okU&o}Tp$ggs{fQ@t9@Rrtc>VR9f%E;lmo)h<(4SifA8@>;;n?oKqI&Ujt=zv}CHkWp zy$kfG6~PA_>DqIuF65gD=buAnIo~JzER7!H$$Bcc*ud{5e42)%{KrX7g@M0Ic&&z` z{O3u|G7U#L*~Rby2mfXr>-hxXT?TytKI8?*8UtTV_&N>8a%;#BuheiC@V!L8)4;Eo z1Q+4>ih(~v_%{sv%*m4e2O5s$?xAw|xni!@B}D&Ajot#Cj0{fUrl&`)^n&Q%6F;1q-(ef_+3Ol(!gIP{B#4KFcp~K7_H$b zzlP-JX}F6x(N8w;t%RRr;J+jMJi@s@@|)gj4V>Q$7dGU)O>&kScy0+O1qc5SDYxT! zgs(N|I|$!u;MWqq!@yrB{5rx-{dXBS>wmi;XG*Em^M?lBPWXKWzJu_G4g80M|HiANW#9{F{rgJ;C-K(FBV~%~^$N*9+rasL3GW{;{RJeb zn&{CiXad?^v+4~wUn6}&20e+fE-~nTL>E?S^r#}s-(t{jAp2iy(9>{lebt~3k^FBP z^kgpU`v(0-)b95g^w}imVT1lVgg<7`yM#Y$(4R^6dBvco<%0EwLBEse|7FnAux!~U z%7VDPzC-$F5{_B4Cv|s=e+ZN5dEPt5pr0khS`!TUH<1678uUbN@qP)GOD-!e(e{DZ zC!{R{fxF_<|9nv+;i#uhf3ZQ&_v5Y^gnp+%&-blv9fbZigP!k0y*vp0YX&{Vc}sAzIwQAtU0VX^BLO)j1cpGAfESy(t_N}=mcDJ-5;B1kVz>#3}sn-U;{ zfvkXa4*dC#+t?UzX_mM=%W|#Ltn!7uhs(tma>ss9-ca8AUis1e<@M!tl|?Vt2Ya8Y z?fozq`5@SKw57SZdG7~j1ULOX_dvxM(bI!_-*kU}bnJoc)5VQ;VZEx}ecR_8ttfq` zw_?nQ%+2^s<>t&2#D2q}6G6nzqYsrIJ#Z8x08QrRad15td8i`uf$B=Da?7Kc*FCu9 zxy3auvOgjC~AvQt0xLewU9_MIHpM)D0S%x}hqv*AK26edsh<%z@Mm&t+E4 z5|WSpGI#^!w>;kSmu(_q1-FTS^>*g*>0^%Wk-Oo+8!CEJHwJtE_FDMkqi9GlU;3EL zEl)$PeEYnQGZ#L(EjeZc+G97i^V^x@_JBR!DbF1DyDjg5O_G)Jdl{L*!WN1mL>pwKUil7K2&|KO zW$7>1y$Zs5pjaqu4}3xnn4qk6zmRp=Ry`)Wy7x`0l2@DF^o_zXf}0-BU9z;iv3zOy zvht>fpk(>Kd|_4Z`{fN)y-%apmER9<` zDzY!wwg@viI!D-m}W@M}ucB+_NcfXG&%1-!pgI0{P%Ju{%^1`4iX} zOoL6axcY10KgU;$$%0QXj3}F%0$d2(UwB?Q824+?z(6RtZbq)^F-|{v?mtkXV09Gh z%}`>+P2k9lkG!3k1#Jt0u|)B?cu!_u3%rhi+FFPlG!2ad1{}D3AS%>X^}hQHsH;_8 zhi&r&w2c$&ojxYm`v)m^%bu#qVRzm(eT)Em_kllbUmB1Uk>{#<4+QtVl+ybb zdG#+RmOYu9Ux7lZd;eD5`(AbLQE|ESwd5((d+){lKk+hy2T&PtS$qV0 zA0koD1bg?2$2*Jm2!*SAUlqGMQq-ZII*2yGZ6n5ri(vDtimgW~Gw(^Cm$^{50?=pv zqB`rSXpSvMdjGf^2k2%9O_iAsJX)Ulr9DR<679U{d0Da2L+ic^OhP`ZT;2OV<)sgT z?>nNiY6k9K$%7|)Ed~B5v@6;pgdlU#9*q-wt^C6-RK8Gk9&DO-1S_;pcChz~F~Cv)lE%-lyXm%14;4`${*R(j|P=vZ0e z8*G{R&#o*edam?P&)9b|8-Im%*s1fE9s+nTupbY?*1aOGXXgKL<#@r9lbQQVWK$fe zn>~iq&Ffwj^wQ?apPmJOI=}a@a4B-AqeXi>mpT*_4plcMi#=*__2whs2%yE{iY-Tk zGeN)sw}I{{#vnKgS9`l6Gw)ISknIeP^kX5nT-XjOc`}+PxUCKh9eF78fz;Wh&-Bbc z`VbI8|B#&n+fqgg=xaiC_C;`;Y}4liwbp0{=i(64`*wNnp5AA@+QAIqsO(RN{)-|; zb?@8ay62PG1NbESBS!M7-hXhYC_z`u71{|Q;B>vxt%4Xg_GNCq4i+rnhf4RsgM}Q% z(Geeo*#)qP>I@hxaFc%kHyoAi8l3=#?dW6LL`D-MEes7qEO$>x-UwC-b65U`UcKoVg6AMWDdq-@^#>2zlVa zdoSvzp@5XF+nF=pT_v2I&2ARFdP-$3_Uq4fcZjRKxfp=RzC@%Dq4k#6WNr z^yuD3;WH2ZM02s8kyqCEdcb#Okgb8vMN5~3&WEvnO2)8Dj)w}0sqL>2@;)xW0lLDcURrZpDVsIOD;ovZ+bmo=~F!CDIG(`zg zhW&OP_FG(Uiw0SD5LpK3ApTN>q~NA2#<*6pn3d(>3Y2vX%*YyTfr7FJ7L;vp8d+#f zfpF2FKSoi{>_SmLlYrT2y(yYEz(b$U_4oOmG+BgVagHIR9DERaGj;;erDX^?_>SJ6 zrGFk={t+%J>&6^4^f|Z_E+}U&$eASwXyO;g~goI-($J&B?{y?Z5*>gV#kf5A-+QL32vg17$*{PW(^LD^vMe+Ow9`HLoze>K?q3ezU- z{p7|%6&{p|_5|gy#Ew|GvQqN{tK$B?Wo%!LXE zuLLhNlsWVS$|&w9<6yVvVaEKbXwRW<$>0f}B5DSE-wpOYUG#V@ZoItq74TzNHWlqT zf6MEco38}172D2Fg$-NSrC8Tg^xUDz!R@I_U?+;ycoSw5!M)F?Y^%;q-8MoFBC=tD ztYTZmmek5Ed)A$WOc)2Yzy{O&z0H~VdoD{!{scFc1o5FeP^Xi5_GSs0061&8{-oVoc8Gz?qaU& zzI3g!U-l|{4G60npN?XIoys83mgRuDqI?jo8B@ydxrJ3#W|9+kpP6>zO8M7CkBYT& zHH4)5Kg5|hG;R#-Z%>7d{tsXXPY-UN-lKMND@)(Rox|<_1tNrhm2Ynfz(lfV&H0h{gEYgJi~d8y zusks@>{&8j1F8wzXba7%pLDv9^fnRrDy-N9cH<;v{F{ z#Kg>Pb^D#(5hrb{*q`28aZ+k<)82I8x#Bq>lJhw+a6yHHQo-J5%XgzHSiRo5Z0A6# zxGz)P`{IF$Y@BuSGzjKU2Sh`F(@JL*8@?ZC!3!-1R|9*3k;Af;Canza{VVOc_iG4f zu!CQRC@0&izUWb34}bpyy@$UGieLbo0%tFXs=i*C3LC$DKZc9Y*Du75`EU32Z5894 zEqnByzO7;(h+P*Nu%F-P^@yE^`k*WP`#oLC@41EJA&;nRV6&q`?LOOqeMvvYR7J~N zx_%Pn?85Xf~ywu&AJ@#4Rc=n_N;hsn~5>+38lU?sCWI++I3xd?0J+3GkVd zF?^VvaSA*-nli?+GlmU22cD|8A?e6u>WP4s4VyNs3Z4QPl4%VSiJ`*-f#FDvSKzG} z$4R0gRl`f*E~kTJ@Z9)W7BZ!=1b9mr(SZ!4OAmk)BsuO(pez8E3?Oi1X-JTnFNy(R z$l2+~2Tlmgf;B5_NeLP#ECsUg?N^~7WlxyYFFPEvD3Gp>(5`~~ktly=y5v7Qy=pj@ zaiT|OSzj0ysE2~GHR5547^Iv;8bGa3p_2!sgA1pSP@+4PRHN)^-c`7LuUFht>kMLn z+Q4I99>dJ^>FJhrrYBGWqjZWC&~&s1V0MhhfY}_n3esn$BVhdu=5)BufhIK_QK0yt zE(k*B7;y^7XJu1lE|tKc;#$fO8-JcHb%0ixr#G^q2h8% z{#OARIzIsz1lG)*u&6e2_lyzlxBxQ4D z_C(4S%Ip^?TOzaBl$|BBCsS5_>C--ivNiJRsgzwLv!@4eA1Gz?#WL##t`yl;nH@zn z>XO;BD4Ueo+(1lJaJ9_l1@KjP_UQEinV%4-68Vjk&kt+|+4ks7lrIk8<6ZXXt0+G$ z&?V@1QocNZ7Pd#68}zlHJ@LK}PZZIquI_@@<9*Pyk zBisHd^mBmjkyV#(2)B33nmh8^{jw>utRc?1z&FIfCQnC&QRH!#qX0nh1t017t#E~o zC%+j2AULh`J12GM>mm=x&=WJ-tf5~ZSIM}<8k#NBsnYp|p7aQi4z0zhBplg8P5}BL z!##RVr)I2Zj;Sk7Mwc~Y1ahT}PS0rVhAWiI%1FSEZgOsf)Gswvxbl#ZA7EkEQ(@^t zvazs}w8Bm%;fr&P<;*oWUo;w~PxXLobGp2#5 zih6k53QSiy@yHkDQ&wfm>^b6c%Bm5PS7uS{@a0xO%eCt{llJrFXDZExue1VQPD(TL zvutihd40C3H8@WVC_M5@Lnwd+GHv0|SPk=#Cd*LFS*xu;hK;OvWUbM2;t{VvmMB;j zdc0CXUOPeLWqP0Q;3aE~?8d(h^iio{|>Xc7W{k)WoQdjv^xWM3f zS@`)WC>#$|?Sd5cBzg5hBVUukzBGK16_}sGh8cd5o&&Y|X(0?GKgo;o&YT;AJK85p`MSKMLrz_&A`~!plk8qXG6S*^Dy(N!P5A zO%B)lE1y>H8;p7no|i>_RjKno&0}-lXc)%JWApCnXBaOhOTJ09fXv^ljQRy^#^Df& zUQpt}8QNj{Upm8CpJtRC!zhF2v*71Xt-#>dWt*KXjP~!Q(LlMX2C|Y~9t||MpMkub zq#b7%XuL9zmHi84j4!GZ&}w|7ta47mbl{8Jn?E^go!kS1uQczx0VSd|DPwMbk)M*q z;T8|^z1KjHd)=vEoGOkL^4hta6%T9#&cm#{QqA4%R5054+}lotn4vP(>0`xo04kA{ zsthMe);_Wlu}iH$W-8Y}#tJi^Wn9lnWzA&6oRG@3kYn8NR4m)R_LiPAB359y;Ks%u zq4=chP(HmBsMRdwbZg|Jke8-^ckqEls{XFcs%Lenal>hVw0>Tyjgko&leyq;FxWvSKUs$6N$r}}C2w7M#_qWlnN zF=}-p?9ofDdOl67bxJE)td|$I>ruALTG4C;ysV_|QQT6=^-4*p)&`;G@Z<^@FE-kH zQ)GpQceNK;flW%ZHS#H?@B^PV^gdt=yzRmoX(%w6}N_-dK)3wSVGp&)9xb(IY+^t6*x-> zIhLl`ux5A_NK|hv7GI*W0w??dP>*P|V4aMS$poih5uXB%X$L2oiUoUwV-iVdSOb*h zTweke@F*qt=l)=h&}dBxq5+Rq!Z+ClY&`_4gcR!vG(h0Pj5PQZ&xHpHx)bpN`0@63 z_&In>&lH5);J32!^9zFN8T1Gi2|vEo)|uamKGWV7=45hBS1bW2C`0>Et(FbDw)m^- zD?@R-1X-vQ5Xi&+$xMzI|D#opGrh-*^6%5T!%>HtZbI(&D``GP4Cz_I*H7>qz zTihvYc)Dy_)70}1ca^0SW;rijG3~JPVC(MP_t`hCb8fuOUQ>Vj1?x-7TJM-XWzm%B zcZ@6B@br^G=cbfV!{=XAl~R7(gon=Cu>P&N4fcxL?W8l_KEtWE!}ILZ$J<+aoSygX z)%Ek10)NYHEDC~}O`<22f9dM*H4v>aYn zb|7W+h_broT~3=5d+As9W#bn+8y=6=y#+M}^F*DEeU7`(i8Z`vr#q1{`@$FOaW~q@ zkL)_IX@k9F-`)0_@r@hCeQC~&ZB@|BPSx*I&KmLZ`UbnwDWz*Ww}>uPZ(sI8%H$Jn z2IWhgcW#>M+&OjO(@1$u&pyy-{P;`O-}#DjN>y#t`RhWbvZ}TfFW$OtyFF~Y-3`{c z)Lu2d{_E?@N`jAo->00N0EAn3hCnWegMW8-{MNo47Qdbfax6-Dr20+YxJV3-gOh+)y;?##TpKAvd+eO>~Fd zWIWW7Xb&X?t6S(63H~B+?Q#_73JEBMgs$jr2f7uVD`Uw{NuU%GqKn*?SQ0inWAT-t zb|Pr)TqRO#-R90Xrdr~$M6xp;OIz!P+d86dG}fFZs@oE8i;DVU;f48yph+y*-qsOY z)fP>*0*2LV@5K6)3MC^e+u%zK8V$~pF7N1E1^rg&p+FG}1;ia@ zLJ=#1dK3vC)N0VL&cGvhfk#xEYTz*n)Zohkp?J*2U$0HLoy`KnAIx>TLTzyvOgh7%a9ev@vMrWy z+d9N$u=t9!9JkGNFLA{flG~NrmUqe6v2J&`b9Gu;PR{IDOIt@xyc0S_T0upPupoRX z6GADN62mxQVWdkd0J20R1e!I6AVA7E-`=$XiYtmufG>1n-$Jgm0+0_OGbe#DYPGut zhPKrZ|HKd|(h+E{SUeVWJ3HLfd27(BaL2bJ8e1)lgu@a#nReuWoC!1VDiRAr55yrZ zz_77KBcA9&gFz+RMOTi;B1tfByFOZ_6`)0=v#3ha2qS9+EheIMO$^ zMi9cIK$--g%Boi-h#@?3j`&?1kSFmuS80uD`IeA zu&S<7uorn?btoKbp9>=tT*v|4At9o@!qHhoG=>^R#dVnzR3gCRP$C&)Nj&SFu|UWX zvfJF~YB##Z%}s*M#=7DH3eR!HPp7*Gi{%rJhHY+Fdp8b{%`j;I#ysFe;zcXa$2am?yNNt6fefT3|tiY$}RRbkQr9fS=?~#6{GUDezIc)Uzp= zpP6KJaFiURO4T)5a0Q!)dDd$N$GXIAU**Q#7B>ttP;p5bQkWPK znA5mRz>rI&B|E#tS{E{~*hOCG+F*fp@Vt0SSn_s*%XSI@cyX>w!jvx=3q||c8z;TM zCD|d3;g(m?%5ji`j3b;=*-2dZbmPm`qnXX+X|URX$@L&TMT_?wHUK& z&SlHim7pwH)WU0AuUw-c!8Ne2mO?vpfC-CK7zER#c% zNDJRm0af!fEy+uz!Q96SoBf^cQ~V7aN~|M6Bdstk`Dx{9ZcAL^1djWOey){kc(|JD z4Cvc95fBfMS;k_Ervv>~TMW{2OGbIOXp$VoDV|8jyBxLvv5_#w>JE*5ASu8^gAqZH zRWv{Zlmkc-(H6Tj25zV&?7zuKhWjcL0X}xRKTvbWDhQYS#f4^kSkH!m%u`!sT(v#s?|N zb@!_&YpWOFRT?y4`^r8DXTT5t}*doVbS`K;AjJ9zbs zlBER)wG#?5OcYAEA=rfN6#J5Dvy(=Z0mmeCE*VqNwN$TywAlFSKL9T&btl5^_EHyi zvDH?U=X)eawJSD(KCsGRy1#2`@lgv+15v7o#(o0gDJW^ZkPITnB(XU!l45Octj;(( zU|r!)G_2eUQ8myeY%)CXT?~q;TAO>bHW&k8HvuGSisJsPrezx3)@_q}`vt*RJKU9k z{d1T}&;mk+8?gn|Z`~j!J+etIfxSN{0t_Ydkq~a#p^Fp1lcuS~ZgJ6+etQqFjKSL% zxZ8%6j<$8+?gZRZX~FI6g4GzDCP2W3{jpdx=5gZ-vLcTZYYd7tCWU58w||!ehrl>1 zI56&E2IN5r!lY0jZzd^9&<5{=$WlG3%fY5dOZPC))litwR!J5)k4G$PJxZ1=YV1)N zlC@?m5No8%1-%fB9bZ^OQ~`5f8m*yS7wkX970W=}BjlS~qHV#HLY|T&WGU< zuqZ}d1YU1DNh=TsVsRr5x&}5Vv@#563AZ)W)fMZ2ByO6nj(3EbaFw2)pD(H58wYMf zTdboacgYhsB}GtWtzo>&Q1Skc~*m@%p~nd~YnC|I>>RsO1p`JM5W0{DVZVF6H# za$93miHjm>uNeJgH;Gj3S>*oQ_?Z5Amuz3Dd4{cQOV-l55&y zqw?HQE87zA2n%fVuPJj|+oI7}hfg^0qiE2n&?t7Ti&4R>!)Go}lnrW_webqnEGOzo z_ZuYPY{n?raIuxiv7_7qZ2##kGDP6*5hw_Ep>lJkHs`_LSTA@e2z&-R0#;#q zS7-Yg9B)l6!|f0lSj!G@>uErN6__AYDuZviO&;a8MQ4nnN!uvcxPzNi;OiV`g#4C4 z1RKJnC^4-d?MOexkHh1H=Fp0^c5stgcq*Va7H?}FrB_^q$=nH(@~7mvlfXWxA-XG6 z8TEl0i_JB#aZdh3U>R6HJ>HO-BHtpc~DMHG%qJQ%3WOq$tjZCORg^V zP%jD11M8$SYicKyM?1r@2{5U0D{E@!VgmM4b8e`a+;6@m$Yh!Rj4K`QTxH2$y!|k*h2=;<^Hg3g1h??EGy3B>mtYUZ!VKRIjamtip zalL|i_gpY+qRds36LGNy#smP1LX?w`P0Z2d<8_>NkRo9uKGu-67pZooDr zFIZ>=50iOl0QpErM2d0YDGT6=#@b_evjk=*FlNO&;rS7qo(Ow)#2|X%6&U9D<{;ie zgtaHsT;F#FIiX|-+$;o-l(fPvIQBm%VQ{75Vv{oAhS#|97)(uZ#Dd}=lwk3RG;Jv+ z(!w=GN=`VT{|r7(%{#yPe=t5lhlVw9S8H1&;VyxDggK@8lbYf7pFHy~ec>~JgOB?y zE85XP#Hjy?{-=3U1q|KFd;UGY6yqv7r|EQ)CxX+#g9TG27jmrsl9o;hUGcxjBikVk`nbEWo=( zmwV1lOGRypCaYXrTI^2hH!)W;MU)_Kmh$5Qcz05JlBxeJQkdBqNLkpap6pjwZq(pC zdYmt-@F?6E`lNV}DQ(hZ*i6K`mI77}IAPrKw`XxtkqRPG8_UA30@Bj_2{nl?_gUWeT7q~dLk{aX`LhP&_r{^#K|XCe%QdE!$-VoD;$&glg$ zV$_vqm>#XfJbD!jD0~~SK#dK#jc_r)c=F@~B*uyjLaRV5FPEfQOGF8-_=E_!lrGDC z2)HhRGz%Bo;Pv2mwPHLd@9^$AS}>^M6)4^9kHbI#(@Pgv@!SPtUz!Eu4k>%#Tr3}r z10{P;;{XC{*fdMTY8R&6(Kej!#o*}z&?n7m$J>eSsGP_s3m!tSU}Xfm=u2Qig5F}q zqAi$9bauz#QAt2RU5rwY0%Fh-mGz8sxr^o*3mXlh%mNM zNw*wQ!Z-2TJ@6urqX8?hIxGDcXD2;hI=w%WwThlvpPiAlBc(bcyUz}0xU(~IuNksE zwIZW%>(Gjfl1<0dW?W2sCjXa7uHdgk{z}C^FQc#=xwj6THz@xXJ^tAl*|Rg;?WukC zj+ApVa?2I>HACiQ%o?Qpt)BkCkF2tMoqKy~bq0P577tVZe~4%I;k70iS+abpJ4%B3 zEB*0H<9L|-Z}sE%$|w6N{)+{-Wr=THQ5sJiuS~fwdiBC8DZ85Wx|n2{{PPCl-=138 z->w&`cF7|-e7c7c(k|s0?$*?6?CmL48M$DUO+ze`{`7wB=%*jUg6Vv}C;yt1xf$8O zu_<+{?X&NPp4=TNLE$0LLSTihL(#;2_MD88ij0dliI)L@OjED3J^l(&ict@4kAeEh zshZB8r=K)x{GX?v?9%u@Pe1vS#{YTx$*E*J6!UrdNu$R9dHTsNjbHC4{QEno*XQXc z|Ip-qo_;ck`WBY|S^7y-qyH@ZbrAcBgr%#ovNSDiL*TV`qJ<-ETIL&?1wpKk) zm;ER4tucTDRy`;0BC3E@D_$rC*%eeTfczpPa-rg?<785C;hS6rJeV|K&F5r?;%YEi z*vnTck|vWxe5)A1{d6H?;$@KyOn-t0XBb01V z^_*{VvGQI$7nvmYkQC2azDn&Ol1x?5B2ErhPz@)?DrgZW^A%LXNv}AcMqICI#kIgx z`W>IrVUvV;;!4U=lVm+z+DK;%5S+#@y5fNWg45S{ST?8oJj~_vmpm+&)7N`gA*cCA z+@OpSPJba)mOEg8V1>U$!XQ9!@;sW{d1%;lY28WeU^u1bGp#OTuv8xST3iFJ*<$^r5;wo=^qYJPO!(*lv1qlEMf#F;3V^u>X>i064iJb6+MH_usAU_ z@C%yHg04}5YFSX36670Sj)m7q;gP1Qd+m>XerNlM?)DLl^b>v8N0jL&y3I%Q9U^*+ z&fqa0QqrNd-2hJXTdMc#s{S>c{DKlx!^s;IRLjXfDyW8&574`nAUN>*aoA7;#EaEb z@*c(2z+BT*3;25e9mKU?aV=vmZa;|PvX#6~c9#bgSEHZH=QeApto5FaHc|3nC1@!N znyHlb#gwlS*CUFniMc$bn>=-8>bKN-2UROBV6GvmEM6rk<{G-RfX*U1P`b{;vN(N_ zhh=kmiHEtI=9d$Jyj)IS?9ml+y2ZmvI9;A4)f;e4#0sw@Mu-la6hC_atk9xA&y*t0 zAyES~vR_ag3%d3=$qljL84?swf*MbzWSIv^a_`eGdp^s)Ug=%Sf~G1#z6jzMw15S% zl?Iv^`PmkkYy*yg&y#YNGC&O{;l0x02v{|o%vMnCFDUsVHkVb)O`t63-?!R8#qCyH zOPOoBvWc&I{FJ!Zd{7gAz})XA^2frhMAS>?|3llGz(-M}{o_5E0Y(#;aEOu10Ro0A z2bbYkB`}c*M&t+q6$r^>0@0AfWWwQc3Q=Z51XfpZ)di1r@p{#L6j9!G9;>*k=KnlZ&(r;+W=41S_kZh?OjmvDTTeap)Y0A5-BnPwjpTjAR;id(%C%LB z8D{RHR8QKeN;nm3>9S&a>@*U1sVz8WRw|YfGg}i&iJ2B!KpB+L5j#2i7dluf`>Px* zjs4XQ=4XG6gJrP4*1@vbzrw+C**~$XZclMLIV-%L5<(|uFQ<#w>^a#oJ6REX-?pKd zjcS23*oKylaI)!1%H+~9&iRLBM{PmV*}J4Oca4&z87#wd|RoQGahTO(aCNTd28+L=5lu9Y(X(6L00lDN6`D^ zt+oXfvmjO$?y?V%z8^b!yD1y4ojCX6za`mqw(NN<+esBOf;>p6m=bp^JQPcc9cEsN zCB+Ui)2JLX=%~)I3J&;H*#SO)uNch^-9d1O0{K>Jva$0!}N>O_?LY)TP(XOQGLgAfaT zz)m%ty-r?5iSlwNGfc|kB(T`dJ7y?*fhe!qdCz6<5IfaO_7>StOgmXXQDt;g*9hb< zcd%6UhaD`9{nZZUXMdf8Ww3wMnYyI$YKiq&O6lU%5>u|QDMjpEPLku)5~o^hr<%@Q zC$E@V;#3YLrk1WEfj_tNjxp|LqTFTYJ&(Ol+R#k)eq%%P*qdg{p2^;oHWbq+)=<>d zbi}%3{{{z3Wq;Jc(%3(q9)Ckxzu7KX{tc8aP94QkVob}FO}3Qj?0wjVX1+jPKEeQV zE~%DF$2emS%f8kYG=sh4>{Kz;#HpNe%`uC96A2t+ODQ%f-x1{un^J00xO_iSf(ev* zA|0^~*+0d>QrTbVU}@~1>R^8MU+iER?4RLa+3YWNuw3?!>!Ax0_nMs*4pTyC6zp}< z#hJE?O;;2rUF@Y-kn*|T&aZ^Mebh?oY9fHW9Y}S!4fB$hwTd%0&_pupY(X<)Q^j0s zOs7<>cBrC&1Z%UG%LP}pv2%o+i`%wGjOa!dX;bFL zDiqUq*i=8*#fY)b1QIxrj;cwM{{ja~W&dOcOJn~u2lKPP$iXt$zmQ%+fjnX^1Xzzt zC|#W4izye`lp^+)k>oh17*2JuooYIJoxEbk!MVgPw*|)-cLh;4+k)q@cZUtlWbfNH zG>^SWw(Obgt+1h(7BC22x6seuaTenpcm`Qti3{kIz_*>w_r&$qE$}qP{?gQ%0nZ}j zcb(Q0cqRfbf7@SHLf2CZRP&dXC8ZYbIw8Kjv~c4E{SAwS%lPZntkw6V>Z1kgMGdOg z^-JKrW)T&JIT*>Ws;rM#-C`$4HA?AO-EiVVa+PhmID_9r4`vVVd>*fsS@U@|3_U+jWt$ zh6<~s;NlWoI;AAi*6#35c!~Nb4?Yzt57*TxA|xn*cf8pe_(fJtwTe+|PpPiWus z)!}mZf;eK8!6#-#Ovl&9@m+EF)C%LW7S${cXVsOKl~z|~O@^DX6%PjZ~Exfo4^uv$CtRP8HVAOst<8^+~!_vP7ALYqG4N3=M?Jfh5RRXOtO&#iluY^#E3YFAz*Vg?K>qvc4QV$je!-6RI@)r6JG}-DJ94vJ*%nAkq z8a$~Vt77VIYZqPhZCtt!jbo2`rO^5S0@-Ll=zTD(a8((jWeG?HswxRIJoqplzCWc7 zJscY+6lD?g6)E2;fdyx9*lk!`4J`@UIrcW4LrFt5EFK2cuKFhoQ@Y1tfkuynB3Y9s zO&aUZfW|%Or`xubS-*TSvhy6D`|83~rJ4Axua&91_>GH|Sym4lEtH4L8Wxt6 zmX+0omvF3tDyu7M+5q^K8UQtz81u-<%(a7|`iK)yaXB(BXS58Bga9g}v#zMaCZ&<^ zq7n+~I2hyGaBCaNumOVFLO`kdDAX=W+YsntW#aIf3054YYS+r-q1ZgZ{HI|*B*6DG z=~VZ=Po+T<2M zjENz6Dk=<)pG4_UEH?lV@yc)Q*D1Wh{`i&)>(BPT6tH;tCui#P2MysScNWkLic0AH zNT=s~usHY@fth~=U?_7q{7ZL~fYs+n)Je~JG(a@^yR@ZQbFg6Ga`nOf<^1`0HN?cr ze>0_*-&UXy&XtZaR-e@*VE5EC!|49cI=WBxd`W#;b!fu>B%?95-_uVqb8zs`@z^-+4x zhnce}{pW^qoSu(8C_Sg+V{jAu+8#L_ql14U{V*od(M*qz9*r)dm<^Qw2qS?JjNA56 zz>cj-jKyzCo((}f*O~UmF)?2L6ShMHxUojZGV|B0*k9y%tj}9xV=%w?QrvMhK|V|s z#BuJJs|HPSTX?34b#8SAh=(V~fOvoHf}H&nGlGsd1|dF&!fempgfB2~47&L)o#OD2 z0sl$D4*abbwilNuFU!aL5$^>@blj}Z1wZ1b7dqxo1V7^3|CygpIP>_3Y2Ey~4hDpC z+h4#55WH>+<~0m=F@&*P{KS*LKSY|_*0OCPcg)#S$Gc;`CT5(TSG5%b@@eus2B&Go z7@X$1VsN_n6SzK|nP)@GDpQ;k+wPoXA>nL)#upRL^~HF-^6=M%j9S)m<&CxTYK5oR z?UPe95})gv@g~A$eIta|53rG*YLCiGKR2mkO3e6=u-k5hM25p};J-7(u;Y9lBAml~ ze2Q?k1MB-d;Eb^>Jie3we+}?1(B9V2IK|%~f0BTIG6DV-$?=mS{5|py3HTlu!s6+f zoB;2c0MAK)=O)1MgTQ$CUX%czlK@|k0AC0=+Ovg*T>h>)LO8$P%->6|Wt_SOe+RuO zf&5=3z_+m+Djd&m-beTX!r!BM{(S;Dk0-$QkQ{#8{utCNx|b91j}o6B;qrIQpApVa z`<~Qd)CDNojUPzy_sS`tZ@l{Ik^ny=0e*G@JOgl*FAZh!s}9vJN3H8Zi+J`?Jfpzv@330i&Zy}*T&f?OP1JLu0JHyOl>ZMDcmZY8j6ue?fF7FLi4ilR{T3$Yy}+NFQY>ouPGV-7(sA|;}FXDGUzYp z80YihY6Isp>qY}-{@(=d2YD?2l)z=a0n88_=i5yOtr-T+=bcLpocVnJjnP@~&-p$e z_|iU)2wdv(mcS+d1A!x-_4!!flK)SEBbV*Qr(TRkob^AQPRWe(Sk%M7ncvsIS)YJ` zvmGh~o&)(ZUM=vx0>4qPKCBUy0INnpRoZAGB z_YREj5O}V@A0r&gh1YHy=+gK}!5<^|y9GX0;Li$toWNfZ^3iT+S9E_CIOe;H@;xTx zj0c?cKPC7mhv$=%={g4G_80u|0+(`v0{@xdPZPMT_c;mh1qtx01)eSBUng*B{~HNs z`}3vuZGtcLe@XCVJA6;@Wjj12aM=#qkpaf18$s6TJQ%znA`J`1bCysrToVQF5B%sfy;LLLIV7i1o$a|%XWJ@-OzEl@Em~d zEW*)VQqO(@m-RbX$WdOhXO7@YIhPAuw%ZyZN4Edvf-l?uW`WCge!IYBJHIah{;Qk=i*1r<)JJJ*+Mx*=%ex0BT z;bwUU8T^Nc9~69P&-sEc^$7{SEN_Fsuh!~VS0&(YH26!1za;_xW`WD`>UM$4@#>xg z_`?bCKNHUOe247gq6;~*J#-Ve9N+u`m;E$@aF);K51o%?|m*dr20+-{}F@Z}vd_y?ffyb-w1YfqR&K-5bK>N2j{|a25 zf71y^`DhO91Wxbql@cDUlK?43Xfn&aNm2^1& z3p@`n9`_at`KbRY;x83^sn06GNBx)e(+RFgz;71#M4)oMw+URfw_QR$>eH;nTh9o- ztgjag{w>6RTkxg+UmN_pi2uFdOZmP|n!xpYAMv{pj`c11gAD#7#GfqqQlI$-e=qSD z3BHtnmBD|G_^T7}A29f@5dZfH`1=h0Tf~1h0sl3F|2N{lBlxns9~=B{iT_ms{;~I1pE;OpY{J)0{%pU&-xc8;1?PE&MsZf z%M$Px8~lO9uM>RPewG^iA;e!R_|l$Hfy?vY7J+AhirlYnNr2-k#^|uVB!4gA+`mSW zJ}(Ns)aQMH%k$t#f#bMWgqeXmCGb25vz{GNRkVG-^E1k~GvQ{t>Md}2eiQFDL$(1pGXK%XWC7z_UOnuHRV+@R9`h8p2tBe9nY! zlih|9inl`_Cc!r_qa4X8RmWIP1^)WC_01Cur~+ zNuOfDm-<{U@J!H$?Yu1k{#$_$6Z|~_m)CDc1TOp6yM$x8&<<EZ6q}&ldT% zr_RRq;qrDN+_YyOflGY`3OTaB4-w|eu2w= z{V?Hdw;g1+KL{MX+~4;QZeFiGN4RO9BSH?^Ar&XFz`d7%|B=Auxb%r3Czs@WEBMl$ z?YrrGxE}AMcAHALsppvj9|}pi-JUJ*Jb|Ah>U+R-D_^9%|q|X$=m+fo;LCg; zGx+Bd|4;({F@ekS@(XudU(-oW=QLGpWgnSuFT$D6gx{9NE| zt}6syDEM~^{33xrBk(~2pK=xiz+o|`!awJ`NZ>Nxr2?1y7Q)#MA+p=sfi_p@DGJ6Z=t++Ve`mA0y=7Z1A}s?G}959{wqC z*{;s&2|~efzTA(p2*+|sIeCIF`_Y97_%j7A+f}i+ubBXOu-(9`91eqM2X^ddoS*;A zAp+z4Kz)IU(|M>p;aJ{w_;`|obtG|K?R%1eUq<0620p-}f$0W*6@^O- zd^Y7NPm7GjBz}oyV#IZLgCp4{y!u? zY~XKGx#|s^+a8B``|k$6NEgfc-oPKEa1rUt`g~3N z%M6_PmmBzYl5>lJ^9Ch%5{~8~s>f@&le5+pM<|6a2&V4 zq59(b!SbT~Y{L2dF}6bz;hzaP$men6djpRWKZ)vx<@6$6X9ItP_u4DKn@E0@z}5MY^js=% zl+W#Tg}{;j7|G}N)3{u2vfD<3AD}RgTg)Fw{ND;b=37Acy#mL4uO$3Yfg^tx;g1U( z`CF;Hye9YBr-7eI;Uu~kVtx7& z-a+6fpWA;IfulZ0i0?P>o)peB@aYsDA#jvmM0%cY;Cx=3B5=(2S_)q*aFjEU>~@)f zuOqxx;3(%_3iD1FXa|(Dfb6`+;Pb8$jRHshUgB>SILbds;oAj{{Ds7SfN-ua?$3`J zIPb3Vl#qk+2hxQt@2J80cO!eUzFfbr6aR>igZea6J^n@DD8Cb36!ZIjEPn>s^HYOA zoA_S{9Ob`G<^5jZD1STglSwbulXqfB6*$V_dg&=}lrx-e6#N25KDXN;0!RKL;*T-# z-w@85S+G8@5I#rnQ9ez-SmlIsJ+@Fed2~B8k^cqpZx%T6xgPHlIP&>Ds(S>E{AZ~i9}zh6??pp_+hgEg68@5b{|`=F zgL_TjD4*;1U4f(g_lf_Zz>&}O`?@E>F%5NopSl}ps3bp?$3Afuh^%s8smT}&IV6BjY z@<-8g*=q!j^0}RF5jgTcB>s&8M?SZ6evg;S%g<}?Hu&7m`8{6dH_`LX-GYz#zC!o` zfn&b^q`b;8y z`~pWlx7#5CNB-}LKgPh15kA?#JJLK}p}pWE$1fg}ItB)?AJ z$mi?+m4tJ9j(l!!e-JqG zd7bWk0!Mxy>R&Gs&gJ6oVqZ7#iBvCd3ppsi2VDTYFL0F4<^8+Bk^emLzZAGE@Am>n zeiA<)!UhPA+aZ@XMc~MvPyEgTNBQlkAN3SC@_$Eszrc~-iR?32;K(0O&uPvz@J7PN z3moNe`-gq(mBRzd`HJ`#3LN=glAgr|&h2)Az){X%nvh;>;JljdRR$g*{(6C9zURX~ zy3K@hd*F2!wi-AuPQP8qL49r}`41U5Ki7Fw;F#~Dbbf3RILf&mf57b*IP#xXsAciO zl^BiGGw3Z%)!JQO1@_$GCe+V4;>#4rd==v0+k>8!3 zfAkhO^0_^nZ{UxUo);3%_UG@*XBzlyYPXjOIhgNO%J&Kb_tQz3-?wKyClS6{@KH~$ zmtP1RlUmgKI6P% z`?W$2>T^1McXN}0UrzX~0+)9Coxo8}Gx2%$!pW{QUys_YvMp@KH`R{G-btobAl(L-2PB zjPttNxk3)=`6oY0v8M*N!uj{I+_-QFQ^8M>;BBZ`ML8qLJsP4JIU`r_o;0ELFro0?gm~+ zcu#?&K3tCj1&;EsCjJnCBcI2a(E>;QF5(9a{Lh5*{XOc5a(J967JS4Xal;R|kb$=n zUTfe(HQici;8eZVFATgt$$8MgpT~*-x5vPj5dTHOkv2>*_0KVb{}S=}`v~MCt;vQQe!qd|A(&66 zUn^|L-$wGU6mqag3s8A*R~h^_G;CdC@aGV|$>29p|GiD{xy~`k-3C92_|BGjdYw8F zZ$-(2#msmMFyX*4{t~yf2+ag>z^kR@LLQ%pRd15z*mC>l#})6^MW5Rbd2ke z)6W>^_O_h}jB~qs$H2M$_>l;X`P@zxm^ihE?Iuq3o~V8k)nlUiN>ne2?4QWaiR?*_ z1yp}wKbD{U*iP7wIFFZXAH>k<6`jgqmHEt?EWh8MlQSwiCpUL^_Hgiz8a@hqY_E53#pYnB6-cXt%_)tTD`o=HfvAELn*vFmiM|H|r+FG%R+UW& zc}|0*sfDL`r-r&E`7%&YY9PrQY#N2Bzx2&L?3?{(kg&#=@oqu0XX2N>dGGi#_W6pG z;=asxA^Tp}H1xgdY~So>A@Sgp8^82jvKRiJ`_eaOH+WLjL$$rA6i^C6p0y|rlBFCt z@k+(!yxDohd9(7O|HvzvH8Z&OlcSJr}HTA1!Vus;1ERApIy-Y#5wDzEjA zd95u4q5Zy{DY?ygN5{K-H||;UZKm&rmeUUJa5eOao-7C*4h%Y$-}vc=!+m$JeRmDG$g$|5-N#bD*}Z0sW%&Y!g3S|? zg1*3E>)Bwl)+4y?O?O`O^}Im`^BY?m1_hgn(!IN2#{K+gQm`qIo_bIXc)_*%upF1o z%bS}wFK>Qc$=>{&PxHro@7svCE&<=p0dTN_O?dHSL0Le*&FIa~`TAfWU7ekCj^unA z$nAfkr*CJVx3#{-xBdVSTK8-S4D|;?9|v;Fds_{E3pPj6{lVrZ(=qu0h_a5MoJOEy zPN0z|uN7Lr+}^InmdJhFikg0gEVKotQ@2w&Eh;53p27IXu|GYHOtc*wi8Dd-}Dn1Jhg{-}p~W@Q5nlia#B1{h<{a zsL&b*NgVnFf=`@C%7Rb66wkcI4uvIVYgjl1{I$K&> zzVvlY@-=3o!n*f8o{3UWS!ExUtW67usdnAI3!*Ur!#}=KJlugWA;O_ zR`x55e(u}pYMyp<%|DaYy=slmY@U_m3w)f{x-ZzeJAce~E8cBh>4LPXXOCYU-2G9K zN)Ay4(f!dy9%z4-m3J^757twtUS2fcyK+!P#pa651)+TteNTI`*PR;VTi*(CzD+m7 z@48bNksgo*%6}`kZlAX>dQ3FeVCXMuaw`!15PIunc?ScHs*+B08b1hnnr~;zpgoO8 zR&|566*@4{x6_k7KBM9NR=`$&5^OF^_XMNw6-K{l-G8hXyetfZ08}!JL6^a}poW7c zPkM0odr1?cp209^bPf#mf-c8vpf1*(%Jemcz!MDZZ`}`>PrzYu;=w?MQefgiPX?9{ z0WTcSkELOa#?Ve|t3Y$$`1luAFxcGdGAN+ZGr0S2n8^?irardtU#v7J$~uFxLzJ>Z zyvL^kOUuj8c{V?%C2!2PE1_HK(Ofqc%C8^<*7A6B4@b^a^|8Js(n$?q1ULLWuXQ&7 zAYsMJCpxv20m32ui6N7kJ>K9}-_CB{^+zK83PO-z_l9oSL{_nMe%PAZ&D(Go7zaGr z)?UalZ}#J0CQG*w9BK71dkC;VlOBemE7BJQqmlFl`Hk-feffKuilO>+HBI)wKs+HD zNDs8O1h<00_M@=q+o}OJ4Z}bXV&^n|>TA3ho&vxy7Z_KS9$38?y3+)mW@sbQ3Y*id z6Dgoi>we9+F#1_R=r2l8Ko5k$ro!|&`Hg=LMm=vtUJpb+0r?fO#N2 zh}>0==BZY%TyYQ!fmtK8 zDCg@y^fSn~uqpjGq&W^lP+|IlWBI4BMa*%lJig5Hb@rsMx-0KVY>I(#<>?bvFTf1u zP~O3&Au8XuB4<-Rh3V6RO-Xq$9JN+NyFpg2ii4gxI%7x*8AD6VfwSAbV{d+=vI^Yx zostZrP~bLe)q|ppzD*IxSQ{-mH@%n8!?)=|h{99R94I!Hw*qQ#bYatqW2Xw6Mjks+ z=gWM~cg+dVTlLEEa6;b`fc$%@Lj5Mc@kk_(tl>Eh6wg*)=5Ajj*1PW)IP9Ua(|nH= zrjJ(Ei>5$f0%*!^$MTv3SUk_APzx&^J_rfF!%$@N9l#ZhG$Oo+<}@@(VVN-{UmcRUZVKR;16N zCf^Y(W92tK>sybnZw2X;+}P@C#MhN%_&f*)n#$7y0XMX?yym&-u3+fTIAT#pjJ{3% zl|)15fZl>hCKN<>Qyg3m`L^wWF7Df=u9ST1cY*?iO^~@|owy(nJvQiM>mlC_dvG*+ z0S5WTJrN&VdFDrluE{&-S&Ov1G5_$bzW`FSzS#IRT(g0|#%J@QFObMcwd!RBp;rq+ zFMv&6#$eF*%t-8LFZ-TJ2~sW%TLRH{1|4cW)Ubha$d9J4J-!U=jn;FT7lwirs*OQU z4MfxD9N+$ZYb$Bp6iE-bBTxs;HLeqV3POJjMB%i#Kd;HNVGvv#9LbA%HbWo^$1Q;| ze_#0*Xs7`<3`|gYgHEZM%Zpm8;VLeWJ`DyVNDDP~R9R8w3?VV#ta=^mZyF?4!wu0^ zqzB12H+@mlg`Rcax>n>u<5Klou{q}m7{1{wI8C837U2mEA_MEZ(5X_pzkDw+Cl=P;ck~EqnwUx8rC*`PW)sk|X$3KO4u3AkPt}}wV)|+Bt{1g*tf~MKx zyY3T6S4fwag>cnYi|0?cB&Vy@_nSOhk=9rB9q7S$j(9{}Y@vcp9$l~>R+n{n z)xJkxwI2>PPsXcu7`c@ZEU+r7w(e~=XO1;+wKoT@@aDk((8E-Lir!Ys2x$4WZ^K<^ zhv>I3el)p)>vqT0qpb>gsKO!0d)*sw!|+1>AQ;G$`~!jXS}W&kvK%f6j_NIlwcH(W z9uSsWz{)ojf=|c{o=&w8Vq=95%~gc z3kst@wAy!72Ot8Bydph=>Ul-FzcBi>tn@J%zUF=~u*hNe8*GhYSbjl;rIZXg>|zFf zCj%LU%`H6_ZVC^92yvB7gP^bRfqz2Qp@T5Yt^tOn2E&^H6XQFKP+BP`*Ld@f+a$#J#5CpuVF7I3J3oc*l2r+uFKWdv60T7!&@q(1W_CK;Fmk)-4A7 z3S?`(x`T=S3vXhYCc`AcvP>A-)a{USwf?2=(m}rpL;6V^XVvG{GJ4 zsv)Q_obPq74!vxP*=&nZQDf3pzImCFqZC4=e#DLakvNXR!r*{g4*!@1{$D8kspsf9 zJAl;O5rz}}qa2inE)fTD%!}iZ>lOcu;}Lb?Fmll0+&}smkH@1&9x*&D7pIeX0&L@^ zJm&LJa;1J8FOQNd@pyjZ#&cXhXj}P@IR2w7wmFC6$w%zptsmsE4DhzemvNTIVN8P# zb&%=f@mSxV;$b|?<$Un?W9390nEPWqqld{(lGZr|1A>WT#9TULjTI%&ItuDLMCzyc5` z1D?|*L*(f!7v97q9>_pmiVLJ5vtwUKkOkaMD3_)BGF2v+#W^VjT|2wFxF$d@0$C#olG46AQtv5TrsSL9m-GvfVi;N+5t|fCRzmP7R>B*2SJZVQM=cj1xZ5u(p11Y(xtaD^uY{d*JG!<(QWdRAWl!JS_ zoI(x3LcxB?QVc3QOyn-i37;{k`XT#eIg-y$84r&{vK`$ps~ji37e4TP4KUqP_`6JO zuWcRoI!$!HnhVitr1W-B2bWhJl61&Jpnk70shtORQuVac3EHW=+Ha}^5!$;My(F!j z_j(Sv+P5D~J@}|cf3nan#Z`vM`s+=v+I4m{tDv_79ISR-D442)T`8ERgWV|T*TFL= zn4yE+DVVK;XHqa%2h%7xK?i$KFsOq)DX71PXxEE^b98JU*IFn>QvU@y=yzSKf{S#p zAC;(92M1CxqJtT(T2;VhIylsI0R-Ls*SK_en5#&IucmOOs~Kdw`>&($aMx`ryn({w zTt8R*%@oda<*E3s6rM=o?Gz3uZQT8LQ1}AZor-_I%WCHx4_@#2An!CUv>-75L+!Dk z=+fHlgyss+W4h>;4(-w<_v+A-Wxz=4p9-R;K)QC`Uqd(r6~-pe@f!F+bP@n5|0~fU z)L5uN>Bi>u00jodPA?<>IQ*1BP)RvW|AH)pI`xC5mXg#*DUs9@A!tuJ)JumvI@BAP zN&US#JCDvFsn2IgFpcte)m~v(zuko_(g90+mx&PBsT zs7uIl-NEu;1c1bLuuG_1hHwvJ5m_n&Wg=im0V50oeY>gaBa{yg^D&*e@N~6e_d?hC z3d_}sg+bRjQVSt8u?j7P0E_Dmg-%k92BW$|xkad|O=z(Uska(jZdZG_EOKwzzB;WE z3d_MYtIzrjo)vY+OD5%dz*wrBdY`lxf3Dff3$6_E`$;htkO37YZ-YY!}MVjBJ&z zzYa`r4TDtDpMHnUoZ!Myk0Z-azMU*423qo;q~0NG0Dh#Ws?_z2i(45Akxtj{(_Fh< zK=Brp6Og(;g4wo zH7&LgLJ!JNaZ_EGqiYt2P-$0D8mK&7$6V4Kve$l0U=5fD*XP;-!{T;MB&l9FgjG?! z&<+hkf-4inxR)N)JDj+(LJ&l!%V!7Cb~$Vlw4D>EgpTfnE^iZp9m++d&QWpQOZQP0 zc2b?=a5mz96dcTZ1i+g{E1?8KHo%YWHrG>udfmpJ-?8WS?0Jek&yuG%uI2CE^3dvD z?{d^99QBQg+Pu2A`!wX7Tm{x@=f$C+owpL=+IcSnWM~j#(YZn}_V{r$EK?2Dk3*sM zVoxepwc8ggO1`RW#|w!x+D}PJt(w0|~DOedu&E>?R27cDOyZeWTu)%PiM6yOZMBdAlk!##zG-*~#yX zpBxk1=OoC&RG#bb9P4uFz$O{ktOMEg;aaQ1X{hLF_L*xCrtNS#_AL`k&4jbN1Ge)X zf($gj3woU>4Gw4vDn*jom4RfJE9K`P3o}tBa;wFAt)vcD07@z+okmRDv%ogyC@TjN z!9CQk07aLw4?K7VQi5DsA6NP#fI9kET$Ts^{-B+LmtYIuFTA=pq157Uzb%? zS(ddh6v|qbJGx}_$YFKi@9>5TgY8CraZW6sJGYb0&maT2CpeTIXGDE z-TnvnjjO$5?#=Bp__Eo9#ue{c`OtYI-Ge`K7mpb`w)pDl?u^Oq`By@w_gw9s=j}bV z_}q_P8v06s`;2?sR}7h57F>0&yZe>y`K#S&&EqqEShER#-1R_Q6?AtDx$A};m|cec zk1cQS+_B#4yx)yG*IT&em2=^+&V6|0J;UA0Z#m{(e&rnvqatH3nBpB;R=h50XzH!C z#ks+uqsQNx8=QVgbcFZTH78$v>pbuLOXm;w-n*u_XxFB<&b#Z<`4EvbteZD;Mn$oA zm-lRU#M}E7@2+>scNGP_1vlU4ebBoLv>D<))oXM)TChN`kCILP_oZ+@4eT1D`>a&WN}isi}$^x30-RI6jVGL zph|?scP`Go^#^aCaqhWe-2H|ebkFsM+~>S|^5m^Wb;a=Sz8WM~dapciuY2d}=DNYf z?iZ5Ybzcc}erlyRw8MQ@(r4Za+$r8$&K|V34r=qr?0=kHTvU8=)zDwx2S;z8cfgaB z44q|aLsiw-S!1V-4UU~SwqWcGpzyTu%>4DQ2eVneURT8 zFrwT~4HafrSCdyCCiKF47rbAPYD_f4Hu$rf#gix~4n~*H_`{NM%K3xX#~i zKz%;|BmRn-hU#*EWwk$4Qx2K>^($>EUJnJcOY5p3Vyu5^P4zIi&kQew^c!Xo&h@kmAc}@PN@?+rA_SQ zZ}wd0-jtNzDI>2_c3!94$(=SQt?O`2`;BngLuaPvZ(VhIozy?EQ^v-2&7MG~>}%Rj z>XaMkG+~{(!GrYlNu`p7Kev(3lsiS6!veX5N-vPf8m%FXw5nP_I?3U~H1gziO1&m& zQm3?a?#Z3}fc0Vm9o54t@B?ohnu7I+LQBtfIKd%=ri)3av)}zM`{Fc#+lAuHoVKa#AI`rsV-{9?Ryk|tq{3&?p zKgtFcdvk0f%wsRlu)-$x?49bc*vkt60*k$^4vW2PMPRY_xLsNE%mPlPsGDud43om^ zE%JJaE~|u#@~NGw#7y-8*@CHVYsM>s4$D zb6LeK%3dziDz+6O4-5L#7BsVqp_R*;$%5Xu3pmph#9P&VK@=RU*w5Rp1D4AEZyjD5 z`~T%&e)jVxc{o_vez>(l2UvCz`P(~KF8iOOOE(y-T2uo0!wM%;La2TAo?%1t**nsP zX0Z288=8MNc{xL96EZ9G^OAb}DVxih8=GpbnaV|ic>`RiR8G}mXJ5?TG%7FD7<(O! zVygaO67ZERsOXm@;2v90%yvFq(r)7X0hK}pt@3GBbcp|O`$LYi6L{~`LvcCzUv zg)6C}O_`QT-rw3#30sLXgAvCR#3gacU&>y#9;g^#zhje9_OfuKnbN0`F1On{&5PA3 zW-NV;3_q&9mglnOu$R}6gF%_S3mg`E7dw!tQ7uK)(Ghzn`&T(wD*M+sSQ`7Ub}&Et z*Ev`Q`*|Tb?4j&$a(KDye>_!d2|aWT4Lgq7tndSr5PB$kopf7{#f<)(?oK;h5qm|t zcVg20mH5MKrM4ViHI4!z<>7xP<)Kyiu_+J5q~sOoez0|&$KKQF&JlVudk5LjJoe7A zp_%N}&lq8r&6>wvUU&?~5B5Gmv%SD#@5?q+`~i6{hq+61kdVF3B1QAq%lo+ki@nR~ z1_Z>j*IC`An7w~>SnTbfp4q7!*^7_NwG#8#d#Mc-vv>Xp9bS8Uw@h~_8u=h)c#a^~Hu-N;M zT^BRi%L@Ski@m%C5Hy<_vhHfz%5&N9Y)44Q-h9V0h2;GceTNCG-;lA|*=Cp|#z%ESuNuf&1ViB>T9X-Hab%vYWx# z&9k$cv5dSs9Eg{NdC`Glm5RCey*wtnS#0V%Z9%hG_8td{l^t`V#0zA;M@<8+AX`>( z;3K=eOlL3Gi{hCzQ$(%s208-i$yFTSCrNOh%3kgyipNX-i5#Ac8SOZS({0T{IpocE zpd#{q?LfR>R|mTmL)=){mM$xls6bA3WeZ|tm&M91i z9LwyAu?!DSZ`eJqn7!QdphL6QZFjc((_`Kjv3M$ zsr1|jp?Y`NHOaPCpeam&rs~^b#chu#Zu_b@;~sIW>3E-tC630+YV!H2f+tV$seQxdK&xAe0mE4`q6EIpS}OD%+kF7fAN zj_?o9&K{MOeQwt9k^b!5u_MkMn={H^xunLQzpU1uZe7_>8L_HL%feMk=F+;#NLWd2 zsIG^$6UK*LkSjOClEtNUSA^^8t&)=Z9P9Fu+8T_`T2!+*oK;s^R$5(|H91^e8P1wm zS)El}8LqA_oiR1f@eRw#9F0%Attu#@r5~nQ^`fzc%k6dynN(DjE`$TVr2+-7X^2=A zRW+p%$Q|GMsj7h|aq6dyvS_Wc($EzRwQ#5po4uo?rlO)g3^FPzK}ZeAsx2)aZq%yhwS}2CF2*X?L~HWYS^i0W^~_(@T+Z<99Dl|PsE1%_MB~GT4^p}*WojdJU`BYxzqk}~ zS_Y-53rCieR$&v$vG8HOH3_0GqFB&c*Pt*S)*xs!Txp~R7qnia4t`WVs+h_Il~mu@ zzN~PyYO1P{sz#y=nPZhKiIkRAh1twd#Oj4%rB{7JmCnhs>q{GeEsL$WJgmg3YDLYU zjuu81S+nXJN~^FW@J2&Lg?g<)4S(?dVMDzY2}5hr%p5Ykl@D((s01??mDX0))hNH} zM!M{_4yyb$RpqQPz89fu|AKsRSk=)t(lQJySOC{V39Di zXw?s3jL@wYH5ok;bg?E+nl#p*0S#@?Pq#BGvwrzvs82XX>hy6D`|83~rI`_I?3v12 zUK%O2GRx}gt<3UpS;NAT(z3F;@Dh$yP-S&RO&dU&DYLEy6Js7ZnK=-zgQ5CJ&S)7L zX$KTDw~eHVy3)mALc)tmD5y1o!LtpwwxO&V*r2J_T&r7$E!Eb(Z3r^7GT}{ta3&aT z7@T{db7Y2U7OUzq&k6rU*bixN5}PJcYzY&{XP%zTYYcpnM{{*{TJ)TvyUbH`>(Lu9 z%!g0@X-EP$1pX1HvnxW{(VE-Sj0iu+({UgicY#io+f^U2{5a2I zmj6<~OqrNsUqAeXmsJeIm|VQKj+g(0dX=2F$W-eJ;=P}le+6JDbGWA4zizBpaOdiS z{mc3Du>oSxPtC>VO`!Bk_1&M(ODe#Foot<>O{bZ|c8*(l51BY7dv6^}mbK z8#L=ErJu$`B5-=?`)9a9vp2H7= zCtm(L^i{vLgNT?v-i4U?w*Y1o5fE4hYLGfuwbT!FD3*H|BI2b#cAidA$qDIba-Ro0 zp8nIYVS!^iq5j?A-_-vDz)YC{S<}zQU*`=69g5|?0}=7^Uqtz5Q$ozYJN%pZe+5{) z{MS9-!`e96@ zqshfKWeib@xtj9lJ*QZVnI6Mt+ehxAsXE03xFbf_2mWzLH0_ULTD<&s%!CMVX8$qs z*R0rII+rC81-?Sa${C z+zw<$ZvCZ(gsdweByGr%%M#$L6X4e-z^_YyU!MTKJpsN0@GemE{JzAS)L!s>8&ChI z65xAD4nLjc_cD(r;J=>$|1tr7DgllIPdq(4Ksn;!_%>ZU9LIOGLkmSt1G(siCg6`q zfR7_NJQcb{i{Z&hJ@aJYw;eROBk#VQoA{aHhSk1vrHL$>Sg_|Vt<1tna8p<~X*m9j zQNe7SFA2d-Kh1|#s41iht3utLTVZ%N9B#ftIR8;nhBy6IeSN63y27|=2O)6Z4iiwN zA)bLTrfNcBZpD}zsi+I9L?M`v(oFp&QvYeA)XWQ z)X#f>^LiL2eh<}yi9aiFymnzZ*bdPlAJ3_bcR&Cf9`Jn1cqaqr%aKxn_Y?dz0!KN_ z$B%!|;h{hLvwXRhFkVZryG8KR0c8Fi0+(`rM>yWD;aQSy->jX2kLNO$qgHByFh=90 zKI3}?{~UpzjfDY+(f#0``6~$Ld@&B)uLM5>!p!GAP*IN5|DceAb_l{hx)+2TsecDD zEXo-S|1AFkfe#Tl?`4Yovjx7B&X*?sSAnAnEdK)o=lbo}9!TI&j^qzAaOPiZ;4J@A z1806c;b>=+?}vYM%M82)#wm2y2|0KT%ku9LILc=HpunZw{wVNF!B3@^Ca}Dcf2P1C zKU?6EpO*j+3tY;1HvwKqCven9@_BDd#PJ%8%j-r%f-~{c1uo_E5IEY6uRI1DINqb7 znf!c9Hz7JST?<@`zDQqNZfF8Ql) z@&=q~pQZ%(F9j~kd%M7K&Wi2xuz_P5bo&H80>aEcEO063Re@&-{@VhVa!v>w<#4_y z1uo@e(*+9JLAJN?3Gk@`A1w4KOMovCxXgEL0(?sXe5=5*TyEjDJu6G z;oPq99E|Q8!5;--u9seP5rg)@xoO7x3tYB`k%Y5+)^&p5OZk%pF6CS*aG7tZz$L%l zz`0-ioN!a0YXx8GbDhAY{1kypeQryD)9DNDRP;Cl2j%GWtM($GOAm$9Fs5)iB`Tb% zMajWB;O8eikBIUSXXhsmmKUF;z=xU2aXmBs2;qZtw8|Ixk5D+%z*iA}jDeTa_1pvl z|A3U5Y~b$_f2x6RpztgMf0g+BJ`?Nz5XryX;Oo_EV6S5X|0Bs+Vc@f|lEGc854Ih+ zTsIgvf1$C>z&DWm-x)Z6!-)6k=ve=Or2l>m+xVA+zhdAwll}i@;Jo+U7Y2SS>BCDM zaK2X&kLQ~hpF(yxoAP0NAn`K|{5sO}X9hlz!i5I@I|^TB;J+dHmm7Ew(r3AWS5kO` zf%hf;O$N?;I^AvHgNVP=z;{!*_**Hq10K=6X7J~eoj)}2QVR38RxIanlHZ<=j9*Fo z?gq}EpK*I(eje!`F!(&~U2NdLnni0#tk;+wX@VgTK5d&XD;U^4y2=Vzo zl;!gWNY5Jl85BNc;1^Mt_jYADjU>Mt>C5;;3iIn#jC1=QZ18`jtJfN1;G@{igkyH3 zib_#v;5-j}g^?@8nrIF^gY+hGPip2{=Mz_$_}H1NZO7aO>j!sP~joWgYmoG-Lk zKCYL$2|p?LnC}|+N7s|`;r5^=MF2m~z-tuSvWg6x?XbYWiEb@6@b{_RE;sNc)P8

        !w*Mal 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

        (MBUp=6XEXM(roL!wM6)V*Igc^xDvhqT=j^9GvQ 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

      1. 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

        ^~p6 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≦C-v{w8~EkSKb)@%|AS;a9HaHgmh%zwQ(My^ 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 L;&i$Z(NF(3aZ9h~ literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/list.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/list.c new file mode 100755 index 00000000..1518bb35 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/list.c @@ -0,0 +1,411 @@ +/* + $Log: list.c,v $ + Revision 1.5 2003/07/14 13:36:58 ivo + use space() instead of malloc + + Revision 1.4 2000/10/10 08:53:52 ivo + include dmalloc.h header if DMALLOC defined + + Revision 1.4 2000/10/10 08:04:34 ivo + include dmalloc header id DMALLOC defined + + Revision 1.3 1998/03/30 14:24:51 ivo + use RNA package utils.h + + Revision 1.2 1997/10/09 19:01:50 steve + *** empty log message *** + + Revision 1.1 1997/08/04 21:05:32 walter + Initial revision + +*/ +/* + (C) 1991 Kendall Bennett. +*/ + +#include +#include +#include "utils.h" +#include "list.h" + +/*@unused@*/ +static char rcsid[] = "$Id: list.c,v 1.5 2003/07/14 13:36:58 ivo Exp $"; + +#define PUBLIC +PUBLIC void * +lst_newnode (int size) +/**************************************************************************** +* +* Function: lst_newnode +* Parameters: size - Amount of memory to allocate for node +* Returns: Pointer to the allocated node's user space. +* +* Description: Allocates the memory required for a node, adding a small +* header at the start of the node. We return a reference to +* the user space of the node, as if it had been allocated via +* malloc(). +* +****************************************************************************/ +{ + LST_BUCKET *node; + + node = (LST_BUCKET *) space (size + sizeof (LST_BUCKET)); + + return LST_USERSPACE (node); /* Return pointer to user space */ +} + +PUBLIC void +lst_freenode (void *node) +/**************************************************************************** +* +* Function: lst_freenode +* Parameters: node - Node to free. +* +* Description: Frees a node previously allocated with lst_newnode(). +* +****************************************************************************/ +{ + free (LST_HEADER (node)); +} + +PUBLIC LIST * +lst_init (void) +/**************************************************************************** +* +* Function: lst_init +* Returns: Pointer to a newly created list. +* +* Description: Initialises a list and returns a pointer to it. +* +****************************************************************************/ +{ + LIST *l; + + if ((l = (LIST *) space (sizeof (LIST))) != NULL) + { + l->count = 0; + l->head = &(l->hz[0]); + l->z = &(l->hz[1]); + l->head->next = l->z->next = l->z; + } + + return l; +} + +PUBLIC void +lst_kill (LIST * l, void (*freeNode) (void *node)) +/**************************************************************************** +* +* Function: lst_kill +* Parameters: l - List to kill +* freeNode - Pointer to user routine to free a node +* +* Description: Kills the list l, by deleting all of the elements contained +* within the list one by one and then deleting the list +* itself. Note that we call the user supplied routine +* (*freeNode)() to free each list node. This allows the user +* program to perform any extra processing needed to kill each +* node (if each node contains pointers to other items on the +* heap for example). If no extra processing is required, just +* pass the address of lst_freenode(), ie: +* +* lst_kill(myList,lst_freenode); +* +****************************************************************************/ +{ + LST_BUCKET *n, *p; + + n = l->head->next; + while (n != l->z) + { /* Free all nodes in list */ + p = n; + n = n->next; + (*freeNode) (LST_USERSPACE (p)); + } + free (l); /* Free the list itself */ +} + +PUBLIC void +lst_insertafter (LIST * l, void *node, void *after) +/**************************************************************************** +* +* Function: lst_insertafter +* Parameters: l - List to insert node into +* node - Pointer to user space of node to insert +* after - Pointer to user space of node to insert node after +* +* Description: Inserts a new node into the list after the node 'after'. To +* insert a new node at the beginning of the list, user the +* macro LST_HEAD in place of 'after'. ie: +* +* lst_insertafter(mylist,node,LST_HEAD(mylist)); +* +****************************************************************************/ +{ + LST_BUCKET *n = LST_HEADER (node), *a = LST_HEADER (after); + + n->next = a->next; + a->next = n; + l->count++; +} + +PUBLIC void * +lst_deletenext (LIST * l, void *node) +/**************************************************************************** +* +* Function: lst_deletenext +* Parameters: l - List to delete node from. +* node - Node to delete the next node from +* Returns: Pointer to the deleted node's userspace. +* +* Description: Removes the node AFTER 'node' from the list l. +* +****************************************************************************/ +{ + LST_BUCKET *n = LST_HEADER (node); + + node = LST_USERSPACE (n->next); + n->next = n->next->next; + l->count--; + return node; +} + +PUBLIC void * +lst_first (LIST * l) +/**************************************************************************** +* +* Function: lst_first +* Parameters: l - List to obtain first node from +* Returns: Pointer to first node in list, NULL if list is empty. +* +* Description: Returns a pointer to the user space of the first node in +* the list. If the list is empty, we return NULL. +* +****************************************************************************/ +{ + LST_BUCKET *n; + + n = l->head->next; + return (n == l->z ? NULL : LST_USERSPACE (n)); +} + +PUBLIC void * +lst_next (void *prev) +/**************************************************************************** +* +* Function: lst_next +* Parameters: prev - Previous node in list to obtain next node from +* Returns: Pointer to the next node in the list, NULL at end of list. +* +* Description: Returns a pointer to the user space of the next node in the +* list given a pointer to the user space of the previous node. +* If we have reached the end of the list, we return NULL. The +* end of the list is detected when the next pointer of a node +* points back to itself, as does the dummy last node's next +* pointer. This enables us to detect the end of the list +* without needed access to the list data structure itself. +* +* NOTE: We do no checking to ensure that 'prev' is NOT a +* NULL pointer. +* +****************************************************************************/ +{ + LST_BUCKET *n = LST_HEADER (prev); + + n = n->next; + return (n == n->next ? NULL : LST_USERSPACE (n)); +} + +/* Static globals required by merge() */ + +static LST_BUCKET *z; +static int (*cmp) (void *, void *); + +static LST_BUCKET * +merge (LST_BUCKET * a, LST_BUCKET * b, LST_BUCKET ** end) +/**************************************************************************** +* +* Function: merge +* Parameters: a,b - Sublist's to merge +* Returns: Pointer to the merged sublists. +* +* Description: Merges two sorted lists of nodes together into a single +* sorted list. +* +****************************************************************************/ +{ + LST_BUCKET *c; + + /* Go through the lists, merging them together in sorted order */ + + c = z; + while (a != z && b != z) + { + if ((*cmp) (LST_USERSPACE (a), LST_USERSPACE (b)) <= 0) + { + c->next = a; + c = a; + a = a->next; + } + else + { + c->next = b; + c = b; + b = b->next; + } + }; + + /* If one of the lists is not exhausted, then re-attach it to the end + * of the newly merged list + */ + + if (a != z) + c->next = a; + if (b != z) + c->next = b; + + /* Set *end to point to the end of the newly merged list */ + + while (c->next != z) + c = c->next; + *end = c; + + /* Determine the start of the merged lists, and reset z to point to + * itself + */ + + c = z->next; + z->next = z; + return c; +} + +PUBLIC void +lst_mergesort (LIST * l, int (*cmp_func) (void *, void *)) +/**************************************************************************** +* +* Function: lst_mergesort +* Parameters: l - List to merge sort +* cmp_func - Function to compare two user spaces +* +* Description: Mergesort's all the nodes in the list. 'cmp' must point to +* a comparison function that can compare the user spaces of +* two different nodes. 'cmp' should work the same as +* strcmp(), in terms of the values it returns. +* +****************************************************************************/ +{ + int i, N; + LST_BUCKET *a, *b; /* Pointers to sublists to merge */ + LST_BUCKET *c; /* Pointer to end of sorted sublists */ + LST_BUCKET *head; /* Pointer to dummy head node for list */ + LST_BUCKET *todo; /* Pointer to sublists yet to be sorted */ + LST_BUCKET *t; /* Temporary */ + + /* Set up globals required by merge() and pointer to head */ + + z = l->z; + cmp = cmp_func; + head = l->head; + + for (N = 1, a = z; a != head->next; N = N + N) + { + todo = head->next; + c = head; + while (todo != z) + { + + /* Build first sublist to be merged, and splice from main list + */ + + a = t = todo; + for (i = 1; i < N; i++) + t = t->next; + b = t->next; + t->next = z; + t = b; + + /* Build second sublist to be merged and splice from main list + */ + + for (i = 1; i < N; i++) + t = t->next; + todo = t->next; + t->next = z; + + /* Merge the two sublists created, and set 'c' to point to the + * end of the newly merged sublists. + */ + + c->next = merge (a, b, &t); + c = t; + } + } +} + +#ifdef LIST_TEST + +/*---------------------------------------------------------------*/ +/*---------------------------------------------------------------*/ + +/* Simple program to test the list routines */ + +typedef struct +{ + char name[40]; + int age; +} +REC; + +/*---------------------------------------------------------------*/ + +int +my_cmp (REC * r1, REC * r2) +{ + return strcmp (r1->name, r2->name); +} + +/*---------------------------------------------------------------*/ + +void +main (void) +{ + LIST *list; + int done = 0; + REC *rec; + char line[80]; + + list = lst_init (); + + printf ("Type a list of names and ages. Empty line quits\n\n"); + + while (!done) + { + rec = lst_newnode (sizeof (REC)); + gets (line); + if ((done = (line[0] == '\0')) != 1) + { + strcpy (rec->name, line); + gets (line); + rec->age = atoi (line); + lst_insertafter (list, rec, LST_HEAD (list)); + } + }; + + printf ("\nThe list you typed in was:\n\n"); + + for (rec = lst_first (list); rec; rec = lst_next (rec)) + printf ("Name: %s, Age: %d\n", rec->name, rec->age); + + printf ("\nSorting the list...\n\n"); + + lst_mergesort (list, my_cmp); + + for (rec = lst_first (list); rec; rec = lst_next (rec)) + printf ("Name: %s, Age: %d\n", rec->name, rec->age); + + lst_kill (list, lst_freenode); +} + +/*---------------------------------------------------------------*/ + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/list.h b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/list.h new file mode 100755 index 00000000..31fd3cef --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/list.h @@ -0,0 +1,65 @@ +/* + $Log: list.h,v $ + Revision 1.2 2000/10/10 08:50:01 ivo + some annotation for lclint + + Revision 1.1 1997/08/04 21:05:32 walter + Initial revision + +*/ + +#ifndef __LIST_H +#define __LIST_H + +/*---------------------- Macros and type definitions ----------------------*/ + +typedef struct LST_BUCKET { + struct LST_BUCKET *next; +} +LST_BUCKET; + +typedef struct { + int count; /* Number of elements currently in list */ + LST_BUCKET *head; /* Pointer to head element of list */ + LST_BUCKET *z; /* Pointer to last node of list */ + LST_BUCKET hz[2]; /* Space for head and z nodes */ +} +LIST; + +/* Return a pointer to the user space given the address of the header of + * a node. + */ + +#define LST_USERSPACE(h) ((void*)((LST_BUCKET*)(h) + 1)) + +/* Return a pointer to the header of a node, given the address of the + * user space. + */ + +#define LST_HEADER(n) ((LST_BUCKET*)(n) - 1) + +/* Return a pointer to the user space of the list's head node. This user + * space does not actually exist, but it is useful to be able to address + * it to enable insertion at the start of the list. + */ + +#define LST_HEAD(l) LST_USERSPACE((l)->head) + +/* Determine if a list is empty + */ + +#define LST_EMPTY(l) ((l)->count == 0) + +/*-------------------------- Function Prototypes --------------------------*/ + +/*@only@*//*@out@*/ void *lst_newnode (int size); +void lst_freenode (/*@only@*/ void *node); +/*@only@*//*@out@*/ LIST *lst_init (void); +void lst_kill (LIST * l, void (*freeNode) ()); +void lst_insertafter (LIST * l, /*@keep@*/ void *node, void *after); +void *lst_deletenext (/*@only@*/ LIST * l, void *node); +/*@dependent@*/ void *lst_first (LIST * l); +/*@dependent@*/ void *lst_next (void *prev); +void lst_mergesort (LIST * l, int (*cmp_func) ()); + +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/list.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/list.o new file mode 100755 index 0000000000000000000000000000000000000000..55480f0066026ef53ef608eea2ca5122ee9605b8 GIT binary patch literal 13928 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 Y_X*3G3d^`3SVr83AJBNdN)zIL0qX{wmjD0& literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/ll.a b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/ll.a new file mode 100755 index 0000000000000000000000000000000000000000..113d556a88e6f771063b2231c4df5627e072281f GIT binary patch literal 1584930 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₼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%0D0|G<2n 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 G?a|QNdX>8fufIOhCWoKC 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

        W#&Kb9X$$!?8pxfxG8K7#4Q6!kjn{M`bwA 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�B%;B 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�xJ0xTOQOHciDJsGdMjBp$pJg~GHVmc^>yANUS3 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 NVKbN0jfDO5{{XUxp05A^ literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/naview.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/naview.c new file mode 100755 index 00000000..3915d94e --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/naview.c @@ -0,0 +1,1149 @@ +/* +* NAVIEW -- A program to make a modified radial drawing of an RNA +* secondary structure. +* +* Copyright (c) 1988 Robert E. Bruccoleri +* Copying of this software, in whole or in part, is permitted +* provided that the copies are not made for commercial purposes, +* appropriate credit for the use of the software is given, this +* copyright notice appears, and notice is given that the copying +* is by permission of Robert E. Bruccoleri. Any other copying +* requires specific permission. +* +* See R. Bruccoleri and G. Heinrich, Computer Applications in the +* Biosciences, 4, 167-173 (1988) for a full description. +* +* In November 1997, Michael Zuker made a number of changes to bring +* naview up to modern standards. All functions defined in naview are +* now declared before main() with arguments and argument types. +* When functions are defined, their argument types are declared +* with the function and these definitions are removed after the '{'. +* The 'void' declaration was used as necessary for functions. +* +* The troublesome na_scanf function was deleted and replaced by +* scanf. Finally, there is now no default for the minimum separation +* of bases. A floating point number must be entered. However, as +* before an entry < 0 will be moved up to 0 and an entry > 0.5 +* will be reduced to 0.5. +* +* Adapted for use as a subroutine in the Vienna RNA Package +* by Ivo Hofacker, May 1998: +* deleted output routines, replaced main() by naview_xy_coordinates(), +* which fills the X and Y arrays used by PS_rna_plot() etc. +* added ansi prototypes and fixed memory leaks. +*/ + +#include +#include +#include +#include + +#include "utils.h" + +typedef int LOGICAL; +#define logical LOGICAL + +#define true 1 +#define false 0 +#define FATAL_ERROR 1 +#define SUCCESS 0 + +#define type_alloc(type) (type *) space(sizeof(type)) + +#define struct_alloc(structure_name) type_alloc(struct structure_name) + +#define add_double_list(head,tail,newp) {\ + (newp)->next = (newp)->prev = NULL; \ + if ((head) == NULL) (head) = (tail) = (newp); \ + else { \ + (tail)->next = (newp); \ + (newp)->prev = (tail); \ + (tail) = (newp); \ + } \ + } + +static double pi = 3.141592653589793; +static double anum = 9999.0; + + +/* +* Function data type definitions +*/ + +#define minf2(x1, x2) ((x1)<(x2))?(x1):(x2) +#define maxf2(x1, x2) ((x1)>(x2))?(x1):(x2) + +static struct base { + int mate; + double x,y; + logical extracted; + struct region *region; +} *bases; + +struct region { + int start1,end1,start2,end2; +}; + +struct loop { + int nconnection; + struct connection **connections; + int number; + int depth; + logical mark; + double x,y,radius; +}; + +struct connection { + struct loop *loop; + struct region *region; + int start,end; /* Start and end form the 1st base pair of the region. */ + double xrad,yrad,angle; + logical extruded; /* True if segment between this connection and + the next must be extruded out of the circle */ + logical broken; /* True if the extruded segment must be drawn long. */ +}; + +static int nbase, nregion, loop_count; + +static struct loop *root, *loops; + +static struct region *regions; + +static struct loop *construct_loop(int ibase); + +struct radloop { + double radius; + int loopnumber; + struct radloop *next, *prev; +}; + +static struct radloop *rlphead; + +static double lencut; + +static logical debug = false; + +static void read_in_bases(short *pair_table); +static void find_regions(void); +static void dump_loops(void); +static void find_central_loop(void); +static void determine_depths(void); +static void traverse_loop(struct loop *lp,struct connection *anchor_connection); +static void determine_radius(struct loop *lp,double lencut); +static void generate_region(struct connection *cp); +static void construct_extruded_segment(struct connection *cp,struct connection *cpnext); +static void find_center_for_arc(int n,double b,double *hp,double *thetap); +static int depth(struct loop *lp); + +static logical connected_connection(struct connection *cp, struct connection *cpnext); +static int find_ic_middle(int icstart, int icend, struct connection *anchor_connection, struct connection *acp, struct loop *lp); + + +int naview_xy_coordinates(short *pair_table, float *X, float *Y) { + int i; + + nbase = pair_table[0]; /* length */ + bases = (struct base *) space(sizeof(struct base)*(nbase+1)); + regions = (struct region *) space(sizeof(struct region)*(nbase+1)); + read_in_bases(pair_table); + lencut = 0.5; + rlphead = NULL; + find_regions(); + loop_count = 0; + loops = (struct loop *) space(sizeof(struct loop)*(nbase+1)); + construct_loop(0); + find_central_loop(); + if (debug) dump_loops(); + + traverse_loop(root,NULL); + for (i=0; ii) npairs++; + } + if (npairs==0) { /* must have at least 1 pair to avoid segfault */ + bases[1].mate=nbase; + bases[nbase].mate=1; + } +} + +static void find_regions(void) +/* +* Identifies the regions in the structure. +*/ + +{ + int i,mate,nb1; + logical *mark; + + nb1 = nbase + 1; + mark = (int *) space(sizeof(int)*nb1); + for (i = 0; i < nb1; i++) mark[i] = false; + nregion = 0; + for (i=0; i<=nbase; i++) { + if ( (mate = bases[i].mate) && !mark[i]) { + regions[nregion].start1 = i; + regions[nregion].end2 = mate; + mark[i] = true; + mark[mate] = true; + bases[i].region = bases[mate].region = ®ions[nregion]; + for (i++,mate--; + inconnection = 0; + retloop->connections = (struct connection **) space(sizeof(struct connection *)); + retloop->depth = 0; + retloop->number = loop_count; + retloop->radius = 0.0; + for (rlp = rlphead; rlp; rlp = rlp->next) + if (rlp->loopnumber == loop_count) retloop->radius = rlp->radius; + i = ibase; + do { + if ((mate = bases[i].mate) != 0) { + rp = bases[i].region; + if (!bases[rp->start1].extracted) { + if (i == rp->start1) { + bases[rp->start1].extracted = true; + bases[rp->end1].extracted = true; + bases[rp->start2].extracted = true; + bases[rp->end2].extracted = true; + lp = construct_loop(rp->end1 < nbase ? rp->end1+1 : 0); + } + else if (i == rp->start2){ + bases[rp->start2].extracted = true; + bases[rp->end2].extracted = true; + bases[rp->start1].extracted = true; + bases[rp->end1].extracted = true; + lp = construct_loop(rp->end2 < nbase ? rp->end2+1 : 0); + } + else { + fprintf(stderr, "naview: Error detected in construct_loop. i = %d not found in region table.\n",i); + exit(FATAL_ERROR); + } + retloop->connections = (struct connection **) + realloc(retloop->connections, + (++retloop->nconnection+1) * + sizeof(struct connection *)); + retloop->connections[retloop->nconnection-1] = cp = + struct_alloc(connection); + retloop->connections[retloop->nconnection] = NULL; + cp->loop = lp; + cp->region = rp; + if (i == rp->start1) { + cp->start = rp->start1; + cp->end = rp->end2; + } + else { + cp->start = rp->start2; + cp->end = rp->end1; + } + cp->extruded = false; + cp->broken = false; + lp->connections = (struct connection **) + realloc(lp->connections, + (++lp->nconnection+1) * + sizeof(struct connection *)); + lp->connections[lp->nconnection-1] = cp = + struct_alloc(connection); + lp->connections[lp->nconnection] = NULL; + cp->loop = retloop; + cp->region = rp; + if (i == rp->start1) { + cp->start = rp->start2; + cp->end = rp->end1; + } + else { + cp->start = rp->start1; + cp->end = rp->end2; + } + cp->extruded = false; + cp->broken = false; + } + i = mate; + } + if (++i > nbase) i = 0; + } + while (i != ibase); + return retloop; +} + +static void dump_loops(void) +/* +* Displays all the loops. +*/ + +{ + int il,ilp,irp; + struct loop *lp; + struct connection *cp,**cpp; + + printf("\nRoot loop is #%d\n",(root-loops)+1); + for (il=0; il < loop_count; il++) { + lp = &loops[il]; + printf("Loop %d has %d connections:\n",il+1,lp->nconnection); + for (cpp = lp->connections; (cp = *cpp); cpp++) { + ilp = (cp->loop - loops) + 1; + irp = (cp->region - regions) + 1; + printf(" Loop %d Region %d (%d-%d)\n", + ilp,irp,cp->start,cp->end); + } + } +} + +static void find_central_loop(void) +/* +* Find node of greatest branching that is deepest. +*/ + +{ + struct loop *lp; + int maxconn,maxdepth,i; + + determine_depths(); + maxconn = 0; + maxdepth = -1; + + for (i=0; inconnection > maxconn) { + maxdepth = lp->depth; + maxconn = lp->nconnection; + root = lp; + } + else if (lp->depth > maxdepth && lp->nconnection == maxconn) { + maxdepth = lp->depth; + root = lp; + } + } +} + +static void determine_depths(void) +/* +* Determine the depth of all loops. +*/ + +{ + struct loop *lp; + int i,j; + + for (i=0; idepth = depth(lp); + } +} + + +static int depth(struct loop *lp) +/* +* Determines the depth of loop, lp. Depth is defined as the minimum +* distance to a leaf loop where a leaf loop is one that has only one +* or no connections. +*/ + +{ + struct connection *cp,**cpp; + int count,ret,d; + + if (lp->nconnection <= 1) return 0; + if (lp->mark) return -1; + lp->mark = true; + count = 0; + ret = 0; + for (cpp=lp->connections; (cp = *cpp); cpp++) { + d = depth(cp->loop); + if (d >= 0) { + if (++count == 1) ret = d; + else if (ret > d) ret = d; + } + } + lp->mark = false; + return ret+1; +} + +static void traverse_loop(struct loop *lp, struct connection *anchor_connection) +/* +* This is the workhorse of the display program. The algorithm is +* recursive based on processing individual loops. Each base pairing +* region is displayed using the direction given by the circle diagram, +* and the connections between the regions is drawn by equally spaced +* points. The radius of the loop is set to minimize the square error +* for lengths between sequential bases in the loops. The "correct" +* length for base links is 1. If the least squares fitting of the +* radius results in loops being less than 1/2 unit apart, then that +* segment is extruded. +* +* The variable, anchor_connection, gives the connection to the loop +* processed in an previous level of recursion. +*/ + +{ + double xs,ys,xe,ye,xn,yn,angleinc,r; + double radius,xc,yc,xo,yo,astart,aend,a; + struct connection *cp,*cpnext,**cpp,*acp,*cpprev; + int i,j,n,ic; + double da,maxang; + int count,icstart,icend,icmiddle,icroot; + logical done,done_all_connections,rooted; + int sign; + double midx,midy,nrx,nry,mx,my,vx,vy,dotmv,nmidx,nmidy; + int icstart1,icup,icdown,icnext,direction; + double dan,dx,dy,rr; + double cpx,cpy,cpnextx,cpnexty,cnx,cny,rcn,rc,lnx,lny,rl,ac,acn,sx,sy,dcp; + int imaxloop; + + angleinc = 2 * pi / (nbase+1); + acp = NULL; + icroot = -1; + for (cpp=lp->connections, ic = 0; (cp = *cpp); cpp++, ic++) { + /* xs = cos(angleinc*cp->start); + ys = sin(angleinc*cp->start); + xe = cos(angleinc*cp->end); + ye = sin(angleinc*cp->end); */ + xs = -sin(angleinc*cp->start); + ys = cos(angleinc*cp->start); + xe = -sin(angleinc*cp->end); + ye = cos(angleinc*cp->end); + xn = ye-ys; + yn = xs-xe; + r = sqrt(xn*xn + yn*yn); + cp->xrad = xn/r; + cp->yrad = yn/r; + cp->angle = atan2(yn,xn); + if (cp->angle < 0.0) cp->angle += 2*pi; + if (anchor_connection != NULL && + anchor_connection->region == cp->region) { + acp = cp; + icroot = ic; + } + } + + set_radius: + determine_radius(lp,lencut); + radius = lp->radius; + if (anchor_connection == NULL) xc = yc = 0.0; + else { + xo = (bases[acp->start].x+bases[acp->end].x) / 2.0; + yo = (bases[acp->start].y+bases[acp->end].y) / 2.0; + xc = xo - radius * acp->xrad; + yc = yo - radius * acp->yrad; + } + + /* + * The construction of the connectors will proceed in blocks of + * connected connectors, where a connected connector pairs means + * two connectors that are forced out of the drawn circle because they + * are too close together in angle. + */ + + /* + * First, find the start of a block of connected connectors + */ + + if (icroot == -1) + icstart = 0; + else icstart = icroot; + cp = lp->connections[icstart]; + count = 0; + if (debug) printf("Now processing loop %d\n",lp->number); + done = false; + do { + j = icstart - 1; + if (j < 0) j = lp->nconnection - 1; + cpprev = lp->connections[j]; + if (!connected_connection(cpprev,cp)) { + done = true; + } + else { + icstart = j; + cp = cpprev; + } + if (++count > lp->nconnection) { + /* + * Here everything is connected. Break on maximum angular separation + * between connections. + */ + maxang = -1.0; + for (ic = 0; ic < lp->nconnection; ic++) { + j = ic + 1; + if (j >= lp->nconnection) j = 0; + cp = lp->connections[ic]; + cpnext = lp->connections[j]; + ac = cpnext->angle - cp->angle; + if (ac < 0.0) ac += 2*pi; + if (ac > maxang) { + maxang = ac; + imaxloop = ic; + } + } + icend = imaxloop; + icstart = imaxloop + 1; + if (icstart >= lp->nconnection) icstart = 0; + cp = lp->connections[icend]; + cp->broken = true; + done = true; + } + } while (!done); + done_all_connections = false; + icstart1 = icstart; + if (debug) printf("Icstart1 = %d\n",icstart1); + while (!done_all_connections) { + count = 0; + done = false; + icend = icstart; + rooted = false; + while (!done) { + cp = lp->connections[icend]; + if (icend == icroot) rooted = true; + j = icend + 1; + if (j >= lp->nconnection) { + j = 0; + } + cpnext = lp->connections[j]; + if (connected_connection(cp,cpnext)) { + if (++count >= lp->nconnection) break; + icend = j; + } + else { + done = true; + } + } + icmiddle = find_ic_middle(icstart,icend,anchor_connection,acp,lp); + ic = icup = icdown = icmiddle; + if (debug) + printf("IC start = %d middle = %d end = %d\n", + icstart,icmiddle,icend); + done = false; + direction = 0; + while (!done) { + if (direction < 0) { + ic = icup; + } + else if (direction == 0) { + ic = icmiddle; + } + else { + ic = icdown; + } + if (ic >= 0) { + cp = lp->connections[ic]; + if (anchor_connection == NULL || acp != cp) { + if (direction == 0) { + astart = cp->angle - asin(1.0/2.0/radius); + aend = cp->angle + asin(1.0/2.0/radius); + bases[cp->start].x = xc + radius*cos(astart); + bases[cp->start].y = yc + radius*sin(astart); + bases[cp->end].x = xc + radius*cos(aend); + bases[cp->end].y = yc + radius*sin(aend); + } + else if (direction < 0) { + j = ic + 1; + if (j >= lp->nconnection) j = 0; + cp = lp->connections[ic]; + cpnext = lp->connections[j]; + cpx = cp->xrad; + cpy = cp->yrad; + ac = (cp->angle + cpnext->angle) / 2.0; + if (cp->angle > cpnext->angle) ac -= pi; + cnx = cos(ac); + cny = sin(ac); + lnx = cny; + lny = -cnx; + da = cpnext->angle - cp->angle; + if (da < 0.0) da += 2*pi; + if (cp->extruded) { + if (da <= pi/2) rl = 2.0; + else rl = 1.5; + } + else { + rl = 1.0; + } + bases[cp->end].x = bases[cpnext->start].x + rl*lnx; + bases[cp->end].y = bases[cpnext->start].y + rl*lny; + bases[cp->start].x = bases[cp->end].x + cpy; + bases[cp->start].y = bases[cp->end].y - cpx; + } + else { + j = ic - 1; + if (j < 0) j = lp->nconnection - 1; + cp = lp->connections[j]; + cpnext = lp->connections[ic]; + cpnextx = cpnext->xrad; + cpnexty = cpnext->yrad; + ac = (cp->angle + cpnext->angle) / 2.0; + if (cp->angle > cpnext->angle) ac -= pi; + cnx = cos(ac); + cny = sin(ac); + lnx = -cny; + lny = cnx; + da = cpnext->angle - cp->angle; + if (da < 0.0) da += 2*pi; + if (cp->extruded) { + if (da <= pi/2) rl = 2.0; + else rl = 1.5; + } + else { + rl = 1.0; + } + bases[cpnext->start].x = bases[cp->end].x + rl*lnx; + bases[cpnext->start].y = bases[cp->end].y + rl*lny; + bases[cpnext->end].x = bases[cpnext->start].x - cpnexty; + bases[cpnext->end].y = bases[cpnext->start].y + cpnextx; + } + } + } + if (direction < 0) { + if (icdown == icend) { + icdown = -1; + } + else if (icdown >= 0) { + if (++icdown >= lp->nconnection) { + icdown = 0; + } + } + direction = 1; + } + else { + if (icup == icstart) icup = -1; + else if (icup >= 0) { + if (--icup < 0) { + icup = lp->nconnection - 1; + } + } + direction = -1; + } + done = icup == -1 && icdown == -1; + } + icnext = icend + 1; + if (icnext >= lp->nconnection) icnext = 0; + if (icend != icstart && (! (icstart == icstart1 && icnext == icstart1))) { + /* + * Move the bases just constructed (or the radius) so + * that the bisector of the end points is radius distance + * away from the loop center. + */ + cp = lp->connections[icstart]; + cpnext = lp->connections[icend]; + dx = bases[cpnext->end].x - bases[cp->start].x; + dy = bases[cpnext->end].y - bases[cp->start].y; + midx = bases[cp->start].x + dx/2.0; + midy = bases[cp->start].y + dy/2.0; + rr = sqrt(dx*dx + dy*dy); + mx = dx / rr; + my = dy / rr; + vx = xc - midx; + vy = yc - midy; + rr = sqrt(dx*dx + dy*dy); + vx /= rr; + vy /= rr; + dotmv = vx*mx + vy*my; + nrx = dotmv*mx - vx; + nry = dotmv*my - vy; + rr = sqrt(nrx*nrx + nry*nry); + nrx /= rr; + nry /= rr; + /* + * Determine which side of the bisector the center should be. + */ + dx = bases[cp->start].x - xc; + dy = bases[cp->start].y - yc; + ac = atan2(dy,dx); + if (ac < 0.0) ac += 2*pi; + dx = bases[cpnext->end].x - xc; + dy = bases[cpnext->end].y - yc; + acn = atan2(dy,dx); + if (acn < 0.0) acn += 2*pi; + if (acn < ac) acn += 2*pi; + if (acn - ac > pi) sign = -1; + else sign = 1; + nmidx = xc + sign*radius*nrx; + nmidy = yc + sign*radius*nry; + if (rooted) { + xc -= nmidx - midx; + yc -= nmidy - midy; + } + else { + for (ic=icstart; ; ++ic >= lp->nconnection ? (ic = 0) : 0) { + cp = lp->connections[ic]; + i = cp->start; + bases[i].x += nmidx - midx; + bases[i].y += nmidy - midy; + i = cp->end; + bases[i].x += nmidx - midx; + bases[i].y += nmidy - midy; + if (ic == icend) break; + } + } + } + icstart = icnext; + done_all_connections = icstart == icstart1; + } + for (ic=0; ic < lp->nconnection; ic++) { + cp = lp->connections[ic]; + j = ic + 1; + if (j >= lp->nconnection) j = 0; + cpnext = lp->connections[j]; + dx = bases[cp->end].x - xc; + dy = bases[cp->end].y - yc; + rc = sqrt(dx*dx + dy*dy); + ac = atan2(dy,dx); + if (ac < 0.0) ac += 2*pi; + dx = bases[cpnext->start].x - xc; + dy = bases[cpnext->start].y - yc; + rcn = sqrt(dx*dx + dy*dy); + acn = atan2(dy,dx); + if (acn < 0.0) acn += 2*pi; + if (acn < ac) acn += 2*pi; + dan = acn - ac; + dcp = cpnext->angle - cp->angle; + if (dcp <= 0.0) dcp += 2*pi; + if (fabs(dan-dcp) > pi) { + if (cp->extruded) { + fprintf(stderr, "Warning from traverse_loop. Loop %d has crossed regions\n", + lp->number); + } + else if ((cpnext->start - cp->end) != 1) { + cp->extruded = true; + goto set_radius; /* Forever shamed */ + } + } + if (cp->extruded) { + construct_extruded_segment(cp,cpnext); + } + else { + n = cpnext->start - cp->end; + if (n < 0) n += nbase + 1; + angleinc = dan / n; + for (j = 1; j < n; j++) { + i = cp->end + j; + if (i > nbase) i -= nbase + 1; + a = ac + j*angleinc; + rr = rc + (rcn-rc)*(a-ac)/dan; + bases[i].x = xc + rr*cos(a); + bases[i].y = yc + rr*sin(a); + } + } + } + for (ic=0; ic < lp->nconnection; ic++) { + if (icroot != ic) { + cp = lp->connections[ic]; + generate_region(cp); + traverse_loop(cp->loop,cp); + } + } + n = 0; + sx = 0.0; + sy = 0.0; + for (ic = 0; ic < lp->nconnection; ic++) { + j = ic + 1; + if (j >= lp->nconnection) j = 0; + cp = lp->connections[ic]; + cpnext = lp->connections[j]; + n += 2; + sx += bases[cp->start].x + bases[cp->end].x; + sy += bases[cp->start].y + bases[cp->end].y; + if (!cp->extruded) { + for (j = cp->end + 1; j != cpnext->start; j++) { + if (j > nbase) j -= nbase + 1; + n++; + sx += bases[j].x; + sy += bases[j].y; + } + } + } + lp->x = sx / n; + lp->y = sy / n; + + /* free connections (ih) */ + for (ic = 0; ic < lp->nconnection; ic++) + free(lp->connections[ic]); + free(lp->connections); +} + + +static void determine_radius(struct loop *lp,double lencut) +/* +* For the loop pointed to by lp, determine the radius of +* the loop that will ensure that each base around the loop will +* have a separation of at least lencut around the circle. +* If a segment joining two connectors will not support this separation, +* then the flag, extruded, will be set in the first of these +* two indicators. The radius is set in lp. +* +* The radius is selected by a least squares procedure where the sum of the +* squares of the deviations of length from the ideal value of 1 is used +* as the error function. +*/ + +{ + double mindit,ci,dt,sumn,sumd,radius,dit; + int i,j,end,start,imindit; + struct connection *cp,*cpnext; + static double rt2_2 = 0.7071068; + + do { + mindit = 1.0e10; + for (sumd=0.0, sumn=0.0, i=0; + i < lp->nconnection; + i++) { + cp = lp->connections[i]; + j = i + 1; + if (j >= lp->nconnection) j = 0; + cpnext = lp->connections[j]; + end = cp->end; + start = cpnext->start; + if (start < end) start += nbase + 1; + dt = cpnext->angle - cp->angle; + if (dt <= 0.0) dt += 2*pi; + if (!cp->extruded) + ci = start - end; + else { + if (dt <= pi/2) ci = 2.0; + else ci = 1.5; + } + sumn += dt * (1.0/ci + 1.0); + sumd += dt * dt / ci; + dit = dt/ci; + if (dit < mindit && !cp->extruded && ci > 1.0) { + mindit = dit; + imindit = i; + } + } + radius = sumn/sumd; + if (radius < rt2_2) radius = rt2_2; + if (mindit*radius < lencut) { + lp->connections[imindit]->extruded = true; + } + } while (mindit*radius < lencut); + if (lp->radius > 0.0) + radius = lp->radius; + else lp->radius = radius; +} + +static logical connected_connection(struct connection *cp, struct connection *cpnext) +/* +* Determines if the connections cp and cpnext are connected +*/ + +{ + + if (cp->extruded) { + return true; + } + else if (cp->end+1 == cpnext->start) { + return true; + } + else { + return false; + } +} + +static int find_ic_middle(int icstart, int icend, struct connection *anchor_connection, struct connection *acp, struct loop *lp) +/* +* Finds the middle of a set of connected connectors. This is normally +* the middle connection in the sequence except if one of the connections +* is the anchor, in which case that connection will be used. +*/ + +{ + int count,ret,ic,i; + logical done; + + count = 0; + ret = -1; + ic = icstart; + done = false; + while (!done) { + if (count++ > lp->nconnection * 2) { + printf("Infinite loop detected in find_ic_middle\n"); + exit(FATAL_ERROR); + } + if (anchor_connection != NULL && lp->connections[ic] == acp) { + ret = ic; + } + done = ic == icend; + if (++ic >= lp->nconnection) { + ic = 0; + } + } + if (ret == -1) { + for (i=1, ic=icstart; i<(count+1)/2; i++) { + if (++ic >= lp->nconnection) ic = 0; + } + ret = ic; + } + return ret; +} + +static void generate_region(struct connection *cp) +/* +* Generates the coordinates for the base pairing region of a connection +* given the position of the starting base pair. +*/ + +{ + int l,start,end,i,mate; + struct region *rp; + + rp = cp->region; + l = 0; + if (cp->start == rp->start1) { + start = rp->start1; + end = rp->end1; + } + else { + start = rp->start2; + end = rp->end2; + } + if (bases[cp->start].x > anum - 100.0 || + bases[cp->end].x > anum - 100.0) { + printf("Bad region passed to generate_region. Coordinates not defined.\n"); + exit(FATAL_ERROR); + } + for (i=start+1; i<=end; i++) { + l++; + bases[i].x = bases[cp->start].x + l*cp->xrad; + bases[i].y = bases[cp->start].y + l*cp->yrad; + mate = bases[i].mate; + bases[mate].x = bases[cp->end].x + l*cp->xrad; + bases[mate].y = bases[cp->end].y + l*cp->yrad; + } +} + +static void construct_circle_segment(int start, int end) +/* +* Draws the segment of residue between the bases numbered start +* through end, where start and end are presumed to be part of a base +* pairing region. They are drawn as a circle which has a chord given +* by the ends of two base pairing regions defined by the connections. +*/ + +{ + double dx,dy,rr,h,angleinc,midx,midy,xn,yn,nrx,nry,mx,my,a; + int l,j,i; + + dx = bases[end].x - bases[start].x; + dy = bases[end].y - bases[start].y; + rr = sqrt(dx*dx + dy*dy); + l = end - start; + if (l < 0) l += nbase + 1; + if (rr >= l) { + dx /= rr; + dy /= rr; + for (j = 1; j < l; j++) { + i = start + j; + if (i > nbase) i -= nbase + 1; + bases[i].x = bases[start].x + dx*(double)j/(double)l; + bases[i].y = bases[start].y + dy*(double)j/(double)l; + } + } + else { + find_center_for_arc(l-1,rr,&h,&angleinc); + dx /= rr; + dy /= rr; + midx = bases[start].x + dx*rr/2.0; + midy = bases[start].y + dy*rr/2.0; + xn = dy; + yn = -dx; + nrx = midx + h*xn; + nry = midy + h*yn; + mx = bases[start].x - nrx; + my = bases[start].y - nry; + rr = sqrt(mx*mx + my*my); + a = atan2(my,mx); + for (j = 1; j < l; j++) { + i = start + j; + if (i > nbase) i -= nbase + 1; + bases[i].x = nrx + rr*cos(a+j*angleinc); + bases[i].y = nry + rr*sin(a+j*angleinc); + } + } +} + +static void construct_extruded_segment(struct connection *cp, struct connection *cpnext) +/* +* Constructs the segment between cp and cpnext as a circle if possible. +* However, if the segment is too large, the lines are drawn between +* the two connecting regions, and bases are placed there until the +* connecting circle will fit. +*/ + +{ + double astart,aend1,aend2,aave,dx,dy,a1,a2,ac,rr,da,dac; + int start,end,n,nstart,nend; + logical collision; + + astart = cp->angle; + aend2 = aend1 = cpnext->angle; + if (aend2 < astart) aend2 += 2*pi; + aave = (astart + aend2) / 2.0; + start = cp->end; + end = cpnext->start; + n = end - start; + if (n < 0) n += nbase + 1; + da = cpnext->angle - cp->angle; + if (da < 0.0) { + da += 2*pi; + } + if (n == 2) construct_circle_segment(start,end); + else { + dx = bases[end].x - bases[start].x; + dy = bases[end].y - bases[start].y; + rr = sqrt(dx*dx + dy*dy); + dx /= rr; + dy /= rr; + if (rr >= 1.5 && da <= pi/2) { + nstart = start + 1; + if (nstart > nbase) nstart -= nbase + 1; + nend = end - 1; + if (nend < 0) nend += nbase + 1; + bases[nstart].x = bases[start].x + 0.5*dx; + bases[nstart].y = bases[start].y + 0.5*dy; + bases[nend].x = bases[end].x - 0.5*dx; + bases[nend].y = bases[end].y - 0.5*dy; + start = nstart; + end = nend; + } + do { + collision = false; + construct_circle_segment(start,end); + nstart = start + 1; + if (nstart > nbase) nstart -= nbase + 1; + dx = bases[nstart].x - bases[start].x; + dy = bases[nstart].y - bases[start].y; + a1 = atan2(dy,dx); + if (a1 < 0.0) a1 += 2*pi; + dac = a1 - astart; + if (dac < 0.0) dac += 2*pi; + if (dac > pi) collision = true; + nend = end - 1; + if (nend < 0) nend += nbase + 1; + dx = bases[nend].x - bases[end].x; + dy = bases[nend].y - bases[end].y; + a2 = atan2(dy,dx); + if (a2 < 0.0) a2 += 2*pi; + dac = aend1 - a2; + if (dac < 0.0) dac += 2*pi; + if (dac > pi) collision = true; + if (collision) { + ac = minf2(aave,astart + 0.5); + bases[nstart].x = bases[start].x + cos(ac); + bases[nstart].y = bases[start].y + sin(ac); + start = nstart; + ac = maxf2(aave,aend2 - 0.5); + bases[nend].x = bases[end].x + cos(ac); + bases[nend].y = bases[end].y + sin(ac); + end = nend; + n -= 2; + } + } while (collision && n > 1); + } +} + +static void find_center_for_arc(int n,double b,double *hp,double *thetap) +/* +* Given n points to be placed equidistantly and equiangularly on a +* polygon which has a chord of length, b, find the distance, h, from the +* midpoint of the chord for the center of polygon. Positive values +* mean the center is within the polygon and the chord, whereas +* negative values mean the center is outside the chord. Also, the +* radial angle for each polygon side is returned in theta. +* +* The procedure uses a bisection algorithm to find the correct +* value for the center. Two equations are solved, the angles +* around the center must add to 2*pi, and the sides of the polygon +* excluding the chord must have a length of 1. +*/ + +{ + double h,hhi,hlow,r,disc,theta,e,phi; + int iter; +#define maxiter 500 + + hhi = (n+1) / pi; + hlow = - hhi - b/(n+1.000001-b); /* changed to prevent div by zero if (ih) */ + if (b<1) hlow = 0; /* otherwise we might fail below (ih) */ + iter = 0; + do { + h = (hhi + hlow) / 2.0; + r = sqrt(h*h + b*b/4.0); + /* if (r<0.5) {r = 0.5; h = 0.5*sqrt(1-b*b);} */ + disc = 1.0 - 0.5/(r*r); + if (fabs(disc) > 1.0) { + fprintf(stderr, "Unexpected large magnitude discriminant = %g %g\n", disc,r); + exit(FATAL_ERROR); + } + theta = acos(disc); + /* theta = 2*acos(sqrt(1-1/(4*r*r))); */ + phi = acos(h/r); + e = theta * (n+1) + 2*phi - 2*pi; + if (e > 0.0) { + hlow = h; + } + else { + hhi = h; + } + } while (fabs(e) > 0.0001 && ++iter < maxiter); + if (iter >= maxiter) { + fprintf(stderr, "Iteration failed in find_center_for_arc\n"); + h = 0.0; + theta = 0.0; + } + *hp = h; + *thetap = theta; +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/naview.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/naview.o new file mode 100755 index 0000000000000000000000000000000000000000..a8f443b46564b70033d22bb554bacdcfb6c67276 GIT binary patch literal 58328 zcmeIbdwf*Y)i-`lPQW7|Gu#vva4#+FSTA|k+Iy{YcJ@hX+xPkXKF=TT z`H(qlfA`vJt-bcz*E5`1pPN4?#WW4ROyg3+O)+X1cYfEUX9{wrG0ZsE$XSw8oKuuj zShP5_;cs^G49rTbO;3Hw1|k%Bp<`F5CG};2ioDRsL!sm#Oy{>u-<@;dG$fDVhb&8( zd5O7pR$I=2xdSl^Qkgl41^(kbwuX|6{Gp96*7wbxXE&S-B~vi(czd!cJ+-1@YsJ=3 zWFLtDy-lH(KKq31)P5V=5~=CF<`q!6{A5+XKu)p&?AwoA$+f!&Z|v}G3_)J@`@ZHH zxaVZAvV9wO19c$SZ!p}9yhv^zg0kWNx2nJy3f~f$7Wt$FUc_>gdQx zUYwWMpO;*3x6Cm&>`w_rJ_+r5$I3~ZCVVhIav|3IsVPt@l-MJ%yvSK#3?z5WO9bCK zm6x1r=O?oA6P0%8Kp;##yyYY(=Or6;ojpnC z1$l`%y3R9QeRDuxwyF{s&6_~7)Y!+PF*zo^W8bu~sC*}W_!bg(_9#y70Re^!S|8k15+VT=#VnA=0VK%NxE*ZQN#C2?Zu^}8vmf2bF zDz7i8{4OE*5<&^I}EU`N}uIey=^Hs2#{ z9|^vkB@o0pi4JrU^uz>&(@_gMWPaq`%UTBRC<^U*(^?$5@o%?*kWf-INY2QwDt!He z8GiVz&#+JWN`s^P@L4|!=zhWUH79-k{g9WB)YAR%_w-3$$*z;Wg>53g*0*U`s$rbW z@r`;#u+>)h#y#V^DG4edU7Efo=Sj5rq;L6$x!He*+pACx;B{97r3JHFQZEcj=fj`QOXY*mpV2q-wkq}0Xu@yO0>HqAMNg!pW$EoKIyZLNz zPsg4cKmQ2szAXdblTCwrDH_n9l$VII&=jC(sVEKi*FgRrxWk`lmV=N+XTjg{LqP8X zGr?W{L!iG6H17q?`+T>2BL$82Lr%Ym>F|-Co+*s;%Wi<0{jwD3gDlhm?g)U?U4o@0 z*96N1QUY=%|EPmNp}eKoI+!4Tmb8HxkfuuC@-B2m5Gs7(%6mO0t`Y2{J9daLgXpUPhSb2pb%RNasczA68Q5Ufjj(_yae6uMUh)8YAw13 z=qvHHoc<+_Z6cznUsY`Fs%J%xgj$B&o`YTMEephM7A^qU`ROH~38Dr=K}d&Oh;%Se z1VBj;4eS>j4SmfoLqIYJBOn(HhFt&Jgtzx4g;#^-iC{~u*?#DAXBY-iyTw4f6T(rB z!0uSQRasBm_%|H+q@4WZ5^M({Gn9BT{cgw!C4QBDC*BVF zIbBLC-JVW7P$@qI(NefCg?kC~Qa{A^LKv8qzX0{GGeR4l6wLw4kpp7VZ5GMAWRV@pE`Y_<&k+T8<|pnK?Umdt z8U@@+4o++qZH7+Xcsq%}hR#nG*umsbY~P9?jf{D}fmERE&XidQiGeXsM3rHjn2{$& z3d1-$156!(Hr+5Ihby@}MOpIW0Nn<5=CiWF}OtEqjme^4-bCfuY;- zk^@0X|9Kh7c@W2?muJ9Aq_>&WP z44VW_$Oi_zKqgEA#{(Vvf{7inSmNXCH`ZSX-asBKdIsEsNtv6|@jKt9c38G?#3#?m zi|ox$6sG(06YtMYPTZZJ`1DxI$GBq6PXgNT(~f{h&qD0&kX z*b{-I$pi)-bTjM-H>alq;oI1!lV2!5>pjKYK!#8PTu=(-;_!j{&1R9p`XeeFDjHBW zZnn(ciDiAz;3!1;B|q^2Sc+*;2gObKiLZ{O{@rPa`m;OsWxug*05vQ&H)?_n$W3Hv z%k*=zJ^>5cKnc!xi4z_BvrqZ9EEoXI&BJniAQah!jeivs&dVOS8{}aDUvL-Lfz&iv zF&UiOc6aQ`e$_Ys;D$HN`UgP>a&-8bU+9Z5B{ozb3&Grt9nb&)tXSd|ps?|L8ykTS zOd0|SypB(k{>t6>$(qx1I-c`wdKR|+IUBy}ASSfiw{3S;8>m8AkZ9Yu+qbbJMRXe> zhb#^z?-z2>pU9fK@x2^hXg{>4j2z#lHvq+!K~o$DV5@+J{A@Y>&KdW8~S^Eo}C0-HbSEjtg&5S{0H5cm+t5VBWhpe!I}L;r_$=ABSMNL?1d058e_ ztU3J@U=YHvREH7agkTuAO>jcA%Oa2klaJtADrUFqY#1#B1tnn)fQ>^y1QbohFo)m> z)0~cJWMO%075K|?APHMRSa;{?GEN7S7qYDW(?Gu^FksD zK+Q}T=4dz^w=3kEC1~8{h@mvyh8;PqV*JlQL1~vW3@?UxW$ClGL1})5jRP`J zum=rAW{aU3>XnZ>JFptP1xc|fEs>tYK^!@7*Vhk9CAW*l+W7jKy5O{5iSF#%cqgof zbAF3~)czB(G;S7Cdvb8FCDPH}S1dv0Y%kUaS#8O<-1>x|AIXKrLc4wIKcE9WM;yYz zI9tf<0=xZX5CduKfzY=x{NTVygvxdb#@E-t=3nZ8feSf=FF^;=(|Y;xvBM#)gg>N= zF2cXr6cv%uc#L6jIEW?BaYxx~*?;SYfPFZwW$*HRdp8_SaF}m=0PF60`w`r&NB|2#wpo-x23H?#id=$xTB{RkKWzyZ++K*0R4q)p5ldI%rMi_C>do%YPw zZT^Q$II5Ze>R~75$N3&KfFXx`HxIT%pCQe-w=Tgy;DM;IipevFLINh#rM}P;wXT9F4nXeT*A7#wh1#8!wL!EGn(KAo*6Dgg(E@)GKkl);9)pJ9&$T)t2uoout3RX!HfQ)xL+#Pnw=`@u<0yRH`tSd zhJk_&#VTxWV|XR%tjf42Jnc$vzZphJ5HI4s{nTf!7lX-6nBLpZKc(b<0B*y`gcI3J zj8a&eHb-D!lN|s*b2DTFf#C2zbHWB?`NgMoO7VP2$U;l0CSb*oO zqcajG#S9f3xf_FVt!Q>)g?(G%V_5aBfq3`>$k>+N1Vw$DMnMMw6+6;V8%>})gjld+ zuV>Ocx?yelniOC2?;%9;BVXl3VCEGICDx+tc?s}R$w~NYKRL_S4=sipR09fq3#$_B1+zKM&ZWCBCnzfz z?1eSkEfIhFI~d!rVBX3x1DTuIyV^hr^?7C|@EdrhS_|!0n}9=NxI+yJpqBX&FqIAm z;fVVwXha-pU`26ROYi|c+RFz!z&PRH{9dqZC# zn|L4H0Y)0fO5g412qqzxEN8BlkmeVrCic zTz82jj$GP{v1+hba-EO#{D2sSY-oBQHm4hs*p`lElvNS(!p;{r3lEFN!xL-R56A@U z2PE--y$vAYybXZi3|pFpv(3UPSV_DMzzD!0qpSTuZZZa|ino2uX;2$*tMCsGuK&V@ zU@mlh9LV5AOm>32ND=H2zJ4zNYezpW+`vy_FHqt*R6d|;PDe+#fACQU?iz6gEf)K~ zhP^UR;=yD9Hf!yLCt;N?m%~Z9J?OlkSLXC3A9i%K6r17<8j6&F)Wo4($Ifd>O?lze zhErzazyxfCMGT1jaL0k{f2@BW4guQ0f$blja3inXR8|x8&{3R8LVaMwNf!9&*`qoa zf`1{ey&dMu&PV2#e}bI~cI={Gb9Cd9o6j5o+rcMR_lqSp9;0jJZI z=q#)r<|8=g6vOm~FnXMV_WBbv5^Pv;UMzt}b|tWUfl;~%JOYF~`Vt{LQy~8ThQzk? zDKdeNO#mp}kuG!bIZEmMl*>;smj4x|us1;yOnJ-y0e>*B_z%mHSOEE!0tObqF)El- z`Z5rue-w%`P*DyXW`o_^(i$9nD%1zk{^|3K)oS#3essD;32$bZK7oi?cR zW>JZjpwW@L5%wXY+Q3ip7!oFsrOo65=rgjxV0nk@wR)Jc1zS}O? zxc}f;dlFXfrLUsnVZ{Ny6Gemg{`yPl@kSzBpvj9_Y zBvgOgF5fLTLRoLcWnK*OU}y_w?_R$?lz0xl(y_JU09eog4jlD7j4Js*$-1PcA(s>PdcATfbM5}t-phQM6LKEn)NcnB45WjlF`2qp;Nuwp`T#VsUAMdtG)a9&l<|qE(eodks{0ZCqS*eNr?dx&zlQ?kfXK%pL2zvzUg7b46Kq1T*+3nXt z6DB@v$?s(*@?phvAI!$0SG4~Hws|?ld5KqYit-X4i|>RbK8LS``F&5#NL+$?F#6!D zD$}0|?Rr>vdurffjP(OSTX5zlV4s2?{=`7|qFMGySjj^BnY*&TYWy9X zs5G1viX2E>pFuW2qaH}zg{oR=OkN2coq^x?kc*=O;wEf}d608dMZ`)l(KhlREV)zDX-U)}>LEST zu?PIodJ@Kg{KUIi@5x{g`L4%0+VBfQ(}j0JBM&(7l+{5^a;*Fhu%Z&SWPiMFK`8RF z>sR!g0pCQ-dNKPXoQLdMcXp^HXRz3xcIT(<|JN#D1?aL&^85l&Q8KO@XY$ZBtrv(*)KG{ z3yFp|a}v)Se=T3ekQ9NB?Y>0oC`djz_SZjgJs{pcTz3U6N?>prgw=ri8F+_>V;NWj zU;kM!EbQul!-J(bD#QJXwvTW}xDk10`H?XjR(zdvQ*T}it98*yX&~vEriyOZ>*pb4 z&-}zejIcd!j6tk5i@<{*qj+;-t&L(00`9YbuLaNS-FT~iqv|48lFO{UP-`<{f! zpgq=U#X$aTe+|Y-w6^J%Ju?T74HkYr{PdXxAKX@Z$DQxYF#DPQp8er-MBf3ut-j~N zQ?!(H!|L0+_oZ-nZvkmbGWASAr}m!KI}aZ6_3#c>~4+?-{^gOEt*Qcbt%qz=eJC2J|!gn=|og zSr5mU6iE6fI)yOV50YeR3drcMBq4WzBeI7oav+FA#b7$h7(^l|c_zuAAi0{>Xa!uE|*73U2=)#DMG(MPtE+76jy6GRBMLl)K(rAt*497zxlDCZ)w zT14YS@{mYOqAG~QWH&LR&vZDJyx3*M3L2N534xED#K0|o*O!wa812)<&9ucWMW#{- z>?y$>R%La)k=jER=mAgt4I_2Sa{LtJRwQNSX+7*soG^R#94%18IFd3>d}ZD0V=lq$ zG(#r)nKy}~EtCBz>6gg?lpHLR11TAh$w8FNkjXPCnJJTJQF4k*4yNQxnLLM*A(=dv zk_9q3gpwsPIn2BUs*#d*l}rZAYejOUOrB3Qs+GwLC|NI)8D>mWaE(lkF{eS&N^3G@ zdaRiz(l=3hoVglgTWK38J;A(1q&HD|nprFOw^BOCL=RhOw^4c)rSGJ4P*`K7-A(B^ zW{cpz-!yC+j_#rC!#%Nfcn!85!5A{EM`e8tnc69tSz!61~w% zZ1+CjKmmY`1)%p2RCF{&NDlxZJY|I0sUm{R(I~ZNA6N(Bm0{)!W#)VemNV8E=H>T6 z!IU)njO!iRFS!={LgWmVse*+dB_%Cj^h5$LzgZx&3Q1h2RBES`tffhueV`_2RL?^s zYKpl;vX^ucwe(7;2G}O^u8?_T-IX#mQ0A4AtyrUFvPJ={5z!fvi&B|JPZW&T6mzM} z3a=2VWZRhKva+N&LW<9bRYwhzQlvO4m64Mu6_7G1MapB+#7vpDLZ&8yC&Hk)hmEf2 zVJ|_i{DO=Nm~qKmCzX(K_0k+Nt^v7I(#R{68VsUV0p52(4_Qz10~0IQ)#XFbY)7GZ z`6~_c1Sk3-B9kerjs7C_Aq(HkXKgKEjtuJDy-7O)>Jb*?0SbBR2}c68Pbkw6f|g6=j>IT zbHglB@Kzb-3r-aWUEL`KapdNm$Nqxli2PqxhB5pF@Zs>+@#7u%I3FdZog}}eeZhon zV+LdmWMUW-qnMaXMEXo1(()+-2(31gp?`PS;ADIR`k$w%BV0s>Y^fdkyskV>eFOj@h|m@+5| zW<4q@jb=%?dU~fLSyoD>t<^`UlAJ!ABAqDHop}!t?_*+AvR40&cx77ha^69z-{YFz zCnyryNEWAerVJ6CpVJRx8oD>9?@ke&UnYh3vGXg*>tJY5lbv#hq9PrKQC5}~ z$*@zJl8$hZu5;{=NyiM4jAH+Ag~@6>MQw1{9EnWkXE2V)Yt%2`G=~Q#2IYNtI*eI? z@icIa?wkpO@HEOvo6E!^CYCW#$wUJaH!{(}#CMta5fcv(G3GHKtkrwXw0)d)hzQtY z_JXsDb|*Rfb0CMG=7)~~_;DV7jE0Z%(eSj%K;boJ77*6zHZ$#VLeiEJkscAm*n=Rq zmN1af2;}etdW-^vOrE5X)_5)%jc{Tk#z!8o);qwjIIMx*1nOzv`tKG zW8zLG?q%W;B0$;*_OCh9g2@%vYZEM79m_~T9m8M%CrT`@BrRol>0ucAv&DK&vZ!=WF2%-i)0#J1qF0!*F6)K9u4r5y zULdBO^+L38!+PNcspS@Fs#uQ_jdKf=OiAWVmRO9A;C3=iT(+R$p9$&G0!hmfDPocG zuh7GAK$Psma4;k?oaK@eToOzq1{^857|enW>2OHpmRQjY6AeK$j7*YJIlOdgs;u;G z3N7De(XHh7@Z(C=vZF@DLa-e-WLGeYFE)bvX;JXwwDm8Ti zw~%?SXT>8~3VJ}4=wV~nk6`zj zSHW@jFdRg~Vxcc%y<7yVO5^Y+QDX!<)cgjQT`S5W&pJ^Ohe$~oBhDt*nR&=v3B78b zNK)!>daC*{WopudI$#HAG{EniyYRSzl)u)#2+ZW2?tS&{=i$ z(aM@}urW1^s>*UE>#whk)d33nK%@9X%6i{4U$d@{Sf|fjY@diPiLIJ9^2RxJt%tXy zr2C8Q=*`=kPMkPl&$n*Ko?&m8blJj7mQ0^@V`ysbO)KMd@wokffG!rulT+*Bb<9KVkv7>OWdkznQFyb?2z@jVMoSa*iigL?wG0efK@x2Le=vo|Gw}>>#${yo?1As z_*>SCMr8b?OJ-j*Y4&BShR@#6Fu6Qh9*x>>MeV$3IB&}K*3kC5rU$2o%A4lw{G~Ny zwDo7h9-7}2{eGzY#c0X|e{_^J=-OYbw5n4wOnd5!p%3l2J>1?B&a<2Lmxl`N_^ZE; z*~6ObH$&EYjV59=fA-wtc@nHCmpRTVd}n zo)Wc-L)(8fJtf0mzVnSsemTLq${uQMHSM8xtM$wc_gKC!D}vUw>n;BWk5o*#_a7-~ z{q1*BM)}KITgzL)ljW^jHn+CgQ|E-XH#J6!=WMs{wQ5sFm{$L}P1dSwtpT^==NBpV zJt+&%YAmjeTE3KVX3FgT_S6$iCqh=``X@q*bF3TYE}61o@wCDp*u(C%&iHdv@xAug zsQt3__qF$=Wb{iJ>yNIBmfQRHzj=47<+F?Ic^P$&*~L~Ldvr$AH0$iS*785w+ov{$ z>@%$!Mn5!vO4Es^;_0)X*>>7fW3?e`^|ip8UAH(sX6Me0Hpc!`i;?CF}W=YptKJyB6-**2C+r z-M+$l-LOX&|5xsP)}8C^Yn$xfTWdyNA8pzkx_j#W*R7$EuP#}bw`6m1c*~qEo9))^ z_SEv$t;uV1!0-`G@KJ8Ej&nhxHrZQ5c-n{KL}dU0NB+#Uvv0WGk9zukKORfj3j zIwu6pV-L$)+`7{q0|%r}TfOYLJB!O(r|eJ3^oO=DdG6A6`$ONi@BOOW9%J3`=U1&8 z?9o;!2209#6AF}v=Cs~>v^C{IKO|Dd`>m{$iKaDppY^tpGRCx$DeKFlo43qqwYS^j zFI+mg@U5}4pN_W9X^nn(A8@}I3fcAR;N!mX(91jP3LEohJ+Lr7CsbPpfptboy4h+E zv(G#HVb~rM{i-}<@Ba$Zt#`N1X@X`9mB+UvD{_mQg7t;1c2jx$t;O+qR(VRAS>9A! zTt4+p`_1TAb3z~})3nxr-FL42vgw&{+0;v*`kV6V?J=9bl1{(%vc+5GY=&Ujk8Ypi zxZN85k`?*Dng?ayPDvSU+HXEmVeMb{sI|r12V$q0)?MrEq0{QV5xS+-THO+|Tg$hX zheA!Dbl_a;8ha?z{H9wkOWZss52AO@jPd^XFmYn#)K43MQ_WC(6++1tD zv(BDt{WRrE>j&%qY#qM-c6%PQP#8Da=(Y6)(Re8D-umFq;^L`QnG-Kx zG6kCQ9xFfFntZ!8Z*<(6c+bvJQ|ZNHlgF*KDsRu28ndT|F11!?|KPg) z*8Po-zI+&lp2jiunB-Xd-0?ei?u=TQA55Ni!k#_;yVgHo9JY5(v4`!S`h6Q(qWJrH z_rB0nK6cSst9AW)I6pB>Ih#xk^Z7!eIr*VG3pY8t8qPdv7wvZgvvA1<$ojT28M^6F#pa6N(*;mRs0siLwvS{8{_ zLsnTuO}s1|j|g6zl!~fjYigy=s&IToEU+rPqPnsk=Dt9*vMv&@Tvb^euC7PjE8w3~ zE^l_Au09+W8PPysRb@0<6_XYQV8bCOWL^@ES65cA2vo#tRt4(g;p<}Yx){|cAL@lw zS{bejMB+7dbzrWnQJt%&8mzCZj|I>Po%|zeRT(Lhso7uVB1(A!cZMat*)$J8CVgn4b)Ts zA{{Q(Hp!d(!a01YV?C$o-fe#G8*2KP@JfoYvxgjibMiSeB>xGzvy`KhK16p;pVIhG zJS9skohk3*=)QF3ZbNG0s+o;9hV`T1z$nvC9%3dI3AlS4Ki?Hj^Bzh4RejZ&uR8ndR8-? z^7*!hmQAzz`e*eWJgaYDR^N=AzL`0Frv&@X+;G~>JvaAgNo}>Z@ak#|7o>YL-JyI- z%G|z#bNU8y`etnCadYZsvEHQ(f>UY;QMw(^!}1a@kh3Kvzwh8yD^J*h>O*}qbNf!2 z+xL)(21!1>e4E%Pi1J!J=Jq{dc`Gteig7+O=(!x|Z%xVVJGjNl6*U20Z0LD&kIkub z`_4pWu1{Bf<+>r?f8y6tEJ)YC;@8d040qOze%Ybm|A}AUR?7b;e#QUS%-6r_SLWw9 zOEFf4hKEWot*N&?`3WiZWy9$@mBG~~nCrnmr`!Zf#` zWvp(aZ10WY4z?ymOmevtLBzfFVmOaa1S;hj~+AnkY zCB?^0-=_@ISg5lcB7rZ`9h%W*`c)V6GyR&24QBdv7Yi_5NSk&HpYC+_Bp!$WCg(fQ zGA3CPaOr|hkzy`w8U+JMz;H)U!DJ$HT}T&nf&^Xeuq@VDP7=!khs6_Y9}^3Ihrtw^ z_fCS?QZ^GTW=q*jfI1a{L=)+}iSF1)Ot-q2pXu+q*kGo==VAe-f8=5rOyA{VnM^<6 zVpEu2Km!Hz@k7e6B~538C)20{ZO7#I9jJ`SGx@6>MiG+_J5VW;&p1#KlMm7W299QO zFqvfYF^$3k(#&cBV%gIi*@b$e?IEYRf>yAgUpZA-(Mnag z_B2`EG*+nvSZzG?jpUj3Uq`oBrdb(<5P%h|hUIt{U$ z-R1_6XBrqn0=7AVoZ#&52vS!pq7GAudzMqGAV}l_7urTO*-m#DEAAljc^B%=Dc^Dg z75|XPTbxqGqsch8YMue^e2UwrocN8tM&x@gG>zi$8&2%<;bGl_Z3 z@lpBPM7nM(XHl+0JRRT;D&-DD5pSu8uAT>=<&OHuVIu$JLZ^FLEwY}VT~4cYEBk6k zPKgJ?xqoD@~8uO+NXuGTozAvT}j)64Sl$_-`upG6NhPU09|R*dQSX9 z1vxPazP^B$;N(P11vzmOJQsC1IdQuRa^mOkAkN|B#K|)ikQ1ki|6NDgIdPaaiPCsV z^gB-}&WYtJ$cd)|3MVH{oUeeK_*exwp+tdq+8RKW$e}xQEheiSDBMEicO1ymz_(HO z-9)Wu8p}$=|I0Frwd8z&9wPD?7h>|H11)Cq9e#RfEZakx+0P)0$!TXvPe5m8a?Lpm zE$c__{t4Zo;2t8mSpZ_Pn6{E2i^)yH99c}>?m&x~{LKi5Yd?|fcMvc0+)obmA3Dw| zvniIppf3=?0+fSyfq3MIyT39f&!#8^JDKEI1+G^p_Y21}WlVBNLO~`^6JInI;@J&c zE0DFH>blFRU>R5NQy1zbwOVu-PkXPQlDB$cUUuRC32e!>9VRWjP?4yD{3f=+iRbSvoa;Q&sq=ELoy)y;F6R;SDaX#`Y^NLh%e}GhiL}ksa;G~XTkh?U z<^M&lJ%{`XV==py?d@XabBa1msWWhtb11y+s_V{~PdLsj&Lu$yoiHn2O#hk`lOAdfi> zQ_KzXf(!kLNVlzubvG=f;5-&GnG+s|m3gRe4Duu(jpz(~RK$4{K#Ue3Y& z&j$|tZ zQWZF&fs08uEXz-$wi-nDE=Hk|9(614_o!RBo78ddFpZT=y6VDykGim|gZs$?zgxS= z7u1XqXEu-AK%~2DjoeF+J7Yw~1f*Q!gIktoZyV`(qf|1=n)>Pu5cmm zz!dS$82>__jq-BvQ)hJ)-AY5X8`V*cYS%MSuB*=(vZFlv@N8)sQI6`dGz$UrT_WA( zVAMMyML9m7bGk#6yKUU*qtQkpx46&)M6!oKquaug;%@5>T`_h8FM&)Wwt}W9*9|eR z8)9BJ#CYa%-4J6p@OlTt|J37#nAZ(4b^{OVP|)j!nAZ(4uNz`t?}iAwVW2ZxM@)|! zB3?H{yl#l3(!}k$A;NC>z*#dz`qNzQMnj|zHMzSyiLe`LooI-#8d~9Y3NK%1d+yh__8{fJBFrN3L`{6J^qkneYviyTRq+@Y&}qo1)&8RFvm3 zrGu@ak?vd0z#1J)qtRezG>T3l(%oA`dA{K`feMYJwix5AU!zkg{>t5+$)p>l;TtLU zR+o#LWrWifQJ%B7nLy)H0qN+s=?+j1jljQl2K*?`K0NgR7th!3EEM&Ql2Pv{8Rb#( z-yR-#q#cjY10ODm6x}Us0b6s5S9eT>WLyu=Q$DP&{6!8j* zcm;W8H16Uy^=qiw4~g9ELfq?T(jg#lvCG>W|CX~~XFEHNa*p*$POO)EW4+uPEuIRm zp&`f}cdqe{JJ)!}ifdfwONzHvuAr4(K`Xt2JR1cT^oZk=i2O-0!*FFsys{%+*`8Km z*^0lvz8)1`T@_wko~;V&a!-I(a4@*_SmBku!YkXe-(uM;5V{0M*F#Qpg*m!bI-c}& zoI2v}qEu@4rC7aNkEPyvEcMo7sqXBbkoxBxqdmJ%udX82^_(*?7O}1;oXM<6*X0$o zhy}Sb>>?KA&Wek^UQi(mI^bAT$b#A&iwe6FbkJD_EaV2g+i}Rk-w^p7r#%*W`@=%E z;Bm)-g-;Uc)@~si^@wBCLft4{gD!CnSPE|?lK+D!Jke+JA&0AgNq5yz$OkH{77BWo zXob8Sa2M=_-j!-0FVWmJKp~&8+~XX(6nc+F3wiE$cQ=JRg}b|(0$#PU2c6m!Jx3&OR^Z8?x9N+x zoo{y9xyakjMcmG}IxDXtZs$i`Nbfqlh;{S=3^Qa4Z)p_PluGJK$Dq$vb9H^Yh%N!`Yn8+Wy zP!m~jt6O0vzvDn*Cf$cw<=%%`o+<4&q~?I5uAIr294O4>-yEo%)jaH4pu2pmcrggP zftT*koJNocvJ%}-Wmm*7A@vFyA>?v z)jW?^P|&*pEoL|T#}5nKv81@W3MyyFT){35jNJ-451`z5T+U>cQ|D49xs$_rG?T6y zoX2UrlL0QT8=S{f%HcDUtdIiKLul}@4<9^+VFZnsxmNdc*G&xlK&@yIUm$}Z7m@9+rnEL1<`DmnG=>>a!oF1&$y# zx7XPVy%u`Zvt#;Gd*C;xm_EzJ{7esVvB69ab+G``!(1$b=@BlL$@G-b(q~=%uK_kL zg9<{hFxlZii*=`SshJK-A(O@^$qX@V5y=L0@r4hspoJ_b#SygJE6CFyt4B(;N9Yb; z|JRLPMaB-jkS+8CYNLn6vk_&l#2qP%nf#dpEo5?E2J2e#=y}AEiL*c_sPl*5TYp5?MWGb8%U&^s}i__ws zewaesZmBE0rLNF};xp1!=IAQoQgKI@=RoLxzlC>Gy_CU)>!pklx;MD9e&Kkdm`lCl zc%%3n>h;{`V9luudWzKlmF`{qhp7Mk7M73~l#!=_yx>;dGt8Vp-s#`{*x1{{;#ng+ zN{aS6ZugAdY@QqN1>8Np>y#=uK;)M$G|1C_p5+hAR>Fs6E8)Y&x!&m3$p7a<7<(80 zXFkL}lp=cAEO;`CZ{m{g3MgB1eObi)|LcNdjKgb-G=J~}%W1yzfBE45IiP>>pZ~kp zqdjGb+vxryy0aX<^Z$4GpOV)|=YxDs$fu0FKGzQ-*$%${-dJ&iDUmdF%(?;p^KEeTR}wn;728T|{Z#Np`l@F#f-meDzH-~ZqG*eyK8=WK8db6CNJBliEn2g>+JKkDuZ)GGMpy)ZZ~PO=9b3_g zvYM(W*G_xOka#(ujKw*5`MJi*s+!ekEB4ZAAss)jSKKFRQC5eeACfTIK%>e*3PYt5 zUf~1*ULUQ29$HobZ+EJ$fu?|d0OO)N5Qw&it}jMZ(H|fHg-(Z z2hq;S6Twnr?(Er90~yd+Mt*%?F~-$hzY1aq?)7nbU&&NFRuvvskHh=8Xt+LXj4Q9J z0}`9CEL>iWy0pEYiZlZ5(aO;%HGmf+0lB&i}EUWKC2 zpxDYXN=mg5L7jMO8_KJJ8!T093&$Z+5tC&)r$C`G4qp2e8wWlc3k?AwIWAJOO3V@Z zO#JVr15m((zn)sbnUv-g6KB(xt2t@lBb!twE*Xl`4BVGT`!*nIO^9gE^ljsb>1Kp)G?HG+c+r^_ipN? z^Ui?GuKZW<8(C@%J*+_gVH>gi>=!(w(q&@F*U&Jy_`Osz<>kdQfUfi({Ie{viw$(hx*ayy8b5s)2b*-(Am}vQ)QArb>3&Y zDSrbt3|!d1)k`nGA2PeLe=FI~enR^Pz@KjaQNVPW02z0Y{!C0Lm(Ke-_*1*q<^?pKuZeS_1MSq0qmG?-Axl4e(Qe<{OSHb9WZT( z2gEQA{#4wIb(%sgDVe(XM7~tx!;UVpKwsBVtS&7<`?Me+p_ZXFu7gvhHRYC5dpDyO zkftJ^HTebZdWQXmF>HcGoaQ@9wB*mBA?aM$|5B9t^6S*_fCcq(|75*54kMmH5?DUA z9pZS$i}9I2BhG2Q&mkP^ffviq2O90+7qc~sT!?qVuc9hrf91H}LHUW-)V|&<6fB`)NZ=J49kU}~98WMirA$AL_?@Z!mIX@sgQ^PTgk$)iJ z?1u*k4-n3BFljk&9i&XUxz_8rK6}f2ON_Xkc`;>)k+3VA{s*3xWjRsOIm0sOi;N2V z3qkjB{LEQ93FkE5`#9kt2I&4F;oM(1`%^*m_Q=6`1b)@hi7SzW5BXbqeLOGCJ6#N6 zeT))jq`Qyst27*wmOm`$8}m)epuEGUfvD90`UIOc7Ru=o9qDyGTXe-~XPM$ea9pN#^hw8!eEh(tw&K8MT>k8=iwyXjh#!K=Mk)*T z-taj|e8L_bXu*+nG13Y7g)GP>#y~VmJKfAtPM6-k&KrZY5angM{PyMIF6=t?*A%_@7en=?eZZ z&C{5TK43pgAcArB!%q|(i!%Su75oB4{yqiAH4oeWhJxeV!1$*Mjt_GfKZlljXpf3# zDmXsWV*Y#uSM9k%!AC3n)e4R=$#V89_$3P7-VHveCosW6kPSss?$)Ktk(>{3k^LE$0@k#hl>ekKQw_XymAzNwO?GO;A+2!C^*)O?XOXA zwSD{HMhY&pQ?-Ang5!}G`)!hf&s6YI1y|*)RB%;JlY*;q{;1$;d!15n)&6VHVQ}ew zuGet%5ni__ILcxF{6xb!u3CwKV1s@M`*gsd$mVo&gzgodn`~R-snTni;@z4k^ zUCt@`hJ}vj;f9>}ReKgIxT<%Bg3p927gDvRXa~A zc$Q+%AljmEecAty5{}I_829y-CL>y6O_jkp@0-%xPX z53LH0wzK`m6kL^K<3=4Wl&{LERqzRr$Mt$s!BIBHbGwGK-mA|9Cb&@kO!#9t-%@b3 z-9J%qwY_@NmJj93R^*KB2ESCnRX;3KaMhkB1y}9)nS!hQFDkgo&%uFqUZmI=pa4Kz z^>cMM_lIwpyG6m(cHE`ls{dc;2A@bW80ogYQ#twH*tFNt&xO8PGp!KOLgr zQx*QoHPY6m4AIY0B|wR{Wm$n#dCpVy{BCuajsW^Dbu3}*X2xC@F|L%SqhH! zu--fk$2`22D7Y$TnS!fwq8iR}YBhX}6mP6naMjO$R&Z5*%7wBZ*B9FiuhTUg*P3{p zt>CKtlNDT*e`z;(v4(TKZqjf*Pf2Jv*Y{T%&iwCcIP-t0;T#VGGi3eP4=m>*!Z}X1 zQk(=8{#j6z<;+uXtP{&A&~T2EsDi8Ud9{M8{;bt-mcLoS)pq%|f}@;tSxw_k4X5R$ z@t}q?{|6e*{HKqU0@-ggof&=&XE}2;ocZ%Loc(#FhBN<44QGEgXgJmxuXPGO3DPWo zqk>OX@aGjAWw4yX3a+-->k5v%9B)SzT;+dP!I3{5{_y&nf~))|6&(4wzUiYxF=yQ4 zcqq|u_FI{Tv)*dLdx5yY@JHRm*r4#Maek|UqdgoCKhWgh9E{gP8b9lOQo&XEe^hXk z&-}+Voc(-)@Ls@+_Ah}yy!ztd4qO42w4#2 ztL@cO!s1D352EqL?S^_!Q*drK99~cse;*6$f*0d5Wf%b>P!9U$6)Xf7nIrTf{va9) z7ln_5|4zbUZ;m9(d6f9EkKn~P|M1y#2|M_8RJqw2zLnDRG@O6oVxflbrgWKx^AEaI zX!tzRd##3_Bz&!gbG;H8{xJD%n}#1JKWx|VFpdBBY512U=Wz`mOLCsp@M_{eqTywP zzpLRFQoTOW@S7;zgY4q=`U~+7)bJwW$LDK!G5;c5EWm}&(ePq?4B3;T;Ts9(brbVH zCW{+o8vi|HPql{6BAmZ};m9F;v&R24`SW%SKS=!dY4|a!*Ap5}+hOBb4ZoY@zpml4 zslLZG{3(+ExrXm2yf>BOdhv6Mb2a>rWdAq~$Grqz*&3cf@^du&Ta;d);pdY4Wg7kv z*?otGUrO?Ss^NZ0->>1fk^En3IFJ9kHT)gY`;3P7Apf7x@B&JIrQvnN-;eBNKQn%| zj#K(V4S$@{lQjGWO3&8tAIoMjN;Uj4vM;LPX~ZAb@DIrkO&Wd!)r)_Nj_Y+5@om@m zD=58N!#^WAFKhTklzv0Q+5Y1i&i?#N!*3+{gXqq7-bQ{%)9@V>Cs`Wai_$YR{5;Y( zU&E)9{J4fQAN!B(VLxor_^+V!cQpJ5)LuI@d^EM!Z#29Q)$1VP$VMg#NryC?zaMo( zkrN=Dc;n}WY=3XcdspNCIpKfT@MDB?y;%0!@0lnyp4KM{t$9fp~9aIILG-_gritwJw*H~HN24QuT|s(fPV(@uh(!Mr&=}q z3*zVB2xB{QN&Zh1ezcS4g9jBH^{yoT-)eZ0@ZV|pgM`1L;3$73`SVS}*$?cWziRke zl4H>Vl-oB#d}nI-86ASzfJLaxrP^z zoy#=*dxR%6{A0rTH_=#cI?4Z@#y_6YcPKdenV zrF+n#pX2H{;R7_hFQtcTIRAL#cn$w1r7zL&1C*Yl;Avn#UkepH0AQLeb7BgP`~?y= zsuer{SQYWF*6`N}Z_@Blr%OQz4gU$@-_r2E5q`UdpN|fNYlnt668;MfKS20z6&%~0 zf3Njj4ZmMVhjTEh2Np+u9%s+f@C#|&;QwLI{QpJ$Yre++Yw9mi4eubm>{srO{Qb~+ z;%A({|Fu?;695^0nlO?YzKig!3Xb*4Bs*_caFp{I@&8G~vuGpxo`$a={G@`TeD05Z zs6E*~JU?YAIO@HX0_Qc3PLlis!_%7lfuHeYe^V%2%NB&QVKTE-ppMNYpN5dzP9~Nr( z7P4oVhF1~3O2a>;{<2QPZy`LP;R(|FJq^Et`soe@$9jE52UzzgIM$2jg~v3U=Y@|H z9OX>p=jhaLFdOkDg!j|%8wd|*_zwslq2OrG6J&p;f}?zXEBqt{M}GdV12YvI`QIY> zxeAW_J;`qc3Xc4X=(&E8f+PRK#2?e}S&)ZUt%3(2eVF7lC^*Wwllt{W4X=beytXQM z0Mc9N`Te&Q9OdjH|2(DO$bW?RpVRQUbinq8hVzejrO-Hp?TGTJI~x5poPP?IU#ZUR z&Of2FM&U<$?l=cN;JQV_e@f4%`K8`0=Vm&16)3Ft6+8gg`6Fb;CmP;x zfy8+p=JuU^p~MH!Jd8N%4VV&7*YH}x7b7%HHGJr3$$y82Upz+Q{5?IkbMRP+Kc?}YH%{WeS8()C8~Nc?4G&=F zgX>KN4?ubw$vLj!ZxH@>4bP_o$1gSfZo+%gI*9FmmT;ejzfbtN3XY+M|BnK%Ob!1Y z;nOvIu4FfsYxo7kf3=3+ktz#Zr{TQLd{D!AfBLwFUt>u*FK9Tg58u%6qh!zf8qVj= zUuZb5muy=1p+C_-yj~ip;k-V-Si^ap7S(WGFEwcR@2Ot5YB<;HI~vaG?H_CSF!J+* z8lF$`AJ_0_$Uo=N1j_Yg|L17_CE`c(&=lT(y{_T>{O&D9egOFAWx@ws#}pjf{aLCPf3KDM*So~uq3{QQe`pqb zz|}|jo@xNn6@>H8A+wx^2){t#$MK|z^iI(5hY6pi;3)q^k`vVMj|pF_;3)qn$yu)8 zC};2l_<)OlvySb2iSSyDe>{H43$E)md=24^3XXaUC=PE?@BrYuh<~ewubl{)aD7k1 zj}ZQ24Ie&9^8Z}HQEwaR`;d=}xSG<*%=Chh0YPLv;@{?bRm1AsqB{DU<7ZNi6X_}Gh~5L{^rj`9mg{ul)h zAWr;~H2h}5FV*np3BQbR?vMPYx5XOHZ-y(^)W0TbIFH-&G@PG{U8Ui* z(rreAhTlT*d83A}CHuE)_#)c>KBM6z-Z*EFq_|#xA^8_-I6p7p^8@C;oCM_)Ke`27 zK*wuFktXMdWKUS*Co#s=8vidT<2r>OO=S5SHU1mP|KHU3X}UMQuknXT{#_bBxyyJ+ zdy_iOv`ybZ}F}(f{#-IL^ literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/params.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/params.c new file mode 100755 index 00000000..8ba621b6 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/params.c @@ -0,0 +1,143 @@ +/* Last changed Time-stamp: <2004-08-12 13:04:16 ivo> */ +/* + + c Ivo Hofacker + + Vienna RNA package +*/ +#include +#include +#include +#include +#include +#include "energy_par.h" +#include "fold_vars.h" +#include "utils.h" +#include "params.h" +/*@unused@*/ +static char rcsid[] UNUSED = "$Id: params.c,v 1.7 2004/08/12 12:11:57 ivo Exp $"; + +#define PUBLIC +#define PRIVATE static + +#define MIN2(A, B) ((A) < (B) ? (A) : (B)) + +PRIVATE paramT p; +PRIVATE int id=-1; + +PUBLIC paramT *scale_parameters(void) +{ + unsigned int i,j,k,l; + double tempf; + /* if ((fabs(p.temperature - temperature)<1e-6)&&(id == p.id)) return &p; */ + + tempf = ((temperature+K0)/Tmeasure); + for (i=0; i<31; i++) + p.hairpin[i] = (int) hairpin37[i]*(tempf); + for (i=0; i<=MIN2(30,MAXLOOP); i++) { + p.bulge[i] = (int) bulge37[i]*tempf; + p.internal_loop[i]= (int) internal_loop37[i]*tempf; + } + p.lxc = lxc37*tempf; + for (; i<=MAXLOOP; i++) { + p.bulge[i] = p.bulge[30]+(int)(p.lxc*log((double)(i)/30.)); + p.internal_loop[i] = p.internal_loop[30]+(int)(p.lxc*log((double)(i)/30.)); + } + for (i=0; i<5; i++) + p.F_ninio[i] = (int) F_ninio37[i]*tempf; + + for (i=0; (i*7)2)?TerminalAU:0; + } + p.MLclosing = ML_closing37*tempf; + + p.TerminalAU = TerminalAU; + + p.DuplexInit = DuplexInit*tempf; + + /* stacks G(T) = H - [H - G(T0)]*T/T0 */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) + p.stack[i][j] = enthalpies[i][j] - + (enthalpies[i][j] - stack37[i][j])*tempf; + + /* mismatches */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<5; j++) + for (k=0; k<5; k++) { + p.mismatchI[i][j][k] = mism_H[i][j][k] - + (mism_H[i][j][k] - mismatchI37[i][j][k])*tempf; + p.mismatchH[i][j][k] = mism_H[i][j][k] - + (mism_H[i][j][k] - mismatchH37[i][j][k])*tempf; + p.mismatchM[i][j][k] = mism_H[i][j][k] - + (mism_H[i][j][k] - mismatchM37[i][j][k])*tempf; + } + + /* dangles */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<5; j++) { + int dd; + dd = dangle5_H[i][j] - (dangle5_H[i][j] - dangle5_37[i][j])*tempf; + p.dangle5[i][j] = (dd>0) ? 0 : dd; /* must be <= 0 */ + dd = dangle3_H[i][j] - (dangle3_H[i][j] - dangle3_37[i][j])*tempf; + p.dangle3[i][j] = (dd>0) ? 0 : dd; /* must be <= 0 */ + } + /* interior 1x1 loops */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) + for (k=0; k<5; k++) + for (l=0; l<5; l++) + p.int11[i][j][k][l] = int11_H[i][j][k][l] - + (int11_H[i][j][k][l] - int11_37[i][j][k][l])*tempf; + + /* interior 2x1 loops */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) + for (k=0; k<5; k++) + for (l=0; l<5; l++) { + int m; + for (m=0; m<5; m++) + p.int21[i][j][k][l][m] = int21_H[i][j][k][l][m] - + (int21_H[i][j][k][l][m] - int21_37[i][j][k][l][m])*tempf; + } + /* interior 2x2 loops */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) + for (k=0; k<5; k++) + for (l=0; l<5; l++) { + int m,n; + for (m=0; m<5; m++) + for (n=0; n<5; n++) + p.int22[i][j][k][l][m][n] = int22_H[i][j][k][l][m][n] - + (int22_H[i][j][k][l][m][n]-int22_37[i][j][k][l][m][n])*tempf; + } + + strncpy(p.Tetraloops, Tetraloops, 1400); + strncpy(p.Triloops, Triloops, 240); + + p.temperature = temperature; + p.id = ++id; + return &p; +} + +PUBLIC paramT *copy_parameters(void) { + paramT *copy; + if (p.id != id) scale_parameters(); + + copy = (paramT *) space(sizeof(paramT)); + memcpy(copy, &p, sizeof(paramT)); + return copy; +} + +PUBLIC paramT *set_parameters(paramT *dest) { + + memcpy(&p, dest, sizeof(paramT)); + return &p; +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/params.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/params.o new file mode 100755 index 0000000000000000000000000000000000000000..2c25e0d00180d76b95f9f24d6844b1fc4f21e33b GIT binary patch literal 16848 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 A@Bjb+ literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/part_func.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/part_func.c new file mode 100755 index 00000000..0e9a5b6c --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/part_func.c @@ -0,0 +1,942 @@ +/* Last changed Time-stamp: <2004-05-14 18:28:57 ivo> */ +/* + partiton function for RNA secondary structures + + Ivo L Hofacker + Vienna RNA package +*/ +/* + $Log: part_func.c,v $ + Revision 1.20 2004/08/12 12:14:46 ivo + update + + Revision 1.19 2004/05/14 16:28:05 ivo + fix the bug in make_ptype here too (fixed in 1.27 of fold.c) + + Revision 1.18 2004/02/17 10:46:52 ivo + make sure init_pf_fold is called before scale_parameters + + Revision 1.17 2004/02/09 18:37:59 ivo + new mean_bp_dist() function to compute ensemble diversity + + Revision 1.16 2003/08/04 09:14:09 ivo + finish up stochastic backtracking + + Revision 1.15 2002/03/19 16:51:12 ivo + more on stochastic backtracking (still incomplete) + + Revision 1.14 2002/02/08 17:37:23 ivo + set freed S,S1 pointers to NULL + + Revision 1.13 2001/11/16 17:30:04 ivo + add stochastic backtracking (still incomplete) +*/ + +#include +#include +#include +#include +#include +#include /* #defines FLT_MAX ... */ +#include "utils.h" +#include "energy_par.h" +#include "fold_vars.h" +#include "pair_mat.h" + +/*@unused@*/ +static char rcsid[] UNUSED = "$Id: part_func.c,v 1.20 2004/08/12 12:14:46 ivo Exp $"; + +#define MAX(x,y) (((x)>(y)) ? (x) : (y)) +#define MIN(x,y) (((x)<(y)) ? (x) : (y)) +#define PUBLIC +#define PRIVATE static + +PUBLIC float pf_fold(char *sequence, char *structure); +PUBLIC void init_pf_fold(int length); +PUBLIC void free_pf_arrays(void); +PUBLIC void update_pf_params(int length); +PUBLIC char bppm_symbol(float *x); +PUBLIC int st_back=0; +PRIVATE void sprintf_bppm(int length, char *structure); +PRIVATE void scale_pf_params(unsigned int length); +PRIVATE void get_arrays(unsigned int length); +PRIVATE double expLoopEnergy(int u1, int u2, int type, int type2, + short si1, short sj1, short sp1, short sq1); +PRIVATE double expHairpinEnergy(int u, int type, short si1, short sj1, + const char *string); +PRIVATE void make_ptypes(const short *S, const char *structure); + +PRIVATE FLT_OR_DBL expMLclosing, expMLintern[NBPAIRS+1], *expMLbase; +PRIVATE FLT_OR_DBL expTermAU; +PRIVATE FLT_OR_DBL expdangle5[NBPAIRS+1][5], expdangle3[NBPAIRS+1][5]; +PRIVATE FLT_OR_DBL lxc, exptetra[40], expTriloop[40]; +PRIVATE FLT_OR_DBL expstack[NBPAIRS+1][NBPAIRS+1]; +PRIVATE FLT_OR_DBL expmismatchI[NBPAIRS+1][5][5], + expmismatchH[NBPAIRS+1][5][5], expmismatchM[NBPAIRS+1][5][5]; +PRIVATE FLT_OR_DBL expint11[NBPAIRS+1][NBPAIRS+1][5][5]; +PRIVATE FLT_OR_DBL expint21[NBPAIRS+1][NBPAIRS+1][5][5][5]; +PRIVATE FLT_OR_DBL expint22[NBPAIRS+1][NBPAIRS+1][5][5][5][5]; +PRIVATE FLT_OR_DBL *exphairpin; +PRIVATE FLT_OR_DBL expbulge[MAXLOOP+1]; +PRIVATE FLT_OR_DBL expinternal[MAXLOOP+1]; +PRIVATE FLT_OR_DBL expninio[5][MAXLOOP+1]; +PRIVATE FLT_OR_DBL *q, *qb, *qm, *qm1, *qqm, *qqm1, *qq, *qq1; +PRIVATE FLT_OR_DBL *prml, *prm_l, *prm_l1, *q1k, *qln; +PRIVATE FLT_OR_DBL *scale; +PRIVATE char *ptype; /* precomputed array of pair types */ +PRIVATE int *jindx; +PRIVATE int init_length; /* length in last call to init_pf_fold() */ +PRIVATE double init_temp; /* temperature in last call to scale_pf_params */ +#define ISOLATED 256.0 + +/*-----------------------------------------------------------------*/ +static short *S, *S1; +PUBLIC float pf_fold(char *sequence, char *structure) +{ + + int n, i,j,k,l, ij, kl, u,u1,d,ii,ll, type, type_2, tt, ov=0; + FLT_OR_DBL temp, Q, Qmax=0, prm_MLb; + FLT_OR_DBL prmt,prmt1; + FLT_OR_DBL qbt1, *tmp; + + double free_energy; + double max_real; + + max_real = (sizeof(FLT_OR_DBL) == sizeof(float)) ? FLT_MAX : DBL_MAX; + + n = (int) strlen(sequence); + if (n>init_length) init_pf_fold(n); /* (re)allocate space */ + if ((init_temp - temperature)>1e-6) update_pf_params(n); + + S = (short *) xrealloc(S, sizeof(short)*(n+1)); + S1= (short *) xrealloc(S1, sizeof(short)*(n+1)); + S[0] = n; + for (l=1; l<=n; l++) { + S[l] = (short) encode_char(toupper(sequence[l-1])); + S1[l] = alias[S[l]]; + } + make_ptypes(S, structure); + + /*array initialization ; qb,qm,q + qb,qm,q (i,j) are stored as ((n+1-i)*(n-i) div 2 + n+1-j */ + + for (d=0; d<=TURN; d++) + for (i=1; i<=n-d; i++) { + j=i+d; + ij = iindx[i]-j; + q[ij]=1.0*scale[d+1]; + qb[ij]=qm[ij]=0.0; + } + + for (i=1; i<=n; i++) + qq[i]=qq1[i]=qqm[i]=qqm1[i]=prm_l[i]=prm_l1[i]=prml[i]=0; + + for (j=TURN+2;j<=n; j++) { + for (i=j-TURN-1; i>=1; i--) { + /* construction of partition function of segment i,j*/ + /*firstly that given i bound to j : qb(i,j) */ + u = j-i-1; ij = iindx[i]-j; + type = ptype[ij]; + if (type!=0) { + /*hairpin contribution*/ + if (((type==3)||(type==4))&&no_closingGU) qbt1 = 0; + else + qbt1 = expHairpinEnergy(u, type, S1[i+1], S1[j-1], sequence+i-1); + + /* interior loops with interior pair k,l */ + for (k=i+1; k<=MIN(i+MAXLOOP+1,j-TURN-2); k++) { + u1 = k-i-1; + for (l=MAX(k+TURN+1,j-1-MAXLOOP+u1); l1) qbt1 *= expdangle5[type][S1[i-1]]; + if (j2) qbt1 *= expTermAU; + qqm[i] += qbt1; + } + if (qm1) qm1[jindx[j]+i] = qqm[i]; /* for stochastic backtracking */ + + /*construction of qm matrix containing multiple loop + partition function contributions from segment i,j */ + temp = 0.0; + ii = iindx[i]; /* ii-k=[i,k-1] */ + for (k=i+1; k<=j; k++) temp += (qm[ii-(k-1)]+expMLbase[k-i])*qqm[k]; + qm[ij] = (temp + qqm[i]); + + /*auxiliary matrix qq for cubic order q calculation below */ + qbt1 = qb[ij]; + if (type) { + if (i>1) qbt1 *= expdangle5[type][S1[i-1]]; + if (j2) qbt1 *= expTermAU; + } + qq[i] = qq1[i]*scale[1] + qbt1; + + /*construction of partition function for segment i,j */ + temp = 1.0*scale[1+j-i] + qq[i]; + for (k=i; k<=j-1; k++) temp += q[ii-k]*qq[k+1]; + q[ij] = temp; + + if (temp>Qmax) { + Qmax = temp; + if (Qmax>max_real/10.) + fprintf(stderr, "Q close to overflow: %d %d %g\n", i,j,temp); + } + if (temp>=max_real) { + PRIVATE char msg[128]; + sprintf(msg, "overflow in pf_fold while calculating q[%d,%d]\n" + "use larger pf_scale", i,j); + nrerror(msg); + } + } + tmp = qq1; qq1 =qq; qq =tmp; + tmp = qqm1; qqm1=qqm; qqm=tmp; + } + if (backtrack_type=='C') Q = qb[iindx[1]-n]; + else if (backtrack_type=='M') Q = qm[iindx[1]-n]; + else Q = q[iindx[1]-n]; + + /* ensemble free energy in Kcal/mol */ + if (Q<=FLT_MIN) fprintf(stderr, "pf_scale too large\n"); + free_energy = (-log(Q)-n*log(pf_scale))*(temperature+K0)*GASCONST/1000.0; + /* in case we abort because of floating point errors */ + if (n>1600) fprintf(stderr, "free energy = %8.2f\n", free_energy); + + /* backtracking to construct binding probabilities of pairs*/ + + if (do_backtrack) { + Qmax=0; + + for (k=1; k<=n; k++) { + q1k[k] = q[iindx[1] - k]; + qln[k] = q[iindx[k] -n]; + } + q1k[0] = 1.0; + qln[n+1] = 1.0; + + pr = q; /* recycling */ + + /* 1. exterior pair i,j and initialization of pr array */ + for (i=1; i<=n; i++) { + for (j=i; j<=MIN(i+TURN,n); j++) pr[iindx[i]-j] = 0; + for (j=i+TURN+1; j<=n; j++) { + ij = iindx[i]-j; + type = ptype[ij]; + if (type&&(qb[ij]>0.)) { + pr[ij] = q1k[i-1]*qln[j+1]/q1k[n]; + if (i>1) pr[ij] *= expdangle5[type][S1[i-1]]; + if (j2) pr[ij] *= expTermAU; + } else + pr[ij] = 0; + } + } + + for (l=n; l>TURN+1; l--) { + + /* 2. bonding k,l as substem of 2:loop enclosed by i,j */ + for (k=1; k0)) { + pr[kl] += pr[ij]*expLoopEnergy(k-i-1, j-l-1, type, type_2, + S1[i+1], S1[j-1], S1[k-1], S1[l+1]); + } + } + } + /* 3. bonding k,l as substem of multi-loop enclosed by i,j */ + prm_MLb = 0.; + if (l1) temp *= expdangle5[tt][S1[k-1]]; + if (lQmax) { + Qmax = pr[kl]; + if (Qmax>max_real/10.) + fprintf(stderr, "P close to overflow: %d %d %g %g\n", + i, j, pr[kl], qb[kl]); + } + if (pr[kl]>=max_real) { + ov++; + pr[kl]=FLT_MAX; + } + + } /* end for (k=..) */ + tmp = prm_l1; prm_l1=prm_l; prm_l=tmp; + + } /* end for (l=..) */ + + for (i=1; i<=n; i++) + for (j=i+TURN+1; j<=n; j++) { + ij = iindx[i]-j; + pr[ij] *= qb[ij]; + } + + if (structure!=NULL) + sprintf_bppm(n, structure); + } /* end if (do_backtrack)*/ + + if (ov>0) fprintf(stderr, "%d overflows occurred while backtracking;\n" + "you might try a smaller pf_scale than %g\n", + ov, pf_scale); + + return free_energy; +} + +/*------------------------------------------------------------------------*/ +/* dangling ends should never be destabilizing, i.e. expdangle>=1 */ +/* specific heat needs smooth function (2nd derivative) */ +/* we use a*(sin(x+b)+1)^2, with a=2/(3*sqrt(3)), b=Pi/6-sqrt(3)/2, */ +/* in the interval b0.8660254)?(X):\ + SCALE*0.38490018*(sin((X)/SCALE-0.34242663)+1)*(sin((X)/SCALE-0.34242663)+1)) +/* #define SMOOTH(X) ((X)<0 ? 0 : (X)) */ + +PRIVATE void scale_pf_params(unsigned int length) +{ + /* scale energy parameters and pre-calculate Boltzmann weights */ + unsigned int i, j, k, l; + double kT, TT; + double GT; + + + init_temp = temperature; + kT = (temperature+K0)*GASCONST; /* kT in cal/mol */ + TT = (temperature+K0)/(Tmeasure); + + /* scaling factors (to avoid overflows) */ + if (pf_scale==-1) { /* mean energy for random sequences: 184.3*length cal */ + pf_scale = exp(-(-185+(temperature-37.)*7.27)/kT); + if (pf_scale<1) pf_scale=1; + } + scale[0] = 1.; + for (i=1; i<=length; i++) { + scale[i] = scale[i-1]/pf_scale; + } + + /* loop energies: hairpins, bulges, interior, mulit-loops */ + for (i=0; i<=MIN(30,length); i++) { + GT = hairpin37[i]*TT; + exphairpin[i] = exp( -GT*10./kT); + } + for (i=0; i<=MIN(30, MAXLOOP); i++) { + GT = bulge37[i]*TT; + expbulge[i] = exp( -GT*10./kT); + GT = internal_loop37[i]*TT; + expinternal[i] = exp( -GT*10./kT); + } + /* special case of size 2 interior loops (single mismatch) */ + if (james_rule) expinternal[2] = exp ( -80*10/kT); + + lxc = lxc37*TT; + for (i=31; i2) GT += TerminalAU; */ + expMLintern[i] = exp( -GT*10./kT); + } + expTermAU = exp(-TerminalAU*10/kT); + + GT = ML_BASE37*TT; + for (i=0; i 0 (at large temps), + but make sure go smoothly to 0 */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=4; j++) { + if (dangles) { + GT = dangle5_H[i][j] - (dangle5_H[i][j] - dangle5_37[i][j])*TT; + expdangle5[i][j] = exp(SMOOTH(-GT)*10./kT); + GT = dangle3_H[i][j] - (dangle3_H[i][j] - dangle3_37[i][j])*TT; + expdangle3[i][j] = exp(SMOOTH(-GT)*10./kT); + } else + expdangle3[i][j] = expdangle5[i][j] = 1; + if (i>2) /* add TermAU penalty into dangle3 */ + expdangle3[i][j] *= expTermAU; + } + + /* stacking energies */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) { + GT = enthalpies[i][j] - (enthalpies[i][j] - stack37[i][j])*TT; + expstack[i][j] = exp( -GT*10/kT); + } + + /* mismatch energies */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<5; j++) + for (k=0; k<5; k++) { + GT = mism_H[i][j][k] - (mism_H[i][j][k] - mismatchI37[i][j][k])*TT; + expmismatchI[i][j][k] = exp(-GT*10.0/kT); + GT = mism_H[i][j][k] - (mism_H[i][j][k] - mismatchH37[i][j][k])*TT; + expmismatchH[i][j][k] = exp(-GT*10.0/kT); + GT = mism_H[i][j][k] - (mism_H[i][j][k] - mismatchM37[i][j][k])*TT; + expmismatchM[i][j][k] = exp(-GT*10.0/kT); + } + + /* interior lops of length 2 */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) + for (k=0; k<5; k++) + for (l=0; l<5; l++) { + GT = int11_H[i][j][k][l] - + (int11_H[i][j][k][l] - int11_37[i][j][k][l])*TT; + expint11[i][j][k][l] = exp(-GT*10./kT); + } + /* interior 2x1 loops */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) + for (k=0; k<5; k++) + for (l=0; l<5; l++) { + int m; + for (m=0; m<5; m++) { + GT = int21_H[i][j][k][l][m] - + (int21_H[i][j][k][l][m] - int21_37[i][j][k][l][m])*TT; + expint21[i][j][k][l][m] = exp(-GT*10./kT); + } + } + /* interior 2x2 loops */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) + for (k=0; k<5; k++) + for (l=0; l<5; l++) { + int m,n; + for (m=0; m<5; m++) + for (n=0; n<5; n++) { + GT = int22_H[i][j][k][l][m][n] - + (int22_H[i][j][k][l][m][n]-int22_37[i][j][k][l][m][n])*TT; + expint22[i][j][k][l][m][n] = exp(-GT*10./kT); + } + } +} + +/*----------------------------------------------------------------------*/ +PRIVATE double expHairpinEnergy(int u, int type, short si1, short sj1, + const char *string) { + double q; + q = exphairpin[u]; + if ((tetra_loop)&&(u==4)) { + char tl[7]={0}, *ts; + strncpy(tl, string, 6); + if ((ts=strstr(Tetraloops, tl))) + q *= exptetra[(ts-Tetraloops)/7]; + } + if (u==3) { + char tl[6]={0}, *ts; + strncpy(tl, string, 5); + if ((ts=strstr(Triloops, tl))) + q *= expTriloop[(ts-Triloops)/6]; + if (type>2) + q *= expTermAU; + } + else /* no mismatches for tri-loops */ + q *= expmismatchH[type][si1][sj1]; + + q *= scale[u+2]; + return q; +} + +PRIVATE double expLoopEnergy(int u1, int u2, int type, int type2, + short si1, short sj1, short sp1, short sq1) { + double z=0; + int no_close = 0; + + if ((no_closingGU) && ((type2==3)||(type2==4)||(type==2)||(type==4))) + no_close = 1; + + if ((u1==0) && (u2==0)) /* stack */ + z = expstack[type][type2]; + else if (no_close==0) { + if ((u1==0)||(u2==0)) { /* bulge */ + int u; + u = (u1==0)?u2:u1; + z = expbulge[u]; + if (u2+u1==1) z *= expstack[type][type2]; + else { + if (type>2) z *= expTermAU; + if (type2>2) z *= expTermAU; + } + } + else { /* interior loop */ + if (u1+u2==2) /* size 2 is special */ + z = expint11[type][type2][si1][sj1]; + else if ((u1==1) && (u2==2)) + z = expint21[type][type2][si1][sq1][sj1]; + else if ((u1==2) && (u2==1)) + z = expint21[type2][type][sq1][si1][sp1]; + else if ((u1==2) && (u2==2)) + z = expint22[type][type2][si1][sp1][sq1][sj1]; + else { + z = expinternal[u1+u2]* + expmismatchI[type][si1][sj1]* + expmismatchI[type2][sq1][sp1]; + z *= expninio[2][abs(u1-u2)]; + } + } + } + return z*scale[u1+u2+2]; +} + +/*----------------------------------------------------------------------*/ + +PRIVATE void get_arrays(unsigned int length) +{ + unsigned int size,i; + + size = sizeof(FLT_OR_DBL) * ((length+1)*(length+2)/2); + q = (FLT_OR_DBL *) space(size); + qb = (FLT_OR_DBL *) space(size); + qm = (FLT_OR_DBL *) space(size); + + if (st_back) { + qm1 = (FLT_OR_DBL *) space(size); + } + ptype = (char *) space(sizeof(char)*((length+1)*(length+2)/2)); + q1k = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+1)); + qln = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + qq = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + qq1 = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + qqm = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + qqm1 = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + prm_l = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + prm_l1 =(FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + prml = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + exphairpin = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+1)); + expMLbase = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+1)); + scale = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+1)); + iindx = (int *) space(sizeof(int)*(length+1)); + jindx = (int *) space(sizeof(int)*(length+1)); + for (i=1; i<=length; i++) { + iindx[i] = ((length+1-i)*(length-i))/2 +length+1; + jindx[i] = (i*(i-1))/2; + } +} + +/*----------------------------------------------------------------------*/ + +PUBLIC void init_pf_fold(int length) +{ + if (length<1) nrerror("init_pf_fold: length must be greater 0"); + if (init_length>0) free_pf_arrays(); /* free previous allocation */ +#ifdef SUN4 + nonstandard_arithmetic(); +#else +#ifdef HP9 + fpsetfastmode(1); +#endif +#endif + make_pair_matrix(); + get_arrays((unsigned) length); + scale_pf_params((unsigned) length); + init_length=length; +} + +PUBLIC void free_pf_arrays(void) +{ + free(q); q=pr=NULL; + free(qb); + free(qm); + if (qm1 != NULL) {free(qm1); qm1 = NULL;} + free(ptype); + free(qq); free(qq1); + free(qqm); free(qqm1); + free(q1k); free(qln); + free(prm_l); free(prm_l1); free(prml); + free(exphairpin); + free(expMLbase); + free(scale); + free(iindx); free(jindx); +#ifdef SUN4 + standard_arithmetic(); +#else +#ifdef HP9 + fpsetfastmode(0); +#endif +#endif + init_length=0; + free(S); S=NULL; + free(S1); S1=NULL; +} +/*---------------------------------------------------------------------------*/ + +PUBLIC void update_pf_params(int length) +{ + if (length>init_length) init_pf_fold(length); /* init not update */ + else { + make_pair_matrix(); + scale_pf_params((unsigned) length); + } +} + +/*---------------------------------------------------------------------------*/ + +PUBLIC char bppm_symbol(float *x) +{ + if( x[0] > 0.667 ) return '.'; + if( x[1] > 0.667 ) return '('; + if( x[2] > 0.667 ) return ')'; + if( (x[1]+x[2]) > x[0] ) { + if( (x[1]/(x[1]+x[2])) > 0.667) return '{'; + if( (x[2]/(x[1]+x[2])) > 0.667) return '}'; + else return '|'; + } + if( x[0] > (x[1]+x[2]) ) return ','; + return ':'; +} + +/*---------------------------------------------------------------------------*/ +#define L 3 +PRIVATE void sprintf_bppm(int length, char *structure) +{ + int i,j; + float P[L]; /* P[][0] unpaired, P[][1] upstream p, P[][2] downstream p */ + + for( j=1; j<=length; j++ ) { + P[0] = 1.0; + P[1] = P[2] = 0.0; + for( i=1; in) continue; + type = pair[S[i]][S[j]]; + while ((i>=1)&&(j<=n)) { + if ((i>1)&&(j': /* pairs downstream */ + for (l=j+TURN+1; l<=n; l++) ptype[iindx[j]-l] = 0; + break; + } + } + if (hx!=0) { + fprintf(stderr, "%s\n", structure); + nrerror("unbalanced brackets in constraint string"); + } + free(stack); + } +} + +/* + stochastic backtracking in pf_fold arrays + returns random structure S with Boltzman probabilty + p(S) = exp(-E(S)/kT)/Z +*/ +static void backtrack(int i, int j); + +static char *pstruc; +static char *sequence; +char *pbacktrack(char *seq) { + double r, qt; + int i,j,n, start; + + sequence = seq; + n = strlen(sequence); + + if (init_length<1) + nrerror("can't backtrack without pf arrays.\n" + "Call pf_fold() before pbacktrack()"); + pstruc = space((n+1)*sizeof(char)); + + for (i=0; i qln[i+1]*scale[1]) break; /* i is paired */ + } + if (i>=n) break; /* no more pairs */ + /* now find the pairing partner j */ + r = urn() * (qln[i] - qln[i+1]*scale[1]); + for (qt=0, j=i+1; j<=n; j++) { + int type; + type = ptype[iindx[i]-j]; + if (type) { + double qkl; + qkl = qb[iindx[i]-j]; + if (j1) qkl *= expdangle5[type][S1[i-1]]; + if (j2) qkl *= expTermAU; + qt += qkl; + if (qt > r) break; /* j is paired */ + } + } + if (j==n+1) nrerror("backtracking failed in ext loop"); + start = j+1; + backtrack(i,j); + } + + return pstruc; +} + +static void backtrack_qm1(int i,int j) { + /* i is paired to l, i=r) break; + } + if (l>j) nrerror("backtrack failed in qm1"); + backtrack(i,l); +} + +static void backtrack(int i, int j) { + do { + double r, qbt1; + int k, l, type, u, u1; + + pstruc[i-1] = '('; pstruc[j-1] = ')'; + + r = urn() * qb[iindx[i]-j]; + type = ptype[iindx[i]-j]; + u = j-i-1; + /*hairpin contribution*/ + if (((type==3)||(type==4))&&no_closingGU) qbt1 = 0; + else + qbt1 = expHairpinEnergy(u, type, S1[i+1], S1[j-1], sequence+i-1); + + if (qbt1>r) return; /* found the hairpin we're done */ + + for (k=i+1; k<=MIN(i+MAXLOOP+1,j-TURN-2); k++) { + u1 = k-i-1; + for (l=MAX(k+TURN+1,j-1-MAXLOOP+u1); l r) break; + } + if (qbt1 > r) break; + } + if (l=r) break; + } + if (k>=j) nrerror("backtrack failed, can't find split index "); + + backtrack_qm1(k, j); + + j = k-1; + while (j>i) { + /* now backtrack [i ... j] in qm[] */ + jj = jindx[j]; + ii = iindx[i]; + r = urn() * qm[ii - j]; + qt = qm1[jj+i]; k=i; + if (qt= r) break; + } + if (k>j) nrerror("backtrack failed in qm"); + + backtrack_qm1(k,j); + + if (k= r) break; /* no more pairs */ + j = k-1; + } + } +} + +PUBLIC double mean_bp_dist(int length) { + /* compute the mean base pair distance in the thermodynamic ensemble */ + /* = \sum_{a,b} p_a p_b d(S_a,S_b) + this can be computed from the pair probs p_ij as + = \sum_{ij} p_{ij}(1-p_{ij}) */ + int i,j; + double d=0; + + if (pr==NULL) + nrerror("pr==NULL. You need to call pf_fold() before mean_bp_dist()"); + + for (i=1; i<=length; i++) + for (j=i+TURN+1; j<=length; j++) + d += pr[iindx[i]-j] * (1-pr[iindx[i]-j]); + return d; +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/part_func.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/part_func.o new file mode 100755 index 0000000000000000000000000000000000000000..3ba5b8c28e957404d3ac7ba3d3f21794515b2b17 GIT binary patch literal 77168 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/part_func_co.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/part_func_co.c new file mode 100755 index 00000000..9f2c3e59 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/part_func_co.c @@ -0,0 +1,1372 @@ +/* Last changed Time-stamp: <2006-01-19 12:16:02 ivo> */ +/* + partiton function for RNA secondary structures + + Ivo L Hofacker + Stephan Bernhart + Vienna RNA package +*/ +/* + $Log: part_func_co.c,v $ + Revision 1.7 2006/01/19 11:30:04 ivo + compute_probabilities should only look at one dimer at a time + + Revision 1.6 2006/01/18 12:55:40 ivo + major cleanup of berni code + fix bugs related to confusing which free energy is returned by co_pf_fold() + + Revision 1.5 2006/01/16 11:32:25 ivo + small bug in multiloop pair probs + + Revision 1.4 2006/01/05 18:13:40 ivo + update + + Revision 1.3 2006/01/04 15:14:29 ivo + fix bug in concentration calculations + + Revision 1.2 2004/12/23 12:14:41 berni + *** empty log message *** + + Revision 1.1 2004/12/22 10:46:17 berni + + Partition function Cofolding 0.9, Computation of concentrations. + + Revision 1.16 2003/08/04 09:14:09 ivo + finish up stochastic backtracking + + Revision 1.15 2002/03/19 16:51:12 ivo + more on stochastic backtracking (still incomplete) + + Revision 1.13 2001/11/16 17:30:04 ivo + add stochastic backtracking (still incomplete) +*/ + +#include +#include +#include +#include +#include +#include /* #defines FLT_MAX ... */ +#include "utils.h" +#include "energy_par.h" +#include "fold_vars.h" +#include "pair_mat.h" +#include "PS_dot.h" +#include "part_func_co.h" +/*@unused@*/ +static char rcsid[] UNUSED = "$Id: part_func_co.c,v 1.7 2006/01/19 11:30:04 ivo Exp $"; + +#define MAX(x,y) (((x)>(y)) ? (x) : (y)) +#define MIN(x,y) (((x)<(y)) ? (x) : (y)) +#define PUBLIC +#define PRIVATE static + +PUBLIC cofoldF co_pf_fold(char *sequence, char *structure); +PUBLIC void init_co_pf_fold(int length); +PUBLIC void free_co_pf_arrays(void); +PUBLIC void update_co_pf_params(int length); +PUBLIC char co_bppm_symbol(float *x); + +PUBLIC struct ConcEnt *get_concentrations(double FEAB, double FEAA, double FEBB, double FEA, double FEB, double *startconc); +PUBLIC struct plist *get_plist(struct plist *pl, int length, double cut_off); +PUBLIC struct plist *get_mfe_plist(struct plist *pl); +PUBLIC double F_monomer[2]; /* free energies of the two monomers */ +/* PUBLIC int make_probsum(int length, char *name); */ +PRIVATE double *Newton_Conc(double ZAB, double ZAA, double ZBB, double concA, double concB,double* ConcVec); +PRIVATE void sprintf_bppm(int length, char *structure); +PRIVATE void scale_pf_params(unsigned int length); +PRIVATE void get_arrays(unsigned int length); +PRIVATE double expLoopEnergy(int u1, int u2, int type, int type2, + short si1, short sj1, short sp1, short sq1); +PRIVATE double expHairpinEnergy(int u, int type, short si1, short sj1, + const char *string); +PRIVATE void make_ptypes(const short *S, const char *structure); + +PRIVATE FLT_OR_DBL expMLclosing, expMLintern[NBPAIRS+1], *expMLbase; +PRIVATE FLT_OR_DBL expTermAU; +PRIVATE FLT_OR_DBL expdangle5[NBPAIRS+1][5], expdangle3[NBPAIRS+1][5]; +PRIVATE FLT_OR_DBL lxc, exptetra[40], expTriloop[40]; +PRIVATE FLT_OR_DBL expstack[NBPAIRS+1][NBPAIRS+1]; +PRIVATE FLT_OR_DBL expmismatchI[NBPAIRS+1][5][5], + expmismatchH[NBPAIRS+1][5][5], expmismatchM[NBPAIRS+1][5][5]; +PRIVATE FLT_OR_DBL expint11[NBPAIRS+1][NBPAIRS+1][5][5]; +PRIVATE FLT_OR_DBL expint21[NBPAIRS+1][NBPAIRS+1][5][5][5]; +PRIVATE FLT_OR_DBL expint22[NBPAIRS+1][NBPAIRS+1][5][5][5][5]; +PRIVATE FLT_OR_DBL *exphairpin; +PRIVATE FLT_OR_DBL expbulge[MAXLOOP+1]; +PRIVATE FLT_OR_DBL expInit; +PRIVATE FLT_OR_DBL expinternal[MAXLOOP+1]; +PRIVATE FLT_OR_DBL expninio[5][MAXLOOP+1]; +PRIVATE FLT_OR_DBL *q, *qb, *qm, *qm1, *qqm, *qqm1, *qq, *qq1; +PRIVATE FLT_OR_DBL *prml, *prm_l, *prm_l1, *q1k, *qln; +PRIVATE FLT_OR_DBL *scale; +PRIVATE char *ptype; /* precomputed array of pair types */ +PRIVATE int *jindx; +PRIVATE int init_length; /* length in last call to init_pf_fold() */ +#define ISOLATED 256.0 +#undef TURN +#define TURN 0 +#define SAME_STRAND(I,J) (((I)>=cut_point)||((J)init_length) init_co_pf_fold(n); /* (re)allocate space */ + /* printf("mirnatog=%d\n",mirnatog); */ + S = (short *) xrealloc(S, sizeof(short)*(n+1)); + S1= (short *) xrealloc(S1, sizeof(short)*(n+1)); + S[0] = n; + for (l=1; l<=n; l++) { + S[l] = (short) encode_char(toupper(sequence[l-1])); + S1[l] = alias[S[l]]; + } + make_ptypes(S, structure); + + /*array initialization ; qb,qm,q + qb,qm,q (i,j) are stored as ((n+1-i)*(n-i) div 2 + n+1-j */ + + /* for (d=0; d<=TURN; d++) */ + for (i=1; i<=n/*-d*/; i++) { + ij = iindx[i]-i; + q[ij]=scale[1]; + qb[ij]=qm[ij]=0.0; + } + + for (i=1; i<=n; i++) + qq[i]=qq1[i]=qqm[i]=qqm1[i]=prm_l[i]=prm_l1[i]=prml[i]=0; + + for (j=TURN+2;j<=n; j++) { + for (i=j-TURN-1; i>=1; i--) { + /* construction of partition function of segment i,j*/ + /*firstly that given i bound to j : qb(i,j) */ + u = j-i-1; ij = iindx[i]-j; + type = ptype[ij]; + qbt1=0; + if (type!=0) { + /*hairpin contribution*/ + if SAME_STRAND(i,j){ + if (((type==3)||(type==4))&&no_closingGU) qbt1 = 0; + else + qbt1 = expHairpinEnergy(u, type, S1[i+1], S1[j-1], sequence+i-1); + + } + + /* interior loops with interior pair k,l */ + for (k=i+1; k<=MIN(i+MAXLOOP+1,j-TURN-2); k++) { + u1 = k-i-1; + for (l=MAX(k+TURN+1,j-1-MAXLOOP+u1); lcut_point) temp*=scale[1]; + if (i2) temp*= expTermAU; + if (SAME_STRAND(j-1,j)) temp*=expdangle5[tt][S1[j-1]]; + + qbt1+=temp; + } + qb[ij] = qbt1; + } /* end if (type!=0) */ + else qb[ij] = 0.0; + + /* construction of qqm matrix containing final stem + contributions to multiple loop partition function + from segment i,j */ + if (SAME_STRAND(j-1,j)) { + qqm[i] = qqm1[i]*expMLbase[1]; + } + else qqm[i]=0; + if (type&&SAME_STRAND(i-1,i)&&SAME_STRAND(j,j+1)) { + qbt1 = qb[ij]*expMLintern[type]; + if (i>1) qbt1 *= expdangle5[type][S1[i-1]]; + if (j2) qbt1 *= expTermAU; + qqm[i] += qbt1; + } + + if (qm1) qm1[jindx[j]+i] = qqm[i]; /* for stochastic backtracking */ + + + /*construction of qm matrix containing multiple loop + partition function contributions from segment i,j */ + temp = 0.0; + ii = iindx[i]; /* ii-k=[i,k] */ + + for (k=i+1; k<=j; k++) { + if (SAME_STRAND(k-1,k)) temp += (qm[ii-(k-1)])*qqm[k]; + if (SAME_STRAND(i,k)) temp +=expMLbase[k-i]*qqm[k]; + + } + + qm[ij] = (temp + qqm[i]); + + /*auxiliary matrix qq for cubic order q calculation below */ + qbt1 = qb[ij]; + if (type) { + if ((i>1)&&(SAME_STRAND(i-1,i))) qbt1 *= expdangle5[type][S1[i-1]]; + if ((j2) qbt1 *= expTermAU; + } + qq[i] = qq1[i]*scale[1] + qbt1; + /*construction of partition function for segment i,j */ + temp = 1.0*scale[1+j-i] + qq[i]; + for (k=i; k<=j-1; k++) { + temp += q[ii-k]*qq[k+1]; + } + q[ij] = temp; + + if (temp>Qmax) { + Qmax = temp; + if (Qmax>max_real/10.) + fprintf(stderr, "Q close to overflow: %d %d %g\n", i,j,temp); + } + if (temp>=max_real) { + PRIVATE char msg[128]; + sprintf(msg, "overflow in pf_fold while calculating q[%d,%d]\n" + "use larger pf_scale", i,j); + nrerror(msg); + } + } + tmp = qq1; qq1 =qq; qq =tmp; + tmp = qqm1; qqm1=qqm; qqm=tmp; + } + if (backtrack_type=='C') Q = qb[iindx[1]-n]; + else if (backtrack_type=='M') Q = qm[iindx[1]-n]; + else Q = q[iindx[1]-n]; + /* ensemble free energy in Kcal/mol */ + if (Q<=FLT_MIN) fprintf(stderr, "pf_scale too large\n"); + free_energy = (-log(Q)-n*log(pf_scale))*(temperature+K0)*GASCONST/1000.0; + /* in case we abort because of floating point errors */ + if (n>1600) fprintf(stderr, "free energy = %8.2f\n", free_energy); + /*probability of molecules being bound together*/ + + + /*Computation of "real" Partition function*/ + /*Need that for concentrations*/ + if (cut_point>0){ + double kT, pbound, QAB, QToT, Qzero; + kT = (temperature+K0)*GASCONST/1000.0; + Qzero=q[iindx[1]-n]; + QAB=(q[iindx[1]-n]-q[iindx[1]-(cut_point-1)]*q[iindx[cut_point]-n])*expInit; + QToT=q[iindx[1]-(cut_point-1)]*q[iindx[cut_point]-n]+QAB; + pbound=1-(q[iindx[1]-(cut_point-1)]*q[iindx[cut_point]-n]/QToT); + + X.FAB = -kT*(log(QToT)+n*log(pf_scale)); + X.F0AB = -kT*(log(Qzero)+n*log(pf_scale)); + X.FcAB = (QAB>1e-17) ? -kT*(log(QAB)+n*log(pf_scale)) : 999; + X.FA = -kT*(log(q[iindx[1]-(cut_point-1)]) + (cut_point-1)*log(pf_scale)); + X.FB = -kT*(log(q[iindx[cut_point]-n]) + (n-cut_point+1)*log(pf_scale)); + + /* printf("QAB=%.9f\tQtot=%.9f\n",QAB/scale[n],QToT/scale[n]);*/ + } + else { + X.FA = X.FB = X.FAB = X.F0AB = free_energy; + X.FcAB = 0; + } + /* printf("freen=%.6f\n",free_energy); whereto?*/ + /* backtracking to construct binding probabilities of pairs*/ + /* printf("qis %f\n",q[iindx[1]-(cut_point-1)]);*/ + /*new: expInit added*/ /*new*/ + if (do_backtrack) { + Qmax=0; + + for (k=1; k<=n; k++) { + q1k[k] = q[iindx[1] - k]; + qln[k] = q[iindx[k] -n]; + } + q1k[0] = 1.0; + qln[n+1] = 1.0; + + /* pr = q; / * recycling */ + + /* 1. exterior pair i,j and initialization of pr array */ + for (i=1; i<=n; i++) { + for (j=i; j<=MIN(i+TURN,n); j++) pr[iindx[i]-j] = 0; + for (j=i+TURN+1; j<=n; j++) { + ij = iindx[i]-j; + type = ptype[ij]; + if (type&&(qb[ij]>0.)) { + pr[ij] = q1k[i-1]*qln[j+1]/q1k[n]; + if ((i>1)&&(SAME_STRAND(i-1,i))) pr[ij] *= expdangle5[type][S1[i-1]]; + if ((j2) pr[ij] *= expTermAU; + } else + pr[ij] = 0; + } + } + + for (l=n; l>TURN+1; l--) { + + /* 2. bonding k,l as substem of 2:loop enclosed by i,j */ + for (k=1; k0)) { + pr[kl] += pr[ij]*expLoopEnergy(k-i-1, j-l-1, type, type_2, + S1[i+1], S1[j-1], S1[k-1], S1[l+1]); + } + } + } + } + /* 3. bonding k,l as substem of multi-loop enclosed by i,j */ + prm_MLb = 0.; + if ((l1)&&SAME_STRAND(k-1,k)) temp *= expdangle5[tt][S1[k-1]]; + if ((lQmax) { + Qmax = pr[kl]; + if (Qmax>max_real/10.) + fprintf(stderr, "P close to overflow: %d %d %g %g\n", + i, j, pr[kl], qb[kl]); + } + if (pr[kl]>=max_real) { + ov++; + pr[kl]=FLT_MAX; + } + + } /* end for (k=..) multloop*/ + else /* set prm_l to 0 to get prm_l1 to be 0 */ + for (i=0; i<=n; i++) prm_l[i]=0; + + tmp = prm_l1; prm_l1=prm_l; prm_l=tmp; + /*computation of .(..(...)..&..). type features?*/ + + if (cut_point<=0) continue; /* no .(..(...)..&..). type features*/ + if ((l==n)||(l<=2)) continue; /* no .(..(...)..&..). type features*/ + if (l>cut_point) { /*right of cut*/ + /*k=cut_point*/ + kl=iindx[cut_point]-l; + if (qb[kl]>0.) { + tt=ptype[kl]; + /*i0.) { + type=ptype[iindx[i]-(l+1)]; type=rtype[type]; + pr[kl]+=q[iindx[i+1]-(cut_point-1)]*pr[iindx[i]-(l+1)]* + expdangle5[type][S1[l]]*expdangle3[type][S1[i+1]]* + expdangle3[tt][S1[l+1]]*scale[2]; + + } + /*j>l+1*/ + for (j=l+2; j<=n; j++) { + if (qb[iindx[i]-(j)]>0.) { + type=ptype[iindx[i]-(j)]; type=rtype[type]; + pr[kl]+=q[iindx[i+1]-(cut_point-1)]*pr[iindx[i]-(j)]* + expdangle5[type][S1[j-1]]*expdangle3[type][S1[i+1]]* + expdangle3[tt][S1[l+1]]*q[iindx[l+1]-(j-1)]*scale[2]; + + } + } + } + i=cut_point-1; /*i=cut_point-1; */ + /*j==l+1*/ + if (qb[iindx[i]-(l+1)]>0.) { + type=ptype[iindx[i]-(l+1)]; type=rtype[type]; + temp=pr[iindx[i]-(l+1)]*expdangle5[type][S1[l]]* + expdangle3[tt][S1[l+1]]*scale[2]; + if (type>2) temp*=expTermAU; + pr[kl]+=temp; + + } + /*j>l+1*/ + for (j=l+2; j<=n; j++) { + if (qb[iindx[i]-(j)]>0.) { + type=ptype[iindx[i]-(j)]; type=rtype[type]; + temp=pr[iindx[i]-(j)]*expdangle5[type][S1[j-1]]* + expdangle3[tt][S1[l+1]]*q[iindx[l+1]-(j-1)]*scale[2]; + if (type>2) temp*=expTermAU; + pr[kl]+=temp; + + } + } + } + + for (k=cut_point+1; kcut_point*/ + kl=iindx[k]-l; + if (qb[kl]>0.) { + tt=ptype[kl]; + /*i0.) { + type=ptype[iindx[i]-(l+1)]; type=rtype[type]; + pr[kl]+=q[iindx[cut_point]-(k-1)]*q[iindx[i+1]-(cut_point-1)]* + pr[iindx[i]-(l+1)]*expdangle5[type][S1[l]]* + expdangle3[type][S1[i+1]]*expdangle3[tt][S1[l+1]]* + expdangle5[tt][S1[k-1]]*scale[2]; + } + /*j>l+1*/ + for (j=l+2; j<=n; j++) { + if (qb[iindx[i]-(j)]>0.) { + type=ptype[iindx[i]-(j)]; type=rtype[type]; + pr[kl]+=q[iindx[cut_point]-(k-1)]*q[iindx[i+1]-(cut_point-1)]* + pr[iindx[i]-(j)]*expdangle5[type][S1[j-1]]* + expdangle3[type][S1[i+1]]*expdangle3[tt][S1[l+1]]* + q[iindx[l+1]-(j-1)]*expdangle5[tt][S1[k-1]]*scale[2]; + } + } + } + i=cut_point-1; /*i=cut_point-1; */ + /*j==l+1*/ + if (qb[iindx[i]-(l+1)]>0.) { + type=ptype[iindx[i]-(l+1)]; type=rtype[type]; + temp=q[iindx[cut_point]-(k-1)]*pr[iindx[i]-(l+1)]* + expdangle5[type][S1[l]]*expdangle3[tt][S1[l+1]]* + expdangle5[tt][S1[k-1]]*scale[2]; + if (type>2) temp*=expTermAU; + pr[kl]+=temp; + } + /*j>l+1*/ + for (j=l+2; j<=n; j++) { + if (qb[iindx[i]-(j)]>0.) { + type=ptype[iindx[i]-(j)]; type=rtype[type]; + temp=q[iindx[cut_point]-(k-1)]*pr[iindx[i]-(j)]* + expdangle5[type][S1[j-1]]*expdangle3[tt][S1[l+1]]* + q[iindx[l+1]-(j-1)]*expdangle5[tt][S1[k-1]]*scale[2]; + if (type>2) temp*=expTermAU; + pr[kl]+=temp; + } + } + } + } + } + if (l0.) { + tt=ptype[kl]; /*i=k-1*/ + if (qb[iindx[k-1]-cut_point]>0.) { /*j=cut_point*/ + type=ptype[iindx[k-1]-cut_point];type=rtype[type]; + pr[kl]+=pr[iindx[k-1]-cut_point]*q[iindx[l+1]-(cut_point-1)]* + expdangle3[tt][S1[l+1]]*expdangle5[tt][S1[k-1]]* + expdangle3[type][S1[k]]*scale[2]; + + } + + for (j=cut_point+1; j<=n;j++) { /*j ab cut_point+1*/ + if (qb[iindx[k-1]-j]>0.) { + type=ptype[iindx[k-1]-j];type=rtype[type]; + pr[kl]+=pr[iindx[k-1]-j]*q[iindx[l+1]-(cut_point-1)]* + q[iindx[cut_point]-(j-1)]*expdangle3[tt][S1[l+1]]* + expdangle5[tt][S1[k-1]]*expdangle5[type][S1[j-1]]* + expdangle3[type][S1[k]]*scale[2]; + } + } + /*i0.) { /*j=cut_point*/ + type=ptype[iindx[i]-cut_point];type=rtype[type]; + pr[kl]+=pr[iindx[i]-cut_point]*q[iindx[l+1]-(cut_point-1)]* + expdangle3[tt][S1[l+1]]*expdangle5[tt][S1[k-1]]* + expdangle3[type][S1[i+1]]*q[iindx[i+1]-(k-1)]*scale[2]; + } + + for (j=cut_point+1; j<=n;j++) { /*j ab cut_point+1*/ + if (qb[iindx[i]-j]>0.) { + type=ptype[iindx[i]-j];type=rtype[type]; + pr[kl]+=pr[iindx[i]-j]*q[iindx[l+1]-(cut_point-1)]* + q[iindx[cut_point]-(j-1)]*expdangle3[tt][S1[l+1]]* + expdangle5[tt][S1[k-1]]*expdangle5[type][S1[j-1]]* + expdangle3[type][S1[i+1]]*q[iindx[i+1]-(k-1)]*scale[2]; + } + } + } + } + } + } + /*l=cut_point-1*/ + if (l==cut_point-1) { + for(k=2; k0.) { + tt=ptype[kl]; /*i=k-1*/ + if (qb[iindx[k-1]-cut_point]>0.) { /*j=cut_point*/ + type=ptype[iindx[k-1]-cut_point];type=rtype[type]; + temp=pr[iindx[k-1]-cut_point]*expdangle5[tt][S1[k-1]]* + expdangle3[type][S1[k]]*scale[2]; + if (tt>2) temp*=expTermAU; + pr[kl]+=temp; + } + + for (j=cut_point+1; j<=n;j++) { /*j ab cut_point+1*/ + if (qb[iindx[k-1]-j]>0.) { + type=ptype[iindx[k-1]-j];type=rtype[type]; + temp=pr[iindx[k-1]-j]*q[iindx[cut_point]-(j-1)]* + expdangle5[tt][S1[k-1]]*expdangle5[type][S1[j-1]]* + expdangle3[type][S1[k]]*scale[2]; + if (tt>2) temp*=expTermAU; + pr[kl]+=temp; + } + } + /*i0.) { /*j=cut_point*/ + type=ptype[iindx[i]-cut_point];type=rtype[type]; + temp=pr[iindx[i]-cut_point]*expdangle5[tt][S1[k-1]]* + expdangle3[type][S1[i+1]]*q[iindx[i+1]-(k-1)]*scale[2]; + if (tt>2) temp*=expTermAU; + pr[kl]+=temp; + } + + for (j=cut_point+1; j<=n;j++) { /*j ab cut_point+1*/ + if (qb[iindx[i]-j]>0.) { + type=ptype[iindx[i]-j];type=rtype[type]; + temp=pr[iindx[i]-j]*q[iindx[cut_point]-(j-1)]* + expdangle5[tt][S1[k-1]]*expdangle5[type][S1[j-1]]* + expdangle3[type][S1[i+1]]*q[iindx[i+1]-(k-1)]*scale[2]; + if (tt>2) temp*=expTermAU; + pr[kl]+=temp; + } + } + + } + } + } + } + + } /* end for (l=..) */ + + for (i=1; i<=n; i++) + for (j=i+TURN+1; j<=n; j++) { + ij = iindx[i]-j; + pr[ij] *= qb[ij]; + } + + if (structure!=NULL) + sprintf_bppm(n, structure); + } /* end if (do_backtrack)*/ + + if (ov>0) fprintf(stderr, "%d overflows occurred while backtracking;\n" + "you might try a smaller pf_scale than %g\n", + ov, pf_scale); + return X; +} + +/*------------------------------------------------------------------------*/ +/* dangling ends should never be destabilizing, i.e. expdangle>=1 */ +/* specific heat needs smooth function (2nd derivative) */ +/* we use a*(sin(x+b)+1)^2, with a=2/(3*sqrt(3)), b=Pi/6-sqrt(3)/2, */ +/* in the interval b0.8660254)?(X):\ + SCALE*0.38490018*(sin((X)/SCALE-0.34242663)+1)*(sin((X)/SCALE-0.34242663)+1))*/ +#define SMOOTH(X) ((X)<0 ? 0 : (X)) + +PRIVATE void scale_pf_params(unsigned int length) +{ + /* scale energy parameters and pre-calculate Boltzmann weights */ + unsigned int i, j, k, l; + double kT, TT; + double GT; + + + + kT = (temperature+K0)*GASCONST; /* kT in cal/mol */ + TT = (temperature+K0)/(Tmeasure); + + /* scaling factors (to avoid overflows) */ + if (pf_scale==-1) { /* mean energy for random sequences: 184.3*length cal */ + pf_scale = exp(-(-185+(temperature-37.)*7.27)/kT); + if (pf_scale<1) pf_scale=1; + } + scale[0] = 1.; + for (i=1; i<=length; i++) { + scale[i] = scale[i-1]/pf_scale; + } + + /* loop energies: hairpins, bulges, interior, mulit-loops */ + for (i=0; i<=MIN(30,length); i++) { + GT = hairpin37[i]*TT; + exphairpin[i] = exp( -GT*10./kT); + } + for (i=0; i<=MIN(30, MAXLOOP); i++) { + GT = bulge37[i]*TT; + expbulge[i] = exp( -GT*10./kT); + GT = internal_loop37[i]*TT; + expinternal[i] = exp( -GT*10./kT); + } + /* special case of size 2 interior loops (single mismatch) */ + if (james_rule) expinternal[2] = exp ( -80*10/kT); + + lxc = lxc37*TT; + for (i=31; i2) GT += TerminalAU; */ + expMLintern[i] = exp( -GT*10./kT); + } + expTermAU = exp(-TerminalAU*10/kT); + + GT = ML_BASE37*TT; + for (i=0; i 0 (at large temps), + but make sure go smoothly to 0 */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=4; j++) { + if (dangles) { + GT = dangle5_H[i][j] - (dangle5_H[i][j] - dangle5_37[i][j])*TT; + expdangle5[i][j] = exp(SMOOTH(-GT)*10./kT); + GT = dangle3_H[i][j] - (dangle3_H[i][j] - dangle3_37[i][j])*TT; + expdangle3[i][j] = exp(SMOOTH(-GT)*10./kT); + } else + expdangle3[i][j] = expdangle5[i][j] = 1; + if (i>2) /* add TermAU penalty into dangle3 */ + expdangle3[i][j] *= expTermAU; + } + + /* stacking energies */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) { + GT = enthalpies[i][j] - (enthalpies[i][j] - stack37[i][j])*TT; + expstack[i][j] = exp( -GT*10/kT); + } + + /* mismatch energies */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<5; j++) + for (k=0; k<5; k++) { + GT = mism_H[i][j][k] - (mism_H[i][j][k] - mismatchI37[i][j][k])*TT; + expmismatchI[i][j][k] = exp(-GT*10.0/kT); + GT = mism_H[i][j][k] - (mism_H[i][j][k] - mismatchH37[i][j][k])*TT; + expmismatchH[i][j][k] = exp(-GT*10.0/kT); + GT = mism_H[i][j][k] - (mism_H[i][j][k] - mismatchM37[i][j][k])*TT; + expmismatchM[i][j][k] = exp(-GT*10.0/kT); + } + + /* interior lops of length 2 */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) + for (k=0; k<5; k++) + for (l=0; l<5; l++) { + GT = int11_H[i][j][k][l] - + (int11_H[i][j][k][l] - int11_37[i][j][k][l])*TT; + expint11[i][j][k][l] = exp(-GT*10./kT); + } + /* interior 2x1 loops */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) + for (k=0; k<5; k++) + for (l=0; l<5; l++) { + int m; + for (m=0; m<5; m++) { + GT = int21_H[i][j][k][l][m] - + (int21_H[i][j][k][l][m] - int21_37[i][j][k][l][m])*TT; + expint21[i][j][k][l][m] = exp(-GT*10./kT); + } + } + /* interior 2x2 loops */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) + for (k=0; k<5; k++) + for (l=0; l<5; l++) { + int m,n; + for (m=0; m<5; m++) + for (n=0; n<5; n++) { + GT = int22_H[i][j][k][l][m][n] - + (int22_H[i][j][k][l][m][n]-int22_37[i][j][k][l][m][n])*TT; + expint22[i][j][k][l][m][n] = exp(-GT*10./kT); + } + } + /*initialization of duplex energy*/ + expInit=exp(-DuplexInit*TT*10./kT); +} + +/*----------------------------------------------------------------------*/ +PRIVATE double expHairpinEnergy(int u, int type, short si1, short sj1, + const char *string) { + double q; + q = exphairpin[u]; + if ((tetra_loop)&&(u==4)) { + char tl[7]={0}, *ts; + strncpy(tl, string, 6); + if ((ts=strstr(Tetraloops, tl))) + q *= exptetra[(ts-Tetraloops)/7]; + } + if (u==3) { + char tl[6]="", *ts; + strncpy(tl, string, 5); + if ((ts=strstr(Triloops, tl))) + q *= expTriloop[(ts-Triloops)/6]; + if (type>2) + q *= expTermAU; + } + else /* no mismatches for tri-loops */ + q *= expmismatchH[type][si1][sj1]; + + q *= scale[u+2]; + return q; +} + +PRIVATE double expLoopEnergy(int u1, int u2, int type, int type2, + short si1, short sj1, short sp1, short sq1) { + double z=0; + int no_close = 0; + + if ((no_closingGU) && ((type2==3)||(type2==4)||(type==2)||(type==4))) + no_close = 1; + + if ((u1==0) && (u2==0)) /* stack */ + z = expstack[type][type2]; + else if (no_close==0) { + if ((u1==0)||(u2==0)) { /* bulge */ + int u; + u = (u1==0)?u2:u1; + z = expbulge[u]; + if (u2+u1==1) z *= expstack[type][type2]; + else { + if (type>2) z *= expTermAU; + if (type2>2) z *= expTermAU; + } + } + else { /* interior loop */ + if (u1+u2==2) /* size 2 is special */ + z = expint11[type][type2][si1][sj1]; + else if ((u1==1) && (u2==2)) + z = expint21[type][type2][si1][sq1][sj1]; + else if ((u1==2) && (u2==1)) + z = expint21[type2][type][sq1][si1][sp1]; + else if ((u1==2) && (u2==2)) + z = expint22[type][type2][si1][sp1][sq1][sj1]; + else { + z = expinternal[u1+u2]* + expmismatchI[type][si1][sj1]* + expmismatchI[type2][sq1][sp1]; + z *= expninio[2][abs(u1-u2)]; + } + } + } + return z*scale[u1+u2+2]; +} + +/*----------------------------------------------------------------------*/ + +PRIVATE void get_arrays(unsigned int length) +{ + unsigned int size,i; + + size = sizeof(FLT_OR_DBL) * ((length+1)*(length+2)/2); + q = (FLT_OR_DBL *) space(size); + qb = (FLT_OR_DBL *) space(size); + qm = (FLT_OR_DBL *) space(size); + pr = (FLT_OR_DBL *) space(size); /*q is needed later*/ + + qm1 = (FLT_OR_DBL *) space(size); + + ptype = (char *) space(sizeof(char)*((length+1)*(length+2)/2)); + q1k = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+1)); + + qln = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + qq = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + qq1 = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + qqm = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + qqm1 = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + prm_l = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + prm_l1 =(FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + prml = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + exphairpin = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+1)); + expMLbase = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+1)); + scale = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+1)); + iindx = (int *) space(sizeof(int)*(length+1)); + jindx = (int *) space(sizeof(int)*(length+1)); + for (i=1; i<=length; i++) { + iindx[i] = ((length+1-i)*(length-i))/2 +length+1; + jindx[i] = (i*(i-1))/2; + } +} + +/*----------------------------------------------------------------------*/ + +PUBLIC void init_co_pf_fold(int length) +{ + if (length<1) nrerror("init_pf_fold: length must be greater 0"); + if (init_length>0) free_co_pf_arrays(); /* free previous allocation */ +#ifdef SUN4 + nonstandard_arithmetic(); +#else +#ifdef HP9 + fpsetfastmode(1); +#endif +#endif + make_pair_matrix(); + get_arrays((unsigned) length); + scale_pf_params((unsigned) length); + init_length=length; +} + +PUBLIC void free_co_pf_arrays(void) +{ + free(q); + free(qb); + free(qm); + free(pr); + if (qm1 != NULL) {free(qm1); qm1 = NULL;} + free(ptype); + free(qq); free(qq1); + free(qqm); free(qqm1); + free(q1k); free(qln); + free(prm_l); free(prm_l1); free(prml); + free(exphairpin); + free(expMLbase); + free(scale); + free(iindx); + free(jindx); +#ifdef SUN4 + standard_arithmetic(); +#else +#ifdef HP9 + fpsetfastmode(0); +#endif +#endif + init_length=0; + free(S); S=NULL; + free(S1); S1=NULL; +} +/*---------------------------------------------------------------------------*/ + +PUBLIC void update_co_pf_params(int length) +{ + make_pair_matrix(); + scale_pf_params((unsigned) length); +} + +/*---------------------------------------------------------------------------*/ + +PUBLIC char co_bppm_symbol(float *x) +{ + if( x[0] > 0.667 ) return '.'; + if( x[1] > 0.667 ) return '('; + if( x[2] > 0.667 ) return ')'; + if( (x[1]+x[2]) > x[0] ) { + if( (x[1]/(x[1]+x[2])) > 0.667) return '{'; + if( (x[2]/(x[1]+x[2])) > 0.667) return '}'; + else return '|'; + } + if( x[0] > (x[1]+x[2]) ) return ','; + return ':'; +} + +/*---------------------------------------------------------------------------*/ +#define L 3 +PRIVATE void sprintf_bppm(int length, char *structure) +{ + int i,j; + float P[L]; /* P[][0] unpaired, P[][1] upstream p, P[][2] downstream p */ + + for( j=1; j<=length; j++ ) { + P[0] = 1.0; + P[1] = P[2] = 0.0; + for( i=1; in) continue; + type = pair[S[i]][S[j]]; + while ((i>=1)&&(j<=n)) { + if ((i>1)&&(j': /* pairs downstream */ + for (l=j+TURN+1; l<=n; l++) ptype[iindx[j]-l] = 0; + break; + case 'l': /*only intramolecular basepairing*/ + if (j=r) break; + } + if (l>j) nrerror("backtrack failed in qm1"); + backtrack(i,l); +} + +static void backtrack(int i, int j) { + do { + double r, qbt1; + int k, l, type, u, u1; + + pstruc[i-1] = '('; pstruc[j-1] = ')'; + + r = urn() * qb[iindx[i]-j]; + type = ptype[iindx[i]-j]; + u = j-i-1; + /*hairpin contribution*/ + if (((type==3)||(type==4))&&no_closingGU) qbt1 = 0; + else + qbt1 = expHairpinEnergy(u, type, S1[i+1], S1[j-1], sequence+i-1); + + if (qbt1>r) return; /* found the hairpin we're done */ + + for (k=i+1; k<=MIN(i+MAXLOOP+1,j-TURN-2); k++) { + u1 = k-i-1; + for (l=MAX(k+TURN+1,j-1-MAXLOOP+u1); l r) break; + } + if (qbt1 > r) break; + } + if (l=r) break; + } + if (k>=j) nrerror("backtrack failed, can't find split index "); + + backtrack_qm1(k, j); + + j = k-1; + while (j>i) { + /* now backtrack [i ... j] in qm[] */ + jj = jindx[j]; + ii = iindx[i]; + r = urn() * qm[ii - j]; + qt = qm1[jj+i]; k=i; + if (qt= r) break; + } + if (k>j) nrerror("backtrack failed in qm"); + + backtrack_qm1(k,j); + + if (k= r) break; /* no more pairs */ + j = k-1; + } + } +} + +PUBLIC void compute_probabilities(double FAB, double FA,double FB, + struct plist *prAB, + struct plist *prA, struct plist *prB, + int Alength) { + /*computes binding probabilities and dimer free energies*/ + int i, j; + double pAB; + double mykT;; + struct plist *lp1, *lp2; + int offset; + + mykT=(temperature+K0)*GASCONST/1000.; + + /* pair probabilities in pr are relative to the null model (without DuplexInit) */ + + /*Compute probabilities pAB, pAA, pBB*/ + + pAB=1.-exp((1/mykT)*(FAB-FA-FB)); + + /* compute pair probabilities given that it is a dimer */ + /* AB dimer */ + offset=0; + lp2=prA; + if (pAB>0) + for (lp1=prAB; lp1->j>0; lp1++) { + float pp=0; + i=lp1->i; j=lp1->j; + while (offset+lp2->i < i && lp2->i>0) lp2++; + if (offset+lp2->i == i) + while ((offset+lp2->j) < j && (lp2->j>0)) lp2++; + if (lp2->j == 0) {lp2=prB; offset=Alength;}/* jump to next list */ + if ((offset+lp2->i==i) && (offset+lp2->j ==j)) { + pp = lp2->p; + lp2++; + } + lp1->p=(lp1->p-(1-pAB)*pp)/pAB; + } + return; +} + +PRIVATE double *Newton_Conc(double KAB, double KAA, double KBB, double concA, double concB,double* ConcVec) { + double TOL, EPS, xn, yn, det, cA, cB; + int i=0; + /*Newton iteration for computing concentrations*/ + cA=concA; + cB=concB; + TOL=0.000000000000001; /*Tolerance for convergence*/ + ConcVec=(double*)space(5*sizeof(double)); /* holds concentrations */ + do { + det = (4.0 * KAA * cA + KAB *cB + 1.0) * (4.0 * KBB * cB + KAB *cA + 1.0) - (KAB *cB) * (KAB *cA); + xn = ( (2.0 * KBB * cB*cB + KAB *cA *cB + cB - concB) * (KAB *cA) - + (2.0 * KAA * cA*cA + KAB *cA *cB + cA - concA) * (4.0 * KBB * cB + KAB *cA + 1.0) ) /det; + yn = ( (2.0 * KAA * cA*cA + KAB *cA *cB + cA - concA) * (KAB *cB) - + (2.0 * KBB * cB*cB + KAB *cA *cB + cB - concB) * (4.0 * KAA * cA + KAB *cB + 1.0) ) /det; + EPS = fabs(xn) + fabs(yn); + cA += xn; + cB += yn; + i++; + if (i>10000) { + fprintf(stderr, "Newton did not converge after %d steps!!\n",i); + break; + } + } while(EPS>TOL); + + ConcVec[0]= cA*cB*KAB ;/*AB concentration*/ + ConcVec[1]= cA*cA*KAA ;/*AA concentration*/ + ConcVec[2]= cB*cB*KBB ;/*BB concentration*/ + ConcVec[3]= cA; /* A concentration*/ + ConcVec[4]= cB; /* B concentration*/ + + return ConcVec; +} + +PUBLIC struct ConcEnt *get_concentrations(double FcAB, double FcAA, double FcBB, double FEA, double FEB, double *startconc) +{ + /*takes an array of start concentrations, computes equilibrium concentrations of dimers, monomers, returns array of concentrations in strucutre ConcEnt*/ + double *ConcVec; + int i; + struct ConcEnt *Concentration; + double KAA, KAB, KBB, kT; + + kT=(temperature+K0)*GASCONST/1000.; + Concentration=(struct ConcEnt *)space(20*sizeof(struct ConcEnt)); + /* Compute equilibrium constants */ + /* again note the input free energies are not from the null model (without DuplexInit) */ + + KAA = exp(( 2.0 * FEA - FcAA)/kT); + KBB = exp(( 2.0 * FEB - FcBB)/kT); + KAB = exp(( FEA + FEB - FcAB)/kT); + printf("Kaa..%g %g %g\n", KAA, KBB, KAB); + for (i=0; ((startconc[i]!=0)||(startconc[i+1]!=0));i+=2) { + ConcVec=Newton_Conc(KAB, KAA, KBB, startconc[i], startconc[i+1], ConcVec); + Concentration[i/2].A0=startconc[i]; + Concentration[i/2].B0=startconc[i+1]; + Concentration[i/2].ABc=ConcVec[0]; + Concentration[i/2].AAc=ConcVec[1]; + Concentration[i/2].BBc=ConcVec[2]; + Concentration[i/2].Ac=ConcVec[3]; + Concentration[i/2].Bc=ConcVec[4]; + + if (!(((i+2)/2)%20)) { + Concentration=(struct ConcEnt *)xrealloc(Concentration,((i+2)/2+20)*sizeof(struct ConcEnt)); + } + free(ConcVec); + } + + return Concentration; +} + +PUBLIC struct plist *get_plist(struct plist *pl, int length, double cut_off) { + int i, j,n, count; + /*get pair probibilities out of pr array*/ + count=0; + n=2; + for (i=1; i??*/ + pl[count++].p=0.; + pl=(struct plist *)xrealloc(pl,(count)*sizeof(struct plist)); + return pl; +} + + +#if 0 +PUBLIC int make_probsum(int length, char *name) { + /*compute probability of any base to be paired (preliminary)*/ + double *Spprob; + double *Pprob; + int i,j; + FILE *fp; + char *filename; + filename=(char *)space((strlen(name)+10)*sizeof(char)); + sprintf(filename,"%s_pp.dat",name); + fp=fopen(filename,"w"); + Spprob=(double *)space((length+1)*sizeof(double)); + if (cut_point>0) Pprob=(double *)space((length+1)*sizeof(double)); + for (i=1; i0) for (i=1;i<=length; i++) { + fprintf(fp,"%4d %.8f\n",i,Pprob[i]); + } + fclose(fp); + free(Spprob); + free(filename); + if (cut_point>0) free(Pprob); + return 1; +} +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/part_func_co.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/part_func_co.o new file mode 100755 index 0000000000000000000000000000000000000000..4405c4d92ea15b0923f92bfd295dd055f7c33b3e GIT binary patch literal 92624 zcmd444SZC^)jxjs-VI(P<|Ys^71Rhp6W)WU1XNhqzy^Z?c_D#FOg0HbfrKQys3b&_ zSht%OY;CKLXld)yTC~-+w4zl>Kwi|^0-~ZmT6}9s@ddG3tU`X@Gc#xICL3GZ-}C!_ z{wwZ1bMBclXU?2+X6D@4n~j;-vrUi3;E%_+%5Y1JHH^mBTzG~6XBZb4!;L`G`*!$j zLbM!g7(ByydT-nO&d~lq(=+z2ii(O&!2Ep&-9AcR=?4QXoqI6|acB^6Co2f-U7x?=c0)niTDaY z-_9d@0;2bOfdHzh)7$gMn@$}2V<7lO({6L7^Yj&Cj$V7Zrw7o6F`n$;k)uA8vO{nC z9wz|2r_MOsJ;M&5BJ<^Guja)904c zG8({BWIGs{p4}CDo2jm0^)8ydiym2QI+eimUZY`$hGOlo4BAu1x>rXdxddQ z0eI@K0F41maVnwV59uF3JEBuG)LQFMQP)>$J+YV86C0k2(E3;Qsp-@ZmfAEL-snea zXkH2^)Iwc2HKgI4?!{1}>lEErqZr+YR*h~1s_EMZsX#a4YJnR06vJDwDG(}3IU4#T zd?^SGU+B5?X9J-XDaW%zWhp0pp)dU5vJ|`Jv(PKy6)Eu*&Z5q`k-oN>rM@@ShXtgg1j1-J z0KUhw(a6cb-6xzv|IYYbEzhobHM8Y)=dPXfCD_+x0TDXvb24`Y?$*3!f>+Nzr}=r& zwCQyG5P+}gA7;ZnU?q&bV$-p<$4R%{mCzx@8(-VxVNIt^r}^iC_zMr(Nq@HK3-qL` z<+(Mh(hvGXVP_NF>TKEXG(QPS(Us@2oE`9_9iQU*rSHjl;Gg;i-E2$zHoW7RK;^SX zEfk$cJ`H&G2R!=%p5p<}NiA^qX{ek<>s|M9K1$TnwOJI2%|9^h$r>@pODz(1KC)jJBQ-VmOaHCmVHJY(>SE19gS6^1iI#KYUM+-1D3rUEp>I ztnL^BtvxOoP}jhuZSrr0x1$G@J*(kfqB|$ioor91%Y1^6>XjW-7tA`*@mDa~jewsG z1V2M18h+0{lz*>lp|iWC)|^LPB5La8r{EwP*{3@VBT74bPx}6}{lYYqCVqEHjw6kw z7|%t%e9Qr%Q~9S`TG6!n0Vdf3&oM^L+s zC3p|4eVsT_Wna^&3$~w6fHQOVG$5VZ?m!8SP;|l>?Y)m^(0|B zW@){LkNwj5Rv~QYgj1wCT&S)E;#%P(J`0akI8w&aor008p<*Bt1jlX%oLJ1SCl9K6 z-;ff29nm#;(}t9y^Vi-hwMb1~046QZ)(vyVLid@)!>wLQkwPCUuh@k6LAsN@3^=2A zLvz`rzl7|Rcpe7PZB{9GiCYC^YLVJuMJpwfzDek#Vnl1cr?rC?0T-yQC;ps(tkC;e zUGK(ZrM(ZPxhXS_T`KL5M=>EW1;TI(U|m40KcK46N5T0JDluiSq_%o@JA&Qsa97wKvxNY? z23d>2R=^dceSQTo51Wvg^mE4Ay|VMZ9VDR7d1P-Nxlj}#fdx@6ER76O(RePD0Y}(d zAbcJT9K^z?Dw|V&S%^Msxg!iouoQy~e%_-r_{VB~%?*+f0~RKg-B$K-bW?d{y5aL9Qs5Z(Pj2?!Yhyh_cKEt{FZO`zF+lC8QQIH}`Feq$5=aLPv2c*NYmA>|gRvX+=h3D%U+MImCXAmcFS{Zn6BK zWoT+4+t9-)qKD`fI^)|;mYf}~OPPWmc4nr( zo8{S)6?`T;^w%BrG@fnV#(?EdnJ9aWp@R&E|0{9#W|X6Vz*&}W&> zBkyO1-o=8;@*ViVA37H3ddCX=Nsx#B6bOmo{~9H@v)p(@)bNKsQVg=X{%rQc#2@-g zWDEbF6~BJR{Gq@1matdxY1-0cg}M|;#)s=J&6a+ZPD2vK09$i1KUc2btFS{?4YI8;~sAJ{4^}F&1CW__v+e z`=j!Qi(dUu>>z3Tc=c|%X8bc*Y?ljBT}p*ID+!iL_A94FuJ#Ab6ER}`A@hb7aj z&@+m*!XL^soOTl}`JEl*hVKcg=47>~JU}t8=OHOMy z(QPN{dBGF2u$0M6e>OAyb${q(f5tl-_s?~9_}3uO@uF`Btsk*Z&&{L!=U(jNk<<*! zd}PCeO{YD9;A!UvNX(+1v$?ZnXI%=Y{q?6+sxbJXsBF?KipqXfRa#j~r}JG@6&W6? zIw-T{+3jf0aQyq!f>|Yqdj8-GJshdL(6a4kUr2LrJuFnpqW`|pawPpoh zpX)sBAB1TiH+)FywirjNj$*Y+9L&SC&@+|1N5HtowdsS~yjQ z&QPZ!)zm80)T-3<5ad*5t+q!hPok6-kUJX9@X3_pq#YUT1EI|+N2#ckrL^D=-z6IH zXWS)P2|#yLi~1_fF8Ja#Z2VFj^e@1lcK5@OS0yaMyiF3D!jA> z&8d5q)12U-aj1ht^F1y1T03^rS`_ocU7{Xk5D`sY7I{d@StN=92VZ$#8JVV6&ZyKO zbUO?C_@nXJq%NqEyp}8)y&=cXmYws5w<$xT2nei*!5IHokkY5A^8y;jBPfE=1`@bu z4-FJWFg5B;N6l&So^!3d`ZJC@t)-}g`4y&13CAV{udTjkkOmyZlb}VPD4c zP8;0_?VA@o?N2-0R?wpdb6{r1%TC+tXel$}#mJ%E2UGx}Q-=Z=HWFrL*!wi<2ZBfa z&eLUA8ksHcI?X@8jai86^`~jk4|!>T0}zSq%pXo^!F?kuxXXuVo@s&;i6WG|2{-0A zJF+uRqqriaI`n2HXy%#z&|9Iz6!<9(o^If|ivSHiU_2-68W(8mNryWNpy)Pqw?L&&D%SJ!)aPF;MJiQ2eZyh5emOt$vu_ZwNN@FCT@%O;_+U$mX(H=sE@J?epbkoKJB6H57_>E;QSx`H&EMXivhLh67WQH$=# zsTFtT+T4%6w%_OcjIzGKz@6iJK}WMXVk~Jd(qGVkW$6H$wlzf{_+1B91>~Q$yNT z#0(+lR+!KX>`lcjFe>yOA$HzB(*#E*CPDy(5B7k4@BnG^VmR7p@vb#MenR7-{N%@E zWx-a#2%(!Qc*rPaznj^~6JG$GL9HjAY#61dl+AKVf#wTNV+=x4gEEMN2`!s5`Vs37oloSw8wDwEOSe1GWp7%2gwL_~=2 zcDfNlwb-zQ%w3K$R(3ETbc04SfGI>8TS4s0Eg!(i5@PYZXK>>4PBWc);6ZB0L^r7I z9x>d)#Dys1w27+;UqvGFj~W`K#$KbOm&L+a+a{4ID`ywJ7hx+yaZfSVlZ;}HV3a$P zMzR-kTF{Xf=n>-{pGDThV?*J@XA8^Tk3La@N{jS>uwbXK_5&j5blJx)kog5DICN45 zV*de~W@{0Qy}L-$6o$8qzibt|K8nAj42sF<3jVFU-_WgX$C?< zI_`&hYAYmg7>EC*KoZpHju9)RC-+^@f74w|tN?gf8spm?N@GLKei(Fki!;hsy z0iqss+2u6FpawlN6TJn132d|^@BJVXE6Hl`;L2iLwxAEHUZK7XlLGoy8C_=J>;oQ@ z?sKd0lVLGasv%w~u1-e))GAJ6=j*h`pq%wPtWYW{2Ctr>rhBjw`pL%TWjXaqhH#); zMLC?0b+3FB8``gWju{d&BgXxJJjc)_=Fi*JUG$|nr2wq(3`wvSya=JFQ4vNAvb#hJ zP|QKBZ3QWH4!7A>?@F03_!Q6+-qw`sQP7HYb$~nnM0MmLpk@aYOqkFcTyfvm$zCg}u81A@3_l zT+mLHn&768wU9SoYnH9n|^^TRtk%ClLBm1!Z6MU|fX|fzX?7Fvf93r#by&a6(4)iBVbKPN9F0vsvt0 z1GiGr4LtS*{{C0`?m9U=aNr+-w4J>Dh1hZlFYLDwjXEtK9oI3H1Uo{4k(Efn-co|? zX-;{MKnQpT)?Wbo6|Zi(5bdF@;xqc6iD+5^IVoc0AH$tqh@_G4hOvECt) zS$n(*ux*)b&1~sx7=;^@d5ts@h(nq>4d=9*}8U)TD5d74oLgN{&KS7VS%^Kp}(* z@l+r`r9u)F$f2l^9JuuvN(N_#jzl~}N{5@mMTxHfh-m#iaa169tascEdmr?tbt0o2xElm}yzxfEn?1XZ z?e?{8Nb!igbtavv>x6TvW-YN*YHrI zJsdmrpN$N5xzpT%DjT0~I+^A)FB<`W=*WguG@VSP1>L4K&twI6`+9c!Lc?#D$?Rhn zC|R?D`ynAhv(f{yA9s_ezKp{g{ztUf(2i7H9kwMZ;z>gj!xFX3%2v7k?iagVWo5jW z8A8$^1PNv1;9WoFE8E9iDZ+;TVRZ`??>`2U6n4u)=IWOu_R9wf8(!;v5i7&5WFOHz z8oFcW{ZpnGxP~{oZv(@olUF#+I|Oi*(^3uKYgeBI;?Q1cgW?Ew_YjfgiJU^Rk;|iL z0YQM)!W6~>BEwHlTqCosbT<$>gHq+>_;W*kWC=PZ0;_h%YU`Yt{+ZrO3*S)T-7k06 zw3sDUeq`oojhhvG<=AjFJ*hP>UBm-~E(pW>U*yqAOy?STMOK2y>USf|5Ibz@>2}Y~ zj1v%$ZaE!mA!atVGIW1dc=D|@Q_|k-*f_Pm=7lvcrOCo6Heud7KutRxm!KrJe@Z5B zAcEP>(}_t~Z2HmG7I3fo1#M)!ctkdS_u3y(n?%psQ;JliGT!9T9+9|E;?<9g3-;gs zo|9NcdU4hXM-UrkWoCR>kG-GFQrAx=xx}VY?aO#8Py4gHh|QlmxQf9`RPTS8=TR*tC zlmwd>+@%A>I6}DT;6&7=4?VXyEcnSRCp|KJ5M@|?ye2^c52R!%owy!5mlA;TJ}$&b zw4a9d`5Do?;2&r_h!f?hJ8>no9l>>0*xO2JUGYrdQ6TV;$BQE#GIdL4K}bvwbmn^e z?widzoOr(GEwT;zVZ^mv7(EgV(g^Lfu7Yaabc8?j`rltir-p;1XCH`?06-Kf``T*p zvjFL8A(;+oE4r$udl2sF{D#a?e}vZhI(1B=wMNJod>L^2y`YcfV^ zhtl7aw#Gv+WUz4qIcporr6xkLDadCZ?cT4JIa@@7m?Xf`&0E7@X%iuG*9F-xQDgX4 z#@n+Cb1`WarS0M)y4yCeyf#93Kqe`q} zE+eynEdCcrklb9A{*}?oAKJ$TER+15Hg;LI+ta<$)+<&}0z%0_hQ*ph%ne5xN%; zY5CZrkoI|zJEVil*W1+bkAORZ|0#9g{itFVrj%3Uio2a}EguF)Y$?Szj1z`cpF`Wr z?jOM>)of4gsNq4VA+tL+j(m?GXhqtgjKc5~F`r1A=V!JJNT=VW9uCW=!k85)(2^Pg zq4TH#H;#)fUqcc*1b)mRe!g+P{MpDzU(fS$N;q?<+zEFN#KsYw6!zI&2QP!?IPDYg z#8>T9>Gv3NeMnskdv6aQ*pU~Ihmbyn;z>_?0|-r|X`!3j@5f0&0m7ttHxCPJWWY&-(O2BidaQZJyMO$KmpMpo!B%?Qat94rB#3wl1w zS`}i#ph!%lxwn!DkW-V$K?+*_Kj7CW7|7dyNLqv|kdz3+TfN!g6=)iDsYCFL6=^+w z`sD>C@5CGFeBpc|r-rk`*(vjh*9#~4(II)qUVCoP+a^Y*&CC9)oCt1nwR++r-3DC! zH=1Tp*1YO(zu7S!u~d|=pi&Ge|>`PAx3;xbWeo@8Yc<} z^RZkK!Af?P0!pA)XMyooqqB0nbbryxZ)jsCWhClr8?1S)W$ z9Efi~{FI3W8X}Jamwkq0BR%kQNJjH(5S-4RJ7D9 zIpJ~P$+roo6LV5_TWn*5<*=TFyS$)$`=>%Ja!E!<6{ywh&rp4OsES@>D0)&-pLHns{@l=%G`B>VAsM>q=uaKb205? zw$)&NkHs!!!!w0-TuBzK^MRtIMq^&^9X~?Nmr$eHe9a5~l>*cZS{}?NG}NCe6!Abx z60Q^=<3;)5lz_O8WGJqLpCZZ+q)Zgo4JoMs#LiSvfWk=zFg=W`J2k${Pq--BcY+iN zM;&{Sf{cv4!5Fa@B4IrN1kD)~c_&6hU8lVhk||51y2(Od9Ltl@lWd+WhT;K5Pi!9_ zq$sYvqYieQ_HXHj%|AmGMT2*R-%mLmfXc;s%Rz(edw zUvx(-sL0x?L;#{*Ycvekzvwi@rCw;<_w@194DWV2a+JPEN7PHw-<+`b5r3$2 zj0$VPrMkRp9?X1TkEck8&*IWP#J(B1Z1L~{WJ$w(W1WB1fWzd&!EuE2}SiY8=%_N zy<(hPlVD+xEfxm&=2NkKEwTvRV4GnJqd*U-kga*djq*V}vvKVbp`PrL-f|%9kyIQI z1>UbdAOab&7J&@LOMy&mAlS;3mZ)EOrx9SbVDQ5J`@m5dwbB_W_615tDYcWaW^C#jBTKPCIg!BF024CMhsoLtX+P z@fr-E4Cs1xknTptB1Tf*$DEP`>KXB{t^%;eB>@-ClC{nCKqIt>$#~W2m`<94xFn&g zA$Uz}BeDTshBl;J0e)AEaT7H{adJb!E2KZ6?{YZ=VHyP|j#E#n0mD2O_J60B0>a+k zX||h%03vq7KcF!&yqH|)tLWNkQ*>Qmvd6)=J*2Y*IFrbV0YM>IJuRrTuAYKyc*N(8 z+La_0s#yQEw8twey=^50I_*cuG1_ML-Q#^5H}!f0KdGXhTm(0(t(r75pVn0K+xSNhp(gM}jw$KCb6}I@C)8SWAN$I4whBw@2gib0up-z&{NK53Yc(DM* zZuzq+BnhA`A|Wq_IVNUcjkUR#$wjDuLIM_gtr4tcyV(dSoX#PegI7ZHq}$%6MYnML zd9(1o-naVMERwC}_ued$e^>CDjbzpeM{xg<(j`R)N-NQ_j8yoBRN)&Ot6@dGmiqhM zMFiO;pSJ9%rxk=q+c>Q!A|iOp%lKtgL*)l6h&xSvEL1m>3WjX zj*v-RpacbtP&SeVNown$*@FDuJxA= z?ivQ_|JSP$dDh6+c7rFx=?d&jM~W_TdQWyWTzA`-5z!&lU7Em}*uG)j&r9>BWjrlt zNZ+h2bZhKDGCooz>4_sL=O-v>lTGoHx-1XliV&Kcb6Rv%Mp?3Ivhk~h+oz(RQYXmf z^o^TxItYBCvpStPD@c~a^?KUddnDks{a@|Ei#7UaXyNa21|7VY47Yt zuhd50Kzc89NUJ`wIMO9`T<+l$2VUds*s%U|cIYJShNziH(-46#LSw>YX*Pj@6_WF6 zorV4PBP7Gf5Clm*YJDu6_dm6s{_+~gU;GP$`Ge@JoPnvc(m^RxL7N9n z02`GhkTXadp{S@k*0l@KqWloD zon9HB6JQa+?$wB3w;4a<)kkqp9s$kCw`NnAgN0n`J>xaInUnfz{S9h$u9Md?j`QLm5X6rz7kBk^g}vYLryZfmT}Ote%h9kEgR~!QW8p!^l)9Hd0-OwS z+85DYrU$Q{F8RuGj zcq>BiV8ckfo~B}xo&W_$nj7UDDK`_eF%V^#Jn;lKsNU&d?4n$-_MGfr%*&3MxnI!-bqA1nRO1;FW*uPeZ@J2=t29mjZ$aN^UnM5G?2 zz1EC(K^=55yYBE#?Y`>`I;a;fPedZg-<%SF{t;}UcYUI?P#)ohnaSJmk!Er9wELr% zVEx<4`oG?xpRawaWd#gCZc#IK)sOLoI&oOW>BtARx9%g(LD4y#V~3?QzKl+%E!Cy| zs*_0ST+gwC>U>N0&KJn^MSSVL;rA~5=jYMUw%OR&#Q#1bST&vWY^YRgDSC_>!Vih$ zVU_wg%xn~&#LqSAC(~n4@k^x9{P2x;cH!I>tSc!ODK??|X<TIt~cp3jQo`offiZEZp~oNv;} zcAip1UGXqeP&v0<`i_`B#IZs;qjaRF=c73|h;+*6J{Pw*t>Uy7!*Z!_WPNO}LLpt$ zwzsSMDiEkSB4e}ssaT7HVI;@cA}d`J-#uJl#cM%-7n-9-<>ZM{o}zhvp?QMF2%( zt)7l-2ME0;Jdn}|K%9}Fr@yh!(MAbvjFOjebm0>Z!lwS`%fn34T1SGd4U_VmEv!uXVZjJwVIBH3PCk zf6fdY4G-{pIy3gwRlvia$J|CQE|>#XEc!jfe2%(|!&}c_`s~E?ImZq(?Tz(^uk}Kv zjkg7wo=H+K`~**8??>xDmMTO0_lWlOoel3F`(}8y7wv&;O$S8I2fsbB$C^oA-y*yk z#+RQJI=$n1?5D)5IOs(Pcca6?iS7V^UdNCIfM`u=6afEx0(1L%po>zf@m-d(9O5fd ze%&5kvnO9*2QL1UYP`t+qtuBmHY-;8eOch($8Xb#415HQpSbrX5YL{exdK53HYB2` z3#6t68$73mdiV4BS-f^?J5J?NZ_tdeY4VK$*v#UGQ}_)^^D)?`xQlw!Jj6+r)Ve%z zUhtzGso;|SI{60uc2&GbkWNW_Xjk~D)foae<%AzUAxaT&ylf43aqcJ(+D&wnj`1ry zr7}oS6jMAEkuah0K_G~K2QqBH8{+`t_a0zT(6fsI1Ty?+E%nwf;xC2*fOw0(UZt=7 z=r{%SzffTx1_i%&ivI+N7YT73fG~J4$WHnD zo?H>t!0>?6aW{enMnsS~-~1fW1C7LYVHt}G3GM%wWbHNBamd~WqsUzY62n>#jXT}pI89)*NsQ{7*m>7Dk>#rBIB@PK4==#S62R;u3 zyYQ0DWf;pq*U{vzlUCaPClVnW-mj9;Rks9z#;0Cg6A11SDXl%|y6_>Vr31Sd=UX9s zi^+Nq;t$`dBP8Ch`>h)R;IKM5Z12PBZN9{8ysYMKyv|c;V^5&#&z3Mnc;T^T=Ua~A zJewGIk-a(J`T~d6ot97O=z4!#)m#yJO+|1T2ukh=W7lR*)+=nfdnQJY7|Z_=Z+tsw zn!!6)#Nl=dICu|LUg%SLduNg_Lpqf0w6%kZ-q*U+lW}b0dUZNSZN}yWKRh;wm~Ntt z*v7@!(*8nNs!eAj(HC#my7yo%&Lg|&XOBmm<`!^6!UexWKz3(FpzDYkDw^W;hbB+K zuI(3TuhAP?4rUw!6FQA5!mfXc-S876%pjA~O7G{A^~GF}75tmv(>8f6@!E@ZIzD^- zQxHR8cX)MBD0hnd>5&_*#e1k`wRxw9_V_}0pU$WBl2pM#y=ka-Cj+6q-C1asIR4WQ z=@TAfP}>yX=tnGMK(rM9cR#}LRHaCmP}Ig(eMkoSQ2Tv9BoBRrZX_ta86SbtAoJ6R z2%xVVk$j?LPVmGJ80<;#jEWmF$ch_=H&2-O{YKoNL093-mj%$4pm!*+QwL2Ol!YH& z#5l$v0Sp-8@eCnqx&w`#C5d9PhD^bGK5Qa0jDZ&!R0(IyBnQJ7r0Bqd=wdzKLL_Hh z2ueC^76$@bwnhZbc+m_YE{@F_lHeKap)(rsF`CLmF=4V6k&1%{dGc@>0<2<1*u+Ry z%;;>5jM4nj>`=uY-Jz=IphzlE#U#a86~CccSH*K9S#mqWBC3G@@ImMn-7}2y24M^c zIDfn`JytezaV*!nfS5(2lh5;{56K%)FsKkJyD-K`hYCkb#)YIE87V+A2vS_}4P%rm ztzlf`ie(rV_ijsR8`7pmXamKx2)bUQGFr8R!6iAyDCWXm#<~R)JjN+0h!n-~ZqYC% zoQFQU-J3|=BYx?mG#c1RqNk{K2?2&N*_F>QE+s0%xQx!iT^^~4tRbX}DXJwJEO5w( z=!bYhfK?_Xu~$Zt5yPuo#BjKj@lCw8MY^mFf%^aG8-mb2 zLtH$zxR|o!RmcGn8Dmwhsx!PXvO#^!(Bqd50=b^HdA^O{(nkkcO?1 zcdPPDRoHoU{00-ZV1HU`XAvt6o1(*X2w)^EivBW|{D zCSs{9NvSPImf~^Gu;OJQDQ-6C5@aD+TD3KpAkH_@u#zQ_5jPWs3uVEM z^UVwz)(BaOkMsFZ8YxRjaWm;&iYz6^(XCOkkQzsKE|P_b(9|<%&`DC$v*%nfcGRD~ zpZK8RIhV9ap9K2y3@63VXE1#YsjjLuJQv(Xu=phAFxPR~{rMhUhg2G#@yue#4G{(7 zY{X;nF|V*ZBx~P~xy~NCCfzWnSNvk4DnC3e;g!`wEdia*+pG-C6=fZmc3hj>gZ-pH3 zOMTZE`J{r)WtPX2LUqgvi}X24z{>@E5%ek{Z2wmE~Wg|UPF`e`#gtG2z z+;~YhNjJPw;Ufi`^qHVJ-f)Qrq8Sq&0L@hdiO+@E052@Sm+WPkx-(*x0w%2oVBLA7 zfhp!GJ&Y(|piBX@W*|!#S)&lFg5S&jz za1{w%nhh3GZ6An=Uj-YNU9=pLqbGu>$Ew$r4X+G0G4^`k2GZOWW0QSc9;do&j+FDI zXEHo`gkU2@m+)jU>x~ez-efW3Nm$a1l-*m60TnabrJtgei|Wvgi!Ey4qPkiFMR2-I z;Ky0#Gk%=J8?l7ZtF8e?ELoK<#~86RfV#ZV7}#tXKe=#s%L+Mp4GvU(qw5=+97ErJ0X-+5J)OUF>yN&Pb1Xd0{rR zx(4LGj4XrRElc`ed4=zy@nH~un<#k}QU@eFteRx_jgY}pE^XqsqLj3PRv(XP{=-&O zV|63To?MY{GPg^91;Y4~suAb*c}WHGlQ9r))|49f-0Pu2e;+C5Nv(x{RUSG!6a9AS zQAQ8kGS}yTE8YJKFPCXW^QG2`ynD*a(ha-X2kxhZG}gK!M$*-!A6X{phh05Wm#uaC z4YAH)@_k0KqkDPbg#a%cM_(EEnwY8XOkBXgbqWyLyQC7O5o;7`#H|dpGVpx{e$2ox z7k*L@c#{j3m1F)@=pY(p5N#?Dqw%U7jf~uQHkaWs9yas7CNs1ev0!)%-6=mG^2udfi5HAa{gRpYw(~MU%=2a|)d=$YV zF|u%WWMQZ*#OC$GPjO0`j(aTjHzEt?Miz$2LhM7)oTM6h%XeNVg6sLR5c|QusN1WD z$-5&sTqp~%m%^9&=%rWdl0z>(BhNq`?q5n|A(c4sowUfp=*WWDKVs;=6WKP8!-S>? z?vo;`O_qh&-5{X3XqwXZWlxA2v2Q4LjKBO~1g9ygvWXmAWaW&%%gW~hPb6GMiL!7-b&WA_xClwo z69%3~YYVP&exzs@MAlD^EL<2_7(ohv{)gbP7A1DX=ngc*65iuY1=d|q4zy5|cVfr` z-8-=hac4d_iRy`pXz>_vz|tr7O8}%N(Y(iyOtRhw*5fjfJD5D8bCI!^m zQZ;Fe`XclDuxstbPRQexJvA4t?T2X}%XYhOS{+Y z>|J@>Inh0r6{5dY`%8Ozv5*}s?mg*?jwKWqeR|QwBDJ$<)m{3}Y zot;r#Qdv{HvZQYOa@sglm(gg> zDT8%4RhQQSi*<4Ns`8p;Hx+}gY@niQMOpFMk{Y@#HYx*ARer2*c;;FIPgytr>`?C1 zv72x6kN?a%C(o)JQ*g*WzrAC$eZlD|V;iO(9KFVVyJqyax7v-ld#XoUm#wz0ebN5d zTKmzIspe&I)>-x(Yfzgt=x6QuZ@>Naf-AqDzWu=~?t93(>0WD4-ey^8t(E(;{I_$a z-7{f(b=}?8hOfEX*2mke zI{Q2;{>8oaIJ?YRYtHq&V6C+??3>Jt#DH0tU@jhP{j$Nl$YY;l*EBR%+_LQOGxpR# zX`nj)nThrxd#s(7W!1e{W~RqO;Ezz=`nG-X)uHv~xCFbyydvJ-m6c-+THP3Eu(F)xWb^k0*TO! z#+&2gP5eB6JfvS|?>=J1n`1oo+vccP`$jW0!G7BwTitFq%5Uo?GtF}ZqTFjY(#?0w zltB+3vCgEjecV0)#K<#Sk4TCd;IhmyL^X0y_!+{!Wo4SPJl5kLbA~6d9iQXd?Hc+I z5>U|^_*nJk{OYaN3XIMT_Pt|AHeMVHs+PpRqWAJeN_xtovM`Bmf6#${S(kEyZh-m=D@I&W!&w;G(Pp+Rd%g4@Mn#sHRbm9)|y2Jk8IAj-Ww3iw;Nlxcg!xEnr{uX ze@1c*Ty5Pn#>|Mf%eKCfc6s5f&G$D<{hKw_{>XY|{cdw{{PD*6t(moD?_2AT60<+d z&;QLsIaa)#XI_sVHJ6!LapTRI@#gfwAJ^OG+mEN!mfMG{TVw3U?DED{_PCnM3Z|6( zSNkK@z!%Nw3D$|5%@&Wx9F<^Bil@PTyQ6gKhmB^#nRc3$V2<_FH_qN`j*W-iY_`Mi zH6DMvzOl5uVQag6{?+!@#v_gP)&_fQ+37=encZ&s6U-|Tvh2O)v_y==_`zmYd}D)s z$h~OG-9DwUy(CccOzW+7&Ub$OyRJLUOXFKXlOF%2oqyG6lGM?B_akF^G7m0_)cub%aybx*xL$DB0S48&W%0XW(|zrm`sgJycHIVsjI zwSGLn-ffTFZcmvydg|=aR$$Je`o}MyR$~vZF)uy)et7v3@eqOn zTro4=y4k$mWBuWH2SrF6S3KM8-c)X$JzZ%QTdpu_%zS+OB zhS+Tl0XWx%tFl+#`c8dge*ToxTkVfC%j?Zc6YR}zpKfS0^JDGTAF99Y?OU$=rd79k z>gGi^AwV9=x3ga9uuAQqm2t|Pn{eVXd*4`V>qdLE^$MPEdO9{gxV2#_ynC8ioM29k zZ?uP({a3zObGA7#-W(a<_+h@e*%OOEcdwObug)?j$2WdimV3w?5B+CtwhPUCia3oA z=9eBaXD8IZv)Q`Y&ah(bd(8)^V~6b9>hCj0CYaL_8uINaW#&$g;GBXYSpSb;{TNu^ zORV$lBW3pJL+1R!8(!WFW4)Y2$Tw5t@*8SOYs?!4Z?I2nwr;ZXtRnj{EB&#(=1)Bd zTN~cC+xOTVV0QF;cxoKx1*T(!KaI|Zu}jhkL}~-k?7@2( zq?GFv|L-?EX5DMSHdM%yjco90`H*o$)7w@xXuYmSVy&!4@$WSX5b0b#)2 zGrMedOE|wwkNr7Fl=RY>xI=ug1VN5FD&wFhaPN z^})^N5>IB9z1==-jy~&eHM8xpK;xg?5w3+tFSEDTSdVN(FFtQDCwNFXDe=Fvzi%A? z8;|ujues4g0Kc?9+=zk1n_OJhb^vYYiqm zD{i;7?q_iMt@&2ky;l4ft2*O4Ykl7CyR4fw(*JgfonKgdrM<^Kjs}mE9k;GAFY(Nn zpJq>3d4rjmV1s&0{*BhUpk0<5m>tM%%x#?Am>aM=GVO7hS(#Z`f!vRCK3VpXH9XH+ zmSKG(Xf4mMl7m*!9Kw`sw1x+*vbS*L**e#r)3~`EpAG~+t2V#ef`i>%tW0;8vzX;^U;`)19_%PqJ%i&rzoqU9xZ$!hsiTV9u3Qd6E>cx_(t zn%c@$%cf5^Dpyt36<1dj(~4+n@{00R%j%XVuUu1Gmt0z&ysW0Yq^`Usd7@!dtu3#q zSW&euxpGyqB2QkoymCc(aU4vSLL)UgC+L|D@7?7V`|=-}|Cjq8u?|Z9nx3iSWjhh|)tyGB=v$Wk=-J5kD{9KimE9*_ znLKLB_(>IK8f=QNzA9;+XBwkw&or(sDH%V0)G`dK9$Ct{5KoWcSsx#JhD|?qrq6JB z(cd`=^2Z^ogwI%2=F3&seb8rST>Q+qBwt+e?cP?a&72jN>W`b)6cfd7o7#wEHhCAd znzvhO03;K9mnZ{~{AR`_w|U#G4l^?@)fYF>7dOQpx5d+R#_a=IV`P=S^3GNLV0kBN z&JuW2-3NbvToU;E;!iwCFTHw)KB(V@MQ&27Mp=ETh~`nFf@)%2vbq;_j= zTyjL4`<3?a!W;4FTc2K|Odqt@VFsvvK-6!IY4c)4Zyzv=#$bMvIPL~I)?pGBuVY6mgk?lR)l&be--k{M<<0$nP@_p2}t91E*z8V0W!b}5X< z$Y+o}25Mk%xiTV9tyJJTjatCqof?(T;14xw0fTwUpumg45{;VAASGz&11bg|*Qf;y zzNu09?NF}cc#cNRXRunM@)_KqQS%vO1%j89#{K@80=ZW((Kl3I-_?E2JE1@h zgrEwjW?bHRE>{U{Q6&4cM0pJ6s;SIlEcvQhKi9Q#8N5I_oyW+Tq(GMuTfOGT%^%c^ z7BKj#W|YSuUt#_XzOShk%D*m;0|jbkhXNR!q)`hQyi=p{82pJw%|D{RqZ*aR;QJaC z<++1z*MJVO^_`L9XpF z3K(=HD*P%&JYc4Ar@^qJhoy)?wgw_&_)jhwgFK2v#;_|y(bo{djus-nA0ccO;$1C7 zK7-sags>StSGz+#gCjI*K7%YO)$A+leq|Qvy1^2bfvb6plD@Urf_|cFX-hv}51}^e zTo=`sQMO`GtQpPkOLD#HP^r3#8AHKkE-s$o3Ky5e@Qp4mnc)>KE|uYxE^Z>jt6kg_ zhP&dWl$Nn>iwbeB*evkxR7LnagCCqF$vnn&A;p5upwI^>3Ao?86oVqQF13t1pWOJc zD$I+OgaXNh`xFuZo55d3(sAKYEk{0sZkN!AD}#g%D!chyUD4?Fja(Q%P!b`!GDzoP z=_Ba4u-K(za08xwX*w>9(4EL(FhaQPQNsPVqCcfNg+{k+o zd&t+-6{rss_@#>)rWE=ebp;il^?lDpeW<`jt?3|lf;Ekbu7nb*QF>deRhmzKo0~rQ zT6<9og@x+YZCU|Q@sdd*xZI#>HR@VXjQ6Wsht!qg0>kIxU=4kMQ+H*VzLV9x5iX6* z@I@{zp5as%m&93^FHB^_6jpqNZa#^dSKl{)vl=XZS%Em&EW^7njWNLoP0r;fGz^M23Iu z;-)ZsNv@OybH;HM*d>C#S>X3nMQq#{bnD%@4+qnGf1>Lx=%-$1RJ{|bouz6MiP-gI z!{e&3e!Of%Ai1zXA+gS7@Yj)aTsY{`G5F{72!33+aFRrVAA{##5<$m>JcR@ugAp2e zGOB0494eVa^lW>>)2e50C+ilrH*g{TLW#s~mBD+)M9{rAP8RNRySu%C3*2pN78$%& z^$hCU-oOR!4&pz9Kf5NPk-_t2VS&1e%0ty^exNoTaFlfJ_m7e!93k_z2A27b3Gyb` zZEN7dpA-^HY6c@@+1AjHEZZ9Tk!4$yEUzkAPKfilG}|rx!MRd`nZx82CIy0b*{QJ9W00?)TCcq9R&@o6L3Th?Wbg%-iot(q zR1Sk5YlB#lrVQbE_4_EW|KfbvxeG2}H7vP#qy)#MXcU8w>T%6ktH$%79@iyP(qx6z z>I(KBDbUeFy@W@9wToi#8I8(ekPQR87@VX+3*{mdn6FVw7%bDM90vccQA^mkK2ebg zyjCeo;wxIbPoci2Bkhu-3M`+jmBV1QM&&Sg_NAJN!NV?!!6O=#!(hqfx*~)3YSdB& zSIFm62og&e?9iyC3&QNTk{aqodi3Y>=zrm&p3Ro6-=U+8ntxoOo>j4YmkQ+AA#pTh|LAA$x>NaW zkM`d@m!*Vwvgp#2MIKKU>)l%H^?y^Yj@2G}eOj_)1XPs*eaicRx>13b=|GUj(fm^F z^?4i!xJ#(WZW+)Hm&ZQn2Kc;fYF#p2n}6P2mq~eksIK6})-qLFOCHDRVQTn6b*Tc` zM1Yc<-0x>qb2sYd3Zt7Vbm=9;Dn6y+BbEV=HgI7{vLwQ~hruOEF@lZ@m0DX18Du>O zI*vwv3`l+g$%SJIiAES?{}Ob4Jxm~3YwRilDVe+9XDJ(*qNjtRyA}ANi+Wd?4cm;z zD7sQ9qfAd4MNJ9}yC}Am;kx%l)0M;Bq#dt_W9;N~)@4z-0@rBNdx%y>QGt4A?e9!n*FOj3BEj2qdMkDaG$z@*LRg)7izyQVx_vK7_|{!r1W-!*53kF z<^P8MI9#~XX(5NVNm`|a{b-pL&U2{8C}hPC)>R)7{6yhI0&A_f~Ys*pjpl?b!> zhBli*27jdIyCMc3)TsIW7}vxrq$T}+hBmH8mAx&_)TnRFmSBOpLWp(ICYYi;Kf(kV z3|zy!3fUSL>bbL!1Ed=bqYRbfnmfCc@;njHGe9ZN0K@bQP|99CU3+yYgYz`1gd?B3 zIxLM|9hS1~@_g(uN*QzwwKRI_C}rEdQqRMsJT-r*?X8s8SDW?dm-49JqrJK`+N(=v zE|A)F*B+&;(%m_%_)-bD->f8ex-5;J2%~C6yL5T9TFRrxpc%AzGGing4b^=vWiUmfN_Zjn&*KvJxu3XX>B*&(w_HQ@%B6I*0-v7FCRv&{LxSh1 zNe0sMeDmLG`T&X-j+?S{MQ5%AJJl6bX;(|sBkBrNmeOuSyyQs276vL=&HeuISj9+P zF*XUg5|yH^{R~&h*^(q)@7;% zNe=EeXLbIfBtZ_D!P=qRTpojN-X@pjbhMng4EB@A`;Cq$OBt+IOL4TwU_U#!V=CBy zDp@Ts-`AVETwY*4lFXtmW$>Uz<*|$3q|6>E0JeO0p}v%(le?)~%Hj8)XYF`+++0g8 zgQv8gEPYNbU)Eg9qUJKVQKRx0Jg!l>42qvFqb~M&JnB5;5xG4M{LmL$>p(r_bG@g4UB%T*0sDn(k_Bv%?&MnVRr+%y*+SOepY(jY zFgkjxO{L3@2jUYwM-~oJWAb}FHigW)NRLe+k4?Rv{R(+(4(PEdY`ko^fpm`)PuY>tKnkZ!6p0z z?(02+alL*?bO-x;;1b=zCD9#R!nV^-3f`SFm-Ox61T}JV^$03uxP)&g$Gc5;IG;y! zqaM+GURChkx1S>!?msTi{7ll~KMDt$iDqBLljbq;ovh~qt3)7qNO>J2kh}(nkmh84Khm76XY1qTnyAhTv3G+N-J{Rw=uKY@?- zC-Bk!1U}lIz(=D5W=*-7<%KOOgTkW*>+h>{uI1Iq=OPAq4~;b~gPerM&Wpi_l`p3@ zXXph*5reJ-YRT@(agUmFlJq2Y9S7aF^xSjZyDFv0#(~FeEY!1F^y}DWdF2GEV`@F+ zPRZA?`2@#HDL}=C5Dre%C{A^pp|jZ6aTdGqQccB~fXd4?il4_8P1Pt)Gyh?lM)5O@ zQTiFib@!?S@*mX|a&eBNN{u8?tV(u!pxCY4jq!D|9rv5Hyi{v>DQlVI7=jf~=MnLX z=k7<6S@fkmcmHp0K;02r%DYT=#Fj?)d1-W?qvC4xnr&h9nr&h9nr$IB#{mw0!x7ij z`a+h#U9&}b*9^5EovE&L29M#ZU0giF*SfeQh8MZGWQLczxKxHW=g9%W*}6^%MSQa$ zvsJ}@q8XEXN0UTlg`!EKvcAzIdCc(FnsNSP3M^DIWBIUDf!vLLRus{^bD4L6W|R}n zC@SPcGg`ommS{#r(Ts{BG%CPoMhltIb(+z2(Tt+plXb(2LGPbXI&u}FIJ!c-t4LCH zTfykIqK0UTqW+P(ii4pF{;7+LXZV*cE{Wk^ySQYAx4F1fhJWMYCNlh_i<`o5%wpLq z81H_M+d&Djz%QtZFkS}TdN_>#RrLnt%R9((G8j?s(XUZ2*iXF&zec^Xe(G)c8uiNi zsdx8R)_X+jC6B@Nh1}((w~250J8 z*D+YFQS%vGtx-7)-mFo@Eca%Ox{ks98dV(Kl_=jzRKs7VYZWo?=Uh}YqbP50QjG4` z_7r50HHp>k9Z}^P$l`ElsY98&c=Fx_)s#&9Zn9rSNF%V<=3eiu{ z#l9Q>*j*Y`x6({S4ifauX&ffra+f>Sv2pmXx?RC#e0M1UGk{{ zvz7daBhidXzKW46QAM;w714|;`ZD@dnZXy@d~RR`xV&$O=6wV6KB_f&Ltoy}j4GoU zRWhTuG^5JCj9yp5m1-U3a4oiR><9YRidW%#u)5Ne!tl8+E}r2LE-s1T6c?AwaH@+- zWq6E>o5=747dM6BSt|QMQ%YZX4Hno`M0g63pull1>M8{?tA5U;F{7)L1b9%vpsg9@ zGjErXQnM>qG@}w`#I+D2q9?gz)$kH6z)}W(uTj@A7^h`g8ZA>)?y*D8*#RqXa$LKmxAXX;u-(Y2yN^6ydE6b!=Oz@OF_fcMYf{V90+BE1@@q^73i zrdneHu;Oh&5=$=(GU!j9tf?-;OM(gtunwKuISty*DRe1<@& zcLy2t()?i6%IY5I;m^?ou` zUU`poiCXFMHjJ}OeRpb{LgT$-U#b3I^RGTfwzythZ&6qN4M1Ocw!&)ZbL?DsQ@2D>N-hX`_gki z_&{S$pN!Q1Ej_0Vc)b5zd+FQ$OUlk>tF>+4?NncSUZC-kqVHVUtftXlt810Iu2EN> zW|ygQfx0eL*K5@^PhI=Ae@M+EJZ=BKZlBjK+}{sX`@FX4D_{Bg>Hyx5TV1&-Q@qI* zff%n1TUD~6cturJ^(B`ZWhJYYtth{=7+|mpuh=cFU0zjFSGuOcKvfW@ryIpt*Md5D zV{x5vL&?hW+TxlucqvmF?sW`y0O){$SuD3NoBCEs1u?n+V6(oRI0wnr$AyaY1 zijrlubYo>DUN2V{TrQY!VV+UCX2r5{S(TAl2J~6m&-@AfR;{VStR*?kLp68O!mIU4 z+OmXnCNf z{8^FHHK|N7X8VCn!T_a3h=xHTt@aY4RtBu>As~qH_Q5hKr27Ixaig|mtu(9RRpsmJ zjNF<^QdBW%1gx^~N<*}Y7yFg0Dl4fet2J^na~JxGGq1^9IHwRas#)nQYhaLM=jB*v ztf?tC^h*YdMgL1yRF>2l!Q~}2z289%eXJx$>wgWCyRy8bmbgJ2B^@*=-Y+=kn!My$ z$(M|uJpR(;NfRetnm%b_dUEPQxJIC)PU6R58X#qf{#V!47`5fA*OX&5MC`KBQxycT zI$B<`qM8;>Wms%sP{rF34HA5kQ6uE9tXx&LUT|AkQgb7gN3OAuE6xu3eDpQb)vFks zU=^+JW*c&~g*S6k-CDu9c#^U5Cj3>d+RB^DwJI@SWESaUrje^YVSrG%UaQTXh_)82 zEP+gG>q<&jl(W?pqr0`n%90zg9#k&_uc=(G5Y!cPQU$qyQ6>5YZ3qWM2WHMR$N=-p zgKnr1gVx{bR0J*gPD-t23R3bNjm5-Bc$QBpi}XZcY7!ZYSOLq|WQrCuaZ?rHmLNk| z0~v)?xDyRn9XT>g4BsMJ|DVpz1k8%!YQqhKfPjiJDk|b-ku5OHzyQN0qwKN^vM6TQ z1p~vrii(1W3lS9omEcuTL=jLUV&Vddib4<*MFWbce*&WU5m%y7{&Tv%GxN=1`pNVB z^>C-V-~Rg4sZ-T;`*s!GMXhmwp62p0r%U8qpE6;b^yU}G9jtE2TE97?r%Vj}NNE0g zF3Q;~4M7@SL0r1HLl0h-IQ0wk`Q|vCwZoClPoI%q7}s)_?mat4Q$|i5H!2dB(V54t zOepBpb3|Op(c}@+qz|8}-yp^3t+qvZb%SUNC-$6JIC}i-zEV|IF;n9XHK(YD>n^%$ zLi1B!;x?^k@br;!ClS6Fnnm$*{9s= zGk*Gn!l*EAuhQ!EoE{(b8!&M|R4~0zo{}m(sm52oapM!O_$Q9!E8jwTVoC5?=1TbD zwnyIsQP++g+oT#ukJ9kJcPLSo{1B5fPL|WAgymRUn=*R*@T_Utm1fCrx#3aPh^bR$ zb@YhoR~HN)Az{?Ne5-A^B{+DRg5-NG$m~7+6Wr;m`{|=igI)>%>ve10& zcW(87qk7;O*tSI)_XSdJcpzm0EcF+(+Vsb7!M%emtxA?Gh2w0IBP%Y8c$Xc2wKMFs zof3|(KP)yA>3s@L{`d~Ev$Xi_ZWomK_@$-s(~|i3=?@ogQ&9BGZ2cQW3r-G8`|Gtj zbF#GjtBwgut0&E0^Y-}<7pBT^7eiK%TFwtEzP`^;CLsC z=Hd8mF0kge=^vJr((11P>MtM1YyHWcsT1n&1!3xo%O={sNT8(umj53`Q(FFG@%+dX z3aa^^E+6yX+SO~qEEcj_l&anyR)3pcgyI#i{hLtFR9LtpmPfn8qUf*J?vg#F`M+pf zP@13Wf2MrA|A&Nmn}VW?^j4)L-+sLIbJ3KRe;WDQ@tVKhB=hv@`Ct zCkaqy`RK8lPJK5l&$0}|W>H>drz(!e?xIEAzZb2RSh3>_rvA(EO-zWTKVI8ZhSTU~ zKjh!g9pE5KPOmDMtoZwkA#ttz)| zb~z)e1Xb}u<6DNfDZ(A{;#%upe27@DOj}_!PZnjx(lG3?$FO#n?J^RFG8+@4KH-L|Id?EN?$8QH;;`m+QX~*vYUjc5-|3UD_o&I6)R9w4JG!IK%WJIUZ zR#<%;`i;)c2Jp>}2Rk@lsa z{FI{i7ufC;^pgx=Sr2@cRj?f3}r4;>#1e#r4c@MDfo1DDRSM4A)xQ=(J}D*Xra2OM7r{n89<2|O!-=Oyq<5_qo!enkQwm%yha@aq%!?FoE&0)IGxuS?*6OyDmk z@V659-xB!#1pY+=KbpXgCGc``0+!Z(swVIn3A}CsZ<4@UB=Cz8c$Wm;CxKrf{0!;b zcB63io}KXt`pF4=S^}Q~`zhR*v-kAemY`n(eSDKf`ZtUDYH)jU@_h7t&w{6MX=Lx^ zc{#!Un+g2=1pdzi{!;=kCqKo_XX>7#(-QdE3A|ncZ=S&0B=AcTxXv6a&Ch-be6VnB zC-z?_?EOWB;5OOc-cxjAf}KUs+q_A8FVWq?PmjJiZa&%4kAjC$W}698a^#IiDo+^L z4Fl^oe}qT1XUX&o9q0@rv_*rwvVxIOS<~^@935SaN6D}vq*6D+!ehIuBkBTVk_ z^A==>%~a60(#vKTu$2`XxtG=ANiXq+pLaT7;G6c0O2 zmVwr2@&x&36D}qTnw+E4VZxLceOtJ`96Ze4i2sUIC%A;M)&3=hq~#^v6Q*9Bm2Fd8 zie?UE_3YR@l0UinN5|fJc5Id%ueZ{_@t+(SpzGPObxh;G5@OXgi~q)lH;a#N79Zat zScwm65i6U=>&@e1b7Si*;$w5;qguokTEv=`fyBy|F>l#Ib7>hn(lXYx3ZBK9yx3Z+ zSko%D*($GiQUOg5k)gejW2b~EGbQGL$PO6@jtZy9B&Ufgu#s<>Tf_4|il%N94OSP= zkday|n(`BxK=BMLno|{q$j8gf)Z)oS#j}xUVvo&BiDv@X1}3SX@yX;Bn%z=jyq@P9 z&m>m>aqz%uvkg;T&K_MgaVYPV?Y_78#Xhuo#%#C>ZfVE>C)VFn=zhLV+ohd#S z#b8(lAd|ad5GHxa9+^fFKs=p-M&M7JajZm|dKBic_|fmFlZMNTn9}BVxH%{^Vm?cU z-*x=BERxIdXrg@ngBN37s5>R;Z9m-li?CJA)sEgPHvjGSq}k8a6-j0Bd(ybQc}(wT#{1>Z6#1B)Y;g65 z^TqITQ5+7)eodE?Uj4VUm^j;cKY3cYyog2V(aP@zNe5}51 zB(7sp#upQxN&H^omlA)3_$=a26YoL%ed1hSKM`j;O)y@f@tG|jOKrimTs`Gu{&yj+ zV_U}i5!ZZcVEktc@m{1aB;K3&4B~x=-$cAG@jHpLKg)^tBmE=9ISwy@YaFhXkEI=? z=Q!*k&iQ^qb~FxlUK}Dm*Nn^Z2eQNV%iz4x__O^}!L2=8yFHKe*U2$fFHMPGM!XGi zwtoq6^}i>^ulf?#|CMU?2NPHQi`t<{8cST;mG)(tZX~W_yk=)1@f(Q$o;cf26X&>X zAkO95L|pAy`}`bS<2g@0mdarK&$s{6iL?Eh;6?R<@zq??-zdhdyfeTxTsK*!vb>h` z{JnV_@%dzD1-RzBfb6U%J;&z-;_Uw$WJlv;%Q$|pZ(cG zoc;NfIQw&$?5jUEU*H$gbA6Ss52%pf9(3|J>qwh{ZEMBL;QQP-;?sSi&}raSHQ)t#)0iuB_8{8TFB%);!7#t9B^OW zcEq{79mx*o+mpEFYx6q>5xzSNplRF4_og<+Xlk zv*Xr3eBkV4;`h`?#8;6&pA*-7Ye0X9IO~rPSAAXRza!52pNZ>SGK+&vJ<+(azQXAO zBq>+>jbZ<6#}|OtAkKE`5LY{$pl?8&^-YPZz9;m##97~#xaxDE&nM3MuEbT}4*H(N zS>Kc>NG^GJQ%3Y>l#^rMKg{ofH+`$M6hM4a_AiK~7T^mB=`em-&44}g9Van|2S zT=jPSyp%ZWA0Qsxi@dS>kEYTf5y%ob|5|SNnIMyxWMgeg|>Y zuY~?x$8Fx(UgB)$Q{rl8HS8R6+~%VlCC+w^5m!4ludVzUvLVU0w^N9#z5(*hb$ls! zd*Xi(y~T4p@rQ{|C$9E0VP_6;*3T!d`WnzLBF_4|h^xLX^vj5|ehqQ%$JP;N{U+jS z-}an&z?KYt<4`VWY!-uj1+h_n8m#8q$o!T{v5PMr0%iL1UH^!16eK8LvKheF?yIP3F?t9}&por$x)H*wVu zfWAL*)(<7Fdh6eY6KDN3#A7}Bw~54AKbyGf=fa=siL-tY@wDjed|XVN^(%?1ee2)W z5NA7|6IcCG`13Wm{w&l>*OYuTeNTG5mt+3a%8Yl%?P?(LPl-<@evmllTNd-G%ZgU{ zO89d+@yEzcb>gaD4Sg-g%}zbyY^N=8&bOE2W`8HRUGE)`yfsxgD=a-f1zgLuMm`p| zY~pF+t%$2XHBhdBjxPY8L;P{F^8oQe;Xh;CZ98$c{|@mq+1W!}_111bc03dQeC2pu z@KJbTj>cgv*?$Dw;+B?unzoWYE!!5iBgEC8QLz7m<3quJal8|Fx$1JTBx`ThA69nU z`n@w8ZwEWI9JhX^52jF?eXFm@#GjD-tz4^!PbdBqaV_s^M z7e)0|7xoW2ZuQbw|0A6wE0^8(YwNh>+aKKLJA$~D%kJ-8@3{TGTjIF=9()tr{IT=p z9ny1oZ>Sl&U*x~}nFhCdw0!@Zp#R9}&7WVL-s=6N3rgl&198qI&h>sCagC3atC8bY zUxOXD`<7QbZs*-p$E|*kf?FJ{UhE6Y;%srNnF{4Hy~Uw5xYrMIdW-WEr*Dk-T<^Gj z|9;@Om3LLGC{8}#ZQ$O|pA+=8Y6m-}H$St%&A#<-9USij|F;nzBqr^A-$#5f@n49i ziKptwhNQCc(e_~XtMkC^x}uwkB(*25`jkRRoyg8Q**1T=C+K^Vp07^|iKofVb;LDa zi_ZebEk4gXZu*xUH~s65TYKK=xV7iMCGfqDo1KHipQ3V=uPYmpEdF*rUO;?^?6-I} zBYp$%9>lL8K9u+@;@1#oJNFQuLHY-XUrBro@u9>w5WkA}i^REK+Cw}|`u)V&{=bNq z6TQW)%!RTcN#n`>wniC;>b<2jl**VlaF?9Z*lS${8aF4r@}+0G8)Z0E1U+5dyY z+5eO3OCcp`dtm!#5NG>!h_j!qh_jtB#Met67XRhM)5KR1XFnfxd_4O3b&gL1&uAb< zC0V~={Y(z=4YJ?-X$f9QnEp;&A|FlNNxxCHO+SIS`f1+_vmLkVki`jn7xAab{vL4k z=O+1B+DH0l1e!l(8U}@aZ?gVE;_9c3gSQ3O_-G#G<)di=arS3AxN2{XmEq4E(z8D+ z!POtuKSx~svGMVb$qvV}a-)!s`ng&@R^EZcxgM_sS3k8Lwazq+Bt5s=3B?uQIypP|`4U}5`e((mm3JcXI6i3SOB}cB+m*zhAUl61 zo+kb(akaky_P-_mFzK&uEE|$EK56-wpEHTGo#n(i4y(Z}o@fTqlceW(ZX~_dZ^bh5 zN78eo=j)}Hh_4cz`S})cj?Y2jY102loXb_YiHIa=9N5lz#M83R@~usr?c@<>J6(vg zoq@#J&LrZjpGlnc8;G-h6LHq>A^s4R>kx6(TmO8-aqFL3XNgFX#*OXgJH8t2@KWMw zImY7IkNAVc2NPHOc3u<^=QwX|Dk4dh<)eE0J#~Jz(qeAEN3I1o|A)fQn;ahnek*a# zcLVXX>{pqES}?XWJ8jcHzQsPe}3OQEd6m2!*oWj~vOTfNxt;(W)gUivw1^*GkquZwzlg7h4RKNDAf%>F*d z&3@Y!CH)@&`5T9&jw3igLNZtZY|;}++qh^NJ*wYTSqYkAGj zqmEm>U(l+gKda$SL*iWTt%mMvW+lh00_L3d;=QwfpC)K9(eCvZ-z824xj@$L>eB$iS zZNxQS^Zzc#tsYl7Zux!*?(6Z4wk7?yI5&3O;yDD|%4Pni9XCJMIKBYwYQ5v;=X1n4 z4sR0YcH6dnvHx6OV~BHo&2!w!wLF2ZciiGL78jj9o(~b{d|z|i^4*ibe|6mQeWOF^ z<&E--Ip>?{xaFJWxY=(H?(6p}(sP_UT^z;9_XC3*w|sAL-11!p?(;oHJS{m{KY5(E zme<*9JhR*=v;cfuQ_gZb`a-$zaXypn*9&Ely3i9 z$IbrF#M%D2T}#?AeXiq{@1MZS%3*2wSi9OvT>Z56v%_&~Cx3O^+F{vlaYu&y*&hO?aIovmN>^@8*z^F-^jjl>$jilE*p}({g;Td{awV>j`{Ps;}+*1 z!7UD!?~9kl*`AQ^HsYM`7sR<-r}qeUy!~C^zFd2Vv;FUhbGa(?Ea|6}t0}n8_j%%J zIn>(K%f!{bwX4^ObG@(W74lX4Y5AC)^~71lYAb{q4kAznwVi-yzQWv-=kNe}k-AJR1<7MZ5`d)(<7l`Hm;f`7R{R z`o+Xqzm7QnK7EZi+j*Nf+c`>{^=0}+ak6%6^;?xV=X(xuwQv2^g^t(7_iRoAzdV7z z?6~!-?}FR;Yri+Ya{ATCx6);yT&A~vsUf(P*Yq8n-p=bTr04TxD)B**m9?Myhz}cP;Tzq<`yj*^s1h7%d+w*Iwf6=Xb=%kp4f!uO?n$ zplnD|`wz><>^C6J{&!E{(-ZgtaI4=Ynwg~gNxw<9E#HcIl1TFY)FwVw_M1K@f!|Mj z9O>62@U!$Jl%)AyBOkN>n*`pT`0q$xe~4^IQah{UV|Mb0k0;(gf!{;?G19+BoX?|u z;2LK=FBajvI6`_pk9u4oB1!6JT0Z9IWyJaX{gpWT)9^|;Sd!Xdo=rS0`^wPZg{yuRy#i*0q?Lx4kc-y5rc4Qdm(tdg;9b7jYLlelxiBL#F=*x-6%! z3CCMF-WY{w=XfRx(b4g(*uK>9-LQ|ZuQ)#H{~_oKoPHMa9pm^burt~5|G=NQj$65I zb$lM;v()kKu)osrnP`VkI{ppp{K@el@c%8xztKvT^kG;O#o=}EgN|PZe|~WMS#0a` z=QUaVevCL|IL!0{>Yr_k{Quz#K7OQ65Q zaZI<29&r4R&_C(;d+_Jaj^~8pMmrp@jyUggd^G(0((y-N|7XYb`JtLBV`=rW6mdJx z@%P|=YsWhUGf^kU^O0{)$E(Bs6^_qDxx({Ti`&Ul@O!P(_kjJ4j@QKY^Nx>z|1UfK zDeS-H_-xq!$#H$Yp{BAZhsEt}@S2YQ7QCzDX2+iEVs@6{e0TI|nW z$8lL0eMWXV#>(*Lh~s(K_Z{)B!Wx7BN?h$&f0TjpssCM|)x{aaRsS~joljite}Qd% z?xiLx*RXg?@^^d{{KzFcYQGxl@nXmAJnZfGJ_K(tarLJnwnt%U{-lwwKKD|S@d2n8 zd-JZwLH%h3{as{V`2_G~#5Lauu=5ac)o+6SG2*Jv!uHd|Rlfk+TOB`u?ROn-i1zlW z<5R$oI{qX0amVdBHRZ71+VhKuvp(Nalf~!nC~qclZ9mzuDvD|o*K*aa5Oy>nu5q{r z_FI5ky$pl>_Kt7Gg-mC%qxL()zP&No{9gs#+=BCh)Lap63Mco*T5a6H?swe$e9ZBsIB#EdT%QlC>1}YU7kkd`UmdsS?CvEy>i;qL`3Z53+hO9W&(S^_Rwb;D_VSWT&f0?R)SfoX4iW5&BBR zRlf-BB$K$t?W%J^zO^0Scy8b=h^w8M0Y}zh`8$i4gF%`s<-}VIdRoro0310 z9&>zXt-v=ES35tU-*}a{+G$@q=-(u+`Zp>BzL$6xLAwKv4ii^9o9cueM~JK5o_BeS zxaz-x-k#rO^;lRp*r|l?TjMv>3%r`+n;HaO!|{_F1zro>`lS_T2Hw!|SvW6RIy>Ee z6Z9P%zZ<-p7jY#^K>}$UH z=>NYWuKC`Ae2)^>xYbAdwC9ysxf*55PD!UIkfaOMzXN@B;%a|0^yd>-{dYKD8W30g zKIoefSN|u$|4YFw4tWh_r=-gqFV`sWDb7wBcIG?28~hI9>W|HLyw~vuabx09;_9bO zid;`z?bK?fJEQ1%$8TvK_!h^n%?i9z3h~4e@T5x-An3hZJ>;(TG(rbO~Mf{Ht zSN##_k2~I@rRT@)wQu*M z-XyO2j<^A|lep@KAPyf8SN*lne?(mM7oZ*w5?B4R(EsT8m*5p}oon@2r?ng;sS0tm zAKt4JMQ0ON`&U9=gShJJ!k_xYRsTHn_M9}!*XEVBA-&pp1pQ=Z;%eunHu6W(XvcSe zFD9<-!S3g;A+B~ZFmH0Baej_S`wMf4G7e zle7nVJHPCGBl{ho`6PJjd}D!8-g=k^PuA|pgpg1+@4GRmg85VJ?wFO1^lt+=~;U?9sX3oit(r5&pD1Cgq?bh z+c-^g$J@cqK*wt#-;s{@M*QtLZ|2W^h{JVGUmoqmo|9&J8^?OV>A$NGGX7u3_rjl_ z9oP4+X=;i41ZH2~-=nFc;};=5eH{<)FO=Wqjt@qBu5tWP*q`aRJ;#2j<5wczhaCR| zcGf#?_iNs8{9D-B@3=je-=4>1arg`DXW%}f@o|Xrd5+uoPy@#|qTX9L{ww^s#PPWy z{81mrUxh#RJS+3ZuFuCg{ey`A49AWE3=OEt# z(yQxf=&yJB-l)ghoc;jxk2t-JhixD|vW$<|?DRH1^g8JaVOtmbo!;()A9DO7#Q7J; zKR~;!bY?KBo14RG{I?po#s609yMXi>AA8Spp3|>_zLV1*Kt0;?yUhND@MnnAr*Qvh zgtLDb@h^0Gdyn^Gr~d@~~Rge?O&<}FF8~Av~`+`q* z_M0LOHZEa)4u<|Vr|*n^fs<{lhbd8{uQ(@HH)f>Neys~!^K$FMGEU)kDt@=wFc|+oqia$$7AX3 zPjdP+`hhzV^h=!H=1c5M(C>D78?XN=LI1VW+xUB34S*!?e*^HM_~3e?Q-Z#m)7!YP zy?4~xALjHn{<|{4zI~7BZmnOtU%E3vzuVitTuUkUuh2NWKUKlazTJOF#YYv-FT!S& z@AxomC)ImW{U+68Qhg=WOH%xk;+z!Eq_`!;2i;2Cer#PsVe1-aTUTCH|46bphpj03 EKSiu#X8-^I literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/read_epars.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/read_epars.c new file mode 100755 index 00000000..20eb8066 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/read_epars.c @@ -0,0 +1,733 @@ +/* + read energy parameters from a file + + Stephan Kopp, Ivo Hofacker + Vienna RNA Package +*/ + + +#include +#include +#include +#include +#include + +#include "utils.h" +#include "energy_const.h" +#include "energy_par.h" + +static char rcsid[] = "$Id: read_epars.c,v 1.10 2004/12/10 16:32:35 ivo Exp $"; + +#define PUBLIC +#define PRIVATE static +#define PARSET 20 +enum parset {UNKNOWN= -1, QUIT, S, SH, HP, B, IL, MMI, MMH, MMM, MM_H, + DE5, DE3, DE5_H, DE3_H, ML, TL, TRI, TE, NIN, MISC, + INT11, INT11_H, INT21, INT21_H, INT22, INT22_H, DUMP, HELP}; + + +/*------------------ identifiers ----------------------------*/ +#define DEF -50 +#define NST 0 + +#define DEF_TEMP 37.0 /* default temperature */ + +/*----------------------- prototypes -------------------------*/ +PUBLIC void read_parameter_file(const char fname[]); +PUBLIC void write_parameter_file(const char fname[]); + +PRIVATE void rd_stacks(int stack[NBPAIRS+1][NBPAIRS+1]); +PRIVATE void rd_loop(int looparray[31]); +PRIVATE void rd_mismatch(int mismatch[NBPAIRS+1][5][5]); +PRIVATE void rd_int11(int int11[NBPAIRS+1][NBPAIRS+1][5][5]); +PRIVATE void rd_int21(int int21[NBPAIRS+1][NBPAIRS+1][5][5][5]); +PRIVATE void rd_int22(int int22[NBPAIRS+1][NBPAIRS+1][5][5][5][5]); +PRIVATE void rd_dangle(int dangles[NBPAIRS+1][5]); +PRIVATE void rd_MLparams(void); +PRIVATE void rd_misc(void); +PRIVATE void rd_ninio(void); +PRIVATE void rd_Tetra_loop(void); +PRIVATE void rd_Tri_loop(void); +PRIVATE void check_symmetry(void); + +PRIVATE enum parset gettype(char ident[]); +PRIVATE char *get_array1(int *arr, int size); + +PRIVATE void ignore_comment(char *line); + +PRIVATE void display_array(int *p, int size, int line, FILE *fp); + +/*------------------------------------------------------------*/ +PRIVATE FILE *fp; +PRIVATE float rtemp=DEF_TEMP; + +/*------------------------------------------------------------*/ +PUBLIC void read_parameter_file(const char fname[]) +{ + char *line, ident[32]; + enum parset type; + int r, changed=0; + + if (!(fp=fopen(fname,"r"))) { + fprintf(stderr, + "\nread_parameter_file:\n" + "\t\tcan't open file %s\n" + "\t\tusing default parameters instead.\n", fname); + return; + } + + if (!(line = get_line(fp))) { + fprintf(stderr," File %s is inproper.\n", fname); + fclose(fp); + return; + } + + if (strncmp(line,"## RNAfold parameter file",25)!=0) { + fprintf(stderr, + "Missing header line in file.\n" + "May be this file has incorrect format.\n" + "Use INTERRUPT-key to stop.\n"); + } + free(line); + + while((line=get_line(fp))) { + + r = sscanf(line, "# %31s", ident); + if (r==1) { + type = gettype(ident); + switch (type) + { + case QUIT: break; + case SH: rd_stacks(enthalpies); changed |= SH; break; + case S: rd_stacks(stack37); changed |= S; break; + case HP: rd_loop(hairpin37); changed |= HP; break; + case B: rd_loop(bulge37); changed |= B; break; + case IL: rd_loop(internal_loop37); changed |= IL; break; + case MMH: rd_mismatch(mismatchH37); changed |= MMH; break; + case MMI: rd_mismatch(mismatchI37); changed |= MMI; break; + case MMM: rd_mismatch(mismatchM37); changed |= MMM; break; + case MM_H: rd_mismatch(mism_H); changed |= MM_H; break; + case INT11: rd_int11(int11_37); changed |= INT11; break; + case INT11_H:rd_int11(int11_H); changed |= INT11_H; break; + case INT21: rd_int21(int21_37); changed |= INT21; break; + case INT21_H:rd_int21(int21_H); changed |= INT21_H; break; + case INT22: rd_int22(int22_37); changed |= INT22; break; + case INT22_H:rd_int22(int22_H); changed |= INT22_H; break; + case DE5: rd_dangle(dangle5_37); changed |= DE5; break; + case DE5_H: rd_dangle(dangle5_H); changed |= DE5_H; break; + case DE3: rd_dangle(dangle3_37); changed |= DE3; break; + case DE3_H: rd_dangle(dangle3_H); changed |= DE3_H; break; + case ML: rd_MLparams(); changed |= ML; break; + case NIN: rd_ninio(); changed |= NIN; break; + case TL: rd_Tetra_loop(); changed |= TL; break; + case TRI: rd_Tri_loop(); changed |= TRI; break; + case MISC: rd_misc(); changed |= MISC; break; + + default: /* maybe it's a temperature */ + r=sscanf(ident, "%f", &rtemp); + if (r!=1) fprintf(stderr," Unknown field identifier in `%s'\n", line); + } + } /* else ignore line */ + free(line); + } + + fclose(fp); + + check_symmetry(); + return; +} + +/*------------------------------------------------------------*/ + +PRIVATE void display_array(int *p, int size, int nl, FILE *fp) +{ + int i; + + for (i=1; i<=size; i++, p++) { + switch(*p) + { + case INF: fprintf(fp," INF"); break; + case -INF: fprintf(fp," -INf"); break; + case DEF: fprintf(fp," DEF"); break; + default: fprintf(fp,"%6d", *p); break; + } + if ((i%nl)==0) fprintf(fp,"\n"); + } + if (size%nl) fprintf(fp,"\n"); + return; +} + +/*------------------------------------------------------------*/ + +PRIVATE char *get_array1(int *arr, int size) +{ + int i, p, pos, pp, r, last; + char *line, buf[16]; + + + i = last = 0; + while( i}sqdUR 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 */ + +#include +#include +#include +#include +#include +#include "edit_cost.h" +#include "dist_vars.h" +#include "utils.h" + +static char rcsid[] = "$Id: stringdist.c,v 1.3 2005/07/24 08:37:15 ivo Exp $"; + +#define PUBLIC +#define PRIVATE static +#define MIN(x,y) (((x)<(y)) ? (x) : (y)) +#define MAX(x,y) (((x)>(y)) ? (x) : (y)) +#define MIN3(x,y,z) (MIN( (MIN((x),(y))) ,(z))) +#define INFINITY 10000 + +PUBLIC float string_edit_distance(swString *T1, swString *T2); +PUBLIC swString *Make_swString(char *string); +PUBLIC void print_swString(swString *x); +PUBLIC void print_alignment_list(void); + +PRIVATE void sprint_aligned_swStrings(swString *T1, swString *T2); +PRIVATE float StrEditCost(int i, int j, swString *T1, swString *T2); +PRIVATE void DeCode(char *string, int k, int *tp, float *w); +PRIVATE int decode(char *id); +PRIVATE void encode(int type, char label[]); +PRIVATE int *alignment[2]; /* contains information from backtracking + alignment[0][n] is the node in tree2 + matching node n in tree1 */ + + +/*---------------------------------------------------------------------------*/ + +PUBLIC float string_edit_distance(swString *T1, swString *T2) + +{ + float **distance; + short **i_point, **j_point; + + int i, j, i1, j1, pos, length1,length2; + float minus, plus, change, temp; + + if (cost_matrix==0) EditCost = &UsualCost; + else EditCost = &ShapiroCost; + + length1 = T1[0].sign; + length2 = T2[0].sign; + + distance = (float **) space((length1 +1)*sizeof(float *)); + if(edit_backtrack){ + i_point = (short **) space((length1 +1)*sizeof(short *)); + j_point = (short **) space((length1 +1)*sizeof(short *)); + } + for(i=0; i<= length1; i++){ + distance[i] = (float *) space( (length2+1)*sizeof(float)); + if(edit_backtrack){ + i_point[i] = (short *) space( (length2+1)*sizeof(short)); + j_point[i] = (short *) space( (length2+1)*sizeof(short)); + } + } + + for(i = 1; i <= length1; i++) { + if (edit_backtrack){ + i_point[i][0] = i-1; + j_point[i][0] = 0; + } + distance[i][0] = distance[i-1][0]+StrEditCost(i,0,T1,T2); + } + for(j = 1; j <= length2; j++) { + if (edit_backtrack){ + j_point[0][j] = j-1; + i_point[0][j] = 0; + } + distance[0][j] = distance[0][j-1]+StrEditCost(0,j,T1,T2); + } + + for (i = 1; i <= length1; i++) { + for (j = 1; j <= length2 ; j++) { + minus = distance[i-1][j] + StrEditCost(i,0,T1,T2); + plus = distance[i][j-1] + StrEditCost(0,j,T1,T2); + change = distance[i-1][j-1]+ StrEditCost(i,j,T1,T2); + + distance[i][j] = MIN3(minus, plus, change); + /* printf("%g ", distance[i][j]); */ + + if(edit_backtrack){ + if(distance[i][j] == change) { + i_point[i][j]=i-1; j_point[i][j]=j-1; } + else if(distance[i][j] == plus) { + i_point[i][j]=i ; j_point[i][j]=j-1; } + else { + i_point[i][j]=i-1; j_point[i][j]=j ; } + } + } + /* printf("\n"); */ + } + /* printf("\n"); */ + temp = distance[length1][length2]; + for(i=0;i<=length1;i++) + free(distance[i]); + free(distance); + + if(edit_backtrack){ + if(alignment[0]!= NULL) free(alignment[0]); + if(alignment[1]!= NULL) free(alignment[1]); + alignment[0] = (int *) space((length1+length2+1)*sizeof(int)); + alignment[1] = (int *) space((length1+length2+1)*sizeof(int)); + + pos = length1+length2; + i = length1; + j = length2; + while( (i>0)||(j>0) ) { + i1 = i_point[i][j]; + j1 = j_point[i][j]; + if( ((i-i1)==1)&&((j-j1)==1) ) { /* substitution */ + alignment[0][pos] = i; + alignment[1][pos] = j; + } + if( ((i-i1)==1)&&(j==j1) ) { /* Deletion in [1] */ + alignment[0][pos] = i; + alignment[1][pos] = 0; + } + if( (i==i1)&&((j-j1)==1) ) { /* Deletion in [0] */ + alignment[0][pos] = 0; + alignment[1][pos] = j; + } + pos--; + i = i1; + j = j1; + } + for(i=pos+1; i<=length1+length2; i++){ + alignment[0][i-pos] = alignment[0][i]; + alignment[1][i-pos] = alignment[1][i]; + } + alignment[0][0] = length1+length2-pos; /* length of alignment */ + + for(i=0; i<=length1; i++){ + free(i_point[i]); free(j_point[i]); + } + free(i_point); free(j_point); + sprint_aligned_swStrings(T1,T2); + + } + + return temp; +} + + +/*---------------------------------------------------------------------------*/ + +PRIVATE float StrEditCost(int i, int j, swString *T1, swString *T2) +{ + float c, diff, cd, min, a, b, dist; + + if(i==0) { + cd = (float) (*EditCost)[0][T2[j].type]; + diff = T2[j].weight; + dist = cd*diff; + } + else + if(j==0) { + cd = (float) (*EditCost)[T1[i].type][0]; + diff = T1[i].weight; + dist = cd*diff; + } + else + if( ((T1[i].sign)*(T2[j].sign)) > 0) { + c = (float) (*EditCost)[T1[i].type][T2[j].type]; + diff = (float) fabs((a=T1[i].weight) - (b=T2[j].weight)); + min = MIN(a,b); + if (min == a) cd = (float) (*EditCost)[0][T2[j].type]; + else cd = (float) (*EditCost)[T1[i].type][0]; + dist = c * min + cd * diff; + } + else dist = (float) INFINITY; + return dist; +} + +/*---------------------------------------------------------------------------*/ + +PUBLIC swString *Make_swString(char *string) +{ + int i=0, j=0, k=0; + int tp, len, l, length; + float w; + swString *S; + + length = strlen(string); + + for(i=0; i0) { + k++; + if(string[k] == '(' ) l++; + if(string[k] == ')' ) l--; + } + DeCode(string,k,&tp,&w); + S[j].type = tp; + S[j].weight = w/2.0; + j++; + break; + case ')' : + k=i; + S[j].sign = -1; + DeCode(string,k,&tp,&w); + S[j].type = tp; + S[j].weight = w/2.0; + j++; + break; + case '.' : + S[j].sign = 1; + S[j].type = 1; + S[j].weight = 0.5; + j++; + S[j].sign = -1; + S[j].type = 1; + S[j].weight = 0.5; + j++; + break; + } + i++; + } + return S; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void DeCode(char *string, int k, int *tp, float *w) + /* retrieves type and weigth for a node closed by a bracket at position k */ +{ + int i,j,l,m; + char label[20], id[20] ; + i=k; + label[0] = '\0'; + while(i>=0){ + i--; + if( (string[i]=='(')||(string[i]==')')||(string[i]=='.') ) break; + else { + label[k-i-1] = string[i]; label[k-i] = '\0'; + } + } + l=strlen(label); + if (l==0) { /* Dot-Bracket notation */ + *w = 1.0; + *tp = 2; + } + else{ + for (i=0; i=0){ + for(j=0; j<=l; j++) + id[j] = label[l-j]; + label[l+1] ='\0'; + m=-1; + sscanf(label,"%d",&m); + *w= (float) m; + if(m==-1) { + fprintf(stderr, "Warning: Non-integer weight in DeCode ignored\n"); + *w=1.0; + } + } + else + *w=1.0; + } +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE int decode(char *id) +{ + int n, quit, i; + char label[100], *code; + + n = 0; + + quit = 0; + code = coding; + + while (!quit) { + for (i = 0; code[i] != sep; i++) { + if (code[i] == '\0') { + quit = 1; + break; + } + label[i] = code[i]; + } + label[i] = '\0'; + if (strcmp(id, label) == 0) return (n); + code += (i+1); + n++; + } + + fprintf(stderr,"Syntax error: node identifier \"%s\" not found " + "in coding string \"%s\"\n", id, coding); + fprintf(stderr,"Exiting..."); + exit(0); +} + + +/*---------------------------------------------------------------------------*/ + +PRIVATE void encode( int type, char label[]) + +{ + int i, l; + + l = 0; + for (i = 0; i < type; i++) { + while (coding[l] != sep && coding[l]) l++; + l++; + } + + for (i = 0; coding[l+i] != sep; i++) { + if (coding[l+i] == '\0') break; + label[i] = coding[l+i]; + } + label[i] = '\0'; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void sprint_aligned_swStrings(swString *T1, swString *T2) +{ + int i, j, l0, l1, ltmp=0, weights; + char label[10], *a0, *a1, tmp0[20], tmp1[20]; + + weights = 0; + for (i=1; i<=T1[0].sign; i++) weights = (weights||(T1[i].weight!=0.5)); + for (i=1; i<=T2[0].sign; i++) weights = (weights||(T2[i].weight!=0.5)); + + a0 = (char *) space(alignment[0][0]*4+2); + a1 = (char *) space(alignment[0][0]*4+2); + for(i=1; i<= alignment[0][0]; i++){ + tmp0[0] = '\0'; l0=0; + if(alignment[0][i] > 0) { + encode(T1[alignment[0][i]].type, label); + if(T1[alignment[0][i]].sign > 0) { + tmp0[0] = '('; + tmp0[1] = '\0'; + } + strcat(tmp0,label); + if (weights) + sprintf(tmp0+strlen(tmp0), "%d", + (int)(2*T1[alignment[0][i]].weight)); + + if(T1[alignment[0][i]].sign < 0) strcat(tmp0, ")"); + l0 = strlen(tmp0); + } + tmp1[0]= '\0'; l1=0; + if(alignment[1][i] > 0) { + encode(T2[alignment[1][i]].type, label); + if(T2[alignment[1][i]].sign > 0) { + tmp1[0] = '('; + tmp1[1] = '\0'; + } + strcat(tmp1,label); + if (weights) + sprintf(tmp1+strlen(tmp1), "%d", + (int)(2*T2[alignment[1][i]].weight)); + + if(T2[alignment[1][i]].sign < 0) strcat(tmp1, ")"); + l1 = strlen(tmp1); + } + ltmp = MAX(l0,l1); + for (j=l0; j5~yZy0uxPbBq5*zA(>1d8j_Gq5G@2S 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 DaqB3i literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/subopt.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/subopt.c new file mode 100755 index 00000000..6d21497b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/subopt.c @@ -0,0 +1,935 @@ +/* + $Log: subopt.c,v $ + Revision 1.18 2003/10/06 08:56:45 ivo + use P->TerminalAU + + Revision 1.17 2003/08/26 09:26:08 ivo + don't modify print_energy in subopt(); use doubles instead of floats + + Revision 1.16 2001/10/01 13:50:00 ivo + sorted -> subopt_sorted + + Revision 1.15 2001/09/17 10:30:42 ivo + move scale_parameters() into params.c + returns pointer to paramT structure + + Revision 1.14 2001/08/31 15:02:19 ivo + Let subopt either write to file pointer or return a list of structures, + so we can nicely integrate it into the library + + Revision 1.13 2001/04/05 07:35:08 ivo + remove uneeded declaration of TETRA_ENERGY + + Revision 1.12 2000/10/10 08:53:20 ivo + adapted for new Turner energy parameters + supports all constraints that forbid pairs + + Revision 1.11 2000/04/08 15:56:18 ivo + with noLonelyPairs=1 will produce no structures with isolated base pairs + (Giegerich's canonical structures) + + Revision 1.10 1999/05/06 10:13:35 ivo + recalculte energies before printing if logML is set + + cosmetic changes + + Revision 1.9 1998/05/19 16:31:52 ivo + added support for constrained folding + + Revision 1.8 1998/03/30 14:44:54 ivo + cleanup of make_printout etc. + + Revision 1.7 1998/03/30 14:39:31 ivo + replaced BasePairs list with structure string in STATE + save memory by not storing (and sorting) structures + modified for use with ViennaRNA-1.2.1 + + Revision 1.6 1997/10/21 11:34:09 walter + steve update + + Revision 1.1 1997/08/04 21:05:32 walter + Initial revision + +*/ +/* + suboptimal folding - Stefan Wuchty, Walter Fontana & Ivo Hofacker + + Vienna RNA package +*/ +#include +#include +#include +#include +#include +#include +#include "fold.h" +#include "utils.h" +#include "energy_par.h" +#include "fold_vars.h" +#include "pair_mat.h" +#include "list.h" +#include "subopt.h" +#include "params.h" + +#define true 1 +#define false 0 + +#define PUBLIC +#define PRIVATE static + +/*@unused@*/ +PRIVATE char UNUSED rcsid[] = "$Id: subopt.c,v 1.18 2003/10/06 08:56:45 ivo Exp $"; + +/*Typedefinitions ---------------------------------------------------------- */ + +typedef struct { + char *structure; + LIST *Intervals; + int partial_energy; + /* int best_energy; */ /* best attainable energy */ +} STATE; + +typedef struct { + int i; + int j; +} PAIR; + +typedef struct { + int i; + int j; + int array_flag; +} INTERVAL; + + +PRIVATE void make_pair(int i, int j, STATE *state); +PRIVATE INTERVAL *make_interval (int i, int j, int ml); +/*@out@*/ PRIVATE STATE *make_state(/*@only@*/LIST *Intervals, + /*@only@*/ /*@null@*/ char *structure, + int partial_energy); +PRIVATE STATE *copy_state(STATE * state); +PRIVATE void print_state(STATE * state); +PRIVATE void UNUSED print_stack(LIST * list); +/*@only@*/ PRIVATE LIST *make_list(void); +PRIVATE void push(LIST * list, /*@only@*/ void *data); +PRIVATE void *pop(LIST * list); +PUBLIC SOLUTION *subopt (char *seq, char *sequence, int delta, FILE *fp); +PRIVATE int best_attainable_energy(STATE * state); +PRIVATE void scan_interval(int i, int j, int array_flag, STATE * state); +PRIVATE void free_interval_node(/*@only@*/ INTERVAL * node); +PRIVATE void free_state_node(/*@only@*/ STATE * node); +PRIVATE void push_back(STATE * state); +PRIVATE char* get_structure(STATE * state); +PRIVATE int compare(const void *solution1, const void *solution2); +PRIVATE void make_output(SOLUTION *SL, FILE *fp); +PRIVATE void repeat(int i, int j, STATE * state, + int part_energy, int temp_energy); + +/*Globals ------------------------------------------------------------------ */ +/* options that may be modified by RNAsubopt.c */ +int subopt_sorted=0; /* output sorted by energy */ + +#define MAXALPHA 20 /* maximal length of alphabet */ + +PRIVATE LIST *Stack; +PRIVATE int nopush; +PRIVATE int best_energy; /* best_energy = remaining energy */ + +PRIVATE int *f5; /* energy of 5 end */ +PRIVATE int *c; /* energy array, given that i-j pair */ +PRIVATE int *fML; /* multi-loop auxiliary energy array */ +PRIVATE int *fM1; /* another multi-loop auxiliary energy array */ +PRIVATE int *indx; /* index for moving in the triangle matrices c[] and f[] */ +PRIVATE short *S, *S1; + +PRIVATE char *ptype; + +PRIVATE const paramT *P; +/* extern float energy_of_struct(char *, char *); */ +extern int LoopEnergy(int n1, int n2, int type, int type_2, + int si1, int sj1, int sp1, int sq1); +extern int HairpinE(int size, int type, int si1, int sj1, const char *string); +extern void export_fold_arrays(int **f5_p, int **c_p, int **fML_p, + int **fM1_p, int **indx_p, char **ptype_p); +extern int uniq_ML; + +PRIVATE int length; +PRIVATE int minimal_energy; /* minimum free energy */ +PRIVATE int element_energy; /* internal energy of a structural element */ +PRIVATE int threshold; /* minimal_energy + delta */ +PRIVATE char *sequence; +PUBLIC double print_energy = 9999; /* printing threshold for use with logML */ + + +PRIVATE void encode_seq(char *sequence) { + unsigned int i,l; + + l = strlen(sequence); + S = (short *) space(sizeof(short)*(l+1)); + S1= (short *) space(sizeof(short)*(l+1)); + /* S1 exists only for the special X K and I bases and energy_set!=0 */ + S[0] = S1[0] = (short) l; + + for (i=1; i<=l; i++) { /* make numerical encoding of sequence */ + S[i]= (short) encode_char(toupper(sequence[i-1])); + S1[i] = alias[S[i]]; /* for mismatches of nostandard bases */ + } +} + +/*---------------------------------------------------------------------------*/ +/*List routines--------------------------------------------------------------*/ +/*---------------------------------------------------------------------------*/ + +PRIVATE void +make_pair(int i, int j, STATE *state) +{ + state->structure[i-1] = '('; + state->structure[j-1] = ')'; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE INTERVAL * +make_interval(int i, int j, int array_flag) +{ + INTERVAL *interval; + + interval = lst_newnode(sizeof(INTERVAL)); + interval->i = i; + interval->j = j; + interval->array_flag = array_flag; + return interval; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void +free_interval_node(INTERVAL * node) +{ + lst_freenode(node); +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void +free_state_node(STATE * node) +{ + free(node->structure); + if (node->Intervals) + lst_kill(node->Intervals, lst_freenode); + lst_freenode(node); +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE STATE * +make_state(LIST * Intervals, + char *structure, + int partial_energy) +{ + STATE *state; + + state = lst_newnode(sizeof(STATE)); + + if (Intervals) + state->Intervals = Intervals; + else + state->Intervals = lst_init(); + if (structure) + state->structure = structure; + else { + int i; + state->structure = (char *) space(length+1); + for (i=0; istructure[i] = '.'; + } + + state->partial_energy = partial_energy; + + return state; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE STATE * +copy_state(STATE * state) +{ + STATE *new_state; + void *after; + INTERVAL *new_interval, *next; + + new_state = lst_newnode(sizeof(STATE)); + new_state->Intervals = lst_init(); + new_state->partial_energy = state->partial_energy; + /* new_state->best_energy = state->best_energy; */ + + if (state->Intervals->count) { + after = LST_HEAD(new_state->Intervals); + for ( next = lst_first(state->Intervals); next; next = lst_next(next)) + { + new_interval = lst_newnode(sizeof(INTERVAL)); + *new_interval = *next; + lst_insertafter(new_state->Intervals, new_interval, after); + after = new_interval; + } + } + new_state->structure = strdup(state->structure); + if (!new_state->structure) nrerror("out of memory"); + return new_state; +} + +/*---------------------------------------------------------------------------*/ + +/*@unused @*/ PRIVATE void +print_state(STATE * state) +{ + INTERVAL *next; + + if (state->Intervals->count) + { + printf("%d intervals:\n", state->Intervals->count); + for (next = lst_first(state->Intervals); next; next = lst_next(next)) + { + printf("[%d,%d],%d ", next->i, next->j, next->array_flag); + } + printf("\n"); + } + printf("partial structure: %s\n", state->structure); + printf("\n"); + printf(" partial_energy: %d\n", state->partial_energy); + /* printf(" best_energy: %d\n", state->best_energy); */ + (void) fflush(stdout); +} + +/*---------------------------------------------------------------------------*/ + +/*@unused @*/ PRIVATE void +print_stack(LIST * list) +{ + void *rec; + + printf("================\n"); + printf("%d states\n", list->count); + for (rec = lst_first(list); rec; rec = lst_next(rec)) + { + printf("state-----------\n"); + print_state(rec); + } + printf("================\n"); +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE LIST * +make_list(void) +{ + return lst_init(); +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void +push(LIST * list, void *data) +{ + nopush = false; + lst_insertafter(list, data, LST_HEAD(list)); +} + +/* PRIVATE void */ +/* push_stack(STATE *state) { */ /* keep the stack sorted by energy */ +/* STATE *after, *next; */ +/* nopush = false; */ +/* next = after = LST_HEAD(Stack); */ +/* while ( next = lst_next(next)) { */ +/* if ( next->best_energy >= state->best_energy ) break; */ +/* after = next; */ +/* } */ +/* lst_insertafter(Stack, state, after); */ +/* } */ + +/*---------------------------------------------------------------------------*/ + +PRIVATE void * +pop(LIST * list) +{ + void *data; + + data = lst_deletenext(list, LST_HEAD(list)); + return data; +} + +/*---------------------------------------------------------------------------*/ +/*auxiliary routines---------------------------------------------------------*/ +/*---------------------------------------------------------------------------*/ + +PRIVATE int +best_attainable_energy(STATE * state) +{ + /* evaluation of best possible energy attainable within remaining intervals */ + + register int sum; + INTERVAL *next; + + sum = state->partial_energy; /* energy of already found elements */ + + for (next = lst_first(state->Intervals); next; next = lst_next(next)) + { + if (next->array_flag == 0) + sum += f5[next->j]; + else if (next->array_flag == 1) + sum += fML[indx[next->j] + next->i]; + else if (next->array_flag == 2) + sum += c[indx[next->j] + next->i]; + else if (next->array_flag == 3) + sum += fM1[indx[next->j] + next->i]; + } + + return sum; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void +push_back(STATE * state) +{ + push(Stack, copy_state(state)); + return; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE char* +get_structure(STATE * state) +{ + char* structure; + + structure = strdup(state->structure); + return structure; +} + +/*---------------------------------------------------------------------------*/ +PRIVATE int +compare(const void *solution1, const void *solution2) +{ + if (((SOLUTION *) solution1)->energy > ((SOLUTION *) solution2)->energy) + return 1; + if (((SOLUTION *) solution1)->energy < ((SOLUTION *) solution2)->energy) + return -1; + return strcmp(((SOLUTION *) solution1)->structure, + ((SOLUTION *) solution2)->structure); +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void make_output(SOLUTION *SL, FILE *fp) /* prints stuff */ +{ + SOLUTION *sol; + + for (sol = SL; sol->structure!=NULL; sol++) + fprintf(fp, "%s %6.2f\n", sol->structure, sol->energy); +} + +/*---------------------------------------------------------------------------*/ +/* start of subopt backtracking ---------------------------------------------*/ +/*---------------------------------------------------------------------------*/ + +PUBLIC SOLUTION *subopt(char *seq, char *structure, int delta, FILE *fp) +{ + STATE *state; + LIST *Intervals; + INTERVAL *interval; + SOLUTION *SolutionList; + + unsigned long max_sol = 128, n_sol = 0; + + int maxlevel, count, partial_energy, old_dangles; + double structure_energy, min_en, eprint; + char* struc; + + sequence = seq; + length = strlen(sequence); + + struc = (char *) space(sizeof(char)*(length+1)); + if (fold_constrained) strncpy(struc, structure, length); + /* do mfe folding to get fill arrays and get ground state energy */ + /* in case dangles is neither 0 or 2, set dangles=2 while folding */ + old_dangles = dangles; + if ((dangles!=0) && (dangles != 2)) dangles = 2; + + uniq_ML = 1; + initialize_fold(length); + min_en = fold(sequence, struc); + export_fold_arrays(&f5, &c, &fML, &fM1, &indx, &ptype); + dangles = old_dangles; + /* re-evaluate in case we're using logML etc */ + min_en = energy_of_struct(sequence, struc); + free(struc); + eprint = print_energy + min_en; + if (fp) + fprintf(fp, "%s %6d %6d\n", sequence, (int) (-0.1+100*min_en), delta); + + make_pair_matrix(); + encode_seq(sequence); + P = scale_parameters(); + + /* Initialize ------------------------------------------------------------ */ + + maxlevel = 0; + count = 0; + partial_energy = 0; + + /* Initialize the stack ------------------------------------------------- */ + + minimal_energy = f5[length]; + threshold = minimal_energy + delta; + + Stack = make_list(); /* anchor */ + Intervals = make_list(); /* initial state: */ + interval = make_interval(1, length, 0); /* interval [1,length,0] */ + push(Intervals, interval); + state = make_state(Intervals, NULL, partial_energy); + /* state->best_energy = minimal_energy; */ + push(Stack, state); + + /* SolutionList stores the suboptimal structures found */ + + SolutionList = (SOLUTION *) space(max_sol*sizeof(SOLUTION)); + + /* end initialize ------------------------------------------------------- */ + + + while (1) { /* forever, til nothing remains on stack */ + + maxlevel = (Stack->count > maxlevel ? Stack->count : maxlevel); + + if (LST_EMPTY (Stack)) /* we are done! clean up and quit */ + { + /* fprintf(stderr, "maxlevel: %d\n", maxlevel); */ + + lst_kill(Stack, free_state_node); + + SolutionList[n_sol].structure = NULL; /* NULL terminate list */ + + if (subopt_sorted) { + /* sort structures by energy */ + qsort(SolutionList, n_sol, sizeof(SOLUTION), compare); + + if (fp) make_output(SolutionList, fp); + } + + break; + } + + /* pop the last element ---------------------------------------------- */ + + state = pop(Stack); /* current state to work with */ + + if (LST_EMPTY(state->Intervals)) + { + /* state has no intervals left: we got a solution */ + + count++; + structure = get_structure(state); + structure_energy = state->partial_energy / 100.; + +#ifdef CHECK_ENERGY + structure_energy = energy_of_struct(sequence, structure); + + if (!logML) + if ((double) (state->partial_energy / 100.) != structure_energy) { + fprintf(stderr, "%s %6.2f %6.2f\n", structure, + state->partial_energy / 100., structure_energy ); + exit(1); + } +#endif + if (logML || (dangles==1) || (dangles==3)) { /* recalc energy */ + structure_energy = energy_of_struct(sequence, structure); + } + + if (structure_energy>eprint) { + free(structure); + } else { + if (!subopt_sorted && fp) { + /* print and forget */ + fprintf(fp, "%s %6.2f\n", structure, structure_energy); + free(structure); + } + else { + /* store solution */ + if (n_sol+1 == max_sol) { + max_sol *= 2; + SolutionList = (SOLUTION *) + xrealloc(SolutionList, max_sol*sizeof(SOLUTION)); + } + SolutionList[n_sol].energy = structure_energy; + SolutionList[n_sol++].structure = structure; + } + } + } + else { + /* get (and remove) next interval of state to analyze */ + + interval = pop(state->Intervals); + + scan_interval(interval->i, interval->j, interval->array_flag, state); + + free_interval_node(interval); /* free the current interval */ + } + + free_state_node(state); /* free the current state */ + } /* end of while (1) */ + + /* free arrays left over from fold() */ + free(S); free(S1); + free_arrays(); + if (fp) { /* we've printed everything -- free solutions */ + SOLUTION *sol; + for (sol=SolutionList; sol->structure != NULL; sol++) + free(sol->structure); + free(SolutionList); + SolutionList = NULL; + } + + return SolutionList; +} + +/*---------------------------------------------------------------------------*/ +/* Definitions---------------------------------------------------------------*/ +/* these have to identical to defines in fold.c */ +#define NEW_NINIO 1 /* use new asymetry penalty */ +#define STACK_BULGE1 1 /* stacking energies for bulges of size 1 */ +#define MIN2(A, B) ((A) < (B) ? (A) : (B)) + +/*---------------------------------------------------------------------------*/ + +PRIVATE void +scan_interval(int i, int j, int array_flag, STATE * state) +{ + /* real backtrack routine */ + + /* array_flag = 0: trace back in f5-array */ + /* array_flag = 1: trace back in fML-array */ + /* array_flag = 2: trace back in repeat() */ + /* array_flag = 3: trace back in fM1-array */ + + STATE *new_state, *temp_state; + INTERVAL *new_interval; + register int k, fi, cij; + register int type; + + best_energy = best_attainable_energy(state); /* .. on remaining intervals */ + nopush = true; + + if ((i > 1) && (!array_flag)) + nrerror ("Error while backtracking!"); + + if (j < i + TURN + 1) { /* minimal structure element */ + if (nopush) + push_back(state); + return; + } + + /* 13131313131313131313131313131313131313131313131313131313131313131313131 */ + + if (array_flag == 3 || array_flag == 1) { + /* array_flag = 3: interval i,j was generated during */ + /* a multiloop decomposition using array fM1 in repeat() */ + /* or in this block */ + + /* array_flag = 1: interval i,j was generated from a */ + /* stack, bulge, or internal loop in repeat() */ + /* or in this block */ + + if (array_flag == 3) + fi = fM1[indx[j-1] + i] + P->MLbase; + else + fi = fML[indx[j-1] + i] + P->MLbase; + + if (fi + best_energy <= threshold) { + /* no basepair, nibbling of 3'-end */ + + new_state = copy_state(state); + new_interval = make_interval(i, j-1, array_flag); + push(new_state->Intervals, new_interval); + new_state->partial_energy += P->MLbase; + /* new_state->best_energy = fi + best_energy; */ + push(Stack, new_state); + } + + type = ptype[indx[j]+i]; + + if (type) { /* i,j may pair */ + + element_energy = P->MLintern[type]; + + if ( type && dangles ) { /* dangling ends */ + if (i > 1) + element_energy += P->dangle5[type][S1[i-1]]; + if (j < length) + element_energy += P->dangle3[type][S1[j+1]]; + } + + cij = c[indx[j] + i] + element_energy; + if (cij + best_energy <= threshold) + repeat(i, j, state, element_energy, 0); + } + } /* array_flag == 3 || array_flag == 1 */ + + /* 11111111111111111111111111111111111111111111111111111111111111111111111 */ + + if (array_flag == 1) { + /* array_flag = 1: interval i,j was generated from a */ + /* stack, bulge, or internal loop in repeat() */ + /* or in this block */ + + for ( k = i+TURN+1 ; k <= j-1-TURN ; k++) { + /* Multiloop decomposition if i,j contains more than 1 stack */ + + type = ptype[indx[j]+k+1]; + if (type==0) continue; + + element_energy = P->MLintern[type]; + if (dangles) + element_energy += P->dangle3[type][S1[j+1]] + P->dangle5[type][S1[k]]; + + + if (fML[indx[k]+i] + c[indx[j] + k+1] + + element_energy + best_energy <= threshold) { + temp_state = copy_state (state); + new_interval = make_interval (i, k, 1); + push (temp_state->Intervals, new_interval); + repeat(k+1, j, temp_state, element_energy, fML[indx[k]+i]); + free_state_node(temp_state); + } + } + + for (k = i ; k <= j-1-TURN; k++) { + /* Multiloop decomposition if i,j contains only 1 stack */ + type = ptype[indx[j]+k+1]; + if (type==0) continue; + + element_energy = P->MLintern[type] + P->MLbase*(k-i+1); + if (dangles) + element_energy += P->dangle3[type][S1[j+1]] + P->dangle5[type][S1[k]]; + + if (c[indx[j]+k+1] + element_energy + best_energy <= threshold) + repeat(k+1, j, state, element_energy, 0); + } + } /* array_flag == 1 */ + + /* 2222222222222222222222222222222222222222222222222222222222222222222222 */ + + if (array_flag == 2) + { + /* array_flag = 2: interval i,j was generated from a */ + /* stack, bulge, or internal loop in repeat() */ + + repeat(i, j, state, 0, 0); + + if (nopush) + if (!noLonelyPairs) + fprintf(stderr, "Oops, no solution in repeat!\n"); + return; + } + + /* 0000000000000000000000000000000000000000000000000000000000000000000000 */ + + if (array_flag == 0) + { + /* array_flag = 0: interval i,j was found while */ + /* tracing back through f5-array and c-array */ + /* or within this block */ + + if (f5[j-1] + best_energy <= threshold) { + /* no basepair, nibbling of 3'-end */ + + new_state = copy_state(state); + new_interval = make_interval(i, j-1 , 0); + push(new_state->Intervals, new_interval); + /* new_state->best_energy = f5[j-1] + best_energy; */ + push(Stack, new_state); + } + + for (k = j-TURN-1; k > 1; k--) { + + type = ptype[indx[j]+k]; + if (type==0) continue; + + /* k and j pair */ + if (dangles) { + element_energy = P->dangle5[type][S1[k - 1]]; + if (j < length) + element_energy += P->dangle3[type][S1[j+1]]; + } + else /* no dangles */ + element_energy = 0; + + if (type>2) + element_energy += P->TerminalAU; + + if (f5[k-1] + c[indx[j]+k] + element_energy + best_energy <= threshold) + { + temp_state = copy_state(state); + new_interval = make_interval(1, k-1, 0); + push(temp_state->Intervals, new_interval); + repeat(k, j, temp_state, element_energy, f5[k-1]); + free_state_node(temp_state); + } + } + type = ptype[indx[j]+1]; + if (type) { + if (dangles && (j < length)) { + element_energy = P->dangle3[type][S1[j+1]]; + } + else + element_energy = 0; + + if (type>2) + element_energy += P->TerminalAU; + + if (c[indx[j]+1] + element_energy + best_energy <= threshold) + repeat(1, j, state, element_energy, 0); + } + } /* array_flag == 0 */ + + if (nopush) + push_back(state); + return; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void +repeat(int i, int j, STATE * state, int part_energy, int temp_energy) +{ + /* routine to find stacks, bulges, internal loops and multiloops */ + /* within interval closed by basepair i,j */ + + STATE *new_state; + INTERVAL *new_interval; + + register int k, p, q, energy, new; + register int mm; + register int no_close, no_close_2, type, type_2; + int rt; + + no_close_2 = 0; + + type = ptype[indx[j]+i]; + if (type==0) fprintf(stderr, "repeat: Warning: %d %d can't pair\n", i,j); + + no_close = (((type == 3) || (type == 4)) && no_closingGU); + + if (noLonelyPairs) /* always consider the structure with additional stack */ + if ((i+TURN+2Intervals, new_interval); + energy = LoopEnergy(0, 0, type, rtype[type_2], + S1[i+1],S1[j-1],S1[i+1],S1[j-1]); + new_state->partial_energy += part_energy; + new_state->partial_energy += energy; + /* new_state->best_energy = new + best_energy; */ + push(Stack, new_state); + if (i==1 || state->structure[i-2]!='(' || state->structure[j]!=')') + /* adding a stack is the only possible structure */ + return; + } + + best_energy += part_energy; /* energy of current structural element */ + best_energy += temp_energy; /* energy from unpushed interval */ + + for (p = i + 1; p <= MIN2 (j-2-TURN, i+MAXLOOP+1); p++) { + int minq = j-i+p-MAXLOOP-2; + if (minq= minq; q--) { + if ((noLonelyPairs) && (p==i+1) && (q==j-1)) continue; + + type_2 = ptype[indx[q]+p]; + if (type_2==0) continue; + + if (no_closingGU) + if (no_close||(type_2==3)||(type_2==4)) + if ((p>i+1)||(qIntervals, new_interval); + new_state->partial_energy += part_energy; + new_state->partial_energy += energy; + /* new_state->best_energy = new + best_energy; */ + push(Stack, new_state); + } + } /* end of q-loop */ + } /* end of p-loop */ + + mm = P->MLclosing + P->MLintern[type]; + rt = rtype[type]; + + for (k = i + 1 + TURN; k <= j - 1 - TURN; k++) { + /* multiloop decomposition */ + + element_energy = mm; + if (dangles) + element_energy += P->dangle3[rt][S1[i+1]] + P->dangle5[rt][S1[j-1]]; + + if (fML[indx[k] + i+1] + fM1[indx[j-1] + k+1] + + element_energy + best_energy <= threshold) + { + INTERVAL *interval1, *interval2; + + new_state = copy_state(state); + interval1 = make_interval(i+1, k, 1); + interval2 = make_interval(k+1, j-1, 3); + if (k-i+1 < j-k-2) { /* push larger interval first */ + push(new_state->Intervals, interval1); + push(new_state->Intervals, interval2); + } else { + push(new_state->Intervals, interval2); + push(new_state->Intervals, interval1); + } + make_pair(i, j, new_state); + new_state->partial_energy += part_energy; + new_state->partial_energy += element_energy; + /* new_state->best_energy = fML[indx[k] + i+1] + fM1[indx[j-1] + k+1] + + element_energy + best_energy; */ + push(Stack, new_state); + } + } /* end of k-loop */ + + + if (no_close) energy = FORBIDDEN; + else + energy = HairpinE(j-i-1, type, S1[i+1], S1[j-1], sequence+i-1); + + if (energy + best_energy <= threshold) { + /* hairpin structure */ + + new_state = copy_state(state); + make_pair(i, j, new_state); + new_state->partial_energy += part_energy; + new_state->partial_energy += energy; + /* new_state->best_energy = + hairpin[unpaired] + element_energy + best_energy; */ + push(Stack, new_state); + } + + best_energy -= part_energy; + best_energy -= temp_energy; + return; +} + +/*---------------------------------------------------------------------------*/ +/* Well, that is the end!----------------------------------------------------*/ +/*---------------------------------------------------------------------------*/ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/subopt.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/subopt.o new file mode 100755 index 0000000000000000000000000000000000000000..35b4c5791a8f370a75126d80a7a12dccab42aa6f GIT binary patch literal 50096 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 EZ!jWRnE(I) literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/treedist.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/treedist.c new file mode 100755 index 00000000..2473e303 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/treedist.c @@ -0,0 +1,657 @@ +/* + Tree edit distances for RNA secondary structures + Walter Fontana, Ivo L Hofacker, Peter F Stadler + Vienna RNA Package +*/ +/* Last changed Time-stamp: <97/10/27 15:23:48 ivo> */ + +#include +#include +#include +#include +#include "edit_cost.h" +#include "dist_vars.h" +#include "utils.h" +static char rcsid[] = "$Id: treedist.c,v 1.3 1997/11/03 10:39:43 ivo Rel $"; + +#define PRIVATE static +#define PUBLIC + +#define MNODES 4000 /* Maximal number of nodes for alignment */ + +PUBLIC Tree *make_tree(char *struc); +PUBLIC float tree_edit_distance(Tree *T1, Tree *T2); +PUBLIC void print_tree(Tree *t); +PUBLIC void free_tree(Tree *t); + + +PRIVATE void tree_dist(int i, int j); +PRIVATE int edit_cost(int i, int j); +PRIVATE int *make_keyroots(Postorder_list *pl); +PRIVATE void sort(int n, int *ra); +PRIVATE Postorder_list *make_postorder_list(char *struc); +PRIVATE int decode(char *id); +PRIVATE int number_of_nodes(char *struc); +PRIVATE void encode(int type, char *label); +PRIVATE void print_keyroots(int *keyroots); +PRIVATE void print_postorder_list(Postorder_list *pl); +PRIVATE void backtracking(void); +PRIVATE void sprint_aligned_trees(void); + + +PRIVATE Tree *tree1, *tree2; +PRIVATE int **tdist; /* contains distances between subtrees */ +PRIVATE int **fdist; /* contains distances between forests */ +PRIVATE int *alignment[2]; /* contains numeric information on the alignment: + alignment[0][p], aligment[1][p] are aligned postions. + INDELs have one 0. + alignment[0][0] contains the length of the alignment. */ + +/*---------------------------------------------------------------------------*/ + +PUBLIC float tree_edit_distance(Tree *T1, Tree *T2) +{ + int i1,j1,i,j, dist; + int n1, n2; + + if (cost_matrix==0) EditCost = &UsualCost; + else EditCost = &ShapiroCost; + + n1 = T1->postorder_list[0].sons; + n2 = T2->postorder_list[0].sons; + + tdist = (int **) space(sizeof(int *) * (n1+1)); + fdist = (int **) space(sizeof(int *) * (n1+1)); + for (i=0; i<=n1; i++) { + tdist[i] = (int *) space(sizeof(int) * (n2+1)); + fdist[i] = (int *) space(sizeof(int) * (n2+1)); + } + + tree1 = T1; tree2 = T2; + + for (i1 = 1; i1 <= T1->keyroots[0]; i1++) { + i = T1->keyroots[i1]; + for (j1 = 1; j1 <= T2->keyroots[0]; j1++) { + j = T2->keyroots[j1]; + + tree_dist(i,j); + } + } + + if (edit_backtrack) { + + if ((n1>MNODES)||(n2>MNODES)) nrerror("tree too large for alignment"); + + alignment[0] = (int *) space((n1+1)*sizeof(int)); + alignment[1] = (int *) space((n2+1)*sizeof(int)); + + backtracking(); + sprint_aligned_trees(); + free(alignment[0]); + free(alignment[1]); + } + dist = tdist[n1][n2]; + for (i=0; i<=n1; i++) { + free(tdist[i]); + free(fdist[i]); + } + free(tdist); + free(fdist); + + return (float) dist; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void tree_dist(int i, int j) +{ + int li,lj,i1,j1,i1_1,j1_1,li1_1,lj1_1,f1,f2,f3,f; + int cost, lleaf_i1, lleaf_j1; + + fdist[0][0] = 0; + + li = tree1->postorder_list[i].leftmostleaf; + lj = tree2->postorder_list[j].leftmostleaf; + + for (i1 = li; i1 <= i; i1++) { + i1_1 = (li == i1 ? 0 : i1-1); + fdist[i1][0] = fdist[i1_1][0] + edit_cost(i1, 0); + } + + for (j1 = lj; j1 <= j; j1++) { + j1_1 = (lj == j1 ? 0 : j1-1); + fdist[0][j1] = fdist[0][j1_1] + edit_cost(0, j1); + } + + for (i1 = li; i1 <= i; i1++) { + + lleaf_i1 = tree1->postorder_list[i1].leftmostleaf; + li1_1 = (li > lleaf_i1-1 ? 0 : lleaf_i1-1); + i1_1 = (i1 == li ? 0: i1-1); + cost = edit_cost(i1, 0); + + for (j1 = lj; j1 <= j; j1++) { + + lleaf_j1 = tree2->postorder_list[j1].leftmostleaf; + j1_1 = (j1 == lj ? 0: j1-1); + + f1 = fdist[i1_1][j1] + cost; + f2 = fdist[i1][j1_1] + edit_cost(0, j1); + + f = f1 < f2 ? f1 : f2; + + if (lleaf_i1 == li && lleaf_j1 == lj) { + + f3 = fdist[i1_1][j1_1] + edit_cost(i1, j1); + + fdist[i1][j1] = f3 < f ? f3 : f; + + tdist[i1][j1] = fdist[i1][j1]; /* store in array permanently */ + } + else { + lj1_1 = (lj > lleaf_j1-1 ? 0 : lleaf_j1-1); + + f3 = fdist[li1_1][lj1_1] + tdist[i1][j1]; + + fdist[i1][j1] = f3 < f ? f3 : f; + } + } + } +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE int edit_cost(int i, int j) +{ + int c, diff, cd, min, a, b; + + c = (*EditCost)[tree1->postorder_list[i].type][tree2->postorder_list[j].type]; + + diff = abs((a=tree1->postorder_list[i].weight) - (b=tree2->postorder_list[j].weight)); + + min = (a < b ? a: b); + if (min == a) cd = (*EditCost)[0][tree2->postorder_list[j].type]; + else cd = (*EditCost)[0][tree1->postorder_list[i].type]; + + return (c * min + cd * diff); + +} + +/*---------------------------------------------------------------------------*/ + +PUBLIC Tree *make_tree(char *struc) +{ + Tree *tree; + + tree = (Tree *) space(sizeof(Tree)); + + tree->postorder_list = make_postorder_list(struc); + tree->keyroots = make_keyroots(tree->postorder_list); + + return (tree); +} + + +/*---------------------------------------------------------------------------*/ + +PRIVATE int *make_keyroots(Postorder_list *pl) +{ + int i, k, keys; + int *keyroots; + + keyroots = (int *) space(sizeof(int)*(pl[0].sons+1)); + keys = 0; + + for (i = 1; i <= pl[0].sons; i++) { + if (!pl[i].sons) { + + /* leaf */ + + k = pl[0].sons; + while (pl[k].leftmostleaf != i) k--; + keyroots[++keys] = k; + } + } + + sort(keys, keyroots); + keyroots[0] = keys; + + return (keyroots); +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void sort(int n, int *ra) /* heap sort, indices are 1..n !!! */ +{ + int l,j,ir,i; + int rra; + + if (n == 1) return; + + l = (n >> 1)+1; + ir = n; + for (;;) { + if (l > 1) + rra = ra[--l]; + else { + rra = ra[ir]; + ra[ir] = ra[1]; + if (--ir == 1) { + ra[1] = rra; + return; + } + } + i = l; + j = l << 1; + while (j <= ir) { + if (j < ir && ra[j] < ra[j+1]) ++j; + if (rra < ra[j]) { + ra[i] = ra[j]; + j += (i = j); + } + else j = ir+1; + } + ra[i] = rra; + } +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE Postorder_list *make_postorder_list(char *struc) + + /* + Convention for structure representation "struc": + Nodes are one pair of matching parentheses, with the type and possibly + a weight of the node immediately preceding the closing parentheses. + + Types: + + U....unpaired + P....paired + H....hairpin loop + B....bulge loop + I....internal loop + M....multiloop + S....stack + R....virtual root + + Example: + + .((..(((...)))..((..)))). in usual notation becomes: + + full tree: + ((U)(((U)(U)((((U)(U)(U)P)P)P)(U)(U)(((U)(U)P)P)P)P)(U)R) + HIT: + ((U1)((U2)((U3)P3)(U2)((U2)P2)P2)(U1)R) + Shapiro: + (((((H)S)((H)S)M)S)R) + + */ +{ + int paren, i, l, order, local_order, w, sons, count; + int n_nodes, p; + char id[100]; + Postorder_list *pl; + int match_pos[MNODES], match_order[MNODES]; + + + n_nodes = number_of_nodes(struc); + if (n_nodes>MNODES) nrerror("structure too long in make_postorder_list"); + pl = (Postorder_list *) space(sizeof(Postorder_list)*(n_nodes+1)); + pl[0].sons = n_nodes; + + paren = 1; + match_pos[paren] = 0; + match_order[paren] = 0; + + i = 1; + l = 0; + order = 0; + + while (paren) { + switch (struc[i]) { + case '(': + match_pos[++paren] = i; + match_order[paren] = order; + break; + case ')': + order++; + id[l] = '\0'; + l = 0; + while (isalpha((int) id[l])) l++; + if (id[l]) sscanf(id+l, "%d", &w); + else w = 1; + id[l] = '\0'; + pl[order].type = decode(id); + pl[order].weight = w; + pl[order].leftmostleaf = match_order[paren]+1; + + sons = count = 0; + local_order = match_order[paren]; + for (p = match_pos[paren]+1; p < i; p++) { + if (struc[p] == '(') count++; + else if (struc[p] == ')') { + local_order++; + if (count == 1) { + sons++; + pl[local_order].father = order; + } + count--; + } + } + + pl[order].sons = sons; + paren--; + l = 0; + break; + default: + id[l++] = struc[i]; + break; + } + i++; + } + + return (pl); +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE int decode(char *id) +{ + int n, quit, i; + char label[100], *code; + + n = 0; + + quit = 0; + code = coding; + + while (!quit) { + for (i = 0; code[i] != sep; i++) { + if (code[i] == '\0') { + quit = 1; + break; + } + label[i] = code[i]; + } + label[i] = '\0'; + if (strcmp(id, label) == 0) return (n); + code += (i+1); + n++; + } + + fprintf(stderr,"Syntax error: node identifier \"%s\" not found " + "in coding string \"%s\"\n", id, coding); + fprintf(stderr, "Exiting..."); + exit(0); +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void encode(int type, char label[]) +{ + int i, l; + + l = 0; + for (i = 0; i < type; i++) { + while (coding[l] != sep && coding[l]) l++; + l++; + } + + for (i = 0; coding[l+i] != sep; i++) { + if (coding[l+i] == '\0') break; + label[i] = coding[l+i]; + } + label[i] = '\0'; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE int number_of_nodes(char *struc) +{ + int l, c, i; + + l = strlen(struc); + for (c = 0, i = 0; i < l; i++) if (struc[i] == ')') c++; + return (c); +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void print_keyroots(int *keyroots) +{ + int i; + + printf("---> key roots <---\n\n"); + + printf("entries: %d\n", keyroots[0]); + printf("{"); + for (i = 1; i <= keyroots[0]; i++) printf(" %d", keyroots[i]); + printf(" }\n\n"); +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void print_postorder_list(Postorder_list *pl) +{ + register i; + char label[100]; + + printf("---> postorder list <---\n\n"); + + for (i = 1; i <= pl[0].sons; i++) { + printf(" postorder: %3d\n", i); + *label = '\0'; + encode(pl[i].type, label); + printf(" type: %3d (%s)\n", pl[i].type, label); + printf(" weight: %3d\n", pl[i].weight); + printf(" father: %3d\n", pl[i].father); + printf(" sons: %3d\n", pl[i].sons); + printf("leftmost leaf: %3d\n", pl[i].leftmostleaf); + printf("\n"); + } +} + +/*---------------------------------------------------------------------------*/ + +PUBLIC void print_tree(Tree *t) +{ + print_postorder_list(t->postorder_list); + print_keyroots(t->keyroots); + fflush(stdout); +} + +/*---------------------------------------------------------------------------*/ + +PUBLIC void free_tree(Tree *t) +{ + free(t->postorder_list); + free(t->keyroots); + free(t); +} + +/*---------------------------------------------------------------------------*/ + + +PRIVATE void backtracking(void) +{ + int li,lj,i1,j1,i1_1,j1_1,li1_1,lj1_1,f; + int cost, lleaf_i1, lleaf_j1, ss, i,j,k; + struct {int i,j;} sector[MNODES/2]; + + ss=0; + + i=i1=tree1->postorder_list[0].sons; + j=j1=tree2->postorder_list[0].sons; + + start: + li = tree1->postorder_list[i].leftmostleaf; + lj = tree2->postorder_list[j].leftmostleaf; + + + while ((i1>=li)&&(j1>=lj)) { + + lleaf_i1 = tree1->postorder_list[i1].leftmostleaf; + li1_1 = (li > lleaf_i1-1 ? 0 : lleaf_i1-1); + i1_1 = (i1 == li ? 0: i1-1); + lleaf_j1 = tree2->postorder_list[j1].leftmostleaf; + lj1_1 = (lj > lleaf_j1-1 ? 0 : lleaf_j1-1); + j1_1 = (j1 == lj ? 0: j1-1); + + f = fdist[i1][j1]; + + cost = edit_cost(i1, 0); + if (f == fdist[i1_1][j1] + cost) { + alignment[0][i1]=0; + i1=i1_1; + } + else { + if (f == fdist[i1][j1_1] + edit_cost(0, j1)) { + alignment[1][j1]=0; + j1=j1_1; + } + else if (lleaf_i1 == li && lleaf_j1 == lj) { + alignment[0][i1] = j1; + alignment[1][j1] = i1; + i1=i1_1; j1=j1_1; + } else { + sector[ss].i=i1; + sector[ss++].j=j1; + i1=li1_1; + j1=lj1_1; + } + } + } + for (; i1>=li; ) { + alignment[0][i1]=0; + i1 = (i1 == li ? 0: i1-1); + } + for (; j1>=lj; ) { + alignment[1][j1]=0; + j1 = (j1 == lj ? 0: j1-1); + } + while (ss>0) { + i1=sector[--ss].i; + j1=sector[ss].j; + for (k=1; 1; k++) { + i = tree1->keyroots[k]; + if (tree1->postorder_list[i].leftmostleaf == + tree1->postorder_list[i1].leftmostleaf) break; + } + for (k=1; 1; k++) { + j = tree2->keyroots[k]; + if (tree2->postorder_list[j].leftmostleaf == + tree2->postorder_list[j1].leftmostleaf) break; + } + tree_dist(i,j); + goto start; + } +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void sprint_aligned_trees(void) +{ + int i,j,n1,n2,k,l,p, ni, nj, weights; + char t1[2*MNODES+1], t2[2*MNODES+1], a1[8*MNODES], a2[8*MNODES], ll[20], ll1[20]; + + weights=0; + n1=tree1->postorder_list[0].sons; + n2=tree2->postorder_list[0].sons; + for (i=1; i<=n1; i++) weights |= (tree1->postorder_list[i].weight!=1); + for (i=1; i<=n2; i++) weights |= (tree2->postorder_list[i].weight!=1); + + for (i=n1, l=2*n1-1; i>0; i--) { + if (alignment[0][i]!=0) t1[l--]=']'; + else t1[l--]=')'; + p=i; + while(i==tree1->postorder_list[p].leftmostleaf) { + if (alignment[0][p]!=0) t1[l--]='['; + else t1[l--]='('; + p=tree1->postorder_list[p].father; + } + } + t1[2*n1]='\0'; + for (j=n2, l=2*n2-1; j>0; j--) { + if (alignment[1][j]!=0) t2[l--]=']'; + else t2[l--]=')'; + p=j; + while(j==tree2->postorder_list[p].leftmostleaf) { + if (alignment[1][p]!=0) t2[l--]='['; + else t2[l--]='('; + p=tree2->postorder_list[p].father; + } + } + t2[2*n2]='\0'; + + ni=nj=l=i=j=0; + while (t1[i]||t2[j]) { + while ((t1[i]=='(')||(t1[i]==')')) { + if (t1[i]==')') { + ni++; + encode(tree1->postorder_list[ni].type, ll); + if (weights) + sprintf(ll+strlen(ll), "%d", tree1->postorder_list[ni].weight); + for (k=0; k< strlen(ll); k++) { + a1[l]=ll[k]; + a2[l++]='_'; + } + a1[l]=')'; a2[l++]='_'; + } else { + a1[l] = t1[i]; + a2[l++] ='_'; + } + i++; + } + + while ((t2[j]=='(')||(t2[j]==')')) { + if (t2[j]==')') { + nj++; + encode(tree2->postorder_list[nj].type, ll); + if (weights) + sprintf(ll+strlen(ll), "%d", tree2->postorder_list[nj].weight); + for (k=0; k< strlen(ll); k++) { + a2[l]=ll[k]; + a1[l++]='_'; + } + a2[l]=')'; a1[l++]='_'; + } else { + a2[l] = t2[j]; + a1[l++] ='_'; + } + j++; + } + + if (t2[j]==']') { + ni++; nj++; + encode(tree2->postorder_list[nj].type, ll); + if (weights) + sprintf(ll+strlen(ll), "%d", tree2->postorder_list[nj].weight); + encode(tree1->postorder_list[ni].type, ll1); + if (weights) + sprintf(ll1+strlen(ll1), "%d", tree1->postorder_list[ni].weight); + if (strlen(ll)>strlen(ll1)) + for (k=0; k8*MNODES) nrerror("structure too long in sprint_aligned_trees"); + if (aligned_line[0]!= NULL) free(aligned_line[0]); + if (aligned_line[1]!= NULL) free(aligned_line[1]); + aligned_line[0] = (char *) space((l+1)*sizeof(char)); + aligned_line[1] = (char *) space((l+1)*sizeof(char)); + strcpy(aligned_line[0], a1); + strcpy(aligned_line[1], a2); +} + +/*---------------------------------------------------------------------------*/ diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/treedist.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/treedist.o new file mode 100755 index 0000000000000000000000000000000000000000..098b5dbebddb959bf7fcd4ff0f26616cc15cc67a GIT binary patch literal 46336 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/utils.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/utils.c new file mode 100755 index 00000000..4f24e630 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/utils.c @@ -0,0 +1,332 @@ +/* + utils.c + + c Ivo L Hofacker and Walter Fontana + Vienna RNA package +*/ +/* Last changed Time-stamp: <2002-11-07 11:34:11 ivo> */ + +#include +#include +#include +#include +#include +#include "../config.h" +#ifdef WITH_DMALLOC +#include "dmalloc.h" +#endif +/*@unused@*/ +static char rcsid[] = "$Id: utils.c,v 1.15 2005/02/10 09:59:25 ivo Exp $"; + +#define PRIVATE static +#define PUBLIC + +/*@notnull@ @only@*/ +PUBLIC void *space(unsigned int size); +/*@exits@*/ +PUBLIC void nrerror(const char message[]); +PUBLIC double urn(void); +PUBLIC int int_urn(int from, int to); +PUBLIC void filecopy(FILE *from, FILE *to); +/*@observer@*/ +PUBLIC char *time_stamp(void); +PUBLIC char *random_string(int l, const char symbols[]); +PUBLIC int hamming(const char *s1, const char *s2); +PUBLIC char *get_line(FILE *fp); + +PUBLIC unsigned short xsubi[3]; + +/*-------------------------------------------------------------------------*/ + +PUBLIC void *space(unsigned size) { + void *pointer; + + if ( (pointer = (void *) calloc(1, (size_t) size)) == NULL) { +#ifdef EINVAL + if (errno==EINVAL) { + fprintf(stderr,"SPACE: requested size: %d\n", size); + nrerror("SPACE allocation failure -> EINVAL"); + } + if (errno==ENOMEM) +#endif + nrerror("SPACE allocation failure -> no memory"); + } + return pointer; +} + +#ifdef WITH_DMALLOC +#define space(S) calloc(1,(S)) +#endif + +#undef xrealloc +/* dmalloc.h #define's xrealloc */ +void *xrealloc (void *p, unsigned size) { + if (p == 0) + return space(size); + p = (void *) realloc(p, size); + if (p == NULL) { +#ifdef EINVAL + if (errno==EINVAL) { + fprintf(stderr,"xrealloc: requested size: %d\n", size); + nrerror("xrealloc allocation failure -> EINVAL"); + } + if (errno==ENOMEM) +#endif + nrerror("xrealloc allocation failure -> no memory"); + } + return p; +} + +/*------------------------------------------------------------------------*/ + +PUBLIC void nrerror(const char message[]) /* output message upon error */ +{ + fprintf(stderr, "\n%s\n", message); + exit(EXIT_FAILURE); +} + +/*------------------------------------------------------------------------*/ +PUBLIC void init_rand(void) +{ + time_t t; + (void) time(&t); + xsubi[0] = xsubi[1] = xsubi[2] = (unsigned short) t; /* lower 16 bit */ + xsubi[1] += (unsigned short) ((unsigned)t >> 6); + xsubi[2] += (unsigned short) ((unsigned)t >> 12); +#ifndef HAVE_ERAND48 + srand((unsigned int) t); +#endif +} + +/*------------------------------------------------------------------------*/ + +PUBLIC double urn(void) + /* uniform random number generator; urn() is in [0,1] */ + /* uses a linear congruential library routine */ + /* 48 bit arithmetic */ +{ +#ifdef HAVE_ERAND48 + extern double erand48(unsigned short[]); + return erand48(xsubi); +#else + return ((double) rand())/RAND_MAX; +#endif +} + +/*------------------------------------------------------------------------*/ + +PUBLIC int int_urn(int from, int to) +{ + return ( ( (int) (urn()*(to-from+1)) ) + from ); +} + +/*------------------------------------------------------------------------*/ + +PUBLIC void filecopy(FILE *from, FILE *to) +{ + int c; + + while ((c = getc(from)) != EOF) (void)putc(c, to); +} + +/*-----------------------------------------------------------------*/ + +PUBLIC char *time_stamp(void) +{ + time_t cal_time; + + cal_time = time(NULL); + return ( ctime(&cal_time) ); +} + +/*-----------------------------------------------------------------*/ + +PUBLIC char *random_string(int l, const char symbols[]) +{ + char *r; + int i, rn, base; + + base = (int) strlen(symbols); + r = (char *) space(sizeof(char)*(l+1)); + + for (i = 0; i < l; i++) { + rn = (int) (urn()*base); /* [0, base-1] */ + r[i] = symbols[rn]; + } + r[l] = '\0'; + return r; +} + +/*-----------------------------------------------------------------*/ + +PUBLIC int hamming(const char *s1, const char *s2) +{ + int h=0; + + for (; *s1 && *s2; s1++, s2++) + if (*s1 != *s2) h++; + return h; +} +/*-----------------------------------------------------------------*/ + +PUBLIC char *get_line(FILE *fp) /* reads lines of arbitrary length from fp */ +{ + char s[512], *line, *cp; + + line = NULL; + do { + if (fgets(s, 512, fp)==NULL) break; + cp = strchr(s, '\n'); + if (cp != NULL) *cp = '\0'; + if (line==NULL) + line = space(strlen(s)+1); + else + line = (char *) xrealloc(line, strlen(s)+strlen(line)+1); + strcat(line, s); + } while(cp==NULL); + + return line; +} + +/*-----------------------------------------------------------------*/ + +PUBLIC char *pack_structure(const char *struc) { + /* 5:1 compression using base 3 encoding */ + int i,j,l,pi; + unsigned char *packed; + + l = (int) strlen(struc); + packed = (unsigned char *) space(((l+4)/5+1)*sizeof(unsigned char)); + + j=i=pi=0; + while (i=0; k--) { + c = p % 3; + p /= 3; + struc[j+k] = code[c]; + } + j += 5; + } + struc[j--] = '\0'; + while (struc[j] == '(') /* strip trailing ( */ + struc[j--] = '\0'; + + return struc; +} + +/*--------------------------------------------------------------------------*/ + +PUBLIC short *make_pair_table(const char *structure) +{ + /* returns array representation of structure. + table[i] is 0 if unpaired or j if (i.j) pair. */ + short i,j,hx; + short length; + short *stack; + short *table; + + length = (short) strlen(structure); + stack = (short *) space(sizeof(short)*(length+1)); + table = (short *) space(sizeof(short)*(length+2)); + table[0] = length; + + for (hx=0, i=1; i<=length; i++) { + switch (structure[i-1]) { + case '(': + stack[hx++]=i; + break; + case ')': + j = stack[--hx]; + if (hx<0) { + fprintf(stderr, "%s\n", structure); + nrerror("unbalanced brackets in make_pair_table"); + } + table[i]=j; + table[j]=i; + break; + default: /* unpaired base, usually '.' */ + table[i]= 0; + break; + } + } + if (hx!=0) { + fprintf(stderr, "%s\n", structure); + nrerror("unbalanced brackets in make_pair_table"); + } + free(stack); + return(table); +} + +/*---------------------------------------------------------------------------*/ + +PUBLIC int bp_distance(const char *str1, const char *str2) +{ + /* dist = {number of base pairs in one structure but not in the other} */ + /* same as edit distance with pair_open pair_close as move set */ + int dist; + short i,l; + short *t1, *t2; + + dist = 0; + t1 = make_pair_table(str1); + t2 = make_pair_table(str2); + + l = (t1[0]i) dist++; + if (t2[i]>i) dist++; + } + free(t1); free(t2); + return dist; +} + +#ifndef HAVE_STRDUP +char *strdup(const char *s) { + char *dup; + + dup = space(strlen(s)+1); + strcpy(dup, s); + return(dup); +} +#endif diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/utils.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/utils.o new file mode 100755 index 0000000000000000000000000000000000000000..e3a998cbcaedabb3924276274e07807df26f2350 GIT binary patch literal 22968 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/Makefile b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/Makefile new file mode 100755 index 00000000..8f384841 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/Makefile @@ -0,0 +1,539 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# man/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + +srcdir = . +top_srcdir = .. + +pkgdatadir = $(datadir)/ViennaRNA +pkglibdir = $(libdir)/ViennaRNA +pkgincludedir = $(includedir)/ViennaRNA +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = /usr/bin/install -c +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-unknown-linux-gnu +host_triplet = x86_64-unknown-linux-gnu +subdir = man +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/RNALfold.1.in $(srcdir)/RNAalifold.1.in \ + $(srcdir)/RNAcofold.1.in $(srcdir)/RNAdistance.1.in \ + $(srcdir)/RNAduplex.1.in $(srcdir)/RNAeval.1.in \ + $(srcdir)/RNAfold.1.in $(srcdir)/RNAheat.1.in \ + $(srcdir)/RNAinverse.1.in $(srcdir)/RNApdist.1.in \ + $(srcdir)/RNAplfold.1.in $(srcdir)/RNAplot.1.in \ + $(srcdir)/RNAsubopt.1.in texinfo.tex +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = RNAheat.1 RNAsubopt.1 RNAdistance.1 RNAinverse.1 \ + RNAeval.1 RNAfold.1 RNApdist.1 RNAplot.1 RNALfold.1 \ + RNAalifold.1 RNAduplex.1 RNAcofold.1 RNAplfold.1 +SOURCES = +DIST_SOURCES = +INFO_DEPS = $(srcdir)/RNAlib.info +am__TEXINFO_TEX_DIR = $(srcdir) +DVIS = RNAlib.dvi +PDFS = RNAlib.pdf +PSS = RNAlib.ps +HTMLS = RNAlib.html +TEXINFOS = RNAlib.texinfo +TEXI2DVI = texi2dvi +TEXI2PDF = $(TEXI2DVI) --pdf --batch +MAKEINFOHTML = $(MAKEINFO) --html +AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) +DVIPS = dvips +am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" +man1dir = $(mandir)/man1 +NROFF = nroff +MANS = $(man_MANS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run aclocal-1.9 +AMDEP_FALSE = # +AMDEP_TRUE = +AMTAR = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run tar +AUTOCONF = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoconf +AUTOHEADER = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run autoheader +AUTOMAKE = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run automake-1.9 +AWK = gawk +CC = gcc +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CPP = gcc -E +CPPFLAGS = +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = grep -E +EXEEXT = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s +ISODATE = 2006-06-13 +LDFLAGS = +LIBOBJS = +LIBS = +LTLIBOBJS = +MAKEINFO = ${SHELL} /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/missing --run makeinfo +MAKE_CLUSTER_FALSE = +MAKE_CLUSTER_TRUE = # +MAKE_FORESTER_FALSE = # +MAKE_FORESTER_TRUE = +MAKE_KINFOLD_FALSE = # +MAKE_KINFOLD_TRUE = +MAKE_PERL_EXT_FALSE = # +MAKE_PERL_EXT_TRUE = +OBJEXT = o +PACKAGE = ViennaRNA +PACKAGE_BUGREPORT = rna@tbi.univie.ac.at +PACKAGE_NAME = ViennaRNA +PACKAGE_STRING = ViennaRNA 1.6 +PACKAGE_TARNAME = ViennaRNA +PACKAGE_VERSION = 1.6 +PATH_SEPARATOR = : +PerlCmd = /usr/bin/perl +RANLIB = ranlib +SET_MAKE = +SHELL = /bin/sh +STRIP = +VERSION = 1.6 +ac_ct_CC = gcc +ac_ct_RANLIB = ranlib +ac_ct_STRIP = +am__fastdepCC_FALSE = # +am__fastdepCC_TRUE = +am__include = include +am__leading_dot = . +am__quote = +am__tar = ${AMTAR} chof - "$$tardir" +am__untar = ${AMTAR} xf - +bindir = ${exec_prefix}/bin +build = x86_64-unknown-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = unknown +datadir = ${prefix}/share +exec_prefix = ${prefix} +host = x86_64-unknown-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = unknown +includedir = ${prefix}/include +infodir = ${prefix}/info +install_sh = /home/rabani/Genie/Bin/ViennaRNA/ViennaRNA-1.6/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localstatedir = ${prefix}/var +mandir = ${prefix}/man +mkdir_p = mkdir -p -- +oldincludedir = /usr/include +prefix = /usr/local +program_transform_name = s,x,x, +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +subdirs = RNAforester Kinfold +sysconfdir = ${prefix}/etc +target_alias = +info_TEXINFOS = RNAlib.texinfo +man_MANS = RNAheat.1 RNAsubopt.1 RNAdistance.1 RNAinverse.1 RNAcofold.1 \ + RNAeval.1 RNAfold.1 RNApdist.1 RNAplot.1 RNAalifold.1 \ + RNALfold.1 RNAduplex.1 RNAplfold.1 + +EXTRA_DIST = $(man_MANS) +all: all-am + +.SUFFIXES: +.SUFFIXES: .dvi .html .info .pdf .ps .texinfo +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +RNAheat.1: $(top_builddir)/config.status $(srcdir)/RNAheat.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAsubopt.1: $(top_builddir)/config.status $(srcdir)/RNAsubopt.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAdistance.1: $(top_builddir)/config.status $(srcdir)/RNAdistance.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAinverse.1: $(top_builddir)/config.status $(srcdir)/RNAinverse.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAeval.1: $(top_builddir)/config.status $(srcdir)/RNAeval.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAfold.1: $(top_builddir)/config.status $(srcdir)/RNAfold.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNApdist.1: $(top_builddir)/config.status $(srcdir)/RNApdist.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAplot.1: $(top_builddir)/config.status $(srcdir)/RNAplot.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNALfold.1: $(top_builddir)/config.status $(srcdir)/RNALfold.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAalifold.1: $(top_builddir)/config.status $(srcdir)/RNAalifold.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAduplex.1: $(top_builddir)/config.status $(srcdir)/RNAduplex.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAcofold.1: $(top_builddir)/config.status $(srcdir)/RNAcofold.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAplfold.1: $(top_builddir)/config.status $(srcdir)/RNAplfold.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + +.texinfo.info: + restore=: && backupdir="$(am__leading_dot)am$$$$" && \ + am__cwd=`pwd` && cd $(srcdir) && \ + rm -rf $$backupdir && mkdir $$backupdir && \ + for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ + if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ + done; \ + cd "$$am__cwd"; \ + if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ + -o $@ $<; \ + then \ + rc=0; \ + cd $(srcdir); \ + else \ + rc=$$?; \ + cd $(srcdir) && \ + $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ + fi; \ + rm -rf $$backupdir; exit $$rc + +.texinfo.dvi: + TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ + $(TEXI2DVI) $< + +.texinfo.pdf: + TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ + $(TEXI2PDF) $< + +.texinfo.html: + rm -rf $(@:.html=.htp) + if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ + -o $(@:.html=.htp) $<; \ + then \ + rm -rf $@; \ + if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ + mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \ + else \ + if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ + rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \ + exit 1; \ + fi +$(srcdir)/RNAlib.info: RNAlib.texinfo +RNAlib.dvi: RNAlib.texinfo +RNAlib.pdf: RNAlib.texinfo +RNAlib.html: RNAlib.texinfo +.dvi.ps: + $(DVIPS) -o $@ $< + +uninstall-info-am: + @$(PRE_UNINSTALL) + @if (install-info --version && \ + install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ + install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ + done; \ + else :; fi + @$(NORMAL_UNINSTALL) + @list='$(INFO_DEPS)'; \ + for file in $$list; do \ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ + (if cd "$(DESTDIR)$(infodir)"; then \ + echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ + rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ + else :; fi); \ + done + +dist-info: $(INFO_DEPS) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + list='$(INFO_DEPS)'; \ + for base in $$list; do \ + case $$base in \ + $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ + esac; \ + if test -f $$base; then d=.; else d=$(srcdir); fi; \ + for file in $$d/$$base*; do \ + relfile=`expr "$$file" : "$$d/\(.*\)"`; \ + test -f $(distdir)/$$relfile || \ + cp -p $$file $(distdir)/$$relfile; \ + done; \ + done + +mostlyclean-aminfo: + -rm -rf RNAlib.aux RNAlib.cp RNAlib.cps RNAlib.fn RNAlib.fns RNAlib.ky \ + RNAlib.kys RNAlib.log RNAlib.pg RNAlib.pgs RNAlib.tmp \ + RNAlib.toc RNAlib.tp RNAlib.tps RNAlib.vr RNAlib.vrs \ + RNAlib.dvi RNAlib.pdf RNAlib.ps RNAlib.html + +maintainer-clean-aminfo: + @list='$(INFO_DEPS)'; for i in $$list; do \ + i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \ + echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ + rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ + done +install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)" + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ + done +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ + rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-info +check-am: all-am +check: check-am +all-am: Makefile $(INFO_DEPS) $(MANS) +installdirs: + for dir in "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: $(DVIS) + +html: html-am + +html-am: $(HTMLS) + +info: info-am + +info-am: $(INFO_DEPS) + +install-data-am: install-info-am install-man + +install-exec-am: + +install-info: install-info-am + +install-info-am: $(INFO_DEPS) + @$(NORMAL_INSTALL) + test -z "$(infodir)" || $(mkdir_p) "$(DESTDIR)$(infodir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + esac; \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ + for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ + $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ + if test -f $$ifile; then \ + relfile=`echo "$$ifile" | sed 's|^.*/||'`; \ + echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \ + $(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \ + else : ; fi; \ + done; \ + done + @$(POST_INSTALL) + @if (install-info --version && \ + install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\ + install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\ + done; \ + else : ; fi +install-man: install-man1 + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-aminfo \ + maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-aminfo mostlyclean-generic + +pdf: pdf-am + +pdf-am: $(PDFS) + +ps: ps-am + +ps-am: $(PSS) + +uninstall-am: uninstall-info-am uninstall-man + +uninstall-man: uninstall-man1 + +.PHONY: all all-am check check-am clean clean-generic dist-info \ + distclean distclean-generic distdir dvi dvi-am html html-am \ + info info-am install install-am install-data install-data-am \ + install-exec install-exec-am install-info install-info-am \ + install-man install-man1 install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-aminfo maintainer-clean-generic mostlyclean \ + mostlyclean-aminfo mostlyclean-generic pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-info-am uninstall-man \ + uninstall-man1 + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/Makefile.am b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/Makefile.am new file mode 100755 index 00000000..13a754c7 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/Makefile.am @@ -0,0 +1,7 @@ +info_TEXINFOS = RNAlib.texinfo + +man_MANS = RNAheat.1 RNAsubopt.1 RNAdistance.1 RNAinverse.1 RNAcofold.1 \ + RNAeval.1 RNAfold.1 RNApdist.1 RNAplot.1 RNAalifold.1 \ + RNALfold.1 RNAduplex.1 RNAplfold.1 + +EXTRA_DIST = $(man_MANS) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/Makefile.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/Makefile.in new file mode 100755 index 00000000..a9aaff7d --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/Makefile.in @@ -0,0 +1,539 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = .. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = man +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(srcdir)/RNALfold.1.in $(srcdir)/RNAalifold.1.in \ + $(srcdir)/RNAcofold.1.in $(srcdir)/RNAdistance.1.in \ + $(srcdir)/RNAduplex.1.in $(srcdir)/RNAeval.1.in \ + $(srcdir)/RNAfold.1.in $(srcdir)/RNAheat.1.in \ + $(srcdir)/RNAinverse.1.in $(srcdir)/RNApdist.1.in \ + $(srcdir)/RNAplfold.1.in $(srcdir)/RNAplot.1.in \ + $(srcdir)/RNAsubopt.1.in texinfo.tex +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = RNAheat.1 RNAsubopt.1 RNAdistance.1 RNAinverse.1 \ + RNAeval.1 RNAfold.1 RNApdist.1 RNAplot.1 RNALfold.1 \ + RNAalifold.1 RNAduplex.1 RNAcofold.1 RNAplfold.1 +SOURCES = +DIST_SOURCES = +INFO_DEPS = $(srcdir)/RNAlib.info +am__TEXINFO_TEX_DIR = $(srcdir) +DVIS = RNAlib.dvi +PDFS = RNAlib.pdf +PSS = RNAlib.ps +HTMLS = RNAlib.html +TEXINFOS = RNAlib.texinfo +TEXI2DVI = texi2dvi +TEXI2PDF = $(TEXI2DVI) --pdf --batch +MAKEINFOHTML = $(MAKEINFO) --html +AM_MAKEINFOHTMLFLAGS = $(AM_MAKEINFOFLAGS) +DVIPS = dvips +am__installdirs = "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)" +man1dir = $(mandir)/man1 +NROFF = nroff +MANS = $(man_MANS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +ISODATE = @ISODATE@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKE_CLUSTER_FALSE = @MAKE_CLUSTER_FALSE@ +MAKE_CLUSTER_TRUE = @MAKE_CLUSTER_TRUE@ +MAKE_FORESTER_FALSE = @MAKE_FORESTER_FALSE@ +MAKE_FORESTER_TRUE = @MAKE_FORESTER_TRUE@ +MAKE_KINFOLD_FALSE = @MAKE_KINFOLD_FALSE@ +MAKE_KINFOLD_TRUE = @MAKE_KINFOLD_TRUE@ +MAKE_PERL_EXT_FALSE = @MAKE_PERL_EXT_FALSE@ +MAKE_PERL_EXT_TRUE = @MAKE_PERL_EXT_TRUE@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PerlCmd = @PerlCmd@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +subdirs = @subdirs@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +info_TEXINFOS = RNAlib.texinfo +man_MANS = RNAheat.1 RNAsubopt.1 RNAdistance.1 RNAinverse.1 RNAcofold.1 \ + RNAeval.1 RNAfold.1 RNApdist.1 RNAplot.1 RNAalifold.1 \ + RNALfold.1 RNAduplex.1 RNAplfold.1 + +EXTRA_DIST = $(man_MANS) +all: all-am + +.SUFFIXES: +.SUFFIXES: .dvi .html .info .pdf .ps .texinfo +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu man/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu man/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +RNAheat.1: $(top_builddir)/config.status $(srcdir)/RNAheat.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAsubopt.1: $(top_builddir)/config.status $(srcdir)/RNAsubopt.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAdistance.1: $(top_builddir)/config.status $(srcdir)/RNAdistance.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAinverse.1: $(top_builddir)/config.status $(srcdir)/RNAinverse.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAeval.1: $(top_builddir)/config.status $(srcdir)/RNAeval.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAfold.1: $(top_builddir)/config.status $(srcdir)/RNAfold.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNApdist.1: $(top_builddir)/config.status $(srcdir)/RNApdist.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAplot.1: $(top_builddir)/config.status $(srcdir)/RNAplot.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNALfold.1: $(top_builddir)/config.status $(srcdir)/RNALfold.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAalifold.1: $(top_builddir)/config.status $(srcdir)/RNAalifold.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAduplex.1: $(top_builddir)/config.status $(srcdir)/RNAduplex.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAcofold.1: $(top_builddir)/config.status $(srcdir)/RNAcofold.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ +RNAplfold.1: $(top_builddir)/config.status $(srcdir)/RNAplfold.1.in + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ + +.texinfo.info: + restore=: && backupdir="$(am__leading_dot)am$$$$" && \ + am__cwd=`pwd` && cd $(srcdir) && \ + rm -rf $$backupdir && mkdir $$backupdir && \ + for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \ + if test -f $$f; then mv $$f $$backupdir; restore=mv; else :; fi; \ + done; \ + cd "$$am__cwd"; \ + if $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ + -o $@ $<; \ + then \ + rc=0; \ + cd $(srcdir); \ + else \ + rc=$$?; \ + cd $(srcdir) && \ + $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \ + fi; \ + rm -rf $$backupdir; exit $$rc + +.texinfo.dvi: + TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ + $(TEXI2DVI) $< + +.texinfo.pdf: + TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \ + MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \ + $(TEXI2PDF) $< + +.texinfo.html: + rm -rf $(@:.html=.htp) + if $(MAKEINFOHTML) $(AM_MAKEINFOHTMLFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) \ + -o $(@:.html=.htp) $<; \ + then \ + rm -rf $@; \ + if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ + mv $(@:.html=) $@; else mv $(@:.html=.htp) $@; fi; \ + else \ + if test ! -d $(@:.html=.htp) && test -d $(@:.html=); then \ + rm -rf $(@:.html=); else rm -Rf $(@:.html=.htp) $@; fi; \ + exit 1; \ + fi +$(srcdir)/RNAlib.info: RNAlib.texinfo +RNAlib.dvi: RNAlib.texinfo +RNAlib.pdf: RNAlib.texinfo +RNAlib.html: RNAlib.texinfo +.dvi.ps: + $(DVIPS) -o $@ $< + +uninstall-info-am: + @$(PRE_UNINSTALL) + @if (install-info --version && \ + install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \ + install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \ + done; \ + else :; fi + @$(NORMAL_UNINSTALL) + @list='$(INFO_DEPS)'; \ + for file in $$list; do \ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + relfile_i=`echo "$$relfile" | sed 's|\.info$$||;s|$$|.i|'`; \ + (if cd "$(DESTDIR)$(infodir)"; then \ + echo " cd '$(DESTDIR)$(infodir)' && rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]"; \ + rm -f $$relfile $$relfile-[0-9] $$relfile-[0-9][0-9] $$relfile_i[0-9] $$relfile_i[0-9][0-9]; \ + else :; fi); \ + done + +dist-info: $(INFO_DEPS) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + list='$(INFO_DEPS)'; \ + for base in $$list; do \ + case $$base in \ + $(srcdir)/*) base=`echo "$$base" | sed "s|^$$srcdirstrip/||"`;; \ + esac; \ + if test -f $$base; then d=.; else d=$(srcdir); fi; \ + for file in $$d/$$base*; do \ + relfile=`expr "$$file" : "$$d/\(.*\)"`; \ + test -f $(distdir)/$$relfile || \ + cp -p $$file $(distdir)/$$relfile; \ + done; \ + done + +mostlyclean-aminfo: + -rm -rf RNAlib.aux RNAlib.cp RNAlib.cps RNAlib.fn RNAlib.fns RNAlib.ky \ + RNAlib.kys RNAlib.log RNAlib.pg RNAlib.pgs RNAlib.tmp \ + RNAlib.toc RNAlib.tp RNAlib.tps RNAlib.vr RNAlib.vrs \ + RNAlib.dvi RNAlib.pdf RNAlib.ps RNAlib.html + +maintainer-clean-aminfo: + @list='$(INFO_DEPS)'; for i in $$list; do \ + i_i=`echo "$$i" | sed 's|\.info$$||;s|$$|.i|'`; \ + echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \ + rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \ + done +install-man1: $(man1_MANS) $(man_MANS) + @$(NORMAL_INSTALL) + test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(man1dir)" + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ + else file=$$i; fi; \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ + $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ + done +uninstall-man1: + @$(NORMAL_UNINSTALL) + @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ + l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ + for i in $$l2; do \ + case "$$i" in \ + *.1*) list="$$list $$i" ;; \ + esac; \ + done; \ + for i in $$list; do \ + ext=`echo $$i | sed -e 's/^.*\\.//'`; \ + case "$$ext" in \ + 1*) ;; \ + *) ext='1' ;; \ + esac; \ + inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ + inst=`echo $$inst | sed -e 's/^.*\///'`; \ + inst=`echo $$inst | sed '$(transform)'`.$$ext; \ + echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ + rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ + done +tags: TAGS +TAGS: + +ctags: CTAGS +CTAGS: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-info +check-am: all-am +check: check-am +all-am: Makefile $(INFO_DEPS) $(MANS) +installdirs: + for dir in "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: $(DVIS) + +html: html-am + +html-am: $(HTMLS) + +info: info-am + +info-am: $(INFO_DEPS) + +install-data-am: install-info-am install-man + +install-exec-am: + +install-info: install-info-am + +install-info-am: $(INFO_DEPS) + @$(NORMAL_INSTALL) + test -z "$(infodir)" || $(mkdir_p) "$(DESTDIR)$(infodir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + esac; \ + if test -f $$file; then d=.; else d=$(srcdir); fi; \ + file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \ + for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \ + $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \ + if test -f $$ifile; then \ + relfile=`echo "$$ifile" | sed 's|^.*/||'`; \ + echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \ + $(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \ + else : ; fi; \ + done; \ + done + @$(POST_INSTALL) + @if (install-info --version && \ + install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \ + list='$(INFO_DEPS)'; \ + for file in $$list; do \ + relfile=`echo "$$file" | sed 's|^.*/||'`; \ + echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\ + install-info --info-dir="$(DESTDIR)$(infodir)" "$(DESTDIR)$(infodir)/$$relfile" || :;\ + done; \ + else : ; fi +install-man: install-man1 + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-aminfo \ + maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-aminfo mostlyclean-generic + +pdf: pdf-am + +pdf-am: $(PDFS) + +ps: ps-am + +ps-am: $(PSS) + +uninstall-am: uninstall-info-am uninstall-man + +uninstall-man: uninstall-man1 + +.PHONY: all all-am check check-am clean clean-generic dist-info \ + distclean distclean-generic distdir dvi dvi-am html html-am \ + info info-am install install-am install-data install-data-am \ + install-exec install-exec-am install-info install-info-am \ + install-man install-man1 install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-aminfo maintainer-clean-generic mostlyclean \ + mostlyclean-aminfo mostlyclean-generic pdf pdf-am ps ps-am \ + uninstall uninstall-am uninstall-info-am uninstall-man \ + uninstall-man1 + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNALfold.1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNALfold.1 new file mode 100755 index 00000000..8b724b24 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNALfold.1 @@ -0,0 +1,41 @@ +.\" .ER +.TH "RNALFOLD" "l" "1.5" "Ivo Hofacker" "ViennaRNA" +.SH "NAME" +RNALfold \- calculate locally stable secondary structures of RNAs +.SH "SYNOPSIS" +\fBRNALfold\fP [\-L span] [\-T\ \fItemp\fP] [\-4] [\-noLP] [\-noGU] [\-noCloseGU] [\-e\ \fI1|2\fP] [\-P\ \fIparamfile\fP] [\-nsp\ \fIpairs\fP] + +.SH "DESCRIPTION" +.I RNALfold +computes locally stable RNA secondary structure with a maximal base pair +span. For a sequence of length n and a base pair span of L the +algorithm uses only O(n+L*L) memory and O(n*L*L) CPU time. Thus it is +practical to "scan" very large genomes for short RNA structures. + +Output consists of a list of secondary structure components of size <= +L, one entry per line. Each output line contains the predicted local +structure its energy in kcal/mol and the starting position of the +local structure. + +.SH "OPTIONS" +.TP +.B \-L span +Set the maximum allowed separation of a base pair to span. I.e. no +pairs (i,j) with j\-i>span will be allowed. +.PP +The \fB\-T\fP, \fB\-d\fP \fB\-4\fP, \fB\-noGU\fP, \fB\-noCloseGU\fP, +\fB\-e\fP, \fB\-P\fP, \fB\-nsp\fP, options work as in +RNAfold. Most tests were done using "\-d2 \-noLP", other dangling end +settings may still be buggy. + +.SH "REFERENCES" +I.L. Hofacker, B. Priwitzer, and P.F. Stadler +"Prediction of Locally Stable RNA Secondary Structures for Genome\-Wide +Surveys" +Bioinformatics, 20, 186\-190 (2004) +.SH "VERSION" +This man page documents version 1.6 Vienna RNA Package. +.SH "AUTHORS" +Ivo L Hofacker, Peter F Stadler. +.br +Send comments to diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNALfold.1.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNALfold.1.in new file mode 100755 index 00000000..ef9b89a6 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNALfold.1.in @@ -0,0 +1,41 @@ +.\" .ER +.TH "RNALFOLD" "l" "1.5" "Ivo Hofacker" "ViennaRNA" +.SH "NAME" +RNALfold \- calculate locally stable secondary structures of RNAs +.SH "SYNOPSIS" +\fBRNALfold\fP [\-L span] [\-T\ \fItemp\fP] [\-4] [\-noLP] [\-noGU] [\-noCloseGU] [\-e\ \fI1|2\fP] [\-P\ \fIparamfile\fP] [\-nsp\ \fIpairs\fP] + +.SH "DESCRIPTION" +.I RNALfold +computes locally stable RNA secondary structure with a maximal base pair +span. For a sequence of length n and a base pair span of L the +algorithm uses only O(n+L*L) memory and O(n*L*L) CPU time. Thus it is +practical to "scan" very large genomes for short RNA structures. + +Output consists of a list of secondary structure components of size <= +L, one entry per line. Each output line contains the predicted local +structure its energy in kcal/mol and the starting position of the +local structure. + +.SH "OPTIONS" +.TP +.B \-L span +Set the maximum allowed separation of a base pair to span. I.e. no +pairs (i,j) with j\-i>span will be allowed. +.PP +The \fB\-T\fP, \fB\-d\fP \fB\-4\fP, \fB\-noGU\fP, \fB\-noCloseGU\fP, +\fB\-e\fP, \fB\-P\fP, \fB\-nsp\fP, options work as in +RNAfold. Most tests were done using "\-d2 \-noLP", other dangling end +settings may still be buggy. + +.SH "REFERENCES" +I.L. Hofacker, B. Priwitzer, and P.F. Stadler +"Prediction of Locally Stable RNA Secondary Structures for Genome\-Wide +Surveys" +Bioinformatics, 20, 186\-190 (2004) +.SH "VERSION" +This man page documents version @VERSION@ Vienna RNA Package. +.SH "AUTHORS" +Ivo L Hofacker, Peter F Stadler. +.br +Send comments to diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAalifold.1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAalifold.1 new file mode 100755 index 00000000..d320d16f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAalifold.1 @@ -0,0 +1,97 @@ +.\" .ER +.TH "RNAalifold" "l" "1.5" "Ivo Hofacker" "ViennaRNA" +.SH "NAME" +RNAalifold \- calculate secondary structures for a set of aligned RNAs +.SH "SYNOPSIS" +\fBRNAalifold\fP [\-cv \ \fIweight\fP] [\-nc \ \fIweight\fP] [\-E] +[\-p[\fI0\fP]] [\-C] [\-T\ \fItemp\fP] [\-4] +[\-d] [\-noLP] [\-noGU] [\-noCloseGU] [\-e\ \fI1|2\fP] [\-P\ +\fIparamfile\fP] [\-nsp\ \fIpairs\fP] [\-S\ \fIscale\fP] [\fI\fP] + +.SH "DESCRIPTION" +.I RNAalifold +reads aligned RNA sequences from stdin or \fIfile.aln\fP and calculates +their minimum free energy (mfe) structure, partition function (pf) and base +pairing probability matrix. Currently, the input alignment has to be in +CLUSTAL format. It returns the mfe structure in bracket notation, its +energy, the free energy of the thermodynamic ensemble and the frequency of +the mfe structure in the ensemble to stdout. It also produces Postscript +files with plots of the resulting secondary structure graph ("alirna.ps") +and a "dot plot" of the base pairing matrix ("alidot.ps"). The file +"alifold.out" will contain a list of likely pairs sorted by credibility, +suitable for viewing with "AliDot.pl". +.SH "OPTIONS" +.TP +.B \-cv \fIfactor\fP +Set the weight of the covariance term in the energy function to +\fIfactor\fP. Default is 1. +.TP +.B \-nc \fIfactor\fP +Set the penalty for non\-compatible sequences in the covariance term of the +energy function to \fIfactor\fP. Default is 1. +.TP +.B \-E +Score pairs with endgaps same as gap-gap pairs. +.TP +.B \-mis +Output "most informative sequence" instead of simple consensus: For each +column of the alignment output the set of nucleotides with frequence greater +than average in IUPAC notation. +.TP +.B \-p +Calculate the partition function and base pairing probability matrix in +addition to the mfe structure. Default is calculation of mfe structure only. +.TP +.B \-noLP +Avoid structures without lonely pairs (helices of length 1). In the mfe +case structures with lonely pairs are strictly forbidden. For partition +function folding this disallows pairs that can \fBonly\fP occur isolated. +Setting this option provides a significant speedup. +.PP +The \fB\-T\fP, \fB\-d\fP, \fB\-4\fP, \fB\-noGU\fP, \fB\-noCloseGU\fP, +\fB\-e\fP, \fB\-P\fP, \fB\-nsp\fP, options \fUshould\fP work as in RNAfold + +If using \fB\-C\fP constraints will be read from stdin, the alignment +has to given as a filename on the command line. + +.SH "CAVEATS" +Since gaps are not removed for the evaluation of energies, it may be +of advantage to remove any columns with more than, say, 75% gaps from +the alignment before folding with RNAalifold. + +Sequences are not weighted. If possible, do not mix very similar and +dissimilar sequences. Duplicate sequences, for example, can distort the +prediction. +.SH "SEE ALSO" +The ALIDOT package http://www.tbi.univie.ac.at/RNA/ALIDOT/ +.SH "REFERENCES" +The algorithm is a variant of the dynamic programming algorithms of +M. Zuker and P. Stiegler (mfe) and J.S. McCaskill (pf) adapted for sets of +aligned sequences with covariance information. +The energy parameters are taken from: +.br +.PP +D.H. Mathews, J. Sabina, M. Zuker and H. Turner +"Expanded Sequence Dependence of Thermodynamic Parameters Provides Robust +Prediction of RNA Secondary Structure" +JMB, 288, pp 911\-940, 1999 +.br +If you use this program in your work you might want to cite: +.br +.PP +Ivo L. Hofacker, Martin Fekete, and Peter F. Stadler +"Secondary Structure Prediction for Aligned RNA Sequences" +J.Mol.Biol. 319: 1059\-1066 (2002). +.br +.SH "VERSION" +This man page documents version 1.6 of the Vienna RNA Package. +.SH "AUTHORS" +Ivo L Hofacker +.SH "BUGS" +If in doubt our program is right, nature is at fault. +Comments should be sent to rna@tbi.univie.ac.at. + +\" LocalWords: RNAalifold ViennaRNA RNAs fBRNAalifold fP fI fItemp noLP noGU +\" LocalWords: noCloseGU fIparamfile nsp fIpairs fIscale fIfile aln stdin mfe +\" LocalWords: alirna ps alidot alifold AliDot TP cv fIfactor nc fBonly fB br +\" LocalWords: fUshould RNAfold Stiegler McCaskill JMB Fekete CLUSTAL stdout diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAalifold.1.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAalifold.1.in new file mode 100755 index 00000000..07d437ee --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAalifold.1.in @@ -0,0 +1,97 @@ +.\" .ER +.TH "RNAalifold" "l" "1.5" "Ivo Hofacker" "ViennaRNA" +.SH "NAME" +RNAalifold \- calculate secondary structures for a set of aligned RNAs +.SH "SYNOPSIS" +\fBRNAalifold\fP [\-cv \ \fIweight\fP] [\-nc \ \fIweight\fP] [\-E] +[\-p[\fI0\fP]] [\-C] [\-T\ \fItemp\fP] [\-4] +[\-d] [\-noLP] [\-noGU] [\-noCloseGU] [\-e\ \fI1|2\fP] [\-P\ +\fIparamfile\fP] [\-nsp\ \fIpairs\fP] [\-S\ \fIscale\fP] [\fI\fP] + +.SH "DESCRIPTION" +.I RNAalifold +reads aligned RNA sequences from stdin or \fIfile.aln\fP and calculates +their minimum free energy (mfe) structure, partition function (pf) and base +pairing probability matrix. Currently, the input alignment has to be in +CLUSTAL format. It returns the mfe structure in bracket notation, its +energy, the free energy of the thermodynamic ensemble and the frequency of +the mfe structure in the ensemble to stdout. It also produces Postscript +files with plots of the resulting secondary structure graph ("alirna.ps") +and a "dot plot" of the base pairing matrix ("alidot.ps"). The file +"alifold.out" will contain a list of likely pairs sorted by credibility, +suitable for viewing with "AliDot.pl". +.SH "OPTIONS" +.TP +.B \-cv \fIfactor\fP +Set the weight of the covariance term in the energy function to +\fIfactor\fP. Default is 1. +.TP +.B \-nc \fIfactor\fP +Set the penalty for non\-compatible sequences in the covariance term of the +energy function to \fIfactor\fP. Default is 1. +.TP +.B \-E +Score pairs with endgaps same as gap-gap pairs. +.TP +.B \-mis +Output "most informative sequence" instead of simple consensus: For each +column of the alignment output the set of nucleotides with frequence greater +than average in IUPAC notation. +.TP +.B \-p +Calculate the partition function and base pairing probability matrix in +addition to the mfe structure. Default is calculation of mfe structure only. +.TP +.B \-noLP +Avoid structures without lonely pairs (helices of length 1). In the mfe +case structures with lonely pairs are strictly forbidden. For partition +function folding this disallows pairs that can \fBonly\fP occur isolated. +Setting this option provides a significant speedup. +.PP +The \fB\-T\fP, \fB\-d\fP, \fB\-4\fP, \fB\-noGU\fP, \fB\-noCloseGU\fP, +\fB\-e\fP, \fB\-P\fP, \fB\-nsp\fP, options \fUshould\fP work as in RNAfold + +If using \fB\-C\fP constraints will be read from stdin, the alignment +has to given as a filename on the command line. + +.SH "CAVEATS" +Since gaps are not removed for the evaluation of energies, it may be +of advantage to remove any columns with more than, say, 75% gaps from +the alignment before folding with RNAalifold. + +Sequences are not weighted. If possible, do not mix very similar and +dissimilar sequences. Duplicate sequences, for example, can distort the +prediction. +.SH "SEE ALSO" +The ALIDOT package http://www.tbi.univie.ac.at/RNA/ALIDOT/ +.SH "REFERENCES" +The algorithm is a variant of the dynamic programming algorithms of +M. Zuker and P. Stiegler (mfe) and J.S. McCaskill (pf) adapted for sets of +aligned sequences with covariance information. +The energy parameters are taken from: +.br +.PP +D.H. Mathews, J. Sabina, M. Zuker and H. Turner +"Expanded Sequence Dependence of Thermodynamic Parameters Provides Robust +Prediction of RNA Secondary Structure" +JMB, 288, pp 911\-940, 1999 +.br +If you use this program in your work you might want to cite: +.br +.PP +Ivo L. Hofacker, Martin Fekete, and Peter F. Stadler +"Secondary Structure Prediction for Aligned RNA Sequences" +J.Mol.Biol. 319: 1059\-1066 (2002). +.br +.SH "VERSION" +This man page documents version @VERSION@ of the Vienna RNA Package. +.SH "AUTHORS" +Ivo L Hofacker +.SH "BUGS" +If in doubt our program is right, nature is at fault. +Comments should be sent to rna@tbi.univie.ac.at. + +\" LocalWords: RNAalifold ViennaRNA RNAs fBRNAalifold fP fI fItemp noLP noGU +\" LocalWords: noCloseGU fIparamfile nsp fIpairs fIscale fIfile aln stdin mfe +\" LocalWords: alirna ps alidot alifold AliDot TP cv fIfactor nc fBonly fB br +\" LocalWords: fUshould RNAfold Stiegler McCaskill JMB Fekete CLUSTAL stdout diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAcofold.1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAcofold.1 new file mode 100755 index 00000000..0bd7788f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAcofold.1 @@ -0,0 +1,86 @@ +.\" .ER +.TH "RNACOFOLD" "l" "1.5" "Ivo Hofacker" "ViennaRNA" +.SH "NAME" +RNAcofold \- calculate secondary structures of two RNAs with dimerization +.SH "SYNOPSIS" +\fBRNAcofold\fP [\-p[\fI0\fP]] [\-C] [\-T\ \fItemp\fP] [\-4] [\-d[0|1|2|3]] +[\-noLP] [\-noGU] [\-noCloseGU] [\-e\ \fI1|2\fP] [\-P\ \fIparamfile\fP] +[\-nsp\ \fIpairs\fP] [\-S\ \fIscale\fP] [\-a\] [\-c\] [\-f\ \f concentrationfile\fP] + +.SH "DESCRIPTION" +.I RNAcofold +works much like RNAfold, but allows to specify two RNA sequences wich are +then allowed to form a dimer structure. RNA sequences are read from stdin +in the usual format. To compute the hybrid structure of two molecules, the +two sequences must be concatenated using the '&' character as separator. +RNAcofold can compute minimum free energy (mfe) structures, as well as +partition function (pf) and base pairing probability matrix (using the +-p switch). +.br +Since dimer formation is concentration dependent, RNAcofold can be used +to compute equilibrium concentrations for all five monomer and +(homo/hetero)-dimer species, given input concentrations for the monomers. +.br +Output consists of the mfe structure in bracket notation as well as PostScript +structure plots and "dot plot" files containing the pair probabilities, see +the RNAfold man page for details. In the dot plots a cross marks the chain +break between the two concatenated sequences. +.br +The program will continue to read new sequences until a line consisting +of the single character @ or an end of file condition is encountered. +.SH "OPTIONS" +.TP +.B \-a +Compute the partition function and free energies not only of the +hetero-dimer consisting of the two input sequences (the "AB dimer"), +but also of the homo-dimers AA and BB as well as A and B monomers. +The output will contain the free energies for each of these species, +as well as 5 dot plots containing the conditional pair probabilities, +called ABname5.ps, AAname5.ps and so on. For later use, these dot plot +files also contain the free energy of the ensemble as a comment. Using +\fB\-a\fP automatically toggles the +\fB\-p\fP option. +.TP +.B \-c +In addition to everything listed under the \fB\-a\fP option, read in +initial monomer concentrations and compute the expected equilibrium +concentrations of the 5 possible species (AB, AA, BB, A, B). Start +concentrations are read from stdin (unless the -f option is +used) in [mol/l], equilibrium concentrations are given realtive to the +sum of the two inputs. An arbitrary number of initial concentrations +can be specified (one pair of concentrations per line). +.TP +.B \-f\ \fIconcfile\fP +Specify a file with initial concentrations for the to sequences. The table +consits of arbitrary many lines with just two numbers (the concentration of +sequence A and B). Will automatically toggle the \fB\-c\fP (and thus +\fB\-a\fP and \fB\-p\fP) options (see above). +.PP +the \-p, \-p0, \-noGU, \-noCloseGU, \-nsp, \-S, \-e, \-P, \-noLP, \-T, \-4, +\-d and \-C options work as in \fBRNAfold\fP, see there for description. + +.SH "REFERENCES" +The energy parameters are taken from: +.br +D.H. Mathews, J. Sabina, M. Zucker and H. Turner +"Expanded Sequence Dependence of Thermodynamic Parameters Provides +Robust Prediction of RNA Secondary Structure" +JMB, 288, pp 911\-940, 1999 +.PP +If you use this program in your work you might want to cite: +.PP +I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster +(1994) +Fast Folding and Comparison of RNA Secondary Structures. +Monatshefte f. Chemie 125: 167\-188 +.PP +S.H.Bernhart, Ch. Flamm, P.F. Stadler, I.L. Hofacker +Partition Function and Base Pairing Probabilities of RNA Heterodimers +submitted to Algorithms Mol. Biol. +.SH "VERSION" +This man page documents version 1.6 Vienna RNA Package. +.SH "AUTHORS" +Ivo L Hofacker, Peter F Stadler, Stephan Bernhart. +.SH "BUGS" +If in doubt our program is right, nature is at fault. +Comments should be sent to rna@tbi.univie.ac.at. diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAcofold.1.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAcofold.1.in new file mode 100755 index 00000000..56836fd6 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAcofold.1.in @@ -0,0 +1,86 @@ +.\" .ER +.TH "RNACOFOLD" "l" "1.5" "Ivo Hofacker" "ViennaRNA" +.SH "NAME" +RNAcofold \- calculate secondary structures of two RNAs with dimerization +.SH "SYNOPSIS" +\fBRNAcofold\fP [\-p[\fI0\fP]] [\-C] [\-T\ \fItemp\fP] [\-4] [\-d[0|1|2|3]] +[\-noLP] [\-noGU] [\-noCloseGU] [\-e\ \fI1|2\fP] [\-P\ \fIparamfile\fP] +[\-nsp\ \fIpairs\fP] [\-S\ \fIscale\fP] [\-a\] [\-c\] [\-f\ \f concentrationfile\fP] + +.SH "DESCRIPTION" +.I RNAcofold +works much like RNAfold, but allows to specify two RNA sequences wich are +then allowed to form a dimer structure. RNA sequences are read from stdin +in the usual format. To compute the hybrid structure of two molecules, the +two sequences must be concatenated using the '&' character as separator. +RNAcofold can compute minimum free energy (mfe) structures, as well as +partition function (pf) and base pairing probability matrix (using the +-p switch). +.br +Since dimer formation is concentration dependent, RNAcofold can be used +to compute equilibrium concentrations for all five monomer and +(homo/hetero)-dimer species, given input concentrations for the monomers. +.br +Output consists of the mfe structure in bracket notation as well as PostScript +structure plots and "dot plot" files containing the pair probabilities, see +the RNAfold man page for details. In the dot plots a cross marks the chain +break between the two concatenated sequences. +.br +The program will continue to read new sequences until a line consisting +of the single character @ or an end of file condition is encountered. +.SH "OPTIONS" +.TP +.B \-a +Compute the partition function and free energies not only of the +hetero-dimer consisting of the two input sequences (the "AB dimer"), +but also of the homo-dimers AA and BB as well as A and B monomers. +The output will contain the free energies for each of these species, +as well as 5 dot plots containing the conditional pair probabilities, +called ABname5.ps, AAname5.ps and so on. For later use, these dot plot +files also contain the free energy of the ensemble as a comment. Using +\fB\-a\fP automatically toggles the +\fB\-p\fP option. +.TP +.B \-c +In addition to everything listed under the \fB\-a\fP option, read in +initial monomer concentrations and compute the expected equilibrium +concentrations of the 5 possible species (AB, AA, BB, A, B). Start +concentrations are read from stdin (unless the -f option is +used) in [mol/l], equilibrium concentrations are given realtive to the +sum of the two inputs. An arbitrary number of initial concentrations +can be specified (one pair of concentrations per line). +.TP +.B \-f\ \fIconcfile\fP +Specify a file with initial concentrations for the to sequences. The table +consits of arbitrary many lines with just two numbers (the concentration of +sequence A and B). Will automatically toggle the \fB\-c\fP (and thus +\fB\-a\fP and \fB\-p\fP) options (see above). +.PP +the \-p, \-p0, \-noGU, \-noCloseGU, \-nsp, \-S, \-e, \-P, \-noLP, \-T, \-4, +\-d and \-C options work as in \fBRNAfold\fP, see there for description. + +.SH "REFERENCES" +The energy parameters are taken from: +.br +D.H. Mathews, J. Sabina, M. Zucker and H. Turner +"Expanded Sequence Dependence of Thermodynamic Parameters Provides +Robust Prediction of RNA Secondary Structure" +JMB, 288, pp 911\-940, 1999 +.PP +If you use this program in your work you might want to cite: +.PP +I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster +(1994) +Fast Folding and Comparison of RNA Secondary Structures. +Monatshefte f. Chemie 125: 167\-188 +.PP +S.H.Bernhart, Ch. Flamm, P.F. Stadler, I.L. Hofacker +Partition Function and Base Pairing Probabilities of RNA Heterodimers +submitted to Algorithms Mol. Biol. +.SH "VERSION" +This man page documents version @VERSION@ Vienna RNA Package. +.SH "AUTHORS" +Ivo L Hofacker, Peter F Stadler, Stephan Bernhart. +.SH "BUGS" +If in doubt our program is right, nature is at fault. +Comments should be sent to rna@tbi.univie.ac.at. diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAdistance.1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAdistance.1 new file mode 100755 index 00000000..346882c8 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAdistance.1 @@ -0,0 +1,83 @@ +.\" .ER +.TH "RNADISTANCE" "l" "" "Ivo Hofacker" "Vienna RNA" +.SH "NAME" +RNAdistance \- calculate distances between RNA secondary structures +.SH "SYNOPSIS" +\fBRNAdistance [\-D[fhwcFHWCP] [\-X[p|m|f|c]] [\-S] [\-B [\fI\fP]] +.SH "DESCRIPTION" +.I RNAdistance +reads RNA secondary structures from stdin and calculates one or more +measures for their dissimilarity, based on tree or string editing +(alignment). In addition it calculates a "base pair distance" given by the +number of base pairs present in one structure, but not the other. For +structures of different length base pair distance is not recommended. + +RNAdistance accepts structures in bracket format, where matching brackets +symbolize base pairs and unpaired bases are represented by a dot ".", +or coarse grained representations where hairpins, interior loops, +bulges, multiloops, stacks and external bases are represented by +(H), (I), (B), (M), (S), and (E), respectively. These can be optionally +weighted. Full structures can be represented in the same fashion using +the identifiers (U) and (P) for unpaired and paired bases, respectively. +We call this the HIT representation (you don't want to know what this means). +For example the following structure consists of 2 hairpins joined by +a multiloop: +.br + + .((..(((...)))..((..)))). full structure (usual format); + (U)((U2)((U3)P3)(U2)((U2)P2)P2) HIT structure; + ((H)(H)M) or + ((((H)S)((H)S)M)S) coarse grained structure; + (((((H3)S3)((H2)S2)M4)S2)E2) weighted coarse grained. +.br + +The program will continue to read new structures until a line consisting +of the single character @ or an end of file condition is encountered. Input +lines neither containing a valid structure nor starting with > are ignored. + +.SH "OPTIONS" +.IP \-D[fhwcFHWCP] +use the full, HIT, weighted coarse, or coarse representation to +calculate the distance. Capital letters indicate string alignment +otherwise tree editing is used. Any combination of distances can be +specified. \fB\-DP\fP selects the base pair distance. The default if "f". +.IP \-Xp +compare the structures pairwise (p), that is first with 2nd, third +with 4th etc. This is the default. +.IP \-Xm +calculate the distance matrix between all structures. The output is +formatted as a lower triangle matrix. +.IP \-Xf +compare each structure to the first one. +.IP \-Xc +compare continuously, that is i\-th with (i+1)th structure. +.IP \-S +Use the Bruce Shapiro's cost matrix for comparing coarse structures. +.IP \-B\ [file] +Print an "alignment" with gaps of the structures, to show matching +substructures. The aligned structures are written to \fIfile\fP, if +specified. Otherwise output is written to stdout, unless the \-Xm +option is set in which case "backtrack.file" is used. +.SH "REFERENCES" +Shapiro B A, (1988) An algorithm for comparing multiple RNA secondary +structures, CABIOS 4, 381\-393 +.br +Shapiro B A, Zhang K (1990) Comparing multiple RNA secondary +structures using tree comparison, CABIOS 6, 309\-318 +.br +Fontana W, Konings D A M, Stadler P F, Schuster P, (1993) +Statistics of RNA secondary structures, Biopolymers 33, 1389\-1404 +.br +I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster +(1994) +Fast Folding and Comparison of RNA Secondary Structures. +Monatshefte f. Chemie 125, 167\-188 +.SH "VERSION" +This man page documents version 1.6 Vienna RNA Package +.SH "AUTHORS" +Walter Fontana, Ivo L Hofacker, Peter F Stadler. +.SH "BUGS" +We hoped you wouldn't find them. +Comments should be sent to rna@tbi.univie.ac.at +.br + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAdistance.1.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAdistance.1.in new file mode 100755 index 00000000..395760f6 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAdistance.1.in @@ -0,0 +1,83 @@ +.\" .ER +.TH "RNADISTANCE" "l" "" "Ivo Hofacker" "Vienna RNA" +.SH "NAME" +RNAdistance \- calculate distances between RNA secondary structures +.SH "SYNOPSIS" +\fBRNAdistance [\-D[fhwcFHWCP] [\-X[p|m|f|c]] [\-S] [\-B [\fI\fP]] +.SH "DESCRIPTION" +.I RNAdistance +reads RNA secondary structures from stdin and calculates one or more +measures for their dissimilarity, based on tree or string editing +(alignment). In addition it calculates a "base pair distance" given by the +number of base pairs present in one structure, but not the other. For +structures of different length base pair distance is not recommended. + +RNAdistance accepts structures in bracket format, where matching brackets +symbolize base pairs and unpaired bases are represented by a dot ".", +or coarse grained representations where hairpins, interior loops, +bulges, multiloops, stacks and external bases are represented by +(H), (I), (B), (M), (S), and (E), respectively. These can be optionally +weighted. Full structures can be represented in the same fashion using +the identifiers (U) and (P) for unpaired and paired bases, respectively. +We call this the HIT representation (you don't want to know what this means). +For example the following structure consists of 2 hairpins joined by +a multiloop: +.br + + .((..(((...)))..((..)))). full structure (usual format); + (U)((U2)((U3)P3)(U2)((U2)P2)P2) HIT structure; + ((H)(H)M) or + ((((H)S)((H)S)M)S) coarse grained structure; + (((((H3)S3)((H2)S2)M4)S2)E2) weighted coarse grained. +.br + +The program will continue to read new structures until a line consisting +of the single character @ or an end of file condition is encountered. Input +lines neither containing a valid structure nor starting with > are ignored. + +.SH "OPTIONS" +.IP \-D[fhwcFHWCP] +use the full, HIT, weighted coarse, or coarse representation to +calculate the distance. Capital letters indicate string alignment +otherwise tree editing is used. Any combination of distances can be +specified. \fB\-DP\fP selects the base pair distance. The default if "f". +.IP \-Xp +compare the structures pairwise (p), that is first with 2nd, third +with 4th etc. This is the default. +.IP \-Xm +calculate the distance matrix between all structures. The output is +formatted as a lower triangle matrix. +.IP \-Xf +compare each structure to the first one. +.IP \-Xc +compare continuously, that is i\-th with (i+1)th structure. +.IP \-S +Use the Bruce Shapiro's cost matrix for comparing coarse structures. +.IP \-B\ [file] +Print an "alignment" with gaps of the structures, to show matching +substructures. The aligned structures are written to \fIfile\fP, if +specified. Otherwise output is written to stdout, unless the \-Xm +option is set in which case "backtrack.file" is used. +.SH "REFERENCES" +Shapiro B A, (1988) An algorithm for comparing multiple RNA secondary +structures, CABIOS 4, 381\-393 +.br +Shapiro B A, Zhang K (1990) Comparing multiple RNA secondary +structures using tree comparison, CABIOS 6, 309\-318 +.br +Fontana W, Konings D A M, Stadler P F, Schuster P, (1993) +Statistics of RNA secondary structures, Biopolymers 33, 1389\-1404 +.br +I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster +(1994) +Fast Folding and Comparison of RNA Secondary Structures. +Monatshefte f. Chemie 125, 167\-188 +.SH "VERSION" +This man page documents version @VERSION@ Vienna RNA Package +.SH "AUTHORS" +Walter Fontana, Ivo L Hofacker, Peter F Stadler. +.SH "BUGS" +We hoped you wouldn't find them. +Comments should be sent to rna@tbi.univie.ac.at +.br + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAduplex.1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAduplex.1 new file mode 100755 index 00000000..d6ecf477 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAduplex.1 @@ -0,0 +1,35 @@ +.TH "RNAduplex" "l" "0.0.1" "Ivo Hofacker" "Vienna RNA" +.SH "NAME" +.LP +RNAduplex \- Compute the structure upon hybridization of two RNA strands +.SH "SYNTAX" +.LP +RNAduplex [\fI\-e range\fP] [\fIstandard_options\fP] [<\fIfilename\fP>] + +.SH "DESCRIPTION" +.LP +\fIRNAduplex\fR reads two RNA sequences from stdin or \fI\fR and computes optimal and suboptimal secondary structures for their hybridization. The calculation is simplified by allowing only inter\-molecular base pairs, for the general case use \fBRNAcofold\fR. +.LP +The computed optimal and suboptimal structure are written to stdout, one structure per line. +Each line consist of: The structure in dot bracket format with a "&" separating the two strands. The range of the structure in the two sequences in the format "from,to : from,to"; the energy of duplex structure in kcal/mol. +.br +The format is especially useful for computing the hybrid structure between a small probe sequence and a long target sequence. +.SH "OPTIONS" +.LP +.TP +\fB\-e\fR \fIrange\fR +Compute suboptimal structures with energy with \fIrange\fR kcal/mol of the optimum. +Default is calculation of mfe structure only. +.PP +For the standard options, such as +\fB\-T\fR, \fB\-4\fR, \fB\-noGU\fR, \-\fBnoCloseGU\fR, +\fB\-P\fR see the \fBRNAfold\fR man page. + +.SH "VERSION" +This man page documents version 1.6 Vienna RNA Package. +.SH "AUTHORS" +.LP +Ivo Hofacker +.SH "SEE ALSO" +.LP +RNAcofold(l) RNAfold(l) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAduplex.1.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAduplex.1.in new file mode 100755 index 00000000..866c9b55 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAduplex.1.in @@ -0,0 +1,35 @@ +.TH "RNAduplex" "l" "0.0.1" "Ivo Hofacker" "Vienna RNA" +.SH "NAME" +.LP +RNAduplex \- Compute the structure upon hybridization of two RNA strands +.SH "SYNTAX" +.LP +RNAduplex [\fI\-e range\fP] [\fIstandard_options\fP] [<\fIfilename\fP>] + +.SH "DESCRIPTION" +.LP +\fIRNAduplex\fR reads two RNA sequences from stdin or \fI\fR and computes optimal and suboptimal secondary structures for their hybridization. The calculation is simplified by allowing only inter\-molecular base pairs, for the general case use \fBRNAcofold\fR. +.LP +The computed optimal and suboptimal structure are written to stdout, one structure per line. +Each line consist of: The structure in dot bracket format with a "&" separating the two strands. The range of the structure in the two sequences in the format "from,to : from,to"; the energy of duplex structure in kcal/mol. +.br +The format is especially useful for computing the hybrid structure between a small probe sequence and a long target sequence. +.SH "OPTIONS" +.LP +.TP +\fB\-e\fR \fIrange\fR +Compute suboptimal structures with energy with \fIrange\fR kcal/mol of the optimum. +Default is calculation of mfe structure only. +.PP +For the standard options, such as +\fB\-T\fR, \fB\-4\fR, \fB\-noGU\fR, \-\fBnoCloseGU\fR, +\fB\-P\fR see the \fBRNAfold\fR man page. + +.SH "VERSION" +This man page documents version @VERSION@ Vienna RNA Package. +.SH "AUTHORS" +.LP +Ivo Hofacker +.SH "SEE ALSO" +.LP +RNAcofold(l) RNAfold(l) diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAeval.1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAeval.1 new file mode 100755 index 00000000..db89238a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAeval.1 @@ -0,0 +1,50 @@ +.\" .ER +.TH "RNAEVAL" "l" "" "Ivo Hofacker" "Vienna RNA" +.SH "NAME" +RNAEVAL \- calculate energy of RNA sequences on given secondary structure +.SH "SYNOPSIS" +\fBRNAeval [\-T \fItemp\fP] [\-4] [\-d[0|1|2|3]] [\-logML] [\-e \fI1|2\fP] [\-P \fIparamfile\fP] +.SH "DESCRIPTION" +.I RNAeval +evaluates the free energy of an RNA molecule in fixed secondary +structure. Sequences and structures are read alternately from stdin. +The energy in Kcal/Mol is written to stdout. +.br +The program will continue to read new sequences and structures until a +line consisting of the single character "@" or an end of file condition +is encountered. +.br +If the input sequence or structure contains the separator character "&" the +program calculates the energy of the co\-folding of two RNA strands, where +the "&" marks the boundary between the two strands. +.SH "OPTIONS" +.IP \fB\-d\fB +Do not give stabilizing energies to unpaired bases adjacent to helices in +multiloops and free ends ("dangling ends"). Same as \-d0, opposite of \-d1 +(the default). +.IP \fB\-d2\fB +Treat dangling ends as in the partition function algorithm, i.e. bases +adjacent to helices in multiloops and free ends give a stabilizing energy +contribution, regardless whether they're paired or unpaired. +.IP \fB\-d3\fB +Allow coaxial stacking of adjacent helices in multi\-loops. +.IP \fB\-logML\fB +Let multiloop energies depend logarithmically on the size, instead of the +usual linear energy function. +.PP +The \fB\-T\fP, \fB\-4\fP, \fB\-e\fP, \fB\-P\fP, options work as in RNAfold. +.SH "REFERENCES" +If you use this program in your work you might want to cite: +.PP +I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster +(1994) +Fast Folding and Comparison of RNA Secondary Structures. +Monatshefte f. Chemie 125: 167\-188 +.SH "VERSION" +This man page documents version 1.6 Vienna RNA Package +.SH "AUTHOR" +Ivo L Hofacker and Peter F Stadler. +.SH "BUGS" +If in doubt our program is right, nature is at fault. +Comments should be sent to rna@tbi.univie.ac.at. +.br diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAeval.1.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAeval.1.in new file mode 100755 index 00000000..45672706 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAeval.1.in @@ -0,0 +1,50 @@ +.\" .ER +.TH "RNAEVAL" "l" "" "Ivo Hofacker" "Vienna RNA" +.SH "NAME" +RNAEVAL \- calculate energy of RNA sequences on given secondary structure +.SH "SYNOPSIS" +\fBRNAeval [\-T \fItemp\fP] [\-4] [\-d[0|1|2|3]] [\-logML] [\-e \fI1|2\fP] [\-P \fIparamfile\fP] +.SH "DESCRIPTION" +.I RNAeval +evaluates the free energy of an RNA molecule in fixed secondary +structure. Sequences and structures are read alternately from stdin. +The energy in Kcal/Mol is written to stdout. +.br +The program will continue to read new sequences and structures until a +line consisting of the single character "@" or an end of file condition +is encountered. +.br +If the input sequence or structure contains the separator character "&" the +program calculates the energy of the co\-folding of two RNA strands, where +the "&" marks the boundary between the two strands. +.SH "OPTIONS" +.IP \fB\-d\fB +Do not give stabilizing energies to unpaired bases adjacent to helices in +multiloops and free ends ("dangling ends"). Same as \-d0, opposite of \-d1 +(the default). +.IP \fB\-d2\fB +Treat dangling ends as in the partition function algorithm, i.e. bases +adjacent to helices in multiloops and free ends give a stabilizing energy +contribution, regardless whether they're paired or unpaired. +.IP \fB\-d3\fB +Allow coaxial stacking of adjacent helices in multi\-loops. +.IP \fB\-logML\fB +Let multiloop energies depend logarithmically on the size, instead of the +usual linear energy function. +.PP +The \fB\-T\fP, \fB\-4\fP, \fB\-e\fP, \fB\-P\fP, options work as in RNAfold. +.SH "REFERENCES" +If you use this program in your work you might want to cite: +.PP +I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster +(1994) +Fast Folding and Comparison of RNA Secondary Structures. +Monatshefte f. Chemie 125: 167\-188 +.SH "VERSION" +This man page documents version @VERSION@ Vienna RNA Package +.SH "AUTHOR" +Ivo L Hofacker and Peter F Stadler. +.SH "BUGS" +If in doubt our program is right, nature is at fault. +Comments should be sent to rna@tbi.univie.ac.at. +.br diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAfold.1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAfold.1 new file mode 100755 index 00000000..48f90773 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAfold.1 @@ -0,0 +1,179 @@ +.\" .ER +.TH "RNAFOLD" "l" "1.5" "Ivo Hofacker" "ViennaRNA" +.SH "NAME" +RNAfold \- calculate secondary structures of RNAs +.SH "SYNOPSIS" +\fBRNAfold\fP [\-p[\fI0\fP]] [\-C] [\-T\ \fItemp\fP] [\-4] [\-d[0|1|2|3]] +[\-noLP] [\-noGU] [\-noCloseGU] [\-e\ \fI1|2\fP] [\-P\ \fIparamfile\fP] +[\-nsp\ \fIpairs\fP] [\-S\ \fIscale\fP] [-circ] + +.SH "DESCRIPTION" +.I RNAfold +reads RNA sequences from stdin, calculates their minimum free energy +(mfe) structure and prints to stdout the mfe structure in bracket +notation and its free energy. If the \-p option was given it also +computes the partition function (pf) and base pairing probability +matrix, and prints the free energy of the thermodynamic ensemble, the +frequency of the mfe structure in the ensemble, and the ensemble +diversity to stdout. + +It also produces PostScript files with plots of the resulting +secondary structure graph and a "dot plot" of the base pairing matrix. +The dot plot shows a matrix of squares with area proportional to the +pairing probability in the upper half, and one square for each pair in +the minimum free energy structure in the lower half. For each pair +i\-j with probability p>10E\-6 there is a line of the form +.br +i j sqrt(p) ubox +.br +in the PostScript file, so that the pair probabilities can be easily +extracted. +If the sequence is preceded by a line of the form +.br +> name +.br +then the PostScript files "name_ss.ps" and "name_dp.ps" are produced for +the structure and dot plot, respectively. Otherwise the filenames +default to rna.ps and dot.ps. Existing files of the same name will be +overwritten. +.br +The program will continue to read new sequences until a line consisting +of the single character @ or an end of file condition is encountered. +.SH "OPTIONS" +.TP +.B \-p +Calculate the partition function and base pairing probability matrix in +addition to the mfe structure. Default is calculation of mfe structure +only. Prints a coarse representation of the pair probabilities in +form of a pseudo bracket notation, the ensemble free energy, the +frequency of the mfe structure, and the structural diversity. +See the description of pf_fold() and mean_bp_dist() in the RNAlib +documentation for details. +.br +Note that unless you also specify \-d2 or \-d0, the partition +function and mfe calculations will use a slightly different energy +model. See the discussion of dangling end options below. +.TP +.B \-p0 +Calculate the partition function but not the pair probabilities, +saving about 50% in runtime. Prints the ensemble free energy \-kT ln(Z). +.TP +.B \-C +Calculate structures subject to constraints. +The program reads first the sequence, then a string containing constraints +on the structure encoded with the symbols: +. (no constraint for this base) +| (the corresponding base has to be paired +x (the base is unpaired) +< (base i is paired with a base j>i) +> (base i is paired with a base j\fP +Read energy parameters from \fIparamfile\fP, instead of using the default +parameter set. A sample parameter file should accompany your distribution. +See the RNAlib documentation for details on the file format. +.TP +.B \-nsp \fIpairs\fP +Allow other pairs in addition to the usual AU,GC,and GU pairs. \fIpairs\fP +is a comma separated list of additionally allowed pairs. If a the first +character is a "\-" then AB will imply that AB and BA are allowed pairs. +e.g. RNAfold \-nsp \-GA will allow GA and AG pairs. Nonstandard pairs are +given 0 stacking energy. +.TP +.B \-S\ \fIscale\fP +In the calculation of the pf use \fIscale\fP*mfe as an estimate for the +ensemble free energy (used to avoid overflows). The default is 1.07, +useful values are 1.0 to 1.2. Occasionally needed for long sequences. +You can also recompile the program to use double precision (see the README +file). +.TP +.B \-circ +Assume a circular (instead of linear) RNA molecule. Currently works only +for mfe folding. + +.SH "REFERENCES" +The calculation of mfe structures is based on dynamic +programming algorithm originally developed by M. Zuker and P. Stiegler. +The partition function algorithm is based on work by J.S. McCaskill. +The energy parameters are taken from: +.br +D.H. Mathews, J. Sabina, M. Zuker and H. Turner +"Expanded Sequence Dependence of Thermodynamic Parameters Provides +Robust Prediction of RNA Secondary Structure" +JMB, 288, pp 911\-940, 1999 +.br +A. Walter, D Turner, J Kim, M Lyttle, P M\[:u]ller, D Mathews, M Zuker +"Coaxial stacking of helices enhances binding of oligoribonucleotides.." +PNAS, 91, pp 9218\-9222, 1994 +.PP +If you use this program in your work you might want to cite: +.PP +I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster +(1994) +Fast Folding and Comparison of RNA Secondary Structures. +Monatshefte f. Chemie 125: 167\-188 +.br +M. Zuker, P. Stiegler (1981) Optimal computer folding of large RNA +sequences using thermodynamic and auxiliary information, Nucl Acid Res +9: 133\-148 +.br +J.S. McCaskill (1990) The equilibrium partition function and base pair +binding probabilities for RNA secondary structures, Biopolymers 29: 1105\-1119 +.br +D. Adams (1979) The hitchhiker's guide to the galaxy, Pan Books, London +.SH "VERSION" +This man page documents version 1.6 Vienna RNA Package. +.SH "AUTHORS" +Ivo L Hofacker, Walter Fontana, Sebastian Bonhoeffer, Peter F Stadler. +.SH "BUGS" +If in doubt our program is right, nature is at fault. +Comments should be sent to rna@tbi.univie.ac.at. + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAfold.1.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAfold.1.in new file mode 100755 index 00000000..83acce15 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAfold.1.in @@ -0,0 +1,179 @@ +.\" .ER +.TH "RNAFOLD" "l" "1.5" "Ivo Hofacker" "ViennaRNA" +.SH "NAME" +RNAfold \- calculate secondary structures of RNAs +.SH "SYNOPSIS" +\fBRNAfold\fP [\-p[\fI0\fP]] [\-C] [\-T\ \fItemp\fP] [\-4] [\-d[0|1|2|3]] +[\-noLP] [\-noGU] [\-noCloseGU] [\-e\ \fI1|2\fP] [\-P\ \fIparamfile\fP] +[\-nsp\ \fIpairs\fP] [\-S\ \fIscale\fP] [-circ] + +.SH "DESCRIPTION" +.I RNAfold +reads RNA sequences from stdin, calculates their minimum free energy +(mfe) structure and prints to stdout the mfe structure in bracket +notation and its free energy. If the \-p option was given it also +computes the partition function (pf) and base pairing probability +matrix, and prints the free energy of the thermodynamic ensemble, the +frequency of the mfe structure in the ensemble, and the ensemble +diversity to stdout. + +It also produces PostScript files with plots of the resulting +secondary structure graph and a "dot plot" of the base pairing matrix. +The dot plot shows a matrix of squares with area proportional to the +pairing probability in the upper half, and one square for each pair in +the minimum free energy structure in the lower half. For each pair +i\-j with probability p>10E\-6 there is a line of the form +.br +i j sqrt(p) ubox +.br +in the PostScript file, so that the pair probabilities can be easily +extracted. +If the sequence is preceded by a line of the form +.br +> name +.br +then the PostScript files "name_ss.ps" and "name_dp.ps" are produced for +the structure and dot plot, respectively. Otherwise the filenames +default to rna.ps and dot.ps. Existing files of the same name will be +overwritten. +.br +The program will continue to read new sequences until a line consisting +of the single character @ or an end of file condition is encountered. +.SH "OPTIONS" +.TP +.B \-p +Calculate the partition function and base pairing probability matrix in +addition to the mfe structure. Default is calculation of mfe structure +only. Prints a coarse representation of the pair probabilities in +form of a pseudo bracket notation, the ensemble free energy, the +frequency of the mfe structure, and the structural diversity. +See the description of pf_fold() and mean_bp_dist() in the RNAlib +documentation for details. +.br +Note that unless you also specify \-d2 or \-d0, the partition +function and mfe calculations will use a slightly different energy +model. See the discussion of dangling end options below. +.TP +.B \-p0 +Calculate the partition function but not the pair probabilities, +saving about 50% in runtime. Prints the ensemble free energy \-kT ln(Z). +.TP +.B \-C +Calculate structures subject to constraints. +The program reads first the sequence, then a string containing constraints +on the structure encoded with the symbols: +. (no constraint for this base) +| (the corresponding base has to be paired +x (the base is unpaired) +< (base i is paired with a base j>i) +> (base i is paired with a base j\fP +Read energy parameters from \fIparamfile\fP, instead of using the default +parameter set. A sample parameter file should accompany your distribution. +See the RNAlib documentation for details on the file format. +.TP +.B \-nsp \fIpairs\fP +Allow other pairs in addition to the usual AU,GC,and GU pairs. \fIpairs\fP +is a comma separated list of additionally allowed pairs. If a the first +character is a "\-" then AB will imply that AB and BA are allowed pairs. +e.g. RNAfold \-nsp \-GA will allow GA and AG pairs. Nonstandard pairs are +given 0 stacking energy. +.TP +.B \-S\ \fIscale\fP +In the calculation of the pf use \fIscale\fP*mfe as an estimate for the +ensemble free energy (used to avoid overflows). The default is 1.07, +useful values are 1.0 to 1.2. Occasionally needed for long sequences. +You can also recompile the program to use double precision (see the README +file). +.TP +.B \-circ +Assume a circular (instead of linear) RNA molecule. Currently works only +for mfe folding. + +.SH "REFERENCES" +The calculation of mfe structures is based on dynamic +programming algorithm originally developed by M. Zuker and P. Stiegler. +The partition function algorithm is based on work by J.S. McCaskill. +The energy parameters are taken from: +.br +D.H. Mathews, J. Sabina, M. Zuker and H. Turner +"Expanded Sequence Dependence of Thermodynamic Parameters Provides +Robust Prediction of RNA Secondary Structure" +JMB, 288, pp 911\-940, 1999 +.br +A. Walter, D Turner, J Kim, M Lyttle, P M\[:u]ller, D Mathews, M Zuker +"Coaxial stacking of helices enhances binding of oligoribonucleotides.." +PNAS, 91, pp 9218\-9222, 1994 +.PP +If you use this program in your work you might want to cite: +.PP +I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster +(1994) +Fast Folding and Comparison of RNA Secondary Structures. +Monatshefte f. Chemie 125: 167\-188 +.br +M. Zuker, P. Stiegler (1981) Optimal computer folding of large RNA +sequences using thermodynamic and auxiliary information, Nucl Acid Res +9: 133\-148 +.br +J.S. McCaskill (1990) The equilibrium partition function and base pair +binding probabilities for RNA secondary structures, Biopolymers 29: 1105\-1119 +.br +D. Adams (1979) The hitchhiker's guide to the galaxy, Pan Books, London +.SH "VERSION" +This man page documents version @VERSION@ Vienna RNA Package. +.SH "AUTHORS" +Ivo L Hofacker, Walter Fontana, Sebastian Bonhoeffer, Peter F Stadler. +.SH "BUGS" +If in doubt our program is right, nature is at fault. +Comments should be sent to rna@tbi.univie.ac.at. + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAheat.1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAheat.1 new file mode 100755 index 00000000..d76a57c4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAheat.1 @@ -0,0 +1,60 @@ +.\" .ER +.TH "RNAHEAT" "l" "" "Ivo Hofacker" "Vienna RNA" +.SH "NAME" +RNAheat \- calculate specific heat of RNAs +.SH "SYNOPSIS" +\fBRNAheat [\-Tmin \fIt1\fP] [\-Tmax \fIt2\fP] [\-h \fIstepsize\fP] [\-m +\fIipoints\fP] [\-d] [\-4] [\-noGU] [\-noCloseGU] [\-nsp pairs] [\-P paramfile] [\-e \fI1|2\fP] +.SH "DESCRIPTION" +.I RNAheat +reads RNA sequences from stdin and calculates their specific heat +in the temperature range \fIt1\fP to \fIt2\fP, from the partition +function by numeric differentiation. The result is written to stdout +as a list of pairs of temperature in C and specific heat in Kcal/(Mol*K). +.br +The program will continue to read new sequences until a line consisting +of the single character "@" or an end of file condition is encountered. +.SH "OPTIONS" +.IP \fB\-Tmin\ \fIt1\fP +Lowest temperature, default is 0C. +.IP \fB\-Tmax\ \fIt2\fP +Highest temperature, default is 100C. +.IP \fB\-h\ \fIstepsize\fP +Calculate partition function every \fIstepsize\fP degrees C. Default +is 1C. +.IP \fB\-m\ \fIipoints\fP +The program fits a parabola to 2*ipoints+1 data points to calculate +2nd derivatives. Increasing this parameter produces a smoother curve. +Default is 2. +.PP +The \fB\-d\fP, \fB\-4\fP, \fB\-noGU\fP, \fB\-noCloseGU\fP, \fB\-e\fP, +\fB\-P\fP, \fB\-nsp\fP, options work as in RNAfold. +.SH "EXAMPLES" +.nf + RNAheat \-Tmin \-30 \-Tmax 120 \-h 0.1 \-m 4 < tRNA.seq | xmgrace \-pipe +.nf +produces plots of the specific heat of the sequences in tRNA.seq. +.SH "REFERENCES" +The partition function algorithm is based on work by J.S. McCaskill. +.PP +If you use this program in your work you might want to cite: +.PP +I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster +(1994) +Fast Folding and Comparison of RNA Secondary Structures. +Monatshefte f. Chemie 125: 167\-188 +.PP +J.S. McCaskill (1990) The equilibrium partition function and base pair +binding probabilities for RNA secondary structures, Biopolymers 29: 1105\-1119 +.br +D. Adams (1979) The hitchhiker's guide to the galaxy, Pan Books, London +.SH "VERSION" +This man page documents version 1.6 Vienna RNA Package. +.SH "AUTHORS" +Ivo L Hofacker, Peter F Stadler. +.SH "SEE ALSO" +.BR RNAfold (l), +.SH "BUGS" +If in doubt our program is right, nature is at fault. +Comments should be sent to rna@tbi.univie.ac.at. +.br diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAheat.1.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAheat.1.in new file mode 100755 index 00000000..d2893d95 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAheat.1.in @@ -0,0 +1,60 @@ +.\" .ER +.TH "RNAHEAT" "l" "" "Ivo Hofacker" "Vienna RNA" +.SH "NAME" +RNAheat \- calculate specific heat of RNAs +.SH "SYNOPSIS" +\fBRNAheat [\-Tmin \fIt1\fP] [\-Tmax \fIt2\fP] [\-h \fIstepsize\fP] [\-m +\fIipoints\fP] [\-d] [\-4] [\-noGU] [\-noCloseGU] [\-nsp pairs] [\-P paramfile] [\-e \fI1|2\fP] +.SH "DESCRIPTION" +.I RNAheat +reads RNA sequences from stdin and calculates their specific heat +in the temperature range \fIt1\fP to \fIt2\fP, from the partition +function by numeric differentiation. The result is written to stdout +as a list of pairs of temperature in C and specific heat in Kcal/(Mol*K). +.br +The program will continue to read new sequences until a line consisting +of the single character "@" or an end of file condition is encountered. +.SH "OPTIONS" +.IP \fB\-Tmin\ \fIt1\fP +Lowest temperature, default is 0C. +.IP \fB\-Tmax\ \fIt2\fP +Highest temperature, default is 100C. +.IP \fB\-h\ \fIstepsize\fP +Calculate partition function every \fIstepsize\fP degrees C. Default +is 1C. +.IP \fB\-m\ \fIipoints\fP +The program fits a parabola to 2*ipoints+1 data points to calculate +2nd derivatives. Increasing this parameter produces a smoother curve. +Default is 2. +.PP +The \fB\-d\fP, \fB\-4\fP, \fB\-noGU\fP, \fB\-noCloseGU\fP, \fB\-e\fP, +\fB\-P\fP, \fB\-nsp\fP, options work as in RNAfold. +.SH "EXAMPLES" +.nf + RNAheat \-Tmin \-30 \-Tmax 120 \-h 0.1 \-m 4 < tRNA.seq | xmgrace \-pipe +.nf +produces plots of the specific heat of the sequences in tRNA.seq. +.SH "REFERENCES" +The partition function algorithm is based on work by J.S. McCaskill. +.PP +If you use this program in your work you might want to cite: +.PP +I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster +(1994) +Fast Folding and Comparison of RNA Secondary Structures. +Monatshefte f. Chemie 125: 167\-188 +.PP +J.S. McCaskill (1990) The equilibrium partition function and base pair +binding probabilities for RNA secondary structures, Biopolymers 29: 1105\-1119 +.br +D. Adams (1979) The hitchhiker's guide to the galaxy, Pan Books, London +.SH "VERSION" +This man page documents version @VERSION@ Vienna RNA Package. +.SH "AUTHORS" +Ivo L Hofacker, Peter F Stadler. +.SH "SEE ALSO" +.BR RNAfold (l), +.SH "BUGS" +If in doubt our program is right, nature is at fault. +Comments should be sent to rna@tbi.univie.ac.at. +.br diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAinverse.1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAinverse.1 new file mode 100755 index 00000000..b7dc49e3 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAinverse.1 @@ -0,0 +1,107 @@ +.\" .ER +.TH "RNAINVERSE" "l" "" "Ivo Hofacker" "Vienna RNA" +.SH "NAME" +RNAINVERSE \- find RNA sequences with given secondary structure +.SH "SYNOPSIS" +.B RNAinverse [\-F[mp]] [\-R \fIrepeats\fB]] [\-v] [\-a \fIalphabet\fB] +.B [\-f \fIfinal\fB] [\-T \fItemp\fB] [\-d[0|1|2|3] [\-4] [\-noGU] [\-noCloseGU] +.B [\-P \fIparamfile\fB] [\-e \fI1|2\fP] [\-nsp \fIpairs\fP] +.SH "DESCRIPTION" +.I RNAinverse +searches for sequences folding into a predefined structure, thereby +inverting the folding algorithm. Target structures (in bracket notation) +and starting sequences for the search are read alternately from stdin. +Characters in the start sequence other than "AUGC" (or the alphabet +specified with \fB\-a\fP) will be treated as wild cards and replaced by a +random character. Any lower case characters in the start sequence will be +kept fixed during the search. If necessary, the sequence will be elongated +to the length of the structure. Thus a string of "N"s as well as a blank +line specify a random start sequence. +.br +For each search the best sequence found and its Hamming distance +to the start sequence are printed to stdout. If the the search was +unsuccessful, a structure distance to the target is appended. +The \fB\-Fp\fP and \fB\-R\fP options can modify the output format, see below. +.br +The program will continue to read new structures and sequences until a +line consisting of the single character "@" or an end of file condition +is encountered. +.SH "OPTIONS" +.TP +.B \-F[mp] +Use minimum energy (\fB\-Fm\fP), partition function folding (\fB\-Fp\fP) +or both (\fB\-Fmp\fP). +In partition function mode, the probability of the target structure +exp\fI(\-E(S)/kT)/Q\fP is maximized. This probability is written in brackets +after the found sequence and Hamming distance. In most cases you'll want to +use the \fB\-f\fP option in conjunction with \fB\-Fp\fP, see below. The +default is \fB\-Fm\fP. +.TP +.B \-f \fIfinal\fP +In combination with \fB\-Fp\fP stop search when sequence is found with +\fIE(s)\-F\fP is smaller than \fIfinal\fP, where \fIF=\-kT*ln(Q)\fP. +.TP +.B \-R \fIrepeats\fP +Search repeatedly for the same structure. If \fIrepeats\fP is negative +search until \fI\-repeats\fP exact solutions are found, no output is done +for unsuccessful searches. Be aware, that the program will not terminate if +the target structure can not be found. +.TP +.B \-v +in conjunction with \fB\-R\fP and a negative \fIrepeats\fP, print the +last subsequence and substructure for each unsuccessful search. +.TP +.B \-a \fIalphabet\fP +Find sequences using only bases from \fIalphabet\fP. +.PP +The \fB\-T\fP, \fB\-d\fP, \fB\-4\fP, \fB\-noGU\fP, \fB\-noCloseGU\fP, +\fB\-e\fP, \fB\-P\fP, \fB\-nsp\fP, options work as in RNAfold +.SH "EXAMPLE" +To search 5 times for sequences forming a simple hairpin structure +interrupted by one GA mismatch call +.br +.ft C +RNAinverse \-R 5 +.ft +.br +and enter the lines +.br +.ft C +(((.(((....))).))) +.br +NNNgNNNNNNNNNNaNNN +.ft + +.SH "REFERENCES" +The calculation of minimum free energy structures is based on dynamic +programming algorithm originally developed by M. Zuker and P. Stiegler. +The partition function algorithm is based on work by J.S. McCaskill. +.br +If this Program proves useful for your work please cite: +.PP +I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster +(1994) +Fast Folding and Comparison of RNA Secondary Structures. +Monatshefte f. Chemie 125: 167\-188 +.br +Other useful references are: +.br +M. Zuker, P. Stiegler (1981) Optimal computer folding of large RNA +sequences using thermodynamic and auxiliary information, Nucl Acid Res +9: 133\-148 +.br +J.S. McCaskill (1990) The equilibrium partition function and base pair +binding probabilities for RNA secondary structures, Biopolymers 29: 1105\-1119 +.br +D.H. Turner N. Sugimoto and S.M. Freier (1988) RNA structure +prediction, Ann Rev Biophys Biophys Chem 17: 167\-192 +.br +D. Adams (1979) The hitchhiker's guide to the galaxy, Pan Books, London +.SH "VERSION" +This man page documents version 1.6 Vienna RNA Package. +.SH "AUTHOR" +Ivo L Hofacker. +.SH "BUGS" +If in doubt our program is right, nature is at fault. +Comments should be sent to rna@tbi.univie.ac.at. +.br diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAinverse.1.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAinverse.1.in new file mode 100755 index 00000000..c85c5faa --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAinverse.1.in @@ -0,0 +1,107 @@ +.\" .ER +.TH "RNAINVERSE" "l" "" "Ivo Hofacker" "Vienna RNA" +.SH "NAME" +RNAINVERSE \- find RNA sequences with given secondary structure +.SH "SYNOPSIS" +.B RNAinverse [\-F[mp]] [\-R \fIrepeats\fB]] [\-v] [\-a \fIalphabet\fB] +.B [\-f \fIfinal\fB] [\-T \fItemp\fB] [\-d[0|1|2|3] [\-4] [\-noGU] [\-noCloseGU] +.B [\-P \fIparamfile\fB] [\-e \fI1|2\fP] [\-nsp \fIpairs\fP] +.SH "DESCRIPTION" +.I RNAinverse +searches for sequences folding into a predefined structure, thereby +inverting the folding algorithm. Target structures (in bracket notation) +and starting sequences for the search are read alternately from stdin. +Characters in the start sequence other than "AUGC" (or the alphabet +specified with \fB\-a\fP) will be treated as wild cards and replaced by a +random character. Any lower case characters in the start sequence will be +kept fixed during the search. If necessary, the sequence will be elongated +to the length of the structure. Thus a string of "N"s as well as a blank +line specify a random start sequence. +.br +For each search the best sequence found and its Hamming distance +to the start sequence are printed to stdout. If the the search was +unsuccessful, a structure distance to the target is appended. +The \fB\-Fp\fP and \fB\-R\fP options can modify the output format, see below. +.br +The program will continue to read new structures and sequences until a +line consisting of the single character "@" or an end of file condition +is encountered. +.SH "OPTIONS" +.TP +.B \-F[mp] +Use minimum energy (\fB\-Fm\fP), partition function folding (\fB\-Fp\fP) +or both (\fB\-Fmp\fP). +In partition function mode, the probability of the target structure +exp\fI(\-E(S)/kT)/Q\fP is maximized. This probability is written in brackets +after the found sequence and Hamming distance. In most cases you'll want to +use the \fB\-f\fP option in conjunction with \fB\-Fp\fP, see below. The +default is \fB\-Fm\fP. +.TP +.B \-f \fIfinal\fP +In combination with \fB\-Fp\fP stop search when sequence is found with +\fIE(s)\-F\fP is smaller than \fIfinal\fP, where \fIF=\-kT*ln(Q)\fP. +.TP +.B \-R \fIrepeats\fP +Search repeatedly for the same structure. If \fIrepeats\fP is negative +search until \fI\-repeats\fP exact solutions are found, no output is done +for unsuccessful searches. Be aware, that the program will not terminate if +the target structure can not be found. +.TP +.B \-v +in conjunction with \fB\-R\fP and a negative \fIrepeats\fP, print the +last subsequence and substructure for each unsuccessful search. +.TP +.B \-a \fIalphabet\fP +Find sequences using only bases from \fIalphabet\fP. +.PP +The \fB\-T\fP, \fB\-d\fP, \fB\-4\fP, \fB\-noGU\fP, \fB\-noCloseGU\fP, +\fB\-e\fP, \fB\-P\fP, \fB\-nsp\fP, options work as in RNAfold +.SH "EXAMPLE" +To search 5 times for sequences forming a simple hairpin structure +interrupted by one GA mismatch call +.br +.ft C +RNAinverse \-R 5 +.ft +.br +and enter the lines +.br +.ft C +(((.(((....))).))) +.br +NNNgNNNNNNNNNNaNNN +.ft + +.SH "REFERENCES" +The calculation of minimum free energy structures is based on dynamic +programming algorithm originally developed by M. Zuker and P. Stiegler. +The partition function algorithm is based on work by J.S. McCaskill. +.br +If this Program proves useful for your work please cite: +.PP +I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. Schuster +(1994) +Fast Folding and Comparison of RNA Secondary Structures. +Monatshefte f. Chemie 125: 167\-188 +.br +Other useful references are: +.br +M. Zuker, P. Stiegler (1981) Optimal computer folding of large RNA +sequences using thermodynamic and auxiliary information, Nucl Acid Res +9: 133\-148 +.br +J.S. McCaskill (1990) The equilibrium partition function and base pair +binding probabilities for RNA secondary structures, Biopolymers 29: 1105\-1119 +.br +D.H. Turner N. Sugimoto and S.M. Freier (1988) RNA structure +prediction, Ann Rev Biophys Biophys Chem 17: 167\-192 +.br +D. Adams (1979) The hitchhiker's guide to the galaxy, Pan Books, London +.SH "VERSION" +This man page documents version @VERSION@ Vienna RNA Package. +.SH "AUTHOR" +Ivo L Hofacker. +.SH "BUGS" +If in doubt our program is right, nature is at fault. +Comments should be sent to rna@tbi.univie.ac.at. +.br diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAlib.info b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAlib.info new file mode 100755 index 00000000..60e7247f --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAlib.info @@ -0,0 +1,1430 @@ +This is RNAlib.info, produced by makeinfo version 4.8 from +RNAlib.texinfo. + + +File: RNAlib.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) + + This file documents the Vienna RNA Package Version 1.6 + + Copyright (C)1994-2002 Ivo Hofacker and Peter Stadler + +* Menu: + +* Introduction:: +* Folding Routines:: Functions for Folding RNA Secondary Structures +* Parsing and Comparing:: Functions to Manipulate Structures +* Utilities:: Odds and Ends +* Example:: A Small Example Program +* References:: +* Function Index:: +* Variable Index:: + + +File: RNAlib.info, Node: Introduction, Next: Folding Routines, Prev: Top, Up: Top + +1 Introduction +************** + +The core of the Vienna RNA Package is formed by a collection of routines +for the prediction and comparison of RNA secondary structures. These +routines can be accessed through stand-alone programs, such as RNAfold, +RNAdistance etc., which should be sufficient for most users. For those +who wish to develop their own programs we provide a library which can be +linked to your own code. + + This document describes the library and will be primarily useful to +programmers. However, it also contains details about the implementation +that may be of interest to advanced users. The stand-alone programs are +described in separate man pages. The latest version of the package +including source code and html versions of the documentation can be +found at `http://www.tbi.univie.ac.at/~ivo/RNA/'. This manual +documents version 1.6. + + Please send comments and bug reports to . + + +File: RNAlib.info, Node: Folding Routines, Next: Parsing and Comparing, Prev: Introduction, Up: Top + +2 Folding Routines +****************** + +* Menu: + +* mfe Fold:: Calculating Minimum Free Energy Structures +* PF Fold:: Calculating Partition Functions and Pair Probabilities +* Inverse Fold:: Searching for Predefined Structures +* Suboptimal folding:: Enumerating Suboptimal Structures +* Cofolding:: Folding of 2 RNA molecules +* Local Fold:: Predicting local structures of large sequences +* Alignment Fold:: Predicting Consensus Structures from Alignment +* Fold Vars:: Global Variables for the Folding Routines +* Param Files:: Reading Energy Parameters from File + + +File: RNAlib.info, Node: mfe Fold, Next: PF Fold, Prev: Folding Routines, Up: Folding Routines + +2.1 Minimum free Energy Folding +=============================== + +The library provides a fast dynamic programming minimum free energy +folding algorithm as described by `Zuker & Stiegler (1981)'. +Associated functions are: + + -- Function: float fold (char* SEQUENCE, char* STRUCTURE) + folds the SEQUENCE and returns the minimum free energy in kcal/mol; + the mfe structure in bracket notation (*note notations::) is + returned in STRUCTURE. Sufficient space for string of the same + length as SEQUENCE must be allocated for STRUCTURE before calling + `fold()'. If `fold_constrained' (*note Variables: Fold Vars.) is + 1, the STRUCTURE string is interpreted on input as a list of + constraints for the folding. The characters " | x < > " mark bases + that are paired, unpaired, paired upstream, or downstream, + respectively; matching brackets " ( ) " denote base pairs, dots + "." are used for unconstrained bases. Constrained folding works by + assigning bonus energies to all structures that comply with the + constraint. + + -- Function: float energy_of_struct (char* SEQUENCE, char* STRUCTURE) + calculates the energy of SEQUENCE on the STRUCTURE + + -- Function: void initialize_fold (int LENGTH) + Obsolete function kept for backward compatibility. Allocates + memory for mfe folding sequences not longer than LENGTH, and sets + up pairing matrix and energy parameters. + + -- Function: void free_arrays () + frees the memory allocated by `fold()'. + + -- Function: void update_fold_params () + call this to recalculate the pair matrix and energy parameters + after a change in folding parameters like `temperature' (*note + Variables: Fold Vars.). + + Prototypes for these functions are declared in `fold.h'. + + +File: RNAlib.info, Node: PF Fold, Next: Inverse Fold, Prev: mfe Fold, Up: Folding Routines + +2.2 Partition Function Folding +============================== + +Instead of the minimum free energy structure the partition function of +all possible structures and from that the pairing probability for every +possible pair can be calculated, using a dynamic programming algorithm +as described by `McCaskill (1990)'. The following functions are +provided: + + -- Function: float pf_fold (char* SEQUENCE, char* STRUCTURE) + calculates the partition function Z of SEQUENCE and returns the + free energy of the ensemble F in kcal/mol, where F=-kT ln(Z). If + STRUCTURE is not a NULL pointer on input, it contains on return a + string consisting of the letters " . , | { } ( ) " denoting bases + that are essentially unpaired, weakly paired, strongly paired + without preference, weakly upstream (downstream) paired, or + strongly up- (down-)stream paired bases, respectively. If + `fold_constrained' (*note Variables: Fold Vars.) is 1, the + STRUCTURE string is interpreted on input as a list of constraints + for the folding. The character "x" marks bases that must be + unpaired, matching brackets " ( ) " denote base pairs, all other + characters are ignored. Any pairs conflicting with the constraint + will be forbidden. This usually sufficient to ensure the + constraints are honored. If `do_backtrack' (*note Variables: Fold + Vars.) has been set to 0 base pairing probabilities will not be + computed (saving CPU time), otherwise the `pr[iindx[i]-j]' (*note + Variables: Fold Vars.) will contain the probability that bases i + and j pair. + + -- Function: void init_pf_fold (int LENGTH) + allocates memory for folding sequences not longer than LENGTH; + sets up pairing matrix and energy parameters. Has to be called + before the first call to `pf_fold()'. + + -- Function: void free_pf_arrays (void) + frees the memory allocated by `init_pf_fold()'. + + -- Function: void update_pf_params (int LENGTH) + Call this function to recalculate the pair matrix and energy + parameters after a change in folding parameters like temperature + (*note Variables: Fold Vars.). + + -- Function: double mean_bp_dist (int LENGTH) + computes the mean base pair distance in the equilibrium ensemble + as a measure of the structural diversity. It is given by = + sum_a,b p_a * p_b * d(a,b), where the sum goes over all pairs of + possible structure a,b, p_a is the Boltzmann weight of structure + a, and d(a,b) is the base pair distance (see `bp_distance()' in + *Note Distances::.). The mean base pair distances can be computed + efficiently from the pair probabilities p_ij as = sum_ij p_ij + * (1-p_ij). Uses the global `pr' array filled by a previous call + to `pf_fold()'. + + Prototypes for these functions are declared in `part_func.h'. + + +File: RNAlib.info, Node: Inverse Fold, Next: Suboptimal folding, Prev: PF Fold, Up: Folding Routines + +2.3 Inverse Folding +=================== + +We provide two functions that search for sequences with a given +structure, thereby inverting the folding routines. + + -- Function: float inverse_fold (char* START, char* TARGET) + searches for a sequence with minimum free energy structure TARGET, + starting with sequence START. It returns 0 if the search was + successful, otherwise a structure distance to TARGET is returned. + The found sequence is returned in START. If `give_up' is set to 1, + the function will return as soon as it is clear that the search + will be unsuccessful, this speeds up the algorithm if you are only + interested in exact solutions. Since `inverse_fold()' calls + `fold()' you have to allocate memory for folding by calling + `initialize_fold()' + + -- Function: float inverse_pf_fold (char* START, char* TARGET) + searches for a sequence with maximum probability to fold into + structure TARGET using the partition function algorithm. It returns + -kT log(p) where p is the frequency of TARGET in the ensemble of + possible structures. This is usually much slower than + `inverse_fold()'. Since `inverse_pf_fold()' calls `pf_fold()' you + have to allocate memory for folding by calling `init_pf_fold()' + + -- Variable: char *symbolset + The global variable `char *symbolset' points to the allowed bases, + initially `"AUGC"'. It can be used to design sequences from + reduced alphabets. + + Prototypes for these functions are declared in `inverse.h'. + + +File: RNAlib.info, Node: Suboptimal folding, Next: Cofolding, Prev: Inverse Fold, Up: Folding Routines + +2.4 Suboptimal folding +====================== + + -- data type: SOLUTION struct {float energy; char *structure;} + + -- Function: SOLUTION* subopt (char* SEQUENCE, char* CONSTRAINT, int* + DELTA, FILE* FP) + poduces *all* suboptimal secondary structures within DELTA*0.01 + kcal/mol of the optimum. The reults are either directly written to + a FP (if FP is not `NULL'), or (FP`==NULL') returned in a + `SOLUTION *' list terminated by an entry were the `structure' + pointer is `NULL'. + + Prototypes for these functions are declared in `subopt.h'. + + +File: RNAlib.info, Node: Cofolding, Next: Local Fold, Prev: Suboptimal folding, Up: Folding Routines + +2.5 Predicting hybridization structures of two molecules +======================================================== + +The function of an RNA molecule often depends on its interaction with +other RNAs. The following routines therefore allow to predict structures +formed by two RNA molecules upon hybridization. One approach to +co-folding two RNAs consists of concatenating the two sequences and +keeping track of the concatenation point in all energy evaluations. +Correspondingly, many of the `cofold()' and `co_pf_fold()' routines +below take one sequence string as argument and use the the global +variable CUT_POINT to mark the concatenation point. Note that while the +`RNAcofold' program uses the '&' character to mark the chain break in +its input, you should not use an '&' when using the library routines +(set CUT_POINT instead). + + -- Variable: int cut_point + `cut_point' marks the position (starting from 1) of the first + nucleotide of the second molecule within the concatenated sequence. + The default value of -1 stands for single molecule folding. The + `cut_point' variable is also used by `PS_rna_plot()' and + `PS_dot_plot()' to mark the chain break in postscript plots. + + -- Function: float cofold (char *SEQUENCE, char *STRUCTURE) + The analog to the `fold()' function. Computes the minimum free + energy of two RNA molecules interacting. If `cut_point==-1' results + should be the same as with `fold()'. + + -- Function: void free_co_arrays (void) + Frees arrays allocated by `cofold()'. + + -- Function: void initialize_cofold (int LENGTH) + Allocates memory for mfe cofolding sequences not longer than + LENGTH, and sets up pairing matrix and energy parameters. + Explicitely calling `initialize_cofold()' is normally not + necessary, as it will be called automagically before folding. + + Prototypes for these functions are declared in `cofold.h'. + +2.6 Partition Function Cofolding +================================ + +As for folding one RNA molecule, this computes the partition function +of all possible structures and the base pair probabilities. Uses the +same global PF_SCALE variable to avoid overflows. + + To simplify the implementation the partition function computation is +done internally in a null model that does not include the duplex +initiation energy, i.e. the entropic penalty for producing a dimer from +two monomers). The resulting free energies and pair probabilities are +initally relative to that null model. In a second step the free +energies can be corrected to include the dimerization penalty, and the +pair probabilities can be divided into the conditional pair +probabilities given that a re dimer is formed or not formed. + + -- data type: cofoldF struct {double F0AB, FAB, FcAB, FA, FB;} + + -- Function: cofoldF co_pf_fold (char* SEQUENCE, char* STRUCTURE) + The analog to the `pf_fold()' function, it computes the partition + function of two interacting RNA molecules as well as base pair + probabilities. It returns a struct including free energies + computed for different models. F0AB is the free energy in the null + model; FAB is corrected to include the initiation penalty, FcAB + only includes real dimers. FA and FB are the free energies of the + 2 molecules, resp. As with `cofold()' the CUT_POINT global + variable has to be set to mark the chain break between the + molecules. + + -- Function: void free_co_pf_arrays (void) + frees partition function cofold arrays allocated in ` + co_pf_fold()'. + + -- Function: void init_co_pf_fold (int LENGTH) + Obsolete function kept for backward compatibility. Allocates + memory for partition function cofolding sequences not longer than + LENGTH, and sets up pairing matrix and energy parameters. + + -- data type: plist struct {int i; int j; float energy;} + + -- Function: extern struct plist *get_plist (struct plist *PL, int + LENGTH, double CUT_OFF) + Makes a list of base pairs out of the global *PR array, ignoring + all base pairs with a probability less than CUT_OFF. This is + useful since the PR array gets overwritten by subsequent foldings. + + Prototypes for these functions are declared in `co_part_func.h'. + +2.7 Cofolding all Dimeres, Concentrations +========================================= + +After computing the partition functions of all possible dimeres one can +compute the probabilities of base pairs, the concentrations out of +start concentrations and sofar and soaway. + + -- Function: void compute_probabilities (double FAB, double FEA, + double FEB, struct plist *PRAB, struct plist *PRA, struct + plist *PRB, int ALENGTH) + Given the pair probabilities and free energies (in the null model) + for a dimer AB and the two constituent monomers A and B, compute + the conditional pair probabilities given that a dimer AB actually + forms. Null model pair probabilities are given as a list as + produced by `get_plist()'), the dimer probabilities PRAB are + modified in place. + + Dimer formation is inherently concentration dependent. Given the free +energies of the monomers A and B and dimers AB, AA, and BB one can +compute the equilibrium concentrations, given input concentrations of A +and B, see e.g.~`Dimitrov & Zuker (2004)' + + -- data type: ConcEnt struct {double A0; double B0;double ABc;double + AAc; double BBc; double Ac; double Bc;} + + -- Function: extern struct ConcEnt *get_concentrations(double FEAB, + double FEAA, double FEBB, double FEA, double FEB, double * + STARTCONC) + Takes an array STARTCONC of input concentrations with alternating + entries for the initial concentrations of molecules A and B + (terminated by two zeroes), then computes the resulting + equilibrium concentrations from the free energies for the dimers. + Dimer free energies should be the dimer-only free energies, i.e. + the FcAB entries from the `cofoldF' struct. + + Prototypes for these functions are declared in `co_part_func.h'. + + +File: RNAlib.info, Node: Local Fold, Next: Alignment Fold, Prev: Cofolding, Up: Folding Routines + +2.8 Searching for local mfe structures in large molecules +========================================================= + +Local structures can be predicted by a modified version of the `fold()' +algorithm that restricts the span of all base pairs. + + -- Function: float Lfold (char *STRING, char *STRUCTURE, int MAXDIST) + The local analog to `fold()'. Computes the minimum free energy + structure including only base pairs with a span smaller than + + MAXDIST. + + -- Function: int pfl_fold (char *SEQUENCE, int WINSIZE, float CUTOFF, + struct plist **PL) + pfl_fold computes partition functions for every window of size + WINSIZE possible in a RNA molecule, and returns the mean base pair + probabilities in PL. Note that in contrast to `Lfold()', bases + outside of the window do not influence the structure at all. Only + probabilities higher than CUTOFF are kept. + + -- Function: void init_pf_foldLP (int LENGTH) + Analog to `init_pf_fold()'. LENGTH is the length of the sequence. + + -- Function: void free_pf_arraysLP (void) + frees the arrays used by `pfl_fold()' + + -- Function: void update_pf_paramsLP (int LENGTH) + Analog to `update_pf_params()'. LENGTH is the length of the + sequence. + + +File: RNAlib.info, Node: Alignment Fold, Next: Fold Vars, Prev: Local Fold, Up: Folding Routines + +2.9 Predicting Consensus Structures from an Alignment +===================================================== + +Consensus structures can be predicted by a modified version of the +`fold()' algorithm that takes a set of aligned sequences instead of a +single sequence. The energy function consists of the mean energy +averaged over the sequences, plus a covariance term that favors pairs +with consistent and compensatory mutations and penalizes pairs that +cannot be formed by all structures. For details see `Hofacker (2002)'. + + -- Function: float alifold (char** SEQUENCES, char* STRUCTURE) + Predicts the consensus structure for the aligned SEQUENCES and + returns the minimum free energy; the mfe structure in bracket + notation (*note notations::) is returned in STRUCTURE. Sufficient + space must be allocated for STRUCTURE before calling `alifold()'. + + -- Function: void free_alifold_arrays () + frees the memory allocated by `alifold()'. + + -- Function: void update_alifold_params () + call this to recalculate the pair matrix and energy parameters + after a change in folding parameters like `temperature' (*note + Variables: Fold Vars.). + + -- Function: float alipf_fold (char** SEQUENCES, char* STRUCTURE, + pair_info **PI) + The partition function version of `alifold()' works in analogy to + `pf_fold()'. Pair probabilities and information about sequence + covariations are returned via the PI variable as a list of + `pair_info' structs. The list is terminated by the first entry + with `pi.i = 0'. + + -- data type: pair_info struct {short i,j; float p; float ent; short + bp[8]; char comp;} + for each base pair `i,j' the structure lists: its probability `p', + an entropy-like measure for its well-definedness `ent', and in + `bp[]' the frequency of each type of pair. `bp[0]' contains the + number of non-compatible sequences, `bp[1]' the number of CG + pairs, etc. + + -- Variable: double cv_fact + `cv_fact' controls the weight of the covariance term in the energy + function. Default is 1. + + -- Variable: double nc_fact + controls the magnitude of the penalty for non-compatible sequences + in the covariance term. Default is 1. + + +File: RNAlib.info, Node: Fold Vars, Next: Param Files, Prev: Alignment Fold, Up: Folding Routines + +2.10 Global Variables for the Folding Routines +============================================== + +The following global variables change the behavior the folding +algorithms or contain additional information after folding. + + -- Variable: int noGU + do not allow GU pairs if equal 1; default is 0. + + -- Variable: int no_closingGU + if 1 allow GU pairs only inside stacks, not as closing pairs; + default is 0. + + -- Variable: int noLonelyPairs + Disallow all pairs which can *only* occur as lonely pairs (i.e. as + helix of length 1). This avoids lonely base pairs in the predicted + structures in most cases. + + -- Variable: int tetra_loop + include special stabilizing energies for some tetra loops; default + is 1. + + -- Variable: int energy_set + if 1 or 2: fold sequences from an artificial alphabet ABCD..., + where A pairs B, C pairs D, etc. using either GC (1) or AU + parameters (2); default is 0, you probably don't want to change it. + + -- Variable: float temperature + rescale energy parameters to a temperature of `temperature' C. + Default is 37C. You have to call the update_..._params() functions + after changing this parameter. + + -- Variable: int dangles + if set to 0 no stabilizing energies are assigned to bases adjacent + to helices in free ends and multiloops (so called dangling ends). + Normally (`dangles = 1') dangling end energies are assigned only + to unpaired bases and a base cannot participate simultaneously in + two dangling ends. In the partition function algorithm `pf_fold()' + these checks are neglected. If `dangles' is set to 2, the + `fold()' and `energy_of_struct()' function will also follow this + convention. This treatment of dangling ends gives more favorable + energies to helices directly adjacent to one another, which can be + beneficial since such helices often do engage in stabilizing + interactions through co-axial stacking. + If `dangles = 3' co-axial stacking is explicitly included for + adjacent helices in mutli-loops. The option affects only mfe + folding and energy evaluation (`fold()' and `energy_of_struct()'), + as well as suboptimal folding (`subopt()') via re-evaluation of + energies. Co-axial stacking with one intervening mismatch is not + considered so far. + + Default is 1, `pf_fold()' treats 1 as 2. + + -- Variable: char* nonstandards + Lists additional base pairs that will be allowed to form in + addition to GC, CG, AU, UA, GU and UG. Nonstandard base pairs are + given a stacking energy of 0. + + -- Variable: int cut_point + To evaluate the energy of a duplex structure (a structure formed + by two strands), concatenate the to sequences and set CUT_POINT to + the first base of the second strand in the concatenated sequence. + Reset to 0 or -1 (the default) to evaluate normal single sequence + structures. + + -- Variable: struct bond { int i,j;} base_pair + Contains a list of base pairs after a call to `fold()'. + `base_pair[0].i' contains the total number of pairs. + + -- Variable: double* pr + contains the base pair probability matrix after a call to + `pf_fold()'. + + -- Variable: int* iindx + index array to move through pr. The probability for base i and j + to form a pair is in `pr[iindx[i]-j]'. + + -- Variable: float pf_scale + a scaling factor used by `pf_fold()' to avoid overflows. Should be + set to approximately exp((-F/kT)/length), where F is an estimate + for the ensemble free energy, for example the minimum free energy. + You must call `update_pf_params()' or `init_pf_fold()' after + changing this parameter. If pf_scale is -1 (the default) , an + estimate will be provided automatically when calling + `init_pf_fold()' or `update_f_params()'. The automatic estimate is + usually insufficient for sequences more than a few hundred bases + long. + + -- Variable: int fold_constrained + If 1, calculate constrained minimum free energy structures. *Note + mfe Fold::, for more information. Default is 0; + + -- Variable: int do_backtrack + if 0, do not calculate pair probabilities in `pf_fold()'; this is + about twice as fast. Default is 1. + + -- Variable: char backtrack_type + only for use by `inverse_fold()'; 'C': force (1,N) to be paired, + 'M' fold as if the sequence were inside a multi-loop. Otherwise the + usual mfe structure is computed. + + include `fold_vars.h' if you want to change any of these variables +from their defaults. + + +File: RNAlib.info, Node: Param Files, Prev: Fold Vars, Up: Folding Routines + +2.11 Energy Parameter Files +=========================== + +A default set of parameters, identical to the one described in `Mathews +et.al. (1999)', is compiled into the library. Alternately, parameters +can be read from and written to a file. + + -- Function: void read_parameter_file (const char FNAME[]) + reads energy parameters from file FNAME. See below for the format + of the parameter file. + + -- Function: void write_parameter_file (const char FNAME[]) + writes current energy parameters to the file FNAME. + + The following describes the file format expected by +`read_parameter_file()'. All energies should be given as integers in +units of 0.01kcal/mol. + + Various loop parameters depend in general on the pairs closing the +loops, as well as unpaired bases in the loops. Internally, the library +distinguishes 8 types of pairs (CG=1, GC=2, GU=3, UG=4, AU=5, UA=6, +nonstandard=7, 0= no pair), and 5 types of bases (A=1, C=2, G=3, U=4 +and 0 for anything else). Parameters belonging to pairs of type 0 are +not listed in the parameter files, but values for nonstandard pairs +(type 7) and nonstandard bases (type 0) are. Thus, a table for +symmetric size 2 interior loops would have 7*7*5*5 entries (2 pairs, +two unpaired bases). + + The order of entries always uses the closing pair or pairs as the +first indices followed by the unpaired bases in 5' to 3' direction. To +determine the type of a pair consider the base at the (local) 5' end of +each strand first, i.e. use the pairs (i,j) and (q,p) for an interior +loop with i + #include + #include "utils.h" + #include "fold_vars.h" + #include "fold.h" + #include "part_func.h" + #include "inverse.h" + #include "RNAstruct.h" + #include "treedist.h" + #include "stringdist.h" + #include "profiledist.h" + + void main() + { + char *seq1="CGCAGGGAUACCCGCG", *seq2="GCGCCCAUAGGGACGC", + *struct1,* struct2,* xstruc; + float e1, e2, tree_dist, string_dist, profile_dist, kT; + Tree *T1, *T2; + swString *S1, *S2; + float **pf1, **pf2; + + /* fold at 30C instead of the default 37C */ + temperature = 30.; /* must be set *before* initializing */ + /* allocate memory for fold(), could be skipped */ + initialize_fold(strlen(seq1)); + + /* allocate memory for structure and fold */ + struct1 = (char* ) space(sizeof(char)*(strlen(seq1)+1)); + e1 = fold(seq1, struct1); + + struct2 = (char* ) space(sizeof(char)*(strlen(seq2)+1)); + e2 = fold(seq2, struct2); + + free_arrays(); /* free arrays used in fold() */ + + /* produce tree and string representations for comparison */ + xstruc = expand_Full(struct1); + T1 = make_tree(xstruc); + S1 = Make_swString(xstruc); + free(xstruc); + + xstruc = expand_Full(struct2); + T2 = make_tree(xstruc); + S2 = Make_swString(xstruc); + free(xstruc); + + /* calculate tree edit distance and aligned structures with gaps */ + edit_backtrack = 1; + tree_dist = tree_edit_distance(T1, T2); + free_tree(T1); free_tree(T2); + unexpand_aligned_F(aligned_line); + printf("%s\n%s %3.2f\n", aligned_line[0], aligned_line[1], tree_dist); + + /* same thing using string edit (alignment) distance */ + string_dist = string_edit_distance(S1, S2); + free(S1); free(S2); + printf("%s mfe=%5.2f\n%s mfe=%5.2f dist=%3.2f\n", + aligned_line[0], e1, aligned_line[1], e2, string_dist); + + /* for longer sequences one should also set a scaling factor for + partition function folding, e.g: */ + kT = (temperature+273.15)*1.98717/1000.; /* kT in kcal/mol */ + pf_scale = exp(-e1/kT/strlen(seq1)); + init_pf_fold(strlen(seq1)); + + /* calculate partition function and base pair probabilities */ + e1 = pf_fold(seq1, struct1); + pf1 = Make_bp_profile(strlen(seq1)); + + e2 = pf_fold(seq2, struct2); + pf2 = Make_bp_profile(strlen(seq2)); + + free_pf_arrays(); /* free space allocated for pf_fold() */ + + profile_dist = profile_edit_distance(pf1, pf2); + printf("%s free energy=%5.2f\n%s free energy=%5.2f dist=%3.2f\n", + aligned_line[0], e1, aligned_line[1], e2, profile_dist); + + free_profile(pf1); free_profile(pf2); + } + + In a typical Unix environment you would compile this program using: +`cc -c example.c -IHPATH' and link using `cc -o example -LLPATH -lRNA +-lm' where HPATH and LPATH point to the location of the header files +and library, respectively. + + +File: RNAlib.info, Node: References, Next: Function Index, Prev: Example, Up: Top + +6 References +************ + + - D.H. Mathews, J. Sabina, M. Zucker and H. Turner (1999) + Expanded sequence dependence of thermodynamic parameters provides + robust prediction of RNA secondary structure, JMB, 288: 911-940 + + - M. Zuker and P. Stiegler (1981) + Optimal computer folding of large RNA sequences using + thermodynamic and auxiliary information, Nucl Acid Res 9: 133-148 + + - D.A. Dimitrov, M.Zuker(2004) + Prediction of hybridization and melting for double stranded nucleic + acids, Biophysical J. 87: 215-226, + + - J.S. McCaskill (1990) + The equilibrium partition function and base pair binding + probabilities for RNA secondary structures, Biopolymers 29: + 1105-1119 + + - D.H. Turner, N. Sugimoto and S.M. Freier (1988) + RNA structure prediction, Ann Rev Biophys Biophys Chem 17: 167-192 + + - J.A. Jaeger, D.H. Turner and M. Zuker (1989) + Improved predictions of secondary structures for RNA, Proc. + Natl. Acad. Sci. 86: 7706-7710 + + - L. He, R. Kierzek, J. SantaLucia, A.E. Walter and D.H. Turner + (1991) + Nearest-Neighbor Parameters For GU Mismatches, Biochemistry 30: + 11124-11132 + + - A.E. Peritz, R. Kierzek, N, Sugimoto, D.H. Turner (1991) + Thermodynamic Study of Internal Loops in Oligoribonucleotides ... , + Biochemistry 30: 6428-6435 + + - A. Walter, D. Turner, J. Kim, M. Lyttle, P. Mu"ller, D. Mathews + and M. Zuker (1994) + Coaxial stacking of helices enhances binding of + Oligoribonucleotides.., Proc. Natl. Acad. Sci. 91: 9218-9222 + + - B.A. Shapiro, (1988) + An algorithm for comparing multiple RNA secondary structures, + CABIOS 4, 381-393 + + - B.A. Shapiro and K. Zhang (1990) + Comparing multiple RNA secondary structures using tree comparison, + CABIOS 6, 309-318 + + - R. Bruccoleri and G. Heinrich (1988) + An improved algorithm for nucleic acid secondary structure display, + CABIOS 4, 167-173 + + - W. Fontana , D.A.M. Konings, P.F. Stadler, P. Schuster (1993) + Statistics of RNA secondary structures, Biopolymers 33, 1389-1404 + + - W. Fontana, P.F. Stadler, E.G. Bornberg-Bauer, T. Griesmacher, I.L. + Hofacker, M. Tacker, P. Tarazona, E.D. Weinberger, P. Schuster + (1993) + RNA folding and combinatory landscapes, Phys. Rev. E 47: 2083-2099 + + - I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, + P. Schuster (1994) Fast Folding and Comparison of RNA + Secondary Structures. Monatshefte f. Chemie 125: 167-188 + + - I.L. Hofacker (1994) The Rules of the Evolutionary Game for RNA: + A Statistical Characterization of the Sequence to Structure + Mapping in RNA. PhD Thesis, University of Vienna. + + - I.L. Hofacker, M. Fekete, P.F. Stadler (2002). Secondary + Structure Prediction for Aligned RNA Sequences. J. Mol. Biol. + 319:1059-1066 + + - D. Adams (1979) + The hitchhiker's guide to the galaxy, Pan Books, London + + +File: RNAlib.info, Node: Function Index, Next: Variable Index, Prev: References, Up: Top + +Function Index +************** + +[index] +* Menu: + +* add_root: Parsing. (line 31) +* alifold: Alignment Fold. (line 14) +* alipf_fold: Alignment Fold. (line 29) +* b2C: Parsing. (line 18) +* b2HIT: Parsing. (line 14) +* b2Shapiro: Parsing. (line 22) +* bp_distance: Distances. (line 20) +* co_pf_fold: Cofolding. (line 60) +* cofold: Cofolding. (line 26) +* compute_probabilities: Cofolding. (line 99) +* energy_of_struct: mfe Fold. (line 25) +* expand_Full: Parsing. (line 10) +* expand_Shapiro: Parsing. (line 27) +* fold: mfe Fold. (line 11) +* free_alifold_arrays: Alignment Fold. (line 20) +* free_arrays: mfe Fold. (line 33) +* free_co_arrays: Cofolding. (line 31) +* free_co_pf_arrays: Cofolding. (line 71) +* free_pf_arrays: PF Fold. (line 38) +* free_pf_arraysLP: Local Fold. (line 27) +* free_profile: Profile Distances. (line 20) +* free_tree: Tree Distances. (line 15) +* get_line: Utilities. (line 98) +* gmlRNA: Utilities. (line 39) +* hamming: Utilities. (line 56) +* init_co_pf_fold: Cofolding. (line 75) +* init_pf_fold: PF Fold. (line 33) +* init_pf_foldLP: Local Fold. (line 24) +* initialize_cofold: Cofolding. (line 34) +* initialize_fold: mfe Fold. (line 28) +* int_urn: Utilities. (line 91) +* inverse_fold: Inverse Fold. (line 10) +* inverse_pf_fold: Inverse Fold. (line 21) +* Lfold: Local Fold. (line 10) +* Make_bp_profile: Profile Distances. (line 10) +* make_pair_table: Utilities. (line 71) +* Make_swString: String Distances. (line 7) +* make_tree: Tree Distances. (line 7) +* mean_bp_dist: PF Fold. (line 46) +* nrerror: Utilities. (line 80) +* pack_structure: Utilities. (line 60) +* parse_structure: Parsing. (line 48) +* pf_fold: PF Fold. (line 13) +* pfl_fold: Local Fold. (line 17) +* profile_edit_distance: Profile Distances. (line 17) +* PS_dot_plot: Utilities. (line 9) +* PS_rna_plot: Utilities. (line 19) +* PS_rna_plot_a: Utilities. (line 27) +* random_string: Utilities. (line 52) +* read_parameter_file: Param Files. (line 11) +* space: Utilities. (line 94) +* string_edit_distance: String Distances. (line 11) +* struct: Cofolding. (line 83) +* subopt: Suboptimal folding. (line 10) +* svg_RNA_plot: Utilities. (line 34) +* time_stamp: Utilities. (line 76) +* tree_edit_distance: Tree Distances. (line 12) +* unexpand_aligned_F: Parsing. (line 43) +* unexpand_Full: Parsing. (line 34) +* unpack_structure: Utilities. (line 67) +* unweight: Parsing. (line 38) +* update_alifold_params: Alignment Fold. (line 23) +* update_fold_params: mfe Fold. (line 36) +* update_pf_params: PF Fold. (line 41) +* update_pf_paramsLP: Local Fold. (line 30) +* urn: Utilities. (line 83) +* write_parameter_file: Param Files. (line 15) + + +File: RNAlib.info, Node: Variable Index, Prev: Function Index, Up: Top + +Variable Index +************** + +[index] +* Menu: + +* *symbolset: Inverse Fold. (line 29) +* aligned_line: Distances. (line 76) +* backtrack_type: Fold Vars. (line 100) +* base_pair: Fold Vars. (line 69) +* cost_matrix: Distances. (line 68) +* cut_point <1>: Fold Vars. (line 62) +* cut_point: Cofolding. (line 19) +* cv_fact: Alignment Fold. (line 44) +* dangles: Fold Vars. (line 36) +* do_backtrack: Fold Vars. (line 96) +* edit_backtrack: Distances. (line 72) +* energy_set: Fold Vars. (line 26) +* fold_constrained: Fold Vars. (line 92) +* give_up: Inverse Fold. (line 13) +* helix_size: Parsing. (line 59) +* iindx: Fold Vars. (line 77) +* loop_degree: Parsing. (line 56) +* loop_size: Parsing. (line 52) +* loops: Parsing. (line 62) +* nc_fact: Alignment Fold. (line 48) +* no_closingGU: Fold Vars. (line 13) +* noGU: Fold Vars. (line 10) +* noLonelyPairs: Fold Vars. (line 17) +* nonstandards: Fold Vars. (line 57) +* pairs: Parsing. (line 65) +* pf_scale: Fold Vars. (line 81) +* pr: Fold Vars. (line 73) +* rna_plot_type: Utilities. (line 46) +* temperature: Fold Vars. (line 31) +* tetra_loop: Fold Vars. (line 22) +* unpaired: Parsing. (line 68) +* xsubi: Utilities. (line 87) + + + +Tag Table: +Node: Top76 +Node: Introduction601 +Node: Folding Routines1611 +Node: mfe Fold2422 +Node: PF Fold4292 +Node: Inverse Fold7222 +Node: Suboptimal folding8859 +Node: Cofolding9538 +Node: Local Fold15647 +Node: Alignment Fold16981 +Node: Fold Vars19306 +Node: Param Files23925 +Node: Parsing and Comparing31238 +Node: notations31648 +Node: Parsing35171 +Node: Distances37812 +Node: Tree Distances41675 +Node: String Distances42453 +Node: Profile Distances42983 +Node: Utilities44062 +Node: Example48698 +Node: References52197 +Node: Function Index55243 +Node: Variable Index60283 + +End Tag Table diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAlib.texinfo b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAlib.texinfo new file mode 100755 index 00000000..81c2e791 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAlib.texinfo @@ -0,0 +1,1428 @@ +\input texinfo @c -*- Mode: texinfo; fill-column: 74 -*- +@c Last changed Time-stamp: <2006-01-19 12:27:59 ivo> +@set revision $Id: RNAlib.texinfo,v 1.17 2006/01/19 11:28:40 ivo Exp $ +@setfilename RNAlib.info +@settitle Vienna RNA Package +@ifclear Version +@set Version 1.6 +@end ifclear +@iftex +@afourpaper +@end iftex +@ifinfo +@setchapternewpage odd +@end ifinfo +@titlepage +@sp 10 +@title{Vienna RNA Package} +@sp +@subtitle{A Library for folding and comparing RNA secondary structures} + +@vskip 0pt plus 1filll +Copyright @copyright{1994-2002} @author{Ivo Hofacker and Peter Stadler} +@c @smallexample +Revision @value{revision} +@c @end smallexample +@end titlepage + +@node Top, Introduction, (dir), (dir) +@comment node-name, next, previous, up + +@ifinfo +This file documents the Vienna RNA Package Version @value{Version} + +Copyright @copyright{1994-2002} Ivo Hofacker and Peter Stadler +@end ifinfo + +@menu +* Introduction:: +* Folding Routines:: Functions for Folding RNA Secondary Structures +* Parsing and Comparing:: Functions to Manipulate Structures +* Utilities:: Odds and Ends +* Example:: A Small Example Program +* References:: +* Function Index:: +* Variable Index:: +@end menu + +@node Introduction, Folding Routines, Top, Top +@chapter Introduction + +The core of the Vienna RNA Package is formed by a collection of routines +for the prediction and comparison of RNA secondary structures. These +routines can be accessed through stand-alone programs, such as RNAfold, +RNAdistance etc., which should be sufficient for most users. For those who +wish to develop their own programs we provide a library which can be +linked to your own code. + +This document describes the library and will be primarily useful to +programmers. However, it also contains details about the implementation +that may be of interest to advanced users. The stand-alone programs are +described in separate man pages. The latest version of the package +including source code and html versions of the documentation can be found +at +@ifclear texi2html +@url{http://www.tbi.univie.ac.at/~ivo/RNA/}. +@end ifclear +@ifset texi2html +@ifhtml +the ViennaRNA page. +@end ifhtml +@end ifset +This manual documents version @value{Version}. + +Please send comments and bug reports to +@ifclear texi2html +@email{ivo@@tbi.univie.ac.at}. +@end ifclear +@ifset texi2html +@ifhtml +<Ivo.Hofacker@tbi.univie.ac.at>. +@end ifhtml +@end ifset + +@node Folding Routines, Parsing and Comparing, Introduction, Top +@comment node-name, next, previous, up +@chapter Folding Routines + +@menu +* mfe Fold:: Calculating Minimum Free Energy Structures +* PF Fold:: Calculating Partition Functions and Pair Probabilities +* Inverse Fold:: Searching for Predefined Structures +* Suboptimal folding:: Enumerating Suboptimal Structures +* Cofolding:: Folding of 2 RNA molecules +* Local Fold:: Predicting local structures of large sequences +* Alignment Fold:: Predicting Consensus Structures from Alignment +* Fold Vars:: Global Variables for the Folding Routines +* Param Files:: Reading Energy Parameters from File +@end menu + +@node mfe Fold, PF Fold, Folding Routines, Folding Routines + +@section Minimum free Energy Folding +The library provides a fast dynamic programming minimum free energy +folding algorithm as described by @cite{Zuker & Stiegler (1981)}. +Associated functions are: + + +@deftypefun float fold (char* @var{sequence}, char* @var{structure}) +folds the @var{sequence} and returns the minimum free energy in kcal/mol; +the mfe structure in bracket notation (@pxref{notations}) is returned in +@var{structure}. Sufficient space for string of the same length as +@var{sequence} must be allocated for @var{structure} before calling +@code{fold()}. If @code{fold_constrained} (@pxref{Fold Vars,,Variables}) +is 1, the @var{structure} string is interpreted on input as a list of +constraints for the folding. The characters `` | x < > `` mark bases that +are paired, unpaired, paired upstream, or downstream, respectively; +matching brackets `` ( ) `` denote base pairs, dots ``.'' are used for +unconstrained bases. Constrained folding works by assigning bonus energies +to all structures that comply with the constraint. +@end deftypefun + +@deftypefun float energy_of_struct (char* @var{sequence}, char* @var{structure}) +calculates the energy of @var{sequence} on the @var{structure} +@end deftypefun + +@deftypefun void initialize_fold (int @var{length}) +Obsolete function kept for backward compatibility. +Allocates memory for mfe folding sequences not longer than @var{length}, +and sets up pairing matrix and energy parameters. +@end deftypefun + +@deftypefun void free_arrays () +frees the memory allocated by @code{fold()}. +@end deftypefun + +@deftypefun void update_fold_params () +call this to recalculate the pair matrix and energy parameters after a +change in folding parameters like @code{temperature} +(@pxref{Fold Vars,,Variables}). +@end deftypefun + +Prototypes for these functions are declared in @file{fold.h}. + +@node PF Fold, Inverse Fold, mfe Fold, Folding Routines +@section Partition Function Folding + +Instead of the minimum free energy structure the partition function of +all possible structures and from that the pairing probability for every +possible pair can be calculated, using a dynamic programming algorithm +as described by @cite{McCaskill (1990)}. The following +functions are provided: + +@deftypefun float pf_fold (char* @var{sequence}, char* @var{structure}) +calculates the partition function @math{Z} of @var{sequence} and returns +the free energy of the ensemble @math{F} in kcal/mol, where @math{F=-kT +ln(Z)}. If @var{structure} is not a NULL pointer on input, it contains on +return a string consisting of the letters `` . , | @{ @} ( ) `` denoting +bases that are essentially unpaired, weakly paired, strongly paired without +preference, weakly upstream (downstream) paired, or strongly up- +(down-)stream paired bases, respectively. If @code{fold_constrained} +(@pxref{Fold Vars,,Variables}) is 1, the @var{structure} string is +interpreted on input as a list of constraints for the folding. The +character ``x`` marks bases that must be unpaired, matching brackets `` ( ) +`` denote base pairs, all other characters are ignored. Any pairs +conflicting with the constraint will be forbidden. This usually sufficient +to ensure the constraints are honored. If @code{do_backtrack} (@pxref{Fold +Vars,,Variables}) has been set to 0 base pairing probabilities will not +be computed (saving CPU time), otherwise the @code{pr[iindx[i]-j]} +(@pxref{Fold Vars,,Variables}) will contain the probability that bases i +and j pair. +@end deftypefun + +@deftypefun void init_pf_fold (int @var{length}) +allocates memory for folding sequences not longer than @var{length}; +sets up pairing matrix and energy parameters. Has to be called before +the first call to @code{pf_fold()}. +@end deftypefun + +@deftypefun void free_pf_arrays (void) +frees the memory allocated by @code{init_pf_fold()}. +@end deftypefun + +@deftypefun void update_pf_params (int @var{length}) +Call this function to recalculate the pair matrix and energy parameters +after a change in folding parameters like temperature +(@pxref{Fold Vars,,Variables}). +@end deftypefun + +@deftypefun double mean_bp_dist (int @var{length}) +computes the mean base pair distance in the equilibrium ensemble as a +measure of the structural diversity. It is given by @math{ = +sum_{a,b} p_a * p_b * d(a,b)}, where the sum goes over all pairs of +possible structure @math{a,b}, @math{p_a} is the Boltzmann weight of +structure @math{a}, and @math{d(a,b)} is the base pair distance (see +@code{bp_distance()} in @xref{Distances}.). The mean base pair distances +can be computed efficiently from the pair probabilities @math{p_ij} as +@math{ = sum_{ij} p_ij * (1-p_ij)}. Uses the global @code{pr} array +filled by a previous call to @code{pf_fold()}. +@end deftypefun + +Prototypes for these functions are declared in @file{part_func.h}. + +@node Inverse Fold, Suboptimal folding, PF Fold, Folding Routines +@section Inverse Folding + +We provide two functions that search for sequences with a given +structure, thereby inverting the folding routines. + + +@deftypefun float inverse_fold (char* @var{start}, char* @var{target}) +searches for a sequence with minimum free energy structure +@var{target}, starting with sequence @var{start}. It returns 0 if the +search was successful, otherwise a structure distance to @var{target} +is returned. The found sequence is returned in @var{start}. If @code{give_up} +@vindex give_up +is set to 1, the function will return as soon as it is +clear that the search will be unsuccessful, this speeds up the algorithm +if you are only interested in exact solutions. +Since @code{inverse_fold()} calls @code{fold()} you have to allocate memory +for folding by calling @code{initialize_fold()} +@end deftypefun + +@deftypefun float inverse_pf_fold (char* @var{start}, char* @var{target}) +searches for a sequence with maximum probability to fold into structure +@var{target} using the partition function algorithm. It returns +-kT log(p) where p is the frequency of @var{target} in the ensemble of +possible structures. This is usually much slower than @code{inverse_fold()}. +Since @code{inverse_pf_fold()} calls @code{pf_fold()} you have to allocate +memory for folding by calling @code{init_pf_fold()} +@end deftypefun + +@deftypevar char *symbolset +The global variable @code{char *symbolset} points to the allowed bases, +initially @code{"AUGC"}. It can be used to design sequences from reduced +alphabets. +@end deftypevar + +Prototypes for these functions are declared in @file{inverse.h}. + +@node Suboptimal folding, Cofolding, Inverse Fold, Folding Routines +@section Suboptimal folding + +@deftp {data type} SOLUTION struct @{float energy; char *structure;@} +@end deftp + +@deftypefun SOLUTION* subopt (char* @var{sequence}, char* @var{constraint}, int* @var{delta}, FILE* @var{fp}) +poduces @strong{all} suboptimal secondary structures within +@var{delta}*0.01 kcal/mol of the optimum. The reults are either +directly written to a @var{fp} (if @var{fp} is not @code{NULL}), or +(@var{fp}@code{==NULL}) returned in a @code{SOLUTION *} list terminated +by an entry were the @code{structure} pointer is @code{NULL}. +@end deftypefun + +Prototypes for these functions are declared in @file{subopt.h}. + +@node Cofolding, Local Fold, Suboptimal folding, Folding Routines +@section Predicting hybridization structures of two molecules + +The function of an RNA molecule often depends on its interaction with +other RNAs. The following routines therefore allow to predict structures +formed by two RNA molecules upon hybridization. +One approach to co-folding two RNAs consists of concatenating the two +sequences and keeping track of the concatenation point in all energy +evaluations. Correspondingly, many of the @code{cofold()} and +@code{co_pf_fold()} routines below take one sequence string as argument +and use the the global variable @var{cut_point} to mark the concatenation +point. Note that while the @code{RNAcofold} program uses the '&' character +to mark the chain break in its input, you should not use an '&' when using +the library routines (set @var{cut_point} instead). + +@deftypevar int cut_point +@code{cut_point} marks the position (starting from 1) of the first +nucleotide of the second molecule within the concatenated sequence. +The default value of -1 stands for single molecule folding. The +@code{cut_point} variable is also used by @code{PS_rna_plot()} and +@code{PS_dot_plot()} to mark the chain break in postscript plots. +@end deftypevar + +@deftypefun float cofold (char @var{*sequence}, char @var{*structure}) +The analog to the @code{fold()} function. Computes the minimum free +energy of two RNA molecules interacting. If @code{cut_point==-1} results +should be the same as with @code{fold()}. +@end deftypefun + +@deftypefun void free_co_arrays (void) +Frees arrays allocated by @code{cofold()}. +@end deftypefun + +@c @deftypefun char *tokenize (char @var{*line}) +@c Takes the sequence as it is taken from stdin or a file, sets the +@c @var{cut_point} global variable to the position of the '&' character +@c and cuts out the '&' character to return the sequence as it will be +@c used by all cofold functions. +@c @end deftypefun + +@deftypefun void initialize_cofold (int @var{length}) +Allocates memory for mfe cofolding sequences not longer than @var{length}, +and sets up pairing matrix and energy parameters. +Explicitely calling @code{initialize_cofold()} is normally not necessary, +as it will be called automagically before folding. +@end deftypefun + +@c @deftypefun extern struct plist *get_mfe_plist (struct plist @var{*pl}) +@c This writes the global @var{*pr} array into the new structure +@c @var{plist}, creating an array of the base pairs of the minimum free +@c energy structure (and nothing else). Default probability is 0.95. +@c Used when @var{*pr} is going to be freed or overwritten by other +@c functions (e.g. @code{ co_pf_fold()},@code{cofold()}, etc). +@c @end deftypefun + +Prototypes for these functions are declared in @file{cofold.h}. + + +@section Partition Function Cofolding +As for folding one RNA molecule, this computes the partition function +of all possible structures and the base pair probabilities. Uses the +same global @var{pf_scale} variable to avoid overflows. + +To simplify the implementation the partition function computation is done +internally in a null model that does not include the duplex initiation +energy, i.e. the entropic penalty for producing a dimer from two +monomers). The resulting free energies and pair probabilities are initally +relative to that null model. In a second step the free energies can be +corrected to include the dimerization penalty, and the pair probabilities +can be divided into the conditional pair probabilities given that a re +dimer is formed or not formed. + + +@deftp {data type} cofoldF struct @{double F0AB, FAB, FcAB, FA, FB;@} +@end deftp + +@deftypefun cofoldF co_pf_fold (char* @var{sequence}, char* @var{structure}) +The analog to the @code{pf_fold()} function, it computes the partition +function of two interacting RNA molecules as well as base pair +probabilities. +It returns a struct including free energies computed for different +models. F0AB is the free energy in the null model; FAB is corrected +to include the initiation penalty, FcAB only includes real dimers. FA and +FB are the free energies of the 2 molecules, resp. As with @code{cofold()} +the @var{cut_point} global variable has to be set to mark the chain break +between the molecules. +@end deftypefun + + +@deftypefun void free_co_pf_arrays (void) +frees partition function cofold arrays allocated in @code{ co_pf_fold()}. +@end deftypefun + +@deftypefun void init_co_pf_fold (int @var{length}) +Obsolete function kept for backward compatibility. +Allocates memory for partition function cofolding sequences not longer +than @var{length}, and sets up pairing matrix and energy parameters. +@end deftypefun + +@deftp {data type} plist struct @{int i; int j; float energy;@} +@end deftp + +@deftypefun extern struct plist *get_plist (struct plist @var{*pl}, int @var{length}, double @var{cut_off}) +Makes a list of base pairs out of the global @var{*pr} array, +ignoring all base pairs with a probability less than @var{cut_off}. +This is useful since the @var{pr} array gets overwritten by subsequent +foldings. +@end deftypefun + +Prototypes for these functions are declared in @file{co_part_func.h}. + +@section Cofolding all Dimeres, Concentrations +After computing the partition functions of all possible dimeres one +can compute the probabilities of base pairs, the concentrations out of +start concentrations and sofar and soaway. + +@deftypefun void compute_probabilities (double @var{FAB}, double @var{FEA}, double @var{FEB}, struct plist @var{*prAB}, struct plist @var{*prA}, struct plist @var{*prB}, int @var{Alength}) +Given the pair probabilities and free energies (in the null model) for a +dimer AB and the two constituent monomers A and B, compute the conditional pair +probabilities given that a dimer AB actually forms. +Null model pair probabilities are given as a list as produced by +@code{get_plist()}), the dimer probabilities @var{prAB} are modified in +place. +@end deftypefun + +Dimer formation is inherently concentration dependent. Given the free +energies of the monomers A and B and dimers AB, AA, and BB one can compute +the equilibrium concentrations, given input concentrations of A and B, see +e.g.~@cite{Dimitrov & Zuker (2004)} + +@deftp {data type} ConcEnt struct @{double A0; double B0;double ABc;double AAc; double BBc; double Ac; double Bc;@} +@end deftp + +@deftypefun extern struct ConcEnt *get_concentrations(double @var{FEAB}, double @var{FEAA}, double @var{FEBB}, double @var{FEA}, double @var{FEB}, double * @var{startconc}) +Takes an array @var{startconc} of input concentrations with alternating +entries for the initial concentrations of molecules A and B (terminated by +two zeroes), then computes the resulting equilibrium concentrations +from the free energies for the dimers. Dimer free energies should be the +dimer-only free energies, i.e. the FcAB entries from the @code{cofoldF} struct. +@end deftypefun + +@c @deftypefun int make_probsum (int @var{length}, char @var{*name}) +@c Computes the probability of any base to be paired to a base wtih a +@c number lower than @var{length} (used for e.g. compute probability to +@c be paired within one molecule). +@c @end deftypefun + +Prototypes for these functions are declared in @file{co_part_func.h}. + +@node Local Fold, Alignment Fold, Cofolding, Folding Routines +@section Searching for local mfe structures in large molecules + +Local structures can be predicted by a modified version of the +@code{fold()} algorithm that restricts the span of all base pairs. + +@deftypefun float Lfold (char *@var{string}, char *@var{structure}, int @var{maxdist}) +The local analog to @code{fold()}. Computes the minimum free energy +structure including only base pairs with a span smaller than +@end deftypefun + +@var{maxdist}. + +@deftypefun int pfl_fold (char *@var{sequence}, int @var{winSize}, float @var{cutoff}, struct plist **@var{pl}) +pfl_fold computes partition functions for every window of size +@var{winSize} possible in a RNA molecule, and returns the mean base +pair probabilities in @var{pl}. Note that in contrast to @code{Lfold()}, bases outside +of the window do not influence the structure at all. Only +probabilities higher than @var{cutoff} are kept. +@end deftypefun + +@deftypefun void init_pf_foldLP (int @var{length}) +Analog to @code{init_pf_fold()}. @var{length} is the length of the sequence. +@end deftypefun + +@deftypefun void free_pf_arraysLP (void) +frees the arrays used by @code{pfl_fold()} +@end deftypefun + +@deftypefun void update_pf_paramsLP (int @var{length}) +Analog to @code{update_pf_params()}. @var{length} is the length of the sequence. +@end deftypefun + +@node Alignment Fold, Fold Vars, Local Fold, Folding Routines +@section Predicting Consensus Structures from an Alignment + +Consensus structures can be predicted by a modified version of the +@code{fold()} algorithm that takes a set of aligned sequences instead +of a single sequence. The energy function consists of the mean energy +averaged over the sequences, plus a covariance term that favors pairs +with consistent and compensatory mutations and penalizes pairs that +cannot be formed by all structures. For details see @cite{Hofacker (2002)}. + +@deftypefun float alifold (char** @var{sequences}, char* @var{structure}) +Predicts the consensus structure for the aligned @var{sequences} +and returns the minimum free energy; the mfe structure in bracket +notation (@pxref{notations}) is returned in @var{structure}. +Sufficient space must be allocated for @var{structure} before calling +@code{alifold()}. +@end deftypefun + +@deftypefun void free_alifold_arrays () +frees the memory allocated by @code{alifold()}. +@end deftypefun + +@deftypefun void update_alifold_params () +call this to recalculate the pair matrix and energy parameters after a +change in folding parameters like @code{temperature} +(@pxref{Fold Vars,,Variables}). +@end deftypefun + +@deftypefun float alipf_fold (char** @var{sequences}, char* @var{structure}, pair_info **@var{pi}) +The partition function version of @code{alifold()} works in analogy to +@code{pf_fold()}. Pair probabilities and information about sequence +covariations are returned via the @var{pi} variable as a list of +@code{pair_info} structs. The list is terminated by the first entry with +@code{pi.i = 0}. +@end deftypefun + +@deftp {data type} pair_info struct @{short i,j; float p; float ent; short bp[8]; char comp;@} +for each base pair @code{i,j} the structure lists: its probability +@code{p}, an entropy-like measure for its well-definedness @code{ent}, +and in @code{bp[]} the frequency of each type of pair. @code{bp[0]} +contains the number of non-compatible sequences, @code{bp[1]} the +number of CG pairs, etc. +@end deftp + +@deftypevar double cv_fact +@code{cv_fact} controls the weight of the covariance term in the +energy function. Default is 1. +@end deftypevar + +@deftypevar double nc_fact +controls the magnitude of the penalty for non-compatible sequences in +the covariance term. Default is 1. +@end deftypevar + +@node Fold Vars, Param Files , Alignment Fold, Folding Routines +@section Global Variables for the Folding Routines + +The following global variables change the behavior the folding +algorithms or contain additional information after folding. + +@deftypevar int noGU +do not allow GU pairs if equal 1; default is 0. +@end deftypevar + +@deftypevar int no_closingGU +if 1 allow GU pairs only inside stacks, not as closing pairs; +default is 0. +@end deftypevar + +@deftypevar int noLonelyPairs +Disallow all pairs which can @strong{only} occur as lonely pairs (i.e. as helix +of length 1). This avoids lonely base pairs in the predicted structures in +most cases. +@end deftypevar + +@deftypevar int tetra_loop +include special stabilizing energies for some tetra loops; default is 1. +@end deftypevar + +@deftypevar int energy_set +if 1 or 2: fold sequences from an artificial alphabet ABCD..., where A +pairs B, C pairs D, etc. using either GC (1) or AU parameters (2); +default is 0, you probably don't want to change it. +@end deftypevar + +@deftypevar float temperature +rescale energy parameters to a temperature of @code{temperature} C. +Default is 37C. You have to call the update_@dots{}_params() functions after +changing this parameter. +@end deftypevar + +@deftypevar int dangles +if set to 0 no stabilizing energies are assigned to bases adjacent to +helices in free ends and multiloops (so called dangling ends). Normally +(@code{dangles = 1}) dangling end energies are assigned only to unpaired +bases and a base cannot participate simultaneously in two dangling ends. In +the partition function algorithm @code{pf_fold()} these checks are neglected. +If @code{dangles} is set to 2, the @code{fold()} and +@code{energy_of_struct()} function will also follow this convention. This +treatment of dangling ends gives more favorable energies to helices +directly adjacent to one another, which can be beneficial since such +helices often do engage in stabilizing interactions through co-axial +stacking.@* +If @code{dangles = 3} co-axial stacking is explicitly included for +adjacent helices in mutli-loops. The option affects only mfe folding +and energy evaluation (@code{fold()} and @code{energy_of_struct()}), as +well as suboptimal folding (@code{subopt()}) via re-evaluation of energies. +Co-axial stacking with one intervening mismatch is not considered so far. + +Default is 1, @code{pf_fold()} treats 1 as 2. +@end deftypevar + +@deftypevar char* nonstandards +Lists additional base pairs that will be allowed to form in addition to +GC, CG, AU, UA, GU and UG. Nonstandard base pairs are given a stacking +energy of 0. +@end deftypevar + +@deftypevar int cut_point +To evaluate the energy of a duplex structure (a structure formed by two +strands), concatenate the to sequences and set @var{cut_point} to the +first base of the second strand in the concatenated sequence. Reset to +0 or -1 (the default) to evaluate normal single sequence structures. +@end deftypevar + +@deftypevar {struct bond @{ int i,j;@}} base_pair +Contains a list of base pairs after a call to @code{fold()}. +@code{base_pair[0].i} contains the total number of pairs. +@end deftypevar + +@deftypevar double* pr +contains the base pair probability matrix after a call to @code{pf_fold()}. +@end deftypevar + +@deftypevar int* iindx +index array to move through pr. The probability for base i and j to form +a pair is in @code{pr[iindx[i]-j]}. +@end deftypevar + +@deftypevar float pf_scale +a scaling factor used by @code{pf_fold()} to avoid overflows. Should be set +to approximately exp@math{((-F/kT)/length)}, where @math{F} is an estimate +for the ensemble free energy, for example the minimum free energy. You must +call @code{update_pf_params()} or @code{init_pf_fold()} after changing this +parameter. If pf_scale is -1 (the default) , an estimate will be provided +automatically when calling @code{init_pf_fold()} or +@code{update_f_params()}. The automatic estimate is usually insufficient +for sequences more than a few hundred bases long. +@end deftypevar + +@deftypevar int fold_constrained +If 1, calculate constrained minimum free energy structures. @xref{mfe Fold}, +for more information. Default is 0; +@end deftypevar + +@deftypevar int do_backtrack +if 0, do not calculate pair probabilities in @code{pf_fold()}; this is about +twice as fast. Default is 1. +@end deftypevar + +@deftypevar char backtrack_type +only for use by @code{inverse_fold()}; 'C': force (1,N) to be paired, +'M' fold as if the sequence were inside a multi-loop. Otherwise the +usual mfe structure is computed. +@end deftypevar + +include @file{fold_vars.h} if you want to change any of these variables +from their defaults. + +@node Param Files, , Fold Vars, Folding Routines +@section Energy Parameter Files + +A default set of parameters, identical to the one described in @cite{Mathews +et.al. (1999)}, is compiled into the library. +Alternately, parameters can be read from and written to a file. + +@deftypefun void read_parameter_file (const char @var{fname}[]) +reads energy parameters from file @var{fname}. See below for the format of +the parameter file. +@end deftypefun +@deftypefun void write_parameter_file (const char @var{fname}[]) +writes current energy parameters to the file @var{fname}. +@end deftypefun + +The following describes the file format expected by +@code{read_parameter_file()}. All energies should be given as integers in +units of 0.01kcal/mol. + +Various loop parameters depend in general on the pairs closing the loops, +as well as unpaired bases in the loops. Internally, the library +distinguishes 8 types of pairs (CG=1, GC=2, GU=3, UG=4, AU=5, UA=6, +nonstandard=7, 0= no pair), and 5 types of bases (A=1, C=2, G=3, U=4 and 0 +for anything else). Parameters belonging to pairs of type 0 are not listed +in the parameter files, but values for nonstandard pairs (type 7) and +nonstandard bases (type 0) are. Thus, a table for symmetric size 2 interior +loops would have 7*7*5*5 entries (2 pairs, two unpaired bases). + +The order of entries always uses the closing pair or pairs as the first +indices followed by the unpaired bases in 5' to 3' direction. To determine +the type of a pair consider the base at the (local) 5' end of each strand +first, i.e. use the pairs @math{(i,j)} and @math{(q,p)} for an interior +loop with @math{i +#include +#include "utils.h" +#include "fold_vars.h" +#include "fold.h" +#include "part_func.h" +#include "inverse.h" +#include "RNAstruct.h" +#include "treedist.h" +#include "stringdist.h" +#include "profiledist.h" + +void main() +@{ + char *seq1="CGCAGGGAUACCCGCG", *seq2="GCGCCCAUAGGGACGC", + *struct1,* struct2,* xstruc; + float e1, e2, tree_dist, string_dist, profile_dist, kT; + Tree *T1, *T2; + swString *S1, *S2; + float **pf1, **pf2; + + /* fold at 30C instead of the default 37C */ + temperature = 30.; /* must be set *before* initializing */ + /* allocate memory for fold(), could be skipped */ + initialize_fold(strlen(seq1)); + + /* allocate memory for structure and fold */ + struct1 = (char* ) space(sizeof(char)*(strlen(seq1)+1)); + e1 = fold(seq1, struct1); + + struct2 = (char* ) space(sizeof(char)*(strlen(seq2)+1)); + e2 = fold(seq2, struct2); + + free_arrays(); /* free arrays used in fold() */ + + /* produce tree and string representations for comparison */ + xstruc = expand_Full(struct1); + T1 = make_tree(xstruc); + S1 = Make_swString(xstruc); + free(xstruc); + + xstruc = expand_Full(struct2); + T2 = make_tree(xstruc); + S2 = Make_swString(xstruc); + free(xstruc); + + /* calculate tree edit distance and aligned structures with gaps */ + edit_backtrack = 1; + tree_dist = tree_edit_distance(T1, T2); + free_tree(T1); free_tree(T2); + unexpand_aligned_F(aligned_line); + printf("%s\n%s %3.2f\n", aligned_line[0], aligned_line[1], tree_dist); + + /* same thing using string edit (alignment) distance */ + string_dist = string_edit_distance(S1, S2); + free(S1); free(S2); + printf("%s mfe=%5.2f\n%s mfe=%5.2f dist=%3.2f\n", + aligned_line[0], e1, aligned_line[1], e2, string_dist); + + /* for longer sequences one should also set a scaling factor for + partition function folding, e.g: */ + kT = (temperature+273.15)*1.98717/1000.; /* kT in kcal/mol */ + pf_scale = exp(-e1/kT/strlen(seq1)); + init_pf_fold(strlen(seq1)); + + /* calculate partition function and base pair probabilities */ + e1 = pf_fold(seq1, struct1); + pf1 = Make_bp_profile(strlen(seq1)); + + e2 = pf_fold(seq2, struct2); + pf2 = Make_bp_profile(strlen(seq2)); + + free_pf_arrays(); /* free space allocated for pf_fold() */ + + profile_dist = profile_edit_distance(pf1, pf2); + printf("%s free energy=%5.2f\n%s free energy=%5.2f dist=%3.2f\n", + aligned_line[0], e1, aligned_line[1], e2, profile_dist); + + free_profile(pf1); free_profile(pf2); +@} +@end example + +In a typical Unix environment you would compile this program using: +@kbd{cc -c example.c -I@var{hpath}} +and link using +@kbd{cc -o example -L@var{lpath} -lRNA -lm} +where @var{hpath} and @var{lpath} point to the location of the header +files and library, respectively. + +@node References, Function Index, Example, Top +@chapter References + +@itemize - +@item D.H. Mathews, J. Sabina, M. Zucker and H. Turner (1999)@* + Expanded sequence dependence of thermodynamic parameters provides + robust prediction of RNA secondary structure, JMB, 288: 911-940 + +@item M. Zuker and P. Stiegler (1981)@* + Optimal computer folding of large RNA sequences using + thermodynamic and auxiliary information, Nucl Acid Res 9: 133-148 + +@item D.A. Dimitrov, M.Zuker(2004)@* + Prediction of hybridization and melting for double stranded nucleic + acids, Biophysical J. 87: 215-226, + +@item J.S. McCaskill (1990)@* + The equilibrium partition function and base pair binding + probabilities for RNA secondary structures, Biopolymers 29: 1105-1119 + +@item D.H. Turner, N. Sugimoto and S.M. Freier (1988)@* + RNA structure prediction, Ann Rev Biophys Biophys Chem 17: 167-192 + +@item J.A. Jaeger, D.H. Turner and M. Zuker (1989)@* + Improved predictions of secondary structures for RNA, + Proc. Natl. Acad. Sci. 86: 7706-7710 + +@item L. He, R. Kierzek, J. SantaLucia, A.E. Walter and D.H. Turner (1991)@* + Nearest-Neighbor Parameters For GU Mismatches, + Biochemistry 30: 11124-11132 + +@item A.E. Peritz, R. Kierzek, N, Sugimoto, D.H. Turner (1991)@* + Thermodynamic Study of Internal Loops in Oligoribonucleotides ... , + Biochemistry 30: 6428--6435 + +@item A. Walter, D. Turner, J. Kim, M. Lyttle, P. M@"uller, D. Mathews and M. Zuker (1994)@* + Coaxial stacking of helices enhances binding of Oligoribonucleotides.., + Proc. Natl. Acad. Sci. 91: 9218-9222 + +@item B.A. Shapiro, (1988)@* + An algorithm for comparing multiple RNA secondary structures, + CABIOS 4, 381-393 + +@item B.A. Shapiro and K. Zhang (1990)@* + Comparing multiple RNA secondary structures using tree comparison, + CABIOS 6, 309-318 + +@item R. Bruccoleri and G. Heinrich (1988)@* + An improved algorithm for nucleic acid secondary structure display, + CABIOS 4, 167-173 + +@item W. Fontana , D.A.M. Konings, P.F. Stadler, P. Schuster (1993) @* + Statistics of RNA secondary structures, Biopolymers 33, 1389-1404 + +@item W. Fontana, P.F. Stadler, E.G. Bornberg-Bauer, T. Griesmacher, I.L. + Hofacker, M. Tacker, P. Tarazona, E.D. Weinberger, P. Schuster (1993)@* + RNA folding and combinatory landscapes, Phys. Rev. E 47: 2083-2099 + +@item I.L. Hofacker, W. Fontana, P.F. Stadler, S. Bonhoeffer, M. Tacker, P. + Schuster (1994) Fast Folding and Comparison of RNA Secondary Structures. + Monatshefte f. Chemie 125: 167-188 + +@item I.L. Hofacker (1994) The Rules of the Evolutionary Game for RNA: + A Statistical Characterization of the Sequence to Structure Mapping in RNA. + PhD Thesis, University of Vienna. + +@item I.L. Hofacker, M. Fekete, P.F. Stadler (2002). + Secondary Structure Prediction for Aligned RNA Sequences. + J. Mol. Biol. 319:1059-1066 + +@item D. Adams (1979) @* + The hitchhiker's guide to the galaxy, Pan Books, London +@end itemize + +@node Function Index, Variable Index, References, Top + +@unnumbered Function Index +@printindex fn + +@node Variable Index, , Function Index, Top + +@unnumbered Variable Index +@printindex vr + +@contents +@bye + +@c LocalWords: texinfo setfilename RNAlib settitle syncodeindex vr fn iftex +@c LocalWords: afourpaper ifinfo setchapternewpage titlepage sp vskip pt dir +@c LocalWords: filll mfe PF Params Zuker Stiegler pxref Freier al findex mol +@c LocalWords: struct int params McCaskill pf pr iindx init func kT +@c LocalWords: vindex symbolset noGU GU closingGU tetra ABCD AU rescale UA CG +@c LocalWords: multiloops nonstandards UG GAAG GA AG exp xref vars Shapiro's +@c LocalWords: homeomorphically UU HH emph un unexpand unweight RNAstruct INF +@c LocalWords: xstruc treedist swString stringdist bp profiledist PS rna Fri +@c LocalWords: nrerror stderr congruential xsubi fp utils dist seq RNAfold CA +@c LocalWords: CGCAGGGAUACCCGCG GCGCCCAUAGGGACGC initialising strlen sizeof +@c LocalWords: printf Nucl Biopolymers Sugimoto Biophys Chem Proc Natl Sci CU +@c LocalWords: Kierzek SantaLucia CABIOS Zhang Konings Bornberg RNAdistance +@c LocalWords: Griesmacher Tarazona Weinberger Phys Monatshefte enthalpies cu +@c LocalWords: Chemie hitchhiker's printindex ci cc Tetraloops tetraloops url +@c LocalWords: GAAA html http www tbi univie ac ivo Param deftypefun var ln +@c LocalWords: deftypevar const fname samp erand kbd hpath lpath lRNA lm Acad +@c LocalWords: Peritz Oligoribonucleotides Lyttle uller Bonhoeffer ifclear lt +@c LocalWords: smallexample texi ifset ifhtml href ViennaRNA mailto gt noLP +@c LocalWords: initially co noindent gmlRNA gml naview Bruccoleri struc AUGC +@c LocalWords: strcmp LocalWords Hofacker Stadler noLonelyPairs GC mutli GAUA +@c LocalWords: CGCU CUU GCA GCCA termAU PostScript Zucker JMB combinatory pre diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNApdist.1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNApdist.1 new file mode 100755 index 00000000..45bb9b6b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNApdist.1 @@ -0,0 +1,67 @@ +.\" .ER +.TH "RNAPDIST" "l" "" "Ivo Hofacker" "Vienna RNA" +.SH "NAME" +RNApdist \- calculate distances between thermodynamic RNA secondary +structures ensembles +.SH "SYNOPSIS" +\fBRNApdist [\-Xp|m|f|c] [\-B\ [file]] [\-T\ temp] [\-4] [\-d] [\-noGU] [\-noCloseGU] [\-e\ e_set] [\-P\ paramfile] [\-nsp\ pairs] + +.SH "DESCRIPTION" +.I RNApdist +reads RNA sequences from stdin and calculates structure distances between +the thermodynamic ensembles of their secondary structures. +To do this the partition function and matrix of base pairing probabilities is +computed for each sequence. The probability matrix is then condensed into a +vector holding for each base the probabilities of being unpaired, paired +upstream, or paired downstream, respectively. These profiles are compared +by a standard alignment algorithm. + +The base pair probabilities are also saved as postscript "dot plots" (as in +RNAfold) in the files "name_dp.ps", where name is the name of the sequence, +or a number if unnamed. + +.SH "OPTIONS" +.IP \fB\-Xp\fP +compare the structures pairwise (p), that is first with 2nd, third +with 4th etc. This is the default. +.IP \fB\-Xm\fP +calculate the distance matrix between all structures. The output is +formatted as a lower triangle matrix. +.IP \fB\-Xf\fP +compare each structure to the first one. +.IP \fB\-Xc\fP +compare continuously, that is i\-th with (i+1)th structure. +.IP \fB\-B\ [\fI\fP] +Print an "alignment" with gaps of the profiles, using the following symbols: +.br +( ) essentially upstream (downstream) paired bases +.br +{ } weakly upstream (downstream) paired bases +.br + | strongly paired bases without preference +.br + , weakly paired bases without preference +.br + . essentially unpaired bases. +.br + +The aligned structures are written to \fI\fP, if specified. Otherwise +output is written to stdout, unless the \-Xm option is set in which case +"backtrack.file" is used. +.PP +The \fB\-T\fP, \fB\-d\fP, \fB\-4\fP, \fB\-noGU\fP, \fB\-noCloseGU\fP, +\fB\-e\fP, \fB\-P\fP, \fB\-nsp\fP, options work as in RNAfold. + +.SH "REFERENCES" +Bonhoeffer S, McCaskill J S, Stadler P F, Schuster P, (1993) +RNA multi\-structure landscapes, Euro Biophys J:22,13\-24 +.SH "VERSION" +This man page documents version 1.6 Vienna RNA Package. +.SH "AUTHORS" +Peter F Stadler, Ivo L Hofacker, Sebastian Bonhoeffer. +.SH "BUGS" +We hoped you wouldn't find them. +.br +Comments should be sent to rna@tbi.univie.ac.at + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNApdist.1.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNApdist.1.in new file mode 100755 index 00000000..24b88a42 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNApdist.1.in @@ -0,0 +1,67 @@ +.\" .ER +.TH "RNAPDIST" "l" "" "Ivo Hofacker" "Vienna RNA" +.SH "NAME" +RNApdist \- calculate distances between thermodynamic RNA secondary +structures ensembles +.SH "SYNOPSIS" +\fBRNApdist [\-Xp|m|f|c] [\-B\ [file]] [\-T\ temp] [\-4] [\-d] [\-noGU] [\-noCloseGU] [\-e\ e_set] [\-P\ paramfile] [\-nsp\ pairs] + +.SH "DESCRIPTION" +.I RNApdist +reads RNA sequences from stdin and calculates structure distances between +the thermodynamic ensembles of their secondary structures. +To do this the partition function and matrix of base pairing probabilities is +computed for each sequence. The probability matrix is then condensed into a +vector holding for each base the probabilities of being unpaired, paired +upstream, or paired downstream, respectively. These profiles are compared +by a standard alignment algorithm. + +The base pair probabilities are also saved as postscript "dot plots" (as in +RNAfold) in the files "name_dp.ps", where name is the name of the sequence, +or a number if unnamed. + +.SH "OPTIONS" +.IP \fB\-Xp\fP +compare the structures pairwise (p), that is first with 2nd, third +with 4th etc. This is the default. +.IP \fB\-Xm\fP +calculate the distance matrix between all structures. The output is +formatted as a lower triangle matrix. +.IP \fB\-Xf\fP +compare each structure to the first one. +.IP \fB\-Xc\fP +compare continuously, that is i\-th with (i+1)th structure. +.IP \fB\-B\ [\fI\fP] +Print an "alignment" with gaps of the profiles, using the following symbols: +.br +( ) essentially upstream (downstream) paired bases +.br +{ } weakly upstream (downstream) paired bases +.br + | strongly paired bases without preference +.br + , weakly paired bases without preference +.br + . essentially unpaired bases. +.br + +The aligned structures are written to \fI\fP, if specified. Otherwise +output is written to stdout, unless the \-Xm option is set in which case +"backtrack.file" is used. +.PP +The \fB\-T\fP, \fB\-d\fP, \fB\-4\fP, \fB\-noGU\fP, \fB\-noCloseGU\fP, +\fB\-e\fP, \fB\-P\fP, \fB\-nsp\fP, options work as in RNAfold. + +.SH "REFERENCES" +Bonhoeffer S, McCaskill J S, Stadler P F, Schuster P, (1993) +RNA multi\-structure landscapes, Euro Biophys J:22,13\-24 +.SH "VERSION" +This man page documents version @VERSION@ Vienna RNA Package. +.SH "AUTHORS" +Peter F Stadler, Ivo L Hofacker, Sebastian Bonhoeffer. +.SH "BUGS" +We hoped you wouldn't find them. +.br +Comments should be sent to rna@tbi.univie.ac.at + + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplfold.1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplfold.1 new file mode 100755 index 00000000..eea198a4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplfold.1 @@ -0,0 +1,46 @@ +.\" .ER +.TH "RNAPLFOLD" "l" "1.6" "Stephan Bernhart" "ViennaRNA" +.SH "NAME" +RNAplfold \- calculate locally stable secondary structure - pair probabilities +.SH "SYNOPSIS" +\fBRNAplfold\fP [\-L span] [\-T\ \fItemp\fP] [\-4] [\-noLP] [\-noGU] +[\-noCloseGU] [\-P\ \fIparamfile\fP] [\-nsp\ \fIpairs\fP] +[\-d[0|2] [\-c \fIcutoff\fP] + +.SH "DESCRIPTION" +.I RNAplfold +computes local pair probabilities for base pairs with a maximal span +of L. The probabilities are averaged over all windows of size L that +contain the base pair. For a sequence of length n and a window size of L the +algorithm uses only O(n+L*L) memory and O(n*L*L) CPU time. Thus it is +practical to "scan" very large genomes for short stable RNA structures. + +Output consists of a dot plot in postscript file, where the averaged pair probabilities +can easily be parsed and visually inspected. + +.SH "OPTIONS" +.TP +.B \-L span +Set the window Size to span. I.e. no +pairs (i,j) with j\-i>span will be allowed. default = 70 +.PP +.B \-c cutoff +Report only base pairs with an average probability > cutoff default=0.01. +.PP +The \fB\-T\fP, \fB\-d\fP \fB\-4\fP, \fB\-noGU\fP, \fB\-noCloseGU\fP, +\fB\-e\fP, \fB\-P\fP, \fB\-nsp\fP, options work as in +RNAfold. + +.SH "SEE ALSO" +RNALfold(1) + +.SH "REFERENCES" +S. H. Bernhart, I.L. Hofacker, and P.F. Stadler +"Local Base Pairing Probabilities in Large RNAs" +Bioinformatics (2006) in press +.SH "VERSION" +This man page documents version 1.6 Vienna RNA Package. +.SH "AUTHORS" +Stephan H Bernhart, Ivo L Hofacker, Peter F Stadler. +.br +Send comments to diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplfold.1.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplfold.1.in new file mode 100755 index 00000000..eea198a4 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplfold.1.in @@ -0,0 +1,46 @@ +.\" .ER +.TH "RNAPLFOLD" "l" "1.6" "Stephan Bernhart" "ViennaRNA" +.SH "NAME" +RNAplfold \- calculate locally stable secondary structure - pair probabilities +.SH "SYNOPSIS" +\fBRNAplfold\fP [\-L span] [\-T\ \fItemp\fP] [\-4] [\-noLP] [\-noGU] +[\-noCloseGU] [\-P\ \fIparamfile\fP] [\-nsp\ \fIpairs\fP] +[\-d[0|2] [\-c \fIcutoff\fP] + +.SH "DESCRIPTION" +.I RNAplfold +computes local pair probabilities for base pairs with a maximal span +of L. The probabilities are averaged over all windows of size L that +contain the base pair. For a sequence of length n and a window size of L the +algorithm uses only O(n+L*L) memory and O(n*L*L) CPU time. Thus it is +practical to "scan" very large genomes for short stable RNA structures. + +Output consists of a dot plot in postscript file, where the averaged pair probabilities +can easily be parsed and visually inspected. + +.SH "OPTIONS" +.TP +.B \-L span +Set the window Size to span. I.e. no +pairs (i,j) with j\-i>span will be allowed. default = 70 +.PP +.B \-c cutoff +Report only base pairs with an average probability > cutoff default=0.01. +.PP +The \fB\-T\fP, \fB\-d\fP \fB\-4\fP, \fB\-noGU\fP, \fB\-noCloseGU\fP, +\fB\-e\fP, \fB\-P\fP, \fB\-nsp\fP, options work as in +RNAfold. + +.SH "SEE ALSO" +RNALfold(1) + +.SH "REFERENCES" +S. H. Bernhart, I.L. Hofacker, and P.F. Stadler +"Local Base Pairing Probabilities in Large RNAs" +Bioinformatics (2006) in press +.SH "VERSION" +This man page documents version 1.6 Vienna RNA Package. +.SH "AUTHORS" +Stephan H Bernhart, Ivo L Hofacker, Peter F Stadler. +.br +Send comments to diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplot.1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplot.1 new file mode 100755 index 00000000..aafeb070 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplot.1 @@ -0,0 +1,47 @@ +.\" .ER +.TH "RNAPLOT" "l" "" "Ivo Hofacker" "Vienna RNA" +.SH "NAME" +RNAplot \- Draw RNA Secondary Structures +.SH "SYNOPSIS" +\fBRNAplot [\-t\ \fI0|1\fP] [\-o\ \fIps|gml|xrna|svg\fP] +[\-\-pre\ \fIstring\fP] [\-\-post \fIstring\fP] + +.SH "DESCRIPTION" +.I RNAplot +reads RNA sequences and structures from stdin in the format as produced by +RNAfold and produces drawings of the secondary structure graph. +The coordinates are produced using either E. Bruccoleri's naview routines, +or a simple radial layout method. + +If the sequence was preceded by a line of the form +.br +> name +.br +the output file will be named "name_ss.ps" otherwise "rna.ps" is used. +Existing files of the same name will be overwritten. + + +.SH "OPTIONS" +.TP +.B \-t\ \fI0|1\fP +Choose the layout algorithm. Simple radial layout if 0, or naview if 1. +Default is 1. +.TP +.B \-o\ \fIps|gml|xrna|svg\fP +Specify output format. Available formats are: PostScript (ps), Graph +Meta Language (gml), Scalable Vector Graphics (svg), and XRNA save file +(xrna). Output filenames will end in ".ps" ".gml" ".svg" ".ss", +respectively. Default is ps. +.TP +.B \-\-pre \fIstring\fP \-\-post \fIstring\fP +Add annotation macros to postscript file, and add the postscript code +in "string" just before (\-\-pre) or after (\-\-post) the code to draw the +structure. This is an easy way to add annotation, e.g to mark position +15 with circle use \-\-post "15 cmark" + +.SH "VERSION" +This man page documents version 1.6 Vienna RNA Package. +.SH "AUTHOR" +Ivo L Hofacker +.br +Send comments and bug reports to diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplot.1.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplot.1.in new file mode 100755 index 00000000..7a5d02ff --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAplot.1.in @@ -0,0 +1,47 @@ +.\" .ER +.TH "RNAPLOT" "l" "" "Ivo Hofacker" "Vienna RNA" +.SH "NAME" +RNAplot \- Draw RNA Secondary Structures +.SH "SYNOPSIS" +\fBRNAplot [\-t\ \fI0|1\fP] [\-o\ \fIps|gml|xrna|svg\fP] +[\-\-pre\ \fIstring\fP] [\-\-post \fIstring\fP] + +.SH "DESCRIPTION" +.I RNAplot +reads RNA sequences and structures from stdin in the format as produced by +RNAfold and produces drawings of the secondary structure graph. +The coordinates are produced using either E. Bruccoleri's naview routines, +or a simple radial layout method. + +If the sequence was preceded by a line of the form +.br +> name +.br +the output file will be named "name_ss.ps" otherwise "rna.ps" is used. +Existing files of the same name will be overwritten. + + +.SH "OPTIONS" +.TP +.B \-t\ \fI0|1\fP +Choose the layout algorithm. Simple radial layout if 0, or naview if 1. +Default is 1. +.TP +.B \-o\ \fIps|gml|xrna|svg\fP +Specify output format. Available formats are: PostScript (ps), Graph +Meta Language (gml), Scalable Vector Graphics (svg), and XRNA save file +(xrna). Output filenames will end in ".ps" ".gml" ".svg" ".ss", +respectively. Default is ps. +.TP +.B \-\-pre \fIstring\fP \-\-post \fIstring\fP +Add annotation macros to postscript file, and add the postscript code +in "string" just before (\-\-pre) or after (\-\-post) the code to draw the +structure. This is an easy way to add annotation, e.g to mark position +15 with circle use \-\-post "15 cmark" + +.SH "VERSION" +This man page documents version @VERSION@ Vienna RNA Package. +.SH "AUTHOR" +Ivo L Hofacker +.br +Send comments and bug reports to diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAsubopt.1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAsubopt.1 new file mode 100755 index 00000000..3cccb2b0 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAsubopt.1 @@ -0,0 +1,78 @@ +.\" .ER +.TH "RNASUBOPT" "l" "" "Ivo Hofacker" "Vienna RNA" +.SH "NAME" +RNAsubopt \- calculate suboptimal secondary structures of RNAs +.SH "SYNOPSIS" +\fBRNAsubopt [\-e\ \fIrange\fP] [\-ep \fIprange\fP] [\-s] [\-p\ \fIn\fP] [\-T\ \fItemp\fP] [\-d[0|1|2|3]] [\-4] [\-noGU] [\-noCloseGU] [\-P\ paramfile] [\-logML] [\-nsp\ pairs] + +.SH "DESCRIPTION" +.I RNAsubopt +reads RNA sequences from stdin and calculates all suboptimal secondary +structures within a user defined energy range above the minimum free +energy (mfe). It prints the suboptimal structures in bracket notation +followed by the energy in kcal/mol to stdout. +Be careful, the number of structures returned grows exponentially with both +sequence length and energy range. +.SH "OPTIONS" +.TP +.B \-e\ \fIrange\fP +Calculate suboptimal structures within \fIrange\fP kcal/mol of the mfe. +Default is 1. +.TP +.B \-s +Sort the structures by energy. Since the sort in is done in memory, +this becomes impractical when the number of structures produced goes +into millions. In such cases better pipe the output through `sort +1n'. +.TP +.B \-p \fIn\fP +Instead of producing all suboptimals in a range, produce a random sample +of \fIn\fP suboptimal structures, drawn with probabilities equal to +their Boltzmann weights via stochastic backtracking in the partition +function. +.TP +.B \-d[0|1|2|3] +Change treatment of dangling ends, as in RNAfold and RNAeval. The +default is \-d2 (as in partition function folding). If \-d1 or \-d3 are +specified the structures are generated as with \-d2 but energies are +re\-evaluated before printing. +.TP +.B \-logML +re\-calculate energies of structures using a logarithmic energy function for +multi\-loops before output. This option does not effect structure +generation, only the energies that is printed out. Since logML lowers +energies somewhat, some structures may be missing. +.TP +.B \-ep \fIprange\fP +Only print structures with energy within \fIprange\fR of the mfe. Useful in +conjunction with \-logML, \-d1 or \-d3: while the \-e option specifies the +range before energies are re\-evaluated, \-ep specifies the maximum energy +after re\-evaluation. +.TP +.B \-noLP +Only produce structures without lonely pairs (helices of length 1). This +reduces the number of structures drastically and should therefore be used +for longer sequences and larger energy ranges. +.PP +The \fB\-T\fP, \fB\-4\fP, \fB\-noGU\fP, \fB\-noCloseGU\fP, +\fB\-P\fP, \fB\-nsp\fP, options work as in RNAfold. + + +.SH "REFERENCES" +Please cite: +.br +S. Wuchty, W. Fontana, I. L. Hofacker and P. Schuster +"Complete Suboptimal Folding of RNA and the Stability of +Secondary Structures", +Biopolymers, 49, 145\-165 (1999) + +.SH "VERSION" +This man page documents version 1.6 Vienna RNA Package. + +.SH "AUTHORS" +Ivo L Hofacker, Stefan Wuchty, Walter Fontana. +.br +Send comments and bug reports to +\" LocalWords: RNASUBOPT RNAsubopt suboptimal RNAs fBRNAsubopt fIrange fP ep +\" LocalWords: prange lodos fItemp noGU noCloseGU paramfile logML nsp stdin +\" LocalWords: mfe kcal mol stdout TP RNAfold RNAeval multi fIprange noLP fB +\" LocalWords: br Wuchty Fontana Hofacker Schuster Biopolymers Ivo diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAsubopt.1.in b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAsubopt.1.in new file mode 100755 index 00000000..89e34370 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/RNAsubopt.1.in @@ -0,0 +1,78 @@ +.\" .ER +.TH "RNASUBOPT" "l" "" "Ivo Hofacker" "Vienna RNA" +.SH "NAME" +RNAsubopt \- calculate suboptimal secondary structures of RNAs +.SH "SYNOPSIS" +\fBRNAsubopt [\-e\ \fIrange\fP] [\-ep \fIprange\fP] [\-s] [\-p\ \fIn\fP] [\-T\ \fItemp\fP] [\-d[0|1|2|3]] [\-4] [\-noGU] [\-noCloseGU] [\-P\ paramfile] [\-logML] [\-nsp\ pairs] + +.SH "DESCRIPTION" +.I RNAsubopt +reads RNA sequences from stdin and calculates all suboptimal secondary +structures within a user defined energy range above the minimum free +energy (mfe). It prints the suboptimal structures in bracket notation +followed by the energy in kcal/mol to stdout. +Be careful, the number of structures returned grows exponentially with both +sequence length and energy range. +.SH "OPTIONS" +.TP +.B \-e\ \fIrange\fP +Calculate suboptimal structures within \fIrange\fP kcal/mol of the mfe. +Default is 1. +.TP +.B \-s +Sort the structures by energy. Since the sort in is done in memory, +this becomes impractical when the number of structures produced goes +into millions. In such cases better pipe the output through `sort +1n'. +.TP +.B \-p \fIn\fP +Instead of producing all suboptimals in a range, produce a random sample +of \fIn\fP suboptimal structures, drawn with probabilities equal to +their Boltzmann weights via stochastic backtracking in the partition +function. +.TP +.B \-d[0|1|2|3] +Change treatment of dangling ends, as in RNAfold and RNAeval. The +default is \-d2 (as in partition function folding). If \-d1 or \-d3 are +specified the structures are generated as with \-d2 but energies are +re\-evaluated before printing. +.TP +.B \-logML +re\-calculate energies of structures using a logarithmic energy function for +multi\-loops before output. This option does not effect structure +generation, only the energies that is printed out. Since logML lowers +energies somewhat, some structures may be missing. +.TP +.B \-ep \fIprange\fP +Only print structures with energy within \fIprange\fR of the mfe. Useful in +conjunction with \-logML, \-d1 or \-d3: while the \-e option specifies the +range before energies are re\-evaluated, \-ep specifies the maximum energy +after re\-evaluation. +.TP +.B \-noLP +Only produce structures without lonely pairs (helices of length 1). This +reduces the number of structures drastically and should therefore be used +for longer sequences and larger energy ranges. +.PP +The \fB\-T\fP, \fB\-4\fP, \fB\-noGU\fP, \fB\-noCloseGU\fP, +\fB\-P\fP, \fB\-nsp\fP, options work as in RNAfold. + + +.SH "REFERENCES" +Please cite: +.br +S. Wuchty, W. Fontana, I. L. Hofacker and P. Schuster +"Complete Suboptimal Folding of RNA and the Stability of +Secondary Structures", +Biopolymers, 49, 145\-165 (1999) + +.SH "VERSION" +This man page documents version @VERSION@ Vienna RNA Package. + +.SH "AUTHORS" +Ivo L Hofacker, Stefan Wuchty, Walter Fontana. +.br +Send comments and bug reports to +\" LocalWords: RNASUBOPT RNAsubopt suboptimal RNAs fBRNAsubopt fIrange fP ep +\" LocalWords: prange lodos fItemp noGU noCloseGU paramfile logML nsp stdin +\" LocalWords: mfe kcal mol stdout TP RNAfold RNAeval multi fIprange noLP fB +\" LocalWords: br Wuchty Fontana Hofacker Schuster Biopolymers Ivo diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/texinfo.tex b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/texinfo.tex new file mode 100755 index 00000000..58bea4dd --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/man/texinfo.tex @@ -0,0 +1,7086 @@ +% texinfo.tex -- TeX macros to handle Texinfo files. +% +% Load plain if necessary, i.e., if running under initex. +\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi +% +\def\texinfoversion{2005-01-30.17} +% +% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, +% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software +% Foundation, Inc. +% +% This texinfo.tex file is free software; you can redistribute it and/or +% modify it under the terms of the GNU General Public License as +% published by the Free Software Foundation; either version 2, or (at +% your option) any later version. +% +% This texinfo.tex file is distributed in the hope that it will be +% useful, but WITHOUT ANY WARRANTY; without even the implied warranty +% of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +% General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this texinfo.tex file; see the file COPYING. If not, write +% to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +% Boston, MA 02111-1307, USA. +% +% As a special exception, when this file is read by TeX when processing +% a Texinfo source document, you may use the result without +% restriction. (This has been our intent since Texinfo was invented.) +% +% Please try the latest version of texinfo.tex before submitting bug +% reports; you can get the latest version from: +% http://www.gnu.org/software/texinfo/ (the Texinfo home page), or +% ftp://tug.org/tex/texinfo.tex +% (and all CTAN mirrors, see http://www.ctan.org). +% The texinfo.tex in any given distribution could well be out +% of date, so if that's what you're using, please check. +% +% Send bug reports to bug-texinfo@gnu.org. Please include including a +% complete document in each bug report with which we can reproduce the +% problem. Patches are, of course, greatly appreciated. +% +% To process a Texinfo manual with TeX, it's most reliable to use the +% texi2dvi shell script that comes with the distribution. For a simple +% manual foo.texi, however, you can get away with this: +% tex foo.texi +% texindex foo.?? +% tex foo.texi +% tex foo.texi +% dvips foo.dvi -o # or whatever; this makes foo.ps. +% The extra TeX runs get the cross-reference information correct. +% Sometimes one run after texindex suffices, and sometimes you need more +% than two; texi2dvi does it as many times as necessary. +% +% It is possible to adapt texinfo.tex for other languages, to some +% extent. You can get the existing language-specific files from the +% full Texinfo distribution. +% +% The GNU Texinfo home page is http://www.gnu.org/software/texinfo. + + +\message{Loading texinfo [version \texinfoversion]:} + +% If in a .fmt file, print the version number +% and turn on active characters that we couldn't do earlier because +% they might have appeared in the input file name. +\everyjob{\message{[Texinfo version \texinfoversion]}% + \catcode`+=\active \catcode`\_=\active} + +\message{Basics,} +\chardef\other=12 + +% We never want plain's \outer definition of \+ in Texinfo. +% For @tex, we can use \tabalign. +\let\+ = \relax + +% Save some plain tex macros whose names we will redefine. +\let\ptexb=\b +\let\ptexbullet=\bullet +\let\ptexc=\c +\let\ptexcomma=\, +\let\ptexdot=\. +\let\ptexdots=\dots +\let\ptexend=\end +\let\ptexequiv=\equiv +\let\ptexexclam=\! +\let\ptexfootnote=\footnote +\let\ptexgtr=> +\let\ptexhat=^ +\let\ptexi=\i +\let\ptexindent=\indent +\let\ptexinsert=\insert +\let\ptexlbrace=\{ +\let\ptexless=< +\let\ptexnewwrite\newwrite +\let\ptexnoindent=\noindent +\let\ptexplus=+ +\let\ptexrbrace=\} +\let\ptexslash=\/ +\let\ptexstar=\* +\let\ptext=\t + +% If this character appears in an error message or help string, it +% starts a new line in the output. +\newlinechar = `^^J + +% Use TeX 3.0's \inputlineno to get the line number, for better error +% messages, but if we're using an old version of TeX, don't do anything. +% +\ifx\inputlineno\thisisundefined + \let\linenumber = \empty % Pre-3.0. +\else + \def\linenumber{l.\the\inputlineno:\space} +\fi + +% Set up fixed words for English if not already set. +\ifx\putwordAppendix\undefined \gdef\putwordAppendix{Appendix}\fi +\ifx\putwordChapter\undefined \gdef\putwordChapter{Chapter}\fi +\ifx\putwordfile\undefined \gdef\putwordfile{file}\fi +\ifx\putwordin\undefined \gdef\putwordin{in}\fi +\ifx\putwordIndexIsEmpty\undefined \gdef\putwordIndexIsEmpty{(Index is empty)}\fi +\ifx\putwordIndexNonexistent\undefined \gdef\putwordIndexNonexistent{(Index is nonexistent)}\fi +\ifx\putwordInfo\undefined \gdef\putwordInfo{Info}\fi +\ifx\putwordInstanceVariableof\undefined \gdef\putwordInstanceVariableof{Instance Variable of}\fi +\ifx\putwordMethodon\undefined \gdef\putwordMethodon{Method on}\fi +\ifx\putwordNoTitle\undefined \gdef\putwordNoTitle{No Title}\fi +\ifx\putwordof\undefined \gdef\putwordof{of}\fi +\ifx\putwordon\undefined \gdef\putwordon{on}\fi +\ifx\putwordpage\undefined \gdef\putwordpage{page}\fi +\ifx\putwordsection\undefined \gdef\putwordsection{section}\fi +\ifx\putwordSection\undefined \gdef\putwordSection{Section}\fi +\ifx\putwordsee\undefined \gdef\putwordsee{see}\fi +\ifx\putwordSee\undefined \gdef\putwordSee{See}\fi +\ifx\putwordShortTOC\undefined \gdef\putwordShortTOC{Short Contents}\fi +\ifx\putwordTOC\undefined \gdef\putwordTOC{Table of Contents}\fi +% +\ifx\putwordMJan\undefined \gdef\putwordMJan{January}\fi +\ifx\putwordMFeb\undefined \gdef\putwordMFeb{February}\fi +\ifx\putwordMMar\undefined \gdef\putwordMMar{March}\fi +\ifx\putwordMApr\undefined \gdef\putwordMApr{April}\fi +\ifx\putwordMMay\undefined \gdef\putwordMMay{May}\fi +\ifx\putwordMJun\undefined \gdef\putwordMJun{June}\fi +\ifx\putwordMJul\undefined \gdef\putwordMJul{July}\fi +\ifx\putwordMAug\undefined \gdef\putwordMAug{August}\fi +\ifx\putwordMSep\undefined \gdef\putwordMSep{September}\fi +\ifx\putwordMOct\undefined \gdef\putwordMOct{October}\fi +\ifx\putwordMNov\undefined \gdef\putwordMNov{November}\fi +\ifx\putwordMDec\undefined \gdef\putwordMDec{December}\fi +% +\ifx\putwordDefmac\undefined \gdef\putwordDefmac{Macro}\fi +\ifx\putwordDefspec\undefined \gdef\putwordDefspec{Special Form}\fi +\ifx\putwordDefvar\undefined \gdef\putwordDefvar{Variable}\fi +\ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi +\ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi + +% In some macros, we cannot use the `\? notation---the left quote is +% in some cases the escape char. +\chardef\colonChar = `\: +\chardef\commaChar = `\, +\chardef\dotChar = `\. +\chardef\exclamChar= `\! +\chardef\questChar = `\? +\chardef\semiChar = `\; +\chardef\underChar = `\_ + +\chardef\spaceChar = `\ % +\chardef\spacecat = 10 +\def\spaceisspace{\catcode\spaceChar=\spacecat} + +% Ignore a token. +% +\def\gobble#1{} + +% The following is used inside several \edef's. +\def\makecsname#1{\expandafter\noexpand\csname#1\endcsname} + +% Hyphenation fixes. +\hyphenation{ + Flor-i-da Ghost-script Ghost-view Mac-OS Post-Script + ap-pen-dix bit-map bit-maps + data-base data-bases eshell fall-ing half-way long-est man-u-script + man-u-scripts mini-buf-fer mini-buf-fers over-view par-a-digm + par-a-digms rath-er rec-tan-gu-lar ro-bot-ics se-vere-ly set-up spa-ces + spell-ing spell-ings + stand-alone strong-est time-stamp time-stamps which-ever white-space + wide-spread wrap-around +} + +% Margin to add to right of even pages, to left of odd pages. +\newdimen\bindingoffset +\newdimen\normaloffset +\newdimen\pagewidth \newdimen\pageheight + +% For a final copy, take out the rectangles +% that mark overfull boxes (in case you have decided +% that the text looks ok even though it passes the margin). +% +\def\finalout{\overfullrule=0pt} + +% @| inserts a changebar to the left of the current line. It should +% surround any changed text. This approach does *not* work if the +% change spans more than two lines of output. To handle that, we would +% have adopt a much more difficult approach (putting marks into the main +% vertical list for the beginning and end of each change). +% +\def\|{% + % \vadjust can only be used in horizontal mode. + \leavevmode + % + % Append this vertical mode material after the current line in the output. + \vadjust{% + % We want to insert a rule with the height and depth of the current + % leading; that is exactly what \strutbox is supposed to record. + \vskip-\baselineskip + % + % \vadjust-items are inserted at the left edge of the type. So + % the \llap here moves out into the left-hand margin. + \llap{% + % + % For a thicker or thinner bar, change the `1pt'. + \vrule height\baselineskip width1pt + % + % This is the space between the bar and the text. + \hskip 12pt + }% + }% +} + +% Sometimes it is convenient to have everything in the transcript file +% and nothing on the terminal. We don't just call \tracingall here, +% since that produces some useless output on the terminal. We also make +% some effort to order the tracing commands to reduce output in the log +% file; cf. trace.sty in LaTeX. +% +\def\gloggingall{\begingroup \globaldefs = 1 \loggingall \endgroup}% +\def\loggingall{% + \tracingstats2 + \tracingpages1 + \tracinglostchars2 % 2 gives us more in etex + \tracingparagraphs1 + \tracingoutput1 + \tracingmacros2 + \tracingrestores1 + \showboxbreadth\maxdimen \showboxdepth\maxdimen + \ifx\eTeXversion\undefined\else % etex gives us more logging + \tracingscantokens1 + \tracingifs1 + \tracinggroups1 + \tracingnesting2 + \tracingassigns1 + \fi + \tracingcommands3 % 3 gives us more in etex + \errorcontextlines16 +}% + +% add check for \lastpenalty to plain's definitions. If the last thing +% we did was a \nobreak, we don't want to insert more space. +% +\def\smallbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\smallskipamount + \removelastskip\penalty-50\smallskip\fi\fi} +\def\medbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\medskipamount + \removelastskip\penalty-100\medskip\fi\fi} +\def\bigbreak{\ifnum\lastpenalty<10000\par\ifdim\lastskip<\bigskipamount + \removelastskip\penalty-200\bigskip\fi\fi} + +% For @cropmarks command. +% Do @cropmarks to get crop marks. +% +\newif\ifcropmarks +\let\cropmarks = \cropmarkstrue +% +% Dimensions to add cropmarks at corners. +% Added by P. A. MacKay, 12 Nov. 1986 +% +\newdimen\outerhsize \newdimen\outervsize % set by the paper size routines +\newdimen\cornerlong \cornerlong=1pc +\newdimen\cornerthick \cornerthick=.3pt +\newdimen\topandbottommargin \topandbottommargin=.75in + +% Main output routine. +\chardef\PAGE = 255 +\output = {\onepageout{\pagecontents\PAGE}} + +\newbox\headlinebox +\newbox\footlinebox + +% \onepageout takes a vbox as an argument. Note that \pagecontents +% does insertions, but you have to call it yourself. +\def\onepageout#1{% + \ifcropmarks \hoffset=0pt \else \hoffset=\normaloffset \fi + % + \ifodd\pageno \advance\hoffset by \bindingoffset + \else \advance\hoffset by -\bindingoffset\fi + % + % Do this outside of the \shipout so @code etc. will be expanded in + % the headline as they should be, not taken literally (outputting ''code). + \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}% + \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}% + % + {% + % Have to do this stuff outside the \shipout because we want it to + % take effect in \write's, yet the group defined by the \vbox ends + % before the \shipout runs. + % + \escapechar = `\\ % use backslash in output files. + \indexdummies % don't expand commands in the output. + \normalturnoffactive % \ in index entries must not stay \, e.g., if + % the page break happens to be in the middle of an example. + \shipout\vbox{% + % Do this early so pdf references go to the beginning of the page. + \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi + % + \ifcropmarks \vbox to \outervsize\bgroup + \hsize = \outerhsize + \vskip-\topandbottommargin + \vtop to0pt{% + \line{\ewtop\hfil\ewtop}% + \nointerlineskip + \line{% + \vbox{\moveleft\cornerthick\nstop}% + \hfill + \vbox{\moveright\cornerthick\nstop}% + }% + \vss}% + \vskip\topandbottommargin + \line\bgroup + \hfil % center the page within the outer (page) hsize. + \ifodd\pageno\hskip\bindingoffset\fi + \vbox\bgroup + \fi + % + \unvbox\headlinebox + \pagebody{#1}% + \ifdim\ht\footlinebox > 0pt + % Only leave this space if the footline is nonempty. + % (We lessened \vsize for it in \oddfootingxxx.) + % The \baselineskip=24pt in plain's \makefootline has no effect. + \vskip 2\baselineskip + \unvbox\footlinebox + \fi + % + \ifcropmarks + \egroup % end of \vbox\bgroup + \hfil\egroup % end of (centering) \line\bgroup + \vskip\topandbottommargin plus1fill minus1fill + \boxmaxdepth = \cornerthick + \vbox to0pt{\vss + \line{% + \vbox{\moveleft\cornerthick\nsbot}% + \hfill + \vbox{\moveright\cornerthick\nsbot}% + }% + \nointerlineskip + \line{\ewbot\hfil\ewbot}% + }% + \egroup % \vbox from first cropmarks clause + \fi + }% end of \shipout\vbox + }% end of group with \normalturnoffactive + \advancepageno + \ifnum\outputpenalty>-20000 \else\dosupereject\fi +} + +\newinsert\margin \dimen\margin=\maxdimen + +\def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}} +{\catcode`\@ =11 +\gdef\pagecontents#1{\ifvoid\topins\else\unvbox\topins\fi +% marginal hacks, juha@viisa.uucp (Juha Takala) +\ifvoid\margin\else % marginal info is present + \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi +\dimen@=\dp#1 \unvbox#1 +\ifvoid\footins\else\vskip\skip\footins\footnoterule \unvbox\footins\fi +\ifr@ggedbottom \kern-\dimen@ \vfil \fi} +} + +% Here are the rules for the cropmarks. Note that they are +% offset so that the space between them is truly \outerhsize or \outervsize +% (P. A. MacKay, 12 November, 1986) +% +\def\ewtop{\vrule height\cornerthick depth0pt width\cornerlong} +\def\nstop{\vbox + {\hrule height\cornerthick depth\cornerlong width\cornerthick}} +\def\ewbot{\vrule height0pt depth\cornerthick width\cornerlong} +\def\nsbot{\vbox + {\hrule height\cornerlong depth\cornerthick width\cornerthick}} + +% Parse an argument, then pass it to #1. The argument is the rest of +% the input line (except we remove a trailing comment). #1 should be a +% macro which expects an ordinary undelimited TeX argument. +% +\def\parsearg{\parseargusing{}} +\def\parseargusing#1#2{% + \def\next{#2}% + \begingroup + \obeylines + \spaceisspace + #1% + \parseargline\empty% Insert the \empty token, see \finishparsearg below. +} + +{\obeylines % + \gdef\parseargline#1^^M{% + \endgroup % End of the group started in \parsearg. + \argremovecomment #1\comment\ArgTerm% + }% +} + +% First remove any @comment, then any @c comment. +\def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} +\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} + +% Each occurence of `\^^M' or `\^^M' is replaced by a single space. +% +% \argremovec might leave us with trailing space, e.g., +% @end itemize @c foo +% This space token undergoes the same procedure and is eventually removed +% by \finishparsearg. +% +\def\argcheckspaces#1\^^M{\argcheckspacesX#1\^^M \^^M} +\def\argcheckspacesX#1 \^^M{\argcheckspacesY#1\^^M} +\def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% + \def\temp{#3}% + \ifx\temp\empty + % We cannot use \next here, as it holds the macro to run; + % thus we reuse \temp. + \let\temp\finishparsearg + \else + \let\temp\argcheckspaces + \fi + % Put the space token in: + \temp#1 #3\ArgTerm +} + +% If a _delimited_ argument is enclosed in braces, they get stripped; so +% to get _exactly_ the rest of the line, we had to prevent such situation. +% We prepended an \empty token at the very beginning and we expand it now, +% just before passing the control to \next. +% (Similarily, we have to think about #3 of \argcheckspacesY above: it is +% either the null string, or it ends with \^^M---thus there is no danger +% that a pair of braces would be stripped. +% +% But first, we have to remove the trailing space token. +% +\def\finishparsearg#1 \ArgTerm{\expandafter\next\expandafter{#1}} + +% \parseargdef\foo{...} +% is roughly equivalent to +% \def\foo{\parsearg\Xfoo} +% \def\Xfoo#1{...} +% +% Actually, I use \csname\string\foo\endcsname, ie. \\foo, as it is my +% favourite TeX trick. --kasal, 16nov03 + +\def\parseargdef#1{% + \expandafter \doparseargdef \csname\string#1\endcsname #1% +} +\def\doparseargdef#1#2{% + \def#2{\parsearg#1}% + \def#1##1% +} + +% Several utility definitions with active space: +{ + \obeyspaces + \gdef\obeyedspace{ } + + % Make each space character in the input produce a normal interword + % space in the output. Don't allow a line break at this space, as this + % is used only in environments like @example, where each line of input + % should produce a line of output anyway. + % + \gdef\sepspaces{\obeyspaces\let =\tie} + + % If an index command is used in an @example environment, any spaces + % therein should become regular spaces in the raw index file, not the + % expansion of \tie (\leavevmode \penalty \@M \ ). + \gdef\unsepspaces{\let =\space} +} + + +\def\flushcr{\ifx\par\lisppar \def\next##1{}\else \let\next=\relax \fi \next} + +% Define the framework for environments in texinfo.tex. It's used like this: +% +% \envdef\foo{...} +% \def\Efoo{...} +% +% It's the responsibility of \envdef to insert \begingroup before the +% actual body; @end closes the group after calling \Efoo. \envdef also +% defines \thisenv, so the current environment is known; @end checks +% whether the environment name matches. The \checkenv macro can also be +% used to check whether the current environment is the one expected. +% +% Non-false conditionals (@iftex, @ifset) don't fit into this, so they +% are not treated as enviroments; they don't open a group. (The +% implementation of @end takes care not to call \endgroup in this +% special case.) + + +% At runtime, environments start with this: +\def\startenvironment#1{\begingroup\def\thisenv{#1}} +% initialize +\let\thisenv\empty + +% ... but they get defined via ``\envdef\foo{...}'': +\long\def\envdef#1#2{\def#1{\startenvironment#1#2}} +\def\envparseargdef#1#2{\parseargdef#1{\startenvironment#1#2}} + +% Check whether we're in the right environment: +\def\checkenv#1{% + \def\temp{#1}% + \ifx\thisenv\temp + \else + \badenverr + \fi +} + +% Evironment mismatch, #1 expected: +\def\badenverr{% + \errhelp = \EMsimple + \errmessage{This command can appear only \inenvironment\temp, + not \inenvironment\thisenv}% +} +\def\inenvironment#1{% + \ifx#1\empty + out of any environment% + \else + in environment \expandafter\string#1% + \fi +} + +% @end foo executes the definition of \Efoo. +% But first, it executes a specialized version of \checkenv +% +\parseargdef\end{% + \if 1\csname iscond.#1\endcsname + \else + % The general wording of \badenverr may not be ideal, but... --kasal, 06nov03 + \expandafter\checkenv\csname#1\endcsname + \csname E#1\endcsname + \endgroup + \fi +} + +\newhelp\EMsimple{Press RETURN to continue.} + + +%% Simple single-character @ commands + +% @@ prints an @ +% Kludge this until the fonts are right (grr). +\def\@{{\tt\char64}} + +% This is turned off because it was never documented +% and you can use @w{...} around a quote to suppress ligatures. +%% Define @` and @' to be the same as ` and ' +%% but suppressing ligatures. +%\def\`{{`}} +%\def\'{{'}} + +% Used to generate quoted braces. +\def\mylbrace {{\tt\char123}} +\def\myrbrace {{\tt\char125}} +\let\{=\mylbrace +\let\}=\myrbrace +\begingroup + % Definitions to produce \{ and \} commands for indices, + % and @{ and @} for the aux file. + \catcode`\{ = \other \catcode`\} = \other + \catcode`\[ = 1 \catcode`\] = 2 + \catcode`\! = 0 \catcode`\\ = \other + !gdef!lbracecmd[\{]% + !gdef!rbracecmd[\}]% + !gdef!lbraceatcmd[@{]% + !gdef!rbraceatcmd[@}]% +!endgroup + +% @comma{} to avoid , parsing problems. +\let\comma = , + +% Accents: @, @dotaccent @ringaccent @ubaraccent @udotaccent +% Others are defined by plain TeX: @` @' @" @^ @~ @= @u @v @H. +\let\, = \c +\let\dotaccent = \. +\def\ringaccent#1{{\accent23 #1}} +\let\tieaccent = \t +\let\ubaraccent = \b +\let\udotaccent = \d + +% Other special characters: @questiondown @exclamdown @ordf @ordm +% Plain TeX defines: @AA @AE @O @OE @L (plus lowercase versions) @ss. +\def\questiondown{?`} +\def\exclamdown{!`} +\def\ordf{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{a}}} +\def\ordm{\leavevmode\raise1ex\hbox{\selectfonts\lllsize \underbar{o}}} + +% Dotless i and dotless j, used for accents. +\def\imacro{i} +\def\jmacro{j} +\def\dotless#1{% + \def\temp{#1}% + \ifx\temp\imacro \ptexi + \else\ifx\temp\jmacro \j + \else \errmessage{@dotless can be used only with i or j}% + \fi\fi +} + +% The \TeX{} logo, as in plain, but resetting the spacing so that a +% period following counts as ending a sentence. (Idea found in latex.) +% +\edef\TeX{\TeX \spacefactor=1000 } + +% @LaTeX{} logo. Not quite the same results as the definition in +% latex.ltx, since we use a different font for the raised A; it's most +% convenient for us to use an explicitly smaller font, rather than using +% the \scriptstyle font (since we don't reset \scriptstyle and +% \scriptscriptstyle). +% +\def\LaTeX{% + L\kern-.36em + {\setbox0=\hbox{T}% + \vbox to \ht0{\hbox{\selectfonts\lllsize A}\vss}}% + \kern-.15em + \TeX +} + +% Be sure we're in horizontal mode when doing a tie, since we make space +% equivalent to this in @example-like environments. Otherwise, a space +% at the beginning of a line will start with \penalty -- and +% since \penalty is valid in vertical mode, we'd end up putting the +% penalty on the vertical list instead of in the new paragraph. +{\catcode`@ = 11 + % Avoid using \@M directly, because that causes trouble + % if the definition is written into an index file. + \global\let\tiepenalty = \@M + \gdef\tie{\leavevmode\penalty\tiepenalty\ } +} + +% @: forces normal size whitespace following. +\def\:{\spacefactor=1000 } + +% @* forces a line break. +\def\*{\hfil\break\hbox{}\ignorespaces} + +% @/ allows a line break. +\let\/=\allowbreak + +% @. is an end-of-sentence period. +\def\.{.\spacefactor=3000 } + +% @! is an end-of-sentence bang. +\def\!{!\spacefactor=3000 } + +% @? is an end-of-sentence query. +\def\?{?\spacefactor=3000 } + +% @w prevents a word break. Without the \leavevmode, @w at the +% beginning of a paragraph, when TeX is still in vertical mode, would +% produce a whole line of output instead of starting the paragraph. +\def\w#1{\leavevmode\hbox{#1}} + +% @group ... @end group forces ... to be all on one page, by enclosing +% it in a TeX vbox. We use \vtop instead of \vbox to construct the box +% to keep its height that of a normal line. According to the rules for +% \topskip (p.114 of the TeXbook), the glue inserted is +% max (\topskip - \ht (first item), 0). If that height is large, +% therefore, no glue is inserted, and the space between the headline and +% the text is small, which looks bad. +% +% Another complication is that the group might be very large. This can +% cause the glue on the previous page to be unduly stretched, because it +% does not have much material. In this case, it's better to add an +% explicit \vfill so that the extra space is at the bottom. The +% threshold for doing this is if the group is more than \vfilllimit +% percent of a page (\vfilllimit can be changed inside of @tex). +% +\newbox\groupbox +\def\vfilllimit{0.7} +% +\envdef\group{% + \ifnum\catcode`\^^M=\active \else + \errhelp = \groupinvalidhelp + \errmessage{@group invalid in context where filling is enabled}% + \fi + \startsavinginserts + % + \setbox\groupbox = \vtop\bgroup + % Do @comment since we are called inside an environment such as + % @example, where each end-of-line in the input causes an + % end-of-line in the output. We don't want the end-of-line after + % the `@group' to put extra space in the output. Since @group + % should appear on a line by itself (according to the Texinfo + % manual), we don't worry about eating any user text. + \comment +} +% +% The \vtop produces a box with normal height and large depth; thus, TeX puts +% \baselineskip glue before it, and (when the next line of text is done) +% \lineskip glue after it. Thus, space below is not quite equal to space +% above. But it's pretty close. +\def\Egroup{% + % To get correct interline space between the last line of the group + % and the first line afterwards, we have to propagate \prevdepth. + \endgraf % Not \par, as it may have been set to \lisppar. + \global\dimen1 = \prevdepth + \egroup % End the \vtop. + % \dimen0 is the vertical size of the group's box. + \dimen0 = \ht\groupbox \advance\dimen0 by \dp\groupbox + % \dimen2 is how much space is left on the page (more or less). + \dimen2 = \pageheight \advance\dimen2 by -\pagetotal + % if the group doesn't fit on the current page, and it's a big big + % group, force a page break. + \ifdim \dimen0 > \dimen2 + \ifdim \pagetotal < \vfilllimit\pageheight + \page + \fi + \fi + \box\groupbox + \prevdepth = \dimen1 + \checkinserts +} +% +% TeX puts in an \escapechar (i.e., `@') at the beginning of the help +% message, so this ends up printing `@group can only ...'. +% +\newhelp\groupinvalidhelp{% +group can only be used in environments such as @example,^^J% +where each line of input produces a line of output.} + +% @need space-in-mils +% forces a page break if there is not space-in-mils remaining. + +\newdimen\mil \mil=0.001in + +% Old definition--didn't work. +%\parseargdef\need{\par % +%% This method tries to make TeX break the page naturally +%% if the depth of the box does not fit. +%{\baselineskip=0pt% +%\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak +%\prevdepth=-1000pt +%}} + +\parseargdef\need{% + % Ensure vertical mode, so we don't make a big box in the middle of a + % paragraph. + \par + % + % If the @need value is less than one line space, it's useless. + \dimen0 = #1\mil + \dimen2 = \ht\strutbox + \advance\dimen2 by \dp\strutbox + \ifdim\dimen0 > \dimen2 + % + % Do a \strut just to make the height of this box be normal, so the + % normal leading is inserted relative to the preceding line. + % And a page break here is fine. + \vtop to #1\mil{\strut\vfil}% + % + % TeX does not even consider page breaks if a penalty added to the + % main vertical list is 10000 or more. But in order to see if the + % empty box we just added fits on the page, we must make it consider + % page breaks. On the other hand, we don't want to actually break the + % page after the empty box. So we use a penalty of 9999. + % + % There is an extremely small chance that TeX will actually break the + % page at this \penalty, if there are no other feasible breakpoints in + % sight. (If the user is using lots of big @group commands, which + % almost-but-not-quite fill up a page, TeX will have a hard time doing + % good page breaking, for example.) However, I could not construct an + % example where a page broke at this \penalty; if it happens in a real + % document, then we can reconsider our strategy. + \penalty9999 + % + % Back up by the size of the box, whether we did a page break or not. + \kern -#1\mil + % + % Do not allow a page break right after this kern. + \nobreak + \fi +} + +% @br forces paragraph break (and is undocumented). + +\let\br = \par + +% @page forces the start of a new page. +% +\def\page{\par\vfill\supereject} + +% @exdent text.... +% outputs text on separate line in roman font, starting at standard page margin + +% This records the amount of indent in the innermost environment. +% That's how much \exdent should take out. +\newskip\exdentamount + +% This defn is used inside fill environments such as @defun. +\parseargdef\exdent{\hfil\break\hbox{\kern -\exdentamount{\rm#1}}\hfil\break} + +% This defn is used inside nofill environments such as @example. +\parseargdef\nofillexdent{{\advance \leftskip by -\exdentamount + \leftline{\hskip\leftskip{\rm#1}}}} + +% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current +% paragraph. For more general purposes, use the \margin insertion +% class. WHICH is `l' or `r'. +% +\newskip\inmarginspacing \inmarginspacing=1cm +\def\strutdepth{\dp\strutbox} +% +\def\doinmargin#1#2{\strut\vadjust{% + \nobreak + \kern-\strutdepth + \vtop to \strutdepth{% + \baselineskip=\strutdepth + \vss + % if you have multiple lines of stuff to put here, you'll need to + % make the vbox yourself of the appropriate size. + \ifx#1l% + \llap{\ignorespaces #2\hskip\inmarginspacing}% + \else + \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}% + \fi + \null + }% +}} +\def\inleftmargin{\doinmargin l} +\def\inrightmargin{\doinmargin r} +% +% @inmargin{TEXT [, RIGHT-TEXT]} +% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right; +% else use TEXT for both). +% +\def\inmargin#1{\parseinmargin #1,,\finish} +\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing. + \setbox0 = \hbox{\ignorespaces #2}% + \ifdim\wd0 > 0pt + \def\lefttext{#1}% have both texts + \def\righttext{#2}% + \else + \def\lefttext{#1}% have only one text + \def\righttext{#1}% + \fi + % + \ifodd\pageno + \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin + \else + \def\temp{\inleftmargin\lefttext}% + \fi + \temp +} + +% @include file insert text of that file as input. +% +\def\include{\parseargusing\filenamecatcodes\includezzz} +\def\includezzz#1{% + \pushthisfilestack + \def\thisfile{#1}% + {% + \makevalueexpandable + \def\temp{\input #1 }% + \expandafter + }\temp + \popthisfilestack +} +\def\filenamecatcodes{% + \catcode`\\=\other + \catcode`~=\other + \catcode`^=\other + \catcode`_=\other + \catcode`|=\other + \catcode`<=\other + \catcode`>=\other + \catcode`+=\other + \catcode`-=\other +} + +\def\pushthisfilestack{% + \expandafter\pushthisfilestackX\popthisfilestack\StackTerm +} +\def\pushthisfilestackX{% + \expandafter\pushthisfilestackY\thisfile\StackTerm +} +\def\pushthisfilestackY #1\StackTerm #2\StackTerm {% + \gdef\popthisfilestack{\gdef\thisfile{#1}\gdef\popthisfilestack{#2}}% +} + +\def\popthisfilestack{\errthisfilestackempty} +\def\errthisfilestackempty{\errmessage{Internal error: + the stack of filenames is empty.}} + +\def\thisfile{} + +% @center line +% outputs that line, centered. +% +\parseargdef\center{% + \ifhmode + \let\next\centerH + \else + \let\next\centerV + \fi + \next{\hfil \ignorespaces#1\unskip \hfil}% +} +\def\centerH#1{% + {% + \hfil\break + \advance\hsize by -\leftskip + \advance\hsize by -\rightskip + \line{#1}% + \break + }% +} +\def\centerV#1{\line{\kern\leftskip #1\kern\rightskip}} + +% @sp n outputs n lines of vertical space + +\parseargdef\sp{\vskip #1\baselineskip} + +% @comment ...line which is ignored... +% @c is the same as @comment +% @ignore ... @end ignore is another way to write a comment + +\def\comment{\begingroup \catcode`\^^M=\other% +\catcode`\@=\other \catcode`\{=\other \catcode`\}=\other% +\commentxxx} +{\catcode`\^^M=\other \gdef\commentxxx#1^^M{\endgroup}} + +\let\c=\comment + +% @paragraphindent NCHARS +% We'll use ems for NCHARS, close enough. +% NCHARS can also be the word `asis' or `none'. +% We cannot feasibly implement @paragraphindent asis, though. +% +\def\asisword{asis} % no translation, these are keywords +\def\noneword{none} +% +\parseargdef\paragraphindent{% + \def\temp{#1}% + \ifx\temp\asisword + \else + \ifx\temp\noneword + \defaultparindent = 0pt + \else + \defaultparindent = #1em + \fi + \fi + \parindent = \defaultparindent +} + +% @exampleindent NCHARS +% We'll use ems for NCHARS like @paragraphindent. +% It seems @exampleindent asis isn't necessary, but +% I preserve it to make it similar to @paragraphindent. +\parseargdef\exampleindent{% + \def\temp{#1}% + \ifx\temp\asisword + \else + \ifx\temp\noneword + \lispnarrowing = 0pt + \else + \lispnarrowing = #1em + \fi + \fi +} + +% @firstparagraphindent WORD +% If WORD is `none', then suppress indentation of the first paragraph +% after a section heading. If WORD is `insert', then do indent at such +% paragraphs. +% +% The paragraph indentation is suppressed or not by calling +% \suppressfirstparagraphindent, which the sectioning commands do. +% We switch the definition of this back and forth according to WORD. +% By default, we suppress indentation. +% +\def\suppressfirstparagraphindent{\dosuppressfirstparagraphindent} +\def\insertword{insert} +% +\parseargdef\firstparagraphindent{% + \def\temp{#1}% + \ifx\temp\noneword + \let\suppressfirstparagraphindent = \dosuppressfirstparagraphindent + \else\ifx\temp\insertword + \let\suppressfirstparagraphindent = \relax + \else + \errhelp = \EMsimple + \errmessage{Unknown @firstparagraphindent option `\temp'}% + \fi\fi +} + +% Here is how we actually suppress indentation. Redefine \everypar to +% \kern backwards by \parindent, and then reset itself to empty. +% +% We also make \indent itself not actually do anything until the next +% paragraph. +% +\gdef\dosuppressfirstparagraphindent{% + \gdef\indent{% + \restorefirstparagraphindent + \indent + }% + \gdef\noindent{% + \restorefirstparagraphindent + \noindent + }% + \global\everypar = {% + \kern -\parindent + \restorefirstparagraphindent + }% +} + +\gdef\restorefirstparagraphindent{% + \global \let \indent = \ptexindent + \global \let \noindent = \ptexnoindent + \global \everypar = {}% +} + + +% @asis just yields its argument. Used with @table, for example. +% +\def\asis#1{#1} + +% @math outputs its argument in math mode. +% +% One complication: _ usually means subscripts, but it could also mean +% an actual _ character, as in @math{@var{some_variable} + 1}. So make +% _ active, and distinguish by seeing if the current family is \slfam, +% which is what @var uses. +{ + \catcode\underChar = \active + \gdef\mathunderscore{% + \catcode\underChar=\active + \def_{\ifnum\fam=\slfam \_\else\sb\fi}% + } +} +% Another complication: we want \\ (and @\) to output a \ character. +% FYI, plain.tex uses \\ as a temporary control sequence (why?), but +% this is not advertised and we don't care. Texinfo does not +% otherwise define @\. +% +% The \mathchar is class=0=ordinary, family=7=ttfam, position=5C=\. +\def\mathbackslash{\ifnum\fam=\ttfam \mathchar"075C \else\backslash \fi} +% +\def\math{% + \tex + \mathunderscore + \let\\ = \mathbackslash + \mathactive + $\finishmath +} +\def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. + +% Some active characters (such as <) are spaced differently in math. +% We have to reset their definitions in case the @math was an argument +% to a command which sets the catcodes (such as @item or @section). +% +{ + \catcode`^ = \active + \catcode`< = \active + \catcode`> = \active + \catcode`+ = \active + \gdef\mathactive{% + \let^ = \ptexhat + \let< = \ptexless + \let> = \ptexgtr + \let+ = \ptexplus + } +} + +% @bullet and @minus need the same treatment as @math, just above. +\def\bullet{$\ptexbullet$} +\def\minus{$-$} + +% @dots{} outputs an ellipsis using the current font. +% We do .5em per period so that it has the same spacing in a typewriter +% font as three actual period characters. +% +\def\dots{% + \leavevmode + \hbox to 1.5em{% + \hskip 0pt plus 0.25fil + .\hfil.\hfil.% + \hskip 0pt plus 0.5fil + }% +} + +% @enddots{} is an end-of-sentence ellipsis. +% +\def\enddots{% + \dots + \spacefactor=3000 +} + +% @comma{} is so commas can be inserted into text without messing up +% Texinfo's parsing. +% +\let\comma = , + +% @refill is a no-op. +\let\refill=\relax + +% If working on a large document in chapters, it is convenient to +% be able to disable indexing, cross-referencing, and contents, for test runs. +% This is done with @novalidate (before @setfilename). +% +\newif\iflinks \linkstrue % by default we want the aux files. +\let\novalidate = \linksfalse + +% @setfilename is done at the beginning of every texinfo file. +% So open here the files we need to have open while reading the input. +% This makes it possible to make a .fmt file for texinfo. +\def\setfilename{% + \fixbackslash % Turn off hack to swallow `\input texinfo'. + \iflinks + \tryauxfile + % Open the new aux file. TeX will close it automatically at exit. + \immediate\openout\auxfile=\jobname.aux + \fi % \openindices needs to do some work in any case. + \openindices + \let\setfilename=\comment % Ignore extra @setfilename cmds. + % + % If texinfo.cnf is present on the system, read it. + % Useful for site-wide @afourpaper, etc. + \openin 1 texinfo.cnf + \ifeof 1 \else \input texinfo.cnf \fi + \closein 1 + % + \comment % Ignore the actual filename. +} + +% Called from \setfilename. +% +\def\openindices{% + \newindex{cp}% + \newcodeindex{fn}% + \newcodeindex{vr}% + \newcodeindex{tp}% + \newcodeindex{ky}% + \newcodeindex{pg}% +} + +% @bye. +\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend} + + +\message{pdf,} +% adobe `portable' document format +\newcount\tempnum +\newcount\lnkcount +\newtoks\filename +\newcount\filenamelength +\newcount\pgn +\newtoks\toksA +\newtoks\toksB +\newtoks\toksC +\newtoks\toksD +\newbox\boxA +\newcount\countA +\newif\ifpdf +\newif\ifpdfmakepagedest + +% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1 +% can be set). So we test for \relax and 0 as well as \undefined, +% borrowed from ifpdf.sty. +\ifx\pdfoutput\undefined +\else + \ifx\pdfoutput\relax + \else + \ifcase\pdfoutput + \else + \pdftrue + \fi + \fi +\fi +% +\ifpdf + \input pdfcolor + \pdfcatalog{/PageMode /UseOutlines}% + \def\dopdfimage#1#2#3{% + \def\imagewidth{#2}% + \def\imageheight{#3}% + % without \immediate, pdftex seg faults when the same image is + % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) + \ifnum\pdftexversion < 14 + \immediate\pdfimage + \else + \immediate\pdfximage + \fi + \ifx\empty\imagewidth\else width \imagewidth \fi + \ifx\empty\imageheight\else height \imageheight \fi + \ifnum\pdftexversion<13 + #1.pdf% + \else + {#1.pdf}% + \fi + \ifnum\pdftexversion < 14 \else + \pdfrefximage \pdflastximage + \fi} + \def\pdfmkdest#1{{% + % We have to set dummies so commands such as @code in a section title + % aren't expanded. + \atdummies + \normalturnoffactive + \pdfdest name{#1} xyz% + }} + \def\pdfmkpgn#1{#1} + \let\linkcolor = \Blue % was Cyan, but that seems light? + \def\endlink{\Black\pdfendlink} + % Adding outlines to PDF; macros for calculating structure of outlines + % come from Petr Olsak + \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% + \else \csname#1\endcsname \fi} + \def\advancenumber#1{\tempnum=\expnumber{#1}\relax + \advance\tempnum by 1 + \expandafter\xdef\csname#1\endcsname{\the\tempnum}} + % + % #1 is the section text. #2 is the pdf expression for the number + % of subentries (or empty, for subsubsections). #3 is the node + % text, which might be empty if this toc entry had no + % corresponding node. #4 is the page number. + % + \def\dopdfoutline#1#2#3#4{% + % Generate a link to the node text if that exists; else, use the + % page number. We could generate a destination for the section + % text in the case where a section has no node, but it doesn't + % seem worthwhile, since most documents are normally structured. + \def\pdfoutlinedest{#3}% + \ifx\pdfoutlinedest\empty \def\pdfoutlinedest{#4}\fi + % + \pdfoutline goto name{\pdfmkpgn{\pdfoutlinedest}}#2{#1}% + } + % + \def\pdfmakeoutlines{% + \begingroup + % Thanh's hack / proper braces in bookmarks + \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace + \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace + % + % Read toc silently, to get counts of subentries for \pdfoutline. + \def\numchapentry##1##2##3##4{% + \def\thischapnum{##2}% + \def\thissecnum{0}% + \def\thissubsecnum{0}% + }% + \def\numsecentry##1##2##3##4{% + \advancenumber{chap\thischapnum}% + \def\thissecnum{##2}% + \def\thissubsecnum{0}% + }% + \def\numsubsecentry##1##2##3##4{% + \advancenumber{sec\thissecnum}% + \def\thissubsecnum{##2}% + }% + \def\numsubsubsecentry##1##2##3##4{% + \advancenumber{subsec\thissubsecnum}% + }% + \def\thischapnum{0}% + \def\thissecnum{0}% + \def\thissubsecnum{0}% + % + % use \def rather than \let here because we redefine \chapentry et + % al. a second time, below. + \def\appentry{\numchapentry}% + \def\appsecentry{\numsecentry}% + \def\appsubsecentry{\numsubsecentry}% + \def\appsubsubsecentry{\numsubsubsecentry}% + \def\unnchapentry{\numchapentry}% + \def\unnsecentry{\numsecentry}% + \def\unnsubsecentry{\numsubsecentry}% + \def\unnsubsubsecentry{\numsubsubsecentry}% + \input \jobname.toc + % + % Read toc second time, this time actually producing the outlines. + % The `-' means take the \expnumber as the absolute number of + % subentries, which we calculated on our first read of the .toc above. + % + % We use the node names as the destinations. + \def\numchapentry##1##2##3##4{% + \dopdfoutline{##1}{count-\expnumber{chap##2}}{##3}{##4}}% + \def\numsecentry##1##2##3##4{% + \dopdfoutline{##1}{count-\expnumber{sec##2}}{##3}{##4}}% + \def\numsubsecentry##1##2##3##4{% + \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}% + \def\numsubsubsecentry##1##2##3##4{% count is always zero + \dopdfoutline{##1}{}{##3}{##4}}% + % + % PDF outlines are displayed using system fonts, instead of + % document fonts. Therefore we cannot use special characters, + % since the encoding is unknown. For example, the eogonek from + % Latin 2 (0xea) gets translated to a | character. Info from + % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100. + % + % xx to do this right, we have to translate 8-bit characters to + % their "best" equivalent, based on the @documentencoding. Right + % now, I guess we'll just let the pdf reader have its way. + \indexnofonts + \turnoffactive + \input \jobname.toc + \endgroup + } + % + \def\makelinks #1,{% + \def\params{#1}\def\E{END}% + \ifx\params\E + \let\nextmakelinks=\relax + \else + \let\nextmakelinks=\makelinks + \ifnum\lnkcount>0,\fi + \picknum{#1}% + \startlink attr{/Border [0 0 0]} + goto name{\pdfmkpgn{\the\pgn}}% + \linkcolor #1% + \advance\lnkcount by 1% + \endlink + \fi + \nextmakelinks + } + \def\picknum#1{\expandafter\pn#1} + \def\pn#1{% + \def\p{#1}% + \ifx\p\lbrace + \let\nextpn=\ppn + \else + \let\nextpn=\ppnn + \def\first{#1} + \fi + \nextpn + } + \def\ppn#1{\pgn=#1\gobble} + \def\ppnn{\pgn=\first} + \def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,} + \def\skipspaces#1{\def\PP{#1}\def\D{|}% + \ifx\PP\D\let\nextsp\relax + \else\let\nextsp\skipspaces + \ifx\p\space\else\addtokens{\filename}{\PP}% + \advance\filenamelength by 1 + \fi + \fi + \nextsp} + \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax} + \ifnum\pdftexversion < 14 + \let \startlink \pdfannotlink + \else + \let \startlink \pdfstartlink + \fi + \def\pdfurl#1{% + \begingroup + \normalturnoffactive\def\@{@}% + \makevalueexpandable + \leavevmode\Red + \startlink attr{/Border [0 0 0]}% + user{/Subtype /Link /A << /S /URI /URI (#1) >>}% + \endgroup} + \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} + \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} + \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} + \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} + \def\maketoks{% + \expandafter\poptoks\the\toksA|ENDTOKS|\relax + \ifx\first0\adn0 + \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 + \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 + \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 + \else + \ifnum0=\countA\else\makelink\fi + \ifx\first.\let\next=\done\else + \let\next=\maketoks + \addtokens{\toksB}{\the\toksD} + \ifx\first,\addtokens{\toksB}{\space}\fi + \fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \next} + \def\makelink{\addtokens{\toksB}% + {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} + \def\pdflink#1{% + \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}} + \linkcolor #1\endlink} + \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} +\else + \let\pdfmkdest = \gobble + \let\pdfurl = \gobble + \let\endlink = \relax + \let\linkcolor = \relax + \let\pdfmakeoutlines = \relax +\fi % \ifx\pdfoutput + + +\message{fonts,} + +% Change the current font style to #1, remembering it in \curfontstyle. +% For now, we do not accumulate font styles: @b{@i{foo}} prints foo in +% italics, not bold italics. +% +\def\setfontstyle#1{% + \def\curfontstyle{#1}% not as a control sequence, because we are \edef'd. + \csname ten#1\endcsname % change the current font +} + +% Select #1 fonts with the current style. +% +\def\selectfonts#1{\csname #1fonts\endcsname \csname\curfontstyle\endcsname} + +\def\rm{\fam=0 \setfontstyle{rm}} +\def\it{\fam=\itfam \setfontstyle{it}} +\def\sl{\fam=\slfam \setfontstyle{sl}} +\def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} +\def\tt{\fam=\ttfam \setfontstyle{tt}} + +% Texinfo sort of supports the sans serif font style, which plain TeX does not. +% So we set up a \sf. +\newfam\sffam +\def\sf{\fam=\sffam \setfontstyle{sf}} +\let\li = \sf % Sometimes we call it \li, not \sf. + +% We don't need math for this font style. +\def\ttsl{\setfontstyle{ttsl}} + +% Default leading. +\newdimen\textleading \textleading = 13.2pt + +% Set the baselineskip to #1, and the lineskip and strut size +% correspondingly. There is no deep meaning behind these magic numbers +% used as factors; they just match (closely enough) what Knuth defined. +% +\def\lineskipfactor{.08333} +\def\strutheightpercent{.70833} +\def\strutdepthpercent {.29167} +% +\def\setleading#1{% + \normalbaselineskip = #1\relax + \normallineskip = \lineskipfactor\normalbaselineskip + \normalbaselines + \setbox\strutbox =\hbox{% + \vrule width0pt height\strutheightpercent\baselineskip + depth \strutdepthpercent \baselineskip + }% +} + +% Set the font macro #1 to the font named #2, adding on the +% specified font prefix (normally `cm'). +% #3 is the font's design size, #4 is a scale factor +\def\setfont#1#2#3#4{\font#1=\fontprefix#2#3 scaled #4} + +% Use cm as the default font prefix. +% To specify the font prefix, you must define \fontprefix +% before you read in texinfo.tex. +\ifx\fontprefix\undefined +\def\fontprefix{cm} +\fi +% Support font families that don't use the same naming scheme as CM. +\def\rmshape{r} +\def\rmbshape{bx} %where the normal face is bold +\def\bfshape{b} +\def\bxshape{bx} +\def\ttshape{tt} +\def\ttbshape{tt} +\def\ttslshape{sltt} +\def\itshape{ti} +\def\itbshape{bxti} +\def\slshape{sl} +\def\slbshape{bxsl} +\def\sfshape{ss} +\def\sfbshape{ss} +\def\scshape{csc} +\def\scbshape{csc} + +% Text fonts (11.2pt, magstep1). +\def\textnominalsize{11pt} +\edef\mainmagstep{\magstephalf} +\setfont\textrm\rmshape{10}{\mainmagstep} +\setfont\texttt\ttshape{10}{\mainmagstep} +\setfont\textbf\bfshape{10}{\mainmagstep} +\setfont\textit\itshape{10}{\mainmagstep} +\setfont\textsl\slshape{10}{\mainmagstep} +\setfont\textsf\sfshape{10}{\mainmagstep} +\setfont\textsc\scshape{10}{\mainmagstep} +\setfont\textttsl\ttslshape{10}{\mainmagstep} +\font\texti=cmmi10 scaled \mainmagstep +\font\textsy=cmsy10 scaled \mainmagstep + +% A few fonts for @defun names and args. +\setfont\defbf\bfshape{10}{\magstep1} +\setfont\deftt\ttshape{10}{\magstep1} +\setfont\defttsl\ttslshape{10}{\magstep1} +\def\df{\let\tentt=\deftt \let\tenbf = \defbf \let\tenttsl=\defttsl \bf} + +% Fonts for indices, footnotes, small examples (9pt). +\def\smallnominalsize{9pt} +\setfont\smallrm\rmshape{9}{1000} +\setfont\smalltt\ttshape{9}{1000} +\setfont\smallbf\bfshape{10}{900} +\setfont\smallit\itshape{9}{1000} +\setfont\smallsl\slshape{9}{1000} +\setfont\smallsf\sfshape{9}{1000} +\setfont\smallsc\scshape{10}{900} +\setfont\smallttsl\ttslshape{10}{900} +\font\smalli=cmmi9 +\font\smallsy=cmsy9 + +% Fonts for small examples (8pt). +\def\smallernominalsize{8pt} +\setfont\smallerrm\rmshape{8}{1000} +\setfont\smallertt\ttshape{8}{1000} +\setfont\smallerbf\bfshape{10}{800} +\setfont\smallerit\itshape{8}{1000} +\setfont\smallersl\slshape{8}{1000} +\setfont\smallersf\sfshape{8}{1000} +\setfont\smallersc\scshape{10}{800} +\setfont\smallerttsl\ttslshape{10}{800} +\font\smalleri=cmmi8 +\font\smallersy=cmsy8 + +% Fonts for title page (20.4pt): +\def\titlenominalsize{20pt} +\setfont\titlerm\rmbshape{12}{\magstep3} +\setfont\titleit\itbshape{10}{\magstep4} +\setfont\titlesl\slbshape{10}{\magstep4} +\setfont\titlett\ttbshape{12}{\magstep3} +\setfont\titlettsl\ttslshape{10}{\magstep4} +\setfont\titlesf\sfbshape{17}{\magstep1} +\let\titlebf=\titlerm +\setfont\titlesc\scbshape{10}{\magstep4} +\font\titlei=cmmi12 scaled \magstep3 +\font\titlesy=cmsy10 scaled \magstep4 +\def\authorrm{\secrm} +\def\authortt{\sectt} + +% Chapter (and unnumbered) fonts (17.28pt). +\def\chapnominalsize{17pt} +\setfont\chaprm\rmbshape{12}{\magstep2} +\setfont\chapit\itbshape{10}{\magstep3} +\setfont\chapsl\slbshape{10}{\magstep3} +\setfont\chaptt\ttbshape{12}{\magstep2} +\setfont\chapttsl\ttslshape{10}{\magstep3} +\setfont\chapsf\sfbshape{17}{1000} +\let\chapbf=\chaprm +\setfont\chapsc\scbshape{10}{\magstep3} +\font\chapi=cmmi12 scaled \magstep2 +\font\chapsy=cmsy10 scaled \magstep3 + +% Section fonts (14.4pt). +\def\secnominalsize{14pt} +\setfont\secrm\rmbshape{12}{\magstep1} +\setfont\secit\itbshape{10}{\magstep2} +\setfont\secsl\slbshape{10}{\magstep2} +\setfont\sectt\ttbshape{12}{\magstep1} +\setfont\secttsl\ttslshape{10}{\magstep2} +\setfont\secsf\sfbshape{12}{\magstep1} +\let\secbf\secrm +\setfont\secsc\scbshape{10}{\magstep2} +\font\seci=cmmi12 scaled \magstep1 +\font\secsy=cmsy10 scaled \magstep2 + +% Subsection fonts (13.15pt). +\def\ssecnominalsize{13pt} +\setfont\ssecrm\rmbshape{12}{\magstephalf} +\setfont\ssecit\itbshape{10}{1315} +\setfont\ssecsl\slbshape{10}{1315} +\setfont\ssectt\ttbshape{12}{\magstephalf} +\setfont\ssecttsl\ttslshape{10}{1315} +\setfont\ssecsf\sfbshape{12}{\magstephalf} +\let\ssecbf\ssecrm +\setfont\ssecsc\scbshape{10}{1315} +\font\sseci=cmmi12 scaled \magstephalf +\font\ssecsy=cmsy10 scaled 1315 + +% Reduced fonts for @acro in text (10pt). +\def\reducednominalsize{10pt} +\setfont\reducedrm\rmshape{10}{1000} +\setfont\reducedtt\ttshape{10}{1000} +\setfont\reducedbf\bfshape{10}{1000} +\setfont\reducedit\itshape{10}{1000} +\setfont\reducedsl\slshape{10}{1000} +\setfont\reducedsf\sfshape{10}{1000} +\setfont\reducedsc\scshape{10}{1000} +\setfont\reducedttsl\ttslshape{10}{1000} +\font\reducedi=cmmi10 +\font\reducedsy=cmsy10 + +% In order for the font changes to affect most math symbols and letters, +% we have to define the \textfont of the standard families. Since +% texinfo doesn't allow for producing subscripts and superscripts except +% in the main text, we don't bother to reset \scriptfont and +% \scriptscriptfont (which would also require loading a lot more fonts). +% +\def\resetmathfonts{% + \textfont0=\tenrm \textfont1=\teni \textfont2=\tensy + \textfont\itfam=\tenit \textfont\slfam=\tensl \textfont\bffam=\tenbf + \textfont\ttfam=\tentt \textfont\sffam=\tensf +} + +% The font-changing commands redefine the meanings of \tenSTYLE, instead +% of just \STYLE. We do this because \STYLE needs to also set the +% current \fam for math mode. Our \STYLE (e.g., \rm) commands hardwire +% \tenSTYLE to set the current font. +% +% Each font-changing command also sets the names \lsize (one size lower) +% and \lllsize (three sizes lower). These relative commands are used in +% the LaTeX logo and acronyms. +% +% This all needs generalizing, badly. +% +\def\textfonts{% + \let\tenrm=\textrm \let\tenit=\textit \let\tensl=\textsl + \let\tenbf=\textbf \let\tentt=\texttt \let\smallcaps=\textsc + \let\tensf=\textsf \let\teni=\texti \let\tensy=\textsy + \let\tenttsl=\textttsl + \def\curfontsize{text}% + \def\lsize{reduced}\def\lllsize{smaller}% + \resetmathfonts \setleading{\textleading}} +\def\titlefonts{% + \let\tenrm=\titlerm \let\tenit=\titleit \let\tensl=\titlesl + \let\tenbf=\titlebf \let\tentt=\titlett \let\smallcaps=\titlesc + \let\tensf=\titlesf \let\teni=\titlei \let\tensy=\titlesy + \let\tenttsl=\titlettsl + \def\curfontsize{title}% + \def\lsize{chap}\def\lllsize{subsec}% + \resetmathfonts \setleading{25pt}} +\def\titlefont#1{{\titlefonts\rm #1}} +\def\chapfonts{% + \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl + \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc + \let\tensf=\chapsf \let\teni=\chapi \let\tensy=\chapsy + \let\tenttsl=\chapttsl + \def\curfontsize{chap}% + \def\lsize{sec}\def\lllsize{text}% + \resetmathfonts \setleading{19pt}} +\def\secfonts{% + \let\tenrm=\secrm \let\tenit=\secit \let\tensl=\secsl + \let\tenbf=\secbf \let\tentt=\sectt \let\smallcaps=\secsc + \let\tensf=\secsf \let\teni=\seci \let\tensy=\secsy + \let\tenttsl=\secttsl + \def\curfontsize{sec}% + \def\lsize{subsec}\def\lllsize{reduced}% + \resetmathfonts \setleading{16pt}} +\def\subsecfonts{% + \let\tenrm=\ssecrm \let\tenit=\ssecit \let\tensl=\ssecsl + \let\tenbf=\ssecbf \let\tentt=\ssectt \let\smallcaps=\ssecsc + \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy + \let\tenttsl=\ssecttsl + \def\curfontsize{ssec}% + \def\lsize{text}\def\lllsize{small}% + \resetmathfonts \setleading{15pt}} +\let\subsubsecfonts = \subsecfonts +\def\reducedfonts{% + \let\tenrm=\reducedrm \let\tenit=\reducedit \let\tensl=\reducedsl + \let\tenbf=\reducedbf \let\tentt=\reducedtt \let\reducedcaps=\reducedsc + \let\tensf=\reducedsf \let\teni=\reducedi \let\tensy=\reducedsy + \let\tenttsl=\reducedttsl + \def\curfontsize{reduced}% + \def\lsize{small}\def\lllsize{smaller}% + \resetmathfonts \setleading{10.5pt}} +\def\smallfonts{% + \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl + \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc + \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy + \let\tenttsl=\smallttsl + \def\curfontsize{small}% + \def\lsize{smaller}\def\lllsize{smaller}% + \resetmathfonts \setleading{10.5pt}} +\def\smallerfonts{% + \let\tenrm=\smallerrm \let\tenit=\smallerit \let\tensl=\smallersl + \let\tenbf=\smallerbf \let\tentt=\smallertt \let\smallcaps=\smallersc + \let\tensf=\smallersf \let\teni=\smalleri \let\tensy=\smallersy + \let\tenttsl=\smallerttsl + \def\curfontsize{smaller}% + \def\lsize{smaller}\def\lllsize{smaller}% + \resetmathfonts \setleading{9.5pt}} + +% Set the fonts to use with the @small... environments. +\let\smallexamplefonts = \smallfonts + +% About \smallexamplefonts. If we use \smallfonts (9pt), @smallexample +% can fit this many characters: +% 8.5x11=86 smallbook=72 a4=90 a5=69 +% If we use \scriptfonts (8pt), then we can fit this many characters: +% 8.5x11=90+ smallbook=80 a4=90+ a5=77 +% For me, subjectively, the few extra characters that fit aren't worth +% the additional smallness of 8pt. So I'm making the default 9pt. +% +% By the way, for comparison, here's what fits with @example (10pt): +% 8.5x11=71 smallbook=60 a4=75 a5=58 +% +% I wish the USA used A4 paper. +% --karl, 24jan03. + + +% Set up the default fonts, so we can use them for creating boxes. +% +\textfonts \rm + +% Define these so they can be easily changed for other fonts. +\def\angleleft{$\langle$} +\def\angleright{$\rangle$} + +% Count depth in font-changes, for error checks +\newcount\fontdepth \fontdepth=0 + +% Fonts for short table of contents. +\setfont\shortcontrm\rmshape{12}{1000} +\setfont\shortcontbf\bfshape{10}{\magstep1} % no cmb12 +\setfont\shortcontsl\slshape{12}{1000} +\setfont\shortconttt\ttshape{12}{1000} + +%% Add scribe-like font environments, plus @l for inline lisp (usually sans +%% serif) and @ii for TeX italic + +% \smartitalic{ARG} outputs arg in italics, followed by an italic correction +% unless the following character is such as not to need one. +\def\smartitalicx{\ifx\next,\else\ifx\next-\else\ifx\next.\else + \ptexslash\fi\fi\fi} +\def\smartslanted#1{{\ifusingtt\ttsl\sl #1}\futurelet\next\smartitalicx} +\def\smartitalic#1{{\ifusingtt\ttsl\it #1}\futurelet\next\smartitalicx} + +% like \smartslanted except unconditionally uses \ttsl. +% @var is set to this for defun arguments. +\def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} + +% like \smartslanted except unconditionally use \sl. We never want +% ttsl for book titles, do we? +\def\cite#1{{\sl #1}\futurelet\next\smartitalicx} + +\let\i=\smartitalic +\let\slanted=\smartslanted +\let\var=\smartslanted +\let\dfn=\smartslanted +\let\emph=\smartitalic + +% @b, explicit bold. +\def\b#1{{\bf #1}} +\let\strong=\b + +% @sansserif, explicit sans. +\def\sansserif#1{{\sf #1}} + +% We can't just use \exhyphenpenalty, because that only has effect at +% the end of a paragraph. Restore normal hyphenation at the end of the +% group within which \nohyphenation is presumably called. +% +\def\nohyphenation{\hyphenchar\font = -1 \aftergroup\restorehyphenation} +\def\restorehyphenation{\hyphenchar\font = `- } + +% Set sfcode to normal for the chars that usually have another value. +% Can't use plain's \frenchspacing because it uses the `\x notation, and +% sometimes \x has an active definition that messes things up. +% +\catcode`@=11 + \def\frenchspacing{% + \sfcode\dotChar =\@m \sfcode\questChar=\@m \sfcode\exclamChar=\@m + \sfcode\colonChar=\@m \sfcode\semiChar =\@m \sfcode\commaChar =\@m + } +\catcode`@=\other + +\def\t#1{% + {\tt \rawbackslash \frenchspacing #1}% + \null +} +\def\samp#1{`\tclose{#1}'\null} +\setfont\keyrm\rmshape{8}{1000} +\font\keysy=cmsy9 +\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% + \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% + \vbox{\hrule\kern-0.4pt + \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% + \kern-0.4pt\hrule}% + \kern-.06em\raise0.4pt\hbox{\angleright}}}} +% The old definition, with no lozenge: +%\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} +\def\ctrl #1{{\tt \rawbackslash \hat}#1} + +% @file, @option are the same as @samp. +\let\file=\samp +\let\option=\samp + +% @code is a modification of @t, +% which makes spaces the same size as normal in the surrounding text. +\def\tclose#1{% + {% + % Change normal interword space to be same as for the current font. + \spaceskip = \fontdimen2\font + % + % Switch to typewriter. + \tt + % + % But `\ ' produces the large typewriter interword space. + \def\ {{\spaceskip = 0pt{} }}% + % + % Turn off hyphenation. + \nohyphenation + % + \rawbackslash + \frenchspacing + #1% + }% + \null +} + +% We *must* turn on hyphenation at `-' and `_' in @code. +% Otherwise, it is too hard to avoid overfull hboxes +% in the Emacs manual, the Library manual, etc. + +% Unfortunately, TeX uses one parameter (\hyphenchar) to control +% both hyphenation at - and hyphenation within words. +% We must therefore turn them both off (\tclose does that) +% and arrange explicitly to hyphenate at a dash. +% -- rms. +{ + \catcode`\-=\active + \catcode`\_=\active + % + \global\def\code{\begingroup + \catcode`\-=\active \let-\codedash + \catcode`\_=\active \let_\codeunder + \codex + } +} + +\def\realdash{-} +\def\codedash{-\discretionary{}{}{}} +\def\codeunder{% + % this is all so @math{@code{var_name}+1} can work. In math mode, _ + % is "active" (mathcode"8000) and \normalunderscore (or \char95, etc.) + % will therefore expand the active definition of _, which is us + % (inside @code that is), therefore an endless loop. + \ifusingtt{\ifmmode + \mathchar"075F % class 0=ordinary, family 7=ttfam, pos 0x5F=_. + \else\normalunderscore \fi + \discretionary{}{}{}}% + {\_}% +} +\def\codex #1{\tclose{#1}\endgroup} + +% @kbd is like @code, except that if the argument is just one @key command, +% then @kbd has no effect. + +% @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), +% `example' (@kbd uses ttsl only inside of @example and friends), +% or `code' (@kbd uses normal tty font always). +\parseargdef\kbdinputstyle{% + \def\arg{#1}% + \ifx\arg\worddistinct + \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\ttsl}% + \else\ifx\arg\wordexample + \gdef\kbdexamplefont{\ttsl}\gdef\kbdfont{\tt}% + \else\ifx\arg\wordcode + \gdef\kbdexamplefont{\tt}\gdef\kbdfont{\tt}% + \else + \errhelp = \EMsimple + \errmessage{Unknown @kbdinputstyle option `\arg'}% + \fi\fi\fi +} +\def\worddistinct{distinct} +\def\wordexample{example} +\def\wordcode{code} + +% Default is `distinct.' +\kbdinputstyle distinct + +\def\xkey{\key} +\def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% +\ifx\one\xkey\ifx\threex\three \key{#2}% +\else{\tclose{\kbdfont\look}}\fi +\else{\tclose{\kbdfont\look}}\fi} + +% For @indicateurl, @env, @command quotes seem unnecessary, so use \code. +\let\indicateurl=\code +\let\env=\code +\let\command=\code + +% @uref (abbreviation for `urlref') takes an optional (comma-separated) +% second argument specifying the text to display and an optional third +% arg as text to display instead of (rather than in addition to) the url +% itself. First (mandatory) arg is the url. Perhaps eventually put in +% a hypertex \special here. +% +\def\uref#1{\douref #1,,,\finish} +\def\douref#1,#2,#3,#4\finish{\begingroup + \unsepspaces + \pdfurl{#1}% + \setbox0 = \hbox{\ignorespaces #3}% + \ifdim\wd0 > 0pt + \unhbox0 % third arg given, show only that + \else + \setbox0 = \hbox{\ignorespaces #2}% + \ifdim\wd0 > 0pt + \ifpdf + \unhbox0 % PDF: 2nd arg given, show only it + \else + \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url + \fi + \else + \code{#1}% only url given, so show it + \fi + \fi + \endlink +\endgroup} + +% @url synonym for @uref, since that's how everyone uses it. +% +\let\url=\uref + +% rms does not like angle brackets --karl, 17may97. +% So now @email is just like @uref, unless we are pdf. +% +%\def\email#1{\angleleft{\tt #1}\angleright} +\ifpdf + \def\email#1{\doemail#1,,\finish} + \def\doemail#1,#2,#3\finish{\begingroup + \unsepspaces + \pdfurl{mailto:#1}% + \setbox0 = \hbox{\ignorespaces #2}% + \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi + \endlink + \endgroup} +\else + \let\email=\uref +\fi + +% Check if we are currently using a typewriter font. Since all the +% Computer Modern typewriter fonts have zero interword stretch (and +% shrink), and it is reasonable to expect all typewriter fonts to have +% this property, we can check that font parameter. +% +\def\ifmonospace{\ifdim\fontdimen3\font=0pt } + +% Typeset a dimension, e.g., `in' or `pt'. The only reason for the +% argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. +% +\def\dmn#1{\thinspace #1} + +\def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par} + +% @l was never documented to mean ``switch to the Lisp font'', +% and it is not used as such in any manual I can find. We need it for +% Polish suppressed-l. --karl, 22sep96. +%\def\l#1{{\li #1}\null} + +% Explicit font changes: @r, @sc, undocumented @ii. +\def\r#1{{\rm #1}} % roman font +\def\sc#1{{\smallcaps#1}} % smallcaps font +\def\ii#1{{\it #1}} % italic font + +% @acronym for "FBI", "NATO", and the like. +% We print this one point size smaller, since it's intended for +% all-uppercase. +% +\def\acronym#1{\doacronym #1,,\finish} +\def\doacronym#1,#2,#3\finish{% + {\selectfonts\lsize #1}% + \def\temp{#2}% + \ifx\temp\empty \else + \space ({\unsepspaces \ignorespaces \temp \unskip})% + \fi +} + +% @abbr for "Comput. J." and the like. +% No font change, but don't do end-of-sentence spacing. +% +\def\abbr#1{\doabbr #1,,\finish} +\def\doabbr#1,#2,#3\finish{% + {\frenchspacing #1}% + \def\temp{#2}% + \ifx\temp\empty \else + \space ({\unsepspaces \ignorespaces \temp \unskip})% + \fi +} + +% @pounds{} is a sterling sign, which Knuth put in the CM italic font. +% +\def\pounds{{\it\$}} + +% @euro{} comes from a separate font, depending on the current style. +% We use the free feym* fonts from the eurosym package by Henrik +% Theiling, which support regular, slanted, bold and bold slanted (and +% "outlined" (blackboard board, sort of) versions, which we don't need). +% It is available from http://www.ctan.org/tex-archive/fonts/eurosym. +% +% Although only regular is the truly official Euro symbol, we ignore +% that. The Euro is designed to be slightly taller than the regular +% font height. +% +% feymr - regular +% feymo - slanted +% feybr - bold +% feybo - bold slanted +% +% There is no good (free) typewriter version, to my knowledge. +% A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. +% Hmm. +% +% Also doesn't work in math. Do we need to do math with euro symbols? +% Hope not. +% +% +\def\euro{{\eurofont e}} +\def\eurofont{% + % We set the font at each command, rather than predefining it in + % \textfonts and the other font-switching commands, so that + % installations which never need the symbol don't have to have the + % font installed. + % + % There is only one designed size (nominal 10pt), so we always scale + % that to the current nominal size. + % + % By the way, simply using "at 1em" works for cmr10 and the like, but + % does not work for cmbx10 and other extended/shrunken fonts. + % + \def\eurosize{\csname\curfontsize nominalsize\endcsname}% + % + \ifx\curfontstyle\bfstylename + % bold: + \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize + \else + % regular: + \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize + \fi + \thiseurofont +} + +% @registeredsymbol - R in a circle. The font for the R should really +% be smaller yet, but lllsize is the best we can do for now. +% Adapted from the plain.tex definition of \copyright. +% +\def\registeredsymbol{% + $^{{\ooalign{\hfil\raise.07ex\hbox{\selectfonts\lllsize R}% + \hfil\crcr\Orb}}% + }$% +} + +% Laurent Siebenmann reports \Orb undefined with: +% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 +% so we'll define it if necessary. +% +\ifx\Orb\undefined +\def\Orb{\mathhexbox20D} +\fi + + +\message{page headings,} + +\newskip\titlepagetopglue \titlepagetopglue = 1.5in +\newskip\titlepagebottomglue \titlepagebottomglue = 2pc + +% First the title page. Must do @settitle before @titlepage. +\newif\ifseenauthor +\newif\iffinishedtitlepage + +% Do an implicit @contents or @shortcontents after @end titlepage if the +% user says @setcontentsaftertitlepage or @setshortcontentsaftertitlepage. +% +\newif\ifsetcontentsaftertitlepage + \let\setcontentsaftertitlepage = \setcontentsaftertitlepagetrue +\newif\ifsetshortcontentsaftertitlepage + \let\setshortcontentsaftertitlepage = \setshortcontentsaftertitlepagetrue + +\parseargdef\shorttitlepage{\begingroup\hbox{}\vskip 1.5in \chaprm \centerline{#1}% + \endgroup\page\hbox{}\page} + +\envdef\titlepage{% + % Open one extra group, as we want to close it in the middle of \Etitlepage. + \begingroup + \parindent=0pt \textfonts + % Leave some space at the very top of the page. + \vglue\titlepagetopglue + % No rule at page bottom unless we print one at the top with @title. + \finishedtitlepagetrue + % + % Most title ``pages'' are actually two pages long, with space + % at the top of the second. We don't want the ragged left on the second. + \let\oldpage = \page + \def\page{% + \iffinishedtitlepage\else + \finishtitlepage + \fi + \let\page = \oldpage + \page + \null + }% +} + +\def\Etitlepage{% + \iffinishedtitlepage\else + \finishtitlepage + \fi + % It is important to do the page break before ending the group, + % because the headline and footline are only empty inside the group. + % If we use the new definition of \page, we always get a blank page + % after the title page, which we certainly don't want. + \oldpage + \endgroup + % + % Need this before the \...aftertitlepage checks so that if they are + % in effect the toc pages will come out with page numbers. + \HEADINGSon + % + % If they want short, they certainly want long too. + \ifsetshortcontentsaftertitlepage + \shortcontents + \contents + \global\let\shortcontents = \relax + \global\let\contents = \relax + \fi + % + \ifsetcontentsaftertitlepage + \contents + \global\let\contents = \relax + \global\let\shortcontents = \relax + \fi +} + +\def\finishtitlepage{% + \vskip4pt \hrule height 2pt width \hsize + \vskip\titlepagebottomglue + \finishedtitlepagetrue +} + +%%% Macros to be used within @titlepage: + +\let\subtitlerm=\tenrm +\def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} + +\def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines + \let\tt=\authortt} + +\parseargdef\title{% + \checkenv\titlepage + \leftline{\titlefonts\rm #1} + % print a rule at the page bottom also. + \finishedtitlepagefalse + \vskip4pt \hrule height 4pt width \hsize \vskip4pt +} + +\parseargdef\subtitle{% + \checkenv\titlepage + {\subtitlefont \rightline{#1}}% +} + +% @author should come last, but may come many times. +% It can also be used inside @quotation. +% +\parseargdef\author{% + \def\temp{\quotation}% + \ifx\thisenv\temp + \def\quotationauthor{#1}% printed in \Equotation. + \else + \checkenv\titlepage + \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi + {\authorfont \leftline{#1}}% + \fi +} + + +%%% Set up page headings and footings. + +\let\thispage=\folio + +\newtoks\evenheadline % headline on even pages +\newtoks\oddheadline % headline on odd pages +\newtoks\evenfootline % footline on even pages +\newtoks\oddfootline % footline on odd pages + +% Now make TeX use those variables +\headline={{\textfonts\rm \ifodd\pageno \the\oddheadline + \else \the\evenheadline \fi}} +\footline={{\textfonts\rm \ifodd\pageno \the\oddfootline + \else \the\evenfootline \fi}\HEADINGShook} +\let\HEADINGShook=\relax + +% Commands to set those variables. +% For example, this is what @headings on does +% @evenheading @thistitle|@thispage|@thischapter +% @oddheading @thischapter|@thispage|@thistitle +% @evenfooting @thisfile|| +% @oddfooting ||@thisfile + + +\def\evenheading{\parsearg\evenheadingxxx} +\def\evenheadingxxx #1{\evenheadingyyy #1\|\|\|\|\finish} +\def\evenheadingyyy #1\|#2\|#3\|#4\finish{% +\global\evenheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} + +\def\oddheading{\parsearg\oddheadingxxx} +\def\oddheadingxxx #1{\oddheadingyyy #1\|\|\|\|\finish} +\def\oddheadingyyy #1\|#2\|#3\|#4\finish{% +\global\oddheadline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} + +\parseargdef\everyheading{\oddheadingxxx{#1}\evenheadingxxx{#1}}% + +\def\evenfooting{\parsearg\evenfootingxxx} +\def\evenfootingxxx #1{\evenfootingyyy #1\|\|\|\|\finish} +\def\evenfootingyyy #1\|#2\|#3\|#4\finish{% +\global\evenfootline={\rlap{\centerline{#2}}\line{#1\hfil#3}}} + +\def\oddfooting{\parsearg\oddfootingxxx} +\def\oddfootingxxx #1{\oddfootingyyy #1\|\|\|\|\finish} +\def\oddfootingyyy #1\|#2\|#3\|#4\finish{% + \global\oddfootline = {\rlap{\centerline{#2}}\line{#1\hfil#3}}% + % + % Leave some space for the footline. Hopefully ok to assume + % @evenfooting will not be used by itself. + \global\advance\pageheight by -\baselineskip + \global\advance\vsize by -\baselineskip +} + +\parseargdef\everyfooting{\oddfootingxxx{#1}\evenfootingxxx{#1}} + + +% @headings double turns headings on for double-sided printing. +% @headings single turns headings on for single-sided printing. +% @headings off turns them off. +% @headings on same as @headings double, retained for compatibility. +% @headings after turns on double-sided headings after this page. +% @headings doubleafter turns on double-sided headings after this page. +% @headings singleafter turns on single-sided headings after this page. +% By default, they are off at the start of a document, +% and turned `on' after @end titlepage. + +\def\headings #1 {\csname HEADINGS#1\endcsname} + +\def\HEADINGSoff{% +\global\evenheadline={\hfil} \global\evenfootline={\hfil} +\global\oddheadline={\hfil} \global\oddfootline={\hfil}} +\HEADINGSoff +% When we turn headings on, set the page number to 1. +% For double-sided printing, put current file name in lower left corner, +% chapter name on inside top of right hand pages, document +% title on inside top of left hand pages, and page numbers on outside top +% edge of all pages. +\def\HEADINGSdouble{% +\global\pageno=1 +\global\evenfootline={\hfil} +\global\oddfootline={\hfil} +\global\evenheadline={\line{\folio\hfil\thistitle}} +\global\oddheadline={\line{\thischapter\hfil\folio}} +\global\let\contentsalignmacro = \chapoddpage +} +\let\contentsalignmacro = \chappager + +% For single-sided printing, chapter title goes across top left of page, +% page number on top right. +\def\HEADINGSsingle{% +\global\pageno=1 +\global\evenfootline={\hfil} +\global\oddfootline={\hfil} +\global\evenheadline={\line{\thischapter\hfil\folio}} +\global\oddheadline={\line{\thischapter\hfil\folio}} +\global\let\contentsalignmacro = \chappager +} +\def\HEADINGSon{\HEADINGSdouble} + +\def\HEADINGSafter{\let\HEADINGShook=\HEADINGSdoublex} +\let\HEADINGSdoubleafter=\HEADINGSafter +\def\HEADINGSdoublex{% +\global\evenfootline={\hfil} +\global\oddfootline={\hfil} +\global\evenheadline={\line{\folio\hfil\thistitle}} +\global\oddheadline={\line{\thischapter\hfil\folio}} +\global\let\contentsalignmacro = \chapoddpage +} + +\def\HEADINGSsingleafter{\let\HEADINGShook=\HEADINGSsinglex} +\def\HEADINGSsinglex{% +\global\evenfootline={\hfil} +\global\oddfootline={\hfil} +\global\evenheadline={\line{\thischapter\hfil\folio}} +\global\oddheadline={\line{\thischapter\hfil\folio}} +\global\let\contentsalignmacro = \chappager +} + +% Subroutines used in generating headings +% This produces Day Month Year style of output. +% Only define if not already defined, in case a txi-??.tex file has set +% up a different format (e.g., txi-cs.tex does this). +\ifx\today\undefined +\def\today{% + \number\day\space + \ifcase\month + \or\putwordMJan\or\putwordMFeb\or\putwordMMar\or\putwordMApr + \or\putwordMMay\or\putwordMJun\or\putwordMJul\or\putwordMAug + \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec + \fi + \space\number\year} +\fi + +% @settitle line... specifies the title of the document, for headings. +% It generates no output of its own. +\def\thistitle{\putwordNoTitle} +\def\settitle{\parsearg{\gdef\thistitle}} + + +\message{tables,} +% Tables -- @table, @ftable, @vtable, @item(x). + +% default indentation of table text +\newdimen\tableindent \tableindent=.8in +% default indentation of @itemize and @enumerate text +\newdimen\itemindent \itemindent=.3in +% margin between end of table item and start of table text. +\newdimen\itemmargin \itemmargin=.1in + +% used internally for \itemindent minus \itemmargin +\newdimen\itemmax + +% Note @table, @ftable, and @vtable define @item, @itemx, etc., with +% these defs. +% They also define \itemindex +% to index the item name in whatever manner is desired (perhaps none). + +\newif\ifitemxneedsnegativevskip + +\def\itemxpar{\par\ifitemxneedsnegativevskip\nobreak\vskip-\parskip\nobreak\fi} + +\def\internalBitem{\smallbreak \parsearg\itemzzz} +\def\internalBitemx{\itemxpar \parsearg\itemzzz} + +\def\itemzzz #1{\begingroup % + \advance\hsize by -\rightskip + \advance\hsize by -\tableindent + \setbox0=\hbox{\itemindicate{#1}}% + \itemindex{#1}% + \nobreak % This prevents a break before @itemx. + % + % If the item text does not fit in the space we have, put it on a line + % by itself, and do not allow a page break either before or after that + % line. We do not start a paragraph here because then if the next + % command is, e.g., @kindex, the whatsit would get put into the + % horizontal list on a line by itself, resulting in extra blank space. + \ifdim \wd0>\itemmax + % + % Make this a paragraph so we get the \parskip glue and wrapping, + % but leave it ragged-right. + \begingroup + \advance\leftskip by-\tableindent + \advance\hsize by\tableindent + \advance\rightskip by0pt plus1fil + \leavevmode\unhbox0\par + \endgroup + % + % We're going to be starting a paragraph, but we don't want the + % \parskip glue -- logically it's part of the @item we just started. + \nobreak \vskip-\parskip + % + % Stop a page break at the \parskip glue coming up. However, if + % what follows is an environment such as @example, there will be no + % \parskip glue; then the negative vskip we just inserted would + % cause the example and the item to crash together. So we use this + % bizarre value of 10001 as a signal to \aboveenvbreak to insert + % \parskip glue after all. Section titles are handled this way also. + % + \penalty 10001 + \endgroup + \itemxneedsnegativevskipfalse + \else + % The item text fits into the space. Start a paragraph, so that the + % following text (if any) will end up on the same line. + \noindent + % Do this with kerns and \unhbox so that if there is a footnote in + % the item text, it can migrate to the main vertical list and + % eventually be printed. + \nobreak\kern-\tableindent + \dimen0 = \itemmax \advance\dimen0 by \itemmargin \advance\dimen0 by -\wd0 + \unhbox0 + \nobreak\kern\dimen0 + \endgroup + \itemxneedsnegativevskiptrue + \fi +} + +\def\item{\errmessage{@item while not in a list environment}} +\def\itemx{\errmessage{@itemx while not in a list environment}} + +% @table, @ftable, @vtable. +\envdef\table{% + \let\itemindex\gobble + \tablecheck{table}% +} +\envdef\ftable{% + \def\itemindex ##1{\doind {fn}{\code{##1}}}% + \tablecheck{ftable}% +} +\envdef\vtable{% + \def\itemindex ##1{\doind {vr}{\code{##1}}}% + \tablecheck{vtable}% +} +\def\tablecheck#1{% + \ifnum \the\catcode`\^^M=\active + \endgroup + \errmessage{This command won't work in this context; perhaps the problem is + that we are \inenvironment\thisenv}% + \def\next{\doignore{#1}}% + \else + \let\next\tablex + \fi + \next +} +\def\tablex#1{% + \def\itemindicate{#1}% + \parsearg\tabley +} +\def\tabley#1{% + {% + \makevalueexpandable + \edef\temp{\noexpand\tablez #1\space\space\space}% + \expandafter + }\temp \endtablez +} +\def\tablez #1 #2 #3 #4\endtablez{% + \aboveenvbreak + \ifnum 0#1>0 \advance \leftskip by #1\mil \fi + \ifnum 0#2>0 \tableindent=#2\mil \fi + \ifnum 0#3>0 \advance \rightskip by #3\mil \fi + \itemmax=\tableindent + \advance \itemmax by -\itemmargin + \advance \leftskip by \tableindent + \exdentamount=\tableindent + \parindent = 0pt + \parskip = \smallskipamount + \ifdim \parskip=0pt \parskip=2pt \fi + \let\item = \internalBitem + \let\itemx = \internalBitemx +} +\def\Etable{\endgraf\afterenvbreak} +\let\Eftable\Etable +\let\Evtable\Etable +\let\Eitemize\Etable +\let\Eenumerate\Etable + +% This is the counter used by @enumerate, which is really @itemize + +\newcount \itemno + +\envdef\itemize{\parsearg\doitemize} + +\def\doitemize#1{% + \aboveenvbreak + \itemmax=\itemindent + \advance\itemmax by -\itemmargin + \advance\leftskip by \itemindent + \exdentamount=\itemindent + \parindent=0pt + \parskip=\smallskipamount + \ifdim\parskip=0pt \parskip=2pt \fi + \def\itemcontents{#1}% + % @itemize with no arg is equivalent to @itemize @bullet. + \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi + \let\item=\itemizeitem +} + +% Definition of @item while inside @itemize and @enumerate. +% +\def\itemizeitem{% + \advance\itemno by 1 % for enumerations + {\let\par=\endgraf \smallbreak}% reasonable place to break + {% + % If the document has an @itemize directly after a section title, a + % \nobreak will be last on the list, and \sectionheading will have + % done a \vskip-\parskip. In that case, we don't want to zero + % parskip, or the item text will crash with the heading. On the + % other hand, when there is normal text preceding the item (as there + % usually is), we do want to zero parskip, or there would be too much + % space. In that case, we won't have a \nobreak before. At least + % that's the theory. + \ifnum\lastpenalty<10000 \parskip=0in \fi + \noindent + \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% + \vadjust{\penalty 1200}}% not good to break after first line of item. + \flushcr +} + +% \splitoff TOKENS\endmark defines \first to be the first token in +% TOKENS, and \rest to be the remainder. +% +\def\splitoff#1#2\endmark{\def\first{#1}\def\rest{#2}}% + +% Allow an optional argument of an uppercase letter, lowercase letter, +% or number, to specify the first label in the enumerated list. No +% argument is the same as `1'. +% +\envparseargdef\enumerate{\enumeratey #1 \endenumeratey} +\def\enumeratey #1 #2\endenumeratey{% + % If we were given no argument, pretend we were given `1'. + \def\thearg{#1}% + \ifx\thearg\empty \def\thearg{1}\fi + % + % Detect if the argument is a single token. If so, it might be a + % letter. Otherwise, the only valid thing it can be is a number. + % (We will always have one token, because of the test we just made. + % This is a good thing, since \splitoff doesn't work given nothing at + % all -- the first parameter is undelimited.) + \expandafter\splitoff\thearg\endmark + \ifx\rest\empty + % Only one token in the argument. It could still be anything. + % A ``lowercase letter'' is one whose \lccode is nonzero. + % An ``uppercase letter'' is one whose \lccode is both nonzero, and + % not equal to itself. + % Otherwise, we assume it's a number. + % + % We need the \relax at the end of the \ifnum lines to stop TeX from + % continuing to look for a . + % + \ifnum\lccode\expandafter`\thearg=0\relax + \numericenumerate % a number (we hope) + \else + % It's a letter. + \ifnum\lccode\expandafter`\thearg=\expandafter`\thearg\relax + \lowercaseenumerate % lowercase letter + \else + \uppercaseenumerate % uppercase letter + \fi + \fi + \else + % Multiple tokens in the argument. We hope it's a number. + \numericenumerate + \fi +} + +% An @enumerate whose labels are integers. The starting integer is +% given in \thearg. +% +\def\numericenumerate{% + \itemno = \thearg + \startenumeration{\the\itemno}% +} + +% The starting (lowercase) letter is in \thearg. +\def\lowercaseenumerate{% + \itemno = \expandafter`\thearg + \startenumeration{% + % Be sure we're not beyond the end of the alphabet. + \ifnum\itemno=0 + \errmessage{No more lowercase letters in @enumerate; get a bigger + alphabet}% + \fi + \char\lccode\itemno + }% +} + +% The starting (uppercase) letter is in \thearg. +\def\uppercaseenumerate{% + \itemno = \expandafter`\thearg + \startenumeration{% + % Be sure we're not beyond the end of the alphabet. + \ifnum\itemno=0 + \errmessage{No more uppercase letters in @enumerate; get a bigger + alphabet} + \fi + \char\uccode\itemno + }% +} + +% Call \doitemize, adding a period to the first argument and supplying the +% common last two arguments. Also subtract one from the initial value in +% \itemno, since @item increments \itemno. +% +\def\startenumeration#1{% + \advance\itemno by -1 + \doitemize{#1.}\flushcr +} + +% @alphaenumerate and @capsenumerate are abbreviations for giving an arg +% to @enumerate. +% +\def\alphaenumerate{\enumerate{a}} +\def\capsenumerate{\enumerate{A}} +\def\Ealphaenumerate{\Eenumerate} +\def\Ecapsenumerate{\Eenumerate} + + +% @multitable macros +% Amy Hendrickson, 8/18/94, 3/6/96 +% +% @multitable ... @end multitable will make as many columns as desired. +% Contents of each column will wrap at width given in preamble. Width +% can be specified either with sample text given in a template line, +% or in percent of \hsize, the current width of text on page. + +% Table can continue over pages but will only break between lines. + +% To make preamble: +% +% Either define widths of columns in terms of percent of \hsize: +% @multitable @columnfractions .25 .3 .45 +% @item ... +% +% Numbers following @columnfractions are the percent of the total +% current hsize to be used for each column. You may use as many +% columns as desired. + + +% Or use a template: +% @multitable {Column 1 template} {Column 2 template} {Column 3 template} +% @item ... +% using the widest term desired in each column. + +% Each new table line starts with @item, each subsequent new column +% starts with @tab. Empty columns may be produced by supplying @tab's +% with nothing between them for as many times as empty columns are needed, +% ie, @tab@tab@tab will produce two empty columns. + +% @item, @tab do not need to be on their own lines, but it will not hurt +% if they are. + +% Sample multitable: + +% @multitable {Column 1 template} {Column 2 template} {Column 3 template} +% @item first col stuff @tab second col stuff @tab third col +% @item +% first col stuff +% @tab +% second col stuff +% @tab +% third col +% @item first col stuff @tab second col stuff +% @tab Many paragraphs of text may be used in any column. +% +% They will wrap at the width determined by the template. +% @item@tab@tab This will be in third column. +% @end multitable + +% Default dimensions may be reset by user. +% @multitableparskip is vertical space between paragraphs in table. +% @multitableparindent is paragraph indent in table. +% @multitablecolmargin is horizontal space to be left between columns. +% @multitablelinespace is space to leave between table items, baseline +% to baseline. +% 0pt means it depends on current normal line spacing. +% +\newskip\multitableparskip +\newskip\multitableparindent +\newdimen\multitablecolspace +\newskip\multitablelinespace +\multitableparskip=0pt +\multitableparindent=6pt +\multitablecolspace=12pt +\multitablelinespace=0pt + +% Macros used to set up halign preamble: +% +\let\endsetuptable\relax +\def\xendsetuptable{\endsetuptable} +\let\columnfractions\relax +\def\xcolumnfractions{\columnfractions} +\newif\ifsetpercent + +% #1 is the @columnfraction, usually a decimal number like .5, but might +% be just 1. We just use it, whatever it is. +% +\def\pickupwholefraction#1 {% + \global\advance\colcount by 1 + \expandafter\xdef\csname col\the\colcount\endcsname{#1\hsize}% + \setuptable +} + +\newcount\colcount +\def\setuptable#1{% + \def\firstarg{#1}% + \ifx\firstarg\xendsetuptable + \let\go = \relax + \else + \ifx\firstarg\xcolumnfractions + \global\setpercenttrue + \else + \ifsetpercent + \let\go\pickupwholefraction + \else + \global\advance\colcount by 1 + \setbox0=\hbox{#1\unskip\space}% Add a normal word space as a + % separator; typically that is always in the input, anyway. + \expandafter\xdef\csname col\the\colcount\endcsname{\the\wd0}% + \fi + \fi + \ifx\go\pickupwholefraction + % Put the argument back for the \pickupwholefraction call, so + % we'll always have a period there to be parsed. + \def\go{\pickupwholefraction#1}% + \else + \let\go = \setuptable + \fi% + \fi + \go +} + +% multitable-only commands. +% +% @headitem starts a heading row, which we typeset in bold. +% Assignments have to be global since we are inside the implicit group +% of an alignment entry. Note that \everycr resets \everytab. +\def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}% +% +% A \tab used to include \hskip1sp. But then the space in a template +% line is not enough. That is bad. So let's go back to just `&' until +% we encounter the problem it was intended to solve again. +% --karl, nathan@acm.org, 20apr99. +\def\tab{\checkenv\multitable &\the\everytab}% + +% @multitable ... @end multitable definitions: +% +\newtoks\everytab % insert after every tab. +% +\envdef\multitable{% + \vskip\parskip + \startsavinginserts + % + % @item within a multitable starts a normal row. + % We use \def instead of \let so that if one of the multitable entries + % contains an @itemize, we don't choke on the \item (seen as \crcr aka + % \endtemplate) expanding \doitemize. + \def\item{\crcr}% + % + \tolerance=9500 + \hbadness=9500 + \setmultitablespacing + \parskip=\multitableparskip + \parindent=\multitableparindent + \overfullrule=0pt + \global\colcount=0 + % + \everycr = {% + \noalign{% + \global\everytab={}% + \global\colcount=0 % Reset the column counter. + % Check for saved footnotes, etc. + \checkinserts + % Keeps underfull box messages off when table breaks over pages. + %\filbreak + % Maybe so, but it also creates really weird page breaks when the + % table breaks over pages. Wouldn't \vfil be better? Wait until the + % problem manifests itself, so it can be fixed for real --karl. + }% + }% + % + \parsearg\domultitable +} +\def\domultitable#1{% + % To parse everything between @multitable and @item: + \setuptable#1 \endsetuptable + % + % This preamble sets up a generic column definition, which will + % be used as many times as user calls for columns. + % \vtop will set a single line and will also let text wrap and + % continue for many paragraphs if desired. + \halign\bgroup &% + \global\advance\colcount by 1 + \multistrut + \vtop{% + % Use the current \colcount to find the correct column width: + \hsize=\expandafter\csname col\the\colcount\endcsname + % + % In order to keep entries from bumping into each other + % we will add a \leftskip of \multitablecolspace to all columns after + % the first one. + % + % If a template has been used, we will add \multitablecolspace + % to the width of each template entry. + % + % If the user has set preamble in terms of percent of \hsize we will + % use that dimension as the width of the column, and the \leftskip + % will keep entries from bumping into each other. Table will start at + % left margin and final column will justify at right margin. + % + % Make sure we don't inherit \rightskip from the outer environment. + \rightskip=0pt + \ifnum\colcount=1 + % The first column will be indented with the surrounding text. + \advance\hsize by\leftskip + \else + \ifsetpercent \else + % If user has not set preamble in terms of percent of \hsize + % we will advance \hsize by \multitablecolspace. + \advance\hsize by \multitablecolspace + \fi + % In either case we will make \leftskip=\multitablecolspace: + \leftskip=\multitablecolspace + \fi + % Ignoring space at the beginning and end avoids an occasional spurious + % blank line, when TeX decides to break the line at the space before the + % box from the multistrut, so the strut ends up on a line by itself. + % For example: + % @multitable @columnfractions .11 .89 + % @item @code{#} + % @tab Legal holiday which is valid in major parts of the whole country. + % Is automatically provided with highlighting sequences respectively + % marking characters. + \noindent\ignorespaces##\unskip\multistrut + }\cr +} +\def\Emultitable{% + \crcr + \egroup % end the \halign + \global\setpercentfalse +} + +\def\setmultitablespacing{% + \def\multistrut{\strut}% just use the standard line spacing + % + % Compute \multitablelinespace (if not defined by user) for use in + % \multitableparskip calculation. We used define \multistrut based on + % this, but (ironically) that caused the spacing to be off. + % See bug-texinfo report from Werner Lemberg, 31 Oct 2004 12:52:20 +0100. +\ifdim\multitablelinespace=0pt +\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip +\global\advance\multitablelinespace by-\ht0 +\fi +%% Test to see if parskip is larger than space between lines of +%% table. If not, do nothing. +%% If so, set to same dimension as multitablelinespace. +\ifdim\multitableparskip>\multitablelinespace +\global\multitableparskip=\multitablelinespace +\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller + %% than skip between lines in the table. +\fi% +\ifdim\multitableparskip=0pt +\global\multitableparskip=\multitablelinespace +\global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller + %% than skip between lines in the table. +\fi} + + +\message{conditionals,} + +% @iftex, @ifnotdocbook, @ifnothtml, @ifnotinfo, @ifnotplaintext, +% @ifnotxml always succeed. They currently do nothing; we don't +% attempt to check whether the conditionals are properly nested. But we +% have to remember that they are conditionals, so that @end doesn't +% attempt to close an environment group. +% +\def\makecond#1{% + \expandafter\let\csname #1\endcsname = \relax + \expandafter\let\csname iscond.#1\endcsname = 1 +} +\makecond{iftex} +\makecond{ifnotdocbook} +\makecond{ifnothtml} +\makecond{ifnotinfo} +\makecond{ifnotplaintext} +\makecond{ifnotxml} + +% Ignore @ignore, @ifhtml, @ifinfo, and the like. +% +\def\direntry{\doignore{direntry}} +\def\documentdescription{\doignore{documentdescription}} +\def\docbook{\doignore{docbook}} +\def\html{\doignore{html}} +\def\ifdocbook{\doignore{ifdocbook}} +\def\ifhtml{\doignore{ifhtml}} +\def\ifinfo{\doignore{ifinfo}} +\def\ifnottex{\doignore{ifnottex}} +\def\ifplaintext{\doignore{ifplaintext}} +\def\ifxml{\doignore{ifxml}} +\def\ignore{\doignore{ignore}} +\def\menu{\doignore{menu}} +\def\xml{\doignore{xml}} + +% Ignore text until a line `@end #1', keeping track of nested conditionals. +% +% A count to remember the depth of nesting. +\newcount\doignorecount + +\def\doignore#1{\begingroup + % Scan in ``verbatim'' mode: + \catcode`\@ = \other + \catcode`\{ = \other + \catcode`\} = \other + % + % Make sure that spaces turn into tokens that match what \doignoretext wants. + \spaceisspace + % + % Count number of #1's that we've seen. + \doignorecount = 0 + % + % Swallow text until we reach the matching `@end #1'. + \dodoignore{#1}% +} + +{ \catcode`_=11 % We want to use \_STOP_ which cannot appear in texinfo source. + \obeylines % + % + \gdef\dodoignore#1{% + % #1 contains the command name as a string, e.g., `ifinfo'. + % + % Define a command to find the next `@end #1', which must be on a line + % by itself. + \long\def\doignoretext##1^^M@end #1{\doignoretextyyy##1^^M@#1\_STOP_}% + % And this command to find another #1 command, at the beginning of a + % line. (Otherwise, we would consider a line `@c @ifset', for + % example, to count as an @ifset for nesting.) + \long\def\doignoretextyyy##1^^M@#1##2\_STOP_{\doignoreyyy{##2}\_STOP_}% + % + % And now expand that command. + \obeylines % + \doignoretext ^^M% + }% +} + +\def\doignoreyyy#1{% + \def\temp{#1}% + \ifx\temp\empty % Nothing found. + \let\next\doignoretextzzz + \else % Found a nested condition, ... + \advance\doignorecount by 1 + \let\next\doignoretextyyy % ..., look for another. + % If we're here, #1 ends with ^^M\ifinfo (for example). + \fi + \next #1% the token \_STOP_ is present just after this macro. +} + +% We have to swallow the remaining "\_STOP_". +% +\def\doignoretextzzz#1{% + \ifnum\doignorecount = 0 % We have just found the outermost @end. + \let\next\enddoignore + \else % Still inside a nested condition. + \advance\doignorecount by -1 + \let\next\doignoretext % Look for the next @end. + \fi + \next +} + +% Finish off ignored text. +\def\enddoignore{\endgroup\ignorespaces} + + +% @set VAR sets the variable VAR to an empty value. +% @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE. +% +% Since we want to separate VAR from REST-OF-LINE (which might be +% empty), we can't just use \parsearg; we have to insert a space of our +% own to delimit the rest of the line, and then take it out again if we +% didn't need it. +% We rely on the fact that \parsearg sets \catcode`\ =10. +% +\parseargdef\set{\setyyy#1 \endsetyyy} +\def\setyyy#1 #2\endsetyyy{% + {% + \makevalueexpandable + \def\temp{#2}% + \edef\next{\gdef\makecsname{SET#1}}% + \ifx\temp\empty + \next{}% + \else + \setzzz#2\endsetzzz + \fi + }% +} +% Remove the trailing space \setxxx inserted. +\def\setzzz#1 \endsetzzz{\next{#1}} + +% @clear VAR clears (i.e., unsets) the variable VAR. +% +\parseargdef\clear{% + {% + \makevalueexpandable + \global\expandafter\let\csname SET#1\endcsname=\relax + }% +} + +% @value{foo} gets the text saved in variable foo. +\def\value{\begingroup\makevalueexpandable\valuexxx} +\def\valuexxx#1{\expandablevalue{#1}\endgroup} +{ + \catcode`\- = \active \catcode`\_ = \active + % + \gdef\makevalueexpandable{% + \let\value = \expandablevalue + % We don't want these characters active, ... + \catcode`\-=\other \catcode`\_=\other + % ..., but we might end up with active ones in the argument if + % we're called from @code, as @code{@value{foo-bar_}}, though. + % So \let them to their normal equivalents. + \let-\realdash \let_\normalunderscore + } +} + +% We have this subroutine so that we can handle at least some @value's +% properly in indexes (we call \makevalueexpandable in \indexdummies). +% The command has to be fully expandable (if the variable is set), since +% the result winds up in the index file. This means that if the +% variable's value contains other Texinfo commands, it's almost certain +% it will fail (although perhaps we could fix that with sufficient work +% to do a one-level expansion on the result, instead of complete). +% +\def\expandablevalue#1{% + \expandafter\ifx\csname SET#1\endcsname\relax + {[No value for ``#1'']}% + \message{Variable `#1', used in @value, is not set.}% + \else + \csname SET#1\endcsname + \fi +} + +% @ifset VAR ... @end ifset reads the `...' iff VAR has been defined +% with @set. +% +% To get special treatment of `@end ifset,' call \makeond and the redefine. +% +\makecond{ifset} +\def\ifset{\parsearg{\doifset{\let\next=\ifsetfail}}} +\def\doifset#1#2{% + {% + \makevalueexpandable + \let\next=\empty + \expandafter\ifx\csname SET#2\endcsname\relax + #1% If not set, redefine \next. + \fi + \expandafter + }\next +} +\def\ifsetfail{\doignore{ifset}} + +% @ifclear VAR ... @end ifclear reads the `...' iff VAR has never been +% defined with @set, or has been undefined with @clear. +% +% The `\else' inside the `\doifset' parameter is a trick to reuse the +% above code: if the variable is not set, do nothing, if it is set, +% then redefine \next to \ifclearfail. +% +\makecond{ifclear} +\def\ifclear{\parsearg{\doifset{\else \let\next=\ifclearfail}}} +\def\ifclearfail{\doignore{ifclear}} + +% @dircategory CATEGORY -- specify a category of the dir file +% which this file should belong to. Ignore this in TeX. +\let\dircategory=\comment + +% @defininfoenclose. +\let\definfoenclose=\comment + + +\message{indexing,} +% Index generation facilities + +% Define \newwrite to be identical to plain tex's \newwrite +% except not \outer, so it can be used within macros and \if's. +\edef\newwrite{\makecsname{ptexnewwrite}} + +% \newindex {foo} defines an index named foo. +% It automatically defines \fooindex such that +% \fooindex ...rest of line... puts an entry in the index foo. +% It also defines \fooindfile to be the number of the output channel for +% the file that accumulates this index. The file's extension is foo. +% The name of an index should be no more than 2 characters long +% for the sake of vms. +% +\def\newindex#1{% + \iflinks + \expandafter\newwrite \csname#1indfile\endcsname + \openout \csname#1indfile\endcsname \jobname.#1 % Open the file + \fi + \expandafter\xdef\csname#1index\endcsname{% % Define @#1index + \noexpand\doindex{#1}} +} + +% @defindex foo == \newindex{foo} +% +\def\defindex{\parsearg\newindex} + +% Define @defcodeindex, like @defindex except put all entries in @code. +% +\def\defcodeindex{\parsearg\newcodeindex} +% +\def\newcodeindex#1{% + \iflinks + \expandafter\newwrite \csname#1indfile\endcsname + \openout \csname#1indfile\endcsname \jobname.#1 + \fi + \expandafter\xdef\csname#1index\endcsname{% + \noexpand\docodeindex{#1}}% +} + + +% @synindex foo bar makes index foo feed into index bar. +% Do this instead of @defindex foo if you don't want it as a separate index. +% +% @syncodeindex foo bar similar, but put all entries made for index foo +% inside @code. +% +\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}} +\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}} + +% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo), +% #3 the target index (bar). +\def\dosynindex#1#2#3{% + % Only do \closeout if we haven't already done it, else we'll end up + % closing the target index. + \expandafter \ifx\csname donesynindex#2\endcsname \undefined + % The \closeout helps reduce unnecessary open files; the limit on the + % Acorn RISC OS is a mere 16 files. + \expandafter\closeout\csname#2indfile\endcsname + \expandafter\let\csname\donesynindex#2\endcsname = 1 + \fi + % redefine \fooindfile: + \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname + \expandafter\let\csname#2indfile\endcsname=\temp + % redefine \fooindex: + \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}% +} + +% Define \doindex, the driver for all \fooindex macros. +% Argument #1 is generated by the calling \fooindex macro, +% and it is "foo", the name of the index. + +% \doindex just uses \parsearg; it calls \doind for the actual work. +% This is because \doind is more useful to call from other macros. + +% There is also \dosubind {index}{topic}{subtopic} +% which makes an entry in a two-level index such as the operation index. + +\def\doindex#1{\edef\indexname{#1}\parsearg\singleindexer} +\def\singleindexer #1{\doind{\indexname}{#1}} + +% like the previous two, but they put @code around the argument. +\def\docodeindex#1{\edef\indexname{#1}\parsearg\singlecodeindexer} +\def\singlecodeindexer #1{\doind{\indexname}{\code{#1}}} + +% Take care of Texinfo commands that can appear in an index entry. +% Since there are some commands we want to expand, and others we don't, +% we have to laboriously prevent expansion for those that we don't. +% +\def\indexdummies{% + \def\@{@}% change to @@ when we switch to @ as escape char in index files. + \def\ {\realbackslash\space }% + % Need these in case \tex is in effect and \{ is a \delimiter again. + % But can't use \lbracecmd and \rbracecmd because texindex assumes + % braces and backslashes are used only as delimiters. + \let\{ = \mylbrace + \let\} = \myrbrace + % + % \definedummyword defines \#1 as \realbackslash #1\space, thus + % effectively preventing its expansion. This is used only for control + % words, not control letters, because the \space would be incorrect + % for control characters, but is needed to separate the control word + % from whatever follows. + % + % For control letters, we have \definedummyletter, which omits the + % space. + % + % These can be used both for control words that take an argument and + % those that do not. If it is followed by {arg} in the input, then + % that will dutifully get written to the index (or wherever). + % + \def\definedummyword##1{% + \expandafter\def\csname ##1\endcsname{\realbackslash ##1\space}% + }% + \def\definedummyletter##1{% + \expandafter\def\csname ##1\endcsname{\realbackslash ##1}% + }% + \let\definedummyaccent\definedummyletter + % + % Do the redefinitions. + \commondummies +} + +% For the aux file, @ is the escape character. So we want to redefine +% everything using @ instead of \realbackslash. When everything uses +% @, this will be simpler. +% +\def\atdummies{% + \def\@{@@}% + \def\ {@ }% + \let\{ = \lbraceatcmd + \let\} = \rbraceatcmd + % + % (See comments in \indexdummies.) + \def\definedummyword##1{% + \expandafter\def\csname ##1\endcsname{@##1\space}% + }% + \def\definedummyletter##1{% + \expandafter\def\csname ##1\endcsname{@##1}% + }% + \let\definedummyaccent\definedummyletter + % + % Do the redefinitions. + \commondummies +} + +% Called from \indexdummies and \atdummies. \definedummyword and +% \definedummyletter must be defined first. +% +\def\commondummies{% + % + \normalturnoffactive + % + \commondummiesnofonts + % + \definedummyletter{_}% + % + % Non-English letters. + \definedummyword{AA}% + \definedummyword{AE}% + \definedummyword{L}% + \definedummyword{OE}% + \definedummyword{O}% + \definedummyword{aa}% + \definedummyword{ae}% + \definedummyword{l}% + \definedummyword{oe}% + \definedummyword{o}% + \definedummyword{ss}% + \definedummyword{exclamdown}% + \definedummyword{questiondown}% + \definedummyword{ordf}% + \definedummyword{ordm}% + % + % Although these internal commands shouldn't show up, sometimes they do. + \definedummyword{bf}% + \definedummyword{gtr}% + \definedummyword{hat}% + \definedummyword{less}% + \definedummyword{sf}% + \definedummyword{sl}% + \definedummyword{tclose}% + \definedummyword{tt}% + % + \definedummyword{LaTeX}% + \definedummyword{TeX}% + % + % Assorted special characters. + \definedummyword{bullet}% + \definedummyword{comma}% + \definedummyword{copyright}% + \definedummyword{registeredsymbol}% + \definedummyword{dots}% + \definedummyword{enddots}% + \definedummyword{equiv}% + \definedummyword{error}% + \definedummyword{euro}% + \definedummyword{expansion}% + \definedummyword{minus}% + \definedummyword{pounds}% + \definedummyword{point}% + \definedummyword{print}% + \definedummyword{result}% + % + % Handle some cases of @value -- where it does not contain any + % (non-fully-expandable) commands. + \makevalueexpandable + % + % Normal spaces, not active ones. + \unsepspaces + % + % No macro expansion. + \turnoffmacros +} + +% \commondummiesnofonts: common to \commondummies and \indexnofonts. +% +% Better have this without active chars. +{ + \catcode`\~=\other + \gdef\commondummiesnofonts{% + % Control letters and accents. + \definedummyletter{!}% + \definedummyaccent{"}% + \definedummyaccent{'}% + \definedummyletter{*}% + \definedummyaccent{,}% + \definedummyletter{.}% + \definedummyletter{/}% + \definedummyletter{:}% + \definedummyaccent{=}% + \definedummyletter{?}% + \definedummyaccent{^}% + \definedummyaccent{`}% + \definedummyaccent{~}% + \definedummyword{u}% + \definedummyword{v}% + \definedummyword{H}% + \definedummyword{dotaccent}% + \definedummyword{ringaccent}% + \definedummyword{tieaccent}% + \definedummyword{ubaraccent}% + \definedummyword{udotaccent}% + \definedummyword{dotless}% + % + % Texinfo font commands. + \definedummyword{b}% + \definedummyword{i}% + \definedummyword{r}% + \definedummyword{sc}% + \definedummyword{t}% + % + % Commands that take arguments. + \definedummyword{acronym}% + \definedummyword{cite}% + \definedummyword{code}% + \definedummyword{command}% + \definedummyword{dfn}% + \definedummyword{emph}% + \definedummyword{env}% + \definedummyword{file}% + \definedummyword{kbd}% + \definedummyword{key}% + \definedummyword{math}% + \definedummyword{option}% + \definedummyword{samp}% + \definedummyword{strong}% + \definedummyword{tie}% + \definedummyword{uref}% + \definedummyword{url}% + \definedummyword{var}% + \definedummyword{verb}% + \definedummyword{w}% + } +} + +% \indexnofonts is used when outputting the strings to sort the index +% by, and when constructing control sequence names. It eliminates all +% control sequences and just writes whatever the best ASCII sort string +% would be for a given command (usually its argument). +% +\def\indexnofonts{% + % Accent commands should become @asis. + \def\definedummyaccent##1{% + \expandafter\let\csname ##1\endcsname\asis + }% + % We can just ignore other control letters. + \def\definedummyletter##1{% + \expandafter\def\csname ##1\endcsname{}% + }% + % Hopefully, all control words can become @asis. + \let\definedummyword\definedummyaccent + % + \commondummiesnofonts + % + % Don't no-op \tt, since it isn't a user-level command + % and is used in the definitions of the active chars like <, >, |, etc. + % Likewise with the other plain tex font commands. + %\let\tt=\asis + % + \def\ { }% + \def\@{@}% + % how to handle braces? + \def\_{\normalunderscore}% + % + % Non-English letters. + \def\AA{AA}% + \def\AE{AE}% + \def\L{L}% + \def\OE{OE}% + \def\O{O}% + \def\aa{aa}% + \def\ae{ae}% + \def\l{l}% + \def\oe{oe}% + \def\o{o}% + \def\ss{ss}% + \def\exclamdown{!}% + \def\questiondown{?}% + \def\ordf{a}% + \def\ordm{o}% + % + \def\LaTeX{LaTeX}% + \def\TeX{TeX}% + % + % Assorted special characters. + % (The following {} will end up in the sort string, but that's ok.) + \def\bullet{bullet}% + \def\comma{,}% + \def\copyright{copyright}% + \def\registeredsymbol{R}% + \def\dots{...}% + \def\enddots{...}% + \def\equiv{==}% + \def\error{error}% + \def\euro{euro}% + \def\expansion{==>}% + \def\minus{-}% + \def\pounds{pounds}% + \def\point{.}% + \def\print{-|}% + \def\result{=>}% + % + % Don't write macro names. + \emptyusermacros +} + +\let\indexbackslash=0 %overridden during \printindex. +\let\SETmarginindex=\relax % put index entries in margin (undocumented)? + +% Most index entries go through here, but \dosubind is the general case. +% #1 is the index name, #2 is the entry text. +\def\doind#1#2{\dosubind{#1}{#2}{}} + +% Workhorse for all \fooindexes. +% #1 is name of index, #2 is stuff to put there, #3 is subentry -- +% empty if called from \doind, as we usually are (the main exception +% is with most defuns, which call us directly). +% +\def\dosubind#1#2#3{% + \iflinks + {% + % Store the main index entry text (including the third arg). + \toks0 = {#2}% + % If third arg is present, precede it with a space. + \def\thirdarg{#3}% + \ifx\thirdarg\empty \else + \toks0 = \expandafter{\the\toks0 \space #3}% + \fi + % + \edef\writeto{\csname#1indfile\endcsname}% + % + \ifvmode + \dosubindsanitize + \else + \dosubindwrite + \fi + }% + \fi +} + +% Write the entry in \toks0 to the index file: +% +\def\dosubindwrite{% + % Put the index entry in the margin if desired. + \ifx\SETmarginindex\relax\else + \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}% + \fi + % + % Remember, we are within a group. + \indexdummies % Must do this here, since \bf, etc expand at this stage + \escapechar=`\\ + \def\backslashcurfont{\indexbackslash}% \indexbackslash isn't defined now + % so it will be output as is; and it will print as backslash. + % + % Process the index entry with all font commands turned off, to + % get the string to sort by. + {\indexnofonts + \edef\temp{\the\toks0}% need full expansion + \xdef\indexsorttmp{\temp}% + }% + % + % Set up the complete index entry, with both the sort key and + % the original text, including any font commands. We write + % three arguments to \entry to the .?? file (four in the + % subentry case), texindex reduces to two when writing the .??s + % sorted result. + \edef\temp{% + \write\writeto{% + \string\entry{\indexsorttmp}{\noexpand\folio}{\the\toks0}}% + }% + \temp +} + +% Take care of unwanted page breaks: +% +% If a skip is the last thing on the list now, preserve it +% by backing up by \lastskip, doing the \write, then inserting +% the skip again. Otherwise, the whatsit generated by the +% \write will make \lastskip zero. The result is that sequences +% like this: +% @end defun +% @tindex whatever +% @defun ... +% will have extra space inserted, because the \medbreak in the +% start of the @defun won't see the skip inserted by the @end of +% the previous defun. +% +% But don't do any of this if we're not in vertical mode. We +% don't want to do a \vskip and prematurely end a paragraph. +% +% Avoid page breaks due to these extra skips, too. +% +% But wait, there is a catch there: +% We'll have to check whether \lastskip is zero skip. \ifdim is not +% sufficient for this purpose, as it ignores stretch and shrink parts +% of the skip. The only way seems to be to check the textual +% representation of the skip. +% +% The following is almost like \def\zeroskipmacro{0.0pt} except that +% the ``p'' and ``t'' characters have catcode \other, not 11 (letter). +% +\edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} +% +% ..., ready, GO: +% +\def\dosubindsanitize{% + % \lastskip and \lastpenalty cannot both be nonzero simultaneously. + \skip0 = \lastskip + \edef\lastskipmacro{\the\lastskip}% + \count255 = \lastpenalty + % + % If \lastskip is nonzero, that means the last item was a + % skip. And since a skip is discardable, that means this + % -\skip0 glue we're inserting is preceded by a + % non-discardable item, therefore it is not a potential + % breakpoint, therefore no \nobreak needed. + \ifx\lastskipmacro\zeroskipmacro + \else + \vskip-\skip0 + \fi + % + \dosubindwrite + % + \ifx\lastskipmacro\zeroskipmacro + % If \lastskip was zero, perhaps the last item was a penalty, and + % perhaps it was >=10000, e.g., a \nobreak. In that case, we want + % to re-insert the same penalty (values >10000 are used for various + % signals); since we just inserted a non-discardable item, any + % following glue (such as a \parskip) would be a breakpoint. For example: + % + % @deffn deffn-whatever + % @vindex index-whatever + % Description. + % would allow a break between the index-whatever whatsit + % and the "Description." paragraph. + \ifnum\count255>9999 \penalty\count255 \fi + \else + % On the other hand, if we had a nonzero \lastskip, + % this make-up glue would be preceded by a non-discardable item + % (the whatsit from the \write), so we must insert a \nobreak. + \nobreak\vskip\skip0 + \fi +} + +% The index entry written in the file actually looks like +% \entry {sortstring}{page}{topic} +% or +% \entry {sortstring}{page}{topic}{subtopic} +% The texindex program reads in these files and writes files +% containing these kinds of lines: +% \initial {c} +% before the first topic whose initial is c +% \entry {topic}{pagelist} +% for a topic that is used without subtopics +% \primary {topic} +% for the beginning of a topic that is used with subtopics +% \secondary {subtopic}{pagelist} +% for each subtopic. + +% Define the user-accessible indexing commands +% @findex, @vindex, @kindex, @cindex. + +\def\findex {\fnindex} +\def\kindex {\kyindex} +\def\cindex {\cpindex} +\def\vindex {\vrindex} +\def\tindex {\tpindex} +\def\pindex {\pgindex} + +\def\cindexsub {\begingroup\obeylines\cindexsub} +{\obeylines % +\gdef\cindexsub "#1" #2^^M{\endgroup % +\dosubind{cp}{#2}{#1}}} + +% Define the macros used in formatting output of the sorted index material. + +% @printindex causes a particular index (the ??s file) to get printed. +% It does not print any chapter heading (usually an @unnumbered). +% +\parseargdef\printindex{\begingroup + \dobreak \chapheadingskip{10000}% + % + \smallfonts \rm + \tolerance = 9500 + \everypar = {}% don't want the \kern\-parindent from indentation suppression. + % + % See if the index file exists and is nonempty. + % Change catcode of @ here so that if the index file contains + % \initial {@} + % as its first line, TeX doesn't complain about mismatched braces + % (because it thinks @} is a control sequence). + \catcode`\@ = 11 + \openin 1 \jobname.#1s + \ifeof 1 + % \enddoublecolumns gets confused if there is no text in the index, + % and it loses the chapter title and the aux file entries for the + % index. The easiest way to prevent this problem is to make sure + % there is some text. + \putwordIndexNonexistent + \else + % + % If the index file exists but is empty, then \openin leaves \ifeof + % false. We have to make TeX try to read something from the file, so + % it can discover if there is anything in it. + \read 1 to \temp + \ifeof 1 + \putwordIndexIsEmpty + \else + % Index files are almost Texinfo source, but we use \ as the escape + % character. It would be better to use @, but that's too big a change + % to make right now. + \def\indexbackslash{\backslashcurfont}% + \catcode`\\ = 0 + \escapechar = `\\ + \begindoublecolumns + \input \jobname.#1s + \enddoublecolumns + \fi + \fi + \closein 1 +\endgroup} + +% These macros are used by the sorted index file itself. +% Change them to control the appearance of the index. + +\def\initial#1{{% + % Some minor font changes for the special characters. + \let\tentt=\sectt \let\tt=\sectt \let\sf=\sectt + % + % Remove any glue we may have, we'll be inserting our own. + \removelastskip + % + % We like breaks before the index initials, so insert a bonus. + \nobreak + \vskip 0pt plus 3\baselineskip + \penalty 0 + \vskip 0pt plus -3\baselineskip + % + % Typeset the initial. Making this add up to a whole number of + % baselineskips increases the chance of the dots lining up from column + % to column. It still won't often be perfect, because of the stretch + % we need before each entry, but it's better. + % + % No shrink because it confuses \balancecolumns. + \vskip 1.67\baselineskip plus .5\baselineskip + \leftline{\secbf #1}% + % Do our best not to break after the initial. + \nobreak + \vskip .33\baselineskip plus .1\baselineskip +}} + +% \entry typesets a paragraph consisting of the text (#1), dot leaders, and +% then page number (#2) flushed to the right margin. It is used for index +% and table of contents entries. The paragraph is indented by \leftskip. +% +% A straightforward implementation would start like this: +% \def\entry#1#2{... +% But this frozes the catcodes in the argument, and can cause problems to +% @code, which sets - active. This problem was fixed by a kludge--- +% ``-'' was active throughout whole index, but this isn't really right. +% +% The right solution is to prevent \entry from swallowing the whole text. +% --kasal, 21nov03 +\def\entry{% + \begingroup + % + % Start a new paragraph if necessary, so our assignments below can't + % affect previous text. + \par + % + % Do not fill out the last line with white space. + \parfillskip = 0in + % + % No extra space above this paragraph. + \parskip = 0in + % + % Do not prefer a separate line ending with a hyphen to fewer lines. + \finalhyphendemerits = 0 + % + % \hangindent is only relevant when the entry text and page number + % don't both fit on one line. In that case, bob suggests starting the + % dots pretty far over on the line. Unfortunately, a large + % indentation looks wrong when the entry text itself is broken across + % lines. So we use a small indentation and put up with long leaders. + % + % \hangafter is reset to 1 (which is the value we want) at the start + % of each paragraph, so we need not do anything with that. + \hangindent = 2em + % + % When the entry text needs to be broken, just fill out the first line + % with blank space. + \rightskip = 0pt plus1fil + % + % A bit of stretch before each entry for the benefit of balancing + % columns. + \vskip 0pt plus1pt + % + % Swallow the left brace of the text (first parameter): + \afterassignment\doentry + \let\temp = +} +\def\doentry{% + \bgroup % Instead of the swallowed brace. + \noindent + \aftergroup\finishentry + % And now comes the text of the entry. +} +\def\finishentry#1{% + % #1 is the page number. + % + % The following is kludged to not output a line of dots in the index if + % there are no page numbers. The next person who breaks this will be + % cursed by a Unix daemon. + \def\tempa{{\rm }}% + \def\tempb{#1}% + \edef\tempc{\tempa}% + \edef\tempd{\tempb}% + \ifx\tempc\tempd + \ % + \else + % + % If we must, put the page number on a line of its own, and fill out + % this line with blank space. (The \hfil is overwhelmed with the + % fill leaders glue in \indexdotfill if the page number does fit.) + \hfil\penalty50 + \null\nobreak\indexdotfill % Have leaders before the page number. + % + % The `\ ' here is removed by the implicit \unskip that TeX does as + % part of (the primitive) \par. Without it, a spurious underfull + % \hbox ensues. + \ifpdf + \pdfgettoks#1.% + \ \the\toksA + \else + \ #1% + \fi + \fi + \par + \endgroup +} + +% Like \dotfill except takes at least 1 em. +\def\indexdotfill{\cleaders + \hbox{$\mathsurround=0pt \mkern1.5mu ${\it .}$ \mkern1.5mu$}\hskip 1em plus 1fill} + +\def\primary #1{\line{#1\hfil}} + +\newskip\secondaryindent \secondaryindent=0.5cm +\def\secondary#1#2{{% + \parfillskip=0in + \parskip=0in + \hangindent=1in + \hangafter=1 + \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill + \ifpdf + \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. + \else + #2 + \fi + \par +}} + +% Define two-column mode, which we use to typeset indexes. +% Adapted from the TeXbook, page 416, which is to say, +% the manmac.tex format used to print the TeXbook itself. +\catcode`\@=11 + +\newbox\partialpage +\newdimen\doublecolumnhsize + +\def\begindoublecolumns{\begingroup % ended by \enddoublecolumns + % Grab any single-column material above us. + \output = {% + % + % Here is a possibility not foreseen in manmac: if we accumulate a + % whole lot of material, we might end up calling this \output + % routine twice in a row (see the doublecol-lose test, which is + % essentially a couple of indexes with @setchapternewpage off). In + % that case we just ship out what is in \partialpage with the normal + % output routine. Generally, \partialpage will be empty when this + % runs and this will be a no-op. See the indexspread.tex test case. + \ifvoid\partialpage \else + \onepageout{\pagecontents\partialpage}% + \fi + % + \global\setbox\partialpage = \vbox{% + % Unvbox the main output page. + \unvbox\PAGE + \kern-\topskip \kern\baselineskip + }% + }% + \eject % run that output routine to set \partialpage + % + % Use the double-column output routine for subsequent pages. + \output = {\doublecolumnout}% + % + % Change the page size parameters. We could do this once outside this + % routine, in each of @smallbook, @afourpaper, and the default 8.5x11 + % format, but then we repeat the same computation. Repeating a couple + % of assignments once per index is clearly meaningless for the + % execution time, so we may as well do it in one place. + % + % First we halve the line length, less a little for the gutter between + % the columns. We compute the gutter based on the line length, so it + % changes automatically with the paper format. The magic constant + % below is chosen so that the gutter has the same value (well, +-<1pt) + % as it did when we hard-coded it. + % + % We put the result in a separate register, \doublecolumhsize, so we + % can restore it in \pagesofar, after \hsize itself has (potentially) + % been clobbered. + % + \doublecolumnhsize = \hsize + \advance\doublecolumnhsize by -.04154\hsize + \divide\doublecolumnhsize by 2 + \hsize = \doublecolumnhsize + % + % Double the \vsize as well. (We don't need a separate register here, + % since nobody clobbers \vsize.) + \vsize = 2\vsize +} + +% The double-column output routine for all double-column pages except +% the last. +% +\def\doublecolumnout{% + \splittopskip=\topskip \splitmaxdepth=\maxdepth + % Get the available space for the double columns -- the normal + % (undoubled) page height minus any material left over from the + % previous page. + \dimen@ = \vsize + \divide\dimen@ by 2 + \advance\dimen@ by -\ht\partialpage + % + % box0 will be the left-hand column, box2 the right. + \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@ + \onepageout\pagesofar + \unvbox255 + \penalty\outputpenalty +} +% +% Re-output the contents of the output page -- any previous material, +% followed by the two boxes we just split, in box0 and box2. +\def\pagesofar{% + \unvbox\partialpage + % + \hsize = \doublecolumnhsize + \wd0=\hsize \wd2=\hsize + \hbox to\pagewidth{\box0\hfil\box2}% +} +% +% All done with double columns. +\def\enddoublecolumns{% + \output = {% + % Split the last of the double-column material. Leave it on the + % current page, no automatic page break. + \balancecolumns + % + % If we end up splitting too much material for the current page, + % though, there will be another page break right after this \output + % invocation ends. Having called \balancecolumns once, we do not + % want to call it again. Therefore, reset \output to its normal + % definition right away. (We hope \balancecolumns will never be + % called on to balance too much material, but if it is, this makes + % the output somewhat more palatable.) + \global\output = {\onepageout{\pagecontents\PAGE}}% + }% + \eject + \endgroup % started in \begindoublecolumns + % + % \pagegoal was set to the doubled \vsize above, since we restarted + % the current page. We're now back to normal single-column + % typesetting, so reset \pagegoal to the normal \vsize (after the + % \endgroup where \vsize got restored). + \pagegoal = \vsize +} +% +% Called at the end of the double column material. +\def\balancecolumns{% + \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120. + \dimen@ = \ht0 + \advance\dimen@ by \topskip + \advance\dimen@ by-\baselineskip + \divide\dimen@ by 2 % target to split to + %debug\message{final 2-column material height=\the\ht0, target=\the\dimen@.}% + \splittopskip = \topskip + % Loop until we get a decent breakpoint. + {% + \vbadness = 10000 + \loop + \global\setbox3 = \copy0 + \global\setbox1 = \vsplit3 to \dimen@ + \ifdim\ht3>\dimen@ + \global\advance\dimen@ by 1pt + \repeat + }% + %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}% + \setbox0=\vbox to\dimen@{\unvbox1}% + \setbox2=\vbox to\dimen@{\unvbox3}% + % + \pagesofar +} +\catcode`\@ = \other + + +\message{sectioning,} +% Chapters, sections, etc. + +% \unnumberedno is an oxymoron, of course. But we count the unnumbered +% sections so that we can refer to them unambiguously in the pdf +% outlines by their "section number". We avoid collisions with chapter +% numbers by starting them at 10000. (If a document ever has 10000 +% chapters, we're in trouble anyway, I'm sure.) +\newcount\unnumberedno \unnumberedno = 10000 +\newcount\chapno +\newcount\secno \secno=0 +\newcount\subsecno \subsecno=0 +\newcount\subsubsecno \subsubsecno=0 + +% This counter is funny since it counts through charcodes of letters A, B, ... +\newcount\appendixno \appendixno = `\@ +% +% \def\appendixletter{\char\the\appendixno} +% We do the following ugly conditional instead of the above simple +% construct for the sake of pdftex, which needs the actual +% letter in the expansion, not just typeset. +% +\def\appendixletter{% + \ifnum\appendixno=`A A% + \else\ifnum\appendixno=`B B% + \else\ifnum\appendixno=`C C% + \else\ifnum\appendixno=`D D% + \else\ifnum\appendixno=`E E% + \else\ifnum\appendixno=`F F% + \else\ifnum\appendixno=`G G% + \else\ifnum\appendixno=`H H% + \else\ifnum\appendixno=`I I% + \else\ifnum\appendixno=`J J% + \else\ifnum\appendixno=`K K% + \else\ifnum\appendixno=`L L% + \else\ifnum\appendixno=`M M% + \else\ifnum\appendixno=`N N% + \else\ifnum\appendixno=`O O% + \else\ifnum\appendixno=`P P% + \else\ifnum\appendixno=`Q Q% + \else\ifnum\appendixno=`R R% + \else\ifnum\appendixno=`S S% + \else\ifnum\appendixno=`T T% + \else\ifnum\appendixno=`U U% + \else\ifnum\appendixno=`V V% + \else\ifnum\appendixno=`W W% + \else\ifnum\appendixno=`X X% + \else\ifnum\appendixno=`Y Y% + \else\ifnum\appendixno=`Z Z% + % The \the is necessary, despite appearances, because \appendixletter is + % expanded while writing the .toc file. \char\appendixno is not + % expandable, thus it is written literally, thus all appendixes come out + % with the same letter (or @) in the toc without it. + \else\char\the\appendixno + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} + +% Each @chapter defines this as the name of the chapter. +% page headings and footings can use it. @section does likewise. +% However, they are not reliable, because we don't use marks. +\def\thischapter{} +\def\thissection{} + +\newcount\absseclevel % used to calculate proper heading level +\newcount\secbase\secbase=0 % @raisesections/@lowersections modify this count + +% @raisesections: treat @section as chapter, @subsection as section, etc. +\def\raisesections{\global\advance\secbase by -1} +\let\up=\raisesections % original BFox name + +% @lowersections: treat @chapter as section, @section as subsection, etc. +\def\lowersections{\global\advance\secbase by 1} +\let\down=\lowersections % original BFox name + +% we only have subsub. +\chardef\maxseclevel = 3 +% +% A numbered section within an unnumbered changes to unnumbered too. +% To achive this, remember the "biggest" unnum. sec. we are currently in: +\chardef\unmlevel = \maxseclevel +% +% Trace whether the current chapter is an appendix or not: +% \chapheadtype is "N" or "A", unnumbered chapters are ignored. +\def\chapheadtype{N} + +% Choose a heading macro +% #1 is heading type +% #2 is heading level +% #3 is text for heading +\def\genhead#1#2#3{% + % Compute the abs. sec. level: + \absseclevel=#2 + \advance\absseclevel by \secbase + % Make sure \absseclevel doesn't fall outside the range: + \ifnum \absseclevel < 0 + \absseclevel = 0 + \else + \ifnum \absseclevel > 3 + \absseclevel = 3 + \fi + \fi + % The heading type: + \def\headtype{#1}% + \if \headtype U% + \ifnum \absseclevel < \unmlevel + \chardef\unmlevel = \absseclevel + \fi + \else + % Check for appendix sections: + \ifnum \absseclevel = 0 + \edef\chapheadtype{\headtype}% + \else + \if \headtype A\if \chapheadtype N% + \errmessage{@appendix... within a non-appendix chapter}% + \fi\fi + \fi + % Check for numbered within unnumbered: + \ifnum \absseclevel > \unmlevel + \def\headtype{U}% + \else + \chardef\unmlevel = 3 + \fi + \fi + % Now print the heading: + \if \headtype U% + \ifcase\absseclevel + \unnumberedzzz{#3}% + \or \unnumberedseczzz{#3}% + \or \unnumberedsubseczzz{#3}% + \or \unnumberedsubsubseczzz{#3}% + \fi + \else + \if \headtype A% + \ifcase\absseclevel + \appendixzzz{#3}% + \or \appendixsectionzzz{#3}% + \or \appendixsubseczzz{#3}% + \or \appendixsubsubseczzz{#3}% + \fi + \else + \ifcase\absseclevel + \chapterzzz{#3}% + \or \seczzz{#3}% + \or \numberedsubseczzz{#3}% + \or \numberedsubsubseczzz{#3}% + \fi + \fi + \fi + \suppressfirstparagraphindent +} + +% an interface: +\def\numhead{\genhead N} +\def\apphead{\genhead A} +\def\unnmhead{\genhead U} + +% @chapter, @appendix, @unnumbered. Increment top-level counter, reset +% all lower-level sectioning counters to zero. +% +% Also set \chaplevelprefix, which we prepend to @float sequence numbers +% (e.g., figures), q.v. By default (before any chapter), that is empty. +\let\chaplevelprefix = \empty +% +\outer\parseargdef\chapter{\numhead0{#1}} % normally numhead0 calls chapterzzz +\def\chapterzzz#1{% + % section resetting is \global in case the chapter is in a group, such + % as an @include file. + \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 + \global\advance\chapno by 1 + % + % Used for \float. + \gdef\chaplevelprefix{\the\chapno.}% + \resetallfloatnos + % + \message{\putwordChapter\space \the\chapno}% + % + % Write the actual heading. + \chapmacro{#1}{Ynumbered}{\the\chapno}% + % + % So @section and the like are numbered underneath this chapter. + \global\let\section = \numberedsec + \global\let\subsection = \numberedsubsec + \global\let\subsubsection = \numberedsubsubsec +} + +\outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz +\def\appendixzzz#1{% + \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 + \global\advance\appendixno by 1 + \gdef\chaplevelprefix{\appendixletter.}% + \resetallfloatnos + % + \def\appendixnum{\putwordAppendix\space \appendixletter}% + \message{\appendixnum}% + % + \chapmacro{#1}{Yappendix}{\appendixletter}% + % + \global\let\section = \appendixsec + \global\let\subsection = \appendixsubsec + \global\let\subsubsection = \appendixsubsubsec +} + +\outer\parseargdef\unnumbered{\unnmhead0{#1}} % normally unnmhead0 calls unnumberedzzz +\def\unnumberedzzz#1{% + \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 + \global\advance\unnumberedno by 1 + % + % Since an unnumbered has no number, no prefix for figures. + \global\let\chaplevelprefix = \empty + \resetallfloatnos + % + % This used to be simply \message{#1}, but TeX fully expands the + % argument to \message. Therefore, if #1 contained @-commands, TeX + % expanded them. For example, in `@unnumbered The @cite{Book}', TeX + % expanded @cite (which turns out to cause errors because \cite is meant + % to be executed, not expanded). + % + % Anyway, we don't want the fully-expanded definition of @cite to appear + % as a result of the \message, we just want `@cite' itself. We use + % \the to achieve this: TeX expands \the only once, + % simply yielding the contents of . (We also do this for + % the toc entries.) + \toks0 = {#1}% + \message{(\the\toks0)}% + % + \chapmacro{#1}{Ynothing}{\the\unnumberedno}% + % + \global\let\section = \unnumberedsec + \global\let\subsection = \unnumberedsubsec + \global\let\subsubsection = \unnumberedsubsubsec +} + +% @centerchap is like @unnumbered, but the heading is centered. +\outer\parseargdef\centerchap{% + % Well, we could do the following in a group, but that would break + % an assumption that \chapmacro is called at the outermost level. + % Thus we are safer this way: --kasal, 24feb04 + \let\centerparametersmaybe = \centerparameters + \unnmhead0{#1}% + \let\centerparametersmaybe = \relax +} + +% @top is like @unnumbered. +\let\top\unnumbered + +% Sections. +\outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz +\def\seczzz#1{% + \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 + \sectionheading{#1}{sec}{Ynumbered}{\the\chapno.\the\secno}% +} + +\outer\parseargdef\appendixsection{\apphead1{#1}} % normally calls appendixsectionzzz +\def\appendixsectionzzz#1{% + \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 + \sectionheading{#1}{sec}{Yappendix}{\appendixletter.\the\secno}% +} +\let\appendixsec\appendixsection + +\outer\parseargdef\unnumberedsec{\unnmhead1{#1}} % normally calls unnumberedseczzz +\def\unnumberedseczzz#1{% + \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 + \sectionheading{#1}{sec}{Ynothing}{\the\unnumberedno.\the\secno}% +} + +% Subsections. +\outer\parseargdef\numberedsubsec{\numhead2{#1}} % normally calls numberedsubseczzz +\def\numberedsubseczzz#1{% + \global\subsubsecno=0 \global\advance\subsecno by 1 + \sectionheading{#1}{subsec}{Ynumbered}{\the\chapno.\the\secno.\the\subsecno}% +} + +\outer\parseargdef\appendixsubsec{\apphead2{#1}} % normally calls appendixsubseczzz +\def\appendixsubseczzz#1{% + \global\subsubsecno=0 \global\advance\subsecno by 1 + \sectionheading{#1}{subsec}{Yappendix}% + {\appendixletter.\the\secno.\the\subsecno}% +} + +\outer\parseargdef\unnumberedsubsec{\unnmhead2{#1}} %normally calls unnumberedsubseczzz +\def\unnumberedsubseczzz#1{% + \global\subsubsecno=0 \global\advance\subsecno by 1 + \sectionheading{#1}{subsec}{Ynothing}% + {\the\unnumberedno.\the\secno.\the\subsecno}% +} + +% Subsubsections. +\outer\parseargdef\numberedsubsubsec{\numhead3{#1}} % normally numberedsubsubseczzz +\def\numberedsubsubseczzz#1{% + \global\advance\subsubsecno by 1 + \sectionheading{#1}{subsubsec}{Ynumbered}% + {\the\chapno.\the\secno.\the\subsecno.\the\subsubsecno}% +} + +\outer\parseargdef\appendixsubsubsec{\apphead3{#1}} % normally appendixsubsubseczzz +\def\appendixsubsubseczzz#1{% + \global\advance\subsubsecno by 1 + \sectionheading{#1}{subsubsec}{Yappendix}% + {\appendixletter.\the\secno.\the\subsecno.\the\subsubsecno}% +} + +\outer\parseargdef\unnumberedsubsubsec{\unnmhead3{#1}} %normally unnumberedsubsubseczzz +\def\unnumberedsubsubseczzz#1{% + \global\advance\subsubsecno by 1 + \sectionheading{#1}{subsubsec}{Ynothing}% + {\the\unnumberedno.\the\secno.\the\subsecno.\the\subsubsecno}% +} + +% These macros control what the section commands do, according +% to what kind of chapter we are in (ordinary, appendix, or unnumbered). +% Define them by default for a numbered chapter. +\let\section = \numberedsec +\let\subsection = \numberedsubsec +\let\subsubsection = \numberedsubsubsec + +% Define @majorheading, @heading and @subheading + +% NOTE on use of \vbox for chapter headings, section headings, and such: +% 1) We use \vbox rather than the earlier \line to permit +% overlong headings to fold. +% 2) \hyphenpenalty is set to 10000 because hyphenation in a +% heading is obnoxious; this forbids it. +% 3) Likewise, headings look best if no \parindent is used, and +% if justification is not attempted. Hence \raggedright. + + +\def\majorheading{% + {\advance\chapheadingskip by 10pt \chapbreak }% + \parsearg\chapheadingzzz +} + +\def\chapheading{\chapbreak \parsearg\chapheadingzzz} +\def\chapheadingzzz#1{% + {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 + \parindent=0pt\raggedright + \rm #1\hfill}}% + \bigskip \par\penalty 200\relax + \suppressfirstparagraphindent +} + +% @heading, @subheading, @subsubheading. +\parseargdef\heading{\sectionheading{#1}{sec}{Yomitfromtoc}{} + \suppressfirstparagraphindent} +\parseargdef\subheading{\sectionheading{#1}{subsec}{Yomitfromtoc}{} + \suppressfirstparagraphindent} +\parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{} + \suppressfirstparagraphindent} + +% These macros generate a chapter, section, etc. heading only +% (including whitespace, linebreaking, etc. around it), +% given all the information in convenient, parsed form. + +%%% Args are the skip and penalty (usually negative) +\def\dobreak#1#2{\par\ifdim\lastskip<#1\removelastskip\penalty#2\vskip#1\fi} + +%%% Define plain chapter starts, and page on/off switching for it +% Parameter controlling skip before chapter headings (if needed) + +\newskip\chapheadingskip + +\def\chapbreak{\dobreak \chapheadingskip {-4000}} +\def\chappager{\par\vfill\supereject} +\def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi} + +\def\setchapternewpage #1 {\csname CHAPPAG#1\endcsname} + +\def\CHAPPAGoff{% +\global\let\contentsalignmacro = \chappager +\global\let\pchapsepmacro=\chapbreak +\global\let\pagealignmacro=\chappager} + +\def\CHAPPAGon{% +\global\let\contentsalignmacro = \chappager +\global\let\pchapsepmacro=\chappager +\global\let\pagealignmacro=\chappager +\global\def\HEADINGSon{\HEADINGSsingle}} + +\def\CHAPPAGodd{% +\global\let\contentsalignmacro = \chapoddpage +\global\let\pchapsepmacro=\chapoddpage +\global\let\pagealignmacro=\chapoddpage +\global\def\HEADINGSon{\HEADINGSdouble}} + +\CHAPPAGon + +% Chapter opening. +% +% #1 is the text, #2 is the section type (Ynumbered, Ynothing, +% Yappendix, Yomitfromtoc), #3 the chapter number. +% +% To test against our argument. +\def\Ynothingkeyword{Ynothing} +\def\Yomitfromtockeyword{Yomitfromtoc} +\def\Yappendixkeyword{Yappendix} +% +\def\chapmacro#1#2#3{% + \pchapsepmacro + {% + \chapfonts \rm + % + % Have to define \thissection before calling \donoderef, because the + % xref code eventually uses it. On the other hand, it has to be called + % after \pchapsepmacro, or the headline will change too soon. + \gdef\thissection{#1}% + \gdef\thischaptername{#1}% + % + % Only insert the separating space if we have a chapter/appendix + % number, and don't print the unnumbered ``number''. + \def\temptype{#2}% + \ifx\temptype\Ynothingkeyword + \setbox0 = \hbox{}% + \def\toctype{unnchap}% + \gdef\thischapter{#1}% + \else\ifx\temptype\Yomitfromtockeyword + \setbox0 = \hbox{}% contents like unnumbered, but no toc entry + \def\toctype{omit}% + \gdef\thischapter{}% + \else\ifx\temptype\Yappendixkeyword + \setbox0 = \hbox{\putwordAppendix{} #3\enspace}% + \def\toctype{app}% + % We don't substitute the actual chapter name into \thischapter + % because we don't want its macros evaluated now. And we don't + % use \thissection because that changes with each section. + % + \xdef\thischapter{\putwordAppendix{} \appendixletter: + \noexpand\thischaptername}% + \else + \setbox0 = \hbox{#3\enspace}% + \def\toctype{numchap}% + \xdef\thischapter{\putwordChapter{} \the\chapno: + \noexpand\thischaptername}% + \fi\fi\fi + % + % Write the toc entry for this chapter. Must come before the + % \donoderef, because we include the current node name in the toc + % entry, and \donoderef resets it to empty. + \writetocentry{\toctype}{#1}{#3}% + % + % For pdftex, we have to write out the node definition (aka, make + % the pdfdest) after any page break, but before the actual text has + % been typeset. If the destination for the pdf outline is after the + % text, then jumping from the outline may wind up with the text not + % being visible, for instance under high magnification. + \donoderef{#2}% + % + % Typeset the actual heading. + \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright + \hangindent=\wd0 \centerparametersmaybe + \unhbox0 #1\par}% + }% + \nobreak\bigskip % no page break after a chapter title + \nobreak +} + +% @centerchap -- centered and unnumbered. +\let\centerparametersmaybe = \relax +\def\centerparameters{% + \advance\rightskip by 3\rightskip + \leftskip = \rightskip + \parfillskip = 0pt +} + + +% I don't think this chapter style is supported any more, so I'm not +% updating it with the new noderef stuff. We'll see. --karl, 11aug03. +% +\def\setchapterstyle #1 {\csname CHAPF#1\endcsname} +% +\def\unnchfopen #1{% +\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 + \parindent=0pt\raggedright + \rm #1\hfill}}\bigskip \par\nobreak +} +\def\chfopen #1#2{\chapoddpage {\chapfonts +\vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% +\par\penalty 5000 % +} +\def\centerchfopen #1{% +\chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 + \parindent=0pt + \hfill {\rm #1}\hfill}}\bigskip \par\nobreak +} +\def\CHAPFopen{% + \global\let\chapmacro=\chfopen + \global\let\centerchapmacro=\centerchfopen} + + +% Section titles. These macros combine the section number parts and +% call the generic \sectionheading to do the printing. +% +\newskip\secheadingskip +\def\secheadingbreak{\dobreak \secheadingskip{-1000}} + +% Subsection titles. +\newskip\subsecheadingskip +\def\subsecheadingbreak{\dobreak \subsecheadingskip{-500}} + +% Subsubsection titles. +\def\subsubsecheadingskip{\subsecheadingskip} +\def\subsubsecheadingbreak{\subsecheadingbreak} + + +% Print any size, any type, section title. +% +% #1 is the text, #2 is the section level (sec/subsec/subsubsec), #3 is +% the section type for xrefs (Ynumbered, Ynothing, Yappendix), #4 is the +% section number. +% +\def\sectionheading#1#2#3#4{% + {% + % Switch to the right set of fonts. + \csname #2fonts\endcsname \rm + % + % Insert space above the heading. + \csname #2headingbreak\endcsname + % + % Only insert the space after the number if we have a section number. + \def\sectionlevel{#2}% + \def\temptype{#3}% + % + \ifx\temptype\Ynothingkeyword + \setbox0 = \hbox{}% + \def\toctype{unn}% + \gdef\thissection{#1}% + \else\ifx\temptype\Yomitfromtockeyword + % for @headings -- no section number, don't include in toc, + % and don't redefine \thissection. + \setbox0 = \hbox{}% + \def\toctype{omit}% + \let\sectionlevel=\empty + \else\ifx\temptype\Yappendixkeyword + \setbox0 = \hbox{#4\enspace}% + \def\toctype{app}% + \gdef\thissection{#1}% + \else + \setbox0 = \hbox{#4\enspace}% + \def\toctype{num}% + \gdef\thissection{#1}% + \fi\fi\fi + % + % Write the toc entry (before \donoderef). See comments in \chfplain. + \writetocentry{\toctype\sectionlevel}{#1}{#4}% + % + % Write the node reference (= pdf destination for pdftex). + % Again, see comments in \chfplain. + \donoderef{#3}% + % + % Output the actual section heading. + \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright + \hangindent=\wd0 % zero if no section number + \unhbox0 #1}% + }% + % Add extra space after the heading -- half of whatever came above it. + % Don't allow stretch, though. + \kern .5 \csname #2headingskip\endcsname + % + % Do not let the kern be a potential breakpoint, as it would be if it + % was followed by glue. + \nobreak + % + % We'll almost certainly start a paragraph next, so don't let that + % glue accumulate. (Not a breakpoint because it's preceded by a + % discardable item.) + \vskip-\parskip + % + % This is purely so the last item on the list is a known \penalty > + % 10000. This is so \startdefun can avoid allowing breakpoints after + % section headings. Otherwise, it would insert a valid breakpoint between: + % + % @section sec-whatever + % @deffn def-whatever + \penalty 10001 +} + + +\message{toc,} +% Table of contents. +\newwrite\tocfile + +% Write an entry to the toc file, opening it if necessary. +% Called from @chapter, etc. +% +% Example usage: \writetocentry{sec}{Section Name}{\the\chapno.\the\secno} +% We append the current node name (if any) and page number as additional +% arguments for the \{chap,sec,...}entry macros which will eventually +% read this. The node name is used in the pdf outlines as the +% destination to jump to. +% +% We open the .toc file for writing here instead of at @setfilename (or +% any other fixed time) so that @contents can be anywhere in the document. +% But if #1 is `omit', then we don't do anything. This is used for the +% table of contents chapter openings themselves. +% +\newif\iftocfileopened +\def\omitkeyword{omit}% +% +\def\writetocentry#1#2#3{% + \edef\writetoctype{#1}% + \ifx\writetoctype\omitkeyword \else + \iftocfileopened\else + \immediate\openout\tocfile = \jobname.toc + \global\tocfileopenedtrue + \fi + % + \iflinks + \toks0 = {#2}% + \toks2 = \expandafter{\lastnode}% + \edef\temp{\write\tocfile{\realbackslash #1entry{\the\toks0}{#3}% + {\the\toks2}{\noexpand\folio}}}% + \temp + \fi + \fi + % + % Tell \shipout to create a pdf destination on each page, if we're + % writing pdf. These are used in the table of contents. We can't + % just write one on every page because the title pages are numbered + % 1 and 2 (the page numbers aren't printed), and so are the first + % two pages of the document. Thus, we'd have two destinations named + % `1', and two named `2'. + \ifpdf \global\pdfmakepagedesttrue \fi +} + +\newskip\contentsrightmargin \contentsrightmargin=1in +\newcount\savepageno +\newcount\lastnegativepageno \lastnegativepageno = -1 + +% Prepare to read what we've written to \tocfile. +% +\def\startcontents#1{% + % If @setchapternewpage on, and @headings double, the contents should + % start on an odd page, unlike chapters. Thus, we maintain + % \contentsalignmacro in parallel with \pagealignmacro. + % From: Torbjorn Granlund + \contentsalignmacro + \immediate\closeout\tocfile + % + % Don't need to put `Contents' or `Short Contents' in the headline. + % It is abundantly clear what they are. + \def\thischapter{}% + \chapmacro{#1}{Yomitfromtoc}{}% + % + \savepageno = \pageno + \begingroup % Set up to handle contents files properly. + \catcode`\\=0 \catcode`\{=1 \catcode`\}=2 \catcode`\@=11 + % We can't do this, because then an actual ^ in a section + % title fails, e.g., @chapter ^ -- exponentiation. --karl, 9jul97. + %\catcode`\^=7 % to see ^^e4 as \"a etc. juha@piuha.ydi.vtt.fi + \raggedbottom % Worry more about breakpoints than the bottom. + \advance\hsize by -\contentsrightmargin % Don't use the full line length. + % + % Roman numerals for page numbers. + \ifnum \pageno>0 \global\pageno = \lastnegativepageno \fi +} + + +% Normal (long) toc. +\def\contents{% + \startcontents{\putwordTOC}% + \openin 1 \jobname.toc + \ifeof 1 \else + \input \jobname.toc + \fi + \vfill \eject + \contentsalignmacro % in case @setchapternewpage odd is in effect + \ifeof 1 \else + \pdfmakeoutlines + \fi + \closein 1 + \endgroup + \lastnegativepageno = \pageno + \global\pageno = \savepageno +} + +% And just the chapters. +\def\summarycontents{% + \startcontents{\putwordShortTOC}% + % + \let\numchapentry = \shortchapentry + \let\appentry = \shortchapentry + \let\unnchapentry = \shortunnchapentry + % We want a true roman here for the page numbers. + \secfonts + \let\rm=\shortcontrm \let\bf=\shortcontbf + \let\sl=\shortcontsl \let\tt=\shortconttt + \rm + \hyphenpenalty = 10000 + \advance\baselineskip by 1pt % Open it up a little. + \def\numsecentry##1##2##3##4{} + \let\appsecentry = \numsecentry + \let\unnsecentry = \numsecentry + \let\numsubsecentry = \numsecentry + \let\appsubsecentry = \numsecentry + \let\unnsubsecentry = \numsecentry + \let\numsubsubsecentry = \numsecentry + \let\appsubsubsecentry = \numsecentry + \let\unnsubsubsecentry = \numsecentry + \openin 1 \jobname.toc + \ifeof 1 \else + \input \jobname.toc + \fi + \closein 1 + \vfill \eject + \contentsalignmacro % in case @setchapternewpage odd is in effect + \endgroup + \lastnegativepageno = \pageno + \global\pageno = \savepageno +} +\let\shortcontents = \summarycontents + +% Typeset the label for a chapter or appendix for the short contents. +% The arg is, e.g., `A' for an appendix, or `3' for a chapter. +% +\def\shortchaplabel#1{% + % This space should be enough, since a single number is .5em, and the + % widest letter (M) is 1em, at least in the Computer Modern fonts. + % But use \hss just in case. + % (This space doesn't include the extra space that gets added after + % the label; that gets put in by \shortchapentry above.) + % + % We'd like to right-justify chapter numbers, but that looks strange + % with appendix letters. And right-justifying numbers and + % left-justifying letters looks strange when there is less than 10 + % chapters. Have to read the whole toc once to know how many chapters + % there are before deciding ... + \hbox to 1em{#1\hss}% +} + +% These macros generate individual entries in the table of contents. +% The first argument is the chapter or section name. +% The last argument is the page number. +% The arguments in between are the chapter number, section number, ... + +% Chapters, in the main contents. +\def\numchapentry#1#2#3#4{\dochapentry{#2\labelspace#1}{#4}} +% +% Chapters, in the short toc. +% See comments in \dochapentry re vbox and related settings. +\def\shortchapentry#1#2#3#4{% + \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#4\egroup}% +} + +% Appendices, in the main contents. +% Need the word Appendix, and a fixed-size box. +% +\def\appendixbox#1{% + % We use M since it's probably the widest letter. + \setbox0 = \hbox{\putwordAppendix{} M}% + \hbox to \wd0{\putwordAppendix{} #1\hss}} +% +\def\appentry#1#2#3#4{\dochapentry{\appendixbox{#2}\labelspace#1}{#4}} + +% Unnumbered chapters. +\def\unnchapentry#1#2#3#4{\dochapentry{#1}{#4}} +\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{\doshortpageno\bgroup#4\egroup}} + +% Sections. +\def\numsecentry#1#2#3#4{\dosecentry{#2\labelspace#1}{#4}} +\let\appsecentry=\numsecentry +\def\unnsecentry#1#2#3#4{\dosecentry{#1}{#4}} + +% Subsections. +\def\numsubsecentry#1#2#3#4{\dosubsecentry{#2\labelspace#1}{#4}} +\let\appsubsecentry=\numsubsecentry +\def\unnsubsecentry#1#2#3#4{\dosubsecentry{#1}{#4}} + +% And subsubsections. +\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#2\labelspace#1}{#4}} +\let\appsubsubsecentry=\numsubsubsecentry +\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#4}} + +% This parameter controls the indentation of the various levels. +% Same as \defaultparindent. +\newdimen\tocindent \tocindent = 15pt + +% Now for the actual typesetting. In all these, #1 is the text and #2 is the +% page number. +% +% If the toc has to be broken over pages, we want it to be at chapters +% if at all possible; hence the \penalty. +\def\dochapentry#1#2{% + \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip + \begingroup + \chapentryfonts + \tocentry{#1}{\dopageno\bgroup#2\egroup}% + \endgroup + \nobreak\vskip .25\baselineskip plus.1\baselineskip +} + +\def\dosecentry#1#2{\begingroup + \secentryfonts \leftskip=\tocindent + \tocentry{#1}{\dopageno\bgroup#2\egroup}% +\endgroup} + +\def\dosubsecentry#1#2{\begingroup + \subsecentryfonts \leftskip=2\tocindent + \tocentry{#1}{\dopageno\bgroup#2\egroup}% +\endgroup} + +\def\dosubsubsecentry#1#2{\begingroup + \subsubsecentryfonts \leftskip=3\tocindent + \tocentry{#1}{\dopageno\bgroup#2\egroup}% +\endgroup} + +% We use the same \entry macro as for the index entries. +\let\tocentry = \entry + +% Space between chapter (or whatever) number and the title. +\def\labelspace{\hskip1em \relax} + +\def\dopageno#1{{\rm #1}} +\def\doshortpageno#1{{\rm #1}} + +\def\chapentryfonts{\secfonts \rm} +\def\secentryfonts{\textfonts} +\def\subsecentryfonts{\textfonts} +\def\subsubsecentryfonts{\textfonts} + + +\message{environments,} +% @foo ... @end foo. + +% @point{}, @result{}, @expansion{}, @print{}, @equiv{}. +% +% Since these characters are used in examples, it should be an even number of +% \tt widths. Each \tt character is 1en, so two makes it 1em. +% +\def\point{$\star$} +\def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} +\def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}} +\def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} +\def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}} + +% The @error{} command. +% Adapted from the TeXbook's \boxit. +% +\newbox\errorbox +% +{\tentt \global\dimen0 = 3em}% Width of the box. +\dimen2 = .55pt % Thickness of rules +% The text. (`r' is open on the right, `e' somewhat less so on the left.) +\setbox0 = \hbox{\kern-.75pt \tensf error\kern-1.5pt} +% +\setbox\errorbox=\hbox to \dimen0{\hfil + \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. + \advance\hsize by -2\dimen2 % Rules. + \vbox{% + \hrule height\dimen2 + \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. + \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. + \kern3pt\vrule width\dimen2}% Space to right. + \hrule height\dimen2} + \hfil} +% +\def\error{\leavevmode\lower.7ex\copy\errorbox} + +% @tex ... @end tex escapes into raw Tex temporarily. +% One exception: @ is still an escape character, so that @end tex works. +% But \@ or @@ will get a plain tex @ character. + +\envdef\tex{% + \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 + \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 + \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie + \catcode `\%=14 + \catcode `\+=\other + \catcode `\"=\other + \catcode `\|=\other + \catcode `\<=\other + \catcode `\>=\other + \escapechar=`\\ + % + \let\b=\ptexb + \let\bullet=\ptexbullet + \let\c=\ptexc + \let\,=\ptexcomma + \let\.=\ptexdot + \let\dots=\ptexdots + \let\equiv=\ptexequiv + \let\!=\ptexexclam + \let\i=\ptexi + \let\indent=\ptexindent + \let\noindent=\ptexnoindent + \let\{=\ptexlbrace + \let\+=\tabalign + \let\}=\ptexrbrace + \let\/=\ptexslash + \let\*=\ptexstar + \let\t=\ptext + % + \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% + \def\enddots{\relax\ifmmode\endldots\else$\mathsurround=0pt \endldots\,$\fi}% + \def\@{@}% +} +% There is no need to define \Etex. + +% Define @lisp ... @end lisp. +% @lisp environment forms a group so it can rebind things, +% including the definition of @end lisp (which normally is erroneous). + +% Amount to narrow the margins by for @lisp. +\newskip\lispnarrowing \lispnarrowing=0.4in + +% This is the definition that ^^M gets inside @lisp, @example, and other +% such environments. \null is better than a space, since it doesn't +% have any width. +\def\lisppar{\null\endgraf} + +% This space is always present above and below environments. +\newskip\envskipamount \envskipamount = 0pt + +% Make spacing and below environment symmetrical. We use \parskip here +% to help in doing that, since in @example-like environments \parskip +% is reset to zero; thus the \afterenvbreak inserts no space -- but the +% start of the next paragraph will insert \parskip. +% +\def\aboveenvbreak{{% + % =10000 instead of <10000 because of a special case in \itemzzz and + % \sectionheading, q.v. + \ifnum \lastpenalty=10000 \else + \advance\envskipamount by \parskip + \endgraf + \ifdim\lastskip<\envskipamount + \removelastskip + % it's not a good place to break if the last penalty was \nobreak + % or better ... + \ifnum\lastpenalty<10000 \penalty-50 \fi + \vskip\envskipamount + \fi + \fi +}} + +\let\afterenvbreak = \aboveenvbreak + +% \nonarrowing is a flag. If "set", @lisp etc don't narrow margins. +\let\nonarrowing=\relax + +% @cartouche ... @end cartouche: draw rectangle w/rounded corners around +% environment contents. +\font\circle=lcircle10 +\newdimen\circthick +\newdimen\cartouter\newdimen\cartinner +\newskip\normbskip\newskip\normpskip\newskip\normlskip +\circthick=\fontdimen8\circle +% +\def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth +\def\ctr{{\hskip 6pt\circle\char'010}} +\def\cbl{{\circle\char'012\hskip -6pt}} +\def\cbr{{\hskip 6pt\circle\char'011}} +\def\carttop{\hbox to \cartouter{\hskip\lskip + \ctl\leaders\hrule height\circthick\hfil\ctr + \hskip\rskip}} +\def\cartbot{\hbox to \cartouter{\hskip\lskip + \cbl\leaders\hrule height\circthick\hfil\cbr + \hskip\rskip}} +% +\newskip\lskip\newskip\rskip + +\envdef\cartouche{% + \ifhmode\par\fi % can't be in the midst of a paragraph. + \startsavinginserts + \lskip=\leftskip \rskip=\rightskip + \leftskip=0pt\rightskip=0pt % we want these *outside*. + \cartinner=\hsize \advance\cartinner by-\lskip + \advance\cartinner by-\rskip + \cartouter=\hsize + \advance\cartouter by 18.4pt % allow for 3pt kerns on either + % side, and for 6pt waste from + % each corner char, and rule thickness + \normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip + % Flag to tell @lisp, etc., not to narrow margin. + \let\nonarrowing=\comment + \vbox\bgroup + \baselineskip=0pt\parskip=0pt\lineskip=0pt + \carttop + \hbox\bgroup + \hskip\lskip + \vrule\kern3pt + \vbox\bgroup + \kern3pt + \hsize=\cartinner + \baselineskip=\normbskip + \lineskip=\normlskip + \parskip=\normpskip + \vskip -\parskip + \comment % For explanation, see the end of \def\group. +} +\def\Ecartouche{% + \ifhmode\par\fi + \kern3pt + \egroup + \kern3pt\vrule + \hskip\rskip + \egroup + \cartbot + \egroup + \checkinserts +} + + +% This macro is called at the beginning of all the @example variants, +% inside a group. +\def\nonfillstart{% + \aboveenvbreak + \hfuzz = 12pt % Don't be fussy + \sepspaces % Make spaces be word-separators rather than space tokens. + \let\par = \lisppar % don't ignore blank lines + \obeylines % each line of input is a line of output + \parskip = 0pt + \parindent = 0pt + \emergencystretch = 0pt % don't try to avoid overfull boxes + % @cartouche defines \nonarrowing to inhibit narrowing + % at next level down. + \ifx\nonarrowing\relax + \advance \leftskip by \lispnarrowing + \exdentamount=\lispnarrowing + \fi + \let\exdent=\nofillexdent +} + +% If you want all examples etc. small: @set dispenvsize small. +% If you want even small examples the full size: @set dispenvsize nosmall. +% This affects the following displayed environments: +% @example, @display, @format, @lisp +% +\def\smallword{small} +\def\nosmallword{nosmall} +\let\SETdispenvsize\relax +\def\setnormaldispenv{% + \ifx\SETdispenvsize\smallword + \smallexamplefonts \rm + \fi +} +\def\setsmalldispenv{% + \ifx\SETdispenvsize\nosmallword + \else + \smallexamplefonts \rm + \fi +} + +% We often define two environments, @foo and @smallfoo. +% Let's do it by one command: +\def\makedispenv #1#2{ + \expandafter\envdef\csname#1\endcsname {\setnormaldispenv #2} + \expandafter\envdef\csname small#1\endcsname {\setsmalldispenv #2} + \expandafter\let\csname E#1\endcsname \afterenvbreak + \expandafter\let\csname Esmall#1\endcsname \afterenvbreak +} + +% Define two synonyms: +\def\maketwodispenvs #1#2#3{ + \makedispenv{#1}{#3} + \makedispenv{#2}{#3} +} + +% @lisp: indented, narrowed, typewriter font; @example: same as @lisp. +% +% @smallexample and @smalllisp: use smaller fonts. +% Originally contributed by Pavel@xerox. +% +\maketwodispenvs {lisp}{example}{% + \nonfillstart + \tt + \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. + \gobble % eat return +} + +% @display/@smalldisplay: same as @lisp except keep current font. +% +\makedispenv {display}{% + \nonfillstart + \gobble +} + +% @format/@smallformat: same as @display except don't narrow margins. +% +\makedispenv{format}{% + \let\nonarrowing = t% + \nonfillstart + \gobble +} + +% @flushleft: same as @format, but doesn't obey \SETdispenvsize. +\envdef\flushleft{% + \let\nonarrowing = t% + \nonfillstart + \gobble +} +\let\Eflushleft = \afterenvbreak + +% @flushright. +% +\envdef\flushright{% + \let\nonarrowing = t% + \nonfillstart + \advance\leftskip by 0pt plus 1fill + \gobble +} +\let\Eflushright = \afterenvbreak + + +% @quotation does normal linebreaking (hence we can't use \nonfillstart) +% and narrows the margins. We keep \parskip nonzero in general, since +% we're doing normal filling. So, when using \aboveenvbreak and +% \afterenvbreak, temporarily make \parskip 0. +% +\envdef\quotation{% + {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip + \parindent=0pt + % + % @cartouche defines \nonarrowing to inhibit narrowing at next level down. + \ifx\nonarrowing\relax + \advance\leftskip by \lispnarrowing + \advance\rightskip by \lispnarrowing + \exdentamount = \lispnarrowing + \let\nonarrowing = \relax + \fi + \parsearg\quotationlabel +} + +% We have retained a nonzero parskip for the environment, since we're +% doing normal filling. +% +\def\Equotation{% + \par + \ifx\quotationauthor\undefined\else + % indent a bit. + \leftline{\kern 2\leftskip \sl ---\quotationauthor}% + \fi + {\parskip=0pt \afterenvbreak}% +} + +% If we're given an argument, typeset it in bold with a colon after. +\def\quotationlabel#1{% + \def\temp{#1}% + \ifx\temp\empty \else + {\bf #1: }% + \fi +} + + +% LaTeX-like @verbatim...@end verbatim and @verb{...} +% If we want to allow any as delimiter, +% we need the curly braces so that makeinfo sees the @verb command, eg: +% `@verbx...x' would look like the '@verbx' command. --janneke@gnu.org +% +% [Knuth]: Donald Ervin Knuth, 1996. The TeXbook. +% +% [Knuth] p.344; only we need to do the other characters Texinfo sets +% active too. Otherwise, they get lost as the first character on a +% verbatim line. +\def\dospecials{% + \do\ \do\\\do\{\do\}\do\$\do\&% + \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% + \do\<\do\>\do\|\do\@\do+\do\"% +} +% +% [Knuth] p. 380 +\def\uncatcodespecials{% + \def\do##1{\catcode`##1=\other}\dospecials} +% +% [Knuth] pp. 380,381,391 +% Disable Spanish ligatures ?` and !` of \tt font +\begingroup + \catcode`\`=\active\gdef`{\relax\lq} +\endgroup +% +% Setup for the @verb command. +% +% Eight spaces for a tab +\begingroup + \catcode`\^^I=\active + \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }} +\endgroup +% +\def\setupverb{% + \tt % easiest (and conventionally used) font for verbatim + \def\par{\leavevmode\endgraf}% + \catcode`\`=\active + \tabeightspaces + % Respect line breaks, + % print special symbols as themselves, and + % make each space count + % must do in this order: + \obeylines \uncatcodespecials \sepspaces +} + +% Setup for the @verbatim environment +% +% Real tab expansion +\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount +% +\def\starttabbox{\setbox0=\hbox\bgroup} +\begingroup + \catcode`\^^I=\active + \gdef\tabexpand{% + \catcode`\^^I=\active + \def^^I{\leavevmode\egroup + \dimen0=\wd0 % the width so far, or since the previous tab + \divide\dimen0 by\tabw + \multiply\dimen0 by\tabw % compute previous multiple of \tabw + \advance\dimen0 by\tabw % advance to next multiple of \tabw + \wd0=\dimen0 \box0 \starttabbox + }% + } +\endgroup +\def\setupverbatim{% + \nonfillstart + \advance\leftskip by -\defbodyindent + % Easiest (and conventionally used) font for verbatim + \tt + \def\par{\leavevmode\egroup\box0\endgraf}% + \catcode`\`=\active + \tabexpand + % Respect line breaks, + % print special symbols as themselves, and + % make each space count + % must do in this order: + \obeylines \uncatcodespecials \sepspaces + \everypar{\starttabbox}% +} + +% Do the @verb magic: verbatim text is quoted by unique +% delimiter characters. Before first delimiter expect a +% right brace, after last delimiter expect closing brace: +% +% \def\doverb'{'#1'}'{#1} +% +% [Knuth] p. 382; only eat outer {} +\begingroup + \catcode`[=1\catcode`]=2\catcode`\{=\other\catcode`\}=\other + \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next] +\endgroup +% +\def\verb{\begingroup\setupverb\doverb} +% +% +% Do the @verbatim magic: define the macro \doverbatim so that +% the (first) argument ends when '@end verbatim' is reached, ie: +% +% \def\doverbatim#1@end verbatim{#1} +% +% For Texinfo it's a lot easier than for LaTeX, +% because texinfo's \verbatim doesn't stop at '\end{verbatim}': +% we need not redefine '\', '{' and '}'. +% +% Inspired by LaTeX's verbatim command set [latex.ltx] +% +\begingroup + \catcode`\ =\active + \obeylines % + % ignore everything up to the first ^^M, that's the newline at the end + % of the @verbatim input line itself. Otherwise we get an extra blank + % line in the output. + \xdef\doverbatim#1^^M#2@end verbatim{#2\noexpand\end\gobble verbatim}% + % We really want {...\end verbatim} in the body of the macro, but + % without the active space; thus we have to use \xdef and \gobble. +\endgroup +% +\envdef\verbatim{% + \setupverbatim\doverbatim +} +\let\Everbatim = \afterenvbreak + + +% @verbatiminclude FILE - insert text of file in verbatim environment. +% +\def\verbatiminclude{\parseargusing\filenamecatcodes\doverbatiminclude} +% +\def\doverbatiminclude#1{% + {% + \makevalueexpandable + \setupverbatim + \input #1 + \afterenvbreak + }% +} + +% @copying ... @end copying. +% Save the text away for @insertcopying later. +% +% We save the uninterpreted tokens, rather than creating a box. +% Saving the text in a box would be much easier, but then all the +% typesetting commands (@smallbook, font changes, etc.) have to be done +% beforehand -- and a) we want @copying to be done first in the source +% file; b) letting users define the frontmatter in as flexible order as +% possible is very desirable. +% +\def\copying{\checkenv{}\begingroup\scanargctxt\docopying} +\def\docopying#1@end copying{\endgroup\def\copyingtext{#1}} +% +\def\insertcopying{% + \begingroup + \parindent = 0pt % paragraph indentation looks wrong on title page + \scanexp\copyingtext + \endgroup +} + +\message{defuns,} +% @defun etc. + +\newskip\defbodyindent \defbodyindent=.4in +\newskip\defargsindent \defargsindent=50pt +\newskip\deflastargmargin \deflastargmargin=18pt + +% Start the processing of @deffn: +\def\startdefun{% + \ifnum\lastpenalty<10000 + \medbreak + \else + % If there are two @def commands in a row, we'll have a \nobreak, + % which is there to keep the function description together with its + % header. But if there's nothing but headers, we need to allow a + % break somewhere. Check specifically for penalty 10002, inserted + % by \defargscommonending, instead of 10000, since the sectioning + % commands also insert a nobreak penalty, and we don't want to allow + % a break between a section heading and a defun. + % + \ifnum\lastpenalty=10002 \penalty2000 \fi + % + % Similarly, after a section heading, do not allow a break. + % But do insert the glue. + \medskip % preceded by discardable penalty, so not a breakpoint + \fi + % + \parindent=0in + \advance\leftskip by \defbodyindent + \exdentamount=\defbodyindent +} + +\def\dodefunx#1{% + % First, check whether we are in the right environment: + \checkenv#1% + % + % As above, allow line break if we have multiple x headers in a row. + % It's not a great place, though. + \ifnum\lastpenalty=10002 \penalty3000 \fi + % + % And now, it's time to reuse the body of the original defun: + \expandafter\gobbledefun#1% +} +\def\gobbledefun#1\startdefun{} + +% \printdefunline \deffnheader{text} +% +\def\printdefunline#1#2{% + \begingroup + % call \deffnheader: + #1#2 \endheader + % common ending: + \interlinepenalty = 10000 + \advance\rightskip by 0pt plus 1fil + \endgraf + \nobreak\vskip -\parskip + \penalty 10002 % signal to \startdefun and \dodefunx + % Some of the @defun-type tags do not enable magic parentheses, + % rendering the following check redundant. But we don't optimize. + \checkparencounts + \endgroup +} + +\def\Edefun{\endgraf\medbreak} + +% \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; +% the only thing remainnig is to define \deffnheader. +% +\def\makedefun#1{% + \expandafter\let\csname E#1\endcsname = \Edefun + \edef\temp{\noexpand\domakedefun + \makecsname{#1}\makecsname{#1x}\makecsname{#1header}}% + \temp +} + +% \domakedefun \deffn \deffnx \deffnheader +% +% Define \deffn and \deffnx, without parameters. +% \deffnheader has to be defined explicitly. +% +\def\domakedefun#1#2#3{% + \envdef#1{% + \startdefun + \parseargusing\activeparens{\printdefunline#3}% + }% + \def#2{\dodefunx#1}% + \def#3% +} + +%%% Untyped functions: + +% @deffn category name args +\makedefun{deffn}{\deffngeneral{}} + +% @deffn category class name args +\makedefun{defop}#1 {\defopon{#1\ \putwordon}} + +% \defopon {category on}class name args +\def\defopon#1#2 {\deffngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } + +% \deffngeneral {subind}category name args +% +\def\deffngeneral#1#2 #3 #4\endheader{% + % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}. + \dosubind{fn}{\code{#3}}{#1}% + \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% +} + +%%% Typed functions: + +% @deftypefn category type name args +\makedefun{deftypefn}{\deftypefngeneral{}} + +% @deftypeop category class type name args +\makedefun{deftypeop}#1 {\deftypeopon{#1\ \putwordon}} + +% \deftypeopon {category on}class type name args +\def\deftypeopon#1#2 {\deftypefngeneral{\putwordon\ \code{#2}}{#1\ \code{#2}} } + +% \deftypefngeneral {subind}category type name args +% +\def\deftypefngeneral#1#2 #3 #4 #5\endheader{% + \dosubind{fn}{\code{#4}}{#1}% + \defname{#2}{#3}{#4}\defunargs{#5\unskip}% +} + +%%% Typed variables: + +% @deftypevr category type var args +\makedefun{deftypevr}{\deftypecvgeneral{}} + +% @deftypecv category class type var args +\makedefun{deftypecv}#1 {\deftypecvof{#1\ \putwordof}} + +% \deftypecvof {category of}class type var args +\def\deftypecvof#1#2 {\deftypecvgeneral{\putwordof\ \code{#2}}{#1\ \code{#2}} } + +% \deftypecvgeneral {subind}category type var args +% +\def\deftypecvgeneral#1#2 #3 #4 #5\endheader{% + \dosubind{vr}{\code{#4}}{#1}% + \defname{#2}{#3}{#4}\defunargs{#5\unskip}% +} + +%%% Untyped variables: + +% @defvr category var args +\makedefun{defvr}#1 {\deftypevrheader{#1} {} } + +% @defcv category class var args +\makedefun{defcv}#1 {\defcvof{#1\ \putwordof}} + +% \defcvof {category of}class var args +\def\defcvof#1#2 {\deftypecvof{#1}#2 {} } + +%%% Type: +% @deftp category name args +\makedefun{deftp}#1 #2 #3\endheader{% + \doind{tp}{\code{#2}}% + \defname{#1}{}{#2}\defunargs{#3\unskip}% +} + +% Remaining @defun-like shortcuts: +\makedefun{defun}{\deffnheader{\putwordDeffunc} } +\makedefun{defmac}{\deffnheader{\putwordDefmac} } +\makedefun{defspec}{\deffnheader{\putwordDefspec} } +\makedefun{deftypefun}{\deftypefnheader{\putwordDeffunc} } +\makedefun{defvar}{\defvrheader{\putwordDefvar} } +\makedefun{defopt}{\defvrheader{\putwordDefopt} } +\makedefun{deftypevar}{\deftypevrheader{\putwordDefvar} } +\makedefun{defmethod}{\defopon\putwordMethodon} +\makedefun{deftypemethod}{\deftypeopon\putwordMethodon} +\makedefun{defivar}{\defcvof\putwordInstanceVariableof} +\makedefun{deftypeivar}{\deftypecvof\putwordInstanceVariableof} + +% \defname, which formats the name of the @def (not the args). +% #1 is the category, such as "Function". +% #2 is the return type, if any. +% #3 is the function name. +% +% We are followed by (but not passed) the arguments, if any. +% +\def\defname#1#2#3{% + % Get the values of \leftskip and \rightskip as they were outside the @def... + \advance\leftskip by -\defbodyindent + % + % How we'll format the type name. Putting it in brackets helps + % distinguish it from the body text that may end up on the next line + % just below it. + \def\temp{#1}% + \setbox0=\hbox{\kern\deflastargmargin \ifx\temp\empty\else [\rm\temp]\fi} + % + % Figure out line sizes for the paragraph shape. + % The first line needs space for \box0; but if \rightskip is nonzero, + % we need only space for the part of \box0 which exceeds it: + \dimen0=\hsize \advance\dimen0 by -\wd0 \advance\dimen0 by \rightskip + % The continuations: + \dimen2=\hsize \advance\dimen2 by -\defargsindent + % (plain.tex says that \dimen1 should be used only as global.) + \parshape 2 0in \dimen0 \defargsindent \dimen2 + % + % Put the type name to the right margin. + \noindent + \hbox to 0pt{% + \hfil\box0 \kern-\hsize + % \hsize has to be shortened this way: + \kern\leftskip + % Intentionally do not respect \rightskip, since we need the space. + }% + % + % Allow all lines to be underfull without complaint: + \tolerance=10000 \hbadness=10000 + \exdentamount=\defbodyindent + {% + % defun fonts. We use typewriter by default (used to be bold) because: + % . we're printing identifiers, they should be in tt in principle. + % . in languages with many accents, such as Czech or French, it's + % common to leave accents off identifiers. The result looks ok in + % tt, but exceedingly strange in rm. + % . we don't want -- and --- to be treated as ligatures. + % . this still does not fix the ?` and !` ligatures, but so far no + % one has made identifiers using them :). + \df \tt + \def\temp{#2}% return value type + \ifx\temp\empty\else \tclose{\temp} \fi + #3% output function name + }% + {\rm\enskip}% hskip 0.5 em of \tenrm + % + \boldbrax + % arguments will be output next, if any. +} + +% Print arguments in slanted roman (not ttsl), inconsistently with using +% tt for the name. This is because literal text is sometimes needed in +% the argument list (groff manual), and ttsl and tt are not very +% distinguishable. Prevent hyphenation at `-' chars. +% +\def\defunargs#1{% + % use sl by default (not ttsl), + % tt for the names. + \df \sl \hyphenchar\font=0 + % + % On the other hand, if an argument has two dashes (for instance), we + % want a way to get ttsl. Let's try @var for that. + \let\var=\ttslanted + #1% + \sl\hyphenchar\font=45 +} + +% We want ()&[] to print specially on the defun line. +% +\def\activeparens{% + \catcode`\(=\active \catcode`\)=\active + \catcode`\[=\active \catcode`\]=\active + \catcode`\&=\active +} + +% Make control sequences which act like normal parenthesis chars. +\let\lparen = ( \let\rparen = ) + +% Be sure that we always have a definition for `(', etc. For example, +% if the fn name has parens in it, \boldbrax will not be in effect yet, +% so TeX would otherwise complain about undefined control sequence. +{ + \activeparens + \global\let(=\lparen \global\let)=\rparen + \global\let[=\lbrack \global\let]=\rbrack + \global\let& = \& + + \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb} + \gdef\magicamp{\let&=\amprm} +} + +\newcount\parencount + +% If we encounter &foo, then turn on ()-hacking afterwards +\newif\ifampseen +\def\amprm#1 {\ampseentrue{\bf\ }} + +\def\parenfont{% + \ifampseen + % At the first level, print parens in roman, + % otherwise use the default font. + \ifnum \parencount=1 \rm \fi + \else + % The \sf parens (in \boldbrax) actually are a little bolder than + % the contained text. This is especially needed for [ and ] . + \sf + \fi +} +\def\infirstlevel#1{% + \ifampseen + \ifnum\parencount=1 + #1% + \fi + \fi +} +\def\bfafterword#1 {#1 \bf} + +\def\opnr{% + \global\advance\parencount by 1 + {\parenfont(}% + \infirstlevel \bfafterword +} +\def\clnr{% + {\parenfont)}% + \infirstlevel \sl + \global\advance\parencount by -1 +} + +\newcount\brackcount +\def\lbrb{% + \global\advance\brackcount by 1 + {\bf[}% +} +\def\rbrb{% + {\bf]}% + \global\advance\brackcount by -1 +} + +\def\checkparencounts{% + \ifnum\parencount=0 \else \badparencount \fi + \ifnum\brackcount=0 \else \badbrackcount \fi +} +\def\badparencount{% + \errmessage{Unbalanced parentheses in @def}% + \global\parencount=0 +} +\def\badbrackcount{% + \errmessage{Unbalanced square braces in @def}% + \global\brackcount=0 +} + + +\message{macros,} +% @macro. + +% To do this right we need a feature of e-TeX, \scantokens, +% which we arrange to emulate with a temporary file in ordinary TeX. +\ifx\eTeXversion\undefined + \newwrite\macscribble + \def\scantokens#1{% + \toks0={#1}% + \immediate\openout\macscribble=\jobname.tmp + \immediate\write\macscribble{\the\toks0}% + \immediate\closeout\macscribble + \input \jobname.tmp + } +\fi + +\def\scanmacro#1{% + \begingroup + \newlinechar`\^^M + \let\xeatspaces\eatspaces + % Undo catcode changes of \startcontents and \doprintindex + % When called from @insertcopying or (short)caption, we need active + % backslash to get it printed correctly. Previously, we had + % \catcode`\\=\other instead. We'll see whether a problem appears + % with macro expansion. --kasal, 19aug04 + \catcode`\@=0 \catcode`\\=\active \escapechar=`\@ + % ... and \example + \spaceisspace + % + % Append \endinput to make sure that TeX does not see the ending newline. + % + % I've verified that it is necessary both for e-TeX and for ordinary TeX + % --kasal, 29nov03 + \scantokens{#1\endinput}% + \endgroup +} + +\def\scanexp#1{% + \edef\temp{\noexpand\scanmacro{#1}}% + \temp +} + +\newcount\paramno % Count of parameters +\newtoks\macname % Macro name +\newif\ifrecursive % Is it recursive? +\def\macrolist{} % List of all defined macros in the form + % \do\macro1\do\macro2... + +% Utility routines. +% This does \let #1 = #2, with \csnames; that is, +% \let \csname#1\endcsname = \csname#2\endcsname +% (except of course we have to play expansion games). +% +\def\cslet#1#2{% + \expandafter\let + \csname#1\expandafter\endcsname + \csname#2\endcsname +} + +% Trim leading and trailing spaces off a string. +% Concepts from aro-bend problem 15 (see CTAN). +{\catcode`\@=11 +\gdef\eatspaces #1{\expandafter\trim@\expandafter{#1 }} +\gdef\trim@ #1{\trim@@ @#1 @ #1 @ @@} +\gdef\trim@@ #1@ #2@ #3@@{\trim@@@\empty #2 @} +\def\unbrace#1{#1} +\unbrace{\gdef\trim@@@ #1 } #2@{#1} +} + +% Trim a single trailing ^^M off a string. +{\catcode`\^^M=\other \catcode`\Q=3% +\gdef\eatcr #1{\eatcra #1Q^^MQ}% +\gdef\eatcra#1^^MQ{\eatcrb#1Q}% +\gdef\eatcrb#1Q#2Q{#1}% +} + +% Macro bodies are absorbed as an argument in a context where +% all characters are catcode 10, 11 or 12, except \ which is active +% (as in normal texinfo). It is necessary to change the definition of \. + +% It's necessary to have hard CRs when the macro is executed. This is +% done by making ^^M (\endlinechar) catcode 12 when reading the macro +% body, and then making it the \newlinechar in \scanmacro. + +\def\scanctxt{% + \catcode`\"=\other + \catcode`\+=\other + \catcode`\<=\other + \catcode`\>=\other + \catcode`\@=\other + \catcode`\^=\other + \catcode`\_=\other + \catcode`\|=\other + \catcode`\~=\other +} + +\def\scanargctxt{% + \scanctxt + \catcode`\\=\other + \catcode`\^^M=\other +} + +\def\macrobodyctxt{% + \scanctxt + \catcode`\{=\other + \catcode`\}=\other + \catcode`\^^M=\other + \usembodybackslash +} + +\def\macroargctxt{% + \scanctxt + \catcode`\\=\other +} + +% \mbodybackslash is the definition of \ in @macro bodies. +% It maps \foo\ => \csname macarg.foo\endcsname => #N +% where N is the macro parameter number. +% We define \csname macarg.\endcsname to be \realbackslash, so +% \\ in macro replacement text gets you a backslash. + +{\catcode`@=0 @catcode`@\=@active + @gdef@usembodybackslash{@let\=@mbodybackslash} + @gdef@mbodybackslash#1\{@csname macarg.#1@endcsname} +} +\expandafter\def\csname macarg.\endcsname{\realbackslash} + +\def\macro{\recursivefalse\parsearg\macroxxx} +\def\rmacro{\recursivetrue\parsearg\macroxxx} + +\def\macroxxx#1{% + \getargs{#1}% now \macname is the macname and \argl the arglist + \ifx\argl\empty % no arguments + \paramno=0% + \else + \expandafter\parsemargdef \argl;% + \fi + \if1\csname ismacro.\the\macname\endcsname + \message{Warning: redefining \the\macname}% + \else + \expandafter\ifx\csname \the\macname\endcsname \relax + \else \errmessage{Macro name \the\macname\space already defined}\fi + \global\cslet{macsave.\the\macname}{\the\macname}% + \global\expandafter\let\csname ismacro.\the\macname\endcsname=1% + % Add the macroname to \macrolist + \toks0 = \expandafter{\macrolist\do}% + \xdef\macrolist{\the\toks0 + \expandafter\noexpand\csname\the\macname\endcsname}% + \fi + \begingroup \macrobodyctxt + \ifrecursive \expandafter\parsermacbody + \else \expandafter\parsemacbody + \fi} + +\parseargdef\unmacro{% + \if1\csname ismacro.#1\endcsname + \global\cslet{#1}{macsave.#1}% + \global\expandafter\let \csname ismacro.#1\endcsname=0% + % Remove the macro name from \macrolist: + \begingroup + \expandafter\let\csname#1\endcsname \relax + \let\do\unmacrodo + \xdef\macrolist{\macrolist}% + \endgroup + \else + \errmessage{Macro #1 not defined}% + \fi +} + +% Called by \do from \dounmacro on each macro. The idea is to omit any +% macro definitions that have been changed to \relax. +% +\def\unmacrodo#1{% + \ifx#1\relax + % remove this + \else + \noexpand\do \noexpand #1% + \fi +} + +% This makes use of the obscure feature that if the last token of a +% is #, then the preceding argument is delimited by +% an opening brace, and that opening brace is not consumed. +\def\getargs#1{\getargsxxx#1{}} +\def\getargsxxx#1#{\getmacname #1 \relax\getmacargs} +\def\getmacname #1 #2\relax{\macname={#1}} +\def\getmacargs#1{\def\argl{#1}} + +% Parse the optional {params} list. Set up \paramno and \paramlist +% so \defmacro knows what to do. Define \macarg.blah for each blah +% in the params list, to be ##N where N is the position in that list. +% That gets used by \mbodybackslash (above). + +% We need to get `macro parameter char #' into several definitions. +% The technique used is stolen from LaTeX: let \hash be something +% unexpandable, insert that wherever you need a #, and then redefine +% it to # just before using the token list produced. +% +% The same technique is used to protect \eatspaces till just before +% the macro is used. + +\def\parsemargdef#1;{\paramno=0\def\paramlist{}% + \let\hash\relax\let\xeatspaces\relax\parsemargdefxxx#1,;,} +\def\parsemargdefxxx#1,{% + \if#1;\let\next=\relax + \else \let\next=\parsemargdefxxx + \advance\paramno by 1% + \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname + {\xeatspaces{\hash\the\paramno}}% + \edef\paramlist{\paramlist\hash\the\paramno,}% + \fi\next} + +% These two commands read recursive and nonrecursive macro bodies. +% (They're different since rec and nonrec macros end differently.) + +\long\def\parsemacbody#1@end macro% +{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% +\long\def\parsermacbody#1@end rmacro% +{\xdef\temp{\eatcr{#1}}\endgroup\defmacro}% + +% This defines the macro itself. There are six cases: recursive and +% nonrecursive macros of zero, one, and many arguments. +% Much magic with \expandafter here. +% \xdef is used so that macro definitions will survive the file +% they're defined in; @include reads the file inside a group. +\def\defmacro{% + \let\hash=##% convert placeholders to macro parameter chars + \ifrecursive + \ifcase\paramno + % 0 + \expandafter\xdef\csname\the\macname\endcsname{% + \noexpand\scanmacro{\temp}}% + \or % 1 + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup\noexpand\macroargctxt + \noexpand\braceorline + \expandafter\noexpand\csname\the\macname xxx\endcsname}% + \expandafter\xdef\csname\the\macname xxx\endcsname##1{% + \egroup\noexpand\scanmacro{\temp}}% + \else % many + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup\noexpand\macroargctxt + \noexpand\csname\the\macname xx\endcsname}% + \expandafter\xdef\csname\the\macname xx\endcsname##1{% + \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% + \expandafter\expandafter + \expandafter\xdef + \expandafter\expandafter + \csname\the\macname xxx\endcsname + \paramlist{\egroup\noexpand\scanmacro{\temp}}% + \fi + \else + \ifcase\paramno + % 0 + \expandafter\xdef\csname\the\macname\endcsname{% + \noexpand\norecurse{\the\macname}% + \noexpand\scanmacro{\temp}\egroup}% + \or % 1 + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup\noexpand\macroargctxt + \noexpand\braceorline + \expandafter\noexpand\csname\the\macname xxx\endcsname}% + \expandafter\xdef\csname\the\macname xxx\endcsname##1{% + \egroup + \noexpand\norecurse{\the\macname}% + \noexpand\scanmacro{\temp}\egroup}% + \else % many + \expandafter\xdef\csname\the\macname\endcsname{% + \bgroup\noexpand\macroargctxt + \expandafter\noexpand\csname\the\macname xx\endcsname}% + \expandafter\xdef\csname\the\macname xx\endcsname##1{% + \expandafter\noexpand\csname\the\macname xxx\endcsname ##1,}% + \expandafter\expandafter + \expandafter\xdef + \expandafter\expandafter + \csname\the\macname xxx\endcsname + \paramlist{% + \egroup + \noexpand\norecurse{\the\macname}% + \noexpand\scanmacro{\temp}\egroup}% + \fi + \fi} + +\def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}} + +% \braceorline decides whether the next nonwhitespace character is a +% {. If so it reads up to the closing }, if not, it reads the whole +% line. Whatever was read is then fed to the next control sequence +% as an argument (by \parsebrace or \parsearg) +\def\braceorline#1{\let\next=#1\futurelet\nchar\braceorlinexxx} +\def\braceorlinexxx{% + \ifx\nchar\bgroup\else + \expandafter\parsearg + \fi \next} + +% We want to disable all macros during \shipout so that they are not +% expanded by \write. +\def\turnoffmacros{\begingroup \def\do##1{\let\noexpand##1=\relax}% + \edef\next{\macrolist}\expandafter\endgroup\next} + +% For \indexnofonts, we need to get rid of all macros, leaving only the +% arguments (if present). Of course this is not nearly correct, but it +% is the best we can do for now. makeinfo does not expand macros in the +% argument to @deffn, which ends up writing an index entry, and texindex +% isn't prepared for an index sort entry that starts with \. +% +% Since macro invocations are followed by braces, we can just redefine them +% to take a single TeX argument. The case of a macro invocation that +% goes to end-of-line is not handled. +% +\def\emptyusermacros{\begingroup + \def\do##1{\let\noexpand##1=\noexpand\asis}% + \edef\next{\macrolist}\expandafter\endgroup\next} + + +% @alias. +% We need some trickery to remove the optional spaces around the equal +% sign. Just make them active and then expand them all to nothing. +\def\alias{\parseargusing\obeyspaces\aliasxxx} +\def\aliasxxx #1{\aliasyyy#1\relax} +\def\aliasyyy #1=#2\relax{% + {% + \expandafter\let\obeyedspace=\empty + \xdef\next{\global\let\makecsname{#1}=\makecsname{#2}}% + }% + \next +} + + +\message{cross references,} + +\newwrite\auxfile + +\newif\ifhavexrefs % True if xref values are known. +\newif\ifwarnedxrefs % True if we warned once that they aren't known. + +% @inforef is relatively simple. +\def\inforef #1{\inforefzzz #1,,,,**} +\def\inforefzzz #1,#2,#3,#4**{\putwordSee{} \putwordInfo{} \putwordfile{} \file{\ignorespaces #3{}}, + node \samp{\ignorespaces#1{}}} + +% @node's only job in TeX is to define \lastnode, which is used in +% cross-references. The @node line might or might not have commas, and +% might or might not have spaces before the first comma, like: +% @node foo , bar , ... +% We don't want such trailing spaces in the node name. +% +\parseargdef\node{\checkenv{}\donode #1 ,\finishnodeparse} +% +% also remove a trailing comma, in case of something like this: +% @node Help-Cross, , , Cross-refs +\def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} +\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}} + +\let\nwnode=\node +\let\lastnode=\empty + +% Write a cross-reference definition for the current node. #1 is the +% type (Ynumbered, Yappendix, Ynothing). +% +\def\donoderef#1{% + \ifx\lastnode\empty\else + \setref{\lastnode}{#1}% + \global\let\lastnode=\empty + \fi +} + +% @anchor{NAME} -- define xref target at arbitrary point. +% +\newcount\savesfregister +% +\def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} +\def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} +\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} + +% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an +% anchor), which consists of three parts: +% 1) NAME-title - the current sectioning name taken from \thissection, +% or the anchor name. +% 2) NAME-snt - section number and type, passed as the SNT arg, or +% empty for anchors. +% 3) NAME-pg - the page number. +% +% This is called from \donoderef, \anchor, and \dofloat. In the case of +% floats, there is an additional part, which is not written here: +% 4) NAME-lof - the text as it should appear in a @listoffloats. +% +\def\setref#1#2{% + \pdfmkdest{#1}% + \iflinks + {% + \atdummies % preserve commands, but don't expand them + \turnoffactive + \otherbackslash + \edef\writexrdef##1##2{% + \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef + ##1}{##2}}% these are parameters of \writexrdef + }% + \toks0 = \expandafter{\thissection}% + \immediate \writexrdef{title}{\the\toks0 }% + \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. + \writexrdef{pg}{\folio}% will be written later, during \shipout + }% + \fi +} + +% @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is +% the node name, #2 the name of the Info cross-reference, #3 the printed +% node name, #4 the name of the Info file, #5 the name of the printed +% manual. All but the node name can be omitted. +% +\def\pxref#1{\putwordsee{} \xrefX[#1,,,,,,,]} +\def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} +\def\ref#1{\xrefX[#1,,,,,,,]} +\def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup + \unsepspaces + \def\printedmanual{\ignorespaces #5}% + \def\printedrefname{\ignorespaces #3}% + \setbox1=\hbox{\printedmanual\unskip}% + \setbox0=\hbox{\printedrefname\unskip}% + \ifdim \wd0 = 0pt + % No printed node name was explicitly given. + \expandafter\ifx\csname SETxref-automatic-section-title\endcsname\relax + % Use the node name inside the square brackets. + \def\printedrefname{\ignorespaces #1}% + \else + % Use the actual chapter/section title appear inside + % the square brackets. Use the real section title if we have it. + \ifdim \wd1 > 0pt + % It is in another manual, so we don't have it. + \def\printedrefname{\ignorespaces #1}% + \else + \ifhavexrefs + % We know the real title if we have the xref values. + \def\printedrefname{\refx{#1-title}{}}% + \else + % Otherwise just copy the Info node name. + \def\printedrefname{\ignorespaces #1}% + \fi% + \fi + \fi + \fi + % + % Make link in pdf output. + \ifpdf + \leavevmode + \getfilename{#4}% + {\turnoffactive \otherbackslash + \ifnum\filenamelength>0 + \startlink attr{/Border [0 0 0]}% + goto file{\the\filename.pdf} name{#1}% + \else + \startlink attr{/Border [0 0 0]}% + goto name{\pdfmkpgn{#1}}% + \fi + }% + \linkcolor + \fi + % + % Float references are printed completely differently: "Figure 1.2" + % instead of "[somenode], p.3". We distinguish them by the + % LABEL-title being set to a magic string. + {% + % Have to otherify everything special to allow the \csname to + % include an _ in the xref name, etc. + \indexnofonts + \turnoffactive + \otherbackslash + \expandafter\global\expandafter\let\expandafter\Xthisreftitle + \csname XR#1-title\endcsname + }% + \iffloat\Xthisreftitle + % If the user specified the print name (third arg) to the ref, + % print it instead of our usual "Figure 1.2". + \ifdim\wd0 = 0pt + \refx{#1-snt}% + \else + \printedrefname + \fi + % + % if the user also gave the printed manual name (fifth arg), append + % "in MANUALNAME". + \ifdim \wd1 > 0pt + \space \putwordin{} \cite{\printedmanual}% + \fi + \else + % node/anchor (non-float) references. + % + % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not + % insert empty discretionaries after hyphens, which means that it will + % not find a line break at a hyphen in a node names. Since some manuals + % are best written with fairly long node names, containing hyphens, this + % is a loss. Therefore, we give the text of the node name again, so it + % is as if TeX is seeing it for the first time. + \ifdim \wd1 > 0pt + \putwordsection{} ``\printedrefname'' \putwordin{} \cite{\printedmanual}% + \else + % _ (for example) has to be the character _ for the purposes of the + % control sequence corresponding to the node, but it has to expand + % into the usual \leavevmode...\vrule stuff for purposes of + % printing. So we \turnoffactive for the \refx-snt, back on for the + % printing, back off for the \refx-pg. + {\turnoffactive \otherbackslash + % Only output a following space if the -snt ref is nonempty; for + % @unnumbered and @anchor, it won't be. + \setbox2 = \hbox{\ignorespaces \refx{#1-snt}{}}% + \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi + }% + % output the `[mynode]' via a macro so it can be overridden. + \xrefprintnodename\printedrefname + % + % But we always want a comma and a space: + ,\space + % + % output the `page 3'. + \turnoffactive \otherbackslash \putwordpage\tie\refx{#1-pg}{}% + \fi + \fi + \endlink +\endgroup} + +% This macro is called from \xrefX for the `[nodename]' part of xref +% output. It's a separate macro only so it can be changed more easily, +% since square brackets don't work well in some documents. Particularly +% one that Bob is working on :). +% +\def\xrefprintnodename#1{[#1]} + +% Things referred to by \setref. +% +\def\Ynothing{} +\def\Yomitfromtoc{} +\def\Ynumbered{% + \ifnum\secno=0 + \putwordChapter@tie \the\chapno + \else \ifnum\subsecno=0 + \putwordSection@tie \the\chapno.\the\secno + \else \ifnum\subsubsecno=0 + \putwordSection@tie \the\chapno.\the\secno.\the\subsecno + \else + \putwordSection@tie \the\chapno.\the\secno.\the\subsecno.\the\subsubsecno + \fi\fi\fi +} +\def\Yappendix{% + \ifnum\secno=0 + \putwordAppendix@tie @char\the\appendixno{}% + \else \ifnum\subsecno=0 + \putwordSection@tie @char\the\appendixno.\the\secno + \else \ifnum\subsubsecno=0 + \putwordSection@tie @char\the\appendixno.\the\secno.\the\subsecno + \else + \putwordSection@tie + @char\the\appendixno.\the\secno.\the\subsecno.\the\subsubsecno + \fi\fi\fi +} + +% Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME. +% If its value is nonempty, SUFFIX is output afterward. +% +\def\refx#1#2{% + {% + \indexnofonts + \otherbackslash + \expandafter\global\expandafter\let\expandafter\thisrefX + \csname XR#1\endcsname + }% + \ifx\thisrefX\relax + % If not defined, say something at least. + \angleleft un\-de\-fined\angleright + \iflinks + \ifhavexrefs + \message{\linenumber Undefined cross reference `#1'.}% + \else + \ifwarnedxrefs\else + \global\warnedxrefstrue + \message{Cross reference values unknown; you must run TeX again.}% + \fi + \fi + \fi + \else + % It's defined, so just use it. + \thisrefX + \fi + #2% Output the suffix in any case. +} + +% This is the macro invoked by entries in the aux file. Usually it's +% just a \def (we prepend XR to the control sequence name to avoid +% collisions). But if this is a float type, we have more work to do. +% +\def\xrdef#1#2{% + \expandafter\gdef\csname XR#1\endcsname{#2}% remember this xref value. + % + % Was that xref control sequence that we just defined for a float? + \expandafter\iffloat\csname XR#1\endcsname + % it was a float, and we have the (safe) float type in \iffloattype. + \expandafter\let\expandafter\floatlist + \csname floatlist\iffloattype\endcsname + % + % Is this the first time we've seen this float type? + \expandafter\ifx\floatlist\relax + \toks0 = {\do}% yes, so just \do + \else + % had it before, so preserve previous elements in list. + \toks0 = \expandafter{\floatlist\do}% + \fi + % + % Remember this xref in the control sequence \floatlistFLOATTYPE, + % for later use in \listoffloats. + \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0{#1}}% + \fi +} + +% Read the last existing aux file, if any. No error if none exists. +% +\def\tryauxfile{% + \openin 1 \jobname.aux + \ifeof 1 \else + \readauxfile + \global\havexrefstrue + \fi + \closein 1 +} + +\def\readauxfile{\begingroup + \catcode`\^^@=\other + \catcode`\^^A=\other + \catcode`\^^B=\other + \catcode`\^^C=\other + \catcode`\^^D=\other + \catcode`\^^E=\other + \catcode`\^^F=\other + \catcode`\^^G=\other + \catcode`\^^H=\other + \catcode`\^^K=\other + \catcode`\^^L=\other + \catcode`\^^N=\other + \catcode`\^^P=\other + \catcode`\^^Q=\other + \catcode`\^^R=\other + \catcode`\^^S=\other + \catcode`\^^T=\other + \catcode`\^^U=\other + \catcode`\^^V=\other + \catcode`\^^W=\other + \catcode`\^^X=\other + \catcode`\^^Z=\other + \catcode`\^^[=\other + \catcode`\^^\=\other + \catcode`\^^]=\other + \catcode`\^^^=\other + \catcode`\^^_=\other + % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc. + % in xref tags, i.e., node names. But since ^^e4 notation isn't + % supported in the main text, it doesn't seem desirable. Furthermore, + % that is not enough: for node names that actually contain a ^ + % character, we would end up writing a line like this: 'xrdef {'hat + % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first + % argument, and \hat is not an expandable control sequence. It could + % all be worked out, but why? Either we support ^^ or we don't. + % + % The other change necessary for this was to define \auxhat: + % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter + % and then to call \auxhat in \setq. + % + \catcode`\^=\other + % + % Special characters. Should be turned off anyway, but... + \catcode`\~=\other + \catcode`\[=\other + \catcode`\]=\other + \catcode`\"=\other + \catcode`\_=\other + \catcode`\|=\other + \catcode`\<=\other + \catcode`\>=\other + \catcode`\$=\other + \catcode`\#=\other + \catcode`\&=\other + \catcode`\%=\other + \catcode`+=\other % avoid \+ for paranoia even though we've turned it off + % + % This is to support \ in node names and titles, since the \ + % characters end up in a \csname. It's easier than + % leaving it active and making its active definition an actual \ + % character. What I don't understand is why it works in the *value* + % of the xrdef. Seems like it should be a catcode12 \, and that + % should not typeset properly. But it works, so I'm moving on for + % now. --karl, 15jan04. + \catcode`\\=\other + % + % Make the characters 128-255 be printing characters. + {% + \count 1=128 + \def\loop{% + \catcode\count 1=\other + \advance\count 1 by 1 + \ifnum \count 1<256 \loop \fi + }% + }% + % + % @ is our escape character in .aux files, and we need braces. + \catcode`\{=1 + \catcode`\}=2 + \catcode`\@=0 + % + \input \jobname.aux +\endgroup} + + +\message{insertions,} +% including footnotes. + +\newcount \footnoteno + +% The trailing space in the following definition for supereject is +% vital for proper filling; pages come out unaligned when you do a +% pagealignmacro call if that space before the closing brace is +% removed. (Generally, numeric constants should always be followed by a +% space to prevent strange expansion errors.) +\def\supereject{\par\penalty -20000\footnoteno =0 } + +% @footnotestyle is meaningful for info output only. +\let\footnotestyle=\comment + +{\catcode `\@=11 +% +% Auto-number footnotes. Otherwise like plain. +\gdef\footnote{% + \let\indent=\ptexindent + \let\noindent=\ptexnoindent + \global\advance\footnoteno by \@ne + \edef\thisfootno{$^{\the\footnoteno}$}% + % + % In case the footnote comes at the end of a sentence, preserve the + % extra spacing after we do the footnote number. + \let\@sf\empty + \ifhmode\edef\@sf{\spacefactor\the\spacefactor}\ptexslash\fi + % + % Remove inadvertent blank space before typesetting the footnote number. + \unskip + \thisfootno\@sf + \dofootnote +}% + +% Don't bother with the trickery in plain.tex to not require the +% footnote text as a parameter. Our footnotes don't need to be so general. +% +% Oh yes, they do; otherwise, @ifset (and anything else that uses +% \parseargline) fails inside footnotes because the tokens are fixed when +% the footnote is read. --karl, 16nov96. +% +\gdef\dofootnote{% + \insert\footins\bgroup + % We want to typeset this text as a normal paragraph, even if the + % footnote reference occurs in (for example) a display environment. + % So reset some parameters. + \hsize=\pagewidth + \interlinepenalty\interfootnotelinepenalty + \splittopskip\ht\strutbox % top baseline for broken footnotes + \splitmaxdepth\dp\strutbox + \floatingpenalty\@MM + \leftskip\z@skip + \rightskip\z@skip + \spaceskip\z@skip + \xspaceskip\z@skip + \parindent\defaultparindent + % + \smallfonts \rm + % + % Because we use hanging indentation in footnotes, a @noindent appears + % to exdent this text, so make it be a no-op. makeinfo does not use + % hanging indentation so @noindent can still be needed within footnote + % text after an @example or the like (not that this is good style). + \let\noindent = \relax + % + % Hang the footnote text off the number. Use \everypar in case the + % footnote extends for more than one paragraph. + \everypar = {\hang}% + \textindent{\thisfootno}% + % + % Don't crash into the line above the footnote text. Since this + % expands into a box, it must come within the paragraph, lest it + % provide a place where TeX can split the footnote. + \footstrut + \futurelet\next\fo@t +} +}%end \catcode `\@=11 + +% In case a @footnote appears in a vbox, save the footnote text and create +% the real \insert just after the vbox finished. Otherwise, the insertion +% would be lost. +% Similarily, if a @footnote appears inside an alignment, save the footnote +% text to a box and make the \insert when a row of the table is finished. +% And the same can be done for other insert classes. --kasal, 16nov03. + +% Replace the \insert primitive by a cheating macro. +% Deeper inside, just make sure that the saved insertions are not spilled +% out prematurely. +% +\def\startsavinginserts{% + \ifx \insert\ptexinsert + \let\insert\saveinsert + \else + \let\checkinserts\relax + \fi +} + +% This \insert replacement works for both \insert\footins{foo} and +% \insert\footins\bgroup foo\egroup, but it doesn't work for \insert27{foo}. +% +\def\saveinsert#1{% + \edef\next{\noexpand\savetobox \makeSAVEname#1}% + \afterassignment\next + % swallow the left brace + \let\temp = +} +\def\makeSAVEname#1{\makecsname{SAVE\expandafter\gobble\string#1}} +\def\savetobox#1{\global\setbox#1 = \vbox\bgroup \unvbox#1} + +\def\checksaveins#1{\ifvoid#1\else \placesaveins#1\fi} + +\def\placesaveins#1{% + \ptexinsert \csname\expandafter\gobblesave\string#1\endcsname + {\box#1}% +} + +% eat @SAVE -- beware, all of them have catcode \other: +{ + \def\dospecials{\do S\do A\do V\do E} \uncatcodespecials % ;-) + \gdef\gobblesave @SAVE{} +} + +% initialization: +\def\newsaveins #1{% + \edef\next{\noexpand\newsaveinsX \makeSAVEname#1}% + \next +} +\def\newsaveinsX #1{% + \csname newbox\endcsname #1% + \expandafter\def\expandafter\checkinserts\expandafter{\checkinserts + \checksaveins #1}% +} + +% initialize: +\let\checkinserts\empty +\newsaveins\footins +\newsaveins\margin + + +% @image. We use the macros from epsf.tex to support this. +% If epsf.tex is not installed and @image is used, we complain. +% +% Check for and read epsf.tex up front. If we read it only at @image +% time, we might be inside a group, and then its definitions would get +% undone and the next image would fail. +\openin 1 = epsf.tex +\ifeof 1 \else + % Do not bother showing banner with epsf.tex v2.7k (available in + % doc/epsf.tex and on ctan). + \def\epsfannounce{\toks0 = }% + \input epsf.tex +\fi +\closein 1 +% +% We will only complain once about lack of epsf.tex. +\newif\ifwarnednoepsf +\newhelp\noepsfhelp{epsf.tex must be installed for images to + work. It is also included in the Texinfo distribution, or you can get + it from ftp://tug.org/tex/epsf.tex.} +% +\def\image#1{% + \ifx\epsfbox\undefined + \ifwarnednoepsf \else + \errhelp = \noepsfhelp + \errmessage{epsf.tex not found, images will be ignored}% + \global\warnednoepsftrue + \fi + \else + \imagexxx #1,,,,,\finish + \fi +} +% +% Arguments to @image: +% #1 is (mandatory) image filename; we tack on .eps extension. +% #2 is (optional) width, #3 is (optional) height. +% #4 is (ignored optional) html alt text. +% #5 is (ignored optional) extension. +% #6 is just the usual extra ignored arg for parsing this stuff. +\newif\ifimagevmode +\def\imagexxx#1,#2,#3,#4,#5,#6\finish{\begingroup + \catcode`\^^M = 5 % in case we're inside an example + \normalturnoffactive % allow _ et al. in names + % If the image is by itself, center it. + \ifvmode + \imagevmodetrue + \nobreak\bigskip + % Usually we'll have text after the image which will insert + % \parskip glue, so insert it here too to equalize the space + % above and below. + \nobreak\vskip\parskip + \nobreak + \line\bgroup\hss + \fi + % + % Output the image. + \ifpdf + \dopdfimage{#1}{#2}{#3}% + \else + % \epsfbox itself resets \epsf?size at each figure. + \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi + \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi + \epsfbox{#1.eps}% + \fi + % + \ifimagevmode \hss \egroup \bigbreak \fi % space after the image +\endgroup} + + +% @float FLOATTYPE,LABEL,LOC ... @end float for displayed figures, tables, +% etc. We don't actually implement floating yet, we always include the +% float "here". But it seemed the best name for the future. +% +\envparseargdef\float{\eatcommaspace\eatcommaspace\dofloat#1, , ,\finish} + +% There may be a space before second and/or third parameter; delete it. +\def\eatcommaspace#1, {#1,} + +% #1 is the optional FLOATTYPE, the text label for this float, typically +% "Figure", "Table", "Example", etc. Can't contain commas. If omitted, +% this float will not be numbered and cannot be referred to. +% +% #2 is the optional xref label. Also must be present for the float to +% be referable. +% +% #3 is the optional positioning argument; for now, it is ignored. It +% will somehow specify the positions allowed to float to (here, top, bottom). +% +% We keep a separate counter for each FLOATTYPE, which we reset at each +% chapter-level command. +\let\resetallfloatnos=\empty +% +\def\dofloat#1,#2,#3,#4\finish{% + \let\thiscaption=\empty + \let\thisshortcaption=\empty + % + % don't lose footnotes inside @float. + % + % BEWARE: when the floats start float, we have to issue warning whenever an + % insert appears inside a float which could possibly float. --kasal, 26may04 + % + \startsavinginserts + % + % We can't be used inside a paragraph. + \par + % + \vtop\bgroup + \def\floattype{#1}% + \def\floatlabel{#2}% + \def\floatloc{#3}% we do nothing with this yet. + % + \ifx\floattype\empty + \let\safefloattype=\empty + \else + {% + % the floattype might have accents or other special characters, + % but we need to use it in a control sequence name. + \indexnofonts + \turnoffactive + \xdef\safefloattype{\floattype}% + }% + \fi + % + % If label is given but no type, we handle that as the empty type. + \ifx\floatlabel\empty \else + % We want each FLOATTYPE to be numbered separately (Figure 1, + % Table 1, Figure 2, ...). (And if no label, no number.) + % + \expandafter\getfloatno\csname\safefloattype floatno\endcsname + \global\advance\floatno by 1 + % + {% + % This magic value for \thissection is output by \setref as the + % XREFLABEL-title value. \xrefX uses it to distinguish float + % labels (which have a completely different output format) from + % node and anchor labels. And \xrdef uses it to construct the + % lists of floats. + % + \edef\thissection{\floatmagic=\safefloattype}% + \setref{\floatlabel}{Yfloat}% + }% + \fi + % + % start with \parskip glue, I guess. + \vskip\parskip + % + % Don't suppress indentation if a float happens to start a section. + \restorefirstparagraphindent +} + +% we have these possibilities: +% @float Foo,lbl & @caption{Cap}: Foo 1.1: Cap +% @float Foo,lbl & no caption: Foo 1.1 +% @float Foo & @caption{Cap}: Foo: Cap +% @float Foo & no caption: Foo +% @float ,lbl & Caption{Cap}: 1.1: Cap +% @float ,lbl & no caption: 1.1 +% @float & @caption{Cap}: Cap +% @float & no caption: +% +\def\Efloat{% + \let\floatident = \empty + % + % In all cases, if we have a float type, it comes first. + \ifx\floattype\empty \else \def\floatident{\floattype}\fi + % + % If we have an xref label, the number comes next. + \ifx\floatlabel\empty \else + \ifx\floattype\empty \else % if also had float type, need tie first. + \appendtomacro\floatident{\tie}% + \fi + % the number. + \appendtomacro\floatident{\chaplevelprefix\the\floatno}% + \fi + % + % Start the printed caption with what we've constructed in + % \floatident, but keep it separate; we need \floatident again. + \let\captionline = \floatident + % + \ifx\thiscaption\empty \else + \ifx\floatident\empty \else + \appendtomacro\captionline{: }% had ident, so need a colon between + \fi + % + % caption text. + \appendtomacro\captionline{\scanexp\thiscaption}% + \fi + % + % If we have anything to print, print it, with space before. + % Eventually this needs to become an \insert. + \ifx\captionline\empty \else + \vskip.5\parskip + \captionline + % + % Space below caption. + \vskip\parskip + \fi + % + % If have an xref label, write the list of floats info. Do this + % after the caption, to avoid chance of it being a breakpoint. + \ifx\floatlabel\empty \else + % Write the text that goes in the lof to the aux file as + % \floatlabel-lof. Besides \floatident, we include the short + % caption if specified, else the full caption if specified, else nothing. + {% + \atdummies \turnoffactive \otherbackslash + % since we read the caption text in the macro world, where ^^M + % is turned into a normal character, we have to scan it back, so + % we don't write the literal three characters "^^M" into the aux file. + \scanexp{% + \xdef\noexpand\gtemp{% + \ifx\thisshortcaption\empty + \thiscaption + \else + \thisshortcaption + \fi + }% + }% + \immediate\write\auxfile{@xrdef{\floatlabel-lof}{\floatident + \ifx\gtemp\empty \else : \gtemp \fi}}% + }% + \fi + \egroup % end of \vtop + % + % place the captured inserts + % + % BEWARE: when the floats start float, we have to issue warning whenever an + % insert appears inside a float which could possibly float. --kasal, 26may04 + % + \checkinserts +} + +% Append the tokens #2 to the definition of macro #1, not expanding either. +% +\def\appendtomacro#1#2{% + \expandafter\def\expandafter#1\expandafter{#1#2}% +} + +% @caption, @shortcaption +% +\def\caption{\docaption\thiscaption} +\def\shortcaption{\docaption\thisshortcaption} +\def\docaption{\checkenv\float \bgroup\scanargctxt\defcaption} +\def\defcaption#1#2{\egroup \def#1{#2}} + +% The parameter is the control sequence identifying the counter we are +% going to use. Create it if it doesn't exist and assign it to \floatno. +\def\getfloatno#1{% + \ifx#1\relax + % Haven't seen this figure type before. + \csname newcount\endcsname #1% + % + % Remember to reset this floatno at the next chap. + \expandafter\gdef\expandafter\resetallfloatnos + \expandafter{\resetallfloatnos #1=0 }% + \fi + \let\floatno#1% +} + +% \setref calls this to get the XREFLABEL-snt value. We want an @xref +% to the FLOATLABEL to expand to "Figure 3.1". We call \setref when we +% first read the @float command. +% +\def\Yfloat{\floattype@tie \chaplevelprefix\the\floatno}% + +% Magic string used for the XREFLABEL-title value, so \xrefX can +% distinguish floats from other xref types. +\def\floatmagic{!!float!!} + +% #1 is the control sequence we are passed; we expand into a conditional +% which is true if #1 represents a float ref. That is, the magic +% \thissection value which we \setref above. +% +\def\iffloat#1{\expandafter\doiffloat#1==\finish} +% +% #1 is (maybe) the \floatmagic string. If so, #2 will be the +% (safe) float type for this float. We set \iffloattype to #2. +% +\def\doiffloat#1=#2=#3\finish{% + \def\temp{#1}% + \def\iffloattype{#2}% + \ifx\temp\floatmagic +} + +% @listoffloats FLOATTYPE - print a list of floats like a table of contents. +% +\parseargdef\listoffloats{% + \def\floattype{#1}% floattype + {% + % the floattype might have accents or other special characters, + % but we need to use it in a control sequence name. + \indexnofonts + \turnoffactive + \xdef\safefloattype{\floattype}% + }% + % + % \xrdef saves the floats as a \do-list in \floatlistSAFEFLOATTYPE. + \expandafter\ifx\csname floatlist\safefloattype\endcsname \relax + \ifhavexrefs + % if the user said @listoffloats foo but never @float foo. + \message{\linenumber No `\safefloattype' floats to list.}% + \fi + \else + \begingroup + \leftskip=\tocindent % indent these entries like a toc + \let\do=\listoffloatsdo + \csname floatlist\safefloattype\endcsname + \endgroup + \fi +} + +% This is called on each entry in a list of floats. We're passed the +% xref label, in the form LABEL-title, which is how we save it in the +% aux file. We strip off the -title and look up \XRLABEL-lof, which +% has the text we're supposed to typeset here. +% +% Figures without xref labels will not be included in the list (since +% they won't appear in the aux file). +% +\def\listoffloatsdo#1{\listoffloatsdoentry#1\finish} +\def\listoffloatsdoentry#1-title\finish{{% + % Can't fully expand XR#1-lof because it can contain anything. Just + % pass the control sequence. On the other hand, XR#1-pg is just the + % page number, and we want to fully expand that so we can get a link + % in pdf output. + \toksA = \expandafter{\csname XR#1-lof\endcsname}% + % + % use the same \entry macro we use to generate the TOC and index. + \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}% + \writeentry +}} + +\message{localization,} +% and i18n. + +% @documentlanguage is usually given very early, just after +% @setfilename. If done too late, it may not override everything +% properly. Single argument is the language abbreviation. +% It would be nice if we could set up a hyphenation file here. +% +\parseargdef\documentlanguage{% + \tex % read txi-??.tex file in plain TeX. + % Read the file if it exists. + \openin 1 txi-#1.tex + \ifeof 1 + \errhelp = \nolanghelp + \errmessage{Cannot read language file txi-#1.tex}% + \else + \input txi-#1.tex + \fi + \closein 1 + \endgroup +} +\newhelp\nolanghelp{The given language definition file cannot be found or +is empty. Maybe you need to install it? In the current directory +should work if nowhere else does.} + + +% @documentencoding should change something in TeX eventually, most +% likely, but for now just recognize it. +\let\documentencoding = \comment + + +% Page size parameters. +% +\newdimen\defaultparindent \defaultparindent = 15pt + +\chapheadingskip = 15pt plus 4pt minus 2pt +\secheadingskip = 12pt plus 3pt minus 2pt +\subsecheadingskip = 9pt plus 2pt minus 2pt + +% Prevent underfull vbox error messages. +\vbadness = 10000 + +% Don't be so finicky about underfull hboxes, either. +\hbadness = 2000 + +% Following George Bush, just get rid of widows and orphans. +\widowpenalty=10000 +\clubpenalty=10000 + +% Use TeX 3.0's \emergencystretch to help line breaking, but if we're +% using an old version of TeX, don't do anything. We want the amount of +% stretch added to depend on the line length, hence the dependence on +% \hsize. We call this whenever the paper size is set. +% +\def\setemergencystretch{% + \ifx\emergencystretch\thisisundefined + % Allow us to assign to \emergencystretch anyway. + \def\emergencystretch{\dimen0}% + \else + \emergencystretch = .15\hsize + \fi +} + +% Parameters in order: 1) textheight; 2) textwidth; 3) voffset; +% 4) hoffset; 5) binding offset; 6) topskip; 7) physical page height; 8) +% physical page width. +% +% We also call \setleading{\textleading}, so the caller should define +% \textleading. The caller should also set \parskip. +% +\def\internalpagesizes#1#2#3#4#5#6#7#8{% + \voffset = #3\relax + \topskip = #6\relax + \splittopskip = \topskip + % + \vsize = #1\relax + \advance\vsize by \topskip + \outervsize = \vsize + \advance\outervsize by 2\topandbottommargin + \pageheight = \vsize + % + \hsize = #2\relax + \outerhsize = \hsize + \advance\outerhsize by 0.5in + \pagewidth = \hsize + % + \normaloffset = #4\relax + \bindingoffset = #5\relax + % + \ifpdf + \pdfpageheight #7\relax + \pdfpagewidth #8\relax + \fi + % + \setleading{\textleading} + % + \parindent = \defaultparindent + \setemergencystretch +} + +% @letterpaper (the default). +\def\letterpaper{{\globaldefs = 1 + \parskip = 3pt plus 2pt minus 1pt + \textleading = 13.2pt + % + % If page is nothing but text, make it come out even. + \internalpagesizes{46\baselineskip}{6in}% + {\voffset}{.25in}% + {\bindingoffset}{36pt}% + {11in}{8.5in}% +}} + +% Use @smallbook to reset parameters for 7x9.5 (or so) format. +\def\smallbook{{\globaldefs = 1 + \parskip = 2pt plus 1pt + \textleading = 12pt + % + \internalpagesizes{7.5in}{5in}% + {\voffset}{.25in}% + {\bindingoffset}{16pt}% + {9.25in}{7in}% + % + \lispnarrowing = 0.3in + \tolerance = 700 + \hfuzz = 1pt + \contentsrightmargin = 0pt + \defbodyindent = .5cm +}} + +% Use @afourpaper to print on European A4 paper. +\def\afourpaper{{\globaldefs = 1 + \parskip = 3pt plus 2pt minus 1pt + \textleading = 13.2pt + % + % Double-side printing via postscript on Laserjet 4050 + % prints double-sided nicely when \bindingoffset=10mm and \hoffset=-6mm. + % To change the settings for a different printer or situation, adjust + % \normaloffset until the front-side and back-side texts align. Then + % do the same for \bindingoffset. You can set these for testing in + % your texinfo source file like this: + % @tex + % \global\normaloffset = -6mm + % \global\bindingoffset = 10mm + % @end tex + \internalpagesizes{51\baselineskip}{160mm} + {\voffset}{\hoffset}% + {\bindingoffset}{44pt}% + {297mm}{210mm}% + % + \tolerance = 700 + \hfuzz = 1pt + \contentsrightmargin = 0pt + \defbodyindent = 5mm +}} + +% Use @afivepaper to print on European A5 paper. +% From romildo@urano.iceb.ufop.br, 2 July 2000. +% He also recommends making @example and @lisp be small. +\def\afivepaper{{\globaldefs = 1 + \parskip = 2pt plus 1pt minus 0.1pt + \textleading = 12.5pt + % + \internalpagesizes{160mm}{120mm}% + {\voffset}{\hoffset}% + {\bindingoffset}{8pt}% + {210mm}{148mm}% + % + \lispnarrowing = 0.2in + \tolerance = 800 + \hfuzz = 1.2pt + \contentsrightmargin = 0pt + \defbodyindent = 2mm + \tableindent = 12mm +}} + +% A specific text layout, 24x15cm overall, intended for A4 paper. +\def\afourlatex{{\globaldefs = 1 + \afourpaper + \internalpagesizes{237mm}{150mm}% + {\voffset}{4.6mm}% + {\bindingoffset}{7mm}% + {297mm}{210mm}% + % + % Must explicitly reset to 0 because we call \afourpaper. + \globaldefs = 0 +}} + +% Use @afourwide to print on A4 paper in landscape format. +\def\afourwide{{\globaldefs = 1 + \afourpaper + \internalpagesizes{241mm}{165mm}% + {\voffset}{-2.95mm}% + {\bindingoffset}{7mm}% + {297mm}{210mm}% + \globaldefs = 0 +}} + +% @pagesizes TEXTHEIGHT[,TEXTWIDTH] +% Perhaps we should allow setting the margins, \topskip, \parskip, +% and/or leading, also. Or perhaps we should compute them somehow. +% +\parseargdef\pagesizes{\pagesizesyyy #1,,\finish} +\def\pagesizesyyy#1,#2,#3\finish{{% + \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \hsize=#2\relax \fi + \globaldefs = 1 + % + \parskip = 3pt plus 2pt minus 1pt + \setleading{\textleading}% + % + \dimen0 = #1 + \advance\dimen0 by \voffset + % + \dimen2 = \hsize + \advance\dimen2 by \normaloffset + % + \internalpagesizes{#1}{\hsize}% + {\voffset}{\normaloffset}% + {\bindingoffset}{44pt}% + {\dimen0}{\dimen2}% +}} + +% Set default to letter. +% +\letterpaper + + +\message{and turning on texinfo input format.} + +% Define macros to output various characters with catcode for normal text. +\catcode`\"=\other +\catcode`\~=\other +\catcode`\^=\other +\catcode`\_=\other +\catcode`\|=\other +\catcode`\<=\other +\catcode`\>=\other +\catcode`\+=\other +\catcode`\$=\other +\def\normaldoublequote{"} +\def\normaltilde{~} +\def\normalcaret{^} +\def\normalunderscore{_} +\def\normalverticalbar{|} +\def\normalless{<} +\def\normalgreater{>} +\def\normalplus{+} +\def\normaldollar{$}%$ font-lock fix + +% This macro is used to make a character print one way in \tt +% (where it can probably be output as-is), and another way in other fonts, +% where something hairier probably needs to be done. +% +% #1 is what to print if we are indeed using \tt; #2 is what to print +% otherwise. Since all the Computer Modern typewriter fonts have zero +% interword stretch (and shrink), and it is reasonable to expect all +% typewriter fonts to have this, we can check that font parameter. +% +\def\ifusingtt#1#2{\ifdim \fontdimen3\font=0pt #1\else #2\fi} + +% Same as above, but check for italic font. Actually this also catches +% non-italic slanted fonts since it is impossible to distinguish them from +% italic fonts. But since this is only used by $ and it uses \sl anyway +% this is not a problem. +\def\ifusingit#1#2{\ifdim \fontdimen1\font>0pt #1\else #2\fi} + +% Turn off all special characters except @ +% (and those which the user can use as if they were ordinary). +% Most of these we simply print from the \tt font, but for some, we can +% use math or other variants that look better in normal text. + +\catcode`\"=\active +\def\activedoublequote{{\tt\char34}} +\let"=\activedoublequote +\catcode`\~=\active +\def~{{\tt\char126}} +\chardef\hat=`\^ +\catcode`\^=\active +\def^{{\tt \hat}} + +\catcode`\_=\active +\def_{\ifusingtt\normalunderscore\_} +% Subroutine for the previous macro. +\def\_{\leavevmode \kern.07em \vbox{\hrule width.3em height.1ex}\kern .07em } + +\catcode`\|=\active +\def|{{\tt\char124}} +\chardef \less=`\< +\catcode`\<=\active +\def<{{\tt \less}} +\chardef \gtr=`\> +\catcode`\>=\active +\def>{{\tt \gtr}} +\catcode`\+=\active +\def+{{\tt \char 43}} +\catcode`\$=\active +\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix + +% If a .fmt file is being used, characters that might appear in a file +% name cannot be active until we have parsed the command line. +% So turn them off again, and have \everyjob (or @setfilename) turn them on. +% \otherifyactive is called near the end of this file. +\def\otherifyactive{\catcode`+=\other \catcode`\_=\other} + +\catcode`\@=0 + +% \backslashcurfont outputs one backslash character in current font, +% as in \char`\\. +\global\chardef\backslashcurfont=`\\ +\global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work + +% \rawbackslash defines an active \ to do \backslashcurfont. +% \otherbackslash defines an active \ to be a literal `\' character with +% catcode other. +{\catcode`\\=\active + @gdef@rawbackslash{@let\=@backslashcurfont} + @gdef@otherbackslash{@let\=@realbackslash} +} + +% \realbackslash is an actual character `\' with catcode other. +{\catcode`\\=\other @gdef@realbackslash{\}} + +% \normalbackslash outputs one backslash in fixed width font. +\def\normalbackslash{{\tt\backslashcurfont}} + +\catcode`\\=\active + +% Used sometimes to turn off (effectively) the active characters +% even after parsing them. +@def@turnoffactive{% + @let"=@normaldoublequote + @let\=@realbackslash + @let~=@normaltilde + @let^=@normalcaret + @let_=@normalunderscore + @let|=@normalverticalbar + @let<=@normalless + @let>=@normalgreater + @let+=@normalplus + @let$=@normaldollar %$ font-lock fix + @unsepspaces +} + +% Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of +% the literal character `\'. (Thus, \ is not expandable when this is in +% effect.) +% +@def@normalturnoffactive{@turnoffactive @let\=@normalbackslash} + +% Make _ and + \other characters, temporarily. +% This is canceled by @fixbackslash. +@otherifyactive + +% If a .fmt file is being used, we don't want the `\input texinfo' to show up. +% That is what \eatinput is for; after that, the `\' should revert to printing +% a backslash. +% +@gdef@eatinput input texinfo{@fixbackslash} +@global@let\ = @eatinput + +% On the other hand, perhaps the file did not have a `\input texinfo'. Then +% the first `\{ in the file would cause an error. This macro tries to fix +% that, assuming it is called before the first `\' could plausibly occur. +% Also back turn on active characters that might appear in the input +% file name, in case not using a pre-dumped format. +% +@gdef@fixbackslash{% + @ifx\@eatinput @let\ = @normalbackslash @fi + @catcode`+=@active + @catcode`@_=@active +} + +% Say @foo, not \foo, in error messages. +@escapechar = `@@ + +% These look ok in all fonts, so just make them not special. +@catcode`@& = @other +@catcode`@# = @other +@catcode`@% = @other + + +@c Local variables: +@c eval: (add-hook 'write-file-hooks 'time-stamp) +@c page-delimiter: "^\\\\message" +@c time-stamp-start: "def\\\\texinfoversion{" +@c time-stamp-format: "%:y-%02m-%02d.%02H" +@c time-stamp-end: "}" +@c End: + +@c vim:sw=2: + +@ignore + arch-tag: e1b36e32-c96e-4135-a41a-0b2efa2ea115 +@end ignore diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/missing b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/missing new file mode 100755 index 00000000..e7ef83a1 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/missing @@ -0,0 +1,360 @@ +#! /bin/sh +# Common stub for a few missing GNU programs while installing. + +scriptversion=2003-09-02.23 + +# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003 +# Free Software Foundation, Inc. +# Originally by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +# 02111-1307, USA. + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 +fi + +run=: + +# In the cases where this matters, `missing' is being run in the +# srcdir already. +if test -f configure.ac; then + configure_ac=configure.ac +else + configure_ac=configure.in +fi + +msg="missing on your system" + +case "$1" in +--run) + # Try to run requested program, and just exit if it succeeds. + run= + shift + "$@" && exit 0 + # Exit code 63 means version mismatch. This often happens + # when the user try to use an ancient version of a tool on + # a file that requires a minimum version. In this case we + # we should proceed has if the program had been absent, or + # if --run hadn't been passed. + if test $? = 63; then + run=: + msg="probably too old" + fi + ;; +esac + +# If it does not exist, or fails to run (possibly an outdated version), +# try to emulate it. +case "$1" in + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an +error status if there is no known handling for PROGRAM. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + --run try to run the given command, and emulate it if it fails + +Supported PROGRAM values: + aclocal touch file \`aclocal.m4' + autoconf touch file \`configure' + autoheader touch file \`config.h.in' + automake touch all \`Makefile.in' files + bison create \`y.tab.[ch]', if possible, from existing .[ch] + flex create \`lex.yy.c', if possible, from existing .c + help2man touch the output file + lex create \`lex.yy.c', if possible, from existing .c + makeinfo touch the output file + tar try tar, gnutar, gtar, then tar without non-portable flags + yacc create \`y.tab.[ch]', if possible, from existing .[ch] + +Send bug reports to ." + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + ;; + + -*) + echo 1>&2 "$0: Unknown \`$1' option" + echo 1>&2 "Try \`$0 --help' for more information" + exit 1 + ;; + + aclocal*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acinclude.m4' or \`${configure_ac}'. You might want + to install the \`Automake' and \`Perl' packages. Grab them from + any GNU archive site." + touch aclocal.m4 + ;; + + autoconf) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`${configure_ac}'. You might want to install the + \`Autoconf' and \`GNU m4' packages. Grab them from any GNU + archive site." + touch configure + ;; + + autoheader) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`acconfig.h' or \`${configure_ac}'. You might want + to install the \`Autoconf' and \`GNU m4' packages. Grab them + from any GNU archive site." + files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` + test -z "$files" && files="config.h" + touch_files= + for f in $files; do + case "$f" in + *:*) touch_files="$touch_files "`echo "$f" | + sed -e 's/^[^:]*://' -e 's/:.*//'`;; + *) touch_files="$touch_files $f.in";; + esac + done + touch $touch_files + ;; + + automake*) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. + You might want to install the \`Automake' and \`Perl' packages. + Grab them from any GNU archive site." + find . -type f -name Makefile.am -print | + sed 's/\.am$/.in/' | + while read f; do touch "$f"; done + ;; + + autom4te) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is needed, but is $msg. + You might have modified some files without having the + proper tools for further handling them. + You can get \`$1' as part of \`Autoconf' from any GNU + archive site." + + file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` + test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` + if test -f "$file"; then + touch $file + else + test -z "$file" || exec >$file + echo "#! /bin/sh" + echo "# Created by GNU Automake missing as a replacement of" + echo "# $ $@" + echo "exit 0" + chmod +x $file + exit 1 + fi + ;; + + bison|yacc) + echo 1>&2 "\ +WARNING: \`$1' $msg. You should only need it if + you modified a \`.y' file. You may need the \`Bison' package + in order for those modifications to take effect. You can get + \`Bison' from any GNU archive site." + rm -f y.tab.c y.tab.h + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.y) + SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.c + fi + SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" y.tab.h + fi + ;; + esac + fi + if [ ! -f y.tab.h ]; then + echo >y.tab.h + fi + if [ ! -f y.tab.c ]; then + echo 'main() { return 0; }' >y.tab.c + fi + ;; + + lex|flex) + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.l' file. You may need the \`Flex' package + in order for those modifications to take effect. You can get + \`Flex' from any GNU archive site." + rm -f lex.yy.c + if [ $# -ne 1 ]; then + eval LASTARG="\${$#}" + case "$LASTARG" in + *.l) + SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` + if [ -f "$SRCFILE" ]; then + cp "$SRCFILE" lex.yy.c + fi + ;; + esac + fi + if [ ! -f lex.yy.c ]; then + echo 'main() { return 0; }' >lex.yy.c + fi + ;; + + help2man) + if test -z "$run" && ($1 --version) > /dev/null 2>&1; then + # We have it, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a dependency of a manual page. You may need the + \`Help2man' package in order for those modifications to take + effect. You can get \`Help2man' from any GNU archive site." + + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` + fi + if [ -f "$file" ]; then + touch $file + else + test -z "$file" || exec >$file + echo ".ab help2man is required to generate this page" + exit 1 + fi + ;; + + makeinfo) + if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then + # We have makeinfo, but it failed. + exit 1 + fi + + echo 1>&2 "\ +WARNING: \`$1' is $msg. You should only need it if + you modified a \`.texi' or \`.texinfo' file, or any other file + indirectly affecting the aspect of the manual. The spurious + call might also be the consequence of using a buggy \`make' (AIX, + DU, IRIX). You might want to install the \`Texinfo' package or + the \`GNU make' package. Grab either from any GNU archive site." + file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` + if test -z "$file"; then + file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` + file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` + fi + touch $file + ;; + + tar) + shift + if test -n "$run"; then + echo 1>&2 "ERROR: \`tar' requires --run" + exit 1 + fi + + # We have already tried tar in the generic part. + # Look for gnutar/gtar before invocation to avoid ugly error + # messages. + if (gnutar --version > /dev/null 2>&1); then + gnutar "$@" && exit 0 + fi + if (gtar --version > /dev/null 2>&1); then + gtar "$@" && exit 0 + fi + firstarg="$1" + if shift; then + case "$firstarg" in + *o*) + firstarg=`echo "$firstarg" | sed s/o//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + case "$firstarg" in + *h*) + firstarg=`echo "$firstarg" | sed s/h//` + tar "$firstarg" "$@" && exit 0 + ;; + esac + fi + + echo 1>&2 "\ +WARNING: I can't seem to be able to run \`tar' with the given arguments. + You may want to install GNU tar or Free paxutils, or check the + command line arguments." + exit 1 + ;; + + *) + echo 1>&2 "\ +WARNING: \`$1' is needed, and is $msg. + You might have modified some files without having the + proper tools for further handling them. Check the \`README' file, + it often tells you about the needed prerequisites for installing + this package. You may also peek at any GNU archive site, in case + some other package would contain this missing \`$1' program." + exit 1 + ;; +esac + +exit 0 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/stamp-h1 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/stamp-h1 new file mode 100755 index 00000000..4547fe1b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/stamp-h1 @@ -0,0 +1 @@ +timestamp for config.h diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/vienna13.par b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/vienna13.par new file mode 100755 index 00000000..7df1b601 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/vienna13.par @@ -0,0 +1,11705 @@ +## RNAfold parameter file + +# stack_energies +/* CG GC GU UG AU UA @ */ + -200 -290 -190 -120 -170 -180 0 + -290 -340 -210 -140 -210 -230 0 + -190 -210 150 -40 -100 -110 0 + -120 -140 -40 -20 -50 -80 0 + -170 -210 -100 -50 -90 -90 0 + -180 -230 -110 -80 -90 -110 0 + 0 0 0 0 0 0 0 + +# stack_enthalpies +/* CG GC GU UG AU UA @ */ + -800 -1220 -1120 -310 -760 -1050 0 + -1220 -1420 -950 -630 -1020 -1330 0 + -1120 -950 -1605 -2000 -400 -1360 0 + -310 -630 -2000 -1110 -270 -850 0 + -760 -1020 -400 -270 -570 -660 0 + -1050 -1330 -1360 -850 -660 -810 0 + 0 0 0 0 0 0 0 + +# mismatch_hairpin + 0 0 0 0 0 + DEF -140 -200 -210 -190 + DEF -100 -110 -100 -80 + DEF -210 -190 -140 -190 + DEF -140 -150 -140 -120 + 0 0 0 0 0 + DEF -110 -130 -200 -130 + DEF -110 -60 -60 -50 + DEF -230 -150 -140 -150 + DEF -80 -80 -80 -70 + 0 0 0 0 0 + DEF -80 -100 -170 -100 + DEF -70 -70 -70 -70 + DEF -150 -100 -100 -100 + DEF -80 -80 -80 -80 + 0 0 0 0 0 + DEF -120 -140 -200 -140 + DEF -90 -90 -70 -70 + DEF -200 -140 -130 -140 + DEF -90 -110 -90 -90 + 0 0 0 0 0 + DEF -80 -100 -170 -100 + DEF -70 -70 -70 -70 + DEF -150 -100 -100 -100 + DEF -80 -80 -80 -80 + 0 0 0 0 0 + DEF -100 -80 -180 -90 + DEF -70 -60 -30 -50 + DEF -180 -90 -120 -90 + DEF -30 -60 -30 -50 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + +# mismatch_interior + 0 0 0 0 0 + DEF -150 -150 -270 -190 + DEF -150 -150 -100 -150 + DEF -270 -190 -150 -190 + DEF -140 -150 -140 -250 + 0 0 0 0 0 + DEF -150 -150 -270 -130 + DEF -150 -150 -60 -150 + DEF -270 -150 -150 -150 + DEF -80 -150 -80 -250 + 0 0 0 0 0 + DEF -150 -150 -270 -130 + DEF -150 -150 -60 -150 + DEF -270 -150 -150 -150 + DEF -80 -150 -80 -250 + 0 0 0 0 0 + DEF -100 -100 -220 -40 + DEF -100 -100 20 -100 + DEF -220 -40 -100 -40 + DEF 20 -100 20 -200 + 0 0 0 0 0 + DEF -100 -100 -220 -50 + DEF -100 -100 -20 -100 + DEF -220 -50 -100 -50 + DEF -30 -100 -30 -200 + 0 0 0 0 0 + DEF -100 -100 -220 -40 + DEF -100 -100 20 -100 + DEF -220 -40 -100 -40 + DEF 20 -100 20 -200 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + +# mismatch_multi + -50 -70 -80 -50 -50 + -170 -190 -200 -170 -170 + -80 -100 -110 -80 -80 + -170 -190 -200 -170 -170 + -120 -140 -150 -120 -120 + -50 -100 -80 -70 -60 + -110 -160 -140 -130 -120 + -40 -90 -70 -60 -50 + -130 -180 -160 -150 -140 + -60 -110 -90 -80 -70 + -50 -70 -70 -70 -70 + -80 -100 -100 -100 -100 + -50 -70 -70 -70 -70 + -80 -100 -100 -100 -100 + -60 -80 -80 -80 -80 + -50 -70 -70 -70 -70 + -120 -140 -140 -140 -140 + -50 -70 -70 -70 -70 + -120 -140 -140 -140 -140 + -70 -90 -90 -90 -90 + -50 -80 -60 -70 -70 + -80 -110 -90 -100 -100 + -50 -80 -60 -70 -70 + -80 -110 -90 -100 -100 + -60 -90 -70 -80 -80 + -50 -80 -80 -90 -70 + -70 -100 -100 -110 -90 + -10 -40 -40 -50 -30 + -70 -100 -100 -110 -90 + -10 -40 -40 -50 -30 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + +# mismatch_enthalpies + 0 0 0 0 0 + DEF -1030 -950 -1030 -1030 + DEF -520 -450 -520 -670 + DEF -940 -940 -940 -940 + DEF -810 -740 -810 -860 + 0 0 0 0 0 + DEF -520 -880 -560 -880 + DEF -720 -310 -310 -390 + DEF -710 -740 -620 -740 + DEF -500 -500 -500 -570 + 0 0 0 0 0 + DEF -430 -600 -600 -600 + DEF -260 -240 -240 -240 + DEF -340 -690 -690 -690 + DEF -330 -330 -330 -330 + 0 0 0 0 0 + DEF -720 -790 -960 -810 + DEF -480 -480 -360 -480 + DEF -660 -810 -920 -810 + DEF -550 -440 -550 -360 + 0 0 0 0 0 + DEF -430 -600 -600 -600 + DEF -260 -240 -240 -240 + DEF -340 -690 -690 -690 + DEF -330 -330 -330 -330 + 0 0 0 0 0 + DEF -400 -630 -890 -590 + DEF -430 -510 -200 -180 + DEF -380 -680 -890 -680 + DEF -280 -140 -280 -140 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + +# dangle5 +/* @ A C G U */ + INF INF INF INF INF + 0 DEF -30 -20 -10 + 0 -20 -30 0 0 + 0 -20 -20 -20 -20 + 0 -20 -20 -20 -20 + 0 -30 -30 -40 -20 + 0 -30 -10 -20 -20 + 0 0 0 0 0 + +# dangle3 +/* @ A C G U */ + INF INF INF INF INF + DEF -110 -40 -130 -60 + DEF -170 -80 -170 -120 + DEF -120 -50 -120 -70 + DEF -80 -50 -80 -60 + DEF -70 -10 -70 -10 + DEF -80 -50 -80 -60 + 0 0 0 0 0 + +# dangle5_enthalpies +/* @ A C G U */ + INF INF INF INF INF + 0 -240 330 80 -140 + 0 -160 70 -460 -40 + 0 160 220 70 310 + 0 -150 510 10 100 + 0 160 220 70 310 + 0 -50 690 -60 -60 + 0 0 0 0 0 + +# dangle3_enthalpies +/* @ A C G U */ + INF INF INF INF INF + 0 -740 -280 -640 -360 + 0 -900 -410 -860 -750 + 0 -740 -240 -720 -490 + 0 -490 -90 -550 -230 + 0 -570 -70 -580 -220 + 0 -490 -90 -550 -230 + 0 0 0 0 0 + +# int11_energies +/* GC..GC */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* GC..CG */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* GC..GU */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* GC..UG */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* GC..AU */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* GC..UA */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* GC.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* CG..GC */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* CG..CG */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* CG..GU */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* CG..UG */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* CG..AU */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* CG..UA */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* CG.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GU..GC */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* GU..CG */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* GU..GU */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* GU..UG */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* GU..AU */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* GU..UA */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* GU.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UG..GC */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* UG..CG */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* UG..GU */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* UG..UG */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* UG..AU */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* UG..UA */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* UG.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* AU..GC */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* AU..CG */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* AU..GU */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* AU..UG */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* AU..AU */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* AU..UA */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* AU.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UA..GC */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* UA..CG */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* UA..GU */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* UA..UG */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* UA..AU */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* UA..UA */ + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 + 80 80 80 80 80 +/* UA.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..GC */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..CG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..GU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..UG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..AU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..UA */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + +# int11_enthalpies +/* GC..GC */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GC..CG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GC..GU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GC..UG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GC..AU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GC..UA */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GC.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* CG..GC */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* CG..CG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* CG..GU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* CG..UG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* CG..AU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* CG..UA */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* CG.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GU..GC */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GU..CG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GU..GU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GU..UG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GU..AU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GU..UA */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* GU.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UG..GC */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UG..CG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UG..GU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UG..UG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UG..AU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UG..UA */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UG.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* AU..GC */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* AU..CG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* AU..GU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* AU..UG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* AU..AU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* AU..UA */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* AU.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UA..GC */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UA..CG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UA..GU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UA..UG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UA..AU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UA..UA */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* UA.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..GC */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..CG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..GU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..UG */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..AU */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @..UA */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 +/* @.. @ */ + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + 0 0 0 0 0 + +# int21_energies +/* GC.@..GC */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* GC.A..GC */ + 490 390 390 270 350 + 340 240 240 120 200 + 340 240 240 120 200 + 220 120 120 0 80 + 350 250 250 130 210 +/* GC.C..GC */ + 490 390 390 440 390 + 340 240 240 290 240 + 340 240 240 290 240 + 300 200 200 250 200 + 340 240 240 290 240 +/* GC.G..GC */ + 490 270 350 390 350 + 220 0 80 120 80 + 390 170 250 290 250 + 340 120 200 240 200 + 350 130 210 250 210 +/* GC.U..GC */ + 490 400 390 400 290 + 300 210 200 210 100 + 340 250 240 250 140 + 300 210 200 210 100 + 240 150 140 150 40 +/* GC.@..CG */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* GC.A..CG */ + 490 390 390 270 350 + 340 240 240 120 200 + 340 240 240 120 200 + 220 120 120 0 80 + 410 310 310 190 270 +/* GC.C..CG */ + 490 390 390 440 390 + 340 240 240 290 240 + 340 240 240 290 240 + 340 240 240 290 240 + 340 240 240 290 240 +/* GC.G..CG */ + 490 270 350 390 350 + 220 0 80 120 80 + 430 210 290 330 290 + 340 120 200 240 200 + 410 190 270 310 270 +/* GC.U..CG */ + 490 400 390 400 290 + 360 270 260 270 160 + 340 250 240 250 140 + 340 250 240 250 140 + 240 150 140 150 40 +/* GC.@..GU */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* GC.A..GU */ + 490 390 390 270 350 + 340 240 240 120 200 + 340 240 240 120 200 + 220 120 120 0 80 + 410 310 310 190 270 +/* GC.C..GU */ + 490 390 390 440 390 + 340 240 240 290 240 + 340 240 240 290 240 + 340 240 240 290 240 + 340 240 240 290 240 +/* GC.G..GU */ + 490 270 350 390 350 + 220 0 80 120 80 + 430 210 290 330 290 + 340 120 200 240 200 + 410 190 270 310 270 +/* GC.U..GU */ + 490 400 390 400 290 + 360 270 260 270 160 + 340 250 240 250 140 + 340 250 240 250 140 + 240 150 140 150 40 +/* GC.@..UG */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* GC.A..UG */ + 490 390 390 270 350 + 390 290 290 170 250 + 390 290 290 170 250 + 270 170 170 50 130 + 510 410 410 290 370 +/* GC.C..UG */ + 490 390 390 440 390 + 390 290 290 340 290 + 390 290 290 340 290 + 450 350 350 400 350 + 390 290 290 340 290 +/* GC.G..UG */ + 490 270 350 390 350 + 270 50 130 170 130 + 510 290 370 410 370 + 390 170 250 290 250 + 510 290 370 410 370 +/* GC.U..UG */ + 490 400 390 400 290 + 450 360 350 360 250 + 390 300 290 300 190 + 450 360 350 360 250 + 290 200 190 200 90 +/* GC.@..AU */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* GC.A..AU */ + 490 390 390 270 350 + 390 290 290 170 250 + 390 290 290 170 250 + 270 170 170 50 130 + 460 360 360 240 320 +/* GC.C..AU */ + 490 390 390 440 390 + 390 290 290 340 290 + 390 290 290 340 290 + 440 340 340 390 340 + 390 290 290 340 290 +/* GC.G..AU */ + 490 270 350 390 350 + 270 50 130 170 130 + 470 250 330 370 330 + 390 170 250 290 250 + 460 240 320 360 320 +/* GC.U..AU */ + 490 400 390 400 290 + 440 350 340 350 240 + 390 300 290 300 190 + 440 350 340 350 240 + 290 200 190 200 90 +/* GC.@..UA */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* GC.A..UA */ + 490 390 390 270 350 + 390 290 290 170 250 + 390 290 290 170 250 + 270 170 170 50 130 + 510 410 410 290 370 +/* GC.C..UA */ + 490 390 390 440 390 + 390 290 290 340 290 + 390 290 290 340 290 + 450 350 350 400 350 + 390 290 290 340 290 +/* GC.G..UA */ + 490 270 350 390 350 + 270 50 130 170 130 + 510 290 370 410 370 + 390 170 250 290 250 + 510 290 370 410 370 +/* GC.U..UA */ + 490 400 390 400 290 + 450 360 350 360 250 + 390 300 290 300 190 + 450 360 350 360 250 + 290 200 190 200 90 +/* GC.@.. @ */ + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* GC.A.. @ */ + 440 340 340 220 300 + 440 340 340 220 300 + 440 340 340 220 300 + 440 340 340 220 300 + 440 340 340 220 300 +/* GC.C.. @ */ + 440 340 340 390 340 + 440 340 340 390 340 + 440 340 340 390 340 + 440 340 340 390 340 + 440 340 340 390 340 +/* GC.G.. @ */ + 440 220 300 340 300 + 440 220 300 340 300 + 440 220 300 340 300 + 440 220 300 340 300 + 440 220 300 340 300 +/* GC.U.. @ */ + 440 350 340 350 240 + 440 350 340 350 240 + 440 350 340 350 240 + 440 350 340 350 240 + 440 350 340 350 240 +/* CG.@..GC */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* CG.A..GC */ + 490 390 390 270 410 + 340 240 240 120 260 + 340 240 240 120 260 + 220 120 120 0 140 + 350 250 250 130 270 +/* CG.C..GC */ + 490 390 390 480 390 + 340 240 240 330 240 + 340 240 240 330 240 + 300 200 200 290 200 + 340 240 240 330 240 +/* CG.G..GC */ + 490 270 390 390 390 + 220 0 120 120 120 + 390 170 290 290 290 + 340 120 240 240 240 + 350 130 250 250 250 +/* CG.U..GC */ + 490 460 390 460 290 + 300 270 200 270 100 + 340 310 240 310 140 + 300 270 200 270 100 + 240 210 140 210 40 +/* CG.@..CG */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* CG.A..CG */ + 490 390 390 270 410 + 340 240 240 120 260 + 340 240 240 120 260 + 220 120 120 0 140 + 410 310 310 190 330 +/* CG.C..CG */ + 490 390 390 480 390 + 340 240 240 330 240 + 340 240 240 330 240 + 340 240 240 330 240 + 340 240 240 330 240 +/* CG.G..CG */ + 490 270 390 390 390 + 220 0 120 120 120 + 430 210 330 330 330 + 340 120 240 240 240 + 410 190 310 310 310 +/* CG.U..CG */ + 490 460 390 460 290 + 360 330 260 330 160 + 340 310 240 310 140 + 340 310 240 310 140 + 240 210 140 210 40 +/* CG.@..GU */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* CG.A..GU */ + 490 390 390 270 410 + 340 240 240 120 260 + 340 240 240 120 260 + 220 120 120 0 140 + 410 310 310 190 330 +/* CG.C..GU */ + 490 390 390 480 390 + 340 240 240 330 240 + 340 240 240 330 240 + 340 240 240 330 240 + 340 240 240 330 240 +/* CG.G..GU */ + 490 270 390 390 390 + 220 0 120 120 120 + 430 210 330 330 330 + 340 120 240 240 240 + 410 190 310 310 310 +/* CG.U..GU */ + 490 460 390 460 290 + 360 330 260 330 160 + 340 310 240 310 140 + 340 310 240 310 140 + 240 210 140 210 40 +/* CG.@..UG */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* CG.A..UG */ + 490 390 390 270 410 + 390 290 290 170 310 + 390 290 290 170 310 + 270 170 170 50 190 + 510 410 410 290 430 +/* CG.C..UG */ + 490 390 390 480 390 + 390 290 290 380 290 + 390 290 290 380 290 + 450 350 350 440 350 + 390 290 290 380 290 +/* CG.G..UG */ + 490 270 390 390 390 + 270 50 170 170 170 + 510 290 410 410 410 + 390 170 290 290 290 + 510 290 410 410 410 +/* CG.U..UG */ + 490 460 390 460 290 + 450 420 350 420 250 + 390 360 290 360 190 + 450 420 350 420 250 + 290 260 190 260 90 +/* CG.@..AU */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* CG.A..AU */ + 490 390 390 270 410 + 390 290 290 170 310 + 390 290 290 170 310 + 270 170 170 50 190 + 460 360 360 240 380 +/* CG.C..AU */ + 490 390 390 480 390 + 390 290 290 380 290 + 390 290 290 380 290 + 440 340 340 430 340 + 390 290 290 380 290 +/* CG.G..AU */ + 490 270 390 390 390 + 270 50 170 170 170 + 470 250 370 370 370 + 390 170 290 290 290 + 460 240 360 360 360 +/* CG.U..AU */ + 490 460 390 460 290 + 440 410 340 410 240 + 390 360 290 360 190 + 440 410 340 410 240 + 290 260 190 260 90 +/* CG.@..UA */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* CG.A..UA */ + 490 390 390 270 410 + 390 290 290 170 310 + 390 290 290 170 310 + 270 170 170 50 190 + 510 410 410 290 430 +/* CG.C..UA */ + 490 390 390 480 390 + 390 290 290 380 290 + 390 290 290 380 290 + 450 350 350 440 350 + 390 290 290 380 290 +/* CG.G..UA */ + 490 270 390 390 390 + 270 50 170 170 170 + 510 290 410 410 410 + 390 170 290 290 290 + 510 290 410 410 410 +/* CG.U..UA */ + 490 460 390 460 290 + 450 420 350 420 250 + 390 360 290 360 190 + 450 420 350 420 250 + 290 260 190 260 90 +/* CG.@.. @ */ + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* CG.A.. @ */ + 440 340 340 220 360 + 440 340 340 220 360 + 440 340 340 220 360 + 440 340 340 220 360 + 440 340 340 220 360 +/* CG.C.. @ */ + 440 340 340 430 340 + 440 340 340 430 340 + 440 340 340 430 340 + 440 340 340 430 340 + 440 340 340 430 340 +/* CG.G.. @ */ + 440 220 340 340 340 + 440 220 340 340 340 + 440 220 340 340 340 + 440 220 340 340 340 + 440 220 340 340 340 +/* CG.U.. @ */ + 440 410 340 410 240 + 440 410 340 410 240 + 440 410 340 410 240 + 440 410 340 410 240 + 440 410 340 410 240 +/* GU.@..GC */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* GU.A..GC */ + 490 390 390 270 410 + 340 240 240 120 260 + 340 240 240 120 260 + 220 120 120 0 140 + 350 250 250 130 270 +/* GU.C..GC */ + 490 390 390 480 390 + 340 240 240 330 240 + 340 240 240 330 240 + 300 200 200 290 200 + 340 240 240 330 240 +/* GU.G..GC */ + 490 270 390 390 390 + 220 0 120 120 120 + 390 170 290 290 290 + 340 120 240 240 240 + 350 130 250 250 250 +/* GU.U..GC */ + 490 460 390 460 290 + 300 270 200 270 100 + 340 310 240 310 140 + 300 270 200 270 100 + 240 210 140 210 40 +/* GU.@..CG */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* GU.A..CG */ + 490 390 390 270 410 + 340 240 240 120 260 + 340 240 240 120 260 + 220 120 120 0 140 + 410 310 310 190 330 +/* GU.C..CG */ + 490 390 390 480 390 + 340 240 240 330 240 + 340 240 240 330 240 + 340 240 240 330 240 + 340 240 240 330 240 +/* GU.G..CG */ + 490 270 390 390 390 + 220 0 120 120 120 + 430 210 330 330 330 + 340 120 240 240 240 + 410 190 310 310 310 +/* GU.U..CG */ + 490 460 390 460 290 + 360 330 260 330 160 + 340 310 240 310 140 + 340 310 240 310 140 + 240 210 140 210 40 +/* GU.@..GU */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* GU.A..GU */ + 490 390 390 270 410 + 340 240 240 120 260 + 340 240 240 120 260 + 220 120 120 0 140 + 410 310 310 190 330 +/* GU.C..GU */ + 490 390 390 480 390 + 340 240 240 330 240 + 340 240 240 330 240 + 340 240 240 330 240 + 340 240 240 330 240 +/* GU.G..GU */ + 490 270 390 390 390 + 220 0 120 120 120 + 430 210 330 330 330 + 340 120 240 240 240 + 410 190 310 310 310 +/* GU.U..GU */ + 490 460 390 460 290 + 360 330 260 330 160 + 340 310 240 310 140 + 340 310 240 310 140 + 240 210 140 210 40 +/* GU.@..UG */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* GU.A..UG */ + 490 390 390 270 410 + 390 290 290 170 310 + 390 290 290 170 310 + 270 170 170 50 190 + 510 410 410 290 430 +/* GU.C..UG */ + 490 390 390 480 390 + 390 290 290 380 290 + 390 290 290 380 290 + 450 350 350 440 350 + 390 290 290 380 290 +/* GU.G..UG */ + 490 270 390 390 390 + 270 50 170 170 170 + 510 290 410 410 410 + 390 170 290 290 290 + 510 290 410 410 410 +/* GU.U..UG */ + 490 460 390 460 290 + 450 420 350 420 250 + 390 360 290 360 190 + 450 420 350 420 250 + 290 260 190 260 90 +/* GU.@..AU */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* GU.A..AU */ + 490 390 390 270 410 + 390 290 290 170 310 + 390 290 290 170 310 + 270 170 170 50 190 + 460 360 360 240 380 +/* GU.C..AU */ + 490 390 390 480 390 + 390 290 290 380 290 + 390 290 290 380 290 + 440 340 340 430 340 + 390 290 290 380 290 +/* GU.G..AU */ + 490 270 390 390 390 + 270 50 170 170 170 + 470 250 370 370 370 + 390 170 290 290 290 + 460 240 360 360 360 +/* GU.U..AU */ + 490 460 390 460 290 + 440 410 340 410 240 + 390 360 290 360 190 + 440 410 340 410 240 + 290 260 190 260 90 +/* GU.@..UA */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* GU.A..UA */ + 490 390 390 270 410 + 390 290 290 170 310 + 390 290 290 170 310 + 270 170 170 50 190 + 510 410 410 290 430 +/* GU.C..UA */ + 490 390 390 480 390 + 390 290 290 380 290 + 390 290 290 380 290 + 450 350 350 440 350 + 390 290 290 380 290 +/* GU.G..UA */ + 490 270 390 390 390 + 270 50 170 170 170 + 510 290 410 410 410 + 390 170 290 290 290 + 510 290 410 410 410 +/* GU.U..UA */ + 490 460 390 460 290 + 450 420 350 420 250 + 390 360 290 360 190 + 450 420 350 420 250 + 290 260 190 260 90 +/* GU.@.. @ */ + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* GU.A.. @ */ + 440 340 340 220 360 + 440 340 340 220 360 + 440 340 340 220 360 + 440 340 340 220 360 + 440 340 340 220 360 +/* GU.C.. @ */ + 440 340 340 430 340 + 440 340 340 430 340 + 440 340 340 430 340 + 440 340 340 430 340 + 440 340 340 430 340 +/* GU.G.. @ */ + 440 220 340 340 340 + 440 220 340 340 340 + 440 220 340 340 340 + 440 220 340 340 340 + 440 220 340 340 340 +/* GU.U.. @ */ + 440 410 340 410 240 + 440 410 340 410 240 + 440 410 340 410 240 + 440 410 340 410 240 + 440 410 340 410 240 +/* UG.@..GC */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* UG.A..GC */ + 490 440 440 320 500 + 340 290 290 170 350 + 340 290 290 170 350 + 220 170 170 50 230 + 350 300 300 180 360 +/* UG.C..GC */ + 490 440 440 560 440 + 340 290 290 410 290 + 340 290 290 410 290 + 300 250 250 370 250 + 340 290 290 410 290 +/* UG.G..GC */ + 490 320 500 440 500 + 220 50 230 170 230 + 390 220 400 340 400 + 340 170 350 290 350 + 350 180 360 300 360 +/* UG.U..GC */ + 490 560 440 560 340 + 300 370 250 370 150 + 340 410 290 410 190 + 300 370 250 370 150 + 240 310 190 310 90 +/* UG.@..CG */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* UG.A..CG */ + 490 440 440 320 500 + 340 290 290 170 350 + 340 290 290 170 350 + 220 170 170 50 230 + 410 360 360 240 420 +/* UG.C..CG */ + 490 440 440 560 440 + 340 290 290 410 290 + 340 290 290 410 290 + 340 290 290 410 290 + 340 290 290 410 290 +/* UG.G..CG */ + 490 320 500 440 500 + 220 50 230 170 230 + 430 260 440 380 440 + 340 170 350 290 350 + 410 240 420 360 420 +/* UG.U..CG */ + 490 560 440 560 340 + 360 430 310 430 210 + 340 410 290 410 190 + 340 410 290 410 190 + 240 310 190 310 90 +/* UG.@..GU */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* UG.A..GU */ + 490 440 440 320 500 + 340 290 290 170 350 + 340 290 290 170 350 + 220 170 170 50 230 + 410 360 360 240 420 +/* UG.C..GU */ + 490 440 440 560 440 + 340 290 290 410 290 + 340 290 290 410 290 + 340 290 290 410 290 + 340 290 290 410 290 +/* UG.G..GU */ + 490 320 500 440 500 + 220 50 230 170 230 + 430 260 440 380 440 + 340 170 350 290 350 + 410 240 420 360 420 +/* UG.U..GU */ + 490 560 440 560 340 + 360 430 310 430 210 + 340 410 290 410 190 + 340 410 290 410 190 + 240 310 190 310 90 +/* UG.@..UG */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* UG.A..UG */ + 490 440 440 320 500 + 390 340 340 220 400 + 390 340 340 220 400 + 270 220 220 100 280 + 510 460 460 340 520 +/* UG.C..UG */ + 490 440 440 560 440 + 390 340 340 460 340 + 390 340 340 460 340 + 450 400 400 520 400 + 390 340 340 460 340 +/* UG.G..UG */ + 490 320 500 440 500 + 270 100 280 220 280 + 510 340 520 460 520 + 390 220 400 340 400 + 510 340 520 460 520 +/* UG.U..UG */ + 490 560 440 560 340 + 450 520 400 520 300 + 390 460 340 460 240 + 450 520 400 520 300 + 290 360 240 360 140 +/* UG.@..AU */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* UG.A..AU */ + 490 440 440 320 500 + 390 340 340 220 400 + 390 340 340 220 400 + 270 220 220 100 280 + 460 410 410 290 470 +/* UG.C..AU */ + 490 440 440 560 440 + 390 340 340 460 340 + 390 340 340 460 340 + 440 390 390 510 390 + 390 340 340 460 340 +/* UG.G..AU */ + 490 320 500 440 500 + 270 100 280 220 280 + 470 300 480 420 480 + 390 220 400 340 400 + 460 290 470 410 470 +/* UG.U..AU */ + 490 560 440 560 340 + 440 510 390 510 290 + 390 460 340 460 240 + 440 510 390 510 290 + 290 360 240 360 140 +/* UG.@..UA */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* UG.A..UA */ + 490 440 440 320 500 + 390 340 340 220 400 + 390 340 340 220 400 + 270 220 220 100 280 + 510 460 460 340 520 +/* UG.C..UA */ + 490 440 440 560 440 + 390 340 340 460 340 + 390 340 340 460 340 + 450 400 400 520 400 + 390 340 340 460 340 +/* UG.G..UA */ + 490 320 500 440 500 + 270 100 280 220 280 + 510 340 520 460 520 + 390 220 400 340 400 + 510 340 520 460 520 +/* UG.U..UA */ + 490 560 440 560 340 + 450 520 400 520 300 + 390 460 340 460 240 + 450 520 400 520 300 + 290 360 240 360 140 +/* UG.@.. @ */ + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* UG.A.. @ */ + 440 390 390 270 450 + 440 390 390 270 450 + 440 390 390 270 450 + 440 390 390 270 450 + 440 390 390 270 450 +/* UG.C.. @ */ + 440 390 390 510 390 + 440 390 390 510 390 + 440 390 390 510 390 + 440 390 390 510 390 + 440 390 390 510 390 +/* UG.G.. @ */ + 440 270 450 390 450 + 440 270 450 390 450 + 440 270 450 390 450 + 440 270 450 390 450 + 440 270 450 390 450 +/* UG.U.. @ */ + 440 510 390 510 290 + 440 510 390 510 290 + 440 510 390 510 290 + 440 510 390 510 290 + 440 510 390 510 290 +/* AU.@..GC */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* AU.A..GC */ + 490 440 440 320 490 + 340 290 290 170 340 + 340 290 290 170 340 + 220 170 170 50 220 + 350 300 300 180 350 +/* AU.C..GC */ + 490 440 440 520 440 + 340 290 290 370 290 + 340 290 290 370 290 + 300 250 250 330 250 + 340 290 290 370 290 +/* AU.G..GC */ + 490 320 490 440 490 + 220 50 220 170 220 + 390 220 390 340 390 + 340 170 340 290 340 + 350 180 350 300 350 +/* AU.U..GC */ + 490 510 440 510 340 + 300 320 250 320 150 + 340 360 290 360 190 + 300 320 250 320 150 + 240 260 190 260 90 +/* AU.@..CG */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* AU.A..CG */ + 490 440 440 320 490 + 340 290 290 170 340 + 340 290 290 170 340 + 220 170 170 50 220 + 410 360 360 240 410 +/* AU.C..CG */ + 490 440 440 520 440 + 340 290 290 370 290 + 340 290 290 370 290 + 340 290 290 370 290 + 340 290 290 370 290 +/* AU.G..CG */ + 490 320 490 440 490 + 220 50 220 170 220 + 430 260 430 380 430 + 340 170 340 290 340 + 410 240 410 360 410 +/* AU.U..CG */ + 490 510 440 510 340 + 360 380 310 380 210 + 340 360 290 360 190 + 340 360 290 360 190 + 240 260 190 260 90 +/* AU.@..GU */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* AU.A..GU */ + 490 440 440 320 490 + 340 290 290 170 340 + 340 290 290 170 340 + 220 170 170 50 220 + 410 360 360 240 410 +/* AU.C..GU */ + 490 440 440 520 440 + 340 290 290 370 290 + 340 290 290 370 290 + 340 290 290 370 290 + 340 290 290 370 290 +/* AU.G..GU */ + 490 320 490 440 490 + 220 50 220 170 220 + 430 260 430 380 430 + 340 170 340 290 340 + 410 240 410 360 410 +/* AU.U..GU */ + 490 510 440 510 340 + 360 380 310 380 210 + 340 360 290 360 190 + 340 360 290 360 190 + 240 260 190 260 90 +/* AU.@..UG */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* AU.A..UG */ + 490 440 440 320 490 + 390 340 340 220 390 + 390 340 340 220 390 + 270 220 220 100 270 + 510 460 460 340 510 +/* AU.C..UG */ + 490 440 440 520 440 + 390 340 340 420 340 + 390 340 340 420 340 + 450 400 400 480 400 + 390 340 340 420 340 +/* AU.G..UG */ + 490 320 490 440 490 + 270 100 270 220 270 + 510 340 510 460 510 + 390 220 390 340 390 + 510 340 510 460 510 +/* AU.U..UG */ + 490 510 440 510 340 + 450 470 400 470 300 + 390 410 340 410 240 + 450 470 400 470 300 + 290 310 240 310 140 +/* AU.@..AU */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* AU.A..AU */ + 490 440 440 320 490 + 390 340 340 220 390 + 390 340 340 220 390 + 270 220 220 100 270 + 460 410 410 290 460 +/* AU.C..AU */ + 490 440 440 520 440 + 390 340 340 420 340 + 390 340 340 420 340 + 440 390 390 470 390 + 390 340 340 420 340 +/* AU.G..AU */ + 490 320 490 440 490 + 270 100 270 220 270 + 470 300 470 420 470 + 390 220 390 340 390 + 460 290 460 410 460 +/* AU.U..AU */ + 490 510 440 510 340 + 440 460 390 460 290 + 390 410 340 410 240 + 440 460 390 460 290 + 290 310 240 310 140 +/* AU.@..UA */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* AU.A..UA */ + 490 440 440 320 490 + 390 340 340 220 390 + 390 340 340 220 390 + 270 220 220 100 270 + 510 460 460 340 510 +/* AU.C..UA */ + 490 440 440 520 440 + 390 340 340 420 340 + 390 340 340 420 340 + 450 400 400 480 400 + 390 340 340 420 340 +/* AU.G..UA */ + 490 320 490 440 490 + 270 100 270 220 270 + 510 340 510 460 510 + 390 220 390 340 390 + 510 340 510 460 510 +/* AU.U..UA */ + 490 510 440 510 340 + 450 470 400 470 300 + 390 410 340 410 240 + 450 470 400 470 300 + 290 310 240 310 140 +/* AU.@.. @ */ + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* AU.A.. @ */ + 440 390 390 270 440 + 440 390 390 270 440 + 440 390 390 270 440 + 440 390 390 270 440 + 440 390 390 270 440 +/* AU.C.. @ */ + 440 390 390 470 390 + 440 390 390 470 390 + 440 390 390 470 390 + 440 390 390 470 390 + 440 390 390 470 390 +/* AU.G.. @ */ + 440 270 440 390 440 + 440 270 440 390 440 + 440 270 440 390 440 + 440 270 440 390 440 + 440 270 440 390 440 +/* AU.U.. @ */ + 440 460 390 460 290 + 440 460 390 460 290 + 440 460 390 460 290 + 440 460 390 460 290 + 440 460 390 460 290 +/* UA.@..GC */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* UA.A..GC */ + 490 440 440 320 500 + 340 290 290 170 350 + 340 290 290 170 350 + 220 170 170 50 230 + 350 300 300 180 360 +/* UA.C..GC */ + 490 440 440 560 440 + 340 290 290 410 290 + 340 290 290 410 290 + 300 250 250 370 250 + 340 290 290 410 290 +/* UA.G..GC */ + 490 320 500 440 500 + 220 50 230 170 230 + 390 220 400 340 400 + 340 170 350 290 350 + 350 180 360 300 360 +/* UA.U..GC */ + 490 560 440 560 340 + 300 370 250 370 150 + 340 410 290 410 190 + 300 370 250 370 150 + 240 310 190 310 90 +/* UA.@..CG */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* UA.A..CG */ + 490 440 440 320 500 + 340 290 290 170 350 + 340 290 290 170 350 + 220 170 170 50 230 + 410 360 360 240 420 +/* UA.C..CG */ + 490 440 440 560 440 + 340 290 290 410 290 + 340 290 290 410 290 + 340 290 290 410 290 + 340 290 290 410 290 +/* UA.G..CG */ + 490 320 500 440 500 + 220 50 230 170 230 + 430 260 440 380 440 + 340 170 350 290 350 + 410 240 420 360 420 +/* UA.U..CG */ + 490 560 440 560 340 + 360 430 310 430 210 + 340 410 290 410 190 + 340 410 290 410 190 + 240 310 190 310 90 +/* UA.@..GU */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* UA.A..GU */ + 490 440 440 320 500 + 340 290 290 170 350 + 340 290 290 170 350 + 220 170 170 50 230 + 410 360 360 240 420 +/* UA.C..GU */ + 490 440 440 560 440 + 340 290 290 410 290 + 340 290 290 410 290 + 340 290 290 410 290 + 340 290 290 410 290 +/* UA.G..GU */ + 490 320 500 440 500 + 220 50 230 170 230 + 430 260 440 380 440 + 340 170 350 290 350 + 410 240 420 360 420 +/* UA.U..GU */ + 490 560 440 560 340 + 360 430 310 430 210 + 340 410 290 410 190 + 340 410 290 410 190 + 240 310 190 310 90 +/* UA.@..UG */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* UA.A..UG */ + 490 440 440 320 500 + 390 340 340 220 400 + 390 340 340 220 400 + 270 220 220 100 280 + 510 460 460 340 520 +/* UA.C..UG */ + 490 440 440 560 440 + 390 340 340 460 340 + 390 340 340 460 340 + 450 400 400 520 400 + 390 340 340 460 340 +/* UA.G..UG */ + 490 320 500 440 500 + 270 100 280 220 280 + 510 340 520 460 520 + 390 220 400 340 400 + 510 340 520 460 520 +/* UA.U..UG */ + 490 560 440 560 340 + 450 520 400 520 300 + 390 460 340 460 240 + 450 520 400 520 300 + 290 360 240 360 140 +/* UA.@..AU */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* UA.A..AU */ + 490 440 440 320 500 + 390 340 340 220 400 + 390 340 340 220 400 + 270 220 220 100 280 + 460 410 410 290 470 +/* UA.C..AU */ + 490 440 440 560 440 + 390 340 340 460 340 + 390 340 340 460 340 + 440 390 390 510 390 + 390 340 340 460 340 +/* UA.G..AU */ + 490 320 500 440 500 + 270 100 280 220 280 + 470 300 480 420 480 + 390 220 400 340 400 + 460 290 470 410 470 +/* UA.U..AU */ + 490 560 440 560 340 + 440 510 390 510 290 + 390 460 340 460 240 + 440 510 390 510 290 + 290 360 240 360 140 +/* UA.@..UA */ + 540 540 540 540 540 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* UA.A..UA */ + 490 440 440 320 500 + 390 340 340 220 400 + 390 340 340 220 400 + 270 220 220 100 280 + 510 460 460 340 520 +/* UA.C..UA */ + 490 440 440 560 440 + 390 340 340 460 340 + 390 340 340 460 340 + 450 400 400 520 400 + 390 340 340 460 340 +/* UA.G..UA */ + 490 320 500 440 500 + 270 100 280 220 280 + 510 340 520 460 520 + 390 220 400 340 400 + 510 340 520 460 520 +/* UA.U..UA */ + 490 560 440 560 340 + 450 520 400 520 300 + 390 460 340 460 240 + 450 520 400 520 300 + 290 360 240 360 140 +/* UA.@.. @ */ + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 + 490 490 490 490 490 +/* UA.A.. @ */ + 440 390 390 270 450 + 440 390 390 270 450 + 440 390 390 270 450 + 440 390 390 270 450 + 440 390 390 270 450 +/* UA.C.. @ */ + 440 390 390 510 390 + 440 390 390 510 390 + 440 390 390 510 390 + 440 390 390 510 390 + 440 390 390 510 390 +/* UA.G.. @ */ + 440 270 450 390 450 + 440 270 450 390 450 + 440 270 450 390 450 + 440 270 450 390 450 + 440 270 450 390 450 +/* UA.U.. @ */ + 440 510 390 510 290 + 440 510 390 510 290 + 440 510 390 510 290 + 440 510 390 510 290 + 440 510 390 510 290 +/* @.@..GC */ + 490 490 490 490 490 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 +/* @.A..GC */ + 490 490 490 490 490 + 340 340 340 340 340 + 340 340 340 340 340 + 220 220 220 220 220 + 350 350 350 350 350 +/* @.C..GC */ + 490 490 490 490 490 + 340 340 340 340 340 + 340 340 340 340 340 + 300 300 300 300 300 + 340 340 340 340 340 +/* @.G..GC */ + 490 490 490 490 490 + 220 220 220 220 220 + 390 390 390 390 390 + 340 340 340 340 340 + 350 350 350 350 350 +/* @.U..GC */ + 490 490 490 490 490 + 300 300 300 300 300 + 340 340 340 340 340 + 300 300 300 300 300 + 240 240 240 240 240 +/* @.@..CG */ + 490 490 490 490 490 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 +/* @.A..CG */ + 490 490 490 490 490 + 340 340 340 340 340 + 340 340 340 340 340 + 220 220 220 220 220 + 410 410 410 410 410 +/* @.C..CG */ + 490 490 490 490 490 + 340 340 340 340 340 + 340 340 340 340 340 + 340 340 340 340 340 + 340 340 340 340 340 +/* @.G..CG */ + 490 490 490 490 490 + 220 220 220 220 220 + 430 430 430 430 430 + 340 340 340 340 340 + 410 410 410 410 410 +/* @.U..CG */ + 490 490 490 490 490 + 360 360 360 360 360 + 340 340 340 340 340 + 340 340 340 340 340 + 240 240 240 240 240 +/* @.@..GU */ + 490 490 490 490 490 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 +/* @.A..GU */ + 490 490 490 490 490 + 340 340 340 340 340 + 340 340 340 340 340 + 220 220 220 220 220 + 410 410 410 410 410 +/* @.C..GU */ + 490 490 490 490 490 + 340 340 340 340 340 + 340 340 340 340 340 + 340 340 340 340 340 + 340 340 340 340 340 +/* @.G..GU */ + 490 490 490 490 490 + 220 220 220 220 220 + 430 430 430 430 430 + 340 340 340 340 340 + 410 410 410 410 410 +/* @.U..GU */ + 490 490 490 490 490 + 360 360 360 360 360 + 340 340 340 340 340 + 340 340 340 340 340 + 240 240 240 240 240 +/* @.@..UG */ + 490 490 490 490 490 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 +/* @.A..UG */ + 490 490 490 490 490 + 390 390 390 390 390 + 390 390 390 390 390 + 270 270 270 270 270 + 510 510 510 510 510 +/* @.C..UG */ + 490 490 490 490 490 + 390 390 390 390 390 + 390 390 390 390 390 + 450 450 450 450 450 + 390 390 390 390 390 +/* @.G..UG */ + 490 490 490 490 490 + 270 270 270 270 270 + 510 510 510 510 510 + 390 390 390 390 390 + 510 510 510 510 510 +/* @.U..UG */ + 490 490 490 490 490 + 450 450 450 450 450 + 390 390 390 390 390 + 450 450 450 450 450 + 290 290 290 290 290 +/* @.@..AU */ + 490 490 490 490 490 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 +/* @.A..AU */ + 490 490 490 490 490 + 390 390 390 390 390 + 390 390 390 390 390 + 270 270 270 270 270 + 460 460 460 460 460 +/* @.C..AU */ + 490 490 490 490 490 + 390 390 390 390 390 + 390 390 390 390 390 + 440 440 440 440 440 + 390 390 390 390 390 +/* @.G..AU */ + 490 490 490 490 490 + 270 270 270 270 270 + 470 470 470 470 470 + 390 390 390 390 390 + 460 460 460 460 460 +/* @.U..AU */ + 490 490 490 490 490 + 440 440 440 440 440 + 390 390 390 390 390 + 440 440 440 440 440 + 290 290 290 290 290 +/* @.@..UA */ + 490 490 490 490 490 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 +/* @.A..UA */ + 490 490 490 490 490 + 390 390 390 390 390 + 390 390 390 390 390 + 270 270 270 270 270 + 510 510 510 510 510 +/* @.C..UA */ + 490 490 490 490 490 + 390 390 390 390 390 + 390 390 390 390 390 + 450 450 450 450 450 + 390 390 390 390 390 +/* @.G..UA */ + 490 490 490 490 490 + 270 270 270 270 270 + 510 510 510 510 510 + 390 390 390 390 390 + 510 510 510 510 510 +/* @.U..UA */ + 490 490 490 490 490 + 450 450 450 450 450 + 390 390 390 390 390 + 450 450 450 450 450 + 290 290 290 290 290 +/* @.@.. @ */ + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 +/* @.A.. @ */ + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 +/* @.C.. @ */ + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 +/* @.G.. @ */ + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 +/* @.U.. @ */ + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + 440 440 440 440 440 + +# int21_enthalpies +/* CG.@..CG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* CG.A..CG */ + DEF -1029 -949 -1029 -1029 + -1079 -2058 -1978 -2058 -2058 + -569 -1548 -1468 -1548 -1548 + -989 -1968 -1888 -1968 -1968 + -859 -1838 -1758 -1838 -1838 +/* CG.C..CG */ + DEF -519 -449 -519 -669 + -999 -1468 -1398 -1468 -1618 + -499 -968 -898 -968 -1118 + -989 -1458 -1388 -1458 -1608 + -789 -1258 -1188 -1258 -1408 +/* CG.G..CG */ + DEF -939 -939 -939 -939 + -1079 -1968 -1968 -1968 -1968 + -569 -1458 -1458 -1458 -1458 + -989 -1878 -1878 -1878 -1878 + -859 -1748 -1748 -1748 -1748 +/* CG.U..CG */ + DEF -809 -739 -809 -859 + -1079 -1838 -1768 -1838 -1888 + -719 -1478 -1408 -1478 -1528 + -989 -1748 -1678 -1748 -1798 + -909 -1668 -1598 -1668 -1718 +/* CG.@..GC */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* CG.A..GC */ + DEF -1029 -949 -1029 -1029 + -569 -1548 -1468 -1548 -1548 + -769 -1748 -1668 -1748 -1748 + -759 -1738 -1658 -1738 -1738 + -549 -1528 -1448 -1528 -1528 +/* CG.C..GC */ + DEF -519 -449 -519 -669 + -929 -1398 -1328 -1398 -1548 + -359 -828 -758 -828 -978 + -789 -1258 -1188 -1258 -1408 + -549 -1018 -948 -1018 -1168 +/* CG.G..GC */ + DEF -939 -939 -939 -939 + -609 -1498 -1498 -1498 -1498 + -359 -1248 -1248 -1248 -1248 + -669 -1558 -1558 -1558 -1558 + -549 -1438 -1438 -1438 -1438 +/* CG.U..GC */ + DEF -809 -739 -809 -859 + -929 -1688 -1618 -1688 -1738 + -439 -1198 -1128 -1198 -1248 + -789 -1548 -1478 -1548 -1598 + -619 -1378 -1308 -1378 -1428 +/* CG.@..GU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* CG.A..GU */ + DEF -1029 -949 -1029 -1029 + -479 -1458 -1378 -1458 -1458 + -309 -1288 -1208 -1288 -1288 + -389 -1368 -1288 -1368 -1368 + -379 -1358 -1278 -1358 -1358 +/* CG.C..GU */ + DEF -519 -449 -519 -669 + -649 -1118 -1048 -1118 -1268 + -289 -758 -688 -758 -908 + -739 -1208 -1138 -1208 -1358 + -379 -848 -778 -848 -998 +/* CG.G..GU */ + DEF -939 -939 -939 -939 + -649 -1538 -1538 -1538 -1538 + -289 -1178 -1178 -1178 -1178 + -739 -1628 -1628 -1628 -1628 + -379 -1268 -1268 -1268 -1268 +/* CG.U..GU */ + DEF -809 -739 -809 -859 + -649 -1408 -1338 -1408 -1458 + -289 -1048 -978 -1048 -1098 + -739 -1498 -1428 -1498 -1548 + -379 -1138 -1068 -1138 -1188 +/* CG.@..UG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* CG.A..UG */ + DEF -1029 -949 -1029 -1029 + -769 -1748 -1668 -1748 -1748 + -529 -1508 -1428 -1508 -1508 + -709 -1688 -1608 -1688 -1688 + -599 -1578 -1498 -1578 -1578 +/* CG.C..UG */ + DEF -519 -449 -519 -669 + -839 -1308 -1238 -1308 -1458 + -529 -998 -928 -998 -1148 + -859 -1328 -1258 -1328 -1478 + -489 -958 -888 -958 -1108 +/* CG.G..UG */ + DEF -939 -939 -939 -939 + -1009 -1898 -1898 -1898 -1898 + -409 -1298 -1298 -1298 -1298 + -969 -1858 -1858 -1858 -1858 + -599 -1488 -1488 -1488 -1488 +/* CG.U..UG */ + DEF -809 -739 -809 -859 + -859 -1618 -1548 -1618 -1668 + -529 -1288 -1218 -1288 -1338 + -859 -1618 -1548 -1618 -1668 + -409 -1168 -1098 -1168 -1218 +/* CG.@..AU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* CG.A..AU */ + DEF -1029 -949 -1029 -1029 + -479 -1458 -1378 -1458 -1458 + -309 -1288 -1208 -1288 -1288 + -389 -1368 -1288 -1368 -1368 + -379 -1358 -1278 -1358 -1358 +/* CG.C..AU */ + DEF -519 -449 -519 -669 + -649 -1118 -1048 -1118 -1268 + -289 -758 -688 -758 -908 + -739 -1208 -1138 -1208 -1358 + -379 -848 -778 -848 -998 +/* CG.G..AU */ + DEF -939 -939 -939 -939 + -649 -1538 -1538 -1538 -1538 + -289 -1178 -1178 -1178 -1178 + -739 -1628 -1628 -1628 -1628 + -379 -1268 -1268 -1268 -1268 +/* CG.U..AU */ + DEF -809 -739 -809 -859 + -649 -1408 -1338 -1408 -1458 + -289 -1048 -978 -1048 -1098 + -739 -1498 -1428 -1498 -1548 + -379 -1138 -1068 -1138 -1188 +/* CG.@..UA */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* CG.A..UA */ + DEF -1029 -949 -1029 -1029 + -449 -1428 -1348 -1428 -1428 + -479 -1458 -1378 -1458 -1458 + -429 -1408 -1328 -1408 -1408 + -329 -1308 -1228 -1308 -1308 +/* CG.C..UA */ + DEF -519 -449 -519 -669 + -679 -1148 -1078 -1148 -1298 + -559 -1028 -958 -1028 -1178 + -729 -1198 -1128 -1198 -1348 + -189 -658 -588 -658 -808 +/* CG.G..UA */ + DEF -939 -939 -939 -939 + -939 -1828 -1828 -1828 -1828 + -249 -1138 -1138 -1138 -1138 + -939 -1828 -1828 -1828 -1828 + -329 -1218 -1218 -1218 -1218 +/* CG.U..UA */ + DEF -809 -739 -809 -859 + -639 -1398 -1328 -1398 -1448 + -229 -988 -918 -988 -1038 + -729 -1488 -1418 -1488 -1538 + -190 -949 -879 -949 -999 +/* CG.@.. @ */ + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* CG.A.. @ */ + -100 -1079 -999 -1079 -1079 + -100 -1079 -999 -1079 -1079 + -100 -1079 -999 -1079 -1079 + -100 -1079 -999 -1079 -1079 + -100 -1079 -999 -1079 -1079 +/* CG.C.. @ */ + -100 -569 -499 -569 -719 + -100 -569 -499 -569 -719 + -100 -569 -499 -569 -719 + -100 -569 -499 -569 -719 + -100 -569 -499 -569 -719 +/* CG.G.. @ */ + -100 -989 -989 -989 -989 + -100 -989 -989 -989 -989 + -100 -989 -989 -989 -989 + -100 -989 -989 -989 -989 + -100 -989 -989 -989 -989 +/* CG.U.. @ */ + -100 -859 -789 -859 -909 + -100 -859 -789 -859 -909 + -100 -859 -789 -859 -909 + -100 -859 -789 -859 -909 + -100 -859 -789 -859 -909 +/* GC.@..CG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GC.A..CG */ + DEF -519 -879 -559 -879 + -1079 -1548 -1908 -1588 -1908 + -569 -1038 -1398 -1078 -1398 + -989 -1458 -1818 -1498 -1818 + -859 -1328 -1688 -1368 -1688 +/* GC.C..CG */ + DEF -719 -309 -309 -389 + -999 -1668 -1258 -1258 -1338 + -499 -1168 -758 -758 -838 + -989 -1658 -1248 -1248 -1328 + -789 -1458 -1048 -1048 -1128 +/* GC.G..CG */ + DEF -709 -739 -619 -739 + -1079 -1738 -1768 -1648 -1768 + -569 -1228 -1258 -1138 -1258 + -989 -1648 -1678 -1558 -1678 + -859 -1518 -1548 -1428 -1548 +/* GC.U..CG */ + DEF -499 -499 -499 -569 + -1079 -1528 -1528 -1528 -1598 + -719 -1168 -1168 -1168 -1238 + -989 -1438 -1438 -1438 -1508 + -909 -1358 -1358 -1358 -1428 +/* GC.@..GC */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GC.A..GC */ + DEF -519 -879 -559 -879 + -569 -1038 -1398 -1078 -1398 + -769 -1238 -1598 -1278 -1598 + -759 -1228 -1588 -1268 -1588 + -549 -1018 -1378 -1058 -1378 +/* GC.C..GC */ + DEF -719 -309 -309 -389 + -929 -1598 -1188 -1188 -1268 + -359 -1028 -618 -618 -698 + -789 -1458 -1048 -1048 -1128 + -549 -1218 -808 -808 -888 +/* GC.G..GC */ + DEF -709 -739 -619 -739 + -609 -1268 -1298 -1178 -1298 + -359 -1018 -1048 -928 -1048 + -669 -1328 -1358 -1238 -1358 + -549 -1208 -1238 -1118 -1238 +/* GC.U..GC */ + DEF -499 -499 -499 -569 + -929 -1378 -1378 -1378 -1448 + -439 -888 -888 -888 -958 + -789 -1238 -1238 -1238 -1308 + -619 -1068 -1068 -1068 -1138 +/* GC.@..GU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GC.A..GU */ + DEF -519 -879 -559 -879 + -479 -948 -1308 -988 -1308 + -309 -778 -1138 -818 -1138 + -389 -858 -1218 -898 -1218 + -379 -848 -1208 -888 -1208 +/* GC.C..GU */ + DEF -719 -309 -309 -389 + -649 -1318 -908 -908 -988 + -289 -958 -548 -548 -628 + -739 -1408 -998 -998 -1078 + -379 -1048 -638 -638 -718 +/* GC.G..GU */ + DEF -709 -739 -619 -739 + -649 -1308 -1338 -1218 -1338 + -289 -948 -978 -858 -978 + -739 -1398 -1428 -1308 -1428 + -379 -1038 -1068 -948 -1068 +/* GC.U..GU */ + DEF -499 -499 -499 -569 + -649 -1098 -1098 -1098 -1168 + -289 -738 -738 -738 -808 + -739 -1188 -1188 -1188 -1258 + -379 -828 -828 -828 -898 +/* GC.@..UG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GC.A..UG */ + DEF -519 -879 -559 -879 + -769 -1238 -1598 -1278 -1598 + -529 -998 -1358 -1038 -1358 + -709 -1178 -1538 -1218 -1538 + -599 -1068 -1428 -1108 -1428 +/* GC.C..UG */ + DEF -719 -309 -309 -389 + -839 -1508 -1098 -1098 -1178 + -529 -1198 -788 -788 -868 + -859 -1528 -1118 -1118 -1198 + -489 -1158 -748 -748 -828 +/* GC.G..UG */ + DEF -709 -739 -619 -739 + -1009 -1668 -1698 -1578 -1698 + -409 -1068 -1098 -978 -1098 + -969 -1628 -1658 -1538 -1658 + -599 -1258 -1288 -1168 -1288 +/* GC.U..UG */ + DEF -499 -499 -499 -569 + -859 -1308 -1308 -1308 -1378 + -529 -978 -978 -978 -1048 + -859 -1308 -1308 -1308 -1378 + -409 -858 -858 -858 -928 +/* GC.@..AU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GC.A..AU */ + DEF -519 -879 -559 -879 + -479 -948 -1308 -988 -1308 + -309 -778 -1138 -818 -1138 + -389 -858 -1218 -898 -1218 + -379 -848 -1208 -888 -1208 +/* GC.C..AU */ + DEF -719 -309 -309 -389 + -649 -1318 -908 -908 -988 + -289 -958 -548 -548 -628 + -739 -1408 -998 -998 -1078 + -379 -1048 -638 -638 -718 +/* GC.G..AU */ + DEF -709 -739 -619 -739 + -649 -1308 -1338 -1218 -1338 + -289 -948 -978 -858 -978 + -739 -1398 -1428 -1308 -1428 + -379 -1038 -1068 -948 -1068 +/* GC.U..AU */ + DEF -499 -499 -499 -569 + -649 -1098 -1098 -1098 -1168 + -289 -738 -738 -738 -808 + -739 -1188 -1188 -1188 -1258 + -379 -828 -828 -828 -898 +/* GC.@..UA */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GC.A..UA */ + DEF -519 -879 -559 -879 + -449 -918 -1278 -958 -1278 + -479 -948 -1308 -988 -1308 + -429 -898 -1258 -938 -1258 + -329 -798 -1158 -838 -1158 +/* GC.C..UA */ + DEF -719 -309 -309 -389 + -679 -1348 -938 -938 -1018 + -559 -1228 -818 -818 -898 + -729 -1398 -988 -988 -1068 + -189 -858 -448 -448 -528 +/* GC.G..UA */ + DEF -709 -739 -619 -739 + -939 -1598 -1628 -1508 -1628 + -249 -908 -938 -818 -938 + -939 -1598 -1628 -1508 -1628 + -329 -988 -1018 -898 -1018 +/* GC.U..UA */ + DEF -499 -499 -499 -569 + -639 -1088 -1088 -1088 -1158 + -229 -678 -678 -678 -748 + -729 -1178 -1178 -1178 -1248 + -190 -639 -639 -639 -709 +/* GC.@.. @ */ + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GC.A.. @ */ + -100 -569 -929 -609 -929 + -100 -569 -929 -609 -929 + -100 -569 -929 -609 -929 + -100 -569 -929 -609 -929 + -100 -569 -929 -609 -929 +/* GC.C.. @ */ + -100 -769 -359 -359 -439 + -100 -769 -359 -359 -439 + -100 -769 -359 -359 -439 + -100 -769 -359 -359 -439 + -100 -769 -359 -359 -439 +/* GC.G.. @ */ + -100 -759 -789 -669 -789 + -100 -759 -789 -669 -789 + -100 -759 -789 -669 -789 + -100 -759 -789 -669 -789 + -100 -759 -789 -669 -789 +/* GC.U.. @ */ + -100 -549 -549 -549 -619 + -100 -549 -549 -549 -619 + -100 -549 -549 -549 -619 + -100 -549 -549 -549 -619 + -100 -549 -549 -549 -619 +/* GU.@..CG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GU.A..CG */ + DEF -429 -599 -599 -599 + -1079 -1458 -1628 -1628 -1628 + -569 -948 -1118 -1118 -1118 + -989 -1368 -1538 -1538 -1538 + -859 -1238 -1408 -1408 -1408 +/* GU.C..CG */ + DEF -259 -239 -239 -239 + -999 -1208 -1188 -1188 -1188 + -499 -708 -688 -688 -688 + -989 -1198 -1178 -1178 -1178 + -789 -998 -978 -978 -978 +/* GU.G..CG */ + DEF -339 -689 -689 -689 + -1079 -1368 -1718 -1718 -1718 + -569 -858 -1208 -1208 -1208 + -989 -1278 -1628 -1628 -1628 + -859 -1148 -1498 -1498 -1498 +/* GU.U..CG */ + DEF -329 -329 -329 -329 + -1079 -1358 -1358 -1358 -1358 + -719 -998 -998 -998 -998 + -989 -1268 -1268 -1268 -1268 + -909 -1188 -1188 -1188 -1188 +/* GU.@..GC */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GU.A..GC */ + DEF -429 -599 -599 -599 + -569 -948 -1118 -1118 -1118 + -769 -1148 -1318 -1318 -1318 + -759 -1138 -1308 -1308 -1308 + -549 -928 -1098 -1098 -1098 +/* GU.C..GC */ + DEF -259 -239 -239 -239 + -929 -1138 -1118 -1118 -1118 + -359 -568 -548 -548 -548 + -789 -998 -978 -978 -978 + -549 -758 -738 -738 -738 +/* GU.G..GC */ + DEF -339 -689 -689 -689 + -609 -898 -1248 -1248 -1248 + -359 -648 -998 -998 -998 + -669 -958 -1308 -1308 -1308 + -549 -838 -1188 -1188 -1188 +/* GU.U..GC */ + DEF -329 -329 -329 -329 + -929 -1208 -1208 -1208 -1208 + -439 -718 -718 -718 -718 + -789 -1068 -1068 -1068 -1068 + -619 -898 -898 -898 -898 +/* GU.@..GU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GU.A..GU */ + DEF -429 -599 -599 -599 + -479 -858 -1028 -1028 -1028 + -309 -688 -858 -858 -858 + -389 -768 -938 -938 -938 + -379 -758 -928 -928 -928 +/* GU.C..GU */ + DEF -259 -239 -239 -239 + -649 -858 -838 -838 -838 + -289 -498 -478 -478 -478 + -739 -948 -928 -928 -928 + -379 -588 -568 -568 -568 +/* GU.G..GU */ + DEF -339 -689 -689 -689 + -649 -938 -1288 -1288 -1288 + -289 -578 -928 -928 -928 + -739 -1028 -1378 -1378 -1378 + -379 -668 -1018 -1018 -1018 +/* GU.U..GU */ + DEF -329 -329 -329 -329 + -649 -928 -928 -928 -928 + -289 -568 -568 -568 -568 + -739 -1018 -1018 -1018 -1018 + -379 -658 -658 -658 -658 +/* GU.@..UG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GU.A..UG */ + DEF -429 -599 -599 -599 + -769 -1148 -1318 -1318 -1318 + -529 -908 -1078 -1078 -1078 + -709 -1088 -1258 -1258 -1258 + -599 -978 -1148 -1148 -1148 +/* GU.C..UG */ + DEF -259 -239 -239 -239 + -839 -1048 -1028 -1028 -1028 + -529 -738 -718 -718 -718 + -859 -1068 -1048 -1048 -1048 + -489 -698 -678 -678 -678 +/* GU.G..UG */ + DEF -339 -689 -689 -689 + -1009 -1298 -1648 -1648 -1648 + -409 -698 -1048 -1048 -1048 + -969 -1258 -1608 -1608 -1608 + -599 -888 -1238 -1238 -1238 +/* GU.U..UG */ + DEF -329 -329 -329 -329 + -859 -1138 -1138 -1138 -1138 + -529 -808 -808 -808 -808 + -859 -1138 -1138 -1138 -1138 + -409 -688 -688 -688 -688 +/* GU.@..AU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GU.A..AU */ + DEF -429 -599 -599 -599 + -479 -858 -1028 -1028 -1028 + -309 -688 -858 -858 -858 + -389 -768 -938 -938 -938 + -379 -758 -928 -928 -928 +/* GU.C..AU */ + DEF -259 -239 -239 -239 + -649 -858 -838 -838 -838 + -289 -498 -478 -478 -478 + -739 -948 -928 -928 -928 + -379 -588 -568 -568 -568 +/* GU.G..AU */ + DEF -339 -689 -689 -689 + -649 -938 -1288 -1288 -1288 + -289 -578 -928 -928 -928 + -739 -1028 -1378 -1378 -1378 + -379 -668 -1018 -1018 -1018 +/* GU.U..AU */ + DEF -329 -329 -329 -329 + -649 -928 -928 -928 -928 + -289 -568 -568 -568 -568 + -739 -1018 -1018 -1018 -1018 + -379 -658 -658 -658 -658 +/* GU.@..UA */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GU.A..UA */ + DEF -429 -599 -599 -599 + -449 -828 -998 -998 -998 + -479 -858 -1028 -1028 -1028 + -429 -808 -978 -978 -978 + -329 -708 -878 -878 -878 +/* GU.C..UA */ + DEF -259 -239 -239 -239 + -679 -888 -868 -868 -868 + -559 -768 -748 -748 -748 + -729 -938 -918 -918 -918 + -189 -398 -378 -378 -378 +/* GU.G..UA */ + DEF -339 -689 -689 -689 + -939 -1228 -1578 -1578 -1578 + -249 -538 -888 -888 -888 + -939 -1228 -1578 -1578 -1578 + -329 -618 -968 -968 -968 +/* GU.U..UA */ + DEF -329 -329 -329 -329 + -639 -918 -918 -918 -918 + -229 -508 -508 -508 -508 + -729 -1008 -1008 -1008 -1008 + -190 -469 -469 -469 -469 +/* GU.@.. @ */ + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* GU.A.. @ */ + -100 -479 -649 -649 -649 + -100 -479 -649 -649 -649 + -100 -479 -649 -649 -649 + -100 -479 -649 -649 -649 + -100 -479 -649 -649 -649 +/* GU.C.. @ */ + -100 -309 -289 -289 -289 + -100 -309 -289 -289 -289 + -100 -309 -289 -289 -289 + -100 -309 -289 -289 -289 + -100 -309 -289 -289 -289 +/* GU.G.. @ */ + -100 -389 -739 -739 -739 + -100 -389 -739 -739 -739 + -100 -389 -739 -739 -739 + -100 -389 -739 -739 -739 + -100 -389 -739 -739 -739 +/* GU.U.. @ */ + -100 -379 -379 -379 -379 + -100 -379 -379 -379 -379 + -100 -379 -379 -379 -379 + -100 -379 -379 -379 -379 + -100 -379 -379 -379 -379 +/* UG.@..CG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UG.A..CG */ + DEF -719 -789 -959 -809 + -1079 -1748 -1818 -1988 -1838 + -569 -1238 -1308 -1478 -1328 + -989 -1658 -1728 -1898 -1748 + -859 -1528 -1598 -1768 -1618 +/* UG.C..CG */ + DEF -479 -479 -359 -479 + -999 -1428 -1428 -1308 -1428 + -499 -928 -928 -808 -928 + -989 -1418 -1418 -1298 -1418 + -789 -1218 -1218 -1098 -1218 +/* UG.G..CG */ + DEF -659 -809 -919 -809 + -1079 -1688 -1838 -1948 -1838 + -569 -1178 -1328 -1438 -1328 + -989 -1598 -1748 -1858 -1748 + -859 -1468 -1618 -1728 -1618 +/* UG.U..CG */ + DEF -549 -439 -549 -359 + -1079 -1578 -1468 -1578 -1388 + -719 -1218 -1108 -1218 -1028 + -989 -1488 -1378 -1488 -1298 + -909 -1408 -1298 -1408 -1218 +/* UG.@..GC */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UG.A..GC */ + DEF -719 -789 -959 -809 + -569 -1238 -1308 -1478 -1328 + -769 -1438 -1508 -1678 -1528 + -759 -1428 -1498 -1668 -1518 + -549 -1218 -1288 -1458 -1308 +/* UG.C..GC */ + DEF -479 -479 -359 -479 + -929 -1358 -1358 -1238 -1358 + -359 -788 -788 -668 -788 + -789 -1218 -1218 -1098 -1218 + -549 -978 -978 -858 -978 +/* UG.G..GC */ + DEF -659 -809 -919 -809 + -609 -1218 -1368 -1478 -1368 + -359 -968 -1118 -1228 -1118 + -669 -1278 -1428 -1538 -1428 + -549 -1158 -1308 -1418 -1308 +/* UG.U..GC */ + DEF -549 -439 -549 -359 + -929 -1428 -1318 -1428 -1238 + -439 -938 -828 -938 -748 + -789 -1288 -1178 -1288 -1098 + -619 -1118 -1008 -1118 -928 +/* UG.@..GU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UG.A..GU */ + DEF -719 -789 -959 -809 + -479 -1148 -1218 -1388 -1238 + -309 -978 -1048 -1218 -1068 + -389 -1058 -1128 -1298 -1148 + -379 -1048 -1118 -1288 -1138 +/* UG.C..GU */ + DEF -479 -479 -359 -479 + -649 -1078 -1078 -958 -1078 + -289 -718 -718 -598 -718 + -739 -1168 -1168 -1048 -1168 + -379 -808 -808 -688 -808 +/* UG.G..GU */ + DEF -659 -809 -919 -809 + -649 -1258 -1408 -1518 -1408 + -289 -898 -1048 -1158 -1048 + -739 -1348 -1498 -1608 -1498 + -379 -988 -1138 -1248 -1138 +/* UG.U..GU */ + DEF -549 -439 -549 -359 + -649 -1148 -1038 -1148 -958 + -289 -788 -678 -788 -598 + -739 -1238 -1128 -1238 -1048 + -379 -878 -768 -878 -688 +/* UG.@..UG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UG.A..UG */ + DEF -719 -789 -959 -809 + -769 -1438 -1508 -1678 -1528 + -529 -1198 -1268 -1438 -1288 + -709 -1378 -1448 -1618 -1468 + -599 -1268 -1338 -1508 -1358 +/* UG.C..UG */ + DEF -479 -479 -359 -479 + -839 -1268 -1268 -1148 -1268 + -529 -958 -958 -838 -958 + -859 -1288 -1288 -1168 -1288 + -489 -918 -918 -798 -918 +/* UG.G..UG */ + DEF -659 -809 -919 -809 + -1009 -1618 -1768 -1878 -1768 + -409 -1018 -1168 -1278 -1168 + -969 -1578 -1728 -1838 -1728 + -599 -1208 -1358 -1468 -1358 +/* UG.U..UG */ + DEF -549 -439 -549 -359 + -859 -1358 -1248 -1358 -1168 + -529 -1028 -918 -1028 -838 + -859 -1358 -1248 -1358 -1168 + -409 -908 -798 -908 -718 +/* UG.@..AU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UG.A..AU */ + DEF -719 -789 -959 -809 + -479 -1148 -1218 -1388 -1238 + -309 -978 -1048 -1218 -1068 + -389 -1058 -1128 -1298 -1148 + -379 -1048 -1118 -1288 -1138 +/* UG.C..AU */ + DEF -479 -479 -359 -479 + -649 -1078 -1078 -958 -1078 + -289 -718 -718 -598 -718 + -739 -1168 -1168 -1048 -1168 + -379 -808 -808 -688 -808 +/* UG.G..AU */ + DEF -659 -809 -919 -809 + -649 -1258 -1408 -1518 -1408 + -289 -898 -1048 -1158 -1048 + -739 -1348 -1498 -1608 -1498 + -379 -988 -1138 -1248 -1138 +/* UG.U..AU */ + DEF -549 -439 -549 -359 + -649 -1148 -1038 -1148 -958 + -289 -788 -678 -788 -598 + -739 -1238 -1128 -1238 -1048 + -379 -878 -768 -878 -688 +/* UG.@..UA */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UG.A..UA */ + DEF -719 -789 -959 -809 + -449 -1118 -1188 -1358 -1208 + -479 -1148 -1218 -1388 -1238 + -429 -1098 -1168 -1338 -1188 + -329 -998 -1068 -1238 -1088 +/* UG.C..UA */ + DEF -479 -479 -359 -479 + -679 -1108 -1108 -988 -1108 + -559 -988 -988 -868 -988 + -729 -1158 -1158 -1038 -1158 + -189 -618 -618 -498 -618 +/* UG.G..UA */ + DEF -659 -809 -919 -809 + -939 -1548 -1698 -1808 -1698 + -249 -858 -1008 -1118 -1008 + -939 -1548 -1698 -1808 -1698 + -329 -938 -1088 -1198 -1088 +/* UG.U..UA */ + DEF -549 -439 -549 -359 + -639 -1138 -1028 -1138 -948 + -229 -728 -618 -728 -538 + -729 -1228 -1118 -1228 -1038 + -190 -689 -579 -689 -499 +/* UG.@.. @ */ + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UG.A.. @ */ + -100 -769 -839 -1009 -859 + -100 -769 -839 -1009 -859 + -100 -769 -839 -1009 -859 + -100 -769 -839 -1009 -859 + -100 -769 -839 -1009 -859 +/* UG.C.. @ */ + -100 -529 -529 -409 -529 + -100 -529 -529 -409 -529 + -100 -529 -529 -409 -529 + -100 -529 -529 -409 -529 + -100 -529 -529 -409 -529 +/* UG.G.. @ */ + -100 -709 -859 -969 -859 + -100 -709 -859 -969 -859 + -100 -709 -859 -969 -859 + -100 -709 -859 -969 -859 + -100 -709 -859 -969 -859 +/* UG.U.. @ */ + -100 -599 -489 -599 -409 + -100 -599 -489 -599 -409 + -100 -599 -489 -599 -409 + -100 -599 -489 -599 -409 + -100 -599 -489 -599 -409 +/* AU.@..CG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* AU.A..CG */ + DEF -429 -599 -599 -599 + -1079 -1458 -1628 -1628 -1628 + -569 -948 -1118 -1118 -1118 + -989 -1368 -1538 -1538 -1538 + -859 -1238 -1408 -1408 -1408 +/* AU.C..CG */ + DEF -259 -239 -239 -239 + -999 -1208 -1188 -1188 -1188 + -499 -708 -688 -688 -688 + -989 -1198 -1178 -1178 -1178 + -789 -998 -978 -978 -978 +/* AU.G..CG */ + DEF -339 -689 -689 -689 + -1079 -1368 -1718 -1718 -1718 + -569 -858 -1208 -1208 -1208 + -989 -1278 -1628 -1628 -1628 + -859 -1148 -1498 -1498 -1498 +/* AU.U..CG */ + DEF -329 -329 -329 -329 + -1079 -1358 -1358 -1358 -1358 + -719 -998 -998 -998 -998 + -989 -1268 -1268 -1268 -1268 + -909 -1188 -1188 -1188 -1188 +/* AU.@..GC */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* AU.A..GC */ + DEF -429 -599 -599 -599 + -569 -948 -1118 -1118 -1118 + -769 -1148 -1318 -1318 -1318 + -759 -1138 -1308 -1308 -1308 + -549 -928 -1098 -1098 -1098 +/* AU.C..GC */ + DEF -259 -239 -239 -239 + -929 -1138 -1118 -1118 -1118 + -359 -568 -548 -548 -548 + -789 -998 -978 -978 -978 + -549 -758 -738 -738 -738 +/* AU.G..GC */ + DEF -339 -689 -689 -689 + -609 -898 -1248 -1248 -1248 + -359 -648 -998 -998 -998 + -669 -958 -1308 -1308 -1308 + -549 -838 -1188 -1188 -1188 +/* AU.U..GC */ + DEF -329 -329 -329 -329 + -929 -1208 -1208 -1208 -1208 + -439 -718 -718 -718 -718 + -789 -1068 -1068 -1068 -1068 + -619 -898 -898 -898 -898 +/* AU.@..GU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* AU.A..GU */ + DEF -429 -599 -599 -599 + -479 -858 -1028 -1028 -1028 + -309 -688 -858 -858 -858 + -389 -768 -938 -938 -938 + -379 -758 -928 -928 -928 +/* AU.C..GU */ + DEF -259 -239 -239 -239 + -649 -858 -838 -838 -838 + -289 -498 -478 -478 -478 + -739 -948 -928 -928 -928 + -379 -588 -568 -568 -568 +/* AU.G..GU */ + DEF -339 -689 -689 -689 + -649 -938 -1288 -1288 -1288 + -289 -578 -928 -928 -928 + -739 -1028 -1378 -1378 -1378 + -379 -668 -1018 -1018 -1018 +/* AU.U..GU */ + DEF -329 -329 -329 -329 + -649 -928 -928 -928 -928 + -289 -568 -568 -568 -568 + -739 -1018 -1018 -1018 -1018 + -379 -658 -658 -658 -658 +/* AU.@..UG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* AU.A..UG */ + DEF -429 -599 -599 -599 + -769 -1148 -1318 -1318 -1318 + -529 -908 -1078 -1078 -1078 + -709 -1088 -1258 -1258 -1258 + -599 -978 -1148 -1148 -1148 +/* AU.C..UG */ + DEF -259 -239 -239 -239 + -839 -1048 -1028 -1028 -1028 + -529 -738 -718 -718 -718 + -859 -1068 -1048 -1048 -1048 + -489 -698 -678 -678 -678 +/* AU.G..UG */ + DEF -339 -689 -689 -689 + -1009 -1298 -1648 -1648 -1648 + -409 -698 -1048 -1048 -1048 + -969 -1258 -1608 -1608 -1608 + -599 -888 -1238 -1238 -1238 +/* AU.U..UG */ + DEF -329 -329 -329 -329 + -859 -1138 -1138 -1138 -1138 + -529 -808 -808 -808 -808 + -859 -1138 -1138 -1138 -1138 + -409 -688 -688 -688 -688 +/* AU.@..AU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* AU.A..AU */ + DEF -429 -599 -599 -599 + -479 -858 -1028 -1028 -1028 + -309 -688 -858 -858 -858 + -389 -768 -938 -938 -938 + -379 -758 -928 -928 -928 +/* AU.C..AU */ + DEF -259 -239 -239 -239 + -649 -858 -838 -838 -838 + -289 -498 -478 -478 -478 + -739 -948 -928 -928 -928 + -379 -588 -568 -568 -568 +/* AU.G..AU */ + DEF -339 -689 -689 -689 + -649 -938 -1288 -1288 -1288 + -289 -578 -928 -928 -928 + -739 -1028 -1378 -1378 -1378 + -379 -668 -1018 -1018 -1018 +/* AU.U..AU */ + DEF -329 -329 -329 -329 + -649 -928 -928 -928 -928 + -289 -568 -568 -568 -568 + -739 -1018 -1018 -1018 -1018 + -379 -658 -658 -658 -658 +/* AU.@..UA */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* AU.A..UA */ + DEF -429 -599 -599 -599 + -449 -828 -998 -998 -998 + -479 -858 -1028 -1028 -1028 + -429 -808 -978 -978 -978 + -329 -708 -878 -878 -878 +/* AU.C..UA */ + DEF -259 -239 -239 -239 + -679 -888 -868 -868 -868 + -559 -768 -748 -748 -748 + -729 -938 -918 -918 -918 + -189 -398 -378 -378 -378 +/* AU.G..UA */ + DEF -339 -689 -689 -689 + -939 -1228 -1578 -1578 -1578 + -249 -538 -888 -888 -888 + -939 -1228 -1578 -1578 -1578 + -329 -618 -968 -968 -968 +/* AU.U..UA */ + DEF -329 -329 -329 -329 + -639 -918 -918 -918 -918 + -229 -508 -508 -508 -508 + -729 -1008 -1008 -1008 -1008 + -190 -469 -469 -469 -469 +/* AU.@.. @ */ + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* AU.A.. @ */ + -100 -479 -649 -649 -649 + -100 -479 -649 -649 -649 + -100 -479 -649 -649 -649 + -100 -479 -649 -649 -649 + -100 -479 -649 -649 -649 +/* AU.C.. @ */ + -100 -309 -289 -289 -289 + -100 -309 -289 -289 -289 + -100 -309 -289 -289 -289 + -100 -309 -289 -289 -289 + -100 -309 -289 -289 -289 +/* AU.G.. @ */ + -100 -389 -739 -739 -739 + -100 -389 -739 -739 -739 + -100 -389 -739 -739 -739 + -100 -389 -739 -739 -739 + -100 -389 -739 -739 -739 +/* AU.U.. @ */ + -100 -379 -379 -379 -379 + -100 -379 -379 -379 -379 + -100 -379 -379 -379 -379 + -100 -379 -379 -379 -379 + -100 -379 -379 -379 -379 +/* UA.@..CG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UA.A..CG */ + DEF -399 -629 -889 -589 + -1079 -1428 -1658 -1918 -1618 + -569 -918 -1148 -1408 -1108 + -989 -1338 -1568 -1828 -1528 + -859 -1208 -1438 -1698 -1398 +/* UA.C..CG */ + DEF -429 -509 -199 -179 + -999 -1378 -1458 -1148 -1128 + -499 -878 -958 -648 -628 + -989 -1368 -1448 -1138 -1118 + -789 -1168 -1248 -938 -918 +/* UA.G..CG */ + DEF -379 -679 -889 -679 + -1079 -1408 -1708 -1918 -1708 + -569 -898 -1198 -1408 -1198 + -989 -1318 -1618 -1828 -1618 + -859 -1188 -1488 -1698 -1488 +/* UA.U..CG */ + DEF -279 -139 -279 -140 + -1079 -1308 -1168 -1308 -1169 + -719 -948 -808 -948 -809 + -989 -1218 -1078 -1218 -1079 + -909 -1138 -998 -1138 -999 +/* UA.@..GC */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UA.A..GC */ + DEF -399 -629 -889 -589 + -569 -918 -1148 -1408 -1108 + -769 -1118 -1348 -1608 -1308 + -759 -1108 -1338 -1598 -1298 + -549 -898 -1128 -1388 -1088 +/* UA.C..GC */ + DEF -429 -509 -199 -179 + -929 -1308 -1388 -1078 -1058 + -359 -738 -818 -508 -488 + -789 -1168 -1248 -938 -918 + -549 -928 -1008 -698 -678 +/* UA.G..GC */ + DEF -379 -679 -889 -679 + -609 -938 -1238 -1448 -1238 + -359 -688 -988 -1198 -988 + -669 -998 -1298 -1508 -1298 + -549 -878 -1178 -1388 -1178 +/* UA.U..GC */ + DEF -279 -139 -279 -140 + -929 -1158 -1018 -1158 -1019 + -439 -668 -528 -668 -529 + -789 -1018 -878 -1018 -879 + -619 -848 -708 -848 -709 +/* UA.@..GU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UA.A..GU */ + DEF -399 -629 -889 -589 + -479 -828 -1058 -1318 -1018 + -309 -658 -888 -1148 -848 + -389 -738 -968 -1228 -928 + -379 -728 -958 -1218 -918 +/* UA.C..GU */ + DEF -429 -509 -199 -179 + -649 -1028 -1108 -798 -778 + -289 -668 -748 -438 -418 + -739 -1118 -1198 -888 -868 + -379 -758 -838 -528 -508 +/* UA.G..GU */ + DEF -379 -679 -889 -679 + -649 -978 -1278 -1488 -1278 + -289 -618 -918 -1128 -918 + -739 -1068 -1368 -1578 -1368 + -379 -708 -1008 -1218 -1008 +/* UA.U..GU */ + DEF -279 -139 -279 -140 + -649 -878 -738 -878 -739 + -289 -518 -378 -518 -379 + -739 -968 -828 -968 -829 + -379 -608 -468 -608 -469 +/* UA.@..UG */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UA.A..UG */ + DEF -399 -629 -889 -589 + -769 -1118 -1348 -1608 -1308 + -529 -878 -1108 -1368 -1068 + -709 -1058 -1288 -1548 -1248 + -599 -948 -1178 -1438 -1138 +/* UA.C..UG */ + DEF -429 -509 -199 -179 + -839 -1218 -1298 -988 -968 + -529 -908 -988 -678 -658 + -859 -1238 -1318 -1008 -988 + -489 -868 -948 -638 -618 +/* UA.G..UG */ + DEF -379 -679 -889 -679 + -1009 -1338 -1638 -1848 -1638 + -409 -738 -1038 -1248 -1038 + -969 -1298 -1598 -1808 -1598 + -599 -928 -1228 -1438 -1228 +/* UA.U..UG */ + DEF -279 -139 -279 -140 + -859 -1088 -948 -1088 -949 + -529 -758 -618 -758 -619 + -859 -1088 -948 -1088 -949 + -409 -638 -498 -638 -499 +/* UA.@..AU */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UA.A..AU */ + DEF -399 -629 -889 -589 + -479 -828 -1058 -1318 -1018 + -309 -658 -888 -1148 -848 + -389 -738 -968 -1228 -928 + -379 -728 -958 -1218 -918 +/* UA.C..AU */ + DEF -429 -509 -199 -179 + -649 -1028 -1108 -798 -778 + -289 -668 -748 -438 -418 + -739 -1118 -1198 -888 -868 + -379 -758 -838 -528 -508 +/* UA.G..AU */ + DEF -379 -679 -889 -679 + -649 -978 -1278 -1488 -1278 + -289 -618 -918 -1128 -918 + -739 -1068 -1368 -1578 -1368 + -379 -708 -1008 -1218 -1008 +/* UA.U..AU */ + DEF -279 -139 -279 -140 + -649 -878 -738 -878 -739 + -289 -518 -378 -518 -379 + -739 -968 -828 -968 -829 + -379 -608 -468 -608 -469 +/* UA.@..UA */ + 0 0 0 0 0 + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UA.A..UA */ + DEF -399 -629 -889 -589 + -449 -798 -1028 -1288 -988 + -479 -828 -1058 -1318 -1018 + -429 -778 -1008 -1268 -968 + -329 -678 -908 -1168 -868 +/* UA.C..UA */ + DEF -429 -509 -199 -179 + -679 -1058 -1138 -828 -808 + -559 -938 -1018 -708 -688 + -729 -1108 -1188 -878 -858 + -189 -568 -648 -338 -318 +/* UA.G..UA */ + DEF -379 -679 -889 -679 + -939 -1268 -1568 -1778 -1568 + -249 -578 -878 -1088 -878 + -939 -1268 -1568 -1778 -1568 + -329 -658 -958 -1168 -958 +/* UA.U..UA */ + DEF -279 -139 -279 -140 + -639 -868 -728 -868 -729 + -229 -458 -318 -458 -319 + -729 -958 -818 -958 -819 + -190 -419 -279 -419 -280 +/* UA.@.. @ */ + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF + DEF DEF DEF DEF DEF +/* UA.A.. @ */ + -100 -449 -679 -939 -639 + -100 -449 -679 -939 -639 + -100 -449 -679 -939 -639 + -100 -449 -679 -939 -639 + -100 -449 -679 -939 -639 +/* UA.C.. @ */ + -100 -479 -559 -249 -229 + -100 -479 -559 -249 -229 + -100 -479 -559 -249 -229 + -100 -479 -559 -249 -229 + -100 -479 -559 -249 -229 +/* UA.G.. @ */ + -100 -429 -729 -939 -729 + -100 -429 -729 -939 -729 + -100 -429 -729 -939 -729 + -100 -429 -729 -939 -729 + -100 -429 -729 -939 -729 +/* UA.U.. @ */ + -100 -329 -189 -329 -190 + -100 -329 -189 -329 -190 + -100 -329 -189 -329 -190 + -100 -329 -189 -329 -190 + -100 -329 -189 -329 -190 +/* @.@..CG */ + DEF DEF DEF DEF DEF + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.A..CG */ + DEF DEF DEF DEF DEF + -1079 -1079 -1079 -1079 -1079 + -569 -569 -569 -569 -569 + -989 -989 -989 -989 -989 + -859 -859 -859 -859 -859 +/* @.C..CG */ + DEF DEF DEF DEF DEF + -999 -999 -999 -999 -999 + -499 -499 -499 -499 -499 + -989 -989 -989 -989 -989 + -789 -789 -789 -789 -789 +/* @.G..CG */ + DEF DEF DEF DEF DEF + -1079 -1079 -1079 -1079 -1079 + -569 -569 -569 -569 -569 + -989 -989 -989 -989 -989 + -859 -859 -859 -859 -859 +/* @.U..CG */ + DEF DEF DEF DEF DEF + -1079 -1079 -1079 -1079 -1079 + -719 -719 -719 -719 -719 + -989 -989 -989 -989 -989 + -909 -909 -909 -909 -909 +/* @.@..GC */ + DEF DEF DEF DEF DEF + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.A..GC */ + DEF DEF DEF DEF DEF + -569 -569 -569 -569 -569 + -769 -769 -769 -769 -769 + -759 -759 -759 -759 -759 + -549 -549 -549 -549 -549 +/* @.C..GC */ + DEF DEF DEF DEF DEF + -929 -929 -929 -929 -929 + -359 -359 -359 -359 -359 + -789 -789 -789 -789 -789 + -549 -549 -549 -549 -549 +/* @.G..GC */ + DEF DEF DEF DEF DEF + -609 -609 -609 -609 -609 + -359 -359 -359 -359 -359 + -669 -669 -669 -669 -669 + -549 -549 -549 -549 -549 +/* @.U..GC */ + DEF DEF DEF DEF DEF + -929 -929 -929 -929 -929 + -439 -439 -439 -439 -439 + -789 -789 -789 -789 -789 + -619 -619 -619 -619 -619 +/* @.@..GU */ + DEF DEF DEF DEF DEF + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.A..GU */ + DEF DEF DEF DEF DEF + -479 -479 -479 -479 -479 + -309 -309 -309 -309 -309 + -389 -389 -389 -389 -389 + -379 -379 -379 -379 -379 +/* @.C..GU */ + DEF DEF DEF DEF DEF + -649 -649 -649 -649 -649 + -289 -289 -289 -289 -289 + -739 -739 -739 -739 -739 + -379 -379 -379 -379 -379 +/* @.G..GU */ + DEF DEF DEF DEF DEF + -649 -649 -649 -649 -649 + -289 -289 -289 -289 -289 + -739 -739 -739 -739 -739 + -379 -379 -379 -379 -379 +/* @.U..GU */ + DEF DEF DEF DEF DEF + -649 -649 -649 -649 -649 + -289 -289 -289 -289 -289 + -739 -739 -739 -739 -739 + -379 -379 -379 -379 -379 +/* @.@..UG */ + DEF DEF DEF DEF DEF + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.A..UG */ + DEF DEF DEF DEF DEF + -769 -769 -769 -769 -769 + -529 -529 -529 -529 -529 + -709 -709 -709 -709 -709 + -599 -599 -599 -599 -599 +/* @.C..UG */ + DEF DEF DEF DEF DEF + -839 -839 -839 -839 -839 + -529 -529 -529 -529 -529 + -859 -859 -859 -859 -859 + -489 -489 -489 -489 -489 +/* @.G..UG */ + DEF DEF DEF DEF DEF + -1009 -1009 -1009 -1009 -1009 + -409 -409 -409 -409 -409 + -969 -969 -969 -969 -969 + -599 -599 -599 -599 -599 +/* @.U..UG */ + DEF DEF DEF DEF DEF + -859 -859 -859 -859 -859 + -529 -529 -529 -529 -529 + -859 -859 -859 -859 -859 + -409 -409 -409 -409 -409 +/* @.@..AU */ + DEF DEF DEF DEF DEF + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.A..AU */ + DEF DEF DEF DEF DEF + -479 -479 -479 -479 -479 + -309 -309 -309 -309 -309 + -389 -389 -389 -389 -389 + -379 -379 -379 -379 -379 +/* @.C..AU */ + DEF DEF DEF DEF DEF + -649 -649 -649 -649 -649 + -289 -289 -289 -289 -289 + -739 -739 -739 -739 -739 + -379 -379 -379 -379 -379 +/* @.G..AU */ + DEF DEF DEF DEF DEF + -649 -649 -649 -649 -649 + -289 -289 -289 -289 -289 + -739 -739 -739 -739 -739 + -379 -379 -379 -379 -379 +/* @.U..AU */ + DEF DEF DEF DEF DEF + -649 -649 -649 -649 -649 + -289 -289 -289 -289 -289 + -739 -739 -739 -739 -739 + -379 -379 -379 -379 -379 +/* @.@..UA */ + DEF DEF DEF DEF DEF + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.A..UA */ + DEF DEF DEF DEF DEF + -449 -449 -449 -449 -449 + -479 -479 -479 -479 -479 + -429 -429 -429 -429 -429 + -329 -329 -329 -329 -329 +/* @.C..UA */ + DEF DEF DEF DEF DEF + -679 -679 -679 -679 -679 + -559 -559 -559 -559 -559 + -729 -729 -729 -729 -729 + -189 -189 -189 -189 -189 +/* @.G..UA */ + DEF DEF DEF DEF DEF + -939 -939 -939 -939 -939 + -249 -249 -249 -249 -249 + -939 -939 -939 -939 -939 + -329 -329 -329 -329 -329 +/* @.U..UA */ + DEF DEF DEF DEF DEF + -639 -639 -639 -639 -639 + -229 -229 -229 -229 -229 + -729 -729 -729 -729 -729 + -190 -190 -190 -190 -190 +/* @.@.. @ */ + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.A.. @ */ + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.C.. @ */ + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.G.. @ */ + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 +/* @.U.. @ */ + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + -100 -100 -100 -100 -100 + +# int22_energies +/* GC.AA..GC */ + 190 190 70 150 + 190 190 70 150 + 70 70 -50 30 + 200 200 80 160 +/* GC.AC..GC */ + 190 190 70 150 + 190 190 70 150 + 150 150 30 110 + 190 190 70 150 +/* GC.AG..GC */ + 70 70 -50 30 + 240 240 120 200 + 190 190 70 150 + 200 200 80 160 +/* GC.AU..GC */ + 150 150 30 110 + 190 190 70 150 + 150 150 30 110 + 90 90 -30 50 +/* GC.CA..GC */ + 190 190 240 190 + 190 190 240 190 + 70 70 120 70 + 200 200 250 200 +/* GC.CC..GC */ + 190 190 240 190 + 190 190 240 190 + 150 150 200 150 + 190 190 240 190 +/* GC.CG..GC */ + 70 70 120 70 + 240 240 290 240 + 190 190 240 190 + 200 200 250 200 +/* GC.CU..GC */ + 150 150 200 150 + 190 190 240 190 + 150 150 200 150 + 90 90 140 90 +/* GC.GA..GC */ + 70 150 190 150 + 70 150 190 150 + -50 30 70 30 + 80 160 200 160 +/* GC.GC..GC */ + 70 150 190 150 + 70 150 190 150 + 30 110 150 110 + 70 150 190 150 +/* GC.GG..GC */ + -50 30 70 30 + 120 200 240 200 + 70 150 190 150 + 80 160 200 160 +/* GC.GU..GC */ + 30 110 150 110 + 70 150 190 150 + 30 110 150 110 + -30 50 90 50 +/* GC.UA..GC */ + 200 190 200 90 + 200 190 200 90 + 80 70 80 -30 + 210 200 210 100 +/* GC.UC..GC */ + 200 190 200 90 + 200 190 200 90 + 160 150 160 50 + 200 190 200 90 +/* GC.UG..GC */ + 80 70 80 -30 + 250 240 250 140 + 200 190 200 90 + 210 200 210 100 +/* GC.UU..GC */ + 160 150 160 50 + 200 190 200 90 + 160 150 160 50 + 100 90 100 -10 +/* GC.AA..CG */ + 190 190 70 150 + 190 190 70 150 + 70 70 -50 30 + 260 260 140 220 +/* GC.AC..CG */ + 190 190 70 150 + 190 190 70 150 + 190 190 70 150 + 190 190 70 150 +/* GC.AG..CG */ + 70 70 -50 30 + 280 280 160 240 + 190 190 70 150 + 260 260 140 220 +/* GC.AU..CG */ + 210 210 90 170 + 190 190 70 150 + 190 190 70 150 + 90 90 -30 50 +/* GC.CA..CG */ + 190 190 240 190 + 190 190 240 190 + 70 70 120 70 + 260 260 310 260 +/* GC.CC..CG */ + 190 190 240 190 + 190 190 240 190 + 190 190 240 190 + 190 190 240 190 +/* GC.CG..CG */ + 70 70 120 70 + 280 280 330 280 + 190 190 240 190 + 260 260 310 260 +/* GC.CU..CG */ + 210 210 260 210 + 190 190 240 190 + 190 190 240 190 + 90 90 140 90 +/* GC.GA..CG */ + 70 150 190 150 + 70 150 190 150 + -50 30 70 30 + 140 220 260 220 +/* GC.GC..CG */ + 70 150 190 150 + 70 150 190 150 + 70 150 190 150 + 70 150 190 150 +/* GC.GG..CG */ + -50 30 70 30 + 160 240 280 240 + 70 150 190 150 + 140 220 260 220 +/* GC.GU..CG */ + 90 170 210 170 + 70 150 190 150 + 70 150 190 150 + -30 50 90 50 +/* GC.UA..CG */ + 200 190 200 90 + 200 190 200 90 + 80 70 80 -30 + 270 260 270 160 +/* GC.UC..CG */ + 200 190 200 90 + 200 190 200 90 + 200 190 200 90 + 200 190 200 90 +/* GC.UG..CG */ + 80 70 80 -30 + 290 280 290 180 + 200 190 200 90 + 270 260 270 160 +/* GC.UU..CG */ + 220 210 220 110 + 200 190 200 90 + 200 190 200 90 + 100 90 100 -10 +/* GC.AA..GU */ + 190 190 70 150 + 190 190 70 150 + 70 70 -50 30 + 260 260 140 220 +/* GC.AC..GU */ + 190 190 70 150 + 190 190 70 150 + 190 190 70 150 + 190 190 70 150 +/* GC.AG..GU */ + 70 70 -50 30 + 280 280 160 240 + 190 190 70 150 + 260 260 140 220 +/* GC.AU..GU */ + 210 210 90 170 + 190 190 70 150 + 190 190 70 150 + 90 90 -30 50 +/* GC.CA..GU */ + 190 190 240 190 + 190 190 240 190 + 70 70 120 70 + 260 260 310 260 +/* GC.CC..GU */ + 190 190 240 190 + 190 190 240 190 + 190 190 240 190 + 190 190 240 190 +/* GC.CG..GU */ + 70 70 120 70 + 280 280 330 280 + 190 190 240 190 + 260 260 310 260 +/* GC.CU..GU */ + 210 210 260 210 + 190 190 240 190 + 190 190 240 190 + 90 90 140 90 +/* GC.GA..GU */ + 70 150 190 150 + 70 150 190 150 + -50 30 70 30 + 140 220 260 220 +/* GC.GC..GU */ + 70 150 190 150 + 70 150 190 150 + 70 150 190 150 + 70 150 190 150 +/* GC.GG..GU */ + -50 30 70 30 + 160 240 280 240 + 70 150 190 150 + 140 220 260 220 +/* GC.GU..GU */ + 90 170 210 170 + 70 150 190 150 + 70 150 190 150 + -30 50 90 50 +/* GC.UA..GU */ + 200 190 200 90 + 200 190 200 90 + 80 70 80 -30 + 270 260 270 160 +/* GC.UC..GU */ + 200 190 200 90 + 200 190 200 90 + 200 190 200 90 + 200 190 200 90 +/* GC.UG..GU */ + 80 70 80 -30 + 290 280 290 180 + 200 190 200 90 + 270 260 270 160 +/* GC.UU..GU */ + 220 210 220 110 + 200 190 200 90 + 200 190 200 90 + 100 90 100 -10 +/* GC.AA..UG */ + 240 240 120 200 + 240 240 120 200 + 120 120 0 80 + 360 360 240 320 +/* GC.AC..UG */ + 240 240 120 200 + 240 240 120 200 + 300 300 180 260 + 240 240 120 200 +/* GC.AG..UG */ + 120 120 0 80 + 360 360 240 320 + 240 240 120 200 + 360 360 240 320 +/* GC.AU..UG */ + 300 300 180 260 + 240 240 120 200 + 300 300 180 260 + 140 140 20 100 +/* GC.CA..UG */ + 240 240 290 240 + 240 240 290 240 + 120 120 170 120 + 360 360 410 360 +/* GC.CC..UG */ + 240 240 290 240 + 240 240 290 240 + 300 300 350 300 + 240 240 290 240 +/* GC.CG..UG */ + 120 120 170 120 + 360 360 410 360 + 240 240 290 240 + 360 360 410 360 +/* GC.CU..UG */ + 300 300 350 300 + 240 240 290 240 + 300 300 350 300 + 140 140 190 140 +/* GC.GA..UG */ + 120 200 240 200 + 120 200 240 200 + 0 80 120 80 + 240 320 360 320 +/* GC.GC..UG */ + 120 200 240 200 + 120 200 240 200 + 180 260 300 260 + 120 200 240 200 +/* GC.GG..UG */ + 0 80 120 80 + 240 320 360 320 + 120 200 240 200 + 240 320 360 320 +/* GC.GU..UG */ + 180 260 300 260 + 120 200 240 200 + 180 260 300 260 + 20 100 140 100 +/* GC.UA..UG */ + 250 240 250 140 + 250 240 250 140 + 130 120 130 20 + 370 360 370 260 +/* GC.UC..UG */ + 250 240 250 140 + 250 240 250 140 + 310 300 310 200 + 250 240 250 140 +/* GC.UG..UG */ + 130 120 130 20 + 370 360 370 260 + 250 240 250 140 + 370 360 370 260 +/* GC.UU..UG */ + 310 300 310 200 + 250 240 250 140 + 310 300 310 200 + 150 140 150 40 +/* GC.AA..AU */ + 240 240 120 200 + 240 240 120 200 + 120 120 0 80 + 310 310 190 270 +/* GC.AC..AU */ + 240 240 120 200 + 240 240 120 200 + 290 290 170 250 + 240 240 120 200 +/* GC.AG..AU */ + 120 120 0 80 + 320 320 200 280 + 240 240 120 200 + 310 310 190 270 +/* GC.AU..AU */ + 290 290 170 250 + 240 240 120 200 + 290 290 170 250 + 140 140 20 100 +/* GC.CA..AU */ + 240 240 290 240 + 240 240 290 240 + 120 120 170 120 + 310 310 360 310 +/* GC.CC..AU */ + 240 240 290 240 + 240 240 290 240 + 290 290 340 290 + 240 240 290 240 +/* GC.CG..AU */ + 120 120 170 120 + 320 320 370 320 + 240 240 290 240 + 310 310 360 310 +/* GC.CU..AU */ + 290 290 340 290 + 240 240 290 240 + 290 290 340 290 + 140 140 190 140 +/* GC.GA..AU */ + 120 200 240 200 + 120 200 240 200 + 0 80 120 80 + 190 270 310 270 +/* GC.GC..AU */ + 120 200 240 200 + 120 200 240 200 + 170 250 290 250 + 120 200 240 200 +/* GC.GG..AU */ + 0 80 120 80 + 200 280 320 280 + 120 200 240 200 + 190 270 310 270 +/* GC.GU..AU */ + 170 250 290 250 + 120 200 240 200 + 170 250 290 250 + 20 100 140 100 +/* GC.UA..AU */ + 250 240 250 140 + 250 240 250 140 + 130 120 130 20 + 320 310 320 210 +/* GC.UC..AU */ + 250 240 250 140 + 250 240 250 140 + 300 290 300 190 + 250 240 250 140 +/* GC.UG..AU */ + 130 120 130 20 + 330 320 330 220 + 250 240 250 140 + 320 310 320 210 +/* GC.UU..AU */ + 300 290 300 190 + 250 240 250 140 + 300 290 300 190 + 150 140 150 40 +/* GC.AA..UA */ + 240 240 120 200 + 240 240 120 200 + 120 120 0 80 + 360 360 240 320 +/* GC.AC..UA */ + 240 240 120 200 + 240 240 120 200 + 300 300 180 260 + 240 240 120 200 +/* GC.AG..UA */ + 120 120 0 80 + 360 360 240 320 + 240 240 120 200 + 360 360 240 320 +/* GC.AU..UA */ + 300 300 180 260 + 240 240 120 200 + 300 300 180 260 + 140 140 20 100 +/* GC.CA..UA */ + 240 240 290 240 + 240 240 290 240 + 120 120 170 120 + 360 360 410 360 +/* GC.CC..UA */ + 240 240 290 240 + 240 240 290 240 + 300 300 350 300 + 240 240 290 240 +/* GC.CG..UA */ + 120 120 170 120 + 360 360 410 360 + 240 240 290 240 + 360 360 410 360 +/* GC.CU..UA */ + 300 300 350 300 + 240 240 290 240 + 300 300 350 300 + 140 140 190 140 +/* GC.GA..UA */ + 120 200 240 200 + 120 200 240 200 + 0 80 120 80 + 240 320 360 320 +/* GC.GC..UA */ + 120 200 240 200 + 120 200 240 200 + 180 260 300 260 + 120 200 240 200 +/* GC.GG..UA */ + 0 80 120 80 + 240 320 360 320 + 120 200 240 200 + 240 320 360 320 +/* GC.GU..UA */ + 180 260 300 260 + 120 200 240 200 + 180 260 300 260 + 20 100 140 100 +/* GC.UA..UA */ + 250 240 250 140 + 250 240 250 140 + 130 120 130 20 + 370 360 370 260 +/* GC.UC..UA */ + 250 240 250 140 + 250 240 250 140 + 310 300 310 200 + 250 240 250 140 +/* GC.UG..UA */ + 130 120 130 20 + 370 360 370 260 + 250 240 250 140 + 370 360 370 260 +/* GC.UU..UA */ + 310 300 310 200 + 250 240 250 140 + 310 300 310 200 + 150 140 150 40 +/* GC.AA.. @ */ + 290 290 170 250 + 290 290 170 250 + 290 290 170 250 + 290 290 170 250 +/* GC.AC.. @ */ + 290 290 170 250 + 290 290 170 250 + 290 290 170 250 + 290 290 170 250 +/* GC.AG.. @ */ + 290 290 170 250 + 290 290 170 250 + 290 290 170 250 + 290 290 170 250 +/* GC.AU.. @ */ + 290 290 170 250 + 290 290 170 250 + 290 290 170 250 + 290 290 170 250 +/* GC.CA.. @ */ + 290 290 340 290 + 290 290 340 290 + 290 290 340 290 + 290 290 340 290 +/* GC.CC.. @ */ + 290 290 340 290 + 290 290 340 290 + 290 290 340 290 + 290 290 340 290 +/* GC.CG.. @ */ + 290 290 340 290 + 290 290 340 290 + 290 290 340 290 + 290 290 340 290 +/* GC.CU.. @ */ + 290 290 340 290 + 290 290 340 290 + 290 290 340 290 + 290 290 340 290 +/* GC.GA.. @ */ + 170 250 290 250 + 170 250 290 250 + 170 250 290 250 + 170 250 290 250 +/* GC.GC.. @ */ + 170 250 290 250 + 170 250 290 250 + 170 250 290 250 + 170 250 290 250 +/* GC.GG.. @ */ + 170 250 290 250 + 170 250 290 250 + 170 250 290 250 + 170 250 290 250 +/* GC.GU.. @ */ + 170 250 290 250 + 170 250 290 250 + 170 250 290 250 + 170 250 290 250 +/* GC.UA.. @ */ + 300 290 300 190 + 300 290 300 190 + 300 290 300 190 + 300 290 300 190 +/* GC.UC.. @ */ + 300 290 300 190 + 300 290 300 190 + 300 290 300 190 + 300 290 300 190 +/* GC.UG.. @ */ + 300 290 300 190 + 300 290 300 190 + 300 290 300 190 + 300 290 300 190 +/* GC.UU.. @ */ + 300 290 300 190 + 300 290 300 190 + 300 290 300 190 + 300 290 300 190 +/* CG.AA..GC */ + 190 190 70 210 + 190 190 70 210 + 70 70 -50 90 + 200 200 80 220 +/* CG.AC..GC */ + 190 190 70 210 + 190 190 70 210 + 150 150 30 170 + 190 190 70 210 +/* CG.AG..GC */ + 70 70 -50 90 + 240 240 120 260 + 190 190 70 210 + 200 200 80 220 +/* CG.AU..GC */ + 150 150 30 170 + 190 190 70 210 + 150 150 30 170 + 90 90 -30 110 +/* CG.CA..GC */ + 190 190 280 190 + 190 190 280 190 + 70 70 160 70 + 200 200 290 200 +/* CG.CC..GC */ + 190 190 280 190 + 190 190 280 190 + 150 150 240 150 + 190 190 280 190 +/* CG.CG..GC */ + 70 70 160 70 + 240 240 330 240 + 190 190 280 190 + 200 200 290 200 +/* CG.CU..GC */ + 150 150 240 150 + 190 190 280 190 + 150 150 240 150 + 90 90 180 90 +/* CG.GA..GC */ + 70 190 190 190 + 70 190 190 190 + -50 70 70 70 + 80 200 200 200 +/* CG.GC..GC */ + 70 190 190 190 + 70 190 190 190 + 30 150 150 150 + 70 190 190 190 +/* CG.GG..GC */ + -50 70 70 70 + 120 240 240 240 + 70 190 190 190 + 80 200 200 200 +/* CG.GU..GC */ + 30 150 150 150 + 70 190 190 190 + 30 150 150 150 + -30 90 90 90 +/* CG.UA..GC */ + 260 190 260 90 + 260 190 260 90 + 140 70 140 -30 + 270 200 270 100 +/* CG.UC..GC */ + 260 190 260 90 + 260 190 260 90 + 220 150 220 50 + 260 190 260 90 +/* CG.UG..GC */ + 140 70 140 -30 + 310 240 310 140 + 260 190 260 90 + 270 200 270 100 +/* CG.UU..GC */ + 220 150 220 50 + 260 190 260 90 + 220 150 220 50 + 160 90 160 -10 +/* CG.AA..CG */ + 190 190 70 210 + 190 190 70 210 + 70 70 -50 90 + 260 260 140 280 +/* CG.AC..CG */ + 190 190 70 210 + 190 190 70 210 + 190 190 70 210 + 190 190 70 210 +/* CG.AG..CG */ + 70 70 -50 90 + 280 280 160 300 + 190 190 70 210 + 260 260 140 280 +/* CG.AU..CG */ + 210 210 90 230 + 190 190 70 210 + 190 190 70 210 + 90 90 -30 110 +/* CG.CA..CG */ + 190 190 280 190 + 190 190 280 190 + 70 70 160 70 + 260 260 350 260 +/* CG.CC..CG */ + 190 190 280 190 + 190 190 280 190 + 190 190 280 190 + 190 190 280 190 +/* CG.CG..CG */ + 70 70 160 70 + 280 280 370 280 + 190 190 280 190 + 260 260 350 260 +/* CG.CU..CG */ + 210 210 300 210 + 190 190 280 190 + 190 190 280 190 + 90 90 180 90 +/* CG.GA..CG */ + 70 190 190 190 + 70 190 190 190 + -50 70 70 70 + 140 260 260 260 +/* CG.GC..CG */ + 70 190 190 190 + 70 190 190 190 + 70 190 190 190 + 70 190 190 190 +/* CG.GG..CG */ + -50 70 70 70 + 160 280 280 280 + 70 190 190 190 + 140 260 260 260 +/* CG.GU..CG */ + 90 210 210 210 + 70 190 190 190 + 70 190 190 190 + -30 90 90 90 +/* CG.UA..CG */ + 260 190 260 90 + 260 190 260 90 + 140 70 140 -30 + 330 260 330 160 +/* CG.UC..CG */ + 260 190 260 90 + 260 190 260 90 + 260 190 260 90 + 260 190 260 90 +/* CG.UG..CG */ + 140 70 140 -30 + 350 280 350 180 + 260 190 260 90 + 330 260 330 160 +/* CG.UU..CG */ + 280 210 280 110 + 260 190 260 90 + 260 190 260 90 + 160 90 160 -10 +/* CG.AA..GU */ + 190 190 70 210 + 190 190 70 210 + 70 70 -50 90 + 260 260 140 280 +/* CG.AC..GU */ + 190 190 70 210 + 190 190 70 210 + 190 190 70 210 + 190 190 70 210 +/* CG.AG..GU */ + 70 70 -50 90 + 280 280 160 300 + 190 190 70 210 + 260 260 140 280 +/* CG.AU..GU */ + 210 210 90 230 + 190 190 70 210 + 190 190 70 210 + 90 90 -30 110 +/* CG.CA..GU */ + 190 190 280 190 + 190 190 280 190 + 70 70 160 70 + 260 260 350 260 +/* CG.CC..GU */ + 190 190 280 190 + 190 190 280 190 + 190 190 280 190 + 190 190 280 190 +/* CG.CG..GU */ + 70 70 160 70 + 280 280 370 280 + 190 190 280 190 + 260 260 350 260 +/* CG.CU..GU */ + 210 210 300 210 + 190 190 280 190 + 190 190 280 190 + 90 90 180 90 +/* CG.GA..GU */ + 70 190 190 190 + 70 190 190 190 + -50 70 70 70 + 140 260 260 260 +/* CG.GC..GU */ + 70 190 190 190 + 70 190 190 190 + 70 190 190 190 + 70 190 190 190 +/* CG.GG..GU */ + -50 70 70 70 + 160 280 280 280 + 70 190 190 190 + 140 260 260 260 +/* CG.GU..GU */ + 90 210 210 210 + 70 190 190 190 + 70 190 190 190 + -30 90 90 90 +/* CG.UA..GU */ + 260 190 260 90 + 260 190 260 90 + 140 70 140 -30 + 330 260 330 160 +/* CG.UC..GU */ + 260 190 260 90 + 260 190 260 90 + 260 190 260 90 + 260 190 260 90 +/* CG.UG..GU */ + 140 70 140 -30 + 350 280 350 180 + 260 190 260 90 + 330 260 330 160 +/* CG.UU..GU */ + 280 210 280 110 + 260 190 260 90 + 260 190 260 90 + 160 90 160 -10 +/* CG.AA..UG */ + 240 240 120 260 + 240 240 120 260 + 120 120 0 140 + 360 360 240 380 +/* CG.AC..UG */ + 240 240 120 260 + 240 240 120 260 + 300 300 180 320 + 240 240 120 260 +/* CG.AG..UG */ + 120 120 0 140 + 360 360 240 380 + 240 240 120 260 + 360 360 240 380 +/* CG.AU..UG */ + 300 300 180 320 + 240 240 120 260 + 300 300 180 320 + 140 140 20 160 +/* CG.CA..UG */ + 240 240 330 240 + 240 240 330 240 + 120 120 210 120 + 360 360 450 360 +/* CG.CC..UG */ + 240 240 330 240 + 240 240 330 240 + 300 300 390 300 + 240 240 330 240 +/* CG.CG..UG */ + 120 120 210 120 + 360 360 450 360 + 240 240 330 240 + 360 360 450 360 +/* CG.CU..UG */ + 300 300 390 300 + 240 240 330 240 + 300 300 390 300 + 140 140 230 140 +/* CG.GA..UG */ + 120 240 240 240 + 120 240 240 240 + 0 120 120 120 + 240 360 360 360 +/* CG.GC..UG */ + 120 240 240 240 + 120 240 240 240 + 180 300 300 300 + 120 240 240 240 +/* CG.GG..UG */ + 0 120 120 120 + 240 360 360 360 + 120 240 240 240 + 240 360 360 360 +/* CG.GU..UG */ + 180 300 300 300 + 120 240 240 240 + 180 300 300 300 + 20 140 140 140 +/* CG.UA..UG */ + 310 240 310 140 + 310 240 310 140 + 190 120 190 20 + 430 360 430 260 +/* CG.UC..UG */ + 310 240 310 140 + 310 240 310 140 + 370 300 370 200 + 310 240 310 140 +/* CG.UG..UG */ + 190 120 190 20 + 430 360 430 260 + 310 240 310 140 + 430 360 430 260 +/* CG.UU..UG */ + 370 300 370 200 + 310 240 310 140 + 370 300 370 200 + 210 140 210 40 +/* CG.AA..AU */ + 240 240 120 260 + 240 240 120 260 + 120 120 0 140 + 310 310 190 330 +/* CG.AC..AU */ + 240 240 120 260 + 240 240 120 260 + 290 290 170 310 + 240 240 120 260 +/* CG.AG..AU */ + 120 120 0 140 + 320 320 200 340 + 240 240 120 260 + 310 310 190 330 +/* CG.AU..AU */ + 290 290 170 310 + 240 240 120 260 + 290 290 170 310 + 140 140 20 160 +/* CG.CA..AU */ + 240 240 330 240 + 240 240 330 240 + 120 120 210 120 + 310 310 400 310 +/* CG.CC..AU */ + 240 240 330 240 + 240 240 330 240 + 290 290 380 290 + 240 240 330 240 +/* CG.CG..AU */ + 120 120 210 120 + 320 320 410 320 + 240 240 330 240 + 310 310 400 310 +/* CG.CU..AU */ + 290 290 380 290 + 240 240 330 240 + 290 290 380 290 + 140 140 230 140 +/* CG.GA..AU */ + 120 240 240 240 + 120 240 240 240 + 0 120 120 120 + 190 310 310 310 +/* CG.GC..AU */ + 120 240 240 240 + 120 240 240 240 + 170 290 290 290 + 120 240 240 240 +/* CG.GG..AU */ + 0 120 120 120 + 200 320 320 320 + 120 240 240 240 + 190 310 310 310 +/* CG.GU..AU */ + 170 290 290 290 + 120 240 240 240 + 170 290 290 290 + 20 140 140 140 +/* CG.UA..AU */ + 310 240 310 140 + 310 240 310 140 + 190 120 190 20 + 380 310 380 210 +/* CG.UC..AU */ + 310 240 310 140 + 310 240 310 140 + 360 290 360 190 + 310 240 310 140 +/* CG.UG..AU */ + 190 120 190 20 + 390 320 390 220 + 310 240 310 140 + 380 310 380 210 +/* CG.UU..AU */ + 360 290 360 190 + 310 240 310 140 + 360 290 360 190 + 210 140 210 40 +/* CG.AA..UA */ + 240 240 120 260 + 240 240 120 260 + 120 120 0 140 + 360 360 240 380 +/* CG.AC..UA */ + 240 240 120 260 + 240 240 120 260 + 300 300 180 320 + 240 240 120 260 +/* CG.AG..UA */ + 120 120 0 140 + 360 360 240 380 + 240 240 120 260 + 360 360 240 380 +/* CG.AU..UA */ + 300 300 180 320 + 240 240 120 260 + 300 300 180 320 + 140 140 20 160 +/* CG.CA..UA */ + 240 240 330 240 + 240 240 330 240 + 120 120 210 120 + 360 360 450 360 +/* CG.CC..UA */ + 240 240 330 240 + 240 240 330 240 + 300 300 390 300 + 240 240 330 240 +/* CG.CG..UA */ + 120 120 210 120 + 360 360 450 360 + 240 240 330 240 + 360 360 450 360 +/* CG.CU..UA */ + 300 300 390 300 + 240 240 330 240 + 300 300 390 300 + 140 140 230 140 +/* CG.GA..UA */ + 120 240 240 240 + 120 240 240 240 + 0 120 120 120 + 240 360 360 360 +/* CG.GC..UA */ + 120 240 240 240 + 120 240 240 240 + 180 300 300 300 + 120 240 240 240 +/* CG.GG..UA */ + 0 120 120 120 + 240 360 360 360 + 120 240 240 240 + 240 360 360 360 +/* CG.GU..UA */ + 180 300 300 300 + 120 240 240 240 + 180 300 300 300 + 20 140 140 140 +/* CG.UA..UA */ + 310 240 310 140 + 310 240 310 140 + 190 120 190 20 + 430 360 430 260 +/* CG.UC..UA */ + 310 240 310 140 + 310 240 310 140 + 370 300 370 200 + 310 240 310 140 +/* CG.UG..UA */ + 190 120 190 20 + 430 360 430 260 + 310 240 310 140 + 430 360 430 260 +/* CG.UU..UA */ + 370 300 370 200 + 310 240 310 140 + 370 300 370 200 + 210 140 210 40 +/* CG.AA.. @ */ + 290 290 170 310 + 290 290 170 310 + 290 290 170 310 + 290 290 170 310 +/* CG.AC.. @ */ + 290 290 170 310 + 290 290 170 310 + 290 290 170 310 + 290 290 170 310 +/* CG.AG.. @ */ + 290 290 170 310 + 290 290 170 310 + 290 290 170 310 + 290 290 170 310 +/* CG.AU.. @ */ + 290 290 170 310 + 290 290 170 310 + 290 290 170 310 + 290 290 170 310 +/* CG.CA.. @ */ + 290 290 380 290 + 290 290 380 290 + 290 290 380 290 + 290 290 380 290 +/* CG.CC.. @ */ + 290 290 380 290 + 290 290 380 290 + 290 290 380 290 + 290 290 380 290 +/* CG.CG.. @ */ + 290 290 380 290 + 290 290 380 290 + 290 290 380 290 + 290 290 380 290 +/* CG.CU.. @ */ + 290 290 380 290 + 290 290 380 290 + 290 290 380 290 + 290 290 380 290 +/* CG.GA.. @ */ + 170 290 290 290 + 170 290 290 290 + 170 290 290 290 + 170 290 290 290 +/* CG.GC.. @ */ + 170 290 290 290 + 170 290 290 290 + 170 290 290 290 + 170 290 290 290 +/* CG.GG.. @ */ + 170 290 290 290 + 170 290 290 290 + 170 290 290 290 + 170 290 290 290 +/* CG.GU.. @ */ + 170 290 290 290 + 170 290 290 290 + 170 290 290 290 + 170 290 290 290 +/* CG.UA.. @ */ + 360 290 360 190 + 360 290 360 190 + 360 290 360 190 + 360 290 360 190 +/* CG.UC.. @ */ + 360 290 360 190 + 360 290 360 190 + 360 290 360 190 + 360 290 360 190 +/* CG.UG.. @ */ + 360 290 360 190 + 360 290 360 190 + 360 290 360 190 + 360 290 360 190 +/* CG.UU.. @ */ + 360 290 360 190 + 360 290 360 190 + 360 290 360 190 + 360 290 360 190 +/* GU.AA..GC */ + 190 190 70 210 + 190 190 70 210 + 70 70 -50 90 + 200 200 80 220 +/* GU.AC..GC */ + 190 190 70 210 + 190 190 70 210 + 150 150 30 170 + 190 190 70 210 +/* GU.AG..GC */ + 70 70 -50 90 + 240 240 120 260 + 190 190 70 210 + 200 200 80 220 +/* GU.AU..GC */ + 150 150 30 170 + 190 190 70 210 + 150 150 30 170 + 90 90 -30 110 +/* GU.CA..GC */ + 190 190 280 190 + 190 190 280 190 + 70 70 160 70 + 200 200 290 200 +/* GU.CC..GC */ + 190 190 280 190 + 190 190 280 190 + 150 150 240 150 + 190 190 280 190 +/* GU.CG..GC */ + 70 70 160 70 + 240 240 330 240 + 190 190 280 190 + 200 200 290 200 +/* GU.CU..GC */ + 150 150 240 150 + 190 190 280 190 + 150 150 240 150 + 90 90 180 90 +/* GU.GA..GC */ + 70 190 190 190 + 70 190 190 190 + -50 70 70 70 + 80 200 200 200 +/* GU.GC..GC */ + 70 190 190 190 + 70 190 190 190 + 30 150 150 150 + 70 190 190 190 +/* GU.GG..GC */ + -50 70 70 70 + 120 240 240 240 + 70 190 190 190 + 80 200 200 200 +/* GU.GU..GC */ + 30 150 150 150 + 70 190 190 190 + 30 150 150 150 + -30 90 90 90 +/* GU.UA..GC */ + 260 190 260 90 + 260 190 260 90 + 140 70 140 -30 + 270 200 270 100 +/* GU.UC..GC */ + 260 190 260 90 + 260 190 260 90 + 220 150 220 50 + 260 190 260 90 +/* GU.UG..GC */ + 140 70 140 -30 + 310 240 310 140 + 260 190 260 90 + 270 200 270 100 +/* GU.UU..GC */ + 220 150 220 50 + 260 190 260 90 + 220 150 220 50 + 160 90 160 -10 +/* GU.AA..CG */ + 190 190 70 210 + 190 190 70 210 + 70 70 -50 90 + 260 260 140 280 +/* GU.AC..CG */ + 190 190 70 210 + 190 190 70 210 + 190 190 70 210 + 190 190 70 210 +/* GU.AG..CG */ + 70 70 -50 90 + 280 280 160 300 + 190 190 70 210 + 260 260 140 280 +/* GU.AU..CG */ + 210 210 90 230 + 190 190 70 210 + 190 190 70 210 + 90 90 -30 110 +/* GU.CA..CG */ + 190 190 280 190 + 190 190 280 190 + 70 70 160 70 + 260 260 350 260 +/* GU.CC..CG */ + 190 190 280 190 + 190 190 280 190 + 190 190 280 190 + 190 190 280 190 +/* GU.CG..CG */ + 70 70 160 70 + 280 280 370 280 + 190 190 280 190 + 260 260 350 260 +/* GU.CU..CG */ + 210 210 300 210 + 190 190 280 190 + 190 190 280 190 + 90 90 180 90 +/* GU.GA..CG */ + 70 190 190 190 + 70 190 190 190 + -50 70 70 70 + 140 260 260 260 +/* GU.GC..CG */ + 70 190 190 190 + 70 190 190 190 + 70 190 190 190 + 70 190 190 190 +/* GU.GG..CG */ + -50 70 70 70 + 160 280 280 280 + 70 190 190 190 + 140 260 260 260 +/* GU.GU..CG */ + 90 210 210 210 + 70 190 190 190 + 70 190 190 190 + -30 90 90 90 +/* GU.UA..CG */ + 260 190 260 90 + 260 190 260 90 + 140 70 140 -30 + 330 260 330 160 +/* GU.UC..CG */ + 260 190 260 90 + 260 190 260 90 + 260 190 260 90 + 260 190 260 90 +/* GU.UG..CG */ + 140 70 140 -30 + 350 280 350 180 + 260 190 260 90 + 330 260 330 160 +/* GU.UU..CG */ + 280 210 280 110 + 260 190 260 90 + 260 190 260 90 + 160 90 160 -10 +/* GU.AA..GU */ + 190 190 70 210 + 190 190 70 210 + 70 70 -50 90 + 260 260 140 280 +/* GU.AC..GU */ + 190 190 70 210 + 190 190 70 210 + 190 190 70 210 + 190 190 70 210 +/* GU.AG..GU */ + 70 70 -50 90 + 280 280 160 300 + 190 190 70 210 + 260 260 140 280 +/* GU.AU..GU */ + 210 210 90 230 + 190 190 70 210 + 190 190 70 210 + 90 90 -30 110 +/* GU.CA..GU */ + 190 190 280 190 + 190 190 280 190 + 70 70 160 70 + 260 260 350 260 +/* GU.CC..GU */ + 190 190 280 190 + 190 190 280 190 + 190 190 280 190 + 190 190 280 190 +/* GU.CG..GU */ + 70 70 160 70 + 280 280 370 280 + 190 190 280 190 + 260 260 350 260 +/* GU.CU..GU */ + 210 210 300 210 + 190 190 280 190 + 190 190 280 190 + 90 90 180 90 +/* GU.GA..GU */ + 70 190 190 190 + 70 190 190 190 + -50 70 70 70 + 140 260 260 260 +/* GU.GC..GU */ + 70 190 190 190 + 70 190 190 190 + 70 190 190 190 + 70 190 190 190 +/* GU.GG..GU */ + -50 70 70 70 + 160 280 280 280 + 70 190 190 190 + 140 260 260 260 +/* GU.GU..GU */ + 90 210 210 210 + 70 190 190 190 + 70 190 190 190 + -30 90 90 90 +/* GU.UA..GU */ + 260 190 260 90 + 260 190 260 90 + 140 70 140 -30 + 330 260 330 160 +/* GU.UC..GU */ + 260 190 260 90 + 260 190 260 90 + 260 190 260 90 + 260 190 260 90 +/* GU.UG..GU */ + 140 70 140 -30 + 350 280 350 180 + 260 190 260 90 + 330 260 330 160 +/* GU.UU..GU */ + 280 210 280 110 + 260 190 260 90 + 260 190 260 90 + 160 90 160 -10 +/* GU.AA..UG */ + 240 240 120 260 + 240 240 120 260 + 120 120 0 140 + 360 360 240 380 +/* GU.AC..UG */ + 240 240 120 260 + 240 240 120 260 + 300 300 180 320 + 240 240 120 260 +/* GU.AG..UG */ + 120 120 0 140 + 360 360 240 380 + 240 240 120 260 + 360 360 240 380 +/* GU.AU..UG */ + 300 300 180 320 + 240 240 120 260 + 300 300 180 320 + 140 140 20 160 +/* GU.CA..UG */ + 240 240 330 240 + 240 240 330 240 + 120 120 210 120 + 360 360 450 360 +/* GU.CC..UG */ + 240 240 330 240 + 240 240 330 240 + 300 300 390 300 + 240 240 330 240 +/* GU.CG..UG */ + 120 120 210 120 + 360 360 450 360 + 240 240 330 240 + 360 360 450 360 +/* GU.CU..UG */ + 300 300 390 300 + 240 240 330 240 + 300 300 390 300 + 140 140 230 140 +/* GU.GA..UG */ + 120 240 240 240 + 120 240 240 240 + 0 120 120 120 + 240 360 360 360 +/* GU.GC..UG */ + 120 240 240 240 + 120 240 240 240 + 180 300 300 300 + 120 240 240 240 +/* GU.GG..UG */ + 0 120 120 120 + 240 360 360 360 + 120 240 240 240 + 240 360 360 360 +/* GU.GU..UG */ + 180 300 300 300 + 120 240 240 240 + 180 300 300 300 + 20 140 140 140 +/* GU.UA..UG */ + 310 240 310 140 + 310 240 310 140 + 190 120 190 20 + 430 360 430 260 +/* GU.UC..UG */ + 310 240 310 140 + 310 240 310 140 + 370 300 370 200 + 310 240 310 140 +/* GU.UG..UG */ + 190 120 190 20 + 430 360 430 260 + 310 240 310 140 + 430 360 430 260 +/* GU.UU..UG */ + 370 300 370 200 + 310 240 310 140 + 370 300 370 200 + 210 140 210 40 +/* GU.AA..AU */ + 240 240 120 260 + 240 240 120 260 + 120 120 0 140 + 310 310 190 330 +/* GU.AC..AU */ + 240 240 120 260 + 240 240 120 260 + 290 290 170 310 + 240 240 120 260 +/* GU.AG..AU */ + 120 120 0 140 + 320 320 200 340 + 240 240 120 260 + 310 310 190 330 +/* GU.AU..AU */ + 290 290 170 310 + 240 240 120 260 + 290 290 170 310 + 140 140 20 160 +/* GU.CA..AU */ + 240 240 330 240 + 240 240 330 240 + 120 120 210 120 + 310 310 400 310 +/* GU.CC..AU */ + 240 240 330 240 + 240 240 330 240 + 290 290 380 290 + 240 240 330 240 +/* GU.CG..AU */ + 120 120 210 120 + 320 320 410 320 + 240 240 330 240 + 310 310 400 310 +/* GU.CU..AU */ + 290 290 380 290 + 240 240 330 240 + 290 290 380 290 + 140 140 230 140 +/* GU.GA..AU */ + 120 240 240 240 + 120 240 240 240 + 0 120 120 120 + 190 310 310 310 +/* GU.GC..AU */ + 120 240 240 240 + 120 240 240 240 + 170 290 290 290 + 120 240 240 240 +/* GU.GG..AU */ + 0 120 120 120 + 200 320 320 320 + 120 240 240 240 + 190 310 310 310 +/* GU.GU..AU */ + 170 290 290 290 + 120 240 240 240 + 170 290 290 290 + 20 140 140 140 +/* GU.UA..AU */ + 310 240 310 140 + 310 240 310 140 + 190 120 190 20 + 380 310 380 210 +/* GU.UC..AU */ + 310 240 310 140 + 310 240 310 140 + 360 290 360 190 + 310 240 310 140 +/* GU.UG..AU */ + 190 120 190 20 + 390 320 390 220 + 310 240 310 140 + 380 310 380 210 +/* GU.UU..AU */ + 360 290 360 190 + 310 240 310 140 + 360 290 360 190 + 210 140 210 40 +/* GU.AA..UA */ + 240 240 120 260 + 240 240 120 260 + 120 120 0 140 + 360 360 240 380 +/* GU.AC..UA */ + 240 240 120 260 + 240 240 120 260 + 300 300 180 320 + 240 240 120 260 +/* GU.AG..UA */ + 120 120 0 140 + 360 360 240 380 + 240 240 120 260 + 360 360 240 380 +/* GU.AU..UA */ + 300 300 180 320 + 240 240 120 260 + 300 300 180 320 + 140 140 20 160 +/* GU.CA..UA */ + 240 240 330 240 + 240 240 330 240 + 120 120 210 120 + 360 360 450 360 +/* GU.CC..UA */ + 240 240 330 240 + 240 240 330 240 + 300 300 390 300 + 240 240 330 240 +/* GU.CG..UA */ + 120 120 210 120 + 360 360 450 360 + 240 240 330 240 + 360 360 450 360 +/* GU.CU..UA */ + 300 300 390 300 + 240 240 330 240 + 300 300 390 300 + 140 140 230 140 +/* GU.GA..UA */ + 120 240 240 240 + 120 240 240 240 + 0 120 120 120 + 240 360 360 360 +/* GU.GC..UA */ + 120 240 240 240 + 120 240 240 240 + 180 300 300 300 + 120 240 240 240 +/* GU.GG..UA */ + 0 120 120 120 + 240 360 360 360 + 120 240 240 240 + 240 360 360 360 +/* GU.GU..UA */ + 180 300 300 300 + 120 240 240 240 + 180 300 300 300 + 20 140 140 140 +/* GU.UA..UA */ + 310 240 310 140 + 310 240 310 140 + 190 120 190 20 + 430 360 430 260 +/* GU.UC..UA */ + 310 240 310 140 + 310 240 310 140 + 370 300 370 200 + 310 240 310 140 +/* GU.UG..UA */ + 190 120 190 20 + 430 360 430 260 + 310 240 310 140 + 430 360 430 260 +/* GU.UU..UA */ + 370 300 370 200 + 310 240 310 140 + 370 300 370 200 + 210 140 210 40 +/* GU.AA.. @ */ + 290 290 170 310 + 290 290 170 310 + 290 290 170 310 + 290 290 170 310 +/* GU.AC.. @ */ + 290 290 170 310 + 290 290 170 310 + 290 290 170 310 + 290 290 170 310 +/* GU.AG.. @ */ + 290 290 170 310 + 290 290 170 310 + 290 290 170 310 + 290 290 170 310 +/* GU.AU.. @ */ + 290 290 170 310 + 290 290 170 310 + 290 290 170 310 + 290 290 170 310 +/* GU.CA.. @ */ + 290 290 380 290 + 290 290 380 290 + 290 290 380 290 + 290 290 380 290 +/* GU.CC.. @ */ + 290 290 380 290 + 290 290 380 290 + 290 290 380 290 + 290 290 380 290 +/* GU.CG.. @ */ + 290 290 380 290 + 290 290 380 290 + 290 290 380 290 + 290 290 380 290 +/* GU.CU.. @ */ + 290 290 380 290 + 290 290 380 290 + 290 290 380 290 + 290 290 380 290 +/* GU.GA.. @ */ + 170 290 290 290 + 170 290 290 290 + 170 290 290 290 + 170 290 290 290 +/* GU.GC.. @ */ + 170 290 290 290 + 170 290 290 290 + 170 290 290 290 + 170 290 290 290 +/* GU.GG.. @ */ + 170 290 290 290 + 170 290 290 290 + 170 290 290 290 + 170 290 290 290 +/* GU.GU.. @ */ + 170 290 290 290 + 170 290 290 290 + 170 290 290 290 + 170 290 290 290 +/* GU.UA.. @ */ + 360 290 360 190 + 360 290 360 190 + 360 290 360 190 + 360 290 360 190 +/* GU.UC.. @ */ + 360 290 360 190 + 360 290 360 190 + 360 290 360 190 + 360 290 360 190 +/* GU.UG.. @ */ + 360 290 360 190 + 360 290 360 190 + 360 290 360 190 + 360 290 360 190 +/* GU.UU.. @ */ + 360 290 360 190 + 360 290 360 190 + 360 290 360 190 + 360 290 360 190 +/* UG.AA..GC */ + 240 240 120 300 + 240 240 120 300 + 120 120 0 180 + 250 250 130 310 +/* UG.AC..GC */ + 240 240 120 300 + 240 240 120 300 + 200 200 80 260 + 240 240 120 300 +/* UG.AG..GC */ + 120 120 0 180 + 290 290 170 350 + 240 240 120 300 + 250 250 130 310 +/* UG.AU..GC */ + 200 200 80 260 + 240 240 120 300 + 200 200 80 260 + 140 140 20 200 +/* UG.CA..GC */ + 240 240 360 240 + 240 240 360 240 + 120 120 240 120 + 250 250 370 250 +/* UG.CC..GC */ + 240 240 360 240 + 240 240 360 240 + 200 200 320 200 + 240 240 360 240 +/* UG.CG..GC */ + 120 120 240 120 + 290 290 410 290 + 240 240 360 240 + 250 250 370 250 +/* UG.CU..GC */ + 200 200 320 200 + 240 240 360 240 + 200 200 320 200 + 140 140 260 140 +/* UG.GA..GC */ + 120 300 240 300 + 120 300 240 300 + 0 180 120 180 + 130 310 250 310 +/* UG.GC..GC */ + 120 300 240 300 + 120 300 240 300 + 80 260 200 260 + 120 300 240 300 +/* UG.GG..GC */ + 0 180 120 180 + 170 350 290 350 + 120 300 240 300 + 130 310 250 310 +/* UG.GU..GC */ + 80 260 200 260 + 120 300 240 300 + 80 260 200 260 + 20 200 140 200 +/* UG.UA..GC */ + 360 240 360 140 + 360 240 360 140 + 240 120 240 20 + 370 250 370 150 +/* UG.UC..GC */ + 360 240 360 140 + 360 240 360 140 + 320 200 320 100 + 360 240 360 140 +/* UG.UG..GC */ + 240 120 240 20 + 410 290 410 190 + 360 240 360 140 + 370 250 370 150 +/* UG.UU..GC */ + 320 200 320 100 + 360 240 360 140 + 320 200 320 100 + 260 140 260 40 +/* UG.AA..CG */ + 240 240 120 300 + 240 240 120 300 + 120 120 0 180 + 310 310 190 370 +/* UG.AC..CG */ + 240 240 120 300 + 240 240 120 300 + 240 240 120 300 + 240 240 120 300 +/* UG.AG..CG */ + 120 120 0 180 + 330 330 210 390 + 240 240 120 300 + 310 310 190 370 +/* UG.AU..CG */ + 260 260 140 320 + 240 240 120 300 + 240 240 120 300 + 140 140 20 200 +/* UG.CA..CG */ + 240 240 360 240 + 240 240 360 240 + 120 120 240 120 + 310 310 430 310 +/* UG.CC..CG */ + 240 240 360 240 + 240 240 360 240 + 240 240 360 240 + 240 240 360 240 +/* UG.CG..CG */ + 120 120 240 120 + 330 330 450 330 + 240 240 360 240 + 310 310 430 310 +/* UG.CU..CG */ + 260 260 380 260 + 240 240 360 240 + 240 240 360 240 + 140 140 260 140 +/* UG.GA..CG */ + 120 300 240 300 + 120 300 240 300 + 0 180 120 180 + 190 370 310 370 +/* UG.GC..CG */ + 120 300 240 300 + 120 300 240 300 + 120 300 240 300 + 120 300 240 300 +/* UG.GG..CG */ + 0 180 120 180 + 210 390 330 390 + 120 300 240 300 + 190 370 310 370 +/* UG.GU..CG */ + 140 320 260 320 + 120 300 240 300 + 120 300 240 300 + 20 200 140 200 +/* UG.UA..CG */ + 360 240 360 140 + 360 240 360 140 + 240 120 240 20 + 430 310 430 210 +/* UG.UC..CG */ + 360 240 360 140 + 360 240 360 140 + 360 240 360 140 + 360 240 360 140 +/* UG.UG..CG */ + 240 120 240 20 + 450 330 450 230 + 360 240 360 140 + 430 310 430 210 +/* UG.UU..CG */ + 380 260 380 160 + 360 240 360 140 + 360 240 360 140 + 260 140 260 40 +/* UG.AA..GU */ + 240 240 120 300 + 240 240 120 300 + 120 120 0 180 + 310 310 190 370 +/* UG.AC..GU */ + 240 240 120 300 + 240 240 120 300 + 240 240 120 300 + 240 240 120 300 +/* UG.AG..GU */ + 120 120 0 180 + 330 330 210 390 + 240 240 120 300 + 310 310 190 370 +/* UG.AU..GU */ + 260 260 140 320 + 240 240 120 300 + 240 240 120 300 + 140 140 20 200 +/* UG.CA..GU */ + 240 240 360 240 + 240 240 360 240 + 120 120 240 120 + 310 310 430 310 +/* UG.CC..GU */ + 240 240 360 240 + 240 240 360 240 + 240 240 360 240 + 240 240 360 240 +/* UG.CG..GU */ + 120 120 240 120 + 330 330 450 330 + 240 240 360 240 + 310 310 430 310 +/* UG.CU..GU */ + 260 260 380 260 + 240 240 360 240 + 240 240 360 240 + 140 140 260 140 +/* UG.GA..GU */ + 120 300 240 300 + 120 300 240 300 + 0 180 120 180 + 190 370 310 370 +/* UG.GC..GU */ + 120 300 240 300 + 120 300 240 300 + 120 300 240 300 + 120 300 240 300 +/* UG.GG..GU */ + 0 180 120 180 + 210 390 330 390 + 120 300 240 300 + 190 370 310 370 +/* UG.GU..GU */ + 140 320 260 320 + 120 300 240 300 + 120 300 240 300 + 20 200 140 200 +/* UG.UA..GU */ + 360 240 360 140 + 360 240 360 140 + 240 120 240 20 + 430 310 430 210 +/* UG.UC..GU */ + 360 240 360 140 + 360 240 360 140 + 360 240 360 140 + 360 240 360 140 +/* UG.UG..GU */ + 240 120 240 20 + 450 330 450 230 + 360 240 360 140 + 430 310 430 210 +/* UG.UU..GU */ + 380 260 380 160 + 360 240 360 140 + 360 240 360 140 + 260 140 260 40 +/* UG.AA..UG */ + 290 290 170 350 + 290 290 170 350 + 170 170 50 230 + 410 410 290 470 +/* UG.AC..UG */ + 290 290 170 350 + 290 290 170 350 + 350 350 230 410 + 290 290 170 350 +/* UG.AG..UG */ + 170 170 50 230 + 410 410 290 470 + 290 290 170 350 + 410 410 290 470 +/* UG.AU..UG */ + 350 350 230 410 + 290 290 170 350 + 350 350 230 410 + 190 190 70 250 +/* UG.CA..UG */ + 290 290 410 290 + 290 290 410 290 + 170 170 290 170 + 410 410 530 410 +/* UG.CC..UG */ + 290 290 410 290 + 290 290 410 290 + 350 350 470 350 + 290 290 410 290 +/* UG.CG..UG */ + 170 170 290 170 + 410 410 530 410 + 290 290 410 290 + 410 410 530 410 +/* UG.CU..UG */ + 350 350 470 350 + 290 290 410 290 + 350 350 470 350 + 190 190 310 190 +/* UG.GA..UG */ + 170 350 290 350 + 170 350 290 350 + 50 230 170 230 + 290 470 410 470 +/* UG.GC..UG */ + 170 350 290 350 + 170 350 290 350 + 230 410 350 410 + 170 350 290 350 +/* UG.GG..UG */ + 50 230 170 230 + 290 470 410 470 + 170 350 290 350 + 290 470 410 470 +/* UG.GU..UG */ + 230 410 350 410 + 170 350 290 350 + 230 410 350 410 + 70 250 190 250 +/* UG.UA..UG */ + 410 290 410 190 + 410 290 410 190 + 290 170 290 70 + 530 410 530 310 +/* UG.UC..UG */ + 410 290 410 190 + 410 290 410 190 + 470 350 470 250 + 410 290 410 190 +/* UG.UG..UG */ + 290 170 290 70 + 530 410 530 310 + 410 290 410 190 + 530 410 530 310 +/* UG.UU..UG */ + 470 350 470 250 + 410 290 410 190 + 470 350 470 250 + 310 190 310 90 +/* UG.AA..AU */ + 290 290 170 350 + 290 290 170 350 + 170 170 50 230 + 360 360 240 420 +/* UG.AC..AU */ + 290 290 170 350 + 290 290 170 350 + 340 340 220 400 + 290 290 170 350 +/* UG.AG..AU */ + 170 170 50 230 + 370 370 250 430 + 290 290 170 350 + 360 360 240 420 +/* UG.AU..AU */ + 340 340 220 400 + 290 290 170 350 + 340 340 220 400 + 190 190 70 250 +/* UG.CA..AU */ + 290 290 410 290 + 290 290 410 290 + 170 170 290 170 + 360 360 480 360 +/* UG.CC..AU */ + 290 290 410 290 + 290 290 410 290 + 340 340 460 340 + 290 290 410 290 +/* UG.CG..AU */ + 170 170 290 170 + 370 370 490 370 + 290 290 410 290 + 360 360 480 360 +/* UG.CU..AU */ + 340 340 460 340 + 290 290 410 290 + 340 340 460 340 + 190 190 310 190 +/* UG.GA..AU */ + 170 350 290 350 + 170 350 290 350 + 50 230 170 230 + 240 420 360 420 +/* UG.GC..AU */ + 170 350 290 350 + 170 350 290 350 + 220 400 340 400 + 170 350 290 350 +/* UG.GG..AU */ + 50 230 170 230 + 250 430 370 430 + 170 350 290 350 + 240 420 360 420 +/* UG.GU..AU */ + 220 400 340 400 + 170 350 290 350 + 220 400 340 400 + 70 250 190 250 +/* UG.UA..AU */ + 410 290 410 190 + 410 290 410 190 + 290 170 290 70 + 480 360 480 260 +/* UG.UC..AU */ + 410 290 410 190 + 410 290 410 190 + 460 340 460 240 + 410 290 410 190 +/* UG.UG..AU */ + 290 170 290 70 + 490 370 490 270 + 410 290 410 190 + 480 360 480 260 +/* UG.UU..AU */ + 460 340 460 240 + 410 290 410 190 + 460 340 460 240 + 310 190 310 90 +/* UG.AA..UA */ + 290 290 170 350 + 290 290 170 350 + 170 170 50 230 + 410 410 290 470 +/* UG.AC..UA */ + 290 290 170 350 + 290 290 170 350 + 350 350 230 410 + 290 290 170 350 +/* UG.AG..UA */ + 170 170 50 230 + 410 410 290 470 + 290 290 170 350 + 410 410 290 470 +/* UG.AU..UA */ + 350 350 230 410 + 290 290 170 350 + 350 350 230 410 + 190 190 70 250 +/* UG.CA..UA */ + 290 290 410 290 + 290 290 410 290 + 170 170 290 170 + 410 410 530 410 +/* UG.CC..UA */ + 290 290 410 290 + 290 290 410 290 + 350 350 470 350 + 290 290 410 290 +/* UG.CG..UA */ + 170 170 290 170 + 410 410 530 410 + 290 290 410 290 + 410 410 530 410 +/* UG.CU..UA */ + 350 350 470 350 + 290 290 410 290 + 350 350 470 350 + 190 190 310 190 +/* UG.GA..UA */ + 170 350 290 350 + 170 350 290 350 + 50 230 170 230 + 290 470 410 470 +/* UG.GC..UA */ + 170 350 290 350 + 170 350 290 350 + 230 410 350 410 + 170 350 290 350 +/* UG.GG..UA */ + 50 230 170 230 + 290 470 410 470 + 170 350 290 350 + 290 470 410 470 +/* UG.GU..UA */ + 230 410 350 410 + 170 350 290 350 + 230 410 350 410 + 70 250 190 250 +/* UG.UA..UA */ + 410 290 410 190 + 410 290 410 190 + 290 170 290 70 + 530 410 530 310 +/* UG.UC..UA */ + 410 290 410 190 + 410 290 410 190 + 470 350 470 250 + 410 290 410 190 +/* UG.UG..UA */ + 290 170 290 70 + 530 410 530 310 + 410 290 410 190 + 530 410 530 310 +/* UG.UU..UA */ + 470 350 470 250 + 410 290 410 190 + 470 350 470 250 + 310 190 310 90 +/* UG.AA.. @ */ + 340 340 220 400 + 340 340 220 400 + 340 340 220 400 + 340 340 220 400 +/* UG.AC.. @ */ + 340 340 220 400 + 340 340 220 400 + 340 340 220 400 + 340 340 220 400 +/* UG.AG.. @ */ + 340 340 220 400 + 340 340 220 400 + 340 340 220 400 + 340 340 220 400 +/* UG.AU.. @ */ + 340 340 220 400 + 340 340 220 400 + 340 340 220 400 + 340 340 220 400 +/* UG.CA.. @ */ + 340 340 460 340 + 340 340 460 340 + 340 340 460 340 + 340 340 460 340 +/* UG.CC.. @ */ + 340 340 460 340 + 340 340 460 340 + 340 340 460 340 + 340 340 460 340 +/* UG.CG.. @ */ + 340 340 460 340 + 340 340 460 340 + 340 340 460 340 + 340 340 460 340 +/* UG.CU.. @ */ + 340 340 460 340 + 340 340 460 340 + 340 340 460 340 + 340 340 460 340 +/* UG.GA.. @ */ + 220 400 340 400 + 220 400 340 400 + 220 400 340 400 + 220 400 340 400 +/* UG.GC.. @ */ + 220 400 340 400 + 220 400 340 400 + 220 400 340 400 + 220 400 340 400 +/* UG.GG.. @ */ + 220 400 340 400 + 220 400 340 400 + 220 400 340 400 + 220 400 340 400 +/* UG.GU.. @ */ + 220 400 340 400 + 220 400 340 400 + 220 400 340 400 + 220 400 340 400 +/* UG.UA.. @ */ + 460 340 460 240 + 460 340 460 240 + 460 340 460 240 + 460 340 460 240 +/* UG.UC.. @ */ + 460 340 460 240 + 460 340 460 240 + 460 340 460 240 + 460 340 460 240 +/* UG.UG.. @ */ + 460 340 460 240 + 460 340 460 240 + 460 340 460 240 + 460 340 460 240 +/* UG.UU.. @ */ + 460 340 460 240 + 460 340 460 240 + 460 340 460 240 + 460 340 460 240 +/* AU.AA..GC */ + 240 240 120 290 + 240 240 120 290 + 120 120 0 170 + 250 250 130 300 +/* AU.AC..GC */ + 240 240 120 290 + 240 240 120 290 + 200 200 80 250 + 240 240 120 290 +/* AU.AG..GC */ + 120 120 0 170 + 290 290 170 340 + 240 240 120 290 + 250 250 130 300 +/* AU.AU..GC */ + 200 200 80 250 + 240 240 120 290 + 200 200 80 250 + 140 140 20 190 +/* AU.CA..GC */ + 240 240 320 240 + 240 240 320 240 + 120 120 200 120 + 250 250 330 250 +/* AU.CC..GC */ + 240 240 320 240 + 240 240 320 240 + 200 200 280 200 + 240 240 320 240 +/* AU.CG..GC */ + 120 120 200 120 + 290 290 370 290 + 240 240 320 240 + 250 250 330 250 +/* AU.CU..GC */ + 200 200 280 200 + 240 240 320 240 + 200 200 280 200 + 140 140 220 140 +/* AU.GA..GC */ + 120 290 240 290 + 120 290 240 290 + 0 170 120 170 + 130 300 250 300 +/* AU.GC..GC */ + 120 290 240 290 + 120 290 240 290 + 80 250 200 250 + 120 290 240 290 +/* AU.GG..GC */ + 0 170 120 170 + 170 340 290 340 + 120 290 240 290 + 130 300 250 300 +/* AU.GU..GC */ + 80 250 200 250 + 120 290 240 290 + 80 250 200 250 + 20 190 140 190 +/* AU.UA..GC */ + 310 240 310 140 + 310 240 310 140 + 190 120 190 20 + 320 250 320 150 +/* AU.UC..GC */ + 310 240 310 140 + 310 240 310 140 + 270 200 270 100 + 310 240 310 140 +/* AU.UG..GC */ + 190 120 190 20 + 360 290 360 190 + 310 240 310 140 + 320 250 320 150 +/* AU.UU..GC */ + 270 200 270 100 + 310 240 310 140 + 270 200 270 100 + 210 140 210 40 +/* AU.AA..CG */ + 240 240 120 290 + 240 240 120 290 + 120 120 0 170 + 310 310 190 360 +/* AU.AC..CG */ + 240 240 120 290 + 240 240 120 290 + 240 240 120 290 + 240 240 120 290 +/* AU.AG..CG */ + 120 120 0 170 + 330 330 210 380 + 240 240 120 290 + 310 310 190 360 +/* AU.AU..CG */ + 260 260 140 310 + 240 240 120 290 + 240 240 120 290 + 140 140 20 190 +/* AU.CA..CG */ + 240 240 320 240 + 240 240 320 240 + 120 120 200 120 + 310 310 390 310 +/* AU.CC..CG */ + 240 240 320 240 + 240 240 320 240 + 240 240 320 240 + 240 240 320 240 +/* AU.CG..CG */ + 120 120 200 120 + 330 330 410 330 + 240 240 320 240 + 310 310 390 310 +/* AU.CU..CG */ + 260 260 340 260 + 240 240 320 240 + 240 240 320 240 + 140 140 220 140 +/* AU.GA..CG */ + 120 290 240 290 + 120 290 240 290 + 0 170 120 170 + 190 360 310 360 +/* AU.GC..CG */ + 120 290 240 290 + 120 290 240 290 + 120 290 240 290 + 120 290 240 290 +/* AU.GG..CG */ + 0 170 120 170 + 210 380 330 380 + 120 290 240 290 + 190 360 310 360 +/* AU.GU..CG */ + 140 310 260 310 + 120 290 240 290 + 120 290 240 290 + 20 190 140 190 +/* AU.UA..CG */ + 310 240 310 140 + 310 240 310 140 + 190 120 190 20 + 380 310 380 210 +/* AU.UC..CG */ + 310 240 310 140 + 310 240 310 140 + 310 240 310 140 + 310 240 310 140 +/* AU.UG..CG */ + 190 120 190 20 + 400 330 400 230 + 310 240 310 140 + 380 310 380 210 +/* AU.UU..CG */ + 330 260 330 160 + 310 240 310 140 + 310 240 310 140 + 210 140 210 40 +/* AU.AA..GU */ + 240 240 120 290 + 240 240 120 290 + 120 120 0 170 + 310 310 190 360 +/* AU.AC..GU */ + 240 240 120 290 + 240 240 120 290 + 240 240 120 290 + 240 240 120 290 +/* AU.AG..GU */ + 120 120 0 170 + 330 330 210 380 + 240 240 120 290 + 310 310 190 360 +/* AU.AU..GU */ + 260 260 140 310 + 240 240 120 290 + 240 240 120 290 + 140 140 20 190 +/* AU.CA..GU */ + 240 240 320 240 + 240 240 320 240 + 120 120 200 120 + 310 310 390 310 +/* AU.CC..GU */ + 240 240 320 240 + 240 240 320 240 + 240 240 320 240 + 240 240 320 240 +/* AU.CG..GU */ + 120 120 200 120 + 330 330 410 330 + 240 240 320 240 + 310 310 390 310 +/* AU.CU..GU */ + 260 260 340 260 + 240 240 320 240 + 240 240 320 240 + 140 140 220 140 +/* AU.GA..GU */ + 120 290 240 290 + 120 290 240 290 + 0 170 120 170 + 190 360 310 360 +/* AU.GC..GU */ + 120 290 240 290 + 120 290 240 290 + 120 290 240 290 + 120 290 240 290 +/* AU.GG..GU */ + 0 170 120 170 + 210 380 330 380 + 120 290 240 290 + 190 360 310 360 +/* AU.GU..GU */ + 140 310 260 310 + 120 290 240 290 + 120 290 240 290 + 20 190 140 190 +/* AU.UA..GU */ + 310 240 310 140 + 310 240 310 140 + 190 120 190 20 + 380 310 380 210 +/* AU.UC..GU */ + 310 240 310 140 + 310 240 310 140 + 310 240 310 140 + 310 240 310 140 +/* AU.UG..GU */ + 190 120 190 20 + 400 330 400 230 + 310 240 310 140 + 380 310 380 210 +/* AU.UU..GU */ + 330 260 330 160 + 310 240 310 140 + 310 240 310 140 + 210 140 210 40 +/* AU.AA..UG */ + 290 290 170 340 + 290 290 170 340 + 170 170 50 220 + 410 410 290 460 +/* AU.AC..UG */ + 290 290 170 340 + 290 290 170 340 + 350 350 230 400 + 290 290 170 340 +/* AU.AG..UG */ + 170 170 50 220 + 410 410 290 460 + 290 290 170 340 + 410 410 290 460 +/* AU.AU..UG */ + 350 350 230 400 + 290 290 170 340 + 350 350 230 400 + 190 190 70 240 +/* AU.CA..UG */ + 290 290 370 290 + 290 290 370 290 + 170 170 250 170 + 410 410 490 410 +/* AU.CC..UG */ + 290 290 370 290 + 290 290 370 290 + 350 350 430 350 + 290 290 370 290 +/* AU.CG..UG */ + 170 170 250 170 + 410 410 490 410 + 290 290 370 290 + 410 410 490 410 +/* AU.CU..UG */ + 350 350 430 350 + 290 290 370 290 + 350 350 430 350 + 190 190 270 190 +/* AU.GA..UG */ + 170 340 290 340 + 170 340 290 340 + 50 220 170 220 + 290 460 410 460 +/* AU.GC..UG */ + 170 340 290 340 + 170 340 290 340 + 230 400 350 400 + 170 340 290 340 +/* AU.GG..UG */ + 50 220 170 220 + 290 460 410 460 + 170 340 290 340 + 290 460 410 460 +/* AU.GU..UG */ + 230 400 350 400 + 170 340 290 340 + 230 400 350 400 + 70 240 190 240 +/* AU.UA..UG */ + 360 290 360 190 + 360 290 360 190 + 240 170 240 70 + 480 410 480 310 +/* AU.UC..UG */ + 360 290 360 190 + 360 290 360 190 + 420 350 420 250 + 360 290 360 190 +/* AU.UG..UG */ + 240 170 240 70 + 480 410 480 310 + 360 290 360 190 + 480 410 480 310 +/* AU.UU..UG */ + 420 350 420 250 + 360 290 360 190 + 420 350 420 250 + 260 190 260 90 +/* AU.AA..AU */ + 290 290 170 340 + 290 290 170 340 + 170 170 50 220 + 360 360 240 410 +/* AU.AC..AU */ + 290 290 170 340 + 290 290 170 340 + 340 340 220 390 + 290 290 170 340 +/* AU.AG..AU */ + 170 170 50 220 + 370 370 250 420 + 290 290 170 340 + 360 360 240 410 +/* AU.AU..AU */ + 340 340 220 390 + 290 290 170 340 + 340 340 220 390 + 190 190 70 240 +/* AU.CA..AU */ + 290 290 370 290 + 290 290 370 290 + 170 170 250 170 + 360 360 440 360 +/* AU.CC..AU */ + 290 290 370 290 + 290 290 370 290 + 340 340 420 340 + 290 290 370 290 +/* AU.CG..AU */ + 170 170 250 170 + 370 370 450 370 + 290 290 370 290 + 360 360 440 360 +/* AU.CU..AU */ + 340 340 420 340 + 290 290 370 290 + 340 340 420 340 + 190 190 270 190 +/* AU.GA..AU */ + 170 340 290 340 + 170 340 290 340 + 50 220 170 220 + 240 410 360 410 +/* AU.GC..AU */ + 170 340 290 340 + 170 340 290 340 + 220 390 340 390 + 170 340 290 340 +/* AU.GG..AU */ + 50 220 170 220 + 250 420 370 420 + 170 340 290 340 + 240 410 360 410 +/* AU.GU..AU */ + 220 390 340 390 + 170 340 290 340 + 220 390 340 390 + 70 240 190 240 +/* AU.UA..AU */ + 360 290 360 190 + 360 290 360 190 + 240 170 240 70 + 430 360 430 260 +/* AU.UC..AU */ + 360 290 360 190 + 360 290 360 190 + 410 340 410 240 + 360 290 360 190 +/* AU.UG..AU */ + 240 170 240 70 + 440 370 440 270 + 360 290 360 190 + 430 360 430 260 +/* AU.UU..AU */ + 410 340 410 240 + 360 290 360 190 + 410 340 410 240 + 260 190 260 90 +/* AU.AA..UA */ + 290 290 170 340 + 290 290 170 340 + 170 170 50 220 + 410 410 290 460 +/* AU.AC..UA */ + 290 290 170 340 + 290 290 170 340 + 350 350 230 400 + 290 290 170 340 +/* AU.AG..UA */ + 170 170 50 220 + 410 410 290 460 + 290 290 170 340 + 410 410 290 460 +/* AU.AU..UA */ + 350 350 230 400 + 290 290 170 340 + 350 350 230 400 + 190 190 70 240 +/* AU.CA..UA */ + 290 290 370 290 + 290 290 370 290 + 170 170 250 170 + 410 410 490 410 +/* AU.CC..UA */ + 290 290 370 290 + 290 290 370 290 + 350 350 430 350 + 290 290 370 290 +/* AU.CG..UA */ + 170 170 250 170 + 410 410 490 410 + 290 290 370 290 + 410 410 490 410 +/* AU.CU..UA */ + 350 350 430 350 + 290 290 370 290 + 350 350 430 350 + 190 190 270 190 +/* AU.GA..UA */ + 170 340 290 340 + 170 340 290 340 + 50 220 170 220 + 290 460 410 460 +/* AU.GC..UA */ + 170 340 290 340 + 170 340 290 340 + 230 400 350 400 + 170 340 290 340 +/* AU.GG..UA */ + 50 220 170 220 + 290 460 410 460 + 170 340 290 340 + 290 460 410 460 +/* AU.GU..UA */ + 230 400 350 400 + 170 340 290 340 + 230 400 350 400 + 70 240 190 240 +/* AU.UA..UA */ + 360 290 360 190 + 360 290 360 190 + 240 170 240 70 + 480 410 480 310 +/* AU.UC..UA */ + 360 290 360 190 + 360 290 360 190 + 420 350 420 250 + 360 290 360 190 +/* AU.UG..UA */ + 240 170 240 70 + 480 410 480 310 + 360 290 360 190 + 480 410 480 310 +/* AU.UU..UA */ + 420 350 420 250 + 360 290 360 190 + 420 350 420 250 + 260 190 260 90 +/* AU.AA.. @ */ + 340 340 220 390 + 340 340 220 390 + 340 340 220 390 + 340 340 220 390 +/* AU.AC.. @ */ + 340 340 220 390 + 340 340 220 390 + 340 340 220 390 + 340 340 220 390 +/* AU.AG.. @ */ + 340 340 220 390 + 340 340 220 390 + 340 340 220 390 + 340 340 220 390 +/* AU.AU.. @ */ + 340 340 220 390 + 340 340 220 390 + 340 340 220 390 + 340 340 220 390 +/* AU.CA.. @ */ + 340 340 420 340 + 340 340 420 340 + 340 340 420 340 + 340 340 420 340 +/* AU.CC.. @ */ + 340 340 420 340 + 340 340 420 340 + 340 340 420 340 + 340 340 420 340 +/* AU.CG.. @ */ + 340 340 420 340 + 340 340 420 340 + 340 340 420 340 + 340 340 420 340 +/* AU.CU.. @ */ + 340 340 420 340 + 340 340 420 340 + 340 340 420 340 + 340 340 420 340 +/* AU.GA.. @ */ + 220 390 340 390 + 220 390 340 390 + 220 390 340 390 + 220 390 340 390 +/* AU.GC.. @ */ + 220 390 340 390 + 220 390 340 390 + 220 390 340 390 + 220 390 340 390 +/* AU.GG.. @ */ + 220 390 340 390 + 220 390 340 390 + 220 390 340 390 + 220 390 340 390 +/* AU.GU.. @ */ + 220 390 340 390 + 220 390 340 390 + 220 390 340 390 + 220 390 340 390 +/* AU.UA.. @ */ + 410 340 410 240 + 410 340 410 240 + 410 340 410 240 + 410 340 410 240 +/* AU.UC.. @ */ + 410 340 410 240 + 410 340 410 240 + 410 340 410 240 + 410 340 410 240 +/* AU.UG.. @ */ + 410 340 410 240 + 410 340 410 240 + 410 340 410 240 + 410 340 410 240 +/* AU.UU.. @ */ + 410 340 410 240 + 410 340 410 240 + 410 340 410 240 + 410 340 410 240 +/* UA.AA..GC */ + 240 240 120 300 + 240 240 120 300 + 120 120 0 180 + 250 250 130 310 +/* UA.AC..GC */ + 240 240 120 300 + 240 240 120 300 + 200 200 80 260 + 240 240 120 300 +/* UA.AG..GC */ + 120 120 0 180 + 290 290 170 350 + 240 240 120 300 + 250 250 130 310 +/* UA.AU..GC */ + 200 200 80 260 + 240 240 120 300 + 200 200 80 260 + 140 140 20 200 +/* UA.CA..GC */ + 240 240 360 240 + 240 240 360 240 + 120 120 240 120 + 250 250 370 250 +/* UA.CC..GC */ + 240 240 360 240 + 240 240 360 240 + 200 200 320 200 + 240 240 360 240 +/* UA.CG..GC */ + 120 120 240 120 + 290 290 410 290 + 240 240 360 240 + 250 250 370 250 +/* UA.CU..GC */ + 200 200 320 200 + 240 240 360 240 + 200 200 320 200 + 140 140 260 140 +/* UA.GA..GC */ + 120 300 240 300 + 120 300 240 300 + 0 180 120 180 + 130 310 250 310 +/* UA.GC..GC */ + 120 300 240 300 + 120 300 240 300 + 80 260 200 260 + 120 300 240 300 +/* UA.GG..GC */ + 0 180 120 180 + 170 350 290 350 + 120 300 240 300 + 130 310 250 310 +/* UA.GU..GC */ + 80 260 200 260 + 120 300 240 300 + 80 260 200 260 + 20 200 140 200 +/* UA.UA..GC */ + 360 240 360 140 + 360 240 360 140 + 240 120 240 20 + 370 250 370 150 +/* UA.UC..GC */ + 360 240 360 140 + 360 240 360 140 + 320 200 320 100 + 360 240 360 140 +/* UA.UG..GC */ + 240 120 240 20 + 410 290 410 190 + 360 240 360 140 + 370 250 370 150 +/* UA.UU..GC */ + 320 200 320 100 + 360 240 360 140 + 320 200 320 100 + 260 140 260 40 +/* UA.AA..CG */ + 240 240 120 300 + 240 240 120 300 + 120 120 0 180 + 310 310 190 370 +/* UA.AC..CG */ + 240 240 120 300 + 240 240 120 300 + 240 240 120 300 + 240 240 120 300 +/* UA.AG..CG */ + 120 120 0 180 + 330 330 210 390 + 240 240 120 300 + 310 310 190 370 +/* UA.AU..CG */ + 260 260 140 320 + 240 240 120 300 + 240 240 120 300 + 140 140 20 200 +/* UA.CA..CG */ + 240 240 360 240 + 240 240 360 240 + 120 120 240 120 + 310 310 430 310 +/* UA.CC..CG */ + 240 240 360 240 + 240 240 360 240 + 240 240 360 240 + 240 240 360 240 +/* UA.CG..CG */ + 120 120 240 120 + 330 330 450 330 + 240 240 360 240 + 310 310 430 310 +/* UA.CU..CG */ + 260 260 380 260 + 240 240 360 240 + 240 240 360 240 + 140 140 260 140 +/* UA.GA..CG */ + 120 300 240 300 + 120 300 240 300 + 0 180 120 180 + 190 370 310 370 +/* UA.GC..CG */ + 120 300 240 300 + 120 300 240 300 + 120 300 240 300 + 120 300 240 300 +/* UA.GG..CG */ + 0 180 120 180 + 210 390 330 390 + 120 300 240 300 + 190 370 310 370 +/* UA.GU..CG */ + 140 320 260 320 + 120 300 240 300 + 120 300 240 300 + 20 200 140 200 +/* UA.UA..CG */ + 360 240 360 140 + 360 240 360 140 + 240 120 240 20 + 430 310 430 210 +/* UA.UC..CG */ + 360 240 360 140 + 360 240 360 140 + 360 240 360 140 + 360 240 360 140 +/* UA.UG..CG */ + 240 120 240 20 + 450 330 450 230 + 360 240 360 140 + 430 310 430 210 +/* UA.UU..CG */ + 380 260 380 160 + 360 240 360 140 + 360 240 360 140 + 260 140 260 40 +/* UA.AA..GU */ + 240 240 120 300 + 240 240 120 300 + 120 120 0 180 + 310 310 190 370 +/* UA.AC..GU */ + 240 240 120 300 + 240 240 120 300 + 240 240 120 300 + 240 240 120 300 +/* UA.AG..GU */ + 120 120 0 180 + 330 330 210 390 + 240 240 120 300 + 310 310 190 370 +/* UA.AU..GU */ + 260 260 140 320 + 240 240 120 300 + 240 240 120 300 + 140 140 20 200 +/* UA.CA..GU */ + 240 240 360 240 + 240 240 360 240 + 120 120 240 120 + 310 310 430 310 +/* UA.CC..GU */ + 240 240 360 240 + 240 240 360 240 + 240 240 360 240 + 240 240 360 240 +/* UA.CG..GU */ + 120 120 240 120 + 330 330 450 330 + 240 240 360 240 + 310 310 430 310 +/* UA.CU..GU */ + 260 260 380 260 + 240 240 360 240 + 240 240 360 240 + 140 140 260 140 +/* UA.GA..GU */ + 120 300 240 300 + 120 300 240 300 + 0 180 120 180 + 190 370 310 370 +/* UA.GC..GU */ + 120 300 240 300 + 120 300 240 300 + 120 300 240 300 + 120 300 240 300 +/* UA.GG..GU */ + 0 180 120 180 + 210 390 330 390 + 120 300 240 300 + 190 370 310 370 +/* UA.GU..GU */ + 140 320 260 320 + 120 300 240 300 + 120 300 240 300 + 20 200 140 200 +/* UA.UA..GU */ + 360 240 360 140 + 360 240 360 140 + 240 120 240 20 + 430 310 430 210 +/* UA.UC..GU */ + 360 240 360 140 + 360 240 360 140 + 360 240 360 140 + 360 240 360 140 +/* UA.UG..GU */ + 240 120 240 20 + 450 330 450 230 + 360 240 360 140 + 430 310 430 210 +/* UA.UU..GU */ + 380 260 380 160 + 360 240 360 140 + 360 240 360 140 + 260 140 260 40 +/* UA.AA..UG */ + 290 290 170 350 + 290 290 170 350 + 170 170 50 230 + 410 410 290 470 +/* UA.AC..UG */ + 290 290 170 350 + 290 290 170 350 + 350 350 230 410 + 290 290 170 350 +/* UA.AG..UG */ + 170 170 50 230 + 410 410 290 470 + 290 290 170 350 + 410 410 290 470 +/* UA.AU..UG */ + 350 350 230 410 + 290 290 170 350 + 350 350 230 410 + 190 190 70 250 +/* UA.CA..UG */ + 290 290 410 290 + 290 290 410 290 + 170 170 290 170 + 410 410 530 410 +/* UA.CC..UG */ + 290 290 410 290 + 290 290 410 290 + 350 350 470 350 + 290 290 410 290 +/* UA.CG..UG */ + 170 170 290 170 + 410 410 530 410 + 290 290 410 290 + 410 410 530 410 +/* UA.CU..UG */ + 350 350 470 350 + 290 290 410 290 + 350 350 470 350 + 190 190 310 190 +/* UA.GA..UG */ + 170 350 290 350 + 170 350 290 350 + 50 230 170 230 + 290 470 410 470 +/* UA.GC..UG */ + 170 350 290 350 + 170 350 290 350 + 230 410 350 410 + 170 350 290 350 +/* UA.GG..UG */ + 50 230 170 230 + 290 470 410 470 + 170 350 290 350 + 290 470 410 470 +/* UA.GU..UG */ + 230 410 350 410 + 170 350 290 350 + 230 410 350 410 + 70 250 190 250 +/* UA.UA..UG */ + 410 290 410 190 + 410 290 410 190 + 290 170 290 70 + 530 410 530 310 +/* UA.UC..UG */ + 410 290 410 190 + 410 290 410 190 + 470 350 470 250 + 410 290 410 190 +/* UA.UG..UG */ + 290 170 290 70 + 530 410 530 310 + 410 290 410 190 + 530 410 530 310 +/* UA.UU..UG */ + 470 350 470 250 + 410 290 410 190 + 470 350 470 250 + 310 190 310 90 +/* UA.AA..AU */ + 290 290 170 350 + 290 290 170 350 + 170 170 50 230 + 360 360 240 420 +/* UA.AC..AU */ + 290 290 170 350 + 290 290 170 350 + 340 340 220 400 + 290 290 170 350 +/* UA.AG..AU */ + 170 170 50 230 + 370 370 250 430 + 290 290 170 350 + 360 360 240 420 +/* UA.AU..AU */ + 340 340 220 400 + 290 290 170 350 + 340 340 220 400 + 190 190 70 250 +/* UA.CA..AU */ + 290 290 410 290 + 290 290 410 290 + 170 170 290 170 + 360 360 480 360 +/* UA.CC..AU */ + 290 290 410 290 + 290 290 410 290 + 340 340 460 340 + 290 290 410 290 +/* UA.CG..AU */ + 170 170 290 170 + 370 370 490 370 + 290 290 410 290 + 360 360 480 360 +/* UA.CU..AU */ + 340 340 460 340 + 290 290 410 290 + 340 340 460 340 + 190 190 310 190 +/* UA.GA..AU */ + 170 350 290 350 + 170 350 290 350 + 50 230 170 230 + 240 420 360 420 +/* UA.GC..AU */ + 170 350 290 350 + 170 350 290 350 + 220 400 340 400 + 170 350 290 350 +/* UA.GG..AU */ + 50 230 170 230 + 250 430 370 430 + 170 350 290 350 + 240 420 360 420 +/* UA.GU..AU */ + 220 400 340 400 + 170 350 290 350 + 220 400 340 400 + 70 250 190 250 +/* UA.UA..AU */ + 410 290 410 190 + 410 290 410 190 + 290 170 290 70 + 480 360 480 260 +/* UA.UC..AU */ + 410 290 410 190 + 410 290 410 190 + 460 340 460 240 + 410 290 410 190 +/* UA.UG..AU */ + 290 170 290 70 + 490 370 490 270 + 410 290 410 190 + 480 360 480 260 +/* UA.UU..AU */ + 460 340 460 240 + 410 290 410 190 + 460 340 460 240 + 310 190 310 90 +/* UA.AA..UA */ + 290 290 170 350 + 290 290 170 350 + 170 170 50 230 + 410 410 290 470 +/* UA.AC..UA */ + 290 290 170 350 + 290 290 170 350 + 350 350 230 410 + 290 290 170 350 +/* UA.AG..UA */ + 170 170 50 230 + 410 410 290 470 + 290 290 170 350 + 410 410 290 470 +/* UA.AU..UA */ + 350 350 230 410 + 290 290 170 350 + 350 350 230 410 + 190 190 70 250 +/* UA.CA..UA */ + 290 290 410 290 + 290 290 410 290 + 170 170 290 170 + 410 410 530 410 +/* UA.CC..UA */ + 290 290 410 290 + 290 290 410 290 + 350 350 470 350 + 290 290 410 290 +/* UA.CG..UA */ + 170 170 290 170 + 410 410 530 410 + 290 290 410 290 + 410 410 530 410 +/* UA.CU..UA */ + 350 350 470 350 + 290 290 410 290 + 350 350 470 350 + 190 190 310 190 +/* UA.GA..UA */ + 170 350 290 350 + 170 350 290 350 + 50 230 170 230 + 290 470 410 470 +/* UA.GC..UA */ + 170 350 290 350 + 170 350 290 350 + 230 410 350 410 + 170 350 290 350 +/* UA.GG..UA */ + 50 230 170 230 + 290 470 410 470 + 170 350 290 350 + 290 470 410 470 +/* UA.GU..UA */ + 230 410 350 410 + 170 350 290 350 + 230 410 350 410 + 70 250 190 250 +/* UA.UA..UA */ + 410 290 410 190 + 410 290 410 190 + 290 170 290 70 + 530 410 530 310 +/* UA.UC..UA */ + 410 290 410 190 + 410 290 410 190 + 470 350 470 250 + 410 290 410 190 +/* UA.UG..UA */ + 290 170 290 70 + 530 410 530 310 + 410 290 410 190 + 530 410 530 310 +/* UA.UU..UA */ + 470 350 470 250 + 410 290 410 190 + 470 350 470 250 + 310 190 310 90 +/* UA.AA.. @ */ + 340 340 220 400 + 340 340 220 400 + 340 340 220 400 + 340 340 220 400 +/* UA.AC.. @ */ + 340 340 220 400 + 340 340 220 400 + 340 340 220 400 + 340 340 220 400 +/* UA.AG.. @ */ + 340 340 220 400 + 340 340 220 400 + 340 340 220 400 + 340 340 220 400 +/* UA.AU.. @ */ + 340 340 220 400 + 340 340 220 400 + 340 340 220 400 + 340 340 220 400 +/* UA.CA.. @ */ + 340 340 460 340 + 340 340 460 340 + 340 340 460 340 + 340 340 460 340 +/* UA.CC.. @ */ + 340 340 460 340 + 340 340 460 340 + 340 340 460 340 + 340 340 460 340 +/* UA.CG.. @ */ + 340 340 460 340 + 340 340 460 340 + 340 340 460 340 + 340 340 460 340 +/* UA.CU.. @ */ + 340 340 460 340 + 340 340 460 340 + 340 340 460 340 + 340 340 460 340 +/* UA.GA.. @ */ + 220 400 340 400 + 220 400 340 400 + 220 400 340 400 + 220 400 340 400 +/* UA.GC.. @ */ + 220 400 340 400 + 220 400 340 400 + 220 400 340 400 + 220 400 340 400 +/* UA.GG.. @ */ + 220 400 340 400 + 220 400 340 400 + 220 400 340 400 + 220 400 340 400 +/* UA.GU.. @ */ + 220 400 340 400 + 220 400 340 400 + 220 400 340 400 + 220 400 340 400 +/* UA.UA.. @ */ + 460 340 460 240 + 460 340 460 240 + 460 340 460 240 + 460 340 460 240 +/* UA.UC.. @ */ + 460 340 460 240 + 460 340 460 240 + 460 340 460 240 + 460 340 460 240 +/* UA.UG.. @ */ + 460 340 460 240 + 460 340 460 240 + 460 340 460 240 + 460 340 460 240 +/* UA.UU.. @ */ + 460 340 460 240 + 460 340 460 240 + 460 340 460 240 + 460 340 460 240 +/* @.AA..GC */ + 290 290 290 290 + 290 290 290 290 + 170 170 170 170 + 300 300 300 300 +/* @.AC..GC */ + 290 290 290 290 + 290 290 290 290 + 250 250 250 250 + 290 290 290 290 +/* @.AG..GC */ + 170 170 170 170 + 340 340 340 340 + 290 290 290 290 + 300 300 300 300 +/* @.AU..GC */ + 250 250 250 250 + 290 290 290 290 + 250 250 250 250 + 190 190 190 190 +/* @.CA..GC */ + 290 290 290 290 + 290 290 290 290 + 170 170 170 170 + 300 300 300 300 +/* @.CC..GC */ + 290 290 290 290 + 290 290 290 290 + 250 250 250 250 + 290 290 290 290 +/* @.CG..GC */ + 170 170 170 170 + 340 340 340 340 + 290 290 290 290 + 300 300 300 300 +/* @.CU..GC */ + 250 250 250 250 + 290 290 290 290 + 250 250 250 250 + 190 190 190 190 +/* @.GA..GC */ + 290 290 290 290 + 290 290 290 290 + 170 170 170 170 + 300 300 300 300 +/* @.GC..GC */ + 290 290 290 290 + 290 290 290 290 + 250 250 250 250 + 290 290 290 290 +/* @.GG..GC */ + 170 170 170 170 + 340 340 340 340 + 290 290 290 290 + 300 300 300 300 +/* @.GU..GC */ + 250 250 250 250 + 290 290 290 290 + 250 250 250 250 + 190 190 190 190 +/* @.UA..GC */ + 290 290 290 290 + 290 290 290 290 + 170 170 170 170 + 300 300 300 300 +/* @.UC..GC */ + 290 290 290 290 + 290 290 290 290 + 250 250 250 250 + 290 290 290 290 +/* @.UG..GC */ + 170 170 170 170 + 340 340 340 340 + 290 290 290 290 + 300 300 300 300 +/* @.UU..GC */ + 250 250 250 250 + 290 290 290 290 + 250 250 250 250 + 190 190 190 190 +/* @.AA..CG */ + 290 290 290 290 + 290 290 290 290 + 170 170 170 170 + 360 360 360 360 +/* @.AC..CG */ + 290 290 290 290 + 290 290 290 290 + 290 290 290 290 + 290 290 290 290 +/* @.AG..CG */ + 170 170 170 170 + 380 380 380 380 + 290 290 290 290 + 360 360 360 360 +/* @.AU..CG */ + 310 310 310 310 + 290 290 290 290 + 290 290 290 290 + 190 190 190 190 +/* @.CA..CG */ + 290 290 290 290 + 290 290 290 290 + 170 170 170 170 + 360 360 360 360 +/* @.CC..CG */ + 290 290 290 290 + 290 290 290 290 + 290 290 290 290 + 290 290 290 290 +/* @.CG..CG */ + 170 170 170 170 + 380 380 380 380 + 290 290 290 290 + 360 360 360 360 +/* @.CU..CG */ + 310 310 310 310 + 290 290 290 290 + 290 290 290 290 + 190 190 190 190 +/* @.GA..CG */ + 290 290 290 290 + 290 290 290 290 + 170 170 170 170 + 360 360 360 360 +/* @.GC..CG */ + 290 290 290 290 + 290 290 290 290 + 290 290 290 290 + 290 290 290 290 +/* @.GG..CG */ + 170 170 170 170 + 380 380 380 380 + 290 290 290 290 + 360 360 360 360 +/* @.GU..CG */ + 310 310 310 310 + 290 290 290 290 + 290 290 290 290 + 190 190 190 190 +/* @.UA..CG */ + 290 290 290 290 + 290 290 290 290 + 170 170 170 170 + 360 360 360 360 +/* @.UC..CG */ + 290 290 290 290 + 290 290 290 290 + 290 290 290 290 + 290 290 290 290 +/* @.UG..CG */ + 170 170 170 170 + 380 380 380 380 + 290 290 290 290 + 360 360 360 360 +/* @.UU..CG */ + 310 310 310 310 + 290 290 290 290 + 290 290 290 290 + 190 190 190 190 +/* @.AA..GU */ + 290 290 290 290 + 290 290 290 290 + 170 170 170 170 + 360 360 360 360 +/* @.AC..GU */ + 290 290 290 290 + 290 290 290 290 + 290 290 290 290 + 290 290 290 290 +/* @.AG..GU */ + 170 170 170 170 + 380 380 380 380 + 290 290 290 290 + 360 360 360 360 +/* @.AU..GU */ + 310 310 310 310 + 290 290 290 290 + 290 290 290 290 + 190 190 190 190 +/* @.CA..GU */ + 290 290 290 290 + 290 290 290 290 + 170 170 170 170 + 360 360 360 360 +/* @.CC..GU */ + 290 290 290 290 + 290 290 290 290 + 290 290 290 290 + 290 290 290 290 +/* @.CG..GU */ + 170 170 170 170 + 380 380 380 380 + 290 290 290 290 + 360 360 360 360 +/* @.CU..GU */ + 310 310 310 310 + 290 290 290 290 + 290 290 290 290 + 190 190 190 190 +/* @.GA..GU */ + 290 290 290 290 + 290 290 290 290 + 170 170 170 170 + 360 360 360 360 +/* @.GC..GU */ + 290 290 290 290 + 290 290 290 290 + 290 290 290 290 + 290 290 290 290 +/* @.GG..GU */ + 170 170 170 170 + 380 380 380 380 + 290 290 290 290 + 360 360 360 360 +/* @.GU..GU */ + 310 310 310 310 + 290 290 290 290 + 290 290 290 290 + 190 190 190 190 +/* @.UA..GU */ + 290 290 290 290 + 290 290 290 290 + 170 170 170 170 + 360 360 360 360 +/* @.UC..GU */ + 290 290 290 290 + 290 290 290 290 + 290 290 290 290 + 290 290 290 290 +/* @.UG..GU */ + 170 170 170 170 + 380 380 380 380 + 290 290 290 290 + 360 360 360 360 +/* @.UU..GU */ + 310 310 310 310 + 290 290 290 290 + 290 290 290 290 + 190 190 190 190 +/* @.AA..UG */ + 340 340 340 340 + 340 340 340 340 + 220 220 220 220 + 460 460 460 460 +/* @.AC..UG */ + 340 340 340 340 + 340 340 340 340 + 400 400 400 400 + 340 340 340 340 +/* @.AG..UG */ + 220 220 220 220 + 460 460 460 460 + 340 340 340 340 + 460 460 460 460 +/* @.AU..UG */ + 400 400 400 400 + 340 340 340 340 + 400 400 400 400 + 240 240 240 240 +/* @.CA..UG */ + 340 340 340 340 + 340 340 340 340 + 220 220 220 220 + 460 460 460 460 +/* @.CC..UG */ + 340 340 340 340 + 340 340 340 340 + 400 400 400 400 + 340 340 340 340 +/* @.CG..UG */ + 220 220 220 220 + 460 460 460 460 + 340 340 340 340 + 460 460 460 460 +/* @.CU..UG */ + 400 400 400 400 + 340 340 340 340 + 400 400 400 400 + 240 240 240 240 +/* @.GA..UG */ + 340 340 340 340 + 340 340 340 340 + 220 220 220 220 + 460 460 460 460 +/* @.GC..UG */ + 340 340 340 340 + 340 340 340 340 + 400 400 400 400 + 340 340 340 340 +/* @.GG..UG */ + 220 220 220 220 + 460 460 460 460 + 340 340 340 340 + 460 460 460 460 +/* @.GU..UG */ + 400 400 400 400 + 340 340 340 340 + 400 400 400 400 + 240 240 240 240 +/* @.UA..UG */ + 340 340 340 340 + 340 340 340 340 + 220 220 220 220 + 460 460 460 460 +/* @.UC..UG */ + 340 340 340 340 + 340 340 340 340 + 400 400 400 400 + 340 340 340 340 +/* @.UG..UG */ + 220 220 220 220 + 460 460 460 460 + 340 340 340 340 + 460 460 460 460 +/* @.UU..UG */ + 400 400 400 400 + 340 340 340 340 + 400 400 400 400 + 240 240 240 240 +/* @.AA..AU */ + 340 340 340 340 + 340 340 340 340 + 220 220 220 220 + 410 410 410 410 +/* @.AC..AU */ + 340 340 340 340 + 340 340 340 340 + 390 390 390 390 + 340 340 340 340 +/* @.AG..AU */ + 220 220 220 220 + 420 420 420 420 + 340 340 340 340 + 410 410 410 410 +/* @.AU..AU */ + 390 390 390 390 + 340 340 340 340 + 390 390 390 390 + 240 240 240 240 +/* @.CA..AU */ + 340 340 340 340 + 340 340 340 340 + 220 220 220 220 + 410 410 410 410 +/* @.CC..AU */ + 340 340 340 340 + 340 340 340 340 + 390 390 390 390 + 340 340 340 340 +/* @.CG..AU */ + 220 220 220 220 + 420 420 420 420 + 340 340 340 340 + 410 410 410 410 +/* @.CU..AU */ + 390 390 390 390 + 340 340 340 340 + 390 390 390 390 + 240 240 240 240 +/* @.GA..AU */ + 340 340 340 340 + 340 340 340 340 + 220 220 220 220 + 410 410 410 410 +/* @.GC..AU */ + 340 340 340 340 + 340 340 340 340 + 390 390 390 390 + 340 340 340 340 +/* @.GG..AU */ + 220 220 220 220 + 420 420 420 420 + 340 340 340 340 + 410 410 410 410 +/* @.GU..AU */ + 390 390 390 390 + 340 340 340 340 + 390 390 390 390 + 240 240 240 240 +/* @.UA..AU */ + 340 340 340 340 + 340 340 340 340 + 220 220 220 220 + 410 410 410 410 +/* @.UC..AU */ + 340 340 340 340 + 340 340 340 340 + 390 390 390 390 + 340 340 340 340 +/* @.UG..AU */ + 220 220 220 220 + 420 420 420 420 + 340 340 340 340 + 410 410 410 410 +/* @.UU..AU */ + 390 390 390 390 + 340 340 340 340 + 390 390 390 390 + 240 240 240 240 +/* @.AA..UA */ + 340 340 340 340 + 340 340 340 340 + 220 220 220 220 + 460 460 460 460 +/* @.AC..UA */ + 340 340 340 340 + 340 340 340 340 + 400 400 400 400 + 340 340 340 340 +/* @.AG..UA */ + 220 220 220 220 + 460 460 460 460 + 340 340 340 340 + 460 460 460 460 +/* @.AU..UA */ + 400 400 400 400 + 340 340 340 340 + 400 400 400 400 + 240 240 240 240 +/* @.CA..UA */ + 340 340 340 340 + 340 340 340 340 + 220 220 220 220 + 460 460 460 460 +/* @.CC..UA */ + 340 340 340 340 + 340 340 340 340 + 400 400 400 400 + 340 340 340 340 +/* @.CG..UA */ + 220 220 220 220 + 460 460 460 460 + 340 340 340 340 + 460 460 460 460 +/* @.CU..UA */ + 400 400 400 400 + 340 340 340 340 + 400 400 400 400 + 240 240 240 240 +/* @.GA..UA */ + 340 340 340 340 + 340 340 340 340 + 220 220 220 220 + 460 460 460 460 +/* @.GC..UA */ + 340 340 340 340 + 340 340 340 340 + 400 400 400 400 + 340 340 340 340 +/* @.GG..UA */ + 220 220 220 220 + 460 460 460 460 + 340 340 340 340 + 460 460 460 460 +/* @.GU..UA */ + 400 400 400 400 + 340 340 340 340 + 400 400 400 400 + 240 240 240 240 +/* @.UA..UA */ + 340 340 340 340 + 340 340 340 340 + 220 220 220 220 + 460 460 460 460 +/* @.UC..UA */ + 340 340 340 340 + 340 340 340 340 + 400 400 400 400 + 340 340 340 340 +/* @.UG..UA */ + 220 220 220 220 + 460 460 460 460 + 340 340 340 340 + 460 460 460 460 +/* @.UU..UA */ + 400 400 400 400 + 340 340 340 340 + 400 400 400 400 + 240 240 240 240 +/* @.AA.. @ */ + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 +/* @.AC.. @ */ + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 +/* @.AG.. @ */ + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 +/* @.AU.. @ */ + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 +/* @.CA.. @ */ + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 +/* @.CC.. @ */ + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 +/* @.CG.. @ */ + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 +/* @.CU.. @ */ + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 +/* @.GA.. @ */ + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 +/* @.GC.. @ */ + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 +/* @.GG.. @ */ + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 +/* @.GU.. @ */ + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 +/* @.UA.. @ */ + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 +/* @.UC.. @ */ + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 +/* @.UG.. @ */ + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 +/* @.UU.. @ */ + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + 390 390 390 390 + +# int22_enthalpies +/* CG.AA..CG */ + -2058 -1978 -2058 -2058 + -1548 -1468 -1548 -1548 + -1968 -1888 -1968 -1968 + -1838 -1758 -1838 -1838 +/* CG.AC..CG */ + -1978 -1898 -1978 -1978 + -1478 -1398 -1478 -1478 + -1968 -1888 -1968 -1968 + -1768 -1688 -1768 -1768 +/* CG.AG..CG */ + -2058 -1978 -2058 -2058 + -1548 -1468 -1548 -1548 + -1968 -1888 -1968 -1968 + -1838 -1758 -1838 -1838 +/* CG.AU..CG */ + -2058 -1978 -2058 -2058 + -1698 -1618 -1698 -1698 + -1968 -1888 -1968 -1968 + -1888 -1808 -1888 -1888 +/* CG.CA..CG */ + -1548 -1478 -1548 -1698 + -1038 -968 -1038 -1188 + -1458 -1388 -1458 -1608 + -1328 -1258 -1328 -1478 +/* CG.CC..CG */ + -1468 -1398 -1468 -1618 + -968 -898 -968 -1118 + -1458 -1388 -1458 -1608 + -1258 -1188 -1258 -1408 +/* CG.CG..CG */ + -1548 -1478 -1548 -1698 + -1038 -968 -1038 -1188 + -1458 -1388 -1458 -1608 + -1328 -1258 -1328 -1478 +/* CG.CU..CG */ + -1548 -1478 -1548 -1698 + -1188 -1118 -1188 -1338 + -1458 -1388 -1458 -1608 + -1378 -1308 -1378 -1528 +/* CG.GA..CG */ + -1968 -1968 -1968 -1968 + -1458 -1458 -1458 -1458 + -1878 -1878 -1878 -1878 + -1748 -1748 -1748 -1748 +/* CG.GC..CG */ + -1888 -1888 -1888 -1888 + -1388 -1388 -1388 -1388 + -1878 -1878 -1878 -1878 + -1678 -1678 -1678 -1678 +/* CG.GG..CG */ + -1968 -1968 -1968 -1968 + -1458 -1458 -1458 -1458 + -1878 -1878 -1878 -1878 + -1748 -1748 -1748 -1748 +/* CG.GU..CG */ + -1968 -1968 -1968 -1968 + -1608 -1608 -1608 -1608 + -1878 -1878 -1878 -1878 + -1798 -1798 -1798 -1798 +/* CG.UA..CG */ + -1838 -1768 -1838 -1888 + -1328 -1258 -1328 -1378 + -1748 -1678 -1748 -1798 + -1618 -1548 -1618 -1668 +/* CG.UC..CG */ + -1758 -1688 -1758 -1808 + -1258 -1188 -1258 -1308 + -1748 -1678 -1748 -1798 + -1548 -1478 -1548 -1598 +/* CG.UG..CG */ + -1838 -1768 -1838 -1888 + -1328 -1258 -1328 -1378 + -1748 -1678 -1748 -1798 + -1618 -1548 -1618 -1668 +/* CG.UU..CG */ + -1838 -1768 -1838 -1888 + -1478 -1408 -1478 -1528 + -1748 -1678 -1748 -1798 + -1668 -1598 -1668 -1718 +/* CG.AA..GC */ + -1548 -1468 -1548 -1548 + -1748 -1668 -1748 -1748 + -1738 -1658 -1738 -1738 + -1528 -1448 -1528 -1528 +/* CG.AC..GC */ + -1908 -1828 -1908 -1908 + -1338 -1258 -1338 -1338 + -1768 -1688 -1768 -1768 + -1528 -1448 -1528 -1528 +/* CG.AG..GC */ + -1588 -1508 -1588 -1588 + -1338 -1258 -1338 -1338 + -1648 -1568 -1648 -1648 + -1528 -1448 -1528 -1528 +/* CG.AU..GC */ + -1908 -1828 -1908 -1908 + -1418 -1338 -1418 -1418 + -1768 -1688 -1768 -1768 + -1598 -1518 -1598 -1598 +/* CG.CA..GC */ + -1038 -968 -1038 -1188 + -1238 -1168 -1238 -1388 + -1228 -1158 -1228 -1378 + -1018 -948 -1018 -1168 +/* CG.CC..GC */ + -1398 -1328 -1398 -1548 + -828 -758 -828 -978 + -1258 -1188 -1258 -1408 + -1018 -948 -1018 -1168 +/* CG.CG..GC */ + -1078 -1008 -1078 -1228 + -828 -758 -828 -978 + -1138 -1068 -1138 -1288 + -1018 -948 -1018 -1168 +/* CG.CU..GC */ + -1398 -1328 -1398 -1548 + -908 -838 -908 -1058 + -1258 -1188 -1258 -1408 + -1088 -1018 -1088 -1238 +/* CG.GA..GC */ + -1458 -1458 -1458 -1458 + -1658 -1658 -1658 -1658 + -1648 -1648 -1648 -1648 + -1438 -1438 -1438 -1438 +/* CG.GC..GC */ + -1818 -1818 -1818 -1818 + -1248 -1248 -1248 -1248 + -1678 -1678 -1678 -1678 + -1438 -1438 -1438 -1438 +/* CG.GG..GC */ + -1498 -1498 -1498 -1498 + -1248 -1248 -1248 -1248 + -1558 -1558 -1558 -1558 + -1438 -1438 -1438 -1438 +/* CG.GU..GC */ + -1818 -1818 -1818 -1818 + -1328 -1328 -1328 -1328 + -1678 -1678 -1678 -1678 + -1508 -1508 -1508 -1508 +/* CG.UA..GC */ + -1328 -1258 -1328 -1378 + -1528 -1458 -1528 -1578 + -1518 -1448 -1518 -1568 + -1308 -1238 -1308 -1358 +/* CG.UC..GC */ + -1688 -1618 -1688 -1738 + -1118 -1048 -1118 -1168 + -1548 -1478 -1548 -1598 + -1308 -1238 -1308 -1358 +/* CG.UG..GC */ + -1368 -1298 -1368 -1418 + -1118 -1048 -1118 -1168 + -1428 -1358 -1428 -1478 + -1308 -1238 -1308 -1358 +/* CG.UU..GC */ + -1688 -1618 -1688 -1738 + -1198 -1128 -1198 -1248 + -1548 -1478 -1548 -1598 + -1378 -1308 -1378 -1428 +/* CG.AA..GU */ + -1458 -1378 -1458 -1458 + -1288 -1208 -1288 -1288 + -1368 -1288 -1368 -1368 + -1358 -1278 -1358 -1358 +/* CG.AC..GU */ + -1628 -1548 -1628 -1628 + -1268 -1188 -1268 -1268 + -1718 -1638 -1718 -1718 + -1358 -1278 -1358 -1358 +/* CG.AG..GU */ + -1628 -1548 -1628 -1628 + -1268 -1188 -1268 -1268 + -1718 -1638 -1718 -1718 + -1358 -1278 -1358 -1358 +/* CG.AU..GU */ + -1628 -1548 -1628 -1628 + -1268 -1188 -1268 -1268 + -1718 -1638 -1718 -1718 + -1358 -1278 -1358 -1358 +/* CG.CA..GU */ + -948 -878 -948 -1098 + -778 -708 -778 -928 + -858 -788 -858 -1008 + -848 -778 -848 -998 +/* CG.CC..GU */ + -1118 -1048 -1118 -1268 + -758 -688 -758 -908 + -1208 -1138 -1208 -1358 + -848 -778 -848 -998 +/* CG.CG..GU */ + -1118 -1048 -1118 -1268 + -758 -688 -758 -908 + -1208 -1138 -1208 -1358 + -848 -778 -848 -998 +/* CG.CU..GU */ + -1118 -1048 -1118 -1268 + -758 -688 -758 -908 + -1208 -1138 -1208 -1358 + -848 -778 -848 -998 +/* CG.GA..GU */ + -1368 -1368 -1368 -1368 + -1198 -1198 -1198 -1198 + -1278 -1278 -1278 -1278 + -1268 -1268 -1268 -1268 +/* CG.GC..GU */ + -1538 -1538 -1538 -1538 + -1178 -1178 -1178 -1178 + -1628 -1628 -1628 -1628 + -1268 -1268 -1268 -1268 +/* CG.GG..GU */ + -1538 -1538 -1538 -1538 + -1178 -1178 -1178 -1178 + -1628 -1628 -1628 -1628 + -1268 -1268 -1268 -1268 +/* CG.GU..GU */ + -1538 -1538 -1538 -1538 + -1178 -1178 -1178 -1178 + -1628 -1628 -1628 -1628 + -1268 -1268 -1268 -1268 +/* CG.UA..GU */ + -1238 -1168 -1238 -1288 + -1068 -998 -1068 -1118 + -1148 -1078 -1148 -1198 + -1138 -1068 -1138 -1188 +/* CG.UC..GU */ + -1408 -1338 -1408 -1458 + -1048 -978 -1048 -1098 + -1498 -1428 -1498 -1548 + -1138 -1068 -1138 -1188 +/* CG.UG..GU */ + -1408 -1338 -1408 -1458 + -1048 -978 -1048 -1098 + -1498 -1428 -1498 -1548 + -1138 -1068 -1138 -1188 +/* CG.UU..GU */ + -1408 -1338 -1408 -1458 + -1048 -978 -1048 -1098 + -1498 -1428 -1498 -1548 + -1138 -1068 -1138 -1188 +/* CG.AA..UG */ + -1748 -1668 -1748 -1748 + -1508 -1428 -1508 -1508 + -1688 -1608 -1688 -1688 + -1578 -1498 -1578 -1578 +/* CG.AC..UG */ + -1818 -1738 -1818 -1818 + -1508 -1428 -1508 -1508 + -1838 -1758 -1838 -1838 + -1468 -1388 -1468 -1468 +/* CG.AG..UG */ + -1988 -1908 -1988 -1988 + -1388 -1308 -1388 -1388 + -1948 -1868 -1948 -1948 + -1578 -1498 -1578 -1578 +/* CG.AU..UG */ + -1838 -1758 -1838 -1838 + -1508 -1428 -1508 -1508 + -1838 -1758 -1838 -1838 + -1388 -1308 -1388 -1388 +/* CG.CA..UG */ + -1238 -1168 -1238 -1388 + -998 -928 -998 -1148 + -1178 -1108 -1178 -1328 + -1068 -998 -1068 -1218 +/* CG.CC..UG */ + -1308 -1238 -1308 -1458 + -998 -928 -998 -1148 + -1328 -1258 -1328 -1478 + -958 -888 -958 -1108 +/* CG.CG..UG */ + -1478 -1408 -1478 -1628 + -878 -808 -878 -1028 + -1438 -1368 -1438 -1588 + -1068 -998 -1068 -1218 +/* CG.CU..UG */ + -1328 -1258 -1328 -1478 + -998 -928 -998 -1148 + -1328 -1258 -1328 -1478 + -878 -808 -878 -1028 +/* CG.GA..UG */ + -1658 -1658 -1658 -1658 + -1418 -1418 -1418 -1418 + -1598 -1598 -1598 -1598 + -1488 -1488 -1488 -1488 +/* CG.GC..UG */ + -1728 -1728 -1728 -1728 + -1418 -1418 -1418 -1418 + -1748 -1748 -1748 -1748 + -1378 -1378 -1378 -1378 +/* CG.GG..UG */ + -1898 -1898 -1898 -1898 + -1298 -1298 -1298 -1298 + -1858 -1858 -1858 -1858 + -1488 -1488 -1488 -1488 +/* CG.GU..UG */ + -1748 -1748 -1748 -1748 + -1418 -1418 -1418 -1418 + -1748 -1748 -1748 -1748 + -1298 -1298 -1298 -1298 +/* CG.UA..UG */ + -1528 -1458 -1528 -1578 + -1288 -1218 -1288 -1338 + -1468 -1398 -1468 -1518 + -1358 -1288 -1358 -1408 +/* CG.UC..UG */ + -1598 -1528 -1598 -1648 + -1288 -1218 -1288 -1338 + -1618 -1548 -1618 -1668 + -1248 -1178 -1248 -1298 +/* CG.UG..UG */ + -1768 -1698 -1768 -1818 + -1168 -1098 -1168 -1218 + -1728 -1658 -1728 -1778 + -1358 -1288 -1358 -1408 +/* CG.UU..UG */ + -1618 -1548 -1618 -1668 + -1288 -1218 -1288 -1338 + -1618 -1548 -1618 -1668 + -1168 -1098 -1168 -1218 +/* CG.AA..AU */ + -1458 -1378 -1458 -1458 + -1288 -1208 -1288 -1288 + -1368 -1288 -1368 -1368 + -1358 -1278 -1358 -1358 +/* CG.AC..AU */ + -1628 -1548 -1628 -1628 + -1268 -1188 -1268 -1268 + -1718 -1638 -1718 -1718 + -1358 -1278 -1358 -1358 +/* CG.AG..AU */ + -1628 -1548 -1628 -1628 + -1268 -1188 -1268 -1268 + -1718 -1638 -1718 -1718 + -1358 -1278 -1358 -1358 +/* CG.AU..AU */ + -1628 -1548 -1628 -1628 + -1268 -1188 -1268 -1268 + -1718 -1638 -1718 -1718 + -1358 -1278 -1358 -1358 +/* CG.CA..AU */ + -948 -878 -948 -1098 + -778 -708 -778 -928 + -858 -788 -858 -1008 + -848 -778 -848 -998 +/* CG.CC..AU */ + -1118 -1048 -1118 -1268 + -758 -688 -758 -908 + -1208 -1138 -1208 -1358 + -848 -778 -848 -998 +/* CG.CG..AU */ + -1118 -1048 -1118 -1268 + -758 -688 -758 -908 + -1208 -1138 -1208 -1358 + -848 -778 -848 -998 +/* CG.CU..AU */ + -1118 -1048 -1118 -1268 + -758 -688 -758 -908 + -1208 -1138 -1208 -1358 + -848 -778 -848 -998 +/* CG.GA..AU */ + -1368 -1368 -1368 -1368 + -1198 -1198 -1198 -1198 + -1278 -1278 -1278 -1278 + -1268 -1268 -1268 -1268 +/* CG.GC..AU */ + -1538 -1538 -1538 -1538 + -1178 -1178 -1178 -1178 + -1628 -1628 -1628 -1628 + -1268 -1268 -1268 -1268 +/* CG.GG..AU */ + -1538 -1538 -1538 -1538 + -1178 -1178 -1178 -1178 + -1628 -1628 -1628 -1628 + -1268 -1268 -1268 -1268 +/* CG.GU..AU */ + -1538 -1538 -1538 -1538 + -1178 -1178 -1178 -1178 + -1628 -1628 -1628 -1628 + -1268 -1268 -1268 -1268 +/* CG.UA..AU */ + -1238 -1168 -1238 -1288 + -1068 -998 -1068 -1118 + -1148 -1078 -1148 -1198 + -1138 -1068 -1138 -1188 +/* CG.UC..AU */ + -1408 -1338 -1408 -1458 + -1048 -978 -1048 -1098 + -1498 -1428 -1498 -1548 + -1138 -1068 -1138 -1188 +/* CG.UG..AU */ + -1408 -1338 -1408 -1458 + -1048 -978 -1048 -1098 + -1498 -1428 -1498 -1548 + -1138 -1068 -1138 -1188 +/* CG.UU..AU */ + -1408 -1338 -1408 -1458 + -1048 -978 -1048 -1098 + -1498 -1428 -1498 -1548 + -1138 -1068 -1138 -1188 +/* CG.AA..UA */ + -1428 -1348 -1428 -1428 + -1458 -1378 -1458 -1458 + -1408 -1328 -1408 -1408 + -1308 -1228 -1308 -1308 +/* CG.AC..UA */ + -1658 -1578 -1658 -1658 + -1538 -1458 -1538 -1538 + -1708 -1628 -1708 -1708 + -1168 -1088 -1168 -1168 +/* CG.AG..UA */ + -1918 -1838 -1918 -1918 + -1228 -1148 -1228 -1228 + -1918 -1838 -1918 -1918 + -1308 -1228 -1308 -1308 +/* CG.AU..UA */ + -1618 -1538 -1618 -1618 + -1208 -1128 -1208 -1208 + -1708 -1628 -1708 -1708 + -1169 -1089 -1169 -1169 +/* CG.CA..UA */ + -918 -848 -918 -1068 + -948 -878 -948 -1098 + -898 -828 -898 -1048 + -798 -728 -798 -948 +/* CG.CC..UA */ + -1148 -1078 -1148 -1298 + -1028 -958 -1028 -1178 + -1198 -1128 -1198 -1348 + -658 -588 -658 -808 +/* CG.CG..UA */ + -1408 -1338 -1408 -1558 + -718 -648 -718 -868 + -1408 -1338 -1408 -1558 + -798 -728 -798 -948 +/* CG.CU..UA */ + -1108 -1038 -1108 -1258 + -698 -628 -698 -848 + -1198 -1128 -1198 -1348 + -659 -589 -659 -809 +/* CG.GA..UA */ + -1338 -1338 -1338 -1338 + -1368 -1368 -1368 -1368 + -1318 -1318 -1318 -1318 + -1218 -1218 -1218 -1218 +/* CG.GC..UA */ + -1568 -1568 -1568 -1568 + -1448 -1448 -1448 -1448 + -1618 -1618 -1618 -1618 + -1078 -1078 -1078 -1078 +/* CG.GG..UA */ + -1828 -1828 -1828 -1828 + -1138 -1138 -1138 -1138 + -1828 -1828 -1828 -1828 + -1218 -1218 -1218 -1218 +/* CG.GU..UA */ + -1528 -1528 -1528 -1528 + -1118 -1118 -1118 -1118 + -1618 -1618 -1618 -1618 + -1079 -1079 -1079 -1079 +/* CG.UA..UA */ + -1208 -1138 -1208 -1258 + -1238 -1168 -1238 -1288 + -1188 -1118 -1188 -1238 + -1088 -1018 -1088 -1138 +/* CG.UC..UA */ + -1438 -1368 -1438 -1488 + -1318 -1248 -1318 -1368 + -1488 -1418 -1488 -1538 + -948 -878 -948 -998 +/* CG.UG..UA */ + -1698 -1628 -1698 -1748 + -1008 -938 -1008 -1058 + -1698 -1628 -1698 -1748 + -1088 -1018 -1088 -1138 +/* CG.UU..UA */ + -1398 -1328 -1398 -1448 + -988 -918 -988 -1038 + -1488 -1418 -1488 -1538 + -949 -879 -949 -999 +/* CG.AA.. @ */ + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 +/* CG.AC.. @ */ + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 +/* CG.AG.. @ */ + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 +/* CG.AU.. @ */ + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 + -1079 -999 -1079 -1079 +/* CG.CA.. @ */ + -569 -499 -569 -719 + -569 -499 -569 -719 + -569 -499 -569 -719 + -569 -499 -569 -719 +/* CG.CC.. @ */ + -569 -499 -569 -719 + -569 -499 -569 -719 + -569 -499 -569 -719 + -569 -499 -569 -719 +/* CG.CG.. @ */ + -569 -499 -569 -719 + -569 -499 -569 -719 + -569 -499 -569 -719 + -569 -499 -569 -719 +/* CG.CU.. @ */ + -569 -499 -569 -719 + -569 -499 -569 -719 + -569 -499 -569 -719 + -569 -499 -569 -719 +/* CG.GA.. @ */ + -989 -989 -989 -989 + -989 -989 -989 -989 + -989 -989 -989 -989 + -989 -989 -989 -989 +/* CG.GC.. @ */ + -989 -989 -989 -989 + -989 -989 -989 -989 + -989 -989 -989 -989 + -989 -989 -989 -989 +/* CG.GG.. @ */ + -989 -989 -989 -989 + -989 -989 -989 -989 + -989 -989 -989 -989 + -989 -989 -989 -989 +/* CG.GU.. @ */ + -989 -989 -989 -989 + -989 -989 -989 -989 + -989 -989 -989 -989 + -989 -989 -989 -989 +/* CG.UA.. @ */ + -859 -789 -859 -909 + -859 -789 -859 -909 + -859 -789 -859 -909 + -859 -789 -859 -909 +/* CG.UC.. @ */ + -859 -789 -859 -909 + -859 -789 -859 -909 + -859 -789 -859 -909 + -859 -789 -859 -909 +/* CG.UG.. @ */ + -859 -789 -859 -909 + -859 -789 -859 -909 + -859 -789 -859 -909 + -859 -789 -859 -909 +/* CG.UU.. @ */ + -859 -789 -859 -909 + -859 -789 -859 -909 + -859 -789 -859 -909 + -859 -789 -859 -909 +/* GC.AA..CG */ + -1548 -1908 -1588 -1908 + -1038 -1398 -1078 -1398 + -1458 -1818 -1498 -1818 + -1328 -1688 -1368 -1688 +/* GC.AC..CG */ + -1468 -1828 -1508 -1828 + -968 -1328 -1008 -1328 + -1458 -1818 -1498 -1818 + -1258 -1618 -1298 -1618 +/* GC.AG..CG */ + -1548 -1908 -1588 -1908 + -1038 -1398 -1078 -1398 + -1458 -1818 -1498 -1818 + -1328 -1688 -1368 -1688 +/* GC.AU..CG */ + -1548 -1908 -1588 -1908 + -1188 -1548 -1228 -1548 + -1458 -1818 -1498 -1818 + -1378 -1738 -1418 -1738 +/* GC.CA..CG */ + -1748 -1338 -1338 -1418 + -1238 -828 -828 -908 + -1658 -1248 -1248 -1328 + -1528 -1118 -1118 -1198 +/* GC.CC..CG */ + -1668 -1258 -1258 -1338 + -1168 -758 -758 -838 + -1658 -1248 -1248 -1328 + -1458 -1048 -1048 -1128 +/* GC.CG..CG */ + -1748 -1338 -1338 -1418 + -1238 -828 -828 -908 + -1658 -1248 -1248 -1328 + -1528 -1118 -1118 -1198 +/* GC.CU..CG */ + -1748 -1338 -1338 -1418 + -1388 -978 -978 -1058 + -1658 -1248 -1248 -1328 + -1578 -1168 -1168 -1248 +/* GC.GA..CG */ + -1738 -1768 -1648 -1768 + -1228 -1258 -1138 -1258 + -1648 -1678 -1558 -1678 + -1518 -1548 -1428 -1548 +/* GC.GC..CG */ + -1658 -1688 -1568 -1688 + -1158 -1188 -1068 -1188 + -1648 -1678 -1558 -1678 + -1448 -1478 -1358 -1478 +/* GC.GG..CG */ + -1738 -1768 -1648 -1768 + -1228 -1258 -1138 -1258 + -1648 -1678 -1558 -1678 + -1518 -1548 -1428 -1548 +/* GC.GU..CG */ + -1738 -1768 -1648 -1768 + -1378 -1408 -1288 -1408 + -1648 -1678 -1558 -1678 + -1568 -1598 -1478 -1598 +/* GC.UA..CG */ + -1528 -1528 -1528 -1598 + -1018 -1018 -1018 -1088 + -1438 -1438 -1438 -1508 + -1308 -1308 -1308 -1378 +/* GC.UC..CG */ + -1448 -1448 -1448 -1518 + -948 -948 -948 -1018 + -1438 -1438 -1438 -1508 + -1238 -1238 -1238 -1308 +/* GC.UG..CG */ + -1528 -1528 -1528 -1598 + -1018 -1018 -1018 -1088 + -1438 -1438 -1438 -1508 + -1308 -1308 -1308 -1378 +/* GC.UU..CG */ + -1528 -1528 -1528 -1598 + -1168 -1168 -1168 -1238 + -1438 -1438 -1438 -1508 + -1358 -1358 -1358 -1428 +/* GC.AA..GC */ + -1038 -1398 -1078 -1398 + -1238 -1598 -1278 -1598 + -1228 -1588 -1268 -1588 + -1018 -1378 -1058 -1378 +/* GC.AC..GC */ + -1398 -1758 -1438 -1758 + -828 -1188 -868 -1188 + -1258 -1618 -1298 -1618 + -1018 -1378 -1058 -1378 +/* GC.AG..GC */ + -1078 -1438 -1118 -1438 + -828 -1188 -868 -1188 + -1138 -1498 -1178 -1498 + -1018 -1378 -1058 -1378 +/* GC.AU..GC */ + -1398 -1758 -1438 -1758 + -908 -1268 -948 -1268 + -1258 -1618 -1298 -1618 + -1088 -1448 -1128 -1448 +/* GC.CA..GC */ + -1238 -828 -828 -908 + -1438 -1028 -1028 -1108 + -1428 -1018 -1018 -1098 + -1218 -808 -808 -888 +/* GC.CC..GC */ + -1598 -1188 -1188 -1268 + -1028 -618 -618 -698 + -1458 -1048 -1048 -1128 + -1218 -808 -808 -888 +/* GC.CG..GC */ + -1278 -868 -868 -948 + -1028 -618 -618 -698 + -1338 -928 -928 -1008 + -1218 -808 -808 -888 +/* GC.CU..GC */ + -1598 -1188 -1188 -1268 + -1108 -698 -698 -778 + -1458 -1048 -1048 -1128 + -1288 -878 -878 -958 +/* GC.GA..GC */ + -1228 -1258 -1138 -1258 + -1428 -1458 -1338 -1458 + -1418 -1448 -1328 -1448 + -1208 -1238 -1118 -1238 +/* GC.GC..GC */ + -1588 -1618 -1498 -1618 + -1018 -1048 -928 -1048 + -1448 -1478 -1358 -1478 + -1208 -1238 -1118 -1238 +/* GC.GG..GC */ + -1268 -1298 -1178 -1298 + -1018 -1048 -928 -1048 + -1328 -1358 -1238 -1358 + -1208 -1238 -1118 -1238 +/* GC.GU..GC */ + -1588 -1618 -1498 -1618 + -1098 -1128 -1008 -1128 + -1448 -1478 -1358 -1478 + -1278 -1308 -1188 -1308 +/* GC.UA..GC */ + -1018 -1018 -1018 -1088 + -1218 -1218 -1218 -1288 + -1208 -1208 -1208 -1278 + -998 -998 -998 -1068 +/* GC.UC..GC */ + -1378 -1378 -1378 -1448 + -808 -808 -808 -878 + -1238 -1238 -1238 -1308 + -998 -998 -998 -1068 +/* GC.UG..GC */ + -1058 -1058 -1058 -1128 + -808 -808 -808 -878 + -1118 -1118 -1118 -1188 + -998 -998 -998 -1068 +/* GC.UU..GC */ + -1378 -1378 -1378 -1448 + -888 -888 -888 -958 + -1238 -1238 -1238 -1308 + -1068 -1068 -1068 -1138 +/* GC.AA..GU */ + -948 -1308 -988 -1308 + -778 -1138 -818 -1138 + -858 -1218 -898 -1218 + -848 -1208 -888 -1208 +/* GC.AC..GU */ + -1118 -1478 -1158 -1478 + -758 -1118 -798 -1118 + -1208 -1568 -1248 -1568 + -848 -1208 -888 -1208 +/* GC.AG..GU */ + -1118 -1478 -1158 -1478 + -758 -1118 -798 -1118 + -1208 -1568 -1248 -1568 + -848 -1208 -888 -1208 +/* GC.AU..GU */ + -1118 -1478 -1158 -1478 + -758 -1118 -798 -1118 + -1208 -1568 -1248 -1568 + -848 -1208 -888 -1208 +/* GC.CA..GU */ + -1148 -738 -738 -818 + -978 -568 -568 -648 + -1058 -648 -648 -728 + -1048 -638 -638 -718 +/* GC.CC..GU */ + -1318 -908 -908 -988 + -958 -548 -548 -628 + -1408 -998 -998 -1078 + -1048 -638 -638 -718 +/* GC.CG..GU */ + -1318 -908 -908 -988 + -958 -548 -548 -628 + -1408 -998 -998 -1078 + -1048 -638 -638 -718 +/* GC.CU..GU */ + -1318 -908 -908 -988 + -958 -548 -548 -628 + -1408 -998 -998 -1078 + -1048 -638 -638 -718 +/* GC.GA..GU */ + -1138 -1168 -1048 -1168 + -968 -998 -878 -998 + -1048 -1078 -958 -1078 + -1038 -1068 -948 -1068 +/* GC.GC..GU */ + -1308 -1338 -1218 -1338 + -948 -978 -858 -978 + -1398 -1428 -1308 -1428 + -1038 -1068 -948 -1068 +/* GC.GG..GU */ + -1308 -1338 -1218 -1338 + -948 -978 -858 -978 + -1398 -1428 -1308 -1428 + -1038 -1068 -948 -1068 +/* GC.GU..GU */ + -1308 -1338 -1218 -1338 + -948 -978 -858 -978 + -1398 -1428 -1308 -1428 + -1038 -1068 -948 -1068 +/* GC.UA..GU */ + -928 -928 -928 -998 + -758 -758 -758 -828 + -838 -838 -838 -908 + -828 -828 -828 -898 +/* GC.UC..GU */ + -1098 -1098 -1098 -1168 + -738 -738 -738 -808 + -1188 -1188 -1188 -1258 + -828 -828 -828 -898 +/* GC.UG..GU */ + -1098 -1098 -1098 -1168 + -738 -738 -738 -808 + -1188 -1188 -1188 -1258 + -828 -828 -828 -898 +/* GC.UU..GU */ + -1098 -1098 -1098 -1168 + -738 -738 -738 -808 + -1188 -1188 -1188 -1258 + -828 -828 -828 -898 +/* GC.AA..UG */ + -1238 -1598 -1278 -1598 + -998 -1358 -1038 -1358 + -1178 -1538 -1218 -1538 + -1068 -1428 -1108 -1428 +/* GC.AC..UG */ + -1308 -1668 -1348 -1668 + -998 -1358 -1038 -1358 + -1328 -1688 -1368 -1688 + -958 -1318 -998 -1318 +/* GC.AG..UG */ + -1478 -1838 -1518 -1838 + -878 -1238 -918 -1238 + -1438 -1798 -1478 -1798 + -1068 -1428 -1108 -1428 +/* GC.AU..UG */ + -1328 -1688 -1368 -1688 + -998 -1358 -1038 -1358 + -1328 -1688 -1368 -1688 + -878 -1238 -918 -1238 +/* GC.CA..UG */ + -1438 -1028 -1028 -1108 + -1198 -788 -788 -868 + -1378 -968 -968 -1048 + -1268 -858 -858 -938 +/* GC.CC..UG */ + -1508 -1098 -1098 -1178 + -1198 -788 -788 -868 + -1528 -1118 -1118 -1198 + -1158 -748 -748 -828 +/* GC.CG..UG */ + -1678 -1268 -1268 -1348 + -1078 -668 -668 -748 + -1638 -1228 -1228 -1308 + -1268 -858 -858 -938 +/* GC.CU..UG */ + -1528 -1118 -1118 -1198 + -1198 -788 -788 -868 + -1528 -1118 -1118 -1198 + -1078 -668 -668 -748 +/* GC.GA..UG */ + -1428 -1458 -1338 -1458 + -1188 -1218 -1098 -1218 + -1368 -1398 -1278 -1398 + -1258 -1288 -1168 -1288 +/* GC.GC..UG */ + -1498 -1528 -1408 -1528 + -1188 -1218 -1098 -1218 + -1518 -1548 -1428 -1548 + -1148 -1178 -1058 -1178 +/* GC.GG..UG */ + -1668 -1698 -1578 -1698 + -1068 -1098 -978 -1098 + -1628 -1658 -1538 -1658 + -1258 -1288 -1168 -1288 +/* GC.GU..UG */ + -1518 -1548 -1428 -1548 + -1188 -1218 -1098 -1218 + -1518 -1548 -1428 -1548 + -1068 -1098 -978 -1098 +/* GC.UA..UG */ + -1218 -1218 -1218 -1288 + -978 -978 -978 -1048 + -1158 -1158 -1158 -1228 + -1048 -1048 -1048 -1118 +/* GC.UC..UG */ + -1288 -1288 -1288 -1358 + -978 -978 -978 -1048 + -1308 -1308 -1308 -1378 + -938 -938 -938 -1008 +/* GC.UG..UG */ + -1458 -1458 -1458 -1528 + -858 -858 -858 -928 + -1418 -1418 -1418 -1488 + -1048 -1048 -1048 -1118 +/* GC.UU..UG */ + -1308 -1308 -1308 -1378 + -978 -978 -978 -1048 + -1308 -1308 -1308 -1378 + -858 -858 -858 -928 +/* GC.AA..AU */ + -948 -1308 -988 -1308 + -778 -1138 -818 -1138 + -858 -1218 -898 -1218 + -848 -1208 -888 -1208 +/* GC.AC..AU */ + -1118 -1478 -1158 -1478 + -758 -1118 -798 -1118 + -1208 -1568 -1248 -1568 + -848 -1208 -888 -1208 +/* GC.AG..AU */ + -1118 -1478 -1158 -1478 + -758 -1118 -798 -1118 + -1208 -1568 -1248 -1568 + -848 -1208 -888 -1208 +/* GC.AU..AU */ + -1118 -1478 -1158 -1478 + -758 -1118 -798 -1118 + -1208 -1568 -1248 -1568 + -848 -1208 -888 -1208 +/* GC.CA..AU */ + -1148 -738 -738 -818 + -978 -568 -568 -648 + -1058 -648 -648 -728 + -1048 -638 -638 -718 +/* GC.CC..AU */ + -1318 -908 -908 -988 + -958 -548 -548 -628 + -1408 -998 -998 -1078 + -1048 -638 -638 -718 +/* GC.CG..AU */ + -1318 -908 -908 -988 + -958 -548 -548 -628 + -1408 -998 -998 -1078 + -1048 -638 -638 -718 +/* GC.CU..AU */ + -1318 -908 -908 -988 + -958 -548 -548 -628 + -1408 -998 -998 -1078 + -1048 -638 -638 -718 +/* GC.GA..AU */ + -1138 -1168 -1048 -1168 + -968 -998 -878 -998 + -1048 -1078 -958 -1078 + -1038 -1068 -948 -1068 +/* GC.GC..AU */ + -1308 -1338 -1218 -1338 + -948 -978 -858 -978 + -1398 -1428 -1308 -1428 + -1038 -1068 -948 -1068 +/* GC.GG..AU */ + -1308 -1338 -1218 -1338 + -948 -978 -858 -978 + -1398 -1428 -1308 -1428 + -1038 -1068 -948 -1068 +/* GC.GU..AU */ + -1308 -1338 -1218 -1338 + -948 -978 -858 -978 + -1398 -1428 -1308 -1428 + -1038 -1068 -948 -1068 +/* GC.UA..AU */ + -928 -928 -928 -998 + -758 -758 -758 -828 + -838 -838 -838 -908 + -828 -828 -828 -898 +/* GC.UC..AU */ + -1098 -1098 -1098 -1168 + -738 -738 -738 -808 + -1188 -1188 -1188 -1258 + -828 -828 -828 -898 +/* GC.UG..AU */ + -1098 -1098 -1098 -1168 + -738 -738 -738 -808 + -1188 -1188 -1188 -1258 + -828 -828 -828 -898 +/* GC.UU..AU */ + -1098 -1098 -1098 -1168 + -738 -738 -738 -808 + -1188 -1188 -1188 -1258 + -828 -828 -828 -898 +/* GC.AA..UA */ + -918 -1278 -958 -1278 + -948 -1308 -988 -1308 + -898 -1258 -938 -1258 + -798 -1158 -838 -1158 +/* GC.AC..UA */ + -1148 -1508 -1188 -1508 + -1028 -1388 -1068 -1388 + -1198 -1558 -1238 -1558 + -658 -1018 -698 -1018 +/* GC.AG..UA */ + -1408 -1768 -1448 -1768 + -718 -1078 -758 -1078 + -1408 -1768 -1448 -1768 + -798 -1158 -838 -1158 +/* GC.AU..UA */ + -1108 -1468 -1148 -1468 + -698 -1058 -738 -1058 + -1198 -1558 -1238 -1558 + -659 -1019 -699 -1019 +/* GC.CA..UA */ + -1118 -708 -708 -788 + -1148 -738 -738 -818 + -1098 -688 -688 -768 + -998 -588 -588 -668 +/* GC.CC..UA */ + -1348 -938 -938 -1018 + -1228 -818 -818 -898 + -1398 -988 -988 -1068 + -858 -448 -448 -528 +/* GC.CG..UA */ + -1608 -1198 -1198 -1278 + -918 -508 -508 -588 + -1608 -1198 -1198 -1278 + -998 -588 -588 -668 +/* GC.CU..UA */ + -1308 -898 -898 -978 + -898 -488 -488 -568 + -1398 -988 -988 -1068 + -859 -449 -449 -529 +/* GC.GA..UA */ + -1108 -1138 -1018 -1138 + -1138 -1168 -1048 -1168 + -1088 -1118 -998 -1118 + -988 -1018 -898 -1018 +/* GC.GC..UA */ + -1338 -1368 -1248 -1368 + -1218 -1248 -1128 -1248 + -1388 -1418 -1298 -1418 + -848 -878 -758 -878 +/* GC.GG..UA */ + -1598 -1628 -1508 -1628 + -908 -938 -818 -938 + -1598 -1628 -1508 -1628 + -988 -1018 -898 -1018 +/* GC.GU..UA */ + -1298 -1328 -1208 -1328 + -888 -918 -798 -918 + -1388 -1418 -1298 -1418 + -849 -879 -759 -879 +/* GC.UA..UA */ + -898 -898 -898 -968 + -928 -928 -928 -998 + -878 -878 -878 -948 + -778 -778 -778 -848 +/* GC.UC..UA */ + -1128 -1128 -1128 -1198 + -1008 -1008 -1008 -1078 + -1178 -1178 -1178 -1248 + -638 -638 -638 -708 +/* GC.UG..UA */ + -1388 -1388 -1388 -1458 + -698 -698 -698 -768 + -1388 -1388 -1388 -1458 + -778 -778 -778 -848 +/* GC.UU..UA */ + -1088 -1088 -1088 -1158 + -678 -678 -678 -748 + -1178 -1178 -1178 -1248 + -639 -639 -639 -709 +/* GC.AA.. @ */ + -569 -929 -609 -929 + -569 -929 -609 -929 + -569 -929 -609 -929 + -569 -929 -609 -929 +/* GC.AC.. @ */ + -569 -929 -609 -929 + -569 -929 -609 -929 + -569 -929 -609 -929 + -569 -929 -609 -929 +/* GC.AG.. @ */ + -569 -929 -609 -929 + -569 -929 -609 -929 + -569 -929 -609 -929 + -569 -929 -609 -929 +/* GC.AU.. @ */ + -569 -929 -609 -929 + -569 -929 -609 -929 + -569 -929 -609 -929 + -569 -929 -609 -929 +/* GC.CA.. @ */ + -769 -359 -359 -439 + -769 -359 -359 -439 + -769 -359 -359 -439 + -769 -359 -359 -439 +/* GC.CC.. @ */ + -769 -359 -359 -439 + -769 -359 -359 -439 + -769 -359 -359 -439 + -769 -359 -359 -439 +/* GC.CG.. @ */ + -769 -359 -359 -439 + -769 -359 -359 -439 + -769 -359 -359 -439 + -769 -359 -359 -439 +/* GC.CU.. @ */ + -769 -359 -359 -439 + -769 -359 -359 -439 + -769 -359 -359 -439 + -769 -359 -359 -439 +/* GC.GA.. @ */ + -759 -789 -669 -789 + -759 -789 -669 -789 + -759 -789 -669 -789 + -759 -789 -669 -789 +/* GC.GC.. @ */ + -759 -789 -669 -789 + -759 -789 -669 -789 + -759 -789 -669 -789 + -759 -789 -669 -789 +/* GC.GG.. @ */ + -759 -789 -669 -789 + -759 -789 -669 -789 + -759 -789 -669 -789 + -759 -789 -669 -789 +/* GC.GU.. @ */ + -759 -789 -669 -789 + -759 -789 -669 -789 + -759 -789 -669 -789 + -759 -789 -669 -789 +/* GC.UA.. @ */ + -549 -549 -549 -619 + -549 -549 -549 -619 + -549 -549 -549 -619 + -549 -549 -549 -619 +/* GC.UC.. @ */ + -549 -549 -549 -619 + -549 -549 -549 -619 + -549 -549 -549 -619 + -549 -549 -549 -619 +/* GC.UG.. @ */ + -549 -549 -549 -619 + -549 -549 -549 -619 + -549 -549 -549 -619 + -549 -549 -549 -619 +/* GC.UU.. @ */ + -549 -549 -549 -619 + -549 -549 -549 -619 + -549 -549 -549 -619 + -549 -549 -549 -619 +/* GU.AA..CG */ + -1458 -1628 -1628 -1628 + -948 -1118 -1118 -1118 + -1368 -1538 -1538 -1538 + -1238 -1408 -1408 -1408 +/* GU.AC..CG */ + -1378 -1548 -1548 -1548 + -878 -1048 -1048 -1048 + -1368 -1538 -1538 -1538 + -1168 -1338 -1338 -1338 +/* GU.AG..CG */ + -1458 -1628 -1628 -1628 + -948 -1118 -1118 -1118 + -1368 -1538 -1538 -1538 + -1238 -1408 -1408 -1408 +/* GU.AU..CG */ + -1458 -1628 -1628 -1628 + -1098 -1268 -1268 -1268 + -1368 -1538 -1538 -1538 + -1288 -1458 -1458 -1458 +/* GU.CA..CG */ + -1288 -1268 -1268 -1268 + -778 -758 -758 -758 + -1198 -1178 -1178 -1178 + -1068 -1048 -1048 -1048 +/* GU.CC..CG */ + -1208 -1188 -1188 -1188 + -708 -688 -688 -688 + -1198 -1178 -1178 -1178 + -998 -978 -978 -978 +/* GU.CG..CG */ + -1288 -1268 -1268 -1268 + -778 -758 -758 -758 + -1198 -1178 -1178 -1178 + -1068 -1048 -1048 -1048 +/* GU.CU..CG */ + -1288 -1268 -1268 -1268 + -928 -908 -908 -908 + -1198 -1178 -1178 -1178 + -1118 -1098 -1098 -1098 +/* GU.GA..CG */ + -1368 -1718 -1718 -1718 + -858 -1208 -1208 -1208 + -1278 -1628 -1628 -1628 + -1148 -1498 -1498 -1498 +/* GU.GC..CG */ + -1288 -1638 -1638 -1638 + -788 -1138 -1138 -1138 + -1278 -1628 -1628 -1628 + -1078 -1428 -1428 -1428 +/* GU.GG..CG */ + -1368 -1718 -1718 -1718 + -858 -1208 -1208 -1208 + -1278 -1628 -1628 -1628 + -1148 -1498 -1498 -1498 +/* GU.GU..CG */ + -1368 -1718 -1718 -1718 + -1008 -1358 -1358 -1358 + -1278 -1628 -1628 -1628 + -1198 -1548 -1548 -1548 +/* GU.UA..CG */ + -1358 -1358 -1358 -1358 + -848 -848 -848 -848 + -1268 -1268 -1268 -1268 + -1138 -1138 -1138 -1138 +/* GU.UC..CG */ + -1278 -1278 -1278 -1278 + -778 -778 -778 -778 + -1268 -1268 -1268 -1268 + -1068 -1068 -1068 -1068 +/* GU.UG..CG */ + -1358 -1358 -1358 -1358 + -848 -848 -848 -848 + -1268 -1268 -1268 -1268 + -1138 -1138 -1138 -1138 +/* GU.UU..CG */ + -1358 -1358 -1358 -1358 + -998 -998 -998 -998 + -1268 -1268 -1268 -1268 + -1188 -1188 -1188 -1188 +/* GU.AA..GC */ + -948 -1118 -1118 -1118 + -1148 -1318 -1318 -1318 + -1138 -1308 -1308 -1308 + -928 -1098 -1098 -1098 +/* GU.AC..GC */ + -1308 -1478 -1478 -1478 + -738 -908 -908 -908 + -1168 -1338 -1338 -1338 + -928 -1098 -1098 -1098 +/* GU.AG..GC */ + -988 -1158 -1158 -1158 + -738 -908 -908 -908 + -1048 -1218 -1218 -1218 + -928 -1098 -1098 -1098 +/* GU.AU..GC */ + -1308 -1478 -1478 -1478 + -818 -988 -988 -988 + -1168 -1338 -1338 -1338 + -998 -1168 -1168 -1168 +/* GU.CA..GC */ + -778 -758 -758 -758 + -978 -958 -958 -958 + -968 -948 -948 -948 + -758 -738 -738 -738 +/* GU.CC..GC */ + -1138 -1118 -1118 -1118 + -568 -548 -548 -548 + -998 -978 -978 -978 + -758 -738 -738 -738 +/* GU.CG..GC */ + -818 -798 -798 -798 + -568 -548 -548 -548 + -878 -858 -858 -858 + -758 -738 -738 -738 +/* GU.CU..GC */ + -1138 -1118 -1118 -1118 + -648 -628 -628 -628 + -998 -978 -978 -978 + -828 -808 -808 -808 +/* GU.GA..GC */ + -858 -1208 -1208 -1208 + -1058 -1408 -1408 -1408 + -1048 -1398 -1398 -1398 + -838 -1188 -1188 -1188 +/* GU.GC..GC */ + -1218 -1568 -1568 -1568 + -648 -998 -998 -998 + -1078 -1428 -1428 -1428 + -838 -1188 -1188 -1188 +/* GU.GG..GC */ + -898 -1248 -1248 -1248 + -648 -998 -998 -998 + -958 -1308 -1308 -1308 + -838 -1188 -1188 -1188 +/* GU.GU..GC */ + -1218 -1568 -1568 -1568 + -728 -1078 -1078 -1078 + -1078 -1428 -1428 -1428 + -908 -1258 -1258 -1258 +/* GU.UA..GC */ + -848 -848 -848 -848 + -1048 -1048 -1048 -1048 + -1038 -1038 -1038 -1038 + -828 -828 -828 -828 +/* GU.UC..GC */ + -1208 -1208 -1208 -1208 + -638 -638 -638 -638 + -1068 -1068 -1068 -1068 + -828 -828 -828 -828 +/* GU.UG..GC */ + -888 -888 -888 -888 + -638 -638 -638 -638 + -948 -948 -948 -948 + -828 -828 -828 -828 +/* GU.UU..GC */ + -1208 -1208 -1208 -1208 + -718 -718 -718 -718 + -1068 -1068 -1068 -1068 + -898 -898 -898 -898 +/* GU.AA..GU */ + -858 -1028 -1028 -1028 + -688 -858 -858 -858 + -768 -938 -938 -938 + -758 -928 -928 -928 +/* GU.AC..GU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* GU.AG..GU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* GU.AU..GU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* GU.CA..GU */ + -688 -668 -668 -668 + -518 -498 -498 -498 + -598 -578 -578 -578 + -588 -568 -568 -568 +/* GU.CC..GU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* GU.CG..GU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* GU.CU..GU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* GU.GA..GU */ + -768 -1118 -1118 -1118 + -598 -948 -948 -948 + -678 -1028 -1028 -1028 + -668 -1018 -1018 -1018 +/* GU.GC..GU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* GU.GG..GU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* GU.GU..GU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* GU.UA..GU */ + -758 -758 -758 -758 + -588 -588 -588 -588 + -668 -668 -668 -668 + -658 -658 -658 -658 +/* GU.UC..GU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* GU.UG..GU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* GU.UU..GU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* GU.AA..UG */ + -1148 -1318 -1318 -1318 + -908 -1078 -1078 -1078 + -1088 -1258 -1258 -1258 + -978 -1148 -1148 -1148 +/* GU.AC..UG */ + -1218 -1388 -1388 -1388 + -908 -1078 -1078 -1078 + -1238 -1408 -1408 -1408 + -868 -1038 -1038 -1038 +/* GU.AG..UG */ + -1388 -1558 -1558 -1558 + -788 -958 -958 -958 + -1348 -1518 -1518 -1518 + -978 -1148 -1148 -1148 +/* GU.AU..UG */ + -1238 -1408 -1408 -1408 + -908 -1078 -1078 -1078 + -1238 -1408 -1408 -1408 + -788 -958 -958 -958 +/* GU.CA..UG */ + -978 -958 -958 -958 + -738 -718 -718 -718 + -918 -898 -898 -898 + -808 -788 -788 -788 +/* GU.CC..UG */ + -1048 -1028 -1028 -1028 + -738 -718 -718 -718 + -1068 -1048 -1048 -1048 + -698 -678 -678 -678 +/* GU.CG..UG */ + -1218 -1198 -1198 -1198 + -618 -598 -598 -598 + -1178 -1158 -1158 -1158 + -808 -788 -788 -788 +/* GU.CU..UG */ + -1068 -1048 -1048 -1048 + -738 -718 -718 -718 + -1068 -1048 -1048 -1048 + -618 -598 -598 -598 +/* GU.GA..UG */ + -1058 -1408 -1408 -1408 + -818 -1168 -1168 -1168 + -998 -1348 -1348 -1348 + -888 -1238 -1238 -1238 +/* GU.GC..UG */ + -1128 -1478 -1478 -1478 + -818 -1168 -1168 -1168 + -1148 -1498 -1498 -1498 + -778 -1128 -1128 -1128 +/* GU.GG..UG */ + -1298 -1648 -1648 -1648 + -698 -1048 -1048 -1048 + -1258 -1608 -1608 -1608 + -888 -1238 -1238 -1238 +/* GU.GU..UG */ + -1148 -1498 -1498 -1498 + -818 -1168 -1168 -1168 + -1148 -1498 -1498 -1498 + -698 -1048 -1048 -1048 +/* GU.UA..UG */ + -1048 -1048 -1048 -1048 + -808 -808 -808 -808 + -988 -988 -988 -988 + -878 -878 -878 -878 +/* GU.UC..UG */ + -1118 -1118 -1118 -1118 + -808 -808 -808 -808 + -1138 -1138 -1138 -1138 + -768 -768 -768 -768 +/* GU.UG..UG */ + -1288 -1288 -1288 -1288 + -688 -688 -688 -688 + -1248 -1248 -1248 -1248 + -878 -878 -878 -878 +/* GU.UU..UG */ + -1138 -1138 -1138 -1138 + -808 -808 -808 -808 + -1138 -1138 -1138 -1138 + -688 -688 -688 -688 +/* GU.AA..AU */ + -858 -1028 -1028 -1028 + -688 -858 -858 -858 + -768 -938 -938 -938 + -758 -928 -928 -928 +/* GU.AC..AU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* GU.AG..AU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* GU.AU..AU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* GU.CA..AU */ + -688 -668 -668 -668 + -518 -498 -498 -498 + -598 -578 -578 -578 + -588 -568 -568 -568 +/* GU.CC..AU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* GU.CG..AU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* GU.CU..AU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* GU.GA..AU */ + -768 -1118 -1118 -1118 + -598 -948 -948 -948 + -678 -1028 -1028 -1028 + -668 -1018 -1018 -1018 +/* GU.GC..AU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* GU.GG..AU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* GU.GU..AU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* GU.UA..AU */ + -758 -758 -758 -758 + -588 -588 -588 -588 + -668 -668 -668 -668 + -658 -658 -658 -658 +/* GU.UC..AU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* GU.UG..AU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* GU.UU..AU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* GU.AA..UA */ + -828 -998 -998 -998 + -858 -1028 -1028 -1028 + -808 -978 -978 -978 + -708 -878 -878 -878 +/* GU.AC..UA */ + -1058 -1228 -1228 -1228 + -938 -1108 -1108 -1108 + -1108 -1278 -1278 -1278 + -568 -738 -738 -738 +/* GU.AG..UA */ + -1318 -1488 -1488 -1488 + -628 -798 -798 -798 + -1318 -1488 -1488 -1488 + -708 -878 -878 -878 +/* GU.AU..UA */ + -1018 -1188 -1188 -1188 + -608 -778 -778 -778 + -1108 -1278 -1278 -1278 + -569 -739 -739 -739 +/* GU.CA..UA */ + -658 -638 -638 -638 + -688 -668 -668 -668 + -638 -618 -618 -618 + -538 -518 -518 -518 +/* GU.CC..UA */ + -888 -868 -868 -868 + -768 -748 -748 -748 + -938 -918 -918 -918 + -398 -378 -378 -378 +/* GU.CG..UA */ + -1148 -1128 -1128 -1128 + -458 -438 -438 -438 + -1148 -1128 -1128 -1128 + -538 -518 -518 -518 +/* GU.CU..UA */ + -848 -828 -828 -828 + -438 -418 -418 -418 + -938 -918 -918 -918 + -399 -379 -379 -379 +/* GU.GA..UA */ + -738 -1088 -1088 -1088 + -768 -1118 -1118 -1118 + -718 -1068 -1068 -1068 + -618 -968 -968 -968 +/* GU.GC..UA */ + -968 -1318 -1318 -1318 + -848 -1198 -1198 -1198 + -1018 -1368 -1368 -1368 + -478 -828 -828 -828 +/* GU.GG..UA */ + -1228 -1578 -1578 -1578 + -538 -888 -888 -888 + -1228 -1578 -1578 -1578 + -618 -968 -968 -968 +/* GU.GU..UA */ + -928 -1278 -1278 -1278 + -518 -868 -868 -868 + -1018 -1368 -1368 -1368 + -479 -829 -829 -829 +/* GU.UA..UA */ + -728 -728 -728 -728 + -758 -758 -758 -758 + -708 -708 -708 -708 + -608 -608 -608 -608 +/* GU.UC..UA */ + -958 -958 -958 -958 + -838 -838 -838 -838 + -1008 -1008 -1008 -1008 + -468 -468 -468 -468 +/* GU.UG..UA */ + -1218 -1218 -1218 -1218 + -528 -528 -528 -528 + -1218 -1218 -1218 -1218 + -608 -608 -608 -608 +/* GU.UU..UA */ + -918 -918 -918 -918 + -508 -508 -508 -508 + -1008 -1008 -1008 -1008 + -469 -469 -469 -469 +/* GU.AA.. @ */ + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 +/* GU.AC.. @ */ + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 +/* GU.AG.. @ */ + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 +/* GU.AU.. @ */ + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 +/* GU.CA.. @ */ + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 +/* GU.CC.. @ */ + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 +/* GU.CG.. @ */ + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 +/* GU.CU.. @ */ + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 +/* GU.GA.. @ */ + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 +/* GU.GC.. @ */ + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 +/* GU.GG.. @ */ + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 +/* GU.GU.. @ */ + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 +/* GU.UA.. @ */ + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 +/* GU.UC.. @ */ + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 +/* GU.UG.. @ */ + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 +/* GU.UU.. @ */ + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 +/* UG.AA..CG */ + -1748 -1818 -1988 -1838 + -1238 -1308 -1478 -1328 + -1658 -1728 -1898 -1748 + -1528 -1598 -1768 -1618 +/* UG.AC..CG */ + -1668 -1738 -1908 -1758 + -1168 -1238 -1408 -1258 + -1658 -1728 -1898 -1748 + -1458 -1528 -1698 -1548 +/* UG.AG..CG */ + -1748 -1818 -1988 -1838 + -1238 -1308 -1478 -1328 + -1658 -1728 -1898 -1748 + -1528 -1598 -1768 -1618 +/* UG.AU..CG */ + -1748 -1818 -1988 -1838 + -1388 -1458 -1628 -1478 + -1658 -1728 -1898 -1748 + -1578 -1648 -1818 -1668 +/* UG.CA..CG */ + -1508 -1508 -1388 -1508 + -998 -998 -878 -998 + -1418 -1418 -1298 -1418 + -1288 -1288 -1168 -1288 +/* UG.CC..CG */ + -1428 -1428 -1308 -1428 + -928 -928 -808 -928 + -1418 -1418 -1298 -1418 + -1218 -1218 -1098 -1218 +/* UG.CG..CG */ + -1508 -1508 -1388 -1508 + -998 -998 -878 -998 + -1418 -1418 -1298 -1418 + -1288 -1288 -1168 -1288 +/* UG.CU..CG */ + -1508 -1508 -1388 -1508 + -1148 -1148 -1028 -1148 + -1418 -1418 -1298 -1418 + -1338 -1338 -1218 -1338 +/* UG.GA..CG */ + -1688 -1838 -1948 -1838 + -1178 -1328 -1438 -1328 + -1598 -1748 -1858 -1748 + -1468 -1618 -1728 -1618 +/* UG.GC..CG */ + -1608 -1758 -1868 -1758 + -1108 -1258 -1368 -1258 + -1598 -1748 -1858 -1748 + -1398 -1548 -1658 -1548 +/* UG.GG..CG */ + -1688 -1838 -1948 -1838 + -1178 -1328 -1438 -1328 + -1598 -1748 -1858 -1748 + -1468 -1618 -1728 -1618 +/* UG.GU..CG */ + -1688 -1838 -1948 -1838 + -1328 -1478 -1588 -1478 + -1598 -1748 -1858 -1748 + -1518 -1668 -1778 -1668 +/* UG.UA..CG */ + -1578 -1468 -1578 -1388 + -1068 -958 -1068 -878 + -1488 -1378 -1488 -1298 + -1358 -1248 -1358 -1168 +/* UG.UC..CG */ + -1498 -1388 -1498 -1308 + -998 -888 -998 -808 + -1488 -1378 -1488 -1298 + -1288 -1178 -1288 -1098 +/* UG.UG..CG */ + -1578 -1468 -1578 -1388 + -1068 -958 -1068 -878 + -1488 -1378 -1488 -1298 + -1358 -1248 -1358 -1168 +/* UG.UU..CG */ + -1578 -1468 -1578 -1388 + -1218 -1108 -1218 -1028 + -1488 -1378 -1488 -1298 + -1408 -1298 -1408 -1218 +/* UG.AA..GC */ + -1238 -1308 -1478 -1328 + -1438 -1508 -1678 -1528 + -1428 -1498 -1668 -1518 + -1218 -1288 -1458 -1308 +/* UG.AC..GC */ + -1598 -1668 -1838 -1688 + -1028 -1098 -1268 -1118 + -1458 -1528 -1698 -1548 + -1218 -1288 -1458 -1308 +/* UG.AG..GC */ + -1278 -1348 -1518 -1368 + -1028 -1098 -1268 -1118 + -1338 -1408 -1578 -1428 + -1218 -1288 -1458 -1308 +/* UG.AU..GC */ + -1598 -1668 -1838 -1688 + -1108 -1178 -1348 -1198 + -1458 -1528 -1698 -1548 + -1288 -1358 -1528 -1378 +/* UG.CA..GC */ + -998 -998 -878 -998 + -1198 -1198 -1078 -1198 + -1188 -1188 -1068 -1188 + -978 -978 -858 -978 +/* UG.CC..GC */ + -1358 -1358 -1238 -1358 + -788 -788 -668 -788 + -1218 -1218 -1098 -1218 + -978 -978 -858 -978 +/* UG.CG..GC */ + -1038 -1038 -918 -1038 + -788 -788 -668 -788 + -1098 -1098 -978 -1098 + -978 -978 -858 -978 +/* UG.CU..GC */ + -1358 -1358 -1238 -1358 + -868 -868 -748 -868 + -1218 -1218 -1098 -1218 + -1048 -1048 -928 -1048 +/* UG.GA..GC */ + -1178 -1328 -1438 -1328 + -1378 -1528 -1638 -1528 + -1368 -1518 -1628 -1518 + -1158 -1308 -1418 -1308 +/* UG.GC..GC */ + -1538 -1688 -1798 -1688 + -968 -1118 -1228 -1118 + -1398 -1548 -1658 -1548 + -1158 -1308 -1418 -1308 +/* UG.GG..GC */ + -1218 -1368 -1478 -1368 + -968 -1118 -1228 -1118 + -1278 -1428 -1538 -1428 + -1158 -1308 -1418 -1308 +/* UG.GU..GC */ + -1538 -1688 -1798 -1688 + -1048 -1198 -1308 -1198 + -1398 -1548 -1658 -1548 + -1228 -1378 -1488 -1378 +/* UG.UA..GC */ + -1068 -958 -1068 -878 + -1268 -1158 -1268 -1078 + -1258 -1148 -1258 -1068 + -1048 -938 -1048 -858 +/* UG.UC..GC */ + -1428 -1318 -1428 -1238 + -858 -748 -858 -668 + -1288 -1178 -1288 -1098 + -1048 -938 -1048 -858 +/* UG.UG..GC */ + -1108 -998 -1108 -918 + -858 -748 -858 -668 + -1168 -1058 -1168 -978 + -1048 -938 -1048 -858 +/* UG.UU..GC */ + -1428 -1318 -1428 -1238 + -938 -828 -938 -748 + -1288 -1178 -1288 -1098 + -1118 -1008 -1118 -928 +/* UG.AA..GU */ + -1148 -1218 -1388 -1238 + -978 -1048 -1218 -1068 + -1058 -1128 -1298 -1148 + -1048 -1118 -1288 -1138 +/* UG.AC..GU */ + -1318 -1388 -1558 -1408 + -958 -1028 -1198 -1048 + -1408 -1478 -1648 -1498 + -1048 -1118 -1288 -1138 +/* UG.AG..GU */ + -1318 -1388 -1558 -1408 + -958 -1028 -1198 -1048 + -1408 -1478 -1648 -1498 + -1048 -1118 -1288 -1138 +/* UG.AU..GU */ + -1318 -1388 -1558 -1408 + -958 -1028 -1198 -1048 + -1408 -1478 -1648 -1498 + -1048 -1118 -1288 -1138 +/* UG.CA..GU */ + -908 -908 -788 -908 + -738 -738 -618 -738 + -818 -818 -698 -818 + -808 -808 -688 -808 +/* UG.CC..GU */ + -1078 -1078 -958 -1078 + -718 -718 -598 -718 + -1168 -1168 -1048 -1168 + -808 -808 -688 -808 +/* UG.CG..GU */ + -1078 -1078 -958 -1078 + -718 -718 -598 -718 + -1168 -1168 -1048 -1168 + -808 -808 -688 -808 +/* UG.CU..GU */ + -1078 -1078 -958 -1078 + -718 -718 -598 -718 + -1168 -1168 -1048 -1168 + -808 -808 -688 -808 +/* UG.GA..GU */ + -1088 -1238 -1348 -1238 + -918 -1068 -1178 -1068 + -998 -1148 -1258 -1148 + -988 -1138 -1248 -1138 +/* UG.GC..GU */ + -1258 -1408 -1518 -1408 + -898 -1048 -1158 -1048 + -1348 -1498 -1608 -1498 + -988 -1138 -1248 -1138 +/* UG.GG..GU */ + -1258 -1408 -1518 -1408 + -898 -1048 -1158 -1048 + -1348 -1498 -1608 -1498 + -988 -1138 -1248 -1138 +/* UG.GU..GU */ + -1258 -1408 -1518 -1408 + -898 -1048 -1158 -1048 + -1348 -1498 -1608 -1498 + -988 -1138 -1248 -1138 +/* UG.UA..GU */ + -978 -868 -978 -788 + -808 -698 -808 -618 + -888 -778 -888 -698 + -878 -768 -878 -688 +/* UG.UC..GU */ + -1148 -1038 -1148 -958 + -788 -678 -788 -598 + -1238 -1128 -1238 -1048 + -878 -768 -878 -688 +/* UG.UG..GU */ + -1148 -1038 -1148 -958 + -788 -678 -788 -598 + -1238 -1128 -1238 -1048 + -878 -768 -878 -688 +/* UG.UU..GU */ + -1148 -1038 -1148 -958 + -788 -678 -788 -598 + -1238 -1128 -1238 -1048 + -878 -768 -878 -688 +/* UG.AA..UG */ + -1438 -1508 -1678 -1528 + -1198 -1268 -1438 -1288 + -1378 -1448 -1618 -1468 + -1268 -1338 -1508 -1358 +/* UG.AC..UG */ + -1508 -1578 -1748 -1598 + -1198 -1268 -1438 -1288 + -1528 -1598 -1768 -1618 + -1158 -1228 -1398 -1248 +/* UG.AG..UG */ + -1678 -1748 -1918 -1768 + -1078 -1148 -1318 -1168 + -1638 -1708 -1878 -1728 + -1268 -1338 -1508 -1358 +/* UG.AU..UG */ + -1528 -1598 -1768 -1618 + -1198 -1268 -1438 -1288 + -1528 -1598 -1768 -1618 + -1078 -1148 -1318 -1168 +/* UG.CA..UG */ + -1198 -1198 -1078 -1198 + -958 -958 -838 -958 + -1138 -1138 -1018 -1138 + -1028 -1028 -908 -1028 +/* UG.CC..UG */ + -1268 -1268 -1148 -1268 + -958 -958 -838 -958 + -1288 -1288 -1168 -1288 + -918 -918 -798 -918 +/* UG.CG..UG */ + -1438 -1438 -1318 -1438 + -838 -838 -718 -838 + -1398 -1398 -1278 -1398 + -1028 -1028 -908 -1028 +/* UG.CU..UG */ + -1288 -1288 -1168 -1288 + -958 -958 -838 -958 + -1288 -1288 -1168 -1288 + -838 -838 -718 -838 +/* UG.GA..UG */ + -1378 -1528 -1638 -1528 + -1138 -1288 -1398 -1288 + -1318 -1468 -1578 -1468 + -1208 -1358 -1468 -1358 +/* UG.GC..UG */ + -1448 -1598 -1708 -1598 + -1138 -1288 -1398 -1288 + -1468 -1618 -1728 -1618 + -1098 -1248 -1358 -1248 +/* UG.GG..UG */ + -1618 -1768 -1878 -1768 + -1018 -1168 -1278 -1168 + -1578 -1728 -1838 -1728 + -1208 -1358 -1468 -1358 +/* UG.GU..UG */ + -1468 -1618 -1728 -1618 + -1138 -1288 -1398 -1288 + -1468 -1618 -1728 -1618 + -1018 -1168 -1278 -1168 +/* UG.UA..UG */ + -1268 -1158 -1268 -1078 + -1028 -918 -1028 -838 + -1208 -1098 -1208 -1018 + -1098 -988 -1098 -908 +/* UG.UC..UG */ + -1338 -1228 -1338 -1148 + -1028 -918 -1028 -838 + -1358 -1248 -1358 -1168 + -988 -878 -988 -798 +/* UG.UG..UG */ + -1508 -1398 -1508 -1318 + -908 -798 -908 -718 + -1468 -1358 -1468 -1278 + -1098 -988 -1098 -908 +/* UG.UU..UG */ + -1358 -1248 -1358 -1168 + -1028 -918 -1028 -838 + -1358 -1248 -1358 -1168 + -908 -798 -908 -718 +/* UG.AA..AU */ + -1148 -1218 -1388 -1238 + -978 -1048 -1218 -1068 + -1058 -1128 -1298 -1148 + -1048 -1118 -1288 -1138 +/* UG.AC..AU */ + -1318 -1388 -1558 -1408 + -958 -1028 -1198 -1048 + -1408 -1478 -1648 -1498 + -1048 -1118 -1288 -1138 +/* UG.AG..AU */ + -1318 -1388 -1558 -1408 + -958 -1028 -1198 -1048 + -1408 -1478 -1648 -1498 + -1048 -1118 -1288 -1138 +/* UG.AU..AU */ + -1318 -1388 -1558 -1408 + -958 -1028 -1198 -1048 + -1408 -1478 -1648 -1498 + -1048 -1118 -1288 -1138 +/* UG.CA..AU */ + -908 -908 -788 -908 + -738 -738 -618 -738 + -818 -818 -698 -818 + -808 -808 -688 -808 +/* UG.CC..AU */ + -1078 -1078 -958 -1078 + -718 -718 -598 -718 + -1168 -1168 -1048 -1168 + -808 -808 -688 -808 +/* UG.CG..AU */ + -1078 -1078 -958 -1078 + -718 -718 -598 -718 + -1168 -1168 -1048 -1168 + -808 -808 -688 -808 +/* UG.CU..AU */ + -1078 -1078 -958 -1078 + -718 -718 -598 -718 + -1168 -1168 -1048 -1168 + -808 -808 -688 -808 +/* UG.GA..AU */ + -1088 -1238 -1348 -1238 + -918 -1068 -1178 -1068 + -998 -1148 -1258 -1148 + -988 -1138 -1248 -1138 +/* UG.GC..AU */ + -1258 -1408 -1518 -1408 + -898 -1048 -1158 -1048 + -1348 -1498 -1608 -1498 + -988 -1138 -1248 -1138 +/* UG.GG..AU */ + -1258 -1408 -1518 -1408 + -898 -1048 -1158 -1048 + -1348 -1498 -1608 -1498 + -988 -1138 -1248 -1138 +/* UG.GU..AU */ + -1258 -1408 -1518 -1408 + -898 -1048 -1158 -1048 + -1348 -1498 -1608 -1498 + -988 -1138 -1248 -1138 +/* UG.UA..AU */ + -978 -868 -978 -788 + -808 -698 -808 -618 + -888 -778 -888 -698 + -878 -768 -878 -688 +/* UG.UC..AU */ + -1148 -1038 -1148 -958 + -788 -678 -788 -598 + -1238 -1128 -1238 -1048 + -878 -768 -878 -688 +/* UG.UG..AU */ + -1148 -1038 -1148 -958 + -788 -678 -788 -598 + -1238 -1128 -1238 -1048 + -878 -768 -878 -688 +/* UG.UU..AU */ + -1148 -1038 -1148 -958 + -788 -678 -788 -598 + -1238 -1128 -1238 -1048 + -878 -768 -878 -688 +/* UG.AA..UA */ + -1118 -1188 -1358 -1208 + -1148 -1218 -1388 -1238 + -1098 -1168 -1338 -1188 + -998 -1068 -1238 -1088 +/* UG.AC..UA */ + -1348 -1418 -1588 -1438 + -1228 -1298 -1468 -1318 + -1398 -1468 -1638 -1488 + -858 -928 -1098 -948 +/* UG.AG..UA */ + -1608 -1678 -1848 -1698 + -918 -988 -1158 -1008 + -1608 -1678 -1848 -1698 + -998 -1068 -1238 -1088 +/* UG.AU..UA */ + -1308 -1378 -1548 -1398 + -898 -968 -1138 -988 + -1398 -1468 -1638 -1488 + -859 -929 -1099 -949 +/* UG.CA..UA */ + -878 -878 -758 -878 + -908 -908 -788 -908 + -858 -858 -738 -858 + -758 -758 -638 -758 +/* UG.CC..UA */ + -1108 -1108 -988 -1108 + -988 -988 -868 -988 + -1158 -1158 -1038 -1158 + -618 -618 -498 -618 +/* UG.CG..UA */ + -1368 -1368 -1248 -1368 + -678 -678 -558 -678 + -1368 -1368 -1248 -1368 + -758 -758 -638 -758 +/* UG.CU..UA */ + -1068 -1068 -948 -1068 + -658 -658 -538 -658 + -1158 -1158 -1038 -1158 + -619 -619 -499 -619 +/* UG.GA..UA */ + -1058 -1208 -1318 -1208 + -1088 -1238 -1348 -1238 + -1038 -1188 -1298 -1188 + -938 -1088 -1198 -1088 +/* UG.GC..UA */ + -1288 -1438 -1548 -1438 + -1168 -1318 -1428 -1318 + -1338 -1488 -1598 -1488 + -798 -948 -1058 -948 +/* UG.GG..UA */ + -1548 -1698 -1808 -1698 + -858 -1008 -1118 -1008 + -1548 -1698 -1808 -1698 + -938 -1088 -1198 -1088 +/* UG.GU..UA */ + -1248 -1398 -1508 -1398 + -838 -988 -1098 -988 + -1338 -1488 -1598 -1488 + -799 -949 -1059 -949 +/* UG.UA..UA */ + -948 -838 -948 -758 + -978 -868 -978 -788 + -928 -818 -928 -738 + -828 -718 -828 -638 +/* UG.UC..UA */ + -1178 -1068 -1178 -988 + -1058 -948 -1058 -868 + -1228 -1118 -1228 -1038 + -688 -578 -688 -498 +/* UG.UG..UA */ + -1438 -1328 -1438 -1248 + -748 -638 -748 -558 + -1438 -1328 -1438 -1248 + -828 -718 -828 -638 +/* UG.UU..UA */ + -1138 -1028 -1138 -948 + -728 -618 -728 -538 + -1228 -1118 -1228 -1038 + -689 -579 -689 -499 +/* UG.AA.. @ */ + -769 -839 -1009 -859 + -769 -839 -1009 -859 + -769 -839 -1009 -859 + -769 -839 -1009 -859 +/* UG.AC.. @ */ + -769 -839 -1009 -859 + -769 -839 -1009 -859 + -769 -839 -1009 -859 + -769 -839 -1009 -859 +/* UG.AG.. @ */ + -769 -839 -1009 -859 + -769 -839 -1009 -859 + -769 -839 -1009 -859 + -769 -839 -1009 -859 +/* UG.AU.. @ */ + -769 -839 -1009 -859 + -769 -839 -1009 -859 + -769 -839 -1009 -859 + -769 -839 -1009 -859 +/* UG.CA.. @ */ + -529 -529 -409 -529 + -529 -529 -409 -529 + -529 -529 -409 -529 + -529 -529 -409 -529 +/* UG.CC.. @ */ + -529 -529 -409 -529 + -529 -529 -409 -529 + -529 -529 -409 -529 + -529 -529 -409 -529 +/* UG.CG.. @ */ + -529 -529 -409 -529 + -529 -529 -409 -529 + -529 -529 -409 -529 + -529 -529 -409 -529 +/* UG.CU.. @ */ + -529 -529 -409 -529 + -529 -529 -409 -529 + -529 -529 -409 -529 + -529 -529 -409 -529 +/* UG.GA.. @ */ + -709 -859 -969 -859 + -709 -859 -969 -859 + -709 -859 -969 -859 + -709 -859 -969 -859 +/* UG.GC.. @ */ + -709 -859 -969 -859 + -709 -859 -969 -859 + -709 -859 -969 -859 + -709 -859 -969 -859 +/* UG.GG.. @ */ + -709 -859 -969 -859 + -709 -859 -969 -859 + -709 -859 -969 -859 + -709 -859 -969 -859 +/* UG.GU.. @ */ + -709 -859 -969 -859 + -709 -859 -969 -859 + -709 -859 -969 -859 + -709 -859 -969 -859 +/* UG.UA.. @ */ + -599 -489 -599 -409 + -599 -489 -599 -409 + -599 -489 -599 -409 + -599 -489 -599 -409 +/* UG.UC.. @ */ + -599 -489 -599 -409 + -599 -489 -599 -409 + -599 -489 -599 -409 + -599 -489 -599 -409 +/* UG.UG.. @ */ + -599 -489 -599 -409 + -599 -489 -599 -409 + -599 -489 -599 -409 + -599 -489 -599 -409 +/* UG.UU.. @ */ + -599 -489 -599 -409 + -599 -489 -599 -409 + -599 -489 -599 -409 + -599 -489 -599 -409 +/* AU.AA..CG */ + -1458 -1628 -1628 -1628 + -948 -1118 -1118 -1118 + -1368 -1538 -1538 -1538 + -1238 -1408 -1408 -1408 +/* AU.AC..CG */ + -1378 -1548 -1548 -1548 + -878 -1048 -1048 -1048 + -1368 -1538 -1538 -1538 + -1168 -1338 -1338 -1338 +/* AU.AG..CG */ + -1458 -1628 -1628 -1628 + -948 -1118 -1118 -1118 + -1368 -1538 -1538 -1538 + -1238 -1408 -1408 -1408 +/* AU.AU..CG */ + -1458 -1628 -1628 -1628 + -1098 -1268 -1268 -1268 + -1368 -1538 -1538 -1538 + -1288 -1458 -1458 -1458 +/* AU.CA..CG */ + -1288 -1268 -1268 -1268 + -778 -758 -758 -758 + -1198 -1178 -1178 -1178 + -1068 -1048 -1048 -1048 +/* AU.CC..CG */ + -1208 -1188 -1188 -1188 + -708 -688 -688 -688 + -1198 -1178 -1178 -1178 + -998 -978 -978 -978 +/* AU.CG..CG */ + -1288 -1268 -1268 -1268 + -778 -758 -758 -758 + -1198 -1178 -1178 -1178 + -1068 -1048 -1048 -1048 +/* AU.CU..CG */ + -1288 -1268 -1268 -1268 + -928 -908 -908 -908 + -1198 -1178 -1178 -1178 + -1118 -1098 -1098 -1098 +/* AU.GA..CG */ + -1368 -1718 -1718 -1718 + -858 -1208 -1208 -1208 + -1278 -1628 -1628 -1628 + -1148 -1498 -1498 -1498 +/* AU.GC..CG */ + -1288 -1638 -1638 -1638 + -788 -1138 -1138 -1138 + -1278 -1628 -1628 -1628 + -1078 -1428 -1428 -1428 +/* AU.GG..CG */ + -1368 -1718 -1718 -1718 + -858 -1208 -1208 -1208 + -1278 -1628 -1628 -1628 + -1148 -1498 -1498 -1498 +/* AU.GU..CG */ + -1368 -1718 -1718 -1718 + -1008 -1358 -1358 -1358 + -1278 -1628 -1628 -1628 + -1198 -1548 -1548 -1548 +/* AU.UA..CG */ + -1358 -1358 -1358 -1358 + -848 -848 -848 -848 + -1268 -1268 -1268 -1268 + -1138 -1138 -1138 -1138 +/* AU.UC..CG */ + -1278 -1278 -1278 -1278 + -778 -778 -778 -778 + -1268 -1268 -1268 -1268 + -1068 -1068 -1068 -1068 +/* AU.UG..CG */ + -1358 -1358 -1358 -1358 + -848 -848 -848 -848 + -1268 -1268 -1268 -1268 + -1138 -1138 -1138 -1138 +/* AU.UU..CG */ + -1358 -1358 -1358 -1358 + -998 -998 -998 -998 + -1268 -1268 -1268 -1268 + -1188 -1188 -1188 -1188 +/* AU.AA..GC */ + -948 -1118 -1118 -1118 + -1148 -1318 -1318 -1318 + -1138 -1308 -1308 -1308 + -928 -1098 -1098 -1098 +/* AU.AC..GC */ + -1308 -1478 -1478 -1478 + -738 -908 -908 -908 + -1168 -1338 -1338 -1338 + -928 -1098 -1098 -1098 +/* AU.AG..GC */ + -988 -1158 -1158 -1158 + -738 -908 -908 -908 + -1048 -1218 -1218 -1218 + -928 -1098 -1098 -1098 +/* AU.AU..GC */ + -1308 -1478 -1478 -1478 + -818 -988 -988 -988 + -1168 -1338 -1338 -1338 + -998 -1168 -1168 -1168 +/* AU.CA..GC */ + -778 -758 -758 -758 + -978 -958 -958 -958 + -968 -948 -948 -948 + -758 -738 -738 -738 +/* AU.CC..GC */ + -1138 -1118 -1118 -1118 + -568 -548 -548 -548 + -998 -978 -978 -978 + -758 -738 -738 -738 +/* AU.CG..GC */ + -818 -798 -798 -798 + -568 -548 -548 -548 + -878 -858 -858 -858 + -758 -738 -738 -738 +/* AU.CU..GC */ + -1138 -1118 -1118 -1118 + -648 -628 -628 -628 + -998 -978 -978 -978 + -828 -808 -808 -808 +/* AU.GA..GC */ + -858 -1208 -1208 -1208 + -1058 -1408 -1408 -1408 + -1048 -1398 -1398 -1398 + -838 -1188 -1188 -1188 +/* AU.GC..GC */ + -1218 -1568 -1568 -1568 + -648 -998 -998 -998 + -1078 -1428 -1428 -1428 + -838 -1188 -1188 -1188 +/* AU.GG..GC */ + -898 -1248 -1248 -1248 + -648 -998 -998 -998 + -958 -1308 -1308 -1308 + -838 -1188 -1188 -1188 +/* AU.GU..GC */ + -1218 -1568 -1568 -1568 + -728 -1078 -1078 -1078 + -1078 -1428 -1428 -1428 + -908 -1258 -1258 -1258 +/* AU.UA..GC */ + -848 -848 -848 -848 + -1048 -1048 -1048 -1048 + -1038 -1038 -1038 -1038 + -828 -828 -828 -828 +/* AU.UC..GC */ + -1208 -1208 -1208 -1208 + -638 -638 -638 -638 + -1068 -1068 -1068 -1068 + -828 -828 -828 -828 +/* AU.UG..GC */ + -888 -888 -888 -888 + -638 -638 -638 -638 + -948 -948 -948 -948 + -828 -828 -828 -828 +/* AU.UU..GC */ + -1208 -1208 -1208 -1208 + -718 -718 -718 -718 + -1068 -1068 -1068 -1068 + -898 -898 -898 -898 +/* AU.AA..GU */ + -858 -1028 -1028 -1028 + -688 -858 -858 -858 + -768 -938 -938 -938 + -758 -928 -928 -928 +/* AU.AC..GU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* AU.AG..GU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* AU.AU..GU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* AU.CA..GU */ + -688 -668 -668 -668 + -518 -498 -498 -498 + -598 -578 -578 -578 + -588 -568 -568 -568 +/* AU.CC..GU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* AU.CG..GU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* AU.CU..GU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* AU.GA..GU */ + -768 -1118 -1118 -1118 + -598 -948 -948 -948 + -678 -1028 -1028 -1028 + -668 -1018 -1018 -1018 +/* AU.GC..GU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* AU.GG..GU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* AU.GU..GU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* AU.UA..GU */ + -758 -758 -758 -758 + -588 -588 -588 -588 + -668 -668 -668 -668 + -658 -658 -658 -658 +/* AU.UC..GU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* AU.UG..GU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* AU.UU..GU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* AU.AA..UG */ + -1148 -1318 -1318 -1318 + -908 -1078 -1078 -1078 + -1088 -1258 -1258 -1258 + -978 -1148 -1148 -1148 +/* AU.AC..UG */ + -1218 -1388 -1388 -1388 + -908 -1078 -1078 -1078 + -1238 -1408 -1408 -1408 + -868 -1038 -1038 -1038 +/* AU.AG..UG */ + -1388 -1558 -1558 -1558 + -788 -958 -958 -958 + -1348 -1518 -1518 -1518 + -978 -1148 -1148 -1148 +/* AU.AU..UG */ + -1238 -1408 -1408 -1408 + -908 -1078 -1078 -1078 + -1238 -1408 -1408 -1408 + -788 -958 -958 -958 +/* AU.CA..UG */ + -978 -958 -958 -958 + -738 -718 -718 -718 + -918 -898 -898 -898 + -808 -788 -788 -788 +/* AU.CC..UG */ + -1048 -1028 -1028 -1028 + -738 -718 -718 -718 + -1068 -1048 -1048 -1048 + -698 -678 -678 -678 +/* AU.CG..UG */ + -1218 -1198 -1198 -1198 + -618 -598 -598 -598 + -1178 -1158 -1158 -1158 + -808 -788 -788 -788 +/* AU.CU..UG */ + -1068 -1048 -1048 -1048 + -738 -718 -718 -718 + -1068 -1048 -1048 -1048 + -618 -598 -598 -598 +/* AU.GA..UG */ + -1058 -1408 -1408 -1408 + -818 -1168 -1168 -1168 + -998 -1348 -1348 -1348 + -888 -1238 -1238 -1238 +/* AU.GC..UG */ + -1128 -1478 -1478 -1478 + -818 -1168 -1168 -1168 + -1148 -1498 -1498 -1498 + -778 -1128 -1128 -1128 +/* AU.GG..UG */ + -1298 -1648 -1648 -1648 + -698 -1048 -1048 -1048 + -1258 -1608 -1608 -1608 + -888 -1238 -1238 -1238 +/* AU.GU..UG */ + -1148 -1498 -1498 -1498 + -818 -1168 -1168 -1168 + -1148 -1498 -1498 -1498 + -698 -1048 -1048 -1048 +/* AU.UA..UG */ + -1048 -1048 -1048 -1048 + -808 -808 -808 -808 + -988 -988 -988 -988 + -878 -878 -878 -878 +/* AU.UC..UG */ + -1118 -1118 -1118 -1118 + -808 -808 -808 -808 + -1138 -1138 -1138 -1138 + -768 -768 -768 -768 +/* AU.UG..UG */ + -1288 -1288 -1288 -1288 + -688 -688 -688 -688 + -1248 -1248 -1248 -1248 + -878 -878 -878 -878 +/* AU.UU..UG */ + -1138 -1138 -1138 -1138 + -808 -808 -808 -808 + -1138 -1138 -1138 -1138 + -688 -688 -688 -688 +/* AU.AA..AU */ + -858 -1028 -1028 -1028 + -688 -858 -858 -858 + -768 -938 -938 -938 + -758 -928 -928 -928 +/* AU.AC..AU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* AU.AG..AU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* AU.AU..AU */ + -1028 -1198 -1198 -1198 + -668 -838 -838 -838 + -1118 -1288 -1288 -1288 + -758 -928 -928 -928 +/* AU.CA..AU */ + -688 -668 -668 -668 + -518 -498 -498 -498 + -598 -578 -578 -578 + -588 -568 -568 -568 +/* AU.CC..AU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* AU.CG..AU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* AU.CU..AU */ + -858 -838 -838 -838 + -498 -478 -478 -478 + -948 -928 -928 -928 + -588 -568 -568 -568 +/* AU.GA..AU */ + -768 -1118 -1118 -1118 + -598 -948 -948 -948 + -678 -1028 -1028 -1028 + -668 -1018 -1018 -1018 +/* AU.GC..AU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* AU.GG..AU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* AU.GU..AU */ + -938 -1288 -1288 -1288 + -578 -928 -928 -928 + -1028 -1378 -1378 -1378 + -668 -1018 -1018 -1018 +/* AU.UA..AU */ + -758 -758 -758 -758 + -588 -588 -588 -588 + -668 -668 -668 -668 + -658 -658 -658 -658 +/* AU.UC..AU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* AU.UG..AU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* AU.UU..AU */ + -928 -928 -928 -928 + -568 -568 -568 -568 + -1018 -1018 -1018 -1018 + -658 -658 -658 -658 +/* AU.AA..UA */ + -828 -998 -998 -998 + -858 -1028 -1028 -1028 + -808 -978 -978 -978 + -708 -878 -878 -878 +/* AU.AC..UA */ + -1058 -1228 -1228 -1228 + -938 -1108 -1108 -1108 + -1108 -1278 -1278 -1278 + -568 -738 -738 -738 +/* AU.AG..UA */ + -1318 -1488 -1488 -1488 + -628 -798 -798 -798 + -1318 -1488 -1488 -1488 + -708 -878 -878 -878 +/* AU.AU..UA */ + -1018 -1188 -1188 -1188 + -608 -778 -778 -778 + -1108 -1278 -1278 -1278 + -569 -739 -739 -739 +/* AU.CA..UA */ + -658 -638 -638 -638 + -688 -668 -668 -668 + -638 -618 -618 -618 + -538 -518 -518 -518 +/* AU.CC..UA */ + -888 -868 -868 -868 + -768 -748 -748 -748 + -938 -918 -918 -918 + -398 -378 -378 -378 +/* AU.CG..UA */ + -1148 -1128 -1128 -1128 + -458 -438 -438 -438 + -1148 -1128 -1128 -1128 + -538 -518 -518 -518 +/* AU.CU..UA */ + -848 -828 -828 -828 + -438 -418 -418 -418 + -938 -918 -918 -918 + -399 -379 -379 -379 +/* AU.GA..UA */ + -738 -1088 -1088 -1088 + -768 -1118 -1118 -1118 + -718 -1068 -1068 -1068 + -618 -968 -968 -968 +/* AU.GC..UA */ + -968 -1318 -1318 -1318 + -848 -1198 -1198 -1198 + -1018 -1368 -1368 -1368 + -478 -828 -828 -828 +/* AU.GG..UA */ + -1228 -1578 -1578 -1578 + -538 -888 -888 -888 + -1228 -1578 -1578 -1578 + -618 -968 -968 -968 +/* AU.GU..UA */ + -928 -1278 -1278 -1278 + -518 -868 -868 -868 + -1018 -1368 -1368 -1368 + -479 -829 -829 -829 +/* AU.UA..UA */ + -728 -728 -728 -728 + -758 -758 -758 -758 + -708 -708 -708 -708 + -608 -608 -608 -608 +/* AU.UC..UA */ + -958 -958 -958 -958 + -838 -838 -838 -838 + -1008 -1008 -1008 -1008 + -468 -468 -468 -468 +/* AU.UG..UA */ + -1218 -1218 -1218 -1218 + -528 -528 -528 -528 + -1218 -1218 -1218 -1218 + -608 -608 -608 -608 +/* AU.UU..UA */ + -918 -918 -918 -918 + -508 -508 -508 -508 + -1008 -1008 -1008 -1008 + -469 -469 -469 -469 +/* AU.AA.. @ */ + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 +/* AU.AC.. @ */ + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 +/* AU.AG.. @ */ + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 +/* AU.AU.. @ */ + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 + -479 -649 -649 -649 +/* AU.CA.. @ */ + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 +/* AU.CC.. @ */ + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 +/* AU.CG.. @ */ + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 +/* AU.CU.. @ */ + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 + -309 -289 -289 -289 +/* AU.GA.. @ */ + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 +/* AU.GC.. @ */ + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 +/* AU.GG.. @ */ + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 +/* AU.GU.. @ */ + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 + -389 -739 -739 -739 +/* AU.UA.. @ */ + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 +/* AU.UC.. @ */ + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 +/* AU.UG.. @ */ + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 +/* AU.UU.. @ */ + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 + -379 -379 -379 -379 +/* UA.AA..CG */ + -1428 -1658 -1918 -1618 + -918 -1148 -1408 -1108 + -1338 -1568 -1828 -1528 + -1208 -1438 -1698 -1398 +/* UA.AC..CG */ + -1348 -1578 -1838 -1538 + -848 -1078 -1338 -1038 + -1338 -1568 -1828 -1528 + -1138 -1368 -1628 -1328 +/* UA.AG..CG */ + -1428 -1658 -1918 -1618 + -918 -1148 -1408 -1108 + -1338 -1568 -1828 -1528 + -1208 -1438 -1698 -1398 +/* UA.AU..CG */ + -1428 -1658 -1918 -1618 + -1068 -1298 -1558 -1258 + -1338 -1568 -1828 -1528 + -1258 -1488 -1748 -1448 +/* UA.CA..CG */ + -1458 -1538 -1228 -1208 + -948 -1028 -718 -698 + -1368 -1448 -1138 -1118 + -1238 -1318 -1008 -988 +/* UA.CC..CG */ + -1378 -1458 -1148 -1128 + -878 -958 -648 -628 + -1368 -1448 -1138 -1118 + -1168 -1248 -938 -918 +/* UA.CG..CG */ + -1458 -1538 -1228 -1208 + -948 -1028 -718 -698 + -1368 -1448 -1138 -1118 + -1238 -1318 -1008 -988 +/* UA.CU..CG */ + -1458 -1538 -1228 -1208 + -1098 -1178 -868 -848 + -1368 -1448 -1138 -1118 + -1288 -1368 -1058 -1038 +/* UA.GA..CG */ + -1408 -1708 -1918 -1708 + -898 -1198 -1408 -1198 + -1318 -1618 -1828 -1618 + -1188 -1488 -1698 -1488 +/* UA.GC..CG */ + -1328 -1628 -1838 -1628 + -828 -1128 -1338 -1128 + -1318 -1618 -1828 -1618 + -1118 -1418 -1628 -1418 +/* UA.GG..CG */ + -1408 -1708 -1918 -1708 + -898 -1198 -1408 -1198 + -1318 -1618 -1828 -1618 + -1188 -1488 -1698 -1488 +/* UA.GU..CG */ + -1408 -1708 -1918 -1708 + -1048 -1348 -1558 -1348 + -1318 -1618 -1828 -1618 + -1238 -1538 -1748 -1538 +/* UA.UA..CG */ + -1308 -1168 -1308 -1169 + -798 -658 -798 -659 + -1218 -1078 -1218 -1079 + -1088 -948 -1088 -949 +/* UA.UC..CG */ + -1228 -1088 -1228 -1089 + -728 -588 -728 -589 + -1218 -1078 -1218 -1079 + -1018 -878 -1018 -879 +/* UA.UG..CG */ + -1308 -1168 -1308 -1169 + -798 -658 -798 -659 + -1218 -1078 -1218 -1079 + -1088 -948 -1088 -949 +/* UA.UU..CG */ + -1308 -1168 -1308 -1169 + -948 -808 -948 -809 + -1218 -1078 -1218 -1079 + -1138 -998 -1138 -999 +/* UA.AA..GC */ + -918 -1148 -1408 -1108 + -1118 -1348 -1608 -1308 + -1108 -1338 -1598 -1298 + -898 -1128 -1388 -1088 +/* UA.AC..GC */ + -1278 -1508 -1768 -1468 + -708 -938 -1198 -898 + -1138 -1368 -1628 -1328 + -898 -1128 -1388 -1088 +/* UA.AG..GC */ + -958 -1188 -1448 -1148 + -708 -938 -1198 -898 + -1018 -1248 -1508 -1208 + -898 -1128 -1388 -1088 +/* UA.AU..GC */ + -1278 -1508 -1768 -1468 + -788 -1018 -1278 -978 + -1138 -1368 -1628 -1328 + -968 -1198 -1458 -1158 +/* UA.CA..GC */ + -948 -1028 -718 -698 + -1148 -1228 -918 -898 + -1138 -1218 -908 -888 + -928 -1008 -698 -678 +/* UA.CC..GC */ + -1308 -1388 -1078 -1058 + -738 -818 -508 -488 + -1168 -1248 -938 -918 + -928 -1008 -698 -678 +/* UA.CG..GC */ + -988 -1068 -758 -738 + -738 -818 -508 -488 + -1048 -1128 -818 -798 + -928 -1008 -698 -678 +/* UA.CU..GC */ + -1308 -1388 -1078 -1058 + -818 -898 -588 -568 + -1168 -1248 -938 -918 + -998 -1078 -768 -748 +/* UA.GA..GC */ + -898 -1198 -1408 -1198 + -1098 -1398 -1608 -1398 + -1088 -1388 -1598 -1388 + -878 -1178 -1388 -1178 +/* UA.GC..GC */ + -1258 -1558 -1768 -1558 + -688 -988 -1198 -988 + -1118 -1418 -1628 -1418 + -878 -1178 -1388 -1178 +/* UA.GG..GC */ + -938 -1238 -1448 -1238 + -688 -988 -1198 -988 + -998 -1298 -1508 -1298 + -878 -1178 -1388 -1178 +/* UA.GU..GC */ + -1258 -1558 -1768 -1558 + -768 -1068 -1278 -1068 + -1118 -1418 -1628 -1418 + -948 -1248 -1458 -1248 +/* UA.UA..GC */ + -798 -658 -798 -659 + -998 -858 -998 -859 + -988 -848 -988 -849 + -778 -638 -778 -639 +/* UA.UC..GC */ + -1158 -1018 -1158 -1019 + -588 -448 -588 -449 + -1018 -878 -1018 -879 + -778 -638 -778 -639 +/* UA.UG..GC */ + -838 -698 -838 -699 + -588 -448 -588 -449 + -898 -758 -898 -759 + -778 -638 -778 -639 +/* UA.UU..GC */ + -1158 -1018 -1158 -1019 + -668 -528 -668 -529 + -1018 -878 -1018 -879 + -848 -708 -848 -709 +/* UA.AA..GU */ + -828 -1058 -1318 -1018 + -658 -888 -1148 -848 + -738 -968 -1228 -928 + -728 -958 -1218 -918 +/* UA.AC..GU */ + -998 -1228 -1488 -1188 + -638 -868 -1128 -828 + -1088 -1318 -1578 -1278 + -728 -958 -1218 -918 +/* UA.AG..GU */ + -998 -1228 -1488 -1188 + -638 -868 -1128 -828 + -1088 -1318 -1578 -1278 + -728 -958 -1218 -918 +/* UA.AU..GU */ + -998 -1228 -1488 -1188 + -638 -868 -1128 -828 + -1088 -1318 -1578 -1278 + -728 -958 -1218 -918 +/* UA.CA..GU */ + -858 -938 -628 -608 + -688 -768 -458 -438 + -768 -848 -538 -518 + -758 -838 -528 -508 +/* UA.CC..GU */ + -1028 -1108 -798 -778 + -668 -748 -438 -418 + -1118 -1198 -888 -868 + -758 -838 -528 -508 +/* UA.CG..GU */ + -1028 -1108 -798 -778 + -668 -748 -438 -418 + -1118 -1198 -888 -868 + -758 -838 -528 -508 +/* UA.CU..GU */ + -1028 -1108 -798 -778 + -668 -748 -438 -418 + -1118 -1198 -888 -868 + -758 -838 -528 -508 +/* UA.GA..GU */ + -808 -1108 -1318 -1108 + -638 -938 -1148 -938 + -718 -1018 -1228 -1018 + -708 -1008 -1218 -1008 +/* UA.GC..GU */ + -978 -1278 -1488 -1278 + -618 -918 -1128 -918 + -1068 -1368 -1578 -1368 + -708 -1008 -1218 -1008 +/* UA.GG..GU */ + -978 -1278 -1488 -1278 + -618 -918 -1128 -918 + -1068 -1368 -1578 -1368 + -708 -1008 -1218 -1008 +/* UA.GU..GU */ + -978 -1278 -1488 -1278 + -618 -918 -1128 -918 + -1068 -1368 -1578 -1368 + -708 -1008 -1218 -1008 +/* UA.UA..GU */ + -708 -568 -708 -569 + -538 -398 -538 -399 + -618 -478 -618 -479 + -608 -468 -608 -469 +/* UA.UC..GU */ + -878 -738 -878 -739 + -518 -378 -518 -379 + -968 -828 -968 -829 + -608 -468 -608 -469 +/* UA.UG..GU */ + -878 -738 -878 -739 + -518 -378 -518 -379 + -968 -828 -968 -829 + -608 -468 -608 -469 +/* UA.UU..GU */ + -878 -738 -878 -739 + -518 -378 -518 -379 + -968 -828 -968 -829 + -608 -468 -608 -469 +/* UA.AA..UG */ + -1118 -1348 -1608 -1308 + -878 -1108 -1368 -1068 + -1058 -1288 -1548 -1248 + -948 -1178 -1438 -1138 +/* UA.AC..UG */ + -1188 -1418 -1678 -1378 + -878 -1108 -1368 -1068 + -1208 -1438 -1698 -1398 + -838 -1068 -1328 -1028 +/* UA.AG..UG */ + -1358 -1588 -1848 -1548 + -758 -988 -1248 -948 + -1318 -1548 -1808 -1508 + -948 -1178 -1438 -1138 +/* UA.AU..UG */ + -1208 -1438 -1698 -1398 + -878 -1108 -1368 -1068 + -1208 -1438 -1698 -1398 + -758 -988 -1248 -948 +/* UA.CA..UG */ + -1148 -1228 -918 -898 + -908 -988 -678 -658 + -1088 -1168 -858 -838 + -978 -1058 -748 -728 +/* UA.CC..UG */ + -1218 -1298 -988 -968 + -908 -988 -678 -658 + -1238 -1318 -1008 -988 + -868 -948 -638 -618 +/* UA.CG..UG */ + -1388 -1468 -1158 -1138 + -788 -868 -558 -538 + -1348 -1428 -1118 -1098 + -978 -1058 -748 -728 +/* UA.CU..UG */ + -1238 -1318 -1008 -988 + -908 -988 -678 -658 + -1238 -1318 -1008 -988 + -788 -868 -558 -538 +/* UA.GA..UG */ + -1098 -1398 -1608 -1398 + -858 -1158 -1368 -1158 + -1038 -1338 -1548 -1338 + -928 -1228 -1438 -1228 +/* UA.GC..UG */ + -1168 -1468 -1678 -1468 + -858 -1158 -1368 -1158 + -1188 -1488 -1698 -1488 + -818 -1118 -1328 -1118 +/* UA.GG..UG */ + -1338 -1638 -1848 -1638 + -738 -1038 -1248 -1038 + -1298 -1598 -1808 -1598 + -928 -1228 -1438 -1228 +/* UA.GU..UG */ + -1188 -1488 -1698 -1488 + -858 -1158 -1368 -1158 + -1188 -1488 -1698 -1488 + -738 -1038 -1248 -1038 +/* UA.UA..UG */ + -998 -858 -998 -859 + -758 -618 -758 -619 + -938 -798 -938 -799 + -828 -688 -828 -689 +/* UA.UC..UG */ + -1068 -928 -1068 -929 + -758 -618 -758 -619 + -1088 -948 -1088 -949 + -718 -578 -718 -579 +/* UA.UG..UG */ + -1238 -1098 -1238 -1099 + -638 -498 -638 -499 + -1198 -1058 -1198 -1059 + -828 -688 -828 -689 +/* UA.UU..UG */ + -1088 -948 -1088 -949 + -758 -618 -758 -619 + -1088 -948 -1088 -949 + -638 -498 -638 -499 +/* UA.AA..AU */ + -828 -1058 -1318 -1018 + -658 -888 -1148 -848 + -738 -968 -1228 -928 + -728 -958 -1218 -918 +/* UA.AC..AU */ + -998 -1228 -1488 -1188 + -638 -868 -1128 -828 + -1088 -1318 -1578 -1278 + -728 -958 -1218 -918 +/* UA.AG..AU */ + -998 -1228 -1488 -1188 + -638 -868 -1128 -828 + -1088 -1318 -1578 -1278 + -728 -958 -1218 -918 +/* UA.AU..AU */ + -998 -1228 -1488 -1188 + -638 -868 -1128 -828 + -1088 -1318 -1578 -1278 + -728 -958 -1218 -918 +/* UA.CA..AU */ + -858 -938 -628 -608 + -688 -768 -458 -438 + -768 -848 -538 -518 + -758 -838 -528 -508 +/* UA.CC..AU */ + -1028 -1108 -798 -778 + -668 -748 -438 -418 + -1118 -1198 -888 -868 + -758 -838 -528 -508 +/* UA.CG..AU */ + -1028 -1108 -798 -778 + -668 -748 -438 -418 + -1118 -1198 -888 -868 + -758 -838 -528 -508 +/* UA.CU..AU */ + -1028 -1108 -798 -778 + -668 -748 -438 -418 + -1118 -1198 -888 -868 + -758 -838 -528 -508 +/* UA.GA..AU */ + -808 -1108 -1318 -1108 + -638 -938 -1148 -938 + -718 -1018 -1228 -1018 + -708 -1008 -1218 -1008 +/* UA.GC..AU */ + -978 -1278 -1488 -1278 + -618 -918 -1128 -918 + -1068 -1368 -1578 -1368 + -708 -1008 -1218 -1008 +/* UA.GG..AU */ + -978 -1278 -1488 -1278 + -618 -918 -1128 -918 + -1068 -1368 -1578 -1368 + -708 -1008 -1218 -1008 +/* UA.GU..AU */ + -978 -1278 -1488 -1278 + -618 -918 -1128 -918 + -1068 -1368 -1578 -1368 + -708 -1008 -1218 -1008 +/* UA.UA..AU */ + -708 -568 -708 -569 + -538 -398 -538 -399 + -618 -478 -618 -479 + -608 -468 -608 -469 +/* UA.UC..AU */ + -878 -738 -878 -739 + -518 -378 -518 -379 + -968 -828 -968 -829 + -608 -468 -608 -469 +/* UA.UG..AU */ + -878 -738 -878 -739 + -518 -378 -518 -379 + -968 -828 -968 -829 + -608 -468 -608 -469 +/* UA.UU..AU */ + -878 -738 -878 -739 + -518 -378 -518 -379 + -968 -828 -968 -829 + -608 -468 -608 -469 +/* UA.AA..UA */ + -798 -1028 -1288 -988 + -828 -1058 -1318 -1018 + -778 -1008 -1268 -968 + -678 -908 -1168 -868 +/* UA.AC..UA */ + -1028 -1258 -1518 -1218 + -908 -1138 -1398 -1098 + -1078 -1308 -1568 -1268 + -538 -768 -1028 -728 +/* UA.AG..UA */ + -1288 -1518 -1778 -1478 + -598 -828 -1088 -788 + -1288 -1518 -1778 -1478 + -678 -908 -1168 -868 +/* UA.AU..UA */ + -988 -1218 -1478 -1178 + -578 -808 -1068 -768 + -1078 -1308 -1568 -1268 + -539 -769 -1029 -729 +/* UA.CA..UA */ + -828 -908 -598 -578 + -858 -938 -628 -608 + -808 -888 -578 -558 + -708 -788 -478 -458 +/* UA.CC..UA */ + -1058 -1138 -828 -808 + -938 -1018 -708 -688 + -1108 -1188 -878 -858 + -568 -648 -338 -318 +/* UA.CG..UA */ + -1318 -1398 -1088 -1068 + -628 -708 -398 -378 + -1318 -1398 -1088 -1068 + -708 -788 -478 -458 +/* UA.CU..UA */ + -1018 -1098 -788 -768 + -608 -688 -378 -358 + -1108 -1188 -878 -858 + -569 -649 -339 -319 +/* UA.GA..UA */ + -778 -1078 -1288 -1078 + -808 -1108 -1318 -1108 + -758 -1058 -1268 -1058 + -658 -958 -1168 -958 +/* UA.GC..UA */ + -1008 -1308 -1518 -1308 + -888 -1188 -1398 -1188 + -1058 -1358 -1568 -1358 + -518 -818 -1028 -818 +/* UA.GG..UA */ + -1268 -1568 -1778 -1568 + -578 -878 -1088 -878 + -1268 -1568 -1778 -1568 + -658 -958 -1168 -958 +/* UA.GU..UA */ + -968 -1268 -1478 -1268 + -558 -858 -1068 -858 + -1058 -1358 -1568 -1358 + -519 -819 -1029 -819 +/* UA.UA..UA */ + -678 -538 -678 -539 + -708 -568 -708 -569 + -658 -518 -658 -519 + -558 -418 -558 -419 +/* UA.UC..UA */ + -908 -768 -908 -769 + -788 -648 -788 -649 + -958 -818 -958 -819 + -418 -278 -418 -279 +/* UA.UG..UA */ + -1168 -1028 -1168 -1029 + -478 -338 -478 -339 + -1168 -1028 -1168 -1029 + -558 -418 -558 -419 +/* UA.UU..UA */ + -868 -728 -868 -729 + -458 -318 -458 -319 + -958 -818 -958 -819 + -419 -279 -419 -280 +/* UA.AA.. @ */ + -449 -679 -939 -639 + -449 -679 -939 -639 + -449 -679 -939 -639 + -449 -679 -939 -639 +/* UA.AC.. @ */ + -449 -679 -939 -639 + -449 -679 -939 -639 + -449 -679 -939 -639 + -449 -679 -939 -639 +/* UA.AG.. @ */ + -449 -679 -939 -639 + -449 -679 -939 -639 + -449 -679 -939 -639 + -449 -679 -939 -639 +/* UA.AU.. @ */ + -449 -679 -939 -639 + -449 -679 -939 -639 + -449 -679 -939 -639 + -449 -679 -939 -639 +/* UA.CA.. @ */ + -479 -559 -249 -229 + -479 -559 -249 -229 + -479 -559 -249 -229 + -479 -559 -249 -229 +/* UA.CC.. @ */ + -479 -559 -249 -229 + -479 -559 -249 -229 + -479 -559 -249 -229 + -479 -559 -249 -229 +/* UA.CG.. @ */ + -479 -559 -249 -229 + -479 -559 -249 -229 + -479 -559 -249 -229 + -479 -559 -249 -229 +/* UA.CU.. @ */ + -479 -559 -249 -229 + -479 -559 -249 -229 + -479 -559 -249 -229 + -479 -559 -249 -229 +/* UA.GA.. @ */ + -429 -729 -939 -729 + -429 -729 -939 -729 + -429 -729 -939 -729 + -429 -729 -939 -729 +/* UA.GC.. @ */ + -429 -729 -939 -729 + -429 -729 -939 -729 + -429 -729 -939 -729 + -429 -729 -939 -729 +/* UA.GG.. @ */ + -429 -729 -939 -729 + -429 -729 -939 -729 + -429 -729 -939 -729 + -429 -729 -939 -729 +/* UA.GU.. @ */ + -429 -729 -939 -729 + -429 -729 -939 -729 + -429 -729 -939 -729 + -429 -729 -939 -729 +/* UA.UA.. @ */ + -329 -189 -329 -190 + -329 -189 -329 -190 + -329 -189 -329 -190 + -329 -189 -329 -190 +/* UA.UC.. @ */ + -329 -189 -329 -190 + -329 -189 -329 -190 + -329 -189 -329 -190 + -329 -189 -329 -190 +/* UA.UG.. @ */ + -329 -189 -329 -190 + -329 -189 -329 -190 + -329 -189 -329 -190 + -329 -189 -329 -190 +/* UA.UU.. @ */ + -329 -189 -329 -190 + -329 -189 -329 -190 + -329 -189 -329 -190 + -329 -189 -329 -190 +/* @.AA..CG */ + -1079 -1079 -1079 -1079 + -569 -569 -569 -569 + -989 -989 -989 -989 + -859 -859 -859 -859 +/* @.AC..CG */ + -999 -999 -999 -999 + -499 -499 -499 -499 + -989 -989 -989 -989 + -789 -789 -789 -789 +/* @.AG..CG */ + -1079 -1079 -1079 -1079 + -569 -569 -569 -569 + -989 -989 -989 -989 + -859 -859 -859 -859 +/* @.AU..CG */ + -1079 -1079 -1079 -1079 + -719 -719 -719 -719 + -989 -989 -989 -989 + -909 -909 -909 -909 +/* @.CA..CG */ + -1079 -1079 -1079 -1079 + -569 -569 -569 -569 + -989 -989 -989 -989 + -859 -859 -859 -859 +/* @.CC..CG */ + -999 -999 -999 -999 + -499 -499 -499 -499 + -989 -989 -989 -989 + -789 -789 -789 -789 +/* @.CG..CG */ + -1079 -1079 -1079 -1079 + -569 -569 -569 -569 + -989 -989 -989 -989 + -859 -859 -859 -859 +/* @.CU..CG */ + -1079 -1079 -1079 -1079 + -719 -719 -719 -719 + -989 -989 -989 -989 + -909 -909 -909 -909 +/* @.GA..CG */ + -1079 -1079 -1079 -1079 + -569 -569 -569 -569 + -989 -989 -989 -989 + -859 -859 -859 -859 +/* @.GC..CG */ + -999 -999 -999 -999 + -499 -499 -499 -499 + -989 -989 -989 -989 + -789 -789 -789 -789 +/* @.GG..CG */ + -1079 -1079 -1079 -1079 + -569 -569 -569 -569 + -989 -989 -989 -989 + -859 -859 -859 -859 +/* @.GU..CG */ + -1079 -1079 -1079 -1079 + -719 -719 -719 -719 + -989 -989 -989 -989 + -909 -909 -909 -909 +/* @.UA..CG */ + -1079 -1079 -1079 -1079 + -569 -569 -569 -569 + -989 -989 -989 -989 + -859 -859 -859 -859 +/* @.UC..CG */ + -999 -999 -999 -999 + -499 -499 -499 -499 + -989 -989 -989 -989 + -789 -789 -789 -789 +/* @.UG..CG */ + -1079 -1079 -1079 -1079 + -569 -569 -569 -569 + -989 -989 -989 -989 + -859 -859 -859 -859 +/* @.UU..CG */ + -1079 -1079 -1079 -1079 + -719 -719 -719 -719 + -989 -989 -989 -989 + -909 -909 -909 -909 +/* @.AA..GC */ + -569 -569 -569 -569 + -769 -769 -769 -769 + -759 -759 -759 -759 + -549 -549 -549 -549 +/* @.AC..GC */ + -929 -929 -929 -929 + -359 -359 -359 -359 + -789 -789 -789 -789 + -549 -549 -549 -549 +/* @.AG..GC */ + -609 -609 -609 -609 + -359 -359 -359 -359 + -669 -669 -669 -669 + -549 -549 -549 -549 +/* @.AU..GC */ + -929 -929 -929 -929 + -439 -439 -439 -439 + -789 -789 -789 -789 + -619 -619 -619 -619 +/* @.CA..GC */ + -569 -569 -569 -569 + -769 -769 -769 -769 + -759 -759 -759 -759 + -549 -549 -549 -549 +/* @.CC..GC */ + -929 -929 -929 -929 + -359 -359 -359 -359 + -789 -789 -789 -789 + -549 -549 -549 -549 +/* @.CG..GC */ + -609 -609 -609 -609 + -359 -359 -359 -359 + -669 -669 -669 -669 + -549 -549 -549 -549 +/* @.CU..GC */ + -929 -929 -929 -929 + -439 -439 -439 -439 + -789 -789 -789 -789 + -619 -619 -619 -619 +/* @.GA..GC */ + -569 -569 -569 -569 + -769 -769 -769 -769 + -759 -759 -759 -759 + -549 -549 -549 -549 +/* @.GC..GC */ + -929 -929 -929 -929 + -359 -359 -359 -359 + -789 -789 -789 -789 + -549 -549 -549 -549 +/* @.GG..GC */ + -609 -609 -609 -609 + -359 -359 -359 -359 + -669 -669 -669 -669 + -549 -549 -549 -549 +/* @.GU..GC */ + -929 -929 -929 -929 + -439 -439 -439 -439 + -789 -789 -789 -789 + -619 -619 -619 -619 +/* @.UA..GC */ + -569 -569 -569 -569 + -769 -769 -769 -769 + -759 -759 -759 -759 + -549 -549 -549 -549 +/* @.UC..GC */ + -929 -929 -929 -929 + -359 -359 -359 -359 + -789 -789 -789 -789 + -549 -549 -549 -549 +/* @.UG..GC */ + -609 -609 -609 -609 + -359 -359 -359 -359 + -669 -669 -669 -669 + -549 -549 -549 -549 +/* @.UU..GC */ + -929 -929 -929 -929 + -439 -439 -439 -439 + -789 -789 -789 -789 + -619 -619 -619 -619 +/* @.AA..GU */ + -479 -479 -479 -479 + -309 -309 -309 -309 + -389 -389 -389 -389 + -379 -379 -379 -379 +/* @.AC..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.AG..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.AU..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.CA..GU */ + -479 -479 -479 -479 + -309 -309 -309 -309 + -389 -389 -389 -389 + -379 -379 -379 -379 +/* @.CC..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.CG..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.CU..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.GA..GU */ + -479 -479 -479 -479 + -309 -309 -309 -309 + -389 -389 -389 -389 + -379 -379 -379 -379 +/* @.GC..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.GG..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.GU..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.UA..GU */ + -479 -479 -479 -479 + -309 -309 -309 -309 + -389 -389 -389 -389 + -379 -379 -379 -379 +/* @.UC..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.UG..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.UU..GU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.AA..UG */ + -769 -769 -769 -769 + -529 -529 -529 -529 + -709 -709 -709 -709 + -599 -599 -599 -599 +/* @.AC..UG */ + -839 -839 -839 -839 + -529 -529 -529 -529 + -859 -859 -859 -859 + -489 -489 -489 -489 +/* @.AG..UG */ + -1009 -1009 -1009 -1009 + -409 -409 -409 -409 + -969 -969 -969 -969 + -599 -599 -599 -599 +/* @.AU..UG */ + -859 -859 -859 -859 + -529 -529 -529 -529 + -859 -859 -859 -859 + -409 -409 -409 -409 +/* @.CA..UG */ + -769 -769 -769 -769 + -529 -529 -529 -529 + -709 -709 -709 -709 + -599 -599 -599 -599 +/* @.CC..UG */ + -839 -839 -839 -839 + -529 -529 -529 -529 + -859 -859 -859 -859 + -489 -489 -489 -489 +/* @.CG..UG */ + -1009 -1009 -1009 -1009 + -409 -409 -409 -409 + -969 -969 -969 -969 + -599 -599 -599 -599 +/* @.CU..UG */ + -859 -859 -859 -859 + -529 -529 -529 -529 + -859 -859 -859 -859 + -409 -409 -409 -409 +/* @.GA..UG */ + -769 -769 -769 -769 + -529 -529 -529 -529 + -709 -709 -709 -709 + -599 -599 -599 -599 +/* @.GC..UG */ + -839 -839 -839 -839 + -529 -529 -529 -529 + -859 -859 -859 -859 + -489 -489 -489 -489 +/* @.GG..UG */ + -1009 -1009 -1009 -1009 + -409 -409 -409 -409 + -969 -969 -969 -969 + -599 -599 -599 -599 +/* @.GU..UG */ + -859 -859 -859 -859 + -529 -529 -529 -529 + -859 -859 -859 -859 + -409 -409 -409 -409 +/* @.UA..UG */ + -769 -769 -769 -769 + -529 -529 -529 -529 + -709 -709 -709 -709 + -599 -599 -599 -599 +/* @.UC..UG */ + -839 -839 -839 -839 + -529 -529 -529 -529 + -859 -859 -859 -859 + -489 -489 -489 -489 +/* @.UG..UG */ + -1009 -1009 -1009 -1009 + -409 -409 -409 -409 + -969 -969 -969 -969 + -599 -599 -599 -599 +/* @.UU..UG */ + -859 -859 -859 -859 + -529 -529 -529 -529 + -859 -859 -859 -859 + -409 -409 -409 -409 +/* @.AA..AU */ + -479 -479 -479 -479 + -309 -309 -309 -309 + -389 -389 -389 -389 + -379 -379 -379 -379 +/* @.AC..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.AG..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.AU..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.CA..AU */ + -479 -479 -479 -479 + -309 -309 -309 -309 + -389 -389 -389 -389 + -379 -379 -379 -379 +/* @.CC..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.CG..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.CU..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.GA..AU */ + -479 -479 -479 -479 + -309 -309 -309 -309 + -389 -389 -389 -389 + -379 -379 -379 -379 +/* @.GC..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.GG..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.GU..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.UA..AU */ + -479 -479 -479 -479 + -309 -309 -309 -309 + -389 -389 -389 -389 + -379 -379 -379 -379 +/* @.UC..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.UG..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.UU..AU */ + -649 -649 -649 -649 + -289 -289 -289 -289 + -739 -739 -739 -739 + -379 -379 -379 -379 +/* @.AA..UA */ + -449 -449 -449 -449 + -479 -479 -479 -479 + -429 -429 -429 -429 + -329 -329 -329 -329 +/* @.AC..UA */ + -679 -679 -679 -679 + -559 -559 -559 -559 + -729 -729 -729 -729 + -189 -189 -189 -189 +/* @.AG..UA */ + -939 -939 -939 -939 + -249 -249 -249 -249 + -939 -939 -939 -939 + -329 -329 -329 -329 +/* @.AU..UA */ + -639 -639 -639 -639 + -229 -229 -229 -229 + -729 -729 -729 -729 + -190 -190 -190 -190 +/* @.CA..UA */ + -449 -449 -449 -449 + -479 -479 -479 -479 + -429 -429 -429 -429 + -329 -329 -329 -329 +/* @.CC..UA */ + -679 -679 -679 -679 + -559 -559 -559 -559 + -729 -729 -729 -729 + -189 -189 -189 -189 +/* @.CG..UA */ + -939 -939 -939 -939 + -249 -249 -249 -249 + -939 -939 -939 -939 + -329 -329 -329 -329 +/* @.CU..UA */ + -639 -639 -639 -639 + -229 -229 -229 -229 + -729 -729 -729 -729 + -190 -190 -190 -190 +/* @.GA..UA */ + -449 -449 -449 -449 + -479 -479 -479 -479 + -429 -429 -429 -429 + -329 -329 -329 -329 +/* @.GC..UA */ + -679 -679 -679 -679 + -559 -559 -559 -559 + -729 -729 -729 -729 + -189 -189 -189 -189 +/* @.GG..UA */ + -939 -939 -939 -939 + -249 -249 -249 -249 + -939 -939 -939 -939 + -329 -329 -329 -329 +/* @.GU..UA */ + -639 -639 -639 -639 + -229 -229 -229 -229 + -729 -729 -729 -729 + -190 -190 -190 -190 +/* @.UA..UA */ + -449 -449 -449 -449 + -479 -479 -479 -479 + -429 -429 -429 -429 + -329 -329 -329 -329 +/* @.UC..UA */ + -679 -679 -679 -679 + -559 -559 -559 -559 + -729 -729 -729 -729 + -189 -189 -189 -189 +/* @.UG..UA */ + -939 -939 -939 -939 + -249 -249 -249 -249 + -939 -939 -939 -939 + -329 -329 -329 -329 +/* @.UU..UA */ + -639 -639 -639 -639 + -229 -229 -229 -229 + -729 -729 -729 -729 + -190 -190 -190 -190 +/* @.AA.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.AC.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.AG.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.AU.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.CA.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.CC.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.CG.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.CU.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.GA.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.GC.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.GG.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.GU.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.UA.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.UC.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.UG.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 +/* @.UU.. @ */ + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + -100 -100 -100 -100 + +# hairpin + INF INF INF 410 490 440 470 500 510 520 + 531 542 551 560 568 575 582 589 595 601 + 606 611 616 621 626 630 634 638 642 646 + 650 + +# bulge + INF 390 310 350 420 480 500 516 531 543 + 555 565 574 583 591 598 605 612 618 624 + 630 635 640 645 649 654 658 662 666 670 + 673 + +# internal_loop + INF INF 410 510 490 530 570 587 601 614 + 625 635 645 653 661 669 676 682 688 694 + 700 705 710 715 720 724 728 732 736 740 + 744 + +# ML_params +/* F = cu*n_unpaired + cc + ci*loop_degree (+TermAU) */ +/* cu cc ci TerminalAU */ + 40 460 10 0 + +# NINIO +/* Ninio = MIN(max, m*|n1-n2| */ +/* m max */ + 30 300 + +# Tetraloops + GGAAAC -200 + GGCAAC -200 + GGAGAC -200 + GGUGAC -200 + GGGAAC -200 + GUUCGC -200 + GUACGC -200 + GGCGAC -200 + GUCCGC -200 + GGUAAC -200 + GCUUGC -200 + GAUUUC -200 + GUUUAC -200 + CGAAAG -200 + CGCAAG -200 + CGAGAG -200 + CGUGAG -200 + CGGAAG -200 + CUUCGG -200 + CUACGG -200 + CGCGAG -200 + CUCCGG -200 + CGUAAG -200 + CCUUGG -200 + CAUUUG -200 + CUUUAG -200 + GGAAAU -200 + GGCAAU -200 + GGAGAU -200 + GGUGAU -200 + GGGAAU -200 + GUUCGU -200 + GUACGU -200 + GGCGAU -200 + GUCCGU -200 + GGUAAU -200 + GCUUGU -200 + GAUUUU -200 + GUUUAU -200 + UGAAAG -200 + UGCAAG -200 + UGAGAG -200 + UGUGAG -200 + UGGAAG -200 + UUUCGG -200 + UUACGG -200 + UGCGAG -200 + UUCCGG -200 + UGUAAG -200 + UCUUGG -200 + UAUUUG -200 + UUUUAG -200 + AGAAAU -200 + AGCAAU -200 + AGAGAU -200 + AGUGAU -200 + AGGAAU -200 + AUUCGU -200 + AUACGU -200 + AGCGAU -200 + AUCCGU -200 + AGUAAU -200 + ACUUGU -200 + AAUUUU -200 + AUUUAU -200 + UGAAAA -200 + UGCAAA -200 + UGAGAA -200 + UGUGAA -200 + UGGAAA -200 + UUUCGA -200 + UUACGA -200 + UGCGAA -200 + UUCCGA -200 + UGUAAA -200 + UCUUGA -200 + UAUUUA -200 + UUUUAA -200 + +# Triloops + +#END diff --git a/modules/local/pita/templates/known_mirs/fly_mirs.fasta b/modules/local/pita/templates/known_mirs/fly_mirs.fasta new file mode 100644 index 00000000..86a9b0a3 --- /dev/null +++ b/modules/local/pita/templates/known_mirs/fly_mirs.fasta @@ -0,0 +1,294 @@ +>dme-miR-1 +UGGAAUGUAAAGAAGUAUGGAG +>dme-miR-2a +UAUCACAGCCAGCUUUGAUGAGC +>dme-miR-2b +UAUCACAGCCAGCUUUGAGGAGC +>dme-miR-3 +UCACUGGGCAAAGUGUGUCUCA +>dme-miR-4 +AUAAAGCUAGACAACCAUUGA +>dme-miR-5 +AAAGGAACGAUCGUUGUGAUAUG +>dme-miR-6 +UAUCACAGUGGCUGUUCUUUUU +>dme-miR-7 +UGGAAGACUAGUGAUUUUGUUGU +>dme-miR-8 +UAAUACUGUCAGGUAAAGAUGUC +>dme-miR-9a +UCUUUGGUUAUCUAGCUGUAUGA +>dme-miR-10 +ACCCUGUAGAUCCGAAUUUGU +>dme-miR-11 +CAUCACAGUCUGAGUUCUUGC +>dme-miR-12 +UGAGUAUUACAUCAGGUACUGGU +>dme-miR-13a +UAUCACAGCCAUUUUGAUGAGU +>dme-miR-13b +UAUCACAGCCAUUUUGACGAGU +>dme-miR-14 +UCAGUCUUUUUCUCUCUCCUA +>dme-miR-263a +GUUAAUGGCACUGGAAGAAUUCAC +>dme-miR-184 +UGGACGGAGAACUGAUAAGGGC +>dme-miR-274 +UUUUGUGACCGACACUAACGGGUAAU +>dme-miR-275 +UCAGGUACCUGAAGUAGCGCGCG +>dme-miR-92a +CAUUGCACUUGUCCCGGCCUAU +>dme-miR-219 +UGAUUGUCCAAACGCAAUUCUUG +>dme-miR-276a +UAGGAACUUCAUACCGUGCUCU +>dme-miR-277 +UAAAUGCACUAUCUGGUACGACA +>dme-miR-278 +UCGGUGGGACUUUCGUCCGUUU +>dme-miR-133 +UUGGUCCCCUUCAACCAGCUGU +>dme-miR-279 +UGACUAGAUCCACACUCAUUAA +>dme-miR-33 +AGGUGCAUUGUAGUCGCAUUG +>dme-miR-280 +UGUAUUUACGUUGCAUAUGAAAUGAUA +>dme-miR-281 +UGUCAUGGAAUUGCUCUCUUUGU +>dme-miR-282 +AAUCUAGCCUCUACUAGGCUUUGUCUGU +>dme-miR-283 +UAAAUAUCAGCUGGUAAUUCU +>dme-miR-284 +UGAAGUCAGCAACUUGAUUCCAGCAAUUG +>dme-miR-34 +UGGCAGUGUGGUUAGCUGGUUGUG +>dme-miR-124 +UAAGGCACGCGGUGAAUGCCAAG +>dme-miR-79 +UAAAGCUAGAUUACCAAAGCAU +>dme-miR-276b +UAGGAACUUAAUACCGUGCUCU +>dme-miR-210 +UUGUGCGUGUGACAGCGGCUA +>dme-miR-285 +UAGCACCAUUCGAAAUCAGUGC +>dme-miR-100 +AACCCGUAAAUCCGAACUUGUG +>dme-miR-92b +AAUUGCACUAGUCCCGGCCUGC +>dme-miR-286 +UGACUAGACCGAACACUCGUGCU +>dme-miR-287 +UGUGUUGAAAAUCGUUUGCAC +>dme-miR-87 +UUGAGCAAAAUUUCAGGUGUG +>dme-miR-263b +CUUGGCACUGGGAGAAUUCAC +>dme-miR-288 +UUUCAUGUCGAUUUCAUUUCAUG +>dme-miR-289 +UAAAUAUUUAAGUGGAGCCUGCGACU +>dme-bantam +UGAGAUCAUUUUGAAAGCUGAUU +>dme-miR-303 +UUUAGGUUUCACAGGAAACUGGU +>dme-miR-31b +UGGCAAGAUGUCGGAAUAGCUG +>dme-miR-304 +UAAUCUCAAUUUGUAAAUGUGAG +>dme-miR-305 +AUUGUACUUCAUCAGGUGCUCUG +>dme-miR-9c +UCUUUGGUAUUCUAGCUGUAGA +>dme-miR-306 +UCAGGUACUUAGUGACUCUCAA +>dme-miR-9b +UCUUUGGUGAUUUUAGCUGUAUG +>dme-let-7 +UGAGGUAGUAGGUUGUAUAGU +>dme-miR-125 +UCCCUGAGACCCUAACUUGUGA +>dme-miR-307 +UCACAACCUCCUUGAGUGAG +>dme-miR-308 +AAUCACAGGAUUAUACUGUGAG +>dme-miR-31a +UGGCAAGAUGUCGGCAUAGCUGA +>dme-miR-309 +GCACUGGGUAAAGUUUGUCCUA +>dme-miR-310 +UAUUGCACACUUCCCGGCCUUU +>dme-miR-311 +UAUUGCACAUUCACCGGCCUGA +>dme-miR-312 +UAUUGCACUUGAGACGGCCUGA +>dme-miR-313 +UAUUGCACUUUUCACAGCCCGA +>dme-miR-314 +UAUUCGAGCCAAUAAGUUCGG +>dme-miR-315 +UUUUGAUUGUUGCUCAGAAAGC +>dme-miR-316 +UGUCUUUUUCCGCUUACUGGCG +>dme-miR-317 +UGAACACAGCUGGUGGUAUCCAGU +>dme-miR-318 +UCACUGGGCUUUGUUUAUCUCA +>dme-miR-2c +UAUCACAGCCAGCUUUGAUGGGC +>dme-miR-iab-4-5p +ACGUAUACUGAAUGUAUCCUGA +>dme-miR-iab-4-3p +CGGUAUACCUUCAGUAUACGUAAC +>dme-miR-iab-4as-5p +UUACGUAUACUGAAGGUAUACCG +>dme-miR-iab-4as-3p +GGAUACAUUCAGUAUACGUUUA +>dme-miR-954 +UCUGGGUGUUGCGUUGUGUGU +>dme-miR-955 +CAUCGUGCAGAGGUUUGAGUGUC +>dme-miR-190 +AGAUAUGUUUGAUAUUCUUGGUUG +>dme-miR-193 +UACUGGCCUACUAAGUCCCAAC +>dme-miR-956 +UUUCGAGACCACUCUAAUCCAUU +>dme-miR-957 +UGAAACCGUCCAAAACUGAGGC +>dme-miR-958 +UGAGAUUCUUCUAUUCUACUUU +>dme-miR-375 +UUUGUUCGUUUGGCUUAAGUUA +>dme-miR-959 +UUGUCAUCGGGGGUAUUAUGAA +>dme-miR-960 +UGAGUAUUCCAGAUUGCAUAGC +>dme-miR-961 +UUUGAUCACCAGUAACUGAGAU +>dme-miR-962 +AUAAGGUAGAGAAAUUGAUGCUGUC +>dme-miR-963 +ACAAGGUAAAUAUCAGGUUGUUUC +>dme-miR-964 +UUAGAAUAGGGGAGCUUAACUU +>dme-miR-932 +UCAAUUCCGUAGUGCAUUGCAG +>dme-miR-965 +UAAGCGUAUAGCUUUUCCCCUU +>dme-miR-966 +UGUGGGUUGUGGGCUGUGUGG +>dme-miR-967 +AGAGAUACCUCUGGAGAAGCG +>dme-miR-1002 +UUAAGUAGUGGAUACAAAGGGCGA +>dme-miR-968 +UAAGUAGUAUCCAUUAAAGGGUUG +>dme-miR-969 +GAGUUCCACUAAGCAAGUUUU +>dme-miR-970 +UCAUAAGACACACGCGGCUAU +>dme-miR-971 +UUGGUGUUACUUCUUACAGUGA +>dme-miR-972 +UGUACAAUACGAAUAUUUAGGC +>dme-miR-973 +UGGUUGGUGGUUGAACUUCGAUUUU +>dme-miR-974 +AAGCGAGCAAAGAAGUAGUAUU +>dme-miR-975 +UAAACACUUCCUACAUCCUGUAU +>dme-miR-976 +UUGGAUUAGUUAUCAUCAAUGC +>dme-miR-977 +UGAGAUAUUCACGUUGUCUAA +>dme-miR-978 +UGUCCAGUGCCGUAAAUUGCAG +>dme-miR-979 +UUCUUCCCGAACUCAGGCUAA +>dme-miR-980 +UAGCUGCCUUGUGAAGGGCUUA +>dme-miR-981 +UUCGUUGUCGACGAAACCUGCA +>dme-miR-982 +UCCUGGACAAAUAUGAAGUAAAU +>dme-miR-983 +AUAAUACGUUUCGAACUAAUGA +>dme-miR-984 +UGAGGUAAAUACGGUUGGAAUUU +>dme-miR-927 +UUUAGAAUUCCUACGCUUUACC +>dme-miR-985 +CAAAUGUUCCAAUGGUCGGGCA +>dme-miR-986 +UCUCGAAUAGCGUUGUGACUGA +>dme-miR-987 +UAAAGUAAAUAGUCUGGAUUGAUG +>dme-miR-988 +CCCCUUGUUGCAAACCUCACGC +>dme-miR-989 +UGUGAUGUGACGUAGUGGAAC +>dme-miR-137 +UAUUGCUUGAGAAUACACGUAG +>dme-miR-990 +AUUCACCGUUCUGAGUUGGCC +>dme-miR-991 +UUAAAGUUGUAGUUUGGAAAGU +>dme-miR-992 +AGUACACGUUUCUGGUACUAAG +>dme-miR-929 +CUCCCUAACGGAGUCAGAUUG +>dme-miR-993 +GAAGCUCGUCUCUACAGGUAUCU +>dme-miR-994 +CUAAGGAAAUAGUAGCCGUGAU +>dme-miR-995 +UAGCACCACAUGAUUCGGCUU +>dme-miR-996 +UGACUAGAUUUCAUGCUCGUCU +>dme-miR-252 +CUAAGUACUAGUGCCGCAGGAG +>dme-miR-997 +CCCAAACUCGAAGGAGUUUCA +>dme-miR-998 +UAGCACCAUGAGAUUCAGCUC +>dme-miR-999 +UGUUAACUGUAAGACUGUGUCU +>dme-miR-1000 +AUAUUGUCCUGUCACAGCAGU +>dme-miR-1001 +UGGGUAAACUCCCAAGGAUCA +>dme-miR-1003 +UCUCACAUUUACAUAUUCACAG +>dme-miR-1004 +UCUCACAUCACUUCCCUCACAG +>dme-miR-1005 +UCUGGAAUCUUUAAUUCGCAG +>dme-miR-1006 +UAAAUUCGAUUUCUUAUUCAUAG +>dme-miR-1007 +UAAGCUCAAUUAACUGUUUGCA +>dme-miR-1008 +UCACAGCUUUUUGUGUUUACA +>dme-miR-1009 +UCUCAAAAAUUGUUACAUUUCAG +>dme-miR-1010 +UUUCACCUAUCGUUCCAUUUGCAG +>dme-miR-1011 +UUAUUGGUUCAAAUCGCUCGCAG +>dme-miR-1012 +UUAGUCAAAGAUUUUCCCCAUAG +>dme-miR-1013 +AUAAAAGUAUGCCGAACUCG +>dme-miR-1014 +AAAAUUCAUUUUCAUUUGCAG +>dme-miR-1015 +UCCUGGGACAUCUCUCUUGCAG +>dme-miR-1016 +UUCACCUCUCUCCAUACUUAG +>dme-miR-1017 +GAAAGCUCUACCCAAACUCAUCC diff --git a/modules/local/pita/templates/known_mirs/human_mirs.fasta b/modules/local/pita/templates/known_mirs/human_mirs.fasta new file mode 100644 index 00000000..5accdc5f --- /dev/null +++ b/modules/local/pita/templates/known_mirs/human_mirs.fasta @@ -0,0 +1,1354 @@ +>hsa-let-7a +UGAGGUAGUAGGUUGUAUAGUU +>hsa-let-7b +UGAGGUAGUAGGUUGUGUGGUU +>hsa-let-7c +UGAGGUAGUAGGUUGUAUGGUU +>hsa-let-7d +AGAGGUAGUAGGUUGCAUAGUU +>hsa-let-7e +UGAGGUAGGAGGUUGUAUAGUU +>hsa-let-7f +UGAGGUAGUAGAUUGUAUAGUU +>hsa-miR-15a +UAGCAGCACAUAAUGGUUUGUG +>hsa-miR-16 +UAGCAGCACGUAAAUAUUGGCG +>hsa-miR-17 +CAAAGUGCUUACAGUGCAGGUAG +>hsa-miR-18a +UAAGGUGCAUCUAGUGCAGAUAG +>hsa-miR-19a +UGUGCAAAUCUAUGCAAAACUGA +>hsa-miR-19b +UGUGCAAAUCCAUGCAAAACUGA +>hsa-miR-20a +UAAAGUGCUUAUAGUGCAGGUAG +>hsa-miR-21 +UAGCUUAUCAGACUGAUGUUGA +>hsa-miR-22 +AAGCUGCCAGUUGAAGAACUGU +>hsa-miR-23a +AUCACAUUGCCAGGGAUUUCC +>hsa-miR-24 +UGGCUCAGUUCAGCAGGAACAG +>hsa-miR-25 +CAUUGCACUUGUCUCGGUCUGA +>hsa-miR-26a +UUCAAGUAAUCCAGGAUAGGCU +>hsa-miR-26b +UUCAAGUAAUUCAGGAUAGGU +>hsa-miR-27a +UUCACAGUGGCUAAGUUCCGC +>hsa-miR-28-5p +AAGGAGCUCACAGUCUAUUGAG +>hsa-miR-28-3p +CACUAGAUUGUGAGCUCCUGGA +>hsa-miR-29a +UAGCACCAUCUGAAAUCGGUUA +>hsa-miR-30a +UGUAAACAUCCUCGACUGGAAG +>hsa-miR-31 +AGGCAAGAUGCUGGCAUAGCU +>hsa-miR-32 +UAUUGCACAUUACUAAGUUGCA +>hsa-miR-33a +GUGCAUUGUAGUUGCAUUGCA +>hsa-miR-92a +UAUUGCACUUGUCCCGGCCUGU +>hsa-miR-93 +CAAAGUGCUGUUCGUGCAGGUAG +>hsa-miR-95 +UUCAACGGGUAUUUAUUGAGCA +>hsa-miR-96 +UUUGGCACUAGCACAUUUUUGCU +>hsa-miR-98 +UGAGGUAGUAAGUUGUAUUGUU +>hsa-miR-99a +AACCCGUAGAUCCGAUCUUGUG +>hsa-miR-100 +AACCCGUAGAUCCGAACUUGUG +>hsa-miR-101 +UACAGUACUGUGAUAACUGAA +>hsa-miR-29b +UAGCACCAUUUGAAAUCAGUGUU +>hsa-miR-103 +AGCAGCAUUGUACAGGGCUAUGA +>hsa-miR-105 +UCAAAUGCUCAGACUCCUGUGGU +>hsa-miR-106a +AAAAGUGCUUACAGUGCAGGUAG +>hsa-miR-107 +AGCAGCAUUGUACAGGGCUAUCA +>hsa-miR-192 +CUGACCUAUGAAUUGACAGCC +>hsa-miR-196a +UAGGUAGUUUCAUGUUGUUGGG +>hsa-miR-197 +UUCACCACCUUCUCCACCCAGC +>hsa-miR-198 +GGUCCAGAGGGGAGAUAGGUUC +>hsa-miR-199a-5p +CCCAGUGUUCAGACUACCUGUUC +>hsa-miR-199a-3p +ACAGUAGUCUGCACAUUGGUUA +>hsa-miR-208a +AUAAGACGAGCAAAAAGCUUGU +>hsa-miR-129-5p +CUUUUUGCGGUCUGGGCUUGC +>hsa-miR-148a +UCAGUGCACUACAGAACUUUGU +>hsa-miR-30c +UGUAAACAUCCUACACUCUCAGC +>hsa-miR-30d +UGUAAACAUCCCCGACUGGAAG +>hsa-miR-139-5p +UCUACAGUGCACGUGUCUCCAG +>hsa-miR-139-3p +GGAGACGCGGCCCUGUUGGAGU +>hsa-miR-147 +GUGUGUGGAAAUGCUUCUGC +>hsa-miR-7 +UGGAAGACUAGUGAUUUUGUUGU +>hsa-miR-10a +UACCCUGUAGAUCCGAAUUUGUG +>hsa-miR-10b +UACCCUGUAGAACCGAAUUUGUG +>hsa-miR-34a +UGGCAGUGUCUUAGCUGGUUGU +>hsa-miR-181a +AACAUUCAACGCUGUCGGUGAGU +>hsa-miR-181b +AACAUUCAUUGCUGUCGGUGGGU +>hsa-miR-181c +AACAUUCAACCUGUCGGUGAGU +>hsa-miR-182 +UUUGGCAAUGGUAGAACUCACACU +>hsa-miR-183 +UAUGGCACUGGUAGAAUUCACU +>hsa-miR-187 +UCGUGUCUUGUGUUGCAGCCGG +>hsa-miR-199b-5p +CCCAGUGUUUAGACUAUCUGUUC +>hsa-miR-199b-3p +ACAGUAGUCUGCACAUUGGUUA +>hsa-miR-203 +GUGAAAUGUUUAGGACCACUAG +>hsa-miR-204 +UUCCCUUUGUCAUCCUAUGCCU +>hsa-miR-205 +UCCUUCAUUCCACCGGAGUCUG +>hsa-miR-210 +CUGUGCGUGUGACAGCGGCUGA +>hsa-miR-211 +UUCCCUUUGUCAUCCUUCGCCU +>hsa-miR-212 +UAACAGUCUCCAGUCACGGCC +>hsa-miR-214 +ACAGCAGGCACAGACAGGCAGU +>hsa-miR-215 +AUGACCUAUGAAUUGACAGAC +>hsa-miR-216a +UAAUCUCAGCUGGCAACUGUGA +>hsa-miR-217 +UACUGCAUCAGGAACUGAUUGGA +>hsa-miR-218 +UUGUGCUUGAUCUAACCAUGU +>hsa-miR-219-5p +UGAUUGUCCAAACGCAAUUCU +>hsa-miR-219-1-3p +AGAGUUGAGUCUGGACGUCCCG +>hsa-miR-220a +CCACACCGUAUCUGACACUUU +>hsa-miR-221 +AGCUACAUUGUCUGCUGGGUUUC +>hsa-miR-222 +AGCUACAUCUGGCUACUGGGU +>hsa-miR-223 +UGUCAGUUUGUCAAAUACCCCA +>hsa-miR-224 +CAAGUCACUAGUGGUUCCGUU +>hsa-miR-200b +UAAUACUGCCUGGUAAUGAUGA +>hsa-let-7g +UGAGGUAGUAGUUUGUACAGUU +>hsa-let-7i +UGAGGUAGUAGUUUGUGCUGUU +>hsa-miR-1 +UGGAAUGUAAAGAAGUAUGUAU +>hsa-miR-15b +UAGCAGCACAUCAUGGUUUACA +>hsa-miR-23b +AUCACAUUGCCAGGGAUUACC +>hsa-miR-27b +UUCACAGUGGCUAAGUUCUGC +>hsa-miR-30b +UGUAAACAUCCUACACUCAGCU +>hsa-miR-122 +UGGAGUGUGACAAUGGUGUUUG +>hsa-miR-124 +UAAGGCACGCGGUGAAUGCC +>hsa-miR-125b +UCCCUGAGACCCUAACUUGUGA +>hsa-miR-128 +UCACAGUGAACCGGUCUCUUU +>hsa-miR-130a +CAGUGCAAUGUUAAAAGGGCAU +>hsa-miR-132 +UAACAGUCUACAGCCAUGGUCG +>hsa-miR-133a +UUUGGUCCCCUUCAACCAGCUG +>hsa-miR-135a +UAUGGCUUUUUAUUCCUAUGUGA +>hsa-miR-137 +UUAUUGCUUAAGAAUACGCGUAG +>hsa-miR-138 +AGCUGGUGUUGUGAAUCAGGCCG +>hsa-miR-140-5p +CAGUGGUUUUACCCUAUGGUAG +>hsa-miR-140-3p +UACCACAGGGUAGAACCACGG +>hsa-miR-141 +UAACACUGUCUGGUAAAGAUGG +>hsa-miR-142-5p +CAUAAAGUAGAAAGCACUACU +>hsa-miR-142-3p +UGUAGUGUUUCCUACUUUAUGGA +>hsa-miR-143 +UGAGAUGAAGCACUGUAGCUC +>hsa-miR-144 +UACAGUAUAGAUGAUGUACU +>hsa-miR-145 +GUCCAGUUUUCCCAGGAAUCCCU +>hsa-miR-152 +UCAGUGCAUGACAGAACUUGG +>hsa-miR-153 +UUGCAUAGUCACAAAAGUGAUC +>hsa-miR-191 +CAACGGAAUCCCAAAAGCAGCUG +>hsa-miR-9 +UCUUUGGUUAUCUAGCUGUAUGA +>hsa-miR-125a-5p +UCCCUGAGACCCUUUAACCUGUGA +>hsa-miR-125a-3p +ACAGGUGAGGUUCUUGGGAGCC +>hsa-miR-126 +UCGUACCGUGAGUAAUAAUGCG +>hsa-miR-127-5p +CUGAAGCUCAGAGGGCUCUGAU +>hsa-miR-127-3p +UCGGAUCCGUCUGAGCUUGGCU +>hsa-miR-129-3p +AAGCCCUUACCCCAAAAAGCAU +>hsa-miR-134 +UGUGACUGGUUGACCAGAGGGG +>hsa-miR-136 +ACUCCAUUUGUUUUGAUGAUGGA +>hsa-miR-146a +UGAGAACUGAAUUCCAUGGGUU +>hsa-miR-149 +UCUGGCUCCGUGUCUUCACUCCC +>hsa-miR-150 +UCUCCCAACCCUUGUACCAGUG +>hsa-miR-154 +UAGGUUAUCCGUGUUGCCUUCG +>hsa-miR-184 +UGGACGGAGAACUGAUAAGGGU +>hsa-miR-185 +UGGAGAGAAAGGCAGUUCCUGA +>hsa-miR-186 +CAAAGAAUUCUCCUUUUGGGCU +>hsa-miR-188-5p +CAUCCCUUGCAUGGUGGAGGG +>hsa-miR-188-3p +CUCCCACAUGCAGGGUUUGCA +>hsa-miR-190 +UGAUAUGUUUGAUAUAUUAGGU +>hsa-miR-193a-5p +UGGGUCUUUGCGGGCGAGAUGA +>hsa-miR-193a-3p +AACUGGCCUACAAAGUCCCAGU +>hsa-miR-194 +UGUAACAGCAACUCCAUGUGGA +>hsa-miR-195 +UAGCAGCACAGAAAUAUUGGC +>hsa-miR-206 +UGGAAUGUAAGGAAGUGUGUGG +>hsa-miR-320a +AAAAGCUGGGUUGAGAGGGCGA +>hsa-miR-200c +UAAUACUGCCGGGUAAUGAUGGA +>hsa-miR-155 +UUAAUGCUAAUCGUGAUAGGGGU +>hsa-miR-106b +UAAAGUGCUGACAGUGCAGAU +>hsa-miR-29c +UAGCACCAUUUGAAAUCGGUUA +>hsa-miR-200a +UAACACUGUCUGGUAACGAUGU +>hsa-miR-302a +UAAGUGCUUCCAUGUUUUGGUGA +>hsa-miR-219-2-3p +AGAAUUGUGGCUGGACAUCUGU +>hsa-miR-34b +CAAUCACUAACUCCACUGCCAU +>hsa-miR-34c-5p +AGGCAGUGUAGUUAGCUGAUUGC +>hsa-miR-34c-3p +AAUCACUAACCACACGGCCAGG +>hsa-miR-299-5p +UGGUUUACCGUCCCACAUACAU +>hsa-miR-299-3p +UAUGUGGGAUGGUAAACCGCUU +>hsa-miR-301a +CAGUGCAAUAGUAUUGUCAAAGC +>hsa-miR-99b +CACCCGUAGAACCGACCUUGCG +>hsa-miR-296-5p +AGGGCCCCCCCUCAAUCCUGU +>hsa-miR-296-3p +GAGGGUUGGGUGGAGGCUCUCC +>hsa-miR-130b +CAGUGCAAUGAUGAAAGGGCAU +>hsa-miR-30e +UGUAAACAUCCUUGACUGGAAG +>hsa-miR-361-5p +UUAUCAGAAUCUCCAGGGGUAC +>hsa-miR-361-3p +UCCCCCAGGUGUGAUUCUGAUUU +>hsa-miR-362-5p +AAUCCUUGGAACCUAGGUGUGAGU +>hsa-miR-362-3p +AACACACCUAUUCAAGGAUUCA +>hsa-miR-363 +AAUUGCACGGUAUCCAUCUGUA +>hsa-miR-365 +UAAUGCCCCUAAAAAUCCUUAU +>hsa-miR-302b +UAAGUGCUUCCAUGUUUUAGUAG +>hsa-miR-302c +UAAGUGCUUCCAUGUUUCAGUGG +>hsa-miR-302d +UAAGUGCUUCCAUGUUUGAGUGU +>hsa-miR-367 +AAUUGCACUUUAGCAAUGGUGA +>hsa-miR-376c +AACAUAGAGGAAAUUCCACGU +>hsa-miR-369-5p +AGAUCGACCGUGUUAUAUUCGC +>hsa-miR-369-3p +AAUAAUACAUGGUUGAUCUUU +>hsa-miR-370 +GCCUGCUGGGGUGGAACCUGGU +>hsa-miR-371-5p +ACUCAAACUGUGGGGGCACU +>hsa-miR-371-3p +AAGUGCCGCCAUCUUUUGAGUGU +>hsa-miR-372 +AAAGUGCUGCGACAUUUGAGCGU +>hsa-miR-373 +GAAGUGCUUCGAUUUUGGGGUGU +>hsa-miR-374a +UUAUAAUACAACCUGAUAAGUG +>hsa-miR-375 +UUUGUUCGUUCGGCUCGCGUGA +>hsa-miR-376a +AUCAUAGAGGAAAAUCCACGU +>hsa-miR-377 +AUCACACAAAGGCAACUUUUGU +>hsa-miR-378 +ACUGGACUUGGAGUCAGAAGG +>hsa-miR-379 +UGGUAGACUAUGGAACGUAGG +>hsa-miR-380 +UAUGUAAUAUGGUCCACAUCUU +>hsa-miR-381 +UAUACAAGGGCAAGCUCUCUGU +>hsa-miR-382 +GAAGUUGUUCGUGGUGGAUUCG +>hsa-miR-383 +AGAUCAGAAGGUGAUUGUGGCU +>hsa-miR-340 +UUAUAAAGCAAUGAGACUGAUU +>hsa-miR-330-5p +UCUCUGGGCCUGUGUCUUAGGC +>hsa-miR-330-3p +GCAAAGCACACGGCCUGCAGAGA +>hsa-miR-328 +CUGGCCCUCUCUGCCCUUCCGU +>hsa-miR-342-5p +AGGGGUGCUAUCUGUGAUUGA +>hsa-miR-342-3p +UCUCACACAGAAAUCGCACCCGU +>hsa-miR-337-5p +GAACGGCUUCAUACAGGAGUU +>hsa-miR-337-3p +CUCCUAUAUGAUGCCUUUCUUC +>hsa-miR-323-5p +AGGUGGUCCGUGGCGCGUUCGC +>hsa-miR-323-3p +CACAUUACACGGUCGACCUCU +>hsa-miR-326 +CCUCUGGGCCCUUCCUCCAG +>hsa-miR-151-5p +UCGAGGAGCUCACAGUCUAGU +>hsa-miR-151-3p +CUAGACUGAAGCUCCUUGAGG +>hsa-miR-135b +UAUGGCUUUUCAUUCCUAUGUGA +>hsa-miR-148b +UCAGUGCAUCACAGAACUUUGU +>hsa-miR-331-5p +CUAGGUAUGGUCCCAGGGAUCC +>hsa-miR-331-3p +GCCCCUGGGCCUAUCCUAGAA +>hsa-miR-324-5p +CGCAUCCCCUAGGGCAUUGGUGU +>hsa-miR-324-3p +ACUGCCCCAGGUGCUGCUGG +>hsa-miR-338-5p +AACAAUAUCCUGGUGCUGAGUG +>hsa-miR-338-3p +UCCAGCAUCAGUGAUUUUGUUG +>hsa-miR-339-5p +UCCCUGUCCUCCAGGAGCUCACG +>hsa-miR-339-3p +UGAGCGCCUCGACGACAGAGCCG +>hsa-miR-335 +UCAAGAGCAAUAACGAAAAAUGU +>hsa-miR-133b +UUUGGUCCCCUUCAACCAGCUA +>hsa-miR-325 +CCUAGUAGGUGUCCAGUAAGUGU +>hsa-miR-345 +GCUGACUCCUAGUCCAGGGCUC +>hsa-miR-346 +UGUCUGCCCGCAUGCCUGCCUCU +>hsa-miR-384 +AUUCCUAGAAAUUGUUCAUA +>hsa-miR-196b +UAGGUAGUUUCCUGUUGUUGGG +>hsa-miR-422a +ACUGGACUUAGGGUCAGAAGGC +>hsa-miR-423-5p +UGAGGGGCAGAGAGCGAGACUUU +>hsa-miR-423-3p +AGCUCGGUCUGAGGCCCCUCAGU +>hsa-miR-424 +CAGCAGCAAUUCAUGUUUUGAA +>hsa-miR-425 +AAUGACACGAUCACUCCCGUUGA +>hsa-miR-18b +UAAGGUGCAUCUAGUGCAGUUAG +>hsa-miR-20b +CAAAGUGCUCAUAGUGCAGGUAG +>hsa-miR-448 +UUGCAUAUGUAGGAUGUCCCAU +>hsa-miR-429 +UAAUACUGUCUGGUAAAACCGU +>hsa-miR-449a +UGGCAGUGUAUUGUUAGCUGGU +>hsa-miR-450a +UUUUGCGAUGUGUUCCUAAUAU +>hsa-miR-431 +UGUCUUGCAGGCCGUCAUGCA +>hsa-miR-433 +AUCAUGAUGGGCUCCUCGGUGU +>hsa-miR-329 +AACACACCUGGUUAACCUCUUU +>hsa-miR-453 +AGGUUGUCCGUGGUGAGUUCGCA +>hsa-miR-451 +AAACCGUUACCAUUACUGAGUU +>hsa-miR-452 +AACUGUUUGCAGAGGAAACUGA +>hsa-miR-409-5p +AGGUUACCCGAGCAACUUUGCAU +>hsa-miR-409-3p +GAAUGUUGCUCGGUGAACCCCU +>hsa-miR-412 +ACUUCACCUGGUCCACUAGCCGU +>hsa-miR-410 +AAUAUAACACAGAUGGCCUGU +>hsa-miR-376b +AUCAUAGAGGAAAAUCCAUGUU +>hsa-miR-483-5p +AAGACGGGAGGAAAGAAGGGAG +>hsa-miR-483-3p +UCACUCCUCUCCUCCCGUCUU +>hsa-miR-484 +UCAGGCUCAGUCCCCUCCCGAU +>hsa-miR-485-5p +AGAGGCUGGCCGUGAUGAAUUC +>hsa-miR-485-3p +GUCAUACACGGCUCUCCUCUCU +>hsa-miR-486-5p +UCCUGUACUGAGCUGCCCCGAG +>hsa-miR-486-3p +CGGGGCAGCUCAGUACAGGAU +>hsa-miR-487a +AAUCAUACAGGGACAUCCAGUU +>hsa-miR-488 +UUGAAAGGCUAUUUCUUGGUC +>hsa-miR-489 +GUGACAUCACAUAUACGGCAGC +>hsa-miR-490-5p +CCAUGGAUCUCCAGGUGGGU +>hsa-miR-490-3p +CAACCUGGAGGACUCCAUGCUG +>hsa-miR-491-5p +AGUGGGGAACCCUUCCAUGAGG +>hsa-miR-491-3p +CUUAUGCAAGAUUCCCUUCUAC +>hsa-miR-511 +GUGUCUUUUGCUCUGCAGUCA +>hsa-miR-146b-5p +UGAGAACUGAAUUCCAUAGGCU +>hsa-miR-146b-3p +UGCCCUGUGGACUCAGUUCUGG +>hsa-miR-202 +AGAGGUAUAGGGCAUGGGAA +>hsa-miR-492 +AGGACCUGCGGGACAAGAUUCUU +>hsa-miR-493 +UGAAGGUCUACUGUGUGCCAGG +>hsa-miR-432 +UCUUGGAGUAGGUCAUUGGGUGG +>hsa-miR-494 +UGAAACAUACACGGGAAACCUC +>hsa-miR-495 +AAACAAACAUGGUGCACUUCUU +>hsa-miR-496 +UGAGUAUUACAUGGCCAAUCUC +>hsa-miR-193b +AACUGGCCCUCAAAGUCCCGCU +>hsa-miR-497 +CAGCAGCACACUGUGGUUUGU +>hsa-miR-181d +AACAUUCAUUGUUGUCGGUGGGU +>hsa-miR-512-5p +CACUCAGCCUUGAGGGCACUUUC +>hsa-miR-512-3p +AAGUGCUGUCAUAGCUGAGGUC +>hsa-miR-498 +UUUCAAGCCAGGGGGCGUUUUUC +>hsa-miR-520e +AAAGUGCUUCCUUUUUGAGGG +>hsa-miR-515-5p +UUCUCCAAAAGAAAGCACUUUCUG +>hsa-miR-515-3p +GAGUGCCUUCUUUUGGAGCGUU +>hsa-miR-519e +AAGUGCCUCCUUUUAGAGUGUU +>hsa-miR-520f +AAGUGCUUCCUUUUAGAGGGUU +>hsa-miR-519c-5p +CUCUAGAGGGAAGCGCUUUCUG +>hsa-miR-519c-3p +AAAGUGCAUCUUUUUAGAGGAU +>hsa-miR-520a-5p +CUCCAGAGGGAAGUACUUUCU +>hsa-miR-520a-3p +AAAGUGCUUCCCUUUGGACUGU +>hsa-miR-526b +CUCUUGAGGGAAGCACUUUCUGU +>hsa-miR-519b-5p +CUCUAGAGGGAAGCGCUUUCUG +>hsa-miR-519b-3p +AAAGUGCAUCCUUUUAGAGGUU +>hsa-miR-525-5p +CUCCAGAGGGAUGCACUUUCU +>hsa-miR-525-3p +GAAGGCGCUUCCCUUUAGAGCG +>hsa-miR-523 +GAACGCGCUUCCCUAUAGAGGGU +>hsa-miR-518f +GAAAGCGCUUCUCUUUAGAGG +>hsa-miR-520b +AAAGUGCUUCCUUUUAGAGGG +>hsa-miR-518b +CAAAGCGCUCCCCUUUAGAGGU +>hsa-miR-526a +CUCUAGAGGGAAGCACUUUCUG +>hsa-miR-520c-5p +CUCUAGAGGGAAGCACUUUCUG +>hsa-miR-520c-3p +AAAGUGCUUCCUUUUAGAGGGU +>hsa-miR-518c +CAAAGCGCUUCUCUUUAGAGUGU +>hsa-miR-524-5p +CUACAAAGGGAAGCACUUUCUC +>hsa-miR-524-3p +GAAGGCGCUUCCCUUUGGAGU +>hsa-miR-517a +AUCGUGCAUCCCUUUAGAGUGU +>hsa-miR-519d +CAAAGUGCCUCCCUUUAGAGUG +>hsa-miR-521 +AACGCACUUCCCUUUAGAGUGU +>hsa-miR-520d-5p +CUACAAAGGGAAGCCCUUUC +>hsa-miR-520d-3p +AAAGUGCUUCUCUUUGGUGGGU +>hsa-miR-517b +UCGUGCAUCCCUUUAGAGUGUU +>hsa-miR-520g +ACAAAGUGCUUCCCUUUAGAGUGU +>hsa-miR-516b +AUCUGGAGGUAAGAAGCACUUU +>hsa-miR-518e +AAAGCGCUUCCCUUCAGAGUG +>hsa-miR-518a-5p +CUGCAAAGGGAAGCCCUUUC +>hsa-miR-518a-3p +GAAAGCGCUUCCCUUUGCUGGA +>hsa-miR-518d-5p +CUCUAGAGGGAAGCACUUUCUG +>hsa-miR-518d-3p +CAAAGCGCUUCCCUUUGGAGC +>hsa-miR-517c +AUCGUGCAUCCUUUUAGAGUGU +>hsa-miR-520h +ACAAAGUGCUUCCCUUUAGAGU +>hsa-miR-522 +AAAAUGGUUCCCUUUAGAGUGU +>hsa-miR-519a +AAAGUGCAUCCUUUUAGAGUGU +>hsa-miR-527 +CUGCAAAGGGAAGCCCUUUC +>hsa-miR-516a-5p +UUCUCGAGGAAAGAAGCACUUUC +>hsa-miR-516a-3p +UGCUUCCUUUCAGAGGGU +>hsa-miR-499-5p +UUAAGACUUGCAGUGAUGUUU +>hsa-miR-499-3p +AACAUCACAGCAAGUCUGUGCU +>hsa-miR-500 +UAAUCCUUGCUACCUGGGUGAGA +>hsa-miR-501-5p +AAUCCUUUGUCCCUGGGUGAGA +>hsa-miR-501-3p +AAUGCACCCGGGCAAGGAUUCU +>hsa-miR-502-5p +AUCCUUGCUAUCUGGGUGCUA +>hsa-miR-502-3p +AAUGCACCUGGGCAAGGAUUCA +>hsa-miR-503 +UAGCAGCGGGAACAGUUCUGCAG +>hsa-miR-504 +AGACCCUGGUCUGCACUCUAUC +>hsa-miR-505 +CGUCAACACUUGCUGGUUUCCU +>hsa-miR-513a-5p +UUCACAGGGAGGUGUCAU +>hsa-miR-513a-3p +UAAAUUUCACCUUUCUGAGAAGG +>hsa-miR-506 +UAAGGCACCCUUCUGAGUAGA +>hsa-miR-507 +UUUUGCACCUUUUGGAGUGAA +>hsa-miR-508-5p +UACUCCAGAGGGCGUCACUCAUG +>hsa-miR-508-3p +UGAUUGUAGCCUUUUGGAGUAGA +>hsa-miR-509-5p +UACUGCAGACAGUGGCAAUCA +>hsa-miR-509-3p +UGAUUGGUACGUCUGUGGGUAG +>hsa-miR-510 +UACUCAGGAGAGUGGCAAUCAC +>hsa-miR-514 +AUUGACACUUCUGUGAGUAGA +>hsa-miR-532-5p +CAUGCCUUGAGUGUAGGACCGU +>hsa-miR-532-3p +CCUCCCACACCCAAGGCUUGCA +>hsa-miR-455-5p +UAUGUGCCUUUGGACUACAUCG +>hsa-miR-455-3p +GCAGUCCAUGGGCAUAUACAC +>hsa-miR-539 +GGAGAAAUUAUCCUUGGUGUGU +>hsa-miR-544 +AUUCUGCAUUUUUAGCAAGUUC +>hsa-miR-545 +UCAGCAAACAUUUAUUGUGUGC +>hsa-miR-487b +AAUCGUACAGGGUCAUCCACUU +>hsa-miR-551a +GCGACCCACUCUUGGUUUCCA +>hsa-miR-552 +AACAGGUGACUGGUUAGACAA +>hsa-miR-553 +AAAACGGUGAGAUUUUGUUUU +>hsa-miR-554 +GCUAGUCCUGACUCAGCCAGU +>hsa-miR-92b +UAUUGCACUCGUCCCGGCCUCC +>hsa-miR-555 +AGGGUAAGCUGAACCUCUGAU +>hsa-miR-556-5p +GAUGAGCUCAUUGUAAUAUGAG +>hsa-miR-556-3p +AUAUUACCAUUAGCUCAUCUUU +>hsa-miR-557 +GUUUGCACGGGUGGGCCUUGUCU +>hsa-miR-558 +UGAGCUGCUGUACCAAAAU +>hsa-miR-559 +UAAAGUAAAUAUGCACCAAAA +>hsa-miR-561 +CAAAGUUUAAGAUCCUUGAAGU +>hsa-miR-562 +AAAGUAGCUGUACCAUUUGC +>hsa-miR-563 +AGGUUGACAUACGUUUCCC +>hsa-miR-564 +AGGCACGGUGUCAGCAGGC +>hsa-miR-566 +GGGCGCCUGUGAUCCCAAC +>hsa-miR-567 +AGUAUGUUCUUCCAGGACAGAAC +>hsa-miR-568 +AUGUAUAAAUGUAUACACAC +>hsa-miR-551b +GCGACCCAUACUUGGUUUCAG +>hsa-miR-569 +AGUUAAUGAAUCCUGGAAAGU +>hsa-miR-570 +CGAAAACAGCAAUUACCUUUGC +>hsa-miR-571 +UGAGUUGGCCAUCUGAGUGAG +>hsa-miR-572 +GUCCGCUCGGCGGUGGCCCA +>hsa-miR-573 +CUGAAGUGAUGUGUAACUGAUCAG +>hsa-miR-574-5p +UGAGUGUGUGUGUGUGAGUGUGU +>hsa-miR-574-3p +CACGCUCAUGCACACACCCACA +>hsa-miR-575 +GAGCCAGUUGGACAGGAGC +>hsa-miR-576-5p +AUUCUAAUUUCUCCACGUCUUU +>hsa-miR-576-3p +AAGAUGUGGAAAAAUUGGAAUC +>hsa-miR-577 +UAGAUAAAAUAUUGGUACCUG +>hsa-miR-578 +CUUCUUGUGCUCUAGGAUUGU +>hsa-miR-579 +UUCAUUUGGUAUAAACCGCGAUU +>hsa-miR-580 +UUGAGAAUGAUGAAUCAUUAGG +>hsa-miR-581 +UCUUGUGUUCUCUAGAUCAGU +>hsa-miR-582-5p +UUACAGUUGUUCAACCAGUUACU +>hsa-miR-582-3p +UAACUGGUUGAACAACUGAACC +>hsa-miR-583 +CAAAGAGGAAGGUCCCAUUAC +>hsa-miR-584 +UUAUGGUUUGCCUGGGACUGAG +>hsa-miR-585 +UGGGCGUAUCUGUAUGCUA +>hsa-miR-548a-3p +CAAAACUGGCAAUUACUUUUGC +>hsa-miR-586 +UAUGCAUUGUAUUUUUAGGUCC +>hsa-miR-587 +UUUCCAUAGGUGAUGAGUCAC +>hsa-miR-548b-5p +AAAAGUAAUUGUGGUUUUGGCC +>hsa-miR-548b-3p +CAAGAACCUCAGUUGCUUUUGU +>hsa-miR-588 +UUGGCCACAAUGGGUUAGAAC +>hsa-miR-589 +UGAGAACCACGUCUGCUCUGAG +>hsa-miR-550 +AGUGCCUGAGGGAGUAAGAGCCC +>hsa-miR-590-5p +GAGCUUAUUCAUAAAAGUGCAG +>hsa-miR-590-3p +UAAUUUUAUGUAUAAGCUAGU +>hsa-miR-591 +AGACCAUGGGUUCUCAUUGU +>hsa-miR-592 +UUGUGUCAAUAUGCGAUGAUGU +>hsa-miR-593 +UGUCUCUGCUGGGGUUUCU +>hsa-miR-595 +GAAGUGUGCCGUGGUGUGUCU +>hsa-miR-596 +AAGCCUGCCCGGCUCCUCGGG +>hsa-miR-597 +UGUGUCACUCGAUGACCACUGU +>hsa-miR-598 +UACGUCAUCGUUGUCAUCGUCA +>hsa-miR-599 +GUUGUGUCAGUUUAUCAAAC +>hsa-miR-548a-5p +AAAAGUAAUUGCGAGUUUUACC +>hsa-miR-600 +ACUUACAGACAAGAGCCUUGCUC +>hsa-miR-601 +UGGUCUAGGAUUGUUGGAGGAG +>hsa-miR-602 +GACACGGGCGACAGCUGCGGCCC +>hsa-miR-603 +CACACACUGCAAUUACUUUUGC +>hsa-miR-604 +AGGCUGCGGAAUUCAGGAC +>hsa-miR-605 +UAAAUCCCAUGGUGCCUUCUCCU +>hsa-miR-606 +AAACUACUGAAAAUCAAAGAU +>hsa-miR-607 +GUUCAAAUCCAGAUCUAUAAC +>hsa-miR-608 +AGGGGUGGUGUUGGGACAGCUCCGU +>hsa-miR-609 +AGGGUGUUUCUCUCAUCUCU +>hsa-miR-610 +UGAGCUAAAUGUGUGCUGGGA +>hsa-miR-611 +GCGAGGACCCCUCGGGGUCUGAC +>hsa-miR-612 +GCUGGGCAGGGCUUCUGAGCUCCUU +>hsa-miR-613 +AGGAAUGUUCCUUCUUUGCC +>hsa-miR-614 +GAACGCCUGUUCUUGCCAGGUGG +>hsa-miR-615-5p +GGGGGUCCCCGGUGCUCGGAUC +>hsa-miR-615-3p +UCCGAGCCUGGGUCUCCCUCUU +>hsa-miR-616 +AGUCAUUGGAGGGUUUGAGCAG +>hsa-miR-548c-5p +AAAAGUAAUUGCGGUUUUUGCC +>hsa-miR-548c-3p +CAAAAAUCUCAAUUACUUUUGC +>hsa-miR-617 +AGACUUCCCAUUUGAAGGUGGC +>hsa-miR-618 +AAACUCUACUUGUCCUUCUGAGU +>hsa-miR-619 +GACCUGGACAUGUUUGUGCCCAGU +>hsa-miR-620 +AUGGAGAUAGAUAUAGAAAU +>hsa-miR-621 +GGCUAGCAACAGCGCUUACCU +>hsa-miR-622 +ACAGUCUGCUGAGGUUGGAGC +>hsa-miR-623 +AUCCCUUGCAGGGGCUGUUGGGU +>hsa-miR-624 +CACAAGGUAUUGGUAUUACCU +>hsa-miR-625 +AGGGGGAAAGUUCUAUAGUCC +>hsa-miR-626 +AGCUGUCUGAAAAUGUCUU +>hsa-miR-627 +GUGAGUCUCUAAGAAAAGAGGA +>hsa-miR-628-5p +AUGCUGACAUAUUUACUAGAGG +>hsa-miR-628-3p +UCUAGUAAGAGUGGCAGUCGA +>hsa-miR-629 +UGGGUUUACGUUGGGAGAACU +>hsa-miR-630 +AGUAUUCUGUACCAGGGAAGGU +>hsa-miR-631 +AGACCUGGCCCAGACCUCAGC +>hsa-miR-33b +GUGCAUUGCUGUUGCAUUGC +>hsa-miR-632 +GUGUCUGCUUCCUGUGGGA +>hsa-miR-633 +CUAAUAGUAUCUACCACAAUAAA +>hsa-miR-634 +AACCAGCACCCCAACUUUGGAC +>hsa-miR-635 +ACUUGGGCACUGAAACAAUGUCC +>hsa-miR-636 +UGUGCUUGCUCGUCCCGCCCGCA +>hsa-miR-637 +ACUGGGGGCUUUCGGGCUCUGCGU +>hsa-miR-638 +AGGGAUCGCGGGCGGGUGGCGGCCU +>hsa-miR-639 +AUCGCUGCGGUUGCGAGCGCUGU +>hsa-miR-640 +AUGAUCCAGGAACCUGCCUCU +>hsa-miR-641 +AAAGACAUAGGAUAGAGUCACCUC +>hsa-miR-642 +GUCCCUCUCCAAAUGUGUCUUG +>hsa-miR-643 +ACUUGUAUGCUAGCUCAGGUAG +>hsa-miR-644 +AGUGUGGCUUUCUUAGAGC +>hsa-miR-645 +UCUAGGCUGGUACUGCUGA +>hsa-miR-646 +AAGCAGCUGCCUCUGAGGC +>hsa-miR-647 +GUGGCUGCACUCACUUCCUUC +>hsa-miR-648 +AAGUGUGCAGGGCACUGGU +>hsa-miR-649 +AAACCUGUGUUGUUCAAGAGUC +>hsa-miR-650 +AGGAGGCAGCGCUCUCAGGAC +>hsa-miR-651 +UUUAGGAUAAGCUUGACUUUUG +>hsa-miR-652 +AAUGGCGCCACUAGGGUUGUG +>hsa-miR-548d-5p +AAAAGUAAUUGUGGUUUUUGCC +>hsa-miR-548d-3p +CAAAAACCACAGUUUCUUUUGC +>hsa-miR-661 +UGCCUGGGUCUCUGGCCUGCGCGU +>hsa-miR-662 +UCCCACGUUGUGGCCCAGCAG +>hsa-miR-663 +AGGCGGGGCGCCGCGGGACCGC +>hsa-miR-449b +AGGCAGUGUAUUGUUAGCUGGC +>hsa-miR-653 +GUGUUGAAACAAUCUCUACUG +>hsa-miR-411 +UAGUAGACCGUAUAGCGUACG +>hsa-miR-654-5p +UGGUGGGCCGCAGAACAUGUGC +>hsa-miR-654-3p +UAUGUCUGCUGACCAUCACCUU +>hsa-miR-655 +AUAAUACAUGGUUAACCUCUUU +>hsa-miR-656 +AAUAUUAUACAGUCAACCUCU +>hsa-miR-549 +UGACAACUAUGGAUGAGCUCU +>hsa-miR-657 +GGCAGGUUCUCACCCUCUCUAGG +>hsa-miR-658 +GGCGGAGGGAAGUAGGUCCGUUGGU +>hsa-miR-659 +CUUGGUUCAGGGAGGGUCCCCA +>hsa-miR-660 +UACCCAUUGCAUAUCGGAGUUG +>hsa-miR-421 +AUCAACAGACAUUAAUUGGGCGC +>hsa-miR-542-5p +UCGGGGAUCAUCAUGUCACGAGA +>hsa-miR-542-3p +UGUGACAGAUUGAUAACUGAAA +>hsa-miR-758 +UUUGUGACCUGGUCCACUAACC +>hsa-miR-1264 +CAAGUCUUAUUUGAGCACCUGUU +>hsa-miR-671-5p +AGGAAGCCCUGGAGGGGCUGGAG +>hsa-miR-671-3p +UCCGGUUCUCAGGGCUCCACC +>hsa-miR-668 +UGUCACUCGGCUCGGCCCACUAC +>hsa-miR-767-5p +UGCACCAUGGUUGUCUGAGCAUG +>hsa-miR-767-3p +UCUGCUCAUACCCCAUGGUUUCU +>hsa-miR-1224-5p +GUGAGGACUCGGGAGGUGG +>hsa-miR-1224-3p +CCCCACCUCCUCUCUCCUCAG +>hsa-miR-320b +AAAAGCUGGGUUGAGAGGGCAA +>hsa-miR-320c +AAAAGCUGGGUUGAGAGGGU +>hsa-miR-1296 +UUAGGGCCCUGGCUCCAUCUCC +>hsa-miR-1323 +UCAAAACUGAGGGGCAUUUUCU +>hsa-miR-1271 +CUUGGCACCUAGCAAGCACUCA +>hsa-miR-1301 +UUGCAGCUGCCUGGGAGUGACUUC +>hsa-miR-454 +UAGUGCAAUAUUGCUUAUAGGGU +>hsa-miR-1185 +AGAGGAUACCCUUUGUAUGUU +>hsa-miR-1283 +UCUACAAAGGAAAGCGCUUUCU +>hsa-miR-769-5p +UGAGACCUCUGGGUUCUGAGCU +>hsa-miR-769-3p +CUGGGAUCUCCGGGGUCUUGGUU +>hsa-miR-766 +ACUCCAGCCCCACAGCCUCAGC +>hsa-miR-802 +CAGUAACAAAGAUUCAUCCUUGU +>hsa-miR-1298 +UUCAUUCGGCUGUCCAGAUGUA +>hsa-miR-765 +UGGAGGAGAAGGAAGGUGAUG +>hsa-miR-768-5p +GUUGGAGGAUGAAAGUACGGAGUGAU +>hsa-miR-768-3p +UCACAAUGCUGACACUCAAACUGCUGAC +>hsa-miR-770-5p +UCCAGUACCACGUGUCAGGGCCA +>hsa-miR-675 +UGGUGCGGAGAGGGCCCACAGUG +>hsa-miR-298 +AGCAGAAGCAGGGAGGUUCUCCCA +>hsa-miR-891a +UGCAACGAACCUGAGCCACUGA +>hsa-miR-300 +UAUACAAGGGCAGACUCUCUCU +>hsa-miR-886-5p +CGGGUCGGAGUUAGCUCAAGCGG +>hsa-miR-886-3p +CGCGGGUGCUUACUGACCCUU +>hsa-miR-892a +CACUGUGUCCUUUCUGCGUAG +>hsa-miR-220b +CCACCACCGUGUCUGACACUU +>hsa-miR-450b-5p +UUUUGCAAUAUGUUCCUGAAUA +>hsa-miR-450b-3p +UUGGGAUCAUUUUGCAUCCAUA +>hsa-miR-874 +CUGCCCUGGCCCGAGGGACCGA +>hsa-miR-890 +UACUUGGAAAGGCAUCAGUUG +>hsa-miR-891b +UGCAACUUACCUGAGUCAUUGA +>hsa-miR-220c +ACACAGGGCUGUUGUGAAGACU +>hsa-miR-888 +UACUCAAAAAGCUGUCAGUCA +>hsa-miR-892b +CACUGGCUCCUUUCUGGGUAGA +>hsa-miR-541 +UGGUGGGCACAGAAUCUGGACU +>hsa-miR-889 +UUAAUAUCGGACAACCAUUGU +>hsa-miR-875-5p +UAUACCUCAGUUUUAUCAGGUG +>hsa-miR-875-3p +CCUGGAAACACUGAGGUUGUG +>hsa-miR-876-5p +UGGAUUUCUUUGUGAAUCACCA +>hsa-miR-876-3p +UGGUGGUUUACAAAGUAAUUCA +>hsa-miR-708 +AAGGAGCUUACAAUCUAGCUGGG +>hsa-miR-147b +GUGUGCGGAAAUGCUUCUGCUA +>hsa-miR-190b +UGAUAUGUUUGAUAUUGGGUU +>hsa-miR-744 +UGCGGGGCUAGGGCUAACAGCA +>hsa-miR-885-5p +UCCAUUACACUACCCUGCCUCU +>hsa-miR-885-3p +AGGCAGCGGGGUGUAGUGGAUA +>hsa-miR-877 +GUAGAGGAGAUGGCGCAGGG +>hsa-miR-887 +GUGAACGGGCGCCAUCCCGAGG +>hsa-miR-665 +ACCAGGAGGCUGAGGCCCCU +>hsa-miR-873 +GCAGGAACUUGUGAGUCUCCU +>hsa-miR-543 +AAACAUUCGCGGUGCACUUCUU +>hsa-miR-374b +AUAUAAUACAACCUGCUAAGUG +>hsa-miR-760 +CGGCUCUGGGUCUGUGGGGA +>hsa-miR-301b +CAGUGCAAUGAUAUUGUCAAAGC +>hsa-miR-216b +AAAUCUCUGCAGGCAAAUGUGA +>hsa-miR-208b +AUAAGACGAACAAAAGGUUUGU +>hsa-miR-920 +GGGGAGCUGUGGAAGCAGUA +>hsa-miR-921 +CUAGUGAGGGACAGAACCAGGAUUC +>hsa-miR-922 +GCAGCAGAGAAUAGGACUACGUC +>hsa-miR-923 +GUCAGCGGAGGAAAAGAAACU +>hsa-miR-924 +AGAGUCUUGUGAUGUCUUGC +>hsa-miR-509-3-5p +UACUGCAGACGUGGCAAUCAUG +>hsa-miR-933 +UGUGCGCAGGGAGACCUCUCCC +>hsa-miR-934 +UGUCUACUACUGGAGACACUGG +>hsa-miR-935 +CCAGUUACCGCUUCCGCUACCGC +>hsa-miR-936 +ACAGUAGAGGGAGGAAUCGCAG +>hsa-miR-937 +AUCCGCGCUCUGACUCUCUGCC +>hsa-miR-938 +UGCCCUUAAAGGUGAACCCAGU +>hsa-miR-939 +UGGGGAGCUGAGGCUCUGGGGGUG +>hsa-miR-940 +AAGGCAGGGCCCCCGCUCCCC +>hsa-miR-941 +CACCCGGCUGUGUGCACAUGUGC +>hsa-miR-942 +UCUUCUCUGUUUUGGCCAUGUG +>hsa-miR-943 +CUGACUGUUGCCGUCCUCCAG +>hsa-miR-944 +AAAUUAUUGUACAUCGGAUGAG +>hsa-miR-297 +AUGUAUGUGUGCAUGUGCAUG +>hsa-miR-1178 +UUGCUCACUGUUCUUCCCUAG +>hsa-miR-1179 +AAGCAUUCUUUCAUUGGUUGG +>hsa-miR-1180 +UUUCCGGCUCGCGUGGGUGUGU +>hsa-miR-1181 +CCGUCGCCGCCACCCGAGCCG +>hsa-miR-1182 +GAGGGUCUUGGGAGGGAUGUGAC +>hsa-miR-1183 +CACUGUAGGUGAUGGUGAGAGUGGGCA +>hsa-miR-1184 +CCUGCAGCGACUUGAUGGCUUCC +>hsa-miR-1225-5p +GUGGGUACGGCCCAGUGGGGGG +>hsa-miR-1225-3p +UGAGCCCCUGUGCCGCCCCCAG +>hsa-miR-1226 +UCACCAGCCCUGUGUUCCCUAG +>hsa-miR-1227 +CGUGCCACCCUUUUCCCCAG +>hsa-miR-1228 +UCACACCUGCCUCGCCCCCC +>hsa-miR-1229 +CUCUCACCACUGCCCUCCCACAG +>hsa-miR-1231 +GUGUCUGGGCGGACAGCUGC +>hsa-miR-1233 +UGAGCCCUGUCCUCCCGCAG +>hsa-miR-1234 +UCGGCCUGACCACCCACCCCAC +>hsa-miR-1236 +CCUCUUCCCCUUGUCUCUCCAG +>hsa-miR-1237 +UCCUUCUGCUCCGUCCCCCAG +>hsa-miR-1238 +CUUCCUCGUCUGUCUGCCCC +>hsa-miR-1200 +CUCCUGAGCCAUUCUGAGCCUC +>hsa-miR-1201 +AGCCUGAUUAAACACAUGCUCUGA +>hsa-miR-1202 +GUGCCAGCUGCAGUGGGGGAG +>hsa-miR-1203 +CCCGGAGCCAGGAUGCAGCUC +>hsa-miR-663b +GGUGGCCCGGCCGUGCCUGAGG +>hsa-miR-1204 +UCGUGGCCUGGUCUCCAUUAU +>hsa-miR-1205 +UCUGCAGGGUUUGCUUUGAG +>hsa-miR-1206 +UGUUCAUGUAGAUGUUUAAGC +>hsa-miR-1207-5p +UGGCAGGGAGGCUGGGAGGGG +>hsa-miR-1207-3p +UCAGCUGGCCCUCAUUUC +>hsa-miR-1208 +UCACUGUUCAGACAGGCGGA +>hsa-miR-548e +AAAAACUGAGACUACUUUUGCA +>hsa-miR-548j +AAAAGUAAUUGCGGUCUUUGGU +>hsa-miR-1285 +UCUGGGCAACAAAGUGAGACCU +>hsa-miR-1286 +UGCAGGACCAAGAUGAGCCCU +>hsa-miR-1287 +UGCUGGAUCAGUGGUUCGAGUC +>hsa-miR-1289 +UGGAGUCCAGGAAUCUGCAUUUU +>hsa-miR-1290 +UGGAUUUUUGGAUCAGGGA +>hsa-miR-1291 +UGGCCCUGACUGAAGACCAGCAGU +>hsa-miR-548k +AAAAGUACUUGCGGAUUUUGCU +>hsa-miR-1293 +UGGGUGGUCUGGAGAUUUGUGC +>hsa-miR-1294 +UGUGAGGUUGGCAUUGUUGUCU +>hsa-miR-1295 +UUAGGCCGCAGAUCUGGGUGA +>hsa-miR-1297 +UUCAAGUAAUUCAGGUG +>hsa-miR-1299 +UUCUGGAAUUCUGUGUGAGGGA +>hsa-miR-1300 +UUGAGAAGGAGGCUGCUG +>hsa-miR-548l +AAAAGUAUUUGCGGGUUUUGUC +>hsa-miR-1302 +UUGGGACAUACUUAUGCUAAA +>hsa-miR-1303 +UUUAGAGACGGGGUCUUGCUCU +>hsa-miR-1304 +UUUGAGGCUACAGUGAGAUGUG +>hsa-miR-1305 +UUUUCAACUCUAAUGGGAGAGA +>hsa-miR-1243 +AACUGGAUCAAUUAUAGGAGUG +>hsa-miR-548f +AAAAACUGUAAUUACUUUU +>hsa-miR-1244 +AAGUAGUUGGUUUGUAUGAGAUGGUU +>hsa-miR-1245 +AAGUGAUCUAAAGGCCUACAU +>hsa-miR-1246 +AAUGGAUUUUUGGAGCAGG +>hsa-miR-1247 +ACCCGUCCCGUUCGUCCCCGGA +>hsa-miR-1248 +ACCUUCUUGUAUAAGCACUGUGCUAAA +>hsa-miR-1249 +ACGCCCUUCCCCCCCUUCUUCA +>hsa-miR-1250 +ACGGUGCUGGAUGUGGCCUUU +>hsa-miR-1251 +ACUCUAGCUGCCAAAGGCGCU +>hsa-miR-1253 +AGAGAAGAAGAUCAGCCUGCA +>hsa-miR-1254 +AGCCUGGAAGCUGGAGCCUGCAGU +>hsa-miR-1255a +AGGAUGAGCAAAGAAAGUAGAUU +>hsa-miR-1256 +AGGCAUUGACUUCUCACUAGCU +>hsa-miR-1257 +AGUGAAUGAUGGGUUCUGACC +>hsa-miR-1258 +AGUUAGGAUUAGGUCGUGGAA +>hsa-miR-1259 +AUAUAUGAUGACUUAGCUUUU +>hsa-miR-1260 +AUCCCACCUCUGCCACCA +>hsa-miR-548g +AAAACUGUAAUUACUUUUGUAC +>hsa-miR-1261 +AUGGAUAAGGCUUUGGCUU +>hsa-miR-1262 +AUGGGUGAAUUUGUAGAAGGAU +>hsa-miR-1263 +AUGGUACCCUGGCAUACUGAGU +>hsa-miR-548n +CAAAAGUAAUUGUGGAUUUUGU +>hsa-miR-548m +CAAAGGUAUUUGUGGUUUUUG +>hsa-miR-1265 +CAGGAUGUGGUCAAGUGUUGUU +>hsa-miR-548o +CCAAAACUGCAGUUACUUUUGC +>hsa-miR-1266 +CCUCAGGGCUGUAGAACAGGGCU +>hsa-miR-1267 +CCUGUUGAAGUGUAAUCCCCA +>hsa-miR-1268 +CGGGCGUGGUGGUGGGGG +>hsa-miR-1269 +CUGGACUGAGCCGUGCUACUGG +>hsa-miR-1270 +CUGGAGAUAUGGAAGAGCUGUGU +>hsa-miR-1272 +GAUGAUGAUGGCAGCAAAUUCUGAAA +>hsa-miR-1273 +GGGCGACAAAGCAAGACUCUUUCUU +>hsa-miR-1274a +GUCCCUGUUCAGGCGCCA +>hsa-miR-548h +AAAAGUAAUCGCGGUUUUUGUC +>hsa-miR-1275 +GUGGGGGAGAGGCUGUC +>hsa-miR-1276 +UAAAGAGCCCUGUGGAGACA +>hsa-miR-302e +UAAGUGCUUCCAUGCUU +>hsa-miR-302f +UAAUUGCUUCCAUGUUU +>hsa-miR-1277 +UACGUAGAUAUAUAUGUAUUUU +>hsa-miR-548p +UAGCAAAAACUGCAGUUACUUU +>hsa-miR-548i +AAAAGUAAUUGCGGAUUUUGCC +>hsa-miR-1278 +UAGUACUGUGCAUAUCAUCUAU +>hsa-miR-1279 +UCAUAUUGCUUCUUUCU +>hsa-miR-1274b +UCCCUGUUCGGGCGCCA +>hsa-miR-1281 +UCGCCUCCUCCUCUCCC +>hsa-miR-1282 +UCGUUUGCCUUUUUCUGCUU +>hsa-miR-1284 +UCUAUACAGACCCUGGCUUUUC +>hsa-miR-1288 +UGGACUGCCCUGAUCUGGAGA +>hsa-miR-1292 +UGGGAACGGGUUCCGGCAGACGCUG +>hsa-miR-1252 +AGAAGGAAAUUGAAUUCAUUUA +>hsa-miR-1255b +CGGAUGAGCAAAGAAAGUGGUU +>hsa-miR-1280 +UCCCACCGCUGCCACCC +>hsa-miR-1308 +GCAUGGGUGGUUCAGUGG +>hsa-miR-664 +UAUUCAUUUAUCCCCAGCCUACA +>hsa-miR-1306 +ACGUUGGCUCUGGUGGUG +>hsa-miR-1307 +ACUCGGCGUGGCGUCGGUCGUG +>hsa-miR-513b +UUCACAAGGAGGUGUCAUUUAU +>hsa-miR-513c +UUCUCAAGGAGGUGUCGUUUAU +>hsa-miR-1321 +CAGGGAGGUGAAUGUGAU +>hsa-miR-1322 +GAUGAUGCUGCUGAUGCUG +>hsa-miR-720 +UCUCGCUGGGGCCUCCA +>hsa-miR-1197 +UAGGACACAUGGUCUACUUCU +>hsa-miR-1324 +CCAGACAGAAUUCUAUGCACUUUC +>hsa-miR-320d +AAAAGCUGGGUUGAGAGGA +>hsa-miR-1825 +UCCAGUGCCCUCCUCUCC +>hsa-miR-1826 +AUUGAUCAUCGACACUUCGAACGCAAU +>hsa-miR-1827 +UGAGGCAGUAGAUUGAAU diff --git a/modules/local/pita/templates/known_mirs/mouse_mirs.fasta b/modules/local/pita/templates/known_mirs/mouse_mirs.fasta new file mode 100644 index 00000000..c6c57b41 --- /dev/null +++ b/modules/local/pita/templates/known_mirs/mouse_mirs.fasta @@ -0,0 +1,982 @@ +>mmu-let-7g +UGAGGUAGUAGUUUGUACAGUU +>mmu-let-7i +UGAGGUAGUAGUUUGUGCUGUU +>mmu-miR-1 +UGGAAUGUAAAGAAGUAUGUAU +>mmu-miR-15b +UAGCAGCACAUCAUGGUUUACA +>mmu-miR-23b +AUCACAUUGCCAGGGAUUACC +>mmu-miR-27b +UUCACAGUGGCUAAGUUCUGC +>mmu-miR-29b +UAGCACCAUUUGAAAUCAGUGUU +>mmu-miR-30a +UGUAAACAUCCUCGACUGGAAG +>mmu-miR-30b +UGUAAACAUCCUACACUCAGCU +>mmu-miR-99a +AACCCGUAGAUCCGAUCUUGUG +>mmu-miR-99b +CACCCGUAGAACCGACCUUGCG +>mmu-miR-101a +UACAGUACUGUGAUAACUGAA +>mmu-miR-124 +UAAGGCACGCGGUGAAUGCC +>mmu-miR-125a-5p +UCCCUGAGACCCUUUAACCUGUGA +>mmu-miR-125a-3p +ACAGGUGAGGUUCUUGGGAGCC +>mmu-miR-125b-5p +UCCCUGAGACCCUAACUUGUGA +>mmu-miR-126-5p +CAUUAUUACUUUUGGUACGCG +>mmu-miR-126-3p +UCGUACCGUGAGUAAUAAUGCG +>mmu-miR-127 +UCGGAUCCGUCUGAGCUUGGCU +>mmu-miR-128 +UCACAGUGAACCGGUCUCUUU +>mmu-miR-130a +CAGUGCAAUGUUAAAAGGGCAU +>mmu-miR-9 +UCUUUGGUUAUCUAGCUGUAUGA +>mmu-miR-132 +UAACAGUCUACAGCCAUGGUCG +>mmu-miR-133a +UUUGGUCCCCUUCAACCAGCUG +>mmu-miR-134 +UGUGACUGGUUGACCAGAGGGG +>mmu-miR-135a +UAUGGCUUUUUAUUCCUAUGUGA +>mmu-miR-136 +ACUCCAUUUGUUUUGAUGAUGG +>mmu-miR-137 +UUAUUGCUUAAGAAUACGCGUAG +>mmu-miR-138 +AGCUGGUGUUGUGAAUCAGGCCG +>mmu-miR-140 +CAGUGGUUUUACCCUAUGGUAG +>mmu-miR-141 +UAACACUGUCUGGUAAAGAUGG +>mmu-miR-142-5p +CAUAAAGUAGAAAGCACUACU +>mmu-miR-142-3p +UGUAGUGUUUCCUACUUUAUGGA +>mmu-miR-144 +UACAGUAUAGAUGAUGUACU +>mmu-miR-145 +GUCCAGUUUUCCCAGGAAUCCCU +>mmu-miR-146a +UGAGAACUGAAUUCCAUGGGUU +>mmu-miR-149 +UCUGGCUCCGUGUCUUCACUCCC +>mmu-miR-150 +UCUCCCAACCCUUGUACCAGUG +>mmu-miR-151-5p +UCGAGGAGCUCACAGUCUAGU +>mmu-miR-151-3p +CUAGACUGAGGCUCCUUGAGG +>mmu-miR-152 +UCAGUGCAUGACAGAACUUGG +>mmu-miR-153 +UUGCAUAGUCACAAAAGUGAUC +>mmu-miR-154 +UAGGUUAUCCGUGUUGCCUUCG +>mmu-miR-155 +UUAAUGCUAAUUGUGAUAGGGGU +>mmu-miR-10b +UACCCUGUAGAACCGAAUUUGUG +>mmu-miR-129-5p +CUUUUUGCGGUCUGGGCUUGC +>mmu-miR-181a +AACAUUCAACGCUGUCGGUGAGU +>mmu-miR-182 +UUUGGCAAUGGUAGAACUCACACCG +>mmu-miR-183 +UAUGGCACUGGUAGAAUUCACU +>mmu-miR-184 +UGGACGGAGAACUGAUAAGGGU +>mmu-miR-185 +UGGAGAGAAAGGCAGUUCCUGA +>mmu-miR-186 +CAAAGAAUUCUCCUUUUGGGCU +>mmu-miR-187 +UCGUGUCUUGUGUUGCAGCCGG +>mmu-miR-188-5p +CAUCCCUUGCAUGGUGGAGGG +>mmu-miR-188-3p +CUCCCACAUGCAGGGUUUGCA +>mmu-miR-24 +UGGCUCAGUUCAGCAGGAACAG +>mmu-miR-190 +UGAUAUGUUUGAUAUAUUAGGU +>mmu-miR-191 +CAACGGAAUCCCAAAAGCAGCUG +>mmu-miR-193 +AACUGGCCUACAAAGUCCCAGU +>mmu-miR-194 +UGUAACAGCAACUCCAUGUGGA +>mmu-miR-195 +UAGCAGCACAGAAAUAUUGGC +>mmu-miR-199a-5p +CCCAGUGUUCAGACUACCUGUUC +>mmu-miR-199a-3p +ACAGUAGUCUGCACAUUGGUUA +>mmu-miR-200b +UAAUACUGCCUGGUAAUGAUGA +>mmu-miR-201 +UACUCAGUAAGGCAUUGUUCUU +>mmu-miR-202-5p +UUCCUAUGCAUAUACUUCUUU +>mmu-miR-202-3p +AGAGGUAUAGCGCAUGGGAAGA +>mmu-miR-203 +GUGAAAUGUUUAGGACCACUAG +>mmu-miR-204 +UUCCCUUUGUCAUCCUAUGCCU +>mmu-miR-205 +UCCUUCAUUCCACCGGAGUCUG +>mmu-miR-206 +UGGAAUGUAAGGAAGUGUGUGG +>mmu-miR-207 +GCUUCUCCUGGCUCUCCUCCCUC +>mmu-miR-122 +UGGAGUGUGACAAUGGUGUUUG +>mmu-miR-143 +UGAGAUGAAGCACUGUAGCUC +>mmu-miR-30e +UGUAAACAUCCUUGACUGGAAG +>mmu-miR-290-5p +ACUCAAACUAUGGGGGCACUUU +>mmu-miR-290-3p +AAAGUGCCGCCUAGUUUUAAGCCC +>mmu-miR-291a-5p +CAUCAAAGUGGAGGCCCUCUCU +>mmu-miR-291a-3p +AAAGUGCUUCCACUUUGUGUGC +>mmu-miR-292-5p +ACUCAAACUGGGGGCUCUUUUG +>mmu-miR-292-3p +AAAGUGCCGCCAGGUUUUGAGUGU +>mmu-miR-293 +AGUGCCGCAGAGUUUGUAGUGU +>mmu-miR-294 +AAAGUGCUUCCCUUUUGUGUGU +>mmu-miR-295 +AAAGUGCUACUACUUUUGAGUCU +>mmu-miR-296-5p +AGGGCCCCCCCUCAAUCCUGU +>mmu-miR-296-3p +GAGGGUUGGGUGGAGGCUCUCC +>mmu-miR-297a +AUGUAUGUGUGCAUGUGCAUGU +>mmu-miR-298 +GGCAGAGGAGGGCUGUUCUUCCC +>mmu-miR-299 +UAUGUGGGACGGUAAACCGCUU +>mmu-miR-300 +UAUGCAAGGGCAAGCUCUCUUC +>mmu-miR-301a +CAGUGCAAUAGUAUUGUCAAAGC +>mmu-miR-302a +UAAGUGCUUCCAUGUUUUGGUGA +>mmu-miR-34c +AGGCAGUGUAGUUAGCUGAUUGC +>mmu-miR-34b-5p +AGGCAGUGUAAUUAGCUGAUUGU +>mmu-miR-34b-3p +AAUCACUAACUCCACUGCCAUC +>mmu-let-7d +AGAGGUAGUAGGUUGCAUAGUU +>mmu-miR-106a +CAAAGUGCUAACAGUGCAGGUAG +>mmu-miR-106b +UAAAGUGCUGACAGUGCAGAU +>mmu-miR-130b +CAGUGCAAUGAUGAAAGGGCAU +>mmu-miR-19b +UGUGCAAAUCCAUGCAAAACUGA +>mmu-miR-30c +UGUAAACAUCCUACACUCUCAGC +>mmu-miR-30d +UGUAAACAUCCCCGACUGGAAG +>mmu-miR-148a +UCAGUGCACUACAGAACUUUGU +>mmu-miR-192 +CUGACCUAUGAAUUGACAGCC +>mmu-miR-196a +UAGGUAGUUUCAUGUUGUUGGG +>mmu-miR-200a +UAACACUGUCUGGUAACGAUGU +>mmu-miR-208a +AUAAGACGAGCAAAAAGCUUGU +>mmu-let-7a +UGAGGUAGUAGGUUGUAUAGUU +>mmu-let-7b +UGAGGUAGUAGGUUGUGUGGUU +>mmu-let-7c +UGAGGUAGUAGGUUGUAUGGUU +>mmu-let-7e +UGAGGUAGGAGGUUGUAUAGUU +>mmu-let-7f +UGAGGUAGUAGAUUGUAUAGUU +>mmu-miR-15a +UAGCAGCACAUAAUGGUUUGUG +>mmu-miR-16 +UAGCAGCACGUAAAUAUUGGCG +>mmu-miR-18a +UAAGGUGCAUCUAGUGCAGAUAG +>mmu-miR-20a +UAAAGUGCUUAUAGUGCAGGUAG +>mmu-miR-21 +UAGCUUAUCAGACUGAUGUUGA +>mmu-miR-22 +AAGCUGCCAGUUGAAGAACUGU +>mmu-miR-23a +AUCACAUUGCCAGGGAUUUCC +>mmu-miR-26a +UUCAAGUAAUCCAGGAUAGGCU +>mmu-miR-26b +UUCAAGUAAUUCAGGAUAGGU +>mmu-miR-29a +UAGCACCAUCUGAAAUCGGUUA +>mmu-miR-29c +UAGCACCAUUUGAAAUCGGUUA +>mmu-miR-27a +UUCACAGUGGCUAAGUUCCGC +>mmu-miR-31 +AGGCAAGAUGCUGGCAUAGCUG +>mmu-miR-92a +UAUUGCACUUGUCCCGGCCUG +>mmu-miR-93 +CAAAGUGCUGUUCGUGCAGGUAG +>mmu-miR-96 +UUUGGCACUAGCACAUUUUUGCU +>mmu-miR-34a +UGGCAGUGUCUUAGCUGGUUGU +>mmu-miR-129-3p +AAGCCCUUACCCCAAAAAGCAU +>mmu-miR-98 +UGAGGUAGUAAGUUGUAUUGUU +>mmu-miR-103 +AGCAGCAUUGUACAGGGCUAUGA +>mmu-miR-322 +CAGCAGCAAUUCAUGUUUUGGA +>mmu-miR-323-5p +AGGUGGUCCGUGGCGCGUUCGC +>mmu-miR-323-3p +CACAUUACACGGUCGACCUCU +>mmu-miR-324-5p +CGCAUCCCCUAGGGCAUUGGUGU +>mmu-miR-324-3p +CCACUGCCCCAGGUGCUGCU +>mmu-miR-325 +UUUAUUGAGCACCUCCUAUCAA +>mmu-miR-326 +CCUCUGGGCCCUUCCUCCAGU +>mmu-miR-328 +CUGGCCCUCUCUGCCCUUCCGU +>mmu-miR-329 +AACACACCCAGCUAACCUUUUU +>mmu-miR-330 +UCUCUGGGCCUGUGUCUUAGGC +>mmu-miR-331-5p +CUAGGUAUGGUCCCAGGGAUCC +>mmu-miR-331-3p +GCCCCUGGGCCUAUCCUAGAA +>mmu-miR-337-5p +GAACGGCGUCAUGCAGGAGUU +>mmu-miR-337-3p +UUCAGCUCCUAUAUGAUGCCU +>mmu-miR-148b +UCAGUGCAUCACAGAACUUUGU +>mmu-miR-338-5p +AACAAUAUCCUGGUGCUGAGUG +>mmu-miR-338-3p +UCCAGCAUCAGUGAUUUUGUUG +>mmu-miR-339-5p +UCCCUGUCCUCCAGGAGCUCACG +>mmu-miR-339-3p +UGAGCGCCUCGGCGACAGAGCCG +>mmu-miR-340-5p +UUAUAAAGCAAUGAGACUGAUU +>mmu-miR-340-3p +UCCGUCUCAGUUACUUUAUAGC +>mmu-miR-341 +UCGGUCGAUCGGUCGGUCGGU +>mmu-miR-342-5p +AGGGGUGCUAUCUGUGAUUGAG +>mmu-miR-342-3p +UCUCACACAGAAAUCGCACCCGU +>mmu-miR-344 +UGAUCUAGCCAAAGCCUGACUGU +>mmu-miR-345-5p +GCUGACCCCUAGUCCAGUGCUU +>mmu-miR-345-3p +CCUGAACUAGGGGUCUGGAGAC +>mmu-miR-346 +UGUCUGCCCGAGUGCCUGCCUCU +>mmu-miR-350 +UUCACAAAGCCCAUACACUUUC +>mmu-miR-351 +UCCCUGAGGAGCCCUUUGAGCCUG +>mmu-miR-135b +UAUGGCUUUUCAUUCCUAUGUGA +>mmu-miR-101b +UACAGUACUGUGAUAGCUGAA +>mmu-miR-107 +AGCAGCAUUGUACAGGGCUAUCA +>mmu-miR-10a +UACCCUGUAGAUCCGAAUUUGUG +>mmu-miR-17 +CAAAGUGCUUACAGUGCAGGUAG +>mmu-miR-19a +UGUGCAAAUCUAUGCAAAACUGA +>mmu-miR-25 +CAUUGCACUUGUCUCGGUCUGA +>mmu-miR-28 +AAGGAGCUCACAGUCUAUUGAG +>mmu-miR-32 +UAUUGCACAUUACUAAGUUGCA +>mmu-miR-100 +AACCCGUAGAUCCGAACUUGUG +>mmu-miR-139-5p +UCUACAGUGCACGUGUCUCCAG +>mmu-miR-139-3p +UGGAGACGCGGCCCUGUUGGAG +>mmu-miR-200c +UAAUACUGCCGGGUAAUGAUGGA +>mmu-miR-210 +CUGUGCGUGUGACAGCGGCUGA +>mmu-miR-212 +UAACAGUCUCCAGUCACGGCCA +>mmu-miR-214 +ACAGCAGGCACAGACAGGCAGU +>mmu-miR-216a +UAAUCUCAGCUGGCAACUGUGA +>mmu-miR-218 +UUGUGCUUGAUCUAACCAUGU +>mmu-miR-219 +UGAUUGUCCAAACGCAAUUCU +>mmu-miR-223 +UGUCAGUUUGUCAAAUACCCCA +>mmu-miR-320 +AAAAGCUGGGUUGAGAGGGCGA +>mmu-miR-33 +GUGCAUUGUAGUUGCAUUGCA +>mmu-miR-211 +UUCCCUUUGUCAUCCUUUGCCU +>mmu-miR-221 +AGCUACAUUGUCUGCUGGGUUUC +>mmu-miR-222 +AGCUACAUCUGGCUACUGGGU +>mmu-miR-224 +UAAGUCACUAGUGGUUCCGUU +>mmu-miR-199b +ACAGUAGUCUGCACAUUGGUUA +>mmu-miR-181b +AACAUUCAUUGCUGUCGGUGGGU +>mmu-miR-181c +AACAUUCAACCUGUCGGUGAGU +>mmu-miR-125b-3p +ACGGGUUAGGCUCUUGGGAGCU +>mmu-miR-7a +UGGAAGACUAGUGAUUUUGUUGU +>mmu-miR-7b +UGGAAGACUUGUGAUUUUGUUGU +>mmu-miR-217 +UACUGCAUCAGGAACUGACUGGA +>mmu-miR-361 +UUAUCAGAAUCUCCAGGGGUAC +>mmu-miR-362-5p +AAUCCUUGGAACCUAGGUGUGAAU +>mmu-miR-362-3p +AACACACCUGUUCAAGGAUUCA +>mmu-miR-363 +AAUUGCACGGUAUCCAUCUGUA +>mmu-miR-365 +UAAUGCCCCUAAAAAUCCUUAU +>mmu-miR-375 +UUUGUUCGUUCGGCUCGCGUGA +>mmu-miR-376a +AUCGUAGAGGAAAAUCCACGU +>mmu-miR-377 +AUCACACAAAGGCAACUUUUGU +>mmu-miR-378 +ACUGGACUUGGAGUCAGAAGG +>mmu-miR-379 +UGGUAGACUAUGGAACGUAGG +>mmu-miR-380-5p +AUGGUUGACCAUAGAACAUGCG +>mmu-miR-380-3p +UAUGUAGUAUGGUCCACAUCUU +>mmu-miR-381 +UAUACAAGGGCAAGCUCUCUGU +>mmu-miR-382 +GAAGUUGUUCGUGGUGGAUUCG +>mmu-miR-383 +AGAUCAGAAGGUGACUGUGGCU +>mmu-miR-335-5p +UCAAGAGCAAUAACGAAAAAUGU +>mmu-miR-335-3p +UUUUUCAUUAUUGCUCCUGACC +>mmu-miR-133b +UUUGGUCCCCUUCAACCAGCUA +>mmu-miR-215 +AUGACCUAUGAUUUGACAGAC +>mmu-miR-384-5p +UGUAAACAAUUCCUAGGCAAUGU +>mmu-miR-384-3p +AUUCCUAGAAAUUGUUCACAAU +>mmu-miR-196b +UAGGUAGUUUCCUGUUGUUGGG +>mmu-miR-409-5p +AGGUUACCCGAGCAACUUUGCAU +>mmu-miR-409-3p +GAAUGUUGCUCGGUGAACCCCU +>mmu-miR-410 +AAUAUAACACAGAUGGCCUGU +>mmu-miR-376b +AUCAUAGAGGAACAUCCACUU +>mmu-miR-411 +UAGUAGACCGUAUAGCGUACG +>mmu-miR-412 +UUCACCUGGUCCACUAGCCG +>mmu-miR-370 +GCCUGCUGGGGUGGAACCUGGU +>mmu-miR-425 +AAUGACACGAUCACUCCCGUUGA +>mmu-miR-431 +UGUCUUGCAGGCCGUCAUGCA +>mmu-miR-433 +AUCAUGAUGGGCUCCUCGGUGU +>mmu-miR-434-5p +GCUCGACUCAUGGUUUGAACCA +>mmu-miR-434-3p +UUUGAACCAUCACUCGACUCCU +>mmu-miR-448 +UUGCAUAUGUAGGAUGUCCCAU +>mmu-miR-429 +UAAUACUGUCUGGUAAUGCCGU +>mmu-miR-449a +UGGCAGUGUAUUGUUAGCUGGU +>mmu-miR-450a-5p +UUUUGCGAUGUGUUCCUAAUAU +>mmu-miR-451 +AAACCGUUACCAUUACUGAGUU +>mmu-miR-452 +UGUUUGCAGAGGAAACUGAGAC +>mmu-miR-463 +UGAUAGACACCAUAUAAGGUAG +>mmu-miR-464 +UACCAAGUUUAUUCUGUGAGAUA +>mmu-miR-465a-5p +UAUUUAGAAUGGCACUGAUGUGA +>mmu-miR-465a-3p +GAUCAGGGCCUUUCUAAGUAGA +>mmu-miR-466a-5p +UAUGUGUGUGUACAUGUACAUA +>mmu-miR-466a-3p +UAUACAUACACGCACACAUAAGA +>mmu-miR-467a +UAAGUGCCUGCAUGUAUAUGCG +>mmu-miR-468 +UAUGACUGAUGUGCGUGUGUCUG +>mmu-miR-469 +UGCCUCUUUCAUUGAUCUUGGUGUCC +>mmu-miR-470 +UUCUUGGACUGGCACUGGUGAGU +>mmu-miR-471 +UACGUAGUAUAGUGCUUUUCAC +>mmu-miR-532-5p +CAUGCCUUGAGUGUAGGACCGU +>mmu-miR-532-3p +CCUCCCACACCCAAGGCUUGCA +>mmu-miR-489 +AAUGACACCACAUAUAUGGCAGC +>mmu-miR-483 +AAGACGGGAGAAGAGAAGGGAG +>mmu-miR-484 +UCAGGCUCAGUCCCCUCCCGAU +>mmu-miR-485 +AGAGGCUGGCCGUGAUGAAUUC +>mmu-miR-486 +UCCUGUACUGAGCUGCCCCGAG +>mmu-miR-546 +AUGGUGGCACGGAGUC +>mmu-miR-540-5p +CAAGGGUCACCCUCUGACUCUGU +>mmu-miR-540-3p +AGGUCAGAGGUCGAUCCUGG +>mmu-miR-543 +AAACAUUCGCGGUGCACUUCUU +>mmu-miR-539 +GGAGAAAUUAUCCUUGGUGUGU +>mmu-miR-541 +AAGGGAUUCUGAUGUUGGUCACACU +>mmu-miR-542-5p +CUCGGGGAUCAUCAUGUCACGA +>mmu-miR-542-3p +UGUGACAGAUUGAUAACUGAAA +>mmu-miR-547 +CUUGGUACAUCUUUGAGUGAG +>mmu-miR-367 +AAUUGCACUUUAGCAAUGGUGA +>mmu-miR-494 +UGAAACAUACACGGGAAACCUC +>mmu-miR-376c +AACAUAGAGGAAAUUUCACGU +>mmu-miR-487b +AAUCGUACAGGGUCAUCCACUU +>mmu-miR-369-5p +AGAUCGACCGUGUUAUAUUCGC +>mmu-miR-369-3p +AAUAAUACAUGGUUGAUCUUU +>mmu-miR-20b +CAAAGUGCUCAUAGUGCAGGUAG +>mmu-miR-450a-3p +AUUGGGGAUGCUUUGCAUUCAU +>mmu-miR-503 +UAGCAGCGGGAACAGUACUGCAG +>mmu-miR-291b-5p +GAUCAAAGUGGAGGCCCUCUCC +>mmu-miR-291b-3p +AAAGUGCAUCCAUUUUGUUUGU +>mmu-miR-302b +UAAGUGCUUCCAUGUUUUAGUAG +>mmu-miR-302c +AAGUGCUUCCAUGUUUCAGUGG +>mmu-miR-302d +UAAGUGCUUCCAUGUUUGAGUGU +>mmu-miR-1224 +GUGAGGACUGGGGAGGUGGAG +>mmu-miR-301b +CAGUGCAAUGGUAUUGUCAAAGC +>mmu-miR-675-5p +UGGUGCGGAAAGGGCCCACAGU +>mmu-miR-675-3p +CUGUAUGCCCUAACCGCUCAGU +>mmu-miR-744 +UGCGGGGCUAGGGCUAACAGCA +>mmu-miR-374 +AUAUAAUACAACCUGCUAAGUG +>mmu-miR-216b +AAAUCUCUGCAGGCAAAUGUGA +>mmu-miR-592 +AUUGUGUCAAUAUGCGAUGAUGU +>mmu-miR-758 +UUUGUGACCUGGUCCACUA +>mmu-miR-551b +GCGACCCAUACUUGGUUUCAG +>mmu-miR-671-5p +AGGAAGCCCUGGAGGGGCUGGAG +>mmu-miR-671-3p +UCCGGUUCUCAGGGCUCCACC +>mmu-miR-668 +UGUCACUCGGCUCGGCCCACUACC +>mmu-miR-665 +ACCAGGAGGCUGAGGUCCCU +>mmu-miR-667 +UGACACCUGCCACCCAGCCCAAG +>mmu-miR-770-5p +AGCACCACGUGUCUGGGCCACG +>mmu-miR-770-3p +CGUGGGCCUGACGUGGAGCUGG +>mmu-miR-762 +GGGGCUGGGGCCGGGACAGAGC +>mmu-miR-802 +UCAGUAACAAAGAUUCAUCCUU +>mmu-miR-672 +UGAGGUUGGUGUACUGUGUGUGA +>mmu-miR-670 +AUCCCUGAGUGUAUGUGGUGAA +>mmu-miR-761 +GCAGCAGGGUGAAACUGACACA +>mmu-miR-764-5p +GGUGCUCACAUGUCCUCCU +>mmu-miR-764-3p +AGGAGGCCAUAGUGGCAACUGU +>mmu-miR-763 +CCAGCUGGGAAGAACCAGUGGC +>mmu-miR-669a +AGUUGUGUGUGCAUGUUCAUGU +>mmu-miR-666-5p +AGCGGGCACAGCUGUGAGAGCC +>mmu-miR-666-3p +GGCUGCAGCGUGAUCGCCUGCU +>mmu-miR-759 +GCAGAGUGCAAACAAUUUUGAC +>mmu-miR-496 +UGAGUAUUACAUGGCCAAUCUC +>mmu-miR-673-5p +CUCACAGCUCUGGUCCUUGGAG +>mmu-miR-673-3p +UCCGGGGCUGAGUUCUGUGCACC +>mmu-miR-760 +CGGCUCUGGGUCUGUGGGGA +>mmu-miR-674 +GCACUGAGAUGGGAGUGGUGUA +>mmu-miR-488 +UUGAAAGGCUGUUUCUUGGUC +>mmu-miR-677 +UUCAGUGAUGAUUAGCUUCUGA +>mmu-miR-678 +GUCUCGGUGCAAGGACUGGAGG +>mmu-miR-497 +CAGCAGCACACUGUGGUUUGUA +>mmu-miR-423-5p +UGAGGGGCAGAGAGCGAGACUUU +>mmu-miR-423-3p +AGCUCGGUCUGAGGCCCCUCAGU +>mmu-miR-679 +GGACUGUGAGGUGACUCUUGGU +>mmu-miR-495 +AAACAAACAUGGUGCACUUCUU +>mmu-miR-680 +GGGCAUCUGCUGACAUGGGGG +>mmu-miR-681 +CAGCCUCGCUGGCAGGCAGCU +>mmu-miR-682 +CUGCAGUCACAGUGAAGUCUG +>mmu-miR-449c +AGGCAGUGCAUUGCUAGCUGG +>mmu-miR-683 +CCUGCUGUAAGCUGUGUCCUC +>mmu-miR-684 +AGUUUUCCCUUCAAGUCAA +>mmu-miR-685 +UCAAUGGCUGAGGUGAGGCAC +>mmu-miR-686 +AUUGCUUCCCAGACGGUGAAGA +>mmu-miR-719 +AUCUCGGCUACAGAAAAAUGUU +>mmu-miR-687 +CUAUCCUGGAAUGCAGCAAUGA +>mmu-miR-688 +UCGCAGGCGACUACUUAUUC +>mmu-miR-689 +CGUCCCCGCUCGGCGGGGUCC +>mmu-miR-690 +AAAGGCUAGGCUCACAACCAAA +>mmu-miR-691 +AUUCCUGAAGAGAGGCAGAAAA +>mmu-miR-692 +AUCUCUUUGAGCGCCUCACUC +>mmu-miR-693-5p +CAGCCACAUCCGAAAGUUUUC +>mmu-miR-693-3p +GCAGCUUUCAGAUGUGGCUGUAA +>mmu-miR-694 +CUGAAAAUGUUGCCUGAAG +>mmu-miR-146b +UGAGAACUGAAUUCCAUAGGCU +>mmu-miR-669b +AGUUUUGUGUGCAUGUGCAUGU +>mmu-miR-467b +GUAAGUGCCUGCAUGUAUAUG +>mmu-miR-669c +AUAGUUGUGUGUGGAUGUGUGU +>mmu-miR-297b-5p +AUGUAUGUGUGCAUGAACAUGU +>mmu-miR-297b-3p +UAUACAUACACACAUACCCAUA +>mmu-miR-695 +AGAUUGGGCAUAGGUGACUGAA +>mmu-miR-499 +UUAAGACUUGCAGUGAUGUUU +>mmu-miR-696 +GCGUGUGCUUGCUGUGGG +>mmu-miR-720 +AUCUCGCUGGGGCCUCCA +>mmu-miR-455 +GCAGUCCACGGGCAUAUACAC +>mmu-miR-491 +AGUGGGGAACCCUUCCAUGAGG +>mmu-miR-697 +AACAUCCUGGUCCUGUGGAGA +>mmu-miR-698 +CAUUCUCGUUUCCUUCCCU +>mmu-miR-699 +AGGCAGUGCGACCUGGCUCG +>mmu-miR-700 +CACGCGGGAACCGAGUCCACC +>mmu-miR-701 +UUAGCCGCUGAAAUAGAUGGA +>mmu-miR-702 +UGCCCACCCUUUACCCCGCUC +>mmu-miR-703 +AAAACCUUCAGAAGGAAAGAA +>mmu-miR-704 +AGACAUGUGCUCUGCUCCUAG +>mmu-miR-705 +GGUGGGAGGUGGGGUGGGCA +>mmu-miR-706 +AGAGAAACCCUGUCUCAAAAAA +>mmu-miR-707 +CAGUCAUGCCGCUUGCCUACG +>mmu-miR-708 +AAGGAGCUUACAAUCUAGCUGGG +>mmu-miR-709 +GGAGGCAGAGGCAGGAGGA +>mmu-miR-710 +CCAAGUCUUGGGGAGAGUUGAG +>mmu-miR-711 +GGGACCCGGGGAGAGAUGUAAG +>mmu-miR-712 +CUCCUUCACCCGGGCGGUACC +>mmu-miR-713 +UGCACUGAAGGCACACAGC +>mmu-miR-714 +CGACGAGGGCCGGUCGGUCGC +>mmu-miR-715 +CUCCGUGCACACCCCCGCGUG +>mmu-miR-500 +AAUGCACCUGGGCAAGGGUUCA +>mmu-miR-501-5p +AAUCCUUUGUCCCUGGGUGAAA +>mmu-miR-501-3p +AAUGCACCCGGGCAAGGAUUUG +>mmu-miR-717 +CUCAGACAGAGAUACCUUCUCU +>mmu-miR-450b-5p +UUUUGCAGUAUGUUCCUGAAUA +>mmu-miR-450b-3p +AUUGGGAACAUUUUGCAUGCAU +>mmu-miR-505 +CGUCAACACUUGCUGGUUUUCU +>mmu-miR-718 +CUUCCGCCCGGCCGGGUGUCG +>mmu-miR-721 +CAGUGCAAUUAAAAGGGGGAA +>mmu-miR-652 +AAUGGCGCCACUAGGGUUGUG +>mmu-miR-490 +CAACCUGGAGGACUCCAUGCUG +>mmu-miR-676 +CCGUCCUGAGGUUGUUGAGCU +>mmu-miR-615-5p +GGGGGUCCCCGGUGCUCGGAUC +>mmu-miR-615-3p +UCCGAGCCUGGGUCUCCCUCUU +>mmu-miR-804 +UGUGAGUUGUUCCUCACCUGGA +>mmu-miR-805 +GAAUUGAUCAGGACAUAGGG +>mmu-miR-741 +UGAGAGAUGCCAUUCUAUGUAGA +>mmu-miR-742 +GAAAGCCACCAUGCUGGGUAAA +>mmu-miR-743a +GAAAGACACCAAGCUGAGUAGA +>mmu-miR-181d +AACAUUCAUUGUUGUCGGUGGGU +>mmu-miR-743b-5p +UGUUCAGACUGGUGUCCAUCA +>mmu-miR-743b-3p +GAAAGACAUCAUGCUGAAUAGA +>mmu-miR-871 +UAUUCAGAUUAGUGCCAGUCAUG +>mmu-miR-879 +AGAGGCUUAUAGCUCUAAGCC +>mmu-miR-880 +UACUCCAUCCUCUCUGAGUAGA +>mmu-miR-881 +AACUGUGUCUUUUCUGAAUAGA +>mmu-miR-882 +AGGAGAGAGUUAGCGCAUUAGU +>mmu-miR-883a-5p +UGCUGAGAGAAGUAGCAGUUAC +>mmu-miR-883a-3p +UAACUGCAACAGCUCUCAGUAU +>mmu-miR-883b-5p +UACUGAGAAUGGGUAGCAGUCA +>mmu-miR-883b-3p +UAACUGCAACAUCUCUCAGUAU +>mmu-miR-190b +UGAUAUGUUUGAUAUUGGGUU +>mmu-miR-874 +CUGCCCUGGCCCGAGGGACCGA +>mmu-miR-876-5p +UGGAUUUCUCUGUGAAUCACUA +>mmu-miR-876-3p +UAGUGGUUUACAAAGUAAUUCA +>mmu-miR-105 +CCAAGUGCUCAGAUGCUUGUGGU +>mmu-miR-147 +GUGUGCGGAAAUGCUUCUGCUA +>mmu-miR-18b +UAAGGUGCAUCUAGUGCUGUUAG +>mmu-miR-193b +AACUGGCCCACAAAGUCCCGCU +>mmu-miR-197 +UUCACCACCUUCUCCACCCAGC +>mmu-miR-220 +CCACCACAGUGUCAGACACUU +>mmu-miR-297c +AUGUAUGUGUGCAUGUACAUGU +>mmu-miR-327 +ACUUGAGGGGCAUGAGGAU +>mmu-miR-343 +UCUCCCUUCAUGUGCCCAGA +>mmu-miR-421 +AUCAACAGACAUUAAUUGGGCGC +>mmu-miR-453 +AGGUUGCCUCAUAGUGAGCUUGCA +>mmu-miR-465b-5p +UAUUUAGAAUGGUGCUGAUCUG +>mmu-miR-465b-3p +GAUCAGGGCCUUUCUAAGUAGA +>mmu-miR-465c-5p +UAUUUAGAAUGGCGCUGAUCUG +>mmu-miR-465c-3p +GAUCAGGGCCUUUCUAAGUAGA +>mmu-miR-466b-5p +GAUGUGUGUGUACAUGUACAUG +>mmu-miR-466b-3p +UAUACAUACACGCACACAUAAGA +>mmu-miR-466b-3-3p +AAUACAUACACGCACACAUAAGA +>mmu-miR-466c-5p +GAUGUGUGUGUGCAUGUACAUA +>mmu-miR-466c-3p +UAUACAUACACGCACACAUAAGA +>mmu-miR-466e-5p +GAUGUGUGUGUACAUGUACAUA +>mmu-miR-466e-3p +UAUACAUACACGCACACAUAAGA +>mmu-miR-466f-5p +UACGUGUGUGUGCAUGUGCAUG +>mmu-miR-466f-3p +CAUACACACACACAUACACAC +>mmu-miR-466g +AUACAGACACAUGCACACACA +>mmu-miR-466h +UGUGUGCAUGUGCUUGUGUGUA +>mmu-miR-467c +UAAGUGCGUGCAUGUAUAUGUG +>mmu-miR-467d +UAAGUGCGCGCAUGUAUAUGCG +>mmu-miR-493 +UGAAGGUCCUACUGUGUGCCAGG +>mmu-miR-504 +AGACCCUGGUCUGCACUCUAUC +>mmu-miR-509-5p +UACUCCAGAAUGUGGCAAUCAU +>mmu-miR-509-3p +UGAUUGACAUUUCUGUAAUGG +>mmu-miR-568 +AUGUAUAAAUGUAUACACAC +>mmu-miR-574-5p +UGAGUGUGUGUGUGUGAGUGUGU +>mmu-miR-574-3p +CACGCUCAUGCACACACCCACA +>mmu-miR-590-5p +GAGCUUAUUCAUAAAAGUGCAG +>mmu-miR-590-3p +UAAUUUUAUGUAUAAGCUAGU +>mmu-miR-654-5p +UGGUAAGCUGCAGAACAUGUGU +>mmu-miR-654-3p +UAUGUCUGCUGACCAUCACCUU +>mmu-miR-92b +UAUUGCACUCGUCCCGGCCUCC +>mmu-miR-466d-5p +UGUGUGUGCGUACAUGUACAUG +>mmu-miR-466d-3p +UAUACAUACACGCACACAUAG +>mmu-miR-449b +AGGCAGUGUUGUUAGCUGGC +>mmu-miR-878-5p +UAUCUAGUUGGAUGUCAAGACA +>mmu-miR-878-3p +GCAUGACACCACACUGGGUAGA +>mmu-miR-872 +AAGGUUACUUGUUAGUUCAGG +>mmu-miR-873 +GCAGGAACUUGUGAGUCUCCU +>mmu-miR-875-5p +UAUACCUCAGUUUUAUCAGGUG +>mmu-miR-875-3p +CCUGAAAAUACUGAGGCUAUG +>mmu-miR-208b +AUAAGACGAACAAAAGGUUUGU +>mmu-miR-877 +GUAGAGGAGAUGGCGCAGGG +>mmu-miR-511 +AUGCCUUUUGCUCUGCACUCA +>mmu-miR-544 +AUUCUGCAUUUUUAGCAAGCUC +>mmu-miR-598 +UACGUCAUCGUCGUCAUCGUUA +>mmu-miR-653 +GUGUUGAAACAAUCUCUACUG +>mmu-miR-582-5p +UACAGUUGUUCAACCAGUUACU +>mmu-miR-582-3p +CCUGUUGAACAACUGAACCCAA +>mmu-miR-467e +AUAAGUGUGAGCAUGUAUAUGU +>mmu-miR-466l +UAUAAAUACAUGCACACAUAUU +>mmu-miR-669k +UAUGCAUAUACACGCAUGCAA +>mmu-miR-669g +UGCAUUGUAUGUGUUGACAUGAU +>mmu-miR-669d +ACUUGUGUGUGCAUGUAUAUGU +>mmu-miR-466i +AUACACACACACAUACACACUA +>mmu-miR-1-2-as +UACAUACUUCUUUACAUUCCA +>mmu-miR-1186 +GAGUGCUGGAAUUAAAGGCAUG +>mmu-miR-1187 +UAUGUGUGUGUGUAUGUGUGUAA +>mmu-miR-669j +UGCAUAUACUCACAUGCAAACA +>mmu-miR-669f +CAUAUACAUACACACACACGUAU +>mmu-miR-669i +UGCAUAUACACACAUGCAUAC +>mmu-miR-669h-5p +AUGCAUGGGUGUAUAGUUGAGUGC +>mmu-miR-669h-3p +UAUGCAUAUACACACAUGCACA +>mmu-miR-1188 +UGGUGUGAGGUUGGGCCAGGA +>mmu-miR-466f +ACGUGUGUGUGCAUGUGCAUGU +>mmu-miR-466k +UGUGUGUGUACAUGUACAUGUGA +>mmu-miR-467f +AUAUACACACACACACCUACA +>mmu-miR-1190 +UCAGCUGAGGUUCCCCUCUGUC +>mmu-miR-466j +UGUGUGCAUGUGCAUGUGUGUAA +>mmu-miR-1191 +CAGUCUUACUAUGUAGCCCUA +>mmu-miR-1192 +AAACAAACAAACAGACCAAAUU +>mmu-miR-1193 +UAGGUCACCCGUUUUACUAUC +>mmu-miR-1194 +GAAUGAGUAACUGCUAGAUCCU +>mmu-miR-669e +UGUCUUGUGUGUGCAUGUUCAU +>mmu-miR-467g +UAUACAUACACACACAUAUAU +>mmu-miR-467h +AUAAGUGUGUGCAUGUAUAUGU +>mmu-miR-1195 +UGAGUUCGAGGCCAGCCUGCUCA +>mmu-miR-1196 +AAAUCUACCUGCCUCUGCCU +>mmu-miR-1197 +UAGGACACAUGGUCUACUUCU +>mmu-miR-1198 +UAUGUGUUCCUGGCUGGCUUGG +>mmu-miR-1199 +UCUGAGUCCCGGUCGCGCGG diff --git a/modules/local/pita/templates/known_mirs/worm_mirs.fasta b/modules/local/pita/templates/known_mirs/worm_mirs.fasta new file mode 100644 index 00000000..1e70dc83 --- /dev/null +++ b/modules/local/pita/templates/known_mirs/worm_mirs.fasta @@ -0,0 +1,308 @@ +>cel-let-7 +UGAGGUAGUAGGUUGUAUAGUU +>cel-lin-4 +UCCCUGAGACCUCAAGUGUGA +>cel-miR-1 +UGGAAUGUAAAGAAGUAUGUA +>cel-miR-2 +UAUCACAGCCAGCUUUGAUGUGC +>cel-miR-34 +AGGCAGUGUGGUUAGCUGGUUG +>cel-miR-35 +UCACCGGGUGGAAACUAGCAGU +>cel-miR-36 +UCACCGGGUGAAAAUUCGCAUG +>cel-miR-37 +UCACCGGGUGAACACUUGCAGU +>cel-miR-38 +UCACCGGGAGAAAAACUGGAGU +>cel-miR-39 +UCACCGGGUGUAAAUCAGCUUG +>cel-miR-40 +UCACCGGGUGUACAUCAGCUAA +>cel-miR-41 +UCACCGGGUGAAAAAUCACCUA +>cel-miR-42 +UCACCGGGUUAACAUCUACAGA +>cel-miR-43 +UAUCACAGUUUACUUGCUGUCGC +>cel-miR-44 +UGACUAGAGACACAUUCAGCU +>cel-miR-45 +UGACUAGAGACACAUUCAGCU +>cel-miR-46 +UGUCAUGGAGUCGCUCUCUUCA +>cel-miR-47 +UGUCAUGGAGGCGCUCUCUUCA +>cel-miR-48 +UGAGGUAGGCUCAGUAGAUGCGA +>cel-miR-49 +AAGCACCACGAGAAGCUGCAGA +>cel-miR-50 +UGAUAUGUCUGGUAUUCUUGGG +>cel-miR-51 +UACCCGUAGCUCCUAUCCAUGUU +>cel-miR-52 +CACCCGUACAUAUGUUUCCGUGCU +>cel-miR-53 +CACCCGUACAUUUGUUUCCGUGCU +>cel-miR-54 +UACCCGUAAUCUUCAUAAUCCGAG +>cel-miR-55 +UACCCGUAUAAGUUUCUGCUGAG +>cel-miR-56 +UACCCGUAAUGUUUCCGCUGAG +>cel-miR-57 +UACCCUGUAGAUCGAGCUGUGUGU +>cel-miR-58 +UGAGAUCGUUCAGUACGGCAAU +>cel-miR-59 +UCGAAUCGUUUAUCAGGAUGAUG +>cel-miR-60 +UAUUAUGCACAUUUUCUAGUUCA +>cel-miR-61 +UGACUAGAACCGUUACUCAUC +>cel-miR-62 +UGAUAUGUAAUCUAGCUUACAG +>cel-miR-63 +UAUGACACUGAAGCGAGUUGGAAA +>cel-miR-64 +UAUGACACUGAAGCGUUACCGAA +>cel-miR-65 +UAUGACACUGAAGCGUAACCGAA +>cel-miR-66 +CAUGACACUGAUUAGGGAUGUGA +>cel-miR-67 +UCACAACCUCCUAGAAAGAGUAGA +>cel-miR-70 +UAAUACGUCGUUGGUGUUUCCAU +>cel-miR-71 +UGAAAGACAUGGGUAGUGA +>cel-miR-72 +AGGCAAGAUGUUGGCAUAGCUGA +>cel-miR-73 +UGGCAAGAUGUAGGCAGUUCAGU +>cel-miR-74 +UGGCAAGAAAUGGCAGUCUACA +>cel-miR-75 +UUAAAGCUACCAACCGGCUUCA +>cel-miR-76 +UUCGUUGUUGAUGAAGCCUUGA +>cel-miR-77 +UUCAUCAGGCCAUAGCUGUCCA +>cel-miR-78 +UGGAGGCCUGGUUGUUUGUGC +>cel-miR-79 +AUAAAGCUAGGUUACCAAAGCU +>cel-miR-227 +AGCUUUCGACAUGAUUCUGAAC +>cel-miR-80 +UGAGAUCAUUAGUUGAAAGCCGA +>cel-miR-81 +UGAGAUCAUCGUGAAAGCUAGU +>cel-miR-82 +UGAGAUCAUCGUGAAAGCCAGU +>cel-miR-83 +UAGCACCAUAUAAAUUCAGUAA +>cel-miR-84 +UGAGGUAGUAUGUAAUAUUGUA +>cel-miR-85 +UACAAAGUAUUUGAAAAGUCGUGC +>cel-miR-86 +UAAGUGAAUGCUUUGCCACAGUC +>cel-miR-87 +GUGAGCAAAGUUUCAGGUGUGC +>cel-miR-90 +UGAUAUGUUGUUUGAAUGCCCCU +>cel-miR-124 +UAAGGCACGCGGUGAAUGCCA +>cel-miR-228 +AAUGGCACUGCAUGAAUUCACGG +>cel-miR-229 +AAUGACACUGGUUAUCUUUUCCAUCG +>cel-miR-230 +GUAUUAGUUGUGCGACCAGGAGA +>cel-miR-231 +UAAGCUCGUGAUCAACAGGCAGAA +>cel-miR-232 +UAAAUGCAUCUUAACUGCGGUGA +>cel-miR-233 +UUGAGCAAUGCGCAUGUGCGG +>cel-miR-234 +UUAUUGCUCGAGAAUACCCUU +>cel-miR-235 +UAUUGCACUCUCCCCGGCCUGA +>cel-miR-236 +UAAUACUGUCAGGUAAUGACGCU +>cel-miR-237 +UCCCUGAGAAUUCUCGAACAGCU +>cel-miR-238 +UUUGUACUCCGAUGCCAUUCAGA +>cel-miR-239a +UUUGUACUACACAUAGGUACUGG +>cel-miR-239b +UUUGUACUACACAAAAGUACUG +>cel-miR-240 +UACUGGCCCCCAAAUCUUCGCU +>cel-miR-241 +UGAGGUAGGUGCGAGAAAUGA +>cel-miR-242 +UUGCGUAGGCCUUUGCUUCGA +>cel-miR-243 +CGGUACGAUCGCGGCGGGAUAUC +>cel-miR-244 +UCUUUGGUUGUACAAAGUGGUAUG +>cel-miR-245 +AUUGGUCCCCUCCAAGUAGCUC +>cel-miR-246 +UUACAUGUUUCGGGUAGGAGC +>cel-miR-247 +UGACUAGAGCCUAUUCUCUUCU +>cel-miR-248 +AUACACGUGCACGGAUAACGCUCA +>cel-miR-249 +UCACAGGACUUUUGAGCGUUGCC +>cel-miR-250 +AAUCACAGUCAACUGUUGGCA +>cel-miR-251 +UUAAGUAGUGGUGCCGCUCUUAUU +>cel-miR-252 +AUAAGUAGUAGUGCCGCAGGUAA +>cel-miR-253 +UUAGUAGGCGUUGUGGGAAGG +>cel-miR-254 +UGCAAAUCUUUCGCGACUGUAGG +>cel-miR-255 +AAACUGAAGAGAUUUUUUACAG +>cel-miR-256 +UGGAAUGCAUAGAAGACUGUA +>cel-miR-257 +GAGUAUCAGGAGUACCCAGUGA +>cel-miR-258 +GGUUUUGAGAGGAAUCCUUUU +>cel-miR-259 +AAAUCUCAUCCUAAUCUGGUAGCA +>cel-miR-260 +GUGAUGUCGAACUCUUGUAG +>cel-miR-261 +UAGCUUUUUAGUUUUCACG +>cel-miR-262 +GUUUCUCGAUGUUUUCUGAU +>cel-miR-264 +GGCGGGUGGUUGUUGUUAUG +>cel-miR-265 +UGAGGGAGGAAGGGUGGUAU +>cel-miR-266 +AGGCAAGACUUUGGCAAAGC +>cel-miR-267 +CCCGUGAAGUGUCUGCUGCA +>cel-miR-268 +GGCAAGAAUUAGAAGCAGUUUGGU +>cel-miR-269 +GGCAAGACUCUGGCAAAACU +>cel-miR-270 +GGCAUGAUGUAGCAGUGGAG +>cel-miR-271 +UCGCCGGGUGGGAAAGCAUU +>cel-miR-272 +UGUAGGCAUGGGUGUUUG +>cel-miR-273 +UGCCCGUACUGUGUCGGCUG +>cel-miR-353 +CAAUUGCCAUGUGUUGGUAUU +>cel-miR-354 +ACCUUGUUUGUUGCUGCUCCU +>cel-miR-355 +UUUGUUUUAGCCUGAGCUAUG +>cel-miR-356 +UUGAGCAACGCGAACAAAUCA +>cel-miR-357 +UAAAUGCCAGUCGUUGCAGGAGU +>cel-miR-358 +AUUGGUAUCCCUGUCAAGGUC +>cel-miR-359 +UCACUGGUCUUUCUCUGACGAA +>cel-miR-360 +UGACCGUAAUCCCGUUCACAA +>cel-lsy-6 +UUUUGUAUGAGACGCAUUUCG +>cel-miR-392 +UAUCAUCGAUCACGUGUGAUGA +>cel-miR-784 +UGGCACAAUCUGCGUACGUAGA +>cel-miR-785 +UAAGUGAAUUGUUUUGUGUAGA +>cel-miR-786 +UAAUGCCCUGAAUGAUGUUCAAU +>cel-miR-787 +UAAGCUCGUUUUAGUAUCUUUCG +>cel-miR-788 +UCCGCUUCUAACUUCCAUUUGCAG +>cel-miR-789 +UCCCUGCCUGGGUCACCAAUUGU +>cel-miR-790 +CUUGGCACUCGCGAACACCGCG +>cel-miR-791 +UUUGGCACUCCGCAGAUAAGGCA +>cel-miR-792 +UUGAAAUCUCUUCAACUUUCAGA +>cel-miR-793 +UGAGGUAUCUUAGUUAGACAGA +>cel-miR-794 +UGAGGUAAUCAUCGUUGUCACU +>cel-miR-795 +UGAGGUAGAUUGAUCAGCGAGCUU +>cel-miR-796 +UGGAAUGUAGUUGAGGUUAGUAA +>cel-miR-797 +UAUCACAGCAAUCACAAUGAGAAGA +>cel-miR-798 +UAAGCCUUACAUAUUGACUGA +>cel-miR-799 +UGAACCCUGAUAAAGCUAGUGG +>cel-miR-800 +CAAACUCGGAAAUUGUCUGCCG +>cel-miR-1018 +AGAGAGAUCAUUGGACUUACAG +>cel-miR-1019 +CUGUAAUUCCACAUUGCUUUCCAG +>cel-miR-1020 +AUUAUUCUGUGACACUUUCAG +>cel-miR-1021 +AAGUGAGAUCAUGUGAAAUCCUCGG +>cel-miR-1022 +AAGAUCAUUGUUAGGACGCCAUC +>cel-miR-1817 +UAGCCAAUGUCUUCUCUAUCAUG +>cel-miR-1818 +UGUGGUCUUCAUGCCAUGAUUUU +>cel-miR-1819 +UGGAAUGAUUGAGCUUGAUGGA +>cel-miR-1820 +UUUUGAUUGUUUUUCGAUGAUGUUC +>cel-miR-1821 +UGAGGUCUUAUAGUUAGGUAG +>cel-miR-1822 +GAGCUGCCCUCAGAAAAACUCU +>cel-miR-1823 +UACUGGAAGUGUUUAGGAGUAA +>cel-miR-1824 +UGGCAGUGUUUCUCCCCCAACUU +>cel-miR-1828 +ACUGGAAGCAUUUAAGUGAUAGU +>cel-miR-1829a +CAACCAUUGGAAUUUCUCUAUU +>cel-miR-1829b +AAGCGAUCUUCUAGAUGGUUGUA +>cel-miR-1829c +AAGCGAAAUUCAAGAUGGUUGUA +>cel-miR-1830 +CGAGGUUUCACGUUUUCUAGGC +>cel-miR-1831 +ACCUGGCUGGGGGUAUCUCGUG +>cel-miR-1832 +UGGGCGGAGCGAAUCGAUGAU +>cel-miR-1833 +CGAGGCUUGCGAAAUAAGUGUGC +>cel-miR-1834 +AGAGAUCAACCAUUGAGAUCCAA diff --git a/modules/local/pita/templates/lib/RNAddG_compute.pl b/modules/local/pita/templates/lib/RNAddG_compute.pl new file mode 100755 index 00000000..451874d2 --- /dev/null +++ b/modules/local/pita/templates/lib/RNAddG_compute.pl @@ -0,0 +1,336 @@ +#!/usr/bin/perl + +use strict; +use List::Util qw[shuffle min max]; + +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/load_args.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/sequence_helpers.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/format_number.pl"; + +my $RNAHYBRID_EXE_DIR = "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/Bin/RNAHybrid/RNAhybrid-2.1/src"; +my $RNAddG_EXE_DIR = "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/"; + + +if ($ARGV[0] eq "--help") +{ + print STDOUT ; + exit; +} + +my $file_ref; +my $file = $ARGV[0]; +if (length($file) < 1 or $file =~ /^-/) +{ + $file_ref = \*STDIN; +} +else +{ + open(FILE, $file) or die("Could not open file '$file'.\n"); + $file_ref = \*FILE; +} + +my %args = load_args(\@ARGV); + +my $ddG_area = get_arg("ddgarea", "70", \%args); +my $FULL_TL = get_arg("tl", "50", \%args); +my $DDG_OPEN = get_arg("dgtl", "25", \%args); +my $include_3max = get_arg("3max", 0, \%args); +my $include_ddG_v4 = get_arg("ddG_v4", 0, \%args); +my $components = get_arg("components", "", \%args); + +my $upstream_rest = get_arg("upstream_rest", 0, \%args); +my $downstream_rest = get_arg("downstream_rest", 0, \%args); +my $no_force = get_arg("noforce", 0, \%args); + +# Step over all Locations ########################################################### + +my $done = 0; +my $bunch_size = 1000; + +while (!$done) +{ + my @dGduplexesInputArray = (); + my @ddGInputArray = (); + my @headerInputArray = (); + my $record; + + for (my $nlines=0; $nlines < $bunch_size; $nlines++) + { + if (!($record = <$file_ref>)) + { + $done = 1; + last; + } + + chomp ($record); + my @row = split(/\t/, $record); + my $endpos = $row[2]; + my $miRNA = $row[8]; + my $utr = $row[11]; + my $force_binding_i =""; + my $force_binding_j =""; + + if (!$no_force) + { + # $force_binding = "-i $row[9] -j $row[10]"; + $force_binding_i = $row[9]; + $force_binding_j = $row[10]; + } + + # Calculate begining of target but make sure we're still in the UTR + + my $startpos = max ($endpos - $FULL_TL + 1, 1); + + my $maxtargetLen = $endpos - $startpos + 1; + my $target = substr ($utr, $startpos - 1, $maxtargetLen); + my $real_start = max ($endpos - $DDG_OPEN + 1, 1); + + push (@headerInputArray, join ("\t", splice(@row, 0, 8))); + push (@dGduplexesInputArray, join ("\t", $miRNA, $target, $force_binding_i, $force_binding_j)); + push (@ddGInputArray, join ("\t", $miRNA, $utr, $real_start, $endpos, $upstream_rest, $downstream_rest, $ddG_area)); + } + + my $arraySize = @headerInputArray; + + print STDERR "\nComputing $arraySize results: "; + + my @dGduplexesOutputArray = &getdGduplexes (@dGduplexesInputArray); + my @ddGOutputArray = &getddG (@ddGInputArray); + + for (my $i=0; $i < $arraySize; $i++) + { + my ($target_length, $dGall, $dG5, $dG3) = split (/\t/, $dGduplexesOutputArray[$i]); + my ($ddGall, $dG0, $dG1) = split (/\t/, $ddGOutputArray[$i]); + + $ddGall = $dGall + ($dG1 - $dG0); + + my $ddG_v4 = 0; + my $dG3max = 0; + my $dG3ratio = 0; + + print $headerInputArray[$i] . "\t$target_length\t$dGall\t$dG5\t$dG3\t$ddGall\t$dG0\t$dG1\t$ddG_v4\t$dG3max\t$dG3ratio\n"; + } +} + +print STDERR " Done.\n"; +# system ("rm tmp_seqfile1 tmp_seqfile2"); + + +################################################################################ + +sub getdGduplexes { + + my @inArray = @_; + my @outArray = (); + + open (SEQFILE, ">tmp_seqfile1") or die ("Could not open temporary sequence file.\n"); + + my $insize = @inArray; + + foreach my $oneTarget (@inArray) + { + (my $miRNA, my $target, my $force_binding_i, my $force_binding_j) = split (/\t/, $oneTarget); + print SEQFILE "$miRNA\n$target\n$force_binding_i\n$force_binding_j\n"; + } + + close (SEQFILE); + + + # Call RNAduplex and extract result dGs and length + + my $cmd = "$RNAddG_EXE_DIR/RNAduplex -5 0 < tmp_seqfile1"; + print STDERR "Calling RNAduplex with " . @inArray . " targets... "; + + my $result_of_cmd = `$cmd`; + + my @resArray = split (/\n/, $result_of_cmd); + + my $outsize = @resArray; + + if ($insize ne $outsize) + { + die "RNAduplex failure. Result was $result_of_cmd\n"; + } + + foreach my $resline (@resArray) + { + my ($ret_structure, $ret_start_miR, $ret_end_miR, $ret_start_target, $ret_end_target, $ret_miR_len, $ret_target_len, $ret_dGall, $ret_dG5, $ret_dG3) = split (/\t/, $resline); + push (@outArray, join ("\t", $ret_target_len, $ret_dGall, $ret_dG5, $ret_dG3)); + } + + return @outArray; +} + + +################################################################################ + +sub getddG { + + my @inArray = @_; + my @outArray = (); + my $upstream_rest; + my @seq_area; + + open (SEQFILE, ">tmp_seqfile2") or die ("Could not open temporary sequence file.\n"); + + foreach my $oneTarget (@inArray) + { + (my $miRNA, my $utr, my $startpos, my $endpos, $upstream_rest, my $downstream_rest, my $ddG_area) = split (/\t/, $oneTarget); + + # Extract area around sequence + @seq_area = &extract_sequence ($startpos, $endpos, $downstream_rest + $ddG_area, $upstream_rest + $ddG_area, $utr); + + print SEQFILE "$seq_area[2]\n"; + } + + close (SEQFILE); + + if ($upstream_rest != "0") + { + $upstream_rest =~ s/^0*//; # Because we're gonna call C with this argument and sscanf is problematic with leading zeros + } + + my $seq = $seq_area[2]; + my $bindStart = $seq_area[0]; + my $bindEnd = $seq_area[1]; + + my $target_len = $bindEnd - $bindStart + 1 + $downstream_rest; + + my $cmd = "$RNAddG_EXE_DIR/RNAddG4 -u $upstream_rest -s $bindEnd -f $target_len -t $target_len < tmp_seqfile2"; + + print STDERR "Calling RNAddG with " . @inArray . " targets... "; + + my @resArray = split (/\n/, `$cmd`); + + foreach my $resline (@resArray) + { + my @ddG_values = split (/\t/, $resline); + push (@outArray, join ("\t", $ddG_values[6], $ddG_values[3], $ddG_values[4])); + } + + return @outArray; +} + +################################################################################ + +sub extract_sequence { + + my $start_location = $_[0]; + my $end_location = $_[1]; + my $cur_us = $_[2]; + my $cur_ds = $_[3]; + my $sequence = $_[4]; + + #QQQ print STDERR "start = $start_location, end=$end_location; cur_us=$cur_us; cur_ds=$cur_ds\n"; + + my $us_start = $start_location > $cur_us ? $start_location - $cur_us : 1; + my $ds_end = $end_location + $cur_ds < length($sequence) ? $end_location + $cur_ds : length($sequence); + my $actual_start = $start_location - $us_start + 1; + + my $string = substr($sequence, $us_start - 1, ($ds_end - $us_start) + 1); + + my $actual_end = $actual_start + abs($end_location - $start_location); + + my @result = ($actual_start, $actual_end, $string); + + #QQQ print STDERR "string=$string length=" . length($string) . "\n"; + + return @result; +} + +# +# ################################################################################ +# +# sub getdG { +# +# print "getdG OBSOLETE. Please use getdGduplex.\n"; exit; +# +# my ($miRNA, $miR_start, $miR_len, $target, $target_start, $target_len) = @_ ; +# +# # Build miR and target substrings +# +# my $submiR = substr ($miRNA, $miR_start-1, $miR_len); +# my $subtarget = reverse (substr (reverse($target), $target_start-1, $target_len)); +# +# # Call RNAHybrid and extract result dG +# +# my $prog_line = "$RNAHYBRID_EXE_DIR/RNAhybrid -c -s 3utr_fly -b 1 $subtarget $submiR"; +# my @prog_result = split (/\n/, `$prog_line`); +# if (@prog_result != 1) +# { +# print STDERR "Cound not hybrid.\n"; +# print STDERR "Program call was: $prog_line\n"; +# print STDERR "Result was: " . join ("\n", @prog_result); +# exit; +# } +# +# +# #QQQ print STDERR "Program call was: $prog_line\n"; +# +# my @result = split (/:/, $prog_result[0]); +# my $dG = $result[4]; +# +# return $dG; +# } +# +# ################################################################################ +# +# sub getdGduplex { +# +# print "getdGduplex OBSOLETE. Please use getdGduplexes.\n"; exit; +# +# my ($miRNA, $miR_start, $miR_len, $target, $target_start, $target_len) = @_ ; +# +# # Build miR and target substrings +# +# my $submiR = substr ($miRNA, $miR_start-1, $miR_len); +# my $subtarget = reverse (substr (reverse($target), $target_start-1, $target_len)); +# +# # Call RNAduplex and extract result dG +# +# open (SEQFILE, ">tmp_seqfile1") or die ("Could not open temporary sequence file.\n"); +# print SEQFILE "$subtarget\n$submiR\n"; +# close (SEQFILE); +# +# print STDERR "\nCalling duplex with subtarget=$subtarget; submiR=$submiR\n"; +# +# my $resline = `$RNAddG_EXE_DIR/RNAduplex < tmp_seqfile1`; +# chomp ($resline); +# +# print STDERR "Result is: $resline\n"; +# +# $resline =~ m/ \((.*)\)/; +# return $1; +# } + + +__DATA__ + +/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/RNAddG_compute.pl + + Compute the dG energies of potential target sites whose seed is given in the external + tab file. + + Output consists of the input ID, followed by the following: + + Type miRNA coordinates Target coordinates + ==== ================= ================== + target_length + dG all nt 1 and up nt 1-FULL_TL + dG 5' nt 1-9 computed + dG 3' nt 10 and up computed + dG0 + dG1 + ddG_v4 + dG 3' max nt 10 and up Reverse complement of + miRNA bases 10 and up + dG 3' ratio + + -tl : Maximal target length (default: 50) + -dgtl : Target length when opening for ddG calculation (default: 25) + -ddgarea : Area upstream and downstream around target to fold (default: 70) + -no3max: Do not compute 3' max value and ratio (saves time) + -components : Print the components of the ddG calculation into the given file. + + + diff --git a/modules/local/pita/templates/lib/add_column.pl b/modules/local/pita/templates/lib/add_column.pl new file mode 100755 index 00000000..219cb933 --- /dev/null +++ b/modules/local/pita/templates/lib/add_column.pl @@ -0,0 +1,276 @@ +#!/usr/bin/perl + +use strict; + +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/load_args.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/libfile.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/format_number.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/sequence_helpers.pl"; + +if ($ARGV[0] eq "--help") +{ + print STDOUT ; + exit; +} + +my $file_ref; +my $file = $ARGV[0]; +if (length($file) < 1 or $file =~ /^-/) +{ + $file_ref = \*STDIN; +} +else +{ + open(FILE, $file) or die("Could not open file '$file'.\n"); + $file_ref = \*FILE; +} + +my %args = load_args(\@ARGV); + +my $beginning = get_arg("b", 0, \%args); +my $column_location = get_arg("c", -1, \%args); +my $start_counter = get_arg("n", 0, \%args); +my $column_string = get_arg("s", "", \%args); +my $empty_string = get_arg("e", 0, \%args); +my $divide_columns_string = get_arg("d", "", \%args); +my $multiply_columns_string = get_arg("m", "", \%args); +my $subtract_columns_string = get_arg("u", "", \%args); +my $add_columns_string = get_arg("a", "", \%args); +my $min_columns_string = get_arg("min", "", \%args); +my $max_columns_string = get_arg("max", "", \%args); +my $count_columns_string = get_arg("count", "", \%args); +my $average_columns_string = get_arg("ave", "", \%args); +my $qauntile_range_string = get_arg("quant", "0,1", \%args); +my $concat_columns_string = get_arg("cat","", \%args); + +my $add_file = get_arg("f", "", \%args); +my $significant_nums = get_arg("sn", "2", \%args); + +$column_string =~ s/\"//g; + +my @divide_columns = split(/\,/, $divide_columns_string); +my @concat_columns = split(/\,/, $concat_columns_string); +my @multiply_columns = &ParseRanges($multiply_columns_string); +my @subtract_columns = split(/\,/, $subtract_columns_string); +my @add_columns = &ParseRanges($add_columns_string); +my @min_columns = &ParseRanges($min_columns_string); +my @max_columns = &ParseRanges($max_columns_string); +my @count_columns = &ParseRanges($count_columns_string); +my @average_columns = &ParseRanges($average_columns_string); +my @qauntile_range = split(/\,/, $qauntile_range_string); + +my @columns; +if (length($add_file) > 0) +{ + open(FILE, "<$add_file"); + while() + { + chomp; + + push(@columns, $_); + } +} + +my $row_counter = 0; +while (<$file_ref>) +{ + chomp; + + my $str = ""; + if (length($add_file) > 0) { $str = $columns[$row_counter]; } + elsif (length($column_string) > 0) { $str = $column_string; } + elsif ( $empty_string ) { $str = ""; } + elsif (length($divide_columns_string) > 0) + { + my @row = split(/\t/); + + $str = (length($row[$divide_columns[0]]) > 0 and length($row[$divide_columns[1]]) > 0 and $row[$divide_columns[1]] != 0) ? &format_number($row[$divide_columns[0]] / $row[$divide_columns[1]], $significant_nums) : ""; + } + elsif (length($concat_columns_string) > 0) +{ + my @row = split(/\t/); + $str=""; + for(my $k=0; $k < @concat_columns; $k++) + { + $str = $str . $row[$concat_columns[$k]]; + } +} + + elsif (length($multiply_columns_string) > 0) + { + my @row = split(/\t/); + $str = 1; + my $not_all_empty = 0; + for(my $k=0; $k < @multiply_columns; $k++) + { + if (length($row[$multiply_columns[$k]]) > 0) + { + $not_all_empty = 1; + $str = $str * $row[$multiply_columns[$k]]; + } + } + $str = ($not_all_empty == 1) ? &format_number($str, $significant_nums) : ""; + } + elsif (length($subtract_columns_string) > 0) + { + my @row = split(/\t/); + + $str = (length($row[$subtract_columns[0]]) > 0 and length($row[$subtract_columns[1]]) > 0) ? &format_number($row[$subtract_columns[0]] - $row[$subtract_columns[1]], $significant_nums) : ""; + } + elsif (length($add_columns_string) > 0) + { + my @row = split(/\t/); + $str = 0; + my $not_all_empty = 0; + for(my $k=0; $k < @add_columns; $k++) + { + if (length($add_columns[$k]) > 0) + { + $not_all_empty = 1; + $str = $str + $row[$add_columns[$k]]; + } + } + $str = ($not_all_empty == 1) ? &format_number($str, $significant_nums) : ""; + } + elsif (length($min_columns_string) > 0) + { + my @row = split(/\t/); + + $str = 100000000000000000; + my $not_all_empty = 0; + + for(my $k=0; $k < @min_columns; $k++) + { + if (length($row[$min_columns[$k]]) > 0) + { + $not_all_empty = 1; + $str = ($str < $row[$min_columns[$k]]) ? $str : $row[$min_columns[$k]]; + } + } + $str = ($not_all_empty == 1) ? &format_number($str, $significant_nums) : ""; + } + elsif (length($max_columns_string) > 0) + { + my @row = split(/\t/); + + $str = -100000000000000000; + my $not_all_empty = 0; + + for(my $k=0; $k < @max_columns; $k++) + { + if (length($row[$max_columns[$k]]) > 0) + { + $not_all_empty = 1; + $str = ($str > $row[$max_columns[$k]]) ? $str : $row[$max_columns[$k]]; + } + } + $str = ($not_all_empty == 1) ? &format_number($str, $significant_nums) : ""; + } + elsif (length($count_columns_string) > 0) + { + my @row = split(/\t/); + + $str = 0; + + for(my $k=0; $k < @count_columns; $k++) + { + if (length($row[$count_columns[$k]]) > 0) + { + $str = $str + 1; + } + } + } + elsif (length($average_columns_string) > 0) + { + my @row = split(/\t/); + + $str = ""; + my $not_all_empty = 0; + my @tmp_list = (); + + for(my $k=0; $k < @average_columns; $k++) + { + if (length($row[$average_columns[$k]]) > 0) + { + $not_all_empty = 1; + push(@tmp_list,$row[$average_columns[$k]]); + } + } + + if ($not_all_empty == 1) + { + if (($qauntile_range[0] > 0) or ($qauntile_range[1] < 1)) + { + @tmp_list = sort {$a <=> $b} @tmp_list; + } + my $first = int($qauntile_range[0] * @tmp_list); + $first = ($first < 0) ? 0 : $first; + my $last = int($qauntile_range[1] * @tmp_list); + $last = ($last > (@tmp_list - 1)) ? (@tmp_list - 1) : $last; + $first = ($first > $last) ? $last : $first; + + if (($last >= $first) and ($last < @tmp_list)) + { + $str = 0; + for (my $k = $first; $k <= $last; $k++) + { + $str = $str + $tmp_list[$k]; + } + $str = $str / ($last - $first +1); + } + } + $str = (($not_all_empty == 1) and (length($str) > 0)) ? &format_number($str, $significant_nums) : ""; + } + elsif ($start_counter == 1) { $str = $row_counter; } + + if ($column_location != -1) + { + my @row = split(/\t/); + + for (my $i = 0; $i < @row; $i++) + { + if ($i == $column_location) + { + if ($i == 0) { print "$str\t"; } + else { print "\t$str"; } + } + + if ($i > 0) { print "\t"; } + + print "$row[$i]"; + } + print "\n"; + } + elsif ($beginning == 1) { print "$str\t$_\n"; } + else { print "$_\t$str\n"; } + + $row_counter++; +} + +__DATA__ + +/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/add_column.pl + + Adds a column to each of the lines of a file. + Operations on more than two columns can be specified using the ',-' notation (e.g., 1,4-6,23 means columns 1,4,5,6,23) + + -b: add the column as the first in the file (default: add at the end) + -c : add the column before column number + -e: add an empty column. + -n add a column counter, starting at num. + -s add a column with the specified string + -d add a column which is the value of column1 / column2 + -u add a column which is the value of column1 - column2 + -cat add a column which is the value of column1 . column2 . ... . columnk + -m add a column which is the value of column1 * column2 *..* columnk + -a add a column which is the value of column1 + column2 +..+ columnk + -min add a column which is the value of min(column1,column2,..,columnk) + -max add a column which is the value of max(column1,column2,..,columnk) + -count add a column which is the count of non empty entries over column1,column2,..,columnk. + -ave add a column which is the value of average(column1,column2,..,columnk) !! + -quant the quantile range of values on which to perform the operation (default: 0,1) + !! currently works only with -ave !! + e.g., to compute a trimmed mean in quantiles range 0.1 to 0.8 use: -ave c1,..,ck -quant 0.1,0.8 + -f : add the column from the specified file + -sn : The significant numbers to print (default: 2). + diff --git a/modules/local/pita/templates/lib/average_rows.pl b/modules/local/pita/templates/lib/average_rows.pl new file mode 100755 index 00000000..024d0fcb --- /dev/null +++ b/modules/local/pita/templates/lib/average_rows.pl @@ -0,0 +1,316 @@ +#!/usr/bin/perl + +use strict; + +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/load_args.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/format_number.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/libstats.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/vector_ops.pl"; + +if ($ARGV[0] eq "--help") +{ + print STDOUT ; + exit; +} + +my $file_ref; +my $file = $ARGV[0]; +if (length($file) < 1 or $file =~ /^-/) +{ + $file_ref = \*STDIN; +} +else +{ + open(FILE, $file) or die("Could not open file '$file'.\n"); + $file_ref = \*FILE; +} + +my %args = load_args(\@ARGV); + +my $source_key_str = get_arg("k", 0, \%args); +my $print_num_averaged_rows = get_arg("n", 0, \%args); +my $skip_num = get_arg("skip", 0, \%args); +my $min = get_arg("min", "", \%args); +my $max = get_arg("max", "", \%args); +my $take_max = get_arg("take_max", "", \%args); +my $take_min = get_arg("take_min", "", \%args); +my $take_true_med = get_arg("take_true_med", "", \%args); +my $take_sum = get_arg("take_sum", "", \%args); +my $take_last = get_arg("take_last", 0, \%args); +my $take_first = get_arg("take_first", -1, \%args); +my $precision = get_arg("precision", 3, \%args); +my $std = get_arg("std", "", \%args); +my $losoe = get_arg("losoe", "", \%args); +my $list = get_arg("list", "", \%args); +my $size = get_arg("size", 0, \%args); +my $delim = get_arg("delim", "\t", \%args); +my $weights_col = get_arg("w", -1, \%args); + + +my @source_key = split(/\,/, $source_key_str); +my %source_key_hash; +foreach my $key (@source_key) +{ + $source_key_hash{$key} = "1"; +} + +my %key2id; +my %occurences_by_id; +my $key_counter = 0; +my @averaged_data; +my @averaged_counts; +my @row_counts; +my $max_columns = 0; + +for (my $i = 0; $i < $skip_num; $i++) { my $line = <$file_ref>; print "$line"; } + +while(<$file_ref>) +{ + chomp; + + my @row = split(/\t/); + + if (@row > $max_columns) { $max_columns = @row; } + + my $key = &GetKey(\@row); + my $id = $key2id{$key}; + if (length($id) == 0) + { + $id = $key_counter++; + $key2id{$key} = $id; + #$averaged_data[$id][0] = $key; + } + + if ($take_first != -1) + { + my $occurences = $occurences_by_id{$id}; + + if (length($occurences) == 0 or $occurences < $take_first) + { + print "$_\n"; + + $occurences_by_id{$id} = $occurences + 1; + } + } + else + { + for (my $i = 0; $i < @row; $i++) + { + if (length($row[$i]) > 0 and length($source_key_hash{$i}) == 0) + { + if (length($min) > 0 and $row[$i] < $min) { $row[$i] = $min; } + if (length($max) > 0 and $row[$i] > $max) { $row[$i] = $max; } + + if ($take_max == 1) + { + if (length($averaged_data[$id][$i]) == 0 or $averaged_data[$id][$i] < $row[$i]) + { + $averaged_data[$id][$i] = $row[$i]; + } + } + elsif ($take_min == 1) + { + if (length($averaged_data[$id][$i]) == 0 or $averaged_data[$id][$i] > $row[$i]) + { + $averaged_data[$id][$i] = $row[$i]; + } + } + elsif ($take_last == 1) + { + $averaged_data[$id][$i] = $row[$i]; + } + elsif ($take_sum == 1) + { + if (length($averaged_data[$id][$i]) == 0) + { + $averaged_data[$id][$i] = $row[$i]; + } + else + { + $averaged_data[$id][$i] += $row[$i]; + } + } + elsif ($losoe == 1) + { + if (length($averaged_counts[$id][$i]) == 0) + { + $averaged_counts[$id][$i] = 0; + } + $averaged_data[$id][$i][$averaged_counts[$id][$i]] = $row[$i]; + + } + elsif ($std == 1) + { + if (length($averaged_counts[$id][$i]) == 0) + { + $averaged_counts[$id][$i] = 0; + } + $averaged_data[$id][$i][$averaged_counts[$id][$i]] = $row[$i]; + } + elsif ($list == 1) + { + if (length($averaged_counts[$id][$i]) == 0) + { + $averaged_counts[$id][$i] = 0; + } + $averaged_data[$id][$i][$averaged_counts[$id][$i]] = $row[$i]; + + } + elsif ($take_true_med == 1) + { + if (length($averaged_counts[$id][$i]) == 0) + { + $averaged_counts[$id][$i] = 0; + } + $averaged_data[$id][$i][$averaged_counts[$id][$i]] = $row[$i]; + } + elsif ($weights_col > -1){ + $averaged_data[$id][$i] += $row[$i]*$row[$weights_col]; + } + else + { + $averaged_data[$id][$i] += $row[$i]; + } + + if($weights_col > -1){ + $averaged_counts[$id][$i]+=$row[$weights_col] ; + } + else{ + $averaged_counts[$id][$i]++; + } + $row_counts[$id][$i]++; + } + elsif (length($source_key_hash{$i}) > 0) + { + $averaged_data[$id][$i] = $row[$i]; + } + } + } +} + +if ($take_first == -1) +{ + for (my $i = 0; $i < $key_counter; $i++) + { + if ($print_num_averaged_rows == 1) + { + my $max = 0; + for (my $j = 1; $j < $max_columns; $j++) + { + if (length($row_counts[$i][$j]) > 0 and $row_counts[$i][$j] > $max) + { + $max = $row_counts[$i][$j]; + } + } + print "$max\t"; + } + + #print "$averaged_data[$i][0]\t"; + + for (my $j = 0; $j < $max_columns; $j++) + { + if ($j > 0) { print "\t"; } + + if (length($source_key_hash{$j}) == 0) + { + if ($take_max == 1) + { + print &format_number($averaged_data[$i][$j], $precision); + } + elsif ($take_min == 1) + { + print &format_number($averaged_data[$i][$j], $precision); + } + elsif ($take_sum == 1) + { + print &format_number($averaged_data[$i][$j], $precision); + } + elsif ($take_last == 1) + { + print $averaged_data[$i][$j]; + } + elsif ($losoe == 1) + { + #for(my $k=0; $k<$averaged_counts[$i][$j]; $k++) + #{ + #print $averaged_data[$i][$j][$k].", "; + #} + print LogOfSumOfExps($averaged_data[$i][$j]); + } + elsif ($std == 1) + { + print &format_number(&vec_std($averaged_data[$i][$j]), $precision); + } + elsif ($list == 1) + { + my @arr = @{$averaged_data[$i][$j]}; + if ( ($size == 0) || ($size > length (@arr)) ) + { + print join($delim, @arr); + } + else + { + print join($delim, @arr[0..($size-1)]); + } + } + elsif ($take_true_med == 1) + { + print &format_number(&vec_true_median($averaged_data[$i][$j]), $precision); + } + elsif (length($averaged_counts[$i][$j]) > 0 and $averaged_counts[$i][$j]>0) + { + print &format_number($averaged_data[$i][$j] / $averaged_counts[$i][$j], $precision); + } + + } + else + { + print $averaged_data[$i][$j]; + } + } + + print "\n"; + } +} + +sub GetKey (\@) +{ + my ($row_str) = @_; + + my @row = @{$row_str}; + + my $res = $row[$source_key[0]]; + + for (my $i = 1; $i < @source_key; $i++) + { + $res .= "\t$row[$source_key[$i]]"; + } + + return $res; +} + +__DATA__ + +/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/average_rows.pl + + Average rows in that have the same key + + -k : Column of the key (default is 0) + NOTE: an index of multiple keys may be specified with commas (e.g., -k 1,4,5) + -n: Add the number of rows that went into the averaging + -skip : Skip num rows in the source file and just print them (default: 0) + -min : Values below num are converted to num + -max : Values above num are converted to num + -precision : Precision of the numbers printed (default: 3 digits) + -take_max: Instead of taking average for same key, take max + -take_min: Instead of taking average for same key, take min + -take_sum: Instead of taking average for same key, take sum of values + -take_true_med: Instead of taking average for same key, take the true median (if number of items is even, average two middle ones) + -take_last: Instead of taking average for same key, take last occurence + -take_first : Instead of taking average for same key, take first occurences + -losoe: calculate Log Of Sum Of Exps for every key + -std: calculate standard deviation for every key + -list: outputs for each key the list of values (comma seperated) + -size : if -list is used, print only the first on the list (default: print all) + -delim : if -list is used, print the list using as delimiter (default is tab) + -w : calculate weighted average using column as weights diff --git a/modules/local/pita/templates/lib/body.pl b/modules/local/pita/templates/lib/body.pl new file mode 100755 index 00000000..dcdc494a --- /dev/null +++ b/modules/local/pita/templates/lib/body.pl @@ -0,0 +1,155 @@ +#!/usr/bin/perl + +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/libfile.pl"; + +use strict; + +my $beg = undef; +my $end = undef; +my $count_blanks = 1; +my $quiet = 0; +my @skip_lines; +my @select_lines; +my $fin = \*STDIN; +my $fraction=0; +while(@ARGV) +{ + my $arg = shift @ARGV; + if($arg eq '--help') + { + print STDOUT ; + exit(0); + } + elsif($arg eq '-f') + { + $fraction = 1; + } + elsif($arg eq '-b') + { + $count_blanks = 0; + } + elsif(not(defined($beg))) + { + $beg = $fraction?$arg:int($arg); + } + elsif(not(defined($end))) + { + $end = $fraction?$arg:int($arg); + } + elsif($arg eq '-skip') + { + my $lines_str = shift @ARGV; + @skip_lines = sort {$a <=> $b} parseRanges($lines_str); + } + elsif($arg eq '-select') + { + my $lines_str = shift @ARGV; + @select_lines = sort {$a <=> $b} parseRanges($lines_str); + } + elsif($arg eq '-quiet') + { + $quiet = 1; + } + elsif(-f $arg or -l $arg) + { + open($fin, $arg) or die("Could not open file '$arg'"); + } + else + { + die("/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/body.pl: Bad argument '$arg' given. Use --help for help."); + } +} + +if(not(defined($beg))) +{ + $beg = 1; +} + +if(not(defined($end))) +{ + $end = -1; +} + +my $num_lines = undef; +my $tmp_file = undef; +if($end < -1 or ($beg<1 and $beg>0) or ($end>-1 and $end<0) or ($end<1 and $end>0)) +{ + $tmp_file = 'tmp_' . time . '.' . rand() . './nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/body.pl'; + open(TMP, ">$tmp_file") or die("Could not open temporary file '$tmp_file' for writing"); + while(<$fin>) + { print TMP; } + close(TMP); + + my $wc = `wc -l $tmp_file`; + my @tuple = split(/\s+/,$wc); + $num_lines = $tuple[0]; + print STDERR "The file has $num_lines number of lines.\n" unless ( $quiet ); + + open($fin, "<$tmp_file") or die("Could not open the temporary file '$tmp_file' for reading"); + +} + +my $line = 0; +my $skip_counter = 0; +my $select_counter = 0; +if(defined($num_lines)){ + if ($end<-1){ + $end=$num_lines + $end + 1; + } + if (($end>-1 and $end<0)){ + $end = $num_lines + sprintf("%.f",$end*$num_lines); + } + if (($end<1 and $end>0)){ + $end = sprintf("%.f",$end*$num_lines); + } + if ($beg<1 and $beg>0){ + $beg = sprintf("%.f",$beg*$num_lines) + 1; + } +} +while(<$fin>) +{ + if($count_blanks or /\S/) + { + $line++; + if (@skip_lines >= $skip_counter and $line == $skip_lines[$skip_counter]) + { + $skip_counter++; + next; + } + if (@select_lines>0 and $line != $select_lines[$select_counter]) + { + next; + } + $select_counter++; + + + if($line >= $beg and ($end == -1 or $line <= $end)) + { + print; + } + } +} + +if(defined($tmp_file)) +{ + system("rm -f $tmp_file"); +} + +exit(0); + +__DATA__ +Syntax: /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/body.pl BEG END < FILE + +BEG, END are the beginning and end lines (inclusive) to select from +the file. If END=-1 then the rest of the file is included for example BEG=2 END=-1 +returns the whole file except the first row. + +OPTIONS are: + +-b: Do *not* include blank lines when counting (default counts them). +-skip : Exclude line numbers n1,n2... +-select : Select line numbers n1,n2... +-quiet: Do not print any message to STDERR. +-f: Allow giving BEG and END as fractions of number of lines in file (for example /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/body.pl 4 -0.2) + + diff --git a/modules/local/pita/templates/lib/cap.pl b/modules/local/pita/templates/lib/cap.pl new file mode 100755 index 00000000..3abef361 --- /dev/null +++ b/modules/local/pita/templates/lib/cap.pl @@ -0,0 +1,86 @@ +#!/usr/bin/perl + +use strict; + +if($#ARGV==-1) +{ + print STDERR ; + exit(1); +} + +my $file = \*STDIN; +my $header = ''; +my $serial; +my @header; +while(@ARGV) +{ + my $arg = shift @ARGV; + if($arg eq '--help') + { + print STDOUT ; + exit(0); + } + elsif($arg eq '-f') + { + $arg = shift @ARGV; + (-f $arg) or die("Could not open header file '$arg'."); + $header = `cat $arg`; + chomp($header); + @header = split("\t",$header); + } + elsif($arg eq '-n') + { + $serial = 1; + } + elsif(-f $arg) + { + open($file,$arg) or die("Could not open file '$arg' for reading."); + } + else + { + $header .= (length($header)>0 ? " " : "") . $arg; + @header = split(',',$header); + } +} + +# Parse the list +if ($serial == 1) +{ + my $line = <$file>; + my @r=split(/\t/, $line); + for (my $i = 0; $i <= $#r; $i++) + { + if ($i > 0) + { + print "\t".($i+1); + } + else + { + print ($i+1); + } + } + print "\n$line"; +} +else +{ + print join("\t", @header), "\n"; +} + +while(<$file>) +{ + print; +} + +__DATA__ +/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/cap.pl [OPTIONS] COMMA-SEPERATED-LIST FILE + +TAB_FILE - a tab-delimited file (can also be passed into standard input. + +Sticks a header line onto the file. The comma-seperated list gives +a field name for the first columns in FILE. + +OPTIONS are: + +-f FILE: read the header from FILE. In this case, no comma-seperated list is expected. + +-n : print serial headers (1,2,3....) diff --git a/modules/local/pita/templates/lib/cut.pl b/modules/local/pita/templates/lib/cut.pl new file mode 100755 index 00000000..07b9a534 --- /dev/null +++ b/modules/local/pita/templates/lib/cut.pl @@ -0,0 +1,227 @@ +#!/usr/bin/perl + +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/libfile.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/load_args.pl"; + + +use strict; + +my @cols; +my $col; +my $col_max=10000; +my @append_cols; +my @prepend_cols; + + +if ($ARGV[0] eq "--help") +{ + print STDOUT ; + exit; +} + +my $file_ref; +my $file = $ARGV[0]; +if (length($file) < 1 or $file =~ /^-/) +{ + $file_ref = \*STDIN; +} +else +{ + open(FILE, $file) or die("Could not open file '$file'.\n"); + $file_ref = \*FILE; +} + +my %args = load_args(\@ARGV); +my $verbose = get_arg("q", 0, \%args); +if ($verbose) {$verbose=0} else {$verbose=1} +my $skip_col= get_arg("sk",0, \%args); +my $headers= get_arg("h", 0, \%args); +my $delim_in= get_arg("d", "\t", \%args); +my $delim_out=$delim_in; +if (get_arg("di", "", \%args)) {$delim_in= get_arg("di", "\t", \%args)} +if (get_arg("do", "", \%args)) {$delim_out= get_arg("do", "\t", \%args)} +my $col_ranges= get_arg("f", "1", \%args); +my $multiple_delim_ins= get_arg("m", 0, \%args); +my $suppress_blanks= get_arg("s", 0, \%args); +my $tight= get_arg("t", 0, \%args); +my $invert= get_arg("i", 0, \%args); +my $get_cols_by_header=get_arg("n","",\%args); +my $zerobased= get_arg("0", 0, \%args); +my $preserve_empty_values = get_arg("e", 0, \%args); +my $name_file = get_arg("file", "", \%args); +my $line=0; + +# print STDERR join(",",@cols), "\n"; +# @cols = (@prepend_cols, @cols, @append_cols); + +if ($name_file ne ""){ + open (NFILE,$name_file); + my @n; + while(){ + chomp; + push @n,$_; + } + close NFILE; + $get_cols_by_header=join(",",@n); +} + +my $first_line=""; +if ($get_cols_by_header ne ""){ + $first_line=<$file_ref>; + my $l=$first_line; + chomp $l; + my @header=split /\t/,$l,-1; + my %heads; + for (my $i=0;$i0){ $col_ranges="1-$skip_col,".$col_ranges } + +@cols = &parseRanges($col_ranges); + + +my $data_line=0; +my @tuple; +my @tuple_all; +my $value; +my $beg; +my $end; +my $fixed_cols=0; +my $cols_ref; +my $max_cols = 0; +while($first_line ne "" or $_=<$file_ref>) +{ + if ($first_line ne ""){ + $_=$first_line; + $first_line=""; + } + + $line++; + + if ($headers >= $line) + { + print; + } + else + { + if(defined($col_ranges)) + { + my $num_cols = &numTokens($delim_in); + if($num_cols > $max_cols or ($tight and $num_cols != $max_cols)) + { + $max_cols = $num_cols; + @cols = &parseRanges($col_ranges, $max_cols); + # print STDERR join(',',@cols), "\n"; + if (!$zerobased){ + for(my $i = 0; $i < scalar(@cols); $i++) + { + $cols[$i]--; + } + } + } + } + + if(/\S/ and not(/^\s*#/)) + { + if($multiple_delim_ins) + { + @tuple_all = split(/[$delim_in]+/,$_,-1); + } + else + { + @tuple_all = split($delim_in,$_,-1); + } + if($#tuple_all >= 0) + { chomp($tuple_all[$#tuple_all]); } + + @tuple=(); + + if (not $invert) + { + foreach my $i (@cols) + { + if($preserve_empty_values or $i <= $#tuple_all) + { + push(@tuple,$tuple_all[$i]); + } + } + } + else + { + my %cols_hash; + for my $i (@cols) + { + $cols_hash{$i}=1; + } + for my $i (0..$#tuple_all) + { + if($i <= $#tuple_all and not $cols_hash{$i}) + { + push(@tuple,$tuple_all[$i]); + } + } + } + + my $result = join($delim_out,@tuple); + + if(not($suppress_blanks) or $result =~ /\S/) + { + print $result, "\n"; + } + } + elsif(not($suppress_blanks) or /\S/) + { + print; + } + } +} + +exit(0); + +__DATA__ + +syntax: /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/cut.pl [OPTIONS] TAB_FILE + +TAB_FILE is any tab-delim_inited file. Can also be passed into standard + input. + +OPTIONS are: + +-q: Quiet mode: turn verbosity off (default verbose) +-h NUM: Set the number of row headers to NUM (default 0). +-d DELIM: Change the input and output delimiter to DELIM (default ). +-di DELIM: Change the input delimiter to DELIM (default ). +-do DELIM: Change the output delimiter to DELIM (default ). +-s: Suppress blanks +-i: Invert. Use the complement of the fields specified in -f. +-t: Tight. Tell the script to expect different number of columns in + each row so that it needs to recompute the column boundaries for + each row. Note this option slows the script down somewhat. +-f RANGES: specify column ranges to include. RANGES are comma- + seperated lists of single columns or a range of columns + for example: + + 5-6,2,1-3 + + would select columns 1 through 6 except column 4. Note + that 2 is redundantly specified by no error results. +-n : specify columns by names (instead of by numbers with -f). Assumes + the first line is a header, and translates column names in + into their respective column numbers in the header. Supports + multiple ranges. Column names are assumed to be unique and not to + contain any commas. +-file : get column names (as in -n) from specified file. each column name + should appear on a separate line. +-0: zero-based column numbers. +-e: preserve empty values. +-sk: number of header columns (default 0) + diff --git a/modules/local/pita/templates/lib/dos2unix.pl b/modules/local/pita/templates/lib/dos2unix.pl new file mode 100755 index 00000000..074b078b --- /dev/null +++ b/modules/local/pita/templates/lib/dos2unix.pl @@ -0,0 +1,56 @@ +#!/usr/bin/perl + +use strict; + +my $arg; +my $verbose=1; + +while(@ARGV) +{ + $arg = shift @ARGV; + + if($arg eq '--help') + { + &printSyntax(); + exit(0); + } + elsif($arg eq '-q') + { + $verbose = 0; + } + else + { + &printSyntax(); + exit(1); + } +} + +if(not(-T STDIN)) +{ + if($verbose) + { + print STDERR "File is not a text file, skipping.\n"; + } + exit(1); +} + +while() +{ + s/ //g; + print; +} + +exit(0); + +sub printSyntax +{ + print STDERR "Syntax: $0 [OPTIONS] < FILE\n", + "\n", + "where FILE is any text file", + "\n", + "where OPTIONS are\n", + "\n", + "-q: Quiet mode (default is verbose)\n", + "\n"; +} + diff --git a/modules/local/pita/templates/lib/extract_sequence.pl b/modules/local/pita/templates/lib/extract_sequence.pl new file mode 100755 index 00000000..592f264b --- /dev/null +++ b/modules/local/pita/templates/lib/extract_sequence.pl @@ -0,0 +1,180 @@ +#!/usr/bin/perl + +use strict; + +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/load_args.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/sequence_helpers.pl"; + +if ($ARGV[0] eq "--help") +{ + print STDOUT ; + exit; +} + +my $file_ref; +my $file = $ARGV[0]; +if (length($file) < 1 or $file =~ /^-/) +{ + $file_ref = \*STDIN; +} +else +{ + open(FILE, $file) or die("Could not open file '$file'.\n"); + $file_ref = \*FILE; +} + +my %args = load_args(\@ARGV); + +my $key_name = get_arg("k", "EXTRACT_ALL_KEYS", \%args); +my $start_location = get_arg("s", 1, \%args); +my $end_location = get_arg("e", -1, \%args); +my $cur_strand = get_arg("st", "", \%args); +my $locations_file = get_arg("f", "", \%args); +my $print_location_description = get_arg("d", 0, \%args); +my $print_location_name = get_arg("dn", 0, \%args); +my $print_location_description_chr = get_arg("dc", 0, \%args); +my $zero_based_coordinates = get_arg("0", 0, \%args); +my $gap = get_arg("g", 1, \%args); +my $minplus = get_arg("mp", 0, \%args); + +if ($cur_strand ne "") { $minplus = 1; } + +if ($gap<1) { $gap=1 } + +my $subtraction_coordinates = $zero_based_coordinates == 1 ? 0 : 1; + +my %key_starts; +my %key_ends; +my %key_strands; +my %key_output_names; +if (length($locations_file) > 0) +{ + open(LOCATIONS, "<$locations_file"); + while() + { + chop; + + my @row = split(/\t/); + + $key_starts{$row[0]} .= "$row[2]\t"; + $key_ends{$row[0]} .= "$row[3]\t"; + $key_output_names{$row[0]} .= "$row[1]\t"; + if ($minplus) + { + $key_strands{$row[0]} .= "$row[4]\t"; + } + + #print STDERR "key_starts{$row[0]}=$key_starts{$row[0]}\n"; + #print STDERR "key_ends{$row[0]}=$key_ends{$row[0]}\n"; + #print STDERR "key_output_names{$row[0]}=$key_output_names{$row[0]}\n"; + } +} +else +{ + $key_starts{$key_name} = $start_location; + $key_ends{$key_name} = $end_location; + $key_strands{$key_name} = $cur_strand; + $key_output_names{$key_name} = $key_name; +} + +while(<$file_ref>) +{ + chop; + + my @row = split(/\t/); + + if ((length($locations_file) == 0 and $key_name eq "EXTRACT_ALL_KEYS") or length($key_starts{$row[0]}) > 0) + { + my $key = length($key_starts{$row[0]}) > 0 ? $row[0] : "EXTRACT_ALL_KEYS"; + my @starts = split(/\t/, $key_starts{$key}); + my @ends = split(/\t/, $key_ends{$key}); + my @strands = split(/\t/, $key_strands{$key}); + my @output_names = split(/\t/, $key_output_names{$key}); + + for (my $i = 0; $i < @starts; $i++) + { + my $start_location = $starts[$i]; + my $end_location = $ends[$i]; + my $strand = $strands[$i]; + + my $output_name = length($output_names[$i]) > 0 ? $output_names[$i] : $row[0]; + + if ($print_location_description == 1) + { + + print "$output_name from $start_location to $end_location\t"; + } + elsif ($print_location_name == 1) + { + print "$output_name\t"; + } + elsif ($print_location_description_chr == 1){ + print "$row[0]\t$output_name\t$start_location\t$end_location\t"; + } + else + { + print "$row[0]\t"; + } + + if ($start_location == 0 and $zero_based_coordinates != 1) { $end_location = length($row[1]); } + if ($end_location == -1) { $end_location = length($row[1]); } + + my $sequence_start = $start_location < $end_location ? $start_location : $end_location; + + my $string = substr($row[1], $sequence_start - $subtraction_coordinates, abs($end_location - $start_location) + 1); + + if ($gap>1) { + my $new_string; + for (my $j=0;$j $end_location) + { + $string = &ReverseComplement($string); + } + } + print "$string\n"; + } + } +} + +__DATA__ + +/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/extract_sequence.pl + + Extracts a sequence from a given stab file + + NOTE: Locations here are specified in 1-based coordinates (change with -0) + + -0: Zero-based coordinates (default: 1-based coordinates) + + -k : Key to extract (default: extract from all keys) + -s : Start location (default: 1) + -e : End location (default: end of sequence) + -st : Strand ('"+"' or '"-"') to force, otherwise determined by start>end. + + -f : File containing the locations to extract in the format: + keynamestartend + + -mp: Take the fifth column of the input location files as the strand (+ or -) + and disregard the ordering of start, end. Good especially when extracting + a sequence of length 1 (strand is anbigous when start=end). + + -d: Print the full description of the location of the extracted sequence + -dn: Print only the name of the extracted sequence + -dc: Print description in chr format + + -g : Extract only every nth letter (default: 1). + diff --git a/modules/local/pita/templates/lib/fasta2stab.pl b/modules/local/pita/templates/lib/fasta2stab.pl new file mode 100755 index 00000000..e19c13e4 --- /dev/null +++ b/modules/local/pita/templates/lib/fasta2stab.pl @@ -0,0 +1,86 @@ +#!/usr/bin/perl + +use strict; +my $arg; + +my $fin = \*STDIN; +my $line_to_extract = -1; +my $ignore_N = 0; +while(@ARGV) +{ + $arg = shift @ARGV; + + if ($arg eq '--help') + { + print STDOUT ; + exit(0); + } + elsif (-f $arg) + { + open($fin,$arg) or die("Can't open file '$arg' for reading."); + } + elsif($arg eq '-l') + { + $line_to_extract = shift @ARGV; + } + elsif ($arg eq '-ignore_N') + { + $ignore_N = 1; + } + else + { + die("Bad argument '$arg' given."); + } +} + +my $name = ""; +my $seq = ""; +my $line; +while(<$fin>) +{ + chomp; + if(/\S/) + { + if(/^[ ]*>/) + { + $line = 0; + s/^[ ]*>[ ]*//; + if (length($name) > 0 and length($seq) > 0) + { + $seq = uc ($seq); + if ($ignore_N == 0 or index($seq, "N") == -1) + { + print "$name\t$seq\n"; + } + } + $name = $_; + $seq = ""; + } + else + { + $line++; + + if ($line_to_extract == -1 or $line == $line_to_extract) + { + s/[ ]//g; + $seq .= $_; + } + } + } +} + +if (length($seq) > 0) +{ + $seq = uc ($seq); + print "$name\t$seq\n"; +} + +__DATA__ + +syntax: /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/fasta2stab.pl [OPTIONS] < FASTA + + -l : Extract only line of the fasta from each sequence + (useful for parsing alignments given in fasta) + + -ignore_N: Do not print sequences that contain N. + diff --git a/modules/local/pita/templates/lib/find_potential_mirna_targets.pl b/modules/local/pita/templates/lib/find_potential_mirna_targets.pl new file mode 100755 index 00000000..25ae8f12 --- /dev/null +++ b/modules/local/pita/templates/lib/find_potential_mirna_targets.pl @@ -0,0 +1,389 @@ +#!/usr/bin/perl + +use strict; + +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/load_args.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/sequence_helpers.pl"; + +if ($ARGV[0] eq "--help") +{ + print STDOUT ; + exit; +} + +my $file_ref; +my $file = $ARGV[0]; +if (length($file) < 1 or $file =~ /^-/) +{ + $file_ref = \*STDIN; +} +else +{ + open(FILE, $file) or die("Could not open file '$file'.\n"); + $file_ref = \*FILE; +} + +my %args = load_args(\@ARGV); + +my $microrna_file = get_arg("f", "", \%args); +my $lengths_str = get_arg("l", "6-8", \%args); +my $gu_wobble_str = get_arg("gu", "6;0,7;1,8;1", \%args); +my $mismatches_str = get_arg("m", "6;0,7;0,8;1", \%args); +my $loops_str = get_arg("loop", "", \%args); +my $microrna_start_pairing = get_arg("mb", 2, \%args); +my $min_target_length = get_arg("min_len", 22, \%args); +my $output_random_locations = get_arg("random", 0, \%args); +my $plm = get_arg("plm", 0, \%args); + + +my @lengths; +if ($lengths_str =~ /[\-]/) +{ + @lengths = split(/\-/, $lengths_str); +} +else +{ + $lengths[0] = $lengths_str; + $lengths[1] = $lengths_str; +} +my @allowed_lengths; +for (my $i = $lengths[0]; $i <= $lengths[1]; $i++) +{ + push(@allowed_lengths, $i); +} +my $num_allowed_lengths = @allowed_lengths; +print STDERR "allowed lengths = @allowed_lengths\n"; + +my %allowed_gu_wobbles; +my @gu_wobble = split(/\,/, $gu_wobble_str); +for (my $i = 0; $i < @gu_wobble; $i++) +{ + my @row = split(/\;/, $gu_wobble[$i]); + $allowed_gu_wobbles{$row[0]} = $row[1]; + + print STDERR "allowed_gu_wobbles{$row[0]} = $allowed_gu_wobbles{$row[0]}\n"; +} + +my %allowed_mismatches; +my @mismatches = split(/\,/, $mismatches_str); +for (my $i = 0; $i < @mismatches; $i++) +{ + my @row = split(/\;/, $mismatches[$i]); + $allowed_mismatches{$row[0]} = $row[1]; + + print STDERR "allowed_mismatches{$row[0]} = $allowed_mismatches{$row[0]}\n"; +} + +my @allowed_loops; +my @loops = split(/\,/, $loops_str); +for (my $i = 0; $i < @loops; $i++) +{ + push(@allowed_loops, $loops[$i]); +} +print STDERR "allowed_loops = @allowed_loops\n"; + +my @microrna_names; +my @microrna_sequences; +open(INPUT_FILE, "<$microrna_file"); +while() +{ + chop; + + my @row = split(/\t/); + + push(@microrna_names, $row[0]); + $row[1] =~ s/U/T/g; + push(@microrna_sequences, $row[1]); +} +print STDERR "MicroRNA Names: @microrna_names\n"; +print STDERR "MicroRNA Sequences: @microrna_sequences\n"; + +my $curr_row_num = 0; + +while(<$file_ref>) +{ + chop; + + my @row = split(/\t/); + + $row[1] =~ s/U/T/g; + my $rc_sequence = &ReverseComplement($row[1]); + my $sequence_length = length($rc_sequence); + + #print STDERR "$row[1] --> \n"; + #print STDERR "$rc_sequence\n\n"; + + $curr_row_num++; + print STDERR $curr_row_num."\n"; + + if ($output_random_locations == 0) + { + for (my $i = $microrna_start_pairing - 1; $i <= length($rc_sequence) - $min_target_length; $i++) + { + #print STDERR "i = $i\n"; + + my $subsequence = substr($rc_sequence, $i, $allowed_lengths[$num_allowed_lengths - 1]); + + for (my $j = 0; $j < @microrna_sequences; $j++) + { + my @target = &IsPotentialTarget($subsequence, $microrna_sequences[$j]); + if ($target[0] > 0) + { + for (my $k = 0; $k < @target; $k += 7) + { + my $rc_start = ($i - ($microrna_start_pairing - 1)); + my $rc_length = $target[$k] + ($microrna_start_pairing - 1); + my $start = $sequence_length - 1 - $rc_start; + my $end = $sequence_length - 1 - ($rc_start + $rc_length - 1); + $start++; # 1-based coordinate correction + $end++; # 1-based coordinate correction + my $subsequence = substr($rc_sequence, $rc_start, $rc_length); + print "$microrna_names[$j]\t"; + print "$row[0]\t"; + print "$start\t"; + print "$end\t"; + print "$target[$k]\t"; + print $target[$k + 1] . "\t"; + print $target[$k + 2] . "\t"; + print ( ($target[$k + 3] + $target[$k + 4]) > 0 ? "1" : "0" ); + print "\t$microrna_sequences[$j]\t"; + print "$subsequence\t"; + print $target[$k + 6] . "\t"; + print $target[$k + 5] . "\n"; + } + } + } + } + } + else + { + my $random_length = length($rc_sequence) - $min_target_length; + if ($random_length >= 0) + { + my $sequence_position = int(rand($random_length + 1)); + + my $subsequence = substr($rc_sequence, $sequence_position, $allowed_lengths[$num_allowed_lengths - 1]); + + for (my $j = 0; $j < @microrna_sequences; $j++) + { + my $start = $sequence_length - 1 - $sequence_position + 1; + my $end = $sequence_length - 1 - ($sequence_position + $allowed_lengths[$num_allowed_lengths - 1] - 1) + 1; + my $length = $allowed_lengths[$num_allowed_lengths - 1]; + + print "$microrna_names[$j]\t$row[0]\t$start\t$end\t$length\t0\t0\t0\t$microrna_sequences[$j]\t$subsequence\t0\t0\n"; + } + } + } +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub IsPotentialTarget +{ + my ($subsequence, $microrna_sequence) = @_; + + my @res; + + # print STDERR " Subseq:$subsequence MicroRNA:$microrna_sequence\n"; + + for (my $i = $allowed_lengths[$num_allowed_lengths - 1]; $i >= $allowed_lengths[0]; $i--) + { + my $subseq = substr($subsequence, 0, $i); + if (length($subseq) == $i) + { + my @comparison_stats = &AlignSequenceOntoSequence($subseq, $microrna_sequence, $microrna_start_pairing - 1); + my $mismatches = $comparison_stats[0] - $comparison_stats[1]; + my $gu_wobbles = $comparison_stats[1]; + + my $last_pos = $comparison_stats[2]; + if (($i == $allowed_lengths[0]) or ($last_pos == 0) or ($plm == 1)) + { + + if (($mismatches <= $allowed_mismatches{$i}) and ($gu_wobbles <= $allowed_gu_wobbles{$i})) + { + push(@res, $i); + push(@res, $mismatches); + push(@res, $gu_wobbles); + push(@res, 0); + push(@res, 0); + + my @pairings = &FindPairings($subseq, $microrna_sequence, $microrna_start_pairing - 1, -1, -1); + push(@res, $pairings[0]); + push(@res, $pairings[1]); + + last; + } + } + } + } + + for (my $i = 0; $i < @allowed_loops; $i++) + { + my $seq_length = $allowed_loops[$i]; + for (my $j = 1; $j < $seq_length - 1; $j++) + { + my $subseq = substr($subsequence, 0, $j) . substr($subsequence, $j + 1, $seq_length - ($j + 1)); + if (length($subseq) == $seq_length - 1) + { + my @comparison_stats = &AlignSequenceOntoSequence($subseq, $microrna_sequence, $microrna_start_pairing - 1); + my $mismatches = $comparison_stats[0] - $comparison_stats[1]; + my $gu_wobbles = $comparison_stats[1]; + + if (($mismatches <= $allowed_mismatches{$seq_length}) and ($gu_wobbles <= $allowed_gu_wobbles{$seq_length})) + { + push(@res, $seq_length); + push(@res, $mismatches); + push(@res, $gu_wobbles); + push(@res, 0); + push(@res, 1); + + my @pairings = &FindPairings(substr($subsequence, 0, $seq_length), $microrna_sequence, $microrna_start_pairing - 1, $j, -1); + push(@res, $pairings[0]); + push(@res, $pairings[1]); + + #print STDERR "Found loop in target at bp " . ($j + 1) . "\n"; + } + } + + my $subseq = substr($subsequence, 0, $seq_length); + if (length($subseq) == $seq_length) + { + my $microrna_subseq = substr($microrna_sequence, 0, $j + $microrna_start_pairing - 1); + $microrna_subseq .= substr($microrna_sequence, $j + $microrna_start_pairing); + my @comparison_stats = &AlignSequenceOntoSequence($subseq, $microrna_subseq, $microrna_start_pairing - 1); + my $mismatches = $comparison_stats[0] - $comparison_stats[1]; + my $gu_wobbles = $comparison_stats[1]; + + if (($mismatches <= $allowed_mismatches{$seq_length}) and ($gu_wobbles <= $allowed_gu_wobbles{$seq_length})) + { + push(@res, $seq_length); + push(@res, $mismatches); + push(@res, $gu_wobbles); + push(@res, 1); + push(@res, 0); + + my @pairings = &FindPairings($subseq, $microrna_sequence, $microrna_start_pairing - 1, -1, $j); + push(@res, $pairings[0]); + push(@res, $pairings[1]); + + #print STDERR "Found loop in mirna at bp " . ($j + 1) . "\n"; + } + } + } + } + + return @res; +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub FindPairings +{ + my ($target_sequence, $mirna_sequence, $mirna_skip_start, $target_skip_bp, $mirna_skip_bp) = @_; + + my @pairings; + + my $target_zeros = ""; + my $mirna_zeros = ""; + for (my $i = 0; $i < $mirna_skip_start; $i++) + { + if (length($target_zeros) > 0) { $target_zeros .= ","; } + if (length($mirna_zeros) > 0) { $mirna_zeros .= ","; } + + $target_zeros .= "0"; + $mirna_zeros .= "0"; + } + + my $mirna_index = $mirna_skip_start; + for (my $seq_index = 0; $seq_index < length($target_sequence); $seq_index++) + { + if ($mirna_index - $mirna_skip_start == $mirna_skip_bp) + { + if (length($pairings[1]) > 0 or length($mirna_zeros) > 0) { $mirna_zeros .= ","; } + $mirna_zeros .= "0"; + + $mirna_index++; + } + + if ($seq_index == $target_skip_bp) + { + if (length($pairings[0]) > 0 or length($target_zeros) > 0) { $target_zeros .= ","; } + $target_zeros .= "0"; + } + else + { + my $s1 = substr($target_sequence, $seq_index, 1); + my $s2 = substr($mirna_sequence, $mirna_index, 1); + + my $mismatch = $s1 ne $s2 ? 1 : 0; + #my $gu_wobble = (($s1 eq "G" and $s2 eq "A") or ($s1 eq "A" and $s2 eq "G")) ? 1 : 0; + my $gu_wobble = (($s1 eq "C" and $s2 eq "T") or ($s1 eq "A" and $s2 eq "G")) ? 1 : 0; + + if ($mismatch == 0 or $gu_wobble == 1) + { + $pairings[0] .= $target_zeros; + $pairings[1] .= $mirna_zeros; + $target_zeros = ""; + $mirna_zeros = ""; + + if (length($pairings[0]) > 0 or length($target_zeros) > 0) { $pairings[0] .= ","; } + if (length($pairings[1]) > 0 or length($mirna_zeros) > 0) { $pairings[1] .= ","; } + + $pairings[0] .= $mirna_index + 1; + $pairings[1] .= $seq_index + $mirna_skip_start + 1; + } + else + { + if (length($pairings[0]) > 0 or length($target_zeros) > 0) { $target_zeros .= ","; } + if (length($pairings[1]) > 0 or length($mirna_zeros) > 0) { $mirna_zeros .= ","; } + + $target_zeros .= "0"; + $mirna_zeros .= "0"; + } + + $mirna_index++; + } + } + + return @pairings; +} + +__DATA__ + +/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/find_potential_mirna_targets.pl + + Takes in a stab file of targets and a stab file of mirnas, + and outputs locations of potential start sites within the input stab + file, where a mirna-rna interaction may occur. + + Output format: + <# mismatches> <#G:U wobbles> + + -f : The file of the MicroRNAs + + -l : Search for seed lengths of num1,...,num2 to the MicroRNA (default: 6-8) + + -gu : Lengths for which G:U wobbles are allowed and number of allowed wobbles. + Format of nums: ,,... (default: 6;0,7;1,8;1) + + -m : Lengths for which mismatches are allowed and number of allowed mismatches + Format of nums: ,,... + (default: 6;0,7;0,8;1) + + -loop : Lengths for which a single loop in either the target or the microrna is allowed + Format of nums: ,,... (default: none) + + -mb : MicroRNA basepair at which pairing should start (default: 2) + + -min_len : Minimum length of the target when extended beyond the seed (default: 22) + + -random: Output a single random location from each target sequence + + -plm: "Prefer Long Mismatch". If given, then ambigious seeds are reported + as longer seeds with a mismatch. For example, an 8-mer seed with one + G:U wobble at the last position will be reported as an 8-mer with a + G:U wobble rather than the default reporting of a complete match 7-mer. + + diff --git a/modules/local/pita/templates/lib/format_number.pl b/modules/local/pita/templates/lib/format_number.pl new file mode 100755 index 00000000..03fae340 --- /dev/null +++ b/modules/local/pita/templates/lib/format_number.pl @@ -0,0 +1,38 @@ +#!/usr/bin/perl + +use strict; + +sub format_number +{ + my $number = $_[0]; + my $sig_digits = $_[1]; + + my @num = split(/\./, $number); + + my $suffix = ""; + if ($num[1] =~ /(.*)e(.*)/) { $num[1] = $1; $suffix = "e$2"; } + + my $decimal = ""; + + if ($num[0] == 0) + { + my $lsb_len = length($num[1]); + + $num[1] =~ /([1-9].*)/; + + my $significant_len = length($1); + + $decimal = substr($num[1], 0, $lsb_len - $significant_len + $sig_digits); + } + else + { + $decimal = substr($num[1], 0, $sig_digits); + } + + if (length("$decimal$suffix") > 0) { return "$num[0].$decimal$suffix"; } + else { return "$num[0]"; } +} + +#print format_number($ARGV[0],$ARGV[1]) . "\n"; + +1 diff --git a/modules/local/pita/templates/lib/join.pl b/modules/local/pita/templates/lib/join.pl new file mode 100755 index 00000000..b5a40935 --- /dev/null +++ b/modules/local/pita/templates/lib/join.pl @@ -0,0 +1,689 @@ +#!/usr/bin/perl + +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/libfile.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/libtable.pl"; + +use strict; + +################# BEGIN MAIN ########################### + +my $arg=''; +my (@key1) = (1); +my (@key2) = (1); +my ($beg,$end) = (0,0); +my ($i,$j) = (0,0); +my ($file1,$file2) = ('',''); +my ($key)=''; +my (%values)={}; +my (%exists)={}; +my $delim = "\t"; +my ($delim_in1, $delim_in2) = ("\t","\t"); +my ($delim_out) = ("\t"); +my $delim_syn = "\t"; +my (@tmp) = (); +my ($value1, $value2) = ('',''); +my ($printable, $printable1, $printable2) = ('','',''); +my ($suppress1, $suppress2, $suppressk) = (0,0,0); +my $negate=0; +my ($numeric) = 0; +my $empty = ''; +my $fill = ''; +my ($outer) = 0; +my ($outer_id) = 0; +my ($reverse) = 0; +my ($uppercase) = 0; +my $no_ladder=0; +my $hit = 0; +my $tmp; +my @fill_lines; +my $merge=0; +my $syn_file = "$ENV{JOIN_SYNONYMS}"; +my %syn_pairs; +my $syn_pair; +my @syns_remaining; +my @syn_list; +my %syn_seen; +my $verbose=1; +my $header=0; +my $skip = 0; +my $ignore_missing_file=0; + +while(@ARGV) +{ + $arg = shift @ARGV; + if($arg eq '--help') + { + print STDOUT ; + exit(0); + } + elsif($arg eq '-q') + { + $verbose = 0; + } + elsif($arg eq '-1') + { + $arg = shift @ARGV; + @key1 = &parseRanges($arg); + } + elsif($arg eq '-2') + { + $arg = shift @ARGV; + @key2 = &parseRanges($arg); + } + elsif($arg eq '-o' or $arg eq '--outer') + { + $fill = shift @ARGV; + $outer = 1; + } + elsif($arg eq '-imf') + { + $ignore_missing_file = 1; + } + elsif($arg eq '-of') + { + $arg = shift @ARGV; + if(not(open(FILE, $arg))) + { + print STDERR "Could not open file '$arg' to find outer text, skipping.\n"; + } + else + { + while() + { + if(/\S/) + { + chomp; + push(@fill_lines, $_); + } + } + } + $outer = 1; + } + elsif($arg eq '-oid') + { + $outer_id = 1; + } + elsif($arg eq '-skip') + { + $skip = shift @ARGV; + } + elsif($arg eq '-no_ladder') + { + $no_ladder = 1; + } + elsif($arg eq '-h1') + { + $header = 1; + } + elsif($arg eq '-h2') + { + $header = 2; + } + elsif($arg eq '-e' or $arg eq '--empty') + { + $empty = shift @ARGV; + } + elsif($arg eq '-m') + { + $merge = 1; + } + elsif($arg eq '-num') + { + $numeric = 1; + } + elsif($arg eq '-neg') + { + $negate = 1; + } + elsif($arg eq '-di1') + { + $delim_in1 = shift @ARGV; + } + elsif($arg eq '-di2') + { + $delim_in2 = shift @ARGV; + } + elsif($arg eq '-di') + { + $delim_in1 = shift @ARGV; + $delim_in2 = $delim_in1; + } + elsif($arg eq '-do') + { + $delim_out = shift @ARGV; + } + elsif($arg eq '-ds') + { + $delim_syn = shift @ARGV; + } + elsif($arg eq '-syn') + { + $syn_file = shift @ARGV; + } + elsif($arg eq '-nosyn') + { + $syn_file = ''; + } + + # Suppress printing of values from table 1 (key will be printed however). + elsif($arg eq '-s1') + { + $suppress1 = 1; + } + # Suppress printing of values from table 2 (key will be printed however). + elsif($arg eq '-s2') + { + $suppress2 = 1; + } + elsif($arg eq '-sk') + { + $suppressk = 1; + } + elsif($arg eq '-r' or $arg eq '--reverse' or $arg eq '-rev') + { + $reverse = 1; + } + elsif($arg eq '-u') + { $uppercase = 1; } + + elsif(length($file1)<1) + { + $file1 = $arg; + } + elsif(length($file2)<1) + { + $file2 = $arg; + } +} + +# open(SYN,">tmp_syns"); + +if(@fill_lines and $#fill_lines>=0) +{ + $fill = join($delim_out, @fill_lines); +} + +if($reverse) +{ + $tmp = $suppress1; + $suppress1 = $suppress2; + $suppress2 = $tmp; +} + +# See if the user supplied a synonyms file. If so, extract synonyms for +# keys from the file and load it into a hash. +my %syns; +my $syn; +if(length($syn_file)>0) +{ + if(not(open(FILE, $syn_file))) + { + print STDERR "Could not open the synonyms file, '$syn_file' skipping.\n"; + } + else + { + if($verbose) + { print STDERR "Reading in synonyms from '$syn_file'..."; } + while() + { + chomp; + @tmp = split($delim_syn,$_,-1); + if($uppercase) + { + for($i=0; $i<=$#tmp; $i++) + { + $tmp[$i] =~ tr/a-z/A-Z/; + } + } + if($numeric) + { + for($i=0; $i<=$#tmp; $i++) + { + $tmp[$i] =~ int($tmp[$i]); + } + } + for($i=0; $i<=$#tmp; $i++) + { + if($tmp[$i] =~ /\S/) + { + for($j=0; $j<=$#tmp; $j++) + { + if($tmp[$j] =~ /\S/) + { + $syns{$tmp[$i]} .= $tmp[$j] . $delim_syn; + $syn_pairs{$tmp[$i] . $delim_syn . $tmp[$j]} = 1; + } + } + } + } + } + # Post-process the synonyms: If there are synonyms of synonyms, then make + # sure these are united etc.. + foreach $syn_pair (keys(%syn_pairs)) + { + (@syns_remaining) = split($delim_syn,$syn_pair,-1); + @syn_list=(); + # print SYN '[', join($delim_syn, @syns_remaining), "]: "; + while(@syns_remaining) + { + $syn = shift @syns_remaining; + if(not($syn_seen{$syn})) + { + $syn_seen{$syn} = 1; + push(@syn_list,$syn); + # print SYN "$syn "; + @tmp = split($delim_syn, $syns{$syn},-1); + # Add new synonyms to the list to be processed. + for($j=0; $j<=$#tmp; $j++) + { + push(@syns_remaining, $tmp[$j]); + } + } + } + # print SYN "]\n"; + for($i=0; $i<=$#syn_list; $i++) + { + $syns{$syn_list[$i]} = ''; + for($j=0; $j<=$#syn_list; $j++) + { + $syns{$syn_list[$i]} .= $syn_list[$j]; + if($j<$#syn_list) + { + $syns{$syn_list[$i]} .= $delim_syn; + } + } + # print SYN "[$syn_list[$i]] <=> [$syns{$syn_list[$i]}]\n"; + } + } + + close(FILE); + if($verbose) + { print STDERR " done.\n"; } + } +} + +# $arg = $syns{'F27B3.1'}; +# print "[$arg]\n"; + +if(length($file1)<1 or length($file2)<1) +{ + print STDERR ; + exit(1); +} + +if ($ignore_missing_file and !(-e $file1) and ($file1 ne "-")){ + open(F2,$file2); + while(my $line=){ + my %check; + chomp $line; + my @tmp=split /$delim_in2/,$line,-1; + my @out; + for my $i (@key2){ + push @out,$tmp[$i-1]; + $check{$i-1}=1; + } + for (my $i=0;$i){ + my %check; + chomp $line; + my @tmp=split /$delim_in1/,$line,-1; + my @out; + for my $i (@key1){ + push @out,$tmp[$i-1]; + $check{$i-1}=1; + } + for (my $i=0;$i $b} @key1; +@key2 = sort {$a <=> $b} @key2; + +# print STDERR "Key 1: [", join(',', @key1), "]\n", +# "Key 2: [", join(',', @key2), "]\n", +# "Input delimiter 1: [$delim_in1]\n", +# "Input delimiter 2: [$delim_in2]\n", +# "Output delimiter 1: [$delim_out1]\n", +# "Output delimiter 2: [$delim_out2]\n", +# "\n", +# ; + +# Read in the key-printable pairs from the second file: +my ($loops) = 0; +my ($passify) = 10000; +my $file_ref; +if($file2 =~ /\.gz$/) +{ + open(FILE, "zcat < $file2 |") or die("Could not open file '$file2'."); + $file_ref = \*FILE; +} +elsif($file2 eq '-') +{ + $file_ref = \*STDIN; +} +else +{ + open(FILE, $file2) or die("Could not open file '$file2'."); + $file_ref = \*FILE; +} +if($verbose) +{ + print STDERR "Reading relations from ", $file2 eq '-' ? "standard input" + : "file $file2"; +} +my $header_data=''; +my $line=0; +while(<$file_ref>) +{ + if(/\S/ and (!(/^\s*#/) or $no_ladder)) + { + $line++; + if($line==1 and $header==2) + { $header_data = $_; } + chomp; + @tmp = split($delim_in2,$_,-1); +# print STDERR "\n2: tmp: [", join('|',@tmp), "]\n"; +# print STDERR "2: key cols: [", join('|',@key2), "]\n"; + $key=''; + for($i=$#key2; $i>=0; $i--) + { + my $key_part = splice(@tmp,$key2[$i], 1); + # $key .= length($key)>0 ? ($delim_out . $key_part) : $key_part; + $key = length($key)>0 ? ($key_part . $delim_out . $key) : $key_part; +# print STDERR "1: key: [$key]\n"; +# print STDERR "Before splice: [", join('|',@tmp), "] [$key]\n"; +# print STDERR "After splice: [", join('|',@tmp), "] [$key]\n"; + # $key .= splice(@tmp, $i-1, 1) . $delim_out; + } + # Get rid of the last delimiter we added: + if($numeric) + { $key = int($key); } + if($uppercase) + { $key =~ tr/a-z/A-Z/; } +# print STDERR "2: tmp: [", join('|',@tmp), "]\n"; +# print STDERR "2: key: [$key]\n"; + $tmp = join($delim_out, @tmp); + if ($#tmp<0){$tmp="--BLANKNOPRINT--"} + $values{$key} = $tmp; + $exists{$key} = 1; + + # Record this value with all the synonym keys as well. + + @tmp = split($delim_syn, $syns{$key},-1); + # foreach $key (@tmp) + for($j=0; $j<=$#tmp; $j++) + { + if($numeric) + { $key = int($key); } + if($uppercase) + { $key =~ tr/a-z/A-Z/; } + $values{$key} = $tmp; + $exists{$key} = 1; + } + + $loops++; + if($verbose and $loops%$passify==$passify-1) + { + print STDERR '.'; + } + } +} +if($verbose) + { print STDERR " done.\n"; } +close($file_ref); + +# $arg = $syn{'F15G10.1'}; +# print STDERR "[$arg]\n"; + +# Read in the key-printable pairs from the first file and print out +# the joined key: +my $file_ref; +if($file1 =~ /\.gz$/) +{ + open(FILE, "zcat < $file1 |") or die("Could not open file '$file1'."); + $file_ref = \*FILE; +} +elsif($file1 eq '-') +{ + $file_ref = \*STDIN; +} +else +{ + open(FILE, $file1) or die("Could not open file '$file1'."); + $file_ref = \*FILE; +} +if($verbose) + { print STDERR "Joining on file $file1"; } +$loops=0; +my $found; +while(<$file_ref>) + { + if ($skip > $loops) + { + $loops++; + print; + } + elsif(/\S/ and (!(/^\s*#/) or $no_ladder)) + { + chomp; + @tmp = split($delim_in1,$_,-1); + $key=''; + for($i=$#key1; $i>=0; $i--) + { + my $key_part = splice(@tmp,$key1[$i], 1); + $key = length($key)>0 ? ($key_part . $delim_out . $key) : $key_part; + } + # Get rid of the last delimiter we added: + if($numeric) + { $key = int($key); } + if($uppercase) + { $key =~ tr/a-z/A-Z/; } + + $value1 = join($delim_out, @tmp); + if ($#tmp<0){$value1="--BLANKNOPRINT--"} + $value2 = $values{$key}; + $found = $exists{$key}; + +# print STDERR "1: key: [$key]\n"; +# print STDERR "1: value1: [$value1]\n"; +# print STDERR "1: value2: [$value2]\n"; +# print STDERR "1: found: [$found]\n"; + + # See if this key matches any of the key's synonyms + if(not($found)) + { + + @tmp = split($delim_syn, $syns{$key},-1); + while(@tmp and not($found)) + { + $tmp = shift @tmp; + $found = $exists{$tmp}; + if($found) + { + $value2 = $values{$tmp}; + } + } + } + + if((not($negate) and $found)) + { + $hit = 1; + } + elsif($negate and not($found)) + { + $hit=1 ; + $value2 = "--BLANKNOPRINT--"; + } + elsif($outer) + { + $value2 = $fill; + if ($value2 eq ""){$value2 = "--BLANKNOPRINT--"} + $hit = 1; + } + elsif($outer_id) + { + $value2 = $key; + $hit = 1; + } + else + { + $hit = 0; + } + + if($merge & $hit) + { + $value1 = $value2; + $value2 = "--BLANKNOPRINT--"; + } + elsif($merge & not($hit)) + { + $hit = 1; + $value2 = "--BLANKNOPRINT--"; + } + + if($hit) + { + # Swap the two values if we're supposed to print the second value + # before the first value. + if($reverse) + { + $tmp = $value1; + $value1 = $value2; + $value2 = $tmp; + } + + my @printed; + + if(!$suppressk){push @printed,$key} + if(!$suppress1 and $value1 ne "--BLANKNOPRINT--"){push @printed,length($value1)<1?$empty:$value1} + if(!$suppress2 and $value2 ne "--BLANKNOPRINT--"){push @printed,length($value2)<1?$empty:$value2} + print join($delim,@printed),"\n"; + } + + $loops++; + if($verbose and $loops%$passify==$passify-1) + { + print STDERR '.'; + } + } + } +if($verbose) + { print STDERR " done.\n"; } +close(FILE); + +exit(0); + +################# END MAIN ############################# + +__DATA__ +syntax: /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/join.pl [OPTIONS] FILE1 FILE2 + +This script takes two tables, contained in delimited files, as input and +produces a new table that is a join of FILE1 and FILE2. The script assumes +the keys can be found in the first column of the two files and that columns +are delimited by single tabs (both of these assumptions can be changed, see +OPTIONS). If FILE1 contains the tuple (A, W, X) and FILE2 contains the +tuple (A, Y, Z) then (A, W, X, Y, Z) will be contained in the output. +NOTE: FILE2 will be loaded into memory. + +OPTIONS are: + +-m: Merge - if key exists in file 2, use value from file 2 else + use the value from file 1. +-q: Quiet mode: turn verbosity off (default is verbose) + +-1 COL: Include column COL from FILE1 as part of the key (default is 1). + Multiple columns may be specified in which case keys are constructed + by concaternating each column in the order specified (delimiting + character used equal to the output delimiter, see -do flag). + +-2 COL: Include column COL from FILE2 as part of the key (default is 1). + See -1 option for discussion of multiple columns. + +-skip NUM: Skip the first NUM lines of FILE1 and print them as they are (first line + is 1, default value is 0). +-o FILL: Do a left outer join. If a key in FILE1 is not in FILE2, then the +--outer tuple from FILE1 is printed along with the text in FILL in place of + a tuple from FILE2 (by default these tuples are not reported in the + result). See -of option also to supply FILL from a file, and -oid to replace + FILL with the id from FILE1. + +-of FILE: Same as -o, but use the text in FILE as the text to FILL. + +-oid: Same as -o, but use the id from FILE1 as the text to FILL. + +-e EMPTY: Set the empty string to EMPTY (default is blank). If both keys + exist in FILE1 and FILE2 but one tuple is blank, then the empty + character EMPTY will be printed. + +-num: Treat the keys as numeric quantities (default is off: treat keys as + strings). If this is turned on, each key will be forced into an + integer quantity. + +-neg: Negative output -- print out the keys from FILE1 that are not in FILE2. + These are equivalent to those keys that would be left out of the join + or those that would have a FILL tuple in a left outer join (see -o + option). + +-di1 DELIM: Set the input delimiter for FILE1 to DELIM (default is tab). + +-di2 DELIM: Set the input delimiter for FILE2 to DELIM (default is tab). + +-di DELIM: Set the input delimiters for both FILE1 and FILE2 to DELIM (default + is tab). Equivalent to using both the -di1 and -di2 options. + +-do DELIM: Set the output delimiter to DELIM. Note there is only one output + delimiter (not two: one for FILE1 and FILE2); this forces the + output to a common delimitation (default is tab). + +-ds DELIM: Set the delimiter for synonyms to DELIM. This is used for reading + synonyms for keys (see the -syn option) (default is tab). + +-syn FILE: Specify that synonyms for keys can be found in the file FILE. + Each line in FILE should contain synonyms for only one key, seperated + by the delimiter specified with the -ds option). + +-nosyn: Ignore synonym file in the JOIN_SYNONYMS environment variable if it + exists. + +-s1: Suppress printing of tuples from FILE1. The key is printed, followed by + the tuple found in FILE2. + +-s2: Suppress printing of tuples from FILE2. + +-sk: Suppress printing of keys. + +-r: Reverse -- Instead of printing , print + where is the key, is a tuple + found from FILE1 and is a tuple found in FILE2. + +-u: Uppercase. For non-numeric keys, force any letter to be uppercase before + attempting to do key lookups. Keys from both FILE1 and FILE2 will be + converted to uppercase before attempting the join. + +-imf: Ignore missing file. If file1 does not exist, simply print file2 (and + vice versa). +-no_ladder: Turn off default behavior of ignoring lines with # + diff --git a/modules/local/pita/templates/lib/libfile.pl b/modules/local/pita/templates/lib/libfile.pl new file mode 100755 index 00000000..495d7c52 --- /dev/null +++ b/modules/local/pita/templates/lib/libfile.pl @@ -0,0 +1,1672 @@ +use strict; + +sub fileFriendlyName +{ + my ($name) = @_; + + $name =~ s/\//_/g; + $name =~ s/\\/_/g; + $name =~ s/"/_/g; + $name =~ s/'/_/g; + $name =~ s/\(/_/g; + $name =~ s/\)/_/g; + $name =~ s/\[/_/g; + $name =~ s/\]/_/g; + $name =~ s/\{/_/g; + $name =~ s/\}/_/g; + $name =~ s/ +/_/g; + + $name =~ s/_[_]+/_/g; + + return $name; +} + +sub readFile +{ + my ($file) = @_; + my @lines; + while(my $line = <$file>) + { + chomp($line); + push(@lines, $line); + } + return \@lines; +} + +sub readFileName +{ + my ($file_name) = @_; + my $file = &openFile($file_name, "r"); + my $lines = &readFile($file); + close($file); + return $lines; +} + +##------------------------------------------------------------------------ +## \*FILE openFile ($string file_name=undef, $string purpose="r") +##------------------------------------------------------------------------ +sub openFile +{ + my $file_name = shift; + my $purpose = shift; + $file_name = defined($file_name) ? $file_name : '-'; + $purpose = defined($purpose) ? $purpose : 'r'; + my $file = undef; + if($file_name eq '-') + { + # Read-only files + if($purpose =~ /^ *r/i) + { + $file = \*STDIN; + } + # Overwrite the file + elsif($purpose =~ /^ *w/i or $purpose =~ /^ *a/i) + { + $file = \*STDOUT; + } + } + else + { + # Read-only files + if($purpose =~ /^ *r/i or not(defined($purpose))) + { + if($file_name =~ /\.gz$/ or $file_name =~ /\.Z$/) + { + $file_name = "zcat $file_name |"; + } + else + { + $file_name = "<$file_name"; + } + } + # Overwrite + elsif($purpose =~ /^ *w/i) + { + $file_name = ">$file_name"; + } + # Append + elsif($purpose =~ /^ *a/i) + { + $file_name = ">>$file_name"; + } + + if(not(open($file, $file_name))) + { + $file = undef; + } + } + return $file; +} + +sub printFilep +{ + my ($file_in, $file_out) = @_; + $file_in = defined($file_in) ? $file_in : \*STDIN; + $file_out = defined($file_out) ? $file_out : \*STDOUT; + + while(my $line = <$file_in>) + { + print $file_out $line; + } +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub GetNumColumns +{ + my ($file_name) = @_; + + my $rows = `head -1 $file_name | /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/transpose.pl | wc -l`; + + $rows =~ /^ *([^ ]+)/; + + return $1; +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub GetNumRows +{ + my ($file_name) = @_; + + my $rows = `wc -l $file_name`; + + $rows =~ /^ *([^ ]+)/; + + return $1; +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub GetAllDirs +{ + return &getAllDirs(@_); +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub getAllDirs +{ + my @dirs = @_; + my @subdirs; + foreach my $dir (@dirs) + { + my $dirp; + if(opendir($dirp, $dir)) + { + my @files = readdir($dirp); + foreach my $file (@files) + { + my $path = $dir . '/' . $file; + if ((-d $path) and (not($file =~ /^\.\.$/)) and (not($file =~ /^\.$/))) + { + push(@subdirs, $path); + } + } + closedir($dirp); + } + } + return @subdirs; +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub getAllFiles +{ + my @dirs = @_; + my @paths; + foreach my $dir (@dirs) + { + my $dirp; + if(opendir($dirp,$dir)) + { + my @files = readdir($dirp); + foreach my $file (@files) + { + push(@paths, $dir . '/' . $file); + } + closedir($dirp); + } + } + return @paths; +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub getAllFilesRecursively # ($follow_links,@dirs) +{ + my $follow_links = shift; + my @dirs = @_; + my @files = (); + my @allEntries; + my @entries; + my $entry; + my $subEntry; + + foreach $entry (@dirs) + { + if(-d $entry and ($follow_links or not(-l $entry))) + { + if(opendir(DIR,$entry)) + { + @allEntries = readdir(DIR); + @entries = (); + while(@allEntries) + { + $subEntry = shift @allEntries; + if($subEntry ne '..' and $subEntry ne '.') + { + if($entry =~ /\/$/) + { + push(@entries, $entry . $subEntry); + } + else + { + push(@entries, $entry . '/' . $subEntry); + } + } + } + closedir(DIR); + push(@files, &getAllFilesRecursively($follow_links,@entries)); + } + else + { + print STDERR "Could not open directory -->$entry<-- skipping.\n"; + } + } + elsif(-f $entry) + { + push(@files,$entry); + } + } + return @files; +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub getAllCodeRecursively # ($follow_links,@dirs) +{ + my $follow_links = shift; + my @dirs = @_; + my @files = (); + my @allEntries; + my @entries; + my $entry; + my $subEntry; + + foreach $entry (@dirs) + { + if(-d $entry and ($follow_links or not(-l $entry))) + { + if(opendir(DIR,$entry)) + { + @allEntries = readdir(DIR); + # print STDERR "[[$allEntries[0] $allEntries[1]]]\n"; + @entries = (); + while(@allEntries) + { + $subEntry = shift @allEntries; + if($subEntry ne '..' and $subEntry ne '.') + { + if($entry =~ /\/$/) + { + push(@entries, $entry . $subEntry); + } + else + { + push(@entries, $entry . '/' . $subEntry); + } + } + } + closedir(DIR); + push(@files, &getAllCodeRecursively($follow_links,@entries)); + } + else + { + print STDERR "Could not open directory -->$entry<-- skipping.\n"; + } + } + elsif(-f $entry and isCodeFile($entry)) + { + push(@files,$entry); + } + } + return @files; +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub getPathPrefix +{ + my $path = shift @_; + + $path =~ s/[^\/]*[\/]*$//; + return $path; +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub getPathSuffix +{ + my $path = shift @_; + + while($path =~ /\/$/) + { + chop($path); + } + if($path =~ /([^\/]+)$/) + { + $path = $1; + } + return $path; +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub remPathExt +{ + my $path = shift @_; + + $path =~ s/\.[^\.]*$//; + + return $path; +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub getPathExt +{ + my $path = shift @_; + + my $ext = ''; + if($path =~ /(\.[^\.]*)$/) + { + $ext = $1; + } + + return $ext; +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub expandPath +{ + my $file = shift @_; + my $home = "$ENV{HOME}"; + + # print STDERR "'$file' --> "; + $file =~ s/^ +//; + $file =~ s/ +$//; + $file =~ s/~/$home/ge; + $file =~ s/\$HOME/$home/ge; + $file =~ s/\$\(HOME\)/$home/ge; + $file =~ s/\$\{HOME\}/$home/ge; + # print STDERR "'$file'\n"; + + return $file; +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub resolvePath # ($file,$pwd) +{ + my $file = &expandPath(shift); + my $pwd = shift; + $pwd =~ s/[\/]+ *$//; + + $file = &isRelative($file) ? ($pwd . '/' . $file) : $file; + + return $file; +} + +##------------------------------------------------------------------------ +## Returns the depth of the file from the root directory. +##------------------------------------------------------------------------ +sub getPathDepth +{ + my $file = &expandPath(shift); + # Remove any leading ./ that indicate "current" directory. + while($file =~ s/^\.\///) {} + + my $depth=0; + for(; $file =~ /\S/; $file = &getPathPrefix($file)) + { $depth++; } + + return $depth; +} + + +##------------------------------------------------------------------------ +## Returns 1 if the file is an absolute path, 0 otherwise. +##------------------------------------------------------------------------ +sub isAbsolute # ($file) +{ + my $file = &expandPath(shift); + + # If the first symbol is /, it's absolute. + return ($file =~ /^ *\//); +} + +##------------------------------------------------------------------------ +## Returns 1 if the file is a relative path, 0 otherwise. +##------------------------------------------------------------------------ +sub isRelative # ($file) +{ + my $file = shift; + return not(&isAbsolute($file)); +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub dos2unix +{ + my $file = shift @_; + + $file =~ s/\\/\//g; + $file =~ s/[Cc]:/\/cygdrive\/c/; + + return $file; +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub isCodeFile +{ + my $file = shift; + + if(not(-f $file)) + { + return 0; + } + + if($file =~ /\.c$/i) { return 1; } + if($file =~ /\.cc$/i) { return 1; } + if($file =~ /\.cpp$/i) { return 1; } + if($file =~ /\.h$/i) { return 1; } + if($file =~ /\.hh$/i) { return 1; } + if($file =~ /\.htm$/i) { return 1; } + if($file =~ /\.html$/i) { return 1; } + if($file =~ /\.hpp$/i) { return 1; } + if($file =~ /\.java$/i) { return 1; } + if($file =~ /\.mak$/i) { return 1; } + if($file =~ /\.map$/i) { return 1; } + if($file =~ /\.pl$/i) { return 1; } + if($file =~ /\.pm$/i) { return 1; } + if($file =~ /\.py$/i) { return 1; } + if($file =~ /\.m$/i) { return 1; } + if($file =~ /\.s$/i) { return 1; } + if($file =~ /\.y$/i) { return 1; } + if($file =~ /Makefile/) { return 1; } + if($file =~ /Makefile\.common/) { return 1; } + + return 0; +} + + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub isObjectFile +{ + my $file = shift; + + if(not(-f $file)) + { + return 0; + } + + if($file =~ /\.o$/i) { return 1; } + if($file =~ /\.so$/i) { return 1; } + + return 0; +} + + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub protectFromShell # ($file) +{ + my $file = shift; + $file =~ s/([ ~"')(&])/\\$1/g; + return $file; +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub deprotectFromShell # ($file) +{ + my $file = shift; + $file =~ s/\\([^\\])/$1/g; + return $file; +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub getFileText # ($file_name) +{ + my $file_name = shift; + + if (defined($file_name)) + { + my $file = &openFile($file_name,'r'); + my @text = <$file>; + my $text = join("",@text); + return $text; + } + else + { + return ""; + } +} + +##------------------------------------------------------------------------ +## $int numRows ($string file_name, $int blanks=1) +##------------------------------------------------------------------------ +sub numRows +{ + my ($file_name, $blanks) = @_; + + $blanks = defined($blanks) ? $blanks : 1; + + my $num_rows = 0; + + if(-f $file_name) + { + my $wc = $blanks ? (`wc $file_name`) : (`grep -v '^[ ][ ]*\$' $file_name | wc`); + + my @wc = split(/ +/, $wc); + + $num_rows = $wc[1]; + } + return $num_rows; +} + +sub pad +{ + my ($list, $filler) = @_; + + my @padded; + + for(my $i = 0; $i < scalar(@{$filler}); $i++) + { + push(@padded, defined($$list[$i]) ? $$list[$i] : $$filler[$i]); + } + + return \@padded; +} + +##------------------------------------------------------------------------ +## $string fill ($int max_cols, \@list filling=[''], $int pad=0, +## $string delim="\t", $string line=$_) +##------------------------------------------------------------------------ +sub fill +{ + my ($max_cols, $filling, $pad, $delim, $line) = @_; + $pad = defined($pad) ? $pad : 0; + $delim = defined($delim) ? $delim : "\t"; + $line = defined($line) ? $line : $_; + + my $chomped = 0; + if($line =~ /\n$/) + { + chomp($line); + $chomped = 1; + } + + my @tuple = split($delim, $line); + my $num_cols = scalar(@tuple); + my $num_fill = defined($filling) ? scalar(@{$filling}) : 0; + + if(not($pad)) + { + for(my $i = 0; $i < $num_cols; $i++) + { + if(length($tuple[$i]) == 0 and $num_fill > 0) + { + $tuple[$i] = $$filling[$i % $num_fill]; + } + } + } + + for(my $i = $num_cols; $i < $max_cols; $i++) + { + my $filler = $num_fill > 0 ? $$filling[$i % $num_fill] : ''; + push(@tuple, $filler); + } + + my $filled = join($delim, @tuple); + + if($chomped) + { + $filled .= "\n"; + } + + return $filled; +} + +##------------------------------------------------------------------------ +## $int numTokens ($string delim="\t", $string line=$_) +##------------------------------------------------------------------------ +sub numTokens +{ + my ($delim, $line) = @_; + $delim = defined($delim) ? $delim : "\t"; + $line = defined($line) ? $line : $_; + return scalar(split($delim, $line)); +} + +##------------------------------------------------------------------------ +## $int numCols ($string file='-', $string delim="\t", \$string eaten=undef) +## +## Takes a file name as an argument. If the file is STDIN then it has to +## eat a line to determine the columns. This eaten line is saved in +## eaten if supplied. +##------------------------------------------------------------------------ +sub numCols +{ + my ($file, $delim, $eaten) = @_; + $file = defined($file) ? $file : '-'; + $delim = defined($delim) ? $delim : "\t"; + + my $filep; + open($filep, $file) or die("Could not open file '$file'"); + my $num_cols = &numCols2($filep, $delim, $eaten); + + if($file ne '-') + { + close($filep); + $$eaten = undef; + } + + return $num_cols; +} + +##----------------------------------------------------------------------------- +## $int numCols2 (\*FILE file=\*STDIN, $string delim="\t", \$string eaten=undef) +## +## Takes a file pointer as an argument. +## +## Eats a line of the file to figure out how many columns there are. +##----------------------------------------------------------------------------- +sub numCols2 +{ + my ($file, $delim, $eaten) = @_; + + $file = defined($file) ? $file : \*STDIN; + $delim = defined($delim) ? $delim : "\t"; + + my $line = <$file>; + my $num_cols = &numTokens($delim, $line); + + if(defined($eaten)) + { + $$eaten = $line; + } + + return $num_cols; +} + +##------------------------------------------------------------------------ +## $int maxCols ($string file='-', $string delim="\t", \@list eaten=undef) +## +## Takes a file name as an argument. If the file is STDIN then it has to +## eat a line to determine the columns. This eaten line is saved in +## eaten if supplied. +##------------------------------------------------------------------------ +sub maxCols +{ + my ($delim, $file, $eaten) = @_; + + $file = defined($file) ? $file : '-'; + + $delim = defined($delim) ? $delim : "\t"; + + my $filep; + + open($filep, $file) or die("Could not open file '$file'"); + + my $max_cols = 0; + + while(my $line = <$filep>) + { + my $num_cols = &numTokens($delim, $line); + + if($num_cols > $max_cols) + { + $max_cols = $num_cols; + } + + if($file eq '-' and defined($eaten)) + { + push(@{$eaten}, $line); + } + } + close($filep); + + return $max_cols; +} + +##---------------------------------------------------------------------------- +## \@list &readHeader(\*FILE file=\*STDIN, $int num_rows=1, $string delim="\t") +# +# Read columns from the file. Returns a list containing each column +# where the elements in the column are seperated by delim. +##---------------------------------------------------------------------------- +sub readHeader +{ + my ($file, $num_rows, $delim_in, $delim_out) = @_; + $file = defined($file) ? $file : \*STDIN; + $num_rows = defined($num_rows) ? $num_rows : 1; + $delim_in = defined($delim_in) ? $delim_in : "\t"; + $delim_out = defined($delim_out) ? $delim_out : $delim_in; + + my @column; + + for(my $i = 0; ($i < $num_rows) and not(eof($file)); $i++) + { + my $line = <$file>; + + my @tuple = split($delim_in, $line); + + chomp($tuple[$#tuple]); + + for(my $j = 0; $j < scalar(@tuple); $j++) + { + $column[$j] .= ($i == 0) ? $tuple[$j] : ($delim_out . $tuple[$j]); + } + } + + return \@column; +} + +sub duplicate +{ + my ($num_copies, @entries) = @_; + + $num_copies = defined($num_copies) ? $num_copies : 1; + + if(scalar(@entries) == 0) + { + push(@entries, ''); + } + + my @tuple; + + for(my $i = 0; $i < $num_copies; $i++) + { + push(@tuple, @entries); + } + + return \@tuple; +} + +##---------------------------------------------------------------------------- +## \@list &getCols(\@list, $string ranges, \$int max_cols) +##---------------------------------------------------------------------------- +sub getCols +{ + my ($list, $ranges, $max_cols) = @_; + + if(defined($list) and defined($ranges) and defined($max_cols)) + { + my $num_cols = scalar(@{$list}); + my $updated = 0; + if($num_cols > $$max_cols) + { + $$max_cols = $num_cols; + if(defined($ranges)) + { + my @cols = &parseRanges($ranges, $$max_cols); + for(my $i = 0; $i < scalar(@cols); $i++) + { + $cols[$i]--; + } + return \@cols; + } + } + } + return undef; +} + + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub fileExists +{ + my ($file) = @_; + return (-f $file); +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub dirExists +{ + my ($dir) = @_; + return (-d $dir); +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub linkExists +{ + my ($link) = @_; + return (-l $link); +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub pathExists +{ + my ($path) = @_; + return ((-f $path) or (-d $path) or (-l $path)); +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub allFilesExist +{ + foreach my $file (@_) + { + if(not(&fileExists($file))) + { + return 0; + } + } + return 1; +} + +##------------------------------------------------------------------------ +## +##------------------------------------------------------------------------ +sub allPathsExist +{ + foreach my $path (@_) + { + if(not(&pathExists($path))) + { + return 0; + } + } + return 1; +} + +##------------------------------------------------------------------------ +## \@list getHeader ($string file, $int num_lines=1, $string delim="\t" +## \$FILE* filep) +## +## \$FILE* filep - If supplied gets a copy of the file pointer (and +## the file is *not* closed but kept open). +##------------------------------------------------------------------------ +sub getHeader +{ + my ($file, $num_lines, $delim, $filep) = @_; + $num_lines = defined($num_lines) ? $num_lines : 1; + $delim = defined($delim) ? $delim : "\t"; + + my $fp; + open($fp, $file) or die("Could not open file '$file'"); + + my @header; + for(my $i = 0; $i < $num_lines; $i++) + { + my $line = <$fp>; + my @line = split($delim, $line); + chomp($line[$#line]); + + for(my $j = 0; $j < scalar(@line); $j++) + { + $header[$j] .= length($header[$j]) > 0 ? " $line[$j]" : $line[$j]; + } + } + + if(not(defined($filep))) + { + close($fp); + } + else + { + $$filep = $fp; + } + + return \@header; +} + +#------------------------------------------------------------------------ +# @list parseRanges ($string ranges, $int last_col, $int offset=0) +#------------------------------------------------------------------------ +sub parseRanges +{ + my ($ranges, $last_col, $offset) = @_; + $offset = defined($offset) ? $offset : 0; + + my @segments = (); + my @range = (); + my @fields = (); + my ($i,$beg,$end,$inc) = (0,-1,-1,1); + my $seg; + @segments = split(",", $ranges); + foreach $seg (@segments) + { + $beg = undef; + $end = undef; + $inc = undef; + + if($seg =~ /^([-]{0,1}\d+)[-:](\d+)[-:]([-\d]*)/) + { + $beg = $1; + $inc = $2; + $end = $3; + } + elsif($seg =~ /^([-]{0,1}\d+)[:-]([-\d]*)/) + { + $beg = $1; + $end = $2; + $inc = 1; + } + elsif($seg =~ /^([-\d]+)/) + { + $beg = $1; + $end = $1; + $inc = 1; + } + + $beg = (defined($beg) and $beg =~ /\S/) ? $beg : 0; + $beg = (defined($beg) and $beg < 0) ? (defined($last_col) ? $last_col + $beg + 1 : undef) : $beg; + $end = (defined($end) and $end =~ /\S/) ? $end : (defined($last_col) ? $last_col : undef); + $end = (defined($end) and $end < 0) ? (defined($last_col) ? $last_col + $end + 1 : undef) : $end; + $inc = $inc =~ /\S/ ? $inc : 1; + + if(defined($beg) and defined($end) and defined($inc)) + { + for($i = $beg; $i <= $end; $i += $inc) + { + push(@fields, $i); + } + } + } + + if($offset != 0) + { + for(my $i = 0; $i < scalar(@fields); $i++) + { + $fields[$i] += $offset; + } + } + + return @fields; +} + +##-------------------------------------------------------------------------------------- +## $int evalRegex ($string value=$_, $string regex='/\S/', +## $string op='=~', $string hardop=undef, $int negate=0) +## +## Returns 1 if the regular expression evaluates to true. +## +## hardop - supplies a specific operation. Valid are: +## 'gt' for $value > $regex +## 'gte' for $value >= $regex +## 'lt' for $value < $regex +## 'lte' for $value <= $regex +##-------------------------------------------------------------------------------------- +sub evalRegex +{ + my ($value, $regex, $op, $hardop, $negate) = @_; + $value = defined($value) ? $value : $_; + $regex = defined($regex) ? $regex : '/\S/'; + $op = defined($op) ? $op : '=~'; + $hardop = defined($hardop) ? $hardop : undef; + $negate = defined($negate) ? $negate : 0; + + my $result = 0; + + if(not(defined($hardop))) + { + $result = $negate ? eval("not(\$value $op $regex);") : + eval("\$value $op $regex;"); + $result = (defined($result) and $result) ? 1 : 0; + } + elsif($hardop eq 'eq') + { + $result = $value eq $regex ? 1 : 0; + } + elsif($hardop eq 'ne') + { + $result = $value ne $regex ? 1 : 0; + } + elsif($hardop eq 'gt') + { + $result = $value gt $regex ? 1 : 0; + } + elsif($hardop eq 'lt') + { + $result = $value lt $regex ? 1 : 0; + } + elsif($hardop eq 'gte') + { + $result = (($value gt $regex) or ($value eq $regex)) ? 1 : 0; + } + elsif($hardop eq 'lte') + { + $result = (($value lt $regex) or ($value eq $regex)) ? 1 : 0; + } + elsif($hardop eq '=') + { + $result = $value == $regex ? 1 : 0; + } + elsif($hardop eq '==') + { + $result = $value == $regex ? 1 : 0; + } + elsif($hardop eq '!=') + { + $result = $value != $regex ? 1 : 0; + } + elsif($hardop eq '>') + { + $result = $value > $regex ? 1 : 0; + } + elsif($hardop eq '>=') + { + $result = $value >= $regex ? 1 : 0; + } + elsif($hardop eq '<') + { + $result = $value < $regex ? 1 : 0; + } + elsif($hardop eq '<=') + { + $result = $value <= $regex ? 1 : 0; + } + return $result; +} + +##------------------------------------------------------------------------ +## \%attrib parseArgs (\@list args, \@list flag_tuples, $int store_extra=0) +## +## \@args - list of arguments (from @ARGV usually) +## +## \@flag_tuples - a list of triples where each triple gives: +## +## (FLAG,TYPE,DEFAULT,EATS) +## +## for each option. FLAG is the string (or regular expression) +## that indicates use of the option (including the dash if +## dashes are being used!). DEFAULT is the default value for +## the option used when the option's flag is not found in the +## argument list. If EATS is defined then the next argument in +## \@args is "eaten" to retrieve the value for the option; if +## EATS is undef then it does *not* eat the next character +## but fills in the string contained in EATS for the option +## when its flag is encountered. TYPE can be any of: +## +## 'scalar' - the option is a scalar quantity +## 'list' - the option is a list +## 'set' - the option is a set +## 'map' - the option is an associative array +## 'file' - the option is the name of a file +## +## +## The special FLAG '--file' reads a file from the arguments. +## +## $store_extra - If 1 stores unrecognized arguments in a list that can +## be accessed with '--extra'. Otherwise the function +## dies if an unrecognized argument is encountered (default) +## +##------------------------------------------------------------------------ +sub parseArgs +{ + my ($args, $flag_tuples, $store_extra) = @_; + $store_extra = defined($store_extra) ? $store_extra : 0; + + my @args = defined($args) ? @{$args} : (); + my @f = defined($flag_tuples) ? @{$flag_tuples} : (); + my %options; + my %option_overwritten; + my @extra; + + # Store the defaults in the options. + for(my $i = 0; $i < scalar(@f); $i++) + { + my ($flag, $type, $default, $eats) = ($f[$i][0],$f[$i][1],$f[$i][2],$f[$i][3]); + $options{$flag} = $default; + } + + while(@args) + { + my $arg = shift @args; + if($arg eq '--help') + { + @args = (); + $options{'--help'} = 1; + } + else + { + my $matched_arg = 0; + for(my $i = 0; $i < scalar(@f); $i++) + { + my ($flag, $type, $default, $eats) = ($f[$i][0],$f[$i][1],$f[$i][2],$f[$i][3]); + + if(($flag =~ /^--file/ and ((-f $arg) or ($arg eq '-'))) or + ($arg eq $flag)) + { + $matched_arg = 1; + my $value = $arg; + if(defined($eats)) + { + $value = $eats; + } + elsif(not($flag =~ /^--file/)) + { + $value = shift @args; + } + + if($type eq 'scalar') + { + $options{$flag} = $value; + } + elsif($type eq 'list') + { + if(not(defined($option_overwritten{$flag}))) + { + my @empty_list; + $options{$flag} = \@empty_list; + } + my $list = $options{$flag}; + push(@{$list}, $value); + } + elsif($type eq 'set') + { + if(not(defined($option_overwritten{$flag}))) + { + my %empty_set; + $options{$flag} = \%empty_set; + } + my $set = $options{$flag}; + $$set{$value} = 1; + } + elsif($type eq 'map') + { + if(not(defined($option_overwritten{$flag}))) + { + my %empty_map; + $options{$flag} = \%empty_map; + } + my ($attrib,$val) = split('=',$value); + my $map = $options{$flag}; + $$map{$attrib} = $val; + } + $option_overwritten{$flag} = 1; + } + } + if(not($matched_arg)) + { + if($store_extra) + { + push(@extra, $arg); + } + else + { + die("Bad argument '$arg' given"); + } + } + } + } + + # If we picked up any extra arguments put them in the hash. + $options{'--extra'} = \@extra; + + return \%options; +} + +sub readKeyedTuples +{ + my ($file, $delim, $key_col, $headers) = @_; + $file = defined($file) ? $file : $_; + $delim = defined($delim) ? $delim : "\t"; + $key_col = defined($key_col) ? $key_col : 0; + $headers = defined($headers) ? $headers : 0; + + my %set; + + my $filep = &openFile($file); + my $line_no = 0; + while(<$filep>) + { + $line_no++; + if($line_no > $headers) + { + my @x = split($delim); + chomp($x[$#x]); + my $key = splice(@x, $key_col, 1); + $set{$key} = \@x; + } + } + + return \%set; +} + +sub download +{ + my ($url, $dir, $pattern) = @_; + $dir = defined($dir) ? $dir : '.'; + + my $wget = "wget --retr-symlinks --passive-ftp --follow-ftp -Q 0 -N -nd -t 1 -P $dir"; + + my $cmd = defined($pattern) ? "$wget '$url/*' -A$pattern" : + "$wget '$url'"; + + `$cmd`; + + my $downloaded_file = undef; + + if($url =~ /\/([^\/]+) *$/) + { + $downloaded_file = $dir . '/' . $1; + } + + return $downloaded_file; +} + +sub downloadMultiple +{ + my ($url, $dir, $pattern) = @_; + $dir = defined($dir) ? $dir : '.'; + + my $wget = "wget --retr-symlinks --passive-ftp -Q 0 -N -nd -t 1 -P $dir"; + + my $cmd = "$wget $url"; + + `$cmd`; + + my $downloaded_file = undef; + + if($url =~ /\/([^\/]+) *$/) + { + $downloaded_file = $dir . '/' . $1; + } + + return $downloaded_file; +} + +sub copyFile +{ + my ($source, $destination) = @_; + + my $s = &openFile($source, "r"); + + my $d = &openFile($destination, "w"); + + (defined($s) and defined($d)) or die("Could not copy '$source' to '$destination'"); + + while(my $line = <$s>) + { + print $d $line; + } + + close($s); + + close($d); +} + +sub deleteFile +{ + my ($file) = @_; + + system("rm -f $file"); +} + +sub makeTmpFile +{ + my ($prefix, $file) = @_; + + $prefix = defined($prefix) ? $prefix : ''; + + my $suffix = '.tmp'; + + my $tmpname = ''; + + my $tmpfile = undef; + + my $maxtries = 1000000; + + for(my $i = 0; not(defined($tmpfile)) and ($i < $maxtries); $i++) + { + my $time = time; + + my $rand = int(rand(1000000)); + + $tmpname = $prefix . '_' . $time . '_' . $rand . $suffix; + + if(&pathExists($tmpname)) + { + $tmpfile = undef; + } + + else + { + if(defined($file)) + { + ©File($file, $tmpname); + } + return $tmpname; + } + } + + die("Could not open a temporary file"); + + return $tmpname; +} + +sub findLine +{ + my ($filep, $patterns, $logic) = @_; + + $logic = defined($logic) ? $logic : 'and'; + + my $result = undef; + + if(($logic =~ /and/i) or ($logic =~ /all/i)) + { + $result = &findLineWhereAllMatch($filep, $patterns); + } + + if(($logic =~ /or/i) or ($logic =~ /any/i)) + { + $result = &findLineWhereAnyMatch($filep, $patterns); + } + + return $result; +} + +sub findLineWhereAllMatch +{ + my ($filep, $patterns) = @_; + + while(my $line = <$filep>) + { + my $match = 1; + + foreach my $pattern (@{$patterns}) + { + if(not($line =~ /$pattern/)) + { + $match = 0; + } + } + + if($match) + { + return $line; + } + } + + return undef; +} + +sub findLineWhereAnyMatch +{ + my ($filep, $patterns) = @_; + + while(my $line = <$filep>) + { + my $match = 0; + + foreach my $pattern (@{$patterns}) + { + if($line =~ /$pattern/) + { + $match = 1; + } + } + + if($match) + { + return $line; + } + } + + return undef; +} + +sub printMatrix +{ + my ($matrix, $file, $delim_col, $delim_row) = @_; + + $file = defined($file) ? $file : \*STDOUT; + + $delim_col = defined($delim_col) ? $delim_col : "\t"; + + $delim_row = defined($delim_row) ? $delim_row : "\n"; + + my $n = scalar(@{$matrix}); + + for(my $i = 0; $i < $n; $i++) + { + print $file join($delim_col, @{$$matrix[$i]}), $delim_row; + } +} + +sub readIds +{ + my ($file, $column, $delim) = @_; + + $column = defined($column) ? $column : 0; + + $delim = defined($delim) ? $delim : "\t"; + + my $filep = &openFile($file); + + my $num_keys = 0; + + my %seen; + + my @ids; + + my @rows; + + my $row = 0; + + while(my $line = <$filep>) + { + my @tuple = split($delim, $line); + + if($column <= $#tuple) + { + my $key = $tuple[$column]; + + if(not(exists($seen{$key}))) + { + $ids[$num_keys] = $key; + + $rows[$num_keys] = [$row]; + + $seen{$key} = $num_keys; + + $num_keys++; + } + else + { + my $first_row = $seen{$key}; + + push(@{$rows[$first_row]}, $row); + } + } + + $row++; + } + + close($filep); + + return (\@ids, \@rows); +} + +sub readDataMatrix +{ + my ($file, $key_col, $delim, $max_cols) = @_; + + $file = defined($file) ? $file : $_; + + $key_col = defined($key_col) ? $key_col : 0; + + $delim = defined($delim) ? $delim : "\t"; + + my $filep = &openFile($file); + + my @data; + + if(defined($max_cols)) + { + $$max_cols = 0; + } + + while(my $line = <$filep>) + { + my @tuple = split($delim, $line); + + chomp($tuple[$#tuple]); + + my $key = splice(@tuple, $key_col, 1); + + unshift(@tuple, $key); + + push(@data, \@tuple); + + if(defined($max_cols) and scalar(@tuple) > $$max_cols) + { + $$max_cols = scalar(@tuple); + } + } + + close($filep); + + return \@data; +} + +sub getFilesFromList +{ + my ($args) = @_; + + my @files; + + foreach my $arg (@{$args}) + { + if((-f $arg) or (-l $arg)) + { + push(@files, $arg); + } + } + + return \@files; +} + +sub getColumn +{ + my ($file, $col, $delim, $blank) = @_; + + $file = defined($file) ? $file : $_; + + $col = defined($col) ? $col : 0; + + $delim = defined($delim) ? $delim : "\t"; + + my @list; + + my $filep = &openFile($file); + + while(my $line = <$filep>) + { + my @x = split($delim, $line); + + chomp($x[$#x]); + + my $val = $col < scalar(@x) ? $x[$col] : + (defined($blank) ? $blank : undef); + + if(defined($val)) + { + push(@list, $val); + } + } + + close($filep); + + return \@list; +} + + +##-------------------------------------------------------------------------------------- +## ExtractFileLinesBetweenRegexps +##-------------------------------------------------------------------------------------- +sub ExtractFileLinesBetweenRegexps +{ + my ($in_file_ref, $out_file_ref, $regexp_from, $regexp_to, $from_inclusive, $to_inclusive) = @_; + + if ( $regexp_from eq $regexp_to ) { + die "(/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/libfile.pl) ExtractFileLinesBetweenRegexps() - 'from' and 'to' regexps are identical. Give me a break, use grep.\n"; + } + + my $reached_from = 0; + if ( $regexp_from eq "" ) { + $reached_from = 1; + } + + while (<$in_file_ref>) { + chomp; + + if ( $reached_from == 0 ) { + if ( $_ =~ /$regexp_from/ ) { + $reached_from = 1; + next unless ( $from_inclusive ); + } + } + + if ( $reached_from == 1 ) { + if ( $regexp_to ne "" and $_ =~ /$regexp_to/ ) { + print $out_file_ref "$_\n" if ( $to_inclusive ); + last; # break from while loop, and end. + } + else { + print $out_file_ref "$_\n"; + } + } + } +} + + +##-------------------------------------------------------------------------------------- +## ExtractAllFileLinesNotBetweenRegexps +##-------------------------------------------------------------------------------------- +sub ExtractAllFileLinesNotBetweenRegexps +{ + my ($in_file_ref, $out_file_ref, $regexp_from, $regexp_to, $from_inclusive, $to_inclusive) = @_; + + if ( $regexp_from eq $regexp_to ) { + die "(/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/libfile.pl) ExtractAllFileLinesNotBetweenRegexps() - 'from' and 'to' regexps are identical. Give me a break, use grep.\n"; + } + + my $print_flag = 1; + if ( $regexp_from eq "" ) { + $print_flag = 0; + } + + while (<$in_file_ref>) { + chomp; + + if ( $print_flag == 1 ) { + if ( $_ =~ /$regexp_from/ ) { + $print_flag = 0; + next unless ( $from_inclusive ); + } + print $out_file_ref "$_\n"; + } + + if ( $print_flag == 0 ) { + last if ( $regexp_to eq "" ); # break from while loop, and end. + + if ( $_ =~ /$regexp_to/ ) { + $print_flag = 1; + print $out_file_ref "$_\n" if ( $to_inclusive ); + } + } + } +} + + +##-------------------------------------------------------------------------------------- +## ReplaceStringInFile +##-------------------------------------------------------------------------------------- +sub ReplaceStringInFile +{ + my ($in_file_ref, $out_file_ref, $to_replace, $replace_with) = @_; + + while (<$in_file_ref>) { + chomp; + $_ =~ s/$to_replace/$replace_with/g; + print $out_file_ref "$_\n"; + } +} + +1 diff --git a/modules/local/pita/templates/lib/libstats.pl b/modules/local/pita/templates/lib/libstats.pl new file mode 100755 index 00000000..92f24422 --- /dev/null +++ b/modules/local/pita/templates/lib/libstats.pl @@ -0,0 +1,816 @@ +#!/usr/bin/perl + +use strict; +use POSIX; + +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/ltqnorm.pl"; + +my $MAXDOUBLE = 1e200; + +my $LOG10 = log(10); + +my $PI = 3.141592654; + +my $MIN_NUMBER_TO_EXPONENTIATE = -100; + +#print ComputeHyperPValue($ARGV[0], $ARGV[1], $ARGV[2], $ARGV[3]) . "\n"; +#print NormalStd2Pvalue($ARGV[0]); + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub ComputeBinomial +{ + my ($p, $n, $r) = @_; + + my $binom = -$MAXDOUBLE; + my $x=1; + for (my $i = $r; $i <= $n; $i++) + { + $binom = &AddLog($binom, lchoose($i, $n) + $i * log($p) + ($n - $i) * log(1-$p)); + } + + return exp($binom); +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub ComputeBinomial2 +{ + my ($p, $n, $r) = @_; + + my $binom = -$MAXDOUBLE; + my $x=1; + for (my $i = $r; $i <= $n; $i++) + { + $binom = &AddLog($binom, lchoose_Stanica($i, $n) + $i * log($p) + ($n - $i) * log(1-$p)); + } + + return exp($binom); +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub Log +{ + my ($x) = @_; + + if ($x == 0.0) + { + return -$MAXDOUBLE; + } + else + { + return log($x); + } +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub ComputeTTest +{ + my ($x, $dof) = @_; + + my $u = $dof / ($dof + $x * $x); + + my $val = 0.5 * &BetaCDF($u, 0.5 * $dof, 0.5); + + return $x > 0 ? 1 - $val : $val; +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub ComputeTValue +{ + my ($n1, $m1, $s1, $n2, $m2, $s2) = @_; + + my $se = sqrt ((($s1 * $s1) / $n1) + (($s2 * $s2) / $n2)); + + my $val = ($m1 - $m2) / $se; + + return $val < 0 ? $val : -$val; +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub BetaCDF +{ + my ($x, $a, $b) = @_; + + my $bt; + + if ($x == 0 or $x == 1) { $bt = 0; } + else + { + $bt = exp(&lgamma($a + $b) - &lgamma($a) - &lgamma($b) + $a * log($x) + $b * log(1 - $x)); + } + + return $x < (($a + 1) / ($a + $b + 2)) ? return ($bt * &BetaCF($x, $a, $b) / $a) : 1 - ($bt * &BetaCF(1 - $x, $a, $b) / $b) +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub BetaCF +{ + my ($x, $a, $b) = @_; + + my $maxit = 100; + + my $eps = 0.0000003; + my $am = 1; + my $bm = 1; + my $az = 1; + my $qab = $a + $b; + my $qap = $a + 1; + my $qam = $a - 1; + my $bz = 1 - $qab * $x / $qap; + my $tem; + my $em; + my $d; + my $bpp; + my $bp; + my $app; + my $aOld; + my $ap; + + for (my $m = 1; $m <= $maxit; $m++) + { + $em = $m; + $tem = $em + $em; + $d = $em * ($b - $m) * $x / (($qam + $tem) * ($a + $tem)); + $ap = $az + $d * $am; + $bp = $bz + $d * $bm; + $d = -($a + $em) *($qab + $em) * $x / (($a + $tem) * ($qap + $tem)); + $app = $ap + $d * $az; + $bpp = $bp + $d * $bz; + $aOld = $az; + $am = $ap / $bpp; + $bm = $bp / $bpp; + $az = $app / $bpp; + $bz = 1; + if (&Abs($az - $aOld) < $eps * &Abs($az)) + { + last; + } + } + + return $az; +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub Abs +{ + my ($x) = @_; + + return $x > 0 ? $x : -$x; +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub ComputeLog10HyperPValue +{ + my ($k, $n, $K, $N) = @_; + + my $p = $K / $N; + + if ($k < $p * $n) + { + return 0; + } + + + if ($N == 0 or $n == 0 or ($k > $n) or ($K > $N)) + { + return undef; + } + + my $pvalue = &lchoose($k, $K) + &lchoose($n - $k, $N - $K) - &lchoose($n, $N); + + return $pvalue / $LOG10; +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub ComputeHyperPValue +{ + my ($k, $n, $K, $N) = @_; + + my $p = $K / $N; + + my $d = ($k < $p * $n) ? -1 : +1; + + my $PVal = 0; + + if ($d == 1) + { + $PVal = -$MAXDOUBLE; + + for (; $k >= 0 and $k <= $n and $k <= $K ; $k += $d) + { + my $x = &lchoose($k, $K) + &lchoose($n - $k, $N - $K) - &lchoose($n, $N); + +# my $x = &log_bincoef_approx($k, $K) + &log_bincoef_approx($n - $k, $N - $K) - &log_bincoef_approx($n, $N); + + $PVal = &AddLog($PVal, $x); + } + } + + return exp($PVal); +} + + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub ComputeHyperPValue2 +{ + my ($k, $n, $K, $N) = @_; + my $p = $K / $N; + my $d = ($k < $p * $n) ? -1 : +1; + my $PVal = 0; + if ($d == 1) + { + $PVal = -$MAXDOUBLE; + for (; $k >= 0 and $k<=$n and $k<=$K; $k += $d) + { + my $x = &lchoose_Stanica($k, $K) + &lchoose_Stanica($n - $k, $N - $K) - &lchoose_Stanica($n, $N); + $PVal = &AddLog($PVal, $x); + } + } + return exp($PVal); +} + +# bound formulas taken from "Good lower and upper bounds on binomial coefficients" JIPAM (2001) by Stanica +sub lchoose_Stanica{ + my $n=shift; + my $k=shift; + return (lchoose_Stanica_upperb($n,$k)+lchoose_Stanica_lowerb($n,$k))/2; +} + +#upper bound +sub lchoose_Stanica_upperb{ + my $n=shift; + my $k=shift; + if ($k==$n or $n==0){return 0}; + my $m=$k/$n; + return log(1/sqrt(2*(4*atan2(1,1))))-0.5*log($n)+($m*$n+0.5)*log($m)-(($m-1)*$n+0.5)*log($m-1)-($n+0.5)*log(1) ; +} + +#lower bound +sub lchoose_Stanica_lowerb{ + my $n=shift; + my $k=shift; + if ($k==$n or $n==0){return 0}; + my $m=$k/$n; + return log(1/sqrt(2*(4*atan2(1,1))))+1-1/(8*$n)-0.5*log($n)+($m*($n-1)+1)*log($m)-($m-1)*($n-1)*log($m-1)-($n+0.5)*log(1) ; +} + + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub log_bincoef_approx + { + my ($k,$n); + + my $MY_PI = 4 * atan2(1, 1); + + if ($k==$n or $k==0){ + return 0; + } + + my $m = $n/$k; + + my $const = (1 / sqrt(2 * $MY_PI)); + + return log($const) + log($k)*(-0.5) + log($m)*($m*($k-1)+1) - log($m-1)*($m-1)*($k-1); + +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub log10 { + my $n = shift; + return log($n)/log(10); +} + + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub ComputeHyperPValueOneTailed +{ + my ($k, $n, $K, $N) = @_; + + my $p = $K / $N; + + my $d = ($k < $p * $n) ? -1 : +1; + + my $PVal = 0; + + if ($d == 1) + { + $PVal = -$MAXDOUBLE; + + for (; $k >= 0 and $k <= $n; $k += $d) + { + my $x = &lchoose($k, $K) + &lchoose($n - $k, $N - $K) - &lchoose($n, $N); + + $PVal = &AddLog($PVal, $x); + } + } + + return exp($PVal); +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub ComputeWilcoxonSumRankTest +{ + my ($m, $n, $w) = @_; + + # m = number of items in sample 1 + # n = number of items in sample 2 + # w = sum of the ranks in sample 2 + + my $mean = $n * ($m + $n + 1) / 2; + my $std = sqrt($m * $n * ($m + $n + 1) / 12); + + my $num_std = abs(($w - $mean) / $std); + + #print "m=$m n=$n w=$w $mean\t$std\t$num_std\n"; + + return &NormalStd2Pvalue($num_std); +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub ComputeMannWhitneyUTest +{ + my ($n1, $n2, $r1) = @_; + + my $U = $n1*$n2 + ($n1*($n1+1)/2) - $r1; + return ($U / ($n1*$n2)); +} + + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub ComputeWilcoxonSumRankTestOneTailed +{ + my ($m, $n, $w) = @_; + + # m = number of items in sample 1 + # n = number of items in sample 2 + # w = sum of the ranks in sample 2 + # + # Checking hypothesis that sample 1 has sum of ranks lower than + # sample 2. + + my $mean = $n * ($m + $n + 1) / 2; + my $std = sqrt($m * $n * ($m + $n + 1) / 12); + + my $num_std = abs(($w - $mean) / $std); + + #print "m=$m n=$n w=$w $mean\t$std\t$num_std\n"; + + my $twoTailed = &NormalStd2Pvalue($num_std); + + return ($w > $mean ? $twoTailed : (1-$twoTailed)); +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub lchoose +{ + my ($k, $N) = @_; + + return $k > $N ? 0 : &lgamma($N + 1) - &lgamma($k + 1) - &lgamma($N - $k + 1); +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub AddLog +{ + my ($x, $y) = @_; + + if ($x == -$MAXDOUBLE) { return $y }; + if ($y == -$MAXDOUBLE) { return $x }; + if ($x >= $y) + { + $y -= $x; + } + else + { + my $t = $x; + $x = $y; + $y = $t - $x; + } + + return $x + log(1 + exp($y)); +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub lgamma +{ + # per code from numerical recipies + my $xx = $_[0]; + + my ($j, $ser, $stp, $tmp, $x, $y); + my @cof = (0.0, 76.18009172947146, -86.50532032941677, 24.01409824083091, -1.231739572450155, 0.1208650973866179e-2, -0.5395239384953e-5); + my $stp = 2.5066282746310005; + + $x = $xx; + $y = $x; + $tmp = $x + 5.5; + $tmp = ($x+0.5)*log($tmp)-$tmp; + $ser = 1.000000000190015; + foreach $j ( 1 .. 6 ) + { + $y+=1.0; + $ser+=$cof[$j]/$y; + } + return $tmp + log($stp*$ser/$x); +} + +#----------------------------------------------------------------------------- +# $double ComputeSymmetricUniformCdf(\@list reals, $int already_sorted=0) +#----------------------------------------------------------------------------- +sub ComputeSymmetricUniformCdf +{ + my ($reals, $already_sorted) = @_; + $already_sorted = defined($already_sorted) ? $already_sorted : 0; + + my $list; + if(not($already_sorted)) + { + my @list = sort {$b <=> $a} @{$reals}; + push(@list, 0.0); + $list = \@list; + } + else + { + $list = $reals; + } + + if(scalar(@{$list}) == 1) + { + return 1.0; + } + else + { + my $cummulative_probability = 0.0; + + for(my $i = 0; $i < scalar(@{$list}) - 1; $i++) + { + my $range = $$list[$i] - $$list[$i + 1]; + + my @list = @{$list}; + + splice(@list, $i, 1); + + $cummulative_probability += $range * &ComputeSymmetricUniformCdf(\@list, 1); + } + + return $cummulative_probability; + } +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub Pearson2FisherZ +{ + my ($r) = @_; + + my $z = defined($r) ? 0.5 * (log(1 + $r) - log(1 - $r)) : undef; + + return $z; +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub Pearson2FisherZscore +{ + my ($r, $dimensions) = @_; + + my $z = &Pearson2FisherZ($r); + my $zscore = (defined($z) and $dimensions > 3) ? $z * sqrt($dimensions - 3) : undef; + + return $zscore; +} + +my $TWICE_A = 1.7155277699214135; + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub sample_normal +{ + while (1) + { + my $u = rand(); + if ($u != 0.0) + { + my $v = (rand() - 0.5) * $TWICE_A; + my $x = $v / $u; + my $sqr_x = $x*$x; + if ($sqr_x <= 6 - 8*$u + 2*$u*$u) + { + return $x; + } + if (!($sqr_x >= 2 / $u - 2 * $u)) + { + if ($sqr_x <= -4 * log($u)) + { + return $x; + } + } + } + } +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub sample_normal_general +{ + my ($mean, $std) = @_; + + my $normal = &sample_normal(); + + return ($std * $normal) + $mean; +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub compute_normal_general +{ + my ($normal, $mean, $std) = @_; + + return (1 / (sqrt(2 * $PI) * $std)) * exp(-($normal - $mean) * ($normal - $mean) / (2 * $std * $std)); +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub compute_log_normal_general +{ + my ($normal, $mean, $std) = @_; + + my $prob = &compute_normal_general($normal, $mean, $std); + + return $prob == 0 ? -$MAXDOUBLE : log($prob); +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub NormalStd2Pvalue +{ + my ($std) = @_; + + my $max = 1; + my $min = 0; + my $res = ($min + $max) / 2; + + while ($max - $min > 0.000000000000001) + { + my $qnorm = <qnorm($res); + + if ($qnorm < $std) + { + $min = $res; + } + else + { + $max = $res; + } + + $res = ($max + $min) / 2; + } + + return 1 - $res; +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub IntersectNormals +{ + my ($mean1, $var1, $mean2, $var2, $lower_solution) = @_; + + my $a = $var1 - $var2; + my $b = 2 * $mean1 * $var2 - 2 * $mean2 * $var1; + my $c = $mean2 * $mean2 * $var1 - $mean1 * $mean1 * $var2 + $var1 * $var2 * 0.5 * log($var2 / $var1); + + my $res = 0; + + if ($a == 0) + { + $res = -$c / $b; + } + else + { + my $solution1 = (-$b + sqrt($b * $b - 4 * $a * $c)) / (2 * $a); + my $solution2 = (-$b - sqrt($b * $b - 4 * $a * $c)) / (2 * $a); + + $res = $lower_solution == 1 ? &Min($solution1, $solution2) : &Max($solution1, $solution2); + } + + return $res; +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub Min +{ + my ($num1, $num2) = @_; + + return $num1 < $num2 ? $num1 : $num2; +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub Max +{ + my ($num1, $num2) = @_; + + return $num1 > $num2 ? $num1 : $num2; +} + +#----------------------------------------------------------------------------- +# compute log(exp(a_1)+exp(a_2)+...exp(a_n)) using: +# max(a_1,a_2,..a_n) + log(1+exp(a_2-max(a_1,a_2,..a_n))+...exp(a_n-max(a_1,a_2,..a_n))) +#----------------------------------------------------------------------------- +sub LogOfSumOfExps +{ + my ($ref_exps) = @_; + + my @exps = @$ref_exps; + my $num_exps = scalar(@exps); + my $max_index = 0; + my $max = $exps[0]; + my $i = 0; + + for ($i=1; $i<$num_exps; $i++) + { + if ($exps[$i] > $max) + { + $max = $exps[$i]; + $max_index = $i; + } + } + + my $remaining_summand = 1.0; + + for ($i = 0; $i < $num_exps; $i++) + { + if ($i != $max_index) + { + my $difference = $exps[$i] - $max; + if ($difference > $MIN_NUMBER_TO_EXPONENTIATE){ + $remaining_summand += exp($difference); + } + } + } + + my $result = $max + log($remaining_summand); + + return $result; +} + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub KolmogorovSmirnovProbability +{ + my ($size1, $size2, $res_d_statistic) = @_; + + my $dtmp1 = sqrt(($size1 * $size2)/($size1 + $size2)); + + my $x = ($dtmp1 + 0.12 + 0.11 / $dtmp1) * $res_d_statistic; + + my $x2 = -2.0 * $x * $x; + my $eps1 = 10 * DBL_EPSILON; + my $eps2 = DBL_EPSILON; + + my $i = 1; + my $fac = 2.0; + my $sum = 0.0; + my $term = 0.0; + my $absterm = 0.0; + + do + { + $absterm = abs($term); + $term = $fac * exp($x2 * $i * $i); + $sum += $term; + $fac = -1 * $fac; + $i++; + } + while (abs($term) > $eps1 * $absterm && abs($term) > $eps2 * $sum); + + return $sum; + +} + + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub ArrayRefMean { + my $array_ref = shift; + my $num_elements = scalar @$array_ref; + my $sum = 0; + + foreach (@$array_ref) { + $sum += $_; + } + return $sum / $num_elements; +} + + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub ArrayRefStd { + my $array_ref = shift; + my $num_elements = scalar @$array_ref; + my $sum = 0; + my $sumsq = 0; + + foreach (@$array_ref) { + $sum += $_; + $sumsq += ($_ **2); + } + return sqrt( $sumsq/$num_elements - + (($sum/$num_elements) ** 2)); +} + + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub Bonferroni { + my ($alpha,$num_pvalues) = @_; + if ( $num_pvalues == 0 ) { return $alpha; } + return $alpha/$num_pvalues; +} + + +#----------------------------------------------------------------------------- +# +#----------------------------------------------------------------------------- +sub Fdr { + my ($alpha,$num_pvalues,$pvalues_ref) = @_; + if ( $num_pvalues == 0 ) { return 0; } + + my @sorted_pvalues = sort { $a <=> $b } @$pvalues_ref; + + for ( my $i = $num_pvalues-1 ; $i >= 0 ; $i-- ) { + my $randomly_expected = $sorted_pvalues[$i] * $num_pvalues; + my $current_pvalue = $randomly_expected / ($i+1); + if ( $current_pvalue <= $alpha ) { return $sorted_pvalues[$i]; } + } + return 0; +} + + + +#print NormalStd2Pvalue($ARGV[0]) . "\n"; +#print ComputeWilcoxonSumRankTest($ARGV[0], $ARGV[1], $ARGV[2]) . "\n"; +#print ComputeBinomial($ARGV[0], $ARGV[1], $ARGV[2]) . "\n"; +#print ComputeHyperPValue($ARGV[0], $ARGV[1], $ARGV[2], $ARGV[3]) . "\n"; #(k, n, K, N) +#print ComputeLog10HyperPValue($ARGV[0], $ARGV[1], $ARGV[2], $ARGV[3]) . "\n"; #(k, n, K, N) +#print &ComputeTTest($ARGV[0], $ARGV[1]) . "\n"; +#print &compute_normal_general($ARGV[0], $ARGV[1], $ARGV[2]) . "\n"; +#print &compute_log_normal_general($ARGV[0], $ARGV[1], $ARGV[2]) . "\n"; +#print &IntersectNormals(0, 1, 2, 4, 1); +#print "\n"; +#for(my$i=0;$i<=256;$i++){print "$i\t" . chr($i) . "A\n";} + +1 + diff --git a/modules/local/pita/templates/lib/libtable.pl b/modules/local/pita/templates/lib/libtable.pl new file mode 100755 index 00000000..9364ce9f --- /dev/null +++ b/modules/local/pita/templates/lib/libtable.pl @@ -0,0 +1,288 @@ +use strict; + +#------------------------------------------------------------------------ +# $int getNumCols($string file, $string delim="\t") +#------------------------------------------------------------------------ +sub getNumCols +{ + my ($file, $delim) = @_; + $delim = not(defined($delim)) ? "\t" : $delim; + my $fp; + open($fp, $file) or die("Could not open file '$file'"); + my $done = 0; + my $num_cols = undef; + while(not(defined($num_cols)) and not(eof($fp))) + { + my $line = <$fp>; + if($line =~ /\S/) + { + my @tuple = split($delim, $line); + $num_cols = scalar(@tuple); + # print STDERR "$num_cols : ", join("-", @tuple), "'\n"; + } + } + return $num_cols; +} + +#------------------------------------------------------------------------ +# ($string, \@list) splitKeyAndValue ($string line, \@list key_cols, +# \@list sorted_key_cols, $string delim) +#------------------------------------------------------------------------ +sub splitKeyAndValue +{ + my ($line,$key_cols,$sorted_key_cols,$delim) = @_; + $sorted_key_cols = defined($sorted_key_cols) ? $sorted_key_cols : $key_cols; + $delim = defined($delim) ? $delim : "\t"; + my @tuple = split($delim, $line); + my @tuple_copy = @tuple; + + if($#tuple == -1) + { return (undef,undef); } + + chomp($tuple[$#tuple]); + chomp($tuple_copy[$#tuple]); + + # Remove key entries from the tuple in reverse order to + # preserve the indexing. + my @key; + my $j=0; + for(my $i=scalar(@{$sorted_key_cols})-1; $i>=0; $i--) + { + $j++; + push(@key, $tuple_copy[$$key_cols[$j]]); + splice(@tuple,$$sorted_key_cols[$i], 1); + } + return (join($delim,@key),\@tuple); +} + +#--------------------------------------------------------------------------- +# \@list listRead ($string file, $string delim="\t", \@list key_cols=(1)) +#--------------------------------------------------------------------------- +sub tableRead +{ + my ($file, $delim, $key_cols) = @_; + $delim = not(defined($delim)) ? "\t" : $delim; + if(not(defined($key_cols))) + { + my @key_cols = (1); + $key_cols = \@key_cols; + } + my @sorted_key_cols = sort { $a <=> $b; } @{$key_cols}; + my $filep; + open($filep, $file) or die("Could not open file '$file'"); + my @tuples; + while(<$filep>) + { + chomp; + my $line = $_; + my ($key, $tuple) = &splitKeyAndValue($line, $key_cols, \@sorted_key_cols, $delim); + my @key_tuple = ($key); + push(@key_tuple, @{$tuple}); + push(@tuples, \@key_tuple); + } + close($filep); + + return \@tuples; +} + +#------------------------------------------------------------------------ +# \@list emptyTuple ($int n) +#------------------------------------------------------------------------ +sub emptyTuple +{ + my $n = shift; + my @blanks = (); + + for(my $i=0; $i<$n; $i++) + { push(@blanks,''); } + + return \@blanks; +} + +#------------------------------------------------------------------------ +# $int getTupleLength ($string line, $string delim) +#------------------------------------------------------------------------ +sub getTupleLength +{ + my ($line, $delim) = @_; + $line = defined($line) ? $line : $_; + $delim = defined($delim) ? $delim : "\t"; + + my @tuple = split($delim, $line); + return ($#tuple + 1); +} + +#------------------------------------------------------------------------ +# $int compareKeys ($string key1, $string key2) +#------------------------------------------------------------------------ +sub compareKeys +{ + my ($key1, $key2) = @_; + + if(not(defined($key1)) or length($key1)==0) + { return 1; } + + if(not(defined($key2)) or length($key2)==0) + { return -1; } + + return($key1 cmp $key2); +} + +#------------------------------------------------------------------------ +# $string getSubTupleString ($string line, \@list cols, $string delim) +#------------------------------------------------------------------------ +sub getSubTupleString +{ + my ($line,$cols,$delim) = @_; + $delim = defined($delim) ? $delim : "\t"; + my @tuple = split($delim, $line); + + if($#tuple==-1 or scalar(@{$cols})<=0) + { return undef; } + + chomp($tuple[$#tuple]); + + my $sub = $tuple[$$cols[0]]; + for(my $i=1; $i $precision) + { $precision = $num; } + } + return $precision; +} + +#------------------------------------------------------------------------ +# (\@list lines, $string last_line) +# getLinesWithIdenticalKeys ($fp file, \@list key_cols, +# $string last_line, string $delim) +#------------------------------------------------------------------------ +sub getLinesWithIdenticalKeys +{ + my ($file,$key_cols,$last_line,$delim) = @_; + my $key = undef; + my $first_key = undef; + my @lines = (); + my $done = 0; + + if(eof($file)) + { + @lines = ($last_line); + return (\@lines,undef); + } + + while(not($done)) + { + my $line = defined($last_line) ? $last_line : <$file>; + $last_line = undef; + $key = &getSubTupleString($line,$key_cols,$delim); + $first_key = defined($first_key) ? $first_key : $key; + my $order = &compareKeys($key,$first_key); + if($order == 0) + { push(@lines, $line); } + else + { + $done = 1; + $last_line = $line; + } + + if(eof($file)) + { $done = 1; } + } + return (\@lines,$last_line); +} + +##------------------------------------------------------------------------ +## void sequentialJoin ($string out_file, @list in_files) +##------------------------------------------------------------------------ +sub sequentialJoin +{ + my ($out_file, @in_files) = @_; + my $in_file = $in_files[0]; + my $join = "cat $in_file "; + for(my $i = 1; $i <= $#in_files; $i++) + { + my $in_file = $in_files[$i]; + $join .= "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/join.pl -q - $in_file "; + } + $join .= "> $out_file"; + + print STDERR "--> $join <--\n"; + `$join`; + print STDERR "--> Done. <--\n"; +} + + +1 diff --git a/modules/local/pita/templates/lib/lin.pl b/modules/local/pita/templates/lib/lin.pl new file mode 100755 index 00000000..d1633ac0 --- /dev/null +++ b/modules/local/pita/templates/lib/lin.pl @@ -0,0 +1,48 @@ +#!/usr/bin/perl + +use strict; + +my $arg=''; +my $delim="\t"; +my $i=1; +my $after=0; +my $neg = ''; +my $inc=1; + +while(@ARGV) + { + $arg = shift @ARGV; + if($arg =~ /-([-]*\d+)/) + { + # Start counting from the number they pass in: + $i=int($1); + } + elsif($arg eq '-d') + { + $delim = shift @ARGV; + } + elsif($arg eq '-a') + { + $after=1; + } + elsif($arg eq '-n') + { + $neg = '-'; + } + elsif($arg eq '-i') + { + $inc = shift @ARGV; + } + } + +# Add line numbers to the file. +while() + { + chop; + if(not($after)) + { print STDOUT $neg, "$i", $delim, "$_\n"; } + else + { print STDOUT "$_", $delim, $neg, "$i\n"; } + + $i += $inc; + } diff --git a/modules/local/pita/templates/lib/load_args.pl b/modules/local/pita/templates/lib/load_args.pl new file mode 100755 index 00000000..a379713c --- /dev/null +++ b/modules/local/pita/templates/lib/load_args.pl @@ -0,0 +1,142 @@ +#!/usr/bin/perl + +#--------------------------------------------------------- +# load_args +#--------------------------------------------------------- +sub load_args (\@) +{ + my @args = @{@_[0]}; + + my %result; + + my $num_args = @args; + + for (my $current_arg = 0; $current_arg < $num_args; $current_arg++) + { + my $arg = $args[$current_arg]; + + if ($arg =~ /-([^\s]+)/) + { + my $arg_name = $1; + + my $next_arg = $args[$current_arg + 1]; + + if ($next_arg =~ /^-([^\s])/ || length($next_arg) == 0) + { + $result{$arg_name} = "1"; + } + else + { + $next_arg =~ s/[\']//g; + $next_arg =~ s/[\"]//g; + + $result{$arg_name} = $next_arg; + $current_arg++; + } + + #print "load_args: result{$arg_name}=$result{$arg_name}\n"; + } + } + + return %result; +} + +#--------------------------------------------------------- +# get_arg +#--------------------------------------------------------- +sub get_arg ($$\%) +{ + my ($arg, $default, $str_args) = @_; + my %args = %$str_args; + + if (length($args{$arg}) > 0) { return $args{$arg}; } + else { return $default; } +} + +#--------------------------------------------------------- +# echo_arg +#--------------------------------------------------------- +sub echo_arg ($$\%) +{ + my ($arg, $str_args) = @_; + my %args = %$str_args; + + if (length($args{$arg}) > 0) { return "-$arg $args{$arg} "; } + else { return ""; } +} + +sub echo_arg_quoted ($$\%) +{ + my ($arg, $str_args) = @_; + my %args = %$str_args; + + if (length($args{$arg}) > 0) { return "-$arg \"$args{$arg}\" "; } + else { return ""; } +} +#--------------------------------------------------------- +# echo_arg_equals +#--------------------------------------------------------- +sub echo_arg_equals ($$\%) +{ + my ($arg, $str_args) = @_; + my %args = %$str_args; + + if (length($args{$arg}) > 0) { return "$arg" . "=" ."\"$args{$arg}\" "; } + else { return ""; } +} +#--------------------------------------------------------- +# get_extended_arg +#--------------------------------------------------------- +sub get_extended_arg ($\%) +{ + my ($arg, $str_args) = @_; + my %args = %$str_args; + + my @res; + my $id = 1; + my $done = 0; + while ($done == 0) + { + my $extended_arg = &get_arg("$arg$id", "", \%args); + if (length($extended_arg) > 0) + { + push(@res, $extended_arg); + + $id++; + } + else + { + $done = 1; + } + } + + return @res; +} + +#--------------------------------------------------------- +# get_full_arg_command +#--------------------------------------------------------- +sub get_full_arg_command (\@) +{ + my @args = @{@_[0]}; + + my $res = ""; + + for (my $current_arg = 0; $current_arg < @args; $current_arg++) + { + my $arg = $args[$current_arg]; + + if ($arg =~ /-([^\s]+)/) + { + $res .= "$arg "; + } + else + { + $res .= "'$arg' "; + } + } + + return $res; +} + +1 diff --git a/modules/local/pita/templates/lib/ltqnorm.pl b/modules/local/pita/templates/lib/ltqnorm.pl new file mode 100755 index 00000000..ddf749ad --- /dev/null +++ b/modules/local/pita/templates/lib/ltqnorm.pl @@ -0,0 +1,70 @@ +#!/usr/bin/perl + +sub ltqnorm ($) { + # + # Lower tail quantile for standard normal distribution function. + # + # This function returns an approximation of the inverse cumulative + # standard normal distribution function. I.e., given P, it returns + # an approximation to the X satisfying P = Pr{Z <= X} where Z is a + # random variable from the standard normal distribution. + # + # The algorithm uses a minimax approximation by rational functions + # and the result has a relative error whose absolute value is less + # than 1.15e-9. + # + # Author: Peter J. Acklam + # Time-stamp: 2000-07-19 18:26:14 + # E-mail: pjacklam@online.no + # WWW URL: http://home.online.no/~pjacklam + + my $p = shift; + die "input argument must be in (0,1)\n" unless 0 < $p && $p < 1; + + # Coefficients in rational approximations. + my @a = (-3.969683028665376e+01, 2.209460984245205e+02, + -2.759285104469687e+02, 1.383577518672690e+02, + -3.066479806614716e+01, 2.506628277459239e+00); + my @b = (-5.447609879822406e+01, 1.615858368580409e+02, + -1.556989798598866e+02, 6.680131188771972e+01, + -1.328068155288572e+01 ); + my @c = (-7.784894002430293e-03, -3.223964580411365e-01, + -2.400758277161838e+00, -2.549732539343734e+00, + 4.374664141464968e+00, 2.938163982698783e+00); + my @d = ( 7.784695709041462e-03, 3.224671290700398e-01, + 2.445134137142996e+00, 3.754408661907416e+00); + + # Define break-points. + my $plow = 0.02425; + my $phigh = 1 - $plow; + + # Rational approximation for lower region: + if ( $p < $plow ) { + my $q = sqrt(-2*log($p)); + return ((((($c[0]*$q+$c[1])*$q+$c[2])*$q+$c[3])*$q+$c[4])*$q+$c[5]) / + (((($d[0]*$q+$d[1])*$q+$d[2])*$q+$d[3])*$q+1); + } + + # Rational approximation for upper region: + if ( $phigh < $p ) { + my $q = sqrt(-2*log(1-$p)); + return -((((($c[0]*$q+$c[1])*$q+$c[2])*$q+$c[3])*$q+$c[4])*$q+$c[5]) / + (((($d[0]*$q+$d[1])*$q+$d[2])*$q+$d[3])*$q+1); + } + + # Rational approximation for central region: + my $q = $p - 0.5; + my $r = $q*$q; + return ((((($a[0]*$r+$a[1])*$r+$a[2])*$r+$a[3])*$r+$a[4])*$r+$a[5])*$q / + ((((($b[0]*$r+$b[1])*$r+$b[2])*$r+$b[3])*$r+$b[4])*$r+1); +} + +sub normalprob +{ + +} + +#print ltqnorm($ARGV[0]) . "\n"; + +1 + diff --git a/modules/local/pita/templates/lib/merge_columns.pl b/modules/local/pita/templates/lib/merge_columns.pl new file mode 100755 index 00000000..b65f3b0c --- /dev/null +++ b/modules/local/pita/templates/lib/merge_columns.pl @@ -0,0 +1,94 @@ +#!/usr/bin/perl + +use strict; + +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/load_args.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/libfile.pl"; + +if ($ARGV[0] eq "--help") +{ + print STDOUT ; + exit; +} + +my $file_ref; +my $file = $ARGV[0]; +if (length($file) < 1 or $file =~ /^-/) +{ + $file_ref = \*STDIN; +} +else +{ + open(FILE, $file) or die("Could not open file '$file'.\n"); + $file_ref = \*FILE; +} + +my %args = load_args(\@ARGV); + +my $column_1 = get_arg("1", 0, \%args); +my $column_2 = get_arg("2", 1, \%args); +my $delimiter = get_arg("d", "", \%args); +my $reverse = get_arg("r", 0, \%args); +my $sort_by_strings = get_arg("s", 0, \%args); +my $sort_by_numbers = get_arg("sn", 0, \%args); +my $unique_merge = get_arg("u", 0, \%args); + +while (<$file_ref>) +{ + chop; + + my @row = split(/\t/); + + my $first = 1; + for (my $i = 0; $i < @row; $i++) + { + if ($i == $column_1) + { + if ($first == 1) { $first = 0; } else { print "\t"; } + + if ($unique_merge == 1 and $row[$column_2] eq $row[$column_1]) + { + print "$row[$column_1]"; + } + elsif ($reverse == 1) + { + print "$row[$column_2]$delimiter$row[$column_1]"; + } + elsif ($sort_by_strings == 1) + { + if ($row[$column_1] lt $row[$column_2]) { print "$row[$column_1]$delimiter$row[$column_2]"; } else { print "$row[$column_2]$delimiter$row[$column_1]"; } + } + elsif ($sort_by_numbers == 1) + { + if ($row[$column_1] < $row[$column_2]) { print "$row[$column_1]$delimiter$row[$column_2]"; } else { print "$row[$column_2]$delimiter$row[$column_1]"; } + } + else + { + print "$row[$column_1]$delimiter$row[$column_2]"; + } + } + elsif ($i != $column_2) + { + if ($first == 1) { $first = 0; } else { print "\t"; } + + print "$row[$i]"; + } + } + + print "\n"; +} + +__DATA__ + +/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/merge_columns.pl + + Merges 2 columns with a specified delimiter + + -1 First column (default: 0) + -2 Second column (default: 1) + -d Delimiter (default: "") + -r Reverse: column 2 goes before column 1 + -s: Print the merged columns in sorted order (sort: by strings) + -sn: Print the merged columns in sorted order (sort: by numbers) + -u: If the two columns to be merged are identical, print only one item in the resulting column + diff --git a/modules/local/pita/templates/lib/modify_column.pl b/modules/local/pita/templates/lib/modify_column.pl new file mode 100755 index 00000000..4b09b369 --- /dev/null +++ b/modules/local/pita/templates/lib/modify_column.pl @@ -0,0 +1,568 @@ +#!/usr/bin/perl + +use strict; +use Scalar::Util qw(looks_like_number); +use POSIX qw(floor ceil); + +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/libfile.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/format_number.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/load_args.pl"; + + +if ($ARGV[0] eq "--help") +{ + print STDOUT ; + exit; +} + +my $LOG10 = log(10); +my $LOG2 = log(2); + +my $file_ref; +my $file = $ARGV[0]; +if (length($file) < 1 or $file =~ /^-/) +{ + $file_ref = \*STDIN; +} +else +{ + open(FILE, $file) or die("Could not open file '$file'.\n"); + $file_ref = \*FILE; +} + +my %args = load_args(\@ARGV); + +my $columns = get_arg("c", 0, \%args); +my $rows = get_arg("r", "All", \%args); +my $apply_to_all_columns = get_arg("A", 0, \%args); +my $min_filter = get_arg("min", "None", \%args); +my $max_filter = get_arg("max", "None", \%args); +my $mins_filter = get_arg("mins", "None", \%args); +my $maxs_filter = get_arg("maxs", "None", \%args); +my $abs_filter = get_arg("abs", "None", \%args); +my $below_abs_filter = get_arg("babs", "None", \%args); +my $str_filter = get_arg("str", "None", \%args); +my $equal_str_filter = get_arg("estr", "None", \%args); +my $equal_str_list_filter_str = get_arg("estr_list", "None", \%args); +my $not_equal_str_filter = get_arg("nstr", "None", \%args); +my $non_empty_filter = get_arg("ne", "None", \%args); +my $empty_filter = get_arg("empty", "None", \%args); +my $pairs_file = get_arg("pairs", "", \%args); +my $range_filter = get_arg("rng", "None", \%args); +my $range_strict_filter = get_arg("rngs", "None", \%args); +my $reverse_c = get_arg("reverse", 0, \%args); +my $inverse = get_arg("inv", 0, \%args); +my $add_number = get_arg("a", 0, \%args); +my $subtract_number = get_arg("s", 0, \%args); +my $multiply_number = get_arg("m", 1, \%args); +my $divide_number = get_arg("d", 1, \%args); + +my $modulo_number = get_arg("mod", "", \%args); + +my $absolute_value = get_arg("ab", "", \%args); +my $floor = get_arg("floor", 0, \%args); +my $ceil = get_arg("ceil", 0, \%args); +my $round = get_arg("round", 0, \%args); +my $sign = get_arg("sign", 0, \%args); +my $take_length = get_arg("len", 0, \%args); +my $take_log = get_arg("log", 0, \%args); +my $take_log2 = get_arg("log2", 0, \%args); +my $take_log10 = get_arg("log10", 0, \%args); +my $nonpos_log = get_arg("nonpl", "0", \%args); +my $take_exp_by_e = get_arg("e", 0, \%args); +my $take_exp = get_arg("exp", "", \%args); +my $take_pow = get_arg("pow", "", \%args); +my $divide_by_column = get_arg("dc", "", \%args); +my $multiply_by_column = get_arg("mc", "", \%args); +my $subtract_column = get_arg("sc", "", \%args); +my $negative_to_positive = get_arg("neg2pos", "", \%args); +my $add_column = get_arg("ac", "", \%args); +my $accumulate = get_arg("cumul", 0, \%args); +my $zero_div_value = get_arg("zero", "999999", \%args); +my $min_column = get_arg("minc", "", \%args); +my $max_column = get_arg("maxc", "", \%args); + +my $set_min = get_arg("set_min", "", \%args); +my $set_max = get_arg("set_max", "", \%args); +my $skip = get_arg("skip", 0, \%args); +my $skip_columns = get_arg("skipc", 0, \%args); +my $substr = get_arg("substr", 0, \%args); +my $type = get_arg("type", "Number", \%args); +my $rm_regexp = get_arg("rmre", "", \%args); +my $to_regexp = get_arg("tore", "", \%args); +my $split_char = get_arg("splt_char", "", \%args); +my $pivot = get_arg("pv", 0, \%args); +my $pivot_val = get_arg("pv_val", 0.05, \%args); +my $pivot_high = get_arg("pv_high", 0, \%args); +my $pivot_low = get_arg("pv_low", 1, \%args); +my $split_del = get_arg("splt_d", "", \%args); +my $resolution = get_arg("res", "", \%args); +my $bins= get_arg("bins", "", \%args); +my $rescale= get_arg("rescale", "", \%args); +my $rescale_limits_set= get_arg("rescale_limits", "", \%args); +my $probdist= get_arg("pd", "", \%args); +my $subtract_mean= get_arg("z", "", \%args); +my $divide_mean= get_arg("dz", "", \%args); + +my @accumulator; +my %columns_hash; +my @columns_list; + +my $range_max; +my $range_min; +if ($range_filter ne "None"){ + ($range_min,$range_max)=($range_filter=~/^(\S+)\s*,\s*(\S+)/); +} +if ($range_strict_filter ne "None"){ + ($range_min,$range_max)=($range_strict_filter=~/^(\S+)\s*,\s*(\S+)/); +} + +my %rows_hash; +my @rows_list = split(/\,/, $rows,-1); +foreach my $r (@rows_list) { $rows_hash{$r} = "1"; } + +my $precision = get_arg("p", "", \%args); +my $add_str = get_arg("astr", "", \%args); +my $add_prefix_str = get_arg("bstr", "", \%args); +my $set_str = get_arg("set", "None", \%args); +my $quote = get_arg("quote", 0, \%args); + +if ($quote) +{ + $add_prefix_str = "\""; + $add_str = "\""; +} + +my %pairs; +if (length($pairs_file) > 0) +{ + open(PAIRS_FILE, "<$pairs_file"); + while() + { + chop; + + my @row = split(/\t/,-1); + + $pairs{$row[0]}{$row[1]} = "1"; + } +} + +my %equal_str_list_filter; +if (length($equal_str_list_filter_str) > 0) +{ + my @row = split(/;/, $equal_str_list_filter_str); + for (my $i = 0; $i < @row; $i++) + { + $equal_str_list_filter{$row[$i]} = "1"; + } +} + +my @headers; + + +my @col_max_array; +my @col_min_array; +my @col_sum_array; +my @col_possum_array; +my @col_count_array; +my $rescale_top; +my $rescale_bottom; +my $tmp_id=int(rand(100000000)); +my $prescan_file=0; +if ($bins ne "" or $rescale ne "" or $probdist ne "" or $subtract_mean ne "" or $divide_mean ne ""){ $prescan_file=1 } +my $rescale_limits_set_max ; +my $rescale_limits_set_min ; +if ($rescale ne ""){ + ($rescale_bottom, $rescale_top)=(split /\s*,\s*/,$rescale,-1); +} +if ($rescale_limits_set ne ""){ + $prescan_file=0; + ($rescale_limits_set_min, $rescale_limits_set_max)=(split /\s*,\s*/,$rescale_limits_set,-1); +} +if ($skip >= 1) +{ + my $line = <$file_ref>; + print "$line"; + chomp $line; + @headers = split(/\t/, $line,-1); +} + +for (my $i = 1; $i < $skip; $i++) +{ + my $line = <$file_ref>; + print "$line"; +} + + +if ($prescan_file){ + open (TMP,">tmp_$tmp_id"); + while (my $r=<$file_ref>){ + print TMP $r; + chomp $r; + my @row=split /\t/,$r,-1; + if ($#columns_list==-1){ + @columns_list=parseRanges($columns,$#row); + foreach my $c (@columns_list) { $columns_hash{$c} = "1"; } + } + for (my $i = 0; $i < scalar(@row); $i++) { + if (($columns_hash{$i} eq "1" or $apply_to_all_columns == 1) and pass_filter($row[0], $headers[$i], $row[$i])){ + $col_sum_array[$i]+=$row[$i]; + $col_count_array[$i]++; + if ($row[$i]>0){ + $col_possum_array[$i]+=$row[$i]; + } + if (!defined($col_max_array[$i]) or $col_max_array[$i]<$row[$i]){ + $col_max_array[$i]=$row[$i]; + } + if (!defined($col_min_array[$i]) or $col_min_array[$i]>$row[$i]){ + $col_min_array[$i]=$row[$i]; + } + } + } + } + close (TMP); + open (TMP,"tmp_$tmp_id"); + $file_ref=\*TMP; +} + +my $row_count=$skip-1; + +while (my $line=<$file_ref>) +{ + chomp $line; + $row_count++; + + if (!$rows_hash{All} and !$rows_hash{$row_count}) { + print "$line\n"; + next; + } + + my @row = split /\t/,$line,-1; + if ($#columns_list==-1){ + @columns_list=parseRanges($columns,$#row); + foreach my $c (@columns_list) { $columns_hash{$c} = "1"; } + } + + + for (my $i = 0; $i < $skip_columns; $i++) + { + print "$row[$i]\t"; + } + + + for (my $i = $skip_columns; $i < scalar(@row); $i++) + { + if (($columns_hash{$i} eq "1" or $apply_to_all_columns == 1) and &pass_filter($row[0], $headers[$i], $row[$i])) + { + my $num = $row[$i]; + + if ($substr != 0 ) + { + if (length($num) > $substr) + { + $num = substr($num, 0, $substr); + } + } + elsif (length($divide_by_column) > 0) + { + if (length($num) > 0) + { + if ($row[$divide_by_column] != 0) { $num /= $row[$divide_by_column]; } + elsif ($num == 0) { $num = 0; } + else { $num = $zero_div_value; } + } + } + elsif (length($multiply_by_column) > 0) + { + if (length($num) > 0) { $num *= $row[$multiply_by_column]; } + } + elsif ($inverse) + { + if (length($num) > 0) { + if ($num==0){ $num=$zero_div_value } + else{ $num=1/$num } + } + } + elsif (length($rescale) > 0) + { + if (length($num) > 0) { + if ($rescale_limits_set ne ""){ + $col_max_array[$i]=$rescale_limits_set_max; + $col_min_array[$i]=$rescale_limits_set_min; + } + if ($col_max_array[$i]==$col_min_array[$i]){ + $num=$rescale_bottom; + } + else{ + $num = ( $num-$col_min_array[$i]) * ( ($rescale_top-$rescale_bottom)/($col_max_array[$i]-$col_min_array[$i]) ) + $rescale_bottom; + } + } + } + elsif (length($bins) > 0) + { + if (length($num) > 0) { + my $binsize=($col_max_array[$i]-$col_min_array[$i])/$bins; + my $f = 0.5; + if ($num==$col_max_array[$i]){ + $f = -0.5 + } + $num = (int( ($num-$col_min_array[$i])/$binsize )+$f) * $binsize + $col_min_array[$i]; + } + } + elsif (length($probdist) > 0) + { + if (length($num) > 0) { + if ($num<0) { + $num=0; + } + else{ + $num = ($col_possum_array[$i] == 0 ? 0 : $num/$col_possum_array[$i]); + } + } + } + elsif (length($subtract_mean) > 0) + { + if (length($num) > 0) { + $num -= $col_sum_array[$i]/$col_count_array[$i]; + } + } + elsif (length($divide_mean) > 0) + { + if (length($num) > 0) { + $num /= $col_sum_array[$i]/$col_count_array[$i]; + } + } + elsif (length($subtract_column) > 0) + { + if (length($num) > 0) { $num -= $row[$subtract_column]; } + } + elsif (length($add_column) > 0) + { + if (length($num) > 0) { $num += $row[$add_column]; } + } + elsif (length($min_column) > 0) + { + $num = ($num < $row[$min_column]) ? $num : $row[$min_column]; + } + elsif (length($max_column) > 0) + { + $num = ($num < $row[$max_column]) ? $row[$max_column] : $num; + } + elsif ($take_length){ + $num = length($num); + } + elsif ($reverse_c) { + $num = reverse ($num); + } + elsif ($pivot == 1) + { + if (length($num) > 0 && $num =~ /^[0-9\.-]*[Ee]?[+0-9\.-]*$/) + { + if ($num > $pivot_val) + { + $num = $pivot_high; + } + else + { + $num = $pivot_low; + } + } + } + elsif (length($num) > 0 and $type eq "Number" and length($add_str) == 0 and length($add_prefix_str) == 0 and $set_str eq "None" && length($rm_regexp) == 0 && length($split_del) == 0 && length($split_char) == 0) + { + if ($accumulate){ $accumulator[$i] += $num; $num = $accumulator[$i] } + $num += $add_number; + $num -= $subtract_number; + $num *= $multiply_number; + $num = ($divide_number == 0 ? $zero_div_value : $num/$divide_number); + if ($modulo_number) { $num %= $modulo_number ; } + if ($take_log == 1) { $num = $num > 0 ? log($num) : $nonpos_log; } + if ($take_log2 == 1) { $num = $num > 0 ? log($num) / $LOG2 : $nonpos_log; } + if ($take_log10 == 1) { $num = $num > 0 ? log($num) / $LOG10 : $nonpos_log; } + if ($absolute_value ne "" and $num<0) { $num=$num*(-1); } + if ($floor == 1) { $num = floor($num); } + if ($ceil == 1) { $num = ceil($num); } +# if ($round == 1) { $num = int($num) + (($num - int($num)))/0.5 >=1 ? 1 : 0); } + if ($round == 1) { $num = abs(floor($num) - $num) < abs(ceil($num) - $num) ? floor($num) : ceil($num); } + if ($sign == 1) { $num = $num == 0 ? 0 : $num / abs($num); } + if ($take_exp_by_e == 1) { $num = exp($num); } + if (length($take_exp) > 0) { $num = $take_exp ** $num; } + if (length($take_pow) > 0) { $num = $num == 0 ? 0 : $num ** $take_pow; } + if (length($set_min) > 0 and $num < $set_min) { $num = $set_min; } + if (length($set_max) > 0 and $num > $set_max) { $num = $set_max; } + if (length($negative_to_positive) > 0 and $num < 0) { $num = -$num; } + if (length($resolution) > 0) { + my $tmp = $resolution * &format_number($num / $resolution, 0); $num = $num - $tmp < $tmp + $resolution - $num ? $tmp : $tmp + $resolution; } + } + elsif (length($rm_regexp) > 0) + { + $num =~ s/$rm_regexp/$to_regexp/g; + } + elsif (length($split_char) > 0) + { + my @split_col = split (//, $num); + $num = join ("$split_char", @split_col); + } + elsif (length($split_del) > 0) + { + my @split_col = split (/$split_del/, $num,-1); + $num = join ("\t", @split_col); + } + else + { + if ($set_str ne "None") + { + if ($set_str eq "EMPTY") { $num = ""; } + else { $num = $set_str; } + } + else + { + $num = "$add_prefix_str$num$add_str"; + } + } + + if ( length($precision) > 0 and looks_like_number($num) ) { $num = &format_number($num, $precision); } + + print "$num"; + + #print STDERR "MODIFYING [$row[0], $headers[$i]] --> VALUE [$row[$i]] --> [$num]\n"; + } + else + { + print "$row[$i]"; + } + + if ($i < scalar(@row) - 1) { print "\t"; } + } + + print "\n"; +} + +sub pass_filter +{ + my ($row_name, $column_name, $num) = @_; + + my $pass = 1; + + my $sci_number = $num =~ /^[\-]?[0-9\.]+[Ee][\-]?[0-9]+/; + + if ($num =~ /[A-Z]/ and $sci_number != 1) { if ($min_filter ne "None" or $max_filter ne "None" or $mins_filter ne "None" or $maxs_filter ne "None" or $range_filter ne "None" or $range_strict_filter ne "None") { $pass = 0; } } + + if ($min_filter ne "None" and $num < $min_filter) { $pass = 0; } + if ($max_filter ne "None" and $num > $max_filter) { $pass = 0; } + if ($mins_filter ne "None" and $num <= $mins_filter) { $pass = 0; } + if ($maxs_filter ne "None" and $num >= $maxs_filter) { $pass = 0; } + if ($range_filter ne "None" and ($range_max<$num or $range_min>$num)) { $pass = 0; } + if ($range_strict_filter ne "None" and ($range_max<=$num or $range_min>=$num)) { $pass = 0; } + if ($abs_filter ne "None" and abs($num) < $abs_filter) { $pass = 0; } + if ($below_abs_filter ne "None" and abs($num) > $below_abs_filter) { $pass = 0; } + if ($str_filter ne "None" and not($num =~ /$str_filter/)) { $pass = 0; } + if ($equal_str_filter ne "None" and $num ne $equal_str_filter) { $pass = 0; } + if ($equal_str_list_filter_str ne "None" and $equal_str_list_filter{$num} ne "1") { $pass = 0; } + if ($not_equal_str_filter ne "None" and $num eq $not_equal_str_filter) { $pass = 0; } + if ($non_empty_filter ne "None" and length($num) == 0) { $pass = 0; } + if ($empty_filter ne "None" and length($num) > 0) { $pass = 0; } + if (length($pairs_file) > 0 and $pairs{$row_name}{$column_name} ne "1") { $pass = 0; } + + return $pass; +} + +if ($prescan_file){ + close TMP; + unlink "tmp_$tmp_id"; +} + +__DATA__ + +/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/modify_column.pl + + Modifies a column according to predefined operations + + WHAT TO MODIFY: + + -c The column to modify (default: 0; specify multiple columns using commas) (zero-based) + -r The rows to modify (default: All except -skipped; specify multiple rows using commas) (zero-based) + -A Apply transformation to ALL columns + -min Apply transformation only if entry is above (or equal) num + -max Apply transformation only if entry is below (or equal) num + -mins Apply transformation only if entry is strictly above num + -maxs Apply transformation only if entry is strictly below num + -rng Apply transformation only if num1<=entry<=num2 + -rngs Apply transformation only if num1: Apply transformation only if entry is above or below - + -babs : Apply transformation only if entry is above - and below + -str : Apply transformation only if entry contains + -estr : Apply transformation only if entry is equal to + -nstr : Apply transformation only if entry is *not* equal to + -ne: Apply transormation only if entry is not empty + -empty: Apply transormation only if entry is empty + -pairs : Apply transformation only if the entry is from a row and column + that appear in a line of as + -skip : Skip num rows in the file (default: 0) + -skipc : Skip num columns (when applying to all columns, can skip the first few) (default: 0) + + HOW TO MODIFY: + + -a Add to the column (default: 0) + -s Substract to the column (default: 0) + -m Multiply column by (default: 1) (write '"-1"' to pass negative numbers) + -d Divide column by (default: 1) (write '"-1"' to pass negative numbers) + -mod Modulo column by (default: 1) (write '"-1"' to pass negative numbers) + -inv Inverse of column + -ab Absolute value of column + -floor Floor of column values + -ceil Ceiling of column values + -round Round to the nearest integer. Numbers that are halfway between two integers are rounded down (like int()) + -sign Sign of column values (+1 for positive, -1 for negative, 0 for zero) + -neg2pos Convert negative numbers to positive + -log Take log (natural base) of the column + -log2 Take log (base 2) of the column + -log10 Take log (base 10) of the column + -nonpl String to print out in case of non-positive log (default: "0") + -exp Take num ** (value of the column) + -e Take e=2.1782... ** (value of column) + -pow Raise vaule to the power of num (value of the column) + -substr If the column has more than num chars, then substr the first num + -set_min If the column has a value less than num, set it to num + -set_max If the column has a value greater than num, set it to num + -type : (default: Number) + -len Replace value (treated as a string) by its length in characters + -reverse Reverse the string (ABC becomes CBA) + + -dc Divide the column by the number in column + -mc Multiply the column by the number in column + -ac Add the number in column to the column + -sc Subtract the number in column from the column + -minc Take the min of the column and + -maxc Take the max of the column and + + -bins : discretize the column into bins. + -rescale given as 'bottom,top'. linearly rescales the data in the column so that the smallest value will + be and the largest will be . If the data is equal in all entries, all entries + will be set to . + -rescale_limits : given as 'min,max'. when used with -rescale assumes that the maximal value of the column is + max and the minimal value is min. + -pd makes the column a probability distribution by changing negative values to zero and + then dividing by the sum of the column. + -z Subtract mean + -dz Divide by mean + + -p Precision (take only sig. digits. default: don't fix) + -res Convert numbers to a resolution (e.g., 0.05) + -astr Add to the end of the column (default: "") + -bstr Add to the beginning of the column (default: "") + -quote Quote the column (add quotes before and after string) + -set Set the entry to (put EMPTY for getting an empty entry) + -rmre Remove string that matches the regular expression from column + + -pv Set numerical values around a given pivot (see -pv_val, -pv_high, -pv_low). Activated when = 1. + Non numerical values are not modified. + -pv_val The pivot value (default: 0.05) + -pv_high The number to set values greater then the pivot value (default: 0) + -pv_low The number to set values smaller equal then the pivot value (default: 1) + + -splt_d Split the column by the delimiter (default: none). + -cumul Accumulate (row i = row 1 + .. + row i) + -zero When dividing by zero, uses instead of giving an error (default: 999999) + + diff --git a/modules/local/pita/templates/lib/pita_run.pl b/modules/local/pita/templates/lib/pita_run.pl new file mode 100755 index 00000000..9b108222 --- /dev/null +++ b/modules/local/pita/templates/lib/pita_run.pl @@ -0,0 +1,197 @@ +#!/usr/bin/perl + +use strict; + +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/load_args.pl"; + +if ($ARGV[0] eq "--help") +{ + print STDOUT ; + exit; +} + + +my $CDS_FLANK = 200; +my $SITE_LENGTH = 25; + +my $POLY_A = "A" x $CDS_FLANK; + +my %args = load_args(\@ARGV); + +my $prefix = get_arg("prefix", "", \%args); +my $debug = get_arg("debug", 0, \%args); +my $utr_fn = get_arg("utr", "", \%args); +my $upstream_fn = get_arg("upstream", "", \%args); +my $mir_fn = get_arg("mir", "", \%args); +my $FLANK_UP = get_arg("flank_up", 0, \%args); +my $FLANK_DOWN = get_arg("flank_down", 0, \%args); +my $output_dir = get_arg("output", "", \%args); +my $DDG_AREA = get_arg("ddG_context", 70, \%args); +my $use_stab = get_arg("stab", 0, \%args); +my $limit = get_arg("limit", "", \%args); + +if ($output_dir ne "") +{ + $output_dir .= "/"; +} + + +my $echoed_pt_args = + echo_arg_quoted("l", \%args) . + echo_arg_quoted("gu", \%args) . + echo_arg_quoted("m", \%args) . + echo_arg_quoted("loop", \%args); + +my $r = int(rand(100000)); + +if ($utr_fn eq "") { die "Must provide UTR fasta file.\n"; } +if ($mir_fn eq "") { die "Must provide microRNA fasta file.\n";} + +## Step 0: Prepare extended UTR sequences + +if ($use_stab) +{ + dsystem ("cp $utr_fn tmp_utr_stab_$r"); + dsystem ("cp $mir_fn tmp_mir_stab_$r"); +} +else +{ + dsystem ("cat $utr_fn | /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/dos2unix.pl | /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/fasta2stab.pl > tmp_utr_stab_$r"); + dsystem ("cat $mir_fn | /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/dos2unix.pl | /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/fasta2stab.pl > tmp_mir_stab_$r"); +} + +if ($upstream_fn eq "") +{ + dsystem ("cat tmp_utr_stab_$r " . + "| cut -f 1 " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/add_column.pl -s $POLY_A " . + "> tmp_prefix_$r;"); +} +else +{ + if ($use_stab) + { + dsystem ("cp $upstream_fn tmp_upstream_stab_$r"); + } + else + { + dsystem ("cat $upstream_fn | /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/fasta2stab.pl > tmp_upstream_stab_$r"); + } + + dsystem ("cat tmp_utr_stab_$r " . + "| cut -f 1 " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/add_column.pl -s $POLY_A " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/join.pl -o A - tmp_upstream_stab_$r " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/merge_columns.pl -1 1 -2 2 " . + "> tmp_ext_utr_$r;"); + + dsystem ("cat tmp_ext_utr_$r " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/stab2length.pl " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/cut.pl -f 1,1,2,2 " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/modify_column.pl -c 2 -s " . ($CDS_FLANK-1) . " " . + ">tmp_ext_utr_pos_$r"); + + dsystem ("cat tmp_ext_utr_$r " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/extract_sequence.pl -f tmp_ext_utr_pos_$r " . + "> tmp_prefix_$r"); +} + +my $ext_utr_fn = $output_dir . $prefix . "ext_utr.stab"; + +dsystem ("/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/join.pl tmp_prefix_$r tmp_utr_stab_$r " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/add_column.pl -s $POLY_A " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/merge_columns.pl -1 1 -2 2 " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/merge_columns.pl -1 1 -2 2 " . + "> " . $ext_utr_fn); + + + +## Step 1: Search potential targets + +print STDERR "Finding potential targets...\n"; +dsystem ("/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/find_potential_mirna_targets.pl tmp_utr_stab_$r -f tmp_mir_stab_$r $echoed_pt_args > tmp_pt_$r"); + +my $n_potential_targets = `wc -l tmp_pt_$r | sed 's/^ *//g' | cut -f 1 -d ' '`; +if (length($limit) > 0 and $n_potential_targets > $limit) +{ + dsystem ("/bin/rm -rf tmp_prefix_$r tmp_ext_utr_$r tmp_ext_utr_pos_$r tmp_prefix_$r tmp_pt_$r tmp_utr_stab_$r tmp_mir_stab_$r tmp_upstream_stab_$r"); + exit(1); +} + +## Step 2: Compute site scores + +print STDERR "Computing site scores...\n"; +dsystem ("cat tmp_pt_$r " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/join.pl -1 2 - $ext_utr_fn " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/cut.pl -f 1-9,11- " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/modify_column.pl -c 2,3 -a $CDS_FLANK " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/RNAddG_compute.pl -ddgarea $DDG_AREA -upstream_rest $FLANK_UP -downstream_rest $FLANK_DOWN " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/modify_column.pl -c 2,3 -s $CDS_FLANK " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/modify_column.pl -c 9,10,11,12,13,14 -m '\"-1\"' " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/cut.pl -f 1-15,14 " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/modify_column.pl -c 15 -sc 14 " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/cut.pl -f 1-12,14-16,13 " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/modify_column.pl -c 9,10,11,12,13,14,15 -p 2 -m '\"-1\"' " . + "| /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/cap.pl \"UTR,microRNA,Start,End,Seed,Mismatchs,G:U,Loop,Site size,dGduplex,dG5,dG3,dG0,dG1,dGopen,ddG\" " . + "> " . $output_dir . $prefix . "pita_results.tab"); + + +## Clean up +if (not ($debug)) +{ + dsystem ("/bin/rm -rf tmp_prefix_$r tmp_ext_utr_$r tmp_ext_utr_pos_$r tmp_prefix_$r tmp_pt_$r tmp_utr_stab_$r tmp_mir_stab_$r tmp_upstream_stab_$r"); +} + +exit (0); + + +sub dsystem { + + my $cmd = $_[0]; + + if ($debug) { print STDERR "Executing $cmd\n"; } + system ($cmd); + +} + + +__DATA__ +syntax: /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/pita_run.pl [OPTIONS] + +Execute the PITA algorithm for identifying and scoring microRNA target sites. + +options: + -utr : fasta file containing the UTRs to be scanned + -mir : fasta file containing the microRNA sequences + -upstream : fasta file containing the upstream sequence for each UTR. The IDs + in should match the IDs found int the UTR file. If less 200 bp are + given (or if no file is given), it is padded with Poly-A. + -stab: All input files (utr, mir, upstream) are assumed to be stab files + rather than fasta files + + -flank_up + -flank_down : Flank requirement in basepairs (default: zero for both) + + -ddG_context : Number of bases upstream and downstream for target site that are + taken into account when folding the UTR (default: 70) + + -output : Path to where output files should be placed (default: current directory) + -prefix : Add the string as a prefix to the output files (pita_results.tab and ext_utr.stab) + -limit : Limit the run to potential targets (optional, no limit by default). Exits if limit is reached. + -debug Run in debug mode (leave untouched tmp files) + + + + Seed matching parameters: + + -l : Search for seed lengths of num1,...,num2 to the MicroRNA (default: 6-8) + + -gu : Lengths for which G:U wobbles are allowed and number of allowed wobbles. + Format of nums: ,,... (default: 6;0,7;1,8;1) + + -m : Lengths for which mismatches are allowed and number of allowed mismatches + Format of nums: ,,... + (default: 6;0,7;0,8;1) + + -loop : Lengths for which a single loop in either the target or the microrna is allowed + Format of nums: ,,... (default: none) diff --git a/modules/local/pita/templates/lib/sequence_helpers.pl b/modules/local/pita/templates/lib/sequence_helpers.pl new file mode 100755 index 00000000..58488398 --- /dev/null +++ b/modules/local/pita/templates/lib/sequence_helpers.pl @@ -0,0 +1,615 @@ +#!/usr/bin/perl + +use strict; +use POSIX; + +#------------------------------------------------------------------------------------------ +# SIGMA Calculation based on: http://proligo2.proligo.com/Calculation/calculation.html +#------------------------------------------------------------------------------------------ + +#------------------------------------------------------------------------------------------ +# GLOBALS +#------------------------------------------------------------------------------------------ +my @ALIGNMENT_HTML_COLORS = ( "cyan", "lime", "yellow", "red", "darkred" ); + +my %DNA; +$DNA{"A"} = 0; +$DNA{"C"} = 1; +$DNA{"G"} = 2; +$DNA{"T"} = 3; + +my %H; +$H{"AA"} = -7.9; +$H{"AC"} = -8.4; +$H{"AG"} = -7.8; +$H{"AT"} = -7.2; +$H{"CA"} = -8.5; +$H{"CC"} = -8; +$H{"CG"} = -10.6; +$H{"CT"} = -7.8; +$H{"GA"} = -8.2; +$H{"GC"} = -9.8; +$H{"GG"} = -8; +$H{"GT"} = -8.4; +$H{"TA"} = -7.2; +$H{"TC"} = -8.2; +$H{"TG"} = -8.5; +$H{"TT"} = -7.9; + +my %S; +$S{"AA"} = -22.2; +$S{"AC"} = -22.4; +$S{"AG"} = -21; +$S{"AT"} = -20.4; +$S{"CA"} = -22.7; +$S{"CC"} = -19.9; +$S{"CG"} = -27.2; +$S{"CT"} = -21; +$S{"GA"} = -22.2; +$S{"GC"} = -24.4; +$S{"GG"} = -19.9; +$S{"GT"} = -22.4; +$S{"TA"} = -21.3; +$S{"TC"} = -22.2; +$S{"TG"} = -22.7; +$S{"TT"} = -22.2; + +my %H_End; +$H_End{"A"} = 2.3; +$H_End{"C"} = 0.1; +$H_End{"G"} = 0.1; +$H_End{"T"} = 2.3; + +my %S_End; +$S_End{"A"} = 4.1; +$S_End{"C"} = -2.8; +$S_End{"G"} = -2.8; +$S_End{"T"} = 4.1; + +my $S_Symmetry = -1.4; + +my %epsilon1 = ('A' => 15.4, 'C' => 7.4, 'G' => 11.5, 'T' => 8.7); +my %epsilon2 = ( + 'A' => {'A' => 13.7, 'C' => 10.6, 'G' => 12.5, 'T' => 11.4}, + 'C' => {'A' => 10.6, 'C' => 7.3, 'G' => 9, 'T' => 7.6}, + 'G' => {'A' => 12.6, 'C' => 8.8, 'G' => 10.8, 'T' => 10}, + 'T' => {'A' => 11.7, 'C' => 8.1, 'G' => 9.5, 'T' => 9.4} + ); + +my %deltaS = ( + 'A' => {'A' => 24, 'C' => 17.3, 'G' => 20.8, 'T' => 23.9}, + 'C' => {'A' => 12.9, 'C' => 26.6, 'G' => 27.8, 'T' => 20.8}, + 'G' => {'A' => 13.5, 'C' => 26.7, 'G' => 26.6, 'T' => 17.3}, + 'T' => {'A' => 16.9, 'C' => 13.5, 'G' => 12.9, 'T' => 24}); +my %deltaH = ( + 'A' => {'A' => 9.1, 'C' => 6.5, 'G' => 7.8, 'T' => 8.6}, + 'C' => {'A' => 5.8, 'C' => 11, 'G' => 11.9, 'T' => 7.8}, + 'G' => {'A' => 5.6, 'C' => 11.1, 'G' => 11, 'T' => 6.5}, + 'T' => {'A' => 6, 'C' => 5.6, 'G' => 5.8, 'T' => 9.1}); + +# For cycle restriction + my %nimblegen_cycle_table = ( + "A" => 1, + "C" => 2, + "G" => 3, + "T" => 4, + "AA" => 4, + "AC" => 1, + "AG" => 2, + "AT" => 3, + "CA" => 3, + "CC" => 4, + "CG" => 1, + "CT" => 2, + "GA" => 2, + "GC" => 3, + "GG" => 4, + "GT" => 1, + "TA" => 1, + "TC" => 2, + "TG" => 3, + "TT" => 4); + +#------------------------------------------------------------------------------------------ +# +#------------------------------------------------------------------------------------------ +sub Reverse +{ + my ($sequence) = @_; + + my $res = ""; + + for (my $i = length($sequence) - 1; $i >= 0; $i--) + { + $res .= substr($sequence, $i, 1); + } + + return $res; +} + +#------------------------------------------------------------------------------------------ +# +#------------------------------------------------------------------------------------------ +sub ReverseComplement +{ + my ($sequence) = @_; + + my $res = reverse($sequence); + + $res =~ tr/ACGT/TGCA/; + + return $res; +} + +#------------------------------------------------------------------------------------------ +# +#------------------------------------------------------------------------------------------ +sub OLD_ReverseComplement +{ + my ($sequence) = @_; + + my $res = ""; + + my %complement; + $complement{"A"} = "T"; + $complement{"C"} = "G"; + $complement{"G"} = "C"; + $complement{"T"} = "A"; + + for (my $i = length($sequence) - 1; $i >= 0; $i--) + { + my $char = substr($sequence, $i, 1); + + my $char_complement = $complement{$char}; + + if (length($char_complement) > 0) { $res .= $char_complement; } + else { $res .= $char; } + } + + return $res; +} + +#------------------------------------------------------------------------------------------ +# +#------------------------------------------------------------------------------------------ +sub AlignmentFractionToHTMLColor +{ + my ($fraction, $str) = @_; + + my $res; + + if ($fraction > 0.2) + { + my $color; + if ($fraction < 0.3) { $color = $ALIGNMENT_HTML_COLORS[0]; } + elsif ($fraction > 0.8) { $color = $ALIGNMENT_HTML_COLORS[@ALIGNMENT_HTML_COLORS]; } + else { $color = $ALIGNMENT_HTML_COLORS[int(($fraction - 0.3) / 0.1)]; } + + #print STDERR "frac=$fraction "; + #print STDERR ($fraction - 0.3) / 0.1; + #print STDERR " "; + #print STDERR (int(($fraction - 0.3) / 0.1)); + #print STDERR "\n"; + + $res = "
        $str
        "; + } + else + { + $res = $str; + } + + return $res; +} + +#------------------------------------------------------------------------------ +# +#------------------------------------------------------------------------------ +sub ComputeBackgroundToMatricesRatio +{ + my ($matrix_length) = @_; + + my $min = 0.00001; + my $max = 0.99999; + my $res = ($min + $max) / 2; + while ($max - $min > 0.00001) + { + my $value = log(1 - $res) - $matrix_length * log($res); + + if ($value > 0) + { + $min = $res; + } + else + { + $max = $res; + } + + $res = ($min + $max) / 2; + } + + return $res / (1.0 - $res); +} + +#------------------------------------------------------------------------------ +# +#------------------------------------------------------------------------------ +sub ComputeNucleotideSetFraction () +{ + my ($sequence, $nucleotide_set, $raw_counts) = @_; + + my $sequence_length = length($sequence); + + my $eval_str = "(\$sequence =~ tr/[$nucleotide_set]//)"; + my $fraction = eval($eval_str); + + return $raw_counts == 1 ? $fraction : ($fraction / $sequence_length); +} + +#------------------------------------------------------------------------------ +# +#------------------------------------------------------------------------------ +sub ComputeGCFraction () +{ + my ($sequence, $raw_counts) = @_; + + my $sequence_length = length($sequence); + my $gc_fraction = ($sequence =~ tr/[GC]//); + + return $raw_counts == 1 ? $gc_fraction : ($gc_fraction / $sequence_length); +} + +#------------------------------------------------------------------------------ +# +#------------------------------------------------------------------------------ +sub ComputeMeltingTemperature +{ + my ($sequence, $TMMethod, $salt_concentration, $oligo_concentration) = @_; + + my $res = ""; + + my $sequence_length = length($sequence); + if ($sequence_length > 5) + { + my $gc_fraction = &ComputeGCFraction($sequence); + + if ($TMMethod eq "IDTDNA") + { + my $local_H; + $local_H += $H_End{substr($sequence, 0, 1)}; + $local_H += $H_End{substr($sequence, $sequence_length - 1, 1)}; + + my $local_S; + $local_S += $S_End{substr($sequence, 0, 1)}; + $local_S += $S_End{substr($sequence, $sequence_length - 1, 1)}; + + for (my $i = 0; $i < $sequence_length - 1; $i++) + { + my $dinucleotide = substr($sequence, $i, 2); + + $local_H += $H{$dinucleotide}; + $local_S += $S{$dinucleotide}; + } + + $local_H *= 1000; + + if (($sequence_length % 2 == 0 and substr($sequence, 0, $sequence_length / 2) eq substr($sequence, $sequence_length / 2, $sequence_length / 2)) or + (substr($sequence, 0, int($sequence_length / 2)) eq substr($sequence, int($sequence_length / 2) + 1, int($sequence_length / 2)))) + { + $local_S += $S_Symmetry; + } + + my $TM_1M_Na = $local_H / ($local_S + 1.987 * log($oligo_concentration / 2)); # Division by 2 is a hack to fit + + my $TM_final = 1 / ((1 / $TM_1M_Na) + (4.29 * $gc_fraction - 3.95) * 1e-5 * log($salt_concentration) + 9.4 * 1e-6 * log($salt_concentration) * log($salt_concentration)); + + $TM_final = &format_number($TM_final - 273.15, 3); + + $res = "$TM_final"; + } + elsif ($TMMethod eq "SIGMA") + { + my $seq = $sequence; + my ($aCount, $cCount, $gCount, $tCount) = GetCounts($seq); + my $GC = POSIX::floor(0.5 + (100 * ( $gCount + $cCount / 2) / length($seq))); + my $MW = (252 * $aCount + 228 * $cCount + 268 * $gCount + 243 * $tCount + 61 * (length($seq) - 1)); + my $epsilon = 0; + my @s = split(//, $seq); + for (my $i = 0; $i < length($seq) - 1; $i++) + { + $epsilon += 2 * $epsilon2{$s[$i]}{$s[$i+1]} - $epsilon1{$s[$i+1]}; + } + $epsilon += $epsilon1{$s[$#s]}; + my $quantity = 1000 / $epsilon; + my $ug = $quantity * $MW /1000; + + my $TM; + if (length($seq) <= 20) + { + $TM = (2 * ($aCount + $tCount) + 4 * ($gCount + $cCount)); + } + else + { + my $sigma_dH = 0; + my $sigma_dS = 0; + for (my $i = 0; $i < (length($seq) - 1); $i++) + { + $sigma_dH += $deltaH{$s[$i]}{$s[$i+1]}; + $sigma_dS += $deltaS{$s[$i]}{$s[$i+1]}; + } + $TM = (-1000 * $sigma_dH / (-10.8 - $sigma_dS + 1.987 * -23.5) + -273.15 + 16.6 * log($salt_concentration) / log(10)); + } + + $res = &format_number($TM, 3); + #print "SALT=$salt_concentration\n"; + #print "GC = $gc_fraction\n"; + #print "SeqLength = $sequence_length\n"; + } + elsif ($TMMethod eq "Nimblegen") + { + $res = &format_number(81.5 + 16.6 * log($salt_concentration) / log(10) + 41 * $gc_fraction - 600 / $sequence_length, 3); + #print "SALT=$salt_concentration\n"; + #print "GC = $gc_fraction\n"; + #print "SeqLength = $sequence_length\n"; + } + else + { + die ("TM Method $TMMethod not recognized\n"); + } + } + else + { + $res = "Too short"; + } + + return $res; +} + +sub GetCounts +{ + my $seq = shift; + my ($aCount,$cCount, $gCount, $tCount) = (0,0,0,0); + my @s = split(//, $seq, -1); + for (my $i = 0; $i < $#s; $i++) + { + if ($s[$i] eq "A") { $aCount++; } + elsif ($s[$i] eq "C") { $cCount++; } + elsif ($s[$i] eq "G") { $gCount++; } + elsif ($s[$i] eq "T") { $tCount++; } + else{ die ("probe contains illegal characters: $s[$i]\n"); } + } + return ($aCount,$cCount, $gCount, $tCount); +} + +#------------------------------------------------------------------------ +# @list ParseRanges (@ranges) +#------------------------------------------------------------------------ +sub ParseRanges +{ + my @segments = split(",", "@_"); + my @fields = (); + my ($i,$beg,$end,$inc) = (0,-1,-1,1); + my $seg; + + foreach $seg (@segments) + { + $beg = undef; + $end = undef; + $inc = undef; + + if($seg =~ /^(\d+)[-](\d+)$/) + { + $beg = $1; + $end = $2; + $inc = $beg <= $end ? +1 : -1; + } + elsif($seg =~ /^(\d+)$/) + { + $beg = $1; + $end = $1; + $inc = 1; + } + + if(defined($beg) and defined($end) and defined($inc)) + { + if ($inc > 0) + { + for($i = $beg; $i <= $end; $i += $inc) + { + push(@fields, $i); + } + } + else + { + for($i = $beg; $i >= $end; $i += $inc) + { + push(@fields, $i); + } + } + } + else + { + die("\nParseRanges() error: flag expected <\,><\-><\,>...<\,>, found: @_. Exit process.\n"); + } + } + @fields; +} + +#------------------------------------------------------------------------------ +# +#------------------------------------------------------------------------------ +sub ComputeSynthesisCycles +{ + my ($seq) = @_; + + my $res = 1; + my $prev_id = -1; + for (my $i = length($seq) - 1; $i >= 0; $i--) + { + my $id = $DNA{substr($seq, $i, 1)}; + + if ($prev_id == -1) + { + $res += $id; + } + else + { + $res += $id > $prev_id ? ($id - $prev_id) : ($id - $prev_id + 4) + } + + $prev_id = $id; + } + + return $res; +} + +#-------------------------------------------------------------------------------------------------------- +# $DNA_sequence_verified_for_not_exceeding_probe_cycle_limit ProbeNotExceedsCycleLimit ($sequence) +#-------------------------------------------------------------------------------------------------------- +sub ComputeNimblegenCycles +{ + my $seq = $_[0]; + my $current_cycle = 0; + + my $prev_letter = ""; + for (my $i = 0; $i < length($seq); $i++) + { + my $c = substr($seq,$i,1); + $current_cycle += $nimblegen_cycle_table{$prev_letter.$c}; + $prev_letter = $c; + } + + return $current_cycle; +} + +#------------------------------------------------------------------------------ +# +#------------------------------------------------------------------------------ +sub AlignSequenceOntoSequence +{ + my ($seq1, $seq2, $seq2_offset) = @_; + + my @res; + $res[0] = 0; + $res[1] = 0; + $res[2] = 0; + + for (my $i = 0; $i < length($seq1); $i++) + { + my $s1 = substr($seq1, $i, 1); + my $s2 = substr($seq2, $i + $seq2_offset, 1); + + if ($s1 ne $s2) + { + $res[0]++; + if ($i == length($seq1) - 1) + { + $res[2]=1; # Mismatch was at last position + } + } + + if (($s1 eq "C" and $s2 eq "T") or ($s1 eq "A" and $s2 eq "G")) + { + $res[1]++; + } + } + + #print STDERR "Aligning s1=$seq1 s2=$seq2 s2_offset=$seq2_offset Mismatches=$res[0] NonGUMismatches=" . ($res[0]-$res[1]) . " GU_Wobbles=$res[1]\n"; + + return @res; # res[0]=#Mismatches, res[1]=#G:U wobbles +} + +#------------------------------------------------------------------------------ +# +#------------------------------------------------------------------------------ +sub AlignSequences +{ + my ($seq1, $seq2, $max_offset, $max_mutations, $max_non_aligned) = @_; + + my $seq1_length = length($seq1); + my $seq2_length = length($seq2); + + my @res; + + for (my $i = 0; $i <= $max_offset; $i++) + { + my $mutations = &ComputeMismatchesBetweenAlignedSequences($seq1, 0, $seq1_length - 1, $seq2, $i, $max_mutations, $max_non_aligned); + + if ($mutations != -1) + { + $res[0] = $i; + $res[1] = $mutations; + + last; + } + } + + if (length($res[0]) == 0) + { + for (my $i = 1; $i <= $max_offset; $i++) + { + my $mutations = &ComputeMismatchesBetweenAlignedSequences($seq2, 0, $seq2_length - 1, $seq1, $i, $max_mutations, $max_non_aligned); + + if ($mutations != -1) + { + $res[0] = -$i; + $res[1] = $mutations; + + last; + } + } + } + + #print STDERR "AlignSequences between seq1=$seq1 and seq2=$seq2 max_offset=$max_offset max_mutations=$max_mutations max_non_aligned=$max_non_aligned res=[offset=$res[0] mutations=$res[1]]\n"; + + return @res; # res[0]=offset_by_which_seq1_moves res[1]=#Mismatches res[0]="" if not found +} + +#------------------------------------------------------------------------------ +# +#------------------------------------------------------------------------------ +sub ComputeMismatchesBetweenAlignedSequences +{ + my ($seq1, $seq1_start, $seq1_end, $seq2, $seq2_start, $max_mutations, $max_non_aligned) = @_; + + my $res = 0; + my $non_aligned = 0; + + for (my $i = $seq1_start; $i <= $seq1_end; $i++) + { + my $s1 = substr($seq1, $i, 1); + my $s2 = substr($seq2, $i + $seq2_start, 1); + + if (length($s2) == 0) + { + $non_aligned++; + + if ($non_aligned > $max_non_aligned) + { + $res = -1; + + last; + } + } + elsif ($s1 ne $s2) + { + $res++; + + if ($res > $max_mutations) + { + $res = -1; + + last; + } + } + } + + #print STDERR "ComputeMismatchesBetweenAlignedSequences between seq1=$seq1($seq1_start,$seq1_end) and seq2=$seq2($seq2_start,...) max_mutations=$max_mutations max_non_aligned=$max_non_aligned res=$res\n"; + + return $res; +} + +#print ComputeBackgroundToMatricesRatio(157) . "\n"; +#print ComputeMeltingTemperature("ACCCTTCAGCAGTTCCACACACCCTTCAGCAGTTCCACACACCCTTCAGCAGTTCCACAC", "Nimblegen", 0.2, 0) . "\n"; +#print AlignSequences($ARGV[0], $ARGV[1], $ARGV[2], $ARGV[3], $ARGV[4]); + +1 diff --git a/modules/local/pita/templates/lib/stab2length.pl b/modules/local/pita/templates/lib/stab2length.pl new file mode 100755 index 00000000..6503a3d5 --- /dev/null +++ b/modules/local/pita/templates/lib/stab2length.pl @@ -0,0 +1,65 @@ +#!/usr/bin/perl + +use strict; + +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/load_args.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/format_number.pl"; +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/system.pl"; + +if ($ARGV[0] eq "--help") +{ + print STDOUT ; + exit; +} + +my $file_ref; +my $file = $ARGV[0]; +if (length($file) < 1 or $file =~ /^-/) +{ + $file_ref = \*STDIN; +} +else +{ + open(FILE, $file) or die("Could not open file '$file'.\n"); + $file_ref = \*FILE; +} + +my %args = load_args(\@ARGV); + +my $include_sequence = get_arg("s", 0, \%args); +my $print_all = get_arg("a", 0, \%args); + +while(<$file_ref>) +{ + chop; + + my @row = split(/\t/); + + print "$row[0]\t"; + print length($row[1]); + + if ($include_sequence == 1) + { + print "\t$row[1]"; + } + elsif ($print_all == 1) + { + for (my $i = 1; $i <= @row; $i++) + { + print "\t$row[$i]"; + } + } + + print "\n"; +} + +__DATA__ + +/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/stab2length.pl + + Outputs the length of each sequence + + -s: Include the sequence in the output file + + -a: Prints additional fields if exist + diff --git a/modules/local/pita/templates/lib/system.pl b/modules/local/pita/templates/lib/system.pl new file mode 100755 index 00000000..87db6079 --- /dev/null +++ b/modules/local/pita/templates/lib/system.pl @@ -0,0 +1,104 @@ +#!/usr/bin/perl + +use strict; + +#------------------------------------------------------------------------------------- +# +#------------------------------------------------------------------------------------- +sub AppendToFile +{ + system("echo \"$_[1]\" >> $_[0]"); +} + +#------------------------------------------------------------------------------------- +# +#------------------------------------------------------------------------------------- +sub CreateDir +{ + my $dir = $_[0]; + if (!(-d $dir)) { system("mkdir $dir"); } +} + +#------------------------------------------------------------------------------------- +# +#------------------------------------------------------------------------------------- +sub CopyFile +{ + if (FileExists($_[0])) + { + system("cp $_[0] $_[1]"); + } +} + +#------------------------------------------------------------------------------------- +# +#------------------------------------------------------------------------------------- +sub DeleteFile +{ + if (FileExists($_[0])) + { + system("rm $_[0]"); + } +} + +#------------------------------------------------------------------------------------- +# +#------------------------------------------------------------------------------------- +sub FileExists +{ + if (-e $_[0]) { return 1; } + else { return 0; } +} + +#------------------------------------------------------------------------------------- +# +#------------------------------------------------------------------------------------- +sub FileIsADirectory +{ + if (-d $_[0]) { return 1; } + else { return 0; } +} + +#------------------------------------------------------------------------------------- +# +#------------------------------------------------------------------------------------- +sub GetNumLinesInFile +{ + my $r = int(rand 1000000000); + + system("wc $_[0] > tmp.$r"); + + open(TMP, "; + chop $line; + + $line =~ /([^\s]+)/; + + &DeleteFile("tmp.$r"); + + return $1; +} + +#------------------------------------------------------------------------------------- +# +#------------------------------------------------------------------------------------- +sub LinkFile +{ + if (!(-l $_[1])) + { + system("ln -s $_[0] $_[1]"); + } +} + +#------------------------------------------------------------------------------------- +# +#------------------------------------------------------------------------------------- +sub MoveFile +{ + if (FileExists($_[0])) + { + system("mv $_[0] $_[1]"); + } +} + +1 diff --git a/modules/local/pita/templates/lib/tab2feature_gxt.pl b/modules/local/pita/templates/lib/tab2feature_gxt.pl new file mode 100755 index 00000000..d30b9966 --- /dev/null +++ b/modules/local/pita/templates/lib/tab2feature_gxt.pl @@ -0,0 +1,281 @@ +#!/usr/bin/perl + +use strict; + +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/load_args.pl"; + +if ($ARGV[0] eq "--help") +{ + print STDOUT ; + exit; +} + +my $file_ref; +my $file = $ARGV[0]; +if (length($file) < 1 or $file =~ /^-/) +{ + $file_ref = \*STDIN; +} +else +{ + open(FILE, $file) or die("Could not open file '$file'.\n"); + $file_ref = \*FILE; +} + +my %args = load_args(\@ARGV); + +my $name = get_arg("n", "Gene names", \%args); +my $desc = get_arg("d", "", \%args); +my $org = get_arg("o", "", \%args); +my $genome_ver = get_arg("gv", "NA", \%args); +my $fixed_positive_color = get_arg("c", "", \%args); +my $fixed_positive_color_by_list_str = get_arg("cs", "", \%args); +my $fixed_negative_color = get_arg("mc", "", \%args); +my $zero_color_intensity = get_arg("zeroc", "", \%args); +my $min_color_intensity = get_arg("minc", "-10", \%args); +my $max_color_intensity = get_arg("maxc", "", \%args); +my $display_mode = get_arg("m", "By Types", \%args); +my $location_display_mode = get_arg("l", "Color gradient", \%args); +my $location_height = get_arg("lh", 10, \%args); +my $use_fixed_type_ordering = get_arg("fixed_order", 0, \%args); +my $display_track_information = get_arg("dt", 0, \%args); +my $add_feature_name_to_id = get_arg("af", 0, \%args); +my $add_counter_to_id = get_arg("ai", "", \%args); +my $feature_vector = get_arg("v", 0, \%args); +my $chromosome_starts = get_arg("chr_starts", "", \%args); +my $chromosome_ends = get_arg("chr_ends", "", \%args); +my $footer_pixels = get_arg("fp", 5, \%args); + +if (length($chromosome_starts) > 0) { $chromosome_starts = "ChromosomesStarts=\"$chromosome_starts\""; } +if (length($chromosome_ends) > 0) { $chromosome_ends = "ChromosomesEnds=\"$chromosome_ends\""; } + +my $type = $feature_vector == 1 ? "ChromosomeFeatureVectorTrack" : "ChromosomeFeatureTrack"; + +if (length($desc) > 0) +{ + $desc = &remove_illegal_xml_chars($desc); + $desc =~ s/\t/ /g; +} + +print " 0) +{ + my @row = split(/\;/, $fixed_positive_color_by_list_str); + for (my $i = 0; $i < @row; $i += 2) + { + $fixed_positive_color_by_list{$row[$i]} = $row[$i + 1]; + } +} + +my @features; +my %feature_types2id; +my @feature_types; +my $feature_counter = 0; + +my $curr_type; +while(<$file_ref>) +{ + chop; + + my @row = split(/\t/); + $curr_type = &remove_illegal_xml_chars($row[4]); + if (length($feature_types2id{$curr_type}) == 0) + { + $feature_types2id{$curr_type} = $feature_counter++; + push(@feature_types, $curr_type); + } + + push(@features, $_); +} + +print "NumLocations=\"".($#features+1)."\" FeatureTypes=\""; +for (my $i = 0; $i < @feature_types; $i++) +{ + if ($i > 0) { print ";" } + + print "$feature_types[$i]"; +} +print "\" "; + +for (my $i = 0; $i < @feature_types; $i++) +{ + print "ColorGradientMaxPositiveColor_$i=\"" . &get_positive_color($i, $feature_types[$i]) . "\" "; + print "ColorGradientMinNegativeColor_$i=\"" . &get_negative_color($i) . "\" "; + + if (length(get_arg("zeroc$i", "", \%args)) > 0) + { + print "ColorGradientZeroValue_$i=\"" . get_arg("zeroc$i", "", \%args) . "\" "; + } + elsif (length($zero_color_intensity) > 0) + { + print "ColorGradientZeroValue_$i=\"$zero_color_intensity\" "; + } + + if (length(get_arg("minc$i", "", \%args)) > 0) + { + print "ColorGradientMinNegativeValue_$i=\"" . get_arg("minc$i", "", \%args) . "\" "; + } + elsif (length($min_color_intensity) > 0) + { + print "ColorGradientMinNegativeValue_$i=\"$min_color_intensity\" "; + } + + if (length(get_arg("maxc$i", "", \%args)) > 0) + { + print "ColorGradientMaxPositiveValue_$i=\"" . get_arg("maxc$i", "", \%args) . "\" "; + } + elsif (length($max_color_intensity) > 0) + { + print "ColorGradientMaxPositiveValue_$i=\"$max_color_intensity\" "; + } +} + +print ">\n"; + +my $counter = 1; +for (my $i = 0; $i < @features; $i++) +{ + my @row = split(/\t/, $features[$i], 6); + $curr_type = &remove_illegal_xml_chars($row[4]); + if ($add_feature_name_to_id == 1) { $row[1] .= " ($feature_types2id{$curr_type})"; } + if ($add_counter_to_id == 1) { $row[1] .= " (ID$counter)"; $counter++;} + + print "$row[0]\t$row[1]\t$row[2]\t$row[3]\t$feature_types2id{$curr_type}\t$row[5]\n"; +} + +print "\n"; + +sub get_positive_color () +{ + my ($color_index, $feature_name) = @_; + + my $res = $fixed_positive_color; + + if (length($res) == 0) + { + $res = get_arg("c$color_index", "", \%args); + + if (length($res) == 0 and length($fixed_positive_color_by_list_str) > 0) + { + foreach my $str (keys %fixed_positive_color_by_list) + { + if ($feature_name =~ /$str/) + { + $res = $fixed_positive_color_by_list{$str}; + last; + } + } + } + + if (length($res) == 0) + { + if ($color_index % 18 == 0) { $res = "255,0,0,1"; } + if ($color_index % 18 == 1) { $res = "0,0,255,1"; } + if ($color_index % 18 == 2) { $res = "255,128,128,1"; } + if ($color_index % 18 == 3) { $res = "128,0,64,1"; } + if ($color_index % 18 == 4) { $res = "128,255,128,1"; } + if ($color_index % 18 == 5) { $res = "50,1,131,1"; } + if ($color_index % 18 == 6) { $res = "0,0,0,1"; } + if ($color_index % 18 == 7) { $res = "0,128,255,1"; } + if ($color_index % 18 == 8) { $res = "255,128,192,1"; } + if ($color_index % 18 == 9) { $res = "128,128,192,1"; } + if ($color_index % 18 == 10) { $res = "255,128,64,1"; } + if ($color_index % 18 == 11) { $res = "255,255,128,1"; } + if ($color_index % 18 == 12) { $res = "128,0,255,1"; } + if ($color_index % 18 == 13) { $res = "128,128,0,1"; } + if ($color_index % 18 == 14) { $res = "0,89,45,1"; } + if ($color_index % 18 == 15) { $res = "0,255,128,1"; } + if ($color_index % 18 == 16) { $res = "0,255,0,1"; } + if ($color_index % 18 == 17) { $res = "128,255,255,1"; } + } + } + + return $res; +} + +sub get_negative_color () +{ + my ($color_index) = @_; + + my $res = $fixed_negative_color; + + if (length($res) == 0) + { + $res = get_arg("mc$color_index", "", \%args); + + if (length($res) == 0) + { + $res = "0,255,0,1"; + } + } + + return $res; +} + +sub remove_illegal_xml_chars +{ + my $str = $_[0]; + $str =~ s/\&/&/g; + $str =~ s/\"/"/g; + $str =~ s/\'/'/g; + $str =~ s/\/>/g; + $str =~ s/;/,/g; + return $str; +} + +__DATA__ + +/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/tab2feature_gxt.pl + + Creates a feature gxt file from a tab file + + -n : Name of the chromosome track (default: Features ) + -o : Organism + -gv : Genome Version (default: NA) + -d : Track description (Tabs will be converted to spaces, default: empty) + + -c : Fix the max color for all features to be str (e.g., '255,0,0,1') + -c: Fix the max color for feature to be str (e.g., '255,0,0,1') + -cs : Fix the max color for features that contain words from the list to colors + specified in the list. The format of list is: + for specifying that features whose name contain str1 are set to color1 + -mc : Fix the min color for all features to be str (e.g., '255,0,0,1') + -mc : Fix the min color for feature to be str (e.g., '255,0,0,1') + + -zeroc : Fix the zero color intensity for all features to be num + -minc : Fix the min color intensity for all features to be num + -maxc : Fix the max color intensity for all features to be num + -minc : Fix the min color intensity for feature to be + -maxc : Fix the max color intensity for feature to be + -zeroc :Fix the zero color intensity for feature to be + + -m : Display mode (Full/Packed/Dense/By Types) (default: By Types) + -l : Location Display mode (Color gradient/Filled box/Unfilled box/Filled oval/Unfilled oval/Directed filled box/Directed unfilled box) (default: Color gradient) + -lh : Location height (default: 10) + + -fixed_order: Use a fixed ordering on the feature types + + -dt: Display track information + -fp : Footer pixels (spacing below the track). + + -af: Add the id of the feature to the name/id of the feature + -ai: Add a counter id to each instance + + -v: Feature vector + + -chr_starts Chromosome start locations (optional format: ;...) + -chr_ends Chromosome end locations (optional format: ;...) + diff --git a/modules/local/pita/templates/lib/transpose.pl b/modules/local/pita/templates/lib/transpose.pl new file mode 100755 index 00000000..1dfe99b8 --- /dev/null +++ b/modules/local/pita/templates/lib/transpose.pl @@ -0,0 +1,125 @@ +#!/usr/bin/perl + +############################################################################## +############################################################################## +## +## /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/transpose.pl +## +############################################################################## +############################################################################## +## +## Written by Josh Stuart in the lab of Stuart Kim, Stanford University. +## +## Email address: jstuart@stanford.edu +## Phone: (650) 725-7612 +## +## Postal address: Department of Developmental Biology +## Beckman Center Room B314 +## 279 Campus Dr. +## Stanford, CA 94305 +## +## Web site: http://www.smi.stanford.edu/people/stuart +## +############################################################################## +############################################################################## +## +## Written: 00/00/02 +## Updated: 00/00/02 +## +############################################################################## +############################################################################## + +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/libfile.pl"; + +use strict; +use warnings; + +# Flush output to STDOUT immediately. +$| = 1; + +my @flags = ( + [ '-q', 'scalar', 0, 1] + , [ '-d', 'scalar', "\t", undef] + , ['--file', 'scalar', '-', undef] + , [ '-nd', 'scalar', "\t", undef] + ); + +my %args = %{&parseArgs(\@ARGV, \@flags)}; + +if(exists($args{'--help'})) +{ + print STDOUT ; + exit(0); +} + +my $verbose = not($args{'-q'}); +my $delim = $args{'-d'}; +my $newDelim= $args{'-nd'}; +my $file = $args{'--file'}; +my $r = 0; +my $c = 0; +my $ncols = -1; +my @x; +my $filep; + +$verbose and print STDERR "Reading in table from '$file'..."; +open($filep, $file) or die("Could not open file '$file' for reading"); +while(<$filep>) +{ + chomp; + my @row = split($delim,$_,-1); + + for($c = 0; scalar(@row) > 0; $c++) + { + $x[$r][$c] = shift @row; + } + if($c > $ncols) + { + $ncols = $c; + } + $r++; +} +close($filep); + +my $nrows = $r; + +$verbose and print STDERR " done ($nrows by $ncols).\n"; + +$verbose and print STDERR "Transposing to $ncols by $nrows...\n"; +for($c = 0; $c < $ncols; $c++) +{ + for($r = 0; $r < $nrows; $r++) + { + my $x = defined($x[$r][$c]) ? $x[$r][$c] : ''; + print "$x"; + if($r < $nrows - 1) + { print $newDelim; } + } + print "\n"; +} +$verbose and print STDERR " done.\n"; + +exit(0); + +__DATA__ +syntax: /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/transpose.pl [OPTIONS] [FILE | < FILE] + +Transposes a table -- flips the rows and columns so that what +were columns in the original table become the rows and what +were rows in the original table become the columns. The original +file is assumed to have rows delimited by newlines and columns +delimited by tabs (the column delimiter can actually be set with +the -d flag; see below). + +FILE: a file containing a table with each row containing a tuple + and each field in the tuple seperated by a delimiter. By + default, the delimiter is assumed to be tab. + +OPTIONS are: +-d DELIM: set the delimiter for the columns to DELIM (default is + tab). + +-nd NEWDELIM set the delimiter for the columns in the output to NEWDELIM (default is tab). + + + diff --git a/modules/local/pita/templates/lib/uniquify.pl b/modules/local/pita/templates/lib/uniquify.pl new file mode 100755 index 00000000..4074965b --- /dev/null +++ b/modules/local/pita/templates/lib/uniquify.pl @@ -0,0 +1,120 @@ +#!/usr/bin/perl + +#use strict; + +require "/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/load_args.pl"; + +if ($ARGV[0] eq "--help") +{ + print STDOUT ; + exit; +} + +my $file_ref; +my $file = $ARGV[0]; +if (length($file) < 1 or $file =~ /^-/) +{ + $file_ref = \*STDIN; +} +else +{ + open(FILE, $file) or die("Could not open file '$file'.\n"); + $file_ref = \*FILE; +} + +my %args = load_args(\@ARGV); + +my $uniquify_columns = get_arg("c", 0, \%args); +my $force_numbers_on_all = get_arg("f", 0, \%args); +my $delim = get_arg("d", "-", \%args); +my $group_columns = get_arg("g", "0",\%args); + +my %counters; + +my @columns = (); +if ($uniquify_columns =~ /\d/) +{ + for (split /,/, $uniquify_columns) + { + if (/(\d+)-(\d+)/) + { + push @columns, ($1..$2); + } + else + { + push @columns, $_ ; + } + } + my %unique = (); + @columns = grep { ! $unique{$_}++ } @columns; +} + + +my %unique = map { $_ => (); } @columns; + + +while(<$file_ref>) +{ + chop; + + my @values = split(/\t/); + + if ($group_columns) + { + my $con_value=""; + foreach my $col (@columns) + { + $con_value = $con_value . "**" . $values[$col]; + #delete $values[$col]; + } + #print "con value: $con_value\n"; + + my $value = $con_value; + if ($force_numbers_on_all) + { + $unique{$con_value} or $unique{$con_value}++ ; + } + if (my $suffix = $unique{$con_value}++) + { + $unique{$con_value = sprintf "%s${delim}%i", $value, $suffix}++; + } + + my $length= @columns; + my $last_val= $columns[$length-1]; + my @uniq_vals= split(/\*\*/, $con_value); + my $len_uniq= @uniq_vals; + $values[$last_val]= $uniq_vals[$len_uniq-1]; + } + + else + { + for my $column (@columns) + { + my $value = $values[$column]; + if ($force_numbers_on_all) + { + $unique{$column}{$value} or $unique{$column}{$value}++ ; + } + if (my $suffix = $unique{$column}{$value}++) + { + $unique{$column}{$values[$column] = sprintf "%s${delim}%i", $value, $suffix}++; + } + } + } + print join ("\t", @values) . "\n"; +} + +__DATA__ + +/nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/uniquify.pl + + Takes in a tab delimited file and uniquifies a column: whenever + encountering an entry that already appeared, appends a number + to that column "-1", "-2", ... + + -c : Columns to uniquify (zero based, default: 0), may be several columns, e.g. -c 0,2-4,7 + -g <1/0>: Group colums inorder to uniquify them together. Default is 0.Forexamle running: /nfs/data3/CIRCEST/pipeline_sponging/modules/local/pita/templates/lib/uniquify.pl -c 1-3 -g 1 will treat coloumns 1-3 as one and uniquify their concatenation. -f: Force a number even on first occurrence + (default: first occurrence does not get a number appended) + + + -d : Use as delimiter instead of the default '-' character. diff --git a/modules/local/pita/templates/lib/vector_ops.pl b/modules/local/pita/templates/lib/vector_ops.pl new file mode 100755 index 00000000..e4caff45 --- /dev/null +++ b/modules/local/pita/templates/lib/vector_ops.pl @@ -0,0 +1,869 @@ +#!/usr/bin/perl + +use strict; + +my $MUTUAL_INFORMATION = "mi"; +my $DOT_PRODUCT = "dot"; +my $CORRELATION_COEFFICIENT = "cor"; +my $LOG2 = log(2); + +#-------------------------------------------------------------------------------- +# DEBUG_VO +#-------------------------------------------------------------------------------- +sub DEBUG_VO +{ +# print $_[0]; +} + +#--------------------------------------------------------- +# vec_avg +#--------------------------------------------------------- +sub vec_avg($) +{ + my $vec = shift; + + my $sum = vec_sum($vec); + + my $entries = vec_count_full_entries($vec); + #print "sum=$sum entries=$entries\n"; + return $entries > 0 ? $sum / $entries : ""; +} + +#--------------------------------------------------------- +# best_dot_product +#--------------------------------------------------------- +sub vec_best_dot_product($$) +{ + my ($vecX, $vecY) = @_; + + my $best_dot = ""; + + my $sizeX = @$vecX; + my $sizeY = @$vecY; + + if ($sizeX >= $sizeY) + { + for (my $X_offset = 0; $sizeX - $X_offset >= $sizeY; $X_offset++) + { + my $dot = 0; + for (my $i = 0; $i < $sizeY; $i++) + { + $dot += ($$vecX[$i + $X_offset] * $$vecY[$i]); + } + + if (length($best_dot) == 0 or $dot > $best_dot) + { + $best_dot = $dot; + } + } + } + else + { + for (my $Y_offset = 0; $sizeY - $Y_offset >= $sizeX; $Y_offset++) + { + my $dot = 0; + for (my $i = 0; $i < $sizeX; $i++) + { + $dot += ($$vecY[$i + $Y_offset] * $$vecX[$i]); + } + + if (length($best_dot) == 0 or $dot > $best_dot) + { + $best_dot = $dot; + } + } + } + + return $best_dot; +} + +#--------------------------------------------------------- +# center +#--------------------------------------------------------- +sub vec_center($) +{ + my $vec = shift; + + my $avg = vec_avg($vec); + my $std = vec_std($vec); + + my @res; + for (my $i = 0; $i < @$vec; $i++) + { + $res[$i] = (length($$vec[$i]) > 0 and $std > 0) ? (($$vec[$i] - $avg) / $std) : ""; + } + + return @res; +} + +#--------------------------------------------------------- +# center (by reference) +#--------------------------------------------------------- +sub vec_center_by_ref($) +{ + my $vec = shift; + + my $avg = vec_avg($vec); + my $std = vec_std($vec); + + for (my $i = 0; $i < @$vec; $i++) + { + $$vec[$i] = (length($$vec[$i]) > 0 and $std > 0) ? (($$vec[$i] - $avg) / $std) : ""; + } + +} + +#--------------------------------------------------------- +# vec_compute_score +#--------------------------------------------------------- +sub vec_compute_score ($$$) +{ + my ($vecX, $vecY, $op) = @_; + + if ($op eq $MUTUAL_INFORMATION) { return vec_mutual_information($vecX, $vecY); } + elsif ($op eq $DOT_PRODUCT) { return vec_dot_product($vecX, $vecY); } + elsif ($op eq $CORRELATION_COEFFICIENT) { return vec_correlation($vecX, $vecY); } +} + +#--------------------------------------------------------- +# vec_correlation +#--------------------------------------------------------- +sub vec_correlation ($$) +{ + my ($vecX, $vecY) = @_; + + my $total = @$vecX; + + my $sum_X = 0; + my $sum_XX = 0; + my $sum_Y = 0; + my $sum_YY = 0; + my $sum_XY = 0; + my $num = 0; + + for (my $i = 0; $i < $total; $i++) + { + my $p_X = $$vecX[$i]; + my $p_Y = $$vecY[$i]; + + if($p_X =~ /\S/ and $p_Y =~ /\S/) + { + $sum_X += $p_X; + $sum_XX += $p_X * $p_X; + $sum_Y += $p_Y; + $sum_YY += $p_Y * $p_Y; + $sum_XY += $p_X * $p_Y; + $num++; + } + } + + my $correlation = undef; + + my $numerator = ($num * $sum_XY) - ($sum_X * $sum_Y); + my $var_X = ($num * $sum_XX) - ($sum_X * $sum_X); + my $var_Y = ($num * $sum_YY) - ($sum_Y * $sum_Y); + + if ($var_X > 0 && $var_Y > 0) + { + my $denominator = sqrt($var_X * $var_Y); + $correlation = $numerator / $denominator; + } + + return $correlation; +} + +#--------------------------------------------------------- +# vec_count_full_entries +#--------------------------------------------------------- +sub vec_count_full_entries($) +{ + my $vec = shift; + + my $entries = 0; + for (my $i = 0; $i < @$vec; $i++) { if (length($$vec[$i]) > 0) { $entries++; } } + + return $entries; +} + +#--------------------------------------------------------- +# dot_product +#--------------------------------------------------------- +sub vec_dot_product ($$) +{ + my ($vecX, $vecY) = @_; + + my $dot = 0; + for (my $i = 0; $i < @$vecX; $i++) + { + $dot += ($$vecX[$i] * $$vecY[$i]); + } + return $dot; +} + +#--------------------------------------------------------- +# dot_product_normedX +#--------------------------------------------------------- +sub vec_dot_product_normedX ($$) +{ + my ($vecX, $vecY) = @_; + + my $dot = 0; + my $norm = 0; + for (my $i = 0; $i < @$vecX; $i++) + { + $dot += ($$vecX[$i] * $$vecY[$i]); + $norm += abs($$vecX[$i]); + } + + return ($norm > 0) ? ($dot/$norm) : ""; +} + +#--------------------------------------------------------- +# entropy +#--------------------------------------------------------- +sub vec_entropy ($) +{ + my $vecX = shift; + + DEBUG_VO("entropy for\n"); + DEBUG_VO(" Vec: @$vecX\n"); + + my $total = @$vecX; + + my %COUNTS_X; + for (my $i = 0; $i < $total; $i++) + { + my $key_X = $$vecX[$i]; + + if (length($COUNTS_X{$key_X} == 0)) { $COUNTS_X{$key_X} = 1; } else { $COUNTS_X{$key_X} = $COUNTS_X{$key_X} + 1; } + } + + my $entropy = 0; + foreach my $key_X (keys %COUNTS_X) + { + my $p_X = $COUNTS_X{$key_X} / $total; + + DEBUG_VO(" PX($key_X) = $p_X\n"); + + $entropy -= ($p_X) * log($p_X) / $LOG2; + } + + return $entropy; +} + +#--------------------------------------------------------- +# intersect +#--------------------------------------------------------- +sub vec_intersect ($$) +{ + my ($vecX, $vecY) = @_; + + my @res; + my $counter = 0; + + my %h1; + for (my $i = 0; $i < @$vecX; $i++) { $h1{$$vecX[$i]} = "1"; } + + for (my $i = 0; $i < @$vecY; $i++) { if ($h1{$$vecY[$i]} eq "1") { $res[$counter++] = $$vecY[$i]; $h1{$$vecY[$i]} = ""; } } + + return @res; +} + +#--------------------------------------------------------- +# kl distance +#--------------------------------------------------------- +sub vec_kl_distance ($$$) +{ + my ($vecX, $vecY, $variable_dimension) = @_; + + my $res = 0; + + for (my $i = 0; $i < @$vecX; $i += $variable_dimension) + { + for (my $j = 0; $j < $variable_dimension; $j++) + { + $res += $$vecX[$i + $j] * log($$vecX[$i + $j] / $$vecY[$i + $j]); + $res += $$vecY[$i + $j] * log($$vecY[$i + $j] / $$vecX[$i + $j]); + } + } + + return $res; +} + +#--------------------------------------------------------- +# vec_min +#--------------------------------------------------------- +sub vec_min ($) +{ + my $vec = shift; + + my $min = 1e300; + for (my $i = 0; $i < @$vec; $i++) { if (length($$vec[$i]) > 0 && $$vec[$i] < $min) { $min = $$vec[$i]; } } + + return $min; +} + +#--------------------------------------------------------- +# vec_first_entry_ge_ind +#--------------------------------------------------------- +sub vec_first_entry_ge_ind($) +{ + my $vec = shift; + my $val = $_[1]; + + my $ind = ""; + for (my $i = 0; $i < @$vec; $i++) { + if ($$vec[$i]>=$val){$ind=$i;last;} + } + + return $ind; +} + +#--------------------------------------------------------- +# vec_first_entry_le_ind +#--------------------------------------------------------- +sub vec_first_entry_le_ind($) +{ + my $vec = shift; + my $val = $_[1]; + + my $ind = ""; + for (my $i = 0; $i < @$vec; $i++) { + if ($$vec[$i]<=$val){$ind=$i;last;} + } + + return $ind; +} + + +#--------------------------------------------------------- +# vec_first_nonempty_entry_ind +#--------------------------------------------------------- +sub vec_first_nonempty_entry_ind ($) +{ + my $vec = shift; + + my $ind = ""; + for (my $i = 0; $i < @$vec; $i++) { + if ($$vec[$i] ne ""){$ind=$i;last;} + } + + return $ind; +} + +#--------------------------------------------------------- +# vec_max_ind +#--------------------------------------------------------- +sub vec_max_ind ($) +{ + my $vec = shift; + my $ind = ""; + my $max = -1e300; + for (my $i = 0; $i < @$vec; $i++) { if (length($$vec[$i]) > 0 && $$vec[$i] > $max) { $max = $$vec[$i]; $ind = $i} } + + return $ind; +} + +#--------------------------------------------------------- +# vec_min_ind +#--------------------------------------------------------- +sub vec_min_ind ($) +{ + my $vec = shift; + my $ind = ""; + my $min = 1e300; + for (my $i = 0; $i < @$vec; $i++) { if (length($$vec[$i]) > 0 && $$vec[$i] < $min) { $min = $$vec[$i]; $ind = $i} } + + return $ind; +} + +#--------------------------------------------------------- +# vec_max +#--------------------------------------------------------- +sub vec_max ($) +{ + my $vec = shift; + + my $max = -1e300; + for (my $i = 0; $i < @$vec; $i++) { if (length($$vec[$i]) > 0 && $$vec[$i] > $max) { $max = $$vec[$i]; } } + + return $max; +} + +#--------------------------------------------------------- +# vec_median +#--------------------------------------------------------- +sub vec_median ($) +{ + my $vec = shift; + + my @full_vec; + foreach my $num (@$vec) + { + if (length($num) > 0) + { + push(@full_vec, $num); + } + } + + @full_vec = sort { $a <=> $b } @full_vec; + + my $counts = @full_vec; + + # BEFORE WAS: return ($counts % 2 == 1) ? $full_vec[int($counts / 2)] : ($full_vec[int($counts / 2) - 1] + $full_vec[int($counts / 2)]) / 2 + # CHANGED NOV18,2007 because one property of median (e.g., comparing to mean) is that it is an original value of the set, and the above solution (for the even set size case) doesnt respect it... + return $full_vec[int($counts / 2)]; +} + +#--------------------------------------------------------- +# vec_true_median - here if the vec has even number of members +# we compute the mean of the two center members +#--------------------------------------------------------- +sub vec_true_median ($) +{ + my $vec = shift; + + my @full_vec; + foreach my $num (@$vec) + { + if (length($num) > 0) + { + push(@full_vec, $num); + } + } + + @full_vec = sort { $a <=> $b } @full_vec; + + my $counts = @full_vec; + + return ($counts % 2 == 1) ? ($full_vec[int($counts / 2)]) + : (($full_vec[int($counts / 2) - 1] + $full_vec[int($counts / 2)]) / 2); +} + +#--------------------------------------------------------- +# vec_quantile +#--------------------------------------------------------- +sub vec_quantile ($$) +{ + my $vec = @_[0]; + my $quantile = @_[1]; + + my @full_vec; + foreach my $num (@$vec) + { + if (length($num) > 0) + { + push(@full_vec, $num); + } + } + + @full_vec = sort { $a <=> $b } @full_vec; + + my $counts = @full_vec; + + my $save_quantile = $quantile; + if ($quantile < 0) + { + $quantile = 0; + } + elsif ($quantile >= 1) + { + $save_quantile = (($counts - 1)/$counts); + } + + return $full_vec[int($save_quantile * $counts)]; +} + +#--------------------------------------------------------- +# vec_num_above_or_equal_min +#--------------------------------------------------------- +sub vec_num_above_or_equal_min ($$) +{ + my $vec = @_[0]; + my $min = @_[1]; + + my $res = 0; + + for (my $i = 0; $i < @$vec; $i++) { if (length($$vec[$i]) > 0 && $$vec[$i] >= $min) { $res++; } } + + return $res; +} + +#--------------------------------------------------------- +# vec_num_below_or_equal_max +#--------------------------------------------------------- +sub vec_num_below_or_equal_max ($$) +{ + my $vec = @_[0]; + my $max = @_[1]; + + my $res = 0; + + for (my $i = 0; $i < @$vec; $i++) { if (length($$vec[$i]) > 0 && $$vec[$i] <= $max) { $res++; } } + + return $res; +} + +#--------------------------------------------------------- +# mutual_information +#--------------------------------------------------------- +sub vec_mutual_information ($$) +{ + my ($vecX, $vecY) = @_; + + + + DEBUG_VO("mutual_information between\n"); + DEBUG_VO(" X: @$vecX\n"); + DEBUG_VO(" Y: @$vecY\n"); + + my $total = @$vecX; + + my %COUNTS_X; + my %COUNTS_Y; + my %COUNTS_XY; + for (my $i = 0; $i < $total; $i++) + { + my $key_X = $$vecX[$i]; + my $key_Y = $$vecY[$i]; + my $key_XY = $$vecX[$i] . " " . $$vecY[$i]; + + if (length($COUNTS_X{$key_X} == 0)) { $COUNTS_X{$key_X} = 1; } else { $COUNTS_X{$key_X} = $COUNTS_X{$key_X} + 1; } + if (length($COUNTS_Y{$key_Y} == 0)) { $COUNTS_Y{$key_Y} = 1; } else { $COUNTS_Y{$key_Y} = $COUNTS_Y{$key_Y} + 1; } + if (length($COUNTS_XY{$key_XY} == 0)) { $COUNTS_XY{$key_XY} = 1; } else { $COUNTS_XY{$key_XY} = $COUNTS_XY{$key_XY} + 1; } + + #DEBUG_VO(" $i: X[$key_X]=$COUNTS_X{$key_X}\n"); + #DEBUG_VO(" Y[$key_Y]=$COUNTS_Y{$key_Y}\n"); + #DEBUG_VO(" XY[$key_XY]=$COUNTS_XY{$key_XY}\n"); + } + + my $mi = 0; + foreach my $key_XY (keys %COUNTS_XY) + { + my ($key_X, $key_Y) = split(" ", $key_XY); + + my $p_X = $COUNTS_X{$key_X} / $total; + my $p_Y = $COUNTS_Y{$key_Y} / $total; + my $p_XY = $COUNTS_XY{$key_XY} / $total; + + DEBUG_VO(" PX($key_X) = $p_X\n"); + DEBUG_VO(" PY($key_Y) = $p_Y\n"); + DEBUG_VO(" PXY($key_XY) = $p_XY\n"); + + $mi += ($p_XY) * log($p_XY / ($p_X * $p_Y)); + } + + return $mi; +} + +#--------------------------------------------------------- +# vec_nth_statistic +#--------------------------------------------------------- +sub vec_nth_statistic ($$) +{ + my $vec = @_[0]; + my $nth_statistic = @_[1]; + + my @sorted_vec = sort { $a <=> $b } @$vec; + + return $sorted_vec[$nth_statistic]; +} + +#--------------------------------------------------------- +# pearson +#--------------------------------------------------------- +sub vec_pearson ($$) +{ + my ($vecX, $vecY) = @_; + + my $dot = 0; + my $num = 0; + for (my $i = 0; $i < @$vecX; $i++) + { + if (length($$vecX[$i]) > 0 and length($$vecY[$i]) > 0) + { + $dot += ($$vecX[$i] * $$vecY[$i]); + $num++; + } + } + + my $pearson = $num > 0 ? $dot / $num : -1000; + + return $pearson; +} + +#--------------------------------------------------------- +# vec_stats +#--------------------------------------------------------- +sub vec_permute (\@$) +{ + my ($vec_str) = @_; + + my @vec = @{$vec_str}; + + my $n = @vec; + + while($n>1){ + $n--; + my $new_index = int(rand($n+1)); + + my $tmp = $vec[$n]; + $vec[$n] = $vec[$new_index]; + $vec[$new_index] = $tmp; + } + + return @vec; +} + +#--------------------------------------------------------- +# vec_stats +#--------------------------------------------------------- +sub vec_stats ($) +{ + my $vec = @_[0]; + + my %stats = 0; + for (my $i = 0; $i < @$vec; $i++) { if (length($stats{$$vec[$i]}) > 0) { $stats{$$vec[$i]} = $stats{$$vec[$i]} + 1; } else { $stats{$$vec[$i]} = 1; } } + + return %stats; +} + +#--------------------------------------------------------- +# vec_mad +#--------------------------------------------------------- +sub vec_mad ($) +{ + my $vec = shift; + + my $true_med = vec_true_median($vec); + # print "\n"; + my @diff_vec = (); + for (my $i = 0; $i < @$vec; $i++) { push(@diff_vec, abs($$vec[$i] - $true_med));} + #print "\n"; + #for (my $i = 0; $i < @$vec; $i++) { print "diff\t".$diff_vec[$i]."\n";} + my $res = vec_true_median(\@diff_vec); + + return $res; +} + +#--------------------------------------------------------- +# vec_std +#--------------------------------------------------------- +sub vec_std($) +{ + my $vec = shift; + + my $sum_x = 0; + my $sum_xx = 0; + for (my $i = 0; $i < @$vec; $i++) { $sum_x += $$vec[$i]; $sum_xx += $$vec[$i] * $$vec[$i]; } + + my $entries = vec_count_full_entries($vec); + + my $std = $entries > 0 ? $sum_xx / $entries - (($sum_x / $entries) * ($sum_x / $entries)) : ""; + + return $std > 0 ? sqrt($std) : 0; +} + + +#--------------------------------------------------------- +# vec_std +#--------------------------------------------------------- +sub vec_stderr ($) +{ + my $vec = @_[0]; + + my $sum_x = 0; + my $sum_xx = 0; + for (my $i = 0; $i < @$vec; $i++) { $sum_x += $$vec[$i]; $sum_xx += $$vec[$i] * $$vec[$i]; } + + my $entries = vec_count_full_entries($vec); + + my $stderr = $entries > 0 ? $sum_xx / $entries - (($sum_x / $entries) * ($sum_x / $entries)) : ""; + $stderr = $entries > 0 ? $stderr / $entries : $stderr; + + return sqrt($stderr); +} + +#--------------------------------------------------------- +# vec_sum +#--------------------------------------------------------- +sub vec_sum($) +{ + my $vec = shift; + + my $sum = 0; + for (my $i = 0; $i < @$vec; $i++) { if (length($$vec[$i]) > 0) { $sum += $$vec[$i]; } } + + return $sum; +} + +#--------------------------------------------------------- +# vec_product +#--------------------------------------------------------- +sub vec_product($) +{ + my $vec = shift; + + my $product = 1; + for (my $i = 0; $i < @$vec; $i++) { if (length($$vec[$i]) > 0) { $product *= $$vec[$i]; } } + + return $product; +} + +#--------------------------------------------------------- +# vec_sum_log +#--------------------------------------------------------- +sub vec_sum_log($) +{ + my $vec = shift; + + my $sum = 0; + my $not_done = 1; + my $first_val = -1; + + for (my $i = 0; ($i < @$vec) && ($not_done == 1); $i++) + { + if (length($$vec[$i]) > 0) + { + $sum = $$vec[$i]; + $first_val = $i; + $not_done = 0; + } + } + + for (my $i = ($first_val + 1); $i < @$vec; $i++) + { + if (length($$vec[$i]) > 0) + { + my $x = $$vec[$i]; + my $y = $sum; + if ($x >= $y) + { + $y -= $x; + } + else + { + my $t = $x; + $x = $y; + $y = $t - $x; + } + $sum = $x + log(1 + exp($y)); + } + } + + return $sum; +} + +#--------------------------------------------------------- +# vec_union +#--------------------------------------------------------- +sub vec_union ($$) +{ + my ($vecX, $vecY) = @_; + + my @res; + my $counter = 0; + + my %h1; + for (my $i = 0; $i < @$vecX; $i++) { $h1{$$vecX[$i]} = "1"; } + for (my $i = 0; $i < @$vecY; $i++) { $h1{$$vecY[$i]} = "1"; } + + for my $key (keys %h1) + { + $res[$counter++] = $key; + } + + return @res; +} + +#--------------------------------------------------------- +# vec_window_average +#--------------------------------------------------------- +sub vec_window_average ($$) +{ + my $vec = @_[0]; + my $window_size = @_[1]; + + my @res; + + for (my $i = 0; $i < @$vec; $i++) + { + my $start = $i - $window_size >= 0 ? $i - $window_size : 0; + my $end = $i + $window_size < @$vec ? $i + $window_size : @$vec - 1; + my $sum = 0; + my $count = 0; + for (my $j = $start; $j <= $end; $j++) + { + if (length($$vec[$j])>0){ + $sum += $$vec[$j]; + $count++; + } + } + if ($count>0){ + $res[$i] = $sum / $count; + } + else{ + $res[$i] = ""; + } + } + + return @res; +} + +#--------------------------------------------------------- +# vec_window_max +#--------------------------------------------------------- +sub vec_window_max ($$) +{ + my $vec = @_[0]; + my $window_size = @_[1]; + + my @res; + + for (my $i = 0; $i < @$vec; $i++) + { + my $start = $i - $window_size >= 0 ? $i - $window_size : 0; + my $end = $i + $window_size < @$vec ? $i + $window_size : @$vec - 1; + my $max = ""; + for (my $j = $start; $j <= $end; $j++) + { + if (length($max) == 0 or $$vec[$j] > $max) + { + $max = $$vec[$j]; + } + } + $res[$i] = $max; + } + + return @res; +} + +#--------------------------------------------------------- +# vec_window_min +#--------------------------------------------------------- +sub vec_window_min ($$) +{ + my $vec = @_[0]; + my $window_size = @_[1]; + + my @res; + + for (my $i = 0; $i < @$vec; $i++) + { + my $start = $i - $window_size >= 0 ? $i - $window_size : 0; + my $end = $i + $window_size < @$vec ? $i + $window_size : @$vec - 1; + my $min = ""; + for (my $j = $start; $j <= $end; $j++) + { + if (length($min) == 0 or $$vec[$j] < $min) + { + $min = $$vec[$j]; + } + } + $res[$i] = $min; + } + + return @res; +} + +1 From 41f29deefa5b1bd9e123a68dbd3f752d837de278 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 26 Sep 2024 11:23:00 +0200 Subject: [PATCH 29/53] removing artifact in sponge.R --- modules/local/sponge/templates/sponge.R | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/local/sponge/templates/sponge.R b/modules/local/sponge/templates/sponge.R index f1ab5fad..8d42276a 100644 --- a/modules/local/sponge/templates/sponge.R +++ b/modules/local/sponge/templates/sponge.R @@ -21,7 +21,6 @@ bindingsites_matrix <- as.matrix(bindingsites) # load gene expression genes <- read.csv("${gene_expr}", sep = "\\t", row.names = "tx") -genes <- subset(genes, select = -gene_id) gene_expr <- t(as.matrix(genes)) From 17313919b9c34ff99f850a373c59f60ce4f9eea1 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 26 Sep 2024 11:24:07 +0200 Subject: [PATCH 30/53] adding tarpmir process --- modules/local/tarpmir/main.nf | 12 ++++++------ modules/local/tarpmir/templates/TarPmiR_threading.py | 7 +++++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/modules/local/tarpmir/main.nf b/modules/local/tarpmir/main.nf index 3b5c6e63..08f70a6c 100644 --- a/modules/local/tarpmir/main.nf +++ b/modules/local/tarpmir/main.nf @@ -1,25 +1,25 @@ process TARPMIR { tag "$meta.id" - label 'process_medium' + label 'process_high' conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/miranda_viennarna_pip_numpy_pruned:d46fd1a59195bfaf' : - 'community.wave.seqera.io/library/miranda_viennarna_pip_numpy_pruned:f4624328aba4ca2b' }" + 'oras://community.wave.seqera.io/library/miranda_viennarna_numpy_scikit-learn_pruned:57cdf91f9c9e30b0' : + 'community.wave.seqera.io/library/miranda_viennarna_numpy_scikit-learn_pruned:f0d4942abcefbe2f' }" input: tuple val(meta) , path(fasta) tuple val(meta2), path(mature) output: - tuple val(meta), path("${prefix}.txt") , emit: bindings - tuple val(meta), path("*.txt") , emit: txt - path "versions.yml" , emit: versions + tuple val(meta), path("${prefix}.bindings.bp"), emit: bindings + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when script: + prefix = task.ext.prefix ?: "${meta.id}" template 'TarPmiR_threading.py' stub: diff --git a/modules/local/tarpmir/templates/TarPmiR_threading.py b/modules/local/tarpmir/templates/TarPmiR_threading.py index d6aa942f..6ec80c45 100644 --- a/modules/local/tarpmir/templates/TarPmiR_threading.py +++ b/modules/local/tarpmir/templates/TarPmiR_threading.py @@ -14,6 +14,8 @@ import urllib import subprocess import pickle +import sklearn +import platform import uuid import pymysql import ssl @@ -655,8 +657,8 @@ def main(): mir_path="${mature}" mrna_path="${fasta}" mode_path="${moduleDir}/Human_sklearn_0.22.pkl" - pb_cut=float(0.8) # TODO MALTE - n_threads_input=10 # TODO MALTE + pb_cut=float(0.8) # TODO: make param in nextflow.config + n_threads_input=12 output_file="${meta.id}.bindings.tsv" global sessionID @@ -748,6 +750,7 @@ def main(): "RNAplfold": rnaplfold_version, "RNAduplex": rnaduplex_version, "miranda": miranda_version, + "sklearn": sklearn.__version__, } } From b0fb25bd2e816c71c6401f7d102745120edf10e3 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 26 Sep 2024 11:24:38 +0200 Subject: [PATCH 31/53] ordering imports --- subworkflows/local/mirna/mirna_bindingsites.nf | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/subworkflows/local/mirna/mirna_bindingsites.nf b/subworkflows/local/mirna/mirna_bindingsites.nf index e5b905a8..11f5f7e4 100644 --- a/subworkflows/local/mirna/mirna_bindingsites.nf +++ b/subworkflows/local/mirna/mirna_bindingsites.nf @@ -1,13 +1,14 @@ include { BIOAWK as ADD_BACKSPLICE } from '../../../modules/nf-core/bioawk' -include { MIRANDA } from '../../../modules/nf-core/miranda' +include { CAT_CAT as COMBINE_BINDINGSITES } from '../../../modules/nf-core/cat/cat' include { GAWK as UNIFY_MIRANDA } from '../../../modules/nf-core/gawk' -include { TARGETSCAN } from '../../../modules/local/targetscan/predict' include { GAWK as UNIFY_TARGETSCAN } from '../../../modules/nf-core/gawk' -include { TARPMIR } from '../../../modules/local/tarpmir' include { GAWK as UNIFY_TARPMIR } from '../../../modules/nf-core/gawk' -include { MIRNA_TARGETS } from '../../../modules/local/mirna_targets' -include { CAT_CAT as COMBINE_BINDINGSITES } from '../../../modules/nf-core/cat/cat' include { MAJORITY_VOTE } from '../../../modules/local/majority_vote' +include { MIRANDA } from '../../../modules/nf-core/miranda' +include { MIRNA_TARGETS } from '../../../modules/local/mirna_targets' +include { PITA } from '../../../modules/local/pita' +include { TARGETSCAN } from '../../../modules/local/targetscan/predict' +include { TARPMIR } from '../../../modules/local/tarpmir' workflow MIRNA_BINDINGSITES { take: From 25e71a805997f16bae7a476688dc3dd25cdbfd1c Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 26 Sep 2024 11:25:54 +0200 Subject: [PATCH 32/53] adding pita and tarpmir to tool selection --- nextflow_schema.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nextflow_schema.json b/nextflow_schema.json index 68ad3992..ab08cdc7 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -178,8 +178,8 @@ "fa_icon": "fas fa-wrench", "description": "Comma separated list of miRNA bindingsite prediction tools to use. Supported tools: miranda, targetscan.", "help_text": "Select one or a combination of miRNA bindingsite prediction tools for the pipeline e.g:\n--mirna_tools 'miranda,targetscan'", - "default": "miranda,targetscan,tarpmir", - "pattern": "^((miranda|targetscan|tarpmir)?,?)*[^,]+$" + "default": "miranda,targetscan,tarpmir,pita", + "pattern": "^((miranda|targetscan|tarpmir,pita)?,?)*[^,]+$" }, "mirna_tool_filter": { "type": "integer", From 1373e395f8a8403673f44d34615c54a178473696 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 26 Sep 2024 11:33:21 +0200 Subject: [PATCH 33/53] reformatting --- modules/local/sponge_effects/main.nf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/local/sponge_effects/main.nf b/modules/local/sponge_effects/main.nf index e2047f21..933fce8a 100644 --- a/modules/local/sponge_effects/main.nf +++ b/modules/local/sponge_effects/main.nf @@ -11,8 +11,8 @@ process SPONGE_EFFECTS { tuple val(meta), path(sponge_data) output: - // TODO - path "versions.yml" , emit: versions + // TODO: script can't be executed yet + path "versions.yml", emit: versions when: @@ -22,6 +22,7 @@ process SPONGE_EFFECTS { template 'sponge_effects.R' stub: + // TODO """ touch "test.txt" From e4840587d4324cb907483aa0dddb3f918ea9d535 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 26 Sep 2024 11:33:47 +0200 Subject: [PATCH 34/53] adding SPONGE_EFFECTS versions --- subworkflows/local/mirna_prediction.nf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/subworkflows/local/mirna_prediction.nf b/subworkflows/local/mirna_prediction.nf index fd2892cb..3c47df47 100644 --- a/subworkflows/local/mirna_prediction.nf +++ b/subworkflows/local/mirna_prediction.nf @@ -89,13 +89,14 @@ workflow MIRNA_PREDICTION { ch_tx_normalized = TX_NORMALIZATION(tx_counts).normalized ch_versions = ch_versions.mix(TX_NORMALIZATION.out.versions) - + SPONGE(MIRNA_BINDINGSITES.out.binding_sites, ch_tx_normalized, ch_mirna_filtered) ch_versions = ch_versions.mix(SPONGE.out.versions) SPONGE_EFFECTS(SPONGE.out.sponge_data) - + + ch_versions = ch_versions.mix(SPONGE_EFFECTS.out.versions) emit: versions = ch_versions From 76464710e520b1c4b27764e7ad51deef13d1592c Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 26 Sep 2024 11:34:15 +0200 Subject: [PATCH 35/53] adding pita in mirna_prediction for testing --- .../local/mirna/mirna_bindingsites.nf | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/subworkflows/local/mirna/mirna_bindingsites.nf b/subworkflows/local/mirna/mirna_bindingsites.nf index 11f5f7e4..adea18db 100644 --- a/subworkflows/local/mirna/mirna_bindingsites.nf +++ b/subworkflows/local/mirna/mirna_bindingsites.nf @@ -1,5 +1,4 @@ include { BIOAWK as ADD_BACKSPLICE } from '../../../modules/nf-core/bioawk' -include { CAT_CAT as COMBINE_BINDINGSITES } from '../../../modules/nf-core/cat/cat' include { GAWK as UNIFY_MIRANDA } from '../../../modules/nf-core/gawk' include { GAWK as UNIFY_TARGETSCAN } from '../../../modules/nf-core/gawk' include { GAWK as UNIFY_TARPMIR } from '../../../modules/nf-core/gawk' @@ -30,8 +29,7 @@ workflow MIRNA_BINDINGSITES { .splitFasta(by: 100, file: true) .map{ meta, file -> [[id: "batch_" + file.baseName.split("\\.").last()], file]} - // - // MIRNA PREDICTION TOOLS: + // // MIRNA PREDICTION TOOLS: // tools_selected = params.mirna_tools.split(',').collect{it.trim().toLowerCase()} @@ -76,17 +74,29 @@ workflow MIRNA_BINDINGSITES { ch_predictions = ch_predictions.mix(UNIFY_TARPMIR.out.output) } + if (tools_selected.contains('pita')) { + // + // TARPMIR WORKFLOW: + // + + PITA( ch_transcriptome_batches, mirna_fasta.collect() ) + // UNIFY_TARPMIR( TARPMIR.out.bindings, [] ) + + ch_versions = ch_versions.mix(PITA.out.versions) + // ch_versions = ch_versions.mix(UNIFY_TARPMIR.out.versions) + // ch_predictions = ch_predictions.mix(UNIFY_TARPMIR.out.output) + } + // // CONSOLIDATE PREDICTIONS WORKFLOW: // // TODO: This is an artifact and should be removed if we have a replacement - // consolidate_targets = TARGETSCAN.out.txt.join(MIRANDA.out.txt).join(circrna_bed12) - consolidate_targets = TARGETSCAN.out.txt.join(MIRANDA.out.txt) + // consolidate_targets = TARGETSCAN.out.txt.join(MIRANDA.out.txt) - MIRNA_TARGETS( consolidate_targets ) + // MIRNA_TARGETS( consolidate_targets ) - ch_versions = ch_versions.mix(MIRNA_TARGETS.out.versions) + // ch_versions = ch_versions.mix(MIRNA_TARGETS.out.versions) // // MAJORITY VOTING: From c07f510e788724de88d502802e47cfcdeef9b496 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 26 Sep 2024 15:24:31 +0200 Subject: [PATCH 36/53] adding pita params --- .../local/pita/templates/pita_prediction.pl | 6 ++--- nextflow.config | 4 ++++ nextflow_schema.json | 24 +++++++++++++++++++ 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/modules/local/pita/templates/pita_prediction.pl b/modules/local/pita/templates/pita_prediction.pl index 803f8e64..8de04b72 100755 --- a/modules/local/pita/templates/pita_prediction.pl +++ b/modules/local/pita/templates/pita_prediction.pl @@ -13,9 +13,9 @@ my \$mir_fn = '${mature}'; my \$flank_up = get_arg("flank_up", "", \\%args); my \$flank_down = get_arg("flank_down", "", \\%args); -my \$lengths = '6-8'; -my \$gu = '6;0,7;1,8;1'; -my \$mismatches = '6;0,7;0.8;1'; +my \$lengths = '${params.pita_lengths}' +my \$gu = '${params.pita_wobbles}' +my \$mismatches = '${params.pita_mismatches}' my \$loop = get_arg("loop", "", \\%args); my \$gxp = get_arg("gxp", "", \\%args); diff --git a/nextflow.config b/nextflow.config index e48c366a..e2ad891f 100644 --- a/nextflow.config +++ b/nextflow.config @@ -89,6 +89,10 @@ params { mirna_tool_filter = 1 mirna_correlation = 'pearson' + //> PITA options + pita_lengths = '6-8' + pita_wobbles = '6;0,7;1,8;1' + pita_mismatches = '6;0,7;0,8;1' //> SPONGE sponge_fdr = 0.01 diff --git a/nextflow_schema.json b/nextflow_schema.json index ab08cdc7..5cbe7a35 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -190,6 +190,30 @@ "minimum": 1, "maximum": 4 }, + "pita_lengths": { + "type": "string", + "fa_icon": "fas fa-wrench", + "description": "A parameter for PITA which controls the range of seed lengths for microRNA interactions.", + "help_text": "Search for seed lengths of num1,...,num2 to the MicroRNA (default: 6-8), where the values represent the minimum and maximum number of nucleotides in the seed sequence.", + "default": "6-8", + "pattern": "^(\\d*-\\d*)" + }, + "pita_wobbles": { + "type": "string", + "fa_icon": "fas fa-wrench", + "description": "A parameter for PITA that defines the seed lengths where G:U wobbles (mismatched pairs) are allowed.", + "help_text": "Lengths for which G:U wobbles are allowed and number of allowed wobbles. Format of nums: ,,... (default: 6;0,7;1,8;1)", + "default": "6;0,7;1,8;1", + "pattern": "^((\\d*;\\d*),)?(\\d*;\\d*)" + }, + "pita_mismatches": { + "type": "string", + "fa_icon": "fas fa-wrench", + "description": "A parameter for PITA that defines the seed lengths where mismatches are allowed and the number of permitted mismatches.", + "help_text": "Lengths for which mismatches are allowed and number of allowed mismatches. Format of nums: ,,... (default: 6;0,7;0,8;1)", + "default": "6;0,7;0,8;1", + "pattern": "^((\\d*;\\d*),)?(\\d*;\\d*)" + }, "sponge_fdr": { "type": "number", "fa_icon": "fas fa-circle-notch", From ad001a429c0ed947e294e0076ccc01cd0df40fbe Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 26 Sep 2024 15:24:44 +0200 Subject: [PATCH 37/53] adding tarpmir params --- .../local/tarpmir/templates/TarPmiR_threading.py | 4 ++-- nextflow.config | 4 ++++ nextflow_schema.json | 14 ++++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/modules/local/tarpmir/templates/TarPmiR_threading.py b/modules/local/tarpmir/templates/TarPmiR_threading.py index 6ec80c45..8955094b 100644 --- a/modules/local/tarpmir/templates/TarPmiR_threading.py +++ b/modules/local/tarpmir/templates/TarPmiR_threading.py @@ -657,8 +657,8 @@ def main(): mir_path="${mature}" mrna_path="${fasta}" mode_path="${moduleDir}/Human_sklearn_0.22.pkl" - pb_cut=float(0.8) # TODO: make param in nextflow.config - n_threads_input=12 + pb_cut=float(${params.tarpmir_cut}) + n_threads_input=${params.tarpmir_threads} output_file="${meta.id}.bindings.tsv" global sessionID diff --git a/nextflow.config b/nextflow.config index e2ad891f..051a7530 100644 --- a/nextflow.config +++ b/nextflow.config @@ -89,6 +89,10 @@ params { mirna_tool_filter = 1 mirna_correlation = 'pearson' + //> TARPMIR options + tarpmir_threads = 12 + tarpmir_cut = 0.8 + //> PITA options pita_lengths = '6-8' pita_wobbles = '6;0,7;1,8;1' diff --git a/nextflow_schema.json b/nextflow_schema.json index 5cbe7a35..b20f9647 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -190,6 +190,20 @@ "minimum": 1, "maximum": 4 }, + "tarpmir_cut": { + "type": "number", + "fa_icon": "fas fa-circle-notch", + "description": "Probability cut, which defines a true miRNA-mRNA binding site. (e.g. 0.5, means that it's a true binding site if the prediction proability >0.5)", + "help_text": "A float number which defines the cutoff for a true miRNA-mRNA binding site.", + "default": 0.8 + }, + "tarpmir_threads": { + "type": "integer", + "fa_icon": "fas fa-intersection", + "description": "Defines the number of threads used by tarpmir to parallelize the processing of mRNA sequences for miRNA target prediction.", + "help_text": "Set the number of threads to be used for parallel processing. A higher number of threads will increase the speed but may consume more system resources. (default: 12)", + "default": 12 + }, "pita_lengths": { "type": "string", "fa_icon": "fas fa-wrench", From 3c4acc96435209f3a7ab8686f2a5a6070e715ce7 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Thu, 26 Sep 2024 15:27:43 +0200 Subject: [PATCH 38/53] adding missing ; --- modules/local/pita/templates/pita_prediction.pl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/local/pita/templates/pita_prediction.pl b/modules/local/pita/templates/pita_prediction.pl index 8de04b72..42a4356f 100755 --- a/modules/local/pita/templates/pita_prediction.pl +++ b/modules/local/pita/templates/pita_prediction.pl @@ -13,9 +13,9 @@ my \$mir_fn = '${mature}'; my \$flank_up = get_arg("flank_up", "", \\%args); my \$flank_down = get_arg("flank_down", "", \\%args); -my \$lengths = '${params.pita_lengths}' -my \$gu = '${params.pita_wobbles}' -my \$mismatches = '${params.pita_mismatches}' +my \$lengths = '${params.pita_lengths}'; +my \$gu = '${params.pita_wobbles}'; +my \$mismatches = '${params.pita_mismatches}'; my \$loop = get_arg("loop", "", \\%args); my \$gxp = get_arg("gxp", "", \\%args); From 533af26a91f7b0cd6f0eb6e64c171516d7c30cd3 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Mon, 30 Sep 2024 13:27:10 +0200 Subject: [PATCH 39/53] fixing output of pita --- modules/local/pita/main.nf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/local/pita/main.nf b/modules/local/pita/main.nf index f8358d35..447f42b4 100644 --- a/modules/local/pita/main.nf +++ b/modules/local/pita/main.nf @@ -12,8 +12,8 @@ process PITA { tuple val(meta2), path(mature) output: - tuple val(meta), path("*_pita_results.tab"), emit: tsv - path "versions.yml" , emit: versions + tuple val(meta), path("*.tab"), emit: tsv + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when From f79c6f4268e3f9dbc2261d6d14cf4633076df93f Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Mon, 30 Sep 2024 13:27:34 +0200 Subject: [PATCH 40/53] adding versios.yml for pita_predict --- .../local/pita/templates/pita_prediction.pl | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/modules/local/pita/templates/pita_prediction.pl b/modules/local/pita/templates/pita_prediction.pl index 42a4356f..241aab8e 100755 --- a/modules/local/pita/templates/pita_prediction.pl +++ b/modules/local/pita/templates/pita_prediction.pl @@ -7,7 +7,7 @@ my %args = load_args(\\@ARGV); -my \$prefix = 'circRNA'; +my \$prefix = '${meta.id}.pita'; my \$utr_fn = '${fasta}'; my \$upstream_fn = get_arg("upstream", "", \\%args); my \$mir_fn = '${mature}'; @@ -97,6 +97,33 @@ sub removeIllegalXMLChars return \$res_str; } +######################## +####### VERSIONS ####### +######################## + +# TODO: hardcoded for now, waiting for conda container +my \$viennarna_version = "1.6"; +my \$perl_version = "\$^V"; + +my \$str = <', \$filename) or die \$!; + +print FH \$str; + +close(FH); + +######################## +######################## +######################## + + __DATA__ syntax: pita_prediction.pl [OPTIONS] From f7141df3fbdc78250ee4c1cd4db2a7dff13ca8d6 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Mon, 30 Sep 2024 13:27:53 +0200 Subject: [PATCH 41/53] adding unify pita in conf --- conf/modules.config | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/conf/modules.config b/conf/modules.config index 12213309..73bdfb4f 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -828,6 +828,16 @@ process { saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, ] } + + withName: UNIFY_PITA { + ext.args = "-v FS='\\t' -v OFS='\\t' 'NR>1 { print \$2, \$1, \$3, \$4, \"pita\" }'" + ext.suffix = "pita.tsv" + publishDir = [ + path: { "${params.outdir}/mirna_prediction/binding_sites/tools/pita/unified" }, + mode: params.publish_dir_mode, + saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, + ] + } withName: COMBINE_BINDINGSITES { ext.prefix = "bindingsites.tsv" From 8412b1c4900001e3c97866035f4aa78e6d362fb9 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Mon, 30 Sep 2024 13:31:23 +0200 Subject: [PATCH 42/53] adding pita to mirna_bindingsites subworkflow --- subworkflows/local/mirna/mirna_bindingsites.nf | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/subworkflows/local/mirna/mirna_bindingsites.nf b/subworkflows/local/mirna/mirna_bindingsites.nf index adea18db..e44a57df 100644 --- a/subworkflows/local/mirna/mirna_bindingsites.nf +++ b/subworkflows/local/mirna/mirna_bindingsites.nf @@ -1,5 +1,6 @@ include { BIOAWK as ADD_BACKSPLICE } from '../../../modules/nf-core/bioawk' include { GAWK as UNIFY_MIRANDA } from '../../../modules/nf-core/gawk' +include { GAWK as UNIFY_PITA } from '../../../modules/nf-core/gawk' include { GAWK as UNIFY_TARGETSCAN } from '../../../modules/nf-core/gawk' include { GAWK as UNIFY_TARPMIR } from '../../../modules/nf-core/gawk' include { MAJORITY_VOTE } from '../../../modules/local/majority_vote' @@ -66,8 +67,8 @@ workflow MIRNA_BINDINGSITES { // TARPMIR WORKFLOW: // - TARPMIR( ch_transcriptome_batches, mirna_fasta.collect() ) - UNIFY_TARPMIR( TARPMIR.out.bindings, [] ) + TARPMIR(ch_transcriptome_batches, mirna_fasta.collect()) + UNIFY_TARPMIR(TARPMIR.out.bindings, []) ch_versions = ch_versions.mix(TARPMIR.out.versions) ch_versions = ch_versions.mix(UNIFY_TARPMIR.out.versions) @@ -76,15 +77,15 @@ workflow MIRNA_BINDINGSITES { if (tools_selected.contains('pita')) { // - // TARPMIR WORKFLOW: + // PITA WORKFLOW: // - PITA( ch_transcriptome_batches, mirna_fasta.collect() ) - // UNIFY_TARPMIR( TARPMIR.out.bindings, [] ) + PITA(ch_transcriptome_batches, mirna_fasta.collect()) + UNIFY_PITA(PITA.out.tsv, []) ch_versions = ch_versions.mix(PITA.out.versions) - // ch_versions = ch_versions.mix(UNIFY_TARPMIR.out.versions) - // ch_predictions = ch_predictions.mix(UNIFY_TARPMIR.out.output) + ch_versions = ch_versions.mix(UNIFY_PITA.out.versions) + ch_predictions = ch_predictions.mix(UNIFY_PITA.out.output) } // From 8d0b8f268938ebda5b3efdab77a43594fb07f31a Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Sun, 6 Oct 2024 12:13:17 +0200 Subject: [PATCH 43/53] formatting --- modules/local/pita/main.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/local/pita/main.nf b/modules/local/pita/main.nf index 447f42b4..b64d1951 100644 --- a/modules/local/pita/main.nf +++ b/modules/local/pita/main.nf @@ -13,7 +13,7 @@ process PITA { output: tuple val(meta), path("*.tab"), emit: tsv - path "versions.yml" , emit: versions + path "versions.yml", emit: versions when: task.ext.when == null || task.ext.when From 09b4d7efaf9518ab5057a07e66b43c52a99e2106 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Sun, 6 Oct 2024 12:54:31 +0200 Subject: [PATCH 44/53] adjusting mirna tool filter param --- nextflow.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextflow.config b/nextflow.config index 051a7530..11fe52a2 100644 --- a/nextflow.config +++ b/nextflow.config @@ -86,7 +86,7 @@ params { mirna_min_reads = 5 mirna_min_sample_percentage = 0.2 mirna_tools = 'miranda,targetscan,tarpmir' - mirna_tool_filter = 1 + mirna_min_tools = 1 mirna_correlation = 'pearson' //> TARPMIR options From cb2afbacdfb2a4515560939e9110670db317e8d6 Mon Sep 17 00:00:00 2001 From: Malte Weyrich Date: Sun, 6 Oct 2024 12:56:32 +0200 Subject: [PATCH 45/53] removing outdated params --- nextflow_schema.json | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/nextflow_schema.json b/nextflow_schema.json index b20f9647..7d52b02e 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -173,23 +173,6 @@ "default": "pearson", "pattern": "^(pearson|spearman)$" }, - "mirna_tools": { - "type": "string", - "fa_icon": "fas fa-wrench", - "description": "Comma separated list of miRNA bindingsite prediction tools to use. Supported tools: miranda, targetscan.", - "help_text": "Select one or a combination of miRNA bindingsite prediction tools for the pipeline e.g:\n--mirna_tools 'miranda,targetscan'", - "default": "miranda,targetscan,tarpmir,pita", - "pattern": "^((miranda|targetscan|tarpmir,pita)?,?)*[^,]+$" - }, - "mirna_tool_filter": { - "type": "integer", - "fa_icon": "fas fa-intersection", - "description": "Specify the number of votes required for a miRNA to be further considered in downstream analysis.'", - "help_text": "Controls the number of votes required for a binding site prediction to be considered valid. If a miRNA binding site was predicted by two different tools (e.g., miRanda and TargetScan), it receives two votes. By specifying additional tools for miRNA binding site prediction (using the 'mirna_tool_filter' parameter), you can adjust the number of votes required for a binding site to be considered valid.", - "default": 1, - "minimum": 1, - "maximum": 4 - }, "tarpmir_cut": { "type": "number", "fa_icon": "fas fa-circle-notch", From 2e66b0637ad8b7ee7397fc0d780978205860bf7a Mon Sep 17 00:00:00 2001 From: Nico Trummer Date: Thu, 16 Jan 2025 09:50:25 +0100 Subject: [PATCH 46/53] Latest changes from Malte --- .../combinebeds/filter/templates/filter.py | 1 + .../main.nf | 4 +- .../templates/gene_deseq_normalization.R} | 0 modules/local/majority_vote/main.nf | 4 +- .../local/majority_vote/templates/majority.py | 16 ++- modules/local/sponge/main.nf | 4 +- modules/local/sponge/templates/sponge.R | 17 +-- modules/local/tarpmir/main.nf | 5 +- .../tarpmir/templates/TarPmiR_threading.py | 2 +- nextflow.config | 2 +- .../local/mirna/mirna_bindingsites.nf | 109 ++++++++++-------- subworkflows/local/mirna_prediction.nf | 33 +++--- subworkflows/local/quantification.nf | 1 + workflows/circrna/main.nf | 2 +- 14 files changed, 106 insertions(+), 94 deletions(-) rename modules/local/deseq2/{tx_normalization => gene_normalization}/main.nf (92%) rename modules/local/deseq2/{tx_normalization/templates/tx_deseq_normalization.R => gene_normalization/templates/gene_deseq_normalization.R} (100%) diff --git a/modules/local/combinebeds/filter/templates/filter.py b/modules/local/combinebeds/filter/templates/filter.py index be352590..a2999121 100644 --- a/modules/local/combinebeds/filter/templates/filter.py +++ b/modules/local/combinebeds/filter/templates/filter.py @@ -74,6 +74,7 @@ def format_yaml_like(data: dict, indent: int = 0) -> str: continue memberships = series.to_list() dataset = upsetplot.from_memberships(memberships) + # TODO: Make this more robust for large datasets upsetplot.plot(dataset, orientation='horizontal', show_counts=True, diff --git a/modules/local/deseq2/tx_normalization/main.nf b/modules/local/deseq2/gene_normalization/main.nf similarity index 92% rename from modules/local/deseq2/tx_normalization/main.nf rename to modules/local/deseq2/gene_normalization/main.nf index 6f322e16..390a042d 100644 --- a/modules/local/deseq2/tx_normalization/main.nf +++ b/modules/local/deseq2/gene_normalization/main.nf @@ -1,4 +1,4 @@ -process TX_NORMALIZATION { +process GENE_NORMALIZATION { tag "$meta.id" label 'process_single' @@ -18,7 +18,7 @@ process TX_NORMALIZATION { task.ext.when == null || task.ext.when script: - template 'tx_deseq_normalization.R' + template 'gene_deseq_normalization.R' stub: """ diff --git a/modules/local/deseq2/tx_normalization/templates/tx_deseq_normalization.R b/modules/local/deseq2/gene_normalization/templates/gene_deseq_normalization.R similarity index 100% rename from modules/local/deseq2/tx_normalization/templates/tx_deseq_normalization.R rename to modules/local/deseq2/gene_normalization/templates/gene_deseq_normalization.R diff --git a/modules/local/majority_vote/main.nf b/modules/local/majority_vote/main.nf index c77ecb0f..48bbeea6 100644 --- a/modules/local/majority_vote/main.nf +++ b/modules/local/majority_vote/main.nf @@ -1,6 +1,6 @@ process MAJORITY_VOTE { tag "$meta.id" - label 'process_medium' + label 'process_high' conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? @@ -13,7 +13,6 @@ process MAJORITY_VOTE { output: tuple val(meta), path("${meta.id}.majority.tsv") , emit: tsv tuple val(meta), path("${meta.id}.targets.tsv") , emit: targets - tuple val(meta), path("${meta.id}.binding_sites.tsv") , emit: binding_sites path "versions.yml" , emit: versions when: @@ -26,6 +25,7 @@ process MAJORITY_VOTE { stub: """ touch ${meta.id}.majority.tsv + touch ${meta.id}.targets.tsv cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/local/majority_vote/templates/majority.py b/modules/local/majority_vote/templates/majority.py index 2869cb37..e47c5e08 100644 --- a/modules/local/majority_vote/templates/majority.py +++ b/modules/local/majority_vote/templates/majority.py @@ -3,7 +3,18 @@ import polars as pl import yaml -paths = "${bindingsites}".split(" ") +# paths = "${bindingsites}".split(" ") +paths = [] +bindingsites = "${bindingsites}" + +j = 0 +for i in range(len(bindingsites)): + if bindingsites[i] == " " or i == len(bindingsites) - 1: + paths.append(bindingsites[j : i + 1]) + j = i + 1 + +print(paths[1:3]) +print(len(paths)) df = pl.scan_csv(paths, separator="\\t", @@ -14,7 +25,7 @@ df = df.group_by(['mirna', 'target']).agg(pl.col("tool").n_unique()) -df = df.filter(pl.col("tool") > int("${min_tools}")) \ +df = df.filter(pl.col("tool") >= int("${min_tools}")) \ .select(["mirna", "target"]) df = df.collect() @@ -37,3 +48,4 @@ with open("versions.yml", "w") as f: f.write(yaml.dump(versions)) + diff --git a/modules/local/sponge/main.nf b/modules/local/sponge/main.nf index 071d500a..f7aac8f4 100644 --- a/modules/local/sponge/main.nf +++ b/modules/local/sponge/main.nf @@ -4,8 +4,8 @@ process SPONGE { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/bioconductor-sponge_r-doparallel_r-foreach_r-visnetwork:086ecad7b1034ff0' : - 'community.wave.seqera.io/library/bioconductor-sponge_r-doparallel_r-foreach_r-visnetwork:e79cb4c59aecf7ba' }" + 'oras://community.wave.seqera.io/library/bioconductor-sponge_r-doparallel_r-foreach_r-visnetwork:b65c26ac28f443f5' : + 'community.wave.seqera.io/library/bioconductor-sponge_r-doparallel_r-foreach_r-visnetwork:44865af735ff0e33' }" input: tuple val(meta), path(binding_sites) diff --git a/modules/local/sponge/templates/sponge.R b/modules/local/sponge/templates/sponge.R index 8d42276a..025e17d6 100644 --- a/modules/local/sponge/templates/sponge.R +++ b/modules/local/sponge/templates/sponge.R @@ -13,11 +13,9 @@ circ_mRNA_subnetwork <- function(interactions, pattern) { } # load binding sites matrix -bindingsites <- read.table("${binding_sites}", sep = "\\t", header = TRUE, check.names = FALSE) -rownames(bindingsites) <- bindingsites[, 1] -bindingsites <- bindingsites[, -1] -bindingsites_matrix <- as.matrix(bindingsites) - +bindingsites <- read.table("${binding_sites}", sep = "\t", header = FALSE, col.names = c("mirna", "gene")) +bindingsites_matrix <- table(bindingsites[, 2], bindingsites[, 1]) +bindingsites_matrix[bindingsites_matrix > 0] <- 1 # load gene expression genes <- read.csv("${gene_expr}", sep = "\\t", row.names = "tx") @@ -52,16 +50,9 @@ gene_expriRNA_candidates <- SPONGE::sponge_gene_miRNA_interaction_filter( gene_expr = gene_expr, mir_expr = mir_expr, mir_predicted_targets = bindingsites_matrix, - F.test = FALSE, - coefficient.threshold = -0.01, - coefficient.direction = NULL + coefficient.threshold = -0.001 ) - - # F.test.p.adj.threshold = ${params.sponge_f_test_pval}, - # coefficient.threshold = ${params.sponge_coeff_threshold}, - # elastic.net = ("${params.sponge_elastic_net}" == "true") - ###################################### # B # ###################################### diff --git a/modules/local/tarpmir/main.nf b/modules/local/tarpmir/main.nf index 08f70a6c..6fbe6761 100644 --- a/modules/local/tarpmir/main.nf +++ b/modules/local/tarpmir/main.nf @@ -12,14 +12,13 @@ process TARPMIR { tuple val(meta2), path(mature) output: - tuple val(meta), path("${prefix}.bindings.bp"), emit: bindings - path "versions.yml" , emit: versions + tuple val(meta), path("*.bindings.bp"), emit: bindings + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when script: - prefix = task.ext.prefix ?: "${meta.id}" template 'TarPmiR_threading.py' stub: diff --git a/modules/local/tarpmir/templates/TarPmiR_threading.py b/modules/local/tarpmir/templates/TarPmiR_threading.py index 8955094b..f2411017 100644 --- a/modules/local/tarpmir/templates/TarPmiR_threading.py +++ b/modules/local/tarpmir/templates/TarPmiR_threading.py @@ -659,7 +659,7 @@ def main(): mode_path="${moduleDir}/Human_sklearn_0.22.pkl" pb_cut=float(${params.tarpmir_cut}) n_threads_input=${params.tarpmir_threads} - output_file="${meta.id}.bindings.tsv" + output_file="${meta.id}.bindings.bp" global sessionID sessionID= 'fn_'+str(uuid.uuid1()) diff --git a/nextflow.config b/nextflow.config index 11fe52a2..5fa57cc7 100644 --- a/nextflow.config +++ b/nextflow.config @@ -86,7 +86,7 @@ params { mirna_min_reads = 5 mirna_min_sample_percentage = 0.2 mirna_tools = 'miranda,targetscan,tarpmir' - mirna_min_tools = 1 + mirna_min_tools = 1 mirna_correlation = 'pearson' //> TARPMIR options diff --git a/subworkflows/local/mirna/mirna_bindingsites.nf b/subworkflows/local/mirna/mirna_bindingsites.nf index e44a57df..35d90421 100644 --- a/subworkflows/local/mirna/mirna_bindingsites.nf +++ b/subworkflows/local/mirna/mirna_bindingsites.nf @@ -38,55 +38,56 @@ workflow MIRNA_BINDINGSITES { error 'No tools selected for miRNA discovery.' } - if (tools_selected.contains('targetscan')) { - // - // TARGETSCAN WORKFLOW: - // - TARGETSCAN( ch_transcriptome_batches, formatMiRNAForTargetScan( mirna_fasta ).collect() ) - UNIFY_TARGETSCAN( TARGETSCAN.out.txt, [] ) - - ch_versions = ch_versions.mix(TARGETSCAN.out.versions) - ch_versions = ch_versions.mix(UNIFY_TARGETSCAN.out.versions) - ch_predictions = ch_predictions.mix(UNIFY_TARGETSCAN.out.output) - } - - if (tools_selected.contains('miranda')) { - // - // MIRANDA WORKFLOW: - // - MIRANDA( ch_transcriptome_batches, mirna_fasta.map{meta, mature -> mature}.collect() ) - UNIFY_MIRANDA( MIRANDA.out.txt, [] ) - - ch_versions = ch_versions.mix(MIRANDA.out.versions) - ch_versions = ch_versions.mix(UNIFY_MIRANDA.out.versions) - ch_predictions = ch_predictions.mix(UNIFY_MIRANDA.out.output) - } - - if (tools_selected.contains('tarpmir')) { - // - // TARPMIR WORKFLOW: - // - - TARPMIR(ch_transcriptome_batches, mirna_fasta.collect()) - UNIFY_TARPMIR(TARPMIR.out.bindings, []) - - ch_versions = ch_versions.mix(TARPMIR.out.versions) - ch_versions = ch_versions.mix(UNIFY_TARPMIR.out.versions) - ch_predictions = ch_predictions.mix(UNIFY_TARPMIR.out.output) - } - - if (tools_selected.contains('pita')) { - // - // PITA WORKFLOW: - // - - PITA(ch_transcriptome_batches, mirna_fasta.collect()) - UNIFY_PITA(PITA.out.tsv, []) - - ch_versions = ch_versions.mix(PITA.out.versions) - ch_versions = ch_versions.mix(UNIFY_PITA.out.versions) - ch_predictions = ch_predictions.mix(UNIFY_PITA.out.output) - } + // TODO: uncomment next time + // if (tools_selected.contains('targetscan')) { + // // + // // TARGETSCAN WORKFLOW: + // // + // TARGETSCAN( ch_transcriptome_batches, formatMiRNAForTargetScan( mirna_fasta ).collect() ) + // UNIFY_TARGETSCAN( TARGETSCAN.out.txt, [] ) + + // ch_versions = ch_versions.mix(TARGETSCAN.out.versions) + // ch_versions = ch_versions.mix(UNIFY_TARGETSCAN.out.versions) + // ch_predictions = ch_predictions.mix(UNIFY_TARGETSCAN.out.output) + // } + + // if (tools_selected.contains('miranda')) { + // // + // // MIRANDA WORKFLOW: + // // + // MIRANDA( ch_transcriptome_batches, mirna_fasta.map{meta, mature -> mature}.collect() ) + // UNIFY_MIRANDA( MIRANDA.out.txt, [] ) + + // ch_versions = ch_versions.mix(MIRANDA.out.versions) + // ch_versions = ch_versions.mix(UNIFY_MIRANDA.out.versions) + // ch_predictions = ch_predictions.mix(UNIFY_MIRANDA.out.output) + // } + + // if (tools_selected.contains('tarpmir')) { + // // + // // TARPMIR WORKFLOW: + // // + + // TARPMIR(ch_transcriptome_batches, mirna_fasta.collect()) + // UNIFY_TARPMIR(TARPMIR.out.bindings, []) + + // ch_versions = ch_versions.mix(TARPMIR.out.versions) + // ch_versions = ch_versions.mix(UNIFY_TARPMIR.out.versions) + // ch_predictions = ch_predictions.mix(UNIFY_TARPMIR.out.output) + // } + + // if (tools_selected.contains('pita')) { + // // + // // PITA WORKFLOW: + // // + + // PITA(ch_transcriptome_batches, mirna_fasta.collect()) + // UNIFY_PITA(PITA.out.tsv, []) + + // ch_versions = ch_versions.mix(PITA.out.versions) + // ch_versions = ch_versions.mix(UNIFY_PITA.out.versions) + // ch_predictions = ch_predictions.mix(UNIFY_PITA.out.output) + // } // // CONSOLIDATE PREDICTIONS WORKFLOW: @@ -102,12 +103,18 @@ workflow MIRNA_BINDINGSITES { // // MAJORITY VOTING: // - MAJORITY_VOTE( ch_predictions.map{meta, file -> file}.collect().map{[[id: "mirna"], it]} ) + + // TODO: uncomment next time + // ch_combined_predictions = ch_predictions.map{meta, file -> file}.collect().map{[[id: "mirna"], it]}.collect() + + ch_combined_predictions = Channel.fromPath('/nfs/home/students/mweyrich/tool.paths').splitText().collectFile().flatMap { it.text.split(/\s+/) }.collect().map{[[id: "mirna"], it]}.collect() + + MAJORITY_VOTE(ch_combined_predictions) ch_versions = ch_versions.mix(MAJORITY_VOTE.out.versions) emit: targets = MAJORITY_VOTE.out.targets - binding_sites = MAJORITY_VOTE.out.binding_sites + binding_sites = MAJORITY_VOTE.out.tsv versions = ch_versions } diff --git a/subworkflows/local/mirna_prediction.nf b/subworkflows/local/mirna_prediction.nf index 3c47df47..2684cc39 100644 --- a/subworkflows/local/mirna_prediction.nf +++ b/subworkflows/local/mirna_prediction.nf @@ -1,7 +1,7 @@ // MODULES include { BIOAWK as ADD_BACKSPLICE } from '../../modules/nf-core/bioawk' include { MIRNA_NORMALIZATION } from '../../modules/local/deseq2/mirna_normalization' -include { TX_NORMALIZATION } from '../../modules/local/deseq2/tx_normalization' +include { GENE_NORMALIZATION } from '../../modules/local/deseq2/gene_normalization' include { MIRNA_FILTERING } from '../../modules/local/mirna_filtering' include { COMPUTE_CORRELATIONS } from '../../modules/local/compute_correlations' include { SPONGE } from '../../modules/local/sponge' @@ -17,8 +17,8 @@ workflow MIRNA_PREDICTION { circrna_annotation ch_mature ch_mirna - quantification_rds tx_counts + quantification_rds main: ch_versions = Channel.empty() @@ -69,34 +69,35 @@ workflow MIRNA_PREDICTION { // // COMPUTE CORRELATION: // - ch_binding_site_batches = MIRNA_BINDINGSITES.out.targets - .splitText(by: 100, file: true) - .map{ meta, file -> [[id: "batch_" + file.baseName.split("\\.").last()], file]} + // TODO: uncomment + // ch_binding_site_batches = MIRNA_BINDINGSITES.out.targets + // .splitText(by: 100, file: true) + // .map{ meta, file -> [[id: "batch_" + file.baseName.split("\\.").last()], file]} - COMPUTE_CORRELATIONS(ch_binding_site_batches, ch_mirna_filtered, quantification_rds) + // COMPUTE_CORRELATIONS(ch_binding_site_batches, ch_mirna_filtered, quantification_rds) - ch_correlation_results = COMPUTE_CORRELATIONS.out.correlations - .map{meta, results -> results} - .flatten().collect() - .map{results -> [[id: 'correlation'], results]} + // ch_correlation_results = COMPUTE_CORRELATIONS.out.correlations + // .map{meta, results -> results} + // .flatten().collect() + // .map{results -> [[id: 'correlation'], results]} - ch_versions = ch_versions.mix(COMPUTE_CORRELATIONS.out.versions) + // ch_versions = ch_versions.mix(COMPUTE_CORRELATIONS.out.versions) } // if (params.sponge) - ch_tx_normalized = TX_NORMALIZATION(tx_counts).normalized + ch_gene_normalized = GENE_NORMALIZATION(tx_counts).normalized - ch_versions = ch_versions.mix(TX_NORMALIZATION.out.versions) + ch_versions = ch_versions.mix(GENE_NORMALIZATION.out.versions) - SPONGE(MIRNA_BINDINGSITES.out.binding_sites, ch_tx_normalized, ch_mirna_filtered) + SPONGE(MIRNA_BINDINGSITES.out.binding_sites, ch_gene_normalized, ch_mirna_filtered) ch_versions = ch_versions.mix(SPONGE.out.versions) - SPONGE_EFFECTS(SPONGE.out.sponge_data) + // SPONGE_EFFECTS(SPONGE.out.sponge_data) - ch_versions = ch_versions.mix(SPONGE_EFFECTS.out.versions) + // ch_versions = ch_versions.mix(SPONGE_EFFECTS.out.versions) emit: versions = ch_versions diff --git a/subworkflows/local/quantification.nf b/subworkflows/local/quantification.nf index a5540a81..afd8a1ba 100644 --- a/subworkflows/local/quantification.nf +++ b/subworkflows/local/quantification.nf @@ -86,6 +86,7 @@ workflow QUANTIFICATION { ciriquant = ch_ciriquant stringtie = ch_stringtie rds = ch_rds + tx = PSIRC_QUANT.out.tx_counts versions = ch_versions } diff --git a/workflows/circrna/main.nf b/workflows/circrna/main.nf index 0da695ff..7a8d8d3a 100644 --- a/workflows/circrna/main.nf +++ b/workflows/circrna/main.nf @@ -176,7 +176,7 @@ workflow CIRCRNA { BSJ_DETECTION.out.bed12, ch_mature, ch_mirna, - QUANTIFICATION.out.tx_counts, + QUANTIFICATION.out.tx, QUANTIFICATION.out.rds ) ch_versions = ch_versions.mix(MIRNA_PREDICTION.out.versions) From d1525e7293c4d27c60956bf9698c398e7e8690eb Mon Sep 17 00:00:00 2001 From: Nico Trummer Date: Thu, 16 Jan 2025 11:28:26 +0100 Subject: [PATCH 47/53] Re-enable everything in mirna_bindingsites subworkflow --- .../local/mirna/mirna_bindingsites.nf | 110 +++++++++--------- 1 file changed, 53 insertions(+), 57 deletions(-) diff --git a/subworkflows/local/mirna/mirna_bindingsites.nf b/subworkflows/local/mirna/mirna_bindingsites.nf index 35d90421..bc128baf 100644 --- a/subworkflows/local/mirna/mirna_bindingsites.nf +++ b/subworkflows/local/mirna/mirna_bindingsites.nf @@ -38,76 +38,72 @@ workflow MIRNA_BINDINGSITES { error 'No tools selected for miRNA discovery.' } - // TODO: uncomment next time - // if (tools_selected.contains('targetscan')) { - // // - // // TARGETSCAN WORKFLOW: - // // - // TARGETSCAN( ch_transcriptome_batches, formatMiRNAForTargetScan( mirna_fasta ).collect() ) - // UNIFY_TARGETSCAN( TARGETSCAN.out.txt, [] ) - - // ch_versions = ch_versions.mix(TARGETSCAN.out.versions) - // ch_versions = ch_versions.mix(UNIFY_TARGETSCAN.out.versions) - // ch_predictions = ch_predictions.mix(UNIFY_TARGETSCAN.out.output) - // } - - // if (tools_selected.contains('miranda')) { - // // - // // MIRANDA WORKFLOW: - // // - // MIRANDA( ch_transcriptome_batches, mirna_fasta.map{meta, mature -> mature}.collect() ) - // UNIFY_MIRANDA( MIRANDA.out.txt, [] ) - - // ch_versions = ch_versions.mix(MIRANDA.out.versions) - // ch_versions = ch_versions.mix(UNIFY_MIRANDA.out.versions) - // ch_predictions = ch_predictions.mix(UNIFY_MIRANDA.out.output) - // } - - // if (tools_selected.contains('tarpmir')) { - // // - // // TARPMIR WORKFLOW: - // // - - // TARPMIR(ch_transcriptome_batches, mirna_fasta.collect()) - // UNIFY_TARPMIR(TARPMIR.out.bindings, []) - - // ch_versions = ch_versions.mix(TARPMIR.out.versions) - // ch_versions = ch_versions.mix(UNIFY_TARPMIR.out.versions) - // ch_predictions = ch_predictions.mix(UNIFY_TARPMIR.out.output) - // } - - // if (tools_selected.contains('pita')) { - // // - // // PITA WORKFLOW: - // // - - // PITA(ch_transcriptome_batches, mirna_fasta.collect()) - // UNIFY_PITA(PITA.out.tsv, []) - - // ch_versions = ch_versions.mix(PITA.out.versions) - // ch_versions = ch_versions.mix(UNIFY_PITA.out.versions) - // ch_predictions = ch_predictions.mix(UNIFY_PITA.out.output) - // } + if (tools_selected.contains('targetscan')) { + // + // TARGETSCAN WORKFLOW: + // + TARGETSCAN( ch_transcriptome_batches, formatMiRNAForTargetScan( mirna_fasta ).collect() ) + UNIFY_TARGETSCAN( TARGETSCAN.out.txt, [] ) + + ch_versions = ch_versions.mix(TARGETSCAN.out.versions) + ch_versions = ch_versions.mix(UNIFY_TARGETSCAN.out.versions) + ch_predictions = ch_predictions.mix(UNIFY_TARGETSCAN.out.output) + } + + if (tools_selected.contains('miranda')) { + // + // MIRANDA WORKFLOW: + // + MIRANDA( ch_transcriptome_batches, mirna_fasta.map{meta, mature -> mature}.collect() ) + UNIFY_MIRANDA( MIRANDA.out.txt, [] ) + + ch_versions = ch_versions.mix(MIRANDA.out.versions) + ch_versions = ch_versions.mix(UNIFY_MIRANDA.out.versions) + ch_predictions = ch_predictions.mix(UNIFY_MIRANDA.out.output) + } + + if (tools_selected.contains('tarpmir')) { + // + // TARPMIR WORKFLOW: + // + + TARPMIR(ch_transcriptome_batches, mirna_fasta.collect()) + UNIFY_TARPMIR(TARPMIR.out.bindings, []) + + ch_versions = ch_versions.mix(TARPMIR.out.versions) + ch_versions = ch_versions.mix(UNIFY_TARPMIR.out.versions) + ch_predictions = ch_predictions.mix(UNIFY_TARPMIR.out.output) + } + + if (tools_selected.contains('pita')) { + // + // PITA WORKFLOW: + // + + PITA(ch_transcriptome_batches, mirna_fasta.collect()) + UNIFY_PITA(PITA.out.tsv, []) + + ch_versions = ch_versions.mix(PITA.out.versions) + ch_versions = ch_versions.mix(UNIFY_PITA.out.versions) + ch_predictions = ch_predictions.mix(UNIFY_PITA.out.output) + } // // CONSOLIDATE PREDICTIONS WORKFLOW: // // TODO: This is an artifact and should be removed if we have a replacement - // consolidate_targets = TARGETSCAN.out.txt.join(MIRANDA.out.txt) + consolidate_targets = TARGETSCAN.out.txt.join(MIRANDA.out.txt) - // MIRNA_TARGETS( consolidate_targets ) + MIRNA_TARGETS( consolidate_targets ) - // ch_versions = ch_versions.mix(MIRNA_TARGETS.out.versions) + ch_versions = ch_versions.mix(MIRNA_TARGETS.out.versions) // // MAJORITY VOTING: // - // TODO: uncomment next time - // ch_combined_predictions = ch_predictions.map{meta, file -> file}.collect().map{[[id: "mirna"], it]}.collect() - - ch_combined_predictions = Channel.fromPath('/nfs/home/students/mweyrich/tool.paths').splitText().collectFile().flatMap { it.text.split(/\s+/) }.collect().map{[[id: "mirna"], it]}.collect() + ch_combined_predictions = ch_predictions.map{meta, file -> file}.collect().map{[[id: "mirna"], it]}.collect() MAJORITY_VOTE(ch_combined_predictions) ch_versions = ch_versions.mix(MAJORITY_VOTE.out.versions) From 2075095f035f9b6a1992f046c0dbb6f203c9fa32 Mon Sep 17 00:00:00 2001 From: Nico Trummer Date: Thu, 16 Jan 2025 23:36:24 +0100 Subject: [PATCH 48/53] Improve mirna majority vote script --- .../local/majority_vote/templates/majority.py | 32 +++++-------------- 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/modules/local/majority_vote/templates/majority.py b/modules/local/majority_vote/templates/majority.py index e47c5e08..f8940bcd 100644 --- a/modules/local/majority_vote/templates/majority.py +++ b/modules/local/majority_vote/templates/majority.py @@ -3,39 +3,23 @@ import polars as pl import yaml -# paths = "${bindingsites}".split(" ") -paths = [] -bindingsites = "${bindingsites}" +df = pl.scan_csv("*.tsv", + separator="\\t", + has_header=False, + new_columns=['mirna', 'target', 'start', 'end', 'tool']) -j = 0 -for i in range(len(bindingsites)): - if bindingsites[i] == " " or i == len(bindingsites) - 1: - paths.append(bindingsites[j : i + 1]) - j = i + 1 +df = df.select("mirna", "target", "tool") +df = df.group_by('mirna', 'target').agg(pl.col("tool").n_unique()) -print(paths[1:3]) -print(len(paths)) - -df = pl.scan_csv(paths, - separator="\\t", - has_header=False, - new_columns=['mirna', 'target', 'start', 'end', 'tool']) - -df = df.select(["mirna", "target", "tool"]) - -df = df.group_by(['mirna', 'target']).agg(pl.col("tool").n_unique()) - -df = df.filter(pl.col("tool") >= int("${min_tools}")) \ - .select(["mirna", "target"]) +df = df.filter(pl.col("tool") >= int("${min_tools}")) +df = df.select("mirna", "target") df = df.collect() - df.write_csv('${meta.id}.majority.tsv', separator='\\t', include_header=False) # Create targets file df = df.group_by('mirna').agg(pl.col("target").str.concat(",")) - df.write_csv('${meta.id}.targets.tsv', separator='\\t', include_header=False) # Create version file From bc7b7dec0f1e95e5fcd5d9b04067ae78d8acb62f Mon Sep 17 00:00:00 2001 From: Nico Trummer Date: Fri, 17 Jan 2025 00:01:34 +0100 Subject: [PATCH 49/53] Improve SPONGE script --- modules/local/sponge/templates/sponge.R | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/local/sponge/templates/sponge.R b/modules/local/sponge/templates/sponge.R index 025e17d6..2ae00805 100644 --- a/modules/local/sponge/templates/sponge.R +++ b/modules/local/sponge/templates/sponge.R @@ -67,9 +67,12 @@ ceRNA_interactions <- SPONGE::sponge( # C # ###################################### +n_samples <- nrow(gene_expr) + mscor_null_model <- SPONGE::sponge_build_null_model( number_of_datasets = 100, - number_of_samples = nrow(gene_expr) + number_of_samples = n_samples, + m_max = min(8, n_samples - 4) # Reconstructed based on https://github.com/daisybio/SPONGE/blob/d2592800cd2b72b92fe59aba2183f1dffcac3465/R/fn_significance.R#L253 ) sim_plot <- SPONGE::sponge_plot_simulation_results(mscor_null_model) From 705f2f4b97d22ed9b4c104e0b03757eefab0515c Mon Sep 17 00:00:00 2001 From: Nico Trummer Date: Fri, 17 Jan 2025 00:11:58 +0100 Subject: [PATCH 50/53] Re-enable commented-out sections from mirna prediction --- subworkflows/local/mirna_prediction.nf | 49 ++++++++++++-------------- 1 file changed, 23 insertions(+), 26 deletions(-) diff --git a/subworkflows/local/mirna_prediction.nf b/subworkflows/local/mirna_prediction.nf index 2684cc39..0be16b8c 100644 --- a/subworkflows/local/mirna_prediction.nf +++ b/subworkflows/local/mirna_prediction.nf @@ -24,7 +24,7 @@ workflow MIRNA_PREDICTION { ch_versions = Channel.empty() // - // MIRNA NORMALIZATION WORKFLOW: + // MIRNA NORMALIZATION WORKFLOW // if (params.mirna_expression) { @@ -41,7 +41,7 @@ workflow MIRNA_PREDICTION { ch_versions = ch_versions.mix(MIRNA_FILTERING.out.versions) // - // MIRNA BINDING SITES: + // MIRNA BINDING SITES // // Filtering miRNAs from ch_mature if they are not in ch_mirna_filtered. @@ -66,38 +66,35 @@ workflow MIRNA_PREDICTION { ch_versions = ch_versions.mix(MIRNA_BINDINGSITES.out.versions) if (params.mirna_expression) { + // - // COMPUTE CORRELATION: + // COMPUTE CORRELATION // - // TODO: uncomment - // ch_binding_site_batches = MIRNA_BINDINGSITES.out.targets - // .splitText(by: 100, file: true) - // .map{ meta, file -> [[id: "batch_" + file.baseName.split("\\.").last()], file]} - - // COMPUTE_CORRELATIONS(ch_binding_site_batches, ch_mirna_filtered, quantification_rds) - - // ch_correlation_results = COMPUTE_CORRELATIONS.out.correlations - // .map{meta, results -> results} - // .flatten().collect() - // .map{results -> [[id: 'correlation'], results]} - - // ch_versions = ch_versions.mix(COMPUTE_CORRELATIONS.out.versions) - } + ch_binding_site_batches = MIRNA_BINDINGSITES.out.targets + .splitText(by: 100, file: true) + .map{ meta, file -> [[id: "batch_" + file.baseName.split("\\.").last()], file]} - // if (params.sponge) + COMPUTE_CORRELATIONS(ch_binding_site_batches, ch_mirna_filtered, quantification_rds) + ch_correlation_results = COMPUTE_CORRELATIONS.out.correlations + .map{meta, results -> results} + .flatten().collect() + .map{results -> [[id: 'correlation'], results]} - ch_gene_normalized = GENE_NORMALIZATION(tx_counts).normalized + ch_versions = ch_versions.mix(COMPUTE_CORRELATIONS.out.versions) - ch_versions = ch_versions.mix(GENE_NORMALIZATION.out.versions) - - SPONGE(MIRNA_BINDINGSITES.out.binding_sites, ch_gene_normalized, ch_mirna_filtered) - - ch_versions = ch_versions.mix(SPONGE.out.versions) + // + // SPONGE + // + ch_gene_normalized = GENE_NORMALIZATION(tx_counts).normalized + ch_versions = ch_versions.mix(GENE_NORMALIZATION.out.versions) - // SPONGE_EFFECTS(SPONGE.out.sponge_data) + SPONGE(MIRNA_BINDINGSITES.out.binding_sites, ch_gene_normalized, ch_mirna_filtered) + ch_versions = ch_versions.mix(SPONGE.out.versions) - // ch_versions = ch_versions.mix(SPONGE_EFFECTS.out.versions) + SPONGE_EFFECTS(SPONGE.out.sponge_data) + ch_versions = ch_versions.mix(SPONGE_EFFECTS.out.versions) + } emit: versions = ch_versions From 7b93466dc147a01a9ae7e2ff5a76a8037cc83d62 Mon Sep 17 00:00:00 2001 From: Nico Trummer Date: Sun, 19 Jan 2025 11:16:01 +0100 Subject: [PATCH 51/53] Improve mirna module structure --- conf/modules.config | 8 ++++---- .../computecorrelations}/environment.yml | 0 .../computecorrelations}/main.nf | 2 +- .../templates/compute_correlations.R | 0 .../{mirna_filtering => mirna/filtering}/main.nf | 0 .../filtering}/templates/mirna_filtering.R | 0 .../majorityvote}/environment.yml | 0 .../{majority_vote => mirna/majorityvote}/main.nf | 2 +- .../majorityvote}/templates/majority.py | 0 .../local/{mirna_targets => mirna/targets}/main.nf | 0 modules/local/sponge/{ => sponge}/main.nf | 2 +- .../local/sponge/{ => sponge}/templates/sponge.R | 0 .../spongeffects}/main.nf | 2 +- .../spongeffects}/templates/sponge_effects.R | 0 subworkflows/local/mirna/mirna_bindingsites.nf | 12 ++++++------ subworkflows/local/mirna_prediction.nf | 14 +++++++------- 16 files changed, 21 insertions(+), 21 deletions(-) rename modules/local/{compute_correlations => mirna/computecorrelations}/environment.yml (100%) rename modules/local/{compute_correlations => mirna/computecorrelations}/main.nf (95%) rename modules/local/{compute_correlations => mirna/computecorrelations}/templates/compute_correlations.R (100%) rename modules/local/{mirna_filtering => mirna/filtering}/main.nf (100%) rename modules/local/{mirna_filtering => mirna/filtering}/templates/mirna_filtering.R (100%) rename modules/local/{majority_vote => mirna/majorityvote}/environment.yml (100%) rename modules/local/{majority_vote => mirna/majorityvote}/main.nf (97%) rename modules/local/{majority_vote => mirna/majorityvote}/templates/majority.py (100%) rename modules/local/{mirna_targets => mirna/targets}/main.nf (100%) rename modules/local/sponge/{ => sponge}/main.nf (98%) rename modules/local/sponge/{ => sponge}/templates/sponge.R (100%) rename modules/local/{sponge_effects => sponge/spongeffects}/main.nf (98%) rename modules/local/{sponge_effects => sponge/spongeffects}/templates/sponge_effects.R (100%) diff --git a/conf/modules.config b/conf/modules.config index 73bdfb4f..70a8ceca 100644 --- a/conf/modules.config +++ b/conf/modules.config @@ -828,7 +828,7 @@ process { saveAs: { filename -> filename.equals('versions.yml') ? null : filename }, ] } - + withName: UNIFY_PITA { ext.args = "-v FS='\\t' -v OFS='\\t' 'NR>1 { print \$2, \$1, \$3, \$4, \"pita\" }'" ext.suffix = "pita.tsv" @@ -1071,7 +1071,7 @@ process { pattern: "*.bp" ] } - + withName: PITA { ext.prefix = { "${meta.id}.pita" } publishDir = [ @@ -1099,7 +1099,7 @@ process { ] } - withName: MAJORITY_VOTE { + withName: MIRNA_MAJORITYVOTE { publishDir = [ path: { "${params.outdir}/mirna_prediction/binding_sites/majority_vote" }, mode: params.publish_dir_mode, @@ -1107,7 +1107,7 @@ process { ] } - withName: '.*:MIRNA_PREDICTION:COMPUTE_CORRELATIONS' { + withName: '.*:MIRNA_PREDICTION:MIRNA_COMPUTECORRELATIONS' { publishDir = [ path: { "${params.outdir}/mirna_prediction/correlation" }, mode: params.publish_dir_mode, diff --git a/modules/local/compute_correlations/environment.yml b/modules/local/mirna/computecorrelations/environment.yml similarity index 100% rename from modules/local/compute_correlations/environment.yml rename to modules/local/mirna/computecorrelations/environment.yml diff --git a/modules/local/compute_correlations/main.nf b/modules/local/mirna/computecorrelations/main.nf similarity index 95% rename from modules/local/compute_correlations/main.nf rename to modules/local/mirna/computecorrelations/main.nf index 4a72b5eb..b44b8fd4 100644 --- a/modules/local/compute_correlations/main.nf +++ b/modules/local/mirna/computecorrelations/main.nf @@ -1,4 +1,4 @@ -process COMPUTE_CORRELATIONS { +process MIRNA_COMPUTECORRELATIONS { tag "$meta.id" label 'process_single' diff --git a/modules/local/compute_correlations/templates/compute_correlations.R b/modules/local/mirna/computecorrelations/templates/compute_correlations.R similarity index 100% rename from modules/local/compute_correlations/templates/compute_correlations.R rename to modules/local/mirna/computecorrelations/templates/compute_correlations.R diff --git a/modules/local/mirna_filtering/main.nf b/modules/local/mirna/filtering/main.nf similarity index 100% rename from modules/local/mirna_filtering/main.nf rename to modules/local/mirna/filtering/main.nf diff --git a/modules/local/mirna_filtering/templates/mirna_filtering.R b/modules/local/mirna/filtering/templates/mirna_filtering.R similarity index 100% rename from modules/local/mirna_filtering/templates/mirna_filtering.R rename to modules/local/mirna/filtering/templates/mirna_filtering.R diff --git a/modules/local/majority_vote/environment.yml b/modules/local/mirna/majorityvote/environment.yml similarity index 100% rename from modules/local/majority_vote/environment.yml rename to modules/local/mirna/majorityvote/environment.yml diff --git a/modules/local/majority_vote/main.nf b/modules/local/mirna/majorityvote/main.nf similarity index 97% rename from modules/local/majority_vote/main.nf rename to modules/local/mirna/majorityvote/main.nf index 48bbeea6..241c59f5 100644 --- a/modules/local/majority_vote/main.nf +++ b/modules/local/mirna/majorityvote/main.nf @@ -1,4 +1,4 @@ -process MAJORITY_VOTE { +process MIRNA_MAJORITYVOTE { tag "$meta.id" label 'process_high' diff --git a/modules/local/majority_vote/templates/majority.py b/modules/local/mirna/majorityvote/templates/majority.py similarity index 100% rename from modules/local/majority_vote/templates/majority.py rename to modules/local/mirna/majorityvote/templates/majority.py diff --git a/modules/local/mirna_targets/main.nf b/modules/local/mirna/targets/main.nf similarity index 100% rename from modules/local/mirna_targets/main.nf rename to modules/local/mirna/targets/main.nf diff --git a/modules/local/sponge/main.nf b/modules/local/sponge/sponge/main.nf similarity index 98% rename from modules/local/sponge/main.nf rename to modules/local/sponge/sponge/main.nf index f7aac8f4..2cf4c1d9 100644 --- a/modules/local/sponge/main.nf +++ b/modules/local/sponge/sponge/main.nf @@ -1,4 +1,4 @@ -process SPONGE { +process SPONGE_SPONGE { tag "$meta.id" label 'process_high' diff --git a/modules/local/sponge/templates/sponge.R b/modules/local/sponge/sponge/templates/sponge.R similarity index 100% rename from modules/local/sponge/templates/sponge.R rename to modules/local/sponge/sponge/templates/sponge.R diff --git a/modules/local/sponge_effects/main.nf b/modules/local/sponge/spongeffects/main.nf similarity index 98% rename from modules/local/sponge_effects/main.nf rename to modules/local/sponge/spongeffects/main.nf index 933fce8a..3e477092 100644 --- a/modules/local/sponge_effects/main.nf +++ b/modules/local/sponge/spongeffects/main.nf @@ -1,4 +1,4 @@ -process SPONGE_EFFECTS { +process SPONGE_SPONGEFFECTS { tag "$meta.id" label 'process_high' diff --git a/modules/local/sponge_effects/templates/sponge_effects.R b/modules/local/sponge/spongeffects/templates/sponge_effects.R similarity index 100% rename from modules/local/sponge_effects/templates/sponge_effects.R rename to modules/local/sponge/spongeffects/templates/sponge_effects.R diff --git a/subworkflows/local/mirna/mirna_bindingsites.nf b/subworkflows/local/mirna/mirna_bindingsites.nf index bc128baf..37acef94 100644 --- a/subworkflows/local/mirna/mirna_bindingsites.nf +++ b/subworkflows/local/mirna/mirna_bindingsites.nf @@ -3,9 +3,9 @@ include { GAWK as UNIFY_MIRANDA } from '../../../modules/nf-core/gawk' include { GAWK as UNIFY_PITA } from '../../../modules/nf-core/gawk' include { GAWK as UNIFY_TARGETSCAN } from '../../../modules/nf-core/gawk' include { GAWK as UNIFY_TARPMIR } from '../../../modules/nf-core/gawk' -include { MAJORITY_VOTE } from '../../../modules/local/majority_vote' +include { MIRNA_MAJORITYVOTE } from '../../../modules/local/mirna/majorityvote' include { MIRANDA } from '../../../modules/nf-core/miranda' -include { MIRNA_TARGETS } from '../../../modules/local/mirna_targets' +include { MIRNA_TARGETS } from '../../../modules/local/mirna/targets' include { PITA } from '../../../modules/local/pita' include { TARGETSCAN } from '../../../modules/local/targetscan/predict' include { TARPMIR } from '../../../modules/local/tarpmir' @@ -105,12 +105,12 @@ workflow MIRNA_BINDINGSITES { ch_combined_predictions = ch_predictions.map{meta, file -> file}.collect().map{[[id: "mirna"], it]}.collect() - MAJORITY_VOTE(ch_combined_predictions) - ch_versions = ch_versions.mix(MAJORITY_VOTE.out.versions) + MIRNA_MAJORITYVOTE(ch_combined_predictions) + ch_versions = ch_versions.mix(MIRNA_MAJORITYVOTE.out.versions) emit: - targets = MAJORITY_VOTE.out.targets - binding_sites = MAJORITY_VOTE.out.tsv + targets = MIRNA_MAJORITYVOTE.out.targets + binding_sites = MIRNA_MAJORITYVOTE.out.tsv versions = ch_versions } diff --git a/subworkflows/local/mirna_prediction.nf b/subworkflows/local/mirna_prediction.nf index 0be16b8c..d551668d 100644 --- a/subworkflows/local/mirna_prediction.nf +++ b/subworkflows/local/mirna_prediction.nf @@ -2,10 +2,10 @@ include { BIOAWK as ADD_BACKSPLICE } from '../../modules/nf-core/bioawk' include { MIRNA_NORMALIZATION } from '../../modules/local/deseq2/mirna_normalization' include { GENE_NORMALIZATION } from '../../modules/local/deseq2/gene_normalization' -include { MIRNA_FILTERING } from '../../modules/local/mirna_filtering' -include { COMPUTE_CORRELATIONS } from '../../modules/local/compute_correlations' -include { SPONGE } from '../../modules/local/sponge' -include { SPONGE_EFFECTS } from '../../modules/local/sponge_effects' +include { MIRNA_FILTERING } from '../../modules/local/mirna/filtering' +include { MIRNA_COMPUTECORRELATIONS } from '../../modules/local/mirna/computecorrelations' +include { SPONGE_SPONGE } from '../../modules/local/sponge/sponge' +include { SPONGE_SPONGEFFECTS } from '../../modules/local/sponge/spongeffects' // SUBWORKFLOWS include { MIRNA_BINDINGSITES } from './mirna/mirna_bindingsites' @@ -74,14 +74,14 @@ workflow MIRNA_PREDICTION { .splitText(by: 100, file: true) .map{ meta, file -> [[id: "batch_" + file.baseName.split("\\.").last()], file]} - COMPUTE_CORRELATIONS(ch_binding_site_batches, ch_mirna_filtered, quantification_rds) + MIRNA_COMPUTECORRELATIONS(ch_binding_site_batches, ch_mirna_filtered, quantification_rds) - ch_correlation_results = COMPUTE_CORRELATIONS.out.correlations + ch_correlation_results = MIRNA_COMPUTECORRELATIONS.out.correlations .map{meta, results -> results} .flatten().collect() .map{results -> [[id: 'correlation'], results]} - ch_versions = ch_versions.mix(COMPUTE_CORRELATIONS.out.versions) + ch_versions = ch_versions.mix(MIRNA_COMPUTECORRELATIONS.out.versions) // // SPONGE From c4b52a292727a5fafbe948c357bf78a4e954a4ce Mon Sep 17 00:00:00 2001 From: Nico Trummer Date: Sun, 19 Jan 2025 12:19:37 +0100 Subject: [PATCH 52/53] Add note on SPONGE execution --- nextflow_schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nextflow_schema.json b/nextflow_schema.json index 7d52b02e..df731e04 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -138,7 +138,7 @@ "title": "miRNA options", "type": "object", "fa_icon": "fas fa-terminal", - "description": "Define paths and threasholds for miRNA analysis.", + "description": "Define thresholds for miRNA analysis. SPONGE is only run if the `mirna_expression` parameter is provided.", "properties": { "mirna_expression": { "type": "string", From 5a35f9909083e7d93778c342b0956b7949d74f1d Mon Sep 17 00:00:00 2001 From: Nico Trummer Date: Sun, 19 Jan 2025 12:40:11 +0100 Subject: [PATCH 53/53] Make ciriquant_de output optional --- modules/local/ciriquant/de/main.nf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/local/ciriquant/de/main.nf b/modules/local/ciriquant/de/main.nf index 0e3eb14a..3795151e 100644 --- a/modules/local/ciriquant/de/main.nf +++ b/modules/local/ciriquant/de/main.nf @@ -8,8 +8,8 @@ process CIRIQUANT_DE { tuple val(meta), path(library), path(expression), path(gene) output: - tuple val(meta), path("${circ_path}"), emit: circ - tuple val(meta), path("${gene_path}"), emit: gene + tuple val(meta), path("${circ_path}"), emit: circ, optional: true + tuple val(meta), path("${gene_path}"), emit: gene, optional: true path "versions.yml", emit: versions when:

      2. #g=QG!#;Sw((;4v(h};bWvkL6eRJyA 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/alifold.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/alifold.c new file mode 100755 index 00000000..508bd053 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/alifold.c @@ -0,0 +1,679 @@ +/* Last changed Time-stamp: <2005-06-13 19:07:39 ivo> */ +/* + minimum free energy folding + for a set of aligned sequences + + c Ivo Hofacker + + Vienna RNA package +*/ + +#include +#include +#include +#include +#include +#include +#include "fold.h" +#include "utils.h" +#include "energy_par.h" +#include "fold_vars.h" +#include "pair_mat.h" +#include "params.h" + +/*@unused@*/ +static char rcsid[] UNUSED = "$Id: alifold.c,v 1.10 2005/06/13 17:13:11 ivo Exp $"; + +#define PAREN + +#define PUBLIC +#define PRIVATE static + +#define STACK_BULGE1 1 /* stacking energies for bulges of size 1 */ +#define NEW_NINIO 1 /* new asymetry penalty */ + +PUBLIC float alifold(char **strings, char *structure); + +PRIVATE void init_alifold(int length); +PUBLIC void free_alifold_arrays(void); +PUBLIC void update_alifold_params(void); + +PUBLIC double cv_fact=1.; +PUBLIC double nc_fact=1.; + +PRIVATE void parenthesis_structure(char *structure, int length); +PRIVATE void get_arrays(unsigned int size); +PRIVATE void make_pscores(const short *const *S, const char *const *AS, + int n_seq, const char *structure); +PRIVATE short *encode_seq(const char *sequence); +/*@unused@*/ +extern int LoopEnergy(int n1, int n2, int type, int type_2, + int si1, int sj1, int sp1, int sq1); +extern int HairpinE(int size, int type, int si1, int sj1, const char *string); + +#define MAXSECTORS 500 /* dimension for a backtrack array */ +#define LOCALITY 0. /* locality parameter for base-pairs */ + +#define MIN2(A, B) ((A) < (B) ? (A) : (B)) + +PRIVATE const paramT *P; + +PRIVATE int *indx; /* index for moving in the triangle matrices c[] and fMl[]*/ + +PRIVATE int *c; /* energy array, given that i-j pair */ +PRIVATE int *cc; /* linear array for calculating canonical structures */ +PRIVATE int *cc1; /* " " */ +PRIVATE int *f5; /* energy of 5' end */ +PRIVATE int *fML; /* multi-loop auxiliary energy array */ + +PRIVATE int *Fmi; /* holds row i of fML (avoids jumps in memory) */ +PRIVATE int *DMLi; /* DMLi[j] holds MIN(fML[i,k]+fML[k+1,j]) */ +PRIVATE int *DMLi1; /* MIN(fML[i+1,k]+fML[k+1,j]) */ +PRIVATE int *DMLi2; /* MIN(fML[i+2,k]+fML[k+1,j]) */ +PRIVATE int *pscore; /* precomputed array of pair types */ +PRIVATE int init_length=-1; + +/*--------------------------------------------------------------------------*/ + +PRIVATE void init_alifold(int length) +{ + unsigned int n; + if (length<1) nrerror("initialize_fold: argument must be greater 0"); + if (init_length>0) free_alifold_arrays(); + get_arrays((unsigned) length); + make_pair_matrix(); + init_length=length; + + for (n = 1; n <= (unsigned) length; n++) + indx[n] = (n*(n-1)) >> 1; /* n(n-1)/2 */ + + update_fold_params(); +} + +/*--------------------------------------------------------------------------*/ + +PRIVATE void get_arrays(unsigned int size) +{ + indx = (int *) space(sizeof(int)*(size+1)); + c = (int *) space(sizeof(int)*((size*(size+1))/2+2)); + fML = (int *) space(sizeof(int)*((size*(size+1))/2+2)); + + pscore = (int *) space(sizeof(int)*((size*(size+1))/2+2)); + f5 = (int *) space(sizeof(int)*(size+2)); + cc = (int *) space(sizeof(int)*(size+2)); + cc1 = (int *) space(sizeof(int)*(size+2)); + Fmi = (int *) space(sizeof(int)*(size+1)); + DMLi = (int *) space(sizeof(int)*(size+1)); + DMLi1 = (int *) space(sizeof(int)*(size+1)); + DMLi2 = (int *) space(sizeof(int)*(size+1)); + base_pair = (struct bond *) space(sizeof(struct bond)*(1+size/2)); +} + +/*--------------------------------------------------------------------------*/ + +void free_alifold_arrays(void) +{ + free(indx); free(c); free(fML); free(f5); free(cc); free(cc1); + free(pscore); + free(base_pair); free(Fmi); + free(DMLi); free(DMLi1);free(DMLi2); + init_length=0; +} + +/*--------------------------------------------------------------------------*/ +#define UNIT 100 +#define MINPSCORE -2 * UNIT +float alifold(char **strings, char *structure) +{ + struct sect { + int i; + int j; + int ml; + } + sector[MAXSECTORS]; /* backtracking sectors */ + + int i, j, k, p, q, length, energy, new_c; + int decomp, MLenergy, new_fML; + int s, b, mm, max_separation; + int n_seq, *type, type_2, tt; + short **S; + int cov_en = 0; + + length = (int) strlen(strings[0]); + if (length>init_length) init_alifold(length); + if ((P==NULL)||(fabs(P->temperature - temperature)>1e-6)) { + update_fold_params(); P = scale_parameters(); + } + for (s=0; strings[s]!=NULL; s++); + n_seq = s; + S = (short **) space(n_seq*sizeof(short *)); + type = (int *) space(n_seq*sizeof(int)); + for (s=0; sTURN?(j-TURN):1); i= 1; i--) { /* i,j in [1..length] */ + + for (j = i+TURN+1; j <= length; j++) { + int ij, psc; + ij = indx[j]+i; + + for (s=0; s=cv_fact*MINPSCORE) { /* a pair to consider */ + int stackEnergy = INF; + /* hairpin ----------------------------------------------*/ + + + for (new_c=s=0; sdangle3[tt][S[s][i+1]]; + d5 = P->dangle5[tt][S[s][j-1]]; + decomp += d5 + d3; + } + } + + MLenergy = decomp + n_seq*P->MLclosing; + for (s=0; sMLintern[type[s]]; + + new_c = MLenergy < new_c ? MLenergy : new_c; + + new_c = MIN2(new_c, cc1[j-1]+stackEnergy); + cc[j] = new_c - psc; /* add covariance bonnus/penalty */ + if (noLonelyPairs) + c[ij] = cc1[j-1]+stackEnergy-psc; + else + c[ij] = cc[j]; + + } /* end >> if (pair) << */ + + else c[ij] = INF; + + + /* done with c[i,j], now compute fML[i,j] */ + /* free ends ? -----------------------------------------*/ + + new_fML = fML[ij+1]+n_seq*P->MLbase; + new_fML = MIN2(fML[indx[j-1]+i]+n_seq*P->MLbase, new_fML); + energy = c[ij]; + for (s=0; sMLintern[type[s]]; + if (dangles) { /* double dangles */ + if (i>1) energy += P->dangle5[type[s]][S[s][i-1]]; + if (jdangle3[type[s]][S[s][j+1]]; + } + } + new_fML = MIN2(energy, new_fML); + + + /* modular decomposition -------------------------------*/ + + for (decomp = INF, k = i+1+TURN; k <= j-2-TURN; k++) + decomp = MIN2(decomp, Fmi[k]+fML[indx[j]+k+1]); + + DMLi[j] = decomp; /* store for use in ML decompositon */ + new_fML = MIN2(new_fML,decomp); + + /* coaxial stacking deleted */ + + fML[ij] = Fmi[j] = new_fML; /* substring energy */ + + } + + { + int *FF; /* rotate the auxilliary arrays */ + FF = DMLi2; DMLi2 = DMLi1; DMLi1 = DMLi; DMLi = FF; + FF = cc1; cc1=cc; cc=FF; + for (j=1; j<=length; j++) {cc[j]=Fmi[j]=DMLi[j]=INF; } + } + } + /* calculate energies of 5' and 3' fragments */ + + f5[TURN+1]=0; + for (j=TURN+2; j<=length; j++) { + f5[j] = f5[j-1]; + if (c[indx[j]+1]2) energy += TerminalAU; + if ((dangles)&&(jdangle3[type][S[s][j+1]]; + } + f5[j] = MIN2(f5[j], energy); + } + for (i=j-TURN-1; i>1; i--) { + if (c[indx[j]+i]2) energy += TerminalAU; + if (dangles) { + energy += P->dangle5[type][S[s][i-1]]; + if (jdangle3[type][S[s][j+1]]; + } + } + f5[j] = MIN2(f5[j], energy); + } + } + } + + + /*------------------------------------------------------------------ + trace back through the "c", "f5" and "fML" arrays to get the + base pairing list. No search for equivalent structures is done. + This inverts the folding procedure, hence it's very fast. + ------------------------------------------------------------------*/ + + b = s = 0; + sector[++s].i = 1; + sector[s].j = length; + sector[s].ml = (backtrack_type=='M') ? 1 : ((backtrack_type=='C')?2:0); + + while (s>0) { + int ss, ml, fij, fi, cij, traced, i1, j1, d3, d5, jj=0; + int canonical = 1; /* (i,j) closes a canonical structure */ + i = sector[s].i; + j = sector[s].j; + ml = sector[s--].ml; /* ml is a flag indicating if backtracking is to + occur in the fML- (1) or in the f-array (0) */ + if (ml==2) { + base_pair[++b].i = i; + base_pair[b].j = j; + cov_en += pscore[indx[j]+i]; + goto repeat1; + } + + if (j < i+TURN+1) continue; /* no more pairs in this interval */ + + fij = (ml)? fML[indx[j]+i] : f5[j]; + fi = (ml)?(fML[indx[j-1]+i]+n_seq*P->MLbase):f5[j-1]; + + if (fij == fi) { /* 3' end is unpaired */ + sector[++s].i = i; + sector[s].j = j-1; + sector[s].ml = ml; + continue; + } + + if (ml == 0) { /* backtrack in f5 */ + /* j or j-1 is paired. Find pairing partner */ + for (i=j-TURN-1,traced=0; i>=1; i--) { + int cc, en; + jj = i-1; + if (c[indx[j]+i]2) cc += TerminalAU; + } + en = cc + f5[i-1]; + if (dangles) { + for (ss=0; ss1) en += P->dangle5[type[ss]][S[ss][i-1]]; + if (jdangle3[type[ss]][S[ss][j+1]]; + } + } + if (fij == en) traced=j; + } + if (traced) break; + } + + if (!traced) nrerror("backtrack failed in f5"); + sector[++s].i = 1; + sector[s].j = jj; + sector[s].ml = ml; + + j=traced; + base_pair[++b].i = i; + base_pair[b].j = j; + cov_en += pscore[indx[j]+i]; + goto repeat1; + } + else { /* trace back in fML array */ + int cij1=INF, ci1j=INF, ci1j1=INF; + if (fML[indx[j]+i+1]+n_seq*P->MLbase == fij) { /* 5' end is unpaired */ + sector[++s].i = i+1; + sector[s].j = j; + sector[s].ml = ml; + continue; + } + + cij = c[indx[j]+i]; + for (ss=0; ssMLintern[tt]; + if (dangles) { /* double dangles */ + if (i>1) cij += P->dangle5[tt][S[ss][i-1]]; + if (jdangle3[tt][S[ss][j+1]]; + } + } + + if ((fij==cij)||(fij==ci1j)||(fij==cij1)||(fij==ci1j1)) { + /* found a pair */ + if (fij==ci1j) i++; + else if (fij==cij1) j--; + else if (fij==ci1j1) {i++; j--;} + base_pair[++b].i = i; + base_pair[b].j = j; + cov_en += pscore[indx[j]+i]; + goto repeat1; + } + + for (k = i+1+TURN; k <= j-2-TURN; k++) + if (fij == (fML[indx[k]+i]+fML[indx[j]+k+1])) + break; + + sector[++s].i = i; + sector[s].j = k; + sector[s].ml = ml; + sector[++s].i = k+1; + sector[s].j = j; + sector[s].ml = ml; + + if (k>j-2-TURN) nrerror("backtrack failed in fML"); + continue; + } + + repeat1: + + /*----- begin of "repeat:" -----*/ + if (canonical) cij = c[indx[j]+i]; + + for (ss=0; ssstack[type[ss]][type_2]; + } + cij += pscore[indx[j]+i]; + base_pair[++b].i = i+1; + base_pair[b].j = j-1; + cov_en += pscore[indx[j-1]+i+1]; + i++; j--; + canonical=0; + goto repeat1; + } + canonical = 1; + cij += pscore[indx[j]+i]; + + {int cc=0; + for (ss=0; ss= minq; q--) { + + if (c[indx[q]+p]>=INF) continue; + + for (ss=energy=0; ssMLclosing; + for (ss=d3=d5=0; ssMLintern[tt]; + d5 += P->dangle5[tt][S[ss][j-1]]; + d3 += P->dangle3[tt][S[ss][i+1]]; + } + i1 = i+1; j1 = j-1; + sector[s+1].ml = sector[s+2].ml = 1; + + for (k = i+2+TURN; k < j-2-TURN; k++) { + int en; + en = fML[indx[k]+i+1]+fML[indx[j-1]+k+1]+mm; + if (dangles) /* double dangles */ + en += d5+d3; + if (cij == en) + break; + + } + if (k<=j-3-TURN) { /* found the decomposition */ + sector[++s].i = i1; + sector[s].j = k; + sector[++s].i = k+1; + sector[s].j = j1; + } else { + nrerror("backtracking failed in repeat"); + } + + } + + base_pair[0].i = b; /* save the total number of base pairs */ + + parenthesis_structure(structure, length); + + free(type); + for (s=0; s0 for good pairs */ +#define NONE -10000 /* score for forbidden pairs */ + int n,i,j,k,l,s,score; + int dm[7][7]={{0,0,0,0,0,0,0}, /* hamming distance between pairs */ + {0,0,2,2,1,2,2} /* CG */, + {0,2,0,1,2,2,2} /* GC */, + {0,2,1,0,2,1,2} /* GU */, + {0,1,2,2,0,2,1} /* UG */, + {0,2,2,1,2,0,2} /* AU */, + {0,2,2,2,1,2,0} /* UA */}; + n=S[0][0]; /* length of seqs */ + for (i=1; in_seq) { pscore[indx[j]+i] = NONE; continue;} + for (k=1,score=0; k<=6; k++) /* ignore pairtype 7 (gap-gap) */ + for (l=k+1; l<=6; l++) + /* scores for replacements between pairtypes */ + /* consistent or compensatory mutations score 1 or 2 */ + score += pfreq[k]*pfreq[l]*dm[k][l]; + /* counter examples score -1, gap-gap scores -0.25 */ + pscore[indx[j]+i] = cv_fact * + ((UNIT*score)/n_seq - nc_fact*UNIT*(pfreq[0] + pfreq[7]*0.25)); + } + } + + if (noLonelyPairs) /* remove unwanted pairs */ + for (k=1; k=1)&&(j<=n)) { + if ((i>1)&&(j0) ? psij : 0; + /* fallthrough */ + case '>': /* pairs downstream */ + for (l=j+TURN+1; l<=n; l++) pscore[indx[l]+j] = NONE; + break; + } + } + if (hx!=0) { + fprintf(stderr, "%s\n", structure); + nrerror("unbalanced brackets in constraint string"); + } + free(stack); + } +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/alifold.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/alifold.o new file mode 100755 index 0000000000000000000000000000000000000000..7e2a121e16ccca3891e0e6b319b59ec092b517d0 GIT binary patch literal 55040 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%0AQHgK6;0U)-Y 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 */ +/* + partiton function and base pair probabilities + for RNA secvondary structures + of a set of aligned sequences + + Ivo L Hofacker + Vienna RNA package +*/ + +#include +#include +#include +#include +#include /* #defines FLT_MIN */ +#include "utils.h" +#include "energy_par.h" +#include "fold_vars.h" +#include "pair_mat.h" +#include "alifold.h" +/*@unused@*/ +static char rcsid[] = "$Id: alipfold.c,v 1.10 2005/09/09 08:03:16 ivo Exp $"; + +#define MAX(x,y) (((x)>(y)) ? (x) : (y)) +#define MIN(x,y) (((x)<(y)) ? (x) : (y)) +#define PUBLIC +#define PRIVATE static +#define STACK_BULGE1 1 /* stacking energies for bulges of size 1 */ +#define NEW_NINIO 1 /* new asymetry penalty */ + + + +PUBLIC float alipf_fold(char **sequences, char *structure, pair_info **pi); +PRIVATE void init_alipf_fold(int length, int n_seq); +PRIVATE void free_alipf_arrays(void); +/* PRIVATE void update_alipf_params(int length); */ +PRIVATE void sprintf_bppm(int length, char *structure); +PRIVATE void scale_pf_params(unsigned int length, int n_seq); +PRIVATE void get_arrays(unsigned int length); +PRIVATE double expLoopEnergy(int u1, int u2, int type, int type2, + short si1, short sj1, short sp1, short sq1); +PRIVATE void make_pscores(const short *const *S, const char *const* AS, + int n_seq, const char *structure); +PRIVATE pair_info *make_pairinfo(const short *const* S, char **AS, + int n_seq); +PRIVATE short * encode_seq(const char *sequence); +PRIVATE FLT_OR_DBL expMLclosing, expMLintern[NBPAIRS+1], *expMLbase; +PRIVATE FLT_OR_DBL expTermAU; +PRIVATE FLT_OR_DBL expdangle5[NBPAIRS+1][5], expdangle3[NBPAIRS+1][5]; +PRIVATE FLT_OR_DBL lxc, exptetra[40], expTriloop[40]; +PRIVATE FLT_OR_DBL expstack[NBPAIRS+1][NBPAIRS+1]; +PRIVATE FLT_OR_DBL expmismatchI[NBPAIRS+1][5][5], + expmismatchH[NBPAIRS+1][5][5], expmismatchM[NBPAIRS+1][5][5]; +PRIVATE FLT_OR_DBL expint11[NBPAIRS+1][NBPAIRS+1][5][5]; +PRIVATE FLT_OR_DBL expint21[NBPAIRS+1][NBPAIRS+1][5][5][5]; +PRIVATE FLT_OR_DBL expint22[NBPAIRS+1][NBPAIRS+1][5][5][5][5]; +PRIVATE FLT_OR_DBL *exphairpin; +PRIVATE FLT_OR_DBL expbulge[MAXLOOP+1]; +PRIVATE FLT_OR_DBL expinternal[MAXLOOP+1]; +PRIVATE FLT_OR_DBL expninio[5][MAXLOOP+1]; +PRIVATE FLT_OR_DBL *q, *qb, *qm, *qqm, *qqm1, *qq, *qq1; +PRIVATE FLT_OR_DBL *prml, *prm_l, *prm_l1, *q1k, *qln; +PRIVATE FLT_OR_DBL *scale; +PRIVATE short *pscore; /* precomputed array of covariance bonus/malus */ +PRIVATE int init_length; /* length in last call to init_pf_fold() */ +#define ISOLATED 256.0 + +#define UNIT 100 +#define MINPSCORE -2 * UNIT + +extern double cv_fact /* =1 */; +extern double nc_fact /* =1 */; + +/*-----------------------------------------------------------------*/ +PUBLIC float alipf_fold(char **sequences, char *structure, pair_info **pi) +{ + short **S; + int s, *type; + int n, n_seq, i,j,k,l, ij, kl, u,u1,d,ii,ll, type_2, tt, ov=0; + FLT_OR_DBL temp, Q, Qmax=0, prm_MLb; + FLT_OR_DBL prmt,prmt1; + FLT_OR_DBL qbt1, *tmp; + + double free_energy, kTn; + + n = (int) strlen(sequences[0]); + for (s=0; sequences[s]!=NULL; s++); + n_seq = s; + init_alipf_fold(n, n_seq); /* (re)allocate space */ + kTn = (temperature+K0)*GASCONST*n_seq/10.; /* kT in cal/mol */ + + S = (short **) space(sizeof(short *)*(n_seq+1)); + type = (int *) space(n_seq*sizeof(int)); + for (s=0; s=1; i--) { + int ij, psc; + /* construction of partition function for segment i,j */ + /* calculate pf given that i and j pair: qb(i,j) */ + u = j-i-1; ij = iindx[i]-j; + + for (s=0; s=cv_fact*MINPSCORE) { /* otherwise ignore this pair */ + + /* hairpin contribution */ + for (qbt1=1,s=0; s2) + qbt1 *= expTermAU; + } + else /* no mismatches for tri-loops */ + qbt1 *= expmismatchH[type[s]][S[s][i+1]][S[s][j-1]]; + } + qbt1 *= scale[u+2]; + + /* interior loops with interior pair k,l */ + for (k=i+1; k<=MIN(i+MAXLOOP+1,j-TURN-2); k++) { + u1 = k-i-1; + for (l=MAX(k+TURN+1,j-1-MAXLOOP+u1); l<=j-1; l++) { + double qloop=1; + if (qb[iindx[k]-l]==0) {qloop=0; continue;} + for (s=0; s1) qbt1 *= expdangle5[type[s]][S[s][i-1]]; + if (j2) qbt1 *= expTermAU; + } + qqm[i] += qb[ij]*qbt1; + /* construction of qm matrix containing multiple loop + partition function contributions from segment i,j */ + temp = 0.0; + ii = iindx[i]; /* ii-k=[i,k-1] */ + for (k=i+1; k<=j; k++) + temp += (qm[ii-(k-1)]+expMLbase[k-i])*qqm[k]; + qm[ij] = (temp + qqm[i]); + + /* auxiliary matrix qq for cubic order q calculation below */ + qbt1 = qb[ij]; + if (qbt1>0) + for (s=0; s1) qbt1 *= expdangle5[type[s]][S[s][i-1]]; + if (j2) qbt1 *= expTermAU; + } + qq[i] = qq1[i]*scale[1] + qbt1; + + /* construction of partition function for segment i,j */ + temp = 1.0*scale[1+j-i] + qq[i]; + for (k=i; k<=j-1; k++) temp += q[ii-k]*qq[k+1]; + q[ij] = temp; + +#ifndef LARGE_PF + if (temp>Qmax) { + Qmax = temp; + if (Qmax>FLT_MAX/10.) + fprintf(stderr, "%d %d %g\n", i,j,temp); + } + if (temp>FLT_MAX) { + PRIVATE char msg[128]; + sprintf(msg, "overflow in pf_fold while calculating q[%d,%d]\n" + "use larger pf_scale", i,j); + nrerror(msg); + } +#endif + } + tmp = qq1; qq1 =qq; qq =tmp; + tmp = qqm1; qqm1=qqm; qqm=tmp; + } + if (backtrack_type=='C') Q = qb[iindx[1]-n]; + else if (backtrack_type=='M') Q = qm[iindx[1]-n]; + else Q = q[iindx[1]-n]; + + /* ensemble free energy in Kcal/mol */ + if (Q<=FLT_MIN) fprintf(stderr, "pf_scale too large\n"); + free_energy = (-log(Q)-n*log(pf_scale))*(temperature+K0)*GASCONST/1000.0; + /* in case we abort because of floating point errors */ + if (n>1600) fprintf(stderr, "free energy = %8.2f\n", free_energy); + + /* backtracking to construct binding probabilities of pairs*/ + + if (do_backtrack) { + Qmax=0; + + for (k=1; k<=n; k++) { + q1k[k] = q[iindx[1] - k]; + qln[k] = q[iindx[k] -n]; + } + q1k[0] = 1.0; + qln[n+1] = 1.0; + + pr = q; /* recycling */ + + /* 1. exterior pair i,j and initialization of pr array */ + for (i=1; i<=n; i++) { + for (j=i; j<=MIN(i+TURN,n); j++) pr[iindx[i]-j] = 0; + for (j=i+TURN+1; j<=n; j++) { + ij = iindx[i]-j; + if (qb[ij]>0.) { + pr[ij] = q1k[i-1]*qln[j+1]/q1k[n] * exp(pscore[ij]/kTn); + for (s=0; s1) pr[ij] *= expdangle5[typ][S[s][i-1]]; + if (j2) pr[ij] *= expTermAU; + } + } else + pr[ij] = 0; + } + } + + for (l=n; l>TURN+1; l--) { + + /* 2. bonding k,l as substem of 2:loop enclosed by i,j */ + for (k=1; k0)) { + double qloop=1; + for (s=0; s1) temp *= expdangle5[tt][S[s][k-1]]; + if (l2) temp *= expTermAU; + } + pr[kl] += temp * scale[2] * exp(pscore[kl]/kTn); + +#ifndef LARGE_PF + if (pr[kl]>Qmax) { + Qmax = pr[kl]; + if (Qmax>FLT_MAX/10.) + fprintf(stderr, "%d %d %g %g\n", i,j,pr[kl],qb[kl]); + } + if (pr[kl]>FLT_MAX) { + ov++; + pr[kl]=FLT_MAX; + } +#endif + } /* end for (k=..) */ + tmp = prm_l1; prm_l1=prm_l; prm_l=tmp; + + } /* end for (l=..) */ + + for (i=1; i<=n; i++) + for (j=i+TURN+1; j<=n; j++) { + ij = iindx[i]-j; + pr[ij] *= qb[ij] *exp(-pscore[ij]/kTn); + } + + if (pi != NULL) + *pi = make_pairinfo((const short **)S, sequences, n_seq); + + if (structure!=NULL) + sprintf_bppm(n, structure); + } /* end if (do_backtrack)*/ + + for (i=0; i0) fprintf(stderr, "%d overflows occurred while backtracking;\n" + "you might try a smaller pf_scale than %g\n", + ov, pf_scale); + free(type); + free_alipf_arrays(); + return (free_energy); +} + +/*------------------------------------------------------------------------*/ +/* dangling ends should never be destabilizing, i.e. expdangle>=1 */ +/* specific heat needs smooth function (2nd derivative) */ +/* we use a*(sin(x+b)+1)^2, with a=2/(3*sqrt(3)), b=Pi/6-sqrt(3)/2, */ +/* in the interval b0.8660254)?(X):\ + SCALE*0.38490018*(sin((X)/SCALE-0.34242663)+1)*(sin((X)/SCALE-0.34242663)+1)) + +PRIVATE void scale_pf_params(unsigned int length, int n_seq) +{ + /* scale energy parameters and pre-calculate Boltzmann weights */ + unsigned int i, j, k, l; + double kT, TT, kTn; + double GT; + + + + kT = (temperature+K0)*GASCONST; /* kT in cal/mol */ + kTn = kT*n_seq; + TT = (temperature+K0)/(Tmeasure); + + /* scaling factors (to avoid overflows) */ + if (pf_scale==-1) { /* mean energy for random sequences: 184.3*length cal */ + pf_scale = exp(-(-185+(temperature-37.)*7.27)/kT); + if (pf_scale<1) pf_scale=1; + } + scale[0] = 1.; + for (i=1; i<=length; i++) { + scale[i] = scale[i-1]/pf_scale; + } + + /* loop energies: hairpins, bulges, interior, mulit-loops */ + for (i=0; i<=MIN(30,length); i++) { + GT = hairpin37[i]*TT; + exphairpin[i] = exp( -GT*10./kTn); + } + for (i=0; i<=MIN(30, MAXLOOP); i++) { + GT = bulge37[i]*TT; + expbulge[i] = exp( -GT*10./kTn); + GT = internal_loop37[i]*TT; + expinternal[i] = exp( -GT*10./kTn); + } + /* special case of size 2 interior loops (single mismatch) */ + if (james_rule) expinternal[2] = exp ( -80*10/kTn); + + lxc = lxc37*TT; + for (i=31; i2) GT += TerminalAU; */ + expMLintern[i] = exp( -GT*10./kTn); + } + expTermAU = exp(-TerminalAU*10/kTn); + + GT = ML_BASE37*TT; + for (i=0; i 0 (at large temps), + but make sure go smoothly to 0 */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=4; j++) { + GT = dangle5_H[i][j] - (dangle5_H[i][j] - dangle5_37[i][j])*TT; + expdangle5[i][j] = dangles?exp(SMOOTH(-GT)*10./kTn):1.; + GT = dangle3_H[i][j] - (dangle3_H[i][j] - dangle3_37[i][j])*TT; + expdangle3[i][j] = dangles?exp(SMOOTH(-GT)*10./kTn):1.; + if (i>2) /* add TermAU penalty into dangle3 */ + expdangle3[i][j] *= expTermAU; + } + + /* stacking energies */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) { + GT = enthalpies[i][j] - (enthalpies[i][j] - stack37[i][j])*TT; + expstack[i][j] = exp( -GT*10/kTn); + } + + /* mismatch energies */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<5; j++) + for (k=0; k<5; k++) { + GT = mism_H[i][j][k] - (mism_H[i][j][k] - mismatchI37[i][j][k])*TT; + expmismatchI[i][j][k] = exp(-GT*10.0/kTn); + GT = mism_H[i][j][k] - (mism_H[i][j][k] - mismatchH37[i][j][k])*TT; + expmismatchH[i][j][k] = exp(-GT*10.0/kTn); + GT = mism_H[i][j][k] - (mism_H[i][j][k] - mismatchM37[i][j][k])*TT; + expmismatchM[i][j][k] = exp(-GT*10.0/kTn); + } + + /* interior lops of length 2 */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) + for (k=0; k<5; k++) + for (l=0; l<5; l++) { + GT = int11_H[i][j][k][l] - + (int11_H[i][j][k][l] - int11_37[i][j][k][l])*TT; + expint11[i][j][k][l] = exp(-GT*10./kTn); + } + /* interior 2x1 loops */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) + for (k=0; k<5; k++) + for (l=0; l<5; l++) { + int m; + for (m=0; m<5; m++) { + GT = int21_H[i][j][k][l][m] - + (int21_H[i][j][k][l][m] - int21_37[i][j][k][l][m])*TT; + expint21[i][j][k][l][m] = exp(-GT*10./kTn); + } + } + /* interior 2x2 loops */ + for (i=0; i<=NBPAIRS; i++) + for (j=0; j<=NBPAIRS; j++) + for (k=0; k<5; k++) + for (l=0; l<5; l++) { + int m,n; + for (m=0; m<5; m++) + for (n=0; n<5; n++) { + GT = int22_H[i][j][k][l][m][n] - + (int22_H[i][j][k][l][m][n]-int22_37[i][j][k][l][m][n])*TT; + expint22[i][j][k][l][m][n] = exp(-GT*10./kTn); + } + } +} + +/*----------------------------------------------------------------------*/ + +PRIVATE double expLoopEnergy(int u1, int u2, int type, int type2, + short si1, short sj1, short sp1, short sq1) { + double z=0; + int no_close = 0; + + if ((no_closingGU) && ((type2==3)||(type2==4)||(type==2)||(type==4))) + no_close = 1; + + if ((u1==0) && (u2==0)) /* stack */ + z = expstack[type][type2]; + else if (no_close==0) { + if ((u1==0)||(u2==0)) { /* bulge */ + int u; + u = (u1==0)?u2:u1; + z = expbulge[u]; + if (u2+u1==1) z *= expstack[type][type2]; + else { + if (type>2) z *= expTermAU; + if (type2>2) z *= expTermAU; + } + } + else { /* interior loop */ + if (u1+u2==2) /* size 2 is special */ + z = expint11[type][type2][si1][sj1]; + else if ((u1==1) && (u2==2)) + z = expint21[type][type2][si1][sq1][sj1]; + else if ((u1==2) && (u2==1)) + z = expint21[type2][type][sq1][si1][sp1]; + else if ((u1==2) && (u2==2)) + z = expint22[type][type2][si1][sp1][sq1][sj1]; + else { + z = expinternal[u1+u2]* + expmismatchI[type][si1][sj1]* + expmismatchI[type2][sq1][sp1]; + z *= expninio[2][abs(u1-u2)]; + } + } + } + return z; +} + +/*----------------------------------------------------------------------*/ + +PRIVATE void get_arrays(unsigned int length) +{ + unsigned int size,i; + + size = sizeof(FLT_OR_DBL) * ((length+1)*(length+2)/2); + q = (FLT_OR_DBL *) space(size); + qb = (FLT_OR_DBL *) space(size); + qm = (FLT_OR_DBL *) space(size); + pscore = (short *) space(sizeof(short)*((length+1)*(length+2)/2)); + q1k = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+1)); + qln = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + qq = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + qq1 = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + qqm = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + qqm1 = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + prm_l = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + prm_l1 =(FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + prml = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+2)); + exphairpin = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+1)); + expMLbase = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+1)); + scale = (FLT_OR_DBL *) space(sizeof(FLT_OR_DBL)*(length+1)); + iindx = (int *) space(sizeof(int)*(length+1)); + for (i=1; i<=length; i++) { + iindx[i] = ((length+1-i)*(length-i))/2 +length+1; + } +} + +/*----------------------------------------------------------------------*/ + +PUBLIC void init_alipf_fold(int length, int n_seq) +{ + if (length<1) nrerror("init_pf_fold: length must be greater 0"); + if (init_length>0) free_alipf_arrays(); /* free previous allocation */ +#ifdef SUN4 + nonstandard_arithmetic(); +#else +#ifdef HP9 + fpsetfastmode(1); +#endif +#endif + make_pair_matrix(); + get_arrays((unsigned) length); + scale_pf_params((unsigned) length, n_seq); + init_length=length; +} + +PRIVATE void free_alipf_arrays(void) +{ + free(q); + free(qb); + free(qm); + free(pscore); + free(qq); free(qq1); + free(qqm); free(qqm1); + free(q1k); free(qln); + free(prm_l); free(prm_l1); free(prml); + free(exphairpin); + free(expMLbase); + free(scale); + free(iindx); +#ifdef SUN4 + standard_arithmetic(); +#else +#ifdef HP9 + fpsetfastmode(0); +#endif +#endif + init_length=0; +} +/*---------------------------------------------------------------------------*/ +#define PMIN 0.0008 +PRIVATE int compare_pair_info(const void *pi1, const void *pi2) { + pair_info *p1, *p2; + int i, nc1, nc2; + p1 = (pair_info *)pi1; p2 = (pair_info *)pi2; + for (nc1=nc2=0, i=1; i<=6; i++) { + if (p1->bp[i]>0) nc1++; + if (p2->bp[i]>0) nc2++; + } + /* sort mostly by probability, add + epsilon * comp_mutations/(non-compatible+1) to break ties */ + return (p1->p + 0.01*nc1/(p1->bp[0]+1.)) < + (p2->p + 0.01*nc2/(p2->bp[0]+1.)) ? 1 : -1; +} + +pair_info *make_pairinfo(const short *const* S, char **AS, int n_seq) { + int i,j,n, num_p=0, max_p = 64; + pair_info *pi; + double *duck, p; + n = S[0][0]; + max_p = 64; pi = space(max_p*sizeof(pair_info)); + duck = (double *) space((n+1)*sizeof(double)); + for (i=1; i0) { + duck[i] -= p * log(p); + duck[j] -= p * log(p); + } + + for (i=1; i=PMIN) { + int type, s; + pi[num_p].i = i; + pi[num_p].j = j; + pi[num_p].p = p; + pi[num_p].ent = duck[i]+duck[j]-p*log(p); + for (type=0; type<8; type++) pi[num_p].bp[type]=0; + for (s=0; s=max_p) { + max_p *= 2; + pi = realloc(pi, max_p * sizeof(pair_info)); + if (pi==NULL) nrerror("out of memory in alipf_fold"); + } + } + } + free(duck); + pi = realloc(pi, (num_p+1)*sizeof(pair_info)); + pi[num_p].i=0; + qsort(pi, num_p, sizeof(pair_info), compare_pair_info ); + return pi; +} +/*---------------------------------------------------------------------------*/ + +#define L 3 +PRIVATE void sprintf_bppm(int length, char *structure) +{ + extern char bppm_symbol(float *x); + int i,j; + float P[L]; /* P[][0] unpaired, P[][1] upstream p, P[][2] downstream p */ + + for( j=1; j<=length; j++ ) { + P[0] = 1.0; + P[1] = P[2] = 0.0; + for( i=1; i0 for good pairs */ +#define NONE -10000 /* score for forbidden pairs */ + int n,i,j,k,l,s,score; + int dm[7][7]={{0,0,0,0,0,0,0}, /* hamming distance between pairs */ + {0,0,2,2,1,2,2} /* CG */, + {0,2,0,1,2,2,2} /* GC */, + {0,2,1,0,2,1,2} /* GU */, + {0,1,2,2,0,2,1} /* UG */, + {0,2,2,1,2,0,2} /* AU */, + {0,2,2,2,1,2,0} /* UA */}; + + n=S[0][0]; /* length of seqs */ + for (i=1; in_seq) { pscore[iindx[i]-j] = NONE; continue;} + for (k=1,score=0; k<=6; k++) /* ignore pairtype 7 (gap-gap) */ + for (l=k+1; l<=6; l++) + /* scores for replacements between pairtypes */ + /* consistent mutations (if l==k+2) score 1 */ + /* compensatory (all else) score 2 */ + score += pfreq[k]*pfreq[l]*dm[k][l]; + /* counter examples score -1, gap-gap scores -0.25 */ + pscore[iindx[i]-j] = cv_fact * + ((UNIT*score)/n_seq - nc_fact*UNIT*(pfreq[0] + pfreq[7]*0.25)); + } + } + + if (noLonelyPairs) /* remove unwanted pairs */ + for (k=1; k<=n-TURN-1; k++) + for (l=1; l<=2; l++) { + int type,ntype=0,otype=0; + i=k; j = i+TURN+l; + type = pscore[iindx[i]-j]; + while ((i>=1)&&(j<=n)) { + if ((i>1)&&(j0) ? psij : 0; + /* fallthrough */ + case '>': /* j pairs downstream */ + for (l=j+TURN+1; l<=n; l++) pscore[iindx[j]-l] = NONE; + break; + } + } + if (hx!=0) { + fprintf(stderr, "%s\n", structure); + nrerror("unbalanced brackets in constraint string"); + } + free(stack); + } +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/alipfold.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/alipfold.o new file mode 100755 index 0000000000000000000000000000000000000000..588a56f1c352d2e1d560a08b01b7028b4d417ecf GIT binary patch literal 74528 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 F{{U5JkBtBT literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/aln_util.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/aln_util.c new file mode 100755 index 00000000..2ef82832 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/aln_util.c @@ -0,0 +1,151 @@ +/* + aln_util.c + Helper functions frelated to alignments +*/ +/* Last changed Time-stamp: <2006-01-16 11:42:38 ivo> */ + +#include +#include +#include +#include +#include +#include +#include +#include "utils.h" +#include "fold_vars.h" +#include "pair_mat.h" +/*@unused@*/ +static char rcsid[] = "$Id: aln_util.c,v 1.2 2006/01/18 13:00:30 ivo Exp $"; + +#define MAX_NUM_NAMES 500 +int read_clustal(FILE *clust, char *AlignedSeqs[], char *names[]) { + char *line, name[100]="", *seq; + int n, nn=0, num_seq = 0; + + if ((line=get_line(clust)) == NULL) { + fprintf(stderr, "Empty CLUSTAL file\n"); return 0; + } + + if (strncmp(line,"CLUSTAL", 7) !=0) { + fprintf(stderr, "This doesn't look like a CLUSTAL file, sorry\n"); + free(line); return 0; + } + free(line); + line = get_line(clust); + + while (line!=NULL) { + if (((n=strlen(line))<4) || isspace((int)line[0])) { + /* skip non-sequence line */ + free(line); line = get_line(clust); + nn=0; /* reset seqence number */ + continue; + } + + seq = (char *) space( (n+1)*sizeof(char) ); + sscanf(line,"%99s %s", name, seq); + if (nn == num_seq) { /* first time */ + names[nn] = strdup(name); + AlignedSeqs[nn] = strdup(seq); + } + else { + if (strcmp(name, names[nn])!=0) { + /* name doesn't match */ + fprintf(stderr, + "Sorry, your file is fucked up (inconsitent seq-names)\n"); + free(line); free(seq); + return 0; + } + AlignedSeqs[nn] = (char *) + xrealloc(AlignedSeqs[nn], strlen(seq)+strlen(AlignedSeqs[nn])+1); + strcat(AlignedSeqs[nn], seq); + } + nn++; + if (nn>num_seq) num_seq = nn; + free(seq); + free(line); + if (num_seq>=MAX_NUM_NAMES) { + fprintf(stderr, "Too many sequences in CLUSTAL file"); + return 0; + } + + line = get_line(clust); + } + + AlignedSeqs[num_seq] = NULL; + if (num_seq == 0) { + fprintf(stderr, "No sequences found in CLSUATL file\n"); + return 0; + } + n = strlen(AlignedSeqs[0]); + for (nn=1; nnfm) {c=s, fm=freq[c];} + if (s>4) s++; /* skip T */ + string[i]=Law_and_Order[c]; + } + return string; +} + +/* IUP nucleotide classes indexed by a bit string of the present bases */ +/* A C AC G AG CG ACG U AU CU ACU GU AGU CGU ACGU */ +static char IUP[17] = "-ACMGRSVUWYHKDBN"; +char *consens_mis(const char*AS[]) { + /* MIS displays the 'most informative sequence' (Freyhult et al 2004), + elements in columns with frequency greater than the background + frequency are projected into iupac notation. Columns where gaps are + over-represented are in lower case. */ + + char *cons; + int i, s, n, N, c; + int bgfreq[8] = {0,0,0,0,0,0,0,0}; + + n = strlen(AS[0]); + for (N=0; AS[N]!=NULL; N++); + cons = (char *) space((n+1)*sizeof(char)); + + for (i=0; i4) c=5; + bgfreq[c]++; + } + + for (i=0; i4) c=5; + freq[c]++; + } + for (c=4; c>0; c--) { + code <<=1; + if (freq[c]*n>=bgfreq[c]) code++; + } + cons[i] = IUP[code]; + if (freq[0]*n>=bgfreq[0]) + cons[i] = tolower(IUP[code]); + } + return cons; +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/aln_util.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/aln_util.o new file mode 100755 index 0000000000000000000000000000000000000000..9d367064c2a27bfde9ec16ed4685972872db45cd GIT binary patch literal 17584 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 B`rZHl literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/circfold.inc b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/circfold.inc new file mode 100755 index 00000000..93851e4a --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/circfold.inc @@ -0,0 +1,259 @@ +/* -*-C-*- */ +/* this file contains code for folding circular RNAs */ +/* it's #include'd into fold.c */ + +float circfold(const char *string, char *structure) { + /* variant of fold() for circular RNAs */ + /* auxiliarry arrays: + fM2 = multiloop region with exactly two stems, extending to 3' end + for stupid dangles=1 case we also need: + fM_d3 = multiloop region with >= 2 stems, starting at pos 2 + (a pair (k,n) will form 3' dangle with pos 1) + fM_d5 = multiloop region with >= 2 stems, extending to pos n-1 + (a pair (1,k) will form a 5' dangle with pos n) + */ + int *fM2, Fc, FcH, FcI, FcM, Hi, Hj, Ii, Ij, Ip, Iq, Mi; + int *fM_d3, *fM_d5, Md3i, Md5i, FcMd3, FcMd5; + int i,j, p,q,length, energy, bonus=0, bonus_cnt=0; + int s=0; + /* if (!uniq_ML) {uniq_ML=1; init_length=-1;} */ + length = (int) strlen(string); + if (length>init_length) initialize_fold(length); + if (fabs(P->temperature - temperature)>1e-6) update_fold_params(); + + encode_seq(string); + + BP = (int *)space(sizeof(int)*(length+2)); + make_ptypes(S, structure); + + /* compute all arrays used by fold() for linear RNA */ + energy = fill_arrays(string); + + /* extra arrays for circfold() */ + fM2 = (int *) space(sizeof(int)*(length+2)); + FcH = FcI= FcM = FcMd3= FcMd5= Fc = INF; + for (i=1; i max_separation) type = 0; */ /* forces locality degree */ + + type=rtype[type]; + if (!type) continue; + if (no_close) new_c = FORBIDDEN; + else { + char loopseq[10]; + int si1, sj1; + if (u<7) { + strcpy(loopseq , string+j-1); + strncat(loopseq, string, i); + } + si1 = (i==1)?S1[length] : S1[i-1]; + sj1 = (j==length)?S1[1] : S1[j+1]; + new_c = HairpinE(u, type, sj1, si1, loopseq)+bonus+c[ij]; + } + if (new_cMAXLOOP) break; + qmin = u1+i-1+length-MAXLOOP; + if (qminMAXLOOP) continue; + si1 = (i==1)? S1[length] : S1[i-1]; + sq1 = (q==length)? S1[1] : S1[q+1]; + energy = LoopEnergy(u1, u2, type, type_2, + S1[j+1], si1, S1[p-1], sq1); + new_c = c[ij] + c[indx[q]+p] + energy; + if (new_cMLclosing; + if (fmMLclosing+P->MLintern[type]+P->dangle3[type][S1[1]]; + if (fmMLclosing+P->MLintern[type]+P->dangle3[type][S1[1]]+P->dangle5[type][S1[i]]; + if (fmdangle5[type][S1[length]]+c[indx[i]+1]+fM_d5[i+1]+P->MLclosing+P->MLintern[type]; + if (fmdangle5[type][S1[length]]+c[indx[i]+1]+P->dangle3[type][S1[i+1]]+ + fM_d5[i+2]+P->MLclosing+P->MLintern[type]; + if (fm0)?Md5i:-Md5i; + sector[s].ml = 2; + i = (Md5i>0)?Md5i+1 : -Md5i+2; /* let's backtrack fm_d5[Md5i+1] */ + for (u=i+TURN; u0)?Md3i+1:-Md3i+1; + sector[s].j = length; + sector[s].ml = 2; + i = (Md3i>0)? Md3i : -Md3i-1; /* let's backtrack fm_d3[Md3i] */ + for (u=2+TURN; u-4)) { + bonus_cnt++; + if((BP[i]==-3)&&(structure[i-1]==')')) bonus++; + if((BP[i]==-2)&&(structure[i-1]=='(')) bonus++; + if((BP[i]==-1)&&(structure[i-1]!='.')) bonus++; + } + + if(BP[i]>i) { + int l; + bonus_cnt++; + for(l=1; l<=base_pair[0].i; l++) + if((i==base_pair[l].i)&&(BP[i]==base_pair[l].j)) bonus++; + } + } + + if (bonus_cnt>bonus) fprintf(stderr,"\ncould not enforce all constraints\n"); + bonus*=BONUS; + + free(fM2); free(S); free(S1); free(BP); + + energy = Fc + bonus; /*remove bonus energies from result */ + + return (float) energy/100.; +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/cofold.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/cofold.c new file mode 100755 index 00000000..02b3706b --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/cofold.c @@ -0,0 +1,1284 @@ +/* Last changed Time-stamp: <2004-12-10 17:32:10 ivo> */ +/* + minimum free energy + RNA secondary structure prediction + + c Ivo Hofacker, Chrisoph Flamm + original implementation by + Walter Fontana + + Vienna RNA package +*/ + +#include +#include +#include +#include +#include +#include +#include "utils.h" +#include "energy_par.h" +#include "fold_vars.h" +#include "pair_mat.h" +#include "params.h" + +/*@unused@*/ +static char rcsid[] UNUSED = "$Id: cofold.c,v 1.7 2004/12/10 16:32:57 ivo Exp $"; + +#define PAREN + +#define PUBLIC +#define PRIVATE static + +#define STACK_BULGE1 1 /* stacking energies for bulges of size 1 */ +#define NEW_NINIO 1 /* new asymetry penalty */ +#define free_arrays free_co_arrays +#define initialize_fold initialize_cofold +#define update_fold_params update_cofold_params +PUBLIC float cofold(const char *string, char *structure); +PUBLIC void free_arrays(void); +PUBLIC void initialize_fold(int length); +PUBLIC void update_fold_params(void); +PUBLIC float *get_monomer_mfes(); +extern int logML; /* if nonzero use logarithmic ML energy in + energy_of_struct */ +extern int uniq_ML; /* do ML decomposition uniquely (for subopt) */ +/*@unused@*/ +PRIVATE void letter_structure(char *structure, int length) UNUSED; +PRIVATE void parenthesis_structure(char *structure, int length); +PRIVATE void get_arrays(unsigned int size); +/* PRIVATE void scale_parameters(void); */ +PRIVATE void make_ptypes(const short *S, const char *structure); +PRIVATE void encode_seq(const char *sequence); +PRIVATE void backtrack(const char *sequence); +PRIVATE int fill_arrays(const char *sequence); +/*@unused@*/ +inline PRIVATE int oldLoopEnergy(int i, int j, int p, int q, int type, int type_2); +inline PRIVATE int LoopEnergy(int n1, int n2, int type, int type_2, + int si1, int sj1, int sp1, int sq1); +inline PRIVATE int HairpinE(int size, int type, int si1, int sj1, const char *string); +PRIVATE void free_end(int *array, int i, int start); + +#define MAXSECTORS 500 /* dimension for a backtrack array */ +#define LOCALITY 0. /* locality parameter for base-pairs */ + +#define MIN2(A, B) ((A) < (B) ? (A) : (B)) +#define SAME_STRAND(I,J) (((I)>=cut_point)||((J)cut) */ +PRIVATE int *fML; /* multi-loop auxiliary energy array */ +PRIVATE int *fM1; /* second ML array, only for subopt */ +PRIVATE int *Fmi; /* holds row i of fML (avoids jumps in memory) */ +PRIVATE int *DMLi; /* DMLi[j] holds MIN(fML[i,k]+fML[k+1,j]) */ +PRIVATE int *DMLi1; /* MIN(fML[i+1,k]+fML[k+1,j]) */ +PRIVATE int *DMLi2; /* MIN(fML[i+2,k]+fML[k+1,j]) */ +PRIVATE char *ptype; /* precomputed array of pair types */ +PRIVATE short *S, *S1; +PRIVATE int init_length=-1; + +PRIVATE char alpha[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; +#undef TURN +#define TURN 0 +extern int cut_point; /* set to first pos of second seq for cofolding */ +extern int eos_debug; /* verbose info from energy_of_struct */ + +/*--------------------------------------------------------------------------*/ +static float mfe1, mfe2; /* minimum free energies of the monomers */ +PUBLIC void initialize_fold(int length) +{ + unsigned int n; + if (length<1) nrerror("initialize_fold: argument must be greater 0"); + if (init_length>0) free_arrays(); + get_arrays((unsigned) length); + init_length=length; + + for (n = 1; n <= (unsigned) length; n++) + indx[n] = (n*(n-1)) >> 1; /* n(n-1)/2 */ + + update_fold_params(); +} + +/*--------------------------------------------------------------------------*/ + +PRIVATE void get_arrays(unsigned int size) +{ + indx = (int *) space(sizeof(int)*(size+1)); + c = (int *) space(sizeof(int)*((size*(size+1))/2+2)); + fML = (int *) space(sizeof(int)*((size*(size+1))/2+2)); + if (uniq_ML) + fM1 = (int *) space(sizeof(int)*((size*(size+1))/2+2)); + + ptype = (char *) space(sizeof(char)*((size*(size+1))/2+2)); + f5 = (int *) space(sizeof(int)*(size+2)); + fc = (int *) space(sizeof(int)*(size+2)); + cc = (int *) space(sizeof(int)*(size+2)); + cc1 = (int *) space(sizeof(int)*(size+2)); + Fmi = (int *) space(sizeof(int)*(size+1)); + DMLi = (int *) space(sizeof(int)*(size+1)); + DMLi1 = (int *) space(sizeof(int)*(size+1)); + DMLi2 = (int *) space(sizeof(int)*(size+1)); + base_pair = (struct bond *) space(sizeof(struct bond)*(1+size/2)); +} + +/*--------------------------------------------------------------------------*/ + +PUBLIC void free_arrays(void) +{ + free(indx); free(c); free(fML); free(f5); free(cc); free(cc1); + free(fc); + free(ptype); + if (uniq_ML) free(fM1); + + free(base_pair); free(Fmi); + free(DMLi); free(DMLi1);free(DMLi2); + init_length=0; +} + + +/*--------------------------------------------------------------------------*/ + +void export_cofold_arrays(int **f5_p, int **c_p, int **fML_p, int **fM1_p, + int **fc_p, int **indx_p, char **ptype_p) { + /* make the DP arrays available to routines such as subopt() */ + *f5_p = f5; *c_p = c; + *fML_p = fML; *fM1_p = fM1; + *indx_p = indx; *ptype_p = ptype; + *fc_p =fc; +} + +/*--------------------------------------------------------------------------*/ + +PRIVATE int *BP; /* contains the structure constrainsts: BP[i] + -1: | = base must be paired + -2: < = base must be paired with j = base must be paired with j>i + -4: x = base must not pair + positive int: base is paired with int */ + +float cofold(const char *string, char *structure) { + int i, length, energy, bonus=0, bonus_cnt=0; + + length = (int) strlen(string); + if (length>init_length) initialize_fold(length); + if (fabs(P->temperature - temperature)>1e-6) update_fold_params(); + + encode_seq(string); + + BP = (int *)space(sizeof(int)*(length+2)); + make_ptypes(S, structure); + + energy = fill_arrays(string); + + backtrack(string); + +#ifdef PAREN + parenthesis_structure(structure, length); +#else + letter_structure(structure, length); +#endif + + /* check constraints */ + for(i=1;i<=length;i++) { + if((BP[i]<0)&&(BP[i]>-4)) { + bonus_cnt++; + if((BP[i]==-3)&&(structure[i-1]==')')) bonus++; + if((BP[i]==-2)&&(structure[i-1]=='(')) bonus++; + if((BP[i]==-1)&&(structure[i-1]!='.')) bonus++; + } + + if(BP[i]>i) { + int l; + bonus_cnt++; + for(l=1; l<=base_pair[0].i; l++) + if((i==base_pair[l].i)&&(BP[i]==base_pair[l].j)) bonus++; + } + } + + if (bonus_cnt>bonus) fprintf(stderr,"\ncould not enforce all constraints\n"); + bonus*=BONUS; + + free(S); free(S1); free(BP); + + energy += bonus; /*remove bonus energies from result */ + + if (backtrack_type=='C') + return (float) c[indx[length]+1]/100.; + else if (backtrack_type=='M') + return (float) fML[indx[length]+1]/100.; + else + return (float) energy/100.; +} + +PRIVATE int fill_arrays(const char *string) { + /* fill "c", "fML" and "f5" arrays and return optimal energy */ + + int i, j, k, length, energy; + int decomp, new_fML, max_separation; + int no_close, type, type_2, tt; + int bonus=0; + + length = (int) strlen(string); + + max_separation = (int) ((1.-LOCALITY)*(double)(length-2)); /* not in use */ + + for (j=1; j<=length; j++) { + Fmi[j]=DMLi[j]=DMLi1[j]=DMLi2[j]=INF; + fc[j]=0; + } + + for (j = 1; j<=length; j++) + for (i=1; i<=j; i++) { + c[indx[j]+i] = fML[indx[j]+i] = INF; + if (uniq_ML) fM1[indx[j]+i] = INF; + } + + for (i = length-TURN-1; i >= 1; i--) { /* i,j in [1..length] */ + + for (j = i+TURN+1; j <= length; j++) { + int p, q, ij; + ij = indx[j]+i; + bonus = 0; + type = ptype[ij]; + + /* enforcing structure constraints */ + if ((BP[i]==j)||(BP[i]==-1)||(BP[i]==-2)) bonus -= BONUS; + if ((BP[j]==-1)||(BP[j]==-3)) bonus -= BONUS; + if ((BP[i]==-4)||(BP[j]==-4)) type=0; + + no_close = (((type==3)||(type==4))&&no_closingGU&&(bonus==0)); + + if (j-i-1 > max_separation) type = 0; /* forces locality degree */ + + if (type) { /* we have a pair */ + int new_c=0, stackEnergy=INF; + /* hairpin ----------------------------------------------*/ + + if (SAME_STRAND(i,j)) { + if (no_close) new_c = FORBIDDEN; + else + new_c = HairpinE(j-i-1, type, S1[i+1], S1[j-1], string+i-1); + } + else { + if (dangles) { + if (SAME_STRAND(i,i+1)) new_c += P->dangle3[rtype[type]][S1[i+1]]; + if (SAME_STRAND(j-1,j)) new_c += P->dangle5[rtype[type]][S1[j-1]]; + } + if (type>2) new_c += P->TerminalAU; + } + + /*-------------------------------------------------------- + check for elementary structures involving more than one + closing pair. + --------------------------------------------------------*/ + + for (p = i+1; p <= MIN2(j-2-TURN,i+MAXLOOP+1) ; p++) { + int minq = j-i+p-MAXLOOP-2; + if (minqi+1)||(qdangle3[rtype[type]][S1[i+1]] : 0; + dj = (SAME_STRAND(j-1,j)) ? + P->dangle5[rtype[type]][S1[j-1]] : 0; + dp = (SAME_STRAND(p-1,p)) ? + P->dangle5[rtype[type_2]][S1[p-1]] : 0; + dq = (SAME_STRAND(q,q+1)) ? + P->dangle3[rtype[type_2]][S1[q+1]] : 0; + if (dangles == 2) energy = di + dj + dp + dq; + else { /* no double dangles */ + if (i+1 < p-1) energy = di + dp; + if (i+1 == p-1) energy = MIN2(di, dp); + if (q+1 < j-1) energy += dj + dq; + if (q+1 == j-1) energy += MIN2(dj, dq); + } + } + if (type>2) energy += P->TerminalAU; + if (type_2>2) energy += P->TerminalAU; + } +#else + /* duplicated code is faster than function call */ + +#endif + new_c = MIN2(energy+c[indx[q]+p], new_c); + if ((p==i+1)&&(j==q+1)) stackEnergy = energy; /* remember stack energy */ + + } /* end q-loop */ + } /* end p-loop */ + + /* multi-loop decomposition ------------------------*/ + + + if (!no_close) { + int MLenergy; + decomp = DMLi1[j-1]; + if (SAME_STRAND(i,i+1) && SAME_STRAND(j-1,j)) { + if (dangles) { + int d3, d5; + tt = rtype[type]; + d3 = P->dangle3[tt][S1[i+1]]; + d5 = P->dangle5[tt][S1[j-1]]; + if (dangles==2) /* double dangles */ + decomp += d5 + d3; + else { /* normal dangles */ + decomp = MIN2(DMLi2[j-1]+d3+P->MLbase, decomp); + decomp = MIN2(DMLi1[j-2]+d5+P->MLbase, decomp); + decomp = MIN2(DMLi2[j-2]+d5+d3+2*P->MLbase, decomp); + } + } + MLenergy = P->MLclosing+P->MLintern[type]+decomp; + new_c = MLenergy < new_c ? MLenergy : new_c; + } + + if (!SAME_STRAND(i,j)) { /* cut is somewhere in the multiloop*/ + int d3=0, d5=0; + tt = rtype[type]; + decomp = fc[i+1]+fc[j-1]; + if (SAME_STRAND(i,i+1)) d3 = P->dangle3[tt][S1[i+1]]; + if (SAME_STRAND(j-1,j)) d5 = P->dangle5[tt][S1[j-1]]; + if (dangles==2) + decomp+=d5+d3; + else { + decomp = MIN2(fc[i+2]+fc[j-1]+d3, decomp); + decomp = MIN2(fc[i+1]+fc[j-2]+d5, decomp); + decomp = MIN2(fc[i+2]+fc[j-2]+d3+d5, decomp); + } + if (type>2) decomp+=P->TerminalAU; + new_c = MIN2(new_c, decomp); + } + } /* end >> if (!no_close) << */ + + /* coaxial stacking of (i.j) with (i+1.k) or (k+1.j-1) */ + + if (dangles==3) { + decomp = INF; + for (k = i+2+TURN; k < j-2-TURN; k++) { + type_2 = ptype[indx[k]+i+1]; type_2 = rtype[type_2]; + if (type_2) + decomp = MIN2(decomp, c[indx[k]+i+1]+P->stack[type][type_2]+ + fML[indx[j-1]+k+1]); + type_2 = ptype[indx[j-1]+k+1]; type_2 = rtype[type_2]; + if (type_2) + decomp = MIN2(decomp, c[indx[j-1]+k+1]+P->stack[type][type_2]+ + fML[indx[k]+i+1]); + } + /* no TermAU penalty if coax stack */ + decomp += 2*P->MLintern[1] + P->MLclosing; + new_c = MIN2(new_c, decomp); + } + + new_c = MIN2(new_c, cc1[j-1]+stackEnergy); + cc[j] = new_c + bonus; + if (noLonelyPairs) + c[ij] = cc1[j-1]+stackEnergy+bonus; + else + c[ij] = cc[j]; + + } /* end >> if (pair) << */ + + else c[ij] = INF; + + + /* done with c[i,j], now compute fML[i,j] */ + /* free ends ? -----------------------------------------*/ + new_fML=INF; + if (SAME_STRAND(i-1,i)) { + if (SAME_STRAND(i,i+1)) new_fML = fML[ij+1]+P->MLbase; + if (SAME_STRAND(j-1,j)) new_fML = MIN2(fML[indx[j-1]+i]+P->MLbase, new_fML); + if (SAME_STRAND(j,j+1)) { + energy = c[ij]+P->MLintern[type]; + if (dangles==2) { /* double dangles */ + if (i>1) energy += P->dangle5[type][S1[i-1]]; + if (jdangle3[type][S1[j+1]]; + } + new_fML = MIN2(energy, new_fML); + if (uniq_ML) fM1[ij]=energy; + if ((uniq_ML)&&(SAME_STRAND(j-1,j))) + fM1[ij] = MIN2(fM1[indx[j-1]+i] + P->MLbase, energy); + } + if (dangles%2==1) { /* normal dangles */ + if (SAME_STRAND(i,i+1)) { + tt = ptype[ij+1]; /* i+1,j */ + new_fML = MIN2(c[ij+1]+P->dangle5[tt][S1[i]] + +P->MLintern[tt]+P->MLbase,new_fML); + } + if (SAME_STRAND(j-1,j)) { + tt = ptype[indx[j-1]+i]; + new_fML = MIN2(c[indx[j-1]+i]+P->dangle3[tt][S1[j]] + +P->MLintern[tt]+P->MLbase, new_fML); + } + if ((SAME_STRAND(j-1,j))&&(SAME_STRAND(i,i+1))) { + tt = ptype[indx[j-1]+i+1]; + new_fML = MIN2(c[indx[j-1]+i+1]+P->dangle5[tt][S1[i]]+ + P->dangle3[tt][S1[j]]+P->MLintern[tt]+2*P->MLbase, new_fML); + } + } + } + + /* modular decomposition -------------------------------*/ + + { + int stopp; /*loop 1 up to cut, then loop 2*/ + stopp=(cut_point>0)? (cut_point):(j-2-TURN); + for (decomp=INF, k = i+1+TURN; k0)? (cut_point):(j-2-TURN); + /* additional ML decomposition as two coaxially stacked helices */ + for (decomp = INF, k = i+1+TURN; kstack[type][type_2]); + } + k++; + for (;k <= j-2-TURN; k++) { + type = ptype[indx[k]+i]; type = rtype[type]; + type_2 = ptype[indx[j]+k+1]; type_2 = rtype[type_2]; + if (type && type_2) + decomp = MIN2(decomp, + c[indx[k]+i]+c[indx[j]+k+1]+P->stack[type][type_2]); + } + + decomp += 2*P->MLintern[1]; + +#if 0 + /* This is needed for Y shaped ML loops with coax stacking of + interior pairs, but backtracking will fail if activated */ + DMLi[j] = MIN2(DMLi[j], decomp); + if (SAME_STRAND(j-1,j)) DMLi[j] = MIN2(DMLi[j], DMLi[j-1]+P->MLbase); + if (SAME_STRAND(i,i+1)) DMLi[j] = MIN2(DMLi[j], DMLi1[j]+P->MLbase); + new_fML = MIN2(new_fML, DMLi[j]); +#endif + new_fML = MIN2(new_fML, decomp); + } + + fML[ij] = Fmi[j] = new_fML; /* substring energy */ + + } + + if (i==cut_point) + for (j=i; j<=length; j++) + free_end(fc, j, cut_point); + if (i0) { + mfe1=f5[cut_point-1]; + mfe2=fc[length]; + /* add DuplexInit, check whether duplex*/ + for (i=cut_point; i<=length; i++) { + f5[i]=MIN2(f5[i]+P->DuplexInit, fc[i]+fc[1]); + } + } + + energy = f5[length]; + if (cut_point<1) mfe1=mfe2=energy; + return energy; +} + +PRIVATE void backtrack(const char *string) { + + /*------------------------------------------------------------------ + trace back through the "c", "fc", "f5" and "fML" arrays to get the + base pairing list. No search for equivalent structures is done. + This is fast, since only few structure elements are recalculated. + ------------------------------------------------------------------*/ + struct sect { + int i; + int j; + int ml; + } + sector[MAXSECTORS]; /* backtracking sectors */ + + int i, j, k, length, energy, new; + int no_close, type, type_2, tt; + int bonus; + int s=0, b=0; + + length = strlen(string); + sector[++s].i = 1; + sector[s].j = length; + sector[s].ml = (backtrack_type=='M') ? 1 : ((backtrack_type=='C')?2:0); + + while (s>0) { + int ml, fij, fi, cij, traced, i1, j1, d3, d5, mm, p, q, jj=0; + int canonical = 1; /* (i,j) closes a canonical structure */ + i = sector[s].i; + j = sector[s].j; + ml = sector[s--].ml; /* ml is a flag indicating if backtracking is to + occur in the fML- (1) or in the f-array (0) */ + if (ml==2) { + base_pair[++b].i = i; + base_pair[b].j = j; + goto repeat1; + } + + if (j < i+TURN+1) continue; /* no more pairs in this interval */ + + + if (ml==0) {fij = f5[j]; fi = f5[j-1];} + else if (ml==1) {fij = fML[indx[j]+i]; fi = fML[indx[j-1]+i]+P->MLbase;} + else /* 3 or 4 */ { + fij = fc[j]; + fi = (ml==3) ? INF : fc[j-1]; + } + if (fij == fi) { /* 3' end is unpaired */ + sector[++s].i = i; + sector[s].j = j-1; + sector[s].ml = ml; + continue; + } + + if (ml==0 || ml==4) { /* backtrack in f5 or fc[i=cut,j>cut] */ + int *ff; + ff = (ml==4) ? fc : f5; + /* j or j-1 is paired. Find pairing partner */ + for (k=j-TURN-1,traced=0; k>=i; k--) { + int cc, en; + jj = k-1; + type = ptype[indx[j-1]+k]; + if((type)&&(dangles%2==1)&&SAME_STRAND(j-1,j)) { + cc = c[indx[j-1]+k]+P->dangle3[type][S1[j]]; + if (!SAME_STRAND(k,j-1)) cc += P->DuplexInit; /*???*/ + if (type>2) cc += P->TerminalAU; + if (fij == cc + ff[k-1]) + traced=j-1; + if (k>i) { + d5 = SAME_STRAND(k-1,k) ? P->dangle5[type][S1[k-1]] : 0; + if (fij == ff[k-2] + cc + d5) { + traced=j-1; jj=k-2; + } + } + } + type = ptype[indx[j]+k]; + if (type) { + cc = c[indx[j]+k]; + if (!SAME_STRAND(k,j)) cc += P->DuplexInit; + if (type>2) cc += P->TerminalAU; + en = cc + ff[k-1]; + if (dangles==2) { + if (k>1 &&SAME_STRAND(k-1,k)) en += P->dangle5[type][S1[k-1]]; + if (jdangle3[type][S1[j+1]]; + } + if (fij == en) traced=j; + if ((dangles%2==1) && (k>1) && SAME_STRAND(k-1,k)) + if (fij == ff[k-2]+cc+P->dangle5[type][S1[k-1]]) { + traced=j; jj=k-2; + } + } + if (traced) break; + } + + if (!traced) nrerror("backtrack failed in f5 (or fc)"); + sector[++s].i = i; + sector[s].j = jj; + sector[s].ml = ml; + + i=k; j=traced; + base_pair[++b].i = i; + base_pair[b].j = j; + goto repeat1; + } + else if (ml==3) { /* backtrack in fc[i1 && SAME_STRAND(i-1,i)) ? P->dangle5[type][S1[i-1]] : 0; + d3 = (SAME_STRAND(k,k+1)) ? P->dangle3[type][S1[k+1]] : 0; + en = fc[k+1]+c[indx[k]+i]; + if (type>2) en+=P->TerminalAU; + + if (dangles==2) en += d5+d3; + if (fc[i]==en) traced=i; + else if (dangles%2==1) { + int tau; + tau = (type>2) ? P->TerminalAU : 0; + if (fc[i]==fc[k+2]+c[indx[k]+i]+d3+tau) { + traced=i; jj=k+2; + } + } + } + if (traced) break; + + if (dangles%2==1) { + int tau; + type = ptype[indx[k]+i+1]; + tau = (type>2) ? P->TerminalAU : 0; + if (type) { + d5 = (SAME_STRAND(i, i+1)) ? P->dangle5[type][S1[i]] : 0; + if (fc[i] == fc[k+1]+c[indx[k]+i+1]+d5+tau) + traced=i+1; + if (kdangle3[type][S1[k+1]] : 0; + if (fc[i] == fc[k+2]+c[indx[k]+i+1]+d5+d3+tau) { + traced=i+1; jj=k+2; + } + } + } + } + if (traced) break; + } + + if (!traced) nrerror("backtrack failed in fc[] 5' of cut"); + + sector[++s].i = jj; + sector[s].j = j; + sector[s].ml = ml; + + j=k; i=traced; + base_pair[++b].i = i; + base_pair[b].j = j; + goto repeat1; + } + + else { /* true multi-loop backtrack in fML */ + int cij1=INF, ci1j=INF, ci1j1=INF; + if (fML[indx[j]+i+1]+P->MLbase == fij) { /* 5' end is unpaired */ + sector[++s].i = i+1; + sector[s].j = j; + sector[s].ml = ml; + continue; + } + + tt = ptype[indx[j]+i]; + cij = c[indx[j]+i] + P->MLintern[tt]; + if (dangles==2) { /* double dangles */ + if (i>1) cij += P->dangle5[tt][S1[i-1]]; + if (jdangle3[tt][S1[j+1]]; + } + else if (dangles%2==1) { /* normal dangles */ + tt = ptype[indx[j]+i+1]; + ci1j = c[indx[j]+i+1]+P->dangle5[tt][S1[i]]+P->MLintern[tt]+P->MLbase; + tt = ptype[indx[j-1]+i]; + cij1 = c[indx[j-1]+i]+P->dangle3[tt][S1[j]]+P->MLintern[tt]+P->MLbase; + tt = ptype[indx[j-1]+i+1]; + ci1j1 = c[indx[j-1]+i+1]+P->dangle5[tt][S1[i]]+P->dangle3[tt][S1[j]] + + P->MLintern[tt]+2*P->MLbase; + } + + if ((fij==cij)||(fij==ci1j)||(fij==cij1)||(fij==ci1j1)) { + /* found a pair */ + if (fij==ci1j) i++; + else if (fij==cij1) j--; + else if (fij==ci1j1) {i++; j--;} + base_pair[++b].i = i; + base_pair[b].j = j; + goto repeat1; + } + + /* find next component of multiloop */ + for (k = i+1+TURN; k <= j-2-TURN; k++) + if (fij == (fML[indx[k]+i]+fML[indx[j]+k+1])) + break; + + if ((dangles==3)&&(k>j-2-TURN)) { /* must be coax stack */ + ml = 2; + for (k = i+1+TURN; k <= j-2-TURN; k++) { + type = ptype[indx[k]+i]; type= rtype[type]; + type_2 = ptype[indx[j]+k+1]; type_2= rtype[type_2]; + if (type && type_2) + if (fij == c[indx[k]+i]+c[indx[j]+k+1]+P->stack[type][type_2]+ + 2*P->MLintern[1]) + break; + } + } + + sector[++s].i = i; + sector[s].j = k; + sector[s].ml = ml; + sector[++s].i = k+1; + sector[s].j = j; + sector[s].ml = ml; + + if (k>j-2-TURN) nrerror("backtrack failed in fML"); + continue; + } + + repeat1: + + /*----- begin of "repeat:" -----*/ + if (canonical) cij = c[indx[j]+i]; + + type = ptype[indx[j]+i]; + + bonus = 0; + + if ((BP[i]==j)||(BP[i]==-1)||(BP[i]==-2)) bonus -= BONUS; + if ((BP[j]==-1)||(BP[j]==-3)) bonus -= BONUS; + + if (noLonelyPairs) + if (cij == c[indx[j]+i]) { + /* (i.j) closes canonical structures, thus + (i+1.j-1) must be a pair */ + type_2 = ptype[indx[j-1]+i+1]; type_2 = rtype[type_2]; + cij -= P->stack[type][type_2] + bonus; + base_pair[++b].i = i+1; + base_pair[b].j = j-1; + i++; j--; + canonical=0; + goto repeat1; + } + canonical = 1; + + + no_close = (((type==3)||(type==4))&&no_closingGU&&(bonus==0)); + if (SAME_STRAND(i,j)) { + if (no_close) { + if (cij == FORBIDDEN) continue; + } else + if (cij == HairpinE(j-i-1, type, S1[i+1], S1[j-1],string+i-1)+bonus) + continue; + } + else { + int ee = 0; + if (dangles) { + if (SAME_STRAND(i,i+1)) ee = P->dangle3[rtype[type]][S1[i+1]]; + if (SAME_STRAND(j-1,j)) ee += P->dangle5[rtype[type]][S1[j-1]]; + } + if (type>2) ee += P->TerminalAU; + if (cij == ee) continue; + } + + for (p = i+1; p <= MIN2(j-2-TURN,i+MAXLOOP+1); p++) { + int minq; + minq = j-i+p-MAXLOOP-2; + if (minq= minq; q--) { + + type_2 = ptype[indx[q]+p]; + if (type_2==0) continue; + type_2 = rtype[type_2]; + if (no_closingGU) + if (no_close||(type_2==3)||(type_2==4)) + if ((p>i+1)||(qdangle3[rtype[type]][S1[i+1]] : 0; + dj = (SAME_STRAND(j-1,j)) ? P->dangle5[rtype[type]][S1[j-1]] : 0; + dp = (SAME_STRAND(p-1,p)) ? P->dangle5[rtype[type_2]][S1[p-1]] : 0; + dq = (SAME_STRAND(q,q+1)) ? P->dangle3[rtype[type_2]][S1[q+1]] : 0; + if (dangles == 2) energy = di + dj + dp + dq; + else { /* no double dangles */ + if (i+1 < p-1) energy = di + dp; + if (i+1 == p-1) energy = MIN2(di, dp); + if (q+1 < j-1) energy += dj + dq; + if (q+1 == j-1) energy += MIN2(dj, dq); + } + } + if (type>2) energy += P->TerminalAU; + if (type_2>2) energy += P->TerminalAU; + } + + new = energy+c[indx[q]+p]+bonus; + traced = (cij == new); + if (traced) { + base_pair[++b].i = p; + base_pair[b].j = q; + i = p, j = q; + goto repeat1; + } + } + } + + /* end of repeat: --------------------------------------------------*/ + + /* (i.j) must close a fake or true multi-loop */ + tt = rtype[type]; + mm = bonus+P->MLclosing+P->MLintern[tt]; + d5 = (SAME_STRAND(j-1,j) && dangles) ? P->dangle5[tt][S1[j-1]] : 0; + d3 = (SAME_STRAND(i,i+1) && dangles) ? P->dangle3[tt][S1[i+1]] : 0; + i1 = i+1; j1 = j-1; + sector[s+1].ml = sector[s+2].ml = 1; + + /* fake multi-loop */ + if (!SAME_STRAND(i,j)) { + int ii=0, jj=0, decomp=0; + decomp = fc[i+1]+fc[j-1]; + if (type>2) decomp+=P->TerminalAU; + if (dangles==2) /* double dangles */ + decomp+=d5+d3; + if (decomp==cij) ii=i+1, jj=j-1; + else { + if (dangles%2==1) { /* normal dangles */ + int tau; + tau = (type>2) ? P->TerminalAU : 0; + if (cij == fc[i+2]+fc[j-1]+d3+tau) ii=i+2, jj=j-1; + if (cij == fc[i+1]+fc[j-2]+d5+tau) ii=i+1, jj=j-2; + if (cij == fc[i+2]+fc[j-2]+d3+d5+tau) ii=i+2, jj=j-2; + } + } + if (ii) { + sector[++s].i = ii; + sector[s].j = cut_point-1; + sector[s].ml = 3; + sector[++s].i = cut_point; + sector[s].j = jj; + sector[s].ml = 4; + continue; + } + } + + /* true multi-loop */ + for (k = i+2+TURN; k < j-2-TURN; k++) { + int en; + en = fML[indx[k]+i+1]+fML[indx[j-1]+k+1]+mm; + if (dangles==2) /* double dangles */ + en += d5+d3; + if (cij == en) + break; + if (dangles%2==1) { /* normal dangles */ + if (cij == (fML[indx[k]+i+2]+fML[indx[j-1]+k+1]+mm+d3+P->MLbase)) { + i1 = i+2; + break; + } + if (cij == (fML[indx[k]+i+1]+fML[indx[j-2]+k+1]+mm+d5+P->MLbase)) { + j1 = j-2; + break; + } + if (cij == (fML[indx[k]+i+2]+fML[indx[j-2]+k+1]+mm+d3+d5+P->MLbase+P->MLbase)) { + i1 = i+2; j1 = j-2; + break; + } + } + /* coaxial stacking of (i.j) with (i+1.k) or (k.j-1) */ + /* use MLintern[1] since coax stacked pairs don't get TerminalAU */ + if (dangles==3) { + type_2 = ptype[indx[k]+i+1]; type_2 = rtype[type_2]; + if (type_2) { + en = c[indx[k]+i+1]+P->stack[type][type_2]+fML[indx[j-1]+k+1]; + if (cij == en+2*P->MLintern[1]+P->MLclosing) { + ml = 2; + sector[s+1].ml = 2; + break; + } + } + type_2 = ptype[indx[j-1]+k+1]; type_2 = rtype[type_2]; + if (type_2) { + en = c[indx[j-1]+k+1]+P->stack[type][type_2]+fML[indx[k]+i+1]; + if (cij == en+2*P->MLintern[1]+P->MLclosing) { + sector[s+2].ml = 2; + break; + } + } + } + } + + if (k<=j-3-TURN) { /* found the decomposition */ + sector[++s].i = i1; + sector[s].j = k; + sector[++s].i = k+1; + sector[s].j = j1; + } else { +#if 0 + /* Y shaped ML loops don't work yet */ + if (dangles==3) { + /* (i,j) must close a Y shaped ML loop with coax stacking */ + if (cij == fML[indx[j-2]+i+2] + mm + d3 + d5 + P->MLbase + P->MLbase) { + i1 = i+2; + j1 = j-2; + } else if (cij == fML[indx[j-2]+i+1] + mm + d5 + P->MLbase) + j1 = j-2; + else if (cij == fML[indx[j-1]+i+2] + mm + d3 + P->MLbase) + i1 = i+2; + else /* last chance */ + if (cij != fML[indx[j-1]+i+1] + mm + P->MLbase) + fprintf(stderr, "backtracking failed in repeat"); + /* if we arrive here we can express cij via fML[i1,j1]+dangles */ + sector[++s].i = i1; + sector[s].j = j1; + } + else +#endif + nrerror("backtracking failed in repeat"); + } + + } /* end >> while (s>0) << */ + + base_pair[0].i = b; /* save the total number of base pairs */ +} + +PRIVATE void free_end(int *array, int i, int start) { + int inc, type, energy, length, j, ii, jj; + inc = (i>start)? 1:-1; + length = S[0]; + + if (i==start) array[i]=0; + else array[i] = array[i-inc]; + if (i>start) { + ii = start; jj=i; + } else { + ii = i; jj = start; + } + for (j=start; inc*(i-j)>TURN; j+=inc) { + int d3, d5; + if (i>j) { ii = j; jj = i;} /* inc>0 */ + else { ii = i; jj = j;} /* inc<0 */ + type = ptype[indx[jj]+ii]; + if (type) { + d5 = (ii>1 && SAME_STRAND(ii-1,ii))? P->dangle5[type][S1[ii-1]]:0; + d3 = (jjdangle3[type][S1[jj+1]]:0; + + energy = c[indx[jj]+ii]; + if (type>2) energy += P->TerminalAU; + if (dangles==2) energy += d3 + d5; + array[i] = MIN2(array[i], array[j-inc]+energy); + + if (dangles%2==1) { + if (inc>0) { + if (j>1) energy += array[j-2] + d5; + } else + if (j0) {iii = ii; jjj=jj-1;} + else {iii = ii+1; jjj = jj;} + type = ptype[indx[jjj]+iii]; + if (!type) continue; + d5 = (iii>1 && SAME_STRAND(iii-1,iii)) ? + P->dangle5[type][S1[iii-1]] : 0; + d3 = (jjjdangle3[type][S1[jjj+1]] : 0; + energy = c[indx[jjj]+iii] + ((inc>0)?d3:d5); + if (type>2) energy += P->TerminalAU; + array[i] = MIN2(array[i], array[j-inc]+energy); + if (j!=start) { /* dangles on both sides */ + energy += (inc>0)?d5:d3; + array[i] = MIN2(array[i], array[j-2*inc]+energy); + } + } + } +} + +/*---------------------------------------------------------------------------*/ + +inline int HairpinE(int size, int type, int si1, int sj1, const char *string) { + int energy; + energy = (size <= 30) ? P->hairpin[size] : + P->hairpin[30]+(int)(P->lxc*log((size)/30.)); + if (tetra_loop) + if (size == 4) { /* check for tetraloop bonus */ + char tl[7]={0}, *ts; + strncpy(tl, string, 6); + if ((ts=strstr(P->Tetraloops, tl))) + energy += P->TETRA_ENERGY[(ts-P->Tetraloops)/7]; + } + if (size == 3) { + char tl[6]={0,0,0,0,0,0}, *ts; + strncpy(tl, string, 5); + if ((ts=strstr(P->Triloops, tl))) + energy += P->Triloop_E[(ts-P->Triloops)/6]; + + if (type>2) /* neither CG nor GC */ + energy += P->TerminalAU; /* penalty for closing AU GU pair */ + } + else /* no mismatches for tri-loops */ + energy += P->mismatchH[type][si1][sj1]; + + return energy; +} + +/*---------------------------------------------------------------------------*/ + +inline PRIVATE int oldLoopEnergy(int i, int j, int p, int q, int type, int type_2) { + /* compute energy of degree 2 loop (stack bulge or interior) */ + int n1, n2, m, energy; + n1 = p-i-1; + n2 = j-q-1; + + if (n1>n2) { m=n1; n1=n2; n2=m; } /* so that n2>=n1 */ + + if (n2 == 0) + energy = P->stack[type][type_2]; /* stack */ + + else if (n1==0) { /* bulge */ + energy = (n2<=MAXLOOP)?P->bulge[n2]: + (P->bulge[30]+(int)(P->lxc*log(n2/30.))); + +#if STACK_BULGE1 + if (n2==1) energy+=P->stack[type][type_2]; +#endif + } else { /* interior loop */ + + if ((n1+n2==2)&&(james_rule)) + /* special case for loop size 2 */ + energy = P->int11[type][type_2][S1[i+1]][S1[j-1]]; + else { + energy = (n1+n2<=MAXLOOP)?(P->internal_loop[n1+n2]): + (P->internal_loop[30]+(int)(P->lxc*log((n1+n2)/30.))); + +#if NEW_NINIO + energy += MIN2(MAX_NINIO, (n2-n1)*P->F_ninio[2]); +#else + m = MIN2(4, n1); + energy += MIN2(MAX_NINIO,((n2-n1)*P->F_ninio[m])); +#endif + energy += P->mismatchI[type][S1[i+1]][S1[j-1]]+ + P->mismatchI[type_2][S1[q+1]][S1[p-1]]; + } + } + return energy; +} + +/*--------------------------------------------------------------------------*/ + +inline int LoopEnergy(int n1, int n2, int type, int type_2, + int si1, int sj1, int sp1, int sq1) { + /* compute energy of degree 2 loop (stack bulge or interior) */ + int nl, ns, energy; + + if (n1>n2) { nl=n1; ns=n2;} + else {nl=n2; ns=n1;} + + if (nl == 0) + return P->stack[type][type_2]; /* stack */ + + if (ns==0) { /* bulge */ + energy = (nl<=MAXLOOP)?P->bulge[nl]: + (P->bulge[30]+(int)(P->lxc*log(nl/30.))); + if (nl==1) energy += P->stack[type][type_2]; + else { + if (type>2) energy += P->TerminalAU; + if (type_2>2) energy += P->TerminalAU; + } + return energy; + } + else { /* interior loop */ + if (ns==1) { + if (nl==1) /* 1x1 loop */ + return P->int11[type][type_2][si1][sj1]; + if (nl==2) { /* 2x1 loop */ + if (n1==1) + energy = P->int21[type][type_2][si1][sq1][sj1]; + else + energy = P->int21[type_2][type][sq1][si1][sp1]; + return energy; + } + } + else if (n1==2 && n2==2) /* 2x2 loop */ + return P->int22[type][type_2][si1][sp1][sq1][sj1]; + { /* generic interior loop (no else here!)*/ + energy = (n1+n2<=MAXLOOP)?(P->internal_loop[n1+n2]): + (P->internal_loop[30]+(int)(P->lxc*log((n1+n2)/30.))); + + energy += MIN2(MAX_NINIO, (nl-ns)*P->F_ninio[2]); + + energy += P->mismatchI[type][si1][sj1]+ + P->mismatchI[type_2][sq1][sp1]; + } + } + return energy; +} + + +/*---------------------------------------------------------------------------*/ + +PRIVATE void encode_seq(const char *sequence) { + unsigned int i,l; + + l = strlen(sequence); + S = (short *) space(sizeof(short)*(l+1)); + S1= (short *) space(sizeof(short)*(l+1)); + /* S1 exists only for the special X K and I bases and energy_set!=0 */ + S[0] = S1[0] = (short) l; + + for (i=1; i<=l; i++) { /* make numerical encoding of sequence */ + S[i]= (short) encode_char(toupper(sequence[i-1])); + S1[i] = alias[S[i]]; /* for mismatches of nostandard bases */ + } +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void letter_structure(char *structure, int length) +{ + int n, k, x, y; + + for (n = 0; n <= length-1; structure[n++] = ' ') ; + structure[length] = '\0'; + + for (n = 0, k = 1; k <= base_pair[0].i; k++) { + y = base_pair[k].j; + x = base_pair[k].i; + if (x-1 > 0 && y+1 <= length) { + if (structure[x-2] != ' ' && structure[y] == structure[x-2]) { + structure[x-1] = structure[x-2]; + structure[y-1] = structure[x-1]; + continue; + } + } + if (structure[x] != ' ' && structure[y-2] == structure[x]) { + structure[x-1] = structure[x]; + structure[y-1] = structure[x-1]; + continue; + } + n++; + structure[x-1] = alpha[n-1]; + structure[y-1] = alpha[n-1]; + } +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void parenthesis_structure(char *structure, int length) +{ + int n, k; + + for (n = 0; n <= length-1; structure[n++] = '.') ; + structure[length] = '\0'; + + for (k = 1; k <= base_pair[0].i; k++) { + structure[base_pair[k].i-1] = '('; + structure[base_pair[k].j-1] = ')'; + } +} +/*---------------------------------------------------------------------------*/ + +PUBLIC void update_fold_params(void) +{ + P = scale_parameters(); + make_pair_matrix(); + if (init_length < 0) init_length=0; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void make_ptypes(const short *S, const char *structure) { + int n,i,j,k,l; + + n=S[0]; + for (k=1; kn) continue; + type = pair[S[i]][S[j]]; + while ((i>=1)&&(j<=n)) { + if ((i>1)&&(j': /* pairs downstream */ + for (l=j+TURN+1; l<=n; l++) ptype[indx[l]+j] = 0; + break; + } + } + if (hx!=0) { + fprintf(stderr, "%s\n", structure); + nrerror("unbalanced brackets in constraint string"); + } + free(stack); + } +} + +PUBLIC void get_monomere_mfes(float *e1, float *e2) { + /*exports monomere free energies*/ + *e1 = mfe1; + *e2 = mfe2; +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/cofold.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/cofold.o new file mode 100755 index 0000000000000000000000000000000000000000..ea08d19b44402b559826cd6346c982b1d32c33ec GIT binary patch literal 96000 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 */ +/* Global variables for Distance-Package */ + +int edit_backtrack = 0; /* calculate aligned representation */ + +char *aligned_line[4]; /* containes the aligned string representations */ + +int cost_matrix = 0; /* 0 for usual costs, 1 for Shapiro's costs */ + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/dist_vars.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/dist_vars.o new file mode 100755 index 0000000000000000000000000000000000000000..1c43c3526f5b1b26471637c9c10fff53fbbb6bc3 GIT binary patch literal 1744 zcma)6Ur*Ce6hB?N4k?U{`G6tDk%*2&S`pM_CKw??Fb0hYJgCXiZWpL*9cep)zW6U{ z;)9>VkK)HsUwy#eY42rsBqpBZp5OU@&b__8Zy!G1Fbsnf8D!E>Bl=#*Ju4YBs6vxu zRE>%~4L)D4Ic9mbOjKAQv)pvz(GKN9M32JZnx;ysj@SUzM!n@ld!ILWL@2&yo#B9;bBE{h8TnpuoezxopjltAzvgMLjsO4v literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/duplex.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/duplex.c new file mode 100755 index 00000000..4f7c5956 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/duplex.c @@ -0,0 +1,483 @@ +/* Last changed Time-stamp: <2005-07-23 16:45:18 ivo> */ +/* + compute the duplex structure of two RNA strands, + allowing only inter-strand base pairs. + see cofold() for computing hybrid structures without + restriction. + + Ivo Hofacker + Vienna RNA package +*/ + +#include +#include +#include +#include +#include +#include +#include "utils.h" +#include "energy_par.h" +#include "fold_vars.h" +#include "pair_mat.h" +#include "params.h" +#include "duplex.h" +/*@unused@*/ +static char rcsid[] UNUSED = "$Id: duplex.c,v 1.4 2005/07/24 08:37:40 ivo Exp $"; + +#define PUBLIC +#define PRIVATE static + +#define STACK_BULGE1 1 /* stacking energies for bulges of size 1 */ +#define NEW_NINIO 1 /* new asymetry penalty */ + +PRIVATE void encode_seq(const char *s1, const char *s2); +PRIVATE char * backtrack(int i, int j); +PRIVATE void update_dfold_params(void); +PRIVATE int compare(const void *sub1, const void *sub2); + +extern int subopt_sorted; /* from subopt.c */ + +/*@unused@*/ + +#define MAXSECTORS 500 /* dimension for a backtrack array */ +#define LOCALITY 0. /* locality parameter for base-pairs */ + +#define MIN2(A, B) ((A) < (B) ? (A) : (B)) +#define MAX2(A, B) ((A) > (B) ? (A) : (B)) + +PRIVATE paramT *P = NULL; + +PRIVATE int **c; /* energy array, given that i-j pair */ +PRIVATE short *S1, *SS1, *S2, *SS2; +PRIVATE int n1,n2; /* sequence lengths */ +extern int LoopEnergy(int n1, int n2, int type, int type_2, + int si1, int sj1, int sp1, int sq1); + + +PRIVATE int bonus_given = 0; +#define BONUS_SIZE 10000 + +extern int array_size_i; +extern int array_size_j; +extern int *array_i; +extern int *array_j; +extern int five_prime_length; +extern int auto_five_prime_length; + + +extern int E5p, E3p; +extern int debug_mode; + +PRIVATE int delay_free=0; +/*--------------------------------------------------------------------------*/ + + +duplexT duplexfold(const char *s1, const char *s2) { + int i, j, l1, Emin=INF, i_min=0, j_min=0; + char *struc; + duplexT mfe; + int dangle_energy = 0; + + int print_i, print_j; + + bonus_given = 0; + + if (auto_five_prime_length == 1) + { + + five_prime_length = array_size_i; + if (debug_mode) + printf ("five prime length set to array size = %i\n", five_prime_length); + } + + if (debug_mode) + { + printf ("array_size_i = %d, array_size_j=%i\n", array_size_i, array_size_j); + + printf ("array_i = [ "); + for (print_i = 0; print_i < array_size_i; print_i++) + printf ("%i ", array_i[print_i]); + printf ("]\narray_j = [ "); + for (print_j = 0; print_j < array_size_j; print_j++) + printf ("%i ", array_j[print_j]); + printf ("]\n"); + } + + n1 = (int) strlen(s1); + n2 = (int) strlen(s2); + + if ((!P) || (fabs(P->temperature - temperature)>1e-6)) + update_dfold_params(); + + c = (int **) space(sizeof(int *) * (n1+1)); + for (i=1; i<=n1; i++) c[i] = (int *) space(sizeof(int) * (n2+1)); + + encode_seq(s1, s2); + + for (i=1; i<=n1; i++) + { + + for (j=n2; j>0; j--) + { + int type, type2, E, k,l; + type = pair[S1[i]][S2[j]]; + c[i][j] = type ? P->DuplexInit : INF; + + if (!type) + { + if ( (i <= array_size_i) && (array_i[i-1] == n2-j+1) ) + printf ("ERROR: Wrong constraint given at %i, %i\n", i, j); + + continue; + } + + if (array_size_i) + { + if ( (i <= array_size_i) && (array_i[i-1] == n2-j+1) ) + { + c[i][j] -= BONUS_SIZE; + bonus_given = BONUS_SIZE; + + if (debug_mode) + printf ("Gave bonus to %i, %i\n", i, j); + } + + if ( (i <= array_size_i && (array_i[i-1] != n2-j+1) ) || + (n2-j+1 <= array_size_j && (array_j[n2-j] != i) ) ) + { + if (debug_mode > 1) + printf ("> Skipping: i=%i, j=%i\n", i,j); + + c[i][j] = INF; + continue; + } + } + + if (i>1) c[i][j] += P->dangle5[type][SS1[i-1]]; + if (jdangle3[type][SS2[j+1]]; + if (type>2) c[i][j] += P->TerminalAU; + + for (k=i-1; k>0 && k>i-MAXLOOP-2; k--) + { + for (l=j+1; l<=n2; l++) + { + if (i-k+l-j-2>MAXLOOP) break; + type2 = pair[S1[k]][S2[l]]; + + if (!type2) continue; + + E = LoopEnergy(i-k-1, l-j-1, type2, rtype[type], SS1[k+1], SS2[l-1], SS1[i-1], SS2[j+1]); + c[i][j] = MIN2(c[i][j], c[k][l]+E); + } + } + + E = c[i][j]; + + if (idangle3[rtype[type]][SS1[i+1]]; + if (j>1) E += P->dangle5[rtype[type]][SS2[j-1]]; + if (type>2) E += P->TerminalAU; + + if (E1 ) j_min--; + + l1 = strchr(struc, '&')-struc; + + /* + printf("%s %3d,%-3d : %3d,%-3d (%5.2f)\n", struc, i_min+1-l1, i_min, + j_min, j_min+strlen(struc)-l1-2, Emin*0.01); + */ + mfe.i = i_min; + mfe.j = j_min; + + if (array_size_i) Emin += bonus_given; + + mfe.energy = (float) (Emin) / 100.; + + if (five_prime_length) + { + dangle_energy = Emin - (E3p + E5p); + + if (debug_mode) + printf ("Dangle energy: %i\n", dangle_energy); + + if (i_min > five_prime_length) + E3p += dangle_energy; + else + E5p += dangle_energy; + } + + + + mfe.structure = struc; + if (!delay_free) { + for (i=1; i<=n1; i++) free(c[i]); + free(c); + free(S1); free(S2); free(SS1); free(SS2); + } + return mfe; +} + +PUBLIC duplexT *duplex_subopt(const char *s1, const char *s2, int delta, int w) { + int i,j, n1, n2, thresh, E, n_subopt=0, n_max; + char *struc; + duplexT mfe; + duplexT *subopt; + + n_max=16; + subopt = (duplexT *) space(n_max*sizeof(duplexT)); + delay_free=1; + mfe = duplexfold(s1, s2); + free(mfe.structure); + + thresh = (int) mfe.energy*100+0.1 + delta; + n1 = strlen(s1); n2=strlen(s2); + for (i=n1; i>0; i--) { + for (j=1; j<=n2; j++) { + int type; + type = pair[S2[j]][S1[i]]; + if (!type) continue; + E = c[i][j]; + if (idangle3[type][SS1[i+1]]; + if (j>1) E += P->dangle5[type][SS2[j-1]]; + if (type>2) E += P->TerminalAU; + if (E<=thresh) { + struc = backtrack(i,j); +#if 0 + int l1; + l1 = strchr(struc, '&')-struc; + printf("%s %3d,%-3d : %3d,%-3d (%5.2f)\n", struc, i+2-l1, i+1, + j-1, j+strlen(struc)-l1-3, E*0.01); +#endif + if (n_subopt+1>=n_max) { + n_max *= 2; + subopt = (duplexT *) xrealloc(subopt, n_max*sizeof(duplexT)); + } + subopt[n_subopt].i = MIN2(i+1,n1); + subopt[n_subopt].j = MAX2(j-1,1); + subopt[n_subopt].energy = E * 0.01; + subopt[n_subopt++].structure = struc; + } + } + } + + for (i=1; i<=n1; i++) free(c[i]); + free(c); + free(S1); free(S2); free(SS1); free(SS2); + delay_free=0; + + if (subopt_sorted) qsort(subopt, n_subopt, sizeof(duplexT), compare); + subopt[n_subopt].i =0; + subopt[n_subopt].j =0; + subopt[n_subopt].structure = NULL; + return subopt; +} + +PRIVATE char *backtrack(int i, int j) { + + /* backtrack structure going backwards from i, and forwards from j + return structure in bracket notation with & as separator */ + + int k, l, type, type2, E, traced, i0, j0; + char *st1, *st2, *struc, *sc1, *sc2; + + int first_time_five_prime = 1; + + int e_min; + + st1 = (char *) space(sizeof(char)*(n1+1)); + st2 = (char *) space(sizeof(char)*(n2+1)); + + sc1 = (char *) space(sizeof(char)*(n1+1)); + sc2 = (char *) space(sizeof(char)*(n2+1)); + + e_min = c[i][j]; + + if (debug_mode) + printf ("Starting backtrack at %i, %i with %i\n", i, j, c[i][j]); + + i0=MIN2(i+1,n1); j0=MAX2(j-1,1); + + while (i>0 && j<=n2) + { + E = c[i][j]; traced=0; + st1[i-1] = '('; + st2[j-1] = ')'; + + /* + sc1[i-1] = S1[i]; + sc2[j-1] = S2[j]; + */ + + type = pair[S1[i]][S2[j]]; + + if (!type) nrerror("backtrack failed in fold duplex"); + + for (k=i-1; k>0 && k>i-MAXLOOP-2; k--) + { + for (l=j+1; l<=n2; l++) + { + int LE; + if (i-k+l-j-2>MAXLOOP) break; + + type2 = pair[S1[k]][S2[l]]; + + if (!type2) continue; + + if (array_size_i) + { + if ( (k <= array_size_i && (array_i[k-1] != n2-l+1) ) || + (n2-l+1 <= array_size_j && (array_j[n2-l] != k) ) ) + { + /* printf ("Skipping in backtrack: k=%i, l=%i.\n", k, l); */ + continue; + } + } + + LE = LoopEnergy(i-k-1, l-j-1, type2, rtype[type], SS1[k+1], SS2[l-1], SS1[i-1], SS2[j+1]); + if (E == c[k][l]+LE) + { + traced=1; + i=k; j=l; + if (debug_mode) + printf ("Traced: k=%i, l=%i, E=%d.\n", k, l, E); + + if (five_prime_length) + { + if (k < five_prime_length && first_time_five_prime) + { + first_time_five_prime = 0; + E3p = e_min - E; + E5p = E + (bonus_given * (array_size_i > 0)); + + if (debug_mode) + printf ("Reached five prime border (%i) at k=%i. Thus, E3p = %i, E5p = %i\n", five_prime_length, k, E3p, E5p); + } + } + + break; + } + } + + if (traced) break; + } + + if (!traced) + { + if (i>1) E -= P->dangle5[type][SS1[i-1]]; + if (jdangle3[type][SS2[j+1]]; + if (type>2) E -= P->TerminalAU; + + if (E != P->DuplexInit - (bonus_given * (array_size_i > 0))) + { + printf ("E=%i\n", E); + nrerror("Fail2: backtrack failed in fold duplex. Are you providing impossible restrictions with -i, -j?"); + } else break; + } + } + + if (array_size_i) + E += bonus_given; + + if (i>1) i--; + if (jenergy > ((duplexT *) sub2)->energy) + return 1; + if (((duplexT *) sub1)->energy < ((duplexT *) sub2)->energy) + return -1; + d = ((duplexT *) sub1)->i - ((duplexT *) sub2)->i; + if (d!=0) return d; + return ((duplexT *) sub1)->j - ((duplexT *) sub2)->j; +} + diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/duplex.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/duplex.o new file mode 100755 index 0000000000000000000000000000000000000000..204796302c27c537d56e79ad892c3b5a6880f6d3 GIT binary patch literal 39608 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%0A749MNaL=8?d@g4B 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/fold.c b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/fold.c new file mode 100755 index 00000000..d41ec8b5 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/fold.c @@ -0,0 +1,1331 @@ +/* Last changed Time-stamp: <2005-07-24 10:54:43 ivo> */ +/* + minimum free energy + RNA secondary structure prediction + + c Ivo Hofacker, Chrisoph Flamm + original implementation by + Walter Fontana + + Vienna RNA package +*/ + +#include +#include +#include +#include +#include +#include +#include "utils.h" +#include "energy_par.h" +#include "fold_vars.h" +#include "pair_mat.h" +#include "params.h" + +/*@unused@*/ +static char rcsid[] UNUSED = "$Id: fold.c,v 1.33 2005/08/07 11:44:43 ivo Exp $"; + +#define PAREN + +#define PUBLIC +#define PRIVATE static + +#define STACK_BULGE1 1 /* stacking energies for bulges of size 1 */ +#define NEW_NINIO 1 /* new asymetry penalty */ + +PUBLIC float fold(const char *string, char *structure); +PUBLIC float energy_of_struct(const char *string, const char *structure); +PUBLIC int energy_of_struct_pt(const char *string, short *ptable, + short *s, short *s1); +PUBLIC void free_arrays(void); +PUBLIC void initialize_fold(int length); +PUBLIC void update_fold_params(void); + +PUBLIC int logML=0; /* if nonzero use logarithmic ML energy in + energy_of_struct */ +PUBLIC int uniq_ML=0; /* do ML decomposition uniquely (for subopt) */ +/*@unused@*/ +PRIVATE void letter_structure(char *structure, int length) UNUSED; +PRIVATE void parenthesis_structure(char *structure, int length); +PRIVATE void get_arrays(unsigned int size); +/* PRIVATE void scale_parameters(void); */ +PRIVATE int stack_energy(int i, const char *string); +PRIVATE int ML_Energy(int i, int is_extloop); +PRIVATE void make_ptypes(const short *S, const char *structure); +PRIVATE void encode_seq(const char *sequence); +PRIVATE void backtrack(const char *sequence, int s); +PRIVATE int fill_arrays(const char *sequence); +/*@unused@*/ +inline PRIVATE int oldLoopEnergy(int i, int j, int p, int q, int type, int type_2); +inline int LoopEnergy(int n1, int n2, int type, int type_2, + int si1, int sj1, int sp1, int sq1); +inline int HairpinE(int size, int type, int si1, int sj1, const char *string); + +#define MAXSECTORS 500 /* dimension for a backtrack array */ +#define LOCALITY 0. /* locality parameter for base-pairs */ + +#define MIN2(A, B) ((A) < (B) ? (A) : (B)) +#define SAME_STRAND(I,J) (((I)>=cut_point)||((J)0) free_arrays(); + get_arrays((unsigned) length); + init_length=length; + + for (n = 1; n <= (unsigned) length; n++) + indx[n] = (n*(n-1)) >> 1; /* n(n-1)/2 */ + + update_fold_params(); +} + +/*--------------------------------------------------------------------------*/ + +PRIVATE void get_arrays(unsigned int size) +{ + indx = (int *) space(sizeof(int)*(size+1)); + c = (int *) space(sizeof(int)*((size*(size+1))/2+2)); + fML = (int *) space(sizeof(int)*((size*(size+1))/2+2)); + if (uniq_ML) + fM1 = (int *) space(sizeof(int)*((size*(size+1))/2+2)); + + ptype = (char *) space(sizeof(char)*((size*(size+1))/2+2)); + f5 = (int *) space(sizeof(int)*(size+2)); + cc = (int *) space(sizeof(int)*(size+2)); + cc1 = (int *) space(sizeof(int)*(size+2)); + Fmi = (int *) space(sizeof(int)*(size+1)); + DMLi = (int *) space(sizeof(int)*(size+1)); + DMLi1 = (int *) space(sizeof(int)*(size+1)); + DMLi2 = (int *) space(sizeof(int)*(size+1)); + base_pair = (struct bond *) space(sizeof(struct bond)*(1+size/2)); +} + +/*--------------------------------------------------------------------------*/ + +void free_arrays(void) +{ + free(indx); free(c); free(fML); free(f5); free(cc); free(cc1); + free(ptype); + if (fM1) { + free(fM1); fM1=NULL; + } + + free(base_pair); base_pair=NULL; free(Fmi); + free(DMLi); free(DMLi1);free(DMLi2); + init_length=0; +} + +/*--------------------------------------------------------------------------*/ + +void export_fold_arrays(int **f5_p, int **c_p, int **fML_p, int **fM1_p, + int **indx_p, char **ptype_p) { + /* make the DP arrays available to routines such as subopt() */ + *f5_p = f5; *c_p = c; + *fML_p = fML; *fM1_p = fM1; + *indx_p = indx; *ptype_p = ptype; +} + +/*--------------------------------------------------------------------------*/ + +PRIVATE int *BP; /* contains the structure constrainsts: BP[i] + -1: | = base must be paired + -2: < = base must be paired with j = base must be paired with j>i + -4: x = base must not pair + positive int: base is paired with int */ + +float fold(const char *string, char *structure) { + int i, length, energy, bonus=0, bonus_cnt=0; + + length = (int) strlen(string); + if (length>init_length) initialize_fold(length); + if (fabs(P->temperature - temperature)>1e-6) update_fold_params(); + + encode_seq(string); + + BP = (int *)space(sizeof(int)*(length+2)); + make_ptypes(S, structure); + + energy = fill_arrays(string); + + backtrack(string, 0); + +#ifdef PAREN + parenthesis_structure(structure, length); +#else + letter_structure(structure, length); +#endif + + /* check constraints */ + for(i=1;i<=length;i++) { + if((BP[i]<0)&&(BP[i]>-4)) { + bonus_cnt++; + if((BP[i]==-3)&&(structure[i-1]==')')) bonus++; + if((BP[i]==-2)&&(structure[i-1]=='(')) bonus++; + if((BP[i]==-1)&&(structure[i-1]!='.')) bonus++; + } + + if(BP[i]>i) { + int l; + bonus_cnt++; + for(l=1; l<=base_pair[0].i; l++) + if((i==base_pair[l].i)&&(BP[i]==base_pair[l].j)) bonus++; + } + } + + if (bonus_cnt>bonus) fprintf(stderr,"\ncould not enforce all constraints\n"); + bonus*=BONUS; + + free(S); free(S1); free(BP); + + energy += bonus; /*remove bonus energies from result */ + + if (backtrack_type=='C') + return (float) c[indx[length]+1]/100.; + else if (backtrack_type=='M') + return (float) fML[indx[length]+1]/100.; + else + return (float) energy/100.; +} + +PRIVATE int fill_arrays(const char *string) { + /* fill "c", "fML" and "f5" arrays and return optimal energy */ + + int i, j, k, length, energy; + int decomp, new_fML, max_separation; + int no_close, type, type_2, tt; + int bonus=0; + + length = (int) strlen(string); + + max_separation = (int) ((1.-LOCALITY)*(double)(length-2)); /* not in use */ + + for (j=1; j<=length; j++) { + Fmi[j]=DMLi[j]=DMLi1[j]=DMLi2[j]=INF; + } + + for (j = 1; j<=length; j++) + for (i=(j>TURN?(j-TURN):1); i= 1; i--) { /* i,j in [1..length] */ + + for (j = i+TURN+1; j <= length; j++) { + int p, q, ij; + ij = indx[j]+i; + bonus = 0; + type = ptype[ij]; + + /* enforcing structure constraints */ + if ((BP[i]==j)||(BP[i]==-1)||(BP[i]==-2)) bonus -= BONUS; + if ((BP[j]==-1)||(BP[j]==-3)) bonus -= BONUS; + if ((BP[i]==-4)||(BP[j]==-4)) type=0; + + no_close = (((type==3)||(type==4))&&no_closingGU&&(bonus==0)); + + if (j-i-1 > max_separation) type = 0; /* forces locality degree */ + + if (type) { /* we have a pair */ + int new_c=0, stackEnergy=INF; + /* hairpin ----------------------------------------------*/ + + if (no_close) new_c = FORBIDDEN; + else + new_c = HairpinE(j-i-1, type, S1[i+1], S1[j-1], string+i-1); + + /*-------------------------------------------------------- + check for elementary structures involving more than one + closing pair. + --------------------------------------------------------*/ + + for (p = i+1; p <= MIN2(j-2-TURN,i+MAXLOOP+1) ; p++) { + int minq = j-i+p-MAXLOOP-2; + if (minqi+1)||(qdangle3[tt][S1[i+1]]; + d5 = P->dangle5[tt][S1[j-1]]; + if (dangles==2) /* double dangles */ + decomp += d5 + d3; + else { /* normal dangles */ + decomp = MIN2(DMLi2[j-1]+d3+P->MLbase, decomp); + decomp = MIN2(DMLi1[j-2]+d5+P->MLbase, decomp); + decomp = MIN2(DMLi2[j-2]+d5+d3+2*P->MLbase, decomp); + } + } + + MLenergy = P->MLclosing+P->MLintern[type]+decomp; + + new_c = MLenergy < new_c ? MLenergy : new_c; + } + + /* coaxial stacking of (i.j) with (i+1.k) or (k+1.j-1) */ + + if (dangles==3) { + decomp = INF; + for (k = i+2+TURN; k < j-2-TURN; k++) { + type_2 = ptype[indx[k]+i+1]; type_2 = rtype[type_2]; + if (type_2) + decomp = MIN2(decomp, c[indx[k]+i+1]+P->stack[type][type_2]+ + fML[indx[j-1]+k+1]); + type_2 = ptype[indx[j-1]+k+1]; type_2 = rtype[type_2]; + if (type_2) + decomp = MIN2(decomp, c[indx[j-1]+k+1]+P->stack[type][type_2]+ + fML[indx[k]+i+1]); + } + /* no TermAU penalty if coax stack */ + decomp += 2*P->MLintern[1] + P->MLclosing; + new_c = MIN2(new_c, decomp); + } + + new_c = MIN2(new_c, cc1[j-1]+stackEnergy); + cc[j] = new_c + bonus; + if (noLonelyPairs) + c[ij] = cc1[j-1]+stackEnergy+bonus; + else + c[ij] = cc[j]; + + } /* end >> if (pair) << */ + + else c[ij] = INF; + + + /* done with c[i,j], now compute fML[i,j] */ + /* free ends ? -----------------------------------------*/ + + new_fML = fML[ij+1]+P->MLbase; + new_fML = MIN2(fML[indx[j-1]+i]+P->MLbase, new_fML); + energy = c[ij]+P->MLintern[type]; + if (dangles==2) { /* double dangles */ + energy += (i==1) ? /* works also for circfold */ + P->dangle5[type][S1[length]] : P->dangle5[type][S1[i-1]]; + /* if (jdangle3[type][S1[j+1]]; + } + new_fML = MIN2(energy, new_fML); + if (uniq_ML) + fM1[ij] = MIN2(fM1[indx[j-1]+i] + P->MLbase, energy); + + if (dangles%2==1) { /* normal dangles */ + tt = ptype[ij+1]; /* i+1,j */ + new_fML = MIN2(c[ij+1]+P->dangle5[tt][S1[i]] + +P->MLintern[tt]+P->MLbase,new_fML); + tt = ptype[indx[j-1]+i]; + new_fML = MIN2(c[indx[j-1]+i]+P->dangle3[tt][S1[j]] + +P->MLintern[tt]+P->MLbase, new_fML); + tt = ptype[indx[j-1]+i+1]; + new_fML = MIN2(c[indx[j-1]+i+1]+P->dangle5[tt][S1[i]]+ + P->dangle3[tt][S1[j]]+P->MLintern[tt]+2*P->MLbase, new_fML); + } + + /* modular decomposition -------------------------------*/ + + for (decomp = INF, k = i+1+TURN; k <= j-2-TURN; k++) + decomp = MIN2(decomp, Fmi[k]+fML[indx[j]+k+1]); + + DMLi[j] = decomp; /* store for use in ML decompositon */ + new_fML = MIN2(new_fML,decomp); + + /* coaxial stacking */ + if (dangles==3) { + /* additional ML decomposition as two coaxially stacked helices */ + for (decomp = INF, k = i+1+TURN; k <= j-2-TURN; k++) { + type = ptype[indx[k]+i]; type = rtype[type]; + type_2 = ptype[indx[j]+k+1]; type_2 = rtype[type_2]; + if (type && type_2) + decomp = MIN2(decomp, + c[indx[k]+i]+c[indx[j]+k+1]+P->stack[type][type_2]); + } + + decomp += 2*P->MLintern[1]; /* no TermAU penalty if coax stack */ +#if 0 + /* This is needed for Y shaped ML loops with coax stacking of + interior pairts, but backtracking will fail if activated */ + DMLi[j] = MIN2(DMLi[j], decomp); + DMLi[j] = MIN2(DMLi[j], DMLi[j-1]+P->MLbase); + DMLi[j] = MIN2(DMLi[j], DMLi1[j]+P->MLbase); + new_fML = MIN2(new_fML, DMLi[j]); +#endif + new_fML = MIN2(new_fML, decomp); + } + + fML[ij] = Fmi[j] = new_fML; /* substring energy */ + + } + + { + int *FF; /* rotate the auxilliary arrays */ + FF = DMLi2; DMLi2 = DMLi1; DMLi1 = DMLi; DMLi = FF; + FF = cc1; cc1=cc; cc=FF; + for (j=1; j<=length; j++) {cc[j]=Fmi[j]=DMLi[j]=INF; } + } + } + + /* calculate energies of 5' and 3' fragments */ + + f5[TURN+1]=0; + for (j=TURN+2; j<=length; j++) { + f5[j] = f5[j-1]; + type=ptype[indx[j]+1]; + if (type) { + energy = c[indx[j]+1]; + if (type>2) energy += P->TerminalAU; + if ((dangles==2)&&(jdangle3[type][S1[j+1]]; + f5[j] = MIN2(f5[j], energy); + } + type=ptype[indx[j-1]+1]; + if ((type)&&(dangles%2==1)) { + energy = c[indx[j-1]+1]+P->dangle3[type][S1[j]]; + if (type>2) energy += P->TerminalAU; + f5[j] = MIN2(f5[j], energy); + } + for (i=j-TURN-1; i>1; i--) { + type = ptype[indx[j]+i]; + if (type) { + energy = f5[i-1]+c[indx[j]+i]; + if (type>2) energy += P->TerminalAU; + if (dangles==2) { + energy += P->dangle5[type][S1[i-1]]; + if (jdangle3[type][S1[j+1]]; + } + f5[j] = MIN2(f5[j], energy); + if (dangles%2==1) { + energy = f5[i-2]+c[indx[j]+i]+P->dangle5[type][S1[i-1]]; + if (type>2) energy += P->TerminalAU; + f5[j] = MIN2(f5[j], energy); + } + } + type = ptype[indx[j-1]+i]; + if ((type)&&(dangles%2==1)) { + energy = c[indx[j-1]+i]+P->dangle3[type][S1[j]]; + if (type>2) energy += P->TerminalAU; + f5[j] = MIN2(f5[j], f5[i-1]+energy); + f5[j] = MIN2(f5[j], f5[i-2]+energy+P->dangle5[type][S1[i-1]]); + } + } + } + + return f5[length]; +} + +struct sect { + int i; + int j; + int ml; +} +static sector[MAXSECTORS]; /* stack of partial structures for backtracking */ + +#include "circfold.inc" + +PRIVATE void backtrack(const char *string, int s) { + + /*------------------------------------------------------------------ + trace back through the "c", "f5" and "fML" arrays to get the + base pairing list. No search for equivalent structures is done. + This is fast, since only few structure elements are recalculated. + ------------------------------------------------------------------*/ + + /* normally s=0. + If s>0 then s items have been already pushed onto the sector stack */ + int i, j, k, length, energy, new; + int no_close, type, type_2, tt; + int bonus; + int b=0; + + length = strlen(string); + if (s==0) { + sector[++s].i = 1; + sector[s].j = length; + sector[s].ml = (backtrack_type=='M') ? 1 : ((backtrack_type=='C')?2:0); + } + while (s>0) { + int ml, fij, fi, cij, traced, i1, j1, d3, d5, mm, p, q, jj=0; + int canonical = 1; /* (i,j) closes a canonical structure */ + i = sector[s].i; + j = sector[s].j; + ml = sector[s--].ml; /* ml is a flag indicating if backtracking is to + occur in the fML- (1) or in the f-array (0) */ + if (ml==2) { + base_pair[++b].i = i; + base_pair[b].j = j; + goto repeat1; + } + + if (j < i+TURN+1) continue; /* no more pairs in this interval */ + + fij = (ml)? fML[indx[j]+i] : f5[j]; + fi = (ml)?(fML[indx[j-1]+i]+P->MLbase):f5[j-1]; + + if (fij == fi) { /* 3' end is unpaired */ + sector[++s].i = i; + sector[s].j = j-1; + sector[s].ml = ml; + continue; + } + + if (ml == 0) { /* backtrack in f5 */ + /* j or j-1 is paired. Find pairing partner */ + for (k=j-TURN-1,traced=0; k>=1; k--) { + int cc, en; + jj = k-1; + type = ptype[indx[j-1]+k]; + if((type)&&(dangles%2==1)) { + cc = c[indx[j-1]+k]+P->dangle3[type][S1[j]]; + if (type>2) cc += P->TerminalAU; + if (fij == cc + f5[k-1]) + traced=j-1; + if (k>i) + if (fij == f5[k-2] + cc + P->dangle5[type][S1[k-1]]) { + traced=j-1; jj=k-2; + } + } + type = ptype[indx[j]+k]; + if (type) { + cc = c[indx[j]+k]; + if (type>2) cc += P->TerminalAU; + en = cc + f5[k-1]; + if (dangles==2) { + if (k>1) en += P->dangle5[type][S1[k-1]]; + if (jdangle3[type][S1[j+1]]; + } + if (fij == en) traced=j; + if ((dangles%2==1) && (k>1)) + if (fij == f5[k-2]+cc+P->dangle5[type][S1[k-1]]) { + traced=j; jj=k-2; + } + } + if (traced) break; + } + + if (!traced) nrerror("backtrack failed in f5"); + sector[++s].i = 1; + sector[s].j = jj; + sector[s].ml = ml; + + i=k; j=traced; + base_pair[++b].i = i; + base_pair[b].j = j; + goto repeat1; + } + else { /* trace back in fML array */ + int cij1=INF, ci1j=INF, ci1j1=INF; + if (fML[indx[j]+i+1]+P->MLbase == fij) { /* 5' end is unpaired */ + sector[++s].i = i+1; + sector[s].j = j; + sector[s].ml = ml; + continue; + } + + tt = ptype[indx[j]+i]; + cij = c[indx[j]+i] + P->MLintern[tt]; + if (dangles==2) { /* double dangles, works also for circfold */ + cij += (i==1) ? + P->dangle5[tt][S1[length]] : P->dangle5[tt][S1[i-1]]; + /* if (jdangle3[tt][S1[j+1]]; + } + else if (dangles%2==1) { /* normal dangles */ + tt = ptype[indx[j]+i+1]; + ci1j= c[indx[j]+i+1] + P->dangle5[tt][S1[i]] + P->MLintern[tt]+P->MLbase; + tt = ptype[indx[j-1]+i]; + cij1= c[indx[j-1]+i] + P->dangle3[tt][S1[j]] + P->MLintern[tt]+P->MLbase; + tt = ptype[indx[j-1]+i+1]; + ci1j1=c[indx[j-1]+i+1] + P->dangle5[tt][S1[i]] + P->dangle3[tt][S1[j]] + + P->MLintern[tt] + 2*P->MLbase; + } + + if ((fij==cij)||(fij==ci1j)||(fij==cij1)||(fij==ci1j1)) { + /* found a pair */ + if (fij==ci1j) i++; + else if (fij==cij1) j--; + else if (fij==ci1j1) {i++; j--;} + base_pair[++b].i = i; + base_pair[b].j = j; + goto repeat1; + } + + for (k = i+1+TURN; k <= j-2-TURN; k++) + if (fij == (fML[indx[k]+i]+fML[indx[j]+k+1])) + break; + + if ((dangles==3)&&(k>j-2-TURN)) { /* must be coax stack */ + ml = 2; + for (k = i+1+TURN; k <= j-2-TURN; k++) { + type = ptype[indx[k]+i]; type= rtype[type]; + type_2 = ptype[indx[j]+k+1]; type_2= rtype[type_2]; + if (type && type_2) + if (fij == c[indx[k]+i]+c[indx[j]+k+1]+P->stack[type][type_2]+ + 2*P->MLintern[1]) + break; + } + } + + sector[++s].i = i; + sector[s].j = k; + sector[s].ml = ml; + sector[++s].i = k+1; + sector[s].j = j; + sector[s].ml = ml; + + if (k>j-2-TURN) nrerror("backtrack failed in fML"); + continue; + } + + repeat1: + + /*----- begin of "repeat:" -----*/ + if (canonical) cij = c[indx[j]+i]; + + type = ptype[indx[j]+i]; + + bonus = 0; + + if ((BP[i]==j)||(BP[i]==-1)||(BP[i]==-2)) bonus -= BONUS; + if ((BP[j]==-1)||(BP[j]==-3)) bonus -= BONUS; + + if (noLonelyPairs) + if (cij == c[indx[j]+i]) { + /* (i.j) closes canonical structures, thus + (i+1.j-1) must be a pair */ + type_2 = ptype[indx[j-1]+i+1]; type_2 = rtype[type_2]; + cij -= P->stack[type][type_2] + bonus; + base_pair[++b].i = i+1; + base_pair[b].j = j-1; + i++; j--; + canonical=0; + goto repeat1; + } + canonical = 1; + + + no_close = (((type==3)||(type==4))&&no_closingGU&&(bonus==0)); + if (no_close) { + if (cij == FORBIDDEN) continue; + } else + if (cij == HairpinE(j-i-1, type, S1[i+1], S1[j-1],string+i-1)+bonus) + continue; + + for (p = i+1; p <= MIN2(j-2-TURN,i+MAXLOOP+1); p++) { + int minq; + minq = j-i+p-MAXLOOP-2; + if (minq= minq; q--) { + + type_2 = ptype[indx[q]+p]; + if (type_2==0) continue; + type_2 = rtype[type_2]; + if (no_closingGU) + if (no_close||(type_2==3)||(type_2==4)) + if ((p>i+1)||(qMLclosing+P->MLintern[tt]; + d5 = P->dangle5[tt][S1[j-1]]; + d3 = P->dangle3[tt][S1[i+1]]; + i1 = i+1; j1 = j-1; + sector[s+1].ml = sector[s+2].ml = 1; + + for (k = i+2+TURN; k < j-2-TURN; k++) { + int en; + en = fML[indx[k]+i+1]+fML[indx[j-1]+k+1]+mm; + if (dangles==2) /* double dangles */ + en += d5+d3; + if (cij == en) + break; + if (dangles%2==1) { /* normal dangles */ + if (cij == (fML[indx[k]+i+2]+fML[indx[j-1]+k+1]+mm+d3+P->MLbase)) { + i1 = i+2; + break; + } + if (cij == (fML[indx[k]+i+1]+fML[indx[j-2]+k+1]+mm+d5+P->MLbase)) { + j1 = j-2; + break; + } + if (cij == (fML[indx[k]+i+2]+fML[indx[j-2]+k+1]+mm+d3+d5+P->MLbase+P->MLbase)) { + i1 = i+2; j1 = j-2; + break; + } + } + /* coaxial stacking of (i.j) with (i+1.k) or (k.j-1) */ + /* use MLintern[1] since coax stacked pairs don't get TerminalAU */ + if (dangles==3) { + type_2 = ptype[indx[k]+i+1]; type_2 = rtype[type_2]; + if (type_2) { + en = c[indx[k]+i+1]+P->stack[type][type_2]+fML[indx[j-1]+k+1]; + if (cij == en+2*P->MLintern[1]+P->MLclosing) { + ml = 2; + sector[s+1].ml = 2; + break; + } + } + type_2 = ptype[indx[j-1]+k+1]; type_2 = rtype[type_2]; + if (type_2) { + en = c[indx[j-1]+k+1]+P->stack[type][type_2]+fML[indx[k]+i+1]; + if (cij == en+2*P->MLintern[1]+P->MLclosing) { + sector[s+2].ml = 2; + break; + } + } + } + + } + if (k<=j-3-TURN) { /* found the decomposition */ + sector[++s].i = i1; + sector[s].j = k; + sector[++s].i = k+1; + sector[s].j = j1; + } else { +#if 0 + /* Y shaped ML loops fon't work yet */ + if (dangles==3) { + /* (i,j) must close a Y shaped ML loop with coax stacking */ + if (cij == fML[indx[j-2]+i+2] + mm + d3 + d5 + P->MLbase + P->MLbase) { + i1 = i+2; + j1 = j-2; + } else if (cij == fML[indx[j-2]+i+1] + mm + d5 + P->MLbase) + j1 = j-2; + else if (cij == fML[indx[j-1]+i+2] + mm + d3 + P->MLbase) + i1 = i+2; + else /* last chance */ + if (cij != fML[indx[j-1]+i+1] + mm + P->MLbase) + fprintf(stderr, "backtracking failed in repeat"); + /* if we arrive here we can express cij via fML[i1,j1]+dangles */ + sector[++s].i = i1; + sector[s].j = j1; + } + else +#endif + nrerror("backtracking failed in repeat"); + } + + } + + base_pair[0].i = b; /* save the total number of base pairs */ +} + +/*---------------------------------------------------------------------------*/ + +inline int HairpinE(int size, int type, int si1, int sj1, const char *string) { + int energy; + energy = (size <= 30) ? P->hairpin[size] : + P->hairpin[30]+(int)(P->lxc*log((size)/30.)); + if (tetra_loop) + if (size == 4) { /* check for tetraloop bonus */ + char tl[7]={0}, *ts; + strncpy(tl, string, 6); + if ((ts=strstr(P->Tetraloops, tl))) + energy += P->TETRA_ENERGY[(ts - P->Tetraloops)/7]; + } + if (size == 3) { + char tl[6]={0,0,0,0,0,0}, *ts; + strncpy(tl, string, 5); + if ((ts=strstr(P->Triloops, tl))) + energy += P->Triloop_E[(ts - P->Triloops)/6]; + + if (type>2) /* neither CG nor GC */ + energy += P->TerminalAU; /* penalty for closing AU GU pair */ + } + else /* no mismatches for tri-loops */ + energy += P->mismatchH[type][si1][sj1]; + + return energy; +} + +/*---------------------------------------------------------------------------*/ + +inline PRIVATE int oldLoopEnergy(int i, int j, int p, int q, int type, int type_2) { + /* compute energy of degree 2 loop (stack bulge or interior) */ + int n1, n2, m, energy; + n1 = p-i-1; + n2 = j-q-1; + + if (n1>n2) { m=n1; n1=n2; n2=m; } /* so that n2>=n1 */ + + if (n2 == 0) + energy = P->stack[type][type_2]; /* stack */ + + else if (n1==0) { /* bulge */ + energy = (n2<=MAXLOOP)?P->bulge[n2]: + (P->bulge[30]+(int)(P->lxc*log(n2/30.))); + +#if STACK_BULGE1 + if (n2==1) energy+=P->stack[type][type_2]; +#endif + } else { /* interior loop */ + + if ((n1+n2==2)&&(james_rule)) + /* special case for loop size 2 */ + energy = P->int11[type][type_2][S1[i+1]][S1[j-1]]; + else { + energy = (n1+n2<=MAXLOOP)?(P->internal_loop[n1+n2]): + (P->internal_loop[30]+(int)(P->lxc*log((n1+n2)/30.))); + +#if NEW_NINIO + energy += MIN2(MAX_NINIO, (n2-n1)*P->F_ninio[2]); +#else + m = MIN2(4, n1); + energy += MIN2(MAX_NINIO,((n2-n1)*P->F_ninio[m])); +#endif + energy += P->mismatchI[type][S1[i+1]][S1[j-1]]+ + P->mismatchI[type_2][S1[q+1]][S1[p-1]]; + } + } + return energy; +} + +/*--------------------------------------------------------------------------*/ + +inline int LoopEnergy(int n1, int n2, int type, int type_2, + int si1, int sj1, int sp1, int sq1) { + /* compute energy of degree 2 loop (stack bulge or interior) */ + int nl, ns, energy; + + if (n1>n2) { nl=n1; ns=n2;} + else {nl=n2; ns=n1;} + + if (nl == 0) + return P->stack[type][type_2]; /* stack */ + + if (ns==0) { /* bulge */ + energy = (nl<=MAXLOOP)?P->bulge[nl]: + (P->bulge[30]+(int)(P->lxc*log(nl/30.))); + if (nl==1) energy += P->stack[type][type_2]; + else { + if (type>2) energy += P->TerminalAU; + if (type_2>2) energy += P->TerminalAU; + } + return energy; + } + else { /* interior loop */ + if (ns==1) { + if (nl==1) /* 1x1 loop */ + return P->int11[type][type_2][si1][sj1]; + if (nl==2) { /* 2x1 loop */ + if (n1==1) + energy = P->int21[type][type_2][si1][sq1][sj1]; + else + energy = P->int21[type_2][type][sq1][si1][sp1]; + return energy; + } + } + else if (n1==2 && n2==2) /* 2x2 loop */ + return P->int22[type][type_2][si1][sp1][sq1][sj1]; + { /* generic interior loop (no else here!)*/ + energy = (n1+n2<=MAXLOOP)?(P->internal_loop[n1+n2]): + (P->internal_loop[30]+(int)(P->lxc*log((n1+n2)/30.))); + + energy += MIN2(MAX_NINIO, (nl-ns)*P->F_ninio[2]); + + energy += P->mismatchI[type][si1][sj1]+ + P->mismatchI[type_2][sq1][sp1]; + } + } + return energy; +} + + +/*---------------------------------------------------------------------------*/ + +PRIVATE void encode_seq(const char *sequence) { + unsigned int i,l; + + l = strlen(sequence); + S = (short *) space(sizeof(short)*(l+2)); + S1= (short *) space(sizeof(short)*(l+2)); + /* S1 exists only for the special X K and I bases and energy_set!=0 */ + S[0] = S1[0] = (short) l; + + for (i=1; i<=l; i++) { /* make numerical encoding of sequence */ + S[i]= (short) encode_char(toupper(sequence[i-1])); + S1[i] = alias[S[i]]; /* for mismatches of nostandard bases */ + } + /* for circular folding add first base at position n+1 */ + S[l+1] = S[1]; S1[l+1]=S1[1]; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void letter_structure(char *structure, int length) +{ + int n, k, x, y; + + for (n = 0; n <= length-1; structure[n++] = ' ') ; + structure[length] = '\0'; + + for (n = 0, k = 1; k <= base_pair[0].i; k++) { + y = base_pair[k].j; + x = base_pair[k].i; + if (x-1 > 0 && y+1 <= length) { + if (structure[x-2] != ' ' && structure[y] == structure[x-2]) { + structure[x-1] = structure[x-2]; + structure[y-1] = structure[x-1]; + continue; + } + } + if (structure[x] != ' ' && structure[y-2] == structure[x]) { + structure[x-1] = structure[x]; + structure[y-1] = structure[x-1]; + continue; + } + n++; + structure[x-1] = alpha[n-1]; + structure[y-1] = alpha[n-1]; + } +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void parenthesis_structure(char *structure, int length) +{ + int n, k; + + for (n = 0; n <= length-1; structure[n++] = '.') ; + structure[length] = '\0'; + + for (k = 1; k <= base_pair[0].i; k++) { + structure[base_pair[k].i-1] = '('; + structure[base_pair[k].j-1] = ')'; + } +} +/*---------------------------------------------------------------------------*/ + +PUBLIC void update_fold_params(void) +{ + P = scale_parameters(); + make_pair_matrix(); + if (init_length < 0) init_length=0; +} + +/*---------------------------------------------------------------------------*/ +PRIVATE short *pair_table; + +float energy_of_struct(const char *string, const char *structure) +{ + int energy; + short *ss, *ss1; + + if ((init_length<0)||(P==NULL)) update_fold_params(); + if (fabs(P->temperature - temperature)>1e-6) update_fold_params(); + + if (strlen(structure)!=strlen(string)) + nrerror("energy_of_struct: string and structure have unequal length"); + + /* save the S and S1 pointers in case they were already in use */ + ss = S; ss1 = S1; + encode_seq(string); + + pair_table = make_pair_table(structure); + + energy = energy_of_struct_pt(string, pair_table, S, S1); + + free(pair_table); + free(S); free(S1); + S=ss; S1=ss1; + return (float) energy/100.; +} + +int energy_of_struct_pt(const char *string, short * ptable, + short *s, short *s1) { + /* auxiliary function for kinfold, + for most purposes call energy_of_struct instead */ + + int i, length, energy; + + pair_table = ptable; + S = s; + S1 = s1; + + length = S[0]; + energy = backtrack_type=='M' ? ML_Energy(0, 0) : ML_Energy(0, 1); + if (eos_debug>0) + printf("External loop : %5d\n", energy); + for (i=1; i<=length; i++) { + if (pair_table[i]==0) continue; + energy += stack_energy(i, string); + i=pair_table[i]; + } + for (i=1; !SAME_STRAND(i,length); i++) { + if (!SAME_STRAND(i,pair_table[i])) { + energy+=P->DuplexInit; + break; + } + } + return energy; +} + +/*---------------------------------------------------------------------------*/ +PRIVATE int stack_energy(int i, const char *string) +{ + /* calculate energy of substructure enclosed by (i,j) */ + int ee, energy = 0; + int j, p, q, type; + + j=pair_table[i]; + type = pair[S[i]][S[j]]; + if (type==0) { + type=7; + if (eos_debug>=0) + fprintf(stderr,"WARNING: bases %d and %d (%c%c) can't pair!\n", i, j, + string[i-1],string[j-1]); + } + + p=i; q=j; + while (pq)) break; + type_2 = pair[S[q]][S[p]]; + if (type_2==0) { + type_2=7; + if (eos_debug>=0) + fprintf(stderr,"WARNING: bases %d and %d (%c%c) can't pair!\n", p, q, + string[p-1],string[q-1]); + } + /* energy += LoopEnergy(i, j, p, q, type, type_2); */ + if ( SAME_STRAND(i,p) && SAME_STRAND(q,j) ) + ee = LoopEnergy(p-i-1, j-q-1, type, type_2, + S1[i+1], S1[j-1], S1[p-1], S1[q+1]); + else + ee = ML_Energy(cut_in_loop(i), 1); + if (eos_debug>0) + printf("Interior loop (%3d,%3d) %c%c; (%3d,%3d) %c%c: %5d\n", + i,j,string[i-1],string[j-1],p,q,string[p-1],string[q-1], ee); + energy += ee; + i=p; j=q; type = rtype[type_2]; + } /* end while */ + + /* p,q don't pair must have found hairpin or multiloop */ + + if (p>q) { /* hair pin */ + if (SAME_STRAND(i,j)) + ee = HairpinE(j-i-1, type, S1[i+1], S1[j-1], string+i-1); + else + ee = ML_Energy(cut_in_loop(i), 1); + energy += ee; + if (eos_debug>0) + printf("Hairpin loop (%3d,%3d) %c%c : %5d\n", + i, j, string[i-1],string[j-1], ee); + + return energy; + } + + /* (i,j) is exterior pair of multiloop */ + while (p0) + printf("Multi loop (%3d,%3d) %c%c : %5d\n", + i,j,string[i-1],string[j-1],ee); + + return energy; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE int ML_Energy(int i, int is_extloop) { + /* i is the 5'-base of the closing pair (or 0 for exterior loop) + loop is scored as ML if extloop==0 else as exterior loop + + since each helix can coaxially stack with at most one of its + neighbors we need an auxiliarry variable cx_energy + which contains the best energy given that the last two pairs stack. + energy holds the best energy given the previous two pairs do not + stack (i.e. the two current helices may stack) + We don't allow the last helix to stack with the first, thus we have to + walk around the Loop twice with two starting points and take the minimum + */ + + int energy, cx_energy, best_energy=INF; + int i1, j, p, q, u, x, type, count; + int mlintern[NBPAIRS+1], mlclosing, mlbase; + + if (is_extloop) { + for (x = 0; x <= NBPAIRS; x++) + mlintern[x] = P->MLintern[x]-P->MLintern[1]; /* 0 or TerminalAU */ + mlclosing = mlbase = 0; + } else { + for (x = 0; x <= NBPAIRS; x++) mlintern[x] = P->MLintern[x]; + mlclosing = P->MLclosing; mlbase = P->MLbase; + } + + for (count=0; count<2; count++) { /* do it twice */ + int ld5 = 0; /* 5' dangle energy on prev pair (type) */ + if ( i==0 ) { + j = pair_table[0]+1; + type = 0; /* no pair */ + } + else { + j = pair_table[i]; + type = pair[S[j]][S[i]]; if (type==0) type=7; + + if (dangles==3) { /* prime the ld5 variable */ + if (SAME_STRAND(j-1,j)) { + ld5 = P->dangle5[type][S1[j-1]]; + if ((p=pair_table[j-2]) && SAME_STRAND(j-2, j-1)) + if (P->dangle3[pair[S[p]][S[j-2]]][S1[j-1]]q */ + tt = pair[S[p]][S[q]]; if (tt==0) tt=7; + } + + energy += mlintern[tt]; + cx_energy += mlintern[tt]; + + if (dangles) { + int dang5=0, dang3=0, dang; + if ((SAME_STRAND(p-1,p))&&(p>1)) + dang5=P->dangle5[tt][S1[p-1]]; /* 5'dangle of pq pair */ + if ((SAME_STRAND(i1,i1+1))&&(i1dangle3[type][S1[i1+1]]; /* 3'dangle of previous pair */ + + switch (p-i1-1) { + case 0: /* adjacent helices */ + if (dangles==2) + energy += dang3+dang5; + else if (dangles==3 && i1!=0) { + if (SAME_STRAND(i1,p)) { + new_cx = energy + P->stack[rtype[type]][rtype[tt]]; + /* subtract 5'dangle and TerminalAU penalty */ + new_cx += -ld5 - mlintern[tt]-mlintern[type]+2*mlintern[1]; + } + ld5=0; + energy = MIN2(energy, cx_energy); + } + break; + case 1: /* 1 unpaired base between helices */ + dang = (dangles==2)?(dang3+dang5):MIN2(dang3, dang5); + if (dangles==3) { + energy = energy +dang; ld5 = dang - dang3; + /* may be problem here: Suppose + cx_energy>energy, cx_energy+dang56) ) + energy += 6*mlbase+(int)(P->lxc*log((double)u/6.)); + else + energy += mlbase*u; + /* fprintf(stderr, "\n"); */ + return energy; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE int cut_in_loop(int i) { + /* walk around the loop; return j pos of pair after cut if + cut_point in loop else 0 */ + int p, j; + p = j = pair_table[i]; + do { + i = pair_table[p]; p = i+1; + while ( pair_table[p]==0 ) p++; + } while (p!=j && SAME_STRAND(i,p)); + return SAME_STRAND(i,p) ? 0 : pair_table[p]; +} + +/*---------------------------------------------------------------------------*/ + +PRIVATE void make_ptypes(const short *S, const char *structure) { + int n,i,j,k,l; + + n=S[0]; + for (k=1; kn) continue; + type = pair[S[i]][S[j]]; + while ((i>=1)&&(j<=n)) { + if ((i>1)&&(j': /* pairs downstream */ + for (l=j+TURN+1; l<=n; l++) ptype[indx[l]+j] = 0; + break; + } + } + if (hx!=0) { + fprintf(stderr, "%s\n", structure); + nrerror("unbalanced brackets in constraint string"); + } + free(stack); + } +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/fold.o b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/lib/fold.o new file mode 100755 index 0000000000000000000000000000000000000000..7b0aff8274ecfe11e1bf698075242db19f2ff0dc GIT binary patch literal 124184 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

      yCOxyK`Kgr#5x%pWJ@S!Ofo7KF?JTyt&^q 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 literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAddG b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAddG new file mode 100755 index 0000000000000000000000000000000000000000..c8afdc51b1e1db6e5f6cca9220512a6283bbad73 GIT binary patch literal 609707 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≪agfxH`$#=cjOIwds3mLQ zuR&5}*kPqeQ3HPslKR&^QqL2kIac|lei9^Ah8>strG645^^-nQ&l96LUhzx)G)Srp zJ0AB-{WM7Gr+uWJCq{FO!q_Wo;Ikm9GVBPYNKpfy1xfv^kJR(TXb#$^mQp_tk}AWF zEB#VG50d(MAF1bw(Hy_?OFb1NRfZi;_@$l-l6tC-)bqq>jxm@)NL_n_q{^_vMvj$?kQUj#{&VaI;I)Gvahe$hwj zd15rjILw1&4SX3SRfZkm6e()p%OI&=_K|v?7|n5wU+PyuQf1gt?w9&ikkqgGNIg%C z=6KyN^>0B^W!Q1RFZFLhQvcRR>Um-`M%d8rsvSpjNT+=U zMUTS5TZOQ~RUxcyWyo;|sYYRW`-)_)HA7k&QQz`YWe7`$Cx#%4d#UVabbYa!QJVYu zr!a3DBUYMcbXsceUWTdq1Ekbhoi+nM1|Ex}!QYAUXV&1T)D9A*86=k7>}$#Vgt&F% zIe~kd6PFD_A+XM(RdIiz&L5DBR_hX-0m5nzTq4ITsst3lHht)aY@ueT*HS9#%pRToCspqXr=rn9rHyB>vEa9M2Un@=Mpsm zX~Qo=`Z+4y$)NOeMEW~bdWjCH^b+wEl)fG5|E1EsRjcx+t+Yi#zyvUj^Bu_%VQp%I4gb?IOv<65Uz7P%gijwo8 zCrDnskhhbPkUR+w6NG*eeLx8EB+9G>LVHV80;G*Nt0WHe21#xflGhMBNtSRIK}eS9 zw}c>BqNqA4S)xoJ^eeKwT?mLJN2q2!4(wloShb0-!mf>0dXRvFd=G-r*sj1>0y`9t zCwcxM*sQ~c2K80B*%qozlqY#Y5eG@~B##8v!eIV*ZK6EMlPx*rNgf5{Ngf5{X&u_U zgFty&M*(?SM}c)<2#J%x+7Xm-63C6uRiB(UE3A4xFf$kRGkOF8nijso(uP6e70 zImpvG3dqws3dqws3dqwrv=4_g@^p@hc?YzRNfKBG4VRWQNt-B->huEvFHxrBi&#L{ zFv^5vkCk*+fM1@@xj@nv2l(aboDxajp!h{0Cu>>amCD$aphiKBIC>;=0eNAZ0Z|WV z2hzr?e&K$w*x2I!^PmLW@IHK4EZPvT8XB#OE&9%W^5HEx`hSHZO)MPb1pG6yz&w>w zQ6NjR^dc)usO4|O6k`1oeT|`xVL>S5HiC{SK;6n*V@fs4B2e%Kb^}D|sVc&W2;){T z(LW(KRDNoq@&(M0{Uj%2gOuYOU8;p#O9C!5DWf3ZcfkVUwUA|$=8|8_G>35>D5QWW za}~u&lmwDeV)EbsQAi8%TxRkRG+}QBDj%9(32qxp`xs)@l8TAzeYCfp zYLey>=~t96(#O%iTGyXhfex;fDZ6M*ObC8MlYW!15Ri?inGvAFPY{oai zg2!w87_pS=pGcO&9g8)-odj2#g0Dp?&WW_lB>6}XUB_}xt4QPZxBpy-HuOp0qgw5C zYkWDx;6)yjguZD!@FQZBG4Y2<*xkl@C9MI{_LH=)Ehg#jC7MAuzWh6-q%^-w65tMf zQOUe+fyNh8HX9;M5;+Qb3}a~B_~iO=c!zJ+JJD{KU%^ArpE%l)fpq`%D~v4g3L^`C zh0!tv(%BtXAv1a7hkD!E@)lanlKL~yL#81pj&fM!i`Uk^FJ4>wUjAY2d-;d8@8uuX zzL$Sk`(FNG?R)u$weRI0*1ng2So>c7VeNbQhqdqJAJ%xC-fT5SFBX@7SQGRI1e7mc zTl>CvZSDKwwYBey*Vc1hY_y*9Vxu)x-wWCP7q6|E`ayx!i`Uk3Uc9zW)8~tLb@_*N zy288V&5}nZK5G*R zI05g;tr4fek!PkeH1!f>B;A9g$AKG<+e~A>RvG;=Od+FoQr!Gvq~1+4N;_Sbq_>f) zND{TPLop9%av~bnpHd=mm?CL9V5A36eZ>jaWUAXzK+R4kN%T`B<02s=L8U#azITI* zPG?+1N!|vK0xu$gh4mzrZf4SNAqki1$5blYDkq|FHV+)JjhcQrRf=)5N9!Mlv0tal zoAl*6h3$%Si29~CD)o0r+DZ|x#|;M;5*H&IZn1KzI6K|^q;H_=Sgn_Wkf2g8Qs18= z-zbgZS5fphFAC9Er_dEZTI4TD1U(nioAt#iS*!ZK1spQ@24efdOfFDj10HK)so6r3 zuL3~B-;GZ@T{)%4lf>)A9XmUew1?IAZQvc$NkzNCtPXp%6|kFVH;XinDc(y~J0TJa z9i*Y#Qg%>g)<&rHH8JlXBgg~9n-}^m+YpDB8|ak={Z?XpTEw7^1$q}K`Uz4_K&=TJ zgCC)clStVIL=DbW8E#hJXon#USoGabIq4-s8nEt>;o{h3IMPDd==1TQk#;YxBRP-A zLaX%mt#N__kBE?)IJ5IG)#P!YSiGM5C?#VzA6qYPpLvu@Fl-ebxY2HkKw1P{%XKT! z*W&}XsM#N&tmt+E{Wr3%R2J8*b%FzD5g;IH3Ih6XNNKiO*2r_D>MR0So(Zst04i00 z4gwz3oIsxg4Qi!4j?5yHU9Am2j0ztJwO%fToH1+gq1i8?m5`O#PRdd%71Gx^DPFq_ zY*9kYNmAu$z*uDQ0g2ETks>143pyzxz?8MfTB!dQst$eOP&!xiAq_Nx#Cy&kQLe_# zbBB{*$0F{O5I3KUQ3UHCAr|XdNiT*kqASa&4uyv@wD?a+Z+b9|d7DnaRCw)rC)n^z z6(UB^t7E#MljiPq=v>e|M7#pKjS!TVC<_gffVaOCdX>8yX)uov(?%Q-gj(}3A0P31N+59~ z@W`W7xD1iL9hlV46q>wB2-Pf6Tr*H3OnaixV~T*VZV9gd)JD@%+|o)zfUb{z5ERRH z1;!HCAwk5`(A!_V8QK`RE@}t$5>(+>di_iv+f7oi2s*eJN%8mR5okpmZ-G10w?=8& zC+|B2-Mo@h%x_-9#OJ@B--HC_HzC3En;*DB<_Bjoo1h;KrHX6JFq4r`UeSP=jD+%v z2Fzq6Oc2+YVJ0J?yrKa!842YT4VcMDD6eS1Oh!VdxW)`K842YT4VcMDD6eS1Oh!U^ zMFVCss|-@oKa;se!2g|@%qGYVp2^%I@DI;qCW!dJOh)1#p2^%P_{9}6=U&l(i3=69 z@5DtG-JH0{l7D~VauL$W+hqQWD;h$2AVpj;!{Z`rG;Uro6M419{a4IbHo{=IxX~bf%%N8{ZNi3u9>@>nJjs&*Plz2}>B)wQ-i+&0jb{x7ZKr?QT*VW1itp^h;Z7=u?^WN@PmgU!s*Q?+fb?Boxh6EBB%;U zyciD5S63pauKd(^P1KGb_kC?If~xA=I4y!|>>TPj>8KL_9fx{pB!VjU$N5Zds#-s{ zMT?-S^5ak~f~v}opVuO&s%}8}?HH=GHC8Qx>dMbBUW?eL7(@oWn&oP0@nN5#g`;Uh ztOOMvVZ5!=yZ`Tqfd-~b@BaTm0ZYtEya4(~g}4?=Zx99DXkz;K1=l#C0nTk>wCQi& zXmS8xK;TA`*cNQ9rDK>F7`V}-2sBIw^aS)5<9dCu5|g>XNp$TNL=XNQveY#wZrrXr zRm2AMO|!b86!lZVRWh`)4DaMiP(0)aNtIyUkY`a=1?CT-t5J;GMVf^}-ldq^|3KL+ zf=8jZa^*|iR=x>J45Nc)Z$NM3CZ_vT#+#d+q@eZ^G#oBo>9~nGP_4{|;UBfRl}$%% zE+JH)M4N%)XoFzH2;rl)KpF8izQp;2#T)q&uLsuRcA$RZ>COBQD`|8Oh~voR0*kk(S8GycsPzU! ze@JQ2i1#9I@sj>{x`bA*3_*fLOjt8Zti>xk3q{Q(*5ZyE8B7wIsjzrCT(O9IZ5By( zai@(L#*-w-B&8A?=q?)>PR1dB<8nbxuEq5zGB|>+e^g;@!a?ZtAT->en&ik9C#kKa zUyr*q4j`h20>4Gz6AHYFfbRwb-a+6+3eYPKV{b&@Gy=59Jm~2KC zE>@&XqeqO%bWKb=qg;~dikNs|!dkkZ4`Pc<`XEWyB8Y-=Np}u!Mh|oRI7FL3b4;qV zW2&NldxI0)nszNplky58eno+|5lGpFf3)FRMFHAre}n?xB4BGp9ngN{O$dxRfxvIB zmtvesTt)_n^aexbR0On%Cf&>~W3Y(d-I6(m;(ZLV>d{7wfD&H-yow& zqN4sp_2k_S7l_{U9@$Jg0dyt->UIF2FA4ArK$ht20x_;wq(XVrHwa)w6`1E9lb)2vZmEDAEq3+f@X5@28OT z6iMolNx#)5)2MM6O@T$E@i(F#za5}nfs#7_=w28Rb?8oXUh?kaMv-y-vexi z?6H#(Frr0AJ`6)}T%Ld0$mM<}v zr4p!_auq(h5tXx)kOvFIK;HDLT(XHzqWwQJCOQA0zo8iKAaf%Z>>mS6Zfv(&wD(?v(8W%nh=o3O{ zcZuHn84zq)qQMWr0)#P3%vQG<(qBj%Ut7J}EI9AbCv*s|k|5NqDb-ur~?cA-EDR z<4PF&7$AC@M6(H@t4TBz6N&h%{Ypmt5?Z8?*?%nx@gT4^`JE_y;@{XeC}yfbJ@602 z`8KRa;XO|P&k5ijVEp=)9UTTK<16vPd5lQ7>q)?B%nT&V+)sShg6}ZpAiCTx!T3C4 zM4w4Or0O#{)Mo0!>(>a7YgzIv z@}(OIgloC%FeM(-4>ErFgp z1f;1avu;A{+kgX?%+AzU6iw{x&jS`z0+C)bC2}eFiiAZ9hP)tnXDjF==&Dg@oj_MB z^dzAoGwySN%(%oCDbAxfD+H=nsEyEUGu@j&1L)NrW+z>@z63ZAPC&wuF9R+Tv84M` z1XugvqE`T)q+;7C_FICNh_nQ^yo!8~jkww4Fac;MfN=}}$_X%)0CW@JHGl!sh7t}v z4oDLQ37-QL1G$83b(fx%4P!9jF@0JC-q5DZ+3HvH$?FEd2+`m)l(Vr!{tF2t$10(% z3y|EhgrncUn+r_}44}bY(ys)40C{r>cfEcw`XL=UB2yx<)Ks28_UfO_$>6c7^x3Q#Y${sBE^G17=$oCk!z zILiKlCdd|-NDMeeN{FECkBCh`!3Q?M{w^g&?0+IfNG}1~-X(}>zJzZAim8)g{xj61 zdBS6maekk78Z2Utu;o1j$mboV0QtP>ClDZ?cMSq@c2tV+d2a&=pZ7&K0yIa+JPG0S zH)a>|dGWAQfQi46-?$!=RgvmX65E*HfMuzaK_&Ig5XY+}4$U zRc_08h}_meKy+B+=cL4`+qr-3j%k?1|3QMd|H zBDfqa9xHf>62CwuVpeCy9@EBElM*I=MH_d5l&G=Lwivx_Ire3VsV36CgwnTC9n=V| zYJlT>Xv0w}XzJc1h-~#?SQCh1et4sxJpjgWS5Zb18>^?r*-@Wk8%fwM!ISe9@Ph&T zG~tO4Zh?PAwp?6(p9q-+R}YJk_&H@0tPpdC&Msd@=j)L%sS*N{M!C{gI& zA#6JRmd!X479oY5P(oUJoQTH!23*vt;ZoW^%&B>}*s^&GIKH|XSHg+tsIMVRG_u5W zHy&jeC1MXCmXwhw<)1)kHHmKdm)SBBQ@c&B8-o0)mc+z+m=N;tH>SHo1bi1Qi;BKQ zfTnpjo~o3N*+mPW5=4sv^Rr*51b6)N1`1-SH8xV;?= z0djlo^eb7I(H(*+G#2atD}>Ql@D?r*5o5u`5Cmu}a8rQBf?raA#)6Tdx)yhW#M9z` z0}%X57i2l{FP<((oFz*24#kY2%TwD zF85bNBy0(oXmY8Tn_75`PIi8q2NE1)5_cgjIxu*8z%MIkDq% z2xzSEIbR5TK^U-Te~BA_u_HED)3p5Y!=Tp#l+7DV_`2OnAM?@OUNB3&x`bZcgvIut z#L4&#JSqH5ky!(9d;=7HODKA~gwRytgY=Vm1+T(uTGS766g&t$Eb0e23dRyp7yA{^ zdC^cYW!3cpx;c&Gv>5c&3+U!Fj$>*9(9LOF-JDiHH>YuRb6UY2VBqTJw1VK9(+ZXn zo4PrzfNoCXV&bIhg)dPfr3leBwg(6J=&z98_BF0h)Wu^cfO61PDtySdREO$kJqqaL z9UmbW^@5)h7^wi=qQ=cz)TRuFZ%3>earFiYN|Mo*J)U6sl> zVhv)b{Y3KqT9&*;ZJ9`ZSm_+`03hWpnM_uBi`q89s;#+F$HpF1nNFLl83hC4NzP-6WaaeeA?sBX-*D07*v39; zmibP@VsfS=_4-MmT_R~;2WT*$S(2!=sI*Jq+hK0)Q2FNx_U@gNZwNMepjyb_IM6mLS6;_f*`oVGwSN~iym z8U&cFF&)iuuhep($|+($l0Svq#FL^gb!?tfS>Dwj1l`6KE4Fcm;2MqBMJKkgW4Fsn z7dP`5xETkgtX~DYPx!=%>~R~w`|?{n;r|r6{MS$T|9|x(49lr&sVDsSp|W}b{XbMj zt!j+^zw{#vt0CL}gx_+`kHp}I$~?&Izxfe{Z9=|y!cT8EYWSftDxG+&@Bg7PSzhyp z%4BiPA1afj{h$0u%z1x#q2ER5mGqe25Rd5%F-qatW|(+pWT99*rVpdX^oF$rh#u32 z(PMfeL_!}6qsR0{sD$6LuyE?Eyjn1SZ3&~t^oC8sJHx~1F})EcVMlZrJ*GFpHwxyr z2ZqsOdLu%@uLp(EV|t?>-ARaF;u#V~kLiubgA&dPqsR0{R5ze_Odm#%=?!}nL;$PD z^hWeP)US95YMDB0V0{htXqtW6(tc<1u|0J*GDX&lMPt>BHzTy)k65z<5j_M#HQzRO&~M>BFfC zse#3h{e;R-Eu8AgPmR|^W%;q>vIt&_7EV=lZk!fQHFgg5oOD!)|Bl0yPnG-Qd?q(l zt)Cm(QC0bIs1{CD<;Tx!;Z#*LrbeyD2OiUhQ(gHP#%tjo#UL_JkLitJzeEe$=}jR0 z8CZZmT&J+c2)zJ35WJtx2e1aM?bfKGszr%2`q zYNc-hW5of+kDMe@t5M(4RaKfUhNt{Uv}tTI@}K^(hRV`PEd5_oWQS6Z zq8ljsaYRSs1g8L9#EaP|mD^4~l&On*j5moA9#%=eR^MS!&{n*GvY9GiIv}gS!}y30U+Nt zQ-B^w;+|+3^A)-c?unK_zFnq(e7lV78v^9pWeUi*%M_4rmnkqG+#!R=Lm-WOk4ypi z9+?92Ju(HTWFf<;Zy=3)OH2Ve0uz!z{R1)b?Jou7`&`{JM!wIbK=AF$alyAQ#|7WM z94BAlq7DPm@)a&>UjXtWA(JEszmQ9tAE?EV{|K2p5d>WicjJp#K-Y+#eTksQ1>d$D zzCMsxzRx9IG}gm!4J4NDbKM{l%iES!^O5@rwM!8Gl9D8PRt9c4rzVb}bB@=-I0oa; z>0mNK8#|#UJA-kmOa3?&X5M1olL{BD+e2dTIW{sjoJEQgCvh5!%ni>AFN%d7jR6P` zzYyyM3xZq*tvGTmqC;YJJ(d`VAIkNUNv%b(IWQV2NUXRQMjj0 zT2w#Nq9Unrzi%z*=E3$5RA6B|;X1W@P$7lU1dB4wP8g4nZ}nRv>IeQ%$VXS8q;bkP z6AC2LgBG%E!M`}2WFGoK+rNg#hH*`_qgVWxEs4^9{881beVj|hmsQYTeYy(lP? zktE^!^KDC-neAmNJ~0YCJLkP+UuDdC=O+k9i(WW`5`zbkh|=YqprwBD2IPdGgZG9bhnCx!h(vL@&IY~FI#t7l2EvTWuFc6gp z*ELz=YNM}($nWZ&sQ zc?bE03{?%vL7|_R#ieSVs359Yn)M_y_N)N)2Zu(}FqvtXG|5o&4Qt=@Aps~mLugrQ=;{^93q!Z&)a7tmKh(M1D&Uk1*5A-gxNzl8f zx5WpQt&i)(8q{n|DqDgQqD*gOps6XA`WjUj#X^D63i>S(qm)^pWQ1b_@ZWgUfDQg% zny~#3W-Wc^!BOOA4SstB6AuW7=an-McwL%Yq?7Z7mzA+%9s<8=jyIE31*z^B$X%#g%d7qk^=F+tJmrkpyDom|}e669es;YWP zDqegR;hH)Gu`_}k&0ynNPjv&Rc!0O0Zbenus&X$u>>FXL!q^ezq=3e7yDa-n^Qp`> zwq{D|CSY#nvJK+kR+rd(JVL@9Jcd@WSR#3t&+~(fZTAEav)VLsz^{ZrS z>fJoPCpovRho|mtYh&ZOdw7wr0{=bbE2!eRIlfX}blIM^eIOf2cEB!Pw1~&^eeV_V zx7@zxJAAC8rG+>4Hs`kaHfHB7tewhZcoWav#8awrd^bJKQYzVp&1ZOgRe5Q3Syjiz z`PCg;mlU_{@w)bH=T*Ph$1}Ywx`oX=_1!*}P|p^Zu=s8JSU+C4k5wOMUD_Eom3Omg zXV_)DyMR60viCF_e2T@LV)dt3?J0B=U4IBwVQ3BbJWn(JSi1zO*K8Wm251?xIS@3P z1C12m7p+6hkr3xZ-e`{D`b>}4sI(i^c4MyHSZ+6p?8ZVn&o$;n3r&a6UcGiRc>8K9 zOyoz*Nb{7}c*|CnH%hzllzSV?mNeB?`c2BT9aC>8Yw8U%s;;f}E?rxOWHNnlImqZy z4)X`H*$}$W zgRQKQ4`=q{&vOT_Vyldq`m1aepTgG~Q~JA%MbXA(G3<$EW1P<8dKCRrrP;)MGIJXz0cLmckw;0 ztsO>61i$vIG0u*Zyy&bkHqy0^yZJpE^Q(E{%%7~{Z}@(@al0`wvg_{5j?P|JvoXeQ zq}Y+Z$4EgDR`a7LnBAD51CNd1%ZKLKraavw#WG{%JQIl;mR z^Il_23@D?+ww{nIUJ#3n3B)!!{H7zI&NoKuMn*sW89!~L^<%%q&xh)~I-BFi%y;Be z?Qzd$wr$45SXOIH*4;;ZIjwH)Hd3Oq->5#)=OvyoBOtQY%i|zLG8V4^%Q2Shi^2d z*m+g^TS?iAE^d3cIrmHU;Cj4$0%O?sd2?fNL2hj-577*UXlB`&!`Q54UKiCx1baq-pAkk)R+--bx(6=PJ5NF8B)89 z$@&zPb6D7qb?+Q;ambabXO9Wc`x1;>3H}jr5qC-f%RxE@AsyjfL6yV%1msIxbmv%W`J8fjyQ<^Js+wR(USNgSZ6!)=p z$EUvc59R{QN(lIokni-hV30G&Fw~RzkU1D zAHHUj_Y)RT$QtW&+e+86RV`g^o(EN0F4@kOz&N3Q3#;Qh*>Dt}{Yx`0(%I83r&y;} zk8geyinC*yk)~s8!~ZGGIs150GQWyQcnQpdUEgA4>HJP3C7f5VR*R9N^EUSKHD~gR zc-7}#kCzWi^%lU>^x(gZHkv2`Upo<;0^bP`LbWQ(U<#)h`ArIj5yxy)x& za#v?g)so(vUF@3;g{=PsR%ayZ#V+^F==%;havocd!s?D2>EUkU!dN2{2O8Y7*ovKO zv(e4&YCgjn3t7Yz`T63PoiD9KC%k^ z5aww+npVa~^>TOTf<0SV#5T6Jo4X<5*Yo&WSOjtzadRgd#)lu`Z%+2QJguc{9TzpZy#6izX05w8 z#hoLF+o*c;DOqP{C%eCy4}Z^F$JW-LsPopH@YK0k!Ws5+%K>!DPA|WUW7HmChLQ#v ziFV!rpWrpd_WO1#FECOE8mV@Si2)M)UZM^UI1WR5v@yYsVbqJ^_uJ==9N`6MIz)ES zKr)s(F#L$um|;eKa}D3d2DEgsn4N6pPIkA>r=TuJR={*-`;KJ+aQ&zgorhLO^tT@!*wCuKm+nV=h}P6t zvqHIo#+sGYa*k|HpD~k0_dn0NfM(6+-D(&-br&qOn3vp>_%I7c;aBs@4@!TD)fWam z?ke@d{xDWFU_H|hU)v7J$XLF!$mdFKtt$3{aRRfQ;_+?8UA+Gn{KJ{v9GCl+`!QwV zBeM!GfH9Y5=bhb?;@ZDxqcLt^wu8qPw-zt?@}9&;xvw)P*FAM|sxjMMk?Y>U)XtW3^BtuN@@D21 zH}LJ*j>MFd+=s?9+Z38Qg_rEQXE*D&jWtXtxze3em0N)YVzS#^w0LSKi!5RF^{w3T zDU02XkL#N`bHnB%Ke9@~cu~HROiitr%nLZazhc7DrCU4Y zGF*E8Erwz`DZFGO9mC3{O7vh#P9rW^Ca@5YohKkqp# z-KTI@-h!f@oRrpY*rUdow6gbI9LtaDoT@hdEE;qzCSAs4JNLD}nUu3|#uA#yreXqD z(p|dYV0KX(-_ya*)@`g~qbJ;4^crg{!Q_n3WEI9F9X=n6jBFh~3~nn;zuD`lYAZ;| z@nWXxGx8%hbr{Y_R#!rf6*hf!H$I+)le%|2zjyp2?ot;Ui`CtgSf;r7u8k;CKTOis zl(6uf#BE%m!}2op?O6Zur?D+?)5Zm*H{}@_v8;R>v-6Vmn=nznjx`#ybmM{;c5e&E zXcC=`*+tu}P|ZkLmMQJ5V?Ez?=K6zqKQDT1A3xj7UHnLz zG0ARBvtzRT8gJ(J8RMdjhG?GGIIsEI+NU4dgyHUNvAe)^(kP5(f7URn@Q?0p+q17Y zIoH)$?seT-;dL3)qFE#^drY%q()Mlh(O3EAYc{cM7GAOd-nOCb7Z}Uga$}m#&aUT` zytAvq?QZ1{$yY@ce?TLuLHllxlVaWnud*CG6$(6JRK;mY-rV6WFgUN8Nlxc0)D1N5mQS(E56| z1|uN*qop2|Y}CeJxtX2!9v^X&!uWC2Wt5&i;1uan@_u zYZOJpwP3zmzpL#Y_SJf0F6uUV!A4_roR^o@VZ2(fy{$NR;bOk&njI_(vkZ(nH00&N zT_=V=%WU23Bs;(wjOCa|ugB7aO~F#R=;vNfTi5Ge_Pb`9S|8MT32*K}OZbYrVAGBq zHX=-B$B+dWkn zMfq8mF)^C=y5P^cS@;2rBXclmM`4or&Q|8(!;L(9FQ3JGdpQ>MSlo=oAbggcX+}@@ zm>uB5xXVX9FgKc~u*Oq9EdD!r59{23#qSx`uX~@n*}KG3wSX7#SsN~>+vurin$cLp zt}~84%D-l3HdOL1kITd3Pu|8-x1Dgm-pl{tY4GsY0`D^NpDYY=FkSh4DT~GSKMDyuc}l^iRcTp=oh+^fAGZc9q13wJ)i9`a${I)OAG8fn|dwz6ZBfFjmS{s^qwy!RH`eu_*lZa*VY~|t=4BpF zX5ERY?OygrjTXC)wZNzHg7%y?w~>s!p6D)Cb%5EseV@bF;1t-~8ads+Y#=>q(Jyb% z;dJ>t*8dFqR5!-!7M=ZbO$i2#>q95F0p1s&EwoaE>#->#_T6}V-;K9++IT~%?Vzi3qJzgLdpq9B@fCQza%0E8 zfr9}0_p+mG&=j_$zPfiSR(Uz8m?UCOFu}sueJy4w#ZDK^G|v|2a)*%?i;hwC;v-$?i_p5uit+J{4&{_HbVz=D z9WQA$M#mU8>M^{^)sF4D9(PwOCgkA1E`%38lC>y{U*fI???2X}aeF(ldsxCECSV6a ze8Od{t7KPpa}PVL@hOw|wZ?=PPj9iW)kuwOElA`}BQu(Jw(^U4+;`YEIr{b=S+q<@fjoR!&EeYJbQnV-^|i0qMbw1##@o7NeXBy=NVn-dVoA z%hSVtp`YR>`0Gfr$qFljSvp~sTWV~mevVfEyPs@UxSnntfILNNYh7 zE=I14=Gf($V{gT#t_)ht?TW^*7MswM*w$we?c` z((ENGceS0Zx`z!s$`{u5R_8$dD(3EHUOs`pJlR{-b~g9+r51xv_U5!E&vaK*kqK_> zz1v&5aY50-U+|uu+}75omn7%%HlCbPEZVVtM_n~PR9Ccd(^z6Ir1oD?oysTjlf50CSb*KzeCj&%fLpw~XQXJ~HdYdB)gSOla2fGptLW(1u+r?B6YGWq-t` z82>K&bif&75NbE3cwBBa0JFR%tcXf}(&2G!M)oH z<-+Z^hz?VU?al^$7tJ=GMz{I-#`j9$_p@T~CKYNI{p1X$l=bW*4RcWTK#NhV2j-5y z(++GRT8Zxayq$KwyYP?+#%|1rW#8b{I1DF8S9raR#kswBD%RfC{?KmTbArdQ`r~BB z^Raz7IuG==5&>Ad=1K#);Zj~A?J-^7xvW0;ujxj2|G_LMYsM>S2SX!AyzHH ztB(J61w$)V^Cbp0On;fJo3ad==Wca9myksQajV+N96y1njTe$j>^wyygK`6_QRZ^OI>+c8rx zQNoh}u%-6%Y{fhfpqIaCI3l(JqAPXwVtagiG@|Ra?m2=Mz%&Do8uR$l{UaJMF@65| zA}~;;(khN#arzE_x~8wOM}+bnf-310Z$2KSN4)emReou^)nn6jc%)2!(Mo{O~TGMz3y}&;NdgWhMR1h_s9EAJUW3 z(L&dJ-nKw+2hyde`1HX}5pyAv4A6IankvTIWck7!&w}fn^vuXG<^+`x} z3jCg`@0nYzTS8{HVu>_+bLe)XkZy#hKT{tq#VK%!;y3Gs_I600#SR(&fr^JdGa?5; zpJ|baTdZ3x+gK|KnZ8*ymtXGOG?@;syo$fVNc(0gGSxT9^{DvGB38CP(Y17^pj428 z`19vC-7I-wuvyQZ*^=*au{Esh zEMJt&pVN%U$5b6tPEw#*&&TG;^sfi%MYcQYMYOnVe}8>Ewm|allw!1LR39@V6Mo44 zsQwd?r@3VvRGwB?!Juu_AGTU%P%9J#)jyR_q$`p6%~WPY>xQ6+pQP`{rXRNNqDSa<^(PGrjq%cwf_b zBK-ZQ>3_(ssNH<<8Rm{Cm52U<+l}JQAC|aIMr-rPNo}?ih{AzJ>4-0($tgH~CO&ch z)Mm>Tb_q;VmBY;MnBtqF_{{uBPm*I_q;4#h{9{>=PMIghD$vwzOqV%;1vYa82YnG@-3HH6pFf0e6aVbw=de%{T-j{>*&L>-pC!I?5;fDn>eL zaZx`%H2(IIuxp$m<+BAd>CH=je`=8tD3|aeG}H$Bf^+={`7KIs-b_nBxI}+q zyq!fk&!bx0uDXF3pNZeRnDq-&-))vHA+t!=d6Ay2R)4*l`k6PS-ZMbThkn8B2LD|c z=`(_Th~zWVo7Yw55B%ZuJI*tnn&msZ-zgG$RrzH8-=E)@{N}ZJEBn~l_xVlz%&YI7 zkNaW$&Ntqh>CHQ+HU`EyYC1Vzl)hZr_6(XY7DUR@$bLcXVcrWxcYM$v$|utMdxogt z!{3_+n094eXH+hei~dG(&6|lHjEYk;jB|$!FH%jvl8V;MyMXhxB4R zL`??IFoYkb{C1y|{Ff;HnXSea>!QeX@?hj}NZ<4I&q<)u&C%w1MEC)HEIn@$}92NSXJ%y3OYE;s%xvX%7#X7Q>8Yhs46!B$2H|+q?A<&8L1gL37P5X zS!o&RX%o{C%uUbE&B#osSyh*izs8d=Mu=JMt!b8=7ys^m(4ayoa%Af-Z zU568~wRL5cE9x3*YL^z4XoZ)SBwU;zj?9W$%*ag7NJyNI;*3`n#19@fmz>%U4!6lzE#_qQE)WO2yQmRj={5&?ugo+I(?pR(0L1 zvWeN6M`%zC!_1g5g(l`VW@zwZ=GRc{lp#f)RkgWRpl`5Sm zwa2@1g*JQI!m>+?E-jiP*fPspX1YwxBmEQD8nuG5+M3#$ItYQ-l{F1G7hJha@S0$D za7+=JO!CY|5;N?Q$>A7abP!v%LS+VZ%U4JWeus$sA^N^~+*o+TOmc(ilhV?2(%=X) zGIKK~@4J|Y@@oiaas8aPYpb{SJ*}|`7UuLh2#iN zCW=yq77Wy)@Y8utn=9O?|@7`(!;po?gBR4er@%1iYMh{bQ*;M26fB80CN z9UM&4r!AmHL=)7ORd~v(Y8o1~S>>zCFld#{@nWzx+qyw&B!?}n!Gj*%2)}`HYD=pd z%aoe6qCU_=X`~ZHN8`DOLqx17hxp26)tC{Wa#o_r)@mh}UUKQ2(n~dO71a(ps#mmo z(WS-c-q6RhqI|6suYs0HeUrvL;+HijI6(zL3|+*PA$f@=3`53X?8na>qt0rVV#Gk4 zG*Su)Go!%lS*oWXY}S}!$jsDc;A)`#B2+)UeQ?4 zR@!xtrwQ^3=q;i{cwxyf*K%}9PaP7%qLrPOQ%4PSc`?z@F#9T_qiE=6-c0(yP(dOl z!UjfLzqH` zDb3u>K_GMz0%4L45J(__GjqDr-6uUJ9g^-&4Hvv5TXf)WuS zAS#mr3Ic)>5D^gNt-b5});hgwABL;Rkioo=bVEkl!uLU ztQ7trXBdF;VJYdWm?1H~xPP#Q9g@(I2V`hNpLg_k^_O+Jb7o1@hFPFLeAu@o+yuDvfi%(9 zB0J+Q@wFtS?uC51Q0*%9N|sp6HpIlPKz=Ks)V4Ti>lqC9MzRs&DmJryQkQdB*_Fe@ ziSXCteQOV>89)A@{bZe-ST@c0h+4QG8w@W3$e&S_$Om4#M@c zeX-C-&YaN|w95#|7*09-h$E*Sb@a69#~eFj=5fcT(wS^7UpS#y-_X+9CZ95!Gq-Er ziSrk9_w+98>mL|AY0=^(C%ZmGf2AE+E7}GmFd_p=ZPF{}UWvabi?wx)m!?A@X5iA) zD8+ZlGAh>^QI-!we^MAX^O=ClS78~lXon-6nrb_$i2-+6QIEz)e zPjSKcd2atD=LfsH7D|fbA|8sA?JVT_FS3iq^mX)hw8;9}IZ3L@YCX5bHNcS#%?~7U zWJ?L`ijf{vd4QhP`1;2cRy2uE(3!p8+&!aX1i zgz^p3_=6@LP!X)Qmd}XJz?ubSivswO!^y;NEwVPg&!N zczCdAB=Jth$%nJuYj@+SiT5(DhIn7&#u863u9o;<<0ccIgWLZjf<=5o4N_9j;OU@- z1$n|&r3!=>D3vF?O{oGQ-)_vdD#6e9?$amzxa2zOB` zPncJ#K-j5Np70Aw6$md>Do=Q=QU$_WmC6(TNT~whBTD7h0=}zMVJD2jJ}9L_gp-uY z6CR^ffsn%}72$F%IEY8;SmX%J@r`u+x7G2DbiA3~NYmd}(;I2JS5JD=JLrN*j#pR3lSefPqFwmb(A0MrM88yc?~y`bIWU(Fdxi$ybE0fmJ<$uc(=d z{-uhVeMQZt!l7M3P~otknWOZ8I-r?OWg8;JQ7UVWPPI|;n%mQBu8Gavqs=w>%{8&P zGB^3nd2V{yYc9v;ILyO>92Idk2!(oD900^LG%UyxuEeQfK?C7VnrpIzyDF6-G?!;- z6a!7v(+7Xnm}?+>N2x3!(~uZJxWC3hmTQIb-_>-&QOVm4Hf6u}+xKO7<%WZ&vHtJZoI$B(DAVc? zJ;s?cBDnDSWgK%lEFwQa&AXFo-n}edQ@*_0y>uK(3@MAv5`|bMSb9fNdv|#4CDdG* zRCDDgsrluknqT&6J_wipMqS@J5|Ox>Mr14DPD-`2yDYcDDHG}7DVFTt=^6~F(U>b^ zbk3x92DEA91sWAXQa)F-DEw?`^x{KW!g1e1aV;rZUXMBEqw3*(REhmOA>JAdrvo9E zL6IWl69x&34;6)PdWElHLAurrLW$WkUG;p-}u8I9Ge7Nt0VaDq}9LhgM;ijaFB zQU5$DyrLEJgyGjGhp&X0%ii3ky~z+>uC*Enf2vfT&6%efTqE|Ey2IZo4`0KABH=Ac zWqd_NCvJbK=q9aIPsrM$o6sz(Hx&+15eF>%avb7Kbyyk+84aNr@pC3d$WaW%h|LIZ zlb2w`NZ*J;f)OKWMEJGb;Y(&7AsZGWMiOtM)1g4Pvr;KSni|%0YVGeDgvEGmu!T0T z+OVL->IfYdIO zX?5u5(Ah4J(S$GAf!@394jhEPPN^ghZU8BfL?}PvU~)XTS4}Gr(vGMRSH=E5iBS3w zr3l@w2-u+x_3i?;;8eS|1Kduj=A8gPt5lxwTS_$((yWAym~T{$MzNNJ+?C#i z80%f7mZu5VQv(`lCRGg!yg{HMwmK}x5N@Q3nh2>-qzFy7m+q+hG&QnFI7W4sd_~^u zsl~YNhcX;<;xohN4do>qg2o+(e^=n#MJ6+n_%h?Fh`(%HHSrb3)ev84+*snltz5fe zN3B`l5bgLT>dBfycr2<(Y-9kbDIr{b4F%7bqTd1j$*4aAzGqY(x*N1PZ{Pj_t`d(> zkzBkV%W>)~l;JoKUuB#(4y<>ss?HOhr&N~kLZ$MAS16SwWP9SvxS6%Mww{18G?RFL zf2iH|UDGVw(dot5F91DiH8n+DHAMd=fv)sx>`wHglj z^>PXI{M$Guqn*_?PLHIROO}n=$sHWHM;Xb3LqW=g4B?68ay&TGKpxM}ic6 zgk$$AljFg3kRnG|=8;Q0kMzoKiiWSUo~>B++%ArsX%??o#sgX|7hi-OX7P$;JlI$* zDG@#}-su(htyuOK9F&>2qM~`{-Hxcf#y-E@OTB#<& zmy}8q{#mJ}f9>FObk1;Cv&Akyap zTG*r+HqV$8;iei8O@tOnX@(0YsCa^5!|5rMv&R13hOD?lHSKIBtWhdE3GfJ`YLImD z8gI=D0hv_gT~fl$k!R&9hww0^nmYj(8g}7w^~nF)N#!c zHY?Rk*sWBSaFJ5YgbWNZf^d?KYcoe|v<^=*hsDOCnPYM71T~e=h9~RJ*Mcx>K(k`%2*6{E`XOe`{W^P6(~<8M`zf$WSA!HM!8CP4if*`1 z12^>`;M+#M2gp`N`?bt%T=ChKuH5A@2>$~2iKru3BCDf)89ca zEJ^3t8`>+TGyPttrstV{%S^u?A@Nh4fO$?DOTT%h-$!(6{WtskB%1rKHdh~y9=hc) z^iuXI=Pl#GMK*wh^g<*@KhXAwjlW-FarN+2f3D?7yAo{P9+6{X*x56+&w2`Iu(k&v7Jyc?qWuOC5Ki{a}M^fpp`>yS*DdCZ=1_j zhWyEzGh6AIta_%Ed*dHzf^6ji^PC1vE1_*0TYS&7(lhlssI9(dTIm@}qpg0*Xnhw^ zFjKdUt#N0uV>YK-{dDBjItIH2uJ{t_%a`$hAwDeVB;+15lH);l4W~dSA+u>D$AdjI z19cLnvFnTEcyOT(NGBl&CX(X;heqrpWUxkZJg~{vNyzbvEf{AAR28lv8kQ5%zy&DAyzh~<K|U(rjO^uw^| zxyqKUk4vw;G>{q}11#H1@Z!oYn;L(HW|&T8{bw5Gf+rLQduzQCXuJm(SI6jJH_iq8 zj!_(cdQ5cvCwDI#QF=6C_rmMcFX_c;hHzWGY|0bzic0S06OPoFZz9}PsSK|gIFscf zn(!>W_Ra9B;ceYQWjGdl=~ZopaJ*7YybOLssXXCC4Ui1s7nI8L3i&#tIMk0Rl_4C! z?LgVt6P~VAhVXo)@`M&P8HP>5)y#a&5gEdMrJ4xOQz}Eq`#0iMPGa8M5Q?MEnI{xs zN~cPOkW*fy2v0RBLS_MxBII0_nBYqKOReZ#cro6N(csDwCfp2pR%4|3uU_JBW{fZj zO4JjU-H~A$ zV9pe~xI^F?AQXo>;g$(gs7S>V=O&oo*Qn!XJq381&evIVDd(EpE2T@HQ~%8(q=#fd zBDB0bi*xKI_1`Qyi}OR&6Ve@`i(zC5eOA0T45Jq9P0=^KNYl-zqHk1@Mwtag-vaMK zi54tU3v#{%-uq#!^%YIG^|t}0RZ+dKsJ@Z|8njk}U#lTr>j+3+skI6Wf`u9c1t#qd zoqYvfo?K)UllC~hEl}XCo*x_aJHYShC41plfZwWd=E=L3J0iAhUKKbhkLm?Xfy?Z3 zxPXz0oH1NAg^FKp2*nw*k>;fWlcUX;LM3N$S(BVc&pe^dYT{~SrZ>@a3#caEKKx`E z+fr&1Bhl<^irdL3zgj0~j@j&Doq9Px@N>SMIX3sCdddsoso3b-g-V9IdOB5>g1C{} zpw`xUH?u&<%LU1agk=Ne>-Gj}C9ZtFi86fmmiSuZs)%neuA2DD{hY;8w)1YZsP)~TSQjLV?E0rgt2~zRnEy&S=FRG#f6@A&LxT05K@2M)H&0l6z zyw=UAb+(FR3E8GRc}{q_NfBDta&g@oL3%T-m6D%Sj$ZQnvC&IzbI%8)M}=Z@rrWz2 zz8ZF0tyaHQt82vm-sjb7^J}%4yhAHt;Wtr6K?r=EaaF`O7*|bvqj5FFHyJmU_&dhc z65ndvWa58JcDBhQ1h)*UWbmD+C{ayl_2g;8kFS?wy%`5M;bB2(Cg7Py5nirTnve}j z#dven{i>STddMUv)Q?hbNG<~0e}7ugdOqN@Mtv47&s7V&!S|bMV9QTybIpXqRd)m7 z%}O;BngtDn$EXF(^wfPyH4vIxyzLzAq(Vua?A;NnC`;Y#Mt!`0^J6{#=IP(5+PnOP zfM!9S7SMhPsd#f#&}WL`BJ3LdE~^RsZM8Cf^BMN`V(o3_EuOOO;X6kC z42pKal#*Lfg!>q^0MG``%M*Tct$uT@j8NJyA^w-nAqUWn6zvN&OUnBCd< zsIbfFKtK&w@#RO=|M)p)vBt1(_HIM6Y}S;~S=ypC~I#OoSYO}w6QHN+blHsG+7pS5}HutzuzHV<$`?@pKy-*c36S57NXN12qDMB_YJ|Hyz zHnT;RTLPS@iVD=d#wcHrmuMt5qStViVaNinV_X&S2F6trZ)98z@utR&C9X2AmUs)} zCKDes!r3I(9c$53l7aYi)rputnzVD$xMZ2n^!X&`Y8bx@7QmHbRMR0wb+Mu!sEt;(T zXkznIwU#&2j)Bp~+la*5=BbQ|q}XeAS$fYdvVTIw716?eRg@)Ms#J+^9qmV!aC4rIL9P<3XOaJo|7C9MBJ>D0^U>tD3bsW$<+ z;K(fwntp`Z=>-MdQda9INYAudDZmqqY5?ppiay{6&=VdnOlXduOHdEh#uPjWS%1iBB-DinwH4HSsr$tEr@aE@TpR4F#N9t|Eoc15$HBn6vQ( zS}R3(kx_(~E9LD-Zo#QLP=+2Le#N+|c+XhxhpO7U6z8d@R3t_CJEc5>*5cHgC_{sY z|886r@rTA$6CbsXGgs<*Lqh%h!i|I>p_)ygM&gu^-;pB};UOxOi96{X*tUy`6!=v< zG%;apQ;^P}3_U=6f^k*E&Bj#|^YhQ42Z-BDZY=RHjH``XPdg|po+7*s)#NRU>j9}r zsJJ55>eO1PMSy1*MfgLb2=7;_7}wo|Q{PgNM&BZDWu-+|YpsG`%UfI4K>Bf%;lL0- zZCn*GKkhGb)xjT=k+2jgmqUp8(s@uGE|M`SCsD(;(r22)r@knmX4lg-L; zfK-*Re_^dZ!2${YzXQH+)W%S>z3NU8&NYf~fl~Ex!=HrCnJQB9jr5j58hNzVYV>P) zp}<;GwN}Be<%Pm>NS}r>3kNMr#%PT3+|q)(^B+itzVF5x%UHw<8H~H)c3X@e}a|##Iq- zWL!1zCdSnek1}p7@utSr5^rtXWa9OEhn)R$F={#Bg+^Tl_+6tO0({n}b#Q}jW0cZj7vP{#rvaX0 z)LVf6GHN4ueS4Ims|46(R5#%HMqLDWt5J6WK4R1_0Xet{Y4;a!<)h}((dg^u)@SEq z`}-WEU(i~)VI$q?5h&%h$}WJr88sE~Xrtx;b{X|Wz;lhd5%4=k{Q~e&quu~~)2PuK zIJ-7SDRxZ+oMaTgSmp$y76C3X>I%TG8ufj^9~kvpz~_wmkWiyEw-ewlMjZh-)u;}@ zIYylhc&1U`0KD3$9|7KHlntLlzs9L&RV4Ks;7dlm0?3IbG4xMRWpggBn^WjV7DG>C ze!qfJ?!$iIO?huyz@)=0CQo>uv5a|uc`PD1?U_F!^8YP%F~7Y2k^XuM{-WO!=5vC- z&Q9{z*~=3Ab+-4A#{a2y#UntTNN0b})b!fO^t!vQGL8N!ybV z4kpz6U}-|l50=J_kJpq7?$?ll+BAjEB3!6chH$x3vn~Ls)TzYto0qOmAVD+1=NyB~FFRFH>P|s}d;BeKQB^;|%fiR_1mhdX23WWBFnk?aSCgs|*zh8!Z!?&VQ{yr2U zZ)jJ%Fnb%P_~n2J?~bvyeNCaKB?TMGw6uV_yRvyyc&&esW^HR*%6}B)GJGQ zaIvaxCM+}Q6>md9WiM+z&!jtXs!Y#|o*oLlX+}N2lm~sorB8XCN%jd~zud3aY%BuuR#L6_u^gdY;{EZ~g5m+Iti@Fom3^r7n#^X0XcW`AB#W`g!nKvNF}2`*)FD4GvMWx?VvG$1 zrLDx~K71~e5RodB_XbHVDjsc`M-ty@Tn(TWtTzLUv_?2vsca7*H6^UJv?!;wQYQd* zC{^$kd2zA|(!W9(Zdiyr@cfi;H8`!sDxeooN>2!1R4Vl{;NO(WehA2?BBkQiXou}3 z^mi3%J*|pzgl{TUpl&{eDWOBiHsq!^p*81ur56?rpbWi2e1mabG_At9$4zD=@q5PA zz+^30?xUc*p^eIs7ixGLg}jjJXeXIu@8u>$8t zp_IN5?yZ#97g|M887IPhw3gQwifp4Isht7G8D*w9REtx5q%`yZ@eG_3&Kq4m^EYTR zBZ*%Fm-ti)D=vhPxP@}*z##Ts!Dhh_Ykzq2lOOe`L#T!^C2}p zAQwh2F&~f%qnEf59T2XXm=DbfS3}%ta$|}4)R@TC63;QY$;7+ik(K1=M}_$)CHe_B z)MsUyHvy!o1b?+a!FpP&(XZuAqdaQySuJ@6#jjP;(FN#1t&!SRlV8i5Gnb>*I$EpX z*YZY`wMJ;ItY6E^nEVx_@u($ZG?I9daaF_z8dpuc#yDtMn`Lj$?cQP@bdyy%%CT?#)gZ~6&;y*&xOM14g29Nyg zrH}qJ5+0&dmawQ)BjG}&vV`{hS>r`G`#qB){EJeJe*>hU38P4(_|Tb5S;FP2C`EXo zQYGJl5-oU0rBZ}%D^>E1@-o6R@bwq9R)NjEZWI-b)Z2zBLhGVC^8U$?jas6oefMj6f};@yp_BHqKe zYGOXs6wal1>{I`~sF#pBe32Zb57k;;KHUwczM>-DQgRedb*e~)aIR7*!gH0%#5*w^ zr@o*fUjCbeQm?*ZuM!=z0Kdt?4m>493Sk&5`C z3wis+SLEfm9bn`lwL3$&M5!X-=}Kh?FIB2YSg%H9<^j?Y`2;XwTGLpDkItTCR6J&U zJF~u>1>erBZ)bsa-lL{x3Aa?!3xxYCl_fktsRF&uj>?22{DMglUZYf&ke{28t3i6k zKBsto-Q+Y7KB-im(6&MigzUJa07A2~ z!MD@9_+TKLonBU@$W`jOdd8>Ks{eQg%!-T5g#Y=GAlYaW(lN5k6WZ8%OM~y(de$;; z)cfA>j9!6|`X0(~DIk6TPunK0vaI-Zec(C&0^oZ_ZMK1PK@p{l+AV-9d0J1LXjdg-QG0=bw8jM6$#f>-6da<7lu@1BVJE`_p5X33BRaR znnQ4ada|DWHoGeZD;*L3JTURg))zu{AQU66)&3O;J3xhE#5b83;T=ll2pMi+O=5FJ zk&rG4#fYbN)%lmV zhfwix5Nb!XO#6kJ1B$K}DxL$@K;-Wz!<9hEG!hWR+gx4#T zC;Y2Yg~QO$i6~{P;_b1y4YgK|(9BHuAy&U$n)OaoRn7b*WU5NoMEi;|RCJaqDiKnl zxKU5-tq#S#tv3o6RuO=$Hl z^nZ}^c05u1HttKva}Jj*={vUwD_3@w7cj3(4BV&^UDp6UV$?W1$#%Ow(UyA} zy?NU@$cL7;Kq$)h7Zcv3RPJ%Wr<6(&@;8md2*RZrne~KMD3v2*d`gRij8D;Z1-wje z3w0N~OK%HBhrg|kuP0WRzM+7CDIKtm5@>)=4$a3Tg2_er z$LsUVvwWjw(I~TE7A^R>PKsGHW?xt$4~MhmcC}#Ei-6l8sV003fb(Q3=1X`_1NL31 zc4qGY+*RjEmQ!av%?;V30DoWKicAy!NU6*i_>E4Jip(#A8X%cV0k_r+l6eDt=Jb?`mHPZ+HNE*r z3_XWU_ExlD9o5~;;WB?Vv$^##Go&IXF+(+BpGL1=uEAF#yjQ6L;SZH65x%5Uf$(jm zN`z~5APR(E)Lc;_Iu!I1ww8BL@GYcT=pkxAgAIYzd#6VsLo4Kv1OPPGtBFnbUa1OFq{^01L9uj zzDHf&`3@+=?fxQK z{dJymtqvEw5#pDWfcvD<4U(s2RItQVCsfK)tM%pNO(KG|P@74)i&wg+m5`Ge* z1nIJUo?pxJKNrFswXF5%?ud^^SefIZJe*coMGmltDEG^D!{)Q#WY{g ztleoXo{DH=Ey zm+3aWfw0W+ToTUJol*n$DRnv)4IGQV=}xJEW6`Q((Ll&4Bo`fo&zclxlVz(0?s>RS zC)}~)h#g<$hF7u`M{GSEi+Tobt$Mkhj{l=k?*Lw=d8YnrfV{F0^?rEQ)1?exkz(K; ztj?;Zv$({H6rI(hZm6ecHrG5}&pr4NM)}UFkB9el=*>FXn?_!7&ohef>q?~TH?U6-reMTvT`zciixXmP`S^?iPYNP$#+2amSsilBF zHYzvSooz-bcC`UsWYpV$=N+iJt^lOB67Gz|`yAbGWv^K;BAr(I%bG3ftpe-4V$=h> zx*GTIPOA!pZ!480JZcY>BJ5QvOSs-xl_Km^D*HRY_l+XldQYuLc!5&coiLz#>cAEV z2bIba{!FO?;cH4|36I@NTO`aXmAwh@2S#1Dx2rIJAFW9Erc&AdT6gxY@hWw|LpG5n;nU%&M7ZG z{So5j_Zm0pr@SG{X5px-)H~Tf0Pdw`W%t79ap*+-yBNJ|)rZ-QkuK(F+Q>3(T!Zu> z6(0e#vCcA++@_f%>kogHX=7JS8`-#L==*|tCc`mXfaxvQSf>O2#;AV*TK3G)m7D0~ z&v5R3UR|2uRODn6_20$hdRix0hLcRwZ;;{S;>?nY4`Fgm!!XJAn{Wf2Q5jCMKtnt; z5hHb&j#!E#b(~JJ4E@GwBrR6*Us=>I*VrwKN&hQgzKRuzIZXomgQYz9gC@8XAu~}V z#{;@arYK=qqyAS1ak$%bxEnd#<8{;;IchdUjT|C#ej_tmtGcyuJ-Cz6FT2WiOoWRy zoi)mJ>;q+bO5&?t`JVvVCT zUlWJ$ZJpFj9Gtm2I8FZGH2H($T~Q>s=Itccyj{^XWlmk2RCDbosrhY9>3EmkLO@z-DRCs9(P1lb@3TmUt;E%n8y|U3z#qwy zzb=;i!7aUw?KEd#!ut#C&1PzPBYRVpJN@1?vNs={0@=Z`6zF&G6J|xf&q;~W?{mdO zSvFjp#D{1CDsjeMp{b?h&)AYbV|ARL)0Mfz=~*_;@yx>IZ(ZF%q_~5q)$KwmUW>z* zZ~?=s7TF%NE3awdEHDr88bYMl+@9K8fvX{Nsz@ep)-7 zUy9EDN;{qRJDraYVKV1MoP#Zp^I&q`h*Zlc|OF3dM1R3{Eqn@|+@N{-m8(n?Jd&D|0dJq^o5Fq{UK8CI(kV` zaqcqO<)$rTc9N!{ddBR|IuiACw`Hb!#=vjX$Mt?J)bo<=X5CBF^RoC6qmF}iM z8%_28l2CuPcf+9m6GYqHNzrz<7i|e~dPh>tJ3dLxTas$t;??8|{n7cH0dTO+gF*(d z(WuV@ZmAoU0@v}M=_Nve(844|_>6{0fdO!kj&^|oz_}%nGYe-q>awW#LtEfD+MKGm zf+So6-L5;FX3nY0bZKa2-eR(n3m(oXP9&lHO;6Ir6P?wqZfNGzD7$!~XROaj*Hd)E zIhtCMF0tqtE;k8}>u~68?&mr8AJn;@zYIe^N{2rG7>1mKD~WlvH_`LsF@hXPk-8hy zJ393F<1w49&t8(}ezHd+E&X*s`c>|JP{C!I9@0z?`|722npfGDG17i|Nc*`UT`3nN zY_rPl6Em#Jwpk3TkDiu(q!oUN&EtEzi7Yf?Sz_SGBw@!GB|`B|89OQzZE>va-1YA!UL5`6TYrg;Z4AI zl}ZzCcChLq+*zqK;jfe`5Wb*Pig5o!R2SiaN~H<=lqxI&{JK$uH!77PTnDa^ZWC51 zl_I1AMan$q(3a>vdnGGxGkVdXy~+0jKCTwzp9M7C-eUZ}V-xxK|H!eaLzEnDb895= zk;YXKPc^QZc$#rF#50T=OZ=VBx>!q^zqBKVdJ=zxr=gno?_9vEj3T^RsXQUuO9=NS zNK;|LdsVkU|$`SD? zOoRW9isC{-t0(U=e|)`MLOuU2xs``GO-p9DQr>ENcj=`#C~MJw|Kt24U5&*@yHYkt zI~?oa=THh&4^`AJ6t({br-bU5=_=01s;;vEX@f|)bN2T)zU^-(+3vqV@vvWWZBkAD z4T}5xny)9-^xvTPtzYw%q?-O46bUt7OseU>L6K1N`J|fuSCJ>wd^V}(vrBC}97?G9 zWKzv1KS|9el4?HT)m$>wwS5X=QKERw(s(pRWIP@tG9Hl;$(Z~Au^Ev(SnoL3pxm$^ zWb8(A@#u}nxTju()dM<%8sj$0yUB5jg^JrN6s=vRhBbZ}kcNp=+$^Cg8Fi8x)#Mx1 zwI1sghA;2@0zC1A~J4Z zM1BGjS0|acI?2S|Dz&7nrvHWY7oz4HSbaqOy-Rs;G$xchxK4QD zQQED0m-65ikRnHTSGgPyeqwTj&zH;b;BAv5yGH^xmaBXg4{+vIz3u07_V&?pDv2)x6uAKdiaY6cDp;( zJ>mOGl?ca9S1H2DN|gw0cnTbzQ92eSe-fAc5i7*kA91w5FqW9uAJEmh#5vun)3xF-Qmd;9j2>3G{i!31%tPC~bLLHtg zVV_b3j+pf(OUPb{E<&>tON+B9{M!VbR49v+opk7gI#(`4nIOV>^EsUn8jK9LvaVgH zD@)-{K&~7j#r0y9t^)-w4P_4Sb~*N|Lj4-> zJPotLMLFl0f1(sAN7!F_hPovyU!Rm9uU~3)9AeFN>)f%tJHuS`3!{!kS{l&wl&;1g zwCP}^e-8MJQA|(UYT`+M0QkHHXqwS@z7ARXr+_=__@w>8NOR7w(JY;Q7jQitj5OVR zyI#GfR|9f;Dc$A-e?qF_B_SbBq#pAXg&}pVfFwQ_*8O?rAD|+vW|2 zjU^RWV0$y<2AY(xyj)= zDVNyHNM+age!w;Q0oTY;vw&-)XD#6LZUC?MrA0r>d)N7#D<7S!6SDAY@T<8YO*fP! zX1d`&k(ik>{+~;^>INO>3_JL#^DDP4ztpW!=1IWqbmy9B1pIa7BAS~4UV+p_VvCTZhw zO~s8zSd5~g<^o4pY?uT z*`%fixdME$dHxVW_E8Pp)F_y|i<+KenBApRW(A_ql|Bp6a=u1Q`UH${ zqmHzfqZ3B@%B1nS(i^X5(2c)nck+9|X1ZT)Xs{cPXm?WofX(ac;N%$T-&5N&y|CGQ zTyYuT_(_z0Imz}fd$x0WAEs7iXyD^Yr8r9iH8hihRi~&&y@in;y+`A?iE&(ZCznBc zx#pfGLgpa3R3h9+jcTHA&(e`^VxnQ3NJS=^v()q^e*%2Ud&j(CET4bzCqR?G(0TWc z>6yklx0K8MDW>xk8brmr07vVEM3EW($ubH%=o58QUG#U*MSA%H^wQ9-Uqxn%Yjh`7^shjQOw?<2Q(g40K#IOgi?-o$C}GBZ9pS@3kr{U~`pQL0 zsHNyDqe7_75Exv3gz5psy^c_E3z&%C(SgVjzOPh@uusP($FbQ`ulsUzo~7CxJ$0IT zD#y!@P4x03=U;w!nSs|;pH~Y~mjl|BXNnfwq{Ek@1*fP5DO&K7Q5?S0)F>~no`8MYxw{lr$H(4((u?a6l=~^ij}ho~nNz zeP_qzDQ|zi*Tl_I=OZ}{c?8-95%S1G-#lRp!X9ToMw=VSNQD)!k%;osi`+VExg z9>pqkLuP&S^+oM-rV4$Xu6@q1&l~Crm^loPDNHt}bi-(ML&kSQhHe;#-b=-J3~}hq z4gdZ7KJ4?e+UGQf{w?iunteW8`ocZkn2u8R0Pc_cGLypHDdQPHKQ9As6@Er7&P$ z$_7~)@VrsJ0mxpa?i?uEUu!i}(aT2pikeM@Lo?8m6LbX9gbhliRsde1RGRQwrBZ}9 zE0rd^O{o;2jd_{_e43h`CbR)Y`m+vH!O@$k!xxPt9%Eb;@z%yw6K`u=4e@ryjV0dR zxLV>}jhjq751|sy_+e(MLo|3lRFoM{I5^9R$SvWM0BfNt;mtQ+QI3ktfP~*#_z(>* z(AElUtwmeINSX0Vuxr{}Yvn%!$lB7A9dOg|V3a}~12{!>BWg`IEh?c6*|ia}S-F-Y zT&Wh+6S7&6A~Xx?32BL_C#+GU>Iu!xdcqEs0{AG?GrsA0n*J;8U}l{Lr(}DSvZZ(c z(EOPpJYD;oC%jjw4B=0d$`ihzRECfqlCkkUlkwevHQMjY;MbJO5PnCgG~p_xGK6E)pJ{r1jZqA%!?ic*0^oe3z5@7$QH%<6 zUYdO_>10m-4$$1-Z3_EfGW#qyyUt#AE6B3MlDa5a-dmg8Lk21VQA%4-gD&jvHS55qiaW%wm7&n%9t#P%)e>ZM2@s~QCeX?U& zlEmDN^wmiT=c$2!ciT-O-H#8A;DAi2=(H)|mkTERkea|%eo@w?y zgZ`Um7;Mj?gA&Zkm+|0GHNHf6KBiP8$AfR^JS!1)VtgVw9@wCj2svnxoSEeijr)vx zKgY0t%P0o)M0KL(y_1Y$#NA}n`Y^jn&CfB3>}?di|9hjhX>;~{4y9z;`vIRd>hFL| zt|G-@>(PMDF}80oiX&O0F`lElE;fpTdlbT7)K~J~ZtAQI{Wog16PDyp|D9_TgYZ;! zR>t>V#`j;w_g{wo`>FabL;szi&dT`y%g}!o_8H%Q89M7w^-PAI*-kx^p_5WZ#htYp zPI^+EmHHt}epO9RoePs$%7xVjpf=VKOzj0@j#8si>!ame)PfX^IaMid@5dRyVUz7P zA%{&U!fG9^27d$_{1I&MN3g*k!3K`tY#pu!!i7pDj9>#t&}KjbN3f{QYTyi5WfTYX zyXwCN4(itGtOgD$bBK5%KB)BH20Ey-2zOR0Pna-InA&9vM@VnWS7Q^trc-AY;ba|) zJU0Ry6VXLz6Ks}0JhS}anZ@DRLqjr8XgN#g+!HD_i;#0qj3Bg}HOn8dSsbw@9iCZ) zmd5h_AkOj!aTW*BMhsVMHf|iTujx{qJ_RH73mvf%SE%=tN^>l}pktBty`1*Foc6t( z)`(aCm1YBSfs+j$;crcfF742HQDSC$(Z~G@$U5q*BK>!S25ymoYf)PC{a5t;S7el0NEYeRMe2qkJ!A1#q-QK+ z6zQ3)I;%)0S;i>RS(Y)1bXL21#=EklXP5wFQqVL1QfKAqnS?35Se=!pXRb4fp4mtP zBu~$9(n^c;%p)enFfz~NUxDAuGkJQZY#Lq&Cw*U?m8WNFHH`8DfZs5R&N@+@<=u4V zB>^}6@&+20W?CW?$L2w`puo+`UD{kB9-=QH4*#a{=-no}0;kIM%6{|BY@WTAy)v6; z7ZV<@{w8$K(XlHLGKa`U$#1UYH>W#WYYveV=!+KxZQ5Luue-_D-Q;%#weV7S4I3~tRZ{drRg`-luv!(Rb_P7b zs1o2JqblisM0KZW(V1Gyn=b5{)ynv_y#3}IXyXHID^Iwdwv{EUQYuflw^CU`HY?7h zz2-?T%iM>Sm#Crw6<94Ve>{d-r)aH4zb!AGS3>%JlwlYWzc$y6LsHnV-ecNYp71(U zlT7$?Kx#^O;J{auqoN4^N2{;V7k2gqx30U4+{xl_I`m$_W_VV^EGpxdY0$e|Fl;F<(M?At!>gUb^wzF?V7x2WqWsy;?)bS~T)Fv9uDlhzJF>t3X?<&IobD%4 z{to4fDBW568@KP{`eQX6x_DPt{s85pD4#(Ymw$GD$9(nxSI$KFkI8XKcf9pMt~?Co z(I~%yGF~e#U;G&P!;!5oLAfiE?Ie_O{hwC;vGtvX7f}8YQ9${8p#733ShccJV?IZ#3VbKuWKxdP>7738l1{~eUKp}f0- z{3`H|qI?47(-q`@5B^P*@1Xpkg8VugI1g`*vKr+MDC7R$9sDGe2cfL1AU_TK2`C#; zwpNgz2Yw04r6|v+Ab%eCucBOu^4bdWH-rBH${(X#T|s^g_~%f*i1JSr~h z>rviZLH;)I_o4hL%7-h+e+?HO52565lCOt#@9E8*N8dsj_wT=3pY5)*@z8c?N4&jH zE58vgq)I3sM?cuFxc*NofBu$E!^J3XMfn?)as97?e*@(v*jG%fu)mlJ{#cZAQGTg{ z{7UfGqP!m^e-b-x&*kel<`tAx*jMd_@-^^(K^d>#2D$4{ejDX?P{!qJKpcbeT%%+KZ_RdSSkj_(U|jwQoL{n= zJHwy(;7@7&U@yn_?&C`Sh7y11i9Z;`U!!;udR{~sZ;wAob>JTE4E3-bek(t}lAphG z%y#1X_}e4;!-cqRU_bc9_59X)e%(EP<%2)`!5)&Z#$MDxn_=WwI^z-+IsGsfe z*MIqQM{JMnS51hw?2c>E{zR1j)9o*c^_RchQv%OlaN=+K#I5FUtfa=fGmIm~U;KAd z=qLWfN;~S&FLC|!+cOj0nKq0!{lan1fsg<8LR=qz)$+vuroKg}M|`Ev&Rx_f?u zKff8Dzcf%h#MS)Wfv$WU*Qt-;_%|s3@7CXTsB3ZBXI*(N%BxTwi!y^UZr|iO#}tlq zB|lxuPoDCV&-~akzcq#*`sQ~Z@LQ$g`e#mY48NQru8&`oLVf&NfJ*uya*y+wv`j_9c5VxOS#k6CE@%wk%`wa9> zLAevku_)vAoPC62o5g`w!{AJ!bD$aeNiZc>nlWe}2fFAGhZRuH*8Q zqaP^8&*XESQBS-+ztWdq#k(lwB$lG=MA?HfUY}pNdsxPuIRRxe%A-&ok1}4LpM$B! z!%_TDNe$k{*$(`U-osN))AD*(@&j5ayhFtLH8|!cQyy<{^1ntIw zd(X!4`6%Q4TLiz2YH?@iC)zbGiq|oz&6S-__GShdTU*EZ18*DnpaVqTk^6rC*#y4s|{9#JEI#znfFp4NVmZtGdF zprcz(ws*7+&MCF@wRF$v2(?6qy@Rcyz>d4RJ9~JprM0!M<0Kx<@9OR#j;!N>_=<3T zk67XqqZ!ZHpO)BGDh!kVdUIlUogB#v#CGmT|Aw;VuU+IIyivjW+YPUiqafH0L``&L zf7US=p>XpX-gsgCy5V(l6a;l3CZj>t<4tQGhi{&QHv(CI@rXJ(3WCKWq9V8+W!Ofj ziuJ4A>EJLaLlM@mS-&niQ-ixNg;A0nH@at6Hs3Ndepxj^=sHMRG=TLaC~a4 z{+dyB(U~>4OE&hm5JbUxWKS1R-u}C<)kUY?ea%TgjXRLPY@fsz1%&l!X4UI;(W$D} zqaw)RE{;12f_VEE%8By&?H|@fqU|5L8oN@lJM`NBy71-o&mJ}eh zIDVvV5D-dYn8m=fJ5}ZC$L)>Rza>_`3iYc#Vg2vL>erxt4eH0+iyz-B^~2bs{bNyo zEb6ax-H39Gh-v(?Uq2D9y#K35yZ)~p?JCCG<1x#JV)fUc{uW0^qQxP5^S)cow@{=PZt8u?FlwU94K4d7re!%_3P=2KB7wXEX2#*Lh z2)G|8KRF`UP}ljP{6+!S@1gw00oUcB{3Zd{+oAlZfa~Z`e$#;K<50dT;JP=Im+0bp zR(4`Uuvx%$s*D!zZys>{8Om=Fa9tV7Zy9jC7|L%Ia2*)Rj|nutmz@|PyCmlAGFt4} zy8KY_h#)qpaArgh?&kg1h#Y=Z2ehv>d4nDv>kY~d@vrh0Pc2#8MIz`~Hz>ky9M7$p-lOx`blc^CuCaB{2 zEyv+&y8Is|gj}Au0;`|KJGfd*VI>uiZ z@l`?ZCR40YL2e)E_v=PE7uvJxwYnkl_sLO`Kg0b{D8B;sZ-`oJD#$-8eCVH=-QB*W z9rAyyApce*KPISypKBohF8JB>KOHUQuwYcs`$k(v&FVm|- zzrFFflsAqzcC;vS7xiP=}nR>w2MOuR3J?e?ckC1T-*{N>jQKlKgX61^y`E!}z~t(a?Fv^=SF7ZvNK59v3HLf|cOu zXHg>mMg>Rz)7iuID9r1_f-%7=$cJ*_i|bVIxw`0>>(n&Z^UBhp_RIvoHpU+hzG~S} z`7HR6F}?u)-I$(w@Ig$Td801IH$lES#@RMWwNy3Nm zu>4f#w-NBC&g+=G&fgf%b$=Dco$LPRp?}3vr@t{8oglaz{95prV&J(?2o^j4bDwZE z>@UXJy%u`bobB{qg{QJKKV0SbsbgHjw?WTr=;;N25A;+$;p7|Eb@KN^e$8b=$+XZWUDv?iPM@;9t+)NByTe z`TgMM@Y7PEo>g}`z7PC!k)G$RGp_D_PIs#u(a*BPPyS7Q3Jk$(TaQ+R*4 zd|b|sS`UJGG5%HXOCw&cPZv2mahpCk3;gW4j(->Ln_MY;7*{J}dFeXv&u{7a#k_Pg z_5a@KSr>lzG2~O5J9)s`p_V*1yW+qmWOUxNHL z5ij={_HlN;1Utjq_F;b~L(dkFA0N}x34SW{)F3Z0-e$(+`=Ng}^dAz-11HAhw}<}a zF`j+7DB@+mmv;6)4*g$){uwbpTnG8(k2(3zBX8Uk$yWzw$MX4ip{EY{pK%`E)~5}j zi8~`7J_P;o`<&sY-^%5G8dj3m%ak9ii;n5HH^Hx1;`o)(S=q~o0pYmR#q!d|;Af-1 zln*}@7v=3gIX#o1XLra4TMv!f36VU6r1&-9QP8sjdFD*;;iu-pdAbsQWBeCmdKho> zp=UPYWE}JiLeCblJa8K1Q<$d{A%70|I_&EX1^+ehHSp)Rz+W5jIFMo`;C~69v@ZN2 zCXa1b@I3V+uNI(Zt?=QvOpC?Id!c^0-}nIX7{r5hH*kKtCbsTuB7BrTao_A@na|;C zvq)a{QL+5Fz3@r)kAwboV*WfV((iPJf4_p6U9I3*;gkHfHm2t%kRQIG8<#a-aC+W?-!>9Hnvcl;DV6Cxf5 zQb=>rYbx}wK;DyS9=(o@czfT9>v%)NOWuy{-{yf|ekQKy7rF(hANps*|40MD63VZ| zJl)#0dz$d&>&q8m&&4tRe(={p|JvC8>ifc1CCvBLkRJ(uvcJEIc$ts5j}*ZE-wI!Y zw#th)L;VT+@bzVj9QwcRp1MeU0mgBR@ZtPg9^23F9PzU5#Pa9fksfQ2-_ueD{Z*JR z9LFPtuQ72$Z7uWXm*y4@C%nbM5u*<7h4M@J4h zI_3yH)jO^>kmmw>=XVTrw2vDvqU}AUIrDp3TjrOdrwdChgNpf(1*cdg^gU znr0pxm6q?W#ZVS0K8R8-6qo=2LYIjH9oF(Cr_^$25pkJKX5gxV<&KFw* z*hg)0v zBQx9OALo&+Djeco^aIrBGj{dHGu}Zo%Fxc0D;0t}(FQFQA zcF81-y3#Mb4ue0KIim#khY?wl2aP54+6D*2c-N<>i=_@1qAqmA(ysQPH^3N|rUkjF zxy%%qUsE$j*H1hkkRS_tB-3+#S8JQg2onBX-F0Fpai#)8{*45YMEIhLQxG6KI9}$$z!$Aq&fsUvLoGaZuN9Tk7fl?Sd=yrclntpt# zcW|I>Xs4neiu@EdRT7tXAcKVC5>B6RGIz<;lnGsu^W9ypAL8ToV1CaW8G7*@CZzO3 zYIV1@3=C~08kO**M5Hz*CY9RzdrEU96G^L4#oi@DD~f72b0w#SF)KQ{`#SpiBor`O zZT*9hRY5obI{I3oKi&EN-5X|S(5=#>8S57iPS zWH%vYNV?nin;bhY!9JAfwLCX-O0jg@^y8)b18zfZc%d_!A>$%w)1-FKJNS z+1!Z2GPj_kr9aHDrILJ{0X`e-?pj!q=^JLca1JxhOHnA7&GN{&HrZ3iswAIZXb-1q z+uYc+5mP6OFNqJrPfehOn9tojMZS_4bLm-ZY70|-X`pAYS7xw;P1!I`lr=_{B^e#p zz%&V4FNsO-x=XFSC0YIkL|t!RM>O)$(h=pUj>TQEjKsAZ>2XqMc`n>Wgjq(GoA~q& zSF4u!yMmvWCyrc4^m&rf(KC)ee9DZ{@kbq%oti7Kl|)DLX=&F45|ORZ`hfv?0MNRSMUaP;98e z?w%Pv-5v9nq+}%xb8(r^TwuYYE#YRPv!^$n#=4@_KU`L#bXXefm(Y+=iZ*i0*5Rm4 z2%WpQf3UR+gDHoyof>M5xK94Xx%QsH*ucq}VFA`12Bo;ZrLR5QA%;y&3rfeFRLXSB zkyz;HJ7RuIf4_`bJSbcT!yb3Z2KQvQd */ +/* + * Ineractive Access to folding Routines + * + * c Ivo L Hofacker Vienna RNA package + */ + +#include +#include +#include +#include +#include +#include +#include "fold.h" +#include "part_func.h" +#include "fold_vars.h" +#include "PS_dot.h" +#include "utils.h" +/* @unused@ */ +static char rcsid[] = "$Id: RNAfold.c,v 1.18 2005/10/30 20:07:12 ivo Exp $"; + +#define PRIVATE static + +static char scale1[] = "....,....1....,....2....,....3....,....4"; +static char scale2[] = "....,....5....,....6....,....7....,....8"; + +PRIVATE void usage(void); + +/*--------------------------------------------------------------------------*/ + +int +main(int argc, char *argv[]) +{ + char *string, *line; + char *structure = NULL, *cstruc = NULL; + char *ParamFile = NULL; + char *ns_bases = NULL, *c; + int i, length, l, sym, r; + double energy, min_en; + double kT, sfact = 1.07; + int noconv = 0; + + float dG2; + double dG0, dG1, ddG, P; + + string = NULL; + for (i = 1; i < argc; i++) { + if (argv[i][0] == '-') + switch (argv[i][1]) { + case 'T': + if (argv[i][2] != '\0') + usage(); + if (i == argc - 1) + usage(); + r = sscanf(argv[++i], "%lf", &temperature); + if (!r) + usage(); + break; + case 'n': + if (strcmp(argv[i], "-noGU") == 0) + noGU = 1; + if (strcmp(argv[i], "-noCloseGU") == 0) + no_closingGU = 1; + if (strcmp(argv[i], "-noLP") == 0) + noLonelyPairs = 1; + if (strcmp(argv[i], "-nsp") == 0) { + if (i == argc - 1) + usage(); + ns_bases = argv[++i]; + } + if (strcmp(argv[i], "-noconv") == 0) + noconv = 1; + break; + case '4': + tetra_loop = 0; + break; + case 'e': + if (i == argc - 1) + usage(); + r = sscanf(argv[++i], "%d", &energy_set); + if (!r) + usage(); + break; + case 'S': + if (i == argc - 1) + usage(); + r = sscanf(argv[++i], "%lf", &sfact); + if (!r) + usage(); + break; + case 'd': + dangles = 0; + if (argv[i][2] != '\0') { + r = sscanf(argv[i] + 2, "%d", &dangles); + if (r != 1) + usage(); + } + break; + case 'P': + if (i == argc - 1) + usage(); + ParamFile = argv[++i]; + break; + default: + usage(); + } + } + + if (ParamFile != NULL) + read_parameter_file(ParamFile); + + if (ns_bases != NULL) { + nonstandards = space(33); + c = ns_bases; + i = sym = 0; + if (*c == '-') { + sym = 1; + c++; + } + while (*c != '\0') { + if (*c != ',') { + nonstandards[i++] = *c++; + nonstandards[i++] = *c; + if ((sym) && (*c != *(c - 1))) { + nonstandards[i++] = *c; + nonstandards[i++] = *(c - 1); + } + } + c++; + } + } + + /* Some global parameters for the folding routines */ + do_backtrack = 0; + dangles = 2; + fold_constrained = 0; + + /* main loop: continue until end of file */ + + do { + + /* Read and prepare sequence and constraint ***************************/ + + if ((line = get_line(stdin)) == NULL) + break; + + string = (char *) space(strlen(line) + 1); + (void) sscanf(line, "%s", string); + free(line); + length = (int) strlen(string); + + structure = (char *) space((unsigned) length + 1); + + /* Always read folding constraint */ + if ((cstruc = get_line(stdin)) == NULL) + fprintf(stderr, "RNAdGG error: constraints missing\n"); + + if ((line = get_line(stdin)) == NULL) + fprintf (stderr, "RNAdGG error: dG2 missing\n"); + else + { + sscanf (line, "%f", &dG2); + free (line); + } + + for (l = 0; l < length; l++) { + string[l] = toupper(string[l]); + if (!noconv && string[l] == 'T') + string[l] = 'U'; + } + + /* Fold with no constraint ********************************************/ + + min_en = fold(string, structure); + printf ("%s\t", structure); + + kT = (temperature + 273.15) * 1.98717 / 1000.; /* in Kcal */ + pf_scale = exp(-(sfact * min_en) / kT / length); + init_pf_fold(length); + + dG0 = pf_fold(string, structure); + + free_pf_arrays(); + + /* Fold with constraint ***********************************************/ + + fold_constrained = 1; + strncpy(structure, cstruc, length + 1); + + min_en = fold(string, structure); + printf ("%s\t", structure); + + pf_scale = exp(-(sfact * min_en) / kT / length); + init_pf_fold(length); + + strncpy(structure, cstruc, length + 1); + dG1 = pf_fold(string, structure); + + free_pf_arrays(); + + /* Calculate and output ***********************************************/ + + ddG = dG1 + dG2 - dG0; + P = 1 / ( 1 + exp(ddG / kT) ); /* Probability of being bound */ + + printf ("%5.2f\t%5.2f\t%5.2f\t%5.2f\t%g\n", dG0, dG1, dG2, ddG, P); + + /* Free everything */ + + if (cstruc != NULL) + free(cstruc); + if (length >= 2000) + free(base_pair); + (void) fflush(stdout); + free(string); + free(structure); + } while (1); + return 0; +} + +PRIVATE void +usage(void) +{ + nrerror("usage:\n" + "RNAfold [-p[0]] [-C] [-T temp] [-4] [-d[2|3]] [-noGU] [-noCloseGU]\n" + " [-noLP] [-e e_set] [-P paramfile] [-nsp pairs] [-S scale]\n" + " [-noconv] \n"); +} diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAddG4 b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Progs/RNAddG4 new file mode 100755 index 0000000000000000000000000000000000000000..a8fbee085197ad506e252cdfe71d3cee2ee08dbf GIT binary patch literal 612531 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

      {dOTUW?vF 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 Ijc4xnPs}~j+5i9m literal 0 HcmV?d00001 diff --git a/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNAfold.cgi b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNAfold.cgi new file mode 100755 index 00000000..6e6ab568 --- /dev/null +++ b/modules/local/pita/templates/Bin/ViennaRNA/ViennaRNA-1.6/Perl/RNAfold.cgi @@ -0,0 +1,386 @@ +#!/usr/bin/perl +# -*-Perl-*- +# Last changed Time-stamp: <2002-11-19 15:40:22 ivo> +# CGI script for a Web-based RNA fold server +# you need to have the perl5 RNA module installed +# that comes as part of the Vienna RNA package + +use strict; +use CGI qw/ :standard /; +use CGI::Carp qw(fatalsToBrowser); +use HTML::Entities; +use URI::Escape; +use RNA; +use Chart::Lines; +use vars qw/$hdir $maxlength $ssv_home $ssv_url $paramdir $serverroot/; + +# please configure these variables for your site + +$paramdir = '/var/www/RNA'; # directory where parameters files etc are stored +$serverroot = '/u/html'; # where your web pages lie +$hdir = "/RNAfold_dir"; # output directory (relative to $serverroot) +$maxlength = 500; # only process sequences up to this length +$ssv_home = "http://smi-web.stanford.edu/projects/helix/sstructview/home.html"; +$ssv_url = "/~ivo/RNA/SStructView.zip"; + +my $query = new CGI; + +if ($query->param) { + &do_work($query); +} else { + &print_header($query); +} + +&print_tail; +print $query->end_html,"\n"; + +sub print_header { + my($query, $cookie) = @_; + if ($cookie) { + print $query->header(-expires=>'+1m', + -cookie=>$cookie); + } else { + print $query->header(-expires=>'+1m'); + } + print $query->start_html(-title=>"RNAfold input form", + -author=>'ivo@tbi.univie.ac.at', + -BGCOLOR=>'#f8f8ff'); + print "\n

    7JxZVwpf4FLXTdr0{`sCFOab@n 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

    GEn5ZU{lKfxXC$(zn?45X$!V7j!*HP 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