Skip to content
Commits on Source (13)
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="ant-build|cobertura-lib|coverage-report|data|docs|evosuite-dependencies|evosuite-libs|evosuite-tests|jacoco-lib|lib|evosuite-tests/" including="uk/**" kind="src" output="eclipse-classes" path="test"/>
<classpathentry including="uk/**" kind="src" output="eclipse-classes" path="test/evosuite-tests"/>
<classpathentry excluding="main/" kind="src" path="ant-build/src"/>
<classpathentry excluding="ant-build/classes/|ant-build/src/|docs|test|test/evosuite-tests/|uk/ac/sanger/artemis/ExternalProgramUtils.java" including="org/|uk/" kind="src" path=""/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="lib/jemAlign.jar"/>
<classpathentry kind="lib" path="lib/jakarta-regexp-1.2.jar"/>
<classpathentry kind="lib" path="lib/biojava.jar"/>
<classpathentry kind="lib" path="lib/j2ssh/j2ssh-core.jar"/>
<classpathentry kind="lib" path="lib/j2ssh/j2ssh-artemis-plugin.jar"/>
<classpathentry kind="lib" path="lib/j2ssh/commons-logging.jar"/>
<classpathentry kind="lib" path="lib/ibatis/ibatis-2.3.4.726.jar"/>
<classpathentry kind="lib" path="lib/ibatis/log4j-1.2.14.jar"/>
<classpathentry kind="lib" path="lib/postgresql-8.4-701.jdbc3.jar"/>
<classpathentry kind="lib" path="lib/batik/batik-awt-util.jar"/>
<classpathentry kind="lib" path="lib/batik/batik-codec.jar"/>
<classpathentry kind="lib" path="lib/batik/batik-dom.jar"/>
<classpathentry kind="lib" path="lib/batik/batik-ext.jar"/>
<classpathentry kind="lib" path="lib/batik/batik-svggen.jar"/>
<classpathentry kind="lib" path="lib/batik/batik-util.jar"/>
<classpathentry kind="lib" path="lib/batik/batik-xml.jar"/>
<classpathentry kind="lib" path="lib/commons-lang-2.6.jar"/>
<classpathentry kind="lib" path="test/lib/junit-4.11.jar"/>
<classpathentry kind="lib" path="/Users/kp11/workspace/applications/Artemis/eclipse-classes"/>
<classpathentry kind="lib" path="test/evosuite-lib/evosuite-1.0.5.jar"/>
<classpathentry kind="lib" path="lib/commons-net-3.6.jar"/>
<classpathentry kind="lib" path="lib/picard/picard.jar"/>
<classpathentry kind="output" path="eclipse-classes"/>
<classpathentry excluding="data/**" kind="src" output="eclipse-classes" path="test"/>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="test" value="true"/>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="test" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src/assembly"/>
<classpathentry kind="src" path="src/site"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
<attributes>
<attribute name="module" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/evosuite">
<attributes>
<attribute name="test" value="true"/>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
*.class
.settings
ant-build
test/ant-build
**/.DS_Store
**/*.log
test/coverage-report
jar_build
tar_build
artemis_compiled.tar
/eclipse-classes/
/test-kjp/
......@@ -10,8 +10,14 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
language: java
jdk:
- openjdk8
- oraclejdk8
sudo: false
env:
global:
- BUILD_CMD='make'
- RUN_TESTS=false
- BUILD_CMD='mvn -Dskip.tests=true clean package'
- RUN_TESTS=true
sudo: true
matrix:
include:
- jdk: oraclejdk8
- jdk: oraclejdk9
env:
- BUILD_CMD='ant -f build.xml'
- RUN_TESTS=true
- TEST_EXCLUDES="**/*_ESTest*"
- jdk: openjdk9
env:
- TEST_EXCLUDES="**/*_ESTest*"
- jdk: openjdk11
env:
- TEST_EXCLUDES="**/*_ESTest*"
cache:
directories:
- "${HOME}/dependencies"
- "${HOME}/.m2"
before_install:
- "export CASHER_TIME_OUT=300"
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- "source install_dependencies.sh"
- mvn validate
install:
- "$BUILD_CMD"
script:
- if [ "$RUN_TESTS" == "true" ]; then
cd test;
ln -s $(pwd)/../etc/log4j.properties .;
./RunDefaultUnitTests.sh | tee test.log && [ -z "$(grep 'Failures:\s[^0]\|Errors:\s[^0]' test.log)" ];
./RunTravisTests.sh -e "$TEST_EXCLUDES" | tee test.log && [ -z "$(grep 'Failures:\s[^0]\|Errors:\s[^0]' test.log)" ];
fi
\ No newline at end of file
Tim Carver (path-help@sanger.ac.uk)
Sascha Steinbiss (path-help@sanger.ac.uk)
Kim Rutherford (path-help@sanger.ac.uk)
Kevin Pepper (path-help@sanger.ac.uk)
Tim Carver
Sascha Steinbiss
Kim Rutherford
Kevin Pepper (artemis-help@sanger.ac.uk)
This diff is collapsed.
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 -
1) Improved mouse selection of reads.
2) Fixed exceptions thrown when zooming into an area with secondary reads or SNPs enabled - RT ticket #596489: Problem zooming in using isoseq data
3) Removed Samtools (htsjdk) jar and updated Picard jar (which includes htsjdk).
4) Upgraded Apache Commons Net jar - used for ftp'ing.
5) Added Cram file loading and fixed defects around that code area (also related RT ticket #560982: Artemis fails to build from source).
6) Added display of bam secondary & supplementary alignment flags to read details pop-up window.
7) Improved error handling/reporting, although this still needs more work.
8) Added buffer sizing to FTPSeekableStream.
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
- 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 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.
Fixed RT ticket #606061 - Using EBI-Dbfetch on ARTEMIS. Change to DbfetchEntrySource.java due to incorrect regular expression and EBI URL.
Resized splash screen, as it was too small to the accommodate text info.
Updated splash screen logo.
Added error handling for dnaplotter template file loading in standalone mode.
Bioconda recipe prep work - RT ticket #341139.
Fixed RT ticket #467433 - Genbank DBSOURCE field was not recognised by Artemis. DBLINK was already added.
Fixed RT ticket #503254 - Act doesn't detect if file does not exist.
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
features that are contained by a selected base range.
Saving an entry as EMBL submission has an option now to remove products
from CDS features with a pseudogene qualifier.
From the 'View' menu added 'Adjust panel heights...' option in ACT
for adjusting their heights (BAM, VCF, plots, comparisons) by giving
them different weights in order to distribute the space between each
component.
Added ability to hide graph lines. Right click on the graph to get the
popup menu and select 'Configure...'. Then use the 'Line size' slider
to reduce the size of the line(s) that you want to hide to zero.
Labels can optionally be added to the header of base position plots
and these are used in the legend, e.g.
# colour 5:150:55 255:0:0 0:255:0 0:0:255 100:100:100 50:150:50
# label lab1 lab2 lab3 lab4 lab5 lab6
176 2204.8 848.23 0 0 0 536.04
...
In the Feature Editor there is now a button ('User Qualifiers') which
opens a tool for maintaining user defined lists of qualifiers (i.e.
qualifiers in the form tag = value pairs on separate lines) and the
option to read qualifiers from OBO formatted files or URLs. These can
be saved between sessions in the file '.artemis.qualifiers' in the
home directory.
Automatic addition of history qualifier in chado database mode.
Added RNASeq strand specific option to the BAM popup menu ('Colour By' ->
'RNASeq Strand Specific Tag (XS)'). Reads colours are based on the XS
tag (used by TopHat). The RNA strand is then used in the coverage plots
and in calculation of read counts and RPKM values.
Added the following flags:
-Dshow_snps Show SNP marks in BamView
-Dshow_snp_plot Open SNP plot in BamView
-Dshow_cov_plot Open coverage plot in BamView
Add validation checks. This will check the following:
All file types:
- CDS have no internal stop codon
- CDS have valid stop codon
GFF / Chado:
- check complete gene model
- check boundaries are valid
- check all features are on the same strand
- check CDS features have a phase
- check attribute column
- qualifiers have a value (not empty)
- only reserved tags start with uppercase
Validation can be run in two ways:
1. using the option in View->Feature Filters->Validation checks... which shows
'failed' features in feature list windows
2. selecting 'Validation report ...' option in the popup menu when right clicking
on the feature display. This produces a report with an option to auto-fix gene
boundaries and stop codons.
Version 15
Multiple BAM panels can be opened using the bamClone flag this is used with
the -Dbam flag:
art -Dbam='/pathToFile/file1.bam,/pathToFile/file2.bam' -DbamClone=n
(where n is an integer greater than 1). All BAM files are then shown in each
panel. Alternatively the following will open BAM files in separate panels
(using -Dbam[1,2,3...]):
art -Dbam1=fileA.bam -Dbam2=fileB.bam
Add SVG (scalable vector graphics) support for Artemis, ACT and DNAPlotter.
Option added to adjust VCF row height.
Add support for indexed user graphs using tabix. For example file.plot is a tab
delimited file with column 1 containing the sequence name and column 2 the
positions:
(grep ^"#" file.plot; grep -v ^"#" file.plot | sort -k1,1 -k2,2n) | bgzip > sorted.plot.gz ;
tabix -s 1 -b 2 -e 2 sorted.plot.gz
Option added to show or hide the average line in the graphs.
BAM coverage heatmap view added.
Add Rfam sequence search from the RUN menu.
Base similarity graph for each VCF added to the VCF view.
Sense and anti-sense read counts and RPKM values are now reported.
Option added to create features from BAM peaks, i.e. above a threshold of the
number aligned reads.
Option included for defining groups of BAM files so that they can be
switched on and off by their group.
Coverage plots from read alignments (BAM) can be plotted by their strand.
Addition of a Project File Manager used to group files together for
launching in Artemis. When a project has been added or updated the details
are saved at the end of each session in '.artemis.project.properties'
in the user's home directory.
Fix for saving user defined shortcuts between sessions on windows.
Add preliminary support for the CRAM format:
http://www.ebi.ac.uk/ena/about/cram_toolkit
This requires the cramtools.jar to be added to the start of the CLASSPATH.
Improved support for matching GFF feature coordinates to the correct
contig in a multiple FASTA sequences. This works now whether
the sequence is part of the GFF file or a separate multiple-FASTA file.
Add 'Feature Stack View' to visualise overlapping gene features.
Add support for read-only indexed GFF. Features in GFF format are
sorted and indexed with tabix:
http://samtools.sourceforge.net/tabix.shtml
Version 14
Add options in the navigator for searching the forward and
reverse strands individually for base / amino acid patterns.
Add an option to the navigator for searching for matches that
overlap a selected region or feature.
New translation table 24 (Pterobranchia mitochondrial) added.
If the BAM index file is missing then Artemis uses the picard library to
attempt to create the index.
Variant (VCF / BCF) filtering now uses the meta-data in the header to
enable filtering based on INFO, FILTER and FORMAT columns.
Shortcut changes made in the 'Preferences' menu are saved between sessions (the
shortcut_cache flag in the options file can be used to turn this on/off).
More support for GTF format to show CDS and exons as joined features.
BAM record list option added to display as a list the reads and their
properties.
Add options for loading graph, BAM and VCF files into ACT from the
command line. Numbers are used to associate the file with a particular
sequence. e.g. add a BAM to the first (top) sequence in ACT:
act -Dbam1=/pathToFile/file.bam
or, to add a userplot to the second sequence:
act -Duserplot2=/pathToFile/userPlot
Version 13.2.0
Added option to provide overview of the variation sites.
Change BamView filter to enable filtering in and out based on
reads flag.
Add read count and RPKM calculations to BamView.
Add option in BamView to clone the alignment panel.
Create features option for VCF records.
Unit tests added for writing VCF/BCF sequences.
Add new Coverage view to BamView. It automatically switches to this view
on zooming out.
Add options to write out or view FASTA sequences from VCF/BVF variation
data.
Version 13
Add support for reading in indexed BCF (Binary VCF) files.
Memory optimisation of codon caching, reducing the memory footprint.
It is now possible to add BAM, VCF and BCF files from the command line using the
JVM bam option, e.g. art -Dbam=/pathToFile/file.bam
and for multiple BAM's/VCF's this is comma separated
art -Dbam='/pathToFile/file1.bam,/pathToFile/file2.bam', it
can also read the BAM's from URL's.
Added option to display orientation of reads in BamView.
In Bamview, display reads that are split over introns so that the exon boundaries can
be identified by colouring the line between the aligned blocks grey.
Add VCF panel to ACT.
Support added to read indexed fasta sequence files. An index file is created
using SAMtools.
Add support for VCF v3.3 and v4.0.
Add option to show combined coverage plots for multiple BAMs.
Add show_forward_lines and show_reverse_lines as options for switching
frame lines on and off.
Add an option to delete qualifiers in the Find/Replace tool.
Artemis can read in a set of zipped search results (e.g. blastp/blastp.zip).
Add BamView panel to ACT.
Fix for writing EMBL files out from GFF entries.
An option has been added in BamView to colour reads by the colour
used in the coverage plot - useful when looking at multiple BAM files.
Plot multiple coverage plots in BamView when multiple BAM files are
loaded in.
Version 12
It is now possible to add user plots from the command line using the
JVM userplot option, e.g. art -Duserplot=/pathToFile/userPlot
and for multiple plots this is comma separated
art -Duserplot='/pathToFile/userPlot1,/pathToFile/userPlot2', it
can also read the plots from URL's.
Added support to be able to read BAM files to display read alignments.
It uses picard (http://picard.sourceforge.net/) to read from the BAM file
and so requires Artemis to be run with Java 1.6.
All graphs can now be configured to be plotted as line graphs
or heat maps.
Added support for BLAST tabular format (-m 8 option) and MSPcrunch
format to plot scores.
Added support for wiggle (variableStep/fixedStep) plots that can be
displayed as histograms or heat maps.
Added a new user plot file format with the first column specifying
a base position.
More configure options have been added to the graphs to enable
configuration of the graph line style and size.
GoTo directory option added to file manager to assist navigation.
The database manager is cached between sessions (this can is on by default
and can be switched off with -Ddatabase_manager_cache_off). There is an
option under the File menu to clear this cache.
A checkbox has been added to the window for adding ortholog/paralog links
in the Gene Builder. If this is selected it adds links between existing
ortholog/paralogs and the new ortholog/paralog. By default this is off.
An option has been added to the database manager to display polypeptide
domains in the feature display (as well as the protein map in the Gene
Builder).
An option has been added to the Run menu for doing a search of the Pfam
database.
Added an option to the Write menu for writing a combination of upstream
+ feature + downstream bases for selected features.
Option added in the View->Filter Features menu to search for Duplicate
Systematic Name Qualifier.
LookSeq analysis panel can be displayed by setting the lookseq
value in the options file. An option under the Display menu then
is used to shows the LookSeq read alignment panel in Artemis.
Added options to set the minimum and maximum values of the plots.
Transfer Annotation Tool (TAT) added to feature editor and Gene
Builder.
New graph popup menu option to show the values and average for
a selected range.
Added product_cv database option to define if the product is
stored as a controlled vocabulary or as a feature property (featureprop).
Version 11
Use black_belt_mode to suppress warnings when opening Artemis.
Script (writedb_entry) added to make it easier to write out
multiple entries as EMBL / GFF files from chado. This uses Artemis
read-write libraries and does not require each sequence to be
launched from the database. For command line help run:
etc/writedb_entry -help
On MacOSX - enable dropping files on Artemis application to open sequences
with file extensions: gff, embl, EMBL, genbank, gbk, fasta, seq, art and
dna (defined in Artemis.app/Contents/Info.plist).
Add NCBI search link to run menu. This transfers the sequence automatically
to the NCBI web page.
Add support for writing Sequin table format.
Added print to PostScript option in Artemis and ACT.
Optimisation of reading in user graphs.
New Edit->Selected Feature(s)->Convert Keys option to convert
keys of selected features.
New Edit menu option for finding and replacing qualifier text. This
has an option for boolean searches (e.g. and, or, &, |) of qualifier
text. This includes an option to search for duplicate qualifiers.
Implemented a commit manager for the database mode. This
highlights transactions that produce an error.
Make the chado transaction log messages more human readable.
Add ability to write file formats from Artemis in database mode.
With option to collapse the gene hierarchy (gene, transcript, exon)
into a CDS feature.
Graphs are now added to a split pane. So that their size can be
defined by dragging the divider at the bottom of the graphs.
Provide option to log transform user data plot.
Improved error reporting for contig reordering.
Fix for creating intergenic features for overlapping CDS's. Also
add note based on which one of the 4 cases with respect to the
flanking CDS it belongs to, i.e.:
IGR-F (forward): cds> IGR cds>
IGR-R (reverse): <cds IGR <cds
IGR-B (both): <cds IGR cds>
IGR-X: cds> IGR <cds
Add option to preferences for defining contig ordering features.
Added option to "Create features from graph peaks". For a graph
this creates features in regions above a given cut-off and above
a given feature size.
Add -Dread_only option for read only databases.
Add option to lazy load feature data from database.
Version 10
Add redo function to 'Edit' menu. Also enable/disable undo and
redo menu items when available/not available.
Add option to replace selected bases in 'Edit' menu.
Option to create features in intergenic regions added.
Feature editor now marks hyperlinks to SWALL, EMBL, UniProt,
PMID, PubMed, InterPro, OrthoMCLDB, Pfam that are opened in
the browser. Now configured in the options file.
Added "Convert Qualifier of Selected..." option to the Edit menu.
This allows the user to change the names of qualifiers for all
selected features.
Now using new release of j2ssh (0.2.9). This requires Java1.5+.
Implemented option for ORF creation to take into account boundaries
of multiple fasta sequences, so that they do not cross them.
Implemented the ability to run and store fasta and blast search
results for multiple databases... E.g. fasta searches on uniprot
and on user's own database, stored in multiple fasta_file qualifiers.
"Set Score Cutoffs" in Artemis popup menu uses existing /scores as
the initial min and max values (rather than just 0 and 100).
Added cache to store the entries retrieved for the object editor.
Implement log4j logging to be displayed in log viewer. Using colour
coding depending on level of logging.
Added -Doffset so that Artemis can be opened at a given base.
Version 9
Feature selector can be used to look for features with introns
that do no contain the GT/GC start or AG end.
Contig tool now checks for contigs that contain features that
span the boundaries of the contigs. These features have to be
removed or restricted to the contig boundary before it can
carry out contig reordering.
Fix for converting files from other file formats to
genbank format.
Fix rounding problem for long sequences when writting
out all bases in FASTA or raw format.
Cache the start codons (as per stop codon caching),
to speed their display.
Combine the extend to next exon and the fix stop codons
into one option.
The feature types that appear on the frame lines can be defined
by the user via an option ("Frame Line Features...") in the
feature display popup menu.
Added to File -> Preferences a user defined selection for display names
and systematic names. Also extended popup menu option in feature lists
to allow the user to be able to select multiple qualifiers to display.
For entries opened from the remote side of an SSH connection will search
for results on the remote file system if they are not found locally. They
are transferred via SSH and then stored locally.
For Mac users, the option to send search results to the browser will
display the results in the default browser.
When automatically generating gene names (under the Edit menu), the user
can specify the number of zeros to pad the numbering with. e.g if 5 digits are
selected the format will look like : 00001, 00002 etc.
This diff is collapsed.
Installation instructions for UNIX
==================================
1. change to /some/directory
2. uncompress and untar the artemis_compiled.tar.gz file
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
diana directory:
/some/directory/artemis/art
If all goes well you will be presented with a small window with two
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
1. Download:
git clone http://github.com/sanger-pathogens/Artemis.git
2. Compile the code:
cd Artemis
make
3. Run Artemis:
./art
or ACT:
./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
RunDefaultUnitTests.sh - this runs all hand-written unit tests.
RunEvoSuiteUnitTests.sh - this runs all EvoSuite generated unit tests. It will take well over 30 mins to run.
RunAllUnitTests.sh - this runs all hand-written and EvoSuite generated unit tests. It will take well over 30 mins to run.
This software is Copyright (c) 2018 by Wellcome Trust Sanger Institute.
This software is Copyright (c) 2019 by Wellcome Trust Sanger Institute.
This is free software, licensed under:
......
Manifest-Version: 1.0
Main-Class: uk.ac.sanger.artemis.components.ArtemisMain
# This is a GNU Makefile for Artemis
SHELL=/bin/sh
#OPT_FLAGS = -g -deprecation
JAVAC := javac -source 1.8 -target 1.8 $(OPT_FLAGS) $(EXTRA_FLAGS)
REAL_CLASSPATH := CLASSPATH=lib/commons-lang-2.6.jar:lib/biojava.jar:lib/jemAlign.jar:lib/j2ssh/j2ssh-core.jar:lib/ibatis/ibatis-2.3.4.726.jar:lib/ibatis/log4j-1.2.14.jar:lib/postgresql-8.4-701.jdbc3.jar:lib/picard/picard.jar:lib/commons-net-3.6.jar:lib/batik/batik-awt-util.jar:lib/batik/batik-dom.jar:lib/batik/batik-ext.jar:lib/batik/batik-svggen.jar:lib/batik/batik-util.jar:lib/batik/batik-xml.jar:.
ARTEMIS_DIRS = uk/ac/sanger/artemis \
uk/ac/sanger/artemis/chado \
uk/ac/sanger/artemis/circular \
uk/ac/sanger/artemis/circular/digest \
uk/ac/sanger/artemis/components \
uk/ac/sanger/artemis/components/alignment \
uk/ac/sanger/artemis/components/database \
uk/ac/sanger/artemis/components/filetree \
uk/ac/sanger/artemis/components/genebuilder \
uk/ac/sanger/artemis/components/genebuilder/cv \
uk/ac/sanger/artemis/components/genebuilder/gff \
uk/ac/sanger/artemis/components/genebuilder/ortholog \
uk/ac/sanger/artemis/components/variant \
uk/ac/sanger/artemis/components/ref \
uk/ac/sanger/artemis/editor \
uk/ac/sanger/artemis/io \
uk/ac/sanger/artemis/j2ssh \
uk/ac/sanger/artemis/plot \
uk/ac/sanger/artemis/sequence \
uk/ac/sanger/artemis/util
SOURCES := $(foreach DIR,$(ARTEMIS_DIRS),$(wildcard $(DIR)/*.java))
CLASSES := $(SOURCES:%.java=%.class)
all: code
# Utils needs to be built before controller
uk/ac/sanger/artemis/circular/digest/CircularGenomeController.class:uk/ac/sanger/artemis/circular/digest/Utils.class
$(REAL_CLASSPATH) $(JAVAC) $(@:%.class=%.java)
code: $(CLASSES)
topdown:
$(REAL_CLASSPATH) $(JAVAC) uk/ac/sanger/artemis/components/ArtemisMain.java
%.class : %.java
$(REAL_CLASSPATH) $(JAVAC) $<
doc :
$(REAL_CLASSPATH) javadoc -J-mx200m -version \
AppGlobal.java \
uk.ac.sanger.artemis uk.ac.sanger.artemis.components \
uk.ac.sanger.artemis.sequence uk.ac.sanger.artemis.plot \
uk.ac.sanger.artemis.util uk.ac.sanger.artemis.io
manual :
(cd docs; make)
CLASS_FILES := `find org uk -name '*.class' -print`
OTHER_FILES := `find images/Wellcome_Sanger_Institute_Logo_Landscape_Digital_RGB_Full_Colour.jpg images/icon.gif README.md`
dist :
rm -rf artemis_compiled.tar.gz tar_build
mkdir tar_build
mkdir tar_build/artemis
tar cf - $(OTHER_FILES) act art dnaplotter bamview setenv Makefile etc | (cd tar_build/artemis; tar xf -)
tar cf - artemis_sqlmap dnaplotter uk org lib | (cd tar_build/artemis; tar xf -)
(cd tar_build; find . -name 'CVS' -print | xargs rm -rf; find . -name '.svn' -print | xargs rm -rf; tar cvf ../artemis_compiled.tar artemis)
jar : all artemis.jar
artemis.jar : $(CLASSES)
mkdir -p jar_build/build
rm -f *.jar
cd jar_build/build; \
for fileJar in ../../lib/*.jar; do \
jar xvf $$fileJar; \
rm -rf META-INF/MANIFEST.MF; \
done; \
for fileJar in ../../lib/j2ssh/*.jar; do \
jar xvf $$fileJar; \
rm -rf META-INF/MANIFEST.MF; \
done; \
for fileJar in ../../lib/ibatis/*.jar; do \
jar xvf $$fileJar; \
rm -rf META-INF/MANIFEST.MF; \
done; \
for fileJar in ../../lib/batik/*.jar; do \
jar xvf $$fileJar; \
rm -rf META-INF/MANIFEST.MF; \
done; \
for fileJar in ../../lib/picard/*.jar; do \
jar xvf $$fileJar; \
rm -rf META-INF/MANIFEST.MF; \
done; \
cp -R ../../lib/LICENSE.* ../../uk ../../org ../../etc ../../images ../../lib/j2ssh/j2ssh.properties \
../../images/Wellcome_Sanger_Institute_Logo_Landscape_Digital_RGB_Full_Colour.jpg ../../images/icon.gif ../../README.md ../../artemis_sqlmap .
find jar_build/build -name '*.java' -print | xargs rm -f
find jar_build/build -name '.svn' -print | xargs rm -rf
find jar_build/build -name '*.DS_Store' -print | xargs rm -rf
cd jar_build/build; \
rm -rf META-INF/MANIFEST.MF; \
echo "Main-Class: uk.ac.sanger.artemis.components.ArtemisMain\nPermissions: all-permissions" > manifest-art; \
jar cmf manifest-art ../artemis.jar META-INF/services images/Wellcome_Sanger_Institute_Logo_Landscape_Digital_RGB_Full_Colour.jpg images/icon.gif README.md etc \
artemis_sqlmap org uk com net htsjdk picard gov joptsimple ngs freemarker LICENSE.Apache LICENSE.Picard LICENSE.JDBC LICENSE j2ssh.properties; \
echo "Main-Class: uk.ac.sanger.artemis.circular.DNADraw\nPermissions: all-permissions" > manifest-circular; \
jar cmf manifest-circular ../DNAPlotter.jar images/Wellcome_Sanger_Institute_Logo_Landscape_Digital_RGB_Full_Colour.jpg README.md etc \
org uk com net htsjdk picard gov joptsimple ngs freemarker LICENSE.Apache LICENSE.Picard LICENSE.JDBC LICENSE j2ssh.properties; \
echo "Main-Class: uk.ac.sanger.artemis.components.alignment.BamView\nPermissions: all-permissions" > manifest-bamview; \
jar cmf manifest-bamview ../bamview.jar META-INF/services etc org uk com net htsjdk picard gov joptsimple ngs freemarker LICENSE.Apache LICENSE.Picard LICENSE.JDBC LICENSE; \
echo "Main-Class: uk.ac.sanger.artemis.components.ActMain\nPermissions: all-permissions" > manifest-act; \
jar cmf manifest-act ../act.jar META-INF/services images/Wellcome_Sanger_Institute_Logo_Landscape_Digital_RGB_Full_Colour.jpg images/icon.gif README.md etc \
artemis_sqlmap org uk com net htsjdk picard gov joptsimple ngs freemarker LICENSE.Apache LICENSE.Picard LICENSE.JDBC LICENSE j2ssh.properties; \
rm -rf jar_build/build;
clean :
-rm -rf *.html artemis.jar resources uk/ac/sanger/jcon/ jar_build tar_build artemis_compiled.tar
-rm -rf TAGS* *.o
-find . -name '*.class' -print | xargs rm -f
# INTRODUCTION
# The Artemis Software
The Artemis Software is a set of software tools for genome browsing and annotation.
[![Build Status](https://travis-ci.org/sanger-pathogens/Artemis.svg?branch=master)](https://travis-ci.org/sanger-pathogens/Artemis)
[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-brightgreen.svg)](https://github.com/sanger-pathogens/Artemis/blob/master/LICENSE)
[![status](https://img.shields.io/badge/Bioinformatics-10.1093%2Fbioinformatics%2F16.10.944-brightgreen.svg)](https://doi.org/10.1093/bioinformatics/16.10.944)
[![status](https://img.shields.io/badge/Bioinformatics-10.1093%2Fbioinformatics%2Fbtr703-brightgreen.svg)](https://doi.org/10.1093/bioinformatics/btr703)
[![status](https://img.shields.io/badge/Bioinformatics-10.1093%2Fbioinformatics%2Fbtn529-brightgreen.svg)](https://doi.org/10.1093/bioinformatics/btn529)
[![status](https://img.shields.io/badge/BIB-10.1093%2Fbib%2F4.2.124-brightgreen.svg)](https://doi.org/10.1093/bib/4.2.124)
[![status](https://img.shields.io/badge/Bioinformatics-10.1093%2Fbioinformatics%2Fbti553-brightgreen.svg)](https://doi.org/10.1093/bioinformatics/bti553)
[![status](https://img.shields.io/badge/BIB-10.1093%2Fbib%2Fbbr073-brightgreen.svg)](https://doi.org/10.1093/bib/bbr073)
[![status](https://img.shields.io/badge/Bioinformatics-10.1093%2Fbioinformatics%2Fbtq010-brightgreen.svg)](https://doi.org/10.1093/bioinformatics/btq010)
[![status](https://img.shields.io/badge/Bioinformatics-10.1093%2Fbioinformatics%2Fbtn578-brightgreen.svg)](https://doi.org/10.1093/bioinformatics/btn578)
Artemis is a free genome browser and annotation tool that allows visualisation
of sequence features, next generation data and the results of analyses within
the context of the sequence, and also its six-frame translation. Artemis is written
in Java, and is available for UNIX, Macintosh and Windows systems. It can read
EMBL and GENBANK database entries or sequence in FASTA, indexed FASTA or raw format.
Other sequence features can be in EMBL, GENBANK or GFF format.
## Contents
* [Introduction](#introduction)
* [Installation](#installation)
* [Usage](#usage)
* [Building](#building)
* [License](#license)
* [Documentation](#documentation)
ACT is a free tool for displaying pairwise comparisons between two or more DNA
sequences. It can be used to identify and analyse regions of similarity and
difference between genomes and to explore conservation of synteny, in the context
of the entire sequences and their annotation.
## Introduction
The Artemis Software includes:
* Artemis
* ACT
* BamView
* DNAPlotter
# DOCUMENTATION
Artemis is a free genome browser and annotation tool that allows visualisation of sequence features, next generation data and the results of analyses within the context of the sequence, and also its six-frame translation. Artemis is written in Java, and is available for UNIX, Macintosh and Windows systems. It can read EMBL and GENBANK database entries or sequence in FASTA, indexed FASTA or raw format. Other sequence features can be in EMBL, GENBANK or GFF format.
The Artemis user manual is at:
http://www.sanger.ac.uk/science/tools/artemis
ACT is a free tool for displaying pairwise comparisons between two or more DNA sequences. It can be used to identify and analyse regions of similarity and difference between genomes and to explore conservation of synteny, in the context of the entire sequences and their annotation.
The ACT user manual is at:
http://www.sanger.ac.uk/science/tools/artemis-comparison-tool-act
DNAPlotter generates images of circular and linear DNA maps.
BamView is a standalone BAM/CRAM file viewer.
For further information and details on how to download the Artemis software, please see the [Artemis GitHub page](http://sanger-pathogens.github.io/Artemis/)
## Prerequisites
Java 9+ must be installed. Ideally Java 11.
## Installation
Please refer to the relevant documentation in the Documentation section below.
## Usage
Please refer to the relevant documentation in the Documentation section below.
## Building
If you would prefer to build the applications from scratch rather than use the pre-built releases, then you will firstly need the source code from GitHub. This can be obtained by cloning the repository:
```
git clone https://github.com/sanger-pathogens/Artemis.git
```
or by downloading the source zip file for a particular release. The latest version of Apache Maven (Java 11 compatible, e.g. v3.6.0) will need to be installed beforehand, in order to build. The application jars can be built by issuing the following commands in the top-level folder:
When building for the first time:
```
mvn validate
```
This is required to install some legacy libraries to the Maven repository and will be phased out in future releases.
The DNA plotter user manual is at:
http://www.sanger.ac.uk/science/tools/dnaplotter
And then to build/rebuild the applications :
```
mvn clean package
```
Clean is only required if you wish to do a complete rebuild.
If you do not wish to run tests then add the <i>-Dskip.tests=true</i> flag to the above command.
The BAM View user manual is at:
http://www.sanger.ac.uk/science/tools/bamview
Note that if you are running a build from behind a proxy you will need to add the proxy parameters to the mvn command line, e.g.
```
mvn -Dhttps.proxyHost=myproxyhost -Dhttps.proxyPort=myproxyport -DproxySet=true package
```
This will build the application jars and place them in target/jars and win-jars folders. The win-jars jars have the etc folder files bundled in, for Windows.
## Building Release artifacts
To build .zip or .gz installables with unsigned jars, use the following command:
```
mvn -Djarsigner.skip=true clean package -P release
```
If building on a Mac then .app packages and a .dmg image can additionally be produced using:
```
mvn -Djarsigner.skip=true clean package verify -P release
```
The release artifacts can then be found in the target/release-artifacts directory.
# INSTALLATION
Jar signing can be included in the build cycle by <b>not</b> supplying a -Djarsigner.skip flag. A <i>maven.properties</i> file needs to be placed in the top-level Artemis folder containing the following keystore properties:
```
signer-keystore-path=<The path to a .jks keystore>
signer-keystore-alias=<certificate alias name>
signer-keystore-password=<keystore password>
signer-keystore-type=JKS
```
The installation instructions are included in the user manual.
## Searching and Using Local Sequence Databases
Artemis and ACT can optionally be used with local sequence databases on non-Windows systems.
# DISTRIBUTION
[Note: this may require a lot of disk space]
Artemis may be freely distributed under the terms of the GNU Public License,
and should run on any system with a recent version of Java.
If you wish to do this then carry out the following steps:
For information on how to get Artemis see this web page:
http://www.sanger.ac.uk/science/tools/artemis
1. To download and install BLAST+ locally, check here:
```
ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/
```
to get the latest Mac OS X release:
# COPYRIGHT
```
ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.7.1+-x64-macosx.tar.gz
```
Uncompress, if you have downloaded a .tar.gz, e.g.
Copyright (C) 1998-2018 Genome Research Limited
```
tar -zxvf ncbi-blast-2.7.1+-x64-macosx.tar.gz
```
For a Mac OS X install you can mount the resulting .dmg image by double-clicking it and then selecting the .pkg installer file to actually install the BLAST+ executables into the default location (/usr/local/ncbi/blast). Comprehensive installation instructions for all operating systems are provided [here](https://www.ncbi.nlm.nih.gov/books/NBK279690/).
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
2. Ensure that the BLAST+ executables are available in your PATH and that local
databases can be found by Artemis:
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
On the command line type:
```
blastp -help
```
If the executables are not found then their installation bin folder will need to be added to your .profile PATH variable. This can be achieved by uncommenting and setting the relevant environment variables in the **Variables for locally installed Blast databases** section of the Artemis **setenv** script. The location of the databases is assumed by default to be &lt;home directory&gt;/blast-data but this can be overridden by setting the BLASTDB variable (See Blast+ documentation). The setenv script should then be called from your login **.profile** file. Alternatively copy the relevant variables into your profile.
Note that database locations can also be specified directly within the Artemis/ACT applications using the run menu - set options functionality.
4. Download and format the uniprot database(s):
You can do this by using the Artemis etc/setup_uniprot_dbs.sh script. This script can be changed as desired, to for instance, include additional databases.
```
mkdir $HOME/blast-data
cd blast-data
cp <Artemis folder>/etc/setup_blast_dbs.sh .
./setup_blast_dbs.sh
```
(Note: the environment variable http_proxy may need to be set for the ftp downloads to work).
## License
Artemis is free software, licensed under [GPLv3](https://github.com/sanger-pathogens/artemis/blob/master/LICENSE).
For more information on how to download Artemis, please see the [Artemis GitHub page](http://sanger-pathogens.github.io/Artemis/)
## Documentation
The Artemis user manual is at:
http://sanger-pathogens.github.io/Artemis/Artemis/
The ACT user manual is at:
http://sanger-pathogens.github.io/Artemis/ACT/
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
The DNA plotter documentation is at:
http://sanger-pathogens.github.io/Artemis/Artemis/DNAPlotter/
The BAM View documentation is at:
http://sanger-pathogens.github.io/Artemis/Artemis/BamView/
log4j.rootLogger=info,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%p\t%d{ISO8601}\t%r\t%c\t[%t]\t%m%n
log4j.logger.org.evosuite=info, stdout
......@@ -5,7 +5,6 @@
#
QUIET=no
PRG=$0
usage () {
echo "SYNOPSIS"
......@@ -58,17 +57,16 @@ add_proxy_properties() {
}
#
# Resolve links - $0 may be a link
# Resolve script path (inc symlinks)
#
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '.*/.*' > /dev/null; then
PRG="$link"
else
PRG="`dirname $PRG`/$link"
fi
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
APPLICATION_HOME="$( cd -P "$( dirname "$SOURCE" )" && pwd )"; # get final path of this script
# Special Sanger override on chado PGUSER
if [[ "$ARTEMIS_SANGER_DBUSER" != "" ]]
......@@ -95,9 +93,11 @@ do
shift
done
APPLICATION_HOME=`dirname "$PRG"`
JAR_NAME=act.jar
JAR_FILE=$APPLICATION_HOME/$JAR_NAME
JAR_FILE_DEFAULT=$APPLICATION_HOME/target/jars/$JAR_NAME
JAR_FILE_INSTALLED=$APPLICATION_HOME/dist/$JAR_NAME
ARTEMIS_CP=$APPLICATION_HOME:$JAR_FILE_DEFAULT:$JAR_FILE_INSTALLED
#
# Use a custom Java version if necessary
......@@ -116,7 +116,7 @@ fi
add_proxy_properties
#
# "-mx1g" sets the maximum amount of memory to use.
# "-mx2g" sets the maximum amount of memory to use.
# This may need to be increased when dealing with large files
#
if [[ "$ARTEMIS_JVM_FLAGS" = "" ]]
......@@ -126,10 +126,18 @@ else
FLAGS="$ARTEMIS_JVM_FLAGS -noverify"
fi
#
# Temporary flags to avoid Java 9+ reflection warnings being written to the terminal.
# Should not be necessary when Ibatis is replaced.
#
FLAGS="$FLAGS --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED"
PLATTMP=`uname`
if [[ "$PLATTMP" = "Darwin" ]]
then
APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -Dapple.laf.useScreenMenuBar=true -Dcom.apple.mrj.application.apple.menu.about.name=ACT"
APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -Dapple.laf.useScreenMenuBar=true -Xdock:name=ACT"
JAR_FILE_MACAPP=$APPLICATION_HOME/Java/$JAR_NAME
ARTEMIS_CP="$JAR_FILE_MACAPP:$ARTEMIS_CP"
fi
if [[ "$QUIET" = no ]]
......@@ -137,22 +145,8 @@ then
echo "Starting ACT with arguments: $FLAGS $APPLICATION_PROPERTIES $*"
fi
if [[ -e $JAR_FILE ]]
then
$JAVA $FLAGS $APPLICATION_PROPERTIES -jar $JAR_FILE $*
$JAVA $FLAGS $APPLICATION_PROPERTIES -cp "$ARTEMIS_CP" uk.ac.sanger.artemis.components.ActMain $*
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
......@@ -5,7 +5,6 @@
#
QUIET=no
PRG=$0
usage () {
echo "SYNOPSIS"
......@@ -64,17 +63,16 @@ add_proxy_properties() {
}
#
# Resolve links - $0 may be a link
# Resolve script path (inc symlinks)
#
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '.*/.*' > /dev/null; then
PRG="$link"
else
PRG="`dirname $PRG`/$link"
fi
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
APPLICATION_HOME="$( cd -P "$( dirname "$SOURCE" )" && pwd )"; # get final path of this script
# Special Sanger override on chado PGUSER
if [[ "$ARTEMIS_SANGER_DBUSER" != "" ]]
......@@ -101,9 +99,11 @@ do
shift
done
APPLICATION_HOME=`dirname "$PRG"`
JAR_NAME=artemis.jar
JAR_FILE=$APPLICATION_HOME/$JAR_NAME
JAR_FILE_DEFAULT=$APPLICATION_HOME/target/jars/$JAR_NAME
JAR_FILE_INSTALLED=$APPLICATION_HOME/dist/$JAR_NAME
ARTEMIS_CP=$APPLICATION_HOME:$JAR_FILE_DEFAULT:$JAR_FILE_INSTALLED
#
# Use a custom Java version if necessary
......@@ -122,7 +122,7 @@ fi
add_proxy_properties
#
# "-mx1g" sets the maximum amount of memory to use.
# "-mx2g" sets the maximum amount of memory to use.
# This may need to be increased when dealing with large files
#
if [[ "$ARTEMIS_JVM_FLAGS" = "" ]]
......@@ -132,10 +132,19 @@ else
FLAGS="$ARTEMIS_JVM_FLAGS -noverify"
fi
#
# Temporary flags to avoid Java 9+ reflection warnings being written to the terminal.
# Should not be necessary when Ibatis is replaced.
#
FLAGS="$FLAGS --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED"
PLATTMP=`uname`
if [[ "$PLATTMP" = "Darwin" ]]
then
APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -Dapple.laf.useScreenMenuBar=true -Dcom.apple.mrj.application.apple.menu.about.name=Artemis"
APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -Dapple.laf.useScreenMenuBar=true -Xdock:name=Artemis"
JAR_FILE_MACAPP=$APPLICATION_HOME/Java/$JAR_NAME
ARTEMIS_CP="$JAR_FILE_MACAPP:$ARTEMIS_CP"
fi
if [[ "$QUIET" = "no" ]]
......@@ -143,22 +152,8 @@ then
echo "Starting Artemis with arguments: $FLAGS $APPLICATION_PROPERTIES $*"
fi
if [[ -e $JAR_FILE ]]
then
$JAVA $FLAGS $APPLICATION_PROPERTIES -jar $JAR_FILE $*
$JAVA $FLAGS $APPLICATION_PROPERTIES -cp "$ARTEMIS_CP" uk.ac.sanger.artemis.components.ArtemisMain $*
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
@echo off
REM
REM Batch file for starting Artemis on windows
REM
REM execute Artemis
start javaw -classpath .;lib\biojava.jar;lib\jobcontrol.jar;lib\jemAlign.jar uk.ac.sanger.artemis.components.ArtemisMain
......@@ -5,7 +5,6 @@
#
QUIET=no
PRG=$0
add_proxy_properties() {
......@@ -26,22 +25,22 @@ add_proxy_properties() {
}
#
# Resolve links - $0 may be a link
# Resolve script path (inc symlinks)
#
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '.*/.*' > /dev/null; then
PRG="$link"
else
PRG="`dirname $PRG`/$link"
fi
SOURCE="${BASH_SOURCE[0]}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
APPLICATION_HOME="$( cd -P "$( dirname "$SOURCE" )" && pwd )"; # get final path of this script
APPLICATION_PROPERTIES="-Djdbc.drivers=org.postgresql.Driver -Dartemis.environment=UNIX $SANGER_ARTEMIS_OPTIONS"
APPLICATION_HOME=`dirname "$PRG"`
JAR_NAME=bamview.jar
JAR_FILE=$APPLICATION_HOME/$JAR_NAME
JAR_FILE_DEFAULT=$APPLICATION_HOME/target/jars/$JAR_NAME
JAR_FILE_INSTALLED=$APPLICATION_HOME/dist/$JAR_NAME
ARTEMIS_CP=$APPLICATION_HOME:$JAR_FILE_DEFAULT:$JAR_FILE_INSTALLED
#
# Use a custom Java version if necessary
......@@ -60,7 +59,7 @@ fi
add_proxy_properties
#
# "-mx1g" sets the maximum amount of memory to use.
# "-mx2g" sets the maximum amount of memory to use.
# This may need to be increased when dealing with large files
#
if [[ "$ARTEMIS_JVM_FLAGS" = "" ]]
......@@ -73,7 +72,9 @@ fi
PLATTMP=`uname`
if [[ "$PLATTMP" = "Darwin" ]]
then
APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -Dcom.apple.mrj.application.apple.menu.about.name=BamView"
APPLICATION_PROPERTIES="$APPLICATION_PROPERTIES -Xdock:name=BamView"
JAR_FILE_MACAPP=$APPLICATION_HOME/Java/$JAR_NAME
ARTEMIS_CP="$JAR_FILE_MACAPP:$ARTEMIS_CP"
fi
if [[ "$QUIET" = "no" ]]
......@@ -81,21 +82,7 @@ then
echo "Starting BamView with arguments: $FLAGS $APPLICATION_PROPERTIES $*"
fi
if [[ -e $JAR_FILE ]]
then
$JAVA $FLAGS $APPLICATION_PROPERTIES -jar $JAR_FILE $*
$JAVA $FLAGS $APPLICATION_PROPERTIES -cp "$ARTEMIS_CP" uk.ac.sanger.artemis.components.alignment.BamView $*
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
<?xml version="1.0"?>
<!--
Ant build file for Artemis
-->
<project default="package" basedir=".">
<target name="init">
<tstamp />
<property name="name" value="artemis" />
<property name="version" value="live" />
<property name="build.compiler" value="modern" />
<property name="classpath" value="" />
<property name="src.dir" value="" />
<property name="docs.dir" value="docs" />
<property name="packages" value="uk.*" />
<property name="build.dir" value="./ant-build" />
<!-- Subdirectories for main source and classes -->
<property name="build.src.main" value="${build.dir}/src/main" />
<property name="build.dest.main" value="${build.dir}/classes/main" />
<!-- Subdirectories for tests source and classes -->
<property name="build.src.tests" value="${build.dir}/src/tests" />
<property name="build.dest.tests" value="${build.dir}/classes/tests" />
<!-- Subdirectories for docs -->
<property name="build.src.docs" value="${build.dir}/src/docs" />
<property name="build.dest.docs" value="${build.dir}/docs" />
<property name="build.dest.javadocs" value="${build.dest.docs}/api" />
<!-- Subdirectory for libraries used during build -->
<property name="build.src.main.lib" value="${build.src.main}/lib" />
<property name="dist.root" value="./dist" />
<property name="dist.dir" value="${dist.root}/${name}-${version}" />
<!-- Compile classpath -->
<path id="compile.classpath">
<!-- Main classes from build -->
<pathelement path="${build.src.main}" />
<!-- Dependency classes -->
<fileset dir="${build.src.main}/lib">
<include name="**.jar" />
</fileset>
<fileset dir="${build.src.main}/lib">
<include name="**/*.jar" />
<exclude name="j2ssh/j2ssh-artemis-plugin.jar"/>
</fileset>
</path>
</target>
<!-- Prepares the build directory -->
<target name="prepare" depends="init">
<mkdir dir="${build.dir}" />
</target>
<!-- Prepares the source code -->
<target name="prepare-core" depends="init,prepare">
<!-- Creates directories -->
<mkdir dir="${build.src.main}" />
<mkdir dir="${build.dest.main}" />
<mkdir dir="${build.src.docs}" />
<mkdir dir="${build.dest.docs}" />
<mkdir dir="${build.dest.javadocs}" />
<!-- Copies src files -->
<copy todir="${build.src.main}">
<fileset dir="${src.dir}">
<exclude name="**/CVS/**" />
<exclude name="test/**" />
<exclude name="ant-build/**" />
</fileset>
</copy>
<!-- Copies docs files -->
<copy todir="${build.src.docs}">
<fileset dir="${docs.dir}">
<exclude name="**/CVS/**" />
</fileset>
</copy>
<!-- Copies jars -->
<copy todir="${build.dir}">
<fileset dir=".">
<include name="*.jar" />
<exclude name="${docbook.tools.file}" />
</fileset>
</copy>
</target>
<target name="prepare-src" depends="init,prepare-core" />
<!-- Compiles the source directory -->
<target name="compile" depends="init,print-version,prepare-src">
<javac
target="1.8"
fork="true"
includeantruntime="false"
memoryinitialsize="256m"
memorymaximumsize="256m"
srcdir="${build.src.main}"
destdir="${build.dest.main}"
excludes="lib/**,src/**,uk/ac/sanger/artemis/components/MacHandler.java,uk/ac/sanger/artemis/components/filetree/FileTree.java,uk/ac/sanger/artemis/components/filetree/SshFileTree.java,uk/ac/sanger/artemis/ExternalProgramUtils.java"
deprecation="false"
depend="no"
debug="true">
<classpath refid="compile.classpath"/>
</javac>
</target>
<!-- Creates the chado class package -->
<target name="chado-access" depends="init,compile">
<jar
jarfile="${build.dir}/chado-access.jar"
basedir="${build.dest.main}"
manifest="META-INF/MANIFEST.MF"
includes="uk/ac/sanger/artemis/chado/**,uk/ac/sanger/artemis/util/ByteBuffer*"
/>
<jar
jarfile="${build.dir}/chado-access.jar"
update="yes"
basedir="${build.src.main}"
includes="artemis_sqlmap/**,uk/ac/sanger/artemis/chado/**,uk/ac/sanger/artemis/util/ByteBuffer*"
/>
</target>
<!-- Creates the class package -->
<target name="package" depends="init,compile">
<jar
jarfile="${build.dir}/${name}.jar"
basedir="${build.dest.main}"
manifest="META-INF/MANIFEST.MF"
includes="**"
/>
</target>
<!-- Cleans everything -->
<target name="clean" depends="init">
<delete dir="${build.dir}" />
<delete dir="${dist.root}" />
<delete file="${name}-${version}.tar.gz" />
<delete file="${name}-${version}.tar" />
<delete file="${name}-${version}.zip" />
</target>
<target name="print-version">
<echo>Java/JVM version: ${ant.java.version}</echo>
<echo>Java/JVM detail version: ${java.version}</echo>
</target>
</project>
artemis (17.0.1+dfsg-2) UNRELEASED; urgency=medium
artemis (18.0.1+dfsg-1) UNRELEASED; urgency=medium
* Team upload.
[ Jelmer Vernooij ]
* Use secure copyright file specification URI.
* Trim trailing whitespace.
-- Jelmer Vernooij <jelmer@debian.org> Sat, 20 Oct 2018 12:57:39 +0000
[ Andreas Tille ]
* New upstream version
* debhelper 12
* Standards-Version: 4.3.0
* Remove some icons that can only used on MacOS
-- Andreas Tille <tille@debian.org> Sun, 27 Jan 2019 14:49:18 +0100
artemis (17.0.1+dfsg-1) unstable; urgency=medium
......