Mussa development roadmap coded - code is completely written but untested debug - code written, being debugged/tested done - code is tested and seems to be working correctly ! - deprecated, was written to support old python mussa format as bridge Version 1 Core analysis and basic gui - Main - basic command line arg parsing [done] - handles 4 run modes: full, analysis, viewer only, gui only [done] - Analysis control module - calling of Seq, FLP, nway, etc according to run_mode [done] - loads basic analysis parameter file [done] - paramter file window and threshold override option [done] - specify sequence subselection in parameters file [done] - check start smaller than end in sub seq selection [] - error handling - signal file not found [done] - signal other errors? [] - saving control [done] - loading control [done] - !loads & saves old mussa nway data files [done] - Sequence module - data structures to store all sequence & annotation info [done] - load fasta and multi fasta sequence files [done] - basic sequence checking (AGCTN, all capped) [done] - subselect sequence from files [done] - error handling - signal file not found [done] - signal other errors? [] - load mussa annotation files [done] - subselect annotations if sequence subselected [1/2 done] (eliminates straddling annots, need to keep inclusive parts) - error handling - signal file not found [done] - signal other errors? [] - basic sequence operations (length, seq, rev comp) [done] - save sequence & annots to new mussa format [done] - loading mussa seq & annot file [done] - motif search - basic IUPAC search [done] - RC search [done] - need to upcase received motif [done] (non-IUPAC symbols silently deleted - change this) - FLP module (ie seqcomp stuff) - data structures to store Fixed Length Pairs [done] - seqcomp analysis [done] - return list of matches [done] - save seqcomp to data file [done] - Nway module - data structures to hold nway path info [done] - recursive nway search [done] - nway paths simple refine (basic window extension) [done] - save and load nway data to new mussa format [done] - error handling - signal file not found [1/2 done] - Gui only mode - can perform new analyses from menu [done] - implement config window to modify config file params [] - can load previous analyses from menu [done] - need to fully reset when loading over existing ana [] - Connection window modules - set scaling by longest sequence [done] - scale & draw nway paths - basic drawing [done] - rc drawing [done] - highlight drawing [done] - scale & draw sequence lines, annotations, motifs [done] - need to allow annot color selection [] - draw scale aids (allow choice of either or none) - division scale bars [done] - scale vert lines [] - left-drag region selection any species [done] - sub-window spawning - sequence view window w/ right click [done] - motif search window w/ middle click [done] (make this a button?) - Sequence window modules - drawing - sequence with alignment offset [done] - path lines for base pairs in conserved windows [done] - 10bp shading blocks [done] - motifs (single color) [done] - left-drag scrolling thru sequence [done] - menu for nway path selection to align [done] - menu for nway path selection to display [done] - 10bp bars toggle button [done] - motif display toggle [done] - needs to handle no paths passed (ie none in selection) [] - put unlinked input box so user can 'name' window [] - Motif search window module - motif data type [done] - motif input tied to data type [done] - select color for motif [done] - check if new motif entered & do search [] - report new input to conn view to update [] - Misc cleanup/fixes needed - make '#' commenting in para file not space dependent - cmd line arg failure check Additions to Later versions - Control modules - Sequence module - FLP module - Potential speedup to main nway analysis and post processing - secomp variant that precombines windows [] - return "matches" to combined windows (similar to VLP) [] - Needed for reanalyzing with higher thres - load seqcomp data files [] - return list of matches w/ thresholding [] - Nway module - harvest paths to file (either as seq or indices) [] - nway paths refine (collapse adjacent/overlapping windows) [1/3 coded] - Connection view module - scale vert distance between sequence to user set ratio? (eg set as evolutionary distance) - basic zoom/unzoom [] - selection window moves with sequence viewing? [] - reanalyze with higher threshold [] - right-click popup menu - remove selection window [] - spawn seq view window [] - spawn motif search window [] Even later priority enhancements - Control module - specify basic sequence filtering options - Sequence module - basic simple sequence filtering (mono,di,tri of X length) - FLP module - window match sorting & max match limiting? (necessary with window ext?) - VLP module (variable meaning the length may not match between pair windows) - support variable length pairs from other analysis (blast, etc) - load blast data - return list of matches (needs to check if wholly or partially within boundaries of path windows) - Nway module - nway search using VLP (may already be done if do seqcomp w/ ext windows) - non-recursive nway search (may be faster) - Connection window - Sequence view module