Mercurial > repos > bgruening > upload_testing
changeset 110:fa6ef7619bbd draft default tip
Uploaded
line wrap: on
line diff
--- a/COPYING Sat Apr 12 07:25:47 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,121 +0,0 @@ -Creative Commons Legal Code - -CC0 1.0 Universal - - CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE - LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN - ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS - INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES - REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS - PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM - THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED - HEREUNDER. - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator -and subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for -the purpose of contributing to a commons of creative, cultural and -scientific works ("Commons") that the public can reliably and without fear -of later claims of infringement build upon, modify, incorporate in other -works, reuse and redistribute as freely as possible in any form whatsoever -and for any purposes, including without limitation commercial purposes. -These owners may contribute to the Commons to promote the ideal of a free -culture and the further production of creative, cultural and scientific -works, or to gain reputation or greater distribution for their Work in -part through the use and efforts of others. - -For these and/or other purposes and motivations, and without any -expectation of additional consideration or compensation, the person -associating CC0 with a Work (the "Affirmer"), to the extent that he or she -is an owner of Copyright and Related Rights in the Work, voluntarily -elects to apply CC0 to the Work and publicly distribute the Work under its -terms, with knowledge of his or her Copyright and Related Rights in the -Work and the meaning and intended legal effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not -limited to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, - communicate, and translate a Work; - ii. moral rights retained by the original author(s) and/or performer(s); -iii. publicity and privacy rights pertaining to a person's image or - likeness depicted in a Work; - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - v. rights protecting the extraction, dissemination, use and reuse of data - in a Work; - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation - thereof, including any amended or successor version of such - directive); and -vii. other similar, equivalent or corresponding rights throughout the - world based on applicable law or treaty, and any national - implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention -of, applicable law, Affirmer hereby overtly, fully, permanently, -irrevocably and unconditionally waives, abandons, and surrenders all of -Affirmer's Copyright and Related Rights and associated claims and causes -of action, whether now known or unknown (including existing as well as -future claims and causes of action), in the Work (i) in all territories -worldwide, (ii) for the maximum duration provided by applicable law or -treaty (including future time extensions), (iii) in any current or future -medium and for any number of copies, and (iv) for any purpose whatsoever, -including without limitation commercial, advertising or promotional -purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each -member of the public at large and to the detriment of Affirmer's heirs and -successors, fully intending that such Waiver shall not be subject to -revocation, rescission, cancellation, termination, or any other legal or -equitable action to disrupt the quiet enjoyment of the Work by the public -as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason -be judged legally invalid or ineffective under applicable law, then the -Waiver shall be preserved to the maximum extent permitted taking into -account Affirmer's express Statement of Purpose. In addition, to the -extent the Waiver is so judged Affirmer hereby grants to each affected -person a royalty-free, non transferable, non sublicensable, non exclusive, -irrevocable and unconditional license to exercise Affirmer's Copyright and -Related Rights in the Work (i) in all territories worldwide, (ii) for the -maximum duration provided by applicable law or treaty (including future -time extensions), (iii) in any current or future medium and for any number -of copies, and (iv) for any purpose whatsoever, including without -limitation commercial, advertising or promotional purposes (the -"License"). The License shall be deemed effective as of the date CC0 was -applied by Affirmer to the Work. Should any part of the License for any -reason be judged legally invalid or ineffective under applicable law, such -partial invalidity or ineffectiveness shall not invalidate the remainder -of the License, and in such case Affirmer hereby affirms that he or she -will not (i) exercise any of his or her remaining Copyright and Related -Rights in the Work or (ii) assert any associated claims and causes of -action with respect to the Work, in either case contrary to Affirmer's -express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - b. Affirmer offers the Work as-is and makes no representations or - warranties of any kind concerning the Work, express, implied, - statutory or otherwise, including without limitation warranties of - title, merchantability, fitness for a particular purpose, non - infringement, or the absence of latent or other defects, accuracy, or - the present or absence of errors, whether or not discoverable, all to - the greatest extent permissible under applicable law. - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without - limitation any person's Copyright and Related Rights in the Work. - Further, Affirmer disclaims responsibility for obtaining any necessary - consents, permissions or other rights required for any use of the - Work. - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to - this CC0 or use of the Work.
--- a/README.md Sat Apr 12 07:25:47 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ -GalaxyP - PeptideShaker -======================= - -* Home: <https://bitbucket.org/galaxyp/peptideshaker> -* Galaxy Tool Shed: <http://toolshed.g2.bx.psu.edu/view/galaxyp/peptideshaker> -* Tool ID: `peptideshaker` -* Tool Type: `default` - - -Description ------------ - -Peform protein identification combining X! Tandem and OMSSA (using SearchGUI) and PeptideShaker pipeline. - -Tool wrapper for SearchGUI and PeptideShaker. This tool takes any number of mgf files and performs X! Tandem and OMSSA searches on these via SearchGUI and merges the results using PeptideShaker. - -Note: - -- SearchGUI requires a version greater than 1.12.2 which contained several bugs preventing this from working on the command-line and via Linux. - -- PeptideShaker may require xvfb to simulate an X environment if this is installed on a headless server. - -See: - -* <https://code.google.com/p/peptide-shaker/> -* <https://code.google.com/p/searchgui/> - - -GalaxyP Community ------------------ - -Current governing community policies for [GalaxyP](https://bitbucket.org/galaxyp/) and other information can be found at: - -<https://bitbucket.org/galaxyp/galaxyp> - - -License -------- - -Copyright (c) 2014 Regents of the University of Minnesota and Authors listed below. - -To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty. - -You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see <https://creativecommons.org/publicdomain/zero/1.0/>. - -You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission. - - -Contributing ------------- - -Contributions to this repository are reviewed through pull requests. If you would like your work acknowledged, please also add yourself to the Authors section. If your pull request is accepted, you will also be acknowledged in <https://bitbucket.org/galaxyp/galaxyp/CONTRIBUTORS.md> unless you opt-out. - - -Authors -------- - -Authors and contributors: - -* Cody Wang -* Fred Sadler -* John Chilton <jmchilton@gmail.com> -* Minnesota Supercomputing Institute, Univeristy of Minnesota
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bamCompare.xml Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,221 @@ +<tool id="deeptools_bamCompare" name="bamCompare" version="@WRAPPER_VERSION@.0"> + <description>normalizes and compares two BAM files to obtain the ratio, log2ratio or difference. (bam2bigwig)</description> + <expand macro="requirements" /> + <expand macro="stdio" /> + <macros> + <token name="@BINARY@">bamCompare</token> + <import>deepTools_macros.xml</import> + </macros> + <command> +<![CDATA[ + bamCompare + + @THREADS@ + + --bamfile1 '$bamFile1' + -bai1 '${bamFile1.metadata.bam_index}' + --bamfile2 '$bamFile2' + -bai2 '${bamFile2.metadata.bam_index}' + + --outFileName '$outFileName' + --outFileFormat '$outFileFormat' + + --fragmentLength $fragmentLength + --binSize $binSize + + #if $scaling.method == 'SES': + --scaleFactorsMethod SES + --sampleLength $scaling.sampleLength + #elif $scaling.method == 'readCount': + --scaleFactorsMethod readCount + #elif $scaling.method == 'own': + --scaleFactors '$scaling.scaleFactor1:$scaling.scaleFactor2' + #end if + + --ratio $comparison.type + + #if $comparison.type=='subtract': + #if $comparison.normalization.type=='rpkm': + --normalizeUsingRPKM + #elif $comparison.normalization.type=='1x': + + #if $comparison.normalization.effectiveGenomeSize.effectiveGenomeSize_opt == "specific": + --normalizeTo1x $comparison.normalization.effectiveGenomeSize.effectiveGenomeSize + #else: + --normalizeTo1x $comparison.normalization.effectiveGenomeSize.effectiveGenomeSize_opt + #end if + + #end if + #elif $comparison.type in ['ratio','log2']: + --pseudocount $comparison.pseudocount + #end if + + #if str($region).strip() != '': + --region '$region' + #end if + + #if $advancedOpt.showAdvancedOpt == "yes": + #if $advancedOpt.smoothLength: + --smoothLength '$advancedOpt.smoothLength' + #end if + + $advancedOpt.doNotExtendPairedEnds + $advancedOpt.ignoreDuplicates + + #if $advancedOpt.minMappingQuality: + --minMappingQuality '$advancedOpt.minMappingQuality' + #end if + + --missingDataAsZero $advancedOpt.missingDataAsZero + + #if str($advancedOpt.ignoreForNormalization).strip() != '': + --ignoreForNormalization '$advancedOpt.ignoreForNormalization' + #end if + + #end if +]]> + </command> + <inputs> + <param name="bamFile1" format="bam" type="data" label="First BAM file (e.g. treated sample)" + help="The BAM file must be sorted."/> + <param name="bamFile2" format="bam" type="data" label="Second BAM file (e.g. control sample)" + help="The BAM file must be sorted."/> + <param name="fragmentLength" type="integer" value="200" min="1" + label="Length of the average fragment size" + help ="Reads will be extended to match this length unless they are paired-end, in which case they will be extended to match the fragment length. If this value is set to the read length or smaller, the read will not be extended. *Warning* the fragment length affects the normalization to 1x (see "normalize coverage to 1x"). The formula to normalize using the sequencing depth is genomeSize/(number of mapped reads * fragment length). *NOTE*: If the BAM files contain mated and unmated paired-end reads, unmated reads will be extended to match the fragment length. (--fragmentLength)"/> + + <param name="binSize" type="integer" value="50" min="1" + label="Bin size in bp" + help="The genome will be divided in bins (also called tiles) of the specified length. For each bin the overlaping number of fragments (or reads) will be reported. If only half a fragment overlaps, this fraction will be reported. (--binSize)"/> + + <conditional name="scaling"> + <param name="method" type="select" + label="Method to use for scaling the largest sample to the smallest"> + <option value="readCount" selected="true">read count</option> + <option value="SES">signal extraction scaling (SES), check the bamFingerprint plot before using it!</option> + <option value="own">enter own scaling factors</option> + </param> + <when value="SES"> + <param name="sampleLength" type="integer" value="1000" min="10" + label="Length in base pairs used to sample the genome and compute the size or scaling factors to compare the two BAM files " + help="The default is fine. Only change it if you know what you are doing" /> + </when> + <when value="readCount" /> + <when value="own"> + <expand macro="scaleFactor" /> + </when> + </conditional> + + <conditional name="comparison"> + <param name="type" type="select" + label="How to compare the two files"> + <option value="log2" selected="true">Compute log2 of the number of reads ratio</option> + <option value="ratio">Compute the ratio of the number of reads</option> + <option value="subtract">Compute difference (subtract input from treatment) of the number of reads</option> + </param> + <when value="log2"> + <expand macro="pseudocount" /> + </when> + <when value="ratio"> + <expand macro="pseudocount" /> + </when> + <when value="subtract"> + <conditional name="normalization"> + <param name="type" type="select" label="Normalization method" > + <option value="1x">Normalize coverage to 1x</option> + <option value="rpkm">Normalize to fragments (reads) per kilobase per million (RPKM)</option> + <option value="no">Do not normalize or scale</option> + </param> + <when value="rpkm" /> + <when value="no" /> + <when value="1x"> + <expand macro="effectiveGenomeSize" /> + </when> + </conditional> + </when> + </conditional> + + <param name="outFileFormat" type="select" label="Coverage file format"> + <option value="bigwig" selected="true">bigwig</option> + <option value="bedgraph">bedgraph</option> + </param> + <expand macro="region_limit_operation" /> + <conditional name="advancedOpt"> + <param name="showAdvancedOpt" type="select" label="Show advanced options" > + <option value="no" selected="true">no</option> + <option value="yes">yes</option> + </param> + <when value="no" /> + <when value="yes"> + <param name="smoothLength" type="integer" value="1" optional="true" min="1" + label="Smooth values using the following length (in bp)" + help ="The smooth length defines a window, larger than the bin size, to average the number of reads. For example, if the bin size is set to 20 bp and the smooth length is set to 60 bp, then, for each bin size the average of it and its left and right neighbors is considered. Any value smaller than the bin size will be ignored and no smoothing will be applied. (--smoothLength)"/> + <expand macro="doNotExtendPairedEnds" /> + <expand macro="ignoreDuplicates" /> + <expand macro="minMappingQuality" /> + <expand macro="missingDataAsZero" /> + <param name="ignoreForNormalization" type="text" value="" size="50" + label="regions that should be excluded for calculating the scaling factor" + help="Sometimes it makes sense to exclude certain regions when calculating the scaling factor. For example, if you know some regions that you suspect to be present more often in your sample's genome than in the reference genome that will therefore accumulate reads (CNV). Another typical example is the single X chromosome in male samples that should be scaled separately from the diploid autosomes. For example chrX,chrY,chr3. or chr10:12220-128932" /> + </when> + </conditional> + </inputs> + <outputs> + <data format="bigwig" name="outFileName"> + <change_format> + <when input="outFileFormat" value="bigwig" format="bigwig" /> + <when input="outFileFormat" value="bedgraph" format="bedgraph" /> + </change_format> + </data> + </outputs> + <tests> + <test> + <param name="bamFile1" value="bowtie2-test1.bam" ftype="bam" /> + <param name="bamFile2" value="bowtie2-test1.bam" ftype="bam" /> + <param name="showAdvancedOpt" value="no" /> + <param name="outFileFormat" value="bigwig" /> + <param name="fragmentLength" value="100" /> + <param name="outFileFormat" value="bedgraph" /> + <param name="binSize" value="5" /> + <param name="type" value="ratio" /> + <output name="outFileName" file="bamCompare_result1.bg" ftype="bedgraph" /> + </test> + </tests> + <help> +<![CDATA[ +**What it does** + +This tool compares two BAM files based on the number of mapped reads. To +compare the BAM files, the genome is partitioned into bins of equal size, then +the number of reads found in each BAM file is counted for such bins and +finally a summarizing value is reported. This value can be the ratio of the +number of reads per bin, the log2 of the ratio or the difference. This tool +can normalize the number of reads on each BAM file using the SES method +proposed by Diaz et al. (2012). "Normalization, bias correction, and peak +calling for ChIP-seq". Statistical applications in genetics and molecular +biology, 11(3). Normalization based on read counts is also available. The +output is either a bedgraph or a bigwig file containing the bin location and +the resulting comparison values. By default, if reads are mated, the fragment +length reported in the BAM file is used. In the case of paired-end mapping +each read mate is treated independently to avoid a bias when a mixture of +concordant and discordant pairs is present. This means that *each end* will be +extended to match the fragment length. + + +.. image:: $PATH_TO_IMAGES/norm_IGVsnapshot_indFiles.png + + +You can find more details on the bamCompare wiki page: https://github.com/fidelram/deepTools/wiki/Normalizations#wiki-bamCompare + + +**Output files**: + +- same as for bamCoverage, except that you now obtain 1 coverage file that is based on 2 BAM files. + +----- + +@REFERENCES@ +]]> + </help> + <expand macro="citations" /> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bamCorrelate.xml Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,206 @@ +<tool id="deeptools_bamCorrelate" name="bamCorrelate" version="@WRAPPER_VERSION@.0"> + <description>correlates pairs of BAM files</description> + <expand macro="requirements" /> + <expand macro="stdio" /> + <macros> + <token name="@BINARY@">bamCorrelate</token> + <import>deepTools_macros.xml</import> + </macros> + <command> +<![CDATA[ + #set files=[] + #set labels=[] + + @multiple_input_bams@ + + bamCorrelate + + $mode.modeOpt + + @THREADS@ + + --bamfiles #echo " ".join($files) + --labels #echo " ".join($labels) + --fragmentLength $fragmentLength + --corMethod $corMethod + + --plotFile $outFileName + + #if $output.showOutputSettings == "yes" + --outRawCounts '$outFileRawCounts' + --outFileCorMatrix '$outFileCorMatrix' + --plotFileFormat $output.outFileFormat + #else: + --plotFileFormat 'png' + #end if + + #if $mode.modeOpt == "bins": + --binSize '$mode.binSize' + --distanceBetweenBins '$mode.distanceBetweenBins' + $mode.doNotRemoveOutliers + + #else: + --BED $mode.region_file + #end if + + #### options available in both modes + #if str($mode.region.value) != '': + --region '$mode.region' + #end if + + #if $mode.advancedOpt.showAdvancedOpt == "yes": + + $mode.advancedOpt.doNotExtendPairedEnds + $mode.advancedOpt.ignoreDuplicates + $mode.advancedOpt.includeZeros + + #if $mode.advancedOpt.minMappingQuality: + --minMappingQuality '$mode.advancedOpt.minMappingQuality' + #end if + + #if $mode.advancedOpt.zMin: + --zMin $mode.advancedOpt.zMin + #end if + #if $mode.advancedOpt.zMax: + --zMax $mode.advancedOpt.zMax + #end if + --colorMap '$mode.advancedOpt.colorMap' + + #end if +]]> + </command> + + <inputs> + <expand macro="multiple_input_bams" /> + + <param name="fragmentLength" type="integer" value="200" min="1" + label="Length of the average fragment size" + help ="Reads will be extended to match this length unless they are paired-end, in which case they will be extended to match the fragment length. *NOTE*: If the BAM files contain mated and unmated paired-end reads, unmated reads will be extended to match the fragment length. (--fragmentLength)"/> + + <param name="corMethod" type="select" label="Correlation method"> + <option value="spearman" selected="True">Spearman</option> + <option value="pearson">Pearson</option> + </param> + + <conditional name="mode"> + <param name="modeOpt" type="select" label="Choose computation mode" + help="In the bins mode, the correlation is computed based on equal length bins. In the BED file mode, as list of genomic regions in BED format has to be given. For each region in the BED file the number of overlapping reads is counted in each of the BAM files. Then the correlation is computed."> + <option value="bins" selected="true">Bins</option> + <option value="BED-file">Limit correlation to certain regions (BED file)</option> + </param> + <when value="bins"> + <param name="binSize" type="integer" value="10000" min="1" + label="Bin size in bp" + help="Length in base pairs for a window used to sample the genome."/> + + <param name="distanceBetweenBins" type="integer" value="0" min="0" + label="Distance between bins" + help="By default, bamCorrelate considers consecutive bins of + the specified 'Bin size'. However, to reduce the + computation time, a larger distance between bins can + by given. Larger distances result in less bins being + considered"/> + + <param name="doNotRemoveOutliers" type="boolean" + truevalue="--doNotRemoveOutliers" falsevalue="" label="Do not filter outliers" + help="By default, bins with very large counts are removed. + By setting this option, outliers will not be + removed. Bins with unusually large counts normally + correspond to regions in the genome that accumulate + lot of reads like satellite regions. If outliers are not + removed the pearson correlation will wrongly report a + very high correlation; that's why, by default, + bamCorrelate tries to remove outliers using + the median absolute deviation (MAD) method applying a + threshold of 200 to only consider extremely large + deviations from the median."/> + + <expand macro="bamCorrelate_mode_actions" /> + </when> + <when value="BED-file"> + <param name="region_file" type="data" format="bed" + label="Region file in BED format" + help="Correlation is computed for the number of reads that overlap such regions."/> + <expand macro="bamCorrelate_mode_actions" /> + </when> + </conditional> + + <conditional name="output"> + <param name="showOutputSettings" type="select" label="Show advanced output settings" > + <option value="no" selected="true">no</option> + <option value="yes">yes</option> + </param> + <when value="no" /> + <when value="yes"> + <expand macro="input_image_file_format"/> + <param name="saveRawCounts" type="boolean" label="Save the bin counts"/> + <param name="saveCorMatrix" type="boolean" label="Save the correlation matrix"/> + </when> + </conditional> + + </inputs> + <outputs> + <expand macro="output_image_file_format" /> + <data format="tabular" name="outFileRawCounts" label="${tool.name} on ${on_string}: bin counts"> + <filter> + (( + output['showOutputSettings'] == 'yes' and + output['saveRawCounts'] is True + )) + </filter> + </data> + <data format="tabular" name="outFileCorMatrix" label="${tool.name} on ${on_string}: correlation matrix"> + <filter> + (( + output['showOutputSettings'] == 'yes' and + output['saveCorMatrix'] is True + )) + </filter> + </data> + </outputs> + <tests> + <test> + <repeat name="input_files"> + <param name="bamfile" value="bowtie2-test1.bam" ftype="bam" /> + </repeat> + <repeat name="input_files"> + <param name="bamfile" value="bowtie2-test1.bam" ftype="bam" /> + </repeat> + <param name="modeOpt" value="bins" /> + <param name="binSize" value="10" /> + <param name="showOutputSettings" value="no" /> + <output name="outFileName" file="bamCorrelate_result1.png" ftype="png" compare="sim_size" /> + </test> + </tests> + <help> +<![CDATA[ +**What it does** + +This tool is useful to assess the overall similarity of different BAM files. A typical application +is to check the correlation between replicates or published data sets. + +The tool splits the genomes into bins of given length. For each bin, the number of reads +found in each BAM file is counted and a correlation (either Pearson or Spearman) is computed for all +pairs of BAM files. Finally, a heatmap is drawn based on the similarity of the samples. + + +.. image:: $PATH_TO_IMAGES/QC_bamCorrelate_humanSamples.png + :alt: Heatmap of RNA Polymerase II ChIP-seq + + +You can find more details on the bamCorrelate wiki page: https://github.com/fidelram/deepTools/wiki/QC#wiki-bamCorrelate + + +**Output files**: + +- **diagnostic plot**: clustered heatmap displaying the values for each pair-wise correlation, see below for an example +- data matrix (optional): if you want to plot the correlation values using a different program, e.g. R, this matrix can be used + + +----- + +@REFERENCES@ +]]> + </help> + <expand macro="citations" /> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bamCoverage.xml Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,198 @@ +<tool id="deeptools_bamCoverage" name="bamCoverage" version="@WRAPPER_VERSION@.0"> + <description> generates a coverage bigWig file from a given BAM file. Multiple options are available to count reads and normalize coverage. (bam2bigwig)</description> + <expand macro="requirements" /> + <expand macro="stdio" /> + <macros> + <token name="@BINARY@">bamCoverage</token> + <import>deepTools_macros.xml</import> + </macros> + <command> +<![CDATA[ + bamCoverage + + @THREADS@ + + --bam '$bamInput' + --bamIndex ${bamInput.metadata.bam_index} + --outFileName '$outFileName' + --outFileFormat '$outFileFormat' + + --fragmentLength $fragmentLength + --binSize $binSize + + #if $scaling.type=='rpkm': + --normalizeUsingRPKM + #elif $scaling.type=='1x': + #if $scaling.effectiveGenomeSize.effectiveGenomeSize_opt == "specific": + --normalizeTo1x $scaling.effectiveGenomeSize.effectiveGenomeSize + #else: + --normalizeTo1x $scaling.effectiveGenomeSize.effectiveGenomeSize_opt + #end if + #elif $scaling.type=='own': + --scaleFactor $scaling.scaleFactor + #end if + + #if str($region).strip() != '': + --region '$region' + #end if + + #if $advancedOpt.showAdvancedOpt == "yes": + #if $advancedOpt.smoothLength: + --smoothLength '$advancedOpt.smoothLength' + #end if + + $advancedOpt.doNotExtendPairedEnds + $advancedOpt.ignoreDuplicates + + #if $advancedOpt.minMappingQuality: + --minMappingQuality '$advancedOpt.minMappingQuality' + #end if + + --missingDataAsZero $advancedOpt.missingDataAsZero + + ##if str($advancedOpt.ignoreForNormalization).strip() != '': + ## --ignoreForNormalization $advancedOpt.ignoreForNormalization + ##end if + + #end if +]]> + </command> + + <inputs> + <param name="bamInput" format="bam" type="data" label="BAM file" + help="The BAM file must be sorted."/> + + <param name="fragmentLength" type="integer" value="200" min="1" + label="Length of the average fragment size" + help ="Reads will be extended to match this length unless they are paired-end, in which case they will be extended to match the fragment length. If this value is set to the read length or smaller, the read will not be extended. *Warning* the fragment length affects the normalization to 1x (see "normalize coverage to 1x"). Sequencing depth is defined as: (total number of mapped reads * fragment length) / effective genome size. *NOTE*: If the BAM files contain mated and unmated paired-end reads, unmated reads will be extended to match the fragment length. (--fragmentLength)"/> + + <param name="binSize" type="integer" value="50" min="1" + label="Bin size in bp" + help="The genome will be divided in bins (also called tiles) of the specified length. For each bin the overlaping number of fragments (or reads) will be reported. If only half a fragment overlaps, this fraction will be reported. "/> + + <conditional name="scaling"> + <param name="type" type="select" label="Scaling/Normalization method" > + <option value="1x">Normalize coverage to 1x</option> + <option value="rpkm">Normalize to fragments (reads) per kilobase per million (RPKM)</option> + <option value="own">Set your own scaling factor</option> + <option value="no">Do not normalize or scale</option> + </param> + <when value="rpkm"/> + <when value="no"/> + <when value="1x"> + <expand macro="effectiveGenomeSize" /> + </when> + <when value="own"> + <param name="scaleFactor" type="float" value="1" size="3" + label="Scale factor to multiply all values" /> + </when> + </conditional> + + <param name="outFileFormat" type="select" label="Coverage file format"> + <option value="bigwig" selected="true">bigwig</option> + <option value="bedgraph">bedgraph</option> + </param> + + <expand macro="region_limit_operation" /> + + <conditional name="advancedOpt"> + <param name="showAdvancedOpt" type="select" label="Show advanced options" > + <option value="no" selected="true">no</option> + <option value="yes">yes</option> + </param> + <when value="no" /> + <when value="yes"> + <param name="smoothLength" type="integer" value="1" optional="true" min="1" + label="Smooth values using the following length (in bp)" + help ="The smooth length defines a window, larger than the bin size, to average the number of reads. For example, if the bin size is set to 20 bp and the smooth length is set to 60 bp, then, for each bin size the average of it and its left and right neighbors is considered. Any value smaller than the bin size will be ignored and no smoothing will be applied. (--smoothLength)"/> + + <expand macro="doNotExtendPairedEnds" /> + <expand macro="ignoreDuplicates" /> + <expand macro="minMappingQuality" /> + + <expand macro="missingDataAsZero" /> + + <!-- <param name="ignoreForNormalization" type="text" value="" size="50" + label="regions that should be excluded for calculating the scaling factor" + help="Sometimes it makes sense to exclude certain regions when calculating the scaling factor. For example, if you know some regions that you suspect to be present more often in your sample's genome than in the reference genome that will therefore accumulate reads (CNV). Another typical example is the single X chromosome in male samples that should be scaled separately from the diploid autosomes. For example chrX,chrY,chr3. or chr10:12220-128932" /> + --> + </when> + </conditional> + </inputs> + <outputs> + <data format="bigwig" name="outFileName"> + <change_format> + <when input="outFileFormat" value="bigwig" format="bigwig" /> + <when input="outFileFormat" value="bedgraph" format="bedgraph" /> + </change_format> + </data> + </outputs> + <tests> + <test> + <param name="bamInput" value="bowtie2-test1.bam" ftype="bam" /> + <param name="outFileFormat" value="bigwig" /> + <param name="showAdvancedOpt" value="no" /> + <param name="binSize" value="10" /> + <param name="type" value="no" /> + <output name="outFileName" file="bamCoverage_result1.bw" ftype="bigwig" /> + </test> + <test> + <param name="bamInput" value="bowtie2-test1.bam" ftype="bam" /> + <param name="outFileFormat" value="bigwig" /> + <param name="showAdvancedOpt" value="no" /> + <param name="binSize" value="10" /> + <output name="outFileName" file="bamCoverage_result2.bw" ftype="bigwig" /> + </test> + <test> + <param name="bamInput" value="bowtie2-test1.bam" ftype="bam" /> + <param name="outFileFormat" value="bedgraph" /> + <param name="showAdvancedOpt" value="no" /> + <param name="binSize" value="10" /> + <output name="outFileName" file="bamCoverage_result3.bg" ftype="bedgraph" /> + </test> + <test> + <param name="bamInput" value="phiX.bam" ftype="bam" /> + <param name="outFileFormat" value="bigwig" /> + <param name="showAdvancedOpt" value="no" /> + <param name="binSize" value="10" /> + <output name="outFileName" file="bamCoverage_result4.bw" ftype="bigwig" /> + </test> + <test> + <param name="bamInput" value="phiX.bam" ftype="bam" /> + <param name="outFileFormat" value="bedgraph" /> + <param name="showAdvancedOpt" value="no" /> + <param name="binSize" value="10" /> + <output name="outFileName" file="bamCoverage_result4.bg" ftype="bedgraph" /> + </test> + </tests> + <help> +<![CDATA[ +**What it does** + +Given a BAM file, this tool generates a bigWig or bedGraph file of fragment or +read coverages. The way the method works is by first calculating all the +number of reads (either extended to match the fragment length or not) that +overlap each bin in the genome. The resulting read counts can be normalized +using either a given scaling factor, the RPKM formula or to get a 1x depth of +coverage (RPGC). In the case of paired-end mapping each read mate is treated +independently to avoid a bias when a mixture of concordant and discordant +pairs is present. This means that *each end* will be extended to match the +fragment length. + +.. image:: $PATH_TO_IMAGES/norm_IGVsnapshot_indFiles.png + + +You can find more details on the bamCoverage wiki page: https://github.com/fidelram/deepTools/wiki/Normalizations#wiki-bamCoverage + + +**Output files**: + +- coverage file either in bigWig or bedGraph format + +----- + +@REFERENCES@ +]]> + </help> + <expand macro="citations" /> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bamFingerprint.xml Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,150 @@ +<tool id="deeptools_bamFingerprint" name="bamFingerprint" version="@WRAPPER_VERSION@.0"> + <description>plots profiles of BAM files; useful for assesing ChIP signal strength</description> + <expand macro="requirements" /> + <expand macro="stdio" /> + <macros> + <token name="@BINARY@">bamFingerprint</token> + <import>deepTools_macros.xml</import> + </macros> + <command> +<![CDATA[ + @multiple_input_bams@ + + bamFingerprint + + @THREADS@ + + --bamfiles #echo " ".join($files) + --labels #echo " ".join($labels) + + --fragmentLength $fragmentLength + + #set newoutFileName=str($outFileName)+".png" + --plotFile $newoutFileName + + #if $output.showOutputSettings == "yes" + --plotFileFormat $output.outFileFormat + #if $output.saveRawCounts: + --outRawCounts '$outFileRawCounts' + #end if + #else + --plotFileFormat 'png' + #end if + + #if str($region).strip() != '': + --region '$region' + #end if + + #if $advancedOpt.showAdvancedOpt == "yes": + --binSize '$advancedOpt.binSize' + --numberOfSamples '$advancedOpt.numberOfSamples' + + $advancedOpt.doNotExtendPairedEnds + $advancedOpt.ignoreDuplicates + $advancedOpt.skipZeros + + #if $advancedOpt.minMappingQuality: + --minMappingQuality '$advancedOpt.minMappingQuality' + #end if + #end if + ; mv $newoutFileName $outFileName + ; rm $temp_dir -rf +]]> + </command> + + <inputs> + <expand macro="multiple_input_bams" /> + <expand macro="fragmentLength" /> + <expand macro="region_limit_operation" /> + + <conditional name="advancedOpt"> + <param name="showAdvancedOpt" type="select" label="Show advanced options" > + <option value="no" selected="true">no</option> + <option value="yes">yes</option> + </param> + <when value="no" /> + <when value="yes"> + <param name="binSize" type="integer" value="500" min="1" + label="Bin size in bp" + help="Length in base pairs for a window used to sample the genome."/> + <param name="numberOfSamples" type="integer" value="100000" min="1" + label="Number of samples" + help="Number of samples taken from the genome to compute the scaling factors. (--numberOfSamples)"/> + <expand macro="doNotExtendPairedEnds" /> + <expand macro="ignoreDuplicates" /> + <expand macro="minMappingQuality" /> + <expand macro="skipZeros" /> + + </when> + </conditional> + <conditional name="output"> + <param name="showOutputSettings" type="select" label="Show advanced output settings"> + <option value="no" selected="true">no</option> + <option value="yes">yes</option> + </param> + <when value="no" /> + <when value="yes"> + <expand macro="input_image_file_format" /> + <param name="saveRawCounts" type="boolean" label="Save the bin counts"/> + </when> + </conditional> + </inputs> + <outputs> + <expand macro="output_image_file_format" /> + <data format="tabular" name="outFileRawCounts" label="${tool.name} on ${on_string}: bin counts"> + <filter> + (( + output['showOutputSettings'] == 'yes' and + output['saveRawCounts'] is True + )) + </filter> + </data> + </outputs> + <tests> + <test> + <repeat name="input_files"> + <param name="bamfile" value="bowtie2-test1.bam" ftype="bam" /> + </repeat> + <repeat name="input_files"> + <param name="bamfile" value="bowtie2-test1.bam" ftype="bam" /> + </repeat> + <param name="fragmentLength" value="200" /> + <param name="showAdvancedOpt" value="no" /> + <param name="showOutputSettings" value="no" /> + <output name="outFileName" file="bamFingerprint_result1.png" ftype="png" /> + </test> + </tests> + <help> +<![CDATA[ +**What it does** + +This tool is useful to assess the strength of a ChIP (i.e. how clearly the enrichment signal can be separated from the background signal) +and it is based on a method developed by Diaz et al. (2012) Stat Appl Genet Mol Biol 11(3). + +The tool first samples indexed BAM files and counts all reads overlapping a window (bin) of specified length. +These counts are then sorted according to their rank (the bin with the highest number of reads has the highest rank) +and the cumulative sum of read counts are plotted. An ideal input (control sample) with perfect uniform distribution of reads +along the genome (i.e. without enrichments in open chromatin etc.) should +generate a straight diagonal line. A very specific and strong ChIP enrichment will be indicated by a prominent and steep +rise of the cumulative sum towards the highest rank. This means that a big chunk of reads from the ChIP sample is located in +few bins which corresponds to high, narrow enrichments seen for transcription factors. + + +.. image:: $PATH_TO_IMAGES/QC_fingerprint.png + + +You can find more details on the bamFingerprint wiki page: https://github.com/fidelram/deepTools/wiki/QC#wiki-bamFingerprint + + +**Output files**: + +- Diagnostic plot +- Data matrix of raw counts + +----- + +@REFERENCES@ +]]> + </help> + <expand macro="citations" /> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bamPEFragmentSize.xml Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,56 @@ +<tool id="deeptools_bamPEFragmentSize" name="bamPEFragmentSize" version="@WRAPPER_VERSION@.0"> + <description>Given a BAM file it samples several regions to estimate the paird-end fragment length</description> + <expand macro="requirements" /> + <expand macro="stdio" /> + <macros> + <token name="@BINARY@">bamPEFragmentSize</token> + <import>deepTools_macros.xml</import> + </macros> + <command> +<![CDATA[ + bamPEFragmentSize + @THREADS@ + -bai ${bamInput.metadata.bam_index} + #if $histogram: + --histogram ./hist.png + #end if + '$bamInput' + > $outfile + && + mv ./hist.png $histogram_outfile +]]> + </command> + <inputs> + <param name="bamInput" format="bam" type="data" label="BAM file" + help="The BAM file must be sorted."/> + <param name="histogram" type="boolean" truevalue="--histogram" falsevalue="" + label="Get the distribion of fragment length as histogram" + help="(--histogram)"/> + </inputs> + <outputs> + <data name="outfile" format="txt"/> + <data name="histogram_outfile" format="png"> + <filter>histogram is True</filter> + </data> + </outputs> + <tests> + <test> + <param name="bamInput" value="bowtie2-test1.bam" ftype="bam" /> + <param name="histogram" value="True" /> + <output name="outfile" file="bamPEFragmentSize_result1.txt" ftype="txt" /> + <output name="histogram_outfile" file="bamPEFragmentSize_histogram_result1.png" ftype="png" /> + </test> + </tests> + <help> +<![CDATA[ +**What it does** + +Given a BAM file it samples several regions to estimate the paird-end fragment length. + +----- + +@REFERENCES@ +]]> + </help> + <expand macro="citations" /> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bigwigCompare.xml Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,133 @@ +<tool id="deeptools_bigwigCompare" name="bigwigCompare" version="@WRAPPER_VERSION@.0"> + <description>normalizes and compares two bigWig files to obtain the ratio, log2ratio or difference</description> + <expand macro="requirements"/> + <expand macro="stdio" /> + <macros> + <token name="@BINARY@">bigwigCompare</token> + <import>deepTools_macros.xml</import> + </macros> + <command> +<![CDATA[ + bigwigCompare + + @THREADS@ + + --bigwig1 '$bigwigFile1' + --bigwig2 '$bigwigFile2' + + --outFileName '$outFileName' + --outFileFormat '$outFileFormat' + + --ratio $comparison.comparison_select + + #if $comparison.comparison_select in ['ratio','log2']: + --pseudocount $comparison.pseudocount + #end if + + #if str($region).strip() != '': + --region '$region' + #end if + + #if $advancedOpt.showAdvancedOpt == "yes": + + --missingDataAsZero $advancedOpt.missingDataAsZero + --scaleFactors '$advancedOpt.scaleFactor1:$advancedOpt.scaleFactor2' + --binSize $advancedOpt.binSize + + #end if +]]> + </command> + <inputs> + <param name="bigwigFile1" format="bigwig" type="data" label="Treatment bigwig file" /> + <param name="bigwigFile2" format="bigwig" type="data" label="bigWig file" /> + + <conditional name="comparison"> + <param name="comparison_select" type="select" + label="How to compare the two files" help="(--ratio)"> + <option value="log2" selected="true">compute log2 of the number of reads ratio</option> + <option value="ratio">compute the ratio of the number of reads</option> + <option value="subtract">compute difference (subtract input from treatment) of the number of reads</option> + <option value="add">compute the sum over all reads</option> + <option value="reciprocal_ratio">compute the reciprocal ratio of the number of reads</option> + </param> + <when value="log2"> + <expand macro="pseudocount" /> + </when> + <when value="ratio"> + <expand macro="pseudocount" /> + </when> + <when value="subtract" /> + <when value="add" /> + <when value="reciprocal_ratio" /> + </conditional> + + <param name="outFileFormat" type="select" label="Coverage file format"> + <option value="bigwig" selected="true">bigwig</option> + <option value="bedgraph">bedgraph</option> + </param> + + <expand macro="region_limit_operation" /> + + <conditional name="advancedOpt"> + <param name="showAdvancedOpt" type="select" label="Show advanced options" > + <option value="no" selected="true">no</option> + <option value="yes">yes</option> + </param> + <when value="no" /> + <when value="yes"> + <param name="binSize" type="integer" value="50" min="1" + label="Length, in base pairs, of the non-overlapping bin for averaging the score over the regions length" + help="Size of the bins in bp for the output of the bigwig/bedgraph file. (--binSize)"/> + <param name="missingDataAsZero" type="boolean" truevalue="yes" falsevalue="no" checked="True" + label ="Treat missing data as zero" + help ="This parameter determines if missing data should be replaced with a zero. If set to "no", missing data will be ignored and will not be included in the output file at all. Missing data is defined as those regions for which no value exists in *any* of the bigwig files. The decision to include or exclude missing data depends on the interpretation of the data. Missing data in a bigwig file may mean that there is no information available for certain regions, for example a repetitive region that is not being considered. In the same file regions with low coverage may get zero read counts. If missing data is replaced by zero, this would convert the excluded repetitive regions into regions of low coverage. (--missingDataAsZero)" /> + <expand macro="scaleFactor" /> + </when> + </conditional> + </inputs> + <outputs> + <data format="bigwig" name="outFileName"> + <change_format> + <when input="outFileFormat" value="bigwig" format="bigwig" /> + <when input="outFileFormat" value="bedgraph" format="bedgraph" /> + </change_format> + </data> + </outputs> + <tests> + <test> + <param name="bigwigFile1" value="1.bigwig" ftype="bigwig" /> + <param name="bigwigFile2" value="1.bigwig" ftype="bigwig" /> + <param name="showAdvancedOpt" value="no" /> + <param name="outFileFormat" value="bigwig" /> + <param name="binSize" value="5" /> + <param name="comparison_select" value="ratio" /> + <output name="outFileName" file="bigwigCompare_result1.bw" ftype="bigwig" /> + </test> + <test> + <param name="bigwigFile1" value="1.bigwig" ftype="bigwig" /> + <param name="bigwigFile2" value="1.bigwig" ftype="bigwig" /> + <param name="showAdvancedOpt" value="no" /> + <param name="outFileFormat" value="bedgraph" /> + <param name="binSize" value="10" /> + <param name="comparison_select" value="ratio" /> + <output name="outFileName" file="bigwigCompare_result2.bg" ftype="bedgraph" /> + </test> + </tests> + <help> +<![CDATA[ +**What it does** + +This tool compares two bigwig files based on the number of mapped reads. To +compare the bigwig files the genome is partitioned into bins of equal size, +then the number of reads found in each BAM file are counted for such bins and +finally a summarizing value is reported. This value can be the ratio of the +number of reads per bin, the log2 of the ratio, the sum or the difference. + + +----- + +@REFERENCES@ +]]> + </help> + <expand macro="citations" /> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/computeGCBias.xml Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,167 @@ +<tool id="deeptools_computeGCBias" name="computeGCBias" version="@WRAPPER_VERSION@.0"> + <description>to see whether your samples should be normalized for GC bias</description> + <expand macro="requirements" /> + <expand macro="stdio" /> + <macros> + <token name="@BINARY@">computeGCBias</token> + <import>deepTools_macros.xml</import> + </macros> + <command> +<![CDATA[ + ln -s $bamInput local_bamInput.bam; + ln -s $bamInput.metadata.bam_index local_bamInput.bam.bai; + + computeGCBias + @THREADS@ + + --bamfile 'local_bamInput.bam' + --GCbiasFrequenciesFile $outFileName + --fragmentLength $fragmentLength + + @reference_genome_source@ + + #if $effectiveGenomeSize.effectiveGenomeSize_opt == "specific": + --effectiveGenomeSize $effectiveGenomeSize.effectiveGenomeSize + #else: + --effectiveGenomeSize $effectiveGenomeSize.effectiveGenomeSize_opt + #end if + + #if str($region).strip() != '': + --region '$region' + #end if + + #if $advancedOpt.showAdvancedOpt == "yes": + + --sampleSize '$advancedOpt.sampleSize' + --regionSize '$advancedOpt.regionSize' + + #if $advancedOpt.filterOut: + --filterOut $advancedOpt.filterOut + #end if + + #if $advancedOpt.extraSampling: + --extraSampling $advancedOpt.extraSampling + #end if + #end if + + #if str($image_format) != 'none': + --biasPlot $outImageName + --plotFileFormat $image_format + #end if +]]> + </command> + <inputs> + <param name="bamInput" format="bam" type="data" label="BAM file" + help="The BAM file must be sorted."/> + + <expand macro="reference_genome_source" /> + <expand macro="effectiveGenomeSize" /> + <expand macro="fragmentLength" /> + <expand macro="region_limit_operation" /> + + <conditional name="advancedOpt"> + <param name="showAdvancedOpt" type="select" label="Show advanced options" > + <option value="no" selected="true">no</option> + <option value="yes">yes</option> + </param> + <when value="no" /> + <when value="yes"> + <param name="sampleSize" type="integer" value="50000000" min="1" + label="Number of sampling points to be considered" help="(--sampleSize)" /> + <param name="regionSize" type="integer" value="300" min="1" + label="Region size" + help ="To plot the reads per GC over a region, the size of the region is required (see below for more details of the mthod). By default, the bin size is set to 300 bp, which is close to the standard fragment size many sequencing applications. However, if the depth of sequencing is low, a larger bin size will be required, otherwise many bins will not overlap with any read. (--regionSize)"/> + <param name="filterOut" type="data" format="bed" optional="true" + label="BED file containing genomic regions to be excluded from the estimation of the correction" + help="Such regions usually contain repetitive regions and peaks that if included will bias the correction. It is recommended to filter out known repetitive regions if multi-reads (reads that map to more than one genomic position) were excluded. In the case of ChIP-seq data, it is recommended to first use a peak caller to identify and filter out the identified peaks. (--filterOut)" /> + <param name="extraSampling" type="data" format="bed" optional="true" + label="BED file containing genomic regions for which extra sampling is required because they are underrepresented in the genome" + help="(--extraSampling)" /> + </when> + </conditional> + <param name="image_format" type="select" + label="GC bias plot" + help="If given, a diagnostic image summarizing the GC bias found on the sample will be created. (--plotFileFormat)"> + <option value="none">No image</option> + <option value="png" selected="true">Image in png format</option> + <option value="pdf">Image in pdf format</option> + <option value="svg">Image in svg format</option> + <option value="eps">Image in eps format</option> + <option value="emf">Image in emf format</option> + </param> + </inputs> + <outputs> + <data name="outFileName" format="tabular" /> + <data name="outImageName" format="png" label="${tool.name} GC-bias Plot"> + <filter> + (( + image_format != 'none' + )) + </filter> + <change_format> + <when input="image_format" value="pdf" format="pdf" /> + <when input="image_format" value="svg" format="svg" /> + <when input="image_format" value="eps" format="eps" /> + <when input="image_format" value="emf" format="emf" /> + </change_format> + </data> + </outputs> + <tests> + <test> + <param name="bamInput" value="phiX.bam" ftype="bam" /> + <param name="image_format" value="png" /> + <param name="showAdvancedOpt" value="yes" /> + <param name="regionSize" value="1" /> + <param name="fragmentLength" value="100" /> + <param name="ref_source" value="history" /> + <param name="input1" value="phiX.2bit" /> + <output name="outFileName" file="computeGCBias_result1.tabular" ftype="tabular" /> + <output name="outImageName" file="computeGCBias_result1.png" ftype="png" /> + </test> + </tests> + <help> +<![CDATA[ +**What it does** + +This tool computes the GC bias using the method proposed by Benjamini and Speed (2012) Nucleic Acids Res. (see below for more explanations) +The output is used to plot the bias and can also be used later on to correct the bias with the tool correctGCbias. +There are two plots produced by the tool: a boxplot showing the absolute read numbers per genomic-GC bin and an x-y plot +depicting the ratio of observed/expected reads per genomic GC content bin. + +----- + +**Summary of the method used** + +In order to estimate how many reads with what kind of GC content one should have sequenced, we first need to determine how many regions the specific +reference genome contains for each amount of GC content, i.e. how many regions in the genome have 50% GC (or 10% GC or 90% GC or...). +We then sample a large number of equally sized genome bins and count how many times we see a bin with 50% GC (or 10% GC or 90% or...). These EXPECTED values are independent of any +sequencing as it only depends on the respective reference genome (i.e. it will most likely vary between mouse and fruit fly due to their genome's different GC contents). +The OBSERVED values are based on the reads from the sequenced sample. Instead of noting how many genomic regions there are per GC content, we now count the reads per GC content. +In an ideal sample without GC bias, the ratio of OBSERVED/EXPECTED values should be close to 1 regardless of the GC content. Due to PCR (over)amplifications, the majority of ChIP samples +usually shows a significant bias towards reads with high GC content (>50%) + +.. image:: $PATH_TO_IMAGES/QC_GCplots_input.png + + +You can find more details on the computeGCBias wiki page: computeGCBias wiki: https://github.com/fidelram/deepTools/wiki/QC#wiki-computeGCbias + + +**Output files**: + +- Diagnostic plot + + - box plot of absolute read numbers per genomic GC bin + - x-y plot of observed/expected read ratios per genomic GC content bin + +- Data matrix + + - to be used for GC correction with correctGCbias + + +----- + +@REFERENCES@ +]]> + </help> + <expand macro="citations" /> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/computeMatrix.xml Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,269 @@ +<tool id="deeptools_computeMatrix" name="computeMatrix" version="@WRAPPER_VERSION@.0"> + <description>summarizes and prepares an intermediary file containing scores associated with genomic regions that can be used afterwards to plot a heatmap or a profile</description> + <expand macro="requirements" /> + <expand macro="stdio" /> + <macros> + <token name="@BINARY@">computeMatrix</token> + <import>deepTools_macros.xml</import> + </macros> + <command> +<![CDATA[ + #import tempfile + + #set $temp_input_handle = tempfile.NamedTemporaryFile() + #set $temp_input_path = $temp_input_handle.name + #silent $temp_input_handle.close() + + #for $rf in $regionsFiles: + cat "$rf.regionsFile" >> $temp_input_path; + #if str($rf.label.value).strip(): + echo "\#$rf.label.value" >> $temp_input_path; + #else: + echo "\#$rf.regionsFile.name" >> $temp_input_path; + #end if + #end for + + computeMatrix + + $mode.mode_select + --regionsFileName '$temp_input_path' + --scoreFileName '$scoreFile' + --outFileName '$outFileName' + + @THREADS@ + + #if $output.showOutputSettings == "yes" + #if $output.saveData: + --outFileNameData '$outFileNameData' + #end if + #if $output.saveMatrix: + --outFileNameMatrix '$outFileNameMatrix' + #end if + + #if $output.saveSortedRegions: + --outFileSortedRegions '$outFileSortedRegions' + #end if + #end if + + #if $mode.mode_select == "reference-point": + --referencePoint $mode.referencePoint + $mode.nanAfterEnd + --beforeRegionStartLength $mode.beforeRegionStartLength + --afterRegionStartLength $mode.afterRegionStartLength + #else + --regionBodyLength $mode.regionBodyLength + --startLabel "$mode.startLabel" + --endLabel "$mode.endLabel" + #if $mode.regionStartLength.regionStartLength_select == "yes": + --beforeRegionStartLength $mode.regionStartLength.beforeRegionStartLength + --afterRegionStartLength $mode.regionStartLength.afterRegionStartLength + #end if + #end if + + #if $advancedOpt.showAdvancedOpt == "yes": + --sortRegions '$advancedOpt.sortRegions' + --sortUsing '$advancedOpt.sortUsing' + --averageTypeBins '$advancedOpt.averageTypeBins' + $advancedOpt.missingDataAsZero + $advancedOpt.skipZeros + --binSize $advancedOpt.binSize + + #if $advancedOpt.minThreshold: + --minThreshold $advancedOpt.minThreshold + #end if + #if $advancedOpt.maxThreshold: + --maxThreshold $advancedOpt.maxThreshold + #end if + #if $advancedOpt.scale: + --scale $advancedOpt.scale + #end if + + #end if + ; rm $temp_input_path +]]> + </command> + <inputs> + + <repeat name="regionsFiles" title="regions to plot" min="1"> + <param name="regionsFile" format="bed" type="data" label="Regions to plot" help="File, in BED format, containing the regions to plot."/> + <param name="label" type="text" size="30" optional="true" value="" label="Label" help="Label to use in the output."/> + </repeat> + + <param name="scoreFile" format="bigwig" type="data" + label="Score file" + help="Should be a bigWig file (containing a score, usually covering the whole genome). You can generate a bigWig file either from a bedGraph or WIG file using UCSC tools or from a BAM file using the deepTool bamCoverage. (-scoreFile)"/> + + <conditional name="mode" > + <param name="mode_select" type="select" + label="computeMatrix has two main output options" + help="In the scale-regions mode, all regions in the BED file are stretched or shrunk to the same length (bp) that is indicated by the user. Reference-point refers to a position within the BED regions (e.g start of region). In the reference-point mode only those genomic positions before (downstream) and/or after (upstream) the reference point will be plotted."> + <option value="scale-regions" selected="true">scale-regions</option> + <option value="reference-point">reference-point</option> + </param> + + <when value="scale-regions" > + <param name="regionBodyLength" type="integer" value="500" + label="Distance in bp to which all regions are going to be fitted" help="(--regionBodyLength)"/> + <param name="startLabel" type="text" value="TSS" size="10" + label="Label for the region start" + help ="Label shown in the plot for the start of the region. Default is TSS (transcription start site), but could be changed to anything, e.g. "peak start". (--startLabel)" /> + <param name="endLabel" type="text" value="TES" size="10" + label="Label for the region end" + help="Label shown in the plot for the region end. Default is TES (transcription end site). (--endLabel)"/> + <conditional name="regionStartLength"> + <param name="regionStartLength_select" type="select" label="Set distance up- and downstream of the given regions"> + <option value="no" selected="true">no</option> + <option value="yes">yes</option> + </param> + <when value="no" /> + <when value="yes"> + <param name="beforeRegionStartLength" type="integer" value="1000" min="1" + label="Distance upstream of the start site of the regions defined in the region file" + help="If the regions are genes, this would be the distance upstream of the transcription start site. (--beforeRegionStartLength)"/> + <param name="afterRegionStartLength" type="integer" value="1000" min="1" + label="Distance downstream of the end site of the given regions" + help="If the regions are genes, this would be the distance downstream of the transcription end site. (--afterRegionStartLength)"/> + </when> + </conditional> + </when> + <when value="reference-point"> + <param name="referencePoint" type="select" label="The reference point for the plotting"> + <option value="TSS" selected="true">beginning of region (e.g. TSS)</option> + <option value="TES">end of region (e.g. TES)</option> + <option value="center">center of region</option> + </param> + <param name="nanAfterEnd" type="boolean" truevalue="--nanAfterEnd" falsevalue="" + label="Discard any values after the region end" + help="This is useful to visualize the region end when not using the scale-regions mode and when the reference-point is set to the TSS. (--nanAfterEnd)"/> + <param name="beforeRegionStartLength" type="integer" value="1000" min="1" + label="Distance upstream of the start site of the regions defined in the region file" + help="If the regions are genes, this would be the distance upstream of the transcription start site. (--beforeRegionStartLength)"/> + <param name="afterRegionStartLength" type="integer" value="1000" min="1" + label="Distance downstream of the end site of the given regions" + help="If the regions are genes, this would be the distance downstream of the transcription end site. (--afterRegionStartLength)"/> + </when> + </conditional> + + <expand macro="input_graphic_output_settings"> + <expand macro="input_save_matrix_values" /> + </expand> + + <conditional name="advancedOpt" > + <param name="showAdvancedOpt" type="select" label="Show advanced options" > + <option value="no" selected="true">no</option> + <option value="yes">yes</option> + </param> + <when value="no" /> + <when value="yes"> + <param name="binSize" type="integer" value="10" min="1" + label="Length, in base pairs, of the non-overlapping bin for averaging the score over the regions length" + help="(--binSize)"/> + <param name="sortRegions" type="select" label="Sort regions" + help="Whether the output file should present the regions sorted."> + <option value="no" selected="true">no ordering</option> + <option value="descend">descending order</option> + <option value="ascend">ascending order</option> + </param> + + <param name="sortUsing" type="select" label="Method used for sorting" + help="The value is computed for each row. (--sortUsing)" > + <option value="mean" selected="true">mean</option> + <option value="median">median</option> + <option value="min">min</option> + <option value="max">max</option> + <option value="sum">sum</option> + <option value="region_length">region length</option> + </param> + + <param name="averageTypeBins" type="select" + label="Define the type of statistic that should be displayed." + help="The value is computed for each bin. (--averageTypeBins)"> + <option value="mean" selected="true">mean</option> + <option value="median">median</option> + <option value="min">min</option> + <option value="max">max</option> + <option value="sum">sum</option> + <option value="std">std</option> + </param> + + <param name="missingDataAsZero" type="boolean" truevalue="--missingDataAsZero" falsevalue="" + label="Indicate missing data as zero" + help="Set to "yes", if missing data should be indicated as zeros. Default is to ignore such cases which will be depicted as black areas in the heatmap. (see "Missing data color" options of the heatmapper for additional options). (--missingDataAsZero)"/> + <param name="skipZeros" type="boolean" truevalue="--skipZeros" falsevalue="" + label="Skip zeros" + help="Whether regions with only scores of zero should be included or not. Default is to include them. (--skipZeros)"/> + <param name="minThreshold" type="float" optional="True" + label="Minimum threshold" + help="Any region containing a value that is equal or less than this numeric value will be skipped. This is useful to skip, for example, genes where the read count is zero for any of the bins. This could be the result of unmappable areas and can bias the overall results. (--minThreshold)"/> + <param name="maxThreshold" type="float" optional="True" + label="Maximum threshold" + help="Any region containing a value that is equal or higher that this numeric value will be skipped. The max threshold is useful to skip those few regions with very high read counts (e.g. major satellites) that may bias the average values. (--maxThreshold)"/> + <param name="scale" type="float" optional="True" label="Scaling factor" + help="If set, all values are multiplied by this number. (--scale)"/> + </when> + </conditional> + </inputs> + <outputs> + <data format="bgzip" name="outFileName" label="${tool.name} on ${on_string}: Matrix" /> + <expand macro="output_graphic_outputs" /> + <expand macro="output_save_matrix_values" /> + </outputs> + <!-- + computeMatrix -S test.bw -R test2.bed -a 100 -b 100 -bs 1 + --> + <tests> + <test> + <param name="regionsFile" value="computeMatrix1.bed" ftype="bed" /> + <param name="scoreFile" value="bamCoverage_result4.bw" ftype="bigwig" /> + <param name="showAdvancedOpt" value="yes" /> + <param name="mode_select" value="reference-point" /> + <param name="binSize" value="10" /> + <param name="sortUsing" value="sum" /> + <param name="averageTypeBins" value="sum" /> + <param name="missingDataAsZero" value="True" /> + <param name="beforeRegionStartLength" value="10" /> + <param name="afterRegionStartLength" value="10" /> + <output name="outFileName" file="computeMatrix_result1.gz" ftype="bgzip" compare="sim_size" /> + </test> + <test> + <param name="regionsFile" value="computeMatrix2.bed" ftype="bed" /> + <param name="scoreFile" value="computeMatrix2.bw" ftype="bigwig" /> + <param name="showAdvancedOpt" value="yes" /> + <param name="mode_select" value="reference-point" /> + <param name="binSize" value="10" /> + <param name="beforeRegionStartLength" value="10" /> + <param name="afterRegionStartLength" value="10" /> + <output name="outFileName" file="computeMatrix_result2.gz" ftype="bgzip" compare="sim_size" /> + </test> + </tests> + <help> +<![CDATA[ +**What it does** + +This tool prepares an intermediary file (a gzipped table of values) +that contains scores associated with genomic regions that can be used +afterwards to plot a heatmap or a profile. + +Genomic regions can really be anything - genes, parts of genes, ChIP-seq +peaks, favorite genome regions... as long as you provide a proper file +in BED or INTERVAL format. If you would like to compare different groups of regions +(i.e. genes from chromosome 2 and 3), you can supply more than 1 BED file, one for each group. + +computeMatrix can also be used to filter and sort +regions according to their score by making use of its advanced output options. + + +.. image:: $PATH_TO_IMAGES/flowChart_computeMatrixetc.png + :alt: Relationship between computeMatrix, heatmapper and profiler + + +You can find more details on the computeMatrix wiki page: https://github.com/fidelram/deepTools/wiki/Visualizations#wiki-computeMatrix + + +----- + +@REFERENCES@ +]]> + </help> + <expand macro="citations" /> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/correctGCBias.xml Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,76 @@ +<tool id="deeptools_correctGCBias" name="correctGCBias" version="@WRAPPER_VERSION@.0"> + <description>uses the output from computeGCBias to generate corrected BAM files</description> + <expand macro="requirements" /> + <expand macro="stdio" /> + <macros> + <token name="@BINARY@">correctGCBias</token> + <import>deepTools_macros.xml</import> + </macros> + <command> +<![CDATA[ + ln -s $bamInput local_bamInput.bam; + ln -s $bamInput.metadata.bam_index local_bamInput.bam.bai; + + correctGCBias + @THREADS@ + --bamfile local_bamInput.bam + --GCbiasFrequenciesFile $GCbiasFrequenciesFile + + @reference_genome_source@ + + #if $effectiveGenomeSize.effectiveGenomeSize_opt == "specific": + --effectiveGenomeSize $effectiveGenomeSize.effectiveGenomeSize + #else: + --effectiveGenomeSize $effectiveGenomeSize.effectiveGenomeSize_opt + #end if + + #if str($region).strip() != '': + --region '$region' + #end if + --correctedFile $outFileName +]]> + </command> + <inputs> + <param name="GCbiasFrequenciesFile" type="data" format="tabular" label="Output of computeGCBias" /> + <param name="bamInput" format="bam" type="data" + label="BAM file" help="This should be same file that was used for computeGCbias. The BAM file must be sorted."/> + <expand macro="reference_genome_source" /> + <expand macro="effectiveGenomeSize" /> + <expand macro="region_limit_operation" /> + </inputs> + <outputs> + <data format="bam" name="outFileName" /> + </outputs> + <tests> + <test> + <param name="GCbiasFrequenciesFile" value="computeGCBias_result1.tabular" ftype="tabular" /> + <param name="bamInput" value="phiX.bam" ftype="bam" /> + <param name="ref_source" value="history" /> + <param name="input1" value="phiX.2bit" /> + <param name="effectiveGenomeSize_opt" value="specific" /> + <param name="effectiveGenomeSize" value="5386" /> + <output name="outFileName" file="correctGCBias_result1.bam" ftype="bam" compare="sim_size" /> + </test> + </tests> + <help> +<![CDATA[ +**What it does** + +This tool requires the output from computeGCBias to correct a given BAM file according to the method proposed by +Benjamini and Speed (2012) Nucleic Acids Res. +The resulting BAM file can be used in any downstream analyses, but be aware that you should not filter out duplicates from here on. + +You can find more details on the correctGCBias wiki page: https://github.com/fidelram/deepTools/wiki/QC#wiki-correctGCbias + + +**Output files**: + +- GC-normalized BAM file + +----- + +@REFERENCES@ +]]> + </help> + <expand macro="citations" /> +</tool>
--- a/datatypes_conf.xml Sat Apr 12 07:25:47 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -<?xml version="1.0"?> -<datatypes> - <registration> - <datatype extension="cps" type="galaxy.datatypes.binary:Binary" subclass="True" display_in_upload="true" /> - </registration> -</datatypes>
--- a/dbtoolkit-4.2/LICENSE-2.0.txt Sat Apr 12 07:25:47 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License.
--- a/dbtoolkit-4.2/lib/jargs-1.0.jar Sat Apr 12 07:25:47 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -<?xml version="1.0"?> -<tool_dependency> - <package name="SearchGUI" version="1.13.1"> - <install version="1.0"> - <actions> - <action type="download_by_url">http://searchgui.googlecode.com/files/SearchGUI-1.13.1_mac_and_linux.zip</action> - <action type="shell_command">tar -xf $DIR_NAME/*.tar</action> - <action type="shell_command">cd $DIR_NAME</action> - <action type="shell_command">chmod -R $DIR_NAME/*resources</action> - <action type="move_directory_files"> - <source_directory>.</source_directory> - <destination_directory>$INSTALL_DIR/</destination_directory> - </action> - <action type="shell_command">mkdir -p $BIN_DIR</action> - <action type="set_environment"> - <environment_variable name="PATH" action="prepend_to">$INSTALL_DIR</environment_variable> - </action> - </actions> - </install> - <readme> - This package downloads and installs the SearchGUI scripts develped as part of the Peptideshaker tool. - (https://github.com/jmchilton/peptide-shaker). - - </readme> - </package> - - <package name="PeptideShaker" version="0.20.1"> - <install version="1.0"> - <actions> - <action type="download_by_url">http://peptide-shaker.googlecode.com/files/PeptideShaker-0.20.1.zip</action> - <action type="shell_command">chmod -R o+w resources</action> - <action type="move_directory_files"> - <source_directory>.</source_directory> - <destination_directory>$INSTALL_DIR/</destination_directory> - </action> - <action type="shell_command">mkdir -p $BIN_DIR</action> - <action type="set_environment"> - <environment_variable name="PATH" action="prepend_to">$INSTALL_DIR</environment_variable> - </action> - </actions> - </install> - <readme> - This package downloads and installs the peptideshaker tool as a part of the peptideshaker framework. - (https://github.com/jmchilton/peptide-shaker). - - </readme> - </package> -</tool_dependency>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/deepTools_macros.xml Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,480 @@ +<macros> + <xml name="bamCorrelate_mode_actions"> + + <expand macro="region_limit_operation" /> + + <conditional name="advancedOpt"> + <param name="showAdvancedOpt" type="select" label="Show advanced options" > + <option value="no" selected="true">no</option> + <option value="yes">yes</option> + </param> + <when value="no" /> + <when value="yes"> + <expand macro="doNotExtendPairedEnds" /> + <expand macro="ignoreDuplicates" /> + <expand macro="minMappingQuality" /> + <param name="includeZeros" type="boolean" truevalue="--includeZeros" falsevalue="" + label="Include zeros" + help="If set, then regions with zero counts for *all* BAM files given are included. The default behavior is to ignore those cases. (--includeZeros)" /> + <param name="zMin" type="integer" value="" optional="true" label="Minimum value for the heatmap intensities" + help="If not specified the value is set automatically. (--zMin)"/> + <param name="zMax" type="integer" value="" optional="true" label="Maximum value for the heatmap intensities" + help="If not specified the value is set automatically. (--zMax)"/> + <expand macro="colormap" /> + </when> + </conditional> + </xml> + + <xml name="region_limit_operation"> + <param name="region" type="text" value="" + label="Region of the genome to limit the operation to" + help="This is useful when testing parameters to reduce the computing time. The format is chr:start:end, for example "chr10" or "chr10:456700:891000". (--region)" /> + </xml> + <token name="@THREADS@">--numberOfProcessors "\${GALAXY_SLOTS:-4}"</token> + <token name="@WRAPPER_VERSION@">1.5.9.1</token> + <xml name="requirements"> + <requirements> + <requirement type="binary">@BINARY@</requirement> + <requirement type="package" >samtools</requirement> + <requirement type="package" >deepTools</requirement> + <requirement type="package" >ucsc_tools</requirement> + <requirement type="package" version="2.7">python</requirement> + <requirement type="package" version="1.5.9.1">deepTools</requirement> + <requirement type="package" version="0.1">ucsc_tools</requirement> + <requirement type="package" version="1.9">numpy</requirement> + <requirement type="package" version="0.8.1">pysam</requirement> + <requirement type="package" version="0.14">scipy</requirement> + <requirement type="package" version="1.4">matplotlib</requirement> + <requirement type="package" version="0.1.19">samtools</requirement> + <requirement type="package" version="0.7.2">bx-python</requirement> + <yield /> + </requirements> + <version_command>@BINARY@ --version</version_command> + </xml> + + <xml name="kmeans_clustering"> + <conditional name="used_multiple_regions"> + <param name="used_multiple_regions_options" type="select" + label="Did you compute the matrix with more than one groups of regions?" + help="Would you like to cluster the regions according to the similarity of the signal distribution? This is only possible if you used computeMatrix on only one group of regions."> + <option value="yes">Yes, I used multiple groups of regions</option> + <option value="no">No, I used only one region.</option> + </param> + <when value="no"> + <conditional name="clustering"> + <param name="clustering_options" type="select" label="Clustering algorithm"> + <option value="none">No clustering</option> + <option value="kmeans">Kmeans clustering</option> + </param> + <when value="kmeans"> + <param name="k_kmeans" type="integer" value="0" label="Number of clusters to compute" + help="When this option is set, then the matrix is split into clusters using the kmeans algorithm. Only works for data that is not grouped, otherwise only the first group will be clustered. If more specific clustering methods are required it is advisable to save the underlying matrix and run the clustering using other software. The plotting of the clustering may fail (Error: Segmentation fault) if a cluster has very few members compared to the total number or regions. (default: None)."/> + </when> + <when value="none" /> + </conditional> + </when> + <when value="yes" /> + </conditional> + </xml> + + <token name="@KMEANS_CLUSTERING@"> + #if $advancedOpt.used_multiple_regions.used_multiple_regions_options == 'no': + #if $advancedOpt.used_multiple_regions.clustering.clustering_options == 'kmeans': + #if int($advancedOpt.used_multiple_regions.clustering.k_kmeans) > 0: + --kmeans $advancedOpt.used_multiple_regions.clustering.k_kmeans + #end if + #end if + #end if + </token> + + <xml name="doNotExtendPairedEnds"> + <param name="doNotExtendPairedEnds" type="boolean" truevalue="--doNotExtendPairedEnds" falsevalue="" + label="Do not extend paired ends" + help="If set, reads are not extended to match the fragment length reported in the BAM file, instead they will be extended to match the fragment length. Default is to extend the reads if paired end information is available. (--doNotExtendPairedEnds)"/> + </xml> + + <xml name="ignoreDuplicates"> + <param name="ignoreDuplicates" type="boolean" truevalue="--ignoreDuplicates" falsevalue="" + label="Ignore duplicates" + help="If set, reads that have the same orientation and start position will be considered only once. If reads are paired, the mate position also has to coincide to ignore a read. (--ignoreDuplicates)" /> + </xml> + + <xml name="minMappingQuality"> + <param name="minMappingQuality" type="integer" optional="true" value="1" min="1" + label="Minimum mapping quality" + help= "If set, only reads that have a mapping quality score higher than the given value are considered. *Note* Bowtie's Mapping quality is related to uniqueness: the higher the score, the more unique is a read. A mapping quality defined by Bowtie of 10 or less indicates that there is at least a 1 in 10 chance that the read truly originated elsewhere. (--minMappingQuality)"/> + </xml> + + <xml name="skipZeros"> + <param name="skipZeros" type="boolean" truevalue="--skipZeros" falsevalue="" + label ="Skip zeros" + help ="If set, then zero counts that happen for *all* BAM files given are ignored. This might have the effect that fewer regions are considered than indicated in the option where the number of samples is defined. (--skipZeros)" /> + </xml> + + <xml name="fragmentLength"> + <param name="fragmentLength" type="integer" value="300" min="1" + label="Fragment length used for the sequencing" + help ="If paired-end reads are used, the fragment length is computed from the BAM file. (--fragmentLength)"/> + </xml> + + <xml name="scaleFactor"> + <param name="scaleFactor1" type="float" value="1" label="Scale factor for treatment" help="(--scaleFactors)"/> + <param name="scaleFactor2" type="float" value="1" label="Scale factor for input" help="(--scaleFactors)"/> + </xml> + + <xml name="stdio"> + <stdio> + <exit_code range="1:" /> + <exit_code range=":-1" /> + <regex match="Error:" /> + <regex match="Exception:" /> + <regex match="EXception:" /> + <regex match="Traceback" /> + </stdio> + </xml> + + <xml name="pseudocount"> + <param name="pseudocount" type="float" value="1" label="Pseudocount" help="Small number to avoid dividing by zero."/> + </xml> + + <token name="@REFERENCES@"> + +.. class:: infomark + +For more information on the tools, please visit our `help site`_. + +If you would like to give us feedback or you run into any trouble, please send an email to deeptools@googlegroups.com + +This tool is developed by the `Bioinformatics and Deep-Sequencing Unit`_ at the `Max Planck Institute for Immunobiology and Epigenetics`_. + +.. _Bioinformatics and Deep-Sequencing Unit: http://www3.ie-freiburg.mpg.de/facilities/research-facilities/bioinformatics-and-deep-sequencing-unit/ +.. _Max Planck Institute for Immunobiology and Epigenetics: http://www3.ie-freiburg.mpg.de +.. _help site: https://github.com/fidelram/deepTools/wiki/ + +**References** + +If you use this Galaxy tool in work leading to a scientific publication please +cite the following paper: + + </token> + <xml name="citations"> + <citations> + <citation type="doi">10.1093/nar/gku365</citation> + <yield /> + </citations> + </xml> + + <xml name="multiple_input_bams"> + <repeat name="input_files" title="BAM files" min="2"> + <param name="bamfile" type="data" format="bam" + label="Bam file" + help="The BAM file must be sorted."/> + <param name="label" type="text" size="30" optional="true" value="" + label="Label" + help="Label to use in the output. If not given the dataset name will be used instead."/> + </repeat> + </xml> + + <token name="@multiple_input_bams@"> + #import tempfile + #set $temp_dir = os.path.abspath(tempfile.mkdtemp()) + #set files=[] + #set labels=[] + #for $i in $input_files: + #set $temp_input_handle = tempfile.NamedTemporaryFile( dir=$temp_dir ) + #set $temp_input_path = $temp_input_handle.name + #silent $temp_input_handle.close() + #silent os.system("ln -s %s %s.bam" % (str($i.bamfile), $temp_input_path)) + #silent os.system("ln -s %s %s.bam.bai" % (str($i.bamfile.metadata.bam_index), $temp_input_path)) + #silent $files.append('%s.bam' % $temp_input_path) + + ##set $files += [str($i.bamfile)] + #if str($i.label.value) != "": + #set $labels += ["\"%s\"" % ($i.label.value)] + #else + #set $labels += ["\"%s\"" % ($i.bamfile.name)] + #end if + #end for + </token> + + <xml name="reference_genome_source"> + <conditional name="source"> + <param name="ref_source" type="select" label="Reference genome"> + <option value="cached">locally cached</option> + <option value="history">in your history</option> + </param> + <when value="cached"> + <param name="input1_2bit" type="select" label="Using reference genome" help="If your genome of interest is not listed, contact the Galaxy team"> + <options from_data_table="deepTools_seqs"> + <filter type="sort_by" column="1" /> + <validator type="no_options" message="No indexes are available." /> + </options> + </param> + </when> + <when value="history"> + <param name="input1" type="data" format="twobit" label="Select a reference dataset in 2bit format" /> + </when> + </conditional> + </xml> + + <token name="@reference_genome_source@"> + #if $source.ref_source=="history": + --genome $source.input1 + #else: + --genome "${source.input1_2bit.fields.path}" + #end if + </token> + + <xml name="effectiveGenomeSize"> + <conditional name="effectiveGenomeSize"> + <param name="effectiveGenomeSize_opt" type="select" label="Effective genome size" + help="The effective genome size is the portion of the genome that is mappable. Large fractions of the genome are stretches of NNNN that should be discarded. + Also, if repetitive regions were not included in the mapping of reads, the effective genome size needs to be adjusted accordingly. + See Table 2 of http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0030377 or http://www.nature.com/nbt/journal/v27/n1/fig_tab/nbt.1518_T1.html for several effective genome sizes."> + <option value="93260000">ce10 (93260000)</option> + <option value="121400000">dm3 (121400000)</option> + <option value="2451960000" selected="true">hg19 (2451960000)</option> + <option value="2150570000">mm9 (2150570000)</option> + <option value="specific">user specified</option> + </param> + <when value="specific"> + <param name="effectiveGenomeSize" type="integer" value="" label="Effective genome size" help="e.g. ce10: 93260000, dm3: 121400000, hg19: 2451960000, mm9: 2150570000"/> + </when> + <when value="2150570000" /> + <when value="2451960000" /> + <when value="121400000" /> + <when value="93260000" /> + </conditional> + </xml> + + <xml name="image_file_format"> + <param name="outFileFormat" type="select" label="Image file format"> + <option value="png" selected="true">png</option> + <option value="pdf">pdf</option> + <option value="svg">svg</option> + <option value="eps">eps</option> + <option value="emf">emf</option> + </param> + </xml> + + <xml name="missingDataAsZero"> + <param name="missingDataAsZero" type="boolean" truevalue="yes" falsevalue="no" checked="True" + label ="Treat missing data as zero" + help ="This parameter determines if missing data should be treated as zeros. If unchecked, missing data will be ignored and not included in the output file. Missing data is defined as those regions for which both BAM files have 0 reads." /> + </xml> + + <xml name="input_save_matrix_values"> + <param name="saveMatrix" type="boolean" label="Save the matrix of values underlying the heatmap"/> + </xml> + + <xml name="input_graphic_output_settings"> + <conditional name="output" > + <param name="showOutputSettings" type="select" label="Show advanced output settings" > + <option value="no" selected="true">no</option> + <option value="yes">yes</option> + </param> + <when value="no" /> + <when value="yes"> + <yield /> + <param name="saveData" type="boolean" label="Save the data underlying the average profile"/> + <param name="saveSortedRegions" type="boolean" label="Save the regions after skipping zeros or min/max threshold values" help="The order of the regions in the file follows the sorting order selected. This is useful, for example, to generate other heatmaps keeping the sorting of the first heatmap."/> + </when> + </conditional> + </xml> + + <xml name="input_image_file_format"> + <param name="outFileFormat" type="select" label="Image file format"> + <option value="png" selected="true">png</option> + <option value="pdf">pdf</option> + <option value="svg">svg</option> + <option value="eps">eps</option> + <option value="emf">emf</option> + </param> + </xml> + + <xml name="output_image_file_format"> + <data format="png" name="outFileName" label="${tool.name} image"> + <change_format> + <when input="output.outFileFormat" value="pdf" format="pdf" /> + <when input="output.outFileFormat" value="svg" format="svg" /> + <when input="output.outFileFormat" value="eps" format="eps" /> + <when input="output.outFileFormat" value="emf" format="emf" /> + </change_format> + </data> + </xml> + + <xml name="output_save_matrix_values"> + <data format="tabular" name="outFileNameMatrix" label="${tool.name} on ${on_string}: Heatmap values"> + <filter> + (( + output['showOutputSettings'] == 'yes' and + output['saveMatrix'] is True + )) + </filter> + </data> + </xml> + + <xml name="output_graphic_outputs"> + <data format="tabular" name="outFileNameData" label="${tool.name} on ${on_string}: averages per matrix column"> + <filter> + (( + output['showOutputSettings'] == 'yes' and + output['saveData'] is True + )) + </filter> + </data> + <data format="bed" name="outFileSortedRegions" label="${tool.name} on ${on_string}: sorted/filtered regions"> + <filter> + (( + output['showOutputSettings'] == 'yes' and + output['saveSortedRegions'] is True + )) + </filter> + </data> + </xml> + + <xml name="colormap"> + <param name="colorMap" type="select" label="Color map to use for the heatmap" help=" Available color map names can be found here: http://www.astro.lsa.umich.edu/~msshin/science/code/matplotlib_cm/"> + <option value="RdYlBu" selected="true">RdYlBu</option> + <option value="Accent">Accent</option> + <option value="Spectral">Spectral</option> + <option value="Set1">Set1</option> + <option value="Set2">Set2</option> + <option value="Set3">Set3</option> + <option value="Dark2">Dark2</option> + <option value="Reds">Reds</option> + <option value="Oranges">Oranges</option> + <option value="Greens">Greens</option> + <option value="Blues">Blues</option> + <option value="Greys">Greys</option> + <option value="Purples">Purples</option> + <option value="Paired">Paired</option> + <option value="Pastel1">Pastel1</option> + <option value="Pastel2">Pastel2</option> + <option value="spring">spring</option> + <option value="summer">summer</option> + <option value="autumn">autumn</option> + <option value="winter">winter</option> + <option value="hot">hot</option> + <option value="coolwarm">coolwarm</option> + <option value="cool">cool</option> + <option value="seismic">seismic</option> + <option value="terrain">terrain</option> + <option value="ocean">ocean</option> + <option value="rainbow">rainbow</option> + <option value="bone">bone</option> + <option value="flag">flag</option> + <option value="prism">prism</option> + <option value="cubehelix">cubehelix</option> + <option value="binary">binary</option> + <option value="pink">pink</option> + <option value="gray">gray</option> + <option value="copper">copper</option> + <option value="BrBG">BrBG</option> + <option value="BuGn">BuGn</option> + <option value="BuPu">BuPu</option> + <option value="GnBu">GnBu</option> + <option value="OrRd">OrRd</option> + <option value="PiYG">PiYG</option> + <option value="PRGn">PRGn</option> + <option value="PuOr">PuOr</option> + <option value="PuRd">PuRd</option> + <option value="PuBu">PuBu</option> + <option value="RdBu">RdBu</option> + <option value="RdGy">RdGy</option> + <option value="RdPu">RdPu</option> + <option value="YlGn">YlGn</option> + <option value="PuBuGn">PuBuGn</option> + <option value="RdYlGn">RdYlGn</option> + <option value="YlGnBu">YlGnBu</option> + <option value="YlOrBr">YlOrBr</option> + <option value="YlOrRd">YlOrRd</option> + <option value="gist_gray">gist_gray</option> + <option value="gist_stern">gist_stern</option> + <option value="gist_earth">gist_earth</option> + <option value="gist_yarg">gist_yarg</option> + <option value="gist_ncar">gist_ncar</option> + <option value="gist_rainbow">gist_rainbow</option> + <option value="gist_heat">gist_heat</option> + <option value="gnuplot">gnuplot</option> + <option value="gnuplot2">gnuplot2</option> + <option value="CMRmap">CMRmap</option> + <option value="bwr">bwr</option> + <option value="hsv">hsv</option> + <option value="brg">brg</option> + <option value="jet">jet</option> + <option value="afmhot">afmhot</option> + <option value="Accent_r">Accent reversed</option> + <option value="Spectral_r">Spectral reversed</option> + <option value="Set1_r">Set1 reversed</option> + <option value="Set2_r">Set2 reversed</option> + <option value="Set3_r">Set3 reversed</option> + <option value="Dark2_r">Dark2 reversed</option> + <option value="Reds_r">Reds reversed</option> + <option value="Oranges_r">Oranges reversed</option> + <option value="Greens_r">Greens reversed</option> + <option value="Blues_r">Blues reversed</option> + <option value="Greys_r">Greys reversed</option> + <option value="Purples_r">Purples reversed</option> + <option value="Paired_r">Paired reversed</option> + <option value="Pastel1_r">Pastel1 reversed</option> + <option value="Pastel2_r">Pastel2 reversed</option> + <option value="spring_r">spring reversed</option> + <option value="summer_r">summer reversed</option> + <option value="autumn_r">autumn reversed</option> + <option value="winter_r">winter reversed</option> + <option value="hot_r">hot reversed</option> + <option value="coolwarm_r">coolwarm reversed</option> + <option value="cool_r">cool reversed</option> + <option value="seismic_r">seismic reversed</option> + <option value="terrain_r">terrain reversed</option> + <option value="ocean_r">ocean reversed</option> + <option value="rainbow_r">rainbow reversed</option> + <option value="bone_r">bone reversed</option> + <option value="flag_r">flag reversed</option> + <option value="prism_r">prism reversed</option> + <option value="cubehelix_r">cubehelix reversed</option> + <option value="binary_r">binary reversed</option> + <option value="pink_r">pink reversed</option> + <option value="gray_r">gray reversed</option> + <option value="copper_r">copper reversed</option> + <option value="BrBG_r">BrBG reversed</option> + <option value="BuGn_r">BuGn reversed</option> + <option value="BuPu_r">BuPu reversed</option> + <option value="GnBu_r">GnBu reversed</option> + <option value="OrRd_r">OrRd reversed</option> + <option value="PiYG_r">PiYG reversed</option> + <option value="PRGn_r">PRGn reversed</option> + <option value="PuOr_r">PuOr reversed</option> + <option value="PuRd_r">PuRd reversed</option> + <option value="PuBu_r">PuBu reversed</option> + <option value="RdBu_r">RdBu reversed</option> + <option value="RdGy_r">RdGy reversed</option> + <option value="RdPu_r">RdPu reversed</option> + <option value="YlGn_r">YlGn reversed</option> + <option value="PuBuGn_r">PuBuGn reversed</option> + <option value="RdYlBu_r">RdYlBu reversed</option> + <option value="RdYlGn_r">RdYlGn reversed</option> + <option value="YlGnBu_r">YlGnBu reversed</option> + <option value="YlOrBr_r">YlOrBr reversed</option> + <option value="YlOrRd_r">YlOrRd reversed</option> + <option value="gist_gray_r">gist_gray reversed</option> + <option value="gist_stern_r">gist_stern reversed</option> + <option value="gist_earth_r">gist_earth reversed</option> + <option value="gist_yarg_r">gist_yarg reversed</option> + <option value="gist_ncar_r">gist_ncar reversed</option> + <option value="gist_rainbow_r">gist_rainbow reversed</option> + <option value="gist_heat_r">gist_heat reversed</option> + <option value="gnuplot_r">gnuplot reversed</option> + <option value="gnuplot2_r">gnuplot2 reversed</option> + <option value="CMRmap_r">CMRmap reversed</option> + <option value="bwr_r">bwr reversed</option> + <option value="hsv_r">hsv reversed</option> + <option value="brg_r">brg reversed</option> + <option value="jet_r">jet reversed</option> + <option value="afmhot_r">afmhot reversed</option> + </param> + + </xml> + +</macros>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/heatmapper.xml Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,228 @@ +<tool id="deeptools_heatmapper" name="heatmapper" version="@WRAPPER_VERSION@.0"> + <description>creates a heatmap for a score associated to genomic regions</description> + <expand macro="requirements"/> + <expand macro="stdio" /> + <macros> + <token name="@BINARY@">heatmapper</token> + <import>deepTools_macros.xml</import> + </macros> + <command> +<![CDATA[ + heatmapper + + --matrixFile $matrixFile + --outFileName $outFileName + + #if $output.showOutputSettings == "yes" + --plotFileFormat $output.outFileFormat + #if $outFileNameData: + --outFileNameData '$outFileNameData' + #end if + + #if $outFileNameMatrix: + --outFileNameMatrix '$outFileNameMatrix' + #end if + + #if $outFileSortedRegions: + --outFileSortedRegions '$outFileSortedRegions' + #end if + #else + --plotFileFormat 'png' + #end if + + #if $advancedOpt.showAdvancedOpt == "yes" + #if $advancedOpt.sortRegions: + --sortRegions '$advancedOpt.sortRegions' + #end if + + #if $advancedOpt.sortUsing: + --sortUsing '$advancedOpt.sortUsing' + #end if + + #if $advancedOpt.averageTypeSummaryPlot: + --averageTypeSummaryPlot '$advancedOpt.averageTypeSummaryPlot' + #end if + + #if str($advancedOpt.missingDataColor.value) != "None": + --missingDataColor '$advancedOpt.missingDataColor' + #end if + + --colorMap '$advancedOpt.colorMap' + + #if str($advancedOpt.zMin).strip() != "": + --zMin $advancedOpt.zMin + #end if + #if $advancedOpt.zMax: + --zMax $advancedOpt.zMax + #end if + + #if str($advancedOpt.yMin).strip() != "": + --yMin $advancedOpt.yMin + #end if + #if $advancedOpt.yMax: + --yMax $advancedOpt.yMax + #end if + + --xAxisLabel '$advancedOpt.xAxisLabel' + --yAxisLabel '$advancedOpt.yAxisLabel' + + --heatmapWidth $advancedOpt.heatmapWidth + --heatmapHeight $advancedOpt.heatmapHeight + + --whatToShow '$advancedOpt.whatToShow' + + --startLabel '$advancedOpt.startLabel' + --endLabel '$advancedOpt.endLabel' + --refPointLabel '$advancedOpt.referencePointLabel' + --regionsLabel '$advancedOpt.regionsLabel' + + #if str($advancedOpt.plotTitle.value) != "None": + --plotTitle '$advancedOpt.plotTitle' + #end if + + $advancedOpt.onePlotPerGroup + + @KMEANS_CLUSTERING@ + + #end if +]]> + </command> + <inputs> + <param name="matrixFile" format="bgzip" type="data" label="Matrix file from the computeMatrix tool"/> + + <expand macro="input_graphic_output_settings"> + <expand macro="input_image_file_format" /> + <expand macro="input_save_matrix_values" /> + </expand> + + <conditional name="advancedOpt" > + <param name="showAdvancedOpt" type="select" label="Show advanced options" > + <option value="no" selected="true">no</option> + <option value="yes">yes</option> + </param> + <when value="no" /> + <when value="yes"> + <param name="sortRegions" type="select" label="Sort regions" + help="Whether the heatmap should present the regions sorted. The default is to sort in descending order based on the mean value per region."> + <option value="no">no ordering</option> + <option value="descend" selected="true">descending order</option> + <option value="ascend">ascending order</option> + </param> + + <param name="sortUsing" type="select" label="Method used for sorting" help="For each row the method is computed." > + <option value="mean" selected="true">mean</option> + <option value="median">median</option> + <option value="min">min</option> + <option value="max">max</option> + <option value="sum">sum</option> + <option value="region_length">region length</option> + </param> + + <param name="averageTypeSummaryPlot" type="select" label="Type of statistic that should be plotted in the summary image above the heatmap"> + <option value="mean" selected="true">mean</option> + <option value="median">median</option> + <option value="min">min</option> + <option value="max">max</option> + <option value="sum">sum</option> + <option value="std">std</option> + </param> + + <param name="missingDataColor" type="text" value="black" optional="true" label="Missing data color" + help="If 'Represent missing data as zero' is not set, such cases will be colored in black by default. By using this parameter a different color can be set. A value between 0 and 1 will be used for a gray scale (black is 0). Also color names can be used, see a list here: http://packages.python.org/ete2/reference/reference_svgcolors.html. Alternatively colors can be specified using the #rrggbb notation." /> + + <expand macro="colormap" /> + + <param name="zMin" type="float" value="" size="3" + label="Minimum value for the heatmap intensities. Leave empty for automatic values"/> + <param name="zMax" type="float" value="" size="3" + label="Maximum value for the heatmap intensities. Leave empty for automatic values"/> + <param name="yMin" type="float" value="" size="3" + label="Minimum value for the Y-axis of the summary plot. Leave empty for automatic values"/> + <param name="yMax" type="float" value="" size="3" + label="Maximum value for Y-axis of the summary plot. Leave empty for automatic values"/> + <param name="xAxisLabel" type="text" value="distance from TSS (bp)" size="200" + label="Description for the x-axis label" /> + <param name="yAxisLabel" type="text" value="genes" size="30" + label="Description for the y-axis label for the top panel" /> + + <param name="heatmapWidth" type="float" value="7.5" min="1" max="100" + label="Heatmap width in cm" help="The minimum value is 1 and the maximum is 100."/> + <param name="heatmapHeight" type="float" value="25" min="3" max="100" + label="Heatmap height in cm" help="The minimum value is 3 and the maximum is 100."/> + + <param name="whatToShow" type="select" label="What to show" + help ="The default is to include a summary or profile plot on top of the heatmap and a heatmap colorbar."> + <option value="plot, heatmap and colorbar" selected="true">summary plot, heatmap and colorbar</option> + <option value="plot and heatmap">summary plot and heatmap (no colorbar)</option> + <option value="heatmap only">heatmap only</option> + <option value="heatmap and colorbar">heatmap and colorbar</option> + <option value="colorbar only">colorbar only</option> + </param> + + <param name="startLabel" type="text" value="TSS" size="10" + label="Label for the region start" + help ="[only for scale-regions mode] Label shown in the plot for the start of the region. Default is TSS (transcription start site), but could be changed to anything, e.g. "peak start"." /> + <param name="endLabel" type="text" value="TES" size="10" + label="Label for the region end" + help="[only for scale-regions mode] Label shown in the plot for the region end. Default is TES (transcription end site)."/> + + <param name="referencePointLabel" type="text" value="TSS" size="10" + label="Reference point label" + help ="[only for scale-regions mode] Label shown in the plot for the reference-point. Default is the same as the reference point selected (e.g. TSS), but could be anything, e.g. "peak start" etc." /> + <param name="regionsLabel" type="text" value="genes" size="30" + label="Labels for the regions plotted in the heatmap" + help="If more than one region is being plotted a list of labels separated by comma and limited by quotes, is required. For example, label1, label2."> + <sanitizer> + <valid initial="string.printable"> + </valid> + </sanitizer> + </param> + <param name="plotTitle" type="text" value="" size="30" + label="Title of the plot" help="Title of the plot, to be printed on top of the generated image. Leave blank for no title. (--plotTitle)" /> + <param name="onePlotPerGroup" type="boolean" truevalue="--onePlotPerGroup" falsevalue="" + label="Do one plot per group" + help="When computeMatrix was used on more than one group of genes, the average plots for all the groups will be drawn in one panel by default. If this option is set, each group will get its own plot, stacked on top of each other."/> + + <expand macro="kmeans_clustering" /> + </when> + </conditional> + </inputs> + <outputs> + <expand macro="output_image_file_format" /> + <expand macro="output_graphic_outputs" /> + <expand macro="output_save_matrix_values" /> + </outputs> + <tests> + <test> + <param name="matrixFile" value="computeMatrix_result1.gz" ftype="bgzip" /> + <output name="outFileName" file="heatmapper_result1.png" ftype="png" compare="sim_size" delta="100" /> + </test> + </tests> + <help> +<![CDATA[ +**What it does** + +The heatmapper visualizes scores associated with genomic regions, for example ChIP enrichment values around the TSS of genes. +Like profiler, it requires that computeMatrix was run first to calculate the values. + +We implemented vast optional parameters to optimize the visual output and we encourage you to play around with the min/max values displayed in the heatmap as well as +with the different coloring options. The most powerful option is the k-means clustering where you simply need to indicate the number of +groups with similar read distributions that you expect and the algorithm will do the sorting for you. + +Do check the examples on our help page with step-by-step protocols: https://github.com/fidelram/deepTools/wiki/Example-workflows + + +.. image:: $PATH_TO_IMAGES/visual_hm_DmelPolII.png + :alt: Heatmap of RNA Polymerase II ChIP-seq + + +You can find more details on the tool itself on the heatmapper wiki page: https://github.com/fidelram/deepTools/wiki/Visualizations#wiki-heatmapper + + +----- + +@REFERENCES@ +]]> + </help> + <expand macro="citations" /> +</tool>
--- a/peptide_shaker.xml Sat Apr 12 07:25:47 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,248 +0,0 @@ -<tool id="peptide_shaker" name="Peptide Shaker" version="0.1.0"> - <!-- TODO: Set defaults for weights correctly --> - <requirements> - <requirement type="package" version="0.28.0">peptide_shaker</requirement> - <requirement type="package" version="1.18.0">searchgui</requirement> - </requirements> - <description> - Peform protein identification combining X! Tandem and OMSSA (using SearchGUI) and PeptideShaker pipeline. - </description> - <command> - #from datetime import datetime - #set $exp_str = "Galaxy Experiment %s" % datetime.now().strftime("%Y%m%d%H%M%s") - #set $samp_str = "Sample %s" % datetime.now().strftime("%Y%m%d%H%M%s") - mkdir spectra; - mkdir output; - mkdir output_reports; - cwd=`pwd`; - #for $mgf in $peak_lists: - #set $input_name = $mgf.display_name.replace(".mgf", "") + ".mgf" - ln -s '$mgf' 'spectra/$input_name'; - #end for - - java -cp \$SEARCHGUI_JAR_PATH eu.isas.searchgui.cmd.SearchCLI - ##SearchCLI - -spectrum_files \$cwd/spectra - -output_folder \$cwd/output - -ppm $precursor_ion_tol_units - -prec_tol $precursor_ion_tol - -frag_tol $fragment_tol - -enzyme '$enzyme' - #set $fixed_mods_str = $fixed_modifications or '' - #set $variable_mods_str = $variable_modifications or '' - #if $fixed_mods_str - -fixed_mods "$fixed_mods_str" - #end if - #if $variable_mods_str - -variable_mods "$variable_mods_str" - #end if - -mc $missed_cleavages - #if $advanced.specify: - -xtandem $advanced.xtandem - #if $advanced.omssa.run_omssa - #set $omssa = 1 - #else - #set $omssa = 0 - #end if - -omssa $omssa - - #if $omssa == 1 - -hitlist_length ${advanced.omssa.hitlist_length} - -remove_prec ${advanced.omssa.remove_precursor} - -scale_prec ${advanced.omssa.scale_precursor} - -estimate_charge ${advanced.omssa.estimate_charge} - #end if - #end if - -db $input_database; - - - java -cp \$PEPTIDESHAKER_JAR_PATH eu.isas.peptideshaker.cmd.PeptideShakerCLI - ##PeptideShakerCLI - -experiment '$exp_str' - -sample '$samp_str' - -replicate 1 - -spectrum_files \$cwd/spectra - -identification_files \$cwd/output - -search_params \$cwd/output/SearchGUI.parameters - -out_txt_1 \$cwd/output_reports - #if $processing_options.specify - -protein_FDR ${processing_options.protein_fdr} - -peptide_FDR ${processing_options.peptide_fdr} - -psm_FDR ${processing_options.psm_fdr} - -psm_FLR ${processing_options.psm_flr} - #if str($processing_options.a_score.use) == "1" - #set $a_score = 1 - #else - #set $a_score = 0 - #end if - -a_score $a_score - #if str($a_score) == "1" - -a_score_neutral_losses ${processing_options.a_score.neutral_losses} - #end if - #end if - #if $filtering_options.specify - -min_peptide_length ${filtering_options.min_peptide_length} - -max_peptide_length ${filtering_options.max_peptide_length} - -max_precursor_error ${filtering_options.max_precursor_error} - -max_precursor_error_type ${filtering_options.max_precursor_error_type} - -max_xtandem_e ${filtering_options.max_xtandem_e} - -max_omssa_e ${filtering_options.max_omssa_e} - -exclude_unknown_ptms ${filtering_options.exclude_unknown_ptms} - #end if - -out \$cwd/output.cps ; - - mv output_reports/*peptides.txt peptides.txt ; - mv output_reports/*psms.txt psms.txt ; - mv output_reports/*proteins.txt proteins.txt - </command> - <stdio> - <exit_code range="1:" level="fatal" description="Job Failed" /> - </stdio> - <inputs> - <param format="fasta" name="input_database" type="data" label="Protein Database" - help="Select FASTA database from history. Typically, a target-decoy database is incorporated into the Scaffold engine for FDR analysis"/> - <param format="mgf" name="peak_lists" type="data" multiple="true" label="Input Peak Lists (mgf)" - help="Select appropriate MGF dataset(s) from history" /> - <param name="precursor_ion_tol_units" type="select" label="Precursor Ion Tolerance Units" - help="Select based on instrument used, as different machines provide different quality of spectra. ppm is a standard for most precursor ions"> - <option value="1">Parts per million (ppm)</option> - <option value="0">Daltons</option> - </param> - <param name="precursor_ion_tol" type="float" value="10" label="Percursor Ion Tolerance" - help="Provide error value for precursor ion, based on instrument used. 10 ppm recommended for Orbitrap instrument"/> - <param name="fragment_tol" type="float" value="0.5" label="Fragment Tolerance (Daltons)" - help="Provide error value for fragment ions, based on instrument used"/> - <param name="enzyme" type="select" label="Enzyme" - help="Which enzyme was used for protein digest in experiment? In most cases, trypsin is used"> - <option value="Trypsin">Trypsin</option> - <option value="Arg-C">Arg-C</option> - <option value="CNBr">CNBr</option> - <option value="Chymotrypsin (FYWL)">Chymotrypsin (FYWL)</option> - <option value="Formic Acid">Formic Acid</option> - <option value="Lys-C">Lys-C</option> - <option value="Lys-C, no P rule">Lys-C, no P rule</option> - <option value="Pepsin A">Pepsin A</option> - <option value="Trypsin + CNBr">Trypsin + CNBr</option> - <option value="Trypsin + Chymotrypsin (FYWLKR)">Trypsin + Chymotrypsin (FYWLKR)</option> - <option value="Trypsin, no P rule">Trypsin, no P rule</option> - <option value="whole protein">whole protein</option> - <option value="Asp-N">Asp-N</option> - <option value="Glu-C">Glu-C</option> - <option value="Asp-N + Glu-C">Asp-N + Glu-C</option> - <option value="Top-Down">Top-Down</option> - <option value="Semi-Tryptic">Semi-Tryptic</option> - <option value="No enzyme">No enzyme</option> - <option value="Chymotrypsin, no P rule (FYWL)">Chymotrypsin, no P rule (FYWL)</option> - <option value="Asp-N (DE)">Asp-N (DE)</option> - <option value="Glu-C (DE)">Glu-C (DE)</option> - <option value="Lys-N (K)">Lys-N (K)</option> - <option value="Thermolysin, no P rule">Thermolysin, no P rule</option> - <option value="Semi-Chymotrypsin (FYWL)">Semi-Chymotrypsin (FYWL)</option> - <option value="Semi-Glu-C">Semi-Glu-C</option> - </param> - <param name="missed_cleavages" type="integer" value="2" label="Maximum Missed Cleavages" - help="Allow peptides to contain up to this many missed enzyme cleavage sites. 2 is the recommended value"/> - <param name="fixed_modifications" type="select" label="Fixed Modifications" multiple="true" - help="Occurs in known places on peptide sequence. Hold the appropriate key while clicking to select multiple items"> - <options from_file="searchgui_mods.loc"> - <column name="name" index="0" /> - <column name="value" index="0" /> - </options> - </param> - <param name="variable_modifications" type="select" label="Variable Modifications" multiple="true" - help="Can occur anywhere on the peptide sequence; adds additional error to search score. Hold the appropriate key while clicking to select multiple items"> - <options from_file="searchgui_mods.loc"> - <column name="name" index="0" /> - <column name="value" index="0" /> - </options> - </param> - <param name="min_charge" label="Minimum Charge" value="2" type="integer" help="Lowest searched charge value for fragment ions"/> - <param name="max_charge" label="Maximum Charge" value="4" type="integer" help="Highest searched charge value for fragment ions"/> - <param name="forward_ion" label="Forward Ion" type="select" help="Searched fragment ion type. Select a, b or c based on collisions induced in experiment"> - <option value="a">a</option> - <option value="b" selected="true">b</option> - <option value="c">c</option> - </param> - <param name="reverse_ion" label="Reverse Ion" type="select" help="Searched fragment ion type. Select x, y, or z based on collisions induced in experiment"> - <option value="x">x</option> - <option value="y" selected="true">y</option> - <option value="z">z</option> - </param> - <conditional name="advanced"> - <param name="specify" label="Specify Advanced Search Options" type="boolean" truevalue="true" falsevalue="false" - help=" Run X! Tandem, OMSSA, or both and provide options for OMSSA search"/> - <when value="false" /> - <when value="true"> - <param name="xtandem" label="Run X! Tandem" type="boolean" truevalue="1" falsevalue="0" checked="true" /> - <conditional name="omssa"> - <param name="run_omssa" label="Run OMSSA" type="boolean" truevalue="1" falsevalue="0" checked="true" /> - <when value="0" /> - <when value="1"> - <param name="hitlist_length" label="OMSSA: Hit List Length" type="integer" value="25" /> - <param name="remove_precursor" label="OMSSA: Remove Precurosr" type="boolean" truevalue="1" falsevalue="0" checked="true"/> - <param name="scale_precursor" label="OMSSA: Scale Precursor Mass" type="boolean" truevalue="1" falsevalue="0" checked="false"/> - <param name="estimate_charge" label="OMSSA: Estimate Charge" type="boolean" truevalue="1" falsevalue="0" checked="true" /> - </when> - </conditional> - </when> - </conditional> - <conditional name="processing_options"> - <param name="specify" label="Specify Advanced PeptideShaker Processing Options" type="boolean" truevalue="true" falsevalue="false" - help="Select and provide False Discovery Rate (FDR) levels at the peptide, protein, - and peptide-spectral match (PSM) levels, as well as False Loss Rate (FLR) for PSM’s and A score options for post-translational modifications (PTM’s). See this link_ for more details - .. _link: http://peptide-shaker.googlecode.com/svn-history/r1267/wiki/tutorial/6_ptm_analysis.docx" /> - <when value="false" /> - <when value="true"> - <param name="protein_fdr" label="FDR at the protein level" help="In percent (default 1% FDR: '1')" value="1" type="float" /> - <param name="peptide_fdr" label="FDR at the peptide level" help="In percent (default 1% FDR: '1')" value="1" type="float" /> - <param name="psm_fdr" label="FDR at the PSM level" help="In percent (default 1% FDR: '1')" value="1" type="float" /> - <param name="psm_flr" label="FLR at the PSM level" value="1" type="float" - help="In percent (default 1% FLR: '1'). Percent for peptides with different potential modification sites and one variable modification." /> - <conditional name="a_score"> - <param name="use" label="Calculate A Score" type="boolean" truevalue="1" falsevalue="0" checked="true" /> - <when value="0" /> - <when value="1"> - <param name="neutral_losses" label="Include Neutral Losses in A Score" type="boolean" truevalue="1" falsevalue="0" /> - </when> - </conditional> - <!-- SKIPPING -protein_fraction_mw_confidence ${processing_options.protein_fraction_mw_confidence} --> - </when> - </conditional> - <conditional name="filtering_options"> - <param name="specify" label="Specify Advanced PeptideShaker Filtering Options" type="boolean" truevalue="true" falsevalue="false" - help="Filter based on peptide lengths, precursor mass error, E value errors from X! Tandem and OMSSA, and include/exclude unknown PTM’s"/> - <when value="false" /> - <when value="true"> - <param name="min_peptide_length" label="Minimum Peptide Length" value="6" type="integer" /> - <param name="max_peptide_length" label="Maximum Peptide Length" value="30" type="integer" /> - <param name="max_precursor_error" label="Maximum Precursor Error" value="10" type="float" help="Next option specifies units (Da or ppm)." /> - <param name="max_precursor_error_type" label="Maximum Precursor Error Type" type="select"> - <option value="0">ppm</option> - <option value="1">Daltons</option> - </param> - <param name="max_xtandem_e" label="Maximum X! Tandem E Value" value="100" type="float" help="" /> - <param name="max_omssa_e" label="Maximum OMSSA E Value" value="100" type="float" help="" /> - <param name="exclude_unknown_ptms" label="Exclude Unknown PTMs" type="boolean" truevalue="1" falsevalue="0" checked="true" /> - </when> - </conditional> - </inputs> - <outputs> - <data format="cps" name="output" from_work_dir="output.cps" label="PeptideShaker CPS results for ${on_string}" /> - <data format="tabular" name="output_peptides" from_work_dir="peptides.txt" label="PeptideShaker Peptide Report for ${on_string}" /> - <data format="tabular" name="output_proteins" from_work_dir="proteins.txt" label="PeptideShaker Protein Report for ${on_string}" /> - <data format="tabular" name="output_psms" from_work_dir="psms.txt" label="PeptideShaker PSM Report for ${on_string}" /> - </outputs> - <help> -**What it does** - -Runs multiple search engines (X! Tandem and OMSSA) on any number of MGF peak lists using the SearchGUI application and combines the results. - ------- - -**Citation** - -For the underlying tool, please cite `TODO` - -If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/peptideshaker - </help> -</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/profiler.xml Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,183 @@ +<tool id="deeptools_profiler" name="profiler" version="@WRAPPER_VERSION@.0"> + <description> + creates a profile plot for a score associated to genomic regions + </description> + <expand macro="requirements" /> + <expand macro="stdio" /> + <macros> + <token name="@BINARY@">profiler</token> + <import>deepTools_macros.xml</import> + </macros> + <command> +<![CDATA[ + profiler + + --matrixFile $matrixFile + --outFileName $outFileName + + #if $output.showOutputSettings == "yes" + --plotFileFormat $output.outFileFormat + + #if $output.saveData: + --outFileNameData '$outFileNameData' + #end if + + #if $output.saveSortedRegions: + --outFileSortedRegions '$outFileSortedRegions' + #end if + #else + --plotFileFormat 'png' + #end if + + #if $scaleRegions.showScaleRegionsOpt == "yes": + --startLabel '$scaleRegions.startLabel' + --endLabel '$scaleRegions.endLabel' + #end if + + #if $advancedOpt.showAdvancedOpt == "yes": + #if $advancedOpt.averageType: + --averageType '$advancedOpt.averageType' + #end if + --plotHeight $advancedOpt.plotHeight + --plotWidth $advancedOpt.plotWidth + --plotType $advancedOpt.plotType + + --regionsLabel '$advancedOpt.regionsLabel' + + #if str($advancedOpt.plotTitle).strip() != "": + --plotTitle '$advancedOpt.plotTitle' + #end if + + #if str($advancedOpt.colors).strip() != "": + --colors #echo ' '.join( ["'%s'" % $color for $color in $advancedOpt.colors.split()] )# + #end if + + $advancedOpt.onePlotPerGroup + + #if $advancedOpt.yMin: + --yMin $advancedOpt.yMin + #end if + #if $advancedOpt.yMax: + --yMax $advancedOpt.yMax + #end if + + --xAxisLabel '$advancedOpt.xAxisLabel' + #if str($advancedOpt.yAxisLabel.value) != "None": + --yAxisLabel '$advancedOpt.yAxisLabel' + #end if + + @KMEANS_CLUSTERING@ + + #end if +]]> + </command> + <inputs> + <param name="matrixFile" format="bgzip" type="data" label="Matrix file from the computeMatrix tool"/> + <conditional name="scaleRegions"> + <param name="showScaleRegionsOpt" type="select" label="The input matrix was computed in scale-regions mode"> + <option value="no" selected="true">no</option> + <option value="yes">yes</option> + </param> + <when value="no" /> + <when value="yes"> + <param name="startLabel" type="text" value="TSS" size="10" + label="Label for the region start" + help ="[only for scale-regions mode] Label shown in the plot for the start of the region. Default is TSS (transcription start site), but could be changed to anything, e.g. "peak start"." /> + <param name="endLabel" type="text" value="TES" size="10" + label="Label for the region end" + help="[only for scale-regions mode] Label shown in the plot for the region end. Default is TES (transcription end site)."/> + </when> + </conditional> + + <expand macro="input_graphic_output_settings"> + <expand macro="input_image_file_format" /> + </expand> + + <conditional name="advancedOpt"> + <param name="showAdvancedOpt" type="select" label="Show advanced options" > + <option value="no" selected="true">no</option> + <option value="yes">yes</option> + </param> + <when value="no" /> + <when value="yes"> + <param name="averageType" type="select" label="Define the type of statistic that should be used for the profile."> + <option value="mean" selected="true">mean</option> + <option value="median">median</option> + <option value="min">min</option> + <option value="max">max</option> + <option value="sum">sum</option> + <option value="std">std</option> + </param> + <param name="plotHeight" type="integer" value="5" min="3" + label="Plot height" + help="Height in cm. The default for the plot height is 5 centimeters. The minimum value is 3 cm." /> + <param name="plotWidth" type="integer" value="8" min="1" + label="Plot width" + help="Width in cm. The default value is 8 centimeters. The minimum value is 1 cm." /> + <param name="plotType" type="select" label="Plot type" + help="For the summary plot (profile) only. The "lines" option will plot the profile line based on the average type selected. The "fill" option fills the region between zero and the profile curve. The fill in color is semi transparent to distinguish different profiles. The "add standard error" option colors the region between the profile and the standard error of the data. As in the case of fill, a semi-transparent color is used. The option "overlapped_lines" plots each region values, one on top of the other; this option only works if "one plot per proup" is set."> + <option value="lines" selected="true">lines</option> + <option value="fill">fill</option> + <option value="se">add standard error</option> + <option value="overlapped_lines">overlapped lines</option> + </param> + <param name="regionsLabel" type="text" value="genes" size="30" + label="Labels for the regions plotted in the heatmap" + help="If more than one region is being plotted a list of labels separated by comma and limited by quotes, is required. For example, "label1, label2"."/> + <param name="plotTitle" type="text" value="" size="30" + label="Title of the plot" + help="Title of the plot, to be printed on top of the generated image. Leave blank for no title." /> + <param name="colors" type="text" value="" size="40" + label="List of colors to use for the plotted lines" + help="Color names and html hex strings (e.g. #eeff22) are accepted. The color names should be given separated by spaces. (--colors red blue green)"> + <validator type="expression" + message="Only numbers, digits, '#' and spaces are allowed.">all(c in ' #abcdefghijklmnopqrstuvwxyz0123456789' for c in value)</validator> + </param> + + <param name="onePlotPerGroup" type="boolean" truevalue="--onePlotPerGroup" falsevalue="" + label="Do one plot per group" + help="When the region file contains groups separated by "#", the default is to plot the averages for the distinct plots in one plot. If this option is set, each group will get its own plot, stacked on top of each other."/> + <param name="yMin" type="float" value="" size="3" optional="true" + label="Minimum value for the Y-axis of the summary plot. Leave empty for automatic values"/> + <param name="yMax" type="float" value="" size="3" optional="true" + label="Maximum value for Y-axis of the summary plot. Leave empty for automatic values" /> + <param name="xAxisLabel" type="text" value="gene distance (bp)" size="50" + label="Description for the x-axis label" /> + <param name="yAxisLabel" type="text" value="" size="50" + label="Description for the y-axis label for the top panel" /> + + <expand macro="kmeans_clustering" /> + + </when> + </conditional> + </inputs> + <outputs> + <expand macro="output_image_file_format" /> + <expand macro="output_graphic_outputs" /> + </outputs> + <help> +<![CDATA[ +**What it does** + +This tool plots the average enrichments over all genomic +regions supplied to computeMarix. It requires that computeMatrix was successfully run. +It is a very useful complement to the heatmapper, especially in cases when you want to +compare the scores for many different groups. Like heatmapper, profiler does not change the +values that were compute by computeMatrix, but you can choose between +many different ways to color and display the plots. + + +.. image:: $PATH_TO_IMAGES/visual_profiler_DmelPolII.png + :alt: Meta-gene profile of Rna Polymerase II + + +You can find more details on the profiler wiki page: https://github.com/fidelram/deepTools/wiki/Visualizations#wiki-profiler + + +----- + +@REFERENCES@ +]]> + </help> + <expand macro="citations" /> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/readme.rst Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,74 @@ +======================== +Galaxy deeptools wrapper +======================== + +deepTools are user-friendly tools for the normalization and visualization of +deep-sequencing data. +They address the challenge of visualizing the large amounts of data that are now +routinely generated from sequencing centers in a meaningful way. +To do so, deepTools contain useful routines to process the mapped reads data +through removal of duplicates and different filtering options to create coverage +files in standard bedGraph and bigWig file formats. deepTools allow the creation +of normalized coverage files or the comparison between two files +(for example, treatment and control). Finally, using such normalized and +standardized files, multiple visualizations can be created to identify +enrichments with functional annotations of the genome. +For a gallery of images that can be produced and a description +of the tools see our poster_. + +.. _poster: http://f1000.com/posters/browse/summary/1094053 + +deeptools is developed under here: + + https://github.com/fidelram/deepTools + +For support, questions, or feature requests contact: deeptools@googlegroups.com + + +============ +Installation +============ + +Requirements: python-2.7 + +Galaxy should be able to automatically install all other dependencies, such as numpy or scipy. + +For the best performance we recommend to install blas/lapack/atlas in your environment before +installing deepTools from the Tool Shed. + + +======== +Citation +======== + +deeptools are currently under review. In the meantime please refere to https://github.com/fidelram/deepTools. + + +======= +History +======= + + * v1.0: Initial public release + * v1.5.8.2: Include new citation tag, update version to 1.5.8.2 and change wrapper version + + +Licence (MIT) +============= + +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 +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE.
--- a/repository_dependencies.xml Sat Apr 12 07:25:47 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,4 +0,0 @@ -<?xml version="1.0"?> -<repositories description="Required proteomics dependencies."> - <repository changeset_revision="25f42af5b73d" name="proteomics_datatypes" owner="iracooke" toolshed="http://testtoolshed.g2.bx.psu.edu" /> -</repositories>
--- a/reverse.py Sat Apr 12 07:25:47 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -#!/usr/bin/env python -from os.path import join -import sys -from optparse import OptionParser -from ConfigParser import SafeConfigParser -import subprocess - -DEBUG = False - -def main(): - (options, args) = _parse_args() - _run_shell("cat '%s' > '%s'" % (options.input, options.output)) - _run_dbtoolkit("com.compomics.dbtoolkit.toolkit.ReverseFASTADB", "'%s' | head --lines -4 >> '%s'" % (options.input, options.output), options) - - -def _run_shell(command): - if DEBUG: - print "Running shell command %s" % command - _exec(command) - - -def _run_dbtoolkit(java_class, command, args): - command_prefix = "java -cp %s" % _dbtoolkit_jar_path( args.script_path ) - _exec("%s %s %s" % (command_prefix, java_class, command)) - - -def _dbtoolkit_jar_path( script_path ): - jar_path = join(script_path, "dbtoolkit-4.2", "dbtoolkit-4.2.jar") - return jar_path - -def _exec(command): - proc = subprocess.Popen(args=command, shell=True) - return_code = proc.wait() - if return_code != 0: - print "Error executing command [%s], return code is %d" % (command, return_code) - sys.exit(return_code) - - -def _parse_args(): - parser = OptionParser() - parser.add_option("-i", "--input") - parser.add_option("-o", "--output") - parser.add_option("-s", "--script_path") - return parser.parse_args() - - -if __name__ == "__main__": - main()
--- a/reverse.xml Sat Apr 12 07:25:47 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -<tool id="compomics_reverse" name="Create Target-Decoy Database" version="0.1.0"> - <description>Creates a target-decoy database for use with Peptide Shaker</description> - <requirements> - <requirement type="set_environment">PEPTIDESHAKER_SCRIPT_PATH</requirement> - </requirements> - <command interpreter="python"> - reverse.py - --input='$input' - --output='$output' - --script_path \$PEPTIDESHAKER_SCRIPT_PATH - </command> - <inputs> - <param format="fasta" name="input" type="data" label="FASTA Input" /> - </inputs> - <outputs> - <data format="fasta" name="output" /> - </outputs> - <help> -**What it does** - -Given an input database, this tool will produce a target-decoy -database in the format required by PeptideShaker using dbtoolkit. - ------- - -**Citation** - -For the underlying tool, please cite `Martens et al. DBToolkit: processing protein databases for peptide-centric proteomics. Bioinformatics (2005) vol. 21 (17) pp. 3584-5`. - -If you use this tool in Galaxy, please cite Chilton J, et al. https://bitbucket.org/galaxyp/peptideshaker . - - </help> -</tool>
--- a/searchgui_mods.loc.sample Sat Apr 12 07:25:47 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,210 +0,0 @@ -methylation of k -oxidation of m -carboxymethyl c -carbamidomethyl c -deamidation of n and q -propionamide c -phosphorylation of s -phosphorylation of t -phosphorylation of y -m cleavage from protein n-term -acetylation of protein n-term -methylation of protein n-term -tri-methylation of protein n-term -beta methythiolation of d -methylation of q -tri-methylation of k -methylation of d -methylation of e -methylation of peptide c-term -tri-deuteromethylation of d -tri-deuteromethylation of e -tri-deuteromethylation of peptide c-term -n-formyl met addition -2-amino-3-oxo-butanoic acid t -acetylation of k -amidation of peptide c-term -beta-methylthiolation of d (duplicate of 13) -carboxyamidomethylation of k -carboxyamidomethylation of h -carboxyamidomethylation of d -carboxyamidomethylation of e -carbamylation of k -carbamylation of n-term peptide -citrullination of r -oxidation of c to cysteic acid -di-iodination of y -di-methylation of k -di-methylation of r -di-methylation of peptide n-term -oxidation of f to dihydroxyphenylalanine -gammathiopropionylation of k -gammathiopropionylation of peptide n-term -farnesylation of c -formylation of k -formylation of peptide n-term -oxidation of w to formylkynurenin -fluorophenylalanine -beta-carboxylation of d -gamma-carboxylation of e -geranyl-geranyl -glucuronylation of protein n-term -glutathione disulfide -ubiquitinylation residue -guanidination of k -oxidation of h to n -oxidation of h to d -homoserine -homoserine lactone -oxidation of w to hydroxykynurenin -hydroxylation of d -hydroxylation of k -hydroxylation of n -hydroxylation of p -hydroxylation of f -hydroxylation of y -iodination of y -oxidation of w to kynurenin -lipoyl k -methyl ester of peptide c-term (duplicate of 18) -methyl ester of d -methyl ester of e (duplicate of 17) -methyl ester of s -methyl ester of y -methyl c -methyl h -methyl n -methylation of peptide n-term -methyl r -myristoleylation of g -myristoyl-4h of g -myristoylation of peptide n-term g -myristoylation of k -formylation of protein n-term -nem c -nipcam -oxidation of w to nitro -oxidation of y to nitro -o18 on peptide n-term -di-o18 on peptide n-term -oxidation of h -oxidation of w -phosphopantetheine s -palmitoylation of c -palmitoylation of k -palmitoylation of s -palmitoylation of t -phosphorylation of s with prompt loss -phosphorylation of t with prompt loss -phosphorylation with prompt loss on y -phosphorylation with neutral loss on c -phosphorylation with neutral loss on d -phosphorylation with neutral loss on h -propionyl light k -propionyl light on peptide n-term -propionyl heavy k -propionyl heavy peptide n-term -pyridyl k -pyridyl peptide n-term -pyro-cmc -pyro-glu from n-term e -pyro-glu from n-term q -oxidation of p to pyroglutamic acid -s-pyridylethylation of c -semet -sulfation of y -sulphone of m -tri-iodination of y -tri-methylation of r -n-acyl diglyceride cysteine -icat light -icat heavy -camthiopropanoyl k -phosphorylation with neutral loss on s -phosphorylation with neutral loss on t -phosphorylation of s with etd loss -phosphorylation of t with etd loss -heavy arginine-13c6 -heavy arginine-13c6-15n4 -heavy lysine-13c6 -pngasf in o18 water -beta elimination of s -beta elimination of t -oxidation of c to sulfinic acid -arginine to ornithine -dehydro of s and t -carboxykynurenin of w -sumoylation of k -itraq114 on nterm -itraq114 on k -itraq114 on y -itraq115 on nterm -itraq115 on k -itraq115 on y -itraq116 on nterm -itraq116 on k -itraq116 on y -itraq117 on nterm -itraq117 on k -itraq117 on y -mmts on c -heavy lysine - 2h4 -heavy lysine - 13c6 15n2 -asparagine hexnac -asparagine dhexhexnac -serine hexnac -threonine hexnac -palmitoleyl of s -palmitoleyl of c -palmitoleyl of t -chd2-di-methylation of k -chd2-di-methylation of peptide n-term -maleimide-peo2-biotin of c -phosphorylation of h -oxidation of c -oxidation of y (duplicate of 64) -uniblue a on k -deamidation of n -trideuteration of l (silac) -tmt duplex on k -tmt duplex on n-term peptide -tmt 6-plex on k -tmt 6-plex on n-term peptide -itraq8plex:13c(7)15n(1) on nterm -itraq8plex:13c(7)15n(1) on k -itraq8plex:13c(7)15n(1) on y -itraq8plex:13c(6)15n(2) on nterm -itraq8plex:13c(6)15n(2) on k -itraq8plex:13c(6)15n(2) on y -selenocysteine -carboxymethylated selenocysteine -dimethyl 2d n-terminus -dimethyl 2d k -gtp desthiobiotinc12 -gtp desthiobiotinc13 -user modification 5 -user modification 6 -user modification 7 -user modification 8 -user modification 9 -user modification 10 -user modification 11 -user modification 12 -user modification 13 -user modification 14 -user modification 15 -user modification 16 -user modification 17 -user modification 18 -user modification 19 -user modification 20 -user modification 21 -user modification 22 -user modification 23 -user modification 24 -user modification 25 -user modification 26 -user modification 27 -user modification 28 -user modification 29 -user modification 30
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bamCompare_result1.bg Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,1 @@ +chrM 0 16569 1.0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bamCoverage_result3.bg Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,12 @@ +chrM 0 210 8173200.00 +chrM 210 220 7999302.13 +chrM 220 230 7129812.77 +chrM 230 240 5564731.91 +chrM 240 250 4173548.94 +chrM 250 260 2434570.21 +chrM 260 300 1912876.60 +chrM 300 16310 1738978.72 +chrM 16310 16320 1565080.85 +chrM 16320 16330 869489.36 +chrM 16330 16340 695591.49 +chrM 16340 16350 347795.74
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bamCoverage_result4.bg Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,456 @@ +phiX174 0 10 3742.31 +phiX174 10 20 18711.54 +phiX174 20 70 63619.23 +phiX174 70 90 82330.77 +phiX174 90 100 101042.31 +phiX174 100 120 104784.62 +phiX174 120 140 119753.85 +phiX174 140 160 138465.38 +phiX174 160 170 153434.62 +phiX174 170 180 183373.08 +phiX174 180 200 202084.62 +phiX174 200 210 205826.92 +phiX174 210 220 224538.46 +phiX174 220 230 265703.85 +phiX174 230 240 295642.31 +phiX174 240 250 303126.92 +phiX174 250 260 318096.15 +phiX174 260 270 366746.15 +phiX174 270 280 404169.23 +phiX174 280 290 419138.46 +phiX174 290 310 437850.00 +phiX174 310 320 456561.54 +phiX174 320 330 479015.38 +phiX174 330 350 497726.92 +phiX174 350 360 505211.54 +phiX174 360 370 508953.85 +phiX174 370 380 523923.08 +phiX174 380 400 550119.23 +phiX174 400 410 553861.54 +phiX174 410 420 550119.23 +phiX174 420 430 565088.46 +phiX174 430 440 583800.00 +phiX174 440 450 595026.92 +phiX174 450 460 609996.15 +phiX174 460 480 643676.92 +phiX174 480 490 658646.15 +phiX174 490 500 669873.08 +phiX174 500 510 673615.38 +phiX174 510 520 669873.08 +phiX174 520 530 684842.31 +phiX174 530 540 677357.69 +phiX174 540 550 707296.15 +phiX174 550 560 684842.31 +phiX174 560 570 711038.46 +phiX174 570 580 707296.15 +phiX174 580 600 699811.54 +phiX174 600 610 673615.38 +phiX174 610 620 722265.38 +phiX174 620 630 740976.92 +phiX174 630 640 722265.38 +phiX174 640 660 718523.08 +phiX174 660 670 711038.46 +phiX174 670 680 692326.92 +phiX174 680 690 733492.31 +phiX174 690 700 752203.85 +phiX174 700 710 737234.62 +phiX174 710 720 740976.92 +phiX174 720 730 759688.46 +phiX174 730 740 748461.54 +phiX174 740 750 759688.46 +phiX174 750 760 733492.31 +phiX174 760 770 714780.77 +phiX174 770 800 755946.15 +phiX174 800 810 744719.23 +phiX174 810 820 740976.92 +phiX174 820 830 726007.69 +phiX174 830 850 711038.46 +phiX174 850 860 729750.00 +phiX174 860 870 733492.31 +phiX174 870 880 722265.38 +phiX174 880 890 740976.92 +phiX174 890 900 748461.54 +phiX174 900 910 767173.08 +phiX174 910 920 759688.46 +phiX174 920 930 774657.69 +phiX174 930 940 770915.38 +phiX174 940 960 744719.23 +phiX174 960 970 714780.77 +phiX174 970 980 684842.31 +phiX174 980 990 692326.92 +phiX174 990 1000 677357.69 +phiX174 1000 1010 681100.00 +phiX174 1010 1020 722265.38 +phiX174 1020 1030 699811.54 +phiX174 1030 1040 744719.23 +phiX174 1040 1050 759688.46 +phiX174 1050 1060 763430.77 +phiX174 1060 1080 793369.23 +phiX174 1080 1100 785884.62 +phiX174 1100 1110 770915.38 +phiX174 1110 1130 767173.08 +phiX174 1130 1140 763430.77 +phiX174 1140 1160 797111.54 +phiX174 1160 1170 793369.23 +phiX174 1170 1190 804596.15 +phiX174 1190 1200 789626.92 +phiX174 1200 1210 782142.31 +phiX174 1210 1220 812080.77 +phiX174 1220 1230 797111.54 +phiX174 1230 1240 778400.00 +phiX174 1240 1250 748461.54 +phiX174 1250 1260 740976.92 +phiX174 1260 1270 759688.46 +phiX174 1270 1280 748461.54 +phiX174 1280 1290 763430.77 +phiX174 1290 1300 755946.15 +phiX174 1300 1310 737234.62 +phiX174 1310 1320 767173.08 +phiX174 1320 1330 755946.15 +phiX174 1330 1340 770915.38 +phiX174 1340 1350 778400.00 +phiX174 1350 1360 789626.92 +phiX174 1360 1370 812080.77 +phiX174 1370 1380 819565.38 +phiX174 1380 1390 778400.00 +phiX174 1390 1400 740976.92 +phiX174 1400 1410 770915.38 +phiX174 1410 1430 778400.00 +phiX174 1430 1440 793369.23 +phiX174 1440 1450 808338.46 +phiX174 1450 1460 830792.31 +phiX174 1460 1470 819565.38 +phiX174 1470 1480 804596.15 +phiX174 1480 1490 800853.85 +phiX174 1490 1500 785884.62 +phiX174 1500 1510 770915.38 +phiX174 1510 1520 759688.46 +phiX174 1520 1530 755946.15 +phiX174 1530 1540 770915.38 +phiX174 1540 1550 755946.15 +phiX174 1550 1560 778400.00 +phiX174 1560 1580 782142.31 +phiX174 1580 1590 718523.08 +phiX174 1590 1600 692326.92 +phiX174 1600 1620 651161.54 +phiX174 1620 1630 647419.23 +phiX174 1630 1640 684842.31 +phiX174 1640 1650 688584.62 +phiX174 1650 1660 692326.92 +phiX174 1660 1670 699811.54 +phiX174 1670 1680 714780.77 +phiX174 1680 1690 696069.23 +phiX174 1690 1710 707296.15 +phiX174 1710 1720 733492.31 +phiX174 1720 1730 740976.92 +phiX174 1730 1740 744719.23 +phiX174 1740 1750 729750.00 +phiX174 1750 1760 703553.85 +phiX174 1760 1770 696069.23 +phiX174 1770 1780 677357.69 +phiX174 1780 1790 666130.77 +phiX174 1790 1800 669873.08 +phiX174 1800 1810 677357.69 +phiX174 1810 1820 658646.15 +phiX174 1820 1830 707296.15 +phiX174 1830 1840 800853.85 +phiX174 1840 1850 819565.38 +phiX174 1850 1860 812080.77 +phiX174 1860 1870 830792.31 +phiX174 1870 1890 827050.00 +phiX174 1890 1900 830792.31 +phiX174 1900 1910 823307.69 +phiX174 1910 1920 812080.77 +phiX174 1920 1930 856988.46 +phiX174 1930 1940 875700.00 +phiX174 1940 1950 838276.92 +phiX174 1950 1960 853246.15 +phiX174 1960 1970 860730.77 +phiX174 1970 1980 886926.92 +phiX174 1980 2000 856988.46 +phiX174 2000 2010 886926.92 +phiX174 2010 2020 871957.69 +phiX174 2020 2030 875700.00 +phiX174 2030 2040 879442.31 +phiX174 2040 2050 883184.62 +phiX174 2050 2060 808338.46 +phiX174 2060 2070 804596.15 +phiX174 2070 2080 785884.62 +phiX174 2080 2090 819565.38 +phiX174 2090 2100 815823.08 +phiX174 2100 2110 819565.38 +phiX174 2110 2120 782142.31 +phiX174 2120 2130 800853.85 +phiX174 2130 2140 785884.62 +phiX174 2140 2160 770915.38 +phiX174 2160 2170 755946.15 +phiX174 2170 2180 737234.62 +phiX174 2180 2190 729750.00 +phiX174 2190 2200 711038.46 +phiX174 2200 2210 722265.38 +phiX174 2210 2220 718523.08 +phiX174 2220 2230 763430.77 +phiX174 2230 2250 770915.38 +phiX174 2250 2260 774657.69 +phiX174 2260 2280 744719.23 +phiX174 2280 2290 748461.54 +phiX174 2290 2300 752203.85 +phiX174 2300 2310 812080.77 +phiX174 2310 2320 842019.23 +phiX174 2320 2330 860730.77 +phiX174 2330 2340 845761.54 +phiX174 2340 2350 853246.15 +phiX174 2350 2360 849503.85 +phiX174 2360 2370 871957.69 +phiX174 2370 2380 860730.77 +phiX174 2380 2390 842019.23 +phiX174 2390 2400 860730.77 +phiX174 2400 2410 815823.08 +phiX174 2410 2420 819565.38 +phiX174 2420 2440 789626.92 +phiX174 2440 2450 785884.62 +phiX174 2450 2460 853246.15 +phiX174 2460 2470 883184.62 +phiX174 2470 2510 928092.31 +phiX174 2510 2520 871957.69 +phiX174 2520 2530 886926.92 +phiX174 2530 2540 916865.38 +phiX174 2540 2560 879442.31 +phiX174 2560 2570 875700.00 +phiX174 2570 2580 916865.38 +phiX174 2580 2590 924350.00 +phiX174 2590 2600 928092.31 +phiX174 2600 2610 909380.77 +phiX174 2610 2620 905638.46 +phiX174 2620 2630 901896.15 +phiX174 2630 2640 946803.85 +phiX174 2640 2650 935576.92 +phiX174 2650 2660 939319.23 +phiX174 2660 2670 943061.54 +phiX174 2670 2680 961773.08 +phiX174 2680 2690 943061.54 +phiX174 2690 2700 928092.31 +phiX174 2700 2710 920607.69 +phiX174 2710 2720 950546.15 +phiX174 2720 2730 969257.69 +phiX174 2730 2740 984226.92 +phiX174 2740 2760 1025392.31 +phiX174 2760 2770 999196.15 +phiX174 2770 2780 987969.23 +phiX174 2780 2790 1006680.77 +phiX174 2790 2810 991711.54 +phiX174 2810 2820 961773.08 +phiX174 2820 2830 931834.62 +phiX174 2830 2840 939319.23 +phiX174 2840 2850 909380.77 +phiX174 2850 2860 894411.54 +phiX174 2860 2870 909380.77 +phiX174 2870 2880 928092.31 +phiX174 2880 2890 913123.08 +phiX174 2890 2900 886926.92 +phiX174 2900 2910 894411.54 +phiX174 2910 2920 868215.38 +phiX174 2920 2930 853246.15 +phiX174 2930 2940 815823.08 +phiX174 2940 2950 864473.08 +phiX174 2950 2960 860730.77 +phiX174 2960 2970 864473.08 +phiX174 2970 2980 875700.00 +phiX174 2980 2990 856988.46 +phiX174 2990 3000 871957.69 +phiX174 3000 3010 901896.15 +phiX174 3010 3020 871957.69 +phiX174 3020 3030 883184.62 +phiX174 3030 3040 864473.08 +phiX174 3040 3050 834534.62 +phiX174 3050 3060 879442.31 +phiX174 3060 3070 890669.23 +phiX174 3070 3090 886926.92 +phiX174 3090 3100 871957.69 +phiX174 3100 3110 916865.38 +phiX174 3110 3120 901896.15 +phiX174 3120 3140 886926.92 +phiX174 3140 3160 898153.85 +phiX174 3160 3170 909380.77 +phiX174 3170 3190 913123.08 +phiX174 3190 3200 898153.85 +phiX174 3200 3220 879442.31 +phiX174 3220 3230 868215.38 +phiX174 3230 3240 886926.92 +phiX174 3240 3250 864473.08 +phiX174 3250 3260 845761.54 +phiX174 3260 3270 875700.00 +phiX174 3270 3280 890669.23 +phiX174 3280 3290 879442.31 +phiX174 3290 3300 853246.15 +phiX174 3300 3310 871957.69 +phiX174 3310 3320 856988.46 +phiX174 3320 3330 901896.15 +phiX174 3330 3340 909380.77 +phiX174 3340 3350 920607.69 +phiX174 3350 3360 935576.92 +phiX174 3360 3370 920607.69 +phiX174 3370 3380 935576.92 +phiX174 3380 3390 950546.15 +phiX174 3390 3410 905638.46 +phiX174 3410 3430 894411.54 +phiX174 3430 3440 909380.77 +phiX174 3440 3460 946803.85 +phiX174 3460 3470 976742.31 +phiX174 3470 3480 946803.85 +phiX174 3480 3490 961773.08 +phiX174 3490 3500 1006680.77 +phiX174 3500 3510 999196.15 +phiX174 3510 3530 1032876.92 +phiX174 3530 3540 991711.54 +phiX174 3540 3550 1010423.08 +phiX174 3550 3560 980484.62 +phiX174 3560 3570 965515.38 +phiX174 3570 3580 939319.23 +phiX174 3580 3600 935576.92 +phiX174 3600 3610 946803.85 +phiX174 3610 3630 916865.38 +phiX174 3630 3640 886926.92 +phiX174 3640 3650 879442.31 +phiX174 3650 3670 894411.54 +phiX174 3670 3690 898153.85 +phiX174 3690 3700 856988.46 +phiX174 3700 3710 868215.38 +phiX174 3710 3720 864473.08 +phiX174 3720 3730 875700.00 +phiX174 3730 3750 856988.46 +phiX174 3750 3760 849503.85 +phiX174 3760 3780 834534.62 +phiX174 3780 3790 808338.46 +phiX174 3790 3800 755946.15 +phiX174 3800 3810 711038.46 +phiX174 3810 3820 707296.15 +phiX174 3820 3830 658646.15 +phiX174 3830 3840 677357.69 +phiX174 3840 3850 692326.92 +phiX174 3850 3860 718523.08 +phiX174 3860 3870 722265.38 +phiX174 3870 3890 707296.15 +phiX174 3890 3900 692326.92 +phiX174 3900 3910 666130.77 +phiX174 3910 3920 636192.31 +phiX174 3920 3930 602511.54 +phiX174 3930 3940 591284.62 +phiX174 3940 3960 606253.85 +phiX174 3960 3970 621223.08 +phiX174 3970 3980 636192.31 +phiX174 3980 3990 617480.77 +phiX174 3990 4020 632450.00 +phiX174 4020 4030 666130.77 +phiX174 4030 4040 669873.08 +phiX174 4040 4050 636192.31 +phiX174 4050 4070 606253.85 +phiX174 4070 4080 602511.54 +phiX174 4080 4090 621223.08 +phiX174 4090 4100 647419.23 +phiX174 4100 4110 632450.00 +phiX174 4110 4120 636192.31 +phiX174 4120 4130 606253.85 +phiX174 4130 4140 624965.38 +phiX174 4140 4160 636192.31 +phiX174 4160 4170 654903.85 +phiX174 4170 4180 636192.31 +phiX174 4180 4190 658646.15 +phiX174 4190 4200 669873.08 +phiX174 4200 4210 707296.15 +phiX174 4210 4230 692326.92 +phiX174 4230 4240 688584.62 +phiX174 4240 4250 726007.69 +phiX174 4250 4260 711038.46 +phiX174 4260 4270 740976.92 +phiX174 4270 4290 744719.23 +phiX174 4290 4310 752203.85 +phiX174 4310 4320 767173.08 +phiX174 4320 4330 770915.38 +phiX174 4330 4340 737234.62 +phiX174 4340 4350 703553.85 +phiX174 4350 4360 711038.46 +phiX174 4360 4380 714780.77 +phiX174 4380 4390 707296.15 +phiX174 4390 4400 673615.38 +phiX174 4400 4410 703553.85 +phiX174 4410 4430 748461.54 +phiX174 4430 4440 759688.46 +phiX174 4440 4450 774657.69 +phiX174 4450 4470 778400.00 +phiX174 4470 4480 759688.46 +phiX174 4480 4490 767173.08 +phiX174 4490 4500 759688.46 +phiX174 4500 4510 729750.00 +phiX174 4510 4520 707296.15 +phiX174 4520 4530 688584.62 +phiX174 4530 4540 692326.92 +phiX174 4540 4550 733492.31 +phiX174 4550 4560 711038.46 +phiX174 4560 4580 703553.85 +phiX174 4580 4590 669873.08 +phiX174 4590 4600 684842.31 +phiX174 4600 4610 707296.15 +phiX174 4610 4620 692326.92 +phiX174 4620 4630 737234.62 +phiX174 4630 4640 733492.31 +phiX174 4640 4650 778400.00 +phiX174 4650 4660 752203.85 +phiX174 4660 4670 748461.54 +phiX174 4670 4680 744719.23 +phiX174 4680 4690 729750.00 +phiX174 4690 4700 770915.38 +phiX174 4700 4710 744719.23 +phiX174 4710 4720 729750.00 +phiX174 4720 4730 733492.31 +phiX174 4730 4740 774657.69 +phiX174 4740 4750 804596.15 +phiX174 4750 4760 800853.85 +phiX174 4760 4770 815823.08 +phiX174 4770 4780 860730.77 +phiX174 4780 4810 868215.38 +phiX174 4810 4830 886926.92 +phiX174 4830 4840 905638.46 +phiX174 4840 4850 931834.62 +phiX174 4850 4860 939319.23 +phiX174 4860 4870 924350.00 +phiX174 4870 4880 905638.46 +phiX174 4880 4890 890669.23 +phiX174 4890 4900 860730.77 +phiX174 4900 4910 845761.54 +phiX174 4910 4930 830792.31 +phiX174 4930 4950 815823.08 +phiX174 4950 4960 789626.92 +phiX174 4960 4970 740976.92 +phiX174 4970 4980 726007.69 +phiX174 4980 4990 699811.54 +phiX174 4990 5000 703553.85 +phiX174 5000 5010 688584.62 +phiX174 5010 5030 669873.08 +phiX174 5030 5050 666130.77 +phiX174 5050 5060 621223.08 +phiX174 5060 5070 606253.85 +phiX174 5070 5080 572573.08 +phiX174 5080 5090 557603.85 +phiX174 5090 5100 542634.62 +phiX174 5100 5120 512696.15 +phiX174 5120 5130 493984.62 +phiX174 5130 5140 479015.38 +phiX174 5140 5150 475273.08 +phiX174 5150 5160 460303.85 +phiX174 5160 5180 426623.08 +phiX174 5180 5190 422880.77 +phiX174 5190 5200 407911.54 +phiX174 5200 5210 348034.62 +phiX174 5210 5220 303126.92 +phiX174 5220 5230 258219.23 +phiX174 5230 5240 243250.00 +phiX174 5240 5250 209569.23 +phiX174 5250 5260 164661.54 +phiX174 5260 5280 160919.23 +phiX174 5280 5290 130980.77 +phiX174 5290 5300 97300.00 +phiX174 5300 5310 78588.46 +phiX174 5310 5340 44907.69 +phiX174 5340 5350 29938.46 +phiX174 5350 5386 14969.2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bamPEFragmentSize_result1.txt Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,9 @@ +Sample size: 3 + +Min.: 241.0 +1st Qu.: 241.5 +Mean: 244.666666667 +Median: 242.0 +3rd Qu.: 246.5 +Max.: 251.0 +Std: 4.49691252108
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/bigwigCompare_result2.bg Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,5 @@ +chr21 0 10000000 1.0 +chr21 10000000 20000000 1.0 +chr21 20000000 30000000 1.0 +chr21 30000000 40000000 1.0 +chr21 40000000 48129895 1.0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/computeGCBias_result1.tabular Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,101 @@ +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 2.900000000000000000e+01 1.000000000000000000e+00 +2.000000000000000000e+00 2.900000000000000000e+01 4.068965517241379004e+00 +1.000000000000000000e+00 5.900000000000000000e+01 1.000000000000000000e+00 +3.000000000000000000e+00 9.600000000000000000e+01 1.843750000000000000e+00 +2.000000000000000000e+00 1.570000000000000000e+02 7.515923566878981443e-01 +5.000000000000000000e+00 1.740000000000000000e+02 1.695402298850574585e+00 +5.000000000000000000e+00 2.340000000000000000e+02 1.260683760683760646e+00 +7.000000000000000000e+00 3.590000000000000000e+02 1.150417827298050089e+00 +4.000000000000000000e+00 3.690000000000000000e+02 6.395663956639566772e-01 +7.000000000000000000e+00 4.310000000000000000e+02 9.582366589327145912e-01 +8.000000000000000000e+00 4.820000000000000000e+02 9.792531120331949834e-01 +1.100000000000000000e+01 5.490000000000000000e+02 1.182149362477231236e+00 +8.000000000000000000e+00 5.220000000000000000e+02 9.042145593869731490e-01 +8.000000000000000000e+00 5.670000000000000000e+02 8.324514991181657386e-01 +2.000000000000000000e+00 3.760000000000000000e+02 3.138297872340425343e-01 +6.000000000000000000e+00 2.650000000000000000e+02 1.335849056603773510e+00 +1.000000000000000000e+00 1.840000000000000000e+02 3.206521739130434590e-01 +0.000000000000000000e+00 1.160000000000000000e+02 1.000000000000000000e+00 +4.000000000000000000e+00 8.400000000000000000e+01 2.809523809523809312e+00 +2.000000000000000000e+00 8.300000000000000000e+01 1.421686746987951944e+00 +3.000000000000000000e+00 6.600000000000000000e+01 2.681818181818182101e+00 +0.000000000000000000e+00 3.900000000000000000e+01 1.000000000000000000e+00 +0.000000000000000000e+00 1.600000000000000000e+01 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00 +0.000000000000000000e+00 0.000000000000000000e+00 1.000000000000000000e+00
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/computeMatrix1.bed Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,8 @@ +phiX174 1000 1500 CG11023 0 + +phiX174 150 1750 cda5 0 - +phiX174 150 177 cda8 0 - +phiX174 75 1500 cda9 0 + +phiX174 101 175 C11023 0 + +phiX174 125 150 ca5 0 - +phiX174 450 1750 ca8 0 + +phiX174 80 1500 cda9 0 +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/computeMatrix2.bed Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,6 @@ +ch1 100 150 CG11023 0 + +ch2 150 175 cda5 0 - +ch3 100 125 cda8 0 + +ch1 75 125 C11023 0 + +ch2 125 150 ca5 0 - +ch3 75 100 ca8 0 +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/phiX.fasta Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,79 @@ +>phiX174 +GAGTTTTATCGCTTCCATGACGCAGAAGTTAACACTTTCGGATATTTCTGATGAGTCGAAAAATTATCTT +GATAAAGCAGGAATTACTACTGCTTGTTTACGAATTAAATCGAAGTGGACTGCTGGCGGAAAATGAGAAA +ATTCGACCTATCCTTGCGCAGCTCGAGAAGCTCTTACTTTGCGACCTTTCGCCATCAACTAACGATTCTG +TCAAAAACTGACGCGTTGGATGAGGAGAAGTGGCTTAATATGCTTGGCACGTTCGTCAAGGACTGGTTTA +GATATGAGTCACATTTTGTTCATGGTAGAGATTCTCTTGTTGACATTTTAAAAGAGCGTGGATTACTATC +TGAGTCCGATGCTGTTCAACCACTAATAGGTAAGAAATCATGAGTCAAGTTACTGAACAATCCGTACGTT +TCCAGACCGCTTTGGCCTCTATTAAGCTCATTCAGGCTTCTGCCGTTTTGGATTTAACCGAAGATGATTT +CGATTTTCTGACGAGTAACAAAGTTTGGATTGCTACTGACCGCTCTCGTGCTCGTCGCTGCGTTGAGGCT +TGCGTTTATGGTACGCTGGACTTTGTGGGATACCCTCGCTTTCCTGCTCCTGTTGAGTTTATTGCTGCCG +TCATTGCTTATTATGTTCATCCCGTCAACATTCAAACGGCCTGTCTCATCATGGAAGGCGCTGAATTTAC +GGAAAACATTATTAATGGCGTCGAGCGTCCGGTTAAAGCCGCTGAATTGTTCGCGTTTACCTTGCGTGTA +CGCGCAGGAAACACTGACGTTCTTACTGACGCAGAAGAAAACGTGCGTCAAAAATTACGTGCAGAAGGAG +TGATGTAATGTCTAAAGGTAAAAAACGTTCTGGCGCTCGCCCTGGTCGTCCGCAGCCGTTGCGAGGTACT +AAAGGCAAGCGTAAAGGCGCTCGTCTTTGGTATGTAGGTGGTCAACAATTTTAATTGCAGGGGCTTCGGC +CCCTTACTTGAGGATAAATTATGTCTAATATTCAAACTGGCGCCGAGCGTATGCCGCATGACCTTTCCCA +TCTTGGCTTCCTTGCTGGTCAGATTGGTCGTCTTATTACCATTTCAACTACTCCGGTTATCGCTGGCGAC +TCCTTCGAGATGGACGCCGTTGGCGCTCTCCGTCTTTCTCCATTGCGTCGTGGCCTTGCTATTGACTCTA +CTGTAGACATTTTTACTTTTTATGTCCCTCATCGTCACGTTTATGGTGAACAGTGGATTAAGTTCATGAA +GGATGGTGTTAATGCCACTCCTCTCCCGACTGTTAACACTACTGGTTATATTGACCATGCCGCTTTTCTT +GGCACGATTAACCCTGATACCAATAAAATCCCTAAGCATTTGTTTCAGGGTTATTTGAATATCTATAACA +ACTATTTTAAAGCGCCGTGGATGCCTGACCGTACCGAGGCTAACCCTAATGAGCTTAATCAAGATGATGC +TCGTTATGGTTTCCGTTGCTGCCATCTCAAAAACATTTGGACTGCTCCGCTTCCTCCTGAGACTGAGCTT +TCTCGCCAAATGACGACTTCTACCACATCTATTGACATTATGGGTCTGCAAGCTGCTTATGCTAATTTGC +ATACTGACCAAGAACGTGATTACTTCATGCAGCGTTACCGTGATGTTATTTCTTCATTTGGAGGTAAAAC +CTCTTATGACGCTGACAACCGTCCTTTACTTGTCATGCGCTCTAATCTCTGGGCATCTGGCTATGATGTT +GATGGAACTGACCAAACGTCGTTAGGCCAGTTTTCTGGTCGTGTTCAACAGACCTATAAACATTCTGTGC +CGCGTTTCTTTGTTCCTGAGCATGGCACTATGTTTACTCTTGCGCTTGTTCGTTTTCCGCCTACTGCGAC +TAAAGAGATTCAGTACCTTAACGCTAAAGGTGCTTTGACTTATACCGATATTGCTGGCGACCCTGTTTTG +TATGGCAACTTGCCGCCGCGTGAAATTTCTATGAAGGATGTTTTCCGTTCTGGTGATTCGTCTAAGAAGT +TTAAGATTGCTGAGGGTCAGTGGTATCGTTATGCGCCTTCGTATGTTTCTCCTGCTTATCACCTTCTTGA +AGGCTTCCCATTCATTCAGGAACCGCCTTCTGGTGATTTGCAAGAACGCGTACTTATTCGCCACCATGAT +TATGACCAGTGTTTCCAGTCCGTTCAGTTGTTGCAGTGGAATAGTCAGGTTAAATTTAATGTGACCGTTT +ATCGCAATCTGCCGACCACTCGCGATTCAATCATGACTTCGTGATAAAAGATTGAGTGTGAGGTTATAAC +GCCGAAGCGGTAAAAATTTTAATTTTTGCCGCTGAGGGGTTGACCAAGCGAAGCGCGGTAGGTTTTCTGC +TTAGGAGTTTAATCATGTTTCAGACTTTTATTTCTCGCCATAATTCAAACTTTTTTTCTGATAAGCTGGT +TCTCACTTCTGTTACTCCAGCTTCTTCGGCACCTGTTTTACAGACACCTAAAGCTACATCGTCAACGTTA +TATTTTGATAGTTTGACGGTTAATGCTGGTAATGGTGGTTTTCTTCATTGCATTCAGATGGATACATCTG +TCAACGCCGCTAATCAGGTTGTTTCTGTTGGTGCTGATATTGCTTTTGATGCCGACCCTAAATTTTTTGC +CTGTTTGGTTCGCTTTGAGTCTTCTTCGGTTCCGACTACCCTCCCGACTGCCTATGATGTTTATCCTTTG +AATGGTCGCCATGATGGTGGTTATTATACCGTCAAGGACTGTGTGACTATTGACGTCCTTCCCCGTACGC +CGGGCAATAATGTTTATGTTGGTTTCATGGTTTGGTCTAACTTTACCGCTACTAAATGCCGCGGATTGGT +TTCGCTGAATCAGGTTATTAAAGAGATTATTTGTCTCCAGCCACTTAAGTGAGGTGATTTATGTTTGGTG +CTATTGCTGGCGGTATTGCTTCTGCTCTTGCTGGTGGCGCCATGTCTAAATTGTTTGGAGGCGGTCAAAA +AGCCGCCTCCGGTGGCATTCAAGGTGATGTGCTTGCTACCGATAACAATACTGTAGGCATGGGTGATGCT +GGTATTAAATCTGCCATTCAAGGCTCTAATGTTCCTAACCCTGATGAGGCCGCCCCTAGTTTTGTTTCTG +GTGCTATGGCTAAAGCTGGTAAAGGACTTCTTGAAGGTACGTTGCAGGCTGGCACTTCTGCCGTTTCTGA +TAAGTTGCTTGATTTGGTTGGACTTGGTGGCAAGTCTGCCGCTGATAAAGGAAAGGATACTCGTGATTAT +CTTGCTGCTGCATTTCCTGAGCTTAATGCTTGGGAGCGTGCTGGTGCTGATGCTTCCTCTGCTGGTATGG +TTGACGCCGGATTTGAGAATCAAAAAGAGCTTACTAAAATGCAACTGGACAATCAGAAAGAGATTGCCGA +GATGCAAAATGAGACTCAAAAAGAGATTGCTGGCATTCAGTCGGCGACTTCACGCCAGAATACGAAAGAC +CAGGTATATGCACAAAATGAGATGCTTGCTTATCAACAGAAGGAGTCTACTGCTCGCGTTGCGTCTATTA +TGGAAAACACCAATCTTTCCAAGCAACAGCAGGTTTCCGAGATTATGCGCCAAATGCTTACTCAAGCTCA +AACGGCTGGTCAGTATTTTACCAATGACCAAATCAAAGAAATGACTCGCAAGGTTAGTGCTGAGGTTGAC +TTAGTTCATCAGCAAACGCAGAATCAGCGGTATGGCTCTTCTCATATTGGCGCTACTGCAAAGGATATTT +CTAATGTCGTCACTGATGCTGCTTCTGGTGTGGTTGATATTTTTCATGGTATTGATAAAGCTGTTGCCGA +TACTTGGAACAATTTCTGGAAAGACGGTAAAGCTGATGGTATTGGCTCTAATTTGTCTAGGAAATAACCG +TCAGGATTGACACCCTCCCAATTGTATGTTTTCATGCCTCCAAATCTTGGAGGCTTTTTTATGGTTCGTT +CTTATTACCCTTCTGAATGTCACGCTGATTATTTTGACTTTGAGCGTATCGAGGCTCTTAAACCTGCTAT +TGAGGCTTGTGGCATTTCTACTCTTTCTCAATCCCCAATGCTTGGCTTCCATAAGCAGATGGATAACCGC +ATCAAGCTCTTGGAAGAGATTCTGTCTTTTCGTATGCAGGGCGTTGAGTTCGATAATGGTGATATGTATG +TTGACGGCCATAAGGCTGCTTCTGACGTTCGTGATGAGTTTGTATCTGTTACTGAGAAGTTAATGGATGA +ATTGGCACAATGCTACAATGTGCTCCCCCAACTTGATATTAATAACACTATAGACCACCGCCCCGAAGGG +GACGAAAAATGGTTTTTAGAGAACGAGAAGACGGTTACGCAGTTTTGCCGCAAGCTGGCTGCTGAACGCC +CTCTTAAGGATATTCGCGATGAGTATAATTACCCCAAAAAGAAAGGTATTAAGGATGAGTGTTCAAGATT +GCTGGAGGCCTCCACTATGAAATCGCGTAGAGGCTTTACTATTCAGCGTTTGATGAATGCAATGCGACAG +GCTCATGCTGATGGTTGGTTTATCGTTTTTGACACTCTCACGTTGGCTGACGACCGATTAGAGGCGTTTT +ATGATAATCCCAATGCTTTGCGTGACTATTTTCGTGATATTGGTCGTATGGTTCTTGCTGCCGAGGGTCG +CAAGGCTAATGATTCACACGCCGACTGCTATCAGTATTTTTGTGTGCCTGAGTATGGTACAGCTAATGGC +CGTCTTCATTTCCATGCGGTGCATTTTATGCGGACACTTCCTACAGGTAGCGTTGACCCTAATTTTGGTC +GTCGGGTACGCAATCGCCGCCAGTTAAATAGCTTGCAAAATACGTGGCCTTATGGTTACAGTATGCCCAT +CGCAGTTCGCTACACGCAGGACGCTTTTTCACGTTCTGGTTGGTTGTGGCCTGTTGATGCTAAAGGTGAG +CCGCTTAAAGCTACCAGTTATATGGCTGTTGGTTTCTATGTGGCTAAATACGTTAACAAAAAGTCAGATA +TGGACCTTGCTGCTAAAGGTCTAGGAGCTAAAGAATGGAACAACTCACTAAAAACCAAGCTGTCGCTACT +TCCCAAGAAGCTGTTCAGAATCAGAATGAGCCGCAACTTCGGGATGAAAATGCTCACAATGACAAATCTG +TCCACGGAGTGCTTAATCCAACTTACCAAGCTGGGTTACGACGCGACGCCGTTCAACCAGATATTGAAGC +AGAACGCAAAAAGAGAGATGAGATTGAGGCTGGGAAAAGTTACTGTAGCCGACGTTTTGGCGGCGCAACC +TGTGACGACAAATCTGCTCAAATTTATGCGCGCTTCGATAAAAATGATTGGCGTATCCAACCTGCA +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool-data/deepTools_seqs.loc.sample Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,27 @@ +#This is a sample file distributed with Galaxy that enables tools +#to use a directory of 2bit genome files for use with deepTools. You will +#need to supply these files and then create a deepTools_seqs.loc file +#similar to this one (store it in this directory) that points to +#the directories in which those files are stored. The deepTools_seqs.loc +#file has this format: +# +#<unique_build_id> <display_name> <file_path> +# +#So, for example, if your deepTools_seqs.loc began like this: +# +#hg18 Human (Homo sapiens): hg18 /depot/data2/galaxy/twobit/hg18.2bit +#hg19 Human (Homo sapiens): hg19 /depot/data2/galaxy/twobit/hg19.2bit +#mm9 Mouse (Mus musculus): mm9 /depot/data2/galaxy/twobit/mm9.2bit +# +#then your /depot/data2/galaxy/twobit/ directory +#would need to contain the following 2bit files: +# +#-rw-r--r-- 1 james universe 830134 2005-09-13 10:12 hg18.2bit +#-rw-r--r-- 1 james universe 527388 2005-09-13 10:12 hg19.2bit +#-rw-r--r-- 1 james universe 269808 2005-09-13 10:12 mm9.2bit +# +#Your deepTools_seqs.loc file should include an entry per line for +#each file you have stored that you want to be available. Note that +#your files should all have the extension '2bit'. +# +#Please note that the <unique_build_id> is also used as "Species name abbreviation".
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_data_table_conf.xml.sample Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,7 @@ +<tables> + <!-- Locations of 2bit sequence files for use in deepTools --> + <table name="deepTools_seqs" comment_char="#"> + <columns>value, name, path</columns> + <file path="tool-data/deepTools_seqs.loc" /> + </table> +</tables>
--- a/tool_dependencies.xml Sat Apr 12 07:25:47 2014 -0400 +++ b/tool_dependencies.xml Mon Jan 26 13:10:16 2015 -0500 @@ -1,12 +1,103 @@ <?xml version="1.0"?> <tool_dependency> - <set_environment version="1.0"> - <environment_variable action="set_to" name="PEPTIDESHAKER_SCRIPT_PATH">$REPOSITORY_INSTALL_DIR</environment_variable> - </set_environment> - <package name="searchgui" version="1.18.0"> - <repository changeset_revision="3bcfc0d7275b" name="package_searchgui_1_18" owner="iuc" toolshed="http://testtoolshed.g2.bx.psu.edu" /> + <package name="samtools" version="0.1.19"> + <repository changeset_revision="632f1a03db92" name="package_samtools_0_1_19" owner="iuc" prior_installation_required="True" toolshed="https://testtoolshed.g2.bx.psu.edu" /> + </package> + <package name="numpy" version="1.9"> + <repository changeset_revision="c35b30122eb6" name="package_numpy_1_9" owner="iuc" prior_installation_required="True" toolshed="https://testtoolshed.g2.bx.psu.edu" /> + </package> + <package name="matplotlib" version="1.4"> + <repository changeset_revision="6424ce261dab" name="package_matplotlib_1_4" owner="iuc" prior_installation_required="True" toolshed="https://testtoolshed.g2.bx.psu.edu" /> + </package> + <package name="scipy" version="0.14"> + <repository changeset_revision="38e76888714c" name="package_scipy_0_14" owner="iuc" prior_installation_required="True" toolshed="https://testtoolshed.g2.bx.psu.edu" /> + </package> + <package name="pysam" version="0.8.1"> + <repository changeset_revision="6b6843e15541" name="package_pysam_0_8_1" owner="iuc" prior_installation_required="True" toolshed="https://testtoolshed.g2.bx.psu.edu" /> + </package> + <package name="bx-python" version="0.7.2"> + <repository changeset_revision="b9a2fe72b835" name="package_bx_python_0_7_2" owner="iuc" prior_installation_required="True" toolshed="https://testtoolshed.g2.bx.psu.edu" /> + </package> + <package name="python" version="2.7"> + <repository changeset_revision="dffe84445ebd" name="package_python_2_7" owner="iuc" prior_installation_required="True" toolshed="https://testtoolshed.g2.bx.psu.edu" /> </package> - <package name="peptide_shaker" version="0.28.0"> - <repository changeset_revision="aa0a836dfaa9" name="package_peptideshaker_0_28" owner="iuc" toolshed="http://testtoolshed.g2.bx.psu.edu" /> - </package> + <package name="ucsc_tools" version="0.1"> + <install version="1.0"> + <actions> + <action type="download_binary"> + <url_template architecture="x86_64" os="linux">http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/bedGraphToBigWig</url_template> + <url_template architecture="i686" os="darwin">http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.i386/bedGraphToBigWig</url_template> + <url_template architecture="i386" os="darwin">http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.i386/bedGraphToBigWig</url_template> + <url_template architecture="x86_64" os="darwin">http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.x86_64/bedGraphToBigWig</url_template> + </action> + <action type="chmod"> + <file mode="755">$INSTALL_DIR/bedGraphToBigWig</file> + </action> + <action type="download_binary"> + <url_template architecture="x86_64" os="linux">http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/bigWigInfo</url_template> + <url_template architecture="i686" os="darwin">http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.i386/bigWigInfo</url_template> + <url_template architecture="i386" os="darwin">http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.i386/bigWigInfo</url_template> + <url_template architecture="x86_64" os="darwin">http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.x86_64/bigWigInfo</url_template> + </action> + <action type="chmod"> + <file mode="755">$INSTALL_DIR/bigWigInfo</file> + </action> + <action type="download_binary"> + <url_template architecture="x86_64" os="linux">http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/bigWigToBedGraph</url_template> + <url_template architecture="i686" os="darwin">http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.i386/bigWigToBedGraph</url_template> + <url_template architecture="i386" os="darwin">http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.i386/bigWigToBedGraph</url_template> + <url_template architecture="x86_64" os="darwin">http://hgdownload.cse.ucsc.edu/admin/exe/macOSX.x86_64/bigWigToBedGraph</url_template> + </action> + <action type="chmod"> + <file mode="755">$INSTALL_DIR/bigWigToBedGraph</file> + </action> + <action type="set_environment"> + <environment_variable action="prepend_to" name="PATH">$INSTALL_DIR</environment_variable> + </action> + </actions> + </install> + <readme>The tools downloaded by this dependency definition are free for academic use. TODO: UCSC tools are only available with their latest version. That is not good for reproducibility.</readme> + </package> + + <package name="deepTools" version="1.5.9.1"> + <install version="1.0"> + <actions> + <action type="set_environment_for_install"> + <repository changeset_revision="6b6843e15541" name="package_pysam_0_8_1" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu"> + <package name="pysam" version="0.8.1" /> + </repository> + <repository changeset_revision="b9a2fe72b835" name="package_bx_python_0_7_2" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu"> + <package name="bx-python" version="0.7.2" /> + </repository> + <repository changeset_revision="c35b30122eb6" name="package_numpy_1_9" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu"> + <package name="numpy" version="1.9" /> + </repository> + <repository changeset_revision="6424ce261dab" name="package_matplotlib_1_4" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu"> + <package name="matplotlib" version="1.4" /> + </repository> + <repository changeset_revision="38e76888714c" name="package_scipy_0_14" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu"> + <package name="scipy" version="0.14" /> + </repository> + </action> + <action type="setup_python_environment"> + <repository changeset_revision="dffe84445ebd" name="package_python_2_7" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu"> + <package name="python" version="2.7" /> + </repository> + <!-- allow downloading and installing an Python package from https://pypi.org/ --> + <package>https://pypi.python.org/packages/source/d/deepTools/deepTools-1.5.9.1.tar.gz</package> + </action> + + <action type="set_environment"> + <environment_variable action="prepend_to" name="PATH">$INSTALL_DIR/bin</environment_variable> + <environment_variable action="prepend_to" name="PYTHONPATH">$INSTALL_DIR/lib/python</environment_variable> + <!-- disable the config file of deepTools --> + <environment_variable action="set_to" name="DEEP_TOOLS_NO_CONFIG">TRUE</environment_variable> + </action> + </actions> + </install> + <readme> + Installation of deepTools from Fidel Ramirez. + https://github.com/fidelram/deepTools + </readme> + </package> </tool_dependency>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_test_output.html Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,356 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <title>Tool Test Results (powered by Planemo)</title> + + <!-- Bootstrap --> + <style>/*! + * Bootstrap v3.3.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:before,:after{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm,.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm,select.form-group-sm .form-control{height:30px;line-height:30px}textarea.input-sm,textarea.form-group-sm .form-control,select[multiple].input-sm,select[multiple].form-group-sm .form-control{height:auto}.input-lg,.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg,select.form-group-lg .form-control{height:46px;line-height:46px}textarea.input-lg,textarea.form-group-lg .form-control,select[multiple].input-lg,select[multiple].form-group-lg .form-control{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger.focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important;visibility:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:absolute;top:0;right:0;left:0;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.next,.carousel-inner>.item.active.right{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}</style> + <style>/* bootstrap custom style stuff - taken from demo template. */ +/* + * Base structure + */ + +/* Move down content because we have a fixed navbar that is 50px tall */ +body { + padding-top: 50px; +} + + +/* + * Global add-ons + */ + +.sub-header { + padding-bottom: 10px; + border-bottom: 1px solid #eee; +} + +/* + * Top navigation + * Hide default border to remove 1px line. + */ +.navbar-fixed-top { + border: 0; +} + +/* + * Sidebar + */ + +/* Hide for mobile, show later */ +.sidebar { + display: none; +} +@media (min-width: 768px) { + .sidebar { + position: fixed; + top: 51px; + bottom: 0; + left: 0; + z-index: 1000; + display: block; + padding: 20px; + overflow-x: hidden; + overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */ + background-color: #f5f5f5; + border-right: 1px solid #eee; + } +} + +/* Sidebar navigation */ +.nav-sidebar { + margin-right: -21px; /* 20px padding + 1px border */ + margin-bottom: 20px; + margin-left: -20px; +} +.nav-sidebar > li > a { + padding-right: 20px; + padding-left: 20px; +} +.nav-sidebar > .active > a, +.nav-sidebar > .active > a:hover, +.nav-sidebar > .active > a:focus { + color: #fff; + background-color: #428bca; +} + + +/* + * Main content + */ + +.main { + padding: 20px; +} +@media (min-width: 768px) { + .main { + padding-right: 40px; + padding-left: 40px; + } +} +.main .page-header { + margin-top: 0; +} + + +/* + * Placeholder dashboard ideas + */ + +.placeholders { + margin-bottom: 30px; + text-align: center; +} +.placeholders h4 { + margin-bottom: 0; +} +.placeholder { + margin-bottom: 20px; +} +.placeholder img { + display: inline-block; + border-radius: 50%; +} +</style> + + <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> + <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> + <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> + <![endif]--> + + </head> + <body> + + <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation"> + <div class="container-fluid"> + <div class="navbar-header"> + + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="#">Tool Test Results (powered by Planemo)</a> + </div> + <div id="navbar" class="navbar-collapse collapse"> + <ul class="nav navbar-nav navbar-right"> + + <li><a href="https://galaxyproject.org">Galaxy</a></li> + <li><a href="https://planemo.readthedocs.com">Planemo</a></li> + + </ul> + <div class="navbar-form navbar-right"> + </div> + </div> + </div> + </nav> + + <div class="container-fluid"> + <div class="row"> + <div class="col-sm-3 col-md-2 sidebar"> + <ul class="nav nav-sidebar"> + <li><a href="#overview" class="text-success"><strong>Overview</strong></a></li> + </ul> + <ul class="nav nav-sidebar" id="nav-sidebar-tests"> + </ul> + </div> + <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main"> + <!-- <h1 class="page-header">Tests</h1> --> + <h2 id="overview">Overview</h2> + <div id="overview-content"></div> + <div class="progress"> + </div> + <h2 id="tests">Tests</h2> + <p>The remainder of this contains a description for each test executed to run these jobs.</p> + </div> + </div> + </div> + + <script>/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b) +},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ab=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ib={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qb[0].contentDocument,b.write(),b.close(),c=sb(a,b),qb.detach()),rb[a]=c),c}var ub=/^margin/,vb=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)};function xb(a,b,c){var d,e,f,g,h=a.style;return c=c||wb(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),vb.test(g)&&ub.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function yb(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var zb=/^(none|table(?!-c[ea]).+)/,Ab=new RegExp("^("+Q+")(.*)$","i"),Bb=new RegExp("^([+-])=("+Q+")","i"),Cb={position:"absolute",visibility:"hidden",display:"block"},Db={letterSpacing:"0",fontWeight:"400"},Eb=["Webkit","O","Moz","ms"];function Fb(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Eb.length;while(e--)if(b=Eb[e]+c,b in a)return b;return d}function Gb(a,b,c){var d=Ab.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Hb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ib(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wb(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xb(a,b,f),(0>e||null==e)&&(e=a.style[b]),vb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Hb(a,b,c||(g?"border":"content"),d,f)+"px"}function Jb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",tb(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Bb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xb(a,b,d)),"normal"===e&&b in Db&&(e=Db[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?zb.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Cb,function(){return Ib(a,b,d)}):Ib(a,b,d):void 0},set:function(a,c,d){var e=d&&wb(a);return Gb(a,c,d?Hb(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=yb(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ub.test(a)||(n.cssHooks[a+b].set=Gb)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Jb(this,!0)},hide:function(){return Jb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Kb(a,b,c,d,e){return new Kb.prototype.init(a,b,c,d,e)}n.Tween=Kb,Kb.prototype={constructor:Kb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Kb.propHooks[this.prop];return a&&a.get?a.get(this):Kb.propHooks._default.get(this)},run:function(a){var b,c=Kb.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Kb.propHooks._default.set(this),this}},Kb.prototype.init.prototype=Kb.prototype,Kb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Kb.propHooks.scrollTop=Kb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Kb.prototype.init,n.fx.step={};var Lb,Mb,Nb=/^(?:toggle|show|hide)$/,Ob=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pb=/queueHooks$/,Qb=[Vb],Rb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Ob.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Ob.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sb(){return setTimeout(function(){Lb=void 0}),Lb=n.now()}function Tb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ub(a,b,c){for(var d,e=(Rb[b]||[]).concat(Rb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Vb(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||tb(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Nb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?tb(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ub(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xb(a,b,c){var d,e,f=0,g=Qb.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Lb||Sb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Lb||Sb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wb(k,j.opts.specialEasing);g>f;f++)if(d=Qb[f].call(j,a,k,j.opts))return d;return n.map(k,Ub,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xb,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Rb[c]=Rb[c]||[],Rb[c].unshift(b)},prefilter:function(a,b){b?Qb.unshift(a):Qb.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xb(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Tb(b,!0),a,d,e)}}),n.each({slideDown:Tb("show"),slideUp:Tb("hide"),slideToggle:Tb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Lb=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Lb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Mb||(Mb=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Mb),Mb=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Yb,Zb,$b=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Zb:Yb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b)) +},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Zb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$b[b]||n.find.attr;$b[b]=function(a,b,d){var e,f;return d||(f=$b[b],$b[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$b[b]=f),e}});var _b=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_b.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ac=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ac," ").indexOf(b)>=0)return!0;return!1}});var bc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cc=n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var ec,fc,gc=/#.*$/,hc=/([?&])_=[^&]*/,ic=/^(.*?):[ \t]*([^\r\n]*)$/gm,jc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,kc=/^(?:GET|HEAD)$/,lc=/^\/\//,mc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,nc={},oc={},pc="*/".concat("*");try{fc=location.href}catch(qc){fc=l.createElement("a"),fc.href="",fc=fc.href}ec=mc.exec(fc.toLowerCase())||[];function rc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function sc(a,b,c,d){var e={},f=a===oc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function tc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function uc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function vc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:fc,type:"GET",isLocal:jc.test(ec[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":pc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?tc(tc(a,n.ajaxSettings),b):tc(n.ajaxSettings,a)},ajaxPrefilter:rc(nc),ajaxTransport:rc(oc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=ic.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||fc)+"").replace(gc,"").replace(lc,ec[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=mc.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===ec[1]&&h[2]===ec[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(ec[3]||("http:"===ec[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),sc(nc,k,b,v),2===t)return v;i=k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!kc.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(dc.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=hc.test(d)?d.replace(hc,"$1_="+cc++):d+(dc.test(d)?"&":"?")+"_="+cc++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+pc+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=sc(oc,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=uc(k,v,f)),u=vc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var wc=/%20/g,xc=/\[\]$/,yc=/\r?\n/g,zc=/^(?:submit|button|image|reset|file)$/i,Ac=/^(?:input|select|textarea|keygen)/i;function Bc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||xc.test(a)?d(a,e):Bc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Bc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Bc(c,a[c],b,e);return d.join("&").replace(wc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Ac.test(this.nodeName)&&!zc.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(yc,"\r\n")}}):{name:b.name,value:c.replace(yc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Cc=0,Dc={},Ec={0:200,1223:204},Fc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Dc)Dc[a]()}),k.cors=!!Fc&&"withCredentials"in Fc,k.ajax=Fc=!!Fc,n.ajaxTransport(function(a){var b;return k.cors||Fc&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Cc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Dc[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Ec[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Dc[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Gc=[],Hc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Gc.pop()||n.expando+"_"+cc++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Hc.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Hc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Hc,"$1"+e):b.jsonp!==!1&&(b.url+=(dc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Gc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Ic=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Ic)return Ic.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Jc=a.document.documentElement;function Kc(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Kc(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Jc;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Jc})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Kc(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=yb(k.pixelPosition,function(a,c){return c?(c=xb(a,b),vb.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Lc=a.jQuery,Mc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Mc),b&&a.jQuery===n&&(a.jQuery=Lc),n},typeof b===U&&(a.jQuery=a.$=n),n}); +//# sourceMappingURL=jquery.min.map</script> + <script>/*! + * Bootstrap v3.3.1 (http://getbootstrap.com) + * Copyright 2011-2014 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.1",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.1",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.1",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c="prev"==a?-1:1,d=this.getItemIndex(b),e=(d+c)%this.$items.length;return this.$items.eq(e)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i="next"==b?"first":"last",j=this;if(!f.length){if(!this.options.wrap)return;f=this.$element.find(".item")[i]()}if(f.hasClass("active"))return this.sliding=!1;var k=f[0],l=a.Event("slide.bs.carousel",{relatedTarget:k,direction:h});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var m=a(this.$indicators.children()[this.getItemIndex(f)]);m&&m.addClass("active")}var n=a.Event("slid.bs.carousel",{relatedTarget:k,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),j.sliding=!1,setTimeout(function(){j.$element.trigger(n)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(n)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a(this.options.trigger).filter('[href="#'+b.id+'"], [data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.1",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0,trigger:'[data-toggle="collapse"]'},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.find("> .panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":a.extend({},e.data(),{trigger:this});c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.1",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27|32)/.test(b.which)&&!/input|textarea/i.test(b.target.tagName)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g&&27!=b.which||g&&27==b.which)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(b.target);38==b.which&&j>0&&j--,40==b.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="menu"]',g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.1",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.options.backdrop&&d.adjustBackdrop(),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in").attr("aria-hidden",!1),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$element.find(".modal-dialog").one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a('<div class="modal-backdrop '+e+'" />').prependTo(this.$element).on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.options.backdrop&&this.adjustBackdrop(),this.adjustDialog()},c.prototype.adjustBackdrop=function(){this.$backdrop.css("height",0).css("height",this.$element[0].scrollHeight)},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){this.bodyIsOverflowing=document.body.scrollHeight>document.documentElement.clientHeight,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b,g=f&&f.selector;(e||"destroy"!=b)&&(g?(e||d.data("bs.tooltip",e={}),e[g]||(e[g]=new c(this,f))):e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.3.1",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-m<p.top?"bottom":"right"==h&&k.right+l>p.width?"left":"left"==h&&k.left-l<p.left?"right":h,f.removeClass(n).addClass(h)}var q=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(q,h);var r=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",r).emulateTransitionEnd(c.TRANSITION_DURATION):r()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=this.tip(),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b,g=f&&f.selector;(e||"destroy"!=b)&&(g?(e||d.data("bs.popover",e={}),e[g]||(e[g]=new c(this,f))):e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.1",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.1",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.1",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]}) +})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.1",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=i?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a("body").height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);</script> + <script> +var renderTestResults = function(testData) { + var summary = testData["summary"]; + var numTests = summary["num_tests"]; + var numProblems = summary["num_errors"] + summary["num_failures"] + summary["num_skips"]; + var $overview = $("#overview-content"); + var $progress = $(".progress"); + if(numTests == 0) { + $overview.addClass("alert").addClass("alert-danger").text("No tests were executed."); + $progress.append($('<div class="progress-bar progress-bar-warning" role="progressbar" style="width: 100%" />')); + } else if(numProblems > 0) { + $overview.addClass("alert").addClass("alert-danger").text("There were problems with " + numProblems + " test(s) out of " + numTests + "."); + var problemPercent = (numProblems/(1.0 * numTests)) * 100.0; + var successPercent = 100.0 - problemPercent; + $progress.append($('<div class="progress-bar progress-bar-success" role="progressbar" style="width: ' + successPercent + '%" />')); + $progress.append($('<div class="progress-bar progress-bar-danger" role="progressbar" style="width: ' + problemPercent + '%" />')); + } else { + $overview.addClass("alert").addClass("alert-success").text("All " + numTests + " test(s) successfully executed."); + $progress.append($('<div class="progress-bar progress-bar-success" role="progressbar" style="width: 100%" />')); + } + + var $sidebar = $("#nav-sidebar-tests"); + for(var index in testData["tests"]) { + var test = testData["tests"][index]; + var testResult = new TestResult(test); + var rawId = testResult.rawId; + + var panelType = testResult.passed ? "panel-success" : "panel-danger"; + var $panel = $('<div class="panel">'); + $panel.addClass(panelType); + + var $panelHeading = $('<div class="panel-heading">'); + var $panelTitle = $('<div class="panel-title">'); + var $a = $('<a class="collapsed" data-toggle="collapse">'); + $a.attr("id", rawId); + $a.attr("data-target", "#collapse" + index); + var testName = testResult.toolName + " (Test #" + (testResult.testIndex + 1) + ")" + $a.text(testName); + var $navLink = $('<a>').attr('href', '#' + rawId).text(testName) + if(!testResult.passed) { + $navLink.addClass("text-danger"); + } else { + $navLink.addClass("text-success"); + } + $sidebar.append($('<li>').append( $navLink ) ); + $panelTitle.append($a) + $panelHeading.append($panelTitle); + + var $panelBody = $('<div class="panel-body panel-collapse collapse" >'); + $panelBody.attr("id", "collapse" + index); + + var $status = $('<div>').text("status: " + testResult.status); + $panelBody.append($status); + if(testResult.problems.length > 0) { + var $problemsLabel = $('<div>').text("problems: "); + var $problemsDiv = $('<div style="margin-left:10px;">'); + var $problemsUl = $('<ul>'); + for(var problemIndex in testResult.problems) { + $problemsUl.append($('<li>').append($('<code>').text(testResult.problems[problemIndex]))); + } + $problemsDiv.append($problemsUl); + $panelBody.append($problemsLabel).append($problemsDiv); + } + var $commandLabel = $('<div>command:</div>'); + var $stdoutLabel = $('<div>job standard output:</div>'); + var $stderrLabel = $('<div>job standard error:</div>'); + var $command; + if(testResult.command !== null) { + $command = $('<pre class="pre-scrollable" style="margin-left:10px;">').text(testResult.command); + } else { + $command = $('<div class="alert alert-warning" style="margin-left:10px;">').text("No command recorded."); + } + var $stdout; + if(testResult.stdout !== null) { + $stdout = $('<pre class="pre-scrollable" style="margin-left:10px;">').text(testResult.stdout); + } else { + $stdout = $('<div class="alert alert-warning" style="margin-left:10px;">').text("No standard output recorded."); + } + var $stderr; + if(testResult.stderr !== null) { + $stderr = $('<pre class="pre-scrollable" style="margin-left:10px;">').text(testResult.stderr); + } else { + $stderr = $('<div class="alert alert-warning" style="margin-left:10px;">').text("No standard error recorded."); + } + $panelBody + .append($commandLabel) + .append($command) + .append($stdoutLabel) + .append($stdout) + .append($stderrLabel) + .append($stderr); + if(!testResult.passed) { + var $logLabel = $('<div>log:</div>'); + var $log = $('<pre class="pre-scrollable" style="margin-left: 10px;">').text(testResult.problemLog); + $panelBody.append($logLabel).append($log); + } + + $panel.append($panelHeading).append($panelBody); + $(".main").append($panel); + } +} + +var TestResult = function(data) { + this.rawId = data["id"]; + + var testMethod = this.rawId.split("TestForTool_")[1]; + var toolName = testMethod.split(".test_tool_")[0]; + var testIndex = testMethod.split(".test_tool_")[1]; + this.toolName = toolName; + this.testIndex = parseInt(testIndex); + console.log(data); + this.status = data["data"]["status"]; + var job = data["data"]["job"]; + if(job) { + this.stdout = data["data"]["job"]["stdout"]; + this.stderr = data["data"]["job"]["stderr"]; + this.command = data["data"]["job"]["command_line"]; + } else { + this.stdout = null; + this.stderr = null; + this.command = null; + } + this.problems = []; + var outputProblems = data["data"]["output_problems"] || []; + var executionProblem = data["data"]["execution_problem"]; + this.problems.push.apply(this.problems, outputProblems); + if(executionProblem) { + this.problems.push(executionProblem); + } + this.problemLog = data["data"]["problem_log"]; + this.passed = (this.status == "success"); +} + + +// http://stackoverflow.com/questions/19491336/get-url-parameter-jquery +function getUrlParameter(sParam) +{ + var sPageURL = window.location.search.substring(1); + var sURLVariables = sPageURL.split('&'); + for (var i = 0; i < sURLVariables.length; i++) + { + var sParameterName = sURLVariables[i].split('='); + if (sParameterName[0] == sParam) + { + return sParameterName[1]; + } + } +} +</script> + <script> + var testDataUrl = getUrlParameter("test_data_url"); + if(testDataUrl) { + $.ajax( + {'url': testDataUrl, + 'type': 'GET', + } + ) + .success(function(content) { renderTestResults( $.parseJSON(content) ); }) + .failure(function() { alert("Failed to load test data.")} ); + } else { + var test_data = {"tests": [{"data": {"status": "failure", "inputs": {"advancedOpt|showAdvancedOpt": "no", "bigwigFile2": {"src": "hda", "id": "2891970512fa2d5a"}, "comparison|comparison_select": "ratio", "outFileFormat": "bigwig", "bigwigFile1": {"src": "hda", "id": "2891970512fa2d5a"}}, "output_problems": ["Job in error state.", "Job in error state."], "job": {"inputs": {"bigwigFile2": {"src": "hda", "id": "2891970512fa2d5a"}, "bigwigFile1": {"src": "hda", "id": "2891970512fa2d5a"}}, "update_time": "2015-01-21T14:00:16.502455", "tool_id": "deeptools_bigwigCompare", "outputs": {"outFileName": {"src": "hda", "id": "5729865256bc2525"}}, "stdout": "", "command_line": "bigwigCompare --numberOfProcessors \"${GALAXY_SLOTS:-4}\" --bigwig1 '/tmp/tmpPIgGHsfiles/000/dataset_1.dat' --bigwig2 '/tmp/tmpPIgGHsfiles/000/dataset_1.dat' --outFileName '/tmp/tmpPIgGHsfiles/000/dataset_2.dat' --outFileFormat 'bigwig' --ratio ratio --pseudocount 1.0", "exit_code": 1, "state": "error", "create_time": "2015-01-21T14:00:03.956345", "params": {"comparison": "{\"pseudocount\": \"1.0\", \"__current_case__\": 1, \"comparison_select\": \"ratio\"}", "outFileFormat": "\"bigwig\"", "region": "\"\"", "dbkey": "\"hg17\"", "advancedOpt": "{\"showAdvancedOpt\": \"no\", \"__current_case__\": 0}", "chromInfo": "\"/home/bag/projects/code/galaxy-central/tool-data/shared/ucsc/chrom/hg17.len\""}, "stderr": "Fatal error: Exit code 1 ()\n\n######################################################\n\nThe program *bedGraphToBigWig* was not found in your PATH. In\norder for deeptools to work properly this program needs\nto be installed. If you already have a copy of this\nprogram please be sure that it is found in your PATH or\nthat is referred in the configuration file of deepTools\nlocated at:\n\n/home/bag/.local/lib/python2.7/site-packages/deeptools/config/deeptools.cfg\n\nThe program can be downloaded from here:\n http://hgdownload.cse.ucsc.edu/admin/exe/\n\n\n########################################################\n\nThe output is set by default to 'bedgraph'\nsh: 1: bigWigInfo: not found\nsh: 1: bigWigInfo: not found\nError: The generated bedGraphFile was empty. Please adjust\nyour deepTools settings and check your input files.", "job_metrics": [], "model_class": "Job", "external_id": "17230", "id": "5729865256bc2525", "user_email": "test@bx.psu.edu"}, "problem_log": "Traceback (most recent call last):\n File \"/usr/lib/python2.7/unittest/case.py\", line 329, in run\n testMethod()\n File \"/home/bag/projects/code/galaxy-central/test/functional/test_toolbox.py\", line 223, in test_tool\n self.do_it( td )\n File \"/home/bag/projects/code/galaxy-central/test/functional/test_toolbox.py\", line 66, in do_it\n raise e\nJobOutputsError: Job in error state.\nJob in error state.\n-------------------- >> begin captured stdout << ---------------------\nHistory with id 2891970512fa2d5a in error - summary of datasets in error below.\n--------------------------------------\n| 2 - bigwigCompare on data 1 (HID - NAME) \n| Dataset Blurb:\n| error\n| Dataset Info:\n| Fatal error: Exit code 1 ()\n| ######################################################\n| The program *bedGraphToBigWig* was not found in your PATH. In\n| order for deeptools to work properly this program needs\n| to be installed. If you already have a copy of this\n| Dataset Job Standard Output:\n| *Standard output was empty.*\n| Dataset Job Standard Error:\n| Fatal error: Exit code 1 ()\n| ######################################################\n| The program *bedGraphToBigWig* was not found in your PATH. In\n| order for deeptools to work properly this program needs\n| to be installed. If you already have a copy of this\n| program please be sure that it is found in your PATH or\n| that is referred in the configuration file of deepTools\n| located at:\n| /home/bag/.local/lib/python2.7/site-packages/deeptools/config/deeptools.cfg\n| The program can be downloaded from here:\n| http://hgdownload.cse.ucsc.edu/admin/exe/\n| ########################################################\n| The output is set by default to 'bedgraph'\n| sh: 1: bigWigInfo: not found\n| sh: 1: bigWigInfo: not found\n| Error: The generated bedGraphFile was empty. Please adjust\n| your deepTools settings and check your input files.\n|\n--------------------------------------\nHistory with id 2891970512fa2d5a in error - summary of datasets in error below.\n--------------------------------------\n| 2 - bigwigCompare on data 1 (HID - NAME) \n| Dataset Blurb:\n| error\n| Dataset Info:\n| Fatal error: Exit code 1 ()\n| ######################################################\n| The program *bedGraphToBigWig* was not found in your PATH. In\n| order for deeptools to work properly this program needs\n| to be installed. If you already have a copy of this\n| Dataset Job Standard Output:\n| *Standard output was empty.*\n| Dataset Job Standard Error:\n| Fatal error: Exit code 1 ()\n| ######################################################\n| The program *bedGraphToBigWig* was not found in your PATH. In\n| order for deeptools to work properly this program needs\n| to be installed. If you already have a copy of this\n| program please be sure that it is found in your PATH or\n| that is referred in the configuration file of deepTools\n| located at:\n| /home/bag/.local/lib/python2.7/site-packages/deeptools/config/deeptools.cfg\n| The program can be downloaded from here:\n| http://hgdownload.cse.ucsc.edu/admin/exe/\n| ########################################################\n| The output is set by default to 'bedgraph'\n| sh: 1: bigWigInfo: not found\n| sh: 1: bigWigInfo: not found\n| Error: The generated bedGraphFile was empty. Please adjust\n| your deepTools settings and check your input files.\n|\n--------------------------------------\n\n--------------------- >> end captured stdout << ----------------------\n-------------------- >> begin captured logging << --------------------\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.web.framework.webapp: INFO: Session authenticated using Galaxy master api key\nurllib3.connectionpool: DEBUG: \"GET /api/users?key=test_key HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.web.framework.webapp: INFO: Session authenticated using Galaxy master api key\nurllib3.connectionpool: DEBUG: \"POST /api/users HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.web.framework.webapp: INFO: Session authenticated using Galaxy master api key\nurllib3.connectionpool: DEBUG: \"POST /api/users/2891970512fa2d5a/api_key HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"POST /api/histories HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.tools.actions.upload_common: INFO: tool upload1 created job id 1\nurllib3.connectionpool: DEBUG: \"POST /api/tools HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs: DEBUG: (1) Working directory for job is: /tmp/tmpPIgGHs/job_working_directory/000/1\ngalaxy.jobs.handler: DEBUG: (1) Dispatching to local runner\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs: DEBUG: (1) Persisting job destination (destination id: local:///)\ngalaxy.jobs.handler: INFO: (1) Job dispatched\ngalaxy.jobs.runners: DEBUG: (1) command is: python /home/bag/projects/code/galaxy-central/tools/data_source/upload.py /home/bag/projects/code/galaxy-central /tmp/tmpPIgGHs/tmp/tmp0PJepF /tmp/tmpPIgGHs/tmp/tmpRpbhPM 1:/tmp/tmpPIgGHs/job_working_directory/000/1/dataset_1_files:/tmp/tmpPIgGHsfiles/000/dataset_1.dat; return_code=$?; cd /home/bag/projects/code/galaxy-central; /home/bag/projects/code/galaxy-central/set_metadata.sh /tmp/tmpPIgGHsfiles /tmp/tmpPIgGHs/job_working_directory/000/1 . /tmp/tmpv0gVHj/functional_tests_wsgi.ini /tmp/tmpPIgGHs/tmp/tmp0PJepF /tmp/tmpPIgGHs/job_working_directory/000/1/galaxy.json /tmp/tmpPIgGHs/job_working_directory/000/1/metadata_in_HistoryDatasetAssociation_1_ccsVhS,/tmp/tmpPIgGHs/job_working_directory/000/1/metadata_kwds_HistoryDatasetAssociation_1_Qq5BwN,/tmp/tmpPIgGHs/job_working_directory/000/1/metadata_out_HistoryDatasetAssociation_1_WKo1fr,/tmp/tmpPIgGHs/job_working_directory/000/1/metadata_results_HistoryDatasetAssociation_1_cB8OGx,,/tmp/tmpPIgGHs/job_working_directory/000/1/metadata_override_HistoryDatasetAssociation_1_hOnJAL; sh -c \"exit $return_code\"\ngalaxy.jobs.runners.local: DEBUG: (1) executing job script: /tmp/tmpPIgGHs/job_working_directory/000/1/galaxy_1.sh\ngalaxy.jobs: DEBUG: (1) Persisting job destination (destination id: local:///)\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\ngalaxy.jobs.runners.local: DEBUG: execution finished: /tmp/tmpPIgGHs/job_working_directory/000/1/galaxy_1.sh\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.datatypes.metadata: DEBUG: loading metadata from file for: HistoryDatasetAssociation 1\ngalaxy.jobs: DEBUG: job 1 ended\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"POST /api/tools HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs: DEBUG: (2) Working directory for job is: /tmp/tmpPIgGHs/job_working_directory/000/2\ngalaxy.jobs.handler: DEBUG: (2) Dispatching to local runner\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/5729865256bc2525?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\ngalaxy.jobs: DEBUG: (2) Persisting job destination (destination id: local:///)\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs.handler: INFO: (2) Job dispatched\ngalaxy.jobs.runners: DEBUG: (2) command is: bigwigCompare --version > /tmp/tmpPIgGHs/tmp/GALAXY_VERSION_STRING_2 2>&1; bigwigCompare --numberOfProcessors \"${GALAXY_SLOTS:-4}\" --bigwig1 '/tmp/tmpPIgGHsfiles/000/dataset_1.dat' --bigwig2 '/tmp/tmpPIgGHsfiles/000/dataset_1.dat' --outFileName '/tmp/tmpPIgGHsfiles/000/dataset_2.dat' --outFileFormat 'bigwig' --ratio ratio --pseudocount 1.0; return_code=$?; cd /home/bag/projects/code/galaxy-central; /home/bag/projects/code/galaxy-central/set_metadata.sh /tmp/tmpPIgGHsfiles /tmp/tmpPIgGHs/job_working_directory/000/2 . /tmp/tmpv0gVHj/functional_tests_wsgi.ini /tmp/tmpPIgGHs/tmp/tmp0PJepF /tmp/tmpPIgGHs/job_working_directory/000/2/galaxy.json /tmp/tmpPIgGHs/job_working_directory/000/2/metadata_in_HistoryDatasetAssociation_2_rw8GcL,/tmp/tmpPIgGHs/job_working_directory/000/2/metadata_kwds_HistoryDatasetAssociation_2_hap93L,/tmp/tmpPIgGHs/job_working_directory/000/2/metadata_out_HistoryDatasetAssociation_2_fGfc3v,/tmp/tmpPIgGHs/job_working_directory/000/2/metadata_results_HistoryDatasetAssociation_2_IUTLzd,,/tmp/tmpPIgGHs/job_working_directory/000/2/metadata_override_HistoryDatasetAssociation_2_BgsayE; sh -c \"exit $return_code\"\ngalaxy.jobs.runners.local: DEBUG: (2) executing job script: /tmp/tmpPIgGHs/job_working_directory/000/2/galaxy_2.sh\ngalaxy.jobs: DEBUG: (2) Persisting job destination (destination id: local:///)\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/5729865256bc2525?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\ngalaxy.jobs.runners.local: DEBUG: execution finished: /tmp/tmpPIgGHs/job_working_directory/000/2/galaxy_2.sh\ngalaxy.jobs.output_checker: INFO: Job 2: Fatal error: Exit code 1 ()\ngalaxy.jobs: DEBUG: setting dataset state to ERROR\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/5729865256bc2525?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\ngalaxy.jobs: DEBUG: job 2 ended\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/5729865256bc2525?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a/contents?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a/contents/5729865256bc2525?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a/contents/5729865256bc2525/provenance?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/5729865256bc2525?full=true&key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/5729865256bc2525?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a/contents?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a/contents/5729865256bc2525?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a/contents/5729865256bc2525/provenance?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\n--------------------- >> end captured logging << ---------------------\n", "problem_type": "functional.test_toolbox.JobOutputsError"}, "id": "functional.test_toolbox.TestForTool_deeptools_bigwigCompare.test_tool_000000", "has_data": true}, {"data": {"status": "failure", "inputs": {"advancedOpt|showAdvancedOpt": "no", "bigwigFile2": {"src": "hda", "id": "54f2a3a23292eb07"}, "comparison|comparison_select": "ratio", "outFileFormat": "bedgraph", "bigwigFile1": {"src": "hda", "id": "54f2a3a23292eb07"}}, "output_problems": ["History item different than expected, difference (using diff):\n( /home/bag/projects/code/deepTools/galaxy/wrapper/test-data/bigwigCompare_result2.bg v. /tmp/tmpPIgGHs/tmp/tmpGqBqc9bigwigCompare_result2.bg )\n--- local_file\n+++ history_data\n@@ -1,5 +0,0 @@\n-chr21\t0\t10000000\t1.0\n-chr21\t10000000\t20000000\t1.0\n-chr21\t20000000\t30000000\t1.0\n-chr21\t30000000\t40000000\t1.0\n-chr21\t40000000\t48129895\t1.0\n"], "job": {"inputs": {"bigwigFile2": {"src": "hda", "id": "54f2a3a23292eb07"}, "bigwigFile1": {"src": "hda", "id": "54f2a3a23292eb07"}}, "update_time": "2015-01-21T14:00:46.256358", "tool_id": "deeptools_bigwigCompare", "outputs": {"outFileName": {"src": "hda", "id": "8155e4b4bf1581ff"}}, "stdout": "", "command_line": "bigwigCompare --numberOfProcessors \"${GALAXY_SLOTS:-4}\" --bigwig1 '/tmp/tmpPIgGHsfiles/000/dataset_3.dat' --bigwig2 '/tmp/tmpPIgGHsfiles/000/dataset_3.dat' --outFileName '/tmp/tmpPIgGHsfiles/000/dataset_4.dat' --outFileFormat 'bedgraph' --ratio ratio --pseudocount 1.0", "exit_code": 0, "state": "ok", "create_time": "2015-01-21T14:00:37.272522", "params": {"comparison": "{\"pseudocount\": \"1.0\", \"__current_case__\": 1, \"comparison_select\": \"ratio\"}", "outFileFormat": "\"bedgraph\"", "region": "\"\"", "dbkey": "\"hg17\"", "advancedOpt": "{\"showAdvancedOpt\": \"no\", \"__current_case__\": 0}", "chromInfo": "\"/home/bag/projects/code/galaxy-central/tool-data/shared/ucsc/chrom/hg17.len\""}, "stderr": "\n######################################################\n\nThe program *bedGraphToBigWig* was not found in your PATH. In\norder for deeptools to work properly this program needs\nto be installed. If you already have a copy of this\nprogram please be sure that it is found in your PATH or\nthat is referred in the configuration file of deepTools\nlocated at:\n\n/home/bag/.local/lib/python2.7/site-packages/deeptools/config/deeptools.cfg\n\nThe program can be downloaded from here:\n http://hgdownload.cse.ucsc.edu/admin/exe/\n\n\n########################################################\n\nThe output is set by default to 'bedgraph'\nsh: 1: bigWigInfo: not found\nsh: 1: bigWigInfo: not found\n", "job_metrics": [], "model_class": "Job", "external_id": "17321", "id": "8155e4b4bf1581ff", "user_email": "test@bx.psu.edu"}, "problem_log": "Traceback (most recent call last):\n File \"/usr/lib/python2.7/unittest/case.py\", line 329, in run\n testMethod()\n File \"/home/bag/projects/code/galaxy-central/test/functional/test_toolbox.py\", line 223, in test_tool\n self.do_it( td )\n File \"/home/bag/projects/code/galaxy-central/test/functional/test_toolbox.py\", line 66, in do_it\n raise e\nJobOutputsError: History item different than expected, difference (using diff):\n( /home/bag/projects/code/deepTools/galaxy/wrapper/test-data/bigwigCompare_result2.bg v. /tmp/tmpPIgGHs/tmp/tmpGqBqc9bigwigCompare_result2.bg )\n--- local_file\n+++ history_data\n@@ -1,5 +0,0 @@\n-chr21\t0\t10000000\t1.0\n-chr21\t10000000\t20000000\t1.0\n-chr21\t20000000\t30000000\t1.0\n-chr21\t30000000\t40000000\t1.0\n-chr21\t40000000\t48129895\t1.0\n\n-------------------- >> begin captured logging << --------------------\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.web.framework.webapp: INFO: Session authenticated using Galaxy master api key\nurllib3.connectionpool: DEBUG: \"GET /api/users?key=test_key HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.web.framework.webapp: INFO: Session authenticated using Galaxy master api key\nurllib3.connectionpool: DEBUG: \"POST /api/users/2891970512fa2d5a/api_key HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"POST /api/histories HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.tools.actions.upload_common: INFO: tool upload1 created job id 3\nurllib3.connectionpool: DEBUG: \"POST /api/tools HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs: DEBUG: (3) Working directory for job is: /tmp/tmpPIgGHs/job_working_directory/000/3\ngalaxy.jobs.handler: DEBUG: (3) Dispatching to local runner\nurllib3.connectionpool: DEBUG: \"GET /api/histories/5729865256bc2525?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs: DEBUG: (3) Persisting job destination (destination id: local:///)\ngalaxy.jobs.handler: INFO: (3) Job dispatched\nurllib3.connectionpool: DEBUG: \"GET /api/histories/5729865256bc2525?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs.runners: DEBUG: (3) command is: python /home/bag/projects/code/galaxy-central/tools/data_source/upload.py /home/bag/projects/code/galaxy-central /tmp/tmpPIgGHs/tmp/tmp0PJepF /tmp/tmpPIgGHs/tmp/tmpz8wZrv 3:/tmp/tmpPIgGHs/job_working_directory/000/3/dataset_3_files:/tmp/tmpPIgGHsfiles/000/dataset_3.dat; return_code=$?; cd /home/bag/projects/code/galaxy-central; /home/bag/projects/code/galaxy-central/set_metadata.sh /tmp/tmpPIgGHsfiles /tmp/tmpPIgGHs/job_working_directory/000/3 . /tmp/tmpv0gVHj/functional_tests_wsgi.ini /tmp/tmpPIgGHs/tmp/tmp0PJepF /tmp/tmpPIgGHs/job_working_directory/000/3/galaxy.json /tmp/tmpPIgGHs/job_working_directory/000/3/metadata_in_HistoryDatasetAssociation_3_M641RK,/tmp/tmpPIgGHs/job_working_directory/000/3/metadata_kwds_HistoryDatasetAssociation_3_vknCha,/tmp/tmpPIgGHs/job_working_directory/000/3/metadata_out_HistoryDatasetAssociation_3_RHHbx7,/tmp/tmpPIgGHs/job_working_directory/000/3/metadata_results_HistoryDatasetAssociation_3_Scjshu,,/tmp/tmpPIgGHs/job_working_directory/000/3/metadata_override_HistoryDatasetAssociation_3_B79aAL; sh -c \"exit $return_code\"\ngalaxy.jobs.runners.local: DEBUG: (3) executing job script: /tmp/tmpPIgGHs/job_working_directory/000/3/galaxy_3.sh\ngalaxy.jobs: DEBUG: (3) Persisting job destination (destination id: local:///)\nurllib3.connectionpool: DEBUG: \"GET /api/histories/5729865256bc2525?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\ngalaxy.jobs.runners.local: DEBUG: execution finished: /tmp/tmpPIgGHs/job_working_directory/000/3/galaxy_3.sh\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/5729865256bc2525?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.datatypes.metadata: DEBUG: loading metadata from file for: HistoryDatasetAssociation 3\ngalaxy.jobs: DEBUG: job 3 ended\nurllib3.connectionpool: DEBUG: \"GET /api/histories/5729865256bc2525?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"POST /api/tools HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs: DEBUG: (4) Working directory for job is: /tmp/tmpPIgGHs/job_working_directory/000/4\ngalaxy.jobs.handler: DEBUG: (4) Dispatching to local runner\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/8155e4b4bf1581ff?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs: DEBUG: (4) Persisting job destination (destination id: local:///)\ngalaxy.jobs.handler: INFO: (4) Job dispatched\ngalaxy.jobs.runners: DEBUG: (4) command is: bigwigCompare --version > /tmp/tmpPIgGHs/tmp/GALAXY_VERSION_STRING_4 2>&1; bigwigCompare --numberOfProcessors \"${GALAXY_SLOTS:-4}\" --bigwig1 '/tmp/tmpPIgGHsfiles/000/dataset_3.dat' --bigwig2 '/tmp/tmpPIgGHsfiles/000/dataset_3.dat' --outFileName '/tmp/tmpPIgGHsfiles/000/dataset_4.dat' --outFileFormat 'bedgraph' --ratio ratio --pseudocount 1.0; return_code=$?; cd /home/bag/projects/code/galaxy-central; /home/bag/projects/code/galaxy-central/set_metadata.sh /tmp/tmpPIgGHsfiles /tmp/tmpPIgGHs/job_working_directory/000/4 . /tmp/tmpv0gVHj/functional_tests_wsgi.ini /tmp/tmpPIgGHs/tmp/tmp0PJepF /tmp/tmpPIgGHs/job_working_directory/000/4/galaxy.json /tmp/tmpPIgGHs/job_working_directory/000/4/metadata_in_HistoryDatasetAssociation_4_ZCW55i,/tmp/tmpPIgGHs/job_working_directory/000/4/metadata_kwds_HistoryDatasetAssociation_4_HKOLTz,/tmp/tmpPIgGHs/job_working_directory/000/4/metadata_out_HistoryDatasetAssociation_4_aEOFWP,/tmp/tmpPIgGHs/job_working_directory/000/4/metadata_results_HistoryDatasetAssociation_4_O_YvpP,,/tmp/tmpPIgGHs/job_working_directory/000/4/metadata_override_HistoryDatasetAssociation_4_KJj66T; sh -c \"exit $return_code\"\ngalaxy.jobs.runners.local: DEBUG: (4) executing job script: /tmp/tmpPIgGHs/job_working_directory/000/4/galaxy_4.sh\ngalaxy.jobs: DEBUG: (4) Persisting job destination (destination id: local:///)\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/8155e4b4bf1581ff?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\ngalaxy.jobs.runners.local: DEBUG: execution finished: /tmp/tmpPIgGHs/job_working_directory/000/4/galaxy_4.sh\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/8155e4b4bf1581ff?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\ngalaxy.jobs: DEBUG: job 4 ended\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/8155e4b4bf1581ff?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/8155e4b4bf1581ff?full=true&key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/8155e4b4bf1581ff?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/5729865256bc2525/contents/8155e4b4bf1581ff/display?raw=true&key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nbase.twilltestcase: DEBUG: keepoutdir: /tmp/tmpPIgGHs/jobfiles, ofn: /tmp/tmpPIgGHs/jobfiles/bigwigCompare_result2.bg\nbase.twilltestcase: DEBUG: ## GALAXY_TEST_SAVE=/tmp/tmpPIgGHs/jobfiles. saved /tmp/tmpPIgGHs/jobfiles/bigwigCompare_result2.bg\nbase.twilltestcase: INFO: ## files diff on /home/bag/projects/code/deepTools/galaxy/wrapper/test-data/bigwigCompare_result2.bg and /tmp/tmpPIgGHs/tmp/tmpGqBqc9bigwigCompare_result2.bg lines_diff=0, found diff = 5\n--------------------- >> end captured logging << ---------------------\n", "problem_type": "functional.test_toolbox.JobOutputsError"}, "id": "functional.test_toolbox.TestForTool_deeptools_bigwigCompare.test_tool_000001", "has_data": true}], "version": "0.1", "summary": {"num_skips": 0, "num_errors": 0, "num_failures": 2, "num_tests": 2}}; + renderTestResults(test_data); + } + </script> + </body> +</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tool_test_output.json Mon Jan 26 13:10:16 2015 -0500 @@ -0,0 +1,1 @@ +{"tests": [{"data": {"status": "failure", "inputs": {"advancedOpt|showAdvancedOpt": "no", "bigwigFile2": {"src": "hda", "id": "2891970512fa2d5a"}, "comparison|comparison_select": "ratio", "outFileFormat": "bigwig", "bigwigFile1": {"src": "hda", "id": "2891970512fa2d5a"}}, "output_problems": ["Job in error state.", "Job in error state."], "job": {"inputs": {"bigwigFile2": {"src": "hda", "id": "2891970512fa2d5a"}, "bigwigFile1": {"src": "hda", "id": "2891970512fa2d5a"}}, "update_time": "2015-01-21T14:00:16.502455", "tool_id": "deeptools_bigwigCompare", "outputs": {"outFileName": {"src": "hda", "id": "5729865256bc2525"}}, "stdout": "", "command_line": "bigwigCompare --numberOfProcessors \"${GALAXY_SLOTS:-4}\" --bigwig1 '/tmp/tmpPIgGHsfiles/000/dataset_1.dat' --bigwig2 '/tmp/tmpPIgGHsfiles/000/dataset_1.dat' --outFileName '/tmp/tmpPIgGHsfiles/000/dataset_2.dat' --outFileFormat 'bigwig' --ratio ratio --pseudocount 1.0", "exit_code": 1, "state": "error", "create_time": "2015-01-21T14:00:03.956345", "params": {"comparison": "{\"pseudocount\": \"1.0\", \"__current_case__\": 1, \"comparison_select\": \"ratio\"}", "outFileFormat": "\"bigwig\"", "region": "\"\"", "dbkey": "\"hg17\"", "advancedOpt": "{\"showAdvancedOpt\": \"no\", \"__current_case__\": 0}", "chromInfo": "\"/home/bag/projects/code/galaxy-central/tool-data/shared/ucsc/chrom/hg17.len\""}, "stderr": "Fatal error: Exit code 1 ()\n\n######################################################\n\nThe program *bedGraphToBigWig* was not found in your PATH. In\norder for deeptools to work properly this program needs\nto be installed. If you already have a copy of this\nprogram please be sure that it is found in your PATH or\nthat is referred in the configuration file of deepTools\nlocated at:\n\n/home/bag/.local/lib/python2.7/site-packages/deeptools/config/deeptools.cfg\n\nThe program can be downloaded from here:\n http://hgdownload.cse.ucsc.edu/admin/exe/\n\n\n########################################################\n\nThe output is set by default to 'bedgraph'\nsh: 1: bigWigInfo: not found\nsh: 1: bigWigInfo: not found\nError: The generated bedGraphFile was empty. Please adjust\nyour deepTools settings and check your input files.", "job_metrics": [], "model_class": "Job", "external_id": "17230", "id": "5729865256bc2525", "user_email": "test@bx.psu.edu"}, "problem_log": "Traceback (most recent call last):\n File \"/usr/lib/python2.7/unittest/case.py\", line 329, in run\n testMethod()\n File \"/home/bag/projects/code/galaxy-central/test/functional/test_toolbox.py\", line 223, in test_tool\n self.do_it( td )\n File \"/home/bag/projects/code/galaxy-central/test/functional/test_toolbox.py\", line 66, in do_it\n raise e\nJobOutputsError: Job in error state.\nJob in error state.\n-------------------- >> begin captured stdout << ---------------------\nHistory with id 2891970512fa2d5a in error - summary of datasets in error below.\n--------------------------------------\n| 2 - bigwigCompare on data 1 (HID - NAME) \n| Dataset Blurb:\n| error\n| Dataset Info:\n| Fatal error: Exit code 1 ()\n| ######################################################\n| The program *bedGraphToBigWig* was not found in your PATH. In\n| order for deeptools to work properly this program needs\n| to be installed. If you already have a copy of this\n| Dataset Job Standard Output:\n| *Standard output was empty.*\n| Dataset Job Standard Error:\n| Fatal error: Exit code 1 ()\n| ######################################################\n| The program *bedGraphToBigWig* was not found in your PATH. In\n| order for deeptools to work properly this program needs\n| to be installed. If you already have a copy of this\n| program please be sure that it is found in your PATH or\n| that is referred in the configuration file of deepTools\n| located at:\n| /home/bag/.local/lib/python2.7/site-packages/deeptools/config/deeptools.cfg\n| The program can be downloaded from here:\n| http://hgdownload.cse.ucsc.edu/admin/exe/\n| ########################################################\n| The output is set by default to 'bedgraph'\n| sh: 1: bigWigInfo: not found\n| sh: 1: bigWigInfo: not found\n| Error: The generated bedGraphFile was empty. Please adjust\n| your deepTools settings and check your input files.\n|\n--------------------------------------\nHistory with id 2891970512fa2d5a in error - summary of datasets in error below.\n--------------------------------------\n| 2 - bigwigCompare on data 1 (HID - NAME) \n| Dataset Blurb:\n| error\n| Dataset Info:\n| Fatal error: Exit code 1 ()\n| ######################################################\n| The program *bedGraphToBigWig* was not found in your PATH. In\n| order for deeptools to work properly this program needs\n| to be installed. If you already have a copy of this\n| Dataset Job Standard Output:\n| *Standard output was empty.*\n| Dataset Job Standard Error:\n| Fatal error: Exit code 1 ()\n| ######################################################\n| The program *bedGraphToBigWig* was not found in your PATH. In\n| order for deeptools to work properly this program needs\n| to be installed. If you already have a copy of this\n| program please be sure that it is found in your PATH or\n| that is referred in the configuration file of deepTools\n| located at:\n| /home/bag/.local/lib/python2.7/site-packages/deeptools/config/deeptools.cfg\n| The program can be downloaded from here:\n| http://hgdownload.cse.ucsc.edu/admin/exe/\n| ########################################################\n| The output is set by default to 'bedgraph'\n| sh: 1: bigWigInfo: not found\n| sh: 1: bigWigInfo: not found\n| Error: The generated bedGraphFile was empty. Please adjust\n| your deepTools settings and check your input files.\n|\n--------------------------------------\n\n--------------------- >> end captured stdout << ----------------------\n-------------------- >> begin captured logging << --------------------\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.web.framework.webapp: INFO: Session authenticated using Galaxy master api key\nurllib3.connectionpool: DEBUG: \"GET /api/users?key=test_key HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.web.framework.webapp: INFO: Session authenticated using Galaxy master api key\nurllib3.connectionpool: DEBUG: \"POST /api/users HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.web.framework.webapp: INFO: Session authenticated using Galaxy master api key\nurllib3.connectionpool: DEBUG: \"POST /api/users/2891970512fa2d5a/api_key HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"POST /api/histories HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.tools.actions.upload_common: INFO: tool upload1 created job id 1\nurllib3.connectionpool: DEBUG: \"POST /api/tools HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs: DEBUG: (1) Working directory for job is: /tmp/tmpPIgGHs/job_working_directory/000/1\ngalaxy.jobs.handler: DEBUG: (1) Dispatching to local runner\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs: DEBUG: (1) Persisting job destination (destination id: local:///)\ngalaxy.jobs.handler: INFO: (1) Job dispatched\ngalaxy.jobs.runners: DEBUG: (1) command is: python /home/bag/projects/code/galaxy-central/tools/data_source/upload.py /home/bag/projects/code/galaxy-central /tmp/tmpPIgGHs/tmp/tmp0PJepF /tmp/tmpPIgGHs/tmp/tmpRpbhPM 1:/tmp/tmpPIgGHs/job_working_directory/000/1/dataset_1_files:/tmp/tmpPIgGHsfiles/000/dataset_1.dat; return_code=$?; cd /home/bag/projects/code/galaxy-central; /home/bag/projects/code/galaxy-central/set_metadata.sh /tmp/tmpPIgGHsfiles /tmp/tmpPIgGHs/job_working_directory/000/1 . /tmp/tmpv0gVHj/functional_tests_wsgi.ini /tmp/tmpPIgGHs/tmp/tmp0PJepF /tmp/tmpPIgGHs/job_working_directory/000/1/galaxy.json /tmp/tmpPIgGHs/job_working_directory/000/1/metadata_in_HistoryDatasetAssociation_1_ccsVhS,/tmp/tmpPIgGHs/job_working_directory/000/1/metadata_kwds_HistoryDatasetAssociation_1_Qq5BwN,/tmp/tmpPIgGHs/job_working_directory/000/1/metadata_out_HistoryDatasetAssociation_1_WKo1fr,/tmp/tmpPIgGHs/job_working_directory/000/1/metadata_results_HistoryDatasetAssociation_1_cB8OGx,,/tmp/tmpPIgGHs/job_working_directory/000/1/metadata_override_HistoryDatasetAssociation_1_hOnJAL; sh -c \"exit $return_code\"\ngalaxy.jobs.runners.local: DEBUG: (1) executing job script: /tmp/tmpPIgGHs/job_working_directory/000/1/galaxy_1.sh\ngalaxy.jobs: DEBUG: (1) Persisting job destination (destination id: local:///)\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\ngalaxy.jobs.runners.local: DEBUG: execution finished: /tmp/tmpPIgGHs/job_working_directory/000/1/galaxy_1.sh\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.datatypes.metadata: DEBUG: loading metadata from file for: HistoryDatasetAssociation 1\ngalaxy.jobs: DEBUG: job 1 ended\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"POST /api/tools HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs: DEBUG: (2) Working directory for job is: /tmp/tmpPIgGHs/job_working_directory/000/2\ngalaxy.jobs.handler: DEBUG: (2) Dispatching to local runner\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/5729865256bc2525?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\ngalaxy.jobs: DEBUG: (2) Persisting job destination (destination id: local:///)\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs.handler: INFO: (2) Job dispatched\ngalaxy.jobs.runners: DEBUG: (2) command is: bigwigCompare --version > /tmp/tmpPIgGHs/tmp/GALAXY_VERSION_STRING_2 2>&1; bigwigCompare --numberOfProcessors \"${GALAXY_SLOTS:-4}\" --bigwig1 '/tmp/tmpPIgGHsfiles/000/dataset_1.dat' --bigwig2 '/tmp/tmpPIgGHsfiles/000/dataset_1.dat' --outFileName '/tmp/tmpPIgGHsfiles/000/dataset_2.dat' --outFileFormat 'bigwig' --ratio ratio --pseudocount 1.0; return_code=$?; cd /home/bag/projects/code/galaxy-central; /home/bag/projects/code/galaxy-central/set_metadata.sh /tmp/tmpPIgGHsfiles /tmp/tmpPIgGHs/job_working_directory/000/2 . /tmp/tmpv0gVHj/functional_tests_wsgi.ini /tmp/tmpPIgGHs/tmp/tmp0PJepF /tmp/tmpPIgGHs/job_working_directory/000/2/galaxy.json /tmp/tmpPIgGHs/job_working_directory/000/2/metadata_in_HistoryDatasetAssociation_2_rw8GcL,/tmp/tmpPIgGHs/job_working_directory/000/2/metadata_kwds_HistoryDatasetAssociation_2_hap93L,/tmp/tmpPIgGHs/job_working_directory/000/2/metadata_out_HistoryDatasetAssociation_2_fGfc3v,/tmp/tmpPIgGHs/job_working_directory/000/2/metadata_results_HistoryDatasetAssociation_2_IUTLzd,,/tmp/tmpPIgGHs/job_working_directory/000/2/metadata_override_HistoryDatasetAssociation_2_BgsayE; sh -c \"exit $return_code\"\ngalaxy.jobs.runners.local: DEBUG: (2) executing job script: /tmp/tmpPIgGHs/job_working_directory/000/2/galaxy_2.sh\ngalaxy.jobs: DEBUG: (2) Persisting job destination (destination id: local:///)\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/5729865256bc2525?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\ngalaxy.jobs.runners.local: DEBUG: execution finished: /tmp/tmpPIgGHs/job_working_directory/000/2/galaxy_2.sh\ngalaxy.jobs.output_checker: INFO: Job 2: Fatal error: Exit code 1 ()\ngalaxy.jobs: DEBUG: setting dataset state to ERROR\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/5729865256bc2525?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\ngalaxy.jobs: DEBUG: job 2 ended\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/5729865256bc2525?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a/contents?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a/contents/5729865256bc2525?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a/contents/5729865256bc2525/provenance?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/5729865256bc2525?full=true&key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/5729865256bc2525?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a/contents?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a/contents/5729865256bc2525?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/2891970512fa2d5a/contents/5729865256bc2525/provenance?key=794abbf3a83634a1b1a8f47086cf5714 HTTP/1.1\" 200 None\n--------------------- >> end captured logging << ---------------------\n", "problem_type": "functional.test_toolbox.JobOutputsError"}, "id": "functional.test_toolbox.TestForTool_deeptools_bigwigCompare.test_tool_000000", "has_data": true}, {"data": {"status": "failure", "inputs": {"advancedOpt|showAdvancedOpt": "no", "bigwigFile2": {"src": "hda", "id": "54f2a3a23292eb07"}, "comparison|comparison_select": "ratio", "outFileFormat": "bedgraph", "bigwigFile1": {"src": "hda", "id": "54f2a3a23292eb07"}}, "output_problems": ["History item different than expected, difference (using diff):\n( /home/bag/projects/code/deepTools/galaxy/wrapper/test-data/bigwigCompare_result2.bg v. /tmp/tmpPIgGHs/tmp/tmpGqBqc9bigwigCompare_result2.bg )\n--- local_file\n+++ history_data\n@@ -1,5 +0,0 @@\n-chr21\t0\t10000000\t1.0\n-chr21\t10000000\t20000000\t1.0\n-chr21\t20000000\t30000000\t1.0\n-chr21\t30000000\t40000000\t1.0\n-chr21\t40000000\t48129895\t1.0\n"], "job": {"inputs": {"bigwigFile2": {"src": "hda", "id": "54f2a3a23292eb07"}, "bigwigFile1": {"src": "hda", "id": "54f2a3a23292eb07"}}, "update_time": "2015-01-21T14:00:46.256358", "tool_id": "deeptools_bigwigCompare", "outputs": {"outFileName": {"src": "hda", "id": "8155e4b4bf1581ff"}}, "stdout": "", "command_line": "bigwigCompare --numberOfProcessors \"${GALAXY_SLOTS:-4}\" --bigwig1 '/tmp/tmpPIgGHsfiles/000/dataset_3.dat' --bigwig2 '/tmp/tmpPIgGHsfiles/000/dataset_3.dat' --outFileName '/tmp/tmpPIgGHsfiles/000/dataset_4.dat' --outFileFormat 'bedgraph' --ratio ratio --pseudocount 1.0", "exit_code": 0, "state": "ok", "create_time": "2015-01-21T14:00:37.272522", "params": {"comparison": "{\"pseudocount\": \"1.0\", \"__current_case__\": 1, \"comparison_select\": \"ratio\"}", "outFileFormat": "\"bedgraph\"", "region": "\"\"", "dbkey": "\"hg17\"", "advancedOpt": "{\"showAdvancedOpt\": \"no\", \"__current_case__\": 0}", "chromInfo": "\"/home/bag/projects/code/galaxy-central/tool-data/shared/ucsc/chrom/hg17.len\""}, "stderr": "\n######################################################\n\nThe program *bedGraphToBigWig* was not found in your PATH. In\norder for deeptools to work properly this program needs\nto be installed. If you already have a copy of this\nprogram please be sure that it is found in your PATH or\nthat is referred in the configuration file of deepTools\nlocated at:\n\n/home/bag/.local/lib/python2.7/site-packages/deeptools/config/deeptools.cfg\n\nThe program can be downloaded from here:\n http://hgdownload.cse.ucsc.edu/admin/exe/\n\n\n########################################################\n\nThe output is set by default to 'bedgraph'\nsh: 1: bigWigInfo: not found\nsh: 1: bigWigInfo: not found\n", "job_metrics": [], "model_class": "Job", "external_id": "17321", "id": "8155e4b4bf1581ff", "user_email": "test@bx.psu.edu"}, "problem_log": "Traceback (most recent call last):\n File \"/usr/lib/python2.7/unittest/case.py\", line 329, in run\n testMethod()\n File \"/home/bag/projects/code/galaxy-central/test/functional/test_toolbox.py\", line 223, in test_tool\n self.do_it( td )\n File \"/home/bag/projects/code/galaxy-central/test/functional/test_toolbox.py\", line 66, in do_it\n raise e\nJobOutputsError: History item different than expected, difference (using diff):\n( /home/bag/projects/code/deepTools/galaxy/wrapper/test-data/bigwigCompare_result2.bg v. /tmp/tmpPIgGHs/tmp/tmpGqBqc9bigwigCompare_result2.bg )\n--- local_file\n+++ history_data\n@@ -1,5 +0,0 @@\n-chr21\t0\t10000000\t1.0\n-chr21\t10000000\t20000000\t1.0\n-chr21\t20000000\t30000000\t1.0\n-chr21\t30000000\t40000000\t1.0\n-chr21\t40000000\t48129895\t1.0\n\n-------------------- >> begin captured logging << --------------------\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.web.framework.webapp: INFO: Session authenticated using Galaxy master api key\nurllib3.connectionpool: DEBUG: \"GET /api/users?key=test_key HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.web.framework.webapp: INFO: Session authenticated using Galaxy master api key\nurllib3.connectionpool: DEBUG: \"POST /api/users/2891970512fa2d5a/api_key HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"POST /api/histories HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.tools.actions.upload_common: INFO: tool upload1 created job id 3\nurllib3.connectionpool: DEBUG: \"POST /api/tools HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs: DEBUG: (3) Working directory for job is: /tmp/tmpPIgGHs/job_working_directory/000/3\ngalaxy.jobs.handler: DEBUG: (3) Dispatching to local runner\nurllib3.connectionpool: DEBUG: \"GET /api/histories/5729865256bc2525?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs: DEBUG: (3) Persisting job destination (destination id: local:///)\ngalaxy.jobs.handler: INFO: (3) Job dispatched\nurllib3.connectionpool: DEBUG: \"GET /api/histories/5729865256bc2525?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs.runners: DEBUG: (3) command is: python /home/bag/projects/code/galaxy-central/tools/data_source/upload.py /home/bag/projects/code/galaxy-central /tmp/tmpPIgGHs/tmp/tmp0PJepF /tmp/tmpPIgGHs/tmp/tmpz8wZrv 3:/tmp/tmpPIgGHs/job_working_directory/000/3/dataset_3_files:/tmp/tmpPIgGHsfiles/000/dataset_3.dat; return_code=$?; cd /home/bag/projects/code/galaxy-central; /home/bag/projects/code/galaxy-central/set_metadata.sh /tmp/tmpPIgGHsfiles /tmp/tmpPIgGHs/job_working_directory/000/3 . /tmp/tmpv0gVHj/functional_tests_wsgi.ini /tmp/tmpPIgGHs/tmp/tmp0PJepF /tmp/tmpPIgGHs/job_working_directory/000/3/galaxy.json /tmp/tmpPIgGHs/job_working_directory/000/3/metadata_in_HistoryDatasetAssociation_3_M641RK,/tmp/tmpPIgGHs/job_working_directory/000/3/metadata_kwds_HistoryDatasetAssociation_3_vknCha,/tmp/tmpPIgGHs/job_working_directory/000/3/metadata_out_HistoryDatasetAssociation_3_RHHbx7,/tmp/tmpPIgGHs/job_working_directory/000/3/metadata_results_HistoryDatasetAssociation_3_Scjshu,,/tmp/tmpPIgGHs/job_working_directory/000/3/metadata_override_HistoryDatasetAssociation_3_B79aAL; sh -c \"exit $return_code\"\ngalaxy.jobs.runners.local: DEBUG: (3) executing job script: /tmp/tmpPIgGHs/job_working_directory/000/3/galaxy_3.sh\ngalaxy.jobs: DEBUG: (3) Persisting job destination (destination id: local:///)\nurllib3.connectionpool: DEBUG: \"GET /api/histories/5729865256bc2525?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\ngalaxy.jobs.runners.local: DEBUG: execution finished: /tmp/tmpPIgGHs/job_working_directory/000/3/galaxy_3.sh\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/5729865256bc2525?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.datatypes.metadata: DEBUG: loading metadata from file for: HistoryDatasetAssociation 3\ngalaxy.jobs: DEBUG: job 3 ended\nurllib3.connectionpool: DEBUG: \"GET /api/histories/5729865256bc2525?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"POST /api/tools HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs: DEBUG: (4) Working directory for job is: /tmp/tmpPIgGHs/job_working_directory/000/4\ngalaxy.jobs.handler: DEBUG: (4) Dispatching to local runner\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/8155e4b4bf1581ff?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\ngalaxy.jobs: DEBUG: (4) Persisting job destination (destination id: local:///)\ngalaxy.jobs.handler: INFO: (4) Job dispatched\ngalaxy.jobs.runners: DEBUG: (4) command is: bigwigCompare --version > /tmp/tmpPIgGHs/tmp/GALAXY_VERSION_STRING_4 2>&1; bigwigCompare --numberOfProcessors \"${GALAXY_SLOTS:-4}\" --bigwig1 '/tmp/tmpPIgGHsfiles/000/dataset_3.dat' --bigwig2 '/tmp/tmpPIgGHsfiles/000/dataset_3.dat' --outFileName '/tmp/tmpPIgGHsfiles/000/dataset_4.dat' --outFileFormat 'bedgraph' --ratio ratio --pseudocount 1.0; return_code=$?; cd /home/bag/projects/code/galaxy-central; /home/bag/projects/code/galaxy-central/set_metadata.sh /tmp/tmpPIgGHsfiles /tmp/tmpPIgGHs/job_working_directory/000/4 . /tmp/tmpv0gVHj/functional_tests_wsgi.ini /tmp/tmpPIgGHs/tmp/tmp0PJepF /tmp/tmpPIgGHs/job_working_directory/000/4/galaxy.json /tmp/tmpPIgGHs/job_working_directory/000/4/metadata_in_HistoryDatasetAssociation_4_ZCW55i,/tmp/tmpPIgGHs/job_working_directory/000/4/metadata_kwds_HistoryDatasetAssociation_4_HKOLTz,/tmp/tmpPIgGHs/job_working_directory/000/4/metadata_out_HistoryDatasetAssociation_4_aEOFWP,/tmp/tmpPIgGHs/job_working_directory/000/4/metadata_results_HistoryDatasetAssociation_4_O_YvpP,,/tmp/tmpPIgGHs/job_working_directory/000/4/metadata_override_HistoryDatasetAssociation_4_KJj66T; sh -c \"exit $return_code\"\ngalaxy.jobs.runners.local: DEBUG: (4) executing job script: /tmp/tmpPIgGHs/job_working_directory/000/4/galaxy_4.sh\ngalaxy.jobs: DEBUG: (4) Persisting job destination (destination id: local:///)\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/8155e4b4bf1581ff?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\ngalaxy.jobs.runners.local: DEBUG: execution finished: /tmp/tmpPIgGHs/job_working_directory/000/4/galaxy_4.sh\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/8155e4b4bf1581ff?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\ngalaxy.jobs: DEBUG: job 4 ended\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/8155e4b4bf1581ff?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/8155e4b4bf1581ff?full=true&key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/jobs/8155e4b4bf1581ff?key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nurllib3.connectionpool: INFO: Starting new HTTP connection (1): localhost\nurllib3.connectionpool: DEBUG: \"GET /api/histories/5729865256bc2525/contents/8155e4b4bf1581ff/display?raw=true&key=ebf1bf74e329708d41af422e0d7efc0e HTTP/1.1\" 200 None\nbase.twilltestcase: DEBUG: keepoutdir: /tmp/tmpPIgGHs/jobfiles, ofn: /tmp/tmpPIgGHs/jobfiles/bigwigCompare_result2.bg\nbase.twilltestcase: DEBUG: ## GALAXY_TEST_SAVE=/tmp/tmpPIgGHs/jobfiles. saved /tmp/tmpPIgGHs/jobfiles/bigwigCompare_result2.bg\nbase.twilltestcase: INFO: ## files diff on /home/bag/projects/code/deepTools/galaxy/wrapper/test-data/bigwigCompare_result2.bg and /tmp/tmpPIgGHs/tmp/tmpGqBqc9bigwigCompare_result2.bg lines_diff=0, found diff = 5\n--------------------- >> end captured logging << ---------------------\n", "problem_type": "functional.test_toolbox.JobOutputsError"}, "id": "functional.test_toolbox.TestForTool_deeptools_bigwigCompare.test_tool_000001", "has_data": true}], "version": "0.1", "summary": {"num_skips": 0, "num_errors": 0, "num_failures": 2, "num_tests": 2}} \ No newline at end of file