Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
holtgrewe committed Apr 28, 2015
2 parents dd6e6b4 + 8201008 commit 0071c31
Show file tree
Hide file tree
Showing 231 changed files with 12,780 additions and 7,669 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
language: java

jdk:
- openjdk6
- openjdk7
- oraclejdk7
- oraclejdk8
100 changes: 94 additions & 6 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,102 @@
**v0.13**
# Jannovar Changelog

*jannovar-htsjdk*
## develop

### jannovar-cli

* Moving `JannovarOptions` into jannovar-cli.
* Displaying online help on unknown Jannovar command.
* Fixing `NullPointerException` bug for local paths.
* Switching to official HTSJDK release and version 0.128.
* Writing out annotation about Jannovar call and version into the VCF file.
* Added option `--no-3-prime-shifting` to disable shifting towards the
3' end of the transcripts.
* Added option `--no-escape-ann-field` to disable escaping of the `ANN`
`INFO` field.
* Variants in `ANN` field are now annotated with proper Sequence Ontology
terms.

### jannovar-htsjdk

* Modified `VariantContextWriterConstructionHelper` to allow explicit
disabling of index creation.
* Modified `VariantContextAnnotator` for adjustment to the new Exomiser.
* Switching to official HTSJDK release and version 0.128.
* Changing `VariantContextWriterConstructionHelper` to allow writing out
of additional header lines.
* Added option to `VariantContextAnnotator#Options` for disabling
3' shifting.
* Modified `VariantContextAnnotator` allowing to disable escaping of the
`ANN` `INFO` field.

### jannovar-core

* Moving `JannovarOptions` into jannovar-cli.
* Renaming `ACompatibilityChecker` and `ICompatibilityChecker`.
* Adding `GenomePosition.differenceTo(GenomeInterval)`.
* Renaming package `de.charite.compbio.jannovar.io` to `de.charite.compbio.jannovar.data`
* Renaming `AnnotationLocation.toHGVSString` to `.toHGVSChunk`.
* Adding `Pedigree.subsetOfMembers`
* Renaming `GenomeChange` to `GenomeVariant`, same with types having the same
prefix.
* Introducing `DatasourceOptions` for configuring data download.
* Removing support for using `"-"` as REF or ALT value.
* Making previous `public final` members `private final` (or
`protected final`) and adding getters for read-only access to them.
* Removing position type member of `CDSInterval`.
* Using type `Strand` instead of `'+'` and `'-'`, requires database rebuild.
* Adding enum `Strand` with `PLUS` and `MINUS` values.
* Adding `VariantEffect.isOffExome` and updating
`VariantEffect.isOffTranscript`.
* Removing `genomeRegion` member from `GenotypeList`. Also, adjusting the
pedigree compatibility checkers for this, the check for being on the X
chromosome has to be performed outside the checker now.
* `VariantList.getHighestImpactEffect` now returns
`VariantEffect#SEQUENCE_VARIANT` if no annotation can be found.
* `VariantList` implements the `List<Annotation>` interface now and the
`entries` member has become private.
* Adding `VariantEffect#SEQUENCE_VARIANT` for variants with unknown
effects.
* `GenomeChange.toString()` now always converts to forward strand.
* Fixing bug in `Annotation` and enforcing forward strand `GenomeChange`
instances.
* Updates to the manual.
* `JannovarData` now also stores a mapping from transcript accession to
`TranscriptModel` and from gene symbol to `TranscriptModel`.
* Adding functionality for conversion from CDS to transcript and genome
position and tests.
* Adding `AnnotationBuilderOption` object that allows disabling of 3'
shifting towards the transcript.
* Adding `JannovarOptions#escapeAnnField`.
* Renaming `VariantType` to `VariantEffect`
* Changing `VariantType` to use proper Sequence Ontology terms. Legacy
names can be obtained through `VariantType#getLegacyName`.
* Spliting `CompatibilityCheckerXRecessive` into `CompatibilityCheckerXRecessiveCompoundHet` and `CompatibilityCheckerXRecessiveHomozygous`. Now all inheritance checkers ar ready to use (AR,XR,AD,XD)
* move all pedigree compatibility checkers from `de.charite.compbio.jannovar.pedigree` to `de.charite.compbio.jannovar.pedigree.compatibilitychecker` and divide it into ar,xr,ad,xd.
* generate interface `ICompatibilityChecker` for pedigree compatibility checkers.
* Combine compatibility fields and methods in an abstract class`ACompatibilityChecker` to unify methods, builders, and fields.

### jannovar-filter

* Splitting into `jped-cli` and `jannovar-filter`
* Changing public final members to accessors.
* `jannovar-filter` now has the Jannovar DB as the mandatory first argument.

### jannovar-htsjdk

* Changing public final members to accessors.

## v0.12

### jannovar-htsjdk

* Started bridge module between Jannovar and HTSJDK.

*jannovar-filter*
### jannovar-filter

* Started tool for mode of inheritance--based filters.

*jannovar-cli*
### jannovar-cli

* Splitting out bridge module between jannovar-core and HTSJDK to
jannovar-htsjdk.
Expand All @@ -20,7 +108,7 @@
* Adding `-v` and `-vv` command line options.
* Fixing problems with block substitution (delins) case (#87).

*jannovar-core*
### jannovar-core

* Adding initial support for the transcript support level feature of the new VCF
annotation standard (only in very recent ENSEMBL releases, apparently).
Expand All @@ -47,4 +135,4 @@
* `GenomePosition` and `GenomeInterval` use zero-based coordinates internally
now.

**v0.11**
## v0.11
45 changes: 0 additions & 45 deletions README

This file was deleted.

8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ Jannovar is licenced under the BSD2 license.
More information is available in the [Jannovar
manual](http://jannovar.readthedocs.org/).

Jannovar is compatible with Java 7 and higher.

Quickstart
----------

Expand All @@ -24,21 +26,21 @@ After extracting the ZIP file, you can call Jannovar as follows.
Download the UCSC transcripts for hg19:

```
# java -jar jannovar-cli-0.11.jar download hg19/ucsc
# java -jar jannovar-cli-0.13.jar download hg19/ucsc
[...]
```

Annotate the example file `small.vcf`:

```
# java -jar jannovar-cli-0.11.jar annotate data/hg19_ucsc.ser examples/small.vcf
# java -jar jannovar-cli-0.13.jar annotate data/hg19_ucsc.ser examples/small.vcf
[...]
```

Inspect the resulting annotated file:

```
# less small.jv.vcf
# less examples/small.jv.vcf
```

Also see the
Expand Down
11 changes: 6 additions & 5 deletions jannovar-cli/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@
<artifactId>jannovar-cli</artifactId>
<packaging>jar</packaging>

<name>jannovar-cli</name>
<url>http://maven.apache.org</url>
<name>${project.groupId}:${project.artifactId}</name>
<description>jannovar-cli is the command line interface for Jannovar</description>
<url>http://charite.github.io/jannovar/</url>

<parent>
<groupId>de.charite.compbio</groupId>
<artifactId>Jannovar</artifactId>
<version>0.12</version>
<version>0.13-SNAPSHOT</version>
</parent>

<properties>
Expand All @@ -32,9 +33,9 @@
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seqdoop</groupId>
<groupId>com.github.samtools</groupId>
<artifactId>htsjdk</artifactId>
<version>1.118</version>
<version>1.128</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
package de.charite.compbio.jannovar;

/** Command line functions from apache */
import de.charite.compbio.jannovar.JannovarException;
import de.charite.compbio.jannovar.JannovarOptions;
import de.charite.compbio.jannovar.cmd.CommandLineParsingException;
import de.charite.compbio.jannovar.cmd.HelpRequestedException;
import de.charite.compbio.jannovar.cmd.JannovarCommand;
import de.charite.compbio.jannovar.cmd.annotate_pos.AnnotatePositionCommand;
import de.charite.compbio.jannovar.cmd.annotate_vcf.AnnotateVCFCommand;
import de.charite.compbio.jannovar.cmd.db_list.DatabaseListCommand;
import de.charite.compbio.jannovar.cmd.download.DownloadCommand;
import de.charite.compbio.jannovar.reference.TranscriptModel;

/**
* This is the driver class for a program called Jannovar. It has two purposes
Expand Down Expand Up @@ -78,18 +75,22 @@ public static void main(String argv[]) {
// Create the corresponding command.
JannovarCommand cmd = null;
try {
if (argv[0].equals("download"))
if (argv[0].equals("download")) {
cmd = new DownloadCommand(argv);
else if (argv[0].equals("db-list"))
} else if (argv[0].equals("db-list")) {
cmd = new DatabaseListCommand(argv);
else if (argv[0].equals("annotate"))
} else if (argv[0].equals("annotate")) {
cmd = new AnnotateVCFCommand(argv);
else if (argv[0].equals("annotate-pos"))
} else if (argv[0].equals("annotate-pos")) {
cmd = new AnnotatePositionCommand(argv);
else
} else {
System.err.println("unrecognized command " + argv[0]);
printTopLevelHelp();
}
} catch (CommandLineParsingException e) {
System.err.println("problem with parsing command line options: " + e.getMessage());
System.err.println("ERROR: problem with parsing command line options: " + e.getMessage());
System.err.println("");
System.err.println("Use --help for obtaining usage instructions.");
} catch (HelpRequestedException e) {
return; // no error, user wanted help
}
Expand All @@ -112,7 +113,7 @@ else if (argv[0].equals("annotate-pos"))
*/
private static void printTopLevelHelp() {
System.err.println("Program: de.charite.compbio.jannovar (functional annotation of VCF files)");
System.err.println("Version: 0.10");
System.err.println("Version: " + JannovarOptions.JANNOVAR_VERSION);
System.err.println("Contact: Peter N Robinson <[email protected]>");
System.err.println("");
System.err.println("Usage: java -jar de.charite.compbio.jannovar.jar <command> [options]");
Expand All @@ -124,8 +125,10 @@ private static void printTopLevelHelp() {
System.err.println("");
System.err.println("Example: java -jar de.charite.compbio.jannovar.jar download hg19/ucsc");
System.err.println(" java -jar de.charite.compbio.jannovar.jar db-list");
System.err.println(" java -jar de.charite.compbio.jannovar.jar annotate data/hg19_ucsc.ser variants.vcf");
System.err.println(" java -jar de.charite.compbio.jannovar.jar annotate-pos data/hg19_ucsc.ser 'chr1:12345C>A'");
System.err
.println(" java -jar de.charite.compbio.jannovar.jar annotate data/hg19_ucsc.ser variants.vcf");
System.err
.println(" java -jar de.charite.compbio.jannovar.jar annotate-pos data/hg19_ucsc.ser 'chr1:12345C>A'");
System.err.println("");
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@
* @author Peter N Robinson <[email protected]>
*/
public final class JannovarOptions {
/** the version of the program */
public static final String JANNOVAR_VERSION = "0.13";

/** the selected command */
public Command command = null;

Expand Down Expand Up @@ -67,6 +70,12 @@ public final class JannovarOptions {
/** whether or not to write out the VCF annotation standard fields */
public boolean writeVCFAnnotationStandardInfoFields = true;

/** whether or not to escape characters like <code>'='</code> in the <code>ANN</code> VCF field. */
public boolean escapeAnnField = true;

/** whether or not to shift variants towards the 3' end of the transcript */
public boolean nt3PrimeShifting = true;

// TODO(holtgrem): enable and use this!
/** path to output VCF file path (overrides generation of file name from input file name) */
public String outVCFFile = null;
Expand All @@ -83,13 +92,6 @@ public enum Command {
DOWNLOAD, ANNOTATE_VCF, ANNOTATE_POSITION, DB_LIST
}

/**
* Enumeration of the supported data sources.
*/
public enum DataSource {
ENSEMBL, REFSEQ, REFSEQ_CURATED, UCSC
}

/**
* Print option values to stderr.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,18 @@
*/
public class CommandLineParsingException extends JannovarException {

public CommandLineParsingException() {
super();
}

public CommandLineParsingException(String msg) {
super(msg);
}

public CommandLineParsingException(String msg, Throwable cause) {
super(msg, cause);
}

private static final long serialVersionUID = 1L;

}
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,15 @@ public class HelpRequestedException extends JannovarException {
private static final long serialVersionUID = 1L;

public HelpRequestedException() {
super();
}

public HelpRequestedException(String msg) {
super(msg);
}

public HelpRequestedException(String msg, Throwable cause) {
super(msg, cause);
}

}
Loading

0 comments on commit 0071c31

Please sign in to comment.