-
Notifications
You must be signed in to change notification settings - Fork 10
Main Page
Eoulsan is a command line workflow engine for Next Generation Sequencing data analysis. It could be run either in standalone mode or in distributed mode using the Hadoop framework.
This wiki contains all necessary information for developing plug-ins for Eoulsan.
User documentation is available on Eoulsan website.
As of Feb 5, 2012, this wiki is in beta.
- Developping Requirements for Eoulsan developing
- Using Maven for creating and compiling an Eoulsan plug-in
- Contribute Core Eoulsan to Eoulsan core with Git
- Eoulsan core Coding Policy
- The Eoulsan javadoc for API reference
- The source code in XRef format
- Downloading sources
- The Eoulsan website
Eoulsan is not only a Workflow engine, it also provide an object model in the fr.ens.transcriptome.eoulsan.bio
package for handling NGS data. Eoulsan object model can be used in a standalone mode in your project without launching the Eoulsan workflow. You just had to put the eoulsan.jar file in your classpath. This sample show how to use the Eoulsan Object model without Eoulsan workflow engine.
- Handling Sequence and alphabets
- Sequence IO
- Handling Read Sequence and FASTQ formats
- Reads IO
- Filtering Reads
- Handling GFF3 data
- GFF3 IO
- Filtering Alignments
- Accessing Eoulsan Settings Class
- The Eoulsan Runtime Class object
- The Data File Class
- The Context Class object
- The Exceptions Class
The Eoulsan code is very modular. There is two level of modularity in Eoulsan:
- Core SPI interfaces for managing core services like steps and data formats.
- Step dedicated SPI interface for customizing common steps like filterreads or mapreads.
The core SPI interface are essential to Eoulsan working, it allow to extend Eoulsan capacities for the user needs. To write an Eoulsan plug-in, the only way is to write one or more classes that implements the following interfaces. For a typical plug-in user usually only implements the Step
and DataFormat
interface.
- Writing a Writing Step Plugin. A
Step
is a class that is called to process data. There is a step of each element of the worflow to execute. - Writing a Writing Data Format. A
DataFormat
class define a data type that allow to the Eoulsan engine to check if all the necessary data is available before the starting of the workflow. It allow also easy access to the data inside a Step. - Writing a Writing Protocol. A
Protocol
class allow define data access with custom URL likegenome://mouse
ors3://mybucket/mydir/foobar
. - Writing a Writing Action for Eoulsan command line. The
Action
class allow user to define its own Eoulsan command like the built-in exec, awsexec or createdesign.
To avoid code duplication and forbid the creation of too many step, some steps are modular. It allow quick development of steps that fulfil the custom needs of the user.
- Writing a Filtering Reads for the readsfilter step
- Writing a Writing Mapper for the mapreads step
- Writing a SAM filter for the filtersam step