{"action":"created","comment":{"url":"https://api.github.com/repos/aces/Loris/pulls/comments/56361899","id":56361899,"diff_hunk":"@@ -0,0 +1,593 @@\n+<?php\n+/**\n+ * For cpg_browser class file\n+ * Displays targeted CpG islands data.\n+ * Filterable by candidate, gene or variant fields.\n+ *\n+ * PHP version 5\n+ *\n+ *  @category Genomic\n+ *  @package  Main\n+ *  @author   Xavier <xavierlb.mavan@gmail.com>\n+ *  @license  http://www.gnu.org/licenses/gpl-3.0.txt @GPLv3\n+ *  @link     https://www.github.com/aces/Loris/\n+ */\n+\n+require_once 'NDB_Menu_Filter.class.inc';\n+/**\n+ * NDB_Menu_Filter_CPG_Browser Class\n+ *\n+ * This class is cpg_browser Form\n+ * CpG submenu tab for Genomic Browser\n+ *\n+ * @category Genomic\n+ * @package  Main\n+ * @author   Loris team <info-loris.mni@mcgill.ca>\n+ * @license  http://www.gnu.org/licenses/gpl-3.0.txt @GPLv3\n+ * @link     https://github.com/aces/Loris\n+*/\n+class NDB_Menu_Filter_CpG_Browser extends NDB_Menu_Filter\n+{\n+    /**\n+ * Variables to enable special filter behaviour -\n+     * Show brief results or show full results (all available fields)\n+     * used in (overridden) _addValidFilters function below\n+     */\n+    var $_displayBrief = true;  // default: display only Brief results\n+    var $_briefFields  = array(); // which fields to display\n+\n+    /**\n+     * Overloading this method to allow access to site users (own site only)\n+     * and users w/ multisite privileges\n+     *\n+     * @note   overloaded function\n+     * @return bool\n+     */\n+    function _hasAccess()\n+    {\n+        // create user object\n+        $user = User::singleton();\n+        return ($user->hasPermission('genomic_browser_view_allsites')\n+                || $user->hasPermission('genomic_browser_view_site'));\n+    }\n+\n+\n+    /**\n+     * Function _setupVariables\n+     *\n+     * @note   overloaded function\n+     * @return bool\n+    */\n+    function _setupVariables()\n+    {\n+        // set the class variables\n+        $this->_displayBrief = !(isset($_REQUEST['format']));\n+        $this->columns       = array(\n+                                'psc.Name AS PSC',\n+                                'LPAD(candidate.CandID, 6, \"0\") AS DCCID',\n+                                'candidate.PSCID',\n+                                'candidate.Gender',\n+                                'cohort.SubprojectID as Subproject',\n+                                'DATE_FORMAT(candidate.DoB,\\'%Y-%m-%d\\') AS DoB',\n+                                'gscr.sample_label as Sample',\n+                                'cpg.cpg_name as CPG',\n+                                'cpg.beta_value as Beta_value',\n+                                'genome_loc.Chromosome as Chromosome',\n+                                'genome_loc.Strand as Strand',\n+                                'genome_loc.StartLoc as StartLoc',\n+                                'gca.probe_id_a as Probe_A',\n+                                'gca.address_id_a as Probe_Loc_A',\n+                                'gca.probe_seq_a as Probe_Seq_A',\n+                                'gca.probe_id_b as Probe_B',\n+                                'gca.address_id_b as Probe_Loc_B',\n+                                'gca.probe_seq_b as Probe_Seq_B',\n+                                'gca.design_type as Design',\n+                                'gca.color_channel as Color',\n+                                'gca.genome_build as Assembly',\n+                                'gca.probe_snp_10 as SNP_10',\n+                                'gca.gene_name as Gene',\n+                                'gca.gene_acc_num as Accession_number',\n+                                'gca.gene_group as Gene_Grp',\n+                                'gca.island_loc as Island_Loc',\n+                                'gca.island_relation as Context',\n+                                'gca.fantom_promoter_loc as Fantom_Prom',\n+                                'gca.dmr as DMR',\n+                                'gca.enhancer as Enhancer',\n+                                'gca.hmm_island_loc as HMM_Island',\n+                                'gca.reg_feature_loc as Reg_Feature_Loc',\n+                                'gca.reg_feature_group as Reg_Feature_Grp',\n+                                'gca.dhs as DHS',\n+                                'platform.Name as Platform',\n+                               );\n+\n+        $this->_briefFields = array(\n+                               'DCCID',\n+                               'PSCID',\n+                               'Subproject',\n+                               'CPG',\n+                               'Beta_value',\n+                               'Chromosome',\n+                               'Gene',\n+                              );\n+\n+        // Chromosome from genome_loc table\n+        // INNER JOIN on table.\n+        // If a candidate has no CPG records, they will not appear.\n+        $this->query = \" FROM candidate\n+            LEFT JOIN (select s.CandID, min(s.subprojectID) as SubprojectID \n+                    from session s GROUP BY s.CandID) AS cohort\n+                ON (cohort.CandID = candidate.CandID) \n+            LEFT JOIN psc\n+                ON (psc.CenterID = candidate.CenterID)\n+            LEFT JOIN genomic_sample_candidate_rel gscr\n+                ON (gscr.candidate_id = candidate.ID)\n+            LEFT JOIN genomic_cpg cpg\n+                ON (gscr.sample_label = cpg.sample_label)\n+            LEFT JOIN genomic_cpg_annotation gca\n+                USING (cpg_name)\n+            LEFT JOIN genome_loc\n+                ON (genome_loc.GenomeLocID = gca.location_id)\n+            LEFT JOIN genotyping_platform platform\n+                ON (gca.platform_id = platform.PlatformID)\n+            WHERE \n+            candidate.Entity_type = 'Human' AND candidate.Active = 'Y' \";\n+\n+        $DB   = Database::singleton();\n+        $user = User::singleton();\n+\n+        if (!$user->hasPermission('genomic_browser_view_allsites')) {\n+            // restrict data to own site\n+            $this->query .= \" AND candidate.CenterID=\";\n+            $this->query .= $DB->quote($user->getCenterID());\n+        }\n+\n+        $this->order_by     = 'psc.Name, candidate.CandID DESC';\n+        $this->validFilters = array(\n+                               'candidate.CenterID',\n+                               'candidate.CandID',\n+                               'candidate.PSCID',\n+                               'candidate.Gender',\n+                               'cohort.SubprojectID',\n+                               'candidate.DoB',\n+                               'show_brief_results',\n+                               'cpg.cpg_name',\n+                               'cpg.beta_value',\n+                               'genome_loc.Chromosome',\n+                               'genome_loc.Strand',\n+                               'genome_loc.StartLoc',\n+                               'gca.gene_name',\n+                               'gca.genome_build',\n+                               'gca.design_type',\n+                               'gca.color_channel',\n+                               'gca.probe_snp_10',\n+                               'gca.gene_group',\n+                               'gca.island_loc',\n+                               'gca.island_relation',\n+                               'gca.fantom_promoter_loc',\n+                               'gca.dmr',\n+                               'gca.enhancer',\n+                               'gca.hmm_island_loc',\n+                               'gca.reg_feature_group',\n+                               'gca.dhs',\n+                               'platform.Name',\n+                              );\n+\n+        $this->formToFilter = array(\n+                               'centerID'           => 'candidate.CenterID',\n+                               'DCCID'              => 'candidate.CandID',\n+                               'PSCID'              => 'candidate.PSCID',\n+                               'gender'             => 'candidate.Gender',\n+                               'SubprojectID'       => 'cohort.SubprojectID',\n+                               'dob'                => 'candidate.DoB',\n+                               'Show_Brief_Results' => 'show_brief_results',\n+                               'CPG'                => 'cpg.cpg_name',\n+                               'Beta_value'         => 'cpg.beta_value',\n+                               'Chromosome'         => 'genome_loc.Chromosome',\n+                               'Gene_Symbol'        => 'gca.gene_name',\n+                               'Platform'           => 'platform.Name',\n+                               'Strand'             => 'genome_loc.Strand',\n+                               'StartLoc'           => 'genome_loc.StartLoc',\n+                               'Assembly'           => 'gca.genome_build',\n+                               'Context'            => 'gca.island_relation',\n+                               'Design'             => 'gca.design_type',\n+                               'Color'              => 'gca.color_channel',\n+                               'SNP_10'             => 'gca.probe_snp_10',\n+                               'Gene_Grp'           => 'gca.gene_group',\n+                               'Island_Loc'         => 'gca.island_loc',\n+                               'Fantom_Prom'        => 'gca.fantom_promoter_loc',\n+                               'DMR'                => 'gca.dmr',\n+                               'Enhancer'           => 'gca.enhancer',\n+                               'HMM_Island'         => 'gca.hmm_island_loc',\n+                               'Reg_Feature_Loc'    => 'gca.reg_feature_loc',\n+                               'Reg_Feature_Grp'    => 'gca.reg_feature_group',\n+                               'DHS'                => 'gca.dhs',\n+                              );\n+\n+        $this->EqualityFilters = array(\n+                                  'candidate.Gender',\n+                                  'cpg.cpg_name',\n+                                  'gca.genome_build',\n+                                  'gca.design_type',\n+                                  'genome_loc.Strand',\n+                                  'gca.gene_name',\n+                                 );\n+\n+        return true;\n+    }\n+\n+    /**\n+     * Sets the template data for the filter form\n+     *\n+     * @note   overloaded function\n+     * @return bool\n+     */\n+    function _setFilterForm()\n+    {\n+        // create user object\n+        $user = User::singleton();\n+\n+        // PSC\n+        if ($user->hasPermission('genomic_browser_view_allsites')) {\n+            // has access to all sites genomic data\n+            // get the list of study sites - to be replaced by the Site object\n+            $list_of_sites = Utility::getSiteList();\n+            if (is_array($list_of_sites)) {\n+                $list_of_sites = array('' => 'Any') + $list_of_sites;\n+            }\n+        } else {\n+            // allow only to view own site data\n+            $site = Site::singleton($user->getData('CenterID'));\n+            if ($site->isStudySite()) {\n+                $list_of_sites\n+                    = array($user->getData('CenterID') => $user->getData('Site'));\n+            }\n+        }\n+\n+        // SubprojectID\n+        $list_of_subprojects = Utility::getSubprojectList();\n+\n+        // ------------------------------------------------------------\n+        // ----------------- Candidate Filters --------------------\n+        // ------------------------------------------------------------\n+\n+        $this->addSelect('centerID', 'Site:', $list_of_sites);\n+        $this->addBasicText('DCCID', 'DCCID:');\n+        $this->addBasicText('PSCID', 'PSCID:');\n+        $this->addSelect(\n+            'gender',\n+            'Gender:',\n+            array(\n+             ''       => 'All',\n+             'Male'   => 'Male',\n+             'Female' => 'Female',\n+            )\n+        );\n+        $this->addSelect(\n+            'SubprojectID',\n+            'Subproject:',\n+            array('' => 'Any') + $list_of_subprojects\n+        );\n+        $this->addBasicText('dob', 'Date of Birth:', array('maxlength' => 10));\n+\n+        $show_results_options\n+            = array(\n+               'brief' => 'Summary fields',\n+               'full'  => 'All fields',\n+              );\n+        $this->addSelect('Show_Brief_Results', 'Display:', $show_results_options);\n+\n+        // ------------------------------------------------------------\n+        // ----------------- Genomic Range Filters --------------------\n+        // ------------------------------------------------------------\n+\n+        $this->addBasicText('Gene_Symbol', 'Gene:');\n+        $this->addBasicText('Chromosome', 'Chromosome:');\n+        $Base_options = array(\n+                         null => 'Any',\n+                         '37' => 'GRCh37',\n+                        );\n+        $this->addSelect('Assembly', 'Build:', $Base_options);\n+        $Base_options = array(\n+                         null => 'Any',\n+                         'F'  => 'Foward',\n+                         'R'  => 'Reverse',\n+                        );\n+        $this->addSelect('Strand', 'Strand:', $Base_options);\n+        $this->addBasicText('StartLoc', 'From:');\n+        $this->addBasicText('EndLoc', 'To:');\n+\n+        // ------------------------------------------------------------\n+        // ----------------- CPG Annotations Filters --------------------\n+        // ------------------------------------------------------------\n+\n+        $this->addBasicText('CPG', 'CPG:');\n+\n+        // Context\n+        $Base_options = $this->getDistinctValues(\n+            'genomic_cpg_annotation',\n+            'island_relation'\n+        );\n+        $this->addSelect('Context', 'Context:', $Base_options);\n+\n+        // Platform\n+        $Base_options = $this->getDistinctValues(\n+            'genotyping_platform',\n+            'Name'\n+        );\n+        $this->addSelect('Platform', 'Platform:', $Base_options);\n+\n+        // Gene_Grp\n+        $Base_options = array(\n+                         null      => 'Any',\n+                         '1stExon' => '1st Exon',\n+                         '3`UTR'   => '3`UTR',\n+                         '5`UTR'   => '5`UTR',\n+                         'Body'    => 'Body',\n+                         'TSS1500' => 'TSS1500',\n+                         'TSS200'  => 'TSS200',\n+                        );\n+        $this->addSelect('Gene_Grp', 'Position:', $Base_options);\n+\n+        // Design\n+        $Base_options = array(\n+                         null => 'Any',\n+                         'I'  => 'I',\n+                         'II' => 'II',\n+                        );\n+        $this->addSelect('Design', 'Infinium design:', $Base_options);\n+\n+        // Color\n+        $Base_options = array(\n+                         null  => 'Any',\n+                         'Grn' => 'Green',\n+                         'Red' => 'Red',\n+                        );\n+        $this->addSelect('Color', 'Color:', $Base_options);\n+\n+        // Enhancer\n+        $Base_options = array(\n+                         null => 'Any',\n+                         '1'  => 'Yes',\n+                        );\n+        $this->addSelect('Enhancer', 'Enhancer:', $Base_options);\n+\n+        // SNP_10\n+        $Base_options = array(\n+                         null   => 'Any',\n+                         'NULL' => 'No',\n+                         '_'    => 'Yes',\n+                        );\n+        $this->addSelect('SNP_10', 'SNP:', $Base_options);\n+\n+        // Reg_Feature_Grp\n+        $Base_options = $this->getDistinctValues(\n+            'genomic_cpg_annotation',\n+            'reg_feature_group'\n+        );\n+        $this->addSelect('Reg_Feature_Grp', 'Regulatory feat.:', $Base_options);\n+\n+        // Fantom_Prom\n+        $Base_options = array(\n+                         null       => 'Any',\n+                         'NULL'     => 'No',\n+                         'NOT_NULL' => 'Yes',\n+                        );\n+        $this->addSelect('Fantom_Prom', 'Promoter:', $Base_options);\n+\n+        // HMM_Island\n+        $Base_options = array(\n+                         null       => 'Any',\n+                         'NULL'     => 'No',\n+                         'NOT_NULL' => 'Yes',\n+                        );\n+        $this->addSelect('HMM_Island', 'HMM Island:', $Base_options);\n+\n+        // DHS\n+        $Base_options = array(\n+                         null => 'Any',\n+                         '1'  => 'Yes',","path":"modules/genomic_browser/php/NDB_Menu_Filter_cpg_browser.class.inc","position":388,"original_position":388,"commit_id":"46fa3b3b80d35c7a2299c67b481842fab8b0e98f","original_commit_id":"46fa3b3b80d35c7a2299c67b481842fab8b0e98f","user":{"login":"christinerogers","id":827619,"avatar_url":"https://avatars.githubusercontent.com/u/827619?v=3","gravatar_id":"","url":"https://api.github.com/users/christinerogers","html_url":"https://github.com/christinerogers","followers_url":"https://api.github.com/users/christinerogers/followers","following_url":"https://api.github.com/users/christinerogers/following{/other_user}","gists_url":"https://api.github.com/users/christinerogers/gists{/gist_id}","starred_url":"https://api.github.com/users/christinerogers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/christinerogers/subscriptions","organizations_url":"https://api.github.com/users/christinerogers/orgs","repos_url":"https://api.github.com/users/christinerogers/repos","events_url":"https://api.github.com/users/christinerogers/events{/privacy}","received_events_url":"https://api.github.com/users/christinerogers/received_events","type":"User","site_admin":false},"body":"\"no\" option? ","created_at":"2016-03-16T16:05:18Z","updated_at":"2016-03-16T16:05:18Z","html_url":"https://github.com/aces/Loris/pull/1572#discussion_r56361899","pull_request_url":"https://api.github.com/repos/aces/Loris/pulls/1572","_links":{"self":{"href":"https://api.github.com/repos/aces/Loris/pulls/comments/56361899"},"html":{"href":"https://github.com/aces/Loris/pull/1572#discussion_r56361899"},"pull_request":{"href":"https://api.github.com/repos/aces/Loris/pulls/1572"}}},"pull_request":{"url":"https://api.github.com/repos/aces/Loris/pulls/1572","id":61294751,"html_url":"https://github.com/aces/Loris/pull/1572","diff_url":"https://github.com/aces/Loris/pull/1572.diff","patch_url":"https://github.com/aces/Loris/pull/1572.patch","issue_url":"https://api.github.com/repos/aces/Loris/issues/1572","number":1572,"state":"open","locked":false,"title":"Genomic module - Methylation tab","user":{"login":"xlecours","id":12155214,"avatar_url":"https://avatars.githubusercontent.com/u/12155214?v=3","gravatar_id":"","url":"https://api.github.com/users/xlecours","html_url":"https://github.com/xlecours","followers_url":"https://api.github.com/users/xlecours/followers","following_url":"https://api.github.com/users/xlecours/following{/other_user}","gists_url":"https://api.github.com/users/xlecours/gists{/gist_id}","starred_url":"https://api.github.com/users/xlecours/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xlecours/subscriptions","organizations_url":"https://api.github.com/users/xlecours/orgs","repos_url":"https://api.github.com/users/xlecours/repos","events_url":"https://api.github.com/users/xlecours/events{/privacy}","received_events_url":"https://api.github.com/users/xlecours/received_events","type":"User","site_admin":false},"body":"A new tab to provide filters for genomic beta-value associated with cpg. The current table provide a structure to associate Illumina® HumanMethylation450k probe annotations. ","created_at":"2016-03-01T19:30:28Z","updated_at":"2016-03-16T16:05:18Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bacd5f492e091600dee4043d50ee13a6ead4329a","assignee":{"login":"christinerogers","id":827619,"avatar_url":"https://avatars.githubusercontent.com/u/827619?v=3","gravatar_id":"","url":"https://api.github.com/users/christinerogers","html_url":"https://github.com/christinerogers","followers_url":"https://api.github.com/users/christinerogers/followers","following_url":"https://api.github.com/users/christinerogers/following{/other_user}","gists_url":"https://api.github.com/users/christinerogers/gists{/gist_id}","starred_url":"https://api.github.com/users/christinerogers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/christinerogers/subscriptions","organizations_url":"https://api.github.com/users/christinerogers/orgs","repos_url":"https://api.github.com/users/christinerogers/repos","events_url":"https://api.github.com/users/christinerogers/events{/privacy}","received_events_url":"https://api.github.com/users/christinerogers/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/aces/Loris/milestones/5","html_url":"https://github.com/aces/Loris/milestones/16.0","labels_url":"https://api.github.com/repos/aces/Loris/milestones/5/labels","id":1198784,"number":5,"title":"16.0","description":"The new and improved up and coming Loris.","creator":{"login":"driusan","id":498329,"avatar_url":"https://avatars.githubusercontent.com/u/498329?v=3","gravatar_id":"","url":"https://api.github.com/users/driusan","html_url":"https://github.com/driusan","followers_url":"https://api.github.com/users/driusan/followers","following_url":"https://api.github.com/users/driusan/following{/other_user}","gists_url":"https://api.github.com/users/driusan/gists{/gist_id}","starred_url":"https://api.github.com/users/driusan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/driusan/subscriptions","organizations_url":"https://api.github.com/users/driusan/orgs","repos_url":"https://api.github.com/users/driusan/repos","events_url":"https://api.github.com/users/driusan/events{/privacy}","received_events_url":"https://api.github.com/users/driusan/received_events","type":"User","site_admin":false},"open_issues":26,"closed_issues":165,"state":"open","created_at":"2015-07-08T13:45:03Z","updated_at":"2016-03-15T21:32:40Z","due_on":"2016-04-15T04:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/aces/Loris/pulls/1572/commits","review_comments_url":"https://api.github.com/repos/aces/Loris/pulls/1572/comments","review_comment_url":"https://api.github.com/repos/aces/Loris/pulls/comments{/number}","comments_url":"https://api.github.com/repos/aces/Loris/issues/1572/comments","statuses_url":"https://api.github.com/repos/aces/Loris/statuses/46fa3b3b80d35c7a2299c67b481842fab8b0e98f","head":{"label":"xlecours:CPG_tab","ref":"CPG_tab","sha":"46fa3b3b80d35c7a2299c67b481842fab8b0e98f","user":{"login":"xlecours","id":12155214,"avatar_url":"https://avatars.githubusercontent.com/u/12155214?v=3","gravatar_id":"","url":"https://api.github.com/users/xlecours","html_url":"https://github.com/xlecours","followers_url":"https://api.github.com/users/xlecours/followers","following_url":"https://api.github.com/users/xlecours/following{/other_user}","gists_url":"https://api.github.com/users/xlecours/gists{/gist_id}","starred_url":"https://api.github.com/users/xlecours/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xlecours/subscriptions","organizations_url":"https://api.github.com/users/xlecours/orgs","repos_url":"https://api.github.com/users/xlecours/repos","events_url":"https://api.github.com/users/xlecours/events{/privacy}","received_events_url":"https://api.github.com/users/xlecours/received_events","type":"User","site_admin":false},"repo":{"id":34744886,"name":"Loris","full_name":"xlecours/Loris","owner":{"login":"xlecours","id":12155214,"avatar_url":"https://avatars.githubusercontent.com/u/12155214?v=3","gravatar_id":"","url":"https://api.github.com/users/xlecours","html_url":"https://github.com/xlecours","followers_url":"https://api.github.com/users/xlecours/followers","following_url":"https://api.github.com/users/xlecours/following{/other_user}","gists_url":"https://api.github.com/users/xlecours/gists{/gist_id}","starred_url":"https://api.github.com/users/xlecours/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xlecours/subscriptions","organizations_url":"https://api.github.com/users/xlecours/orgs","repos_url":"https://api.github.com/users/xlecours/repos","events_url":"https://api.github.com/users/xlecours/events{/privacy}","received_events_url":"https://api.github.com/users/xlecours/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/xlecours/Loris","description":"LORIS is a web-accessible database solution for longitudinal multi-site studies.","fork":true,"url":"https://api.github.com/repos/xlecours/Loris","forks_url":"https://api.github.com/repos/xlecours/Loris/forks","keys_url":"https://api.github.com/repos/xlecours/Loris/keys{/key_id}","collaborators_url":"https://api.github.com/repos/xlecours/Loris/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/xlecours/Loris/teams","hooks_url":"https://api.github.com/repos/xlecours/Loris/hooks","issue_events_url":"https://api.github.com/repos/xlecours/Loris/issues/events{/number}","events_url":"https://api.github.com/repos/xlecours/Loris/events","assignees_url":"https://api.github.com/repos/xlecours/Loris/assignees{/user}","branches_url":"https://api.github.com/repos/xlecours/Loris/branches{/branch}","tags_url":"https://api.github.com/repos/xlecours/Loris/tags","blobs_url":"https://api.github.com/repos/xlecours/Loris/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/xlecours/Loris/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/xlecours/Loris/git/refs{/sha}","trees_url":"https://api.github.com/repos/xlecours/Loris/git/trees{/sha}","statuses_url":"https://api.github.com/repos/xlecours/Loris/statuses/{sha}","languages_url":"https://api.github.com/repos/xlecours/Loris/languages","stargazers_url":"https://api.github.com/repos/xlecours/Loris/stargazers","contributors_url":"https://api.github.com/repos/xlecours/Loris/contributors","subscribers_url":"https://api.github.com/repos/xlecours/Loris/subscribers","subscription_url":"https://api.github.com/repos/xlecours/Loris/subscription","commits_url":"https://api.github.com/repos/xlecours/Loris/commits{/sha}","git_commits_url":"https://api.github.com/repos/xlecours/Loris/git/commits{/sha}","comments_url":"https://api.github.com/repos/xlecours/Loris/comments{/number}","issue_comment_url":"https://api.github.com/repos/xlecours/Loris/issues/comments{/number}","contents_url":"https://api.github.com/repos/xlecours/Loris/contents/{+path}","compare_url":"https://api.github.com/repos/xlecours/Loris/compare/{base}...{head}","merges_url":"https://api.github.com/repos/xlecours/Loris/merges","archive_url":"https://api.github.com/repos/xlecours/Loris/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/xlecours/Loris/downloads","issues_url":"https://api.github.com/repos/xlecours/Loris/issues{/number}","pulls_url":"https://api.github.com/repos/xlecours/Loris/pulls{/number}","milestones_url":"https://api.github.com/repos/xlecours/Loris/milestones{/number}","notifications_url":"https://api.github.com/repos/xlecours/Loris/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/xlecours/Loris/labels{/name}","releases_url":"https://api.github.com/repos/xlecours/Loris/releases{/id}","deployments_url":"https://api.github.com/repos/xlecours/Loris/deployments","created_at":"2015-04-28T17:18:07Z","updated_at":"2015-08-13T21:50:53Z","pushed_at":"2016-03-16T03:16:59Z","git_url":"git://github.com/xlecours/Loris.git","ssh_url":"git@github.com:xlecours/Loris.git","clone_url":"https://github.com/xlecours/Loris.git","svn_url":"https://github.com/xlecours/Loris","homepage":"","size":63872,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"aces:16.04-dev","ref":"16.04-dev","sha":"2268c0ad9e41a2adac5155396294e850dcb51cb2","user":{"login":"aces","id":472868,"avatar_url":"https://avatars.githubusercontent.com/u/472868?v=3","gravatar_id":"","url":"https://api.github.com/users/aces","html_url":"https://github.com/aces","followers_url":"https://api.github.com/users/aces/followers","following_url":"https://api.github.com/users/aces/following{/other_user}","gists_url":"https://api.github.com/users/aces/gists{/gist_id}","starred_url":"https://api.github.com/users/aces/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aces/subscriptions","organizations_url":"https://api.github.com/users/aces/orgs","repos_url":"https://api.github.com/users/aces/repos","events_url":"https://api.github.com/users/aces/events{/privacy}","received_events_url":"https://api.github.com/users/aces/received_events","type":"Organization","site_admin":false},"repo":{"id":1125630,"name":"Loris","full_name":"aces/Loris","owner":{"login":"aces","id":472868,"avatar_url":"https://avatars.githubusercontent.com/u/472868?v=3","gravatar_id":"","url":"https://api.github.com/users/aces","html_url":"https://github.com/aces","followers_url":"https://api.github.com/users/aces/followers","following_url":"https://api.github.com/users/aces/following{/other_user}","gists_url":"https://api.github.com/users/aces/gists{/gist_id}","starred_url":"https://api.github.com/users/aces/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aces/subscriptions","organizations_url":"https://api.github.com/users/aces/orgs","repos_url":"https://api.github.com/users/aces/repos","events_url":"https://api.github.com/users/aces/events{/privacy}","received_events_url":"https://api.github.com/users/aces/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/aces/Loris","description":"LORIS is a web-accessible database solution for longitudinal multi-site studies.","fork":false,"url":"https://api.github.com/repos/aces/Loris","forks_url":"https://api.github.com/repos/aces/Loris/forks","keys_url":"https://api.github.com/repos/aces/Loris/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aces/Loris/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aces/Loris/teams","hooks_url":"https://api.github.com/repos/aces/Loris/hooks","issue_events_url":"https://api.github.com/repos/aces/Loris/issues/events{/number}","events_url":"https://api.github.com/repos/aces/Loris/events","assignees_url":"https://api.github.com/repos/aces/Loris/assignees{/user}","branches_url":"https://api.github.com/repos/aces/Loris/branches{/branch}","tags_url":"https://api.github.com/repos/aces/Loris/tags","blobs_url":"https://api.github.com/repos/aces/Loris/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aces/Loris/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aces/Loris/git/refs{/sha}","trees_url":"https://api.github.com/repos/aces/Loris/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aces/Loris/statuses/{sha}","languages_url":"https://api.github.com/repos/aces/Loris/languages","stargazers_url":"https://api.github.com/repos/aces/Loris/stargazers","contributors_url":"https://api.github.com/repos/aces/Loris/contributors","subscribers_url":"https://api.github.com/repos/aces/Loris/subscribers","subscription_url":"https://api.github.com/repos/aces/Loris/subscription","commits_url":"https://api.github.com/repos/aces/Loris/commits{/sha}","git_commits_url":"https://api.github.com/repos/aces/Loris/git/commits{/sha}","comments_url":"https://api.github.com/repos/aces/Loris/comments{/number}","issue_comment_url":"https://api.github.com/repos/aces/Loris/issues/comments{/number}","contents_url":"https://api.github.com/repos/aces/Loris/contents/{+path}","compare_url":"https://api.github.com/repos/aces/Loris/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aces/Loris/merges","archive_url":"https://api.github.com/repos/aces/Loris/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aces/Loris/downloads","issues_url":"https://api.github.com/repos/aces/Loris/issues{/number}","pulls_url":"https://api.github.com/repos/aces/Loris/pulls{/number}","milestones_url":"https://api.github.com/repos/aces/Loris/milestones{/number}","notifications_url":"https://api.github.com/repos/aces/Loris/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aces/Loris/labels{/name}","releases_url":"https://api.github.com/repos/aces/Loris/releases{/id}","deployments_url":"https://api.github.com/repos/aces/Loris/deployments","created_at":"2010-11-30T14:57:57Z","updated_at":"2016-03-10T20:03:59Z","pushed_at":"2016-03-16T15:24:44Z","git_url":"git://github.com/aces/Loris.git","ssh_url":"git@github.com:aces/Loris.git","clone_url":"https://github.com/aces/Loris.git","svn_url":"https://github.com/aces/Loris","homepage":"","size":66038,"stargazers_count":34,"watchers_count":34,"language":"PHP","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":51,"mirror_url":null,"open_issues_count":36,"forks":51,"open_issues":36,"watchers":34,"default_branch":"16.04-dev"}},"_links":{"self":{"href":"https://api.github.com/repos/aces/Loris/pulls/1572"},"html":{"href":"https://github.com/aces/Loris/pull/1572"},"issue":{"href":"https://api.github.com/repos/aces/Loris/issues/1572"},"comments":{"href":"https://api.github.com/repos/aces/Loris/issues/1572/comments"},"review_comments":{"href":"https://api.github.com/repos/aces/Loris/pulls/1572/comments"},"review_comment":{"href":"https://api.github.com/repos/aces/Loris/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/aces/Loris/pulls/1572/commits"},"statuses":{"href":"https://api.github.com/repos/aces/Loris/statuses/46fa3b3b80d35c7a2299c67b481842fab8b0e98f"}}}}