diff --git a/ChangeLog b/ChangeLog index 68bded1cc93182f31e9bdb382b4e92c5a3e32b2e..1682e03d534e920842746e737614f4e246f95f67 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,5 @@ Version 17 + Artemis/ACT and associated applications have been upgraded to Java 8. Java 7/6/5 are now no longer supported - RT ticket #589103 BamView fixes/changes - @@ -13,16 +14,18 @@ Version 17 9) Performance tweak for BAM file indexing. 10) Fixed issue in BamView whereby if you went to the end of a long contig and then switched to a shorter one (via the combo), you would end up off the end of the sequence resulting in a negative array index exception. Code has been changed to reset display to the start of sequence when the combo is changed (i.e. same as Artemis). + 11) Added bamview_perform_detailed_validation boolean property that can be set to perform more detailed sam validation during loading - this can be slow for large files. Added EvoSuite unit tests and additional targeted tests (RT ticket #419534: Develop a test suite for Artemis). - Added Jacoco unit test coverage reporting - manual tests only currently. This may be switched to Clover in the future if this proves compatible with EvoSuite. + Added Jacoco unit test coverage reporting - manual tests only currently. This may be switched to Clover in the future if this proves compatible with EvoSuite + - for the moment we are stuck with two coverage reports - evosuite and Jacoco. Removed redundant Corba libraries. Upgraded JUnit jar. - Changed Travis yml build file. RT ticket #597497: Set up artemis tests to run on travis. + Changed Travis yml build file. RT ticket #597497: Set up artemis tests to run on travis build. Changed all build scripts and startup scripts - RT ticket #598617. Removed building of artemis_mac.jar which is not used. Removed etc/gene_builder script and the gff2embl script (and documentation references) - no longer supported. @@ -32,6 +35,13 @@ Version 17 Resized splash screen. Added error handling for dnaplotter template file loading in standalone mode. + + Added Bioconda recipe. RT ticket #341139 . + + KNOWN ISSUES: + 1) Java JDKs 1.8.0_131 and above have a Swing bug related to overlaying of modal dialogs for Mac OS X: https://bugs.openjdk.java.net/browse/JDK-8179335 + 2) There is a current bug in htsjdk whereby calls to the queryMate functionality can throw an exception on reads with secondaries and/or supplementals. + This affects looking up properties for a selected read on bamview - https://github.com/samtools/htsjdk/issues/1065 Version 16 Add 'Features Within Selection' option to the 'Select' menu to select diff --git a/README.md b/README.md index b823470024aceaa73c788ee27c42366a3fcd7041..8c175815df6a3f834cb6599fd71ed0f3db13ea6d 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,14 @@ The Artemis user manual is at: http://www.sanger.ac.uk/science/tools/artemis The ACT user manual is at: - http://www.sanger.ac.uk/science/tools/act + http://www.sanger.ac.uk/science/tools/artemis-comparison-tool-act + +The DNA plotter user manual is at: + http://www.sanger.ac.uk/science/tools/dnaplotter + +The BAM View user manual is at: + http://www.sanger.ac.uk/science/tools/bamview + # INSTALLATION diff --git a/act b/act index 6f5789af6e7c21c4c357d2affe9fe5f267829f4f..f07e84da60c25f894cccc8d42e1aa290dc98b51d 100755 --- a/act +++ b/act @@ -33,7 +33,7 @@ usage () { echo " % act -Duserplot2=/pathToFile/userPlot" echo echo "HOMEPAGE" - echo " http://www.sanger.ac.uk/resources/software/act/" + echo " http://www.sanger.ac.uk/science/tools/artemis-comparison-tool-act" echo exit 1 @@ -90,13 +90,8 @@ do done APPLICATION_HOME=`dirname "$PRG"` -CLASSPATH=$APPLICATION_HOME:$APPLICATION_HOME/lib/biojava.jar:$APPLICATION_HOME/lib/jemAlign.jar:$APPLICATION_HOME/lib/jakarta-regexp-1.2.jar:$APPLICATION_HOME/lib/postgresql-8.4-701.jdbc3.jar:$CLASSPATH -CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/batik/batik-awt-util.jar:$APPLICATION_HOME/lib/batik/batik-dom.jar:$APPLICATION_HOME/lib/batik/batik-ext.jar:$APPLICATION_HOME/lib/batik/batik-svggen.jar:$APPLICATION_HOME/lib/batik/batik-util.jar:$APPLICATION_HOME/lib/batik/batik-xml.jar:$APPLICATION_HOME/lib/batik/batik-codec.jar -CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/j2ssh/commons-logging.jar:$APPLICATION_HOME/lib/j2ssh/j2ssh-core.jar:$APPLICATION_HOME/lib/j2ssh/ -CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/ibatis/ibatis-2.3.4.726.jar:$APPLICATION_HOME/lib/ibatis/:$APPLICATION_HOME/lib/ibatis/log4j-1.2.14.jar:$APPLICATION_HOME/lib/ibatis/cglib-nodep-2.2.jar -CLASSPATH=$APPLICATION_HOME/lib/picard/picard.jar:$APPLICATION_HOME/lib/commons-net-3.6.jar:$CLASSPATH -CLASSPATH=$APPLICATION_HOME/lib/commons-lang-2.6.jar:$CLASSPATH -export CLASSPATH +JAR_NAME=act.jar +JAR_FILE=$APPLICATION_HOME/$JAR_NAME # # Use a custom Java version if necessary @@ -120,7 +115,7 @@ add_proxy_properties # if [[ "$ARTEMIS_JVM_FLAGS" = "" ]] then - FLAGS="-mx1g -ms100m -noverify" + FLAGS="-mx2g -ms100m -noverify" else FLAGS="$ARTEMIS_JVM_FLAGS -noverify" fi @@ -136,5 +131,22 @@ then echo "Starting ACT with arguments: $FLAGS $APPLICATION_PROPERTIES $*" fi -$JAVA $FLAGS $APPLICATION_PROPERTIES uk.ac.sanger.artemis.components.ActMain $* -exit $? +if [[ -e $JAR_FILE ]] +then + $JAVA $FLAGS $APPLICATION_PROPERTIES -jar $JAR_FILE $* + result=$? +else + CLASSPATH=$APPLICATION_HOME:$APPLICATION_HOME/lib/biojava.jar:$APPLICATION_HOME/lib/jemAlign.jar:$APPLICATION_HOME/lib/jakarta-regexp-1.2.jar:$APPLICATION_HOME/lib/postgresql-8.4-701.jdbc3.jar:$CLASSPATH + CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/batik/batik-awt-util.jar:$APPLICATION_HOME/lib/batik/batik-dom.jar:$APPLICATION_HOME/lib/batik/batik-ext.jar:$APPLICATION_HOME/lib/batik/batik-svggen.jar:$APPLICATION_HOME/lib/batik/batik-util.jar:$APPLICATION_HOME/lib/batik/batik-xml.jar:$APPLICATION_HOME/lib/batik/batik-codec.jar + CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/j2ssh/commons-logging.jar:$APPLICATION_HOME/lib/j2ssh/j2ssh-core.jar:$APPLICATION_HOME/lib/j2ssh/ + CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/ibatis/ibatis-2.3.4.726.jar:$APPLICATION_HOME/lib/ibatis/:$APPLICATION_HOME/lib/ibatis/log4j-1.2.14.jar:$APPLICATION_HOME/lib/ibatis/cglib-nodep-2.2.jar + CLASSPATH=$APPLICATION_HOME/lib/picard/picard.jar:$APPLICATION_HOME/lib/commons-net-3.6.jar:$CLASSPATH + CLASSPATH=$APPLICATION_HOME/lib/commons-lang-2.6.jar:$CLASSPATH + export CLASSPATH + + $JAVA $FLAGS $APPLICATION_PROPERTIES uk.ac.sanger.artemis.components.ActMain $* + result=$? +fi + +exit $result + diff --git a/art b/art index dd05bf054553e878af628395b4b88c80066b08ec..ce30ace7b77ae75a560e8833b2e781713137f17b 100755 --- a/art +++ b/art @@ -39,7 +39,7 @@ usage () { echo " % art -Dblack_belt_mode=true -Dbam=ecoli_hiseq.bam E_coli_K12.gbk" echo " % art -Duserplot=repeatmap.plot,geecee.plot Plasmid.gff3" echo "HOMEPAGE" - echo " http://www.sanger.ac.uk/resources/software/artemis/" + echo " http://www.sanger.ac.uk/science/tools/artemis" echo exit 1 @@ -96,13 +96,8 @@ do done APPLICATION_HOME=`dirname "$PRG"` -CLASSPATH=$APPLICATION_HOME:$APPLICATION_HOME/lib/biojava.jar:$APPLICATION_HOME/lib/jemAlign.jar:$APPLICATION_HOME/lib/jakarta-regexp-1.2.jar:$APPLICATION_HOME/lib/postgresql-8.4-701.jdbc3.jar:$CLASSPATH -CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/batik/batik-awt-util.jar:$APPLICATION_HOME/lib/batik/batik-dom.jar:$APPLICATION_HOME/lib/batik/batik-ext.jar:$APPLICATION_HOME/lib/batik/batik-svggen.jar:$APPLICATION_HOME/lib/batik/batik-util.jar:$APPLICATION_HOME/lib/batik/batik-xml.jar:$APPLICATION_HOME/lib/batik/batik-codec.jar -CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/j2ssh/commons-logging.jar:$APPLICATION_HOME/lib/j2ssh/j2ssh-core.jar:$APPLICATION_HOME/lib/j2ssh/ -CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/ibatis/ibatis-2.3.4.726.jar:$APPLICATION_HOME/lib/ibatis/:$APPLICATION_HOME/lib/ibatis/log4j-1.2.14.jar:$APPLICATION_HOME/lib/ibatis/cglib-nodep-2.2.jar -CLASSPATH=$APPLICATION_HOME/lib/picard/picard.jar:$APPLICATION_HOME/lib/commons-net-3.6.jar:$CLASSPATH -CLASSPATH=$APPLICATION_HOME/lib/commons-lang-2.6.jar:$CLASSPATH -export CLASSPATH +JAR_NAME=artemis.jar +JAR_FILE=$APPLICATION_HOME/$JAR_NAME # # Use a custom Java version if necessary @@ -126,7 +121,7 @@ add_proxy_properties # if [[ "$ARTEMIS_JVM_FLAGS" = "" ]] then - FLAGS="-mx1g -ms100m -noverify" + FLAGS="-mx2g -ms100m -noverify" else FLAGS="$ARTEMIS_JVM_FLAGS -noverify" fi @@ -142,5 +137,22 @@ then echo "Starting Artemis with arguments: $FLAGS $APPLICATION_PROPERTIES $*" fi -$JAVA $FLAGS $APPLICATION_PROPERTIES uk.ac.sanger.artemis.components.ArtemisMain $* -exit $? +if [[ -e $JAR_FILE ]] +then + $JAVA $FLAGS $APPLICATION_PROPERTIES -jar $JAR_FILE $* + result=$? +else + CLASSPATH=$APPLICATION_HOME:$APPLICATION_HOME/lib/biojava.jar:$APPLICATION_HOME/lib/jemAlign.jar:$APPLICATION_HOME/lib/jakarta-regexp-1.2.jar:$APPLICATION_HOME/lib/postgresql-8.4-701.jdbc3.jar:$CLASSPATH + CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/batik/batik-awt-util.jar:$APPLICATION_HOME/lib/batik/batik-dom.jar:$APPLICATION_HOME/lib/batik/batik-ext.jar:$APPLICATION_HOME/lib/batik/batik-svggen.jar:$APPLICATION_HOME/lib/batik/batik-util.jar:$APPLICATION_HOME/lib/batik/batik-xml.jar:$APPLICATION_HOME/lib/batik/batik-codec.jar + CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/j2ssh/commons-logging.jar:$APPLICATION_HOME/lib/j2ssh/j2ssh-core.jar:$APPLICATION_HOME/lib/j2ssh/ + CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/ibatis/ibatis-2.3.4.726.jar:$APPLICATION_HOME/lib/ibatis/:$APPLICATION_HOME/lib/ibatis/log4j-1.2.14.jar:$APPLICATION_HOME/lib/ibatis/cglib-nodep-2.2.jar + CLASSPATH=$APPLICATION_HOME/lib/picard/picard.jar:$APPLICATION_HOME/lib/commons-net-3.6.jar:$CLASSPATH + CLASSPATH=$APPLICATION_HOME/lib/commons-lang-2.6.jar:$CLASSPATH + export CLASSPATH + + $JAVA $FLAGS $APPLICATION_PROPERTIES uk.ac.sanger.artemis.components.ArtemisMain $* + result=$? +fi + +exit $result + diff --git a/bamview b/bamview index 6515198fa1189b146656bb87c1242cdb54b2e493..023300a5e107873f114bffc6a780af34a63fb9b7 100755 --- a/bamview +++ b/bamview @@ -40,13 +40,8 @@ done APPLICATION_PROPERTIES="-Djdbc.drivers=org.postgresql.Driver -Dartemis.environment=UNIX $SANGER_ARTEMIS_OPTIONS" APPLICATION_HOME=`dirname "$PRG"` -CLASSPATH=$APPLICATION_HOME:$APPLICATION_HOME/lib/biojava.jar:$APPLICATION_HOME/lib/jemAlign.jar:$APPLICATION_HOME/lib/jakarta-regexp-1.2.jar:$APPLICATION_HOME/lib/postgresql-8.4-701.jdbc3.jar:$CLASSPATH -CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/batik/batik-awt-util.jar:$APPLICATION_HOME/lib/batik/batik-dom.jar:$APPLICATION_HOME/lib/batik/batik-ext.jar:$APPLICATION_HOME/lib/batik/batik-svggen.jar:$APPLICATION_HOME/lib/batik/batik-util.jar:$APPLICATION_HOME/lib/batik/batik-xml.jar:$APPLICATION_HOME/lib/batik/batik-codec.jar -CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/j2ssh/commons-logging.jar:$APPLICATION_HOME/lib/j2ssh/j2ssh-core.jar:$APPLICATION_HOME/lib/j2ssh/ -CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/ibatis/ibatis-2.3.4.726.jar:$APPLICATION_HOME/lib/ibatis/:$APPLICATION_HOME/lib/ibatis/log4j-1.2.14.jar:$APPLICATION_HOME/lib/ibatis/cglib-nodep-2.2.jar -CLASSPATH=$APPLICATION_HOME/lib/picard/picard.jar:$APPLICATION_HOME/lib/commons-net-3.6.jar:$CLASSPATH -CLASSPATH=$APPLICATION_HOME/lib/commons-lang-2.6.jar:$CLASSPATH -export CLASSPATH +JAR_NAME=bamview.jar +JAR_FILE=$APPLICATION_HOME/$JAR_NAME # # Use a custom Java version if necessary @@ -70,7 +65,7 @@ add_proxy_properties # if [[ "$ARTEMIS_JVM_FLAGS" = "" ]] then - FLAGS="-mx1g -ms100m -noverify" + FLAGS="-mx2g -ms100m -noverify" else FLAGS="$ARTEMIS_JVM_FLAGS -noverify" fi @@ -86,5 +81,21 @@ then echo "Starting BamView with arguments: $FLAGS $APPLICATION_PROPERTIES $*" fi -$JAVA $FLAGS $APPLICATION_PROPERTIES uk.ac.sanger.artemis.components.alignment.BamView $* -exit $? +if [[ -e $JAR_FILE ]] +then + $JAVA $FLAGS $APPLICATION_PROPERTIES -jar $JAR_FILE $* + result=$? +else + CLASSPATH=$APPLICATION_HOME:$APPLICATION_HOME/lib/biojava.jar:$APPLICATION_HOME/lib/jemAlign.jar:$APPLICATION_HOME/lib/jakarta-regexp-1.2.jar:$APPLICATION_HOME/lib/postgresql-8.4-701.jdbc3.jar:$CLASSPATH + CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/batik/batik-awt-util.jar:$APPLICATION_HOME/lib/batik/batik-dom.jar:$APPLICATION_HOME/lib/batik/batik-ext.jar:$APPLICATION_HOME/lib/batik/batik-svggen.jar:$APPLICATION_HOME/lib/batik/batik-util.jar:$APPLICATION_HOME/lib/batik/batik-xml.jar:$APPLICATION_HOME/lib/batik/batik-codec.jar + CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/j2ssh/commons-logging.jar:$APPLICATION_HOME/lib/j2ssh/j2ssh-core.jar:$APPLICATION_HOME/lib/j2ssh/ + CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/ibatis/ibatis-2.3.4.726.jar:$APPLICATION_HOME/lib/ibatis/:$APPLICATION_HOME/lib/ibatis/log4j-1.2.14.jar:$APPLICATION_HOME/lib/ibatis/cglib-nodep-2.2.jar + CLASSPATH=$APPLICATION_HOME/lib/picard/picard.jar:$APPLICATION_HOME/lib/commons-net-3.6.jar:$CLASSPATH + CLASSPATH=$APPLICATION_HOME/lib/commons-lang-2.6.jar:$CLASSPATH + export CLASSPATH + + $JAVA $FLAGS $APPLICATION_PROPERTIES uk.ac.sanger.artemis.components.alignment.BamView $* + result=$? +fi + +exit $result diff --git a/dnaplotter b/dnaplotter index b5ef64607a770523ce57e78065f608d875438190..c3084d697a29cf7f7a682f9ffa58ea1c586a3721 100755 --- a/dnaplotter +++ b/dnaplotter @@ -77,13 +77,8 @@ do done APPLICATION_HOME=`dirname "$PRG"` -CLASSPATH=$APPLICATION_HOME:$APPLICATION_HOME/lib/biojava.jar:$APPLICATION_HOME/lib/jemAlign.jar:$APPLICATION_HOME/lib/jakarta-regexp-1.2.jar:$APPLICATION_HOME/lib/postgresql-8.4-701.jdbc3.jar:$CLASSPATH -CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/j2ssh/commons-logging.jar:$APPLICATION_HOME/lib/j2ssh/j2ssh-core.jar:$APPLICATION_HOME/lib/j2ssh/ -CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/ibatis/ibatis-2.3.4.726.jar:$APPLICATION_HOME/lib/ibatis/:$APPLICATION_HOME/lib/ibatis/log4j-1.2.14.jar:$APPLICATION_HOME/lib/ibatis/cglib-nodep-2.2.jar -CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/batik/batik-awt-util.jar:$APPLICATION_HOME/lib/batik/batik-dom.jar:$APPLICATION_HOME/lib/batik/batik-ext.jar:$APPLICATION_HOME/lib/batik/batik-svggen.jar:$APPLICATION_HOME/lib/batik/batik-util.jar:$APPLICATION_HOME/lib/batik/batik-xml.jar -CLASSPATH=$APPLICATION_HOME/lib/picard/picard.jar:$APPLICATION_HOME/lib/commons-net-3.6.jar:$CLASSPATH -CLASSPATH=$APPLICATION_HOME/lib/commons-lang-2.6.jar:$CLASSPATH -export CLASSPATH +JAR_NAME=dnaplotter.jar +JAR_FILE=$APPLICATION_HOME/$JAR_NAME # # Use a custom Java version if necessary @@ -107,7 +102,7 @@ add_proxy_properties # if [[ "$ARTEMIS_JVM_FLAGS" = "" ]] then - FLAGS="-mx1g -ms100m -noverify" + FLAGS="-mx2g -ms100m -noverify" else FLAGS="$ARTEMIS_JVM_FLAGS -noverify" fi @@ -123,5 +118,23 @@ then echo "Starting DNA Plotter with arguments: $FLAGS $APPLICATION_PROPERTIES $TEMPLATE_FILE_ARG" fi -$JAVA $FLAGS $APPLICATION_PROPERTIES uk.ac.sanger.artemis.circular.DNADraw $TEMPLATE_FILE_ARG +if [[ -e $JAR_FILE ]] +then + $JAVA $FLAGS $APPLICATION_PROPERTIES -jar $JAR_FILE $TEMPLATE_FILE_ARG + result=$? +else + CLASSPATH=$APPLICATION_HOME:$APPLICATION_HOME/lib/biojava.jar:$APPLICATION_HOME/lib/jemAlign.jar:$APPLICATION_HOME/lib/jakarta-regexp-1.2.jar:$APPLICATION_HOME/lib/postgresql-8.4-701.jdbc3.jar:$CLASSPATH + CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/j2ssh/commons-logging.jar:$APPLICATION_HOME/lib/j2ssh/j2ssh-core.jar:$APPLICATION_HOME/lib/j2ssh/ + CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/ibatis/ibatis-2.3.4.726.jar:$APPLICATION_HOME/lib/ibatis/:$APPLICATION_HOME/lib/ibatis/log4j-1.2.14.jar:$APPLICATION_HOME/lib/ibatis/cglib-nodep-2.2.jar + CLASSPATH=$CLASSPATH:$APPLICATION_HOME/lib/batik/batik-awt-util.jar:$APPLICATION_HOME/lib/batik/batik-dom.jar:$APPLICATION_HOME/lib/batik/batik-ext.jar:$APPLICATION_HOME/lib/batik/batik-svggen.jar:$APPLICATION_HOME/lib/batik/batik-util.jar:$APPLICATION_HOME/lib/batik/batik-xml.jar + CLASSPATH=$APPLICATION_HOME/lib/picard/picard.jar:$APPLICATION_HOME/lib/commons-net-3.6.jar:$CLASSPATH + CLASSPATH=$APPLICATION_HOME/lib/commons-lang-2.6.jar:$CLASSPATH + export CLASSPATH + + $JAVA $FLAGS $APPLICATION_PROPERTIES uk.ac.sanger.artemis.circular.DNADraw $TEMPLATE_FILE_ARG + result=$? +fi + +exit $result + exit $? diff --git a/uk/ac/sanger/artemis/components/alignment/BamView.java b/uk/ac/sanger/artemis/components/alignment/BamView.java index 132c1f4f4fe86a4fbddc3da3cc5d2a8e1d258dd8..5c4321ee2f95c8df9941c31a6dfab06e0a26b32a 100644 --- a/uk/ac/sanger/artemis/components/alignment/BamView.java +++ b/uk/ac/sanger/artemis/components/alignment/BamView.java @@ -346,7 +346,7 @@ public class BamView extends JPanel } } - doInputFileValidation = Options.getOptions().getPropertyTruthValue("bamview_perform_file_validation"); + doInputFileValidation = Options.getOptions().getPropertyTruthValue("bamview_perform_detailed_validation"); logger4j.debug("PERFORM UP-FRONT INPUT FILE VALIDATION=" + doInputFileValidation); if(Options.getOptions().getIntegerProperty("bam_read_thread") != null)