X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=inline;f=test%2Fjalview%2Fws%2Fseqfetcher%2FDbRefFetcherTest.java;h=914520f8a87634ebb0cde4dd7c42fc06836f87e7;hb=41b0e9331ac71787c1280aa1d809f54c575fbf97;hp=de91af3eb3ad26733874801998bc7ed26de642d1;hpb=df2bf54c7050c42db156e96e73bbabce63e718d7;p=jalview.git diff --git a/test/jalview/ws/seqfetcher/DbRefFetcherTest.java b/test/jalview/ws/seqfetcher/DbRefFetcherTest.java index de91af3..914520f 100644 --- a/test/jalview/ws/seqfetcher/DbRefFetcherTest.java +++ b/test/jalview/ws/seqfetcher/DbRefFetcherTest.java @@ -30,10 +30,12 @@ import jalview.datamodel.AlignmentI; import jalview.datamodel.DBRefEntry; import jalview.datamodel.DBRefSource; import jalview.datamodel.FeatureProperties; +import jalview.datamodel.Sequence; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; import jalview.gui.JvOptionPane; import jalview.util.DBRefUtils; +import jalview.ws.DBRefFetcher; import jalview.ws.SequenceFetcher; import jalview.ws.dbsources.Pdb; import jalview.ws.dbsources.Uniprot; @@ -77,6 +79,26 @@ public class DbRefFetcherTest { } + @Test(groups= {"Network"}) + public void checkUniprotCanonicalFlagSet() + { + // TODO - mock this - for moment it is a live request. + SequenceI uniprotSeq = new Sequence("FER1_SPIOL", + "MAATTTTMMGMATTFVPKPQAPPMMAALPSNTGRSLFGLKTGSRGGRMTMAAYKVTLVTPTGNVEFQCPDDV" + + "YILDAAEEEGIDLPYSCRAGSCSSCAGKLKTGSLNQDDQSFLDDDQIDEGWVLTCAAYPVSDVTIETHKEEE" + + "LTA"); + DBRefFetcher dbr = new DBRefFetcher(new SequenceI[] { uniprotSeq }); + dbr.fetchDBRefs(true); + List primRefs = uniprotSeq.getPrimaryDBRefs(); + assertNotNull(primRefs); + assertTrue(primRefs.size()>0); + boolean canonicalUp=false; + for (DBRefEntry ref:primRefs) { + assertEquals(DBRefSource.UNIPROT, ref.getCanonicalSourceName()); + canonicalUp |= ref.isCanonical(); + } + assertTrue("No Canonical Uniprot reference detected", canonicalUp); + } /** * Tests that standard protein database sources include Uniprot (as the first) * and also PDB. (Additional sources are dependent on availability of DAS @@ -181,25 +203,25 @@ public class DbRefFetcherTest FeatureProperties.isCodingFeature(embl.getDbSource(), sfs.get(0).getType())); assertEquals(embl.getDbSource(), sfs.get(0).getFeatureGroup()); - DBRefEntry[] dr = DBRefUtils.selectRefs(seq.getDBRefs(), + List dr = DBRefUtils.selectRefs(seq.getDBRefs(), new String[] { DBRefSource.UNIPROT }); assertNotNull(dr); - assertEquals("Expected a single Uniprot cross reference", 1, dr.length); - assertEquals("Expected cross reference map to be one amino acid", dr[0] + assertEquals("Expected a single Uniprot cross reference", 1, dr.size()); + assertEquals("Expected cross reference map to be one amino acid", dr.get(0) .getMap().getMappedWidth(), 1); - assertEquals("Expected local reference map to be 3 nucleotides", dr[0] + assertEquals("Expected local reference map to be 3 nucleotides", dr.get(0) .getMap().getWidth(), 3); AlignmentI sprods = new CrossRef(alsq.getSequencesArray(), alsq) - .findXrefSequences(dr[0].getSource(), true); + .findXrefSequences(dr.get(0).getSource(), true); assertNotNull( "Couldn't recover cross reference sequence from dataset. Was it ever added ?", sprods); assertEquals("Didn't xref right number of records", 1, sprods.getHeight()); SequenceI proteinSeq = sprods.getSequenceAt(0); - assertEquals(proteinSeq.getSequenceAsString(), dr[0].getMap().getTo() + assertEquals(proteinSeq.getSequenceAsString(), dr.get(0).getMap().getTo() .getSequenceAsString()); - assertEquals(dr[0].getSource() + "|" + dr[0].getAccessionId(), + assertEquals(dr.get(0).getSource() + "|" + dr.get(0).getAccessionId(), proteinSeq.getName()); } }