From a9f2db2f1688164dd54da7521509c135d7fdf042 Mon Sep 17 00:00:00 2001 From: Jim Procter Date: Wed, 15 Sep 2021 16:09:52 +0100 Subject: [PATCH] JAL-3741 http to https (and jar to jvp for exampleFile defaults!) Conflicts: src/jalview/bin/Jalview.java src/jalview/gui/Desktop.java --- help/help/help.jhm | 1 + help/help/helpTOC.xml | 3 +- help/help/html/features/commandline.html | 2 +- help/help/html/features/groovy.html | 8 +- help/help/html/features/jvlfiles.html | 8 +- help/help/html/features/search.html | 20 +-- help/help/html/features/search.png | Bin 18771 -> 43070 bytes help/help/html/features/seqfetch.html | 34 +++-- help/help/html/groovy/featuresCounter.html | 2 +- help/help/html/index.html | 11 +- help/help/html/logging.html | 212 ++++++++++++++++++++++++++++ help/help/html/memory.html | 2 +- help/help/html/releases.html | 109 +++++++++++++- help/help/html/webServices/newsreader.html | 6 +- help/help/html/whatsNew.html | 96 +++++++------ src/jalview/bin/Cache.java | 6 +- src/jalview/bin/Jalview.java | 18 ++- src/jalview/gui/BlogReader.java | 2 +- src/jalview/gui/Desktop.java | 40 ++++++ src/jalview/gui/Preferences.java | 4 +- src/jalview/io/JSONFile.java | 2 +- 21 files changed, 484 insertions(+), 102 deletions(-) create mode 100644 help/help/html/logging.html diff --git a/help/help/help.jhm b/help/help/help.jhm index 99d010d..7dbb76d 100755 --- a/help/help/help.jhm +++ b/help/help/help.jhm @@ -170,4 +170,5 @@ + diff --git a/help/help/helpTOC.xml b/help/help/helpTOC.xml index a0c7fe6..a72f5ac 100755 --- a/help/help/helpTOC.xml +++ b/help/help/helpTOC.xml @@ -27,7 +27,7 @@ - + @@ -156,6 +156,7 @@ + diff --git a/help/help/html/features/commandline.html b/help/help/html/features/commandline.html index f0e04d5..0ef78f9 100644 --- a/help/help/html/features/commandline.html +++ b/help/help/html/features/commandline.html @@ -38,7 +38,7 @@
  • Standard installation on Linux/Unix:
    -       /PATH_TO_JALVIEW/Jalview -open http://www.jalview.org/examples/jpred_msa.fasta -annotations http://www.jalview.org/examples/jpred_msa.seq.concise -colour Clustal
    + /PATH_TO_JALVIEW/Jalview -open https://www.jalview.org/examples/jpred_msa.fasta -annotations https://www.jalview.org/examples/jpred_msa.seq.concise -colour Clustal
  • Standard installation on Windows:
           \PATH_TO_JALVIEW\Jalview.exe -open %HOMEPATH%\myalignment.fa
    diff --git a/help/help/html/features/groovy.html b/help/help/html/features/groovy.html index ead4436..cc91154 100644 --- a/help/help/html/features/groovy.html +++ b/help/help/html/features/groovy.html @@ -39,7 +39,7 @@ installation of Groovy. Just select Tools→Groovy Console... from the Jalview Desktop's drop-down menu. After a short pause, you should then see the Groovy + href="https://groovy-lang.org/groovyconsole.html">Groovy Console appear. This allows you to interactively execute Groovy scripts whilst Jalview is running. We've also provided a Calculations→Execute Groovy Script button so you can execute the currently loaded @@ -101,7 +101,7 @@ print currentAlFrame.getTitle(); InstallAnywhere version of Jalview, you can find additional groovy scripts in the examples/groovy subfolder of the installation directory. The examples are also available at http://www.jalview.org/examples/groovy. + href="https://www.jalview.org/examples/groovy">https://www.jalview.org/examples/groovy.

    Using Groovy to add new Alignment Calculations
    We've @@ -115,8 +115,8 @@ print currentAlFrame.getTitle(); Creating custom colourschemes
    You can create your own alignment colourschemes with a groovy script. We've provided two examples:

    diff --git a/help/help/html/features/jvlfiles.html b/help/help/html/features/jvlfiles.html index 27742b3..e23af30 100644 --- a/help/help/html/features/jvlfiles.html +++ b/help/help/html/features/jvlfiles.html @@ -46,12 +46,12 @@
     # Jalview Launch File
     # Please install the Jalview Desktop from 
    -# http://www.jalview.org/getdown/release
    +# https://www.jalview.org/getdown/release
     # and then try to open this file again
     jalview.apparg=-open
    -jalview.apparg=http://www.jalview.org/examples/jpred_msa.fasta
    +jalview.apparg=https://www.jalview.org/examples/jpred_msa.fasta
     jalview.apparg=-annotations
    -jalview.apparg=http://www.jalview.org/examples/jpred_msa.seq.concise
    +jalview.apparg=https://www.jalview.org/examples/jpred_msa.seq.concise
     jalview.apparg=-colour
     jalview.apparg=Clustal
     
    @@ -62,7 +62,7 @@ jalview.apparg=Clustal # Please install the Jalview Desktop from # http://www.jalview.org/getdown/release # and then try to open this file again -appbase=http://www.jalview.org/getdown/archive/2_10_5/ +appbase=https://www.jalview.org/getdown/archive/2_10_5/ For security, the Jalview application will only allow appbase URLs from www.jalview.org. diff --git a/help/help/html/features/search.html b/help/help/html/features/search.html index eec68ee..837d7b3 100755 --- a/help/help/html/features/search.html +++ b/help/help/html/features/search.html @@ -36,7 +36,7 @@ td {

    The search box is displayed by pressing Control and F or selecting "Find..." from the "Search" menu.

    - +

    "Find next" will find the next occurrence of the specified and adjust the alignment window view to show it, and "Find all" highlights all matches for a pattern. The @@ -48,18 +48,19 @@ td { of posix and perl style regex - see below for a summary)

  • Gaps are ignored when matching the query to the sequences in the alignment.
  • +
  • Hidden columns can optionally be ignored (since Jalview 2.11)
  • The search is applied to both sequences and their IDs, and optionally also to the description string (since Jalview 2.10)
  • If a region is selected, then search will only - be performed on that region. + be performed on that region.
    + Tip: to quickly clear the current selection, click the + alignment view you wish to search, then press 'Escape'.
  • -
  • To quickly clear the current selection, press the - "Escape" key.
  • Tick the "Match Case" box to perform a case sensitive search.
  • -
  • To access a previously used +
  • To access a previously used query press the down arrow or click on the button on the right of the text field.
@@ -155,12 +156,13 @@ td { stored along with your Jalview user preferences. To open the search history, click on the button to the right of the query field, or press the down arrow key.

- -

The search history keeps up to 99 queries by default. To clear +

+

The search history keeps up to 99 queries by default. To clear the history, or modify the size of the history, right-click the text box.

- -

+

+

+

Other dialogs that provide a query history

diff --git a/help/help/html/features/search.png b/help/help/html/features/search.png index 89adb1a8d59295e0346345118a33f25eb517f67b..47c18f43c9c0d6d07d55e2f6f4cdcba1184abf40 100644 GIT binary patch literal 43070 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 literal 18771 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 C@~Z&= diff --git a/help/help/html/features/seqfetch.html b/help/help/html/features/seqfetch.html index e726c49..4e9a75f 100755 --- a/help/help/html/features/seqfetch.html +++ b/help/help/html/features/seqfetch.html @@ -72,14 +72,30 @@ "OK" to initiate the retrieval. -

If you use the WSDBFetch sequence fetcher services (EMBL, - UniProt, PFAM, and RFAM) in work for publication, please cite:

-

- Pillai S., Silventoinen V., Kallio K., Senger M., Sobhany S., Tate - J., Velankar S., Golovin A., Henrick K., Rice P., Stoehr P., Lopez - R.
SOAP-based services provided by the European - Bioinformatics Institute.
Nucleic Acids Res. 33(1):W25-W28 - (2005)

-

+

If you use the Sequence Fetcher, please remember to cite the + corresponding services (linked to below):

+
    +
  • Ensembl - The + Ensembl REST API
  • +
  • EMBL/EMBLCDS - Provided by the European + Nucleotide Archive's ENA Data API
    + Note: Versions of Jalview prior to 2.11.1.1 employed the + XML endpoint of the ENA browser, which was retired in August + 2020.
  • +
  • Uniprot - Free Text Search and Retrieval via the Uniprot REST API
  • +
  • PDB - Free Text Search via the PDBe + REST API and retrieval via WSDbFetch
    + Pillai S., Silventoinen V., Kallio K., Senger M., Sobhany S., Tate + J., Velankar S., Golovin A., Henrick K., Rice P., Stoehr P., Lopez + R.
    SOAP-based services provided by the European + Bioinformatics Institute.
    Nucleic Acids Res. + 33(1):W25-W28 (2005)

    +
  • +
diff --git a/help/help/html/groovy/featuresCounter.html b/help/help/html/groovy/featuresCounter.html index 3b6705b..bd7144e 100644 --- a/help/help/html/groovy/featuresCounter.html +++ b/help/help/html/groovy/featuresCounter.html @@ -43,7 +43,7 @@ Please note: The 2.10.2 feature counting interface is not compatible with earlier versions.

http://www.jalview.org/examples/groovy/featuresCounter.groovy + href="https://www.jalview.org/examples/groovy/featuresCounter.groovy">https://www.jalview.org/examples/groovy/featuresCounter.groovy - rendered with hilite.me
/*
  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
diff --git a/help/help/html/index.html b/help/help/html/index.html
index 442c508..a6bb1b6 100755
--- a/help/help/html/index.html
+++ b/help/help/html/index.html
@@ -45,7 +45,7 @@
   

For more information, you might also want to take a look at the documentation section of the Jalview website (http://www.jalview.org/about/documentation). + href="https://www.jalview.org/about/documentation">https://www.jalview.org/about/documentation).

If you are using the Jalview Desktop application and are looking for @@ -54,9 +54,14 @@ google the online version of these pages. If you don't find what you are looking for, or want to report a bug or make a feature request, then get in contact over at http://www.jalview.org/community + href="https://www.jalview.org/community">https://www.jalview.org/community +

+

+ Logging, troubleshooting and reporting bugs
If + something seems to be wrong with your Jalview installation, or you + think you've found a problem, take a look at Jalview's + logging and bug reporting documentation.

-

Citing Jalview
If you use Jalview in your work, please cite the Jalview 2 paper in Bioinformatics: diff --git a/help/help/html/logging.html b/help/help/html/logging.html new file mode 100644 index 0000000..0975a47 --- /dev/null +++ b/help/help/html/logging.html @@ -0,0 +1,212 @@ + + + +The Java Console, Logging and Reporting Bugs + + +

+ The Java Console, Logging and Reporting Bugs
+

+

+ Like most programs, Jalview contains bugs, despite our best efforts. + However, Jalview also produces a series of messages during its + operation, often referred to as 'logs'. These logs provide a record + of Jalview's operation. They can also be extremely useful when reporting bugs, since they help the + Jalview developers diagnose and find a workaround for specific + problems that you might encounter. +

+

+ The primary place to look for logs is in the Java + Console which you can open from within Jalview by going to the Tools + menu and checking the box next to Show Java Console. This + option is stored in your Jalview preferences file and so is + remembered across Jalview sessions. +

+

The Java Console will show you information about what the + Jalview application is doing (often in the background) whilst it is + running.

+

However, when tracking down problems preventing Jalview from + starting up properly, you need to look at the startup logs - which + are not shown in the Jalview Console. The location of these depends + on how you launched Jalview:

+

+ Jalview Desktop Installation Launch Logs
If you are using + a standard desktop version of Jalview installed from one of our + install4j installers, then messages about Jalview's initial launch + can be found in +

JALVIEW_APP_DIR/launcher.log
+ where + JALVIEW_APP_DIR is the directory that Jalview's application + was installed into. +
For Jalview 2.11.0 onwards: +
    +
  • In Windows this is %APPDATA%\Local\Jalview by + default +
  • +
  • In macOS this is /Applications/Jalview.app/Contents/Resources/app + by default +
  • +
  • In Linux and other Unix OSes this is ~/opt/jalview + by default +
  • +
+

Jalview Executable Jar Launch Logs
If you are using the Jalview executable jar file (also + used by bioconda and OSX homebrew installations) then the default run class ( + jalview.bin.Launcher -- a minimised launcher that will set + memory and linux dpi settings before re-launching + jalview.bin.Jalview), will output logging information to + STDOUT and STDERR. +

+ +

+ Java Console and Log Level +

+

+ The Java Console is opened by selecting Tools + → Show Java Console. The visibility of the console is stored + in your preferences, so if you quit Jalview with the console open, + it will be shown the next time you start Jalview. You can close the + console by selecting the same menu option again, or just closing the + console window. +

+

The Java Console's text display always shows information about + your system and Jalview installation details. The rest are the most + recent messages output during your Jalview session. Some messages + are only captured by the console when it is open, so to get a full + log for debugging a problem, enable the console and then restart + Jalview.

+ +

+ You can temporarily control the detail of what appears as output by + selecting a Log level using the drop-down list at the + bottom left of the console. There are several levels to choose from: + The most verbose is TRACE, followed by DEBUG, INFO, WARN. When the + Console is opened, the default level will be chosen (INFO). +

+

+ Note! If you change the log level in the Java + Console, this change will only persist for as long as the console + is open. Once you close the console the log level will revert back + to what it had been when you opened the console (usually INFO). +

+

Permanently changing Jalview's default log level
+ You can change the default log level by editing the Jalview + preferences file, .jalview_properties, found in your home + directory (on Windows: %HOMEPATH%, or the folder above 'My + Documents'; on macOS: ~ or /Users/username; on linux/unix: + ~ or /home/username), and setting the property logs.Jalview.level + to the log level you prefer, e.g. +

+  logs.Jalview.level=DEBUG
+  
+ You can also set the property +
+  logs.Axis.level=DEBUG
+  
+

to get debug information for Jalview's JPred service. The Axis log + level cannot be set from within the Java Console. +

+

+ You can also set the logs.jalview.level property to a log level + not usually presented in the Java Console (though restricted to log + levels used by Apache Log4j -- see Log4j + Custom Log Levels for details of the standard log levels + available). Jalview does not currently define any custom log levels. + If you do set the property with a log level that is normally not + visible in the Java Console this should be respected and visibly + selected when you open the console. +

+

+ The Clear button at the bottom of the console will clear + all logging messages except for the initial system information which + is rewritten to the console. +

+

+ The Copy to clipboard button at the bottom right of the + console will copy all of the text in the console to your system + clipboard, ready to paste into another application (e.g. email + composer or issue tracker). +

+ +

Reporting Bugs

+ +

+ If you come across a problem in Jalview where something is not + working as described, or how you think it should, you should first + check the Jalview FAQ to + see if this is a known problem and if there is a suggested + workaround. +

+

+ If there is no FAQ answer covering your problem then you can submit + a bug report on the Jalview + Issue Tracker. It is good practice to search the issue tracker + first to see if the issue has already been reported. If an issue + already exists please continue to add your own comments to the issue + which may well help narrow down the problem, if not then you can + create an account and submit a new bug report: +

+

+ Make sure that you set Project to Jalview (JAL), and Issue + Type to Bug or New Feature or Improvement + appropriately.
Give a one line summary of the issue in the Summary. +
In the Environment text box you can describe the + system you are using. This is usually most easily done by opening + the Java Console, clicking the Clear button, and then + immediately on the Copy to clipboard button, and then + pasting the clipboard into the text box. +

+

+ You can then give more detailed information about how to recreate + the problem in the Description text box. If you want to + attach any screenshots or example alignment files that demonstrate + the problem then you can drag them to the Create Issue dialog in + your browser, or use the Attachment browse facility to + locate them on your computer. +

+ +

+ To help the Jalview team with diagnosing a particular issue, it is + really helpful if you can also add more detailed logs output whilst + re-creating the problem. To do this, open the Java Console, click + the Clear button and select TRACE in the Log level + drop down list.
Whilst leaving the console open, perform the + task in Jalview that re-creates the problem.
Then you can + copy the debug information in the Java Console by clicking on the Copy + to clipboard button and then paste that into the Description, or a + Comment of your issue. +

+ +

+ For other queries or comments about Jalview, remember you can + contact the Jalview team using email via the + Jalview + discussion list, on Twitter @Jalview, or for technical + discussions, via the Jalview developer's chatroom at + https://gitter.im/jalview/developers. +

+ + + diff --git a/help/help/html/memory.html b/help/help/html/memory.html index 0374dcb..7d6fb85 100755 --- a/help/help/html/memory.html +++ b/help/help/html/memory.html @@ -80,7 +80,7 @@ arguments, but you must put the jvl file first, e.g.
       /PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvl /path/to/alignments/myalignment.fa
Alternatively, you can use the standard Jalview command line arguments with or without the jvl file (first), e.g.
-       /PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvl -open http://www.jalview.org/examples/jpred_msa.fasta -annotations http://www.jalview.org/examples/jpred_msa.seq.concise -colour Clustal
You can use command line arguments to control memory + /PATH_TO_JALVIEW/Jalview /path/to/file/mymemorysetting.jvl -open https://www.jalview.org/examples/jpred_msa.fasta -annotations https://www.jalview.org/examples/jpred_msa.seq.concise -colour Clustal
You can use command line arguments to control memory settings in Windows and macOS too:
In Windows you must use, e.g.
       \PATH_TO_JALVIEW\Jalview.exe %HOMEPATH%\mymemorysetting.jvl -open %HOMEPATH%\myalignment.fa
In macOS you can use the macOS open command like this:
diff --git a/help/help/html/releases.html b/help/help/html/releases.html
index 6820883..dd7a3f8 100755
--- a/help/help/html/releases.html
+++ b/help/help/html/releases.html
@@ -58,10 +58,9 @@ li:before {
     
       2.11.1.1
- 13/07/2020
+ 17/09/2020
    -
  • Shift+arrow keys navigate to next gap or residue in cursor mode @@ -91,23 +90,53 @@ li:before { ENA Browser (https://www.ebi.ac.uk/ena/browser/home) and EMBL flat file
  • +
  • + Improved warning messages, debug logging + and fixed Retry action when Jalview encounters errors when + saving or making backup files. +
  • +
  • + Enhanced Jalview Java Console: +
      +
    • Jalview's logging level can be configured
    • +
    • Copy to Clipboard Buttion
    • +
    +
  • +
  • + Improved support for Hi-DPI (4K) screens + when running on Linux (Requires Java 11+) +
Launching Jalview
  • Configure Jalview Desktop's look and feel through a system property
  • +
  • + Improved built-in documentation and command + line help for configuring Jalview's memory +
  • + Conservation and Quality tracks are shown + but not calculated and no protein or DNA score models are + available for tree/PCA calculation when launched with + Turkish language locale +
  • +
  • Escape does not clear highlights on the alignment (Since Jalview 2.10.3)
  • Alt+Left or Right arrow in cursor mode - doesn't slide selected sequences + doesn't slide selected sequences, just sequence under cursor +
  • +
  • + Alt+Up/Down in cursor mode doesn't move + sequence under the cursor
  • Peptide-to-CDS tracking broken when @@ -124,13 +153,81 @@ li:before { to the position under the cursor
  • + Sequence ID for reference sequence is + clipped when Right align Sequence IDs enabled +
  • +
  • Slider with negative range values not rendered correctly in VAqua4 (Since 2.10.4)
  • -
- New Known defects +
  • + Single quotes not displayed correctly in + internationalised text for some messages and log output +
  • +
  • + Find doesn't report matches that span + hidden gapped columns +
  • +
  • + Resolved memory leaks in Tree and PCA + panels, Alignment viewport and annotation renderer. +
  • +
  • + Jalview ignores file format parameter + specifying output format when exporting an alignment via the + command line +
  • +
  • + Windows 10: For a minority of users, if + backups are not enabled, Jalview sometimes fails to + overwrite an existing file and raises a warning dialog. (in + 2.11.0, and 2.11.1.0, the workaround is to try to save the + file again, and if that fails, delete the original file and + save in place.) +
  • + Launching Jalview +
      +
    • + Jalview application fails when launched the + first time for a version that has different jars to the + previous launched version. +
    • +
    Developing Jalview +
      +
    • + Fixed issue with cleaning up old coverage + data, causing cloverReport gradle task to fail with an + OutOfMemory error. +
    • +
    • + Migrated the Jalview Version Checker to + monitor the release channel +
    • +
    New Known defects
      -
    • Stale build data in jalview standalone jar builds (only affects 2.11.1.1 branch) +
    • + CDS shown in result of submitting proteins + in a CDS/Protein alignment to a web service is wrong when + proteins share a common transcript sequence (e.g. + genome of RNA viruses) +
    • +
    • + Co-located features exported and re-imported + are ordered differently when shown on alignment and in + tooltips. (Also affects v2.11.1.0) +
    • +
    • + Drag and drop of alignment file onto + alignment window when in a HiDPI scaled mode in Linux only + works for the top left quadrant of the alignment window +
    • +
    • + Stale build data in jalview standalone jar + builds (only affects 2.11.1.1 branch) +
    • +
    • + Sequence ID colourscheme not re-applied + when alignment view restored from project (since Jalview 2.11.0)
    diff --git a/help/help/html/webServices/newsreader.html b/help/help/html/webServices/newsreader.html index c3c1d3f..2e8b69a 100644 --- a/help/help/html/webServices/newsreader.html +++ b/help/help/html/webServices/newsreader.html @@ -25,7 +25,7 @@

    The Jalview Desktop RSS News Reader
    The Jalview Desktop includes a built in news reader for the Jalview + href="https://www.jalview.org/feeds/desktop/rss">Jalview Desktop News Channel.

    @@ -48,9 +48,9 @@

    The Jalview news reader was introduced in Jalview + href="https://www.jalview.org/releaseHistory.html#Jalview2.7">Jalview version 2.7. Its implementation is based on JSwingReader. + href="https://jswingreader.sourceforge.net/">JSwingReader.


    If you need to prevent the news-reader opening, then add the diff --git a/help/help/html/whatsNew.html b/help/help/html/whatsNew.html index 0f0c7f1..2e18bae 100755 --- a/help/help/html/whatsNew.html +++ b/help/help/html/whatsNew.html @@ -24,58 +24,62 @@

    - Jalview 2.11.1.0 -

    -

    - Jalview 2.11.1.0 is the first minor release for the 2.11 series. - Along with a number of critical bug fixes and improvements it brings - new functionality for mapping sequence features between CDS and - Protein alignments. It is also the first release made under a new four - number versioning scheme, which will allow us to keep track of - patches and bug fixes. + Jalview 2.11.1.1

    +

    Jalview 2.11.1.1 is the first patch release for Jalview version + 2.11.1. In addition to fixes for some critical bugs, it also + contains a handful of new features suggested by the Jalview + community.

    +
      +
    • Shift+arrow keys navigate to next gap or residue in cursor + mode (enable with F2)
    • +
    • Support import of VCF 4.3 by updating HTSJDK from 2.12 to + 2.23
    • +
    • Improved recognition of GZipped files from local disk or + retrieved via the web
    • +
    • EMBL and EMBL CDS database records retrieved from the + European Nucleotide Archive's Data API as 'EMBL Flatfile' records
    • +
    • Improved Java Console and + logging to help track down problems +
    • +
    • Improved support for Hi-DPI (4K) screens when running on + Linux (Requires Java 11+)
    • +
    +

    Critical bug fixes include

      -
    • Virtual Features
      In previous - versions of Jalview, specific nucleotide sequence features such as - genomic variants and exons were transferred to protein products on - import. Jalview 2.11.1 instead provides 'virtual features' that - can be enabled and overlaid on linked CDS/Protein views via their - Sequence - Features dialog. This allows more analyses of nucleotide and - peptide sequence features on alignments in a more flexible and - memory efficient way than in earlier versions.
      - Note: Virtual features work best when variants are - annotated with CSQ fields. Please see this - Groovy script workaround if you are working with VCF files - without CSQ fields. -
    • -
    • Improved VCF data import
      Standard attributes for - filtering variants (e.g. position, QUAL field etc) are now - extracted from VCF files. This new feature was suggested by a user - at the Jalview booth during ISMB 2019.
    • -
    • Extended feature attributes are exported - in GFF3
      Complex attributes from VCF files can be exported - and imported via GFF3
    • -
    • Updated Jalview Installer and Launcher
      Jalview's - installation packages are now built with Install4j 8, which brings - better support for Linux and improved control of file - associations. New parameters on the - Jalview launcher allow an upper memory limit to be specified via - a Jalview launch file, to prevent it from hogging your system.
    • +
    • Jalview runs correctly when launched with Turkish language + settings
    • +
    • Peptide-to-CDS tracking broken when multiple EMBL gene + products shown for a single contig (such as viral genomes)
    • +
    • Errors encountered when processing variants from VCF files + yield "Error processing VCF: Format specifier '%s'" on the console
    • +
    • Count of features not shown can be wrong when there are + both DNA and Protein features mapped to the position under + the cursor
    • +
    • Sequence ID for reference sequence is clipped when Right + align Sequence IDs enabled
    • +
    • Find doesn't report matches that span hidden gapped columns
    • +
    • Jalview ignores file format parameter specifying output + format when exporting an alignment via the command line

    - See the 2.11.1.0 - release notes for full details of bugs fixed and new known issues. + For the full release notes, see the + Jalview 2.11.1.1 release notes.

    - JalviewJS News
    With the release of Jalview 2.11.1.0, - the team are now focused on bringing JalviewJS to full production. - To follow our progress take a look at http://www.jalview.org/jalview-js/ - and follow updates on our new JalviewJS - Releases github repository. + Known Issues

    +
      +
    • We've had reports from a small number of windows 10 users + who see a warning dialog pop up when Jalview tries to save a new + version of an existing file. If you are affected by this bug and + this latest version of Jalview doesn't fix it, please let us know!
    • +
    • Co-located features exported and re-imported are ordered + differently when shown on alignment and in tooltips. (Also affects + v2.11.1.0)
    • +
    • Drag and drop of alignment file onto alignment window when + in a HiDPI scaled mode in Linux only works for the top left + quadrant of the alignment window
    • +
    diff --git a/src/jalview/bin/Cache.java b/src/jalview/bin/Cache.java index 216b498..29f0d84 100755 --- a/src/jalview/bin/Cache.java +++ b/src/jalview/bin/Cache.java @@ -182,8 +182,8 @@ import jalview.ws.sifts.SiftsSettings; * when shading by annotation *
  • ANNOTATIONCOLOUR_MAX (red) Shade used for maximum value of annotation * when shading by annotation
  • - *
  • www.jalview.org (http://www.jalview.org) a property enabling all HTTP - * requests to be redirected to a mirror of http://www.jalview.org
  • + *
  • www.jalview.org (https://www.jalview.org) a property enabling all HTTP + * requests to be redirected to a mirror of https://www.jalview.org
  • *
  • FIGURE_AUTOIDWIDTH (false) Expand the left hand column of an exported * alignment figure to accommodate even the longest sequence ID or annotation * label.
  • @@ -523,7 +523,7 @@ public class Cache DEFAULT_CACHE_THRESHOLD_IN_DAYS)); IdOrgSettings.setUrl(getDefault("ID_ORG_HOSTURL", - "http://www.jalview.org/services/identifiers")); + "https://www.jalview.org/services/identifiers")); IdOrgSettings.setDownloadLocation(ID_ORG_FILE); StructureImportSettings.setDefaultStructureFileFormat(jalview.bin.Cache diff --git a/src/jalview/bin/Jalview.java b/src/jalview/bin/Jalview.java index 4c21624..0b5fafa 100755 --- a/src/jalview/bin/Jalview.java +++ b/src/jalview/bin/Jalview.java @@ -453,7 +453,7 @@ public class Jalview // String defurl = // "http://anaplog.compbio.dundee.ac.uk/cgi-bin/questionnaire.pl"; // // - String defurl = "http://www.jalview.org/cgi-bin/questionnaire.pl"; + String defurl = "https://www.jalview.org/cgi-bin/questionnaire.pl"; Cache.log.debug( "Starting questionnaire with default url: " + defurl); desktop.checkForQuestionnaire(defurl); @@ -782,14 +782,18 @@ public class Jalview * @j2sIgnore */ { - file = Cache.getDefault("STARTUP_FILE", - Cache.getDefault("www.jalview.org", "http://www.jalview.org") - + "/examples/exampleFile_2_7.jar"); + file = jalview.bin.Cache.getDefault("STARTUP_FILE", + jalview.bin.Cache.getDefault("www.jalview.org", + "https://www.jalview.org") + + "/examples/exampleFile_2_7.jvp"); if (file.equals( - "http://www.jalview.org/examples/exampleFile_2_3.jar")) + "http://www.jalview.org/examples/exampleFile_2_3.jar") || file.equals( + "http://www.jalview.org/examples/exampleFile_2_7.jar")) { + file.replace("http:", "https:"); // hardwire upgrade of the startup file - file.replace("_2_3.jar", "_2_7.jar"); + file.replace("_2_3", "_2_7"); + file.replace("2_7.jar", "2_7.jvp"); // and remove the stale setting Cache.removeProperty("STARTUP_FILE"); } @@ -1085,7 +1089,7 @@ public class Jalview + "-groovy FILE\tExecute groovy script in FILE, after all other arguments have been processed (if FILE is the text 'STDIN' then the file will be read from STDIN)\n" + "-jvmmempc=PERCENT\tOnly available with standalone executable jar or jalview.bin.Launcher. Limit maximum heap size (memory) to PERCENT% of total physical memory detected. This defaults to 90 if total physical memory can be detected. See https://www.jalview.org/help/html/memory.html for more details.\n" + "-jvmmemmax=MAXMEMORY\tOnly available with standalone executable jar or jalview.bin.Launcher. Limit maximum heap size (memory) to MAXMEMORY. MAXMEMORY can be specified in bytes, kilobytes(k), megabytes(m), gigabytes(g) or if you're lucky enough, terabytes(t). This defaults to 32g if total physical memory can be detected, or to 8g if total physical memory cannot be detected. See https://www.jalview.org/help/html/memory.html for more details.\n" - + "\n~Read documentation in Application or visit http://www.jalview.org for description of Features and Annotations file~\n\n"); + + "\n~Read documentation in Application or visit https://www.jalview.org for description of Features and Annotations file~\n\n"); } private static void startUsageStats(final Desktop desktop) diff --git a/src/jalview/gui/BlogReader.java b/src/jalview/gui/BlogReader.java index 757bb01..8ba3dce 100644 --- a/src/jalview/gui/BlogReader.java +++ b/src/jalview/gui/BlogReader.java @@ -256,7 +256,7 @@ public class BlogReader extends JPanel chan.setURL( jalview.bin.Cache.getDefault("JALVIEW_NEWS_RSS", jalview.bin.Cache.getDefault("www.jalview.org", - "http://www.jalview.org") + "https://www.jalview.org") + "/feeds/desktop/rss")); loadLastM(); _channelModel.addChannel(chan); diff --git a/src/jalview/gui/Desktop.java b/src/jalview/gui/Desktop.java index 67ef952..e214816 100644 --- a/src/jalview/gui/Desktop.java +++ b/src/jalview/gui/Desktop.java @@ -850,8 +850,13 @@ public class Desktop extends jalview.jbgui.GDesktop } catch (java.beans.PropertyVetoException ve) { } catch (java.lang.ClassCastException cex) { Cache.log.warn( +<<<<<<< HEAD "Squashed a possible GUI implementation error. If you can recreate this, please look at https://issues.jalview.org/browse/JAL-869", cex); +======= + "Squashed a possible GUI implementation error. If you can recreate this, please look at https://issues.jalview.org/browse/JAL-869", + cex); +>>>>>>> 48040645e (JAL-3741 http to https (and jar to jvp for exampleFile defaults!)) } } @@ -1016,6 +1021,15 @@ public class Desktop extends jalview.jbgui.GDesktop JPanel panel = new JPanel(new GridLayout(2, 1)); panel.add(label); +<<<<<<< HEAD +======= + panel.add(history); + history.setPreferredSize(new Dimension(400, 20)); + history.setEditable(true); + history.addItem("https://www."); + + String historyItems = jalview.bin.Cache.getProperty("RECENT_URL"); +>>>>>>> 48040645e (JAL-3741 http to https (and jar to jvp for exampleFile defaults!)) /* * the URL to fetch is input in Java: an editable combobox with history JS: @@ -1188,6 +1202,7 @@ public class Desktop extends jalview.jbgui.GDesktop message.append("
    "); } +<<<<<<< HEAD message.append("
    !! Version ").append(Cache.getDefault("LATEST_VERSION", "..Checking..")) .append(" is available for download from ") .append(Cache.getDefault("www.jalview.org", "https://www.jalview.org")).append(" !!"); @@ -1202,6 +1217,31 @@ public class Desktop extends jalview.jbgui.GDesktop message.append("
    "); return message.toString(); +======= + message.append("
    !! Version " + + jalview.bin.Cache.getDefault("LATEST_VERSION", + "..Checking..") + + " is available for download from " + + jalview.bin.Cache.getDefault("www.jalview.org", + "https://www.jalview.org") + + " !!"); + if (red) + { + message.append("
    "); + } + } + message.append("
    Authors: " + jalview.bin.Cache.getDefault( + "AUTHORFNAMES", + "The Jalview Authors (See AUTHORS file for current list)") + + "

    Development managed by The Barton Group, University of Dundee, Scotland, UK.
    " + + "

    For help, see the FAQ at www.jalview.org/faq and/or join the jalview-discuss@jalview.org mailing list" + + "

    If you use Jalview, please cite:" + + "
    Waterhouse, A.M., Procter, J.B., Martin, D.M.A, Clamp, M. and Barton, G. J. (2009)" + + "
    Jalview Version 2 - a multiple sequence alignment editor and analysis workbench" + + "
    Bioinformatics doi: 10.1093/bioinformatics/btp033" + + ""); + return message; +>>>>>>> 48040645e (JAL-3741 http to https (and jar to jvp for exampleFile defaults!)) } /** diff --git a/src/jalview/gui/Preferences.java b/src/jalview/gui/Preferences.java index 834d779..e3e3932 100755 --- a/src/jalview/gui/Preferences.java +++ b/src/jalview/gui/Preferences.java @@ -355,8 +355,8 @@ public class Preferences extends GPreferences startupCheckbox .setSelected(Cache.getDefault("SHOW_STARTUP_FILE", true)); startupFileTextfield.setText(Cache.getDefault("STARTUP_FILE", - Cache.getDefault("www.jalview.org", "http://www.jalview.org") - + "/examples/exampleFile_2_3.jar")); + Cache.getDefault("www.jalview.org", "https://www.jalview.org") + + "/examples/exampleFile_2_7.jvp")); /* * Set Colours tab defaults diff --git a/src/jalview/io/JSONFile.java b/src/jalview/io/JSONFile.java index e0f28bb..022148a 100644 --- a/src/jalview/io/JSONFile.java +++ b/src/jalview/io/JSONFile.java @@ -70,7 +70,7 @@ public class JSONFile extends AlignFile implements ComplexAlignFile { private static String version = new BuildDetails().getVersion(); - private String webstartUrl = "http://www.jalview.org/services/launchApp"; + private String webstartUrl = "https://www.jalview.org/services/launchApp"; private String application = "Jalview"; -- 1.7.10.2