Skip to content

Commit

Permalink
Major refactoring and changes:
Browse files Browse the repository at this point in the history
 * app module is now used for CLI. Classes and options created
 * log4j is now used instead of 'simple' and log4j.properties created in resources
 * core module package renamed
  • Loading branch information
imedina committed Mar 16, 2015
1 parent 7fbea86 commit 75d4570
Show file tree
Hide file tree
Showing 24 changed files with 631 additions and 118 deletions.
19 changes: 19 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash

if [ $# -eq 1 ]; then
if [ $1 == 'run-maven' ]; then
mvn clean install -DskipTests
fi
fi

## Check if 'build' folder exists to delete the content. If not it is created.
if [ -d build ]; then
rm -rf build/*
else
mkdir build
fi

## Copy all the binaries, dependencies and files
cp -r hpg-bigdata-app/target/appassembler/* build/
cp README.md build/

54 changes: 53 additions & 1 deletion hpg-bigdata-app/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>org.opencb.hpg</groupId>
<artifactId>hpg-bigdata</artifactId>
Expand All @@ -12,6 +11,59 @@
</parent>

<artifactId>hpg-bigdata-app</artifactId>
<version>${hpg.version}</version>

<dependencies>
<dependency>
<groupId>org.opencb.hpg</groupId>
<artifactId>hpg-bigdata-core</artifactId>
</dependency>
<dependency>
<groupId>com.beust</groupId>
<artifactId>jcommander</artifactId>
<version>1.47</version>
</dependency>
<!--<dependency>-->
<!--<groupId>org.slf4j</groupId>-->
<!--<artifactId>slf4j-api</artifactId>-->
<!--</dependency>-->
<!--<dependency>-->
<!--<groupId>org.slf4j</groupId>-->
<!--<artifactId>slf4j-simple</artifactId>-->
<!--</dependency>-->
</dependencies>

<build>
<sourceDirectory>src/main/java</sourceDirectory>
<testSourceDirectory>src/test/java</testSourceDirectory>

<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>appassembler-maven-plugin</artifactId>
<version>1.9</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>assemble</goal>
</goals>
</execution>
</executions>
<configuration>
<repositoryName>libs</repositoryName>
<repositoryLayout>flat</repositoryLayout>
<useWildcardClassPath>true</useWildcardClassPath>
<extraJvmArguments>-Xms128m -Xmx4096m</extraJvmArguments>
<programs>
<program>
<name>bigdata.sh</name>
<mainClass>org.opencb.hpg.bigdata.app.BigDataMain</mainClass>
</program>
</programs>
</configuration>
</plugin>
</plugins>
</build>

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package org.opencb.hpg.bigdata.app;

import org.opencb.hpg.bigdata.app.cli.*;

/**
* Created by imedina on 15/03/15.
*/
public class BigDataMain {

public static void main(String[] args) {
CliOptionsParser cliOptionsParser = new CliOptionsParser();
cliOptionsParser.parse(args);

String parsedCommand = cliOptionsParser.getCommand();
if (parsedCommand == null || parsedCommand.isEmpty()) {
if (cliOptionsParser.getGeneralOptions().help) {
cliOptionsParser.printUsage();
}
if (cliOptionsParser.getGeneralOptions().version) {
System.out.println("version = 3.1.0");
}
} else {
CommandExecutor commandExecutor = null;
switch (parsedCommand) {
case "fastq":
if (cliOptionsParser.getFastqCommandOptions().commonOptions.help) {
cliOptionsParser.printUsage();
} else {
commandExecutor = new FastqCommandExecutor(cliOptionsParser.getFastqCommandOptions());
}
break;
case "bam":
if (cliOptionsParser.getBamCommandOptions().commonOptions.help) {
cliOptionsParser.printUsage();
} else {
commandExecutor = new BamCommandExecutor(cliOptionsParser.getBamCommandOptions());
}
break;
case "ga4gh":
if (cliOptionsParser.getGa4ghCommandOptions().commonOptions.help) {
cliOptionsParser.printUsage();
} else {
commandExecutor = new Ga4ghCommandExecutor(cliOptionsParser.getGa4ghCommandOptions());
}
break;
case "align":
if (cliOptionsParser.getAlignCommandOptions().commonOptions.help) {
cliOptionsParser.printUsage();
} else {
commandExecutor = new AlignCommandExecutor(cliOptionsParser.getAlignCommandOptions());
}
break;
default:
break;
}

if (commandExecutor != null) {
commandExecutor.parse();
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package org.opencb.hpg.bigdata.app.cli;

/**
* Created by imedina on 16/03/15.
*/
public class AlignCommandExecutor extends CommandExecutor {

private CliOptionsParser.AlignCommandOptions alignCommandOptions;

public AlignCommandExecutor(CliOptionsParser.AlignCommandOptions alignCommandOptions) {
super(alignCommandOptions.commonOptions.logLevel, alignCommandOptions.commonOptions.verbose,
alignCommandOptions.commonOptions.conf);

this.alignCommandOptions = alignCommandOptions;
}


/**
* Parse specific 'align' command options
*/
public void parse() {
logger.info("Executing {} CLI options", "align");

logger.debug("Input file: {}", alignCommandOptions.input);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package org.opencb.hpg.bigdata.app.cli;

/**
* Created by imedina on 15/03/15.
*/
public class BamCommandExecutor extends CommandExecutor {

private CliOptionsParser.BamCommandOptions bamCommandOptions;

public BamCommandExecutor(CliOptionsParser.BamCommandOptions bamCommandOptions) {
super(bamCommandOptions.commonOptions.logLevel, bamCommandOptions.commonOptions.verbose,
bamCommandOptions.commonOptions.conf);

this.bamCommandOptions = bamCommandOptions;
}


/**
* Parse specific 'bam' command options
*/
public void parse() {
logger.info("Executing {} CLI options", "bam");

logger.debug("Input file: {}", bamCommandOptions.input);

}

}
Loading

0 comments on commit 75d4570

Please sign in to comment.