{"action":"created","comment":{"url":"https://api.github.com/repos/broadinstitute/gatk/pulls/comments/198539859","pull_request_review_id":132486802,"id":198539859,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5ODUzOTg1OQ==","diff_hunk":"@@ -0,0 +1,256 @@\n+package org.broadinstitute.hellbender.tools.walkers.readorientation;\n+\n+import htsjdk.samtools.util.SequenceUtil;\n+import org.broadinstitute.hellbender.exceptions.UserException;\n+import org.broadinstitute.hellbender.utils.Utils;\n+import org.broadinstitute.hellbender.utils.tsv.DataLine;\n+import org.broadinstitute.hellbender.utils.tsv.TableColumnCollection;\n+import org.broadinstitute.hellbender.utils.tsv.TableReader;\n+import org.broadinstitute.hellbender.utils.tsv.TableWriter;\n+\n+import java.io.File;\n+import java.io.IOException;\n+import java.util.Arrays;\n+import java.util.List;\n+import java.util.Optional;\n+import java.util.stream.Collectors;\n+\n+/**\n+ * Container for the artifact prior probabilities for the read orientation model\n+ */\n+public class ArtifactPrior {\n+    private final String referenceContext;\n+    private final double[] pi;\n+    private final double[] revCompPi;\n+    private final int numExamples;\n+    private final int numAltExamples;\n+    private final List<String> refContextAndItsReverseComplmenet;\n+\n+    public ArtifactPrior(final String referenceContext, final double[] pi, final int numExamples, final int numAltExamples) {\n+        this.referenceContext = F1R2FilterConstants.CANONICAL_KMERS.contains(referenceContext) ?\n+                referenceContext : SequenceUtil.reverseComplement(referenceContext);\n+        this.refContextAndItsReverseComplmenet = Arrays.asList(this.referenceContext, SequenceUtil.reverseComplement(this.referenceContext));\n+        this.pi = pi;\n+        this.revCompPi = new double[F1R2FilterConstants.NUM_STATES];\n+        for (ArtifactState s : ArtifactState.values()){\n+            revCompPi[s.ordinal()] = pi[ArtifactState.getRevCompState(s).ordinal()];\n+        }\n+        this.numExamples = numExamples;\n+        this.numAltExamples = numAltExamples;\n+    }\n+\n+    /**\n+     * The two reference contexts that are reverse complements of each other share the identical artifact prior\n+     * object. What differentiates the use case between them is the order in which the prior probabilities appear:\n+     * e.g. F1R2_T in one context is F2R1_A in the other. We enforce that these not get mixed up by requiring that\n+     * the caller specify the reference context whenever the caller wishes to retrieve prior probabilities\n+     */\n+    public double[] getPi(final String queryContext){\n+        Utils.validate(refContextAndItsReverseComplmenet.contains(queryContext),\n+                queryContext + \" is not a valid reference context for this artifact prior object\");\n+        if (queryContext.equals(this.referenceContext)){\n+            return pi;\n+        } else {\n+            return revCompPi;\n+        }\n+    }\n+\n+    public double getPi(final ArtifactState state, final String queryContext) {\n+        Utils.validate(refContextAndItsReverseComplmenet.contains(queryContext),\n+                queryContext + \" is not a valid reference context for this artifact prior object\");\n+        if (queryContext.equals(this.referenceContext)){\n+            return pi[state.ordinal()];\n+        } else {\n+            return revCompPi[state.ordinal()];\n+        }\n+    }\n+\n+    public String getReferenceContext() {\n+        return referenceContext;\n+    }\n+\n+    public String getReverseComplement() {\n+        return SequenceUtil.reverseComplement(referenceContext);\n+    }\n+\n+    public int getNumExamples() { return numExamples; }\n+\n+    public int getNumAltExamples() { return numAltExamples; }\n+\n+    private static class ArtifactPriorTableWriter extends TableWriter<ArtifactPrior> {\n+        private ArtifactPriorTableWriter(final File output) throws IOException {\n+            super(output, ArtifactPriorTableColumn.COLUMNS);\n+        }\n+\n+        @Override\n+        protected void composeLine(final ArtifactPrior hps, final DataLine dataLine) {\n+            dataLine.set(ArtifactPriorTableColumn.CONTEXT.toString(), hps.getReferenceContext())\n+                    .set(ArtifactPriorTableColumn.REV_COMP.toString(), hps.getReverseComplement())\n+                    .set(ArtifactPriorTableColumn.F1R2_A.toString(),\n+                            hps.getPi(ArtifactState.F1R2_A, hps.getReferenceContext()))\n+                    .set(ArtifactPriorTableColumn.F1R2_C.toString(),\n+                            hps.getPi(ArtifactState.F1R2_C, hps.getReferenceContext()))\n+                    .set(ArtifactPriorTableColumn.F1R2_G.toString(),\n+                            hps.getPi(ArtifactState.F1R2_G, hps.getReferenceContext()))\n+                    .set(ArtifactPriorTableColumn.F1R2_T.toString(),\n+                            hps.getPi(ArtifactState.F1R2_T, hps.getReferenceContext()))\n+                    .set(ArtifactPriorTableColumn.F2R1_A.toString(),\n+                            hps.getPi(ArtifactState.F2R1_A, hps.getReferenceContext()))\n+                    .set(ArtifactPriorTableColumn.F2R1_C.toString(),\n+                            hps.getPi(ArtifactState.F2R1_C, hps.getReferenceContext()))\n+                    .set(ArtifactPriorTableColumn.F2R1_G.toString(),\n+                            hps.getPi(ArtifactState.F2R1_G, hps.getReferenceContext()))\n+                    .set(ArtifactPriorTableColumn.F2R1_T.toString(),\n+                            hps.getPi(ArtifactState.F2R1_T, hps.getReferenceContext()))\n+                    .set(ArtifactPriorTableColumn.HOM_REF.toString(),\n+                            hps.getPi(ArtifactState.HOM_REF, hps.getReferenceContext()))\n+                    .set(ArtifactPriorTableColumn.GERMLINE_HET.toString(),\n+                            hps.getPi(ArtifactState.GERMLINE_HET, hps.getReferenceContext()))\n+                    .set(ArtifactPriorTableColumn.SOMATIC_HET.toString(),\n+                            hps.getPi(ArtifactState.SOMATIC_HET, hps.getReferenceContext()))\n+                    .set(ArtifactPriorTableColumn.HOM_VAR.toString(),\n+                            hps.getPi(ArtifactState.HOM_VAR, hps.getReferenceContext()))\n+                    .set(ArtifactPriorTableColumn.N.toString(), hps.getNumExamples())\n+                    .set(ArtifactPriorTableColumn.N_ALT.toString(), hps.getNumAltExamples());\n+        }\n+    }\n+\n+    /**\n+     *  Converts a double array to a comma-separated string without surrounding brackets\n+     *  Compare to Arrays.toString(), which includes brackets and therefore is inferior\n+     */\n+    public static String doubleArrayToString(final double[] xs){\n+        Utils.validateArg(xs.length > 0, \"xs must not be an empty (uninitialized?) array\");\n+        StringBuilder sb = new StringBuilder(String.valueOf(xs[0]));\n+        for (int i = 1; i < xs.length ; i++){\n+            sb.append(\",\" + String.valueOf(xs[i]));\n+        }\n+        return sb.toString();\n+    }\n+\n+    public static void writeArtifactPriors(final List<ArtifactPrior> priors, final File outputTable) {\n+        try (ArtifactPriorTableWriter writer = new ArtifactPriorTableWriter(outputTable)) {\n+            writer.writeAllRecords(priors);\n+        } catch (IOException e) {\n+            throw new UserException(String.format(\"Encountered an IO exception while writing to %s.\", outputTable), e);\n+        }\n+    }\n+\n+    /** Code for reading artifact priors from a table **/\n+    public static List<ArtifactPrior> readArtifactPriors(final File table) {\n+        try (ArtifactPriorTableReader reader = new ArtifactPriorTableReader(table)) {\n+            return reader.toList();\n+        } catch (IOException e) {\n+            throw new UserException(String.format(\"Encountered an IO exception while reading from %s.\", table), e);\n+        }\n+    }\n+\n+    /** Read artifact prior for a specific context from the table **/\n+    public static ArtifactPrior readArtifactPrior(final File table, final String referenceContext) {","path":"src/main/java/org/broadinstitute/hellbender/tools/walkers/readorientation/ArtifactPrior.java","position":149,"original_position":149,"commit_id":"8c3ef3af441c49e0397e0ba5f8cdcc8593c2a14d","original_commit_id":"02d68b22225e634465e5329be6906e040931c094","user":{"login":"takutosato","id":5185538,"node_id":"MDQ6VXNlcjUxODU1Mzg=","avatar_url":"https://avatars3.githubusercontent.com/u/5185538?v=4","gravatar_id":"","url":"https://api.github.com/users/takutosato","html_url":"https://github.com/takutosato","followers_url":"https://api.github.com/users/takutosato/followers","following_url":"https://api.github.com/users/takutosato/following{/other_user}","gists_url":"https://api.github.com/users/takutosato/gists{/gist_id}","starred_url":"https://api.github.com/users/takutosato/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/takutosato/subscriptions","organizations_url":"https://api.github.com/users/takutosato/orgs","repos_url":"https://api.github.com/users/takutosato/repos","events_url":"https://api.github.com/users/takutosato/events{/privacy}","received_events_url":"https://api.github.com/users/takutosato/received_events","type":"User","site_admin":false},"body":"done","created_at":"2018-06-27T15:28:35Z","updated_at":"2018-06-27T15:28:35Z","html_url":"https://github.com/broadinstitute/gatk/pull/4895#discussion_r198539859","pull_request_url":"https://api.github.com/repos/broadinstitute/gatk/pulls/4895","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/broadinstitute/gatk/pulls/comments/198539859"},"html":{"href":"https://github.com/broadinstitute/gatk/pull/4895#discussion_r198539859"},"pull_request":{"href":"https://api.github.com/repos/broadinstitute/gatk/pulls/4895"}},"in_reply_to_id":196866295},"pull_request":{"url":"https://api.github.com/repos/broadinstitute/gatk/pulls/4895","id":194643604,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk0NjQzNjA0","html_url":"https://github.com/broadinstitute/gatk/pull/4895","diff_url":"https://github.com/broadinstitute/gatk/pull/4895.diff","patch_url":"https://github.com/broadinstitute/gatk/pull/4895.patch","issue_url":"https://api.github.com/repos/broadinstitute/gatk/issues/4895","number":4895,"state":"open","locked":false,"title":"New Orientation Bias Filter","user":{"login":"takutosato","id":5185538,"node_id":"MDQ6VXNlcjUxODU1Mzg=","avatar_url":"https://avatars3.githubusercontent.com/u/5185538?v=4","gravatar_id":"","url":"https://api.github.com/users/takutosato","html_url":"https://github.com/takutosato","followers_url":"https://api.github.com/users/takutosato/followers","following_url":"https://api.github.com/users/takutosato/following{/other_user}","gists_url":"https://api.github.com/users/takutosato/gists{/gist_id}","starred_url":"https://api.github.com/users/takutosato/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/takutosato/subscriptions","organizations_url":"https://api.github.com/users/takutosato/orgs","repos_url":"https://api.github.com/users/takutosato/repos","events_url":"https://api.github.com/users/takutosato/events{/privacy}","received_events_url":"https://api.github.com/users/takutosato/received_events","type":"User","site_admin":false},"body":"The WGS evaluation shows that the new filter is equivalent to or slightly better than the old filter for filtering the known Oxo-G and FFPE base artifacts. The new filter is strictly better at filtering artifacts we haven't encountered before, like that of the Novaseq data.\r\n\r\nThis PR also introduces the FDR-based two-pass filtering for FilterMutectCalls #4893\r\n\r\n@davidbenjamin I still need to revise mutect2.tex, but the code is ready for review\r\n\r\n@LeeTL1220 @madduran","created_at":"2018-06-13T16:22:48Z","updated_at":"2018-06-27T15:28:35Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8d556124429769b84b7af7ce849350312097cd1f","assignee":{"login":"davidbenjamin","id":8438890,"node_id":"MDQ6VXNlcjg0Mzg4OTA=","avatar_url":"https://avatars3.githubusercontent.com/u/8438890?v=4","gravatar_id":"","url":"https://api.github.com/users/davidbenjamin","html_url":"https://github.com/davidbenjamin","followers_url":"https://api.github.com/users/davidbenjamin/followers","following_url":"https://api.github.com/users/davidbenjamin/following{/other_user}","gists_url":"https://api.github.com/users/davidbenjamin/gists{/gist_id}","starred_url":"https://api.github.com/users/davidbenjamin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidbenjamin/subscriptions","organizations_url":"https://api.github.com/users/davidbenjamin/orgs","repos_url":"https://api.github.com/users/davidbenjamin/repos","events_url":"https://api.github.com/users/davidbenjamin/events{/privacy}","received_events_url":"https://api.github.com/users/davidbenjamin/received_events","type":"User","site_admin":false},"assignees":[{"login":"davidbenjamin","id":8438890,"node_id":"MDQ6VXNlcjg0Mzg4OTA=","avatar_url":"https://avatars3.githubusercontent.com/u/8438890?v=4","gravatar_id":"","url":"https://api.github.com/users/davidbenjamin","html_url":"https://github.com/davidbenjamin","followers_url":"https://api.github.com/users/davidbenjamin/followers","following_url":"https://api.github.com/users/davidbenjamin/following{/other_user}","gists_url":"https://api.github.com/users/davidbenjamin/gists{/gist_id}","starred_url":"https://api.github.com/users/davidbenjamin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidbenjamin/subscriptions","organizations_url":"https://api.github.com/users/davidbenjamin/orgs","repos_url":"https://api.github.com/users/davidbenjamin/repos","events_url":"https://api.github.com/users/davidbenjamin/events{/privacy}","received_events_url":"https://api.github.com/users/davidbenjamin/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/broadinstitute/gatk/pulls/4895/commits","review_comments_url":"https://api.github.com/repos/broadinstitute/gatk/pulls/4895/comments","review_comment_url":"https://api.github.com/repos/broadinstitute/gatk/pulls/comments{/number}","comments_url":"https://api.github.com/repos/broadinstitute/gatk/issues/4895/comments","statuses_url":"https://api.github.com/repos/broadinstitute/gatk/statuses/8c3ef3af441c49e0397e0ba5f8cdcc8593c2a14d","head":{"label":"broadinstitute:ts_ob_2pass","ref":"ts_ob_2pass","sha":"8c3ef3af441c49e0397e0ba5f8cdcc8593c2a14d","user":{"login":"broadinstitute","id":393552,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5MzU1Mg==","avatar_url":"https://avatars0.githubusercontent.com/u/393552?v=4","gravatar_id":"","url":"https://api.github.com/users/broadinstitute","html_url":"https://github.com/broadinstitute","followers_url":"https://api.github.com/users/broadinstitute/followers","following_url":"https://api.github.com/users/broadinstitute/following{/other_user}","gists_url":"https://api.github.com/users/broadinstitute/gists{/gist_id}","starred_url":"https://api.github.com/users/broadinstitute/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/broadinstitute/subscriptions","organizations_url":"https://api.github.com/users/broadinstitute/orgs","repos_url":"https://api.github.com/users/broadinstitute/repos","events_url":"https://api.github.com/users/broadinstitute/events{/privacy}","received_events_url":"https://api.github.com/users/broadinstitute/received_events","type":"Organization","site_admin":false},"repo":{"id":27452807,"node_id":"MDEwOlJlcG9zaXRvcnkyNzQ1MjgwNw==","name":"gatk","full_name":"broadinstitute/gatk","owner":{"login":"broadinstitute","id":393552,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5MzU1Mg==","avatar_url":"https://avatars0.githubusercontent.com/u/393552?v=4","gravatar_id":"","url":"https://api.github.com/users/broadinstitute","html_url":"https://github.com/broadinstitute","followers_url":"https://api.github.com/users/broadinstitute/followers","following_url":"https://api.github.com/users/broadinstitute/following{/other_user}","gists_url":"https://api.github.com/users/broadinstitute/gists{/gist_id}","starred_url":"https://api.github.com/users/broadinstitute/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/broadinstitute/subscriptions","organizations_url":"https://api.github.com/users/broadinstitute/orgs","repos_url":"https://api.github.com/users/broadinstitute/repos","events_url":"https://api.github.com/users/broadinstitute/events{/privacy}","received_events_url":"https://api.github.com/users/broadinstitute/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/broadinstitute/gatk","description":"Official code repository for GATK versions 4 and up","fork":false,"url":"https://api.github.com/repos/broadinstitute/gatk","forks_url":"https://api.github.com/repos/broadinstitute/gatk/forks","keys_url":"https://api.github.com/repos/broadinstitute/gatk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/broadinstitute/gatk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/broadinstitute/gatk/teams","hooks_url":"https://api.github.com/repos/broadinstitute/gatk/hooks","issue_events_url":"https://api.github.com/repos/broadinstitute/gatk/issues/events{/number}","events_url":"https://api.github.com/repos/broadinstitute/gatk/events","assignees_url":"https://api.github.com/repos/broadinstitute/gatk/assignees{/user}","branches_url":"https://api.github.com/repos/broadinstitute/gatk/branches{/branch}","tags_url":"https://api.github.com/repos/broadinstitute/gatk/tags","blobs_url":"https://api.github.com/repos/broadinstitute/gatk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/broadinstitute/gatk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/broadinstitute/gatk/git/refs{/sha}","trees_url":"https://api.github.com/repos/broadinstitute/gatk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/broadinstitute/gatk/statuses/{sha}","languages_url":"https://api.github.com/repos/broadinstitute/gatk/languages","stargazers_url":"https://api.github.com/repos/broadinstitute/gatk/stargazers","contributors_url":"https://api.github.com/repos/broadinstitute/gatk/contributors","subscribers_url":"https://api.github.com/repos/broadinstitute/gatk/subscribers","subscription_url":"https://api.github.com/repos/broadinstitute/gatk/subscription","commits_url":"https://api.github.com/repos/broadinstitute/gatk/commits{/sha}","git_commits_url":"https://api.github.com/repos/broadinstitute/gatk/git/commits{/sha}","comments_url":"https://api.github.com/repos/broadinstitute/gatk/comments{/number}","issue_comment_url":"https://api.github.com/repos/broadinstitute/gatk/issues/comments{/number}","contents_url":"https://api.github.com/repos/broadinstitute/gatk/contents/{+path}","compare_url":"https://api.github.com/repos/broadinstitute/gatk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/broadinstitute/gatk/merges","archive_url":"https://api.github.com/repos/broadinstitute/gatk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/broadinstitute/gatk/downloads","issues_url":"https://api.github.com/repos/broadinstitute/gatk/issues{/number}","pulls_url":"https://api.github.com/repos/broadinstitute/gatk/pulls{/number}","milestones_url":"https://api.github.com/repos/broadinstitute/gatk/milestones{/number}","notifications_url":"https://api.github.com/repos/broadinstitute/gatk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/broadinstitute/gatk/labels{/name}","releases_url":"https://api.github.com/repos/broadinstitute/gatk/releases{/id}","deployments_url":"https://api.github.com/repos/broadinstitute/gatk/deployments","created_at":"2014-12-02T20:50:36Z","updated_at":"2018-06-27T15:21:58Z","pushed_at":"2018-06-27T14:58:12Z","git_url":"git://github.com/broadinstitute/gatk.git","ssh_url":"git@github.com:broadinstitute/gatk.git","clone_url":"https://github.com/broadinstitute/gatk.git","svn_url":"https://github.com/broadinstitute/gatk","homepage":"https://software.broadinstitute.org/gatk","size":237271,"stargazers_count":420,"watchers_count":420,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":162,"mirror_url":null,"archived":false,"open_issues_count":956,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":162,"open_issues":956,"watchers":420,"default_branch":"master"}},"base":{"label":"broadinstitute:master","ref":"master","sha":"55858504f2740259a933e705941fc8e160e4a4fb","user":{"login":"broadinstitute","id":393552,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5MzU1Mg==","avatar_url":"https://avatars0.githubusercontent.com/u/393552?v=4","gravatar_id":"","url":"https://api.github.com/users/broadinstitute","html_url":"https://github.com/broadinstitute","followers_url":"https://api.github.com/users/broadinstitute/followers","following_url":"https://api.github.com/users/broadinstitute/following{/other_user}","gists_url":"https://api.github.com/users/broadinstitute/gists{/gist_id}","starred_url":"https://api.github.com/users/broadinstitute/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/broadinstitute/subscriptions","organizations_url":"https://api.github.com/users/broadinstitute/orgs","repos_url":"https://api.github.com/users/broadinstitute/repos","events_url":"https://api.github.com/users/broadinstitute/events{/privacy}","received_events_url":"https://api.github.com/users/broadinstitute/received_events","type":"Organization","site_admin":false},"repo":{"id":27452807,"node_id":"MDEwOlJlcG9zaXRvcnkyNzQ1MjgwNw==","name":"gatk","full_name":"broadinstitute/gatk","owner":{"login":"broadinstitute","id":393552,"node_id":"MDEyOk9yZ2FuaXphdGlvbjM5MzU1Mg==","avatar_url":"https://avatars0.githubusercontent.com/u/393552?v=4","gravatar_id":"","url":"https://api.github.com/users/broadinstitute","html_url":"https://github.com/broadinstitute","followers_url":"https://api.github.com/users/broadinstitute/followers","following_url":"https://api.github.com/users/broadinstitute/following{/other_user}","gists_url":"https://api.github.com/users/broadinstitute/gists{/gist_id}","starred_url":"https://api.github.com/users/broadinstitute/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/broadinstitute/subscriptions","organizations_url":"https://api.github.com/users/broadinstitute/orgs","repos_url":"https://api.github.com/users/broadinstitute/repos","events_url":"https://api.github.com/users/broadinstitute/events{/privacy}","received_events_url":"https://api.github.com/users/broadinstitute/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/broadinstitute/gatk","description":"Official code repository for GATK versions 4 and up","fork":false,"url":"https://api.github.com/repos/broadinstitute/gatk","forks_url":"https://api.github.com/repos/broadinstitute/gatk/forks","keys_url":"https://api.github.com/repos/broadinstitute/gatk/keys{/key_id}","collaborators_url":"https://api.github.com/repos/broadinstitute/gatk/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/broadinstitute/gatk/teams","hooks_url":"https://api.github.com/repos/broadinstitute/gatk/hooks","issue_events_url":"https://api.github.com/repos/broadinstitute/gatk/issues/events{/number}","events_url":"https://api.github.com/repos/broadinstitute/gatk/events","assignees_url":"https://api.github.com/repos/broadinstitute/gatk/assignees{/user}","branches_url":"https://api.github.com/repos/broadinstitute/gatk/branches{/branch}","tags_url":"https://api.github.com/repos/broadinstitute/gatk/tags","blobs_url":"https://api.github.com/repos/broadinstitute/gatk/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/broadinstitute/gatk/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/broadinstitute/gatk/git/refs{/sha}","trees_url":"https://api.github.com/repos/broadinstitute/gatk/git/trees{/sha}","statuses_url":"https://api.github.com/repos/broadinstitute/gatk/statuses/{sha}","languages_url":"https://api.github.com/repos/broadinstitute/gatk/languages","stargazers_url":"https://api.github.com/repos/broadinstitute/gatk/stargazers","contributors_url":"https://api.github.com/repos/broadinstitute/gatk/contributors","subscribers_url":"https://api.github.com/repos/broadinstitute/gatk/subscribers","subscription_url":"https://api.github.com/repos/broadinstitute/gatk/subscription","commits_url":"https://api.github.com/repos/broadinstitute/gatk/commits{/sha}","git_commits_url":"https://api.github.com/repos/broadinstitute/gatk/git/commits{/sha}","comments_url":"https://api.github.com/repos/broadinstitute/gatk/comments{/number}","issue_comment_url":"https://api.github.com/repos/broadinstitute/gatk/issues/comments{/number}","contents_url":"https://api.github.com/repos/broadinstitute/gatk/contents/{+path}","compare_url":"https://api.github.com/repos/broadinstitute/gatk/compare/{base}...{head}","merges_url":"https://api.github.com/repos/broadinstitute/gatk/merges","archive_url":"https://api.github.com/repos/broadinstitute/gatk/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/broadinstitute/gatk/downloads","issues_url":"https://api.github.com/repos/broadinstitute/gatk/issues{/number}","pulls_url":"https://api.github.com/repos/broadinstitute/gatk/pulls{/number}","milestones_url":"https://api.github.com/repos/broadinstitute/gatk/milestones{/number}","notifications_url":"https://api.github.com/repos/broadinstitute/gatk/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/broadinstitute/gatk/labels{/name}","releases_url":"https://api.github.com/repos/broadinstitute/gatk/releases{/id}","deployments_url":"https://api.github.com/repos/broadinstitute/gatk/deployments","created_at":"2014-12-02T20:50:36Z","updated_at":"2018-06-27T15:21:58Z","pushed_at":"2018-06-27T14:58:12Z","git_url":"git://github.com/broadinstitute/gatk.git","ssh_url":"git@github.com:broadinstitute/gatk.git","clone_url":"https://github.com/broadinstitute/gatk.git","svn_url":"https://github.com/broadinstitute/gatk","homepage":"https://software.broadinstitute.org/gatk","size":237271,"stargazers_count":420,"watchers_count":420,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":162,"mirror_url":null,"archived":false,"open_issues_count":956,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":162,"open_issues":956,"watchers":420,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/broadinstitute/gatk/pulls/4895"},"html":{"href":"https://github.com/broadinstitute/gatk/pull/4895"},"issue":{"href":"https://api.github.com/repos/broadinstitute/gatk/issues/4895"},"comments":{"href":"https://api.github.com/repos/broadinstitute/gatk/issues/4895/comments"},"review_comments":{"href":"https://api.github.com/repos/broadinstitute/gatk/pulls/4895/comments"},"review_comment":{"href":"https://api.github.com/repos/broadinstitute/gatk/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/broadinstitute/gatk/pulls/4895/commits"},"statuses":{"href":"https://api.github.com/repos/broadinstitute/gatk/statuses/8c3ef3af441c49e0397e0ba5f8cdcc8593c2a14d"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"takutosato"}}