# HG changeset patch
# User devteam
# Date 1341265787 14400
# Node ID 61fe907fc37c74c2b4ba0d9fa961e3234f06fc5e
Uploaded freebayes with tool dependencies
diff -r 000000000000 -r 61fe907fc37c freebayes.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/freebayes.xml Mon Jul 02 17:49:47 2012 -0400
@@ -0,0 +1,670 @@
+
+
+
+ freebayes
+ samtools
+
+ - Bayesian genetic variant detector
+
+ ##set up input files
+ #set $reference_fasta_filename = "localref.fa"
+ #if str( $reference_source.reference_source_selector ) == "history":
+ ln -s "${reference_source.ref_file}" "${reference_fasta_filename}" &&
+ samtools faidx "${reference_fasta_filename}" 2>&1 || echo "Error running samtools faidx for FreeBayes" >&2 &&
+ #else:
+ #set $reference_fasta_filename = str( $reference_source.ref_file.fields.path )
+ #end if
+ #for $bam_count, $input_bam in enumerate( $reference_source.input_bams ):
+ ln -s "${input_bam.input_bam}" "localbam_${bam_count}.bam" &&
+ ln -s "${input_bam.input_bam.metadata.bam_index}" "localbam_${bam_count}.bam.bai" &&
+ #end for
+ ##finished setting up inputs
+
+ ##start FreeBayes commandline
+ freebayes
+ #for $bam_count, $input_bam in enumerate( $reference_source.input_bams ):
+ --bam "localbam_${bam_count}.bam"
+ #end for
+ --fasta-reference "${reference_fasta_filename}"
+
+ ##outputs
+ --vcf "${output_vcf}"
+
+ ##advanced options
+ #if str( $options_type.options_type_selector ) == "advanced":
+ ##additional outputs
+ #if $options_type.output_trace_option:
+ --trace "${output_trace}"
+ #end if
+ #if $options_type.output_failed_alleles_option:
+ --failed-alleles "${output_failed_alleles_bed}"
+ #end if
+
+ ##additional inputs
+ #if str( $options_type.target_limit_type.target_limit_type_selector ) == "limit_by_target_file":
+ --targets "${options_type.target_limit_type.input_target_bed}"
+ #elif str( $options_type.target_limit_type.target_limit_type_selector ) == "limit_by_region":
+ --region "${options_type.target_limit_type.region_chromosome}:${options_type.target_limit_type.region_start}..${options_type.target_limit_type.region_end}"
+ #end if
+ #if $options_type.input_sample_file:
+ --samples "${options_type.input_sample_file}"
+ #end if
+ #if $options_type.input_populations_file:
+ --populations "${options_type.input_populations_file}"
+ #end if
+ #if $options_type.input_cnv_map_bed:
+ --cnv-map "${options_type.input_cnv_map_bed}"
+ #end if
+ #if str( $options_type.input_variant_type.input_variant_type_selector ) == "provide_vcf":
+ --variant-input "${options_type.input_variant_type.input_variant_vcf}"
+ ${options_type.input_variant_type.only_use_input_alleles}
+ #end if
+
+ ##reporting
+ #if str( $options_type.section_reporting_type.section_reporting_type_selector ) == "set":
+ --pvar "${options_type.section_reporting_type.pvar}"
+ ${options_type.section_reporting_type.show_reference_repeats}
+ #end if
+
+ ##population model
+ #if str( $options_type.section_population_model_type.section_population_model_type_selector ) == "set":
+ --theta "${options_type.section_population_model_type.theta}"
+ --ploidy "${options_type.section_population_model_type.ploidy}"
+ ${options_type.section_population_model_type.pooled}
+ #end if
+
+ ##reference allele
+ #if str( $options_type.use_reference_allele_type.use_reference_allele_type_selector ) == "include_reference_allele":
+ --use-reference-allele
+ ${options_type.use_reference_allele_type.diploid_reference}
+ --reference-quality "${options_type.use_reference_allele_type.reference_quality_mq},${options_type.use_reference_allele_type.reference_quality_bq}"
+ #end if
+
+ ##allele scope
+ #if str( $options_type.section_allele_scope_type.section_allele_scope_type_selector ) == "set":
+ ${options_type.section_allele_scope_type.no_snps}
+ ${options_type.section_allele_scope_type.no_indels}
+ ${options_type.section_allele_scope_type.no_mnps}
+ ${options_type.section_allele_scope_type.no_complex}
+ --use-best-n-alleles "${options_type.section_allele_scope_type.use_best_n_alleles}"
+ #if $options_type.section_allele_scope_type.max_complex_gap:
+ --max-complex-gap "${options_type.section_allele_scope_type.max_complex_gap}"
+ #end if
+ #end if
+
+ ##indel realignment
+ ${options_type.left_align_indels}
+
+ ##input filters
+ #if str( $options_type.section_input_filters_type.section_input_filters_type_selector ) == "set":
+ ${options_type.section_input_filters_type.use_duplicate_reads}
+ #if str( $options_type.section_input_filters_type.no_filter_type.no_filter_type_selector ) == "apply_filters":
+ --min-mapping-quality "${options_type.section_input_filters_type.no_filter_type.min_mapping_quality}"
+ --min-base-quality "${options_type.section_input_filters_type.no_filter_type.min_base_quality}"
+ --min-supporting-quality "${options_type.section_input_filters_type.no_filter_type.min_supporting_quality_mq},${options_type.section_input_filters_type.no_filter_type.min_supporting_quality_bq}"
+ #else:
+ --no-filters
+ #end if
+ --mismatch-base-quality-threshold "${options_type.section_input_filters_type.mismatch_base_quality_threshold}"
+ #if $options_type.section_input_filters_type.read_mismatch_limit:
+ --read-mismatch-limit "${options_type.section_input_filters_type.read_mismatch_limit}"
+ #end if
+ --read-max-mismatch-fraction "${options_type.section_input_filters_type.read_max_mismatch_fraction}"
+ #if $options_type.section_input_filters_type.read_snp_limit:
+ --read-snp-limit "${options_type.section_input_filters_type.read_snp_limit}"
+ #end if
+ #if $options_type.section_input_filters_type.read_indel_limit:
+ --read-indel-limit "${options_type.section_input_filters_type.read_indel_limit}"
+ #end if
+ --indel-exclusion-window "${options_type.section_input_filters_type.indel_exclusion_window}"
+ --min-alternate-fraction "${options_type.section_input_filters_type.min_alternate_fraction}"
+ --min-alternate-count "${options_type.section_input_filters_type.min_alternate_count}"
+ --min-alternate-qsum "${options_type.section_input_filters_type.min_alternate_qsum}"
+ --min-alternate-total "${options_type.section_input_filters_type.min_alternate_total}"
+ --min-coverage "${options_type.section_input_filters_type.min_coverage}"
+ #end if
+
+ ##bayesian priors
+ #if str( $options_type.section_bayesian_priors_type.section_bayesian_priors_type_selector ) == "set":
+ ${options_type.section_bayesian_priors_type.no_ewens_priors}
+ ${options_type.section_bayesian_priors_type.no_population_priors}
+ ${options_type.section_bayesian_priors_type.hwe_priors}
+ #end if
+
+ ##observation prior expectations
+ #if str( $options_type.section_observation_prior_expectations_type.section_observation_prior_expectations_type_selector ) == "set":
+ ${options_type.section_observation_prior_expectations_type.binomial_obs_priors}
+ ${options_type.section_observation_prior_expectations_type.allele_balance_priors}
+ #end if
+
+ ##algorithmic features
+ #if str( $options_type.section_algorithmic_features_type.section_algorithmic_features_type_selector ) == "set":
+ --site-selection-max-iterations "${options_type.section_algorithmic_features_type.site_selection_max_iterations}"
+ --genotyping-max-iterations "${options_type.section_algorithmic_features_type.genotyping_max_iterations}"
+ --genotyping-max-banddepth "${options_type.section_algorithmic_features_type.genotyping_max_banddepth}"
+ --posterior-integration-limits "${options_type.section_algorithmic_features_type.posterior_integration_limits_n},${options_type.section_algorithmic_features_type.posterior_integration_limits_m}"
+ ${options_type.section_algorithmic_features_type.no_permute}
+ ${options_type.section_algorithmic_features_type.exclude_unobserved_genotypes}
+ #if $options_type.section_algorithmic_features_type.genotype_variant_threshold:
+ --genotype-variant-threshold "${options_type.section_algorithmic_features_type.genotype_variant_threshold}"
+ #end if
+ ${options_type.section_algorithmic_features_type.use_mapping_quality}
+ --read-dependence-factor "${options_type.section_algorithmic_features_type.read_dependence_factor}"
+ ${options_type.section_algorithmic_features_type.no_marginals}
+ #end if
+
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ options_type['options_type_selector'] == "advanced" and options_type['output_failed_alleles_option'] is True
+
+
+ options_type['options_type_selector'] == "advanced" and options_type['output_trace_option'] is True
+
+
+
+
+
+
+
+
+
+
+
+
+
+**What it does**
+
+This tool uses FreeBayes to call SNPS given a reference sequence and a BAM alignment file.
+
+FreeBayes is a high-performance, flexible, and open-source Bayesian genetic variant detector. It operates on BAM alignment files, which are produced by most contemporary short-read aligners.
+
+In addition to substantial performance improvements over its predecessors (PolyBayes, GigaBayes, and BamBayes), it expands the scope of SNP and small-indel variant calling to populations of individuals with heterogeneous copy number. FreeBayes is currently under active development.
+
+Go `here <http://bioinformatics.bc.edu/marthlab/FreeBayes>`_ for details on FreeBayes.
+
+------
+
+**Inputs**
+
+FreeBayes accepts an input aligned BAM file.
+
+
+**Outputs**
+
+The output is in the VCF format.
+
+-------
+
+**Settings**::
+
+ input and output:
+
+ -b --bam FILE Add FILE to the set of BAM files to be analyzed.
+ -c --stdin Read BAM input on stdin.
+ -v --vcf FILE Output VCF-format results to FILE.
+ -f --fasta-reference FILE
+ Use FILE as the reference sequence for analysis.
+ An index file (FILE.fai) will be created if none exists.
+ If neither --targets nor --region are specified, FreeBayes
+ will analyze every position in this reference.
+ -t --targets FILE
+ Limit analysis to targets listed in the BED-format FILE.
+ -r --region <chrom>:<start_position>..<end_position>
+ Limit analysis to the specified region, 0-base coordinates,
+ end_position not included (same as BED format).
+ -s --samples FILE
+ Limit analysis to samples listed (one per line) in the FILE.
+ By default FreeBayes will analyze all samples in its input
+ BAM files.
+ --populations FILE
+ Each line of FILE should list a sample and a population which
+ it is part of. The population-based bayesian inference model
+ will then be partitioned on the basis of the populations.
+ -A --cnv-map FILE
+ Read a copy number map from the BED file FILE, which has
+ the format:
+ reference sequence, start, end, sample name, copy number
+ ... for each region in each sample which does not have the
+ default copy number as set by --ploidy.
+ -L --trace FILE Output an algorithmic trace to FILE.
+ --failed-alleles FILE
+ Write a BED file of the analyzed positions which do not
+ pass --pvar to FILE.
+ -@ --variant-input VCF
+ Use variants reported in VCF file as input to the algorithm.
+ A report will be generated for every record in the VCF file.
+ -l --only-use-input-alleles
+ Only provide variant calls and genotype likelihoods for sites
+ and alleles which are provided in the VCF input, and provide
+ output in the VCF for all input alleles, not just those which
+ have support in the data.
+
+ reporting:
+
+ -P --pvar N Report sites if the probability that there is a polymorphism
+ at the site is greater than N. default: 0.0001
+ -_ --show-reference-repeats
+ Calculate and show information about reference repeats in
+ the VCF output.
+
+ population model:
+
+ -T --theta N The expected mutation rate or pairwise nucleotide diversity
+ among the population under analysis. This serves as the
+ single parameter to the Ewens Sampling Formula prior model
+ default: 0.001
+ -p --ploidy N Sets the default ploidy for the analysis to N. default: 2
+ -J --pooled Assume that samples result from pooled sequencing.
+ When using this flag, set --ploidy to the number of
+ alleles in each sample.
+
+ reference allele:
+
+ -Z --use-reference-allele
+ This flag includes the reference allele in the analysis as
+ if it is another sample from the same population.
+ -H --diploid-reference
+ If using the reference sequence as a sample (-Z),
+ treat it as diploid. default: false (reference is haploid)
+ --reference-quality MQ,BQ
+ Assign mapping quality of MQ to the reference allele at each
+ site and base quality of BQ. default: 100,60
+
+ allele scope:
+
+ -I --no-snps Ignore SNP alleles.
+ -i --no-indels Ignore insertion and deletion alleles.
+ -X --no-mnps Ignore multi-nuceotide polymorphisms, MNPs.
+ -u --no-complex Ignore complex events (composites of other classes).
+ -n --use-best-n-alleles N
+ Evaluate only the best N SNP alleles, ranked by sum of
+ supporting quality scores. (Set to 0 to use all; default: all)
+ -E --max-complex-gap N
+ Allow complex alleles with contiguous embedded matches of up
+ to this length.
+
+ indel realignment:
+
+ -O --left-align-indels
+ Left-realign and merge gaps embedded in reads. default: false
+
+ input filters:
+
+ -4 --use-duplicate-reads
+ Include duplicate-marked alignments in the analysis.
+ default: exclude duplicates
+ -m --min-mapping-quality Q
+ Exclude alignments from analysis if they have a mapping
+ quality less than Q. default: 30
+ -q --min-base-quality Q
+ Exclude alleles from analysis if their supporting base
+ quality is less than Q. default: 20
+ -R --min-supporting-quality MQ,BQ
+ In order to consider an alternate allele, at least one supporting
+ alignment must have mapping quality MQ, and one supporting
+ allele must have base quality BQ. default: 0,0, unset
+ -Q --mismatch-base-quality-threshold Q
+ Count mismatches toward --read-mismatch-limit if the base
+ quality of the mismatch is >= Q. default: 10
+ -U --read-mismatch-limit N
+ Exclude reads with more than N mismatches where each mismatch
+ has base quality >= mismatch-base-quality-threshold.
+ default: ~unbounded
+ -z --read-max-mismatch-fraction N
+ Exclude reads with more than N [0,1] fraction of mismatches where
+ each mismatch has base quality >= mismatch-base-quality-threshold
+ default: 1.0
+ -$ --read-snp-limit N
+ Exclude reads with more than N base mismatches, ignoring gaps
+ with quality >= mismatch-base-quality-threshold.
+ default: ~unbounded
+ -e --read-indel-limit N
+ Exclude reads with more than N separate gaps.
+ default: ~unbounded
+ -0 --no-filters Do not use any input base and mapping quality filters
+ Equivalent to -m 0 -q 0 -R 0 -S 0
+ -x --indel-exclusion-window
+ Ignore portions of alignments this many bases from a
+ putative insertion or deletion allele. default: 0
+ -F --min-alternate-fraction N
+ Require at least this fraction of observations supporting
+ an alternate allele within a single individual in the
+ in order to evaluate the position. default: 0.0
+ -C --min-alternate-count N
+ Require at least this count of observations supporting
+ an alternate allele within a single individual in order
+ to evaluate the position. default: 1
+ -3 --min-alternate-qsum N
+ Require at least this sum of quality of observations supporting
+ an alternate allele within a single individual in order
+ to evaluate the position. default: 0
+ -G --min-alternate-total N
+ Require at least this count of observations supporting
+ an alternate allele within the total population in order
+ to use the allele in analysis. default: 1
+ -! --min-coverage N
+ Require at least this coverage to process a site. default: 0
+
+ bayesian priors:
+
+ -Y --no-ewens-priors
+ Turns off the Ewens' Sampling Formula component of the priors.
+ -k --no-population-priors
+ Equivalent to --pooled --no-ewens-priors
+ -w --hwe-priors Use the probability of the combination arising under HWE given
+ the allele frequency as estimated by observation frequency.
+
+ observation prior expectations:
+
+ -V --binomial-obs-priors
+ Incorporate expectations about osbervations into the priors,
+ Uses read placement probability, strand balance probability,
+ and read position (5'-3') probability.
+ -a --allele-balance-priors
+ Use aggregate probability of observation balance between alleles
+ as a component of the priors. Best for observations with minimal
+ inherent reference bias.
+
+ algorithmic features:
+
+ -M --site-selection-max-iterations N
+ Uses hill-climbing algorithm to search posterior space for N
+ iterations to determine if the site should be evaluated. Set to 0
+ to prevent use of this algorithm for site selection, and
+ to a low integer for improvide site selection at a slight
+ performance penalty. default: 5.
+ -B --genotyping-max-iterations N
+ Iterate no more than N times during genotyping step. default: 25.
+ --genotyping-max-banddepth N
+ Integrate no deeper than the Nth best genotype by likelihood when
+ genotyping. default: 6.
+ -W --posterior-integration-limits N,M
+ Integrate all genotype combinations in our posterior space
+ which include no more than N samples with their Mth best
+ data likelihood. default: 1,3.
+ -K --no-permute
+ Do not scale prior probability of genotype combination given allele
+ frequency by the number of permutations of included genotypes.
+ -N --exclude-unobserved-genotypes
+ Skip sample genotypings for which the sample has no supporting reads.
+ -S --genotype-variant-threshold N
+ Limit posterior integration to samples where the second-best
+ genotype likelihood is no more than log(N) from the highest
+ genotype likelihood for the sample. default: ~unbounded
+ -j --use-mapping-quality
+ Use mapping quality of alleles when calculating data likelihoods.
+ -D --read-dependence-factor N
+ Incorporate non-independence of reads by scaling successive
+ observations by this factor during data likelihood
+ calculations. default: 0.9
+ -= --no-marginals
+ Do not calculate the marginal probability of genotypes. Saves
+ time and improves scaling performance in large populations.
+
+
+------
+
+**Citation**
+
+For the underlying tool, please cite `FreeBayes <http://bioinformatics.bc.edu/marthlab/FreeBayes>`_.
+
+If you use this tool in Galaxy, please cite Blankenberg D, et al. *In preparation.*
+
+
+
diff -r 000000000000 -r 61fe907fc37c tool_data_table_conf.xml.sample
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample Mon Jul 02 17:49:47 2012 -0400
@@ -0,0 +1,8 @@
+
+
+
+
+ line_type, value, path
+
+
+
diff -r 000000000000 -r 61fe907fc37c tool_dependencies.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml Mon Jul 02 17:49:47 2012 -0400
@@ -0,0 +1,46 @@
+
+
+
+
+
+ git clone --recursive git://github.com/ekg/freebayes.git
+ git reset --hard 9696d0ce8a962f7bb61c4791be5ce44312b81cf8
+ make
+
+ bin
+ $INSTALL_DIR/bin
+
+
+ $INSTALL_DIR/bin
+
+
+
+
+FreeBayes requires g++ and the standard C and C++ development libraries.
+Additionally, cmake is required for building the BamTools API.
+
+
+
+
+
+ http://sourceforge.net/projects/samtools/files/samtools/0.1.18/samtools-0.1.18.tar.bz2
+ sed -i .bak -e 's/-lcurses/-lncurses/g' Makefile
+ make
+
+
+ $INSTALL_DIR/bin
+
+
+
+ $INSTALL_DIR/bin
+
+
+ $INSTALL_DIR/bin
+
+
+
+
+Compiling SAMtools requires the ncurses and zlib development libraries.
+
+
+