diff --git a/README.md b/README.md
index 8c7d615..490c8bf 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@ This project's goal is to reduce duplicate code across different Google Genomics
If you have duplicate code appearing in your projects, or see useful functions in the other [googlegenomics Java repositories](https://github.com/googlegenomics?query=-java) that you want to depend on, please [contribute](CONTRIBUTING.rst)!
-##Depending on this project
+## Depending on this project
Note: you can find the latest available version of this project in [Maven's central repository](https://search.maven.org/#search%7Cga%7C1%7Ca%3A%22google-genomics-utils%22).
@@ -17,7 +17,7 @@ Add the following to your `pom.xml` file:
com.google.cloud.genomics
google-genomics-utils
- v1beta2-0.1
+ v1-0.8
@@ -31,7 +31,7 @@ repositories {
}
dependencies {
- compile 'com.google.cloud.genomics:google-genomics-utils:v1-0.7'
+ compile 'com.google.cloud.genomics:google-genomics-utils:v1-0.8'
}
```
@@ -113,9 +113,9 @@ This section contains details on getting a new release into Maven central and ca
mvn release:prepare && mvn release:perform
```
> ...
-> **What is the release version for "Google Genomics Utils"?:** \
+> **What is the release version for "Google Genomics Utils"?:** \
> **What is SCM release tag or label for "Google Genomics Utils"?:** \
-> **What is the new development version for "Google Genomics Utils"?** \
+> **What is the new development version for "Google Genomics Utils"?** \
2. Find the repository at https://oss.sonatype.org/#stagingRepositories and close it.
3. If closing succeeds, then release it. See the [detailed instructions](http://central.sonatype.org/pages/releasing-the-deployment.html#close-and-drop-or-release-your-staging-repository) for more info.
diff --git a/pom.xml b/pom.xml
index 21b67ff..32e2ffa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -80,7 +80,7 @@
com.github.samtools
htsjdk
- 1.128
+ 2.11.0
org.testng
@@ -106,7 +106,25 @@
com.google.api.grpc
grpc-google-genomics-v1
- 0.0.9
+ 0.1.0
+
+
+ com.google.api.grpc
+ grpc-google-common-protos
+
+
+ com.google.api.grpc
+ grpc-google-iam-v1
+
+
+ com.google.protobuf
+ protobuf-java
+
+
+ io.grpc
+ grpc-all
+
+
com.google.http-client
@@ -141,14 +159,29 @@
test
- org.mockito
- mockito-core
- 1.10.8
- test
+ org.mockito
+ mockito-core
+ 2.8.47
+ test
+
+
+ io.grpc
+ grpc-netty
+ ${io.grpc.version}
+
+
+ io.grpc
+ grpc-protobuf
+ ${io.grpc.version}
+
+
+ io.grpc
+ grpc-stub
+ ${io.grpc.version}
io.grpc
- grpc-all
+ grpc-auth
${io.grpc.version}
@@ -156,7 +189,7 @@
com.google.apis
google-api-services-storage
- v1-rev22-1.19.0
+ v1-rev110-1.22.0
test
@@ -287,13 +320,11 @@
- 4.11
1.22.0
- 0.4.0
- v1-rev109-1.22.0
+ 0.7.1
+ v1-rev512-1.22.0
19.0
- 1.0.1
- 1.10.8
+ 1.6.1
UTF-8
UTF-8
1.7
diff --git a/src/test/java/com/google/cloud/genomics/utils/IntegrationTestHelper.java b/src/test/java/com/google/cloud/genomics/utils/IntegrationTestHelper.java
index cbd5ade..327cdd7 100644
--- a/src/test/java/com/google/cloud/genomics/utils/IntegrationTestHelper.java
+++ b/src/test/java/com/google/cloud/genomics/utils/IntegrationTestHelper.java
@@ -29,22 +29,11 @@ public class IntegrationTestHelper {
public static final String PLATINUM_GENOMES_VARIANTSET = "3049512673186936334";
public static final String[] PLATINUM_GENOMES_CALLSET_NAMES = {
"NA12877",
- "NA12893",
- "NA12885",
"NA12889",
- "NA12887",
- "NA12881",
- "NA12888",
- "NA12882",
- "NA12879",
"NA12891",
- "NA12883",
"NA12892",
- "NA12886",
"NA12890",
"NA12878",
- "NA12884",
- "NA12880",
};
public static final String[] PLATINUM_GENOMES_READGROUPSETS = {
"CMvnhpKTFhCAv6TKo6Dglgg",
@@ -66,7 +55,7 @@ public class IntegrationTestHelper {
};
public static final String PLATINUM_GENOMES_REFERENCE_SET_ID = "CNfS6aHAoved2AEQ6PnzkOzw15rqAQ";
public static final String PLATINUM_GENOMES_BRCA1_REFERENCES = "chr17:41196311:41277499";
- public static final int PLATINUM_GENOMES_BRCA1_EXPECTED_NUM_VARIANTS = 19517;
+ public static final int PLATINUM_GENOMES_BRCA1_EXPECTED_NUM_VARIANTS = 7588;
public static final String PLATINUM_GENOMES_KLOTHO_REFERENCES = "chr13:33628137:33628138";
public static final ReferenceBound[] PLATINUM_GENOMES_VARIANTSET_BOUNDS = {
new ReferenceBound().setReferenceName("chr1").setUpperBound(250226910L),
diff --git a/src/test/java/com/google/cloud/genomics/utils/grpc/FaultyGenomicsServerITCase.java b/src/test/java/com/google/cloud/genomics/utils/grpc/FaultyGenomicsServerITCase.java
index bba0b5d..4a62725 100644
--- a/src/test/java/com/google/cloud/genomics/utils/grpc/FaultyGenomicsServerITCase.java
+++ b/src/test/java/com/google/cloud/genomics/utils/grpc/FaultyGenomicsServerITCase.java
@@ -63,7 +63,7 @@ public class FaultyGenomicsServerITCase {
public static void startServer() throws IOException, GeneralSecurityException {
try {
server = InProcessServerBuilder.forName(SERVER_NAME)
- .addService(StreamingVariantServiceGrpc.bindService(new VariantsIntegrationServerImpl()))
+ .addService(new VariantsIntegrationServerImpl())
.build().start();
} catch (IOException ex) {
throw new RuntimeException(ex);
@@ -76,8 +76,8 @@ public static void stopServer() {
server.shutdownNow();
}
- protected static class VariantsIntegrationServerImpl implements
- StreamingVariantServiceGrpc.StreamingVariantService {
+ protected static class VariantsIntegrationServerImpl extends
+ StreamingVariantServiceGrpc.StreamingVariantServiceImplBase {
final Random random = new Random();
@Override
diff --git a/src/test/java/com/google/cloud/genomics/utils/grpc/GenomicsStreamIteratorRetryTest.java b/src/test/java/com/google/cloud/genomics/utils/grpc/GenomicsStreamIteratorRetryTest.java
index ef50d71..05527ce 100644
--- a/src/test/java/com/google/cloud/genomics/utils/grpc/GenomicsStreamIteratorRetryTest.java
+++ b/src/test/java/com/google/cloud/genomics/utils/grpc/GenomicsStreamIteratorRetryTest.java
@@ -90,13 +90,12 @@ enum InjectionSite {
protected Server server;
- protected static class UnitServerImpl implements StreamingReadServiceGrpc.StreamingReadService,
- StreamingVariantServiceGrpc.StreamingVariantService {
+ protected static class FaultInjector {
protected final InjectionSite injectionSite;
protected volatile boolean failNow; // Accessed by the InProcess Server executor threads.
- protected UnitServerImpl(InjectionSite targetSite) {
+ protected FaultInjector(InjectionSite targetSite) {
injectionSite = targetSite;
failNow = true;
}
@@ -109,18 +108,6 @@ protected synchronized boolean shouldInjectNow(InjectionSite currentSite) {
return false;
}
- @Override
- public void streamReads(StreamReadsRequest request,
- StreamObserver responseObserver) {
- respondWithFaults(responseObserver, READ_RESPONSES);
- }
-
- @Override
- public void streamVariants(StreamVariantsRequest request,
- StreamObserver responseObserver) {
- respondWithFaults(responseObserver, VARIANT_RESPONSES);
- }
-
protected synchronized void respondWithFaults(StreamObserver responseObserver, Message[] responses) {
if (shouldInjectNow(InjectionSite.AT_BEGINNING)) {
responseObserver.onError(Status.UNAVAILABLE.withDescription("injected fault")
@@ -156,6 +143,34 @@ protected synchronized void respondWithFaults(StreamObserver responseObserver, M
}
}
+ protected static class ReadUnitServerImpl extends StreamingReadServiceGrpc.StreamingReadServiceImplBase {
+ final FaultInjector faultInjector;
+
+ public ReadUnitServerImpl(InjectionSite targetSite) {
+ faultInjector = new FaultInjector(targetSite);
+ }
+
+ @Override
+ public void streamReads(StreamReadsRequest request,
+ StreamObserver responseObserver) {
+ faultInjector.respondWithFaults(responseObserver, READ_RESPONSES);
+ }
+ }
+
+ protected static class VariantUnitServerImpl extends StreamingVariantServiceGrpc.StreamingVariantServiceImplBase {
+ final FaultInjector faultInjector;
+
+ public VariantUnitServerImpl(InjectionSite targetSite) {
+ faultInjector = new FaultInjector(targetSite);
+ }
+
+ @Override
+ public void streamVariants(StreamVariantsRequest request,
+ StreamObserver responseObserver) {
+ faultInjector.respondWithFaults(responseObserver, VARIANT_RESPONSES);
+ }
+ }
+
/**
* Starts the in-process server configured to inject one fault at the specified target site.
*
@@ -165,8 +180,8 @@ public void startServer(InjectionSite targetSite) {
try {
server =
InProcessServerBuilder.forName(testName.getMethodName())
- .addService(StreamingReadServiceGrpc.bindService(new UnitServerImpl(targetSite)))
- .addService(StreamingVariantServiceGrpc.bindService(new UnitServerImpl(targetSite)))
+ .addService(new ReadUnitServerImpl(targetSite))
+ .addService(new VariantUnitServerImpl(targetSite))
.build()
.start();
} catch (IOException ex) {
diff --git a/src/test/java/com/google/cloud/genomics/utils/grpc/GenomicsStreamIteratorTest.java b/src/test/java/com/google/cloud/genomics/utils/grpc/GenomicsStreamIteratorTest.java
index c47c9cc..e9861d2 100644
--- a/src/test/java/com/google/cloud/genomics/utils/grpc/GenomicsStreamIteratorTest.java
+++ b/src/test/java/com/google/cloud/genomics/utils/grpc/GenomicsStreamIteratorTest.java
@@ -61,8 +61,8 @@ public class GenomicsStreamIteratorTest {
public static void startServer() {
try {
server = InProcessServerBuilder.forName(SERVER_NAME)
- .addService(StreamingReadServiceGrpc.bindService(new ReadsUnitServerImpl()))
- .addService(StreamingVariantServiceGrpc.bindService(new VariantsUnitServerImpl()))
+ .addService(new ReadsUnitServerImpl())
+ .addService(new VariantsUnitServerImpl())
.build().start();
} catch (IOException ex) {
throw new RuntimeException(ex);
@@ -74,7 +74,7 @@ public static void stopServer() {
server.shutdownNow();
}
- protected static class ReadsUnitServerImpl implements StreamingReadServiceGrpc.StreamingReadService {
+ protected static class ReadsUnitServerImpl extends StreamingReadServiceGrpc.StreamingReadServiceImplBase {
@Override
public void streamReads(StreamReadsRequest request,
StreamObserver responseObserver) {
@@ -88,7 +88,7 @@ public void streamReads(StreamReadsRequest request,
}
}
- protected static class VariantsUnitServerImpl implements StreamingVariantServiceGrpc.StreamingVariantService {
+ protected static class VariantsUnitServerImpl extends StreamingVariantServiceGrpc.StreamingVariantServiceImplBase {
@Override
public void streamVariants(StreamVariantsRequest request,
StreamObserver responseObserver) {
diff --git a/src/test/java/com/google/cloud/genomics/utils/grpc/MergeAllVariantsAtSameSiteITCase.java b/src/test/java/com/google/cloud/genomics/utils/grpc/MergeAllVariantsAtSameSiteITCase.java
index d2d1d6f..bd2bd88 100644
--- a/src/test/java/com/google/cloud/genomics/utils/grpc/MergeAllVariantsAtSameSiteITCase.java
+++ b/src/test/java/com/google/cloud/genomics/utils/grpc/MergeAllVariantsAtSameSiteITCase.java
@@ -70,7 +70,7 @@ public class MergeAllVariantsAtSameSiteITCase {
public void testMerge() throws Exception {
ImmutableList requests =
ShardUtils.getVariantRequests(PROTOTYPE,
- 100L, "chr17:41204796:41204797");
+ 100L, "chr17:41198773:41198774");
assertEquals(1, requests.size());
Iterator iter =
@@ -84,29 +84,15 @@ public void testMerge() throws Exception {
// Platinum genomes has both a snp and an insertion at this genomic site
// but merging the calls together yields an ambiguous result.
- Variant expectedOutput1 = TestHelper.makeVariant("chr17", 41204796, 41204797, "A", Arrays.asList("AAC", "C"))
- .addCalls(TestHelper.makeCall("NA12882", 1, 1)) // ambiguous
- .addCalls(TestHelper.makeCall("NA12879", 1, 1)) // ambiguous
- .addCalls(TestHelper.makeCall("NA12891", 0, 1)) // ambiguous
+ Variant expectedOutput1 = TestHelper.makeVariant("chr17", 41198773, 41198774, "C", Arrays.asList("A", "CA"))
.addCalls(TestHelper.makeCall("NA12878", 0, 1)) // ambiguous
- .addCalls(TestHelper.makeCall("NA12884", 1, 1)) // ambiguous
- .addCalls(TestHelper.makeCall("NA12882", 0, 2)) // ambiguous
- .addCalls(TestHelper.makeCall("NA12879", 0, 2)) // ambiguous
- .addCalls(TestHelper.makeCall("NA12892", 0, 0))
- .addCalls(TestHelper.makeCall("NA12893", 0, 0))
- .addCalls(TestHelper.makeCall("NA12890", 0, 0))
- .addCalls(TestHelper.makeCall("NA12883", 0, 0))
- .addCalls(TestHelper.makeCall("NA12891", 0, 0)) // ambiguous
- .addCalls(TestHelper.makeCall("NA12880", 0, 0))
+ .addCalls(TestHelper.makeCall("NA12892", 0, 2)) // ambiguous
+ .addCalls(TestHelper.makeCall("NA12878", 0, 2)) // ambiguous
.addCalls(TestHelper.makeCall("NA12877", 0, 0))
- .addCalls(TestHelper.makeCall("NA12885", 0, 0))
.addCalls(TestHelper.makeCall("NA12889", 0, 0))
- .addCalls(TestHelper.makeCall("NA12887", 0, 0))
- .addCalls(TestHelper.makeCall("NA12881", 0, 0))
- .addCalls(TestHelper.makeCall("NA12888", 0, 0))
- .addCalls(TestHelper.makeCall("NA12886", 0, 0))
- .addCalls(TestHelper.makeCall("NA12878", 0, 0)) // ambiguous
- .addCalls(TestHelper.makeCall("NA12884", 0, 0)) // ambiguous
+ .addCalls(TestHelper.makeCall("NA12891", 0, 0))
+ .addCalls(TestHelper.makeCall("NA12892", 0, 0)) // ambiguous
+ .addCalls(TestHelper.makeCall("NA12890", 0, 0))
.putAllInfo(emptyInfo)
.build();
diff --git a/src/test/java/com/google/cloud/genomics/utils/grpc/MergeNonVariantSegmentsWithSnpsITCase.java b/src/test/java/com/google/cloud/genomics/utils/grpc/MergeNonVariantSegmentsWithSnpsITCase.java
index 76899d3..a65e830 100644
--- a/src/test/java/com/google/cloud/genomics/utils/grpc/MergeNonVariantSegmentsWithSnpsITCase.java
+++ b/src/test/java/com/google/cloud/genomics/utils/grpc/MergeNonVariantSegmentsWithSnpsITCase.java
@@ -67,7 +67,7 @@ public class MergeNonVariantSegmentsWithSnpsITCase {
public void testMerge() throws Exception {
ImmutableList requests =
ShardUtils.getVariantRequests(PROTOTYPE,
- 100, "chr17:41204796:41204797");
+ 100, "chr17:41198773:41198774");
assertEquals(1, requests.size());
Iterator iter =
@@ -77,32 +77,18 @@ public void testMerge() throws Exception {
"variants(alternateBases,calls(callSetName,genotype),end,referenceBases,referenceName,start)");
// Platinum genomes has both a snp and an insertion at this genomic site.
- Variant expectedOutput1 = TestHelper.makeVariant("chr17", 41204796, 41204797, "A", Arrays.asList("AAC"))
- .addCalls(TestHelper.makeCall("NA12882", 1, 1))
- .addCalls(TestHelper.makeCall("NA12879", 1, 1))
- .addCalls(TestHelper.makeCall("NA12891", 0, 1))
+ Variant expectedOutput1 = TestHelper.makeVariant("chr17", 41198773, 41198774, "C", Arrays.asList("A"))
.addCalls(TestHelper.makeCall("NA12878", 0, 1))
- .addCalls(TestHelper.makeCall("NA12884", 1, 1))
- .build();
-
- Variant expectedOutput2 = TestHelper.makeVariant("chr17", 41204796, 41204797, "A", Arrays.asList("C"))
- .addCalls(TestHelper.makeCall("NA12882", 0, 1))
- .addCalls(TestHelper.makeCall("NA12879", 0, 1))
- .addCalls(TestHelper.makeCall("NA12892", 0, 0))
- .addCalls(TestHelper.makeCall("NA12893", 0, 0))
- .addCalls(TestHelper.makeCall("NA12890", 0, 0))
- .addCalls(TestHelper.makeCall("NA12883", 0, 0))
- .addCalls(TestHelper.makeCall("NA12891", 0, 0))
- .addCalls(TestHelper.makeCall("NA12880", 0, 0))
.addCalls(TestHelper.makeCall("NA12877", 0, 0))
- .addCalls(TestHelper.makeCall("NA12885", 0, 0))
.addCalls(TestHelper.makeCall("NA12889", 0, 0))
- .addCalls(TestHelper.makeCall("NA12887", 0, 0))
- .addCalls(TestHelper.makeCall("NA12881", 0, 0))
- .addCalls(TestHelper.makeCall("NA12888", 0, 0))
- .addCalls(TestHelper.makeCall("NA12886", 0, 0))
- .addCalls(TestHelper.makeCall("NA12878", 0, 0))
- .addCalls(TestHelper.makeCall("NA12884", 0, 0))
+ .addCalls(TestHelper.makeCall("NA12891", 0, 0))
+ .addCalls(TestHelper.makeCall("NA12892", 0, 0))
+ .addCalls(TestHelper.makeCall("NA12890", 0, 0))
+ .build();
+
+ Variant expectedOutput2 = TestHelper.makeVariant("chr17", 41198773, 41198774, "C", Arrays.asList("CA"))
+ .addCalls(TestHelper.makeCall("NA12892", 0, 1))
+ .addCalls(TestHelper.makeCall("NA12878", 0, 1))
.build();
VariantMergeStrategyTestHelper.mergeTest(requests.get(0).getStart(), iter.next().getVariantsList(),
diff --git a/src/test/java/com/google/cloud/genomics/utils/grpc/MergeNonVariantSegmentsWithVariantsITCase.java b/src/test/java/com/google/cloud/genomics/utils/grpc/MergeNonVariantSegmentsWithVariantsITCase.java
index 7c008cb..a8bbd8d 100644
--- a/src/test/java/com/google/cloud/genomics/utils/grpc/MergeNonVariantSegmentsWithVariantsITCase.java
+++ b/src/test/java/com/google/cloud/genomics/utils/grpc/MergeNonVariantSegmentsWithVariantsITCase.java
@@ -67,7 +67,7 @@ public class MergeNonVariantSegmentsWithVariantsITCase {
public void testMerge() throws Exception {
ImmutableList requests =
ShardUtils.getVariantRequests(PROTOTYPE,
- 100, "chr17:41204796:41204797");
+ 100, "chr17:41198773:41198774");
assertEquals(1, requests.size());
Iterator iter =
@@ -77,48 +77,23 @@ public void testMerge() throws Exception {
"variants(alternateBases,calls(callSetName,genotype),end,referenceBases,referenceName,start)");
// Platinum genomes has both a snp and an insertion at this genomic site.
- Variant expectedOutput1 = TestHelper.makeVariant("chr17", 41204796, 41204797, "A", Arrays.asList("AAC"))
- .addCalls(TestHelper.makeCall("NA12882", 1, 1))
- .addCalls(TestHelper.makeCall("NA12879", 1, 1))
- .addCalls(TestHelper.makeCall("NA12891", 0, 1)) // ambiguous
- .addCalls(TestHelper.makeCall("NA12878", 0, 1)) // ambiguous
- .addCalls(TestHelper.makeCall("NA12884", 1, 1)) // ambiguous
- .addCalls(TestHelper.makeCall("NA12892", 0, 0))
- .addCalls(TestHelper.makeCall("NA12893", 0, 0))
- .addCalls(TestHelper.makeCall("NA12890", 0, 0))
- .addCalls(TestHelper.makeCall("NA12883", 0, 0))
- .addCalls(TestHelper.makeCall("NA12891", 0, 0)) // ambiguous
- .addCalls(TestHelper.makeCall("NA12880", 0, 0))
+ Variant expectedOutput1 = TestHelper.makeVariant("chr17", 41198773, 41198774, "C", Arrays.asList("A"))
+ .addCalls(TestHelper.makeCall("NA12878", 0, 1))
.addCalls(TestHelper.makeCall("NA12877", 0, 0))
- .addCalls(TestHelper.makeCall("NA12885", 0, 0))
.addCalls(TestHelper.makeCall("NA12889", 0, 0))
- .addCalls(TestHelper.makeCall("NA12887", 0, 0))
- .addCalls(TestHelper.makeCall("NA12881", 0, 0))
- .addCalls(TestHelper.makeCall("NA12888", 0, 0))
- .addCalls(TestHelper.makeCall("NA12886", 0, 0))
- .addCalls(TestHelper.makeCall("NA12878", 0, 0)) // ambiguous
- .addCalls(TestHelper.makeCall("NA12884", 0, 0)) // ambiguous
- .build();
-
-
- Variant expectedOutput2 = TestHelper.makeVariant("chr17", 41204796, 41204797, "A", Arrays.asList("C"))
- .addCalls(TestHelper.makeCall("NA12882", 0, 1))
- .addCalls(TestHelper.makeCall("NA12879", 0, 1))
+ .addCalls(TestHelper.makeCall("NA12891", 0, 0))
.addCalls(TestHelper.makeCall("NA12892", 0, 0))
- .addCalls(TestHelper.makeCall("NA12893", 0, 0))
.addCalls(TestHelper.makeCall("NA12890", 0, 0))
- .addCalls(TestHelper.makeCall("NA12883", 0, 0))
- .addCalls(TestHelper.makeCall("NA12891", 0, 0))
- .addCalls(TestHelper.makeCall("NA12880", 0, 0))
+ .build();
+
+ Variant expectedOutput2 = TestHelper.makeVariant("chr17", 41198773, 41198774, "C", Arrays.asList("CA"))
+ .addCalls(TestHelper.makeCall("NA12892", 0, 1)) // ambiguous
+ .addCalls(TestHelper.makeCall("NA12878", 0, 1)) // ambiguous
.addCalls(TestHelper.makeCall("NA12877", 0, 0))
- .addCalls(TestHelper.makeCall("NA12885", 0, 0))
.addCalls(TestHelper.makeCall("NA12889", 0, 0))
- .addCalls(TestHelper.makeCall("NA12887", 0, 0))
- .addCalls(TestHelper.makeCall("NA12881", 0, 0))
- .addCalls(TestHelper.makeCall("NA12888", 0, 0))
- .addCalls(TestHelper.makeCall("NA12886", 0, 0))
- .addCalls(TestHelper.makeCall("NA12878", 0, 0))
- .addCalls(TestHelper.makeCall("NA12884", 0, 0))
+ .addCalls(TestHelper.makeCall("NA12891", 0, 0))
+ .addCalls(TestHelper.makeCall("NA12892", 0, 0)) // ambiguous
+ .addCalls(TestHelper.makeCall("NA12890", 0, 0))
.build();
VariantMergeStrategyTestHelper.mergeTest(requests.get(0).getStart(), iter.next().getVariantsList(),