On 28 Jun 2004, at 21:44, [EMAIL PROTECTED] wrote:
I am trying to use DistributionLogo class to represent a PSSM for a transcription factor. I can generate DistributionLogos for each position but can't merge them together to form a nice looking single logo to be displayed on a panel. Basically,I don't know how to control the color or the size. can someone show me how this class works or give me some sample code of how this class works?
Hi Xuegong,
I generally use the following code, which creates a row of DistributionLogo objects, for displaying a BioJava WeightMatrix (i.e. PSSM) objects. Can this be adapted to do what you want?
Thomas.
import java.awt.*;
import javax.swing.*;
import org.biojava.bio.*; import org.biojava.bio.dist.Distribution; import org.biojava.bio.dp.WeightMatrix; import org.biojava.bio.gui.*;
public class WMPanel extends JPanel {
private WeightMatrix wm;
private DistributionLogo[] logos; public WMPanel(WeightMatrix wm) {
super();
this.wm = wm;
setBackground(Color.white);RenderingHints hints = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
try {
setLayout(new GridLayout(1, wm.columns()));
logos = new DistributionLogo[wm.columns()];
for (int pos = 0; pos < wm.columns(); ++pos) {
Distribution dist = wm.getColumn(pos);
DistributionLogo dl = new DistributionLogo();
dl.setRenderingHints(hints);
dl.setBackground(Color.white);
dl.setOpaque(true);
dl.setDistribution(dist);
dl.setPreferredSize(new Dimension(40, 50));
dl.setLogoPainter(new TextLogoPainter());
dl.setStyle(new DNAStyle());
add(dl);
logos[pos] = dl;
}
} catch (BioException ex) {
throw new BioError(ex);
}
}public static void wmViewer(WeightMatrix wm, String message)
{
WMPanel wmv = new WMPanel(wm);
JFrame frame = new JFrame("Weight matrix viewer" + ((message == null) ? "" : (" (" + message + ")")));
frame.getContentPane().add(wmv);
frame.pack();
frame.setVisible(true);
}
}
_______________________________________________ Biojava-l mailing list - [EMAIL PROTECTED] http://biojava.org/mailman/listinfo/biojava-l
