SegAnnDB: supervised machine learning for interactive DNA copy number analysis
Background: please read our Bioinformatics 2014 paper.
Usage demos on YouTube:
- basic labeling (2 min)
- zooming, labeling, and exporting high-density profiles (9 min)
See INSTALL.sh to install on your own server, or Abhishek’s blog post to use our docker image.
We use selenium webdriver for testing. To start the test suite, first install selenium using
pip install selenium=2.53.2
Then install Firefox, run recover-restart.sh, and then tests/tests.py.
If running tests on Travis, Google may think that the test account is being hacked and lock it, causing tests to fail. To work around this do the following:
- Login to Google from your computer using the test account (and log out all other google accounts).
- Open https://www.google.com/accounts/DisplayUnlockCaptcha and push the button on the page.
- Push code and/or restart the Travis build.
It is important to realize that this link provides unlimited access for 10 minutes only, so it is best to click it immediately prior to pushing code or running a build.
- server-start.sh runs db_recover to fix any database issues, then runs process_daemon.py to start the profile processing daemon, then runs learn_daemon.py to start the learning daemon, then starts the apache/production server. (start.sh is the analog for the testing server)
- server-stop.sh stops the apache/production server.
- server-recover-restart.sh runs server-stop and then server-start. (recover-restart.sh is the analog for the testing server)
- server-reinitialize.sh deletes all database information, and reinitializes a fresh/new SegAnnDB. (reinitialize.sh is the analog for the testing server)
Two tools (located in the Galaxy directory) have been developed to allow SegAnnDB to send data to Galaxy:
- seganndb_single_profile pulls all data for a single profile.
- seganndb_all_profiles adds breakpoint data from all profiles uploaded by a specified user.
These two tools can be installed by placing their folders in the galaxy tools folder and adding a tool definition for them in the tool_conf.xml file on your Galaxy installation.