Skip to content

Commit

Permalink
Merge branch 'release-8.0.0'
Browse files Browse the repository at this point in the history
# Conflicts:
#	README.md
#	exomiser-cli/CHANGELOG.md
#	exomiser-cli/pom.xml
#	exomiser-core/pom.xml
#	exomiser-core/src/main/java/de/charite/compbio/exomiser/core/analysis/util/RawScoreGeneScorer.java
#	exomiser-core/src/test/java/de/charite/compbio/exomiser/core/analysis/util/RawScoreGeneScorerTest.java
#	exomiser-db/pom.xml
#	exomiser-rest-analysis/pom.xml
#	exomiser-web/README.md
#	exomiser-web/pom.xml
#	exomiser-web/src/main/java/org/monarchinitiative/exomiser/web/dao/JdbcExomiserDao.java
#	pom.xml
  • Loading branch information
julesjacobsen committed Aug 8, 2017
2 parents b928847 + ce6326e commit def283f
Show file tree
Hide file tree
Showing 1,049 changed files with 140,932 additions and 80,539 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
# Avoid ignoring Maven wrapper jar file (.jar files are usually ignored)
!maven-wrapper.jar

#Gradle stuff
.gradle
Expand Down
Binary file added .mvn/wrapper/maven-wrapper.jar
Binary file not shown.
1 change: 1 addition & 0 deletions .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip
661 changes: 661 additions & 0 deletions LICENCE

Large diffs are not rendered by default.

16 changes: 0 additions & 16 deletions LICENCE.txt

This file was deleted.

85 changes: 83 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
The Exomiser - A Tool to Annotate and Prioritize Exome Variants
===============================================================
#### Branch build status:
Master: [![CircleCI](https://circleci.com/gh/exomiser/Exomiser/tree/master.svg?style=shield)](https://circleci.com/gh/exomiser/Exomiser/tree/master)
Development: [![CircleCI](https://circleci.com/gh/exomiser/Exomiser/tree/development.svg?style=shield)](https://circleci.com/gh/exomiser/Exomiser/tree/development)

#### Overview
#### Overview:

The Exomiser is a Java program that finds potential disease-causing variants from whole-exome or whole-genome sequencing data.

Expand All @@ -17,8 +20,86 @@ The Exomiser was developed by the Computational Biology and Bioinformatics group

The prebuilt Exomiser binaries can be obtained from the [releases](https://github.com/exomiser/Exomiser/releases) page and supporting data files can be downloaded from the [Exomiser FTP site](http://data.monarchinitiative.org/exomiser).

For instructions on installing and running please refer to the [README.md](http://data.monarchinitiative.org/exomiser/README.md) file.
It is possible to use the same data sources for each major version, in order to avoid having to download the data files for each software point release. To do this, edit the ```exomiser.data-directory``` field in the ```application.properties``` file to point to the data directory of the other installation.

For example you have an exomiser installation located at ```/opt/exomiser-cli-7.0.0``` which contains the data files in the directory ```/opt/exomiser-cli-7.0.0/data```. You can use the release 7.2.3 (same major version) by unzipping the release to ```/opt/exomiser-cli-7.2.3``` and changing the line in the file ```/opt/exomiser-cli-7.2.3/application.properties``` from
```properties
#root path where data is to be downloaded and worked on
#it is assumed that all the files required by exomiser listed in this properties file
#will be found in the data directory unless specifically overridden here.
exomiser.data-directory=data
```
to
```properties
exomiser.data-directory=/opt/exomiser-cli-7.0.0/data
```

For further instructions on installing and running please refer to the [README.md](http://data.monarchinitiative.org/exomiser/README.md) file.

#### Running it

Please refer to the [manual](http://exomiser.github.io/Exomiser/) for details on how to configure and run the Exomiser.

#### Using The Exomiser in your code

The exomiser can also be used as a library in Spring Java applications. Add the ```exomiser-spring-boot-starter``` library to your pom/gradle build script.

In your configuration class add the ```@EnableExomiser``` annotation

```java
@EnableExomiser
public class MainConfig {

}
```

Or if using Spring boot for your application, you can add it on your main class

```java
@EnableExomiser
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
```

In your application use the AnalysisBuilder obtained from the Exomiser instance to configure your analysis. Then run the Analysis using the Exomiser class.
Creation of the Exomiser is a complicated process so defer this to Spring and the exomiser-spring-boot-starter. Calling the ```add``` prefixed methods
will add that analysis step to the analysis in the order that they have been defined in your code.

Example usage:
```
@Autowired
private final Exomiser exomiser;
...
Analysis analysis = exomiser.getAnalysisBuilder()
.vcfPath(vcfPath)
.pedPath(pedPath)
.probandSampleName(probandSampleId)
.hpoIds(phenotypes)
.analysisMode(AnalysisMode.PASS_ONLY)
.modeOfInheritance(ModeOfInheritance.AUTOSOMAL_DOMINANT)
.frequencySources(FrequencySource.ALL_EXTERNAL_FREQ_SOURCES)
.pathogenicitySources(EnumSet.of(PathogenicitySource.POLYPHEN, PathogenicitySource.MUTATION_TASTER, PathogenicitySource.SIFT))
.addPhivePrioritiser()
.addPriorityScoreFilter(PriorityType.PHIVE_PRIORITY, 0.501f)
.addQualityFilter(500.0)
.addRegulatoryFeatureFilter()
.addFrequencyFilter(0.01f)
.addPathogenicityFilter(true)
.addInheritanceFilter()
.addOmimPrioritiser()
.build();
AnalysisResults analysisResults = exomiser.run(analysis);
```

#### Memory usage

Analysing whole genomes using the ``AnalysisMode.FULL`` or ``AnalysisMode.SPARSE`` will use a lot of RAM (~16GB for 4.5 million variants without any extra variant data being loaded) the standard Java GC will fail to cope well with these.
Using the G1GC should solve this issue. e.g. add ``-XX:+UseG1GC`` to your ``java -jar -Xmx...`` incantation.

10 changes: 10 additions & 0 deletions circle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
dependencies:
override:
#need to do an install here otherwise the exomiser-core lib won't be found when getting deps for the other modules
- mvn install -DskipTests=true
test:
override:
- mvn test
post:
- mkdir -p $CIRCLE_TEST_REPORTS/junit/
- find . -type f -regex ".*/target/surefire-reports/.*xml" -exec cp {} $CIRCLE_TEST_REPORTS/junit/ \;
Binary file added exomiser-cli/.mvn/wrapper/maven-wrapper.jar
Binary file not shown.
1 change: 1 addition & 0 deletions exomiser-cli/.mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip
27 changes: 26 additions & 1 deletion exomiser-cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,31 @@
# The Exomiser Command Line Executable - Changelog

## 7.2.2 2016-07-01
## 8.0.0 2017-08-08
- See https://github.com/exomiser/Exomiser/projects/2 for a complete list of changes.
- ```application.properties``` file has changed to use ```exomiser``` namespace prefix. Will allow property placeholder substitution - e.g. ```exomiser.property=foo``` can be used elsewhere in the file as ```${exomiser.property}```. Will support user-defined property values too.
- Analysis file now requires ```proband``` id to be specified. Bug-fix for multi-sample VCF files where the proband sample is not the first sample in the genotypes section leading to occasional scores of 0 for the exomiser_gene_variant_score in cases where the variants are heterozygous and consistent with autosomal recessive.
- Analysis file ```scoringMode``` option has now been removed as it was never used.
- Analysis now supports a new ```failedVariantFilter: {}``` to remove variants without a ```PASS``` or ```.``` in the FILTER field.
- Can now filter variants by LOCAL frequency source.
- It is now possible to use UCSC, ENSEMBL or REFSEQ transcript identifiers.
- REMM data is no longer bundled with the distribution. If you want to use this for non-coding variant pathogenicity scoring you'll need to manually download and install it.
- Memory requirements are now reduced.
- Fixed AR comp-het scoring bug.
- Now partly normalises incoming variant data enabling better performance for multi-allelic sites.
- Variants contributing to the exomiser score are now flagged in output files.
- VCF output now has valid headers for info fields and more informative information.
- VCF output no longer contain invalid values in FILTER field for failed variants.
- VCF lines containing multiple alleles now contain the field ```ExContribAltAllele``` with an zero-based integer indicating the ALT allele contributing to the score.
- HTML output now shows individual variant scores and flags contributing variants along with displaying them first.
- HTML output tweaked to display data more clearly in the genes section.


## 7.2.3 2016-11-02
- Partial bug-fix for multi-sample VCF files where the proband sample is not the first sample in the genotypes section leading to occasional scores of 0 for the exomiser_gene_variant_score in cases where the variants are heterozygous and consistent with autosomal recessive.

*IMPORTANT!* As a workaround for this issue ensure the proband sample is the first sample in the VCF file. This will be properly fixed in the next major release.

## 7.2.2 2016-07-01
- Fix for issue when using OmimPrioritiser with UNDEFINED inheritance mode which led to gene phenotype scores being halved.
- Fix for VCF output multiple allele line duplications. VCF output will now have alternate alleles written out on the same line if they were originally like that in the input VCF. The variant scores will be concatenated to correspond with the alleles. VCFs containing alleles split onto seperate lines in the input file will continue to have them like this in the output file.

Expand Down
17 changes: 17 additions & 0 deletions exomiser-cli/LICENCE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
The Exomiser - A tool to annotate and prioritise genomic variants

Copyright (c) 2016-2017 Queen Mary University of London.
Copyright (c) 2012-2016 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/>.
16 changes: 0 additions & 16 deletions exomiser-cli/LICENSE.txt

This file was deleted.

Loading

0 comments on commit def283f

Please sign in to comment.