git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'releases/Release_2_11_3_Branch'
[jalview.git]
/
src
/
jalview
/
ws
/
sifts
/
SiftsClient.java
diff --git
a/src/jalview/ws/sifts/SiftsClient.java
b/src/jalview/ws/sifts/SiftsClient.java
index
ae58082
..
58e0b29
100644
(file)
--- a/
src/jalview/ws/sifts/SiftsClient.java
+++ b/
src/jalview/ws/sifts/SiftsClient.java
@@
-20,6
+20,8
@@
*/
package jalview.ws.sifts;
*/
package jalview.ws.sifts;
+import java.util.Locale;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@
-55,6
+57,7
@@
import jalview.analysis.scoremodels.ScoreMatrix;
import jalview.analysis.scoremodels.ScoreModels;
import jalview.api.DBRefEntryI;
import jalview.api.SiftsClientI;
import jalview.analysis.scoremodels.ScoreModels;
import jalview.api.DBRefEntryI;
import jalview.api.SiftsClientI;
+import jalview.bin.Console;
import jalview.datamodel.DBRefEntry;
import jalview.datamodel.DBRefSource;
import jalview.datamodel.SequenceI;
import jalview.datamodel.DBRefEntry;
import jalview.datamodel.DBRefSource;
import jalview.datamodel.SequenceI;
@@
-114,7
+117,7
@@
public class SiftsClient implements SiftsClientI
private static final String NOT_OBSERVED = "Not_Observed";
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();
private final static String NEWLINE = System.lineSeparator();
@@
-186,7
+189,7
@@
public class SiftsClient implements SiftsClientI
try (InputStream in = new FileInputStream(siftFile);
GZIPInputStream gzis = new GZIPInputStream(in);)
{
try (InputStream in = new FileInputStream(siftFile);
GZIPInputStream gzis = new GZIPInputStream(in);)
{
- // System.out.println("File : " + siftFile.getAbsolutePath());
+ // jalview.bin.Console.outPrintln("File : " + siftFile.getAbsolutePath());
JAXBContext jc = JAXBContext.newInstance("jalview.xml.binding.sifts");
XMLStreamReader streamReader = XMLInputFactory.newInstance()
.createXMLStreamReader(gzis);
JAXBContext jc = JAXBContext.newInstance("jalview.xml.binding.sifts");
XMLStreamReader streamReader = XMLInputFactory.newInstance()
.createXMLStreamReader(gzis);
@@
-219,12
+222,13
@@
public class SiftsClient implements SiftsClientI
}
String siftsFileName = SiftsSettings.getSiftDownloadDirectory()
}
String siftsFileName = SiftsSettings.getSiftDownloadDirectory()
- + pdbId.toLowerCase() + ".xml.gz";
+ + pdbId.toLowerCase(Locale.ROOT) + ".xml.gz";
File siftsFile = new File(siftsFileName);
if (siftsFile.exists())
{
// The line below is required for unit testing... don't comment it out!!!
File siftsFile = new File(siftsFileName);
if (siftsFile.exists())
{
// The line below is required for unit testing... don't comment it out!!!
- System.out.println(">>> SIFTS File already downloaded for " + pdbId);
+ jalview.bin.Console
+ .outPrintln(">>> SIFTS File already downloaded for " + pdbId);
if (isFileOlderThanThreshold(siftsFile,
SiftsSettings.getCacheThresholdInDays()))
if (isFileOlderThanThreshold(siftsFile,
SiftsSettings.getCacheThresholdInDays()))
@@
-233,7
+237,7
@@
public class SiftsClient implements SiftsClientI
BackupFiles.moveFileToFile(siftsFile, oldSiftsFile);
try
{
BackupFiles.moveFileToFile(siftsFile, oldSiftsFile);
try
{
- siftsFile = downloadSiftsFile(pdbId.toLowerCase());
+ siftsFile = downloadSiftsFile(pdbId.toLowerCase(Locale.ROOT));
oldSiftsFile.delete();
return siftsFile;
} catch (IOException e)
oldSiftsFile.delete();
return siftsFile;
} catch (IOException e)
@@
-250,7
+254,7
@@
public class SiftsClient implements SiftsClientI
}
try
{
}
try
{
- siftsFile = downloadSiftsFile(pdbId.toLowerCase());
+ siftsFile = downloadSiftsFile(pdbId.toLowerCase(Locale.ROOT));
} catch (IOException e)
{
throw new SiftsException(e.getMessage());
} catch (IOException e)
{
throw new SiftsException(e.getMessage());
@@
-279,7
+283,7
@@
public class SiftsClient implements SiftsClientI
diffInDays = (int) ((new Date().getTime()
- attr.lastModifiedTime().toMillis())
/ (1000 * 60 * 60 * 24));
diffInDays = (int) ((new Date().getTime()
- attr.lastModifiedTime().toMillis())
/ (1000 * 60 * 60 * 24));
- // System.out.println("Diff in days : " + diffInDays);
+ // jalview.bin.Console.outPrintln("Diff in days : " + diffInDays);
} catch (IOException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
@@
-303,7
+307,7
@@
public class SiftsClient implements SiftsClientI
pdbId = pdbId.replace(".cif", "");
}
String siftFile = pdbId + ".xml.gz";
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
/*
* Download the file from URL to either
@@
-327,7
+331,8
@@
public class SiftsClient implements SiftsClientI
}
}
}
}
- // System.out.println(">> Download ftp url : " + siftsFileFTPURL);
+ // jalview.bin.Console.outPrintln(">> Download ftp url : " +
+ // siftsFileFTPURL);
// long now = System.currentTimeMillis();
URL url = new URL(siftsFileFTPURL);
URLConnection conn = url.openConnection();
// long now = System.currentTimeMillis();
URL url = new URL(siftsFileFTPURL);
URLConnection conn = url.openConnection();
@@
-341,11
+346,21
@@
public class SiftsClient implements SiftsClientI
}
outputStream.close();
inputStream.close();
}
outputStream.close();
inputStream.close();
- // System.out.println(">>> File downloaded : " + downloadedSiftsFile
+ // jalview.bin.Console.outPrintln(">>> File downloaded : " +
+ // downloadedSiftsFile
// + " took " + (System.currentTimeMillis() - now) + "ms");
return downloadTo;
}
// + " took " + (System.currentTimeMillis() - now) + "ms");
return downloadTo;
}
+ public static String getDownloadUrlFor(String siftFile)
+ {
+ String durl = SIFTS_SPLIT_FTP_BASE_URL + siftFile.substring(1, 3) + "/"
+ + siftFile;
+ Console.trace("SIFTS URL for " + siftFile + " is " + durl);
+ return durl;
+
+ }
+
/**
* Delete the SIFTs file for the given PDB Id in the local SIFTs download
* directory
/**
* Delete the SIFTs file for the given PDB Id in the local SIFTs download
* directory
@@
-356,7
+371,7
@@
public class SiftsClient implements SiftsClientI
public static boolean deleteSiftsFileByPDBId(String pdbId)
{
File siftsFile = new File(SiftsSettings.getSiftDownloadDirectory()
public static boolean deleteSiftsFileByPDBId(String pdbId)
{
File siftsFile = new File(SiftsSettings.getSiftDownloadDirectory()
- + pdbId.toLowerCase() + ".xml.gz");
+ + pdbId.toLowerCase(Locale.ROOT) + ".xml.gz");
if (siftsFile.exists())
{
return siftsFile.delete();
if (siftsFile.exists())
{
return siftsFile.delete();
@@
-430,8
+445,8
@@
public class SiftsClient implements SiftsClientI
.getMapRegion();
for (MapRegion mapRegion : mapRegions)
{
.getMapRegion();
for (MapRegion mapRegion : mapRegions)
{
- accessions
- .add(mapRegion.getDb().getDbAccessionId().toLowerCase());
+ accessions.add(mapRegion.getDb().getDbAccessionId()
+ .toLowerCase(Locale.ROOT));
}
}
}
}
}
}
@@
-448,8
+463,8
@@
public class SiftsClient implements SiftsClientI
seq = seq.getDatasetSequence();
}
structId = (chain == null) ? pdbId : pdbId + "|" + chain;
seq = seq.getDatasetSequence();
}
structId = (chain == null) ? pdbId : pdbId + "|" + chain;
- System.out.println("Getting SIFTS mapping for " + structId + ": seq "
- + seq.getName());
+ jalview.bin.Console.outPrintln("Getting SIFTS mapping for " + structId
+ + ": seq " + seq.getName());
final StringBuilder mappingDetails = new StringBuilder(128);
PrintStream ps = new PrintStream(System.out)
final StringBuilder mappingDetails = new StringBuilder(128);
PrintStream ps = new PrintStream(System.out)
@@
-481,7
+496,7
@@
public class SiftsClient implements SiftsClientI
{
List<Integer> omitNonObserved = new ArrayList<>();
int nonObservedShiftIndex = 0, pdbeNonObserved = 0;
{
List<Integer> omitNonObserved = new ArrayList<>();
int nonObservedShiftIndex = 0, pdbeNonObserved = 0;
- // System.out.println("Generating mappings for : " + entityId);
+ // jalview.bin.Console.outPrintln("Generating mappings for : " + entityId);
Entity entity = null;
entity = getEntityById(entityId);
String originalSeq = AlignSeq.extractGaps(
Entity entity = null;
entity = getEntityById(entityId);
String originalSeq = AlignSeq.extractGaps(
@@
-501,9
+516,11
@@
public class SiftsClient implements SiftsClientI
HashSet<String> dbRefAccessionIdsString = new HashSet<String>();
for (DBRefEntry dbref : seq.getDBRefs())
{
HashSet<String> dbRefAccessionIdsString = new HashSet<String>();
for (DBRefEntry dbref : seq.getDBRefs())
{
- dbRefAccessionIdsString.add(dbref.getAccessionId().toLowerCase());
+ dbRefAccessionIdsString
+ .add(dbref.getAccessionId().toLowerCase(Locale.ROOT));
}
}
- dbRefAccessionIdsString.add(sourceDBRef.getAccessionId().toLowerCase());
+ dbRefAccessionIdsString
+ .add(sourceDBRef.getAccessionId().toLowerCase(Locale.ROOT));
curDBRefAccessionIdsString = dbRefAccessionIdsString;
curSourceDBRef = sourceDBRef.getAccessionId();
curDBRefAccessionIdsString = dbRefAccessionIdsString;
curSourceDBRef = sourceDBRef.getAccessionId();
@@
-531,7
+548,8
@@
public class SiftsClient implements SiftsClientI
if (mapping.isEmpty())
{
if (mapping.isEmpty())
{
- throw new SiftsException("SIFTS mapping failed");
+ throw new SiftsException("SIFTS mapping failed for " + entityId
+ + " and " + seq.getName());
}
// also construct a mapping object between the seq-coord sys and the PDB
// seq's coord sys
}
// also construct a mapping object between the seq-coord sys and the PDB
// seq's coord sys
@@
-649,7
+667,8
@@
public class SiftsClient implements SiftsClientI
int firstPDBResNum = UNASSIGNED;
for (Segment segment : segments)
{
int firstPDBResNum = UNASSIGNED;
for (Segment segment : segments)
{
- // System.out.println("Mapping segments : " + segment.getSegId() + "\\"s
+ // jalview.bin.Console.outPrintln("Mapping segments : " +
+ // segment.getSegId() + "\\"s
// + segStartEnd);
List<Residue> residues = segment.getListResidue().getResidue();
for (Residue residue : residues)
// + segStartEnd);
List<Residue> residues = segment.getListResidue().getResidue();
for (Residue residue : residues)
@@
-891,14
+910,15
@@
public class SiftsClient implements SiftsClientI
{
boolean isStrictMatch = true;
return isStrictMatch ? curSourceDBRef.equalsIgnoreCase(accession)
{
boolean isStrictMatch = true;
return isStrictMatch ? curSourceDBRef.equalsIgnoreCase(accession)
- : curDBRefAccessionIdsString.contains(accession.toLowerCase());
+ : curDBRefAccessionIdsString
+ .contains(accession.toLowerCase(Locale.ROOT));
}
private boolean isFoundInSiftsEntry(String accessionId)
{
Set<String> siftsDBRefs = getAllMappingAccession();
return accessionId != null
}
private boolean isFoundInSiftsEntry(String accessionId)
{
Set<String> siftsDBRefs = getAllMappingAccession();
return accessionId != null
- && siftsDBRefs.contains(accessionId.toLowerCase());
+ && siftsDBRefs.contains(accessionId.toLowerCase(Locale.ROOT));
}
/**
}
/**
@@
-917,8
+937,8
@@
public class SiftsClient implements SiftsClientI
// Arrays.sort(keys);
int firstIndex = keys[0];
int lastIndex = keys[keys.length - 1];
// Arrays.sort(keys);
int firstIndex = keys[0];
int lastIndex = keys[keys.length - 1];
- // System.out.println("Min value " + firstIndex);
- // System.out.println("Max value " + lastIndex);
+ // jalview.bin.Console.outPrintln("Min value " + firstIndex);
+ // jalview.bin.Console.outPrintln("Max value " + lastIndex);
for (int x = firstIndex; x <= lastIndex; x++)
{
if (!resNumMap.containsKey(x) && !omitNonObserved.contains(x))
for (int x = firstIndex; x <= lastIndex; x++)
{
if (!resNumMap.containsKey(x) && !omitNonObserved.contains(x))
@@
-951,7
+971,8
@@
public class SiftsClient implements SiftsClientI
*/
public Entity getEntityByMostOptimalMatchedId(String chainId)
{
*/
public Entity getEntityByMostOptimalMatchedId(String chainId)
{
- // System.out.println("---> advanced greedy entityId matching block
+ // jalview.bin.Console.outPrintln("---> advanced greedy entityId matching
+ // block
// entered..");
List<Entity> entities = siftsEntry.getEntity();
SiftsEntitySortPojo[] sPojo = new SiftsEntitySortPojo[entities.size()];
// entered..");
List<Entity> entities = siftsEntry.getEntity();
SiftsEntitySortPojo[] sPojo = new SiftsEntitySortPojo[entities.size()];
@@
-987,8
+1008,9
@@
public class SiftsClient implements SiftsClientI
++count;
}
Arrays.sort(sPojo, Collections.reverseOrder());
++count;
}
Arrays.sort(sPojo, Collections.reverseOrder());
- // System.out.println("highest matched entity : " + sPojo[0].entityId);
- // System.out.println("highest matched pid : " + sPojo[0].pid);
+ // jalview.bin.Console.outPrintln("highest matched entity : " +
+ // sPojo[0].entityId);
+ // jalview.bin.Console.outPrintln("highest matched pid : " + sPojo[0].pid);
if (sPojo[0].entityId != null)
{
if (sPojo[0].entityId != null)
{