+ * Initialises the hmmer tabbed panel
+ *
+ * @return
+ */
+ private JPanel initHMMERTab()
+ {
+ hmmerTab.setLayout(null);
+ final int lineSpacing = 20;
+
+ /*
+ * path to hmmer binaries folder
+ */
+ JLabel hmmerLocation = new JLabel(
+ MessageManager.getString("label.hmmer_location"));
+ hmmerLocation.setFont(LABEL_FONT);
+ int xPos = 22;
+ int yPos = 10;
+ hmmerLocation.setBounds(new Rectangle(xPos, yPos, 250, 23));
+ yPos += lineSpacing;
+ hmmerPath.setBounds(new Rectangle(xPos, yPos, 300, 23));
+ hmmerPath.addMouseListener(new MouseAdapter()
+ {
+ @Override
+ public void mouseClicked(MouseEvent e)
+ {
+ if (e.getClickCount() == 2)
+ {
+ String chosen = openFileChooser(true);
+ if (chosen != null)
+ {
+ hmmerPath.setText(chosen);
+ validateHmmerPath();
+ }
+ }
+ }
+ });
+ hmmerTab.add(hmmerLocation);
+ hmmerTab.add(hmmerPath);
+
+ /*
+ * path to Cygwin binaries folder (for Windows)
+ */
+ if (Platform.isWindows())
+ {
+ JLabel cygwinLocation = new JLabel(
+ MessageManager.getString("label.cygwin_location"));
+ cygwinLocation.setFont(LABEL_FONT);
+ yPos += lineSpacing * 2;
+ cygwinLocation.setBounds(new Rectangle(xPos, yPos, 250, 23));
+ yPos += lineSpacing;
+ cygwinPath.setBounds(new Rectangle(xPos, yPos, 300, 23));
+ cygwinPath.addMouseListener(new MouseAdapter()
+ {
+ @Override
+ public void mouseClicked(MouseEvent e)
+ {
+ if (e.getClickCount() == 2)
+ {
+ String chosen = openFileChooser(true);
+ if (chosen != null)
+ {
+ cygwinPath.setText(chosen);
+ validateCygwinPath();
+ }
+ }
+ }
+ });
+ hmmerTab.add(cygwinLocation);
+ hmmerTab.add(cygwinPath);
+ }
+
+ /*
+ * preferences for hmmalign
+ */
+ yPos += lineSpacing * 2;
+ JPanel alignOptions = new JPanel(new FlowLayout(FlowLayout.LEFT));
+ JvSwingUtils.createTitledBorder(alignOptions,
+ MessageManager.getString("label.hmmalign_label"), true);
+ yPos += lineSpacing;
+ hmmrTrimTermini.setFont(LABEL_FONT);
+ hmmrTrimTermini.setText(MessageManager.getString("label.trim_termini"));
+ alignOptions.add(hmmrTrimTermini);
+ hmmerTab.add(alignOptions);
+ alignOptions.setBounds(new Rectangle(xPos, yPos, 300, 43));
+
+ /*
+ * preferences for hmmsearch
+ */
+ yPos += lineSpacing * 3;
+ JPanel searchOptions = new JPanel(new FlowLayout(FlowLayout.LEFT));
+ JvSwingUtils.createTitledBorder(searchOptions,
+ MessageManager.getString("label.hmmsearch_label"), true);
+ searchOptions.setBounds(new Rectangle(xPos, yPos, 300, 43));
+ JLabel sequencesToKeep = new JLabel(
+ MessageManager.getString("label.no_of_sequences"));
+ sequencesToKeep.setFont(LABEL_FONT);
+ // hmmerSequenceCount.setBounds(new Rectangle(xPos + 250, yPos, 60, 23));
+ searchOptions.add(sequencesToKeep);
+ searchOptions.add(hmmerSequenceCount);
+ hmmerTab.add(searchOptions);
+
+ ButtonGroup backgroundFreqSource = new ButtonGroup();
+ backgroundFreqSource.add(hmmerBackgroundUniprot);
+ backgroundFreqSource.add(hmmerBackgroundAlignment);
+ backgroundFreqSource.setSelected(hmmerBackgroundUniprot.getModel(), true);
+
+ /*
+ * preferences for Information Content annotation
+ */
+ yPos += lineSpacing * 3;
+ hmmerBackgroundUniprot.setText(MessageManager.getString("label.freq_uniprot"));
+ hmmerBackgroundUniprot.setFont(LABEL_FONT);
+ hmmerBackgroundUniprot.setBounds(new Rectangle(xPos, yPos, 255, 23));
+
+ yPos += lineSpacing;
+ hmmerBackgroundAlignment.setText(MessageManager.getString("label.freq_alignment"));
+ hmmerBackgroundAlignment.setFont(LABEL_FONT);
+ hmmerBackgroundAlignment.setBounds(new Rectangle(xPos, yPos, 300, 23));
+
+ hmmerTab.add(hmmerBackgroundUniprot);
+ hmmerTab.add(hmmerBackgroundAlignment);
+
+ return hmmerTab;
+ }
+
+ /**