Skip to content
Snippets Groups Projects
Commit 198fc86c authored by Peter van 't Hof's avatar Peter van 't Hof
Browse files

Added logging

parent 8883f723
No related branches found
No related tags found
No related merge requests found
...@@ -55,6 +55,8 @@ object RegionAfCount extends ToolCommand { ...@@ -55,6 +55,8 @@ object RegionAfCount extends ToolCommand {
val argsParser = new OptParser val argsParser = new OptParser
val cmdArgs: Args = argsParser.parse(args, Args()) getOrElse sys.exit(1) val cmdArgs: Args = argsParser.parse(args, Args()) getOrElse sys.exit(1)
logger.info("Start")
val regions = (for (line <- Source.fromFile(cmdArgs.bedFile).getLines()) yield { val regions = (for (line <- Source.fromFile(cmdArgs.bedFile).getLines()) yield {
val values = line.split("\t") val values = line.split("\t")
require(values.length >= 3, "to less columns in bed file") require(values.length >= 3, "to less columns in bed file")
...@@ -63,8 +65,10 @@ object RegionAfCount extends ToolCommand { ...@@ -63,8 +65,10 @@ object RegionAfCount extends ToolCommand {
new Interval(values(0), values(1).toInt, values(2).toInt, true, name) new Interval(values(0), values(1).toInt, values(2).toInt, true, name)
}).toList }).toList
val counts = (for (region <- regions) yield region.getName -> { var c = 0
(for (vcfFile <- cmdArgs.vcfFiles) yield vcfFile -> {
val afCounts = (for (region <- regions.par) yield region.getName -> {
val sum = (for (vcfFile <- cmdArgs.vcfFiles.par) yield vcfFile -> {
val reader = new VCFFileReader(vcfFile, true) val reader = new VCFFileReader(vcfFile, true)
val it = reader.query(region.getContig, region.getStart, region.getEnd) val it = reader.query(region.getContig, region.getStart, region.getEnd)
val sum = (for (v <- it) yield { val sum = (for (v <- it) yield {
...@@ -77,14 +81,23 @@ object RegionAfCount extends ToolCommand { ...@@ -77,14 +81,23 @@ object RegionAfCount extends ToolCommand {
reader.close() reader.close()
sum sum
}).toMap }).toMap
c += 1
if (c % 100 == 0) logger.info(s"$c regions done")
sum
}).toMap }).toMap
logger.info(s"Done reading, $c regions")
val writer = new PrintWriter(cmdArgs.outputFile) val writer = new PrintWriter(cmdArgs.outputFile)
writer.println("\t" + cmdArgs.vcfFiles.map(_.getName).mkString("\t")) writer.println("\t" + cmdArgs.vcfFiles.map(_.getName).mkString("\t"))
for (c <- counts) { for (r <- regions) {
writer.print(c._1 + "\t") writer.print(r.getName + "\t")
writer.println(cmdArgs.vcfFiles.map(c._2(_)).mkString("\t")) writer.println(cmdArgs.vcfFiles.map(afCounts(r.getName)(_)).mkString("\t"))
} }
writer.close() writer.close()
logger.info("Done")
} }
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment