3 import static org.testng.Assert.assertEquals;
4 import static org.testng.Assert.assertNotEquals;
5 import static org.testng.Assert.fail;
7 import jalview.bin.Jalview;
8 import jalview.datamodel.Alignment;
9 import jalview.datamodel.AlignmentI;
10 import jalview.datamodel.HiddenMarkovModel;
11 import jalview.datamodel.SequenceI;
12 import jalview.gui.AlignFrame;
13 import jalview.gui.Desktop;
14 import jalview.io.DataSourceType;
15 import jalview.io.FastaFile;
16 import jalview.io.FileParse;
18 import java.io.IOException;
19 import java.net.MalformedURLException;
20 import java.util.List;
22 import org.testng.annotations.AfterClass;
23 import org.testng.annotations.BeforeClass;
24 import org.testng.annotations.Test;
27 public class HMMERTest {
31 @BeforeClass(alwaysRun = true)
32 public static void setUpBeforeClass() throws Exception
36 { "-noquestionnaire", "-nonews", "-props",
37 "test/jalview/hmmer/testProps.jvprops" });
40 @AfterClass(alwaysRun = true)
41 public static void tearDownAfterClass() throws Exception
43 Desktop.instance.closeAll_actionPerformed(null);
47 public void testHMMBuild() throws MalformedURLException, IOException
49 FastaFile file = null;
53 new FileParse("examples/uniref50.fa", DataSourceType.FILE));
54 } catch (IOException e)
59 SequenceI[] seqs = file.getSeqsAsArray();
60 AlignmentI al = new Alignment(seqs);
61 frame = new AlignFrame(al, 150, 20);
63 HMMBuildThread thread = new HMMBuildThread(frame);
64 thread.hmmbuildWaitTillComplete();
66 SequenceI seq = frame.getViewport().getAlignment().getSequenceAt(0);
67 HiddenMarkovModel hmm = seq.getHMM();
73 assertEquals(hmm.getLength().intValue(), 148);
74 assertEquals(hmm.getAlphabetType(), "amino");
75 assertEquals(hmm.getName(), "Alignment");
76 assertEquals(hmm.getEffectiveNumberOfSequences(), 0.648193, 0.0001);
77 assertEquals(hmm.getConsensusAtAlignColumn(15), 's');
81 public void testHMMAlign() throws MalformedURLException, IOException
83 HMMAlignThread thread = new HMMAlignThread(frame, true);
86 thread.hmmalignWaitTillComplete();
93 if (Desktop.getAlignFrames() == null)
98 AlignFrame frame = Desktop.getAlignFrames()[0];
99 AlignmentI al = frame.getViewport().getAlignment();
100 assertNotEquals(al, null);
101 List<SequenceI> hmmSeqs = al.getHMMConsensusSequences(false);
102 assertNotEquals(hmmSeqs, null);