Bug Bulletin: The recent 3.2 release fixes many issues. If you run into a problem, please try the latest version before posting a bug report, as your problem may already have been solved.

type not found: type ExternalCommonArgs

green4swgreen4sw BostonPosts: 6Member

Hi,

I am trying to understand how GATK Queue works, and wrote a mini script to do alignment using bwa mem. The test code failed when running.

The error messages:
not found: type not found: type ExternalCommonArgs
ERROR 21:25:34,464 QScriptManager - case class bwa_mem (inFastQ: File, outBam: File) extends CommandLineFunction with ExternalCommonArgs
ERROR 21:25:34,464 QScriptManager - case class bwa_mem (inFastQ: File, outBam: File) extends CommandLineFunction with ExternalCommonArgs

Then I removed ExternalCommonArgs and ran again. The error is:
ERROR MESSAGE: Non-file found. Try removing the annotation, change the annotation to @Argument, or extend File with FileExtension: private int temp.bwaThreads: 1

Any suggestions for debugging? My code is attached below.

Thanks




import org.broadinstitute.sting.queue.QScript

class temp extends QScript {

qscript =>

@Input(doc="input fastq file - or list of fastq files", shortName="I", required=true)
var input: File = _

@Input(doc="Reference fasta file", shortName="R", required=true)
var reference: File = _

@Input(doc="Number of threads BWA should use", fullName="bwa_threads", shortName="bt", required=false)
var bwaThreads: Int = 1

val queueLogDir: String = ".qlog/" // Gracefully hide Queue's output

def performAlignment(fq: File): File = {
var alignedBam: File = swapExt(fq, ".fq", ".sam")
add(bwa_mem(fq, alignedBam))
alignedBam

}

def script() {
var outBam: File = performAlignment(input)

}

case class bwa_mem (inFastQ: File, outBam: File) extends CommandLineFunction with ExternalCommonArgs{
@Input(doc="fastq file to be aligned") var fq = inFastQ
@Output(doc="output bam file") var bam = outBam
def commandLine = "bwa mem -t " + bwaThreads + " " + reference + " " + fq + " > " + bam
this.analysisName = queueLogDir + outBam + ".bwamem"
this.jobName = queueLogDir + outBam + ".bwamem"
}
}

Tagged:

Answers

Sign In or Register to comment.