{"action":"created","comment":{"url":"https://api.github.com/repos/broadinstitute/gatk-protected/pulls/comments/71761492","id":71761492,"diff_hunk":"@@ -829,44 +916,99 @@ \\subsection{Generative Model for Read Counts} \\label{coverage-model}\n \n \\end{itemize}\n \n-In approximate mode\n-\\begin{itemize}\n-\\item E step: $\\vG = \\left( \\vI + \\vW^T \\bar{\\vPsi}^{-1} \\vW \\right)^{-1}, \\,\n-E \\left[ \\vz_s \\right] = \\vG \\vW^T \\bar{\\vPsi}^{-1} (\\vm_s - \\vm), \\,\n-E \\left[ \\vz_s \\vz_s^T \\right] = \\vG + E[\\vz_s] E[\\vz_s]^T$\n-\n-$\\vG$ is $O(D^2 T)$.  $E[\\vz_s \\vz_s^T]$ is $O(D^2 S)$.  $\\vG_s \\vW^T \\vPsi_s^{-1}$, which is common to all $E[\\vz_s]$, is $O(D^2 T)$ after which $E[\\vz_s]$ is $O(D T S)$.  $E[\\vz_s \\vz_s^T]$ is $O(D^2 S)$.  The E step overall is $O(D T S)$.\n-\n-\\item $\\vm = \\frac{1}{S} \\sum_s \\vm_s$ is a one-time cost of $O(T S)$.\n+The leading cost is a few terms of $O(D^2 T S)$ flops, each with small prefactors, per iteration. Assuming a total prefactor of $10$ and $T = 2 \\times 10^5$, $D = 10$, $S = 500$ a full EM iteration costs $10^{11}$ flops in exact mode. On a single 1 GHz core ($10^9$ flops per second) this comes out to roughly 100 or 10 seconds.\\\\\n \n-\\item $\\sum_s \\beta_{st} =\\left( \\vW \\left( \\sum_s E[\\vz_s \\vz_s^T] \\right) \\vW^T \\right)_{tt} +2 \\left( \\vW \\left( \\sum_s (m_t - m_{st}) E[\\vz_s] \\right) \\right)_t + \\sum_s (m_t - m_{st})^2$ is $O(D^2 T)$.\n-\n-\\item Given $\\sum_s \\beta_{st}$, $\\Psi_{tt} = \\frac{1}{S} \\sum_s \\beta_{st} - \\bar{\\Sigma}_{tt}$ is $O(T)$.\n-\n-\\item $\\vQ_t =  \\bar{\\Psi}_{t}^{-1} \\sum_s E[\\vz_s \\vz_s^T]$ is $O(D^2 (S + T))$.\n+We can apply the parameters learned from the panel of normals to single-sample calling, which requires the likelihood as a function of the copy numbers $\\vc$.  Applying the same E step as above, the likelihood is\n+\\begin{equation}\n+P(\\vn | \\vc, \\vW, \\vm, \\vPsi) \\propto \\prod_t \\exp \\left[ -\\frac{1}{2} \\, M_{st} \\Psi_{st}^{-1} \\big( \\ln \\left( n_{st} / (d_s \\PP_{st}) \\right) - \\ln(c_{st}) - m_t - \\left(\\vW \\EE[\\vz_{s}]\\right)_t \\big)^2 \\right],\n+\\end{equation}\n+We have only kept the factors that depends on $\\vc$ in the above likelihood. Note that this is factorized into independent likelihood terms for each target and is thus suitable for the emission model of an HMM.  This likelihood is not Gaussian in $\\vc$, but it does not need to be for the Viterbi and forward-backward algorithms. Also, note that when $c_{st} = 0$ is the most likely solution, this must be incorporated in the mask matrix $M_{st}$ in order to avoid ambiguous expressions due to the breakdown of the Laplace approximation used to replace the Poisson with a Gaussian.\\\\\n \n-\\item $\\vv_t = \\sum_s \\bar{\\Psi}_{t}^{-1} (m_t - m_{st})E[\\vz_s ]$ is $O(D T S)$.\n+\\subsubsection{GC bias correction}\n+We can easily integrate sample-specific GC bias into this model.  Let $f_s({\\rm GC})$ be the GC bias of GC content ${\\rm GC}$ for sample $s$.  Then this enters into the model as an additional multiplier to the Poisson parameter.  That is, we replace $d_s c_{st} \\rightarrow d_s c_{st} f_s({\\rm GC}_t)$, which affects the model learning and inference only via the definition of $m_{st}$.  We can iteratively re-estimate the GC bias function $f_s$ by regressing the bias not explained by the latent factors.  That is, for each target the Poisson parameter is, ignoring GC effects,\n+\\begin{equation}\n+c_{st} d_s \\exp \\left( \\vW_t \\EE[\\vz_s] + m_t \\right)\n+\\end{equation}\n+and thus the ratio $n_{st} / \\left[ c_{st} d_s \\exp \\left( \\vW_t \\EE[\\vz_s] + m_t \\right) \\right]$ (with error bars of size $1/\\sqrt{n}$ if we want to do a weighted regression) is an estimate of $f_s({\\rm GC}_t)$ that we can feed into our favorite regression model.  This is more sophisticated than the standard approach of simply regressing $n$ versus ${\\rm GC}$ in that it seeks to explain with GC only the bias that cannot be explained by linear latent features.\n \n-\\item $ \\vW_{t \\cdot} = (\\vA + \\vQ)^{-1} \\vv_t$ is $O(D^2 T)$.\n+\\subsubsection{PCA and the curse of small samples}\n+PCA-like denoising approaches minimize the {\\em total variance} by learning and subtracting the contribution of the underlying latent features from the data. In practice, this objective is acheived using either the maximum variance principle (usual PCA) or the maximum likelihood principle on a linear-Gaussian model as explained earlier. In either method, when the number of samples largely exceeds the dimension of the latent space, sample-specific variations become immaterial and the true underlying latent features can be learned from the data. On the other hand, when the number of samples is comparable to the number of latent features, the statistical power for separating bsample-specific variations from mutual variations is significantly reduced.\n \n-\\item $\\ave{W_{t\\mu}^2} = W_{t\\mu}^2 + (\\vA + \\vQ)^{-1}_{\\mu\\mu}$ is $O(D T)$.\n+Let us assume that we have an oracle for the first $N$ major latent features, and that we have already subtracted the contribution arising from these features. Let $\\sigma_\\ell^2$ further be the variance associated to next leading latent feature such that subtracting it reduces the total variance by $N\\sigma_\\ell^2$. Now, if one of the samples has an individual leftover variance of magnitude $\\sigma_S^2$ such that $\\sigma_S^2 \\gtrsim N\\sigma_\\ell^2$, then the maximum variance principle implies choosing the next principal component along the direction of that specific sample. In other words, the procedure erroneously learns a sample-specific signal as a source of noise. Note that this artifact occurs only if $N \\lesssim \\sigma_S^2 / \\sigma_\\ell^2$.\\\\\n \n-\\item $\\alpha_\\mu = T / \\sum_t \\ave{W_{t\\mu}^2}$ is $O(D T)$.\n-\\end{itemize}\n+\\noindent {\\bf Why does it matter? ---} We have no theoretical guarantee that the MLE problem for $(\\vW, \\vm, \\vPsi, \\vc)$ is convex. In all likelihood, if one of the samples has a large germline CNV event, it may be picked up as a principal component and get washed out such that the MLE for $\\vc$ fails to call that CNV event. It is possible that the likelihood function has numerous local maxima as such. Therefore, we wish to ensure that sample-specific {\\em nuisances} are not picked up as Gaussian noise, no matter how strong they are. We discuss a number of such approaches in what follows.\\\\\n \n-In exact mode the leading cost is a few terms of $O(D^2 T S)$ flops, each with small prefactors, per iteration.  In approximate mode it is $O(D T S)$ flops.  Assuming a total prefactor of $10$ and $T = 2 \\times 10^5$, $D = 10$, $S = 500$ a full EM iteration costs $10^{11}$ flops in exact mode and $10^{10}$ in approximate mode.  On a single 1 GHz core ($10^9$ flops per second) this comes out to roughly 100 or 10 seconds.  Even in exact mode we will probably get most of the way toward convergence with approximate iterations, followed by several exact iterations.  Very conservatively, 100 approximate iterations and 10 exact ones should suffice, which comes out to less than half an hour.\n+\\noindent {\\bf (Idea 1) Blind source separation ---} One remedy is to use a blind source separation approach, such as independent component analysis (ICA), to separate the signal from the noise as a first step, followed by learning the latent features of the noise using PCA. In ICA-like methods, one decomposes the signal into additive subcomponents and minimizes the mutual information between them (or maximizes the non-Gaussanity by taking into account higher moments such as the kurtosis). Even though this method is quite appealing, we follow a more context-specific heuristic approach here.\\\\\n \n-We can apply the parameters learned from the panel of normals to single-sample calling, which requires the likelihood as a function of the copy numbers $\\vc$.  Applying the same E step as above, the likelihood is\n+\\noindent {\\bf (Idea 2) Imposing context-specific constraints on the structure of variations ---} Fortunately, we have some idea about the spatial structure of the CNV events: they are tandem amplification or attenuation of the read count over several targets. In the absence of noise, we expect the frequency spectrum of the CNV signal (as obtained by taking a Fourier transform of $m_{st}$ in $t$) to be significantly enhanced at spatial frequencies corresponding to the inverse length scale of the size of the CNV event. Similarly, the variation subtracted from sample $s$, i.e. $\\vW \\vz_s$, will exhibit an enhanced spectral power if a CNV event is erroneously picked up. Let $\\tilde{f}(k)$ be the Fourier transform of a linear filter that approximately represents a range of CNV events. For example, we may use a midpass filter such as:\n+\\begin{equation}\n+\\tilde{f}(k) = \\left\\{\n+\\begin{array}{ll}\n+  1 & \\quad k_l \\leq k^* \\leq k_h,\\\\\n+  \\\\\n+  0 & \\quad k^* > k_h \\,\\, \\text{or} \\,\\, k^* < k_l,\n+\\end{array}\n+\\right.\n+\\end{equation}\n+Here, $k^* = \\min(k, T - 1 - k)$, $k_l \\sim \\lfloor T / \\ell_\\mathrm{max} \\rfloor$ and $k_l \\sim \\lfloor T / \\ell_\\mathrm{min} \\rfloor$, where $\\ell_\\mathrm{min}$ and $\\ell_\\mathrm{max}$ denote roughly the minimum and maximum length of the CNV events in the units of targets. The filtered spectral power of the noise in sample $s$ is given as:","path":"docs/CNVs/CNV-methods.tex","position":472,"original_position":465,"commit_id":"046affe48123b237c5c17a70944bfa3422cdfff3","original_commit_id":"7793eed22caa2c3ea1dc3dd8174fce8a8a7051cf","user":{"login":"davidbenjamin","id":8438890,"avatar_url":"https://avatars.githubusercontent.com/u/8438890?v=3","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},"body":"I think it's probably close enough to uniform, especially since we care about long length scales at which individual variations in target spacing will wash out.","created_at":"2016-07-21T18:33:18Z","updated_at":"2016-07-21T18:33:18Z","html_url":"https://github.com/broadinstitute/gatk-protected/pull/556#discussion_r71761492","pull_request_url":"https://api.github.com/repos/broadinstitute/gatk-protected/pulls/556","_links":{"self":{"href":"https://api.github.com/repos/broadinstitute/gatk-protected/pulls/comments/71761492"},"html":{"href":"https://github.com/broadinstitute/gatk-protected/pull/556#discussion_r71761492"},"pull_request":{"href":"https://api.github.com/repos/broadinstitute/gatk-protected/pulls/556"}}},"pull_request":{"url":"https://api.github.com/repos/broadinstitute/gatk-protected/pulls/556","id":73508431,"html_url":"https://github.com/broadinstitute/gatk-protected/pull/556","diff_url":"https://github.com/broadinstitute/gatk-protected/pull/556.diff","patch_url":"https://github.com/broadinstitute/gatk-protected/pull/556.patch","issue_url":"https://api.github.com/repos/broadinstitute/gatk-protected/issues/556","number":556,"state":"open","locked":false,"title":"Updated docs for the coverage model (some reorganization + new ideas)","user":{"login":"mbabadi","id":15305869,"avatar_url":"https://avatars.githubusercontent.com/u/15305869?v=3","gravatar_id":"","url":"https://api.github.com/users/mbabadi","html_url":"https://github.com/mbabadi","followers_url":"https://api.github.com/users/mbabadi/followers","following_url":"https://api.github.com/users/mbabadi/following{/other_user}","gists_url":"https://api.github.com/users/mbabadi/gists{/gist_id}","starred_url":"https://api.github.com/users/mbabadi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbabadi/subscriptions","organizations_url":"https://api.github.com/users/mbabadi/orgs","repos_url":"https://api.github.com/users/mbabadi/repos","events_url":"https://api.github.com/users/mbabadi/events{/privacy}","received_events_url":"https://api.github.com/users/mbabadi/received_events","type":"User","site_admin":false},"body":"Some organizational changes in the doc as well as new sections. The major addition is a regularization scheme for avoiding picking up events as noise. The regularization is expected to significantly increase sensitivity when dealing with small cohorts. @davidbenjamin, please kindly review. @samuelklee, please kindly comment.\r\n","created_at":"2016-06-12T21:53:43Z","updated_at":"2016-07-21T18:33:18Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c1723a2c6f3b7cd6d5f9e5c2fcd938761a89f864","assignee":{"login":"mbabadi","id":15305869,"avatar_url":"https://avatars.githubusercontent.com/u/15305869?v=3","gravatar_id":"","url":"https://api.github.com/users/mbabadi","html_url":"https://github.com/mbabadi","followers_url":"https://api.github.com/users/mbabadi/followers","following_url":"https://api.github.com/users/mbabadi/following{/other_user}","gists_url":"https://api.github.com/users/mbabadi/gists{/gist_id}","starred_url":"https://api.github.com/users/mbabadi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbabadi/subscriptions","organizations_url":"https://api.github.com/users/mbabadi/orgs","repos_url":"https://api.github.com/users/mbabadi/repos","events_url":"https://api.github.com/users/mbabadi/events{/privacy}","received_events_url":"https://api.github.com/users/mbabadi/received_events","type":"User","site_admin":false},"assignees":[{"login":"mbabadi","id":15305869,"avatar_url":"https://avatars.githubusercontent.com/u/15305869?v=3","gravatar_id":"","url":"https://api.github.com/users/mbabadi","html_url":"https://github.com/mbabadi","followers_url":"https://api.github.com/users/mbabadi/followers","following_url":"https://api.github.com/users/mbabadi/following{/other_user}","gists_url":"https://api.github.com/users/mbabadi/gists{/gist_id}","starred_url":"https://api.github.com/users/mbabadi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbabadi/subscriptions","organizations_url":"https://api.github.com/users/mbabadi/orgs","repos_url":"https://api.github.com/users/mbabadi/repos","events_url":"https://api.github.com/users/mbabadi/events{/privacy}","received_events_url":"https://api.github.com/users/mbabadi/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/broadinstitute/gatk-protected/pulls/556/commits","review_comments_url":"https://api.github.com/repos/broadinstitute/gatk-protected/pulls/556/comments","review_comment_url":"https://api.github.com/repos/broadinstitute/gatk-protected/pulls/comments{/number}","comments_url":"https://api.github.com/repos/broadinstitute/gatk-protected/issues/556/comments","statuses_url":"https://api.github.com/repos/broadinstitute/gatk-protected/statuses/046affe48123b237c5c17a70944bfa3422cdfff3","head":{"label":"broadinstitute:mb_coverage_model_enhancements_doc","ref":"mb_coverage_model_enhancements_doc","sha":"046affe48123b237c5c17a70944bfa3422cdfff3","user":{"login":"broadinstitute","id":393552,"avatar_url":"https://avatars.githubusercontent.com/u/393552?v=3","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":34413897,"name":"gatk-protected","full_name":"broadinstitute/gatk-protected","owner":{"login":"broadinstitute","id":393552,"avatar_url":"https://avatars.githubusercontent.com/u/393552?v=3","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-protected","description":"GATK4 development of the license-protected part of the toolkit","fork":false,"url":"https://api.github.com/repos/broadinstitute/gatk-protected","forks_url":"https://api.github.com/repos/broadinstitute/gatk-protected/forks","keys_url":"https://api.github.com/repos/broadinstitute/gatk-protected/keys{/key_id}","collaborators_url":"https://api.github.com/repos/broadinstitute/gatk-protected/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/broadinstitute/gatk-protected/teams","hooks_url":"https://api.github.com/repos/broadinstitute/gatk-protected/hooks","issue_events_url":"https://api.github.com/repos/broadinstitute/gatk-protected/issues/events{/number}","events_url":"https://api.github.com/repos/broadinstitute/gatk-protected/events","assignees_url":"https://api.github.com/repos/broadinstitute/gatk-protected/assignees{/user}","branches_url":"https://api.github.com/repos/broadinstitute/gatk-protected/branches{/branch}","tags_url":"https://api.github.com/repos/broadinstitute/gatk-protected/tags","blobs_url":"https://api.github.com/repos/broadinstitute/gatk-protected/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/broadinstitute/gatk-protected/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/broadinstitute/gatk-protected/git/refs{/sha}","trees_url":"https://api.github.com/repos/broadinstitute/gatk-protected/git/trees{/sha}","statuses_url":"https://api.github.com/repos/broadinstitute/gatk-protected/statuses/{sha}","languages_url":"https://api.github.com/repos/broadinstitute/gatk-protected/languages","stargazers_url":"https://api.github.com/repos/broadinstitute/gatk-protected/stargazers","contributors_url":"https://api.github.com/repos/broadinstitute/gatk-protected/contributors","subscribers_url":"https://api.github.com/repos/broadinstitute/gatk-protected/subscribers","subscription_url":"https://api.github.com/repos/broadinstitute/gatk-protected/subscription","commits_url":"https://api.github.com/repos/broadinstitute/gatk-protected/commits{/sha}","git_commits_url":"https://api.github.com/repos/broadinstitute/gatk-protected/git/commits{/sha}","comments_url":"https://api.github.com/repos/broadinstitute/gatk-protected/comments{/number}","issue_comment_url":"https://api.github.com/repos/broadinstitute/gatk-protected/issues/comments{/number}","contents_url":"https://api.github.com/repos/broadinstitute/gatk-protected/contents/{+path}","compare_url":"https://api.github.com/repos/broadinstitute/gatk-protected/compare/{base}...{head}","merges_url":"https://api.github.com/repos/broadinstitute/gatk-protected/merges","archive_url":"https://api.github.com/repos/broadinstitute/gatk-protected/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/broadinstitute/gatk-protected/downloads","issues_url":"https://api.github.com/repos/broadinstitute/gatk-protected/issues{/number}","pulls_url":"https://api.github.com/repos/broadinstitute/gatk-protected/pulls{/number}","milestones_url":"https://api.github.com/repos/broadinstitute/gatk-protected/milestones{/number}","notifications_url":"https://api.github.com/repos/broadinstitute/gatk-protected/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/broadinstitute/gatk-protected/labels{/name}","releases_url":"https://api.github.com/repos/broadinstitute/gatk-protected/releases{/id}","deployments_url":"https://api.github.com/repos/broadinstitute/gatk-protected/deployments","created_at":"2015-04-22T20:24:45Z","updated_at":"2016-06-15T07:08:59Z","pushed_at":"2016-07-21T18:19:34Z","git_url":"git://github.com/broadinstitute/gatk-protected.git","ssh_url":"git@github.com:broadinstitute/gatk-protected.git","clone_url":"https://github.com/broadinstitute/gatk-protected.git","svn_url":"https://github.com/broadinstitute/gatk-protected","homepage":null,"size":104756,"stargazers_count":9,"watchers_count":9,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":11,"mirror_url":null,"open_issues_count":129,"forks":11,"open_issues":129,"watchers":9,"default_branch":"master"}},"base":{"label":"broadinstitute:master","ref":"master","sha":"2c13ac88125bed1a76a206066904e2043660a152","user":{"login":"broadinstitute","id":393552,"avatar_url":"https://avatars.githubusercontent.com/u/393552?v=3","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":34413897,"name":"gatk-protected","full_name":"broadinstitute/gatk-protected","owner":{"login":"broadinstitute","id":393552,"avatar_url":"https://avatars.githubusercontent.com/u/393552?v=3","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-protected","description":"GATK4 development of the license-protected part of the toolkit","fork":false,"url":"https://api.github.com/repos/broadinstitute/gatk-protected","forks_url":"https://api.github.com/repos/broadinstitute/gatk-protected/forks","keys_url":"https://api.github.com/repos/broadinstitute/gatk-protected/keys{/key_id}","collaborators_url":"https://api.github.com/repos/broadinstitute/gatk-protected/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/broadinstitute/gatk-protected/teams","hooks_url":"https://api.github.com/repos/broadinstitute/gatk-protected/hooks","issue_events_url":"https://api.github.com/repos/broadinstitute/gatk-protected/issues/events{/number}","events_url":"https://api.github.com/repos/broadinstitute/gatk-protected/events","assignees_url":"https://api.github.com/repos/broadinstitute/gatk-protected/assignees{/user}","branches_url":"https://api.github.com/repos/broadinstitute/gatk-protected/branches{/branch}","tags_url":"https://api.github.com/repos/broadinstitute/gatk-protected/tags","blobs_url":"https://api.github.com/repos/broadinstitute/gatk-protected/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/broadinstitute/gatk-protected/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/broadinstitute/gatk-protected/git/refs{/sha}","trees_url":"https://api.github.com/repos/broadinstitute/gatk-protected/git/trees{/sha}","statuses_url":"https://api.github.com/repos/broadinstitute/gatk-protected/statuses/{sha}","languages_url":"https://api.github.com/repos/broadinstitute/gatk-protected/languages","stargazers_url":"https://api.github.com/repos/broadinstitute/gatk-protected/stargazers","contributors_url":"https://api.github.com/repos/broadinstitute/gatk-protected/contributors","subscribers_url":"https://api.github.com/repos/broadinstitute/gatk-protected/subscribers","subscription_url":"https://api.github.com/repos/broadinstitute/gatk-protected/subscription","commits_url":"https://api.github.com/repos/broadinstitute/gatk-protected/commits{/sha}","git_commits_url":"https://api.github.com/repos/broadinstitute/gatk-protected/git/commits{/sha}","comments_url":"https://api.github.com/repos/broadinstitute/gatk-protected/comments{/number}","issue_comment_url":"https://api.github.com/repos/broadinstitute/gatk-protected/issues/comments{/number}","contents_url":"https://api.github.com/repos/broadinstitute/gatk-protected/contents/{+path}","compare_url":"https://api.github.com/repos/broadinstitute/gatk-protected/compare/{base}...{head}","merges_url":"https://api.github.com/repos/broadinstitute/gatk-protected/merges","archive_url":"https://api.github.com/repos/broadinstitute/gatk-protected/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/broadinstitute/gatk-protected/downloads","issues_url":"https://api.github.com/repos/broadinstitute/gatk-protected/issues{/number}","pulls_url":"https://api.github.com/repos/broadinstitute/gatk-protected/pulls{/number}","milestones_url":"https://api.github.com/repos/broadinstitute/gatk-protected/milestones{/number}","notifications_url":"https://api.github.com/repos/broadinstitute/gatk-protected/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/broadinstitute/gatk-protected/labels{/name}","releases_url":"https://api.github.com/repos/broadinstitute/gatk-protected/releases{/id}","deployments_url":"https://api.github.com/repos/broadinstitute/gatk-protected/deployments","created_at":"2015-04-22T20:24:45Z","updated_at":"2016-06-15T07:08:59Z","pushed_at":"2016-07-21T18:19:34Z","git_url":"git://github.com/broadinstitute/gatk-protected.git","ssh_url":"git@github.com:broadinstitute/gatk-protected.git","clone_url":"https://github.com/broadinstitute/gatk-protected.git","svn_url":"https://github.com/broadinstitute/gatk-protected","homepage":null,"size":104756,"stargazers_count":9,"watchers_count":9,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":11,"mirror_url":null,"open_issues_count":129,"forks":11,"open_issues":129,"watchers":9,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/broadinstitute/gatk-protected/pulls/556"},"html":{"href":"https://github.com/broadinstitute/gatk-protected/pull/556"},"issue":{"href":"https://api.github.com/repos/broadinstitute/gatk-protected/issues/556"},"comments":{"href":"https://api.github.com/repos/broadinstitute/gatk-protected/issues/556/comments"},"review_comments":{"href":"https://api.github.com/repos/broadinstitute/gatk-protected/pulls/556/comments"},"review_comment":{"href":"https://api.github.com/repos/broadinstitute/gatk-protected/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/broadinstitute/gatk-protected/pulls/556/commits"},"statuses":{"href":"https://api.github.com/repos/broadinstitute/gatk-protected/statuses/046affe48123b237c5c17a70944bfa3422cdfff3"}}}}
{"actor":{"display_login":"davidbenjamin"}}