Skip to content

Commit

Permalink
added bis score to all variant based output and added relevant filters
Browse files Browse the repository at this point in the history
  • Loading branch information
nickzren committed Aug 2, 2017
1 parent 13835ef commit fcabd95
Show file tree
Hide file tree
Showing 3 changed files with 87 additions and 3 deletions.
44 changes: 41 additions & 3 deletions src/main/java/function/annotation/base/AnnotatedVariant.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package function.annotation.base;

import function.external.bis.BisCommand;
import function.external.bis.BisGene;
import function.external.bis.BisOutput;
import function.external.denovo.DenovoDB;
import function.external.denovo.DenovoDBCommand;
Expand Down Expand Up @@ -175,7 +177,8 @@ public void initExternalData() {
public boolean isValid() {
return isValid
&& isTrapValid()
&& isSubRVISValid();
&& isSubRVISValid()
&& isBisValid();
}

private boolean isTrapValid() {
Expand All @@ -202,7 +205,7 @@ private boolean isSubRVISValid() {
subRvisOutput = new SubRvisOutput(getGeneName(), getChrStr(), getStartPosition());

// sub rvis filters will only apply missense variants
if (effect.startsWith("missense_variant")) {
if (effect.equals("missense_variant")) {
return SubRvisCommand.isSubRVISDomainScoreValid(subRvisOutput.getDomainScore())
&& SubRvisCommand.isSubRVISDomainOEratioValid(subRvisOutput.getDomainOEratio())
&& SubRvisCommand.isSubRVISExonScoreValid(subRvisOutput.getExonScore())
Expand All @@ -214,7 +217,33 @@ private boolean isSubRVISValid() {

return true;
}


// init bis score base on most damaging gene and applied filter
private boolean isBisValid() {
if (BisCommand.isIncludeBis) {
bisOutput = new BisOutput(getGeneName(), getChrStr(), getStartPosition());

// bis filters will only apply missense variants
if (effect.equals("missense_variant")) {
BisGene geneDomain = bisOutput.getGeneDomain();
BisGene geneExon = bisOutput.getGeneExon();

return BisCommand.isBisDomainScore0005Valid(geneDomain == null ? Data.FLOAT_NA : geneDomain.getScore0005())
&& BisCommand.isBisDomainScore0001Valid(geneDomain == null ? Data.FLOAT_NA : geneDomain.getScore0001())
&& BisCommand.isBisDomainScore00005Valid(geneDomain == null ? Data.FLOAT_NA : geneDomain.getScore00005())
&& BisCommand.isBisDomainScore00001Valid(geneDomain == null ? Data.FLOAT_NA : geneDomain.getScore00001())
&& BisCommand.isBisExonScore0005Valid(geneExon == null ? Data.FLOAT_NA : geneExon.getScore0005())
&& BisCommand.isBisExonScore0001Valid(geneExon == null ? Data.FLOAT_NA : geneExon.getScore0001())
&& BisCommand.isBisExonScore00005Valid(geneExon == null ? Data.FLOAT_NA : geneExon.getScore00005())
&& BisCommand.isBisExonScore00001Valid(geneExon == null ? Data.FLOAT_NA : geneExon.getScore00001());
} else {
return true;
}
}

return true;
}

public void getAnnotationData(StringBuilder sb) {
sb.append(getStableId()).append(",");
sb.append(hasCCDS).append(",");
Expand Down Expand Up @@ -296,6 +325,7 @@ public void getExternalData(StringBuilder sb) {
sb.append(get1000Genomes());
sb.append(getRvis());
sb.append(getSubRvis());
sb.append(getBis());
sb.append(getGerpScore());
sb.append(getTrapScore());
sb.append(getMgi());
Expand Down Expand Up @@ -374,6 +404,14 @@ public String getSubRvis() {
}
}

public String getBis() {
if (BisCommand.isIncludeBis) {
return bisOutput.toString();
} else {
return "";
}
}

public String get1000Genomes() {
if (GenomesCommand.isInclude1000Genomes) {
return genomes.toString();
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/function/variant/base/Output.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package function.variant.base;

import function.external.bis.BisManager;
import function.external.denovo.DenovoDBManager;
import function.external.evs.EvsManager;
import function.external.exac.ExacManager;
Expand Down Expand Up @@ -56,6 +57,7 @@ public static String getExternalDataTitle() {
+ GenomesManager.getTitle()
+ RvisManager.getTitle()
+ SubRvisManager.getTitle()
+ BisManager.getTitle()
+ GerpManager.getTitle()
+ TrapManager.getTitle()
+ MgiManager.getTitle()
Expand Down
44 changes: 44 additions & 0 deletions src/main/java/function/variant/base/VariantLevelFilterCommand.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package function.variant.base;

import function.external.bis.BisCommand;
import function.external.denovo.DenovoDBCommand;
import function.external.evs.EvsCommand;
import function.external.exac.ExacCommand;
Expand Down Expand Up @@ -170,6 +171,46 @@ public static void initOptions(Iterator<CommandOption> iterator)
SubRvisCommand.subRVISExonOEratioPercentile = getValidFloat(option);
SubRvisCommand.isIncludeSubRvis = true;
break;
case "--bis-domain-score-percentile-0.005":
checkValueValid(100, 0, option);
BisCommand.bisDomainScorePercentile0005 = getValidFloat(option);
BisCommand.isIncludeBis = true;
break;
case "--bis-domain-score-percentile-0.001":
checkValueValid(100, 0, option);
BisCommand.bisDomainScorePercentile0001 = getValidFloat(option);
BisCommand.isIncludeBis = true;
break;
case "--bis-domain-score-percentile-0.0005":
checkValueValid(100, 0, option);
BisCommand.bisDomainScorePercentile00005 = getValidFloat(option);
BisCommand.isIncludeBis = true;
break;
case "--bis-domain-score-percentile-0.0001":
checkValueValid(100, 0, option);
BisCommand.bisDomainScorePercentile00001 = getValidFloat(option);
BisCommand.isIncludeBis = true;
break;
case "--bis-exon-score-percentile-0.005":
checkValueValid(100, 0, option);
BisCommand.bisExonScorePercentile0005 = getValidFloat(option);
BisCommand.isIncludeBis = true;
break;
case "--bis-exon-score-percentile-0.001":
checkValueValid(100, 0, option);
BisCommand.bisExonScorePercentile0001 = getValidFloat(option);
BisCommand.isIncludeBis = true;
break;
case "--bis-exon-score-percentile-0.0005":
checkValueValid(100, 0, option);
BisCommand.bisExonScorePercentile00005 = getValidFloat(option);
BisCommand.isIncludeBis = true;
break;
case "--bis-exon-score-percentile-0.0001":
checkValueValid(100, 0, option);
BisCommand.bisExonScorePercentile00001 = getValidFloat(option);
BisCommand.isIncludeBis = true;
break;
case "--include-evs":
EvsCommand.isIncludeEvs = true;
break;
Expand Down Expand Up @@ -197,6 +238,9 @@ public static void initOptions(Iterator<CommandOption> iterator)
case "--include-sub-rvis":
SubRvisCommand.isIncludeSubRvis = true;
break;
case "--include-bis":
BisCommand.isIncludeBis = true;
break;
// case "--include-1000-genomes":
// GenomesCommand.isInclude1000Genomes = true;
// break;
Expand Down

0 comments on commit fcabd95

Please sign in to comment.