X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FFeaturesFile.java;h=3e0314ae75bb029642b1070d2d579621fd2e4f76;hb=60f2d6c034560415fd0139c8bc7df0c19cae1186;hp=03a7a8393a7c44223599fcbb9f084d5d2151cfc7;hpb=6750fadacf73cce0289645dbc387be9331016b1e;p=jalview.git diff --git a/src/jalview/io/FeaturesFile.java b/src/jalview/io/FeaturesFile.java index 03a7a83..3e0314a 100755 --- a/src/jalview/io/FeaturesFile.java +++ b/src/jalview/io/FeaturesFile.java @@ -148,7 +148,7 @@ public class FeaturesFile extends AlignFile } continue; } - + String seqId=""; while (st.hasMoreElements()) { @@ -156,8 +156,8 @@ public class FeaturesFile extends AlignFile { // Still possible this is an old Jalview file, // which does not have type colours at the beginning - token = st.nextToken(); - seq = align.findName(token, true); + seqId = token = st.nextToken(); + seq = align.findName(seqId, true); if (seq != null) { desc = st.nextToken(); @@ -205,7 +205,10 @@ public class FeaturesFile extends AlignFile } seq.addSequenceFeature(sf); - + while ((seq=align.findName(seq, seqId, true))!=null) + { + seq.addSequenceFeature(new SequenceFeature(sf)); + } break; } } @@ -231,11 +234,12 @@ public class FeaturesFile extends AlignFile if (!token.equals("ID_NOT_SPECIFIED")) { - seq = align.findName(token, true); + seq = align.findName(seqId=token, true); st.nextToken(); } else { + seqId=null; try { index = Integer.parseInt(st.nextToken()); @@ -266,8 +270,6 @@ public class FeaturesFile extends AlignFile sf = new SequenceFeature(type, desc, "", start, end, featureGroup); - seq.addSequenceFeature(sf); - if (groupLink != null && removeHTML) { sf.addLink(groupLink); @@ -281,6 +283,12 @@ public class FeaturesFile extends AlignFile parseDescriptionHTML(sf, removeHTML); + seq.addSequenceFeature(sf); + + while (seqId!=null && (seq=align.findName(seq, seqId, false))!=null) + { + seq.addSequenceFeature(new SequenceFeature(sf)); + } // If we got here, its not a GFFFile GFFFile = false; }