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 'develop' into bug/JAL-2255_seq-fetcher-broken-on-linux
[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
e85edd2
..
ea65125
100644
(file)
--- a/
src/jalview/ws/sifts/SiftsClient.java
+++ b/
src/jalview/ws/sifts/SiftsClient.java
@@
-29,6
+29,7
@@
import jalview.datamodel.SequenceI;
import jalview.io.StructureFile;
import jalview.schemes.ResidueProperties;
import jalview.structure.StructureMapping;
import jalview.io.StructureFile;
import jalview.schemes.ResidueProperties;
import jalview.structure.StructureMapping;
+import jalview.util.Comparison;
import jalview.util.DBRefUtils;
import jalview.util.Format;
import jalview.xml.binding.sifts.Entry;
import jalview.util.DBRefUtils;
import jalview.util.Format;
import jalview.xml.binding.sifts.Entry;
@@
-73,6
+74,12
@@
import MCview.PDBChain;
public class SiftsClient implements SiftsClientI
{
public class SiftsClient implements SiftsClientI
{
+ /*
+ * for use in mocking out file fetch for tests only
+ * - reset to null after testing!
+ */
+ private static File mockSiftsFile;
+
private Entry siftsEntry;
private StructureFile pdb;
private Entry siftsEntry;
private StructureFile pdb;
@@
-186,6
+193,14
@@
public class SiftsClient implements SiftsClientI
*/
public static File getSiftsFile(String pdbId) throws SiftsException
{
*/
public static File getSiftsFile(String pdbId) throws SiftsException
{
+ /*
+ * return mocked file if it has been set
+ */
+ if (mockSiftsFile != null)
+ {
+ return mockSiftsFile;
+ }
+
String siftsFileName = SiftsSettings.getSiftDownloadDirectory()
+ pdbId.toLowerCase() + ".xml.gz";
File siftsFile = new File(siftsFileName);
String siftsFileName = SiftsSettings.getSiftDownloadDirectory()
+ pdbId.toLowerCase() + ".xml.gz";
File siftsFile = new File(siftsFileName);
@@
-211,6
+226,10
@@
public class SiftsClient implements SiftsClientI
return new File(siftsFileName);
}
}
return new File(siftsFileName);
}
}
+ else
+ {
+ return siftsFile;
+ }
}
try
{
}
try
{
@@
-276,6
+295,7
@@
public class SiftsClient implements SiftsClientI
siftsDownloadDir.mkdirs();
}
// System.out.println(">> Download ftp url : " + siftsFileFTPURL);
siftsDownloadDir.mkdirs();
}
// System.out.println(">> Download ftp url : " + siftsFileFTPURL);
+ // long now = System.currentTimeMillis();
URL url = new URL(siftsFileFTPURL);
URLConnection conn = url.openConnection();
InputStream inputStream = conn.getInputStream();
URL url = new URL(siftsFileFTPURL);
URLConnection conn = url.openConnection();
InputStream inputStream = conn.getInputStream();
@@
-289,7
+309,8
@@
public class SiftsClient implements SiftsClientI
}
outputStream.close();
inputStream.close();
}
outputStream.close();
inputStream.close();
- // System.out.println(">>> File downloaded : " + downloadedSiftsFile);
+// System.out.println(">>> File downloaded : " + downloadedSiftsFile
+// + " took " + (System.currentTimeMillis() - now) + "ms");
return new File(downloadedSiftsFile);
}
return new File(downloadedSiftsFile);
}
@@
-472,8
+493,7
@@
public class SiftsClient implements SiftsClientI
if (mapping.isEmpty())
{
if (mapping.isEmpty())
{
- throw new SiftsException(
- "SIFTS mapping failed - falling back on Needleman-Wunsch");
+ throw new SiftsException("SIFTS mapping failed");
}
Integer[] keys = mapping.keySet().toArray(new Integer[0]);
}
Integer[] keys = mapping.keySet().toArray(new Integer[0]);
@@
-511,13
+531,13
@@
public class SiftsClient implements SiftsClientI
if (os != null)
{
MappingOutputPojo mop = new MappingOutputPojo();
if (os != null)
{
MappingOutputPojo mop = new MappingOutputPojo();
- mop.setSeqStart(pdbStart);
- mop.setSeqEnd(pdbEnd);
+ mop.setSeqStart(seqStart);
+ mop.setSeqEnd(seqEnd);
mop.setSeqName(seq.getName());
mop.setSeqResidue(matchedSeq);
mop.setSeqName(seq.getName());
mop.setSeqResidue(matchedSeq);
- mop.setStrStart(seqStart);
- mop.setStrEnd(seqEnd);
+ mop.setStrStart(pdbStart);
+ mop.setStrEnd(pdbEnd);
mop.setStrName(structId);
mop.setStrResidue(targetStrucSeqs.toString());
mop.setStrName(structId);
mop.setStrResidue(targetStrucSeqs.toString());
@@
-827,6
+847,10
@@
public class SiftsClient implements SiftsClientI
if (sPojo[0].entityId != null)
{
if (sPojo[0].entityId != null)
{
+ if (sPojo[0].pid < 1)
+ {
+ return null;
+ }
for (Entity entity : entities)
{
if (!entity.getEntityId().equalsIgnoreCase(sPojo[0].entityId))
for (Entity entity : entities)
{
if (!entity.getEntityId().equalsIgnoreCase(sPojo[0].entityId))
@@
-1001,8
+1025,10
@@
public class SiftsClient implements SiftsClientI
{
if ((i + (j * len)) < seqRes.length())
{
{
if ((i + (j * len)) < seqRes.length())
{
- if (seqRes.charAt(i + (j * len)) == strRes
- .charAt(i + (j * len))
+ boolean sameChar = Comparison.isSameResidue(
+ seqRes.charAt(i + (j * len)),
+ strRes.charAt(i + (j * len)), false);
+ if (sameChar
&& !jalview.util.Comparison.isGap(seqRes.charAt(i
+ (j * len))))
{
&& !jalview.util.Comparison.isGap(seqRes.charAt(i
+ (j * len))))
{
@@
-1085,4
+1111,9
@@
public class SiftsClient implements SiftsClientI
return siftsEntry.getDbVersion();
}
return siftsEntry.getDbVersion();
}
+ public static void setMockSiftsFile(File file)
+ {
+ mockSiftsFile = file;
+ }
+
}
}