Skip to content
Laurent Jourdren edited this page Mar 2, 2016 · 4 revisions

This page presents the Eoulsan code organization that can be useful for a Eoulsan plugin developer. This page don't show information about internal organisation of Eoulsan like the workflow engine.

Like any Java project, the Eoulsan code is divided in packages. The Eoulsan package can be gathered in several categories:

Common packages

  • fr.ens.biologie.genomique.eoulsan: the main Eoulsan package.

  • Main: The main class of Eoulsan, store the command line arguments

  • MainHadoop: Main class when launch hadoop -jar

  • MainCLI: Main class in other cases

  • EoulsanRuntime: Eoulsan Runtime class to handle temporary directories, create input and output streams

  • Globals: Main constants of Eoulsan

  • Settings: Global parameters/configuration of Eoulsan or workflow

  • EoulsanLogger: Logger class that allow to store log messages in the right log file

  • EoulsanError, EoulsanException and EoulsanRuntimeException: Eoulsan exception classes

  • fr.ens.biologie.genomique.eoulsan.util: Util packages

  • FileUtils: This class contains file utility methods

  • ProcessUtils: This class contains utility methods to launch external process

  • StringsUtils: This class contains String utility methods

  • SystemUtils: This class contains utility methods to get information about the OS

  • FileUtils: This class contains file utility methods

  • Utils: This class contains file utility methods to manage Collection and check preconditions

  • Version: This class allow to parse a version string

  • fr.ens.biologie.genomique.eoulsan.util.cloud: Utility package dedicated to cloud computing

  • fr.ens.biologie.genomique.eoulsan.util.docker: Utility package dedicated to Docker

  • fr.ens.biologie.genomique.eoulsan.util.hadoop: Utility package dedicated to Hadoop

  • fr.ens.biologie.genomique.eoulsan.util.locker: Utility package that contains lockers to avoid that several read mapping tasks runs at the same time on a Hadoop mode

  • fr.ens.biologie.genomique.eoulsan.util.r: Utility package dedicated to R

Bio packages

  • fr.ens.biologie.genomique.eoulsan.bio:
  • Alphabets: Define RNA and DNA alphabets
  • FastqFormat: Enum that handle all the FASTQ formats and conversion
  • GenomeDescription: Store Genome information (chromosomes names and sizes, checksum)
  • GenomicArray: Class used by Java HTSeq-count implementation
  • GenomicInterval: Genomic interval
  • GFFEntry: GFF3 entry
  • IlluminaReadId: Illumina FASTQ Id parser
  • ReadSequence: FASTQ entry
  • Sequence: FASTQ entry
  • fr.ens.biologie.genomique.eoulsan.bio.readsmappers: Classes to map FASTQ files using mappers (e.g. Bowtie, STAR...)
  • fr.ens.biologie.genomique.eoulsan.bio.io: Classes to read and write bio object
  • fr.ens.biologie.genomique.eoulsan.bio.io.hadoop: Classes to read and write bio object for hadoop map/reduce tasks
  • fr.ens.biologie.genomique.eoulsan.bio.alignmentsfilters: Classes to filter SAM entries
  • fr.ens.biologie.genomique.eoulsan.bio.expressioncounters: Classes to count expression (e.g. HTSeq-count Java implementation)
  • fr.ens.biologie.genomique.eoulsan.bio.readsfilters: Classes to filter FASTQ entries

Module packages