1 package jalview.ext.ensembl;
3 import jalview.datamodel.Alignment;
4 import jalview.datamodel.SequenceI;
5 import jalview.ext.ensembl.SeqFetcher;
6 import jalview.ext.ensembl.SeqFetcher.EnsemblSeqType;
7 import jalview.io.AppletFormatAdapter;
8 import jalview.io.FastaFile;
9 import jalview.io.FileParse;
11 import java.lang.reflect.Method;
12 import java.util.Arrays;
14 import org.testng.Assert;
15 import org.testng.annotations.DataProvider;
16 import org.testng.annotations.Test;
18 public class SeqFetcherTest
21 public void testCheckEnsembl()
23 SeqFetcher sf = new SeqFetcher();
24 sf.setTestEnsemblStatus(true);
26 Assert.assertTrue(sf.isEnsemblAvailable());
27 sf.setTestEnsemblStatus(false);
28 Assert.assertFalse(sf.isEnsemblAvailable());
31 @Test(suiteName = "live")
32 public void testLiveCheckEnsembl()
34 SeqFetcher sf = new SeqFetcher();
35 boolean isAvailable = sf.isEnsemblAvailable();
36 System.out.println("Ensembl is "
37 + (isAvailable ? "UP!" : "DOWN ******************* BAD!"));
40 @DataProvider(name = "ens_seqs")
41 public Object[][] createData(Method m)
43 System.out.println(m.getName());
47 public static Object[][] allSeqs = new Object[][]
53 + "ATGGCGGCGCTGAGCGGTGGCGGTGGTGGCGGCGCGGAGCCGGGCCAGGCTCTGTTCAAC\n"
54 + "GGGGACATGGAGCCCGAGGCCGGCGCCGGCGCCGGCGCCGCGGCCTCTTCGGCTGCGGAC\n"
55 + "CCTGCCATTCCGGAGGAGGTGTGGAATATCAAACAAATGATTAAGTTGACACAGGAACAT\n"
56 + "ATAGAGGCCCTATTGGACAAATTTGGTGGGGAGCATAATCCACCATCAATATATCTGGAG\n"
57 + "GCCTATGAAGAATACACCAGCAAGCTAGATGCACTCCAACAAAGAGAACAACAGTTATTG\n"
58 + "GAATCTCTGGGGAACGGAACTGATTTTTCTGTTTCTAGCTCTGCATCAATGGATACCGTT\n"
59 + "ACATCTTCTTCCTCTTCTAGCCTTTCAGTGCTACCTTCATCTCTTTCAGTTTTTCAAAAT\n"
60 + "CCCACAGATGTGGCACGGAGCAACCCCAAGTCACCACAAAAACCTATCGTTAGAGTCTTC\n"
61 + "CTGCCCAACAAACAGAGGACAGTGGTACCTGCAAGGTGTGGAGTTACAGTCCGAGACAGT\n"
62 + "CTAAAGAAAGCACTGATGATGAGAGGTCTAATCCCAGAGTGCTGTGCTGTTTACAGAATT\n"
63 + "CAGGATGGAGAGAAGAAACCAATTGGTTGGGACACTGATATTTCCTGGCTTACTGGAGAA\n"
64 + "GAATTGCATGTGGAAGTGTTGGAGAATGTTCCACTTACAACACACAACTTTGTACGAAAA\n"
65 + "ACGTTTTTCACCTTAGCATTTTGTGACTTTTGTCGAAAGCTGCTTTTCCAGGGTTTCCGC\n"
66 + "TGTCAAACATGTGGTTATAAATTTCACCAGCGTTGTAGTACAGAAGTTCCACTGATGTGT\n"
67 + "GTTAATTATGACCAACTTGATTTGCTGTTTGTCTCCAAGTTCTTTGAACACCACCCAATA\n"
68 + "CCACAGGAAGAGGCGTCCTTAGCAGAGACTGCCCTAACATCTGGATCATCCCCTTCCGCA\n"
69 + "CCCGCCTCGGACTCTATTGGGCCCCAAATTCTCACCAGTCCGTCTCCTTCAAAATCCATT\n"
70 + "CCAATTCCACAGCCCTTCCGACCAGCAGATGAAGATCATCGAAATCAATTTGGGCAACGA\n"
71 + "GACCGATCCTCATCAGCTCCCAATGTGCATATAAACACAATAGAACCTGTCAATATTGAT\n"
72 + "GACTTGATTAGAGACCAAGGATTTCGTGGTGATGGAGGATCAACCACAGGTTTGTCTGCT\n"
73 + "ACCCCCCCTGCCTCATTACCTGGCTCACTAACTAACGTGAAAGCCTTACAGAAATCTCCA\n"
74 + "GGACCTCAGCGAGAAAGGAAGTCATCTTCATCCTCAGAAGACAGGAATCGAATGAAAACA\n"
75 + "CTTGGTAGACGGGACTCGAGTGATGATTGGGAGATTCCTGATGGGCAGATTACAGTGGGA\n"
76 + "CAAAGAATTGGATCTGGATCATTTGGAACAGTCTACAAGGGAAAGTGGCATGGTGATGTG\n"
77 + "GCAGTGAAAATGTTGAATGTGACAGCACCTACACCTCAGCAGTTACAAGCCTTCAAAAAT\n"
78 + "GAAGTAGGAGTACTCAGGAAAACACGACATGTGAATATCCTACTCTTCATGGGCTATTCC\n"
79 + "ACAAAGCCACAACTGGCTATTGTTACCCAGTGGTGTGAGGGCTCCAGCTTGTATCACCAT\n"
80 + "CTCCATATCATTGAGACCAAATTTGAGATGATCAAACTTATAGATATTGCACGACAGACT\n"
81 + "GCACAGGGCATGGATTACTTACACGCCAAGTCAATCATCCACAGAGACCTCAAGAGTAAT\n"
82 + "AATATATTTCTTCATGAAGACCTCACAGTAAAAATAGGTGATTTTGGTCTAGCTACAGTG\n"
83 + "AAATCTCGATGGAGTGGGTCCCATCAGTTTGAACAGTTGTCTGGATCCATTTTGTGGATG\n"
84 + "GCACCAGAAGTCATCAGAATGCAAGATAAAAATCCATACAGCTTTCAGTCAGATGTATAT\n"
85 + "GCATTTGGAATTGTTCTGTATGAATTGATGACTGGACAGTTACCTTATTCAAACATCAAC\n"
86 + "AACAGGGACCAGATAATTTTTATGGTGGGACGAGGATACCTGTCTCCAGATCTCAGTAAG\n"
87 + "GTACGGAGTAACTGTCCAAAAGCCATGAAGAGATTAATGGCAGAGTGCCTCAAAAAGAAA\n"
88 + "AGAGATGAGAGACCACTCTTTCCCCAAATTCTCGCCTCTATTGAGCTGCTGGCCCGCTCA\n"
89 + "TTGCCAAAAATTCACCGCAGTGCATCAGAACCCTCCTTGAATCGGGCTGGTTTCCAAACA\n"
90 + "GAGGATTTTAGTCTATATGCTTGTGCTTCTCCAAAAACACCCATCCAGGCAGGGGGATAT\n"
91 + "GGTGCGTTTCCTGTCCACTGA" } };
93 @Test(dataProvider = "ens_seqs", suiteName = "live")
94 public void testGetOneSeqs(EnsemblSeqType type, String sq, String fastasq)
97 SeqFetcher sf = new SeqFetcher();
98 FileParse fp = sf.getSequenceReader(type, Arrays.asList(new String[]
100 SequenceI[] sqs = new FastaFile(fp).getSeqsAsArray();
101 FastaFile trueRes = new FastaFile(fastasq, AppletFormatAdapter.PASTE);
102 SequenceI[] trueSqs = trueRes.getSeqsAsArray();
103 Assert.assertEquals(sqs.length, trueSqs.length,
104 "Different number of sequences retrieved for query " + sq);
105 Alignment ral = new Alignment(sqs);
106 for (SequenceI tr : trueSqs)
109 Assert.assertNotNull(
110 rseq = ral.findSequenceMatch(tr.getName()),
111 "Couldn't find sequences matching expected sequence "
113 Assert.assertEquals(rseq.length, 1,
114 "Expected only one sequence for sequence ID " + tr.getName());
116 rseq[0].getSequenceAsString(),
117 tr.getSequenceAsString(),
118 "Sequences differ for " + tr.getName() + "\n" + "Exp:"
119 + tr.getSequenceAsString() + "\n" + "Got:"
120 + rseq[0].getSequenceAsString());