Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.googlecode.furnace.grid
- import org.gridgain.grid.{GridTaskSplitAdapter, GridJobResult, GridJob}
- import analyse.{AnalysisResult, SequenceIdentifier}
- import java.util.{List => JavaList}
- import java.util.{Collection => JavaCollection}
- import sequence.GeneSequence
- final class GeneSequenceGridTask extends GridTaskSplitAdapter[Iterator[GeneSequence], List[AnalysisResult]] {
- def split(gridSize: Int, inputSequences: Iterator[GeneSequence]): JavaCollection[_ <: GridJob] = error("I'm not really a list")
- def reduce(results: JavaList[GridJobResult]): List[AnalysisResult] = error("I'm not really a list")
- }
- object Gridity {
- import GridBootstrapper._
- import org.gridgain.grid.GridTaskFuture
- import scalaz.list.NonEmptyList, NonEmptyList._
- import sequence.GeneSequence._
- import sequence.Base
- def main(args: Array[String]) {
- startMasterNode
- try {
- val future: GridTaskFuture[List[AnalysisResult]] = masterNode.execute(classOf[GeneSequenceGridTask], sequences("ACGT"));
- val results: List[AnalysisResult] = future.get();
- } finally {
- stopMasterNode
- }
- }
- private def sequences(sequence: String) = List(geneSequence(baseSeq(sequence))).elements
- private def baseSeq(bases: String): NonEmptyList[Base] = list(bases.map(_.toByte: Base).toList)
- }
Add Comment
Please, Sign In to add comment