diff --git a/src/juicebox/MainWindow.java b/src/juicebox/MainWindow.java index 92776cd3..d1d6305b 100644 --- a/src/juicebox/MainWindow.java +++ b/src/juicebox/MainWindow.java @@ -52,6 +52,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; +import java.io.File; public class MainWindow extends JFrame { @@ -420,11 +421,11 @@ public void exitActionPerformed() { if (option == 0) { setVisible(false); dispose(); - String autoSaveFileName = DirectoryManager.getHiCDirectory() + "/" + + String autoSaveFileName = DirectoryManager.getHiCDirectory() + File.separator + System.nanoTime() + ".review.autosave.assembly"; try { - autoSaveFileName = DirectoryManager.getHiCDirectory() + "/" + - (SuperAdapter.getDatasetTitle().split(".+?/(?=[^/]+$)")[1]).split("\\.(?=[^\\.]+$)")[0] + + autoSaveFileName = DirectoryManager.getHiCDirectory() + File.separator + + (SuperAdapter.getDatasetTitle().split(".+?(/|\\\\)(?=[^(/|\\\\)]+$)")[1]).split("\\.(?=[^\\.]+$)")[0] + ".review.autosave.assembly"; } catch (Exception e) { System.err.println("Unable to get desired file name"); diff --git a/src/juicebox/assembly/AssemblyStateTracker.java b/src/juicebox/assembly/AssemblyStateTracker.java index 9dbbb167..3158f26a 100644 --- a/src/juicebox/assembly/AssemblyStateTracker.java +++ b/src/juicebox/assembly/AssemblyStateTracker.java @@ -28,6 +28,7 @@ import juicebox.HiCGlobals; import juicebox.gui.SuperAdapter; +import java.io.File; import java.util.Stack; /** @@ -48,7 +49,7 @@ public AssemblyStateTracker(AssemblyScaffoldHandler assemblyScaffoldHandler, Sup redoStack = new Stack<>(); this.initialAssemblyScaffoldHandler = assemblyScaffoldHandler; this.superAdapter = superAdapter; - this.autoSaveFileName = DirectoryManager.getHiCDirectory() + "/" + (SuperAdapter.getDatasetTitle().split(".+?/(?=[^/]+$)")[1]).split("\\.(?=[^\\.]+$)")[0] + ".review.autosave"; + this.autoSaveFileName = DirectoryManager.getHiCDirectory() + File.separator + (SuperAdapter.getDatasetTitle().split(".+?(/|\\\\)(?=[^(/|\\\\)]+$)")[1]).split("\\.(?=[^\\.]+$)")[0] + ".review.autosave"; } public AssemblyScaffoldHandler getAssemblyHandler() { diff --git a/src/juicebox/data/AbstractDatasetReader.java b/src/juicebox/data/AbstractDatasetReader.java index f2ef69e9..433e7d49 100644 --- a/src/juicebox/data/AbstractDatasetReader.java +++ b/src/juicebox/data/AbstractDatasetReader.java @@ -35,6 +35,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; +import java.io.File; /** * Abstract base class for methods that can be shared by V1 and V2 readers. @@ -63,9 +64,9 @@ public double[] readEigenvector(String chrName, HiCZoom zoom, int number, String // If there's an eigenvector file load it String rootPath = FileUtils.getParent(path); - String folder = rootPath + "/" + chrName; + String folder = rootPath + File.separator + chrName; String eigenFile = "eigen" + "_" + chrName + "_" + chrName + "_" + zoom.getBinSize() + "_" + type + ".wig"; - String fullPath = folder + "/" + eigenFile; + String fullPath = folder + File.separator + eigenFile; if (FileUtils.resourceExists(fullPath)) { System.out.println("Reading " + fullPath); diff --git a/src/juicebox/data/Dataset.java b/src/juicebox/data/Dataset.java index 2dd66d8a..34dc09f4 100644 --- a/src/juicebox/data/Dataset.java +++ b/src/juicebox/data/Dataset.java @@ -45,6 +45,7 @@ import java.text.NumberFormat; import java.text.ParseException; import java.util.*; +import java.io.File; /** * @author jrobinso @@ -384,7 +385,7 @@ private String convertStats(String oldStats) { " Experiment #: "; String filename = reader.getPath(); boolean mapq30 = filename.lastIndexOf("_30") > 0; - String[] parts = filename.split("/"); + String[] parts = filename.split("(/|\\\\\\\\)"); newStats += parts[parts.length - 2]; newStats += ""; newStats += " Restriction Enzyme:"; diff --git a/src/juicebox/gui/SuperAdapter.java b/src/juicebox/gui/SuperAdapter.java index 38ae0b50..ec7b322b 100644 --- a/src/juicebox/gui/SuperAdapter.java +++ b/src/juicebox/gui/SuperAdapter.java @@ -61,6 +61,7 @@ import java.util.Collections; import java.util.List; import java.util.Properties; +import java.io.File; /** * Created by muhammadsaadshamim on 8/4/15. @@ -391,8 +392,8 @@ private static boolean genomesAreCompatible(Dataset dataset1, Dataset dataset2) return true; } - String[] g1 = dataset1.getGenomeId().split("/"); - String[] g2 = dataset2.getGenomeId().split("/"); + String[] g1 = dataset1.getGenomeId().split(File.separator); + String[] g2 = dataset2.getGenomeId().split(File.separator); if (g1[g1.length - 1].equalsIgnoreCase(g2[g2.length - 1])) { return true; } @@ -725,7 +726,7 @@ private void updateTitle() { if (controlTitle != null && controlTitle.length() > 0) { newTitle += " (control=" + controlTitle + ")"; try { - fileVersions += "/" + hic.getControlDataset().getVersion(); + fileVersions += File.separator + hic.getControlDataset().getVersion(); } catch (Exception ignored) { } } diff --git a/src/juicebox/tools/clt/juicer/MotifFinder.java b/src/juicebox/tools/clt/juicer/MotifFinder.java index 0531b8ae..ed494d09 100644 --- a/src/juicebox/tools/clt/juicer/MotifFinder.java +++ b/src/juicebox/tools/clt/juicer/MotifFinder.java @@ -37,6 +37,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.io.File; /** * Created by muhammadsaadshamim on 9/4/15. @@ -272,7 +273,7 @@ private void retrieveAllBEDFiles(String path) throws IOException { String inferredBEDFilesPath = path + "/inferred"; // if the '/' was already included - if (path.endsWith("/")) { + if (path.endsWith(File.separator)) { uniqueBEDFilesPath = path + "unique"; inferredBEDFilesPath = path + "inferred"; } diff --git a/src/juicebox/tools/clt/old/BPToFragment.java b/src/juicebox/tools/clt/old/BPToFragment.java index c282503c..cb8d1283 100644 --- a/src/juicebox/tools/clt/old/BPToFragment.java +++ b/src/juicebox/tools/clt/old/BPToFragment.java @@ -35,6 +35,7 @@ import java.util.HashMap; import java.util.Map; import java.util.regex.Pattern; +import java.io.File; public class BPToFragment extends JuiceboxCLT { @@ -84,7 +85,7 @@ private static void bpToFrag(String fragmentFile, String inputFile, String outpu String nextLine; while ((nextLine = reader.readLine()) != null) { String path = nextLine.trim(); - int lastSlashIdx = path.lastIndexOf("/"); + int lastSlashIdx = path.lastIndexOf(File.separator); if (lastSlashIdx < 0) lastSlashIdx = path.lastIndexOf("\\"); // Windows convention String fn = lastSlashIdx < 0 ? path : path.substring(lastSlashIdx); diff --git a/src/juicebox/tools/clt/old/LibraryComplexity.java b/src/juicebox/tools/clt/old/LibraryComplexity.java index 3c0bed48..1314adb5 100644 --- a/src/juicebox/tools/clt/old/LibraryComplexity.java +++ b/src/juicebox/tools/clt/old/LibraryComplexity.java @@ -37,6 +37,7 @@ import java.util.Locale; import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicBoolean; +import java.io.File; public class LibraryComplexity extends JuiceboxCLT { @@ -231,9 +232,9 @@ public void run() { Future futureUniqueReads = executor.submit(taskUniqueReads); Future futureDupReadPairs = executor.submit(taskDupReadPairs); - File f = new File(localWorkingDirectory + "/" + fileName); + File f = new File(localWorkingDirectory + File.separator + fileName); if (f.exists()) { - BufferedReader reader = new BufferedReader(new FileReader(localWorkingDirectory + "/" + fileName)); + BufferedReader reader = new BufferedReader(new FileReader(localWorkingDirectory + File.separator + fileName)); String line = reader.readLine(); boolean done = false; while (line != null && !done) { diff --git a/src/juicebox/tools/dev/APAvsDistance.java b/src/juicebox/tools/dev/APAvsDistance.java index 3261717c..c88b52cd 100644 --- a/src/juicebox/tools/dev/APAvsDistance.java +++ b/src/juicebox/tools/dev/APAvsDistance.java @@ -42,6 +42,7 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; +import java.io.File; /** @@ -219,7 +220,7 @@ public void run() { XYSeries XYresults = new XYSeries("APA Result: " + resolution); for (int i = 0; i < numBuckets; i++) { APA apa = new APA(); - apa.initializeDirectly(hicFilePaths, PeaksFile, SaveFolderPath + "/" + (int) minPeakDist + "-" + (int) maxPeakDist, new int[]{resolution}, minPeakDist, maxPeakDist); + apa.initializeDirectly(hicFilePaths, PeaksFile, SaveFolderPath + File.separator + (int) minPeakDist + "-" + (int) maxPeakDist, new int[]{resolution}, minPeakDist, maxPeakDist); windows[i] = minPeakDist + "-" + maxPeakDist; System.out.println("Bucket:" + (i + 1) + " Window: " + windows[i]); diff --git a/src/juicebox/tools/dev/TriplesAPA.java b/src/juicebox/tools/dev/TriplesAPA.java index d8e33aeb..2a88ab32 100644 --- a/src/juicebox/tools/dev/TriplesAPA.java +++ b/src/juicebox/tools/dev/TriplesAPA.java @@ -36,6 +36,7 @@ import java.io.BufferedReader; import java.io.FileReader; import java.util.*; +import java.io.File; public class TriplesAPA extends JuicerCLT { public TriplesAPA() { @@ -155,7 +156,7 @@ public void process(String chr, List tripleList) { int min = Collections.min(plot3D.values()); int limit = Math.max((2 * max) / 3, min * 2); - System.out.println(chr + " max/min/limit vals: " + max + "/" + min + "/" + limit); + System.out.println(chr + " max/min/limit vals: " + max + File.separator + min + File.separator + limit); for (String key : plot3D.keySet()) { int val = plot3D.get(key); if (val > limit) { diff --git a/src/juicebox/track/LoadAction.java b/src/juicebox/track/LoadAction.java index 87a07d56..0783073c 100644 --- a/src/juicebox/track/LoadAction.java +++ b/src/juicebox/track/LoadAction.java @@ -48,6 +48,7 @@ import java.util.List; import java.util.jar.JarEntry; import java.util.jar.JarFile; +import java.io.File; /** @@ -253,7 +254,7 @@ private ArrayList getAvaliableXmlResourses() throws Exception { jar.close(); } else { // Run with IDE System.out.println("Within IDE"); - URL url = MainWindow.class.getResource("/" + resourses_path); + URL url = MainWindow.class.getResource(File.separator + resourses_path); if (url != null) { try { final File apps = new File(url.toURI()); diff --git a/src/juicebox/windowui/SaveAssemblyDialog.java b/src/juicebox/windowui/SaveAssemblyDialog.java index 52680062..13af7c94 100644 --- a/src/juicebox/windowui/SaveAssemblyDialog.java +++ b/src/juicebox/windowui/SaveAssemblyDialog.java @@ -73,7 +73,7 @@ private void menuOptions() { assemblyFileExporter.exportAssemblyFile(); } - String autoSaveFileName = DirectoryManager.getHiCDirectory() + "/" + (SuperAdapter.getDatasetTitle().split(".+?/(?=[^/]+$)")[1]).split("\\.(?=[^\\.]+$)")[0] + ".review.autosave.assembly"; + String autoSaveFileName = DirectoryManager.getHiCDirectory() + File.separator + (SuperAdapter.getDatasetTitle().split(".+?(/|\\\\)(?=[^(/|\\\\)]+$)")[1]).split("\\.(?=[^\\.]+$)")[0] + ".review.autosave.assembly"; File autoSaveFile = new File(autoSaveFileName); autoSaveFile.delete(); }