public static boolean isPrimaryCandidate(String ucversion)
{
+ if (ucversion==null)
+ {
+ // Null/empty version is not a real reference ?
+ return false;
+ }
// tricky - this test really needs to search the sequence's set of dbrefs to
// see if there is a primary reference that derived this reference.
for (int i = allSources.length; --i >= 0;)
private static final String NOT_OBSERVED = "Not_Observed";
- private static final String SIFTS_FTP_BASE_URL = "http://ftp.ebi.ac.uk/pub/databases/msd/sifts/xml/";
+ private static final String SIFTS_SPLIT_FTP_BASE_URL = "https://ftp.ebi.ac.uk/pub/databases/msd/sifts/split_xml/";
private final static String NEWLINE = System.lineSeparator();
pdbId = pdbId.replace(".cif", "");
}
String siftFile = pdbId + ".xml.gz";
- String siftsFileFTPURL = SIFTS_FTP_BASE_URL + siftFile;
+ String siftsFileFTPURL = getDownloadUrlFor(siftFile);
/*
* Download the file from URL to either
return downloadTo;
}
+ public static String getDownloadUrlFor(String siftFile)
+ {
+ return SIFTS_SPLIT_FTP_BASE_URL +siftFile.substring(1, 3)+"/"+siftFile;
+ }
+
/**
* Delete the SIFTs file for the given PDB Id in the local SIFTs download
* directory
SiftsSettings.setCacheThresholdInDays("2");
SiftsSettings.setFailSafePIDThreshold("70");
PDBfile pdbFile;
+
pdbFile = new PDBfile(false, false, false,
"test/jalview/io/" + testPDBId + ".pdb", DataSourceType.FILE);
+ // TODO: this uses a network connection - we should mock the sifts testPDBId.xml.gz
siftsClient = new SiftsClient(pdbFile);
}
{
siftsClient = null;
}
+
+ @Test(groups= {"Functional"})
+ public void testSIFTsDownloadURL() {
+ String expectedUrl = "https://ftp.ebi.ac.uk/pub/databases/msd/sifts/split_xml/xy/1xyz.sifts.xml.gz";
+ Assert.assertEquals(SiftsClient.getDownloadUrlFor("1xyz.sifts.xml.gz"), expectedUrl);
+ }
@Test(groups = { "Network" })
public void getSIFTsFileTest() throws SiftsException, IOException
long t1 = siftsFile.lastModified();
// re-read file should be returned from cache
- siftsFile = SiftsClient.downloadSiftsFile(testPDBId);
+ siftsFile = SiftsClient.getSiftsFile(testPDBId);
FileAssert.assertFile(siftsFile);
long t2 = siftsFile.lastModified();
assertEquals(t1, t2);
{
SequenceI invalidTestSeq = new Sequence("testSeq", "ABCDEFGH");
DBRefEntry invalidDBRef = new DBRefEntry();
- invalidDBRef.setAccessionId("BLAR");
+ invalidDBRef.setAccessionId("BLAR"); // note no version is set, so also invalid
invalidTestSeq.addDBRef(invalidDBRef);
siftsClient.getValidSourceDBRef(invalidTestSeq);
}