⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alignjframe.java

📁 emboss的linux版本的源代码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
      public void actionPerformed(ActionEvent e)      {        matFrame.setMatrix(mat);        matFrame.setVisible(true);        matFrame.toFront();      }    });// colour display    JMenuItem showColour = new JMenuItem("Colour Display");    viewMenu.add(showColour);    final ColourJFrame colFrame = new ColourJFrame(this);    showColour.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        Point pos = getLocationOnScreen();        pos.x = pos.x + getWidth();        if(pos.x+colFrame.getWidth() > dScreen.getWidth())          pos.x = (int)(dScreen.getWidth()-colFrame.getWidth());        colFrame.setLocation(pos);        colFrame.setCurrentColour(currentColour);        colFrame.setVisible(true);        colFrame.toFront();      }    });    viewMenu.add(new JSeparator());         colourMenus(viewMenu);   //pretty plot    final JMenuItem pretty = new JMenuItem("Colour Identical/Matches");    viewMenu.add(pretty);    viewMenu.add(new JSeparator());//draw black box    final JCheckBoxMenuItem drawBoxes = new JCheckBoxMenuItem("Draw boxes",false);    drawBoxes.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        gsc.setDrawBoxes(drawBoxes.isSelected());      }    });    viewMenu.add(drawBoxes);//draw colored boxes    final JCheckBoxMenuItem drawColorBox = new JCheckBoxMenuItem("Colour boxes",true);    drawColorBox.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        gsc.setDrawColor(drawColorBox.isSelected());      }    });    viewMenu.add(drawColorBox);    pretty.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        if(ppj == null)          ppj = new PrettyPlotJFrame(gsc);        else          ppj.setGraphicSequenceCollection(gsc);        gsc.setMatrix(mat);        ppj.setVisible(true);      }    });    menuBar.add(viewMenu);// calculate menu    JMenu calculateMenu = new JMenu("Calculate");    menuBar.add(calculateMenu);// consensus sequence    final ConsensusOptions options = new ConsensusOptions(jspSequence);    calculateCons.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        setCursor(cbusy);        gsc.deleteSequence("Consensus");        float wgt = getTotalWeight(gsc.getSequenceCollection());        float plu = 0.f;        try        {          plu = options.getPlurality();        }        catch(NumberFormatException nfe)        {          plu = wgt/2.f;        }        float cas = 0.f;        try        {          cas = options.getCase();        }        catch(NumberFormatException nfe)        {          cas = wgt/2.f;        }        Consensus conseq = new Consensus(mat,                       gsc.getSequenceCollection(),                    plu,cas,                    options.getIdentity());        int fontSize = gsc.getFontSize();        gsc.addSequence(conseq.getConsensusSequence(),true,0,fontSize);//      if(pretty.isSelected())//        gsc.setPrettyPlot(pretty.isSelected(),ppj);        Dimension dpane = gsc.getPanelSize();        gsc.setPreferredSize(dpane);        gsc.setNamePanelWidth(gsc.getNameWidth());        jspSequence.setViewportView(gsc);        setCursor(cdone);        calculateCons.setText("Recalculate consensus");      }    });    calculateMenu.add(calculateCons);        JMenuItem consOptions = new JMenuItem("Set consensus options...");    consOptions.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        try        {          Vector vseq = gsc.getSequenceCollection();//        Enumeration enumer = vseq.elements();          float wgt = getTotalWeight(gsc.getSequenceCollection());          options.setCase(wgt/2.f);          options.setPlurality(wgt/2.f);          options.setGraphicSequenceCollection(gsc);        }        catch(NullPointerException npe){}        options.setMatrix(mat);        options.setVisible(true);      }    });    calculateMenu.add(consOptions);    calculateMenu.add(new JSeparator());// %age identity between pairs    JMenuItem calculateId = new JMenuItem("Identity table");    calculateId.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        IDTableJFrame idtab = new IDTableJFrame(gsc.getSequenceCollection());        idtab.setVisible(true);      }    });    calculateMenu.add(calculateId);    calculateMenu.add(new JSeparator());// consensus plot    calculatePlotCon.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        setCursor(cbusy);        gsc.showConsensusPlot(mat,2);        setCursor(cdone);        calculatePlotCon.setText("Recalculate Consensus plot");      }    });    calculateMenu.add(calculatePlotCon);    calculateMenu.add(new JSeparator());// sort by id    JMenuItem test = new JMenuItem("Sort by ID");    calculateMenu.add(test);    test.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        gsc.idSort();        jspSequence.setViewportView(gsc);      }    });    // font menu    String sizes[] = {"10", "12", "14", "16", "18"};    final JComboBox fntSize = new JComboBox(sizes);    fntSize.setSelectedItem("12");    menuBar.add(fntSize);    fntSize.setEditable(true);    Dimension dfont = new Dimension(50,20);    fntSize.setPreferredSize(dfont);    fntSize.setMaximumSize(dfont);    fntSize.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        String fsize = (String)fntSize.getSelectedItem();        if(gsc !=null)          gsc.setFontSizeForCollection(Integer.parseInt(fsize));      }    });    setJMenuBar(menuBar);// help manu    JMenu helpMenu = new JMenu("Help");    menuBar.add(helpMenu);        JMenuItem aboutMenu = new JMenuItem("About");    helpMenu.add(aboutMenu);    aboutMenu.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        ClassLoader cl = this.getClass().getClassLoader();        try        {          URL inURL = cl.getResource("resources/readmeAlign.html");          new Browser(inURL,"resources/readmeAlign.html");        }        catch (Exception ex)        {          JOptionPane.showMessageDialog(null,                              "Jemboss Alignment Viewer Guide not found!",                              "Error", JOptionPane.ERROR_MESSAGE);        }      }    });// set size of sequence panel    Dimension d = new Dimension(700,300);    jspSequence.setPreferredSize(d);    JPanel seqNamePanel = new JPanel(new BorderLayout());    seqNamePanel.add(jspSequence,BorderLayout.CENTER);    mainPane.add(jspSequence,BorderLayout.CENTER);    Border loweredbevel = BorderFactory.createLoweredBevelBorder();    Border raisedbevel = BorderFactory.createRaisedBevelBorder();    Border compound = BorderFactory.createCompoundBorder(raisedbevel,loweredbevel);    statusField.setBorder(compound);    statusField.setEditable(false);    statusField.setText("Current matrix: "+mat.getCurrentMatrixName());    mainPane.add(statusField,BorderLayout.SOUTH);    addWindowListener(new winExit());    pack();    setLocation( (int)(dScreen.getWidth()-getWidth())/3,                 (int)(dScreen.getHeight()-getHeight())/3 );  }  public static float getTotalWeight(Vector vseq)  {    float wgt = 0.f;    vseq = gsc.getSequenceCollection();    Enumeration enumer = vseq.elements();    while(enumer.hasMoreElements())    {      Sequence s = (Sequence)enumer.nextElement();      if(!s.getName().equals("Consensus"))        wgt+=s.getWeight();    }    return wgt;  }  /**  *  * Set the scoring matrix  * @param mat 	scoring matrix to use  *  */  public void setMatrix(Matrix mat)  {    this.mat = mat;  }  /**  *  * Force a re-display of the sequences with a new colour  * scheme.  * @param hash		hash of the colour scheme  *  */  public void repaintSequences(Hashtable hash)  {    gsc.setColorScheme(hash);    gsc.repaint();  }  /**  *  * Given a Vector of Sequence display them in the editor  * @param seqVector	vector containing Sequence objects  *  */  protected void openMethod(Vector seqVector)  {    gsc = new GraphicSequenceCollection(seqVector,                                   jspSequence,true,false,true,true,                                   statusField);// set colour scheme    gsc.setColorScheme(SequenceProperties.residueColor);    currentColour = (Hashtable)SequenceProperties.residueColor.clone();    residueColor.setSelected(true);    jspSequence.setViewportView(gsc);    colourScheme("Residue colour");  }  /**  *  * Update the status bar with the selected colour scheme  * being used.  * @param colScheme 	name of colour scheme  *  */  protected void colourScheme(String colScheme)  {    String status = statusField.getText();    int ncol = status.indexOf("Colour Scheme: ");    if(ncol > -1)      statusField.setText(status.substring(0,ncol)+                          "Colour Scheme: "+colScheme);    else      statusField.setText(status+"              "+                          "Colour Scheme: "+colScheme);  }  /**  *  * Constructs the colour menus  *  */  private void colourMenus(JMenu viewMenu)  {    ButtonGroup group = new ButtonGroup();// property colour menus    JMenu propertyMenu = new JMenu("Colour by Property");    viewMenu.add(propertyMenu);    JCheckBoxMenuItem acidColor =                new JCheckBoxMenuItem("Red=acidic, Blue=basic");    propertyMenu.add(acidColor);    group.add(acidColor);    acidColor.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        gsc.setColorScheme(SequenceProperties.acidColor);        jspSequence.setViewportView(gsc);        currentColour = SequenceProperties.acidColor;        colourScheme("Red=acidic, Blue=basic");      }    });    JCheckBoxMenuItem polarColor =                new JCheckBoxMenuItem("Red=polar");    propertyMenu.add(polarColor);    group.add(polarColor);    polarColor.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        gsc.setColorScheme(SequenceProperties.polarColor);        jspSequence.setViewportView(gsc);        currentColour = SequenceProperties.polarColor;        colourScheme("Red=polar");      }    });    JCheckBoxMenuItem hydrophobicColor =                new JCheckBoxMenuItem("Red=Hydrophobic");    propertyMenu.add(hydrophobicColor);    group.add(hydrophobicColor);    hydrophobicColor.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        gsc.setColorScheme(SequenceProperties.hydrophobicColor);        jspSequence.setViewportView(gsc);        currentColour = SequenceProperties.hydrophobicColor;        colourScheme("Red=Hydrophobic");      }    });    JCheckBoxMenuItem aromaticColor =                new JCheckBoxMenuItem("Red=Aromatic, Blue=Aliphatic");    propertyMenu.add(aromaticColor);    group.add(aromaticColor);    aromaticColor.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        gsc.setColorScheme(SequenceProperties.aromaticColor);        jspSequence.setViewportView(gsc);        currentColour = SequenceProperties.aromaticColor;        colourScheme("Red=Aromatic, Blue=Aliphatic");      }    });    JCheckBoxMenuItem surfaceColor =               new JCheckBoxMenuItem("Red=Surface, Blue=Buried");    propertyMenu.add(surfaceColor);    group.add(surfaceColor);    surfaceColor.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        gsc.setColorScheme(SequenceProperties.surfaceColor);        jspSequence.setViewportView(gsc);        currentColour = SequenceProperties.surfaceColor;        colourScheme("Red=Surface, Blue=Buried");      }    });    JCheckBoxMenuItem chargeColor  =               new JCheckBoxMenuItem("Red=Positive, Blue=Negative");    propertyMenu.add(chargeColor);    group.add(chargeColor);    chargeColor.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        gsc.setColorScheme(SequenceProperties.chargeColor);        jspSequence.setViewportView(gsc);        currentColour = SequenceProperties.chargeColor;        colourScheme("Red=Positive, Blue=Negative");      }    });

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -