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
JAL-2023 adjustments to mappings added for split frame to avoid
[jalview.git]
/
src
/
jalview
/
analysis
/
CrossRef.java
diff --git
a/src/jalview/analysis/CrossRef.java
b/src/jalview/analysis/CrossRef.java
index
d48c14a
..
7e77fc1
100644
(file)
--- a/
src/jalview/analysis/CrossRef.java
+++ b/
src/jalview/analysis/CrossRef.java
@@
-228,14
+228,10
@@
public class CrossRef
* @param al
* alignment to search for cross-referenced sequences (and possibly
* add to)
* @param al
* alignment to search for cross-referenced sequences (and possibly
* add to)
- * @param addedPeers
- * a list of sequences to add to if 'peers' to the original sequences
- * are found e.g. alternative protein products for a protein's gene
* @return products (as dataset sequences)
*/
public static Alignment findXrefSequences(SequenceI[] seqs,
* @return products (as dataset sequences)
*/
public static Alignment findXrefSequences(SequenceI[] seqs,
- final boolean dna, final String source, AlignmentI al,
- List<SequenceI> addedPeers)
+ final boolean dna, final String source, AlignmentI al)
{
AlignmentI dataset = al.getDataset() == null ? al : al.getDataset();
List<SequenceI> rseqs = new ArrayList<SequenceI>();
{
AlignmentI dataset = al.getDataset() == null ? al : al.getDataset();
List<SequenceI> rseqs = new ArrayList<SequenceI>();
@@
-298,7
+294,6
@@
public class CrossRef
{
found |= searchDataset(dss, xref, dataset, rseqs, cf, false,
!dna);
{
found |= searchDataset(dss, xref, dataset, rseqs, cf, false,
!dna);
- // ,false,!dna);
if (found)
{
xrfs[r] = null; // we've recovered seqs for this one.
if (found)
{
xrfs[r] = null; // we've recovered seqs for this one.
@@
-332,8
+327,8
@@
public class CrossRef
}
if (l > 0)
{
}
if (l > 0)
{
- System.out
- .println("Attempting to retrieve cross referenced sequences.");
+ // System.out
+ // .println("Attempting to retrieve cross referenced sequences.");
DBRefEntry[] t = new DBRefEntry[l];
l = 0;
for (int r = 0; r < xrfs.length; r++)
DBRefEntry[] t = new DBRefEntry[l];
l = 0;
for (int r = 0; r < xrfs.length; r++)
@@
-363,7
+358,6
@@
public class CrossRef
SequenceIdMatcher matcher = new SequenceIdMatcher(
dataset.getSequences());
SequenceIdMatcher matcher = new SequenceIdMatcher(
dataset.getSequences());
- matcher.addAll(addedPeers);
List<SequenceFeature> copiedFeatures = new ArrayList<SequenceFeature>();
CrossRef me = new CrossRef();
for (int rs = 0; rs < retrieved.length; rs++)
List<SequenceFeature> copiedFeatures = new ArrayList<SequenceFeature>();
CrossRef me = new CrossRef();
for (int rs = 0; rs < retrieved.length; rs++)
@@
-385,6
+379,15
@@
public class CrossRef
.findIdMatch(map.getTo());
if (matched != null)
{
.findIdMatch(map.getTo());
if (matched != null)
{
+ /*
+ * already got an xref to this sequence; update this
+ * map to point to the same sequence, and add
+ * any new dbrefs to it
+ */
+ for (DBRefEntry ref : map.getTo().getDBRefs())
+ {
+ matched.addDBRef(ref); // add or update mapping
+ }
map.setTo(matched);
}
else
map.setTo(matched);
}
else
@@
-417,7
+420,8
@@
public class CrossRef
map.setTo(dss);
/*
* copy sequence features as well, avoiding
map.setTo(dss);
/*
* copy sequence features as well, avoiding
- * duplication (e.g. from 2 transcripts)
+ * duplication (e.g. same variation from 2
+ * transcripts)
*/
SequenceFeature[] sfs = ms
.getSequenceFeatures();
*/
SequenceFeature[] sfs = ms
.getSequenceFeatures();
@@
-444,10
+448,6
@@
public class CrossRef
}
else
{
}
else
{
- if (!addedPeers.contains(map.getTo()))
- {
- addedPeers.add(map.getTo());
- }
cf.addMap(retrieved[rs].getDatasetSequence(),
map.getTo(), map.getMap());
}
cf.addMap(retrieved[rs].getDatasetSequence(),
map.getTo(), map.getMap());
}