mussa.git
17 years agoMussagl Manual: Docs 1.0 updates (part two)
Brandon King [Sat, 28 Oct 2006 00:44:58 +0000 (00:44 +0000)]
Mussagl Manual: Docs 1.0 updates (part two)
 * Updated Mac OS X install instruction. (ticket #168)
 * Documented why sub-analysis exists (ticket: #214)
 * Spelling err fix.
 * Hid changelog / major updates sections for future use. (ticket: #162)

17 years agoMussagl Manual: Updates for Docs 1.0
Brandon King [Sat, 28 Oct 2006 00:15:33 +0000 (00:15 +0000)]
Mussagl Manual: Updates for Docs 1.0
 * Moved UCSC tutorial toward end, but linked to from Obtaining Data section.
 * Added animated gif under dynamic threshold section.
 * Documented command line options. (tickets: #167, #225)
 * Mentioned Python existing in Mussagl. (tickets: #167, #227)
 * Updated repeats documentation. (tickets: #167)
 * Updated .mupa file format description.
 * Added note about .mupa comment character.
 * Added a create .mupa section for UCSC tutorial. (ticket:164)
 * Linked to Diane's OverlappingWindow wiki page (ticket:137)

17 years agoUse Qt4.2 openUrl to show manual
Diane Trout [Fri, 27 Oct 2006 20:40:20 +0000 (20:40 +0000)]
Use Qt4.2 openUrl to show manual
ticket:217
This function means I can link to a website without using python.
So this patch disables building the python interpreter into mussa.
I'll make it optional when I actually make some progress in
interacting with mussa via python.

17 years agoimplement set window state
Diane Trout [Fri, 27 Oct 2006 17:57:05 +0000 (17:57 +0000)]
implement set window state
ticket:194
basically works, though I need to get mussa to notice when sequence
information has been changed.

17 years agoinclude icon extension for os x bundle information
Diane Trout [Thu, 26 Oct 2006 22:51:27 +0000 (22:51 +0000)]
include icon extension for os x bundle information

17 years agoadd copy sequence as string option
Diane Trout [Thu, 26 Oct 2006 22:30:31 +0000 (22:30 +0000)]
add copy sequence as string option
ticket:215
it turned out that the reson I couldn't paste was all the invalid
characters in the fasta representation of the sequence. This adds
a copy sequence option which just copies the sequence as an undecorated
string. (which does paste).

Of course this is now confusing as there's two copy options...

17 years agodisplay number of basepairs copied
Diane Trout [Thu, 26 Oct 2006 20:39:54 +0000 (20:39 +0000)]
display number of basepairs copied
ticket:211
this also provides a quick and dirty way of counting number of base pairs.

17 years agoMussa Window Icon
Brandon King [Thu, 26 Oct 2006 00:38:10 +0000 (00:38 +0000)]
Mussa Window Icon
 * Added mussa.png icon.
 * Added mussa.png to qrc file.
 * Added the icon to qApplication.

17 years agotagged release_1.0_rc3
Diane Trout [Tue, 24 Oct 2006 21:38:47 +0000 (21:38 +0000)]
tagged release_1.0_rc3

17 years agoMussa Manual: spelling, wording, and grammer
Brandon King [Tue, 24 Oct 2006 17:01:13 +0000 (17:01 +0000)]
Mussa Manual: spelling, wording, and grammer

17 years agocall set_soft_threshold after subanalysis
Diane Trout [Tue, 24 Oct 2006 00:44:15 +0000 (00:44 +0000)]
call set_soft_threshold after subanalysis
ticket:216
this should make sure that all the match lines show up with you
first view a subanalysis. (Though perhaps not in the most
CPU efficient way.)

17 years agoEnable Qt4 tests
Diane Trout [Mon, 23 Oct 2006 22:55:44 +0000 (22:55 +0000)]
Enable Qt4 tests
ticket:207
To fix the problem generating the moc_Test files I stopped trying
to fake the .hpp file for moc, and renamed the qui/test/Test*.cpp files to
.hpp and added a very small .cpp file which included the header and
called the QTEST_MAIN or QTEST_APPLESS_MAIN macro.
APPLESS will work even if I don't have a working X server on linux, but
some parts of Qt require that the gApp be constructed.

17 years agoadd nl to end of 3 files
Diane Trout [Fri, 20 Oct 2006 21:59:06 +0000 (21:59 +0000)]
add nl to end of 3 files

17 years agoavoid multiple calls to setSoftThreshold
Diane Trout [Fri, 20 Oct 2006 01:33:10 +0000 (01:33 +0000)]
avoid multiple calls to setSoftThreshold
ticket:200
So I took the easy route and just wrapped a widet->setEnabled(false)
widget->setEnabled(true) around the setSoftThreshold code. Which should
hopefully prevent the possibility of calling setSoftThreshold before
the other call has terminated.

17 years agocopy motifs to a new subanalysis
Diane Trout [Fri, 20 Oct 2006 01:11:36 +0000 (01:11 +0000)]
copy motifs to a new subanalysis
ticket:199
Also the second problem was that the motif_scan wasn't using the right
offsets to compute the motif start/stop locations.

17 years agofix motif loader under release build
Diane Trout [Thu, 19 Oct 2006 23:27:07 +0000 (23:27 +0000)]
fix motif loader under release build
tciet:163
It turns out that allocating a static class under a release build with a
static char might not be so reliable. This showed up as two problems
first was the test_algorithm unit test would fail.

The second was that the motif parser wouldn't work. In my efforts to
diagnose this I ended up moving the motif file parser to its own file
and splitting the spirit semantic actions up into multiple functors.
(functors remind me of anonmyous classes in java, useful but so annoying
synatacticaly).

Eventually I solved the problem by making the const char *alphabets
just available directly from the Alphabet class, as I couldn't figure out
a way to get the static function returning a reference to a static local
variable (which according to the C++ faq should've been allocated when called
and not before).

17 years agoSequence::rev_comp works on subsequences
Diane Trout [Thu, 19 Oct 2006 00:58:47 +0000 (00:58 +0000)]
Sequence::rev_comp works on subsequences
ticket:197
Sequence::rev_comp when called on a Sequence which contained a subsequence
was actually reversing the entire sequence and not just the selected region.

To fix this I added rbegin and rend which return reverse iterators that
cover the subseq range and updated rev_comp to use them.

There's also some extra sequence unittests to make sure that rbegin/rend
work correctly. (and as a bonus loading several sequences out of one fasta
file works).

17 years agoadd to_upper_case to some sequence unittests
Diane Trout [Wed, 18 Oct 2006 22:49:59 +0000 (22:49 +0000)]
add to_upper_case to some sequence unittests
forcing sequences to all uppercase (though useful for doing seqcomps and
rendering) does mean that I needed to update tests to deal with the
differences from .get_sequence()

17 years agoMussa Manual: Screenshots + Performance section
Brandon King [Wed, 18 Oct 2006 23:38:07 +0000 (23:38 +0000)]
Mussa Manual: Screenshots + Performance section
 * Updated screenshots in the "view alignment" & "sub-analysis" sections.
 * Removed reference to build numbers (since this is for release 1.0)
 * Added an Understand Mussa section.
   * Added placeholder for algorithm performance.
   * Added documentation on the effects of repeats in DNA sequence on Mussa.
   * Added a placeholder for Diane's overlapping windows "interesting" case.

17 years agoMussa Manual: Deleting a Motif
Brandon King [Wed, 18 Oct 2006 18:47:51 +0000 (18:47 +0000)]
Mussa Manual: Deleting a Motif
 * Documentation on how to delete a motif using the Motif Editor (ticket:196)

17 years agoMussa Manual: Multiple Mussa Windows
Brandon King [Wed, 18 Oct 2006 18:32:18 +0000 (18:32 +0000)]
Mussa Manual: Multiple Mussa Windows
 * Documented how to view multiple analyses at one time. (ticket:179)

17 years agoMussa Manual: save on close & save motif default behavior
Brandon King [Wed, 18 Oct 2006 18:04:42 +0000 (18:04 +0000)]
Mussa Manual: save on close & save motif default behavior
 * Wrote the "Save on close" section. (ticket:189)
 * Documented default motif list extension, when not provided by user. (ticket:190)
 * Removed old "features to implement".

17 years agobe more forging of user provided file names
Diane Trout [Tue, 17 Oct 2006 23:21:33 +0000 (23:21 +0000)]
be more forging of user provided file names
ticket:192
It turned out my use of boost::filesystem::path could toss an exception
if there were spaces in the file name on OS X. I needed to do a bit more
work to construct a safe filename for saving analyses and motifs.

Also I discovered that runtime_error was not the root exception class,
std::exception was. So I adjusted my try/catch to catch that exception
in the hope that I can provide more meaningful error messages.

17 years agoremove old code
Diane Trout [Tue, 17 Oct 2006 22:19:29 +0000 (22:19 +0000)]
remove old code
remove the FLTK version of mussa and the non CMake-based build systems.

17 years agoignore eclipse settings
Diane Trout [Tue, 17 Oct 2006 22:19:06 +0000 (22:19 +0000)]
ignore eclipse settings

17 years agoadd a manually updated version number.
Diane Trout [Tue, 17 Oct 2006 21:57:06 +0000 (21:57 +0000)]
add a manually updated version number.

17 years agotest_mussa_python also had an unecesary QtOpenGL library link
Diane Trout [Tue, 17 Oct 2006 21:56:33 +0000 (21:56 +0000)]
test_mussa_python also had an unecesary QtOpenGL library link

17 years agoattempt to make buildnum.py generate a useful header
Diane Trout [Tue, 17 Oct 2006 21:55:42 +0000 (21:55 +0000)]
attempt to make buildnum.py generate a useful header
alas I couldn't get the CMake script to work reasonably well.

17 years agomotif save should have a default extension.
Diane Trout [Tue, 17 Oct 2006 20:41:32 +0000 (20:41 +0000)]
motif save should have a default extension.
ticket:188

17 years agodon't like QTOPENGL to python module
Diane Trout [Tue, 17 Oct 2006 20:40:17 +0000 (20:40 +0000)]
don't like QTOPENGL to python module
The only dependency the python layer should have is on QtCore so adjust
which libraries are included to only include QtCore. Otherwise when
it decides to link in QtOpenGL I get a warning about not being able to find
QtGui.

17 years agochanging motifs should make the analysis dirty
Diane Trout [Tue, 17 Oct 2006 19:05:29 +0000 (19:05 +0000)]
changing motifs should make the analysis dirty
ticket:187
though if you apply and wihtout changing anything the dirty flag will
still be set. Hopefully no one will care.

17 years agoMussa Manual: updated motif dialog section.
Brandon King [Tue, 17 Oct 2006 18:59:56 +0000 (18:59 +0000)]
Mussa Manual: updated motif dialog section.
 * Updated text/screenshots in the motif dialog section. (ticket #191)

17 years agoalways add a blank motif
Diane Trout [Tue, 17 Oct 2006 18:47:49 +0000 (18:47 +0000)]
always add a blank motif
ticket:186
given the way the motif editor automatically adds motifs its important
to make sure there's a blank one for users to start editing with.

17 years agoMussa Manual: Saving section
Brandon King [Tue, 17 Oct 2006 18:14:59 +0000 (18:14 +0000)]
Mussa Manual: Saving section
 * Added a new saving section
 * Added section template for save on close (ticket #189)
 * Documented saving analysis (ticket #176)
 * Documented saving analysis as (ticket #176)
 * Documented saving motif lists (ticket #175)

17 years agoMussa Manual: create/load analysis section updated
Brandon King [Tue, 17 Oct 2006 17:29:52 +0000 (17:29 +0000)]
Mussa Manual: create/load analysis section updated
 * Updated text/screenshots in the "Create new analysis" section (ticket #169)
 * Updated text/screenshots in "Load a mussa parameter file" section. (ticket #181)
 * Updated text/screenshots in "Load an analysis" section. (ticket #185)

17 years agomore python interface to Sequence
Diane Trout [Tue, 17 Oct 2006 06:50:49 +0000 (06:50 +0000)]
more python interface to Sequence

17 years agoforce loaded sequence to uppercase
Diane Trout [Tue, 17 Oct 2006 06:46:02 +0000 (06:46 +0000)]
force loaded sequence to uppercase
ticket:183

17 years agovalidate app bundle before shipping
Diane Trout [Tue, 17 Oct 2006 01:36:10 +0000 (01:36 +0000)]
validate app bundle before shipping
ticket:180
This path adds some support for parsing otool results so I can test
to make sure that object files are only linked against /usr/lib,
/System/Library or @executable_path entries.

I changed it to use subprocess (which required installation on OS X
because of python2.3) and it'll also handle the uploading of packages
now.

17 years agodon't link against X11 on OS X
Diane Trout [Tue, 17 Oct 2006 01:33:06 +0000 (01:33 +0000)]
don't link against X11 on OS X
the python shared library ended up picking up a link to the OS X
X11R6 libraries because it was linking against the GUI code,
if we let it link mussa will require X11 to be present on the users
system which is not always true for an OS X user.

17 years agoMussa manual: Overview section update
Brandon King [Mon, 16 Oct 2006 18:51:19 +0000 (18:51 +0000)]
Mussa manual: Overview section update
 * Updated all images in overview section to latest version of Mussa. (Tickets: #166, #172, #173)
 * Updated text in section to match latest version of Mussa. (Tickets: #166, #172, #173)
 * Removed 'Motif Toggle' button documentation. (ticket:171)

17 years agoMussa Manual: Link to example data in UCSC genome browser section.
Brandon King [Mon, 16 Oct 2006 17:07:19 +0000 (17:07 +0000)]
Mussa Manual: Link to example data in UCSC genome browser section.
 * Added a link to the SMN1 example data made available on our wiki.

17 years agoMussa Manual: Save to image
Brandon King [Sat, 14 Oct 2006 01:06:17 +0000 (01:06 +0000)]
Mussa Manual: Save to image
 * Added documentation for the save to image feature.

17 years agodon't seqcomp sequences that are too small
Diane Trout [Sat, 14 Oct 2006 01:05:05 +0000 (01:05 +0000)]
don't seqcomp sequences that are too small
ticket:151
seqcomp gets really grumpy when it trys to analyze a sequence that
is shorter than the window sequence. So instead of letting it try
to malloc all of your memory, throw a more useful exception.

Also I updated the SubanalysisWindow to catch the exception and
report it to the user.

17 years agoFix for ticket:160
Brandon King [Sat, 14 Oct 2006 00:28:01 +0000 (00:28 +0000)]
Fix for ticket:160
  * gcc 4.0.3 didn't like assing 0 to a MussaRef, removed default value based on Diane's suggestion. That did the trick.

17 years agoMussa Manual: motif list file masks
Brandon King [Sat, 14 Oct 2006 00:24:25 +0000 (00:24 +0000)]
Mussa Manual: motif list file masks
  * Documented file masks for motif lists.
  * Closes ticket:153

17 years agoadd operator< to ConservedPath
Diane Trout [Sat, 14 Oct 2006 00:05:43 +0000 (00:05 +0000)]
add operator< to ConservedPath
So I could sort a list of ConservedPaths it was hopefully going to
let me make simple_refine a little bit better by grouping paths
that were next to each other closer than those that were almost
next to each other execpt one match far away. Unfortunately
I didn't think it all the way through and the lists are already
sorted by that criteria. e.g.

1,1,1 < 1,1,70 < 2,2,2

when what simple refine needis is something more like

1,1,1 < 2,2,2 < 1,1,70

17 years agoBuild number python script
Brandon King [Fri, 13 Oct 2006 22:52:24 +0000 (22:52 +0000)]
Build number python script
 * Reports the build number of a given darcs repository of mussa.
 * In support for ticket:124.

17 years agoSave to image fix (ticket:96)
Brandon King [Fri, 13 Oct 2006 22:07:18 +0000 (22:07 +0000)]
Save to image fix (ticket:96)

  * ImageSaveDialog now uses a SequenceBrowser copy contructor to draw the image.

  * glseqbrowser copy constructor was missing path_segments.

  * SequenceBrowser now has a copy constructor.

  * ImageSaveDialog needed to updated to use the bp per pixel zoom magnification;
meaning that when the user wants an image twice the x value of the glcanvas,
then the bps per pixel needed to halved.

  * bp_per_pixel2 = ( x_1 / x_2) * bp_per_pixel_1

17 years agosave motifs with the analysis
Diane Trout [Fri, 13 Oct 2006 05:48:13 +0000 (05:48 +0000)]
save motifs with the analysis
ticket:133
This is the last part to implement ticket:133 this hooks up the
Mussa::save and Mussa::load code to automatically try saving the motif lists
into the analysis subdirectory.

17 years agopass default_dir around
Diane Trout [Fri, 13 Oct 2006 01:31:41 +0000 (01:31 +0000)]
pass default_dir around
convert default_dir to be a shared_ptr and then pass it around
all of our windows that need to save things. Pretty much now
whenever someone saves something we'll remember that last directory
and use it as our default dir.

I hope this works on windows, if it breaks, there
might be a few fs::natives that are needed.

17 years agochange default_dir to a QDir
Diane Trout [Fri, 13 Oct 2006 00:52:08 +0000 (00:52 +0000)]
change default_dir to a QDir
from a boost::filesystem::path, this should make it
easier to pass around.

17 years agocleanup image save dialog aesthetics
Diane Trout [Thu, 12 Oct 2006 23:52:19 +0000 (23:52 +0000)]
cleanup image save dialog aesthetics
ticket:96
one of the problems is that when people try saving an image they
couldn't find where the image was saved too. This is probably because
they didn't set a file name and no errors were thrown.

this patch ties the "save as" prompt to the save button, so once someone
gets the pixel size right they have to chose a filename.

I also fixed the problem where it wasn't loading the "lock aspect ratio"
icon out of the resource file, and made a few other aesthetics updates.

17 years agotabs are of the devil
Diane Trout [Thu, 12 Oct 2006 22:58:08 +0000 (22:58 +0000)]
tabs are of the devil

17 years agoCMakeLists.txt: Added extra QT_LIBS depend to fix Qt Assistant linking.
Brandon King [Thu, 12 Oct 2006 22:47:45 +0000 (22:47 +0000)]
CMakeLists.txt: Added extra QT_LIBS depend to fix Qt Assistant linking.

17 years agoFix initialization of QtAssistant
Diane Trout [Thu, 12 Oct 2006 21:57:20 +0000 (21:57 +0000)]
Fix initialization of QtAssistant
ticket:120
I reenabled calling QtAssistant for help on windows to get around the lack
of a python standard library. However, I forgot to update the define
for initializing the QtAssistant. Needless to say an unininitialized
QtAssistantClient pointer wasn't terribly useful.

17 years agobetter glyph offset computation
Diane Trout [Thu, 12 Oct 2006 21:51:19 +0000 (21:51 +0000)]
better glyph offset computation
my first attempt at computing an offset to better center the
AGCTN ended up putting the links under the wrong basepair.

Not only does this patch put the segment under the right basepair
it also makes the glyphs a little bit wider.

17 years agoWindows installer script: updated to work in makelib directory
Brandon King [Thu, 12 Oct 2006 18:56:25 +0000 (18:56 +0000)]
Windows installer script: updated to work in makelib directory

17 years agodoes createLocalAlignment work for a 3 way?
Diane Trout [Thu, 12 Oct 2006 09:51:45 +0000 (09:51 +0000)]
does createLocalAlignment work for a 3 way?
try to test ticket:137
I was hoping that creating a unit test would flush out the case where
a segement isn't part of a path. But unfortunately that doesn't seem
to happen.

However my draw code is drawing my paths in the wrong place.

17 years agoadd implementation for save motif menu item
Diane Trout [Thu, 12 Oct 2006 01:00:59 +0000 (01:00 +0000)]
add implementation for save motif menu item
ticket:133
this adds part of the save motif code. I still need to save motifs
that are attached to an analysis.

17 years agoMake help a bit more reliable
Diane Trout [Thu, 12 Oct 2006 00:14:00 +0000 (00:14 +0000)]
Make help a bit more reliable
ticket:120 ticket:49 ticket:98
Brandon figured out how to install QtAssistant on windows I haven't worked it
out for OS X or linux yet (as its noticeably harder).

I'd switched to using pythons webbrowser.open to go to our documentation
pages, except that only works if the python standard library is installed.
However windows lacks such a thing, and so the webbrowser.open code
wouldn't work.

This patch enables the QtAssistant for windows, and uses webbrowser.open
on OS X and Linux.

Also it'll actually open a warning messagebox if something goes wrong
trying to open the help, and display a not very useful error message.

17 years agolookup python code with c++
Diane Trout [Wed, 11 Oct 2006 23:43:33 +0000 (23:43 +0000)]
lookup python code with c++
use boost::algorithm::split to split our python namespace
reference.

17 years agoValidate motif input
Diane Trout [Wed, 11 Oct 2006 22:52:45 +0000 (22:52 +0000)]
Validate motif input
ticket:149
To reduce the chances that someone will manage to make an unloadable
motif file, prevent the user from entering bad data.
e.g. " in motif names, or non-iupac symbols in the sequence in
MotifEditorDelegate::createEditor

17 years agoadd Mussa::save_motif()
Diane Trout [Wed, 11 Oct 2006 21:37:48 +0000 (21:37 +0000)]
add Mussa::save_motif()
necessary for ticket:133
This adds the low level motif saving code to Mussa. To make things
work a bit more reliably, the parse code can understand the alpha
channel now (so I can save hidden motifs), and can parse a
motif name that is quoted like "foo asdf". I added that as I expect
users will put spaces in their motif names.

Although things'll probably break if someone puts a " in a motif name.
see ticket:149

17 years agothrow errors when spirit parsing fails
Diane Trout [Wed, 11 Oct 2006 20:59:30 +0000 (20:59 +0000)]
throw errors when spirit parsing fails
ticket:126
this patch adds code to throw errors (and give some rough idea
where the error was) when the spirit parser fails. (Currently
either loading motifs, or loading sequence annotations).

Also I added a typedef to shorten std::set<Sequence> to motif_set

17 years agouse spinboxes for the setup analysis dialog
Diane Trout [Wed, 11 Oct 2006 00:52:28 +0000 (00:52 +0000)]
use spinboxes for the setup analysis dialog
ticket:148
the easiest way of making sure that threshold was less than window
size was to use spin boxes.

Also I updated the dialog box to use dynamically allocated Qt widgets.

17 years agoa title of path("/my/silly/path") doesn't work on windows
Diane Trout [Wed, 11 Oct 2006 00:39:43 +0000 (00:39 +0000)]
a title of path("/my/silly/path") doesn't work on windows
since it doesn't really matter what it is just make sure
its the same length.

17 years agouse lines if a quad would be smaller than a pixel
Diane Trout [Wed, 11 Oct 2006 00:06:25 +0000 (00:06 +0000)]
use lines if a quad would be smaller than a pixel
closes ticket:147
Mussa looks nicer when there's a minimum width to segments
connecting tracks.

17 years agoinitialize the motif_editor with analysis motifs
Diane Trout [Tue, 10 Oct 2006 23:22:35 +0000 (23:22 +0000)]
initialize the motif_editor with analysis motifs
ticket:139 the motif editor dialog wasn't actually looking at the
motifs stored in the analysis to initialize its model with. So
when one either closed the window or tried initializing from a file
the dialog wouldn't reflect what was actually on the screen.

17 years agoimplement alphabet for sequence
Diane Trout [Tue, 10 Oct 2006 22:27:54 +0000 (22:27 +0000)]
implement alphabet for sequence
in order to fix ticket:144 when motifs were changed to be
sequences I needed someway of specifying what alphabet a particular
sequence is using.

This patch changes things so a sequences default sequence alphabet
is a "AGCTUN" AKA reduced nucleic alphabet.

Motifs however use the full IUPAC nucleic alphabet.

(Or at least I hope they do I tested the sequence class, but GUI
testing is harder).

Another change is that instead of building a fixed reverse complement
table, there's a function which creates the table and understands
that at least for reduced_rna_alphabet (currently the only specifically RNA
alphabet) the reverse of A should be a.

Sequence is no longer case sensitive, all of the comparisons
are now done in an insensitive manner.

Finally I found a bug in the motif scanning code that was due to a typo
from long before I inherited the code. Aparently that code branch in
motif_scan had never been executed before.

17 years agolength 1 segments should be drawn as lines
Diane Trout [Thu, 5 Oct 2006 21:05:56 +0000 (21:05 +0000)]
length 1 segments should be drawn as lines
I also tried to center both the line and the character glyph a bit.
No I don't know why I needed to divide by 4.0 instead of 2.0. But
it looked better--so there.

17 years agodraw link lines with a width
Diane Trout [Thu, 5 Oct 2006 01:29:19 +0000 (01:29 +0000)]
draw link lines with a width
ticket:134
Segments connecting two sequence locations together now have a "length"
field which is drawn as a width across the screen.

The problem with this patch is that on the sequence view, where you want
a narrow line, it's drawing something the width of the base pair.

perhaps that's ok, or perhaps in that case I can have a length of 0,
or perhaps lenghts of 1 could also be drawn as a line, or perhaps
the edges of one of these rectangles should be shrunk a bit.

(that might also make things look a bit more centered.

17 years agoadd --motifs
Diane Trout [Wed, 4 Oct 2006 21:59:09 +0000 (21:59 +0000)]
add --motifs
ticket:143 this patch allows one to specify a motifs file to annotate
an analysis with.

17 years agotrigger motif update from loadMotifList
Diane Trout [Wed, 4 Oct 2006 01:13:28 +0000 (01:13 +0000)]
trigger motif update from loadMotifList

17 years agofixes for Mussa::load_motif
Diane Trout [Wed, 4 Oct 2006 01:02:21 +0000 (01:02 +0000)]
fixes for Mussa::load_motif
If you're using references to pass variables from the boost::spirit parser
via a functor class, it might be useful to actually make sure the
class constructors parameters are references too.

This does improve how a motif file is parsed.

17 years agocolors should default to being visible
Diane Trout [Wed, 4 Oct 2006 01:01:09 +0000 (01:01 +0000)]
colors should default to being visible
alpha of 1 is visible, 0 is invisible. having a default of invisible
is confusing.

17 years agoAdd window titles
Diane Trout [Tue, 3 Oct 2006 21:36:10 +0000 (21:36 +0000)]
Add window titles
this patch adds window titles to most of the windows that Mussa will
popup. I refactored the code that figured out a reasonble title name
from MussaWindow and put it into Mussa.

This did mean that the SubanalysisWindow now needed its own copy
of a MussaRef so it could ask the analysis for its name.

17 years agofix wrong parent for scrollable_browser
Diane Trout [Thu, 15 Jun 2006 06:24:06 +0000 (06:24 +0000)]
fix wrong parent for scrollable_browser

17 years agoAdd ReadOnly ThresholdWidget to MussaAlignedWindow
Diane Trout [Tue, 3 Oct 2006 20:52:02 +0000 (20:52 +0000)]
Add ReadOnly ThresholdWidget to MussaAlignedWindow
The simplest way of report the threshold was to reuse the current
threshold widget. However since it makes no sense to change the threshold
at on the aligned sequence level view, I added the ability to make
the widget read only.

17 years agoUse pointers in ThresholdWidget
Diane Trout [Tue, 3 Oct 2006 20:48:37 +0000 (20:48 +0000)]
Use pointers in ThresholdWidget
Change threshold widget to use dynamically allocated objects
instead of statically allocated objects. I think Qt prefers this, but
now I'm less sure.

17 years agoAllow MussaAlignedWindows to create subanalyses
Diane Trout [Tue, 3 Oct 2006 01:14:56 +0000 (01:14 +0000)]
Allow MussaAlignedWindows to create subanalyses
I passed a shared_ptr reference for the subanalysis window
from MussaWindow to MussaAlignedWindow so either window can be used
to customize the same subanalysis.

17 years agoDeath to stupid mussa pointers
Diane Trout [Tue, 3 Oct 2006 00:11:04 +0000 (00:11 +0000)]
Death to stupid mussa pointers
Long live smart pointers like boost::shared_ptr
Go through mussa and replace references to Mussa * or Mussa & with
a typedef MussaRef which is defined as boost::shared_ptr<Mussa>

17 years agoadd updateTitle
Diane Trout [Mon, 2 Oct 2006 23:12:05 +0000 (23:12 +0000)]
add updateTitle
localize the code for updating the MussaWindow title.

17 years agoMake MussaWindow UI objects pointers
Diane Trout [Mon, 2 Oct 2006 23:07:00 +0000 (23:07 +0000)]
Make MussaWindow UI objects pointers
It appears to me that Qt seems to like UI widgets that are attached to
it to be pointers as it'll sometimes handle freeing said pointer, which is
bad when its a statically allocated member of a class.

So this patch tries to make most of the UI objects associated with
MussaWindow pointers (I had to convert some elements of the
SequenceBrowserWidget as MussaWindow was storing references to them.)

17 years agobetter motif editor
Diane Trout [Fri, 29 Sep 2006 01:01:06 +0000 (01:01 +0000)]
better motif editor
ticket:122
This patch uses a QTableView for the motif editor which provides
both a better looking editor and supports adding an arbitrary number of
motifs.

17 years agoTool for inserting changelog into rst documents (i.e. manual)
Brandon King [Tue, 26 Sep 2006 19:50:33 +0000 (19:50 +0000)]
Tool for inserting changelog into rst documents (i.e. manual)

17 years agoMussagl Manual: Status Section
Brandon King [Mon, 25 Sep 2006 22:49:17 +0000 (22:49 +0000)]
Mussagl Manual: Status Section

17 years agoWin32 SaveAs Patch
Brandon King [Fri, 22 Sep 2006 23:41:13 +0000 (23:41 +0000)]
Win32 SaveAs Patch

17 years agoIf we don't need any python link libraries don't produce output
Diane Trout [Thu, 21 Sep 2006 18:44:09 +0000 (18:44 +0000)]
If we don't need any python link libraries don't produce output
this is to fix an issue brandon found

17 years agoMussagl Manual: Spelling and Grammar Fixes
Brandon King [Thu, 21 Sep 2006 00:57:33 +0000 (00:57 +0000)]
Mussagl Manual: Spelling and Grammar Fixes

 * Made some spelling and error fixes thanks... Thanks Erich!

17 years agocatch possible segfault with get_sequence()
Diane Trout [Tue, 19 Sep 2006 20:45:50 +0000 (20:45 +0000)]
catch possible segfault with get_sequence()

17 years agoneed a cassert
Diane Trout [Mon, 18 Sep 2006 22:49:38 +0000 (22:49 +0000)]
need a cassert

17 years agoRemember to include Platform to get PYTHON_LINK_LIBARIES
Diane Trout [Mon, 18 Sep 2006 22:48:19 +0000 (22:48 +0000)]
Remember to include Platform to get PYTHON_LINK_LIBARIES
ticket:125
I forgot to include Platform in the base CMakeLists.txt to get the
definition of PYTHON_LINK_LIBRARIES. With that everything builds correctly.

17 years agoask python what libraries we need to link with
Diane Trout [Mon, 18 Sep 2006 22:26:11 +0000 (22:26 +0000)]
ask python what libraries we need to link with
ticket:125 (hopefully fixes)
distutils has some nice variables that will tell us what system libraries
we need to link with.

This patch includes a small python wrapper that makes it easy for cmake
to extract that information.

17 years agoLoad saved analysis can open new windows
Diane Trout [Sat, 16 Sep 2006 00:12:53 +0000 (00:12 +0000)]
Load saved analysis can open new windows
ticket:105
this makes mussa behave a bit more like a traditional gui app, in that
saved analyses will replace empty windows, but will create new windows
if there's already something loaded.

Also new windows will copy the default_dir from the parent window.

17 years agoif you need to do a save as, you really don't need to save too
Diane Trout [Fri, 15 Sep 2006 22:50:27 +0000 (22:50 +0000)]
if you need to do a save as, you really don't need to save too
when you comment out an else if, perhaps you should leave in the else
part.

17 years agoremember the last directory we were did something in
Diane Trout [Fri, 15 Sep 2006 22:30:15 +0000 (22:30 +0000)]
remember the last directory we were did something in
and then default new operations to that directory.

AKA if we open a mupa file /this/path/to.mupa the next time we open a dialog
to do some IO it will default to /this/path

17 years agoremove reporting the current path from the about box
Diane Trout [Fri, 15 Sep 2006 22:29:43 +0000 (22:29 +0000)]
remove reporting the current path from the about box
that was mostly in there for debugging and isn't needed anymore

17 years agouse the loaded analysis path as the default save path
Diane Trout [Fri, 15 Sep 2006 22:27:20 +0000 (22:27 +0000)]
use the loaded analysis path as the default save path
if no save location is specified for an analysis and we happen to have
an analysis location that we were loaded from, default to saving to the
same location.

17 years agoalways save
Diane Trout [Fri, 15 Sep 2006 18:38:31 +0000 (18:38 +0000)]
always save
the mussa dirty flag isn't updated in enough situations, like if you
change a sequences meta data, the mussa dirty flag isn't updated.

Might make sense that once glsequence is a subclass of sequence to
put a dirty flag there.

17 years agokeep track of a subsequences parent
Diane Trout [Fri, 15 Sep 2006 18:08:09 +0000 (18:08 +0000)]
keep track of a subsequences parent
fixes ticket:129
I needed to know the parent offset inorder to get the start/stop sizes
to be relative to its parent in a "sequence" tree.