Skip to content

Commit ff913d3

Browse files
committed
accommodate ENCODE TAR files with internal names differing from the TAR name
1 parent 4348c38 commit ff913d3

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ plugins {
88
}
99

1010
group = "com.genomealmanac.rnaseq"
11-
version = "1.0.5"
11+
version = "1.0.6"
1212
val artifactID = "rsem"
1313

1414
repositories {

src/main/kotlin/App.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ class Cli : CliktCommand() {
2727
private val cores: Int by option("--cores", help = "number of cores available to the task").int().default(1)
2828
private val ram: Int by option("--ram-gb", help = "amount of RAM available to the task, in GB").int().default(16)
2929
private val indexTarPrefix: String? by option("--index-tar-prefix", help = "the root directory of files in the index tar archive")
30+
private val indexNamePrefix: String? by option("--index-name-prefix", help = "prefix of the name of the files in the index tar archive")
3031

3132
override fun run() {
3233
DefaultCmdRunner().runRSEMQuant(
@@ -40,7 +41,8 @@ class Cli : CliktCommand() {
4041
outputDirectory = outputDirectory,
4142
cores = cores,
4243
ram = ram,
43-
indexTarPrefix = indexTarPrefix
44+
indexTarPrefix = indexTarPrefix,
45+
indexNamePrefix = indexNamePrefix
4446
)
4547
)
4648
}

src/main/kotlin/step/rsemquant.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ data class RSEMParameters (
1717
val ram: Int = 16,
1818
val outputPrefix: String = "output",
1919
val pairedEnd: Boolean,
20-
val indexTarPrefix: String? = null
20+
val indexTarPrefix: String? = null,
21+
val indexNamePrefix: String? = null
2122
)
2223

2324
val FORWARD_PROB: Map<String, Float> = mapOf(
@@ -31,6 +32,7 @@ fun CmdRunner.runRSEMQuant(parameters: RSEMParameters) {
3132
// create output directory, unpack index
3233
this.run("tar xvf ${parameters.index} -C ${parameters.outputDirectory}")
3334
if (parameters.indexTarPrefix !== null) this.run("mv ${parameters.outputDirectory}/${parameters.indexTarPrefix}/* ${parameters.outputDirectory}")
35+
val indexNamePrefix = if (parameters.indexNamePrefix !== null) parameters.indexNamePrefix else parameters.index.getFileName().toString().split(".tar.gz")[0]
3436

3537
// run RSEM
3638
this.run("""
@@ -45,7 +47,7 @@ fun CmdRunner.runRSEMQuant(parameters: RSEMParameters) {
4547
--forward-prob ${FORWARD_PROB[parameters.strand]} \
4648
${ if (parameters.pairedEnd) "--paired-end" else "" } \
4749
${parameters.bam} \
48-
${parameters.outputDirectory.resolve(parameters.index.getFileName().toString().split(".tar.gz")[0])} \
50+
${parameters.outputDirectory.resolve(indexNamePrefix)} \
4951
${parameters.outputDirectory.resolve("${parameters.outputPrefix}")}
5052
""")
5153

0 commit comments

Comments
 (0)