diff --git a/INSTALL b/INSTALL index 02404781e23b1e5bdbd011a8e91a747e66651aa3..a3e2c3cd3b1d9a2979a4b0798e36de5260234c19 100644 --- a/INSTALL +++ b/INSTALL @@ -1,11 +1,10 @@ Installation instructions for UNIX +================================== 1. change to /some/directory - 2. uncompress and untar the artemis_compiled.tar.gz file - On UNIX the command is: gzip -d < artemis_compiled.tar.gz | tar xf - - + On UNIX the command is: tar xzvf artemis_compiled.tar.gz This will create a "artemis" directory containing all the java classes. On Unix the easiest way to run the program is to run the script called art in the @@ -18,7 +17,8 @@ menus. From the File menu you can open a flat file containing an entry. If it reads the entry successfully a new window will open, which shows the sequence and features for the entry. -==================================================================== +Download and Install from GitHub +================================ Installation instructions for GitHub download @@ -30,4 +30,42 @@ Installation instructions for GitHub download 3. Run Artemis: ./art or ACT: - ./act \ No newline at end of file + ./act + +Makefile targets +================ + +make - compile code +make jar - create Artemis (jar_build/artemis.jar) and ACT + (jar_build/act.jar) jar files. +make dist - create a tar ball of the Artemis/ACT distribution + +Creating signed jar files for Artemis/ACT Java Web Start launch +=============================================================== + +Use 'make jar' to create jar_build/artemis.jar. See the following pages +for a description of deploying and signing jar files: + +http://java.sun.com/docs/books/tutorial/deployment/webstart/deploying.html +http://java.sun.com/docs/books/tutorial/deployment/jar/signing.html + +Use the Java keytool to generate a keystore (e.g. artemisstore below) file: + +keytool -genkey -alias signFiles -dname "CN=$NAME, \ + OU=$ORGU, O=$ORG, L=$LOC, S=$STATE, C=$CODE" \ + -keypass $KEYPASS -storepass $STOREPASS -keystore artemisstore -validity $VALID + +The following can be used to view the key store and list entry details: + +keytool -list -v -keystore artemisstore + +Then use the following to create a signed jar to use in the JNLP file: + +jarsigner -keystore artemisstore -storepass $STOREPASS -keypass $KEYPASS \ + -signedjar sartemis.jar artemis.jar signFiles + +Running the test suite +====================== + +cd test +ant -f build-test.xml diff --git a/etc/versions b/etc/versions index 97db435897db12230c946ee112de9e600febb3b6..76416e8b7cdc239744377394db8022b170735e75 100644 --- a/etc/versions +++ b/etc/versions @@ -1,4 +1,4 @@ -Artemis Release 16.0.8 -ACT Release 13.0.8 +Artemis Release 16.0.9 +ACT Release 13.0.9 DNAPlotter Release 1.11 BamView 1.2.13 \ No newline at end of file diff --git a/gff2embl b/gff2embl new file mode 100755 index 0000000000000000000000000000000000000000..6052ebde5d4745652f784dff6d7fd00c8554cc10 --- /dev/null +++ b/gff2embl @@ -0,0 +1,106 @@ +#!/bin/sh - + +# Command line utility for coverting GFF to EMBL +PRG=$0 +progname=`basename $0` + +ARTEMIS_HOME=`dirname "$PRG"`/. + +CLASSPATH=$ARTEMIS_HOME:$ARTEMIS_HOME/lib/biojava.jar:$ARTEMIS_HOME/lib/jemAlign.jar:$ARTEMIS_HOME/lib/jakarta-regexp-1.2.jar:$ARTEMIS_HOME/lib/macos.jar:$ARTEMIS_HOME/lib/postgresql-8.4-701.jdbc3.jar:$ARTEMIS_HOME/lib/chado-14-interface.jar:$CLASSPATH + +# j2ssh jars +CLASSPATH=$CLASSPATH:$ARTEMIS_HOME/lib/j2ssh/commons-logging.jar:$ARTEMIS_HOME/lib/j2ssh/j2ssh-core.jar:$ARTEMIS_HOME/lib/j2ssh/ + +# iBatis jars +CLASSPATH=$CLASSPATH:$ARTEMIS_HOME/lib/ibatis/ibatis-2.3.4.726.jar:$ARTEMIS_HOME/lib/ibatis/:$ARTEMIS_HOME/lib/ibatis/log4j-1.2.14.jar:$ARTEMIS_HOME/lib/ibatis/cglib-nodep-2.2.jar:$ARTEMIS_HOME/lib/retrotranslator-runtime-1.1.0.jar +export CLASSPATH + +# batik jars +CLASSPATH=$CLASSPATH:$ARTEMIS_HOME/lib/batik/batik-awt-util.jar:$ARTEMIS_HOME/lib/batik/batik-dom.jar:$ARTEMIS_HOME/lib/batik/batik-ext.jar:$ARTEMIS_HOME/lib/batik/batik-svggen.jar:$ARTEMIS_HOME/lib/batik/batik-util.jar:$ARTEMIS_HOME/lib/batik/batik-xml.jar + +# picard jars +CLASSPATH=$ARTEMIS_HOME/lib/picard/sam.jar:$ARTEMIS_HOME/lib/picard/picard.jar:$ARTEMIS_HOME/lib/commons-net-2.2.jar:$CLASSPATH +CLASSPATH="$ARTEMIS_HOME/lib/commons-lang-2.6.jar:$CLASSPATH" +export CLASSPATH + +if [ $# = 0 ] +then + : +else + if [ "$1" = "-h" -o "$1" = "--help" -o "$1" = "-help" ] + then + cat <<EOF + +SYNOPSIS + gff2embl +USAGE + $0 [options] <SEQUENCE_FILE> +OPTIONS + SEQUENCE_FILE A GFF3 file + + -s FILE space separated list of GFF files to read and write out + -o OUTPUT_DIR output directory + -f [y/n] flatten the gene model, default is y + -z gzip output, default is y + -a [y|n] for EMBL submission format change to n, default is y +EXAMPLES + % -s /Users/tjc/test.gff -o /Users/tjc +HOMEPAGE + http://www.sanger.ac.uk/resources/software/artemis/ +EOF + exit 0 + fi +fi + +ARTEMIS_PROPERTIES="-Dartemis.environment=UNIX" + +# Allow URLs to work from behind firewalls +if [ "$http_proxy" = "" ] +then + http_proxy=$HTTP_PROXY +fi + +if [ "$http_proxy" = "" ] +then + http_proxy=$HTTP_proxy +fi + +if [ "$http_proxy" != "" ] +then + ARTEMIS_PROPERTIES="$ARTEMIS_PROPERTIES -DproxySet=true "`echo $http_proxy | sed 's/http:\/\/\(.*\):\(.*\)/ -Dhttp.proxyHost=\1 -Dhttp.proxyPort=\2/'` +fi + + +# "-mx500m" sets the maximum amount of memory that Artemis can use. This may +# need to be increased when dealing with large files +MEM="-mx500m -ms20m" + +if [ "$JVM_FLAGS" = "" ] +then + FLAGS="$MEM -noverify" +else + FLAGS="$MEM -noverify $JVM_FLAGS" +fi + + +FLAGS=$FAST_FLAG$FLAGS + +if [ "$JAVA_VM" = "" ] +then + if [ "$DEBUG" = yes ] + then + JAVA=java_g + else + JAVA=java + fi +else + JAVA=$JAVA_VM +fi + +PLATTMP=`uname` +if [ "$PLATTMP" = "Darwin" ] +then + FLAGS="$FLAGS -Dapple.laf.useScreenMenuBar=true -Dcom.apple.mrj.application.apple.menu.about.name=Circular Plot" +fi + +$JAVA $MEM uk.ac.sanger.artemis.io.GffToEMBL $* diff --git a/uk/ac/sanger/artemis/io/DocumentEntryFactory.java b/uk/ac/sanger/artemis/io/DocumentEntryFactory.java index f530a0863f4df5fc36c3d39f742f54e27fa8c884..a83b7b2359604ca4111527317d34ad733622dd3b 100644 --- a/uk/ac/sanger/artemis/io/DocumentEntryFactory.java +++ b/uk/ac/sanger/artemis/io/DocumentEntryFactory.java @@ -31,6 +31,8 @@ import uk.ac.sanger.artemis.util.LinePushBackReader; import java.io.File; import java.io.IOException; +import javax.swing.JOptionPane; + /** * This class contains the method makeDocumentEntry (), which creates a @@ -79,7 +81,18 @@ abstract public class DocumentEntryFactory document.getInputStream() instanceof net.sf.samtools.util.BlockCompressedInputStream) { if(IndexedGFFDocumentEntry.isIndexed( ((File)document.getLocation()) )) - return new IndexedGFFDocumentEntry(document); + { + Object[] possibleValues = { "Use index", "Ignore index" }; + int sel = JOptionPane.showOptionDialog(null, + "Use the GFF index file (to increase the performance)\n"+ + "or concatenate the sequences together?", + "Indexed GFF", + JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, + null, possibleValues, possibleValues[0]); + + if(sel == 0) + return new IndexedGFFDocumentEntry(document); + } } final LinePushBackReader document_reader = diff --git a/uk/ac/sanger/artemis/io/GffToEMBL.java b/uk/ac/sanger/artemis/io/GffToEMBL.java index 838247b4070baff732578d4cca8edf6ef40bb967..cb62d117cff8b7784d54d51d1bc9d0963dc3a3eb 100644 --- a/uk/ac/sanger/artemis/io/GffToEMBL.java +++ b/uk/ac/sanger/artemis/io/GffToEMBL.java @@ -224,7 +224,7 @@ class GffToEMBL (args == null || args.length < 1)) { System.out.println("-h\tshow help"); - System.out.println("-s\tspace separated list of sequences to read and write out"); + System.out.println("-s\tspace separated list of GFF files to read and write out"); System.out.println("-o\toutput directory"); System.out.println("-f\t[y|n] flatten the gene model, default is y"); System.out.println("-z\t[y|n] gzip output, default is y");