private Mapping createVamsasMapping(jalview.datamodel.Mapping jmp,
SequenceI parentseq, SequenceI jds, boolean recurse)
{
- Mapping mp = null;
- if (jmp.getMap() != null)
+ if (jmp.getMap() == null)
{
- mp = new Mapping();
+ return null;
+ }
+ Mapping mp = new Mapping();
+
+ if (jmp.getMappedFromId() != null)
+ {
+ mp.setMappingType(jmp.getMappedFromId());
+ }
+
+ jalview.util.MapList mlst = jmp.getMap();
+ List<int[]> r = mlst.getFromRanges();
+ for (int[] range : r)
+ {
+ MapListFrom mfrom = new MapListFrom();
+ mfrom.setStart(range[0]);
+ mfrom.setEnd(range[1]);
+ mp.getMapListFrom().add(mfrom);
+ }
+ r = mlst.getToRanges();
+ for (int[] range : r)
+ {
+ MapListTo mto = new MapListTo();
+ mto.setStart(range[0]);
+ mto.setEnd(range[1]);
+ mp.getMapListTo().add(mto);
+ }
+ mp.setMapFromUnit(BigInteger.valueOf(mlst.getFromRatio()));
+ mp.setMapToUnit(BigInteger.valueOf(mlst.getToRatio()));
+ if (jmp.getTo() != null)
+ {
+ // check/create ID for the sequence referenced by getTo()
- jalview.util.MapList mlst = jmp.getMap();
- List<int[]> r = mlst.getFromRanges();
- for (int[] range : r)
+ String jmpid = "";
+ SequenceI ps = null;
+ if (parentseq != jmp.getTo()
+ && parentseq.getDatasetSequence() != jmp.getTo())
{
- MapListFrom mfrom = new MapListFrom();
- mfrom.setStart(range[0]);
- mfrom.setEnd(range[1]);
- // mp.addMapListFrom(mfrom);
- mp.getMapListFrom().add(mfrom);
+ // chaining dbref rather than a handshaking one
+ jmpid = seqHash(ps = jmp.getTo());
}
- r = mlst.getToRanges();
- for (int[] range : r)
+ else
{
- MapListTo mto = new MapListTo();
- mto.setStart(range[0]);
- mto.setEnd(range[1]);
- // mp.addMapListTo(mto);
- mp.getMapListTo().add(mto);
+ jmpid = seqHash(ps = parentseq);
}
- mp.setMapFromUnit(BigInteger.valueOf(mlst.getFromRatio()));
- mp.setMapToUnit(BigInteger.valueOf(mlst.getToRatio()));
- if (jmp.getTo() != null)
+ mp.setDseqFor(jmpid);
+ if (!seqRefIds.containsKey(jmpid))
{
- // MappingChoice mpc = new MappingChoice();
-
- // check/create ID for the sequence referenced by getTo()
-
- String jmpid = "";
- SequenceI ps = null;
- if (parentseq != jmp.getTo()
- && parentseq.getDatasetSequence() != jmp.getTo())
- {
- // chaining dbref rather than a handshaking one
- jmpid = seqHash(ps = jmp.getTo());
- }
- else
- {
- jmpid = seqHash(ps = parentseq);
- }
- // mpc.setDseqFor(jmpid);
- mp.setDseqFor(jmpid);
- if (!seqRefIds.containsKey(jmpid))
- {
- jalview.bin.Cache.log.debug("creatign new DseqFor ID");
- seqRefIds.put(jmpid, ps);
- }
- else
- {
- jalview.bin.Cache.log.debug("reusing DseqFor ID");
- }
-
- // mp.setMappingChoice(mpc);
+ jalview.bin.Cache.log.debug("creatign new DseqFor ID");
+ seqRefIds.put(jmpid, ps);
+ }
+ else
+ {
+ jalview.bin.Cache.log.debug("reusing DseqFor ID");
}
}
return mp;
fto, m.getMapFromUnit().intValue(),
m.getMapToUnit().intValue());
+ jmap.setMappedFromId(m.getMappingType());
+
/*
* (optional) choice of dseqFor or Sequence
*/