diff --git a/lib/galaxy/tool_shed/migrate/versions/0003_tools.py b/lib/galaxy/tool_shed/migrate/versions/0003_tools.py new file mode 100644 index 00000000000..a55d212a448 --- /dev/null +++ b/lib/galaxy/tool_shed/migrate/versions/0003_tools.py @@ -0,0 +1,12 @@ +""" +The freebayes tool has been eliminated from the distribution . The repository named freebayes from the main +Galaxy tool shed at http://toolshed.g2.bx.psu.edu will be installed into your local Galaxy instance at the +location discussed above by running the following command. +""" + +import sys + +def upgrade(): + print __doc__ +def downgrade(): + pass diff --git a/scripts/migrate_tools/0003_tools.sh b/scripts/migrate_tools/0003_tools.sh new file mode 100644 index 00000000000..dfc3bde56b3 --- /dev/null +++ b/scripts/migrate_tools/0003_tools.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +cd `dirname $0`/../.. +python ./scripts/migrate_tools/migrate_tools.py 0003_tools.xml $@ diff --git a/scripts/migrate_tools/0003_tools.xml b/scripts/migrate_tools/0003_tools.xml new file mode 100644 index 00000000000..1c5813d1520 --- /dev/null +++ b/scripts/migrate_tools/0003_tools.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/tools/variant_detection/freebayes.xml b/tools/variant_detection/freebayes.xml deleted file mode 100644 index 9e3f3923db7..00000000000 --- a/tools/variant_detection/freebayes.xml +++ /dev/null @@ -1,670 +0,0 @@ - - - - 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.* - - -