{"action":"created","comment":{"url":"https://api.github.com/repos/seqan/seqan/pulls/comments/30609254","id":30609254,"diff_hunk":"@@ -0,0 +1,669 @@\n+// ==========================================================================\n+//                 SeqAn - The Library for Sequence Analysis\n+// ==========================================================================\n+// Copyright (c) 2006-2015, Knut Reinert, FU Berlin\n+// All rights reserved.\n+//\n+// Redistribution and use in source and binary forms, with or without\n+// modification, are permitted provided that the following conditions are met:\n+//\n+//     * Redistributions of source code must retain the above copyright\n+//       notice, this list of conditions and the following disclaimer.\n+//     * Redistributions in binary form must reproduce the above copyright\n+//       notice, this list of conditions and the following disclaimer in the\n+//       documentation and/or other materials provided with the distribution.\n+//     * Neither the name of Knut Reinert or the FU Berlin nor the names of\n+//       its contributors may be used to endorse or promote products derived\n+//       from this software without specific prior written permission.\n+//\n+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n+// ARE DISCLAIMED. IN NO EVENT SHALL KNUT REINERT OR THE FU BERLIN BE LIABLE\n+// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n+// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n+// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n+// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n+// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n+// OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\n+// DAMAGE.\n+//\n+// ==========================================================================\n+// Author: Hannes Hauswedell <hannes.hauswedell@fu-berlin.de>\n+// ==========================================================================\n+// Module for handling NCBI Blast I/O and E-Value computation\n+// ==========================================================================\n+\n+#ifndef SEQAN_EXTRAS_BLAST_BLAST_BASE_H_\n+#define SEQAN_EXTRAS_BLAST_BLAST_BASE_H_\n+\n+namespace seqan {\n+\n+// ============================================================================\n+// Forwards\n+// ============================================================================\n+\n+// ============================================================================\n+// Tags, Classes, Enums\n+// ============================================================================\n+\n+// ----------------------------------------------------------------------------\n+// Enum BlastProgram\n+// ----------------------------------------------------------------------------\n+\n+/*!\n+ * @enum BlastProgram\n+ * @brief Enum with BLAST program spec\n+ * @signature enum class BlastProgram : uint8_t { ... };\n+ *\n+ * @headerfile <seqan/blast.h>\n+ * @see BlastProgramTag\n+ *\n+ * @val BlastProgram BlastProgram::BLASTN\n+ * @brief Nucleotide Query VS Nucleotide Subject\n+ *\n+ * @val BlastProgram BlastProgram::BLASTP\n+ * @brief Protein Query VS Protein Subject\n+ *\n+ * @val BlastProgram BlastProgram::BLASTX\n+ * @brief translated Nucleotide Query VS Protein Subject\n+ *\n+ * @val BlastProgram BlastProgram::TBLASTN\n+ * @brief Protein Query VS translated Nucleotide Subject\n+ *\n+ * @val BlastProgram BlastProgram::TBLASTX\n+ * @brief translated Nucleotide Query VS translated Nucleotide Subject\n+ *\n+ * @val BlastProgram BlastProgram::UNKNOWN\n+ * @brief Unkown type. Used internally and to signify that the type could not be inferred from the file.\n+ */\n+enum class BlastProgram : uint8_t\n+{\n+    BLASTN,         //              NUCL VS             NUCL\n+    BLASTP,         //              PROT VS             PROT\n+    BLASTX,         // TRANSLATED   NUCL VS             PROT\n+    TBLASTN,        //              PROT VS TRANSLATED  NUCL\n+    TBLASTX,        // TRANSLATED   NUCL VS TRANSLATED  NUCL\n+    UNKNOWN=255\n+};\n+\n+/*!\n+ * @defgroup BlastProgramTag BlastProgram interface\n+ * @brief Integral constants of @link BlastProgram @endlink\n+ *\n+ * @tag BlastProgramTag#BlastProgramTagBlastN\n+ * @brief Tag for @link BlastProgram::BLASTN @endlink\n+ * @headerfile <seqan/blast.h>\n+ *\n+ * @tag BlastProgramTag#BlastProgramTagBlastP\n+ * @brief Tag for @link BlastProgram::BLASTP @endlink\n+ * @headerfile <seqan/blast.h>\n+ *\n+ * @tag BlastProgramTag#BlastProgramTagBlastX\n+ * @brief Tag for @link BlastProgram::BLASTX @endlink\n+ * @headerfile <seqan/blast.h>\n+ *\n+ * @tag BlastProgramTag#BlastProgramTagTBlastN\n+ * @brief Tag for @link BlastProgram::TBLASTN @endlink\n+ * @headerfile <seqan/blast.h>\n+ *\n+ * @tag BlastProgramTag#BlastProgramTagTBlastX\n+ * @brief Tag for @link BlastProgram::TBLASTX @endlink\n+ * @headerfile <seqan/blast.h>\n+ *\n+ * @tag BlastProgramTag#BlastProgramTagUnknown\n+ * @brief Tag for @link BlastProgram::UNKNOWN @endlink\n+ * @headerfile <seqan/blast.h>\n+ */\n+\n+template <BlastProgram p>\n+using BlastProgramTag = std::integral_constant<BlastProgram, p>;\n+\n+typedef BlastProgramTag<BlastProgram::BLASTN>  BlastProgramTagBlastN;\n+typedef BlastProgramTag<BlastProgram::BLASTP>  BlastProgramTagBlastP;\n+typedef BlastProgramTag<BlastProgram::BLASTX>  BlastProgramTagBlastX;\n+typedef BlastProgramTag<BlastProgram::TBLASTN> BlastProgramTagTBlastN;\n+typedef BlastProgramTag<BlastProgram::TBLASTX> BlastProgramTagTBlastX;\n+typedef BlastProgramTag<BlastProgram::UNKNOWN> BlastProgramTagUnknown;\n+\n+// ============================================================================\n+// Functions\n+// ============================================================================\n+\n+// ----------------------------------------------------------------------------\n+// getBlastProgram()\n+// ----------------------------------------------------------------------------\n+\n+/*\n+ * Given both an enum value and a tag, return the tag's value unless it is UNKNOWN\n+ * in which case the enum's value is returned. Can be used in implementations that\n+ * want to cover compile-time constants and run-time settings both.\n+ */\n+\n+// this is always evaluated at compile-time\n+template <BlastProgram p>\n+constexpr BlastProgram\n+getBlastProgram(BlastProgram const, BlastProgramTag<p> const &)\n+{\n+    return p;\n+}\n+\n+// this will likely be evaluated at run-time\n+constexpr BlastProgram\n+getBlastProgram(BlastProgram const p, BlastProgramTag<BlastProgram::UNKNOWN> const &)\n+{\n+    return p;\n+}\n+\n+// ----------------------------------------------------------------------------\n+// qHasRevComp()\n+// ----------------------------------------------------------------------------\n+\n+/*!\n+ * @fn BlastProgramTag#qHasRevComp\n+ * @brief Whether the reverse complement of the <b>query</b> sequence(s) is searched with the given BlastProgram\n+ * @signature constexpr bool qHasRevComp(BlastProgram const p);\n+ * template <BlastProgram p>\n+ * constexpr bool qHasRevComp(BlastProgramTag<p> const &);\n+ * template <BlastProgram p>\n+ * constexpr bool qHasRevComp(BlastProgram const _p, BlastProgramTag<p> const &);\n+ *\n+ * @section Remarks\n+ *\n+ * This function can be used to check whether the defined BlastProgam implies the existence/creation/... of a\n+ * reverse complement sequence of the query sequence.\n+ *\n+ * If both a tag and an enum are specified, the tag is given preference, unless it is set to\n+ * @link BlastProgram::UNKNOWN @endlink.\n+ *\n+ * @return false for @link BlastProgram::BLASTP @endlink and @link BlastProgram::TBLASTN @endlink\n+ * @return true otherwise\n+ * @headerfile <seqan/blast.h>\n+ */\n+\n+constexpr bool\n+qHasRevComp(BlastProgram const p)\n+{\n+    return ((p==BlastProgram::BLASTP) || (p==BlastProgram::TBLASTN))","path":"include/seqan/blast/blast_base.h","position":187,"original_position":187,"commit_id":"9a4f64406bd91852f21e63bad19e9c244ea9f8c7","original_commit_id":"9a4f64406bd91852f21e63bad19e9c244ea9f8c7","user":{"login":"esiragusa","id":172085,"avatar_url":"https://avatars.githubusercontent.com/u/172085?v=3","gravatar_id":"","url":"https://api.github.com/users/esiragusa","html_url":"https://github.com/esiragusa","followers_url":"https://api.github.com/users/esiragusa/followers","following_url":"https://api.github.com/users/esiragusa/following{/other_user}","gists_url":"https://api.github.com/users/esiragusa/gists{/gist_id}","starred_url":"https://api.github.com/users/esiragusa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/esiragusa/subscriptions","organizations_url":"https://api.github.com/users/esiragusa/orgs","repos_url":"https://api.github.com/users/esiragusa/repos","events_url":"https://api.github.com/users/esiragusa/events{/privacy}","received_events_url":"https://api.github.com/users/esiragusa/received_events","type":"User","site_admin":false},"body":"return !(p == BlastProgram::BLASTP || p == BlastProgram::TBLASTN)","created_at":"2015-05-19T15:09:06Z","updated_at":"2015-05-19T15:09:06Z","html_url":"https://github.com/seqan/seqan/pull/979#discussion_r30609254","pull_request_url":"https://api.github.com/repos/seqan/seqan/pulls/979","_links":{"self":{"href":"https://api.github.com/repos/seqan/seqan/pulls/comments/30609254"},"html":{"href":"https://github.com/seqan/seqan/pull/979#discussion_r30609254"},"pull_request":{"href":"https://api.github.com/repos/seqan/seqan/pulls/979"}}},"pull_request":{"url":"https://api.github.com/repos/seqan/seqan/pulls/979","id":34373275,"html_url":"https://github.com/seqan/seqan/pull/979","diff_url":"https://github.com/seqan/seqan/pull/979.diff","patch_url":"https://github.com/seqan/seqan/pull/979.patch","issue_url":"https://api.github.com/repos/seqan/seqan/issues/979","number":979,"state":"open","locked":false,"title":"[FEATURE] blast module","user":{"login":"h-2","id":2996863,"avatar_url":"https://avatars.githubusercontent.com/u/2996863?v=3","gravatar_id":"","url":"https://api.github.com/users/h-2","html_url":"https://github.com/h-2","followers_url":"https://api.github.com/users/h-2/followers","following_url":"https://api.github.com/users/h-2/following{/other_user}","gists_url":"https://api.github.com/users/h-2/gists{/gist_id}","starred_url":"https://api.github.com/users/h-2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/h-2/subscriptions","organizations_url":"https://api.github.com/users/h-2/orgs","repos_url":"https://api.github.com/users/h-2/repos","events_url":"https://api.github.com/users/h-2/events{/privacy}","received_events_url":"https://api.github.com/users/h-2/received_events","type":"User","site_admin":false},"body":"see #938 for a description.\r\n\r\n\r\n@rrahn + @esiragusa although there are still some TODOs, please comment!","created_at":"2015-04-29T15:15:17Z","updated_at":"2015-05-19T15:09:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":"07ddb0d3a4d903f0c2468d2c5abdd029e6da6cc4","assignee":{"login":"h-2","id":2996863,"avatar_url":"https://avatars.githubusercontent.com/u/2996863?v=3","gravatar_id":"","url":"https://api.github.com/users/h-2","html_url":"https://github.com/h-2","followers_url":"https://api.github.com/users/h-2/followers","following_url":"https://api.github.com/users/h-2/following{/other_user}","gists_url":"https://api.github.com/users/h-2/gists{/gist_id}","starred_url":"https://api.github.com/users/h-2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/h-2/subscriptions","organizations_url":"https://api.github.com/users/h-2/orgs","repos_url":"https://api.github.com/users/h-2/repos","events_url":"https://api.github.com/users/h-2/events{/privacy}","received_events_url":"https://api.github.com/users/h-2/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/seqan/seqan/milestones/4","html_url":"https://github.com/seqan/seqan/milestones/Release%202.1.0","labels_url":"https://api.github.com/repos/seqan/seqan/milestones/4/labels","id":813426,"number":4,"title":"Release 2.1.0","description":"Released after 2.0.0 and includes smaller work packages that can be done in a few months after 2.0.0 but not for the 2.0.0 release itself.","creator":{"login":"holtgrewe","id":521780,"avatar_url":"https://avatars.githubusercontent.com/u/521780?v=3","gravatar_id":"","url":"https://api.github.com/users/holtgrewe","html_url":"https://github.com/holtgrewe","followers_url":"https://api.github.com/users/holtgrewe/followers","following_url":"https://api.github.com/users/holtgrewe/following{/other_user}","gists_url":"https://api.github.com/users/holtgrewe/gists{/gist_id}","starred_url":"https://api.github.com/users/holtgrewe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/holtgrewe/subscriptions","organizations_url":"https://api.github.com/users/holtgrewe/orgs","repos_url":"https://api.github.com/users/holtgrewe/repos","events_url":"https://api.github.com/users/holtgrewe/events{/privacy}","received_events_url":"https://api.github.com/users/holtgrewe/received_events","type":"User","site_admin":false},"open_issues":66,"closed_issues":13,"state":"open","created_at":"2014-10-04T10:12:56Z","updated_at":"2015-05-06T14:42:53Z","due_on":"2015-07-30T22:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/seqan/seqan/pulls/979/commits","review_comments_url":"https://api.github.com/repos/seqan/seqan/pulls/979/comments","review_comment_url":"https://api.github.com/repos/seqan/seqan/pulls/comments{/number}","comments_url":"https://api.github.com/repos/seqan/seqan/issues/979/comments","statuses_url":"https://api.github.com/repos/seqan/seqan/statuses/9a4f64406bd91852f21e63bad19e9c244ea9f8c7","head":{"label":"h-2:feature/blast_module2","ref":"feature/blast_module2","sha":"9a4f64406bd91852f21e63bad19e9c244ea9f8c7","user":{"login":"h-2","id":2996863,"avatar_url":"https://avatars.githubusercontent.com/u/2996863?v=3","gravatar_id":"","url":"https://api.github.com/users/h-2","html_url":"https://github.com/h-2","followers_url":"https://api.github.com/users/h-2/followers","following_url":"https://api.github.com/users/h-2/following{/other_user}","gists_url":"https://api.github.com/users/h-2/gists{/gist_id}","starred_url":"https://api.github.com/users/h-2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/h-2/subscriptions","organizations_url":"https://api.github.com/users/h-2/orgs","repos_url":"https://api.github.com/users/h-2/repos","events_url":"https://api.github.com/users/h-2/events{/privacy}","received_events_url":"https://api.github.com/users/h-2/received_events","type":"User","site_admin":false},"repo":{"id":17593904,"name":"seqan","full_name":"h-2/seqan","owner":{"login":"h-2","id":2996863,"avatar_url":"https://avatars.githubusercontent.com/u/2996863?v=3","gravatar_id":"","url":"https://api.github.com/users/h-2","html_url":"https://github.com/h-2","followers_url":"https://api.github.com/users/h-2/followers","following_url":"https://api.github.com/users/h-2/following{/other_user}","gists_url":"https://api.github.com/users/h-2/gists{/gist_id}","starred_url":"https://api.github.com/users/h-2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/h-2/subscriptions","organizations_url":"https://api.github.com/users/h-2/orgs","repos_url":"https://api.github.com/users/h-2/repos","events_url":"https://api.github.com/users/h-2/events{/privacy}","received_events_url":"https://api.github.com/users/h-2/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/h-2/seqan","description":"SeqAn's official repository.","fork":true,"url":"https://api.github.com/repos/h-2/seqan","forks_url":"https://api.github.com/repos/h-2/seqan/forks","keys_url":"https://api.github.com/repos/h-2/seqan/keys{/key_id}","collaborators_url":"https://api.github.com/repos/h-2/seqan/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/h-2/seqan/teams","hooks_url":"https://api.github.com/repos/h-2/seqan/hooks","issue_events_url":"https://api.github.com/repos/h-2/seqan/issues/events{/number}","events_url":"https://api.github.com/repos/h-2/seqan/events","assignees_url":"https://api.github.com/repos/h-2/seqan/assignees{/user}","branches_url":"https://api.github.com/repos/h-2/seqan/branches{/branch}","tags_url":"https://api.github.com/repos/h-2/seqan/tags","blobs_url":"https://api.github.com/repos/h-2/seqan/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/h-2/seqan/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/h-2/seqan/git/refs{/sha}","trees_url":"https://api.github.com/repos/h-2/seqan/git/trees{/sha}","statuses_url":"https://api.github.com/repos/h-2/seqan/statuses/{sha}","languages_url":"https://api.github.com/repos/h-2/seqan/languages","stargazers_url":"https://api.github.com/repos/h-2/seqan/stargazers","contributors_url":"https://api.github.com/repos/h-2/seqan/contributors","subscribers_url":"https://api.github.com/repos/h-2/seqan/subscribers","subscription_url":"https://api.github.com/repos/h-2/seqan/subscription","commits_url":"https://api.github.com/repos/h-2/seqan/commits{/sha}","git_commits_url":"https://api.github.com/repos/h-2/seqan/git/commits{/sha}","comments_url":"https://api.github.com/repos/h-2/seqan/comments{/number}","issue_comment_url":"https://api.github.com/repos/h-2/seqan/issues/comments{/number}","contents_url":"https://api.github.com/repos/h-2/seqan/contents/{+path}","compare_url":"https://api.github.com/repos/h-2/seqan/compare/{base}...{head}","merges_url":"https://api.github.com/repos/h-2/seqan/merges","archive_url":"https://api.github.com/repos/h-2/seqan/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/h-2/seqan/downloads","issues_url":"https://api.github.com/repos/h-2/seqan/issues{/number}","pulls_url":"https://api.github.com/repos/h-2/seqan/pulls{/number}","milestones_url":"https://api.github.com/repos/h-2/seqan/milestones{/number}","notifications_url":"https://api.github.com/repos/h-2/seqan/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/h-2/seqan/labels{/name}","releases_url":"https://api.github.com/repos/h-2/seqan/releases{/id}","created_at":"2014-03-10T13:42:41Z","updated_at":"2014-10-31T16:41:30Z","pushed_at":"2015-05-15T17:43:02Z","git_url":"git://github.com/h-2/seqan.git","ssh_url":"git@github.com:h-2/seqan.git","clone_url":"https://github.com/h-2/seqan.git","svn_url":"https://github.com/h-2/seqan","homepage":"www.seqan.de","size":139695,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":8,"forks":2,"open_issues":8,"watchers":0,"default_branch":"master"}},"base":{"label":"seqan:develop","ref":"develop","sha":"8949ffcc4fa2834305ebcb0781bde5ec0bf11544","user":{"login":"seqan","id":1752144,"avatar_url":"https://avatars.githubusercontent.com/u/1752144?v=3","gravatar_id":"","url":"https://api.github.com/users/seqan","html_url":"https://github.com/seqan","followers_url":"https://api.github.com/users/seqan/followers","following_url":"https://api.github.com/users/seqan/following{/other_user}","gists_url":"https://api.github.com/users/seqan/gists{/gist_id}","starred_url":"https://api.github.com/users/seqan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seqan/subscriptions","organizations_url":"https://api.github.com/users/seqan/orgs","repos_url":"https://api.github.com/users/seqan/repos","events_url":"https://api.github.com/users/seqan/events{/privacy}","received_events_url":"https://api.github.com/users/seqan/received_events","type":"Organization","site_admin":false},"repo":{"id":6383869,"name":"seqan","full_name":"seqan/seqan","owner":{"login":"seqan","id":1752144,"avatar_url":"https://avatars.githubusercontent.com/u/1752144?v=3","gravatar_id":"","url":"https://api.github.com/users/seqan","html_url":"https://github.com/seqan","followers_url":"https://api.github.com/users/seqan/followers","following_url":"https://api.github.com/users/seqan/following{/other_user}","gists_url":"https://api.github.com/users/seqan/gists{/gist_id}","starred_url":"https://api.github.com/users/seqan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seqan/subscriptions","organizations_url":"https://api.github.com/users/seqan/orgs","repos_url":"https://api.github.com/users/seqan/repos","events_url":"https://api.github.com/users/seqan/events{/privacy}","received_events_url":"https://api.github.com/users/seqan/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/seqan/seqan","description":"SeqAn's official repository.","fork":false,"url":"https://api.github.com/repos/seqan/seqan","forks_url":"https://api.github.com/repos/seqan/seqan/forks","keys_url":"https://api.github.com/repos/seqan/seqan/keys{/key_id}","collaborators_url":"https://api.github.com/repos/seqan/seqan/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/seqan/seqan/teams","hooks_url":"https://api.github.com/repos/seqan/seqan/hooks","issue_events_url":"https://api.github.com/repos/seqan/seqan/issues/events{/number}","events_url":"https://api.github.com/repos/seqan/seqan/events","assignees_url":"https://api.github.com/repos/seqan/seqan/assignees{/user}","branches_url":"https://api.github.com/repos/seqan/seqan/branches{/branch}","tags_url":"https://api.github.com/repos/seqan/seqan/tags","blobs_url":"https://api.github.com/repos/seqan/seqan/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/seqan/seqan/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/seqan/seqan/git/refs{/sha}","trees_url":"https://api.github.com/repos/seqan/seqan/git/trees{/sha}","statuses_url":"https://api.github.com/repos/seqan/seqan/statuses/{sha}","languages_url":"https://api.github.com/repos/seqan/seqan/languages","stargazers_url":"https://api.github.com/repos/seqan/seqan/stargazers","contributors_url":"https://api.github.com/repos/seqan/seqan/contributors","subscribers_url":"https://api.github.com/repos/seqan/seqan/subscribers","subscription_url":"https://api.github.com/repos/seqan/seqan/subscription","commits_url":"https://api.github.com/repos/seqan/seqan/commits{/sha}","git_commits_url":"https://api.github.com/repos/seqan/seqan/git/commits{/sha}","comments_url":"https://api.github.com/repos/seqan/seqan/comments{/number}","issue_comment_url":"https://api.github.com/repos/seqan/seqan/issues/comments{/number}","contents_url":"https://api.github.com/repos/seqan/seqan/contents/{+path}","compare_url":"https://api.github.com/repos/seqan/seqan/compare/{base}...{head}","merges_url":"https://api.github.com/repos/seqan/seqan/merges","archive_url":"https://api.github.com/repos/seqan/seqan/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/seqan/seqan/downloads","issues_url":"https://api.github.com/repos/seqan/seqan/issues{/number}","pulls_url":"https://api.github.com/repos/seqan/seqan/pulls{/number}","milestones_url":"https://api.github.com/repos/seqan/seqan/milestones{/number}","notifications_url":"https://api.github.com/repos/seqan/seqan/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/seqan/seqan/labels{/name}","releases_url":"https://api.github.com/repos/seqan/seqan/releases{/id}","created_at":"2012-10-25T08:02:15Z","updated_at":"2015-05-17T09:00:39Z","pushed_at":"2015-05-15T17:43:02Z","git_url":"git://github.com/seqan/seqan.git","ssh_url":"git@github.com:seqan/seqan.git","clone_url":"https://github.com/seqan/seqan.git","svn_url":"https://github.com/seqan/seqan","homepage":"www.seqan.de","size":157484,"stargazers_count":76,"watchers_count":76,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":44,"mirror_url":null,"open_issues_count":127,"forks":44,"open_issues":127,"watchers":76,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/seqan/seqan/pulls/979"},"html":{"href":"https://github.com/seqan/seqan/pull/979"},"issue":{"href":"https://api.github.com/repos/seqan/seqan/issues/979"},"comments":{"href":"https://api.github.com/repos/seqan/seqan/issues/979/comments"},"review_comments":{"href":"https://api.github.com/repos/seqan/seqan/pulls/979/comments"},"review_comment":{"href":"https://api.github.com/repos/seqan/seqan/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/seqan/seqan/pulls/979/commits"},"statuses":{"href":"https://api.github.com/repos/seqan/seqan/statuses/9a4f64406bd91852f21e63bad19e9c244ea9f8c7"}}}}