Skip to content

Commit

Permalink
Merge branch 'release-5.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
Jules Jacobsen committed Nov 14, 2014
2 parents 0276291 + 23c9804 commit e54eac2
Show file tree
Hide file tree
Showing 143 changed files with 12,338 additions and 3,637 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@
/.idea
*.iml
*.log
nbactions.xml
nbactions.xml
/target/
16 changes: 16 additions & 0 deletions LICENCE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
The Exomiser - A tool to annotate and prioritize exome variants

Copyright (C) 2012-2014 Charite Universit�tsmedizin Berlin and Genome Research Ltd.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
The Exomiser - A Tool to Annotate and Prioritize Exome Variants
===============================================================

Package Structure:

exomiser-core (core library)
exomiser-cli (command-line interface)
exomiser-db (database build)
exomiser-sim (experimental exome simulator)
exomiser-web (web interface)




The Exomiser - A Tool to Annotate and Prioritize Exome Variants
===============================================================

Package Structure:

exomiser-core (core library)
exomiser-cli (command-line interface)
exomiser-db (database build)
exomiser-sim (experimental exome simulator)
exomiser-web (web interface)




56 changes: 56 additions & 0 deletions exomiser-cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# The Exomiser Command Line Executable - Changelog

## 5.0.0 2014-11-14
- New filter option --genes-to-keep Allows filtering by Entrez gene ID to keep only those genes specified.
- Added caching options which may significantly increase performance at the expense of memory - see application.properties.
- Changed 'username' in application.properties to 'dbuser' to prevent the current user's username from being used to authenticate against the PostgreSQL database on Windows.
- Added missing full-analysis option to test and example.settings
- Updated external dependencies
- Lots of under the hood changes and increased test coverage in exomiser-core.

## 4.0.1 2014-10-23
- Fixed bug where OMIM prioritiser did not work when inheritance model was not specified
- Adjustment of the exomiser-allspecies algorithm for PPI hits

## 4.0.0 2014-09-19
- Changed FilterScores to FilterResults to encapsulate the pass/fail , score and filterTypes returned from the filters in various ways previously.
- Changed Filter behaviour to simply return a FilterResult instead of altering the VariantEvaluation in inconsistent ways.
- VariantEvaluation now hides a bit more of its inner workings regarding FilterResults.
- PathogenicityData will now return its own most pathogenic score instead of relying on something else to figure this out.

- Major changes to PathogenicityFilter behaviour - Missense variants will always pass the filter regardless of their predicted pathogenicity. Other variant types can now be filtered according to the cutoff score or allowed to pass irrespective of the score.
- Command line option changes:
-P --remove-path-filter-cutoff command line option added to allow all variant types through pathogenicity filter.
-P --keep-non-pathogenic-missense command line option removed.
-P option default changed from true to false! Sorry. Check your existing settings carefully!

- Added GeneFilter functionality
- Renamed Scorable interface to Score
- Renamed VariantEvaluation variables and accessor methods:
getFilterScoreMap to getFilterResults to match how it is referred to in the code output.
getFailedFilters to getFailedFilterTypes
passesFilters to passedFilters

- Bug-fixes
- Prioritisers now release database connections when finished (affects batch-mode performance)
- Inheritance filter now performs correctly in all cases.

#### 3.0.2 2014-09-08
- VCF output now contains original VCF INFO field with exomiser info appended onto this.
- Bug-fix for crash when Jannovar found no annotations for a variant.

#### 3.0.1 2014-09-04
- Bug-fix for duplicate variants in Frequency table where the RSID was different.

#### 3.0.0 2014-08-22
- Completely re-worked under the hood code
- New extensible API
- Simplified command-line usage
- Multiple output formats
- Batch mode analysis
- Settings file input
- Zero-config installation

#### 2.1.0 2014-05-06
- Embedded H2 database or PostgreSQL
- Simplified set-up/installation
79 changes: 15 additions & 64 deletions exomiser-cli/README.md
Original file line number Diff line number Diff line change
@@ -1,61 +1,12 @@
The Exomiser - Command Line Executable
===============================================================
# Change log (version numbers follow semantic versioning - semver.org)

## 4.0.1 2014-10-23
- Fixed bug where OMIM prioritiser did not work when inheritance model was not specified
- Adjustment of the exomiser-allspecies algorithm for PPI hits

## 4.0.0 2014-09-19
- Changed FilterScores to FilterResults to encapsulate the pass/fail , score and filterTypes returned from the filters in various ways previously.
- Changed Filter behaviour to simply return a FilterResult instead of altering the VariantEvaluation in inconsistent ways.
- VariantEvaluation now hides a bit more of its inner workings regarding FilterResults.
- PathogenicityData will now return its own most pathogenic score instead of relying on something else to figure this out.

- Major changes to PathogenicityFilter behaviour - Missense variants will always pass the filter regardless of their predicted pathogenicity. Other variant types can now be filtered according to the cutoff score or allowed to pass irrespective of the score.
- Command line option changes:
-P --remove-path-filter-cutoff command line option added to allow all variant types through pathogenicity filter.
-P --keep-non-pathogenic-missense command line option removed.
-P option default changed from true to false! Sorry. Check your existing settings carefully!

- Added GeneFilter functionality
- Renamed Scorable interface to Score
- Renamed VariantEvaluation variables and accessor methods:
getFilterScoreMap to getFilterResults to match how it is referred to in the code output.
getFailedFilters to getFailedFilterTypes
passesFilters to passedFilters

- Bug-fixes
- Prioritisers now release database connections when finished (affects batch-mode performance)
- Inheritance filter now performs correctly in all cases.

## 3.0.2 2014-09-08
- VCF output now contains original VCF INFO field with exomiser info appended onto this.
- Bug-fix for crash when Jannovar found no annotations for a variant.

## 3.0.1 2014-09-04
- Bug-fix for duplicate variants in Frequency table where the RSID was different.

## 3.0.0 2014-08-22
- Completely re-worked under the hood code
- New extensible API
- Simplified command-line usage
- Multiple output formats
- Batch mode analysis
- Settings file input
- Zero-config installation

## 2.1.0 2014-05-06
- Embedded H2 database or PostgreSQL
- Simplified set-up/installation

# Installation

1. Download and unzip exomiser-cli-4.0.1-distribution.zip
2. Download exomiser-4.0.0.h2.db.zip from the h2_db_dumps folder and unzip in the exomiser-cli-4.0.1/data directory
3. Run the example commands below from the exomiser-cli-4.0.1 directory

# Alternative set-up
# The Exomiser - A Tool to Annotate and Prioritize Exome Variants: Command Line Executable

## Installation

1. Download and unzip exomiser-cli-${project.version}-distribution.zip
2. Download exomiser-${project.version}.h2.db.zip from the h2_db_dumps folder and unzip in the exomiser-cli-${project.version}/data directory
3. Run the example commands below from the exomiser-cli-${project.version} directory

## Alternative set-up

If you want to run Exomiser using an H2 database from a location of your choosing edit the line in application.properties:

Expand All @@ -72,7 +23,7 @@ with
(c) load into your postgres server: psql -h yourhost -U yourusername yourdatabase < exomiser_dump.pg
(d) edit application.properties with the details of how to connect this new database

# Usage
## Usage

(a) Exomiser v2 - phenotype comparisons to human, mouse and fish involving disruption of the gene or nearby genes in the interactome using a RandomWalk

Expand Down Expand Up @@ -126,7 +77,7 @@ Want help?
java -jar exomiser-cli-${project.version}.jar --help


# Project Build
## Project Build

This maven project is used to build the main exomiser jar for distribution. The
assembly plugin will produce a zip and tar.gz with an internal structure defined
Expand All @@ -137,14 +88,14 @@ defined in the outputDirectory fields for each fileSet of distribution.xml:

cd target
mkdir data
# copy in the data made from the db build or run this now if you haven't already
1. copy in the data made from the db build or run this now if you haven't already
cp ../../exomiser-db/data/exomiser.h2.db data/.
cp ../../exomiser-db/data/extracted/ucsc_hg19.ser data/.
# copy in the rw_string_9_05* data to data/
2. copy in the rw_string_9_05* data to data/
... from somewhere
# copy in the extra phenix data to data/
3. copy in the extra phenix data to data/
... from somewhere
# make the archive.
4. make the archive.
tar -cvzf exomiser.tgz exomiser-cli-${project.version}.jar jdbc.properties log4j2.xml lib data
# copy to the ftp site
scp exomiser.tgz gen1:/nfs/disk69/ftp/pub/resources/software/exomiser/downloads/exomiser/
17 changes: 4 additions & 13 deletions exomiser-cli/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<parent>
<groupId>de.charite.compbio</groupId>
<artifactId>Exomiser</artifactId>
<version>4.0.1</version>
<version>5.0.0</version>
</parent>

<properties>
Expand Down Expand Up @@ -40,17 +40,17 @@
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.0-rc1</version>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.0-rc1</version>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.0-rc1</version>
<version>${log4j.version}</version>
</dependency>
<!-- Test dependencies -->
<dependency>
Expand All @@ -59,7 +59,6 @@
<version>4.11</version>
<scope>test</scope>
</dependency>

</dependencies>

<build>
Expand All @@ -71,14 +70,6 @@
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
<configuration>
<skipTests>false</skipTests>
</configuration>
</plugin>
<!-- Make an executable jar and specify the main class and classpath -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
package de.charite.compbio.exomiser.cli;

import de.charite.compbio.exomiser.cli.config.MainConfig;
import de.charite.compbio.exomiser.cli.options.OptionMarshaller;
import de.charite.compbio.exomiser.core.factories.SampleDataFactory;
import de.charite.compbio.exomiser.core.model.Exomiser;
import de.charite.compbio.exomiser.core.model.ExomiserSettings;
Expand All @@ -23,9 +22,7 @@
import java.nio.file.Paths;
import java.security.CodeSource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.GnuParser;
import org.apache.commons.cli.HelpFormatter;
Expand All @@ -51,12 +48,11 @@ public class Main {

private static String buildVersion;
private static String buildTimestamp;

public static void main(String[] args) {

setup();

logger.info("Running Exomiser build version {}", buildVersion);
showSplash();

List<ExomiserSettings> sampleSettings = parseArgs(args);

Expand All @@ -67,14 +63,29 @@ public static void main(String[] args) {

}

private static void showSplash() {
String splash =
"\n\n" +
" Welcome to: \n" +
" _____ _ _____ _ \n" +
" |_ _| |__ ___ | ____|_ _____ _ __ ___ (_)___ ___ _ __ \n" +
" | | | '_ \\ / _ \\ | _| \\ \\/ / _ \\| '_ ` _ \\| / __|/ _ \\ '__|\n" +
" | | | | | | __/ | |___ > < (_) | | | | | | \\__ \\ __/ | \n" +
" |_| |_| |_|\\___| |_____/_/\\_\\___/|_| |_| |_|_|___/\\___|_| \n" +
" \n" +
" A Tool to Annotate and Prioritize Exome Variants v"+ buildVersion +"\n";

logger.info("{}", splash);
}

private static void setup() {
applicationContext = setUpApplicationContext();
options = applicationContext.getBean(Options.class);
buildVersion = (String) applicationContext.getBean("buildVersion");
buildTimestamp = (String) applicationContext.getBean("buildTimestamp");
}

private static AnnotationConfigApplicationContext setUpApplicationContext() {
private static AnnotationConfigApplicationContext setUpApplicationContext() {
//Get Spring started - this contains the configuration of the application
CodeSource codeSource = Main.class.getProtectionDomain().getCodeSource();
Path jarFilePath = null;
Expand All @@ -99,7 +110,6 @@ private static AnnotationConfigApplicationContext setUpApplicationContext() {

private static void runAnalysis(ExomiserSettings exomiserSettings) {
//3) Get the VCF file path (this creates a List of Variants)
logger.info("SETTINGS RECEIVED " + exomiserSettings);
Path vcfFile = exomiserSettings.getVcfPath();
logger.info("Running analysis for {}", vcfFile);
//4) Get the PED file path if the VCF file has multiple samples
Expand Down Expand Up @@ -168,6 +178,7 @@ private static List<ExomiserSettings> parseArgs(String[] args) {

private static void printHelp() {
HelpFormatter formatter = new HelpFormatter();
formatter.printHelp("java -jar exomizer-cli [...]", options);
String launchCommand = String.format("java -jar exomizer-cli-%s.jar [...]", buildVersion);
formatter.printHelp(launchCommand, options);
}
}
Loading

0 comments on commit e54eac2

Please sign in to comment.