{"action":"created","comment":{"url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/pulls/comments/41275364","id":41275364,"diff_hunk":"@@ -0,0 +1,221 @@\n+#!/usr/bin/env python\n+\n+import sys\n+import os\n+import re\n+import json\n+from collections import OrderedDict\n+from argparse import ArgumentParser\n+from argparse import RawDescriptionHelpFormatter\n+from elasticsearch import Elasticsearch\n+import glob\n+import shutil\n+import copy\n+\n+def get_project_donor_count(es, es_index, dcc_project_code):\n+    es_query_project = {\n+        \"fields\": [\"donor_unique_id\"], \n+     \n+        \"query\": {\n+            \"bool\": {\n+              \"must\": [               \n+                {\n+                  \"term\": {\n+                    \"dcc_project_code\": dcc_project_code\n+                  }\n+                },\n+                {  \n+                  \"term\": {\n+                    \"flags.is_normal_specimen_aligned\": \"T\"\n+                  }\n+                },\n+                {\n+                  \"term\": {\n+                    \"flags.are_all_tumor_specimens_aligned\": \"T\"\n+                  }\n+                }\n+              ],\n+              \"must_not\": [\n+                {\n+                  \"term\": {\n+                    \"flags.is_manual_qc_failed\": \"T\"\n+                  }\n+                },\n+                {\n+                  \"term\": {\n+                    \"flags.is_donor_blacklisted\": \"T\" \n+                  }\n+                }\n+              ]\n+            }\n+        },\n+        \"size\": 10000\n+    }\n+\n+    response = es.search(index=es_index, body=es_query_project)\n+\n+    donors_list = set()\n+    for p in response['hits']['hits']:\n+        donors_list.add(p.get('fields').get('donor_unique_id')[0])\n+ \n+    return donors_list\n+\n+\n+def get_tumor_aliquot_count(es, es_index, donor_unique_id):\n+    es_query_donor = {\n+        \"query\": {\n+            \"term\": {\n+                \"donor_unique_id\": donor_unique_id\n+            }\n+        }\n+    }\n+    response = es.search(index=es_index, body=es_query_donor)\n+\n+    tumor_aliquot_count = response['hits']['hits'][0]['_source']['flags']['all_tumor_specimen_aliquot_counts']\n+ \n+    return tumor_aliquot_count\n+\n+\n+def init_report_dir(metadata_dir, report_name, repo):\n+    report_dir = metadata_dir + '/reports/' + report_name if not repo else metadata_dir + '/reports/' + report_name + '/' + repo\n+\n+    if os.path.exists(report_dir): shutil.rmtree(report_dir, ignore_errors=True)  # empty the folder if exists\n+    os.makedirs(report_dir)\n+\n+    return report_dir\n+\n+\n+def generate_report(es, es_index, metadata_dir, report_name, timestamp, repo, jobs):\n+    # we need to run several queries to get facet counts for different type of donors\n+    report = OrderedDict()\n+    count_types = [\n+        \"expected_to_be_transferred\",\n+        \"both_transferred\",\n+        \"normal_transferred_tumor_not\",\n+        \"tumor_transferred_normal_not\",\n+        \"both_not_transferred\"\n+    ]\n+\n+    for project, project_value in jobs.iteritems():\n+        if not report.get(project):\n+            report[project] = {}\n+        for q_index in range(len(count_types)):\n+            if not report[project].get(count_types[q_index]):\n+                report[project][count_types[q_index]] = {}\n+            if not report[project][count_types[q_index]].get('count'):\n+                report[project][count_types[q_index]]['count'] = 0\n+            if not report[project][count_types[q_index]].get('donor'):\n+                report[project][count_types[q_index]]['donors'] = set()\n+\n+        donors_list = get_project_donor_count(es, es_index, project)\n+\n+        report[project]['expected_to_be_transferred']['count'] = len(donors_list)\n+        report[project]['expected_to_be_transferred']['donors'] = copy.deepcopy(donors_list)\n+        report[project]['both_not_transferred']['count'] = len(donors_list)\n+        report[project]['both_not_transferred']['donors'] = donors_list\n+\n+\n+        for donor, donor_value in project_value.iteritems():\n+            donor_unique_id = project + \"::\" + donor\n+            tumor_aliquot_count = get_tumor_aliquot_count(es, es_index, donor_unique_id)\n+\n+            if donor_value.get('WGS-BWA-Normal') and len(donor_value.get('WGS-BWA-Normal')) == 1:\n+                if donor_value.get('WGS-BWA-Tumor') and len(donor_value.get('WGS-BWA-Tumor')) == tumor_aliquot_count:\n+                    report[project]['both_transferred']['count'] += 1\n+                    report[project]['both_transferred']['donors'].add(donor_unique_id)\n+                    report[project]['both_not_transferred']['count'] -= 1 \n+                    report[project]['both_not_transferred']['donors'].discard(donor_unique_id)                    \n+                else:\n+                    report[project]['normal_transferred_tumor_not']['count'] += 1\n+                    report[project]['normal_transferred_tumor_not']['donors'].add(donor_unique_id)\n+                    report[project]['both_not_transferred']['count'] -= 1 \n+                    report[project]['both_not_transferred']['donors'].discard(donor_unique_id)   \n+            elif donor_value.get('WGS-BWA-Tumor') and len(donor_value.get('WGS-BWA-Tumor')) == tumor_aliquot_count:\n+                report[project]['tumor_transferred_normal_not']['count'] += 1\n+                report[project]['tumor_transferred_normal_not']['donors'].add(donor_unique_id)                \n+                report[project]['both_not_transferred']['count'] -= 1 \n+                report[project]['both_not_transferred']['donors'].discard(donor_unique_id)   \n+\n+    report_dir = init_report_dir(metadata_dir, report_name, repo)\n+    \n+    summary_table = []\n+    for p in report.keys():\n+        summary = OrderedDict()\n+        summary['project'] = p\n+        summary['timestamp'] = timestamp\n+        for ctype in count_types:\n+            summary[ctype] = report.get(p).get(ctype).get('count') if report.get(p).get(ctype) else 0\n+            donors = report.get(p).get(ctype).get('donors') if report.get(p).get(ctype) else []\n+\n+            if donors:\n+                with open(report_dir + '/' + p + '.' + ctype + '.donors.txt', 'w') as o:\n+                    o.write('# ' + ctype + '\\n')\n+                    o.write('# dcc_project_code' + '\\t' + 'submitter_donor_id' + '\\n')\n+                    for d in donors:\n+                        # TODO: query ES to get JSON then retrieve BAM info: aligned/unaligned, gnos, bam file name etc\n+                        o.write(d.replace('::', '\\t') + '\\n')\n+\n+        summary_table.append(summary)\n+\n+    with open(report_dir + '/donor.json', 'w') as o:\n+        o.write(json.dumps(summary_table))\n+\n+\n+def main(argv=None):\n+    if argv is None:\n+        argv = sys.argv\n+    else:\n+        sys.argv.extend(argv)\n+\n+    parser = ArgumentParser(description=\"PCAWG Report Generator Using ES Backend\",\n+             formatter_class=RawDescriptionHelpFormatter)\n+    parser.add_argument(\"-m\", \"--metadata_dir\", dest=\"metadata_dir\",\n+             help=\"Directory containing metadata manifest files\", required=True)\n+    parser.add_argument(\"-r\", \"--gnos_repo\", dest=\"repo\",\n+             help=\"Specify which GNOS repo to process, process all repos if none specified\", required=False)\n+\n+    args = parser.parse_args()\n+    metadata_dir = args.metadata_dir  # this dir contains gnos manifest files, will also host all reports\n+    repo = args.repo\n+\n+    if not os.path.isdir(metadata_dir):  # TODO: should add more directory name check to make sure it's right\n+        sys.exit('Error: specified metadata directory does not exist!')\n+\n+    timestamp = str.split(metadata_dir, '/')[-1]\n+    es_index = 'p_' + ('' if not repo else repo+'_') + re.sub(r'\\D', '', timestamp).replace('20','',1)\n+    es_type = \"donor\"\n+    es_host = 'localhost:9200'\n+\n+    es = Elasticsearch([es_host])\n+\n+    report_name_base = re.sub(r'^pc_report-', '', os.path.basename(__file__))\n+    report_name_base = re.sub(r'\\.py$', '', report_name_base)\n+\n+\n+    # read and parse git for the gnos_ids and fnames which are completed for data transfer\n+    for transfer_target in ['s3', 'ceph']:\n+        if transfer_target == 's3':\n+            git_fnames = '../s3-transfer-operations/s3-transfer-jobs*/completed-jobs/*.json'\n+        else:\n+            git_fnames = '../ceph_transfer_ops/ceph-transfer-jobs/completed-jobs/*.json'","path":"pcawg_metadata_parser/pc_report-transfer_summary.py","position":200,"original_position":200,"commit_id":"c2036a57adfe31ed01a9fab34a112fcaad58a398","original_commit_id":"c2036a57adfe31ed01a9fab34a112fcaad58a398","user":{"login":"lindaxiang","id":7522294,"avatar_url":"https://avatars.githubusercontent.com/u/7522294?v=3","gravatar_id":"","url":"https://api.github.com/users/lindaxiang","html_url":"https://github.com/lindaxiang","followers_url":"https://api.github.com/users/lindaxiang/followers","following_url":"https://api.github.com/users/lindaxiang/following{/other_user}","gists_url":"https://api.github.com/users/lindaxiang/gists{/gist_id}","starred_url":"https://api.github.com/users/lindaxiang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lindaxiang/subscriptions","organizations_url":"https://api.github.com/users/lindaxiang/orgs","repos_url":"https://api.github.com/users/lindaxiang/repos","events_url":"https://api.github.com/users/lindaxiang/events{/privacy}","received_events_url":"https://api.github.com/users/lindaxiang/received_events","type":"User","site_admin":false},"body":"Very good idea.\r\n\r\n-Linda\r\n\r\n\r\n\r\n\r\n\r\n\r\nOn Oct 6, 2015, at 10:46 AM, Junjun Zhang <notifications@github.com<mailto:notifications@github.com>> wrote:\r\n\r\n\r\nIn pcawg_metadata_parser/pc_report-transfer_summary.py<https://github.com/ICGC-TCGA-PanCancer/pcawg-central-index/pull/37#discussion_r41273475>:\r\n\r\n> +    es_index = 'p_' + ('' if not repo else repo+'_') + re.sub(r'\\D', '', timestamp).replace('20','',1)\r\n> +    es_type = \"donor\"\r\n> +    es_host = 'localhost:9200'\r\n> +\r\n> +    es = Elasticsearch([es_host])\r\n> +\r\n> +    report_name_base = re.sub(r'^pc_report-', '', os.path.basename(__file__))\r\n> +    report_name_base = re.sub(r'\\.py$', '', report_name_base)\r\n> +\r\n> +\r\n> +    # read and parse git for the gnos_ids and fnames which are completed for data transfer\r\n> +    for transfer_target in ['s3', 'ceph']:\r\n> +        if transfer_target == 's3':\r\n> +            git_fnames = '../s3-transfer-operations/s3-transfer-jobs*/completed-jobs/*.json'\r\n> +        else:\r\n> +            git_fnames = '../ceph_transfer_ops/ceph-transfer-jobs/completed-jobs/*.json'\r\n\r\n\r\nWe can make the folder name accept * as well: ceph-transfer-jobs*. Just in case, this is needed in the future, the code already supports.\r\n\r\n—\r\nReply to this email directly or view it on GitHub<https://github.com/ICGC-TCGA-PanCancer/pcawg-central-index/pull/37/files#r41273475>.\r\n\r\n","created_at":"2015-10-06T15:00:06Z","updated_at":"2015-10-06T15:00:06Z","html_url":"https://github.com/ICGC-TCGA-PanCancer/pcawg-central-index/pull/37#discussion_r41275364","pull_request_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/pulls/37","_links":{"self":{"href":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/pulls/comments/41275364"},"html":{"href":"https://github.com/ICGC-TCGA-PanCancer/pcawg-central-index/pull/37#discussion_r41275364"},"pull_request":{"href":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/pulls/37"}}},"pull_request":{"url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/pulls/37","id":46817013,"html_url":"https://github.com/ICGC-TCGA-PanCancer/pcawg-central-index/pull/37","diff_url":"https://github.com/ICGC-TCGA-PanCancer/pcawg-central-index/pull/37.diff","patch_url":"https://github.com/ICGC-TCGA-PanCancer/pcawg-central-index/pull/37.patch","issue_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/issues/37","number":37,"state":"open","locked":false,"title":"Pancancer 820","user":{"login":"lindaxiang","id":7522294,"avatar_url":"https://avatars.githubusercontent.com/u/7522294?v=3","gravatar_id":"","url":"https://api.github.com/users/lindaxiang","html_url":"https://github.com/lindaxiang","followers_url":"https://api.github.com/users/lindaxiang/followers","following_url":"https://api.github.com/users/lindaxiang/following{/other_user}","gists_url":"https://api.github.com/users/lindaxiang/gists{/gist_id}","starred_url":"https://api.github.com/users/lindaxiang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lindaxiang/subscriptions","organizations_url":"https://api.github.com/users/lindaxiang/orgs","repos_url":"https://api.github.com/users/lindaxiang/repos","events_url":"https://api.github.com/users/lindaxiang/events{/privacy}","received_events_url":"https://api.github.com/users/lindaxiang/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-10-05T18:40:12Z","updated_at":"2015-10-06T15:00:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8a575480a9b7060827cb29da910a396fc0f0d535","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/pulls/37/commits","review_comments_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/pulls/37/comments","review_comment_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/issues/37/comments","statuses_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/statuses/c2036a57adfe31ed01a9fab34a112fcaad58a398","head":{"label":"ICGC-TCGA-PanCancer:Pancancer-820","ref":"Pancancer-820","sha":"c2036a57adfe31ed01a9fab34a112fcaad58a398","user":{"login":"ICGC-TCGA-PanCancer","id":6623235,"avatar_url":"https://avatars.githubusercontent.com/u/6623235?v=3","gravatar_id":"","url":"https://api.github.com/users/ICGC-TCGA-PanCancer","html_url":"https://github.com/ICGC-TCGA-PanCancer","followers_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/followers","following_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/following{/other_user}","gists_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/gists{/gist_id}","starred_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/subscriptions","organizations_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/orgs","repos_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/repos","events_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/events{/privacy}","received_events_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/received_events","type":"Organization","site_admin":false},"repo":{"id":39115511,"name":"pcawg-central-index","full_name":"ICGC-TCGA-PanCancer/pcawg-central-index","owner":{"login":"ICGC-TCGA-PanCancer","id":6623235,"avatar_url":"https://avatars.githubusercontent.com/u/6623235?v=3","gravatar_id":"","url":"https://api.github.com/users/ICGC-TCGA-PanCancer","html_url":"https://github.com/ICGC-TCGA-PanCancer","followers_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/followers","following_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/following{/other_user}","gists_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/gists{/gist_id}","starred_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/subscriptions","organizations_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/orgs","repos_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/repos","events_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/events{/privacy}","received_events_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ICGC-TCGA-PanCancer/pcawg-central-index","description":"","fork":false,"url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index","forks_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/forks","keys_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/teams","hooks_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/hooks","issue_events_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/issues/events{/number}","events_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/events","assignees_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/assignees{/user}","branches_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/branches{/branch}","tags_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/tags","blobs_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/git/refs{/sha}","trees_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/statuses/{sha}","languages_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/languages","stargazers_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/stargazers","contributors_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/contributors","subscribers_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/subscribers","subscription_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/subscription","commits_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/commits{/sha}","git_commits_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/git/commits{/sha}","comments_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/comments{/number}","issue_comment_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/issues/comments{/number}","contents_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/contents/{+path}","compare_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/merges","archive_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/downloads","issues_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/issues{/number}","pulls_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/pulls{/number}","milestones_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/milestones{/number}","notifications_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/labels{/name}","releases_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/releases{/id}","created_at":"2015-07-15T04:04:12Z","updated_at":"2015-07-17T20:12:34Z","pushed_at":"2015-10-06T14:47:15Z","git_url":"git://github.com/ICGC-TCGA-PanCancer/pcawg-central-index.git","ssh_url":"git@github.com:ICGC-TCGA-PanCancer/pcawg-central-index.git","clone_url":"https://github.com/ICGC-TCGA-PanCancer/pcawg-central-index.git","svn_url":"https://github.com/ICGC-TCGA-PanCancer/pcawg-central-index","homepage":null,"size":1656,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":2,"forks":0,"open_issues":2,"watchers":0,"default_branch":"develop"}},"base":{"label":"ICGC-TCGA-PanCancer:develop","ref":"develop","sha":"6e6977ef8e1ae8d3ca561b962135477787bee261","user":{"login":"ICGC-TCGA-PanCancer","id":6623235,"avatar_url":"https://avatars.githubusercontent.com/u/6623235?v=3","gravatar_id":"","url":"https://api.github.com/users/ICGC-TCGA-PanCancer","html_url":"https://github.com/ICGC-TCGA-PanCancer","followers_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/followers","following_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/following{/other_user}","gists_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/gists{/gist_id}","starred_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/subscriptions","organizations_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/orgs","repos_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/repos","events_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/events{/privacy}","received_events_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/received_events","type":"Organization","site_admin":false},"repo":{"id":39115511,"name":"pcawg-central-index","full_name":"ICGC-TCGA-PanCancer/pcawg-central-index","owner":{"login":"ICGC-TCGA-PanCancer","id":6623235,"avatar_url":"https://avatars.githubusercontent.com/u/6623235?v=3","gravatar_id":"","url":"https://api.github.com/users/ICGC-TCGA-PanCancer","html_url":"https://github.com/ICGC-TCGA-PanCancer","followers_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/followers","following_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/following{/other_user}","gists_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/gists{/gist_id}","starred_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/subscriptions","organizations_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/orgs","repos_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/repos","events_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/events{/privacy}","received_events_url":"https://api.github.com/users/ICGC-TCGA-PanCancer/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ICGC-TCGA-PanCancer/pcawg-central-index","description":"","fork":false,"url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index","forks_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/forks","keys_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/teams","hooks_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/hooks","issue_events_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/issues/events{/number}","events_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/events","assignees_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/assignees{/user}","branches_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/branches{/branch}","tags_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/tags","blobs_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/git/refs{/sha}","trees_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/statuses/{sha}","languages_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/languages","stargazers_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/stargazers","contributors_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/contributors","subscribers_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/subscribers","subscription_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/subscription","commits_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/commits{/sha}","git_commits_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/git/commits{/sha}","comments_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/comments{/number}","issue_comment_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/issues/comments{/number}","contents_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/contents/{+path}","compare_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/merges","archive_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/downloads","issues_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/issues{/number}","pulls_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/pulls{/number}","milestones_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/milestones{/number}","notifications_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/labels{/name}","releases_url":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/releases{/id}","created_at":"2015-07-15T04:04:12Z","updated_at":"2015-07-17T20:12:34Z","pushed_at":"2015-10-06T14:47:15Z","git_url":"git://github.com/ICGC-TCGA-PanCancer/pcawg-central-index.git","ssh_url":"git@github.com:ICGC-TCGA-PanCancer/pcawg-central-index.git","clone_url":"https://github.com/ICGC-TCGA-PanCancer/pcawg-central-index.git","svn_url":"https://github.com/ICGC-TCGA-PanCancer/pcawg-central-index","homepage":null,"size":1656,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":2,"forks":0,"open_issues":2,"watchers":0,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/pulls/37"},"html":{"href":"https://github.com/ICGC-TCGA-PanCancer/pcawg-central-index/pull/37"},"issue":{"href":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/issues/37"},"comments":{"href":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/issues/37/comments"},"review_comments":{"href":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/pulls/37/comments"},"review_comment":{"href":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/pulls/37/commits"},"statuses":{"href":"https://api.github.com/repos/ICGC-TCGA-PanCancer/pcawg-central-index/statuses/c2036a57adfe31ed01a9fab34a112fcaad58a398"}}}}