1. 29 Feb, 2016 1 commit
    • Hoogenboom, Jerry's avatar
      Expected allele lengths, and more · 29fcc171
      Hoogenboom, Jerry authored
      Added:
      * Added a new section expected_allele_length to the FDSTools library
        format. In this section, the minimum and (optionally) maximum allele
        length of each marker can be specified.
      * Added -L/--check-length option to the TSSV tool. If specified, the
        tool will use the expected_allele_length values to filter the results.
      * Samplevis can now truncate long allele names to a given number of
        characters (defaulting to 70).
      * Added an option to Samplestats to keep negatives when filtering (abs
        filter).
      
      Changed:
      * Renamed the --aggregate-below-minimum option of the TSSV tool to
        --aggregate-filtered.
      
      Improved:
      * Added an option to read_sample_data_file such that other code can
        request or require that the X_corrected columns are used.
      * Samplestats will now round to 4 or 5 significant digits if a value is
        above 1000 or 10000, respectively.
      * BGHomRaw will no longer round the forward, reverse, and total columns.
      * When generating mtDNA allele names, FDSTools will now try to avoid
        creating gaps in the alignment of the sequences against the reference.
      * Grouped the filtering options of the TSSV tool in its help text.
      * Cleaned up some leftover code for special sequence value handling
        (more specifically: code that expected ensure_sequence_format to
        return False for special sequence values, which it no longer does).
      * Cleaned up some dead legacy code in reduce_read_counts.
      29fcc171
  2. 22 Feb, 2016 1 commit
    • Hoogenboom, Jerry's avatar
      Fixed a crash in Samplestats, and minor improvements · 13e0d781
      Hoogenboom, Jerry authored
      Fixed:
      * Fixed crash in Samplestats. It would crash if BGCorrect columns were
        present.
      * Fixed glitch in Samplevis that allowed clicking the 'Other sequences'
        bars if the input data already contained the 'Other sequences' entry.
      
      Improved:
      * The TSSV tool will now drop any sequences that contain anything other
        than A, C, T, and G. If the -A option is given, these sequences will
        still be added to the marker aggregates. Many other tools will fail
        when confronted with such invalid sequences, especially when allele
        names need to be generated.
      * In Samplevis, the sequences are now consistently sorted (except for
        some inconsistency caused by a bug in Vega). The sorting is based on
        read counts and is the same as used for the allele tables in Samplevis
        HTML visualisations.
      * Added a comment line that mentions genome build GRCh38 and rCRS to the
        genome_position block in the libconvert output. This is mainly for
        documentation purposes; users are free to change this line if they use
        a different reference.
      * Minor styling changes to Samplevis HTML visualisations.
      13e0d781
  3. 04 Feb, 2016 2 commits
    • Hoogenboom, Jerry's avatar
      Fix crash in Samplevis HTML visualisations · 2d1fffde
      Hoogenboom, Jerry authored
      Fixed:
      * Fixed a javascript crash in Samplevis HTML Visualisations.
      * Converted two unexpected tab characters to spaces in README.rst.
      
      Improved:
      * Samplestats will now sort the output by marker name.
      2d1fffde
    • Hoogenboom, Jerry's avatar
      Updated handling of 'No data' and 'Other sequences' · 9ed2f3d1
      Hoogenboom, Jerry authored
      Improved:
      * Added -A/--aggregate-below-minimum option to the TSSV tool. This will
        add a line with 'Other sequences' to the output summing all sequences
        that were not reported because they had less reads than was specified
        with the -a/--minimum option.
      * Clarified the help text for the -D/--dir option of the TSSV tool.
      
      Fixed:
      * Updated all tools to consistently handle cases where 'No data' or
        'Other sequences' occurs in place of a sequence.
      9ed2f3d1
  4. 02 Feb, 2016 1 commit
    • Hoogenboom, Jerry's avatar
      Big update: Bumped version to v0.0.3 · ebf700a7
      Hoogenboom, Jerry authored
      Updated Stuttermark to v1.5. WARNING: This version of Stuttermark is
      INCOMPATIBLE with output from previous versions of FDSTools and TSSV.
      
      Introducing TSSV-Lite
      * New tool tssv acts as a wrapper around TSSV-Lite (tssvl). Its primary
        purpose is to allow running TSSV-Lite without having to convert the
        FDSTools library to TSSV format, and to offer allelename output. Like
        all other tools in FDSTools, it also works with TSSV library files but
        its allele name generation capabilities are limited in that case.
      
      Changed:
      * TSSV-Lite and the new TSSV tool in FDSTools have two columns renamed
        w.r.t. the original TSSV program: 'name' has been changed to 'marker',
        and 'allele' has been changed to 'sequence'. All tools in FDSTools
        have been updated to use the new column names. This change affects
        Allelefinder, BGCorrect, BGEstimate, BGHomRaw, BGHomStats, BGPredict,
        Blame, Samplestats, Samplevis, Stuttermark, Stuttermodel, and
        Seqconvert. Note that this change will BREAK COMPATIBILITY of these
        tools with old data files.
      
      Fixed:
      * In Samplevis HTML visualisations, the "percentage recovery" table
        filtering option used the absolute number of recovered reads instead.
      * Added PctRecovery to the tables in Samplevis HTML visualisations.
      * BGPredict will now print a nice error message if the -n/--min-pct
        option is set to zero or a negative number, to avoid division by zero.
      * Samplestats would crash if the input file contained the flags column.
      * FDSTools would crash when trying to convert sequences to allele names
        using a TSSV library.
      
      Improved:
      * Libconvert will no longer include duplicate sequences in the STR
        defenition when converting to TSSV format and the reference sequence
        of one of the markers is the same as one of its aliases, or when
        aliases of one marker share one or more prefix or suffix sequences.
      * Updated add_input_output_args() such that the output file is a
        positional argument (instead of -o) for tools that have a single input
        file and no support for batches.
      * Updated add_sequence_format_args() such that the library file can be
        made a required argument.
      * Refined the FDSTools package description, since FDSTools does more
        than just noise filteirng.
      * FDSTools will now do a marginally better job at producing allele names
        for sequences that do not exactly match the provided STR pattern. When
        seeking the longest matching portion of the sequence, it will now also
        test the reversed sequence with a reversed pattern, which sometimes
        yields a longer match. It is still not optimal, though, but some
        refactoring has been done to move away from regular expressions.
      * BGCorrect will now also fill in correction_flags for newly added
        sequences.
      * Adjusted the help text of Samplestats to include the fact that the -c
        and -y options have an OR relation instead of an AND relation.
      * BGCorrect, BGEstimate, BGHomRaw, BGHomStats, BGPredict, and
        Stuttermodel will now ignore special values that may appear in the
        place of a sequence (currently: 'Other sequences' and 'No data').
      
      Removed:
      * The -m/--marker-column and -a/--allele-column arguments of BGPredict
        had no effect and have been removed.
      
      Visualisations:
      * Updated bundled D3 to v3.5.12.
      * In HTML visualisations, if the page is scrolled to the right edge when
        an option is changed that causes the graphs to become wider, the page
        now remains scrolled to the right.
      * Samplevis HTML visualisations:
        * Added 'Clear manually added/removed' link to the table filtering.
        * Reduced flicker of the mouse cursor in Internet Explorer.
        * Added 'Common axis range' checkbox (only available when 'Split
          markers' is off).
        * Added 'Save table' link to save the table of selected alleles to a
          tab-separated file.
        * Added 'PctRecovery' column to the tables of selected alleles.
        * An alert box is now shown when a data file is loaded that contains
          markers that have 'No data'.
        * Added 'Percentage of total reads' to the graph filtering options.
        * Added a note to the table filtering options to explain that the
          minimum percentage correction and recovery have an OR relation.
      ebf700a7
  5. 09 Dec, 2015 1 commit
    • Hoogenboom, Jerry's avatar
      Filtering and aggregation in Samplestats · a3e610e8
      Hoogenboom, Jerry authored
      Fixed:
      * When converting STR allele names to sequences, FDSTools would reject
        any prefix variants with a false message stating that the variant does
        not match the reference sequence.
      * The Samplestats tool would not allow the -b/--min-per-strand option to
        be set to zero.
      
      Improved:
      * Moved the flags generated by BGCorrect to a new column named
        correction_flags. Some of the values have been renamed for clarity,
        and this column now always contains a value.
        * The Samplestats tool will no longer add the not_corrected flag to
          each sequence, as it does not add the correction_flags column.
      * The Samplestats tool now supports filtering sequences. For filtering,
        the same set of options is available as those used for marking
        alleles. The filtering options use upper case letters and have '-filt'
        appended to their long name. The new -a/--filter-action option defines
        what should be done with filtered sequencies. 'off', the default,
        disables filtering; 'combine' replaces filtered sequences with a new
        line containing aggregated data; 'delete' removes filtered sequences
        without leaving a trace.
        * The seqconvert tool is aware of the special 'Other sequences' value
          produced by Samplestats with -a/--filter-action set to 'combine'.
      	Other tools will give an informative error message when the input
      	contains this special value.
      * The Samplestats tool now accepts non-integer and negative numbers for
        -n/--min-reads and -b/--min-per-strand because after correction read
        counts are not necessarily nonnegative integers anymore.
      * The forward_correction and reverse_correction columns of Samplestats
        will now contain 0 if the sequence had exactly 0 reads both before and
        after correction (previously, this was -100).
      * Renamed the _mp columns of Samplestats to _mp_sum ("per-marker
        percentage of the sum") and introduced _mp_max columns ("per-marker
        percentage of the maximum").
      * Samplestats and Samplevis HTML visualisations will now mark a sequence
        as 'allele' if the minimum amount of correction OR the minimum number
        of recovered reads is reached (as opposed to AND). This allows alleles
        on stutter positions to be detected.
      
      Changed:
      * The -r/--min-recovery option of Samplestats has been renamed to
        -y/--min-recovery, analogous to the new -Y/--min-recovery-filt.
      
      Visualisations:
      * Updated Vega to version 2.4.1.
      * Replaced the regular expression-based filters in all visualisations
        with a much simpler syntax. The new syntax uses space-separated search
        terms, defaulting to a 'contains'-type search method. If any search
        term is preceded by an equals sign, that term must be matched exactly.
        (The search terms themselves are actually still matched as regexes!)
      * Added 'show negative alleles' option (default on) to Samplevis. When
        enabled, the graph filtering options work on abs(value) instead of the
        value itself.
      * When sorting alleles in Samplevis, the allele name is now used as the
        final tiebreaker instead of the primary sorting column.
      * HTML visualisations no longer re-render the entire graph when changing
        the width. The same holds true for the height setting of Allelevis.
      * The tables in Samplevis HTML visualisations will now contain the
        information from BGCorrect's correction_flags column in the Notes
        column.
      a3e610e8
  6. 03 Dec, 2015 1 commit
    • Hoogenboom, Jerry's avatar
      Bug fixes and improvements in allele name gen and auto allele selection · 7820cad0
      Hoogenboom, Jerry authored
      Fixed:
      * In Samplevis HTML visualisations, the automatic allele selection was
        only checking the number of reverse reads for the 'minimum number of
        reads per orientation' setting.
      * In Samplevis HTML visualisations, automatic allele selection would
        fail to select alleles that had exactly the given minimum number of
        reads.
      * FDSTools would sometimes calculate incorrect and even negative repeat
        counts when producing TSSV-style sequences and allele names for
        sequences that did not exactly fit the STR structure given in the
        library.
      
      Improved:
      * The Samplestats tool now offers the same possibilities to mark alleles
        as Samplevis HTML visualisations do.
      * In Samplevis HTML visualisations, user-removed alleles now have a line
        through their table row.
      * Added a reference to https://docs.python.org/howto/regex in the sample
        tag parsing options section of the help text of many tools.
      * FDSTools will now do a better job of finding the longest possible
        match of the STR repeat definition to produce TSSV-style sequences and
        allele names for seqences that do not exactly fit the STR structure
        given in the library.
      
      Added:
      * New visualisation type 'allele'. With Allelevis, you can generate a
        graph of the alleles of the reference samples (output from
        Allelefinder). (Known bug: it has a 'funny' amount of padding.)
      7820cad0
  7. 01 Dec, 2015 1 commit
    • Hoogenboom, Jerry's avatar
      Grand update to all visualisations, especially Samplevis · e7517bbd
      Hoogenboom, Jerry authored
      Fixed:
      * The Vis tool no longer crashes if you specify '-' as the input file
        without piping data in from another program. It will just produce a
        visualisation file with no embedded data instead.
      * FDSTools would crash when generating an allele name for a sequence of
        an STR marker that contained the prefix and suffix of the marker but
        not the actual STR (yes, this happened).
      * Stuttermodelvis would draw all 'All data' fits in the graphs of all
        repeat unit sequences, instead of just the 'All data' fit that was
        fitted to the data of a particular repeat sequence.
      
      Improved:
      * BGHomStats, BGHomRaw, and Samplestats now round their output to three
        significant digits.
      * BGCorrect now rounds its output to 3 decimal positions.
      
      Various enhancements to Samplevis HTML visualisations:
      * Added a whole new set of options which are used to automatically
        select the true alleles in a sample.
      * Added an option to split the graphs and the table up per marker.
      * The selected alleles are no longer lost when the graphs are
        re-rendered due to changed options.
      * Added some more columns to the table of selected alleles and made the
        table prettier.
      * Added a dedicated stylesheet for printing, which transforms the web
        page into a nicely formatted report when printed.
      * Option groups can now be hidden separately.
      * Filtering options are now based on the read numbers after correction.
      * The mouse cursor now changes to a 'pointer' style cursor (usually a
        hand with stretched index finger) when hovered over the clickable
        portion of the graph.
      
      Visualisations:
      * Updated Vega to version 2.4.0 and d3 to version 3.5.10.
      * All visualisations now use signals to set the options. This allows
        them to be updated without re-parsing the entire graph spec in most
        cases, which is much faster.
      * Using new cross-and-filter capabilities in bgrawvis, profilevis,
        samplevis, and stuttermodelvis. This greatly reduces Vega's memory
        usage and speeds up rendering.
      * The name of the currently loaded data file is prepended to the page
        title in HTML visualisations.
      * If a file is loaded into an HTML visualisation by drag-and-drop, the
        name of the loaded file is displayed on the file input element.
      * A new -T/--title option for the Vis tool allows for specifying
        something that should be prepended to the page title of HTML
        visualisations. This is particularly useful when data is piped in,
        because no file name is available in that case.
      * Asynchronous rendering of visualisations is now cancelled if a new
        asynchronous rendering task has already been scheduled (HTML
        visualisations only).
      e7517bbd
  8. 23 Nov, 2015 1 commit
    • Hoogenboom, Jerry's avatar
      Introducing Samplestats · 559ee083
      Hoogenboom, Jerry authored
      * New tool Samplestats computes various sequence-centric statistics for
        sample data files. Most statistics relate to correction amounts and
        are thus only included if the input file contains BGCorrect columns.
      * The starting position can now be ommitted from the [genome_position]
        in FDSTools library files. A default value of 1 will be used in this
        case.
      * The setup.py script can now also be run without explicitly specifying
        Python as the interpreter (it now has a shebang line).
      559ee083