[Jalview-discuss] How can I use alignment viewer in my programs?

Huseyin Kaya hkaya at iontek.com.tr
Wed Dec 9 15:15:30 GMT 2009


Hello,

I want to use alignment viewing capability and other features of Jalview
in my programs. For this, i create new classes encapsulation necessary 
Jalview
components. However i have hard time to decide which components
to use and what to change. Below is an example of my way of using Jalview.
I will be glad if someone points out the steps of doing this right.

Huseyin

import jalview.datamodel.Alignment;
import jalview.gui.AlignFrame;
import jalview.io.AlignFile;
import jalview.io.ClustalFile;

import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.IOException;

import javax.swing.JFrame;

/*
 * Test to see if i can use Jalview's alignment displayer
 * independently.
 */
public class JalviewTest
{
    public static void main(String[] args)
    {
        JalviewTest test = new JalviewTest();
        test.createAndShowGUI();
    }
   
    private void createAndShowGUI()
    {
        JalviewFrame frame = new JalviewFrame(new File("C:\\HDV.aln"));   
        frame.pack();
        frame.setVisible(true);
        frame.setSize(400,400);
        frame.addWindowListener(new WindowAdapter()
        {
            public void windowClosing(WindowEvent e)
            {
                System.exit(0);
            }
        });
    }

    class JalviewFrame extends JFrame
    {
        AlignFrame alignFrame ;       
        File  alignmentFile ;
       
        private static final long    serialVersionUID    = 1L;
       
        public JalviewFrame(File file)
        {
            super(file.getName());
            alignmentFile = file;
            init();
        }

        private void init()
        {
            AlignFile afile = null;
            try
            {
                afile = new 
ClustalFile(alignmentFile.getAbsolutePath(),"File");
            } catch (IOException e)
            {
                e.printStackTrace();
                return;
            }
           
            Alignment alignment = new 
Alignment(afile.getSeqsAsArray());           
            afile.addAnnotations(alignment);    
            alignFrame = new AlignFrame(
                    alignment,
                    AlignFrame.DEFAULT_WIDTH,
                    AlignFrame.DEFAULT_HEIGHT);
            this.setContentPane(alignFrame.getContentPane());
            this.setJMenuBar(alignFrame.getJMenuBar());          
        }
    }
}




More information about the Jalview-discuss mailing list