Merge branch 'develop' into feature/JAL-4159_pasimap
authorJim Procter <jprocter@dundee.ac.uk>
Thu, 16 May 2024 07:07:17 +0000 (08:07 +0100)
committerJim Procter <jprocter@dundee.ac.uk>
Thu, 16 May 2024 07:07:17 +0000 (08:07 +0100)
doesn't seem to have apache-math present
 Conflicts:
build.gradle

15 files changed:
1  2 
build.gradle
help/markdown/releases/release-2_11_3_0.md
resources/lang/Messages.properties
resources/lang/Messages_es.properties
src/jalview/analysis/AlignSeq.java
src/jalview/gui/AlignFrame.java
src/jalview/gui/CalculationChooser.java
src/jalview/gui/Desktop.java
src/jalview/gui/PCAPanel.java
src/jalview/gui/PairwiseAlignPanel.java
src/jalview/gui/ProgressBar.java
src/jalview/gui/StructureChooser.java
src/jalview/gui/WebserviceInfo.java
src/jalview/math/Matrix.java
src/jalview/viewmodel/AlignmentViewport.java

diff --cc build.gradle
@@@ -2157,9 -2204,10 +2222,10 @@@ shadowJar 
  
    duplicatesStrategy "INCLUDE"
  
+   // this mainClassName is mandatory but gets ignored due to manifest created in doFirst{}. Set the Main-Class as an attribute in launcherJar instead
    mainClassName = shadow_jar_main_class
    mergeServiceFiles()
 -  classifier = "all-"+JALVIEW_VERSION+"-j"+JAVA_VERSION
 +  archiveClassifier = "all-"+JALVIEW_VERSION+"-j"+JAVA_VERSION
    minimize()
  }
  
@@@ -51,35 -58,29 +58,28 @@@ channel: "release
  - <!-- JAL-3119 --> Name of alignment and view included in overview window's title
  - <!-- JAL-4213 --> "add reference annotation" add all positions in reference annotation tracks, not just positions in the currently highlighted columns/selection range
  - <!-- JAL-4119 --> EMBL-EBI SIFTS file downloads now use split directories
- - <!-- JAL-4195,JAL-4194,JAL-4193 --> sensible responses from the CLI when things go wrong during image export
- Add a command line option to set Jalview properties for this session only
- Add a command line option to suppress opening the startup file for this session
- JAL-4187       Powershell launcher script fails when given no arguments with the old ArgsParser
- known issue ? <!-- JAL-4127   --> 'Reload' for a jalview project results in all windows being duplicated
- - <!-- JAL-3830 --> Command-line wrapper script for macOS bundle, linux and Windows installations (bash, powershell and .bat wrappers)
  - <!-- JAL-3820 --> In Linux desktops' task-managers, the grouped Jalview windows get a generic name
- ## Still in progress (delete on release)
- - <!-- JAL-2382 --> Import and display sequence-associated contact predictions in CASP-RR format
- - <!-- JAL-2349 --> Contact prediction visualisation
- - <!-- JAL-2348 --> modularise annotation renderer
+ - <!-- JAL-4206 --> Improved file chooser's 'recent files' view and added filter for 'All known alignment files'
+ - <!-- JAL-4206 --> Relative files added to recent files list via import from command line are selected when Jalview opened from same location
+ - <!-- JAL-4308 --> Reduce number of database crossreferences shown in tooltip
+ - <!-- JAL-4315 --> Drag and drop feature colours file on an alignment to quickly apply feature settings
+ - <!-- JAL-3676 --> Improved startup info in console output: which properties file was being used and slight revisions to the formatting of platform information.
+ - <!-- JAL-4304,JAL-4305 --> Upgrade bundled groovy to v4.0.15 and regularised interface for groovy scripts run from CLI, interactively and headlessly.
+ - <!-- JAL-1713,JAL-2528 --> Overview display and hidden region visibility stored in Jalview projects
+ - <!-- JAL-4169 --> Updated faq and documentation urls in splashscreen and help documentation
  
  ### Development and Deployment
+ - <!-- JAL-4054 --> Installers built with install4j10
  - <!-- JAL-4167 --> Create separate gradle test task for some tests
- - <!-- JAL-4111 --> Allow gradle build to create suffixed DEVELOP-... builds with channel appbase
+ - <!-- JAL-4212 --> Prevent gradle test on macOS continuously grabbing focus
 -- <!-- JAL-4111 --> Allow gradle build to create suffixed DEVELOP-... builds with channel appbase
++- <!-- JAL-4111 --> Allow gradle build to create suffixed DEVELOP-... builds with channel 
+ - <!-- JAL-4288 --> Update .jvl generation in build.gradle for jalview branch builds
  - <!-- JAL-4243 --> Jalview bio.tools description maintained under jalview's git repo and bundled with source release
+ - <!-- JAL-4110 --> Output stderr and stdout when running tests via gradle
+ - <!-- JAL-3599 --> New gradle task providing runtime acceptance test for JalviewJS  based on Chromium for Tests (still work in progress)
  
 -
  ## Issues Resolved
  - <!-- JAL-2961 --> Jmol view not always centred on structures when multiple structures are viewed
- - <!-- JAL-3776 --> Cancelling interactive calculation leaves empty progress bar.
  - <!-- JAL-3772 --> Unsaved Alignment windows close without prompting to save, individually or at application quit.
  - <!-- JAL-1988 --> Can quit Jalview while 'save project' is in progress
  - <!-- JAL-4126 --> 'Use original colours' option of colour by annotation not honoured when restoring view from project
Simple merge
Simple merge
Simple merge
@@@ -60,7 -61,9 +61,8 @@@ import java.util.List
  import java.util.Locale;
  import java.util.Vector;
  
+ import javax.swing.AbstractButton;
  import javax.swing.ButtonGroup;
 -import javax.swing.ButtonModel;
  import javax.swing.JCheckBoxMenuItem;
  import javax.swing.JComponent;
  import javax.swing.JEditorPane;
@@@ -70,7 -73,7 +72,8 @@@ import javax.swing.JLayeredPane
  import javax.swing.JMenu;
  import javax.swing.JMenuItem;
  import javax.swing.JPanel;
 +import javax.swing.JProgressBar;
+ import javax.swing.JRadioButtonMenuItem;
  import javax.swing.JScrollPane;
  import javax.swing.SwingUtilities;
  
@@@ -88,9 -81,22 +90,24 @@@ public class CalculationChooser extend
    private static final int MIN_TREE_SELECTION = 3;
  
    private static final int MIN_PCA_SELECTION = 4;
+   
+   private String secondaryStructureModelName;
+   
+   private void getSecondaryStructureModelName() {
+     
+     ScoreModels scoreModels = ScoreModels.getInstance();
+     for (ScoreModelI sm : scoreModels.getModels())
+     {
+       if (sm.isSecondaryStructure())
+       {
+         secondaryStructureModelName = sm.getName();
+       }
+     }
+     
+   }
  
 +  private static final int MIN_PASIMAP_SELECTION = 8; 
 +
    AlignFrame af;
  
    JRadioButton pca;
        }
      };
      pca.addActionListener(calcChanged);
 +    pasimap.addActionListener(calcChanged);   // add the calcChanged ActionListener to pasimap --> <++> idk
      neighbourJoining.addActionListener(calcChanged);
      averageDistance.addActionListener(calcChanged);
+     
+     
+     //to do    
+     ssSourceDropdown = buildSSSourcesOptionsList();
+     ssSourceDropdown.setVisible(false); // Initially hide the dropdown
  
      /*
       * score models drop-down - with added tooltips!
    protected void calculate_actionPerformed()
    {
      boolean doPCA = pca.isSelected();
 +    boolean doPaSiMap = pasimap.isSelected();
      String modelName = modelNames.getSelectedItem().toString();
-     SimilarityParamsI params = getSimilarityParameters(doPCA);
+     String ssSource = "";
+     Object selectedItem = ssSourceDropdown.getSelectedItem();
+     if (selectedItem != null) {
+         ssSource = selectedItem.toString();
+     }
+     SimilarityParams params = getSimilarityParameters(doPCA);
+     if(ssSource.length()>0)
+     {
+       params.setSecondaryStructureSource(ssSource);
+     }
 -    if (doPCA)
 +
 +    if (doPCA && !doPaSiMap)
      {
        openPcaPanel(modelName, params);
      }
Simple merge
Simple merge
@@@ -170,36 -104,19 +170,36 @@@ System.out.println("Creating pap")
  
          if (!first)
          {
-           System.out.println(DASHES);
+           jalview.bin.Console.outPrintln(DASHES);
            textarea.append(DASHES);
 +        sb.append(DASHES);
          }
          first = false;
 -        as.printAlignment(System.out);
 +        if (discardAlignments) {
 +          as.printAlignment(System.out);
 +      }
          scores[i][j] = as.getMaxScore() / as.getASeq1().length;
 +        alignmentScores[i][j] = as.getAlignmentScore();
          totscore = totscore + scores[i][j];
  
 -        textarea.append(as.getOutput());
 -        sequences.add(as.getAlignedSeq1());
 -        sequences.add(as.getAlignedSeq2());
 +      if (suppressTextbox)
 +      {
 +          textarea.append(as.getOutput());
 +        sb.append(as.getOutput());
 +      }
 +      if (discardAlignments)
 +      {
 +          sequences.add(as.getAlignedSeq1());
 +          sequences.add(as.getAlignedSeq2());
 +      }
 +
 +      firePropertyChange(PROGRESS, progress, ++progress);
        }
      }
 +    alignmentScores[count - 1][count - 1] = Float.NaN;
 +
 +    this.scores = scores;
 +    this.alignmentScores = alignmentScores;
  
      if (count > 2)
      {
Simple merge
Simple merge
Simple merge
Simple merge