Skip to content

Commit 11bd686

Browse files
committed
Add new sample status output
1 parent d2a1fd0 commit 11bd686

1 file changed

Lines changed: 11 additions & 15 deletions

File tree

src/main/java/org/pankratzlab/internal/gwas/MatchMaker.java

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,11 @@
44
import java.io.File;
55
import java.io.IOException;
66
import java.io.PrintWriter;
7-
import java.nio.file.FileAlreadyExistsException;
87
import java.nio.file.Files;
98
import java.nio.file.Path;
109
import java.nio.file.Paths;
1110
import java.util.ArrayList;
12-
import java.util.Arrays;
13-
import java.util.Collections;
1411
import java.util.HashMap;
15-
import java.util.HashSet;
1612
import java.util.LinkedHashMap;
1713
import java.util.LinkedHashSet;
1814
import java.util.List;
@@ -24,21 +20,17 @@
2420
import java.util.concurrent.ExecutionException;
2521
import java.util.logging.Logger;
2622
import java.util.stream.Collectors;
27-
import java.util.stream.Stream;
2823

29-
import org.apache.commons.io.FileUtils;
3024
import org.pankratzlab.common.ArrayUtils;
3125
import org.pankratzlab.common.HashVec;
3226
import org.pankratzlab.common.Matrix;
3327
import org.pankratzlab.common.PSF;
34-
import org.pankratzlab.internal.gwas.FactorLoadings;
3528
import org.pankratzlab.kdmatch.KDMatch;
3629
import org.pankratzlab.kdmatch.KDTree;
3730
import org.pankratzlab.kdmatch.Match;
3831
import org.pankratzlab.kdmatch.Sample;
3932
import org.pankratzlab.kdmatch.SelectOptimizedNeighbors;
4033

41-
import com.google.common.collect.Sets;
4234
import com.google.common.primitives.Ints;
4335

4436
public class MatchMaker {
@@ -63,9 +55,10 @@ private static List<Match> kdMatchMaker(Path baseDir, Path inputSamples, List<Sa
6355
initialNumSelect)
6456
.collect(Collectors.toList());
6557

66-
String outputBase = baseDir + File.separator + "match.naive.txt";
58+
String outputBaseFileName = baseDir + File.separator + "match.naive.txt";
59+
String statusBaseFileName = baseDir + File.separator + "status.naive.txt";
6760
log.info("reporting full baseline selection of " + initialNumSelect + " nearest neighbors to "
68-
+ outputBase);
61+
+ outputBaseFileName);
6962
LinkedHashSet<String> setConvert = new LinkedHashSet<String>();
7063

7164
try {
@@ -75,9 +68,11 @@ private static List<Match> kdMatchMaker(Path baseDir, Path inputSamples, List<Sa
7568
setConvert.add(header[i]);
7669
}
7770
try {
78-
KDMatch.writeToFile(naiveMatches.stream(), outputBase,
71+
KDMatch.writeToFile(naiveMatches.stream(), outputBaseFileName,
7972
setConvert.stream().toArray(String[]::new),
8073
setConvert.stream().toArray(String[]::new), initialNumSelect);
74+
75+
KDMatch.writeSampleStatusFile(naiveMatches.stream(), statusBaseFileName, initialNumSelect);
8176
} catch (IOException e) {
8277
e.printStackTrace();
8378
}
@@ -86,8 +81,8 @@ private static List<Match> kdMatchMaker(Path baseDir, Path inputSamples, List<Sa
8681
System.exit(1);
8782
}
8883

89-
String outputOpt = baseDir + File.separator + "match.optimized.txt";
90-
84+
String outputOptFileName = baseDir + File.separator + "match.optimized.txt";
85+
String statusOptFileName = baseDir + File.separator + "status.optimized.txt";
9186
log.info("selecting optimized nearest neighbors");
9287

9388
List<Match> optimizedMatches = null;
@@ -96,10 +91,11 @@ private static List<Match> kdMatchMaker(Path baseDir, Path inputSamples, List<Sa
9691
threads, log)
9792
.collect(Collectors.toList());
9893
log.info("reporting optimized selection of " + finalNumSelect + " nearest neighbors to "
99-
+ outputOpt);
100-
KDMatch.writeToFile(optimizedMatches.stream(), outputOpt,
94+
+ outputOptFileName);
95+
KDMatch.writeToFile(optimizedMatches.stream(), outputOptFileName,
10196
setConvert.stream().toArray(String[]::new),
10297
setConvert.stream().toArray(String[]::new), finalNumSelect);
98+
KDMatch.writeSampleStatusFile(optimizedMatches.stream(), statusOptFileName, finalNumSelect);
10399
} catch (StackOverflowError s1) {
104100
s1.printStackTrace();
105101
log.info("To potentially prevent this StackOverflowError, try increasing the Thread Stack Size with the -Xss argument passed to the java virtual machine (i.e. java -Xss10m)");

0 commit comments

Comments
 (0)