{"action":"created","comment":{"url":"https://api.github.com/repos/seqan/seqan/pulls/comments/36670556","id":36670556,"diff_hunk":"@@ -0,0 +1,334 @@\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: Christopher Pockrandt <christopher.pockrandt@fu-berlin.de>\n+// ==========================================================================\n+\n+//SEQAN_NO_DDDOC:do not generate documentation for this file\n+\n+#ifndef INDEX_BIFM_H_\n+#define INDEX_BIFM_H_\n+\n+namespace seqan {\n+\n+// ==========================================================================\n+// Forwards\n+// ==========================================================================\n+\n+template <typename TSpec = void, typename TConfig = FMIndexConfig<TSpec> >\n+class BidirectionalFMIndex;\n+\n+// ============================================================================\n+// Metafunctions\n+// ============================================================================\n+\n+// ----------------------------------------------------------------------------\n+// Metafunction BiFMReversedText\n+// ----------------------------------------------------------------------------\n+\n+/*!\n+ * @class BiFMReversedText\n+ * @headerfile <seqan/index.h>\n+ * @brief A helper object that stores the type of the modifier of a given type @endlink.\n+ *\n+ * @signature template <TText>\n+ *            struct BiFMReversedText;\n+ */\n+\n+template <typename TText>\n+struct BiFMReversedText\n+{\n+    typedef ModifiedString<TText, ModReverse> Type;\n+};\n+\n+template <typename TText>\n+struct BiFMReversedText<ModifiedString<TText, ModReverse> >\n+{\n+    typedef TText Type;\n+};\n+\n+template <typename TText, typename TTextConfig>\n+struct BiFMReversedText<StringSet<TText, TTextConfig> >\n+{\n+    typedef StringSet<typename BiFMReversedText<TText>::Type, TTextConfig> Type;\n+};\n+\n+// ----------------------------------------------------------------------------\n+// Metafunction Fibre\n+// ----------------------------------------------------------------------------\n+\n+/*!\n+ * @defgroup BidirectionalFMIndexFibres Bidirectional FM Index Fibres\n+ * @brief Tag to select a specific fibre of a @link BidirectionalFMIndex @endlink.\n+ *\n+ * These tags can be used to get @link Fibre Fibres @endlink of a Bidirectional FM index.\n+ *\n+ * @see Fibre\n+ * @see Index#getFibre\n+ *\n+ * @tag BidirectionalFMIndexFibres#FibreText\n+ * @brief The original text of the index.\n+ *\n+ * @tag BidirectionalFMIndexFibres#FibreSA\n+ * @brief The compressed suffix array of the text.\n+ *\n+ * @tag BidirectionalFMIndexFibres#FibreLF\n+ * @brief The lf table.\n+ */\n+\n+template <typename TText, typename TSpec, typename TConfig>\n+struct Fibre<Index<TText, BidirectionalFMIndex<TSpec, TConfig> >, FibreLF>\n+{\n+    typedef LF<TText, TSpec, TConfig>  Type;\n+};\n+\n+template <typename TText, typename TSpec, typename TConfig>\n+struct Fibre<Index<TText, BidirectionalFMIndex<TSpec, TConfig> >, FibreSA>\n+{\n+    typedef CompressedSA<TText, TSpec, TConfig> Type;\n+};\n+\n+template <typename TText, typename TSpec, typename TConfig>\n+struct Fibre<Index<TText, BidirectionalFMIndex<TSpec, TConfig> >, FibreTempSA>\n+{\n+    typedef Index<TText, BidirectionalFMIndex<TSpec, TConfig> >          TIndex_;\n+    typedef typename SAValue<TIndex_>::Type                 TSAValue_;\n+\n+    // NOTE(esiragusa): External causes problems on device code.\n+#ifndef PLATFORM_CUDA\n+    typedef String<TSAValue_, External<ExternalConfigLarge<> > >                Type;\n+#else\n+    typedef String<TSAValue_, typename DefaultIndexStringSpec<TText>::Type>     Type;\n+#endif\n+};\n+\n+\n+\n+// ----------------------------------------------------------------------------\n+// Class BidirectionalFMIndex\n+// ----------------------------------------------------------------------------\n+\n+/*!\n+ * @class BidirectionalFMIndex\n+ * @extends Index\n+ * @headerfile <seqan/index.h>\n+ * @brief A bidirectional index based on the Burrows-Wheeler transform.\n+ *\n+ * @signature template <typename TText[, typename TSpec[, typename TConfig]]>\n+ *            class Index<TText, BidirectionalFMIndex<TSpec, TConfig> >;\n+ *\n+ * @tparam TText   The text type. Types: @link String @endlink, @link StringSet @endlink\n+ * @tparam TSpec   Bidirectional FM index specialisation, defaults to <tt>void</tt>.\n+ * @tparam TConfig A config object which determines the data types of the different fibres, defaults to\n+ *                 <tt>FMIndexConfig&lt;TSpec&gt;</tt>. TBidirectional is only used internally to\n+ *                 distinguish between a stand-alone FM index and an FM index belonging to a pair of\n+ *                 FM indices forming a bidirectional FM index.\n+ *\n+ * @section Structure\n+ *\n+ * The Bidirectional FM index consists of two FM indices that index the original text and the reverse text.\n+ * Performing a regular backward search on one on the FM indices will automatically update the search\n+ * interval on the other index.\n+ */\n+\n+template <typename TText, typename TSpec, typename TSpec2, typename TLengthSum, typename TBidirectional>\n+class Index<TText, BidirectionalFMIndex<TSpec, FMIndexConfig<TSpec2, TLengthSum, TBidirectional> > >\n+{\n+    typedef typename BiFMReversedText<TText>::Type                                                    TRevText;\n+    typedef Index<TRevText, FMIndex<TSpec, FMIndexConfig<TSpec2, TLengthSum, FMBidirectional> > >     TRevIndex;\n+    typedef Index<TText, FMIndex<TSpec, FMIndexConfig<TSpec2, TLengthSum, FMBidirectional> > >        TFwdIndex;\n+\n+    public:\n+\n+    TRevText    revText;\n+    TRevIndex        rev;\n+    TFwdIndex        fwd;\n+\n+    Index()    {}\n+\n+    Index(TText & text) :\n+        revText(text),\n+        rev(revText),\n+        fwd(text)\n+    {}\n+};\n+\n+// ============================================================================\n+// Functions\n+// ============================================================================\n+\n+// ----------------------------------------------------------------------------\n+// Function clear()\n+// ----------------------------------------------------------------------------\n+\n+// Already documented\n+template <typename TText, typename TSpec, typename TConfig>\n+inline void clear(Index<TText, BidirectionalFMIndex<TSpec, TConfig> > & index)\n+{\n+    clear(index.fwd);\n+    clear(index.rev);\n+    clear(index.revText);\n+}\n+\n+// ----------------------------------------------------------------------------\n+// Function empty()\n+// ----------------------------------------------------------------------------\n+\n+// This function checks whether the index is empty. Its already documented.\n+template <typename TText, typename TSpec, typename TConfig>\n+inline bool empty(Index<TText, BidirectionalFMIndex<TSpec, TConfig> > const & index)\n+{\n+    return empty(index.fwd) && empty(index.bwd);\n+}\n+\n+// ----------------------------------------------------------------------------\n+// Function getFibre()\n+// ----------------------------------------------------------------------------\n+\n+template <typename TText, typename TSpec, typename TConfig>\n+SEQAN_HOST_DEVICE inline typename Fibre<Index<TText, FMIndex<TSpec, TConfig> >, FibreLF>::Type &\n+getFibre(Index<TText, BidirectionalFMIndex<TSpec, TConfig> > & index, FibreLF /*tag*/)\n+{\n+    return index.fwd.lf;\n+}\n+\n+template <typename TText, typename TSpec, typename TConfig>\n+SEQAN_HOST_DEVICE inline typename Fibre<Index<TText, FMIndex<TSpec, TConfig> >, FibreLF>::Type const &\n+getFibre(Index<TText, BidirectionalFMIndex<TSpec, TConfig> > const & index, FibreLF /*tag*/)\n+{\n+    return index.fwd.lf;\n+}\n+\n+// ----------------------------------------------------------------------------\n+// Function indexLF()\n+// ----------------------------------------------------------------------------\n+/*!\n+ * @fn BidirectionalFMIndex#indexLF\n+ * @headerfile <seqan/index.h>\n+ * @brief A shortcut for <tt>getFibre(index, FibreLF())</tt>.\n+ *\n+ * @signature TFibre indexLF(index);\n+ *\n+ * @param[in] index The FM index.\n+ *\n+ * @return TFibre A reference to the @link BidirectionalFMIndexFibres#FibreLF @endlink.\n+ */\n+\n+template <typename TText, typename TSpec, typename TConfig>\n+SEQAN_HOST_DEVICE inline typename Fibre<Index<TText, FMIndex<TSpec, TConfig> >, FibreLF>::Type &\n+indexLF(Index<TText, BidirectionalFMIndex<TSpec, TConfig> > & index)\n+{\n+    return getFibre(index.fwd, FibreLF());\n+}\n+\n+template <typename TText, typename TSpec, typename TConfig>\n+SEQAN_HOST_DEVICE inline typename Fibre<Index<TText, FMIndex<TSpec, TConfig> >, FibreLF>::Type const &\n+indexLF(Index<TText, BidirectionalFMIndex<TSpec, TConfig> > const & index)\n+{\n+    return getFibre(index.fwd, FibreLF());\n+}\n+\n+// ----------------------------------------------------------------------------\n+// Function indexCreate()\n+// ----------------------------------------------------------------------------\n+\n+template <typename TText, typename TSpec, typename TConfig>\n+inline bool indexCreate(Index<TText, BidirectionalFMIndex<TSpec, TConfig> > & index, FibreSALF)\n+{\n+    return indexCreate(index.fwd) && indexCreate(index.bwd);\n+}\n+\n+template <typename TText, typename TSpec, typename TConfig>\n+inline bool indexCreate(Index<TText, BidirectionalFMIndex<TSpec, TConfig> > & index, FibreSA)\n+{\n+    return indexCreate(index.fwd, FibreSALF()) && indexCreate(index.rev, FibreSALF());\n+}\n+\n+template <typename TText, typename TSpec, typename TConfig>\n+inline bool indexCreate(Index<TText, BidirectionalFMIndex<TSpec, TConfig> > & index)\n+{\n+    return indexCreate(index.fwd, FibreSALF()) && indexCreate(index.rev, FibreSALF());\n+}\n+\n+// ----------------------------------------------------------------------------\n+// Function indexSupplied()\n+// ----------------------------------------------------------------------------\n+\n+template <typename TText, typename TSpec, typename TConfig>\n+SEQAN_HOST_DEVICE inline bool indexSupplied(Index<TText, BidirectionalFMIndex<TSpec, TConfig> > & index, FibreSALF const)\n+{","path":"include/seqan/index/index_bifm.h","position":287,"original_position":287,"commit_id":"2a677aef7d384a947d1fb9335ba338d3992102dd","original_commit_id":"2a677aef7d384a947d1fb9335ba338d3992102dd","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":"Same here.","created_at":"2015-08-10T18:59:47Z","updated_at":"2015-08-10T18:59:47Z","html_url":"https://github.com/seqan/seqan/pull/1071#discussion_r36670556","pull_request_url":"https://api.github.com/repos/seqan/seqan/pulls/1071","_links":{"self":{"href":"https://api.github.com/repos/seqan/seqan/pulls/comments/36670556"},"html":{"href":"https://github.com/seqan/seqan/pull/1071#discussion_r36670556"},"pull_request":{"href":"https://api.github.com/repos/seqan/seqan/pulls/1071"}}},"pull_request":{"url":"https://api.github.com/repos/seqan/seqan/pulls/1071","id":41712464,"html_url":"https://github.com/seqan/seqan/pull/1071","diff_url":"https://github.com/seqan/seqan/pull/1071.diff","patch_url":"https://github.com/seqan/seqan/pull/1071.patch","issue_url":"https://api.github.com/repos/seqan/seqan/issues/1071","number":1071,"state":"open","locked":false,"title":"Bidirectional FM index","user":{"login":"cpockrandt","id":7328307,"avatar_url":"https://avatars.githubusercontent.com/u/7328307?v=3","gravatar_id":"","url":"https://api.github.com/users/cpockrandt","html_url":"https://github.com/cpockrandt","followers_url":"https://api.github.com/users/cpockrandt/followers","following_url":"https://api.github.com/users/cpockrandt/following{/other_user}","gists_url":"https://api.github.com/users/cpockrandt/gists{/gist_id}","starred_url":"https://api.github.com/users/cpockrandt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cpockrandt/subscriptions","organizations_url":"https://api.github.com/users/cpockrandt/orgs","repos_url":"https://api.github.com/users/cpockrandt/repos","events_url":"https://api.github.com/users/cpockrandt/events{/privacy}","received_events_url":"https://api.github.com/users/cpockrandt/received_events","type":"User","site_admin":false},"body":"Bidirectional FM index","created_at":"2015-08-05T18:49:39Z","updated_at":"2015-08-10T18:59:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c308bf5a810914d2b879f54bb2badf1e843b4311","assignee":{"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},"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":71,"closed_issues":39,"state":"open","created_at":"2014-10-04T10:12:56Z","updated_at":"2015-08-10T15:30:47Z","due_on":"2015-07-30T22:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/seqan/seqan/pulls/1071/commits","review_comments_url":"https://api.github.com/repos/seqan/seqan/pulls/1071/comments","review_comment_url":"https://api.github.com/repos/seqan/seqan/pulls/comments{/number}","comments_url":"https://api.github.com/repos/seqan/seqan/issues/1071/comments","statuses_url":"https://api.github.com/repos/seqan/seqan/statuses/2a677aef7d384a947d1fb9335ba338d3992102dd","head":{"label":"cpockrandt:develop","ref":"develop","sha":"2a677aef7d384a947d1fb9335ba338d3992102dd","user":{"login":"cpockrandt","id":7328307,"avatar_url":"https://avatars.githubusercontent.com/u/7328307?v=3","gravatar_id":"","url":"https://api.github.com/users/cpockrandt","html_url":"https://github.com/cpockrandt","followers_url":"https://api.github.com/users/cpockrandt/followers","following_url":"https://api.github.com/users/cpockrandt/following{/other_user}","gists_url":"https://api.github.com/users/cpockrandt/gists{/gist_id}","starred_url":"https://api.github.com/users/cpockrandt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cpockrandt/subscriptions","organizations_url":"https://api.github.com/users/cpockrandt/orgs","repos_url":"https://api.github.com/users/cpockrandt/repos","events_url":"https://api.github.com/users/cpockrandt/events{/privacy}","received_events_url":"https://api.github.com/users/cpockrandt/received_events","type":"User","site_admin":false},"repo":{"id":40091946,"name":"seqan","full_name":"cpockrandt/seqan","owner":{"login":"cpockrandt","id":7328307,"avatar_url":"https://avatars.githubusercontent.com/u/7328307?v=3","gravatar_id":"","url":"https://api.github.com/users/cpockrandt","html_url":"https://github.com/cpockrandt","followers_url":"https://api.github.com/users/cpockrandt/followers","following_url":"https://api.github.com/users/cpockrandt/following{/other_user}","gists_url":"https://api.github.com/users/cpockrandt/gists{/gist_id}","starred_url":"https://api.github.com/users/cpockrandt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cpockrandt/subscriptions","organizations_url":"https://api.github.com/users/cpockrandt/orgs","repos_url":"https://api.github.com/users/cpockrandt/repos","events_url":"https://api.github.com/users/cpockrandt/events{/privacy}","received_events_url":"https://api.github.com/users/cpockrandt/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/cpockrandt/seqan","description":"SeqAn's official repository.","fork":true,"url":"https://api.github.com/repos/cpockrandt/seqan","forks_url":"https://api.github.com/repos/cpockrandt/seqan/forks","keys_url":"https://api.github.com/repos/cpockrandt/seqan/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cpockrandt/seqan/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cpockrandt/seqan/teams","hooks_url":"https://api.github.com/repos/cpockrandt/seqan/hooks","issue_events_url":"https://api.github.com/repos/cpockrandt/seqan/issues/events{/number}","events_url":"https://api.github.com/repos/cpockrandt/seqan/events","assignees_url":"https://api.github.com/repos/cpockrandt/seqan/assignees{/user}","branches_url":"https://api.github.com/repos/cpockrandt/seqan/branches{/branch}","tags_url":"https://api.github.com/repos/cpockrandt/seqan/tags","blobs_url":"https://api.github.com/repos/cpockrandt/seqan/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cpockrandt/seqan/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cpockrandt/seqan/git/refs{/sha}","trees_url":"https://api.github.com/repos/cpockrandt/seqan/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cpockrandt/seqan/statuses/{sha}","languages_url":"https://api.github.com/repos/cpockrandt/seqan/languages","stargazers_url":"https://api.github.com/repos/cpockrandt/seqan/stargazers","contributors_url":"https://api.github.com/repos/cpockrandt/seqan/contributors","subscribers_url":"https://api.github.com/repos/cpockrandt/seqan/subscribers","subscription_url":"https://api.github.com/repos/cpockrandt/seqan/subscription","commits_url":"https://api.github.com/repos/cpockrandt/seqan/commits{/sha}","git_commits_url":"https://api.github.com/repos/cpockrandt/seqan/git/commits{/sha}","comments_url":"https://api.github.com/repos/cpockrandt/seqan/comments{/number}","issue_comment_url":"https://api.github.com/repos/cpockrandt/seqan/issues/comments{/number}","contents_url":"https://api.github.com/repos/cpockrandt/seqan/contents/{+path}","compare_url":"https://api.github.com/repos/cpockrandt/seqan/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cpockrandt/seqan/merges","archive_url":"https://api.github.com/repos/cpockrandt/seqan/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cpockrandt/seqan/downloads","issues_url":"https://api.github.com/repos/cpockrandt/seqan/issues{/number}","pulls_url":"https://api.github.com/repos/cpockrandt/seqan/pulls{/number}","milestones_url":"https://api.github.com/repos/cpockrandt/seqan/milestones{/number}","notifications_url":"https://api.github.com/repos/cpockrandt/seqan/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cpockrandt/seqan/labels{/name}","releases_url":"https://api.github.com/repos/cpockrandt/seqan/releases{/id}","created_at":"2015-08-02T20:30:57Z","updated_at":"2015-08-02T20:31:31Z","pushed_at":"2015-08-08T23:37:05Z","git_url":"git://github.com/cpockrandt/seqan.git","ssh_url":"git@github.com:cpockrandt/seqan.git","clone_url":"https://github.com/cpockrandt/seqan.git","svn_url":"https://github.com/cpockrandt/seqan","homepage":"www.seqan.de","size":138442,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"seqan:develop","ref":"develop","sha":"666ff57428a7e7f8c447039f07b186bc7460d061","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-08-08T21:18:04Z","pushed_at":"2015-08-10T18:38:47Z","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":157215,"stargazers_count":84,"watchers_count":84,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":53,"mirror_url":null,"open_issues_count":144,"forks":53,"open_issues":144,"watchers":84,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/seqan/seqan/pulls/1071"},"html":{"href":"https://github.com/seqan/seqan/pull/1071"},"issue":{"href":"https://api.github.com/repos/seqan/seqan/issues/1071"},"comments":{"href":"https://api.github.com/repos/seqan/seqan/issues/1071/comments"},"review_comments":{"href":"https://api.github.com/repos/seqan/seqan/pulls/1071/comments"},"review_comment":{"href":"https://api.github.com/repos/seqan/seqan/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/seqan/seqan/pulls/1071/commits"},"statuses":{"href":"https://api.github.com/repos/seqan/seqan/statuses/2a677aef7d384a947d1fb9335ba338d3992102dd"}}}}