Skip to content

Commit 84259f6

Browse files
author
shapemapper
committed
BasePair tracks correctly saved to and loaded from session files (use ResourceLocator).
1 parent 71ac81a commit 84259f6

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

src/org/broad/igv/feature/basepair/BasePairFileParser.java

+2-5
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@ public class BasePairFileParser {
1717

1818
static Logger log = Logger.getLogger(BasePairFileParser.class);
1919

20-
BasePairTrack track;
21-
22-
public BasePairTrack loadTrack(ResourceLocator locator, Genome genome) {
20+
public static BasePairData loadData(ResourceLocator locator, Genome genome) {
2321
AsciiLineReader reader = null;
2422

2523
List<Color> colors = new ArrayList();
@@ -106,8 +104,7 @@ public BasePairTrack loadTrack(ResourceLocator locator, Genome genome) {
106104
// System.out.println(row);
107105
//}
108106

109-
track = new BasePairTrack(basePairData, locator.getTrackName());
110-
return track;
107+
return basePairData;
111108
}
112109

113110
}

src/org/broad/igv/feature/basepair/BasePairTrack.java

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package org.broad.igv.feature.basepair;
22

33
import org.apache.log4j.Logger;
4+
import org.broad.igv.feature.genome.*;
45
import org.broad.igv.renderer.*;
56
import org.broad.igv.track.AbstractTrack;
67
import org.broad.igv.track.RenderContext;
8+
import org.broad.igv.util.ResourceLocator;
79

810
import java.awt.*;
911

@@ -19,9 +21,9 @@ public class BasePairTrack extends AbstractTrack {
1921
private BasePairRenderer basePairRenderer = new BasePairRenderer();
2022
private BasePairData basePairData;
2123

22-
public BasePairTrack(BasePairData data, String name) {
23-
super(name);
24-
basePairData = data;
24+
public BasePairTrack(ResourceLocator locator, String id, String name, Genome genome) {
25+
super(locator, id, name);
26+
basePairData = BasePairFileParser.loadData(locator, genome);
2527
}
2628

2729
public void render(RenderContext context, Rectangle rect) {

src/org/broad/igv/track/TrackLoader.java

+5-3
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
import org.broad.igv.dev.db.SampleInfoSQLReader;
4848
import org.broad.igv.dev.db.SegmentedSQLReader;
4949
import org.broad.igv.exceptions.DataLoadException;
50-
import org.broad.igv.feature.basepair.BasePairFileParser;
50+
import org.broad.igv.feature.basepair.BasePairTrack;
5151
import org.broad.igv.feature.CachingFeatureSource;
5252
import org.broad.igv.feature.GisticFileParser;
5353
import org.broad.igv.feature.MutationTrackLoader;
@@ -1235,8 +1235,10 @@ private void loadTrioData(ResourceLocator locator) throws IOException {
12351235

12361236

12371237
private void loadBasePairFile(ResourceLocator locator, List<Track> newTracks, Genome genome) throws IOException {
1238-
BasePairFileParser parser = new BasePairFileParser();
1239-
newTracks.add(parser.loadTrack(locator, genome)); // should create one track from the given file
1238+
String name = locator.getTrackName();
1239+
String path = locator.getPath();
1240+
String id = path + "_" + name;
1241+
newTracks.add(new BasePairTrack(locator, id, name, genome));
12401242
}
12411243

12421244
public static boolean isIndexed(ResourceLocator locator, Genome genome) {

0 commit comments

Comments
 (0)