This repository has been archived by the owner on Sep 15, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathExample.java
55 lines (47 loc) · 2.08 KB
/
Example.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package com.google.cloud.genomics.utils.grpc;
import com.google.genomics.v1.ReferenceServiceV1Grpc;
import com.google.genomics.v1.ReferenceServiceV1Grpc.ReferenceServiceV1BlockingStub;
import com.google.genomics.v1.ReferenceSet;
import com.google.genomics.v1.SearchReferenceSetsRequest;
import com.google.genomics.v1.SearchReferenceSetsResponse;
import com.google.genomics.v1.StreamVariantsRequest;
import com.google.genomics.v1.StreamVariantsResponse;
import com.google.genomics.v1.StreamingVariantServiceGrpc;
import com.google.genomics.v1.StreamingVariantServiceGrpc.StreamingVariantServiceBlockingStub;
import io.grpc.ManagedChannel;
import java.util.Iterator;
public class Example {
public static void main(String[] args) throws Exception {
ManagedChannel channel = GenomicsChannel.fromDefaultCreds();
// Regular RPC example: list all reference set assembly ids.
ReferenceServiceV1BlockingStub refStub =
ReferenceServiceV1Grpc.newBlockingStub(channel);
SearchReferenceSetsRequest request =
SearchReferenceSetsRequest.newBuilder().build();
SearchReferenceSetsResponse response = refStub.searchReferenceSets(request);
for (ReferenceSet rs : response.getReferenceSetsList()) {
System.out.println(rs.getAssemblyId());
}
// Streaming RPC example: request the variants within BRCA1 for the Platinum Genomes variant set.
StreamingVariantServiceBlockingStub varStub =
StreamingVariantServiceGrpc.newBlockingStub(channel);
StreamVariantsRequest varRequest = StreamVariantsRequest.newBuilder()
.setVariantSetId("3049512673186936334")
.setReferenceName("chr17")
.setStart(41196311)
.setEnd(41277499)
.build();
try {
Iterator<StreamVariantsResponse> iter = varStub.streamVariants(varRequest);
while (iter.hasNext()) {
StreamVariantsResponse varResponse = iter.next();
System.out.println("Response:");
System.out.println(varResponse.toString());
System.out.println();
}
System.out.println("Done");
} finally {
channel.shutdownNow();
}
}
}