bamPathEdit = new JTextField(40);
bamPathEdit.setToolTipText("Path to BAM alignment file");
add(bamPathEdit, "grow");
browseBamButton = new JButton("...");
browseBamButton.addActionListener( new BrowseButtonActionListener(this,
bamPathEdit, "BAM files", "bam"));
add(browseBamButton, "align center, wrap");
add(new JLabel("Annotation file:"), "");
gffPathEdit = new JTextField(40);
gffPathEdit.setToolTipText("File with the definition of the regions for the features in Ensembl GTF format).");
add(gffPathEdit, "grow");
browseGffButton = new JButton();
browseGffButton.setText("...");
browseGffButton.addActionListener(new BrowseGffButtonListener(this, gffPathEdit));
browseBamButton.addActionListener(this);
add(browseGffButton, "align center, wrap");
add(new JLabel("Protocol:"));
String[] protocolComboItems = LibraryProtocol.getProtocolNames();
strandTypeCombo = new JComboBox<String>(protocolComboItems);
strandTypeCombo.setToolTipText("Select the corresponding sequencing protocol");
strandTypeCombo.addActionListener(this);
add(strandTypeCombo, "wrap");
outputCountsBox = new JCheckBox("Output gene counts");
outputCountsBox.addActionListener(this);
add(outputCountsBox, "wrap");
countsPathLabel = new JLabel("Path:");
add( countsPathLabel );
countsPathEdit = new JTextField(40);
countsPathEdit.setToolTipText("Path to the file which will contain output gene counts");
add(countsPathEdit, "grow");
browseCountsFileButton = new JButton("...");
browseCountsFileButton.addActionListener(new BrowseButtonActionListener(this,
countsPathEdit, "Counts file", false));
add(browseCountsFileButton, "align center, wrap");
advancedOptions = new JCheckBox("Advanced options:");
advancedOptions.addActionListener(this);