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
DBRefs now array
[jalview.git]
/
src
/
jalview
/
io
/
DBRefFetcher.java
diff --git
a/src/jalview/io/DBRefFetcher.java
b/src/jalview/io/DBRefFetcher.java
index
6e44910
..
01e67cf
100644
(file)
--- a/
src/jalview/io/DBRefFetcher.java
+++ b/
src/jalview/io/DBRefFetcher.java
@@
-48,6
+48,7
@@
public class DBRefFetcher implements Runnable
CutAndPasteTransfer output = new CutAndPasteTransfer();
\r
StringBuffer sbuffer = new StringBuffer();
\r
boolean uniprotFlag = false;
\r
CutAndPasteTransfer output = new CutAndPasteTransfer();
\r
StringBuffer sbuffer = new StringBuffer();
\r
boolean uniprotFlag = false;
\r
+ boolean running = false;
\r
\r
public DBRefFetcher()
\r
{}
\r
\r
public DBRefFetcher()
\r
{}
\r
@@
-91,9
+92,25
@@
public class DBRefFetcher implements Runnable
unknownSequences = new ArrayList();
\r
this.align = align;
\r
this.dataset = align.getDataset();
\r
unknownSequences = new ArrayList();
\r
this.align = align;
\r
this.dataset = align.getDataset();
\r
+ }
\r
\r
\r
+ public boolean fetchDBRefs(boolean waitTillFinished)
\r
+ {
\r
Thread thread = new Thread(this);
\r
thread.start();
\r
Thread thread = new Thread(this);
\r
thread.start();
\r
+ running = true;
\r
+
\r
+ if(waitTillFinished)
\r
+ {
\r
+ while(running)
\r
+ {
\r
+ try{
\r
+ Thread.sleep(500);
\r
+ }catch(Exception ex){}
\r
+ }
\r
+ }
\r
+
\r
+ return true;
\r
}
\r
\r
/**
\r
}
\r
\r
/**
\r
@@
-103,6
+120,7
@@
public class DBRefFetcher implements Runnable
{
\r
long startTime = System.currentTimeMillis();
\r
af.setProgressBar("Fetching db refs", startTime);
\r
{
\r
long startTime = System.currentTimeMillis();
\r
af.setProgressBar("Fetching db refs", startTime);
\r
+ running = true;
\r
\r
try
\r
{
\r
\r
try
\r
{
\r
@@
-117,13
+135,13
@@
public class DBRefFetcher implements Runnable
seqIndex++, i++)
\r
{
\r
Sequence sequence = (Sequence) sequences.get(seqIndex);
\r
seqIndex++, i++)
\r
{
\r
Sequence sequence = (Sequence) sequences.get(seqIndex);
\r
- Vector uprefs = jalview.util.DBRefUtils.selectRefs(sequence.getDBRef(), new String[] {
\r
+ DBRefEntry [] uprefs = jalview.util.DBRefUtils.selectRefs(sequence.getDBRef(), new String[] {
\r
jalview.datamodel.DBRefSource.UNIPROT});
\r
if (uprefs!=null)
\r
{
\r
// we know the id for this entry, so don't note its ID in the unknownSequences list
\r
jalview.datamodel.DBRefSource.UNIPROT});
\r
if (uprefs!=null)
\r
{
\r
// we know the id for this entry, so don't note its ID in the unknownSequences list
\r
- for (int j=0,k=uprefs.size(); j<k; j++)
\r
- ids.add(((DBRefEntry) uprefs.get(j)).getAccessionId());
\r
+ for (int j=0,k=uprefs.length; j<k; j++)
\r
+ ids.add(uprefs[j].getAccessionId());
\r
unknownSequences.add(sequence);
\r
} else {
\r
if (!ids.contains(sequence.getName()))
\r
unknownSequences.add(sequence);
\r
} else {
\r
if (!ids.contains(sequence.getName()))
\r
@@
-147,8
+165,12
@@
public class DBRefFetcher implements Runnable
ids.get(i).toString().lastIndexOf("|") + 1));
\r
uniprotFlag = true;
\r
}
\r
ids.get(i).toString().lastIndexOf("|") + 1));
\r
uniprotFlag = true;
\r
}
\r
- remainingIds.append(ids.get(i) + ";");
\r
+ else
\r
+ remainingIds.append(ids.get(i));
\r
+
\r
+ remainingIds.append(";");
\r
}
\r
}
\r
+
\r
EBIFetchClient ebi = new EBIFetchClient();
\r
File file = ebi.fetchDataAsFile(remainingIds.toString(),
\r
"xml", "raw");
\r
EBIFetchClient ebi = new EBIFetchClient();
\r
File file = ebi.fetchDataAsFile(remainingIds.toString(),
\r
"xml", "raw");
\r
@@
-183,6
+205,8
@@
public class DBRefFetcher implements Runnable
af.setProgressBar("DBRef search completed", startTime);
\r
// promptBeforeBlast();
\r
\r
af.setProgressBar("DBRef search completed", startTime);
\r
// promptBeforeBlast();
\r
\r
+ running = false;
\r
+
\r
}
\r
\r
\r
}
\r
\r
\r
@@
-244,7
+268,11
@@
public class DBRefFetcher implements Runnable
\r
else if (sequence == null && uniprotFlag)
\r
{
\r
\r
else if (sequence == null && uniprotFlag)
\r
{
\r
- sequence = dataset.findName("UniProt/Swiss-Prot|"+entry.getAccession().elementAt(0)+"|"+idmatch);
\r
+ StringBuffer upid = new StringBuffer("UniProt/Swiss-Prot|");
\r
+ for(int u=0; u<entry.getAccession().size(); u++)
\r
+ upid.append(entry.getAccession().elementAt(u)+"|");
\r
+
\r
+ sequence = dataset.findName(upid+idmatch);
\r
ids.remove(idmatch);
\r
}
\r
\r
ids.remove(idmatch);
\r
}
\r
\r