seed = e3.getSetting('fastqSampleSeed', '12345')

    # Establish up tool locations
    toolPath = e3.getSetting('toolPath')
    fastqcToolPath = e3.getSetting('fastqcToolPath', toolPath)

    # Get nonGalaxy paths
    e3.registerFile('fastq', 'galaxyInput', galaxyInputFile)
    e3.registerFile('validated', 'galaxyOutput', galaxyOutputFile)
    nonGalaxyInput = e3.nonGalaxyInput('fastq')
    resultsDir = e3.resultsDir(galaxyPath)
    runningLog = e3.declareLogFile()
    e3.log.empty()  # start with an empty log

    # Begin logging
    step = LogicalStep(e3, stepName)

    # Establish temporary and Permenant outputs
    sampleOf = step.declareGarbageFile('sampleOf_s' + reads, suffix='fastq')
    sampledStats = step.declareGarbageFile('sampledStats', suffix='txt')
    # The following 2 are bound together by the same nameKey:
    stepFile = step.declareTargetFile(
        'validateRep' + repNo, suffix='html')  # will become nonGalaxyOutput
    nonGalaxyOutput = e3.createOutFile('validateRep'+repNo,'nonGalaxyOutput', \
                                   '%s_s'+reads+'_fastqc/fastqc_report', ext='html' )

    # FAKING step.run()
    step._status = 'Running'
    step.declareLogFile()  # Ensures that the logical step dir and log exist
    step.log.out("--- Beginning '" + stepName + "' [" +
                 datetime.now().strftime("%Y-%m-%d %X (%A)") + '] ---')