private JPanel createNodesInputDataPanel(final boolean src) {

			JPanel panel = new JPanel(false);
			String title = src ? " Source genes/proteins: "
					: " Target genes/proteins: ";
			setBorder(panel, title);

			final JRadioButton browseMode = new JRadioButton("Read from file");
			browseMode
					.setToolTipText(" There should be one name per line in the input file ");
			final JRadioButton textMode = new JRadioButton(
					"List of names                        ");
			textMode.setToolTipText(" Genes/Proteins should be separated by comma ");

			ButtonGroup group = new ButtonGroup();
			group.add(browseMode);
			group.add(textMode);
			textMode.setSelected(true);
			group.setSelected(textMode.getModel(), true);

			final JPanel browseOuterPanel = new JPanel(false);

			JPanel browsePanel = new JPanel(false);
			final JTextField fileAddress = new JTextField(20);
			
			
			final JButton browseButton = new JButton("Browse");
			browsePanel.add(browseButton);
			browsePanel.add(fileAddress);
			browseOuterPanel.add(browseMode);
			browseOuterPanel.add(browsePanel);

			BalloonTipStyle btStyle = new RoundedBalloonStyle(5, 5, new Color(255, 255, 204), new Color(204, 204, 0));
			btStyle.setHorizontalOffset(20);
			btStyle.setVerticalOffset(10);
			BalloonTip bt;
			if (src)
			{
				bt = new BalloonTip(browseButton, 
						"<html>There should be one name per line in the input file. <br><br><i>e.g.<i> <br>pou5f1 <br>nanog <br>sall4</html>",
						btStyle, false);
			}	
			else
			{
				bt = new BalloonTip(browseButton, 
						"<html>There should be one name per line in the input file. <br><br><i>e.g.<i> <br>cdx2 <br>eomes <br>tead4</html>",
						btStyle,
						false);
			}
			ToolTipUtils.balloonToToolTip(bt, 1, 7000);

			final JPanel textOuterPanel = new JPanel(false);
			textOuterPanel.setLayout(new FlowLayout());
			JPanel textPanel = new JPanel(false);
			final JTextField textfield = new JTextField(20);
			BalloonTip bt2;
			if (src)
			{
				bt2 = new BalloonTip(textfield, 
						"<html>Genes/Proteins sholud be separated by comma. <br><i>e.g.<i> pou5f1, nanog, sall4</html>",
						btStyle, false);
			}	
			else
			{
				bt2 = new BalloonTip(textfield, 
						"<html>Genes/Proteins sholud be separated by comma. <br><i>e.g.<i> cdx2, eomes, tead4</html>",
						btStyle,
						false);
			}
			ToolTipUtils.balloonToToolTip(bt2, 1, 7000);
			/*
			if (src)
				textfield.setText("nanog, pou5f1, sall4");
			else
				textfield.setText("cdx2, eomes, tead4");
			 */
			textPanel.add(textfield);
			textOuterPanel.add(textMode);
			textOuterPanel.add(textPanel);

			panel.setLayout(new GridLayout(2, 1));
			panel.add(textOuterPanel);
			panel.add(browseOuterPanel);

			browseOuterPanel.setEnabled(false);
			browseButton.setEnabled(false);
			fileAddress.setEnabled(false);

			if (src) {
				srcTextField = textfield;
				srcfileAddress = fileAddress;
			} else {
				dstTextField = textfield;
				dstfileAddress = fileAddress;
			}

			final JFileChooser fc = new JFileChooser();

			browseButton.addActionListener(new ActionListener() {

				@Override
				public void actionPerformed(ActionEvent arg0) {
					int returnVal = fc.showOpenDialog(null);

					if (returnVal == JFileChooser.APPROVE_OPTION) {
						File file = fc.getSelectedFile();
						fileAddress.setText(file.getAbsolutePath());
					}
				}
			});
			if (src)
				srcActionListener = browseButton.getActionListeners()[0];
			else
				dstActionListener = browseButton.getActionListeners()[0];
			ChangeListener myChangeListener = new ChangeListener() {
				@Override
				public void stateChanged(ChangeEvent arg0) {
					if (browseMode.isSelected()) {
						textOuterPanel.setEnabled(false);
						textfield.setEnabled(false);
						if (src)
							srcFromFile = true;
						else
							dstFromFile = true;

						browseOuterPanel.setEnabled(true);
						browseButton.setEnabled(true);
						fileAddress.setEnabled(true);

					} else {
						textOuterPanel.setEnabled(true);
						textfield.setEnabled(true);
						if (src)
							srcFromFile = false;
						else
							dstFromFile = false;
						browseOuterPanel.setEnabled(false);
						browseButton.setEnabled(false);
						fileAddress.setEnabled(false);
					}
				}
			};
			browseMode.addChangeListener(myChangeListener);
			textMode.addChangeListener(myChangeListener);

			return panel;
		}