Mercurial > repos > johnheap > vapper
comparison Tryp_V_T.py @ 9:a0d5e1f5bec0 draft
Uploaded
| author | johnheap |
|---|---|
| date | Mon, 03 Jun 2019 14:09:49 -0400 |
| parents | |
| children | fe79425b1fa4 |
comparison
equal
deleted
inserted
replaced
| 8:e75a85590041 | 9:a0d5e1f5bec0 |
|---|---|
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 <!DOCTYPE html> | |
| 8 <html lang="en"> | |
| 9 <head> | |
| 10 <meta charset="utf-8"> | |
| 11 <link rel="dns-prefetch" href="https://github.githubassets.com"> | |
| 12 <link rel="dns-prefetch" href="https://avatars0.githubusercontent.com"> | |
| 13 <link rel="dns-prefetch" href="https://avatars1.githubusercontent.com"> | |
| 14 <link rel="dns-prefetch" href="https://avatars2.githubusercontent.com"> | |
| 15 <link rel="dns-prefetch" href="https://avatars3.githubusercontent.com"> | |
| 16 <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> | |
| 17 <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> | |
| 18 | |
| 19 | |
| 20 | |
| 21 <link crossorigin="anonymous" media="all" integrity="sha512-3+HOqCwtQal5hOJQ+mdxiq5zmGOTjF6RhjDsPLxbKDYgGlLFeCwzoIanb7j5IiCuXKUqyC2q8FdkC4nmx2P2rA==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-a2fba223d5af91496cac70d4ec3624df.css" /> | |
| 22 <link crossorigin="anonymous" media="all" integrity="sha512-MRlTIqIyb8caK5+o8llXVntXovciHyAM4qE3kWU2S7SIjAPDxYp4mE0jQp4kP5UYegy+lG9y1I6VlsdzEjb5Qw==" rel="stylesheet" href="https://github.githubassets.com/assets/site-294181adec18ed639e160b96b45d17ac.css" /> | |
| 23 <link crossorigin="anonymous" media="all" integrity="sha512-XjvAy/mMWN5aOA+pyb/FgAgcVgJkPkwTCwvFK07Ez/H44lvl55ZLGwtpyL4MaMrwDE8QYO+1VYljKFjqr4/iJA==" rel="stylesheet" href="https://github.githubassets.com/assets/github-5b066aa36cc405c9cbcbadf1bde399ed.css" /> | |
| 24 | |
| 25 | |
| 26 | |
| 27 | |
| 28 | |
| 29 <meta name="viewport" content="width=device-width"> | |
| 30 | |
| 31 <title>VAPPER-Galaxy/Tryp_V_T.py at master · johnheap/VAPPER-Galaxy · GitHub</title> | |
| 32 <meta name="description" content="Contribute to johnheap/VAPPER-Galaxy development by creating an account on GitHub."> | |
| 33 <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> | |
| 34 <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> | |
| 35 <meta property="fb:app_id" content="1401488693436528"> | |
| 36 | |
| 37 <meta name="twitter:image:src" content="https://avatars0.githubusercontent.com/u/24318980?s=400&v=4" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary" /><meta name="twitter:title" content="johnheap/VAPPER-Galaxy" /><meta name="twitter:description" content="Contribute to johnheap/VAPPER-Galaxy development by creating an account on GitHub." /> | |
| 38 <meta property="og:image" content="https://avatars0.githubusercontent.com/u/24318980?s=400&v=4" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="johnheap/VAPPER-Galaxy" /><meta property="og:url" content="https://github.com/johnheap/VAPPER-Galaxy" /><meta property="og:description" content="Contribute to johnheap/VAPPER-Galaxy development by creating an account on GitHub." /> | |
| 39 | |
| 40 <link rel="assets" href="https://github.githubassets.com/"> | |
| 41 | |
| 42 <meta name="pjax-timeout" content="1000"> | |
| 43 | |
| 44 <meta name="request-id" content="A691:31FC:5350A:9C70E:5CF5626C" data-pjax-transient> | |
| 45 | |
| 46 | |
| 47 | |
| 48 | |
| 49 <meta name="selected-link" value="repo_source" data-pjax-transient> | |
| 50 | |
| 51 <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> | |
| 52 <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"> | |
| 53 <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc"> | |
| 54 | |
| 55 <meta name="octolytics-host" content="collector.githubapp.com" /><meta name="octolytics-app-id" content="github" /><meta name="octolytics-event-url" content="https://collector.githubapp.com/github-external/browser_event" /><meta name="octolytics-dimension-request_id" content="A691:31FC:5350A:9C70E:5CF5626C" /><meta name="octolytics-dimension-region_edge" content="iad" /><meta name="octolytics-dimension-region_render" content="iad" /> | |
| 56 <meta name="analytics-location" content="/<user-name>/<repo-name>/blob/show" data-pjax-transient="true" /> | |
| 57 | |
| 58 | |
| 59 | |
| 60 <meta name="google-analytics" content="UA-3769691-2"> | |
| 61 | |
| 62 | |
| 63 <meta class="js-ga-set" name="dimension1" content="Logged Out"> | |
| 64 | |
| 65 | |
| 66 | |
| 67 | |
| 68 | |
| 69 <meta name="hostname" content="github.com"> | |
| 70 <meta name="user-login" content=""> | |
| 71 | |
| 72 <meta name="expected-hostname" content="github.com"> | |
| 73 <meta name="js-proxy-site-detection-payload" content="NzYzOGJlZTMwMzU0NWQ4MmU4MGE3MDYxZDI2MDFiZjQxMjBkYTg5NWI1NWRjYzdmZWNjMmE4MWRhZGIxMTMyN3x7InJlbW90ZV9hZGRyZXNzIjoiMTI4LjExOC4yNTAuNSIsInJlcXVlc3RfaWQiOiJBNjkxOjMxRkM6NTM1MEE6OUM3MEU6NUNGNTYyNkMiLCJ0aW1lc3RhbXAiOjE1NTk1ODUzODksImhvc3QiOiJnaXRodWIuY29tIn0="> | |
| 74 | |
| 75 <meta name="enabled-features" content="UNIVERSE_BANNER,MARKETPLACE_INVOICED_BILLING,MARKETPLACE_SOCIAL_PROOF_CUSTOMERS,MARKETPLACE_TRENDING_SOCIAL_PROOF,MARKETPLACE_RECOMMENDATIONS"> | |
| 76 | |
| 77 <meta name="html-safe-nonce" content="a37d7307800ea044bd751b0f42a3fd6deab2c7ff"> | |
| 78 | |
| 79 <meta http-equiv="x-pjax-version" content="af1499c2254d0582d0a98af1dfd7f11b"> | |
| 80 | |
| 81 | |
| 82 <link href="https://github.com/johnheap/VAPPER-Galaxy/commits/master.atom" rel="alternate" title="Recent Commits to VAPPER-Galaxy:master" type="application/atom+xml"> | |
| 83 | |
| 84 <meta name="go-import" content="github.com/johnheap/VAPPER-Galaxy git https://github.com/johnheap/VAPPER-Galaxy.git"> | |
| 85 | |
| 86 <meta name="octolytics-dimension-user_id" content="24318980" /><meta name="octolytics-dimension-user_login" content="johnheap" /><meta name="octolytics-dimension-repository_id" content="139730674" /><meta name="octolytics-dimension-repository_nwo" content="johnheap/VAPPER-Galaxy" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="139730674" /><meta name="octolytics-dimension-repository_network_root_nwo" content="johnheap/VAPPER-Galaxy" /><meta name="octolytics-dimension-repository_explore_github_marketplace_ci_cta_shown" content="false" /> | |
| 87 | |
| 88 | |
| 89 <link rel="canonical" href="https://github.com/johnheap/VAPPER-Galaxy/blob/master/Tryp_V_T.py" data-pjax-transient> | |
| 90 | |
| 91 | |
| 92 <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> | |
| 93 | |
| 94 <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> | |
| 95 | |
| 96 <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000"> | |
| 97 <link rel="icon" type="image/x-icon" class="js-site-favicon" href="https://github.githubassets.com/favicon.ico"> | |
| 98 | |
| 99 <meta name="theme-color" content="#1e2327"> | |
| 100 | |
| 101 | |
| 102 | |
| 103 | |
| 104 | |
| 105 <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> | |
| 106 | |
| 107 </head> | |
| 108 | |
| 109 <body class="logged-out env-production page-responsive page-blob"> | |
| 110 | |
| 111 | |
| 112 <div class="position-relative js-header-wrapper "> | |
| 113 <a href="#start-of-content" tabindex="1" class="px-2 py-4 bg-blue text-white show-on-focus js-skip-to-content">Skip to content</a> | |
| 114 <div id="js-pjax-loader-bar" class="pjax-loader-bar"><div class="progress"></div></div> | |
| 115 | |
| 116 | |
| 117 | |
| 118 | |
| 119 | |
| 120 | |
| 121 <header class="Header-old header-logged-out js-details-container Details position-relative f4 py-2" role="banner"> | |
| 122 <div class="container-lg d-lg-flex flex-items-center p-responsive"> | |
| 123 <div class="d-flex flex-justify-between flex-items-center"> | |
| 124 <a class="mr-4" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark"> | |
| 125 <svg height="32" class="octicon octicon-mark-github text-white" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg> | |
| 126 </a> | |
| 127 | |
| 128 <div class="d-lg-none css-truncate css-truncate-target width-fit p-2"> | |
| 129 | |
| 130 <svg class="octicon octicon-repo" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> | |
| 131 <a class="Header-link" href="/johnheap">johnheap</a> | |
| 132 / | |
| 133 <a class="Header-link" href="/johnheap/VAPPER-Galaxy">VAPPER-Galaxy</a> | |
| 134 | |
| 135 | |
| 136 </div> | |
| 137 | |
| 138 <div class="d-flex flex-items-center"> | |
| 139 <a class="d-inline-block d-lg-none f5 text-white no-underline border border-gray-dark rounded-2 px-2 py-1 mr-3 mr-sm-5" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header","repository_id":null,"auth_type":"SIGN_UP","client_id":null,"originating_request_id":"A691:31FC:5350A:9C70E:5CF5626C","originating_url":"https://github.com/johnheap/VAPPER-Galaxy/blob/master/Tryp_V_T.py","referrer":null,"user_id":null}}" data-hydro-click-hmac="dafab2b648ecc3a2244a0de6c85d4884478b192e1ed71d278d79bf55e6dcddd9" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up" href="/join?source=header-repo"> | |
| 140 Sign up | |
| 141 </a> | |
| 142 <button class="btn-link d-lg-none mt-1 js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false"> | |
| 143 <svg height="24" class="octicon octicon-three-bars text-white" viewBox="0 0 12 16" version="1.1" width="18" aria-hidden="true"><path fill-rule="evenodd" d="M11.41 9H.59C0 9 0 8.59 0 8c0-.59 0-1 .59-1H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1h.01zm0-4H.59C0 5 0 4.59 0 4c0-.59 0-1 .59-1H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1h.01zM.59 11H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1H.59C0 13 0 12.59 0 12c0-.59 0-1 .59-1z"/></svg> | |
| 144 </button> | |
| 145 </div> | |
| 146 </div> | |
| 147 | |
| 148 <div class="HeaderMenu HeaderMenu--logged-out position-fixed top-0 right-0 bottom-0 height-fit position-lg-relative d-lg-flex flex-justify-between flex-items-center flex-auto"> | |
| 149 <div class="d-flex d-lg-none flex-justify-end border-bottom bg-gray-light p-3"> | |
| 150 <button class="btn-link js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false"> | |
| 151 <svg height="24" class="octicon octicon-x text-gray" viewBox="0 0 12 16" version="1.1" width="18" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> | |
| 152 </button> | |
| 153 </div> | |
| 154 | |
| 155 <nav class="mt-0 px-3 px-lg-0 mb-5 mb-lg-0" aria-label="Global"> | |
| 156 <ul class="d-lg-flex list-style-none"> | |
| 157 <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center "> | |
| 158 <details class="HeaderMenu-details details-overlay details-reset width-full"> | |
| 159 <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block"> | |
| 160 Why GitHub? | |
| 161 <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative"> | |
| 162 <path d="M1,1l6.2,6L13,1"></path> | |
| 163 </svg> | |
| 164 </summary> | |
| 165 <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4"> | |
| 166 <a href="/features" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Features">Features <span class="Bump-link-symbol float-right text-normal text-gray-light">→</span></a> | |
| 167 <ul class="list-style-none f5 pb-3"> | |
| 168 <li class="edge-item-fix"><a href="/features/code-review/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Code review">Code review</a></li> | |
| 169 <li class="edge-item-fix"><a href="/features/project-management/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Project management">Project management</a></li> | |
| 170 <li class="edge-item-fix"><a href="/features/integrations" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Integrations">Integrations</a></li> | |
| 171 <li class="edge-item-fix"><a href="/features/actions" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Actions">Actions</a> | |
| 172 <li class="edge-item-fix"><a href="/features/package-registry" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Package Registry">Package registry</a> | |
| 173 <li class="edge-item-fix"><a href="/features#team-management" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Team management">Team management</a></li> | |
| 174 <li class="edge-item-fix"><a href="/features#social-coding" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Social coding">Social coding</a></li> | |
| 175 <li class="edge-item-fix"><a href="/features#documentation" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Documentation">Documentation</a></li> | |
| 176 <li class="edge-item-fix"><a href="/features#code-hosting" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Code hosting">Code hosting</a></li> | |
| 177 </ul> | |
| 178 | |
| 179 <ul class="list-style-none mb-0 border-lg-top pt-lg-3"> | |
| 180 <li class="edge-item-fix"><a href="/customer-stories" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Customer stories">Customer stories <span class="Bump-link-symbol float-right text-normal text-gray-light">→</span></a></li> | |
| 181 <li class="edge-item-fix"><a href="/security" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Security">Security <span class="Bump-link-symbol float-right text-normal text-gray-light">→</span></a></li> | |
| 182 </ul> | |
| 183 </div> | |
| 184 </details> | |
| 185 </li> | |
| 186 <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3"> | |
| 187 <a href="/enterprise" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Enterprise">Enterprise</a> | |
| 188 </li> | |
| 189 | |
| 190 <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center "> | |
| 191 <details class="HeaderMenu-details details-overlay details-reset width-full"> | |
| 192 <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block"> | |
| 193 Explore | |
| 194 <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative"> | |
| 195 <path d="M1,1l6.2,6L13,1"></path> | |
| 196 </svg> | |
| 197 </summary> | |
| 198 | |
| 199 <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 pt-2 pb-0 mt-0 pb-4 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4"> | |
| 200 <ul class="list-style-none mb-3"> | |
| 201 <li class="edge-item-fix"><a href="/explore" class="py-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Explore">Explore GitHub <span class="Bump-link-symbol float-right text-normal text-gray-light">→</span></a></li> | |
| 202 </ul> | |
| 203 | |
| 204 <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Learn & contribute</h4> | |
| 205 <ul class="list-style-none mb-3"> | |
| 206 <li class="edge-item-fix"><a href="/topics" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Topics">Topics</a></li> | |
| 207 <li class="edge-item-fix"><a href="/collections" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Collections">Collections</a></li> | |
| 208 <li class="edge-item-fix"><a href="/trending" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Trending">Trending</a></li> | |
| 209 <li class="edge-item-fix"><a href="https://lab.github.com/" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Learning lab">Learning Lab</a></li> | |
| 210 <li class="edge-item-fix"><a href="https://opensource.guide" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Open source guides">Open source guides</a></li> | |
| 211 </ul> | |
| 212 | |
| 213 <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Connect with others</h4> | |
| 214 <ul class="list-style-none mb-0"> | |
| 215 <li class="edge-item-fix"><a href="https://github.com/events" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Events">Events</a></li> | |
| 216 <li class="edge-item-fix"><a href="https://github.community" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Community forum">Community forum</a></li> | |
| 217 <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 pb-0 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to GitHub Education">GitHub Education</a></li> | |
| 218 </ul> | |
| 219 </div> | |
| 220 </details> | |
| 221 </li> | |
| 222 | |
| 223 <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3"> | |
| 224 <a href="/marketplace" class="HeaderMenu-link no-underline py-3 d-block d-lg-inline-block" data-ga-click="(Logged out) Header, go to Marketplace">Marketplace</a> | |
| 225 </li> | |
| 226 | |
| 227 <li class="d-block d-lg-flex flex-lg-nowrap flex-lg-items-center border-bottom border-lg-bottom-0 mr-0 mr-lg-3 edge-item-fix position-relative flex-wrap flex-justify-between d-flex flex-items-center "> | |
| 228 <details class="HeaderMenu-details details-overlay details-reset width-full"> | |
| 229 <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block"> | |
| 230 Pricing | |
| 231 <svg x="0px" y="0px" viewBox="0 0 14 8" xml:space="preserve" fill="none" class="icon-chevon-down-mktg position-absolute position-lg-relative"> | |
| 232 <path d="M1,1l6.2,6L13,1"></path> | |
| 233 </svg> | |
| 234 </summary> | |
| 235 | |
| 236 <div class="dropdown-menu flex-auto rounded-1 bg-white px-0 pt-2 pb-4 mt-0 p-lg-4 position-relative position-lg-absolute left-0 left-lg-n4"> | |
| 237 <a href="/pricing" class="pb-2 lh-condensed-ultra d-block link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Pricing">Plans <span class="Bump-link-symbol float-right text-normal text-gray-light">→</span></a> | |
| 238 | |
| 239 <ul class="list-style-none mb-3"> | |
| 240 <li class="edge-item-fix"><a href="/pricing#feature-comparison" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Compare plans">Compare plans</a></li> | |
| 241 <li class="edge-item-fix"><a href="https://enterprise.github.com/contact" class="py-2 lh-condensed-ultra d-block link-gray no-underline f5" data-ga-click="(Logged out) Header, go to Contact Sales">Contact Sales</a></li> | |
| 242 </ul> | |
| 243 | |
| 244 <ul class="list-style-none mb-0 border-lg-top pt-lg-3"> | |
| 245 <li class="edge-item-fix"><a href="/nonprofit" class="py-2 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Nonprofits">Nonprofit <span class="Bump-link-symbol float-right text-normal text-gray-light">→</span></a></li> | |
| 246 <li class="edge-item-fix"><a href="https://education.github.com" class="py-2 pb-0 lh-condensed-ultra d-block no-underline link-gray-dark no-underline h5 Bump-link--hover" data-ga-click="(Logged out) Header, go to Education">Education <span class="Bump-link-symbol float-right text-normal text-gray-light">→</span></a></li> | |
| 247 </ul> | |
| 248 </div> | |
| 249 </details> | |
| 250 </li> | |
| 251 </ul> | |
| 252 </nav> | |
| 253 | |
| 254 <div class="d-lg-flex flex-items-center px-3 px-lg-0 text-center text-lg-left"> | |
| 255 <div class="d-lg-flex mb-3 mb-lg-0"> | |
| 256 <div class="header-search flex-self-stretch flex-lg-self-auto mr-0 mr-lg-3 mb-3 mb-lg-0 scoped-search site-scoped-search js-site-search position-relative js-jump-to" | |
| 257 role="combobox" | |
| 258 aria-owns="jump-to-results" | |
| 259 aria-label="Search or jump to" | |
| 260 aria-haspopup="listbox" | |
| 261 aria-expanded="false" | |
| 262 > | |
| 263 <div class="position-relative"> | |
| 264 <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-site-search-form" role="search" aria-label="Site" data-scope-type="Repository" data-scope-id="139730674" data-scoped-search-url="/johnheap/VAPPER-Galaxy/search" data-unscoped-search-url="/search" action="/johnheap/VAPPER-Galaxy/search" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓" /> | |
| 265 <label class="form-control input-sm header-search-wrapper p-0 header-search-wrapper-jump-to position-relative d-flex flex-justify-between flex-items-center js-chromeless-input-container"> | |
| 266 <input type="text" | |
| 267 class="form-control input-sm header-search-input jump-to-field js-jump-to-field js-site-search-focus js-site-search-field is-clearable" | |
| 268 data-hotkey="s,/" | |
| 269 name="q" | |
| 270 value="" | |
| 271 placeholder="Search" | |
| 272 data-unscoped-placeholder="Search GitHub" | |
| 273 data-scoped-placeholder="Search" | |
| 274 autocapitalize="off" | |
| 275 aria-autocomplete="list" | |
| 276 aria-controls="jump-to-results" | |
| 277 aria-label="Search" | |
| 278 data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations#csrf-token=OeWfhCkNlueqmf+vlMZUOIoZL/xaxMnWSzEKmM+a3P/55zFIrfSMdNtX4Lcjm/pZKDqzddz2DGdPMz+4X5/nxg==" | |
| 279 spellcheck="false" | |
| 280 autocomplete="off" | |
| 281 > | |
| 282 <input type="hidden" class="js-site-search-type-field" name="type" > | |
| 283 <img src="https://github.githubassets.com/images/search-key-slash.svg" alt="" class="mr-2 header-search-key-slash"> | |
| 284 | |
| 285 <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container"> | |
| 286 | |
| 287 <ul class="d-none js-jump-to-suggestions-template-container"> | |
| 288 | |
| 289 | |
| 290 <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-suggestion" role="option"> | |
| 291 <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> | |
| 292 <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> | |
| 293 <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> | |
| 294 <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg> | |
| 295 <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg> | |
| 296 </div> | |
| 297 | |
| 298 <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> | |
| 299 | |
| 300 <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> | |
| 301 </div> | |
| 302 | |
| 303 <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> | |
| 304 <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> | |
| 305 In this repository | |
| 306 </span> | |
| 307 <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> | |
| 308 All GitHub | |
| 309 </span> | |
| 310 <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> | |
| 311 </div> | |
| 312 | |
| 313 <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> | |
| 314 Jump to | |
| 315 <span class="d-inline-block ml-1 v-align-middle">↵</span> | |
| 316 </div> | |
| 317 </a> | |
| 318 </li> | |
| 319 | |
| 320 </ul> | |
| 321 | |
| 322 <ul class="d-none js-jump-to-no-results-template-container"> | |
| 323 <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2"> | |
| 324 <span class="text-gray">No suggested jump to results</span> | |
| 325 </li> | |
| 326 </ul> | |
| 327 | |
| 328 <ul id="jump-to-results" role="listbox" class="p-0 m-0 js-navigation-container jump-to-suggestions-results-container js-jump-to-suggestions-results-container"> | |
| 329 | |
| 330 | |
| 331 <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-scoped-search d-none" role="option"> | |
| 332 <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> | |
| 333 <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> | |
| 334 <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> | |
| 335 <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg> | |
| 336 <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg> | |
| 337 </div> | |
| 338 | |
| 339 <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> | |
| 340 | |
| 341 <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> | |
| 342 </div> | |
| 343 | |
| 344 <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> | |
| 345 <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> | |
| 346 In this repository | |
| 347 </span> | |
| 348 <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> | |
| 349 All GitHub | |
| 350 </span> | |
| 351 <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> | |
| 352 </div> | |
| 353 | |
| 354 <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> | |
| 355 Jump to | |
| 356 <span class="d-inline-block ml-1 v-align-middle">↵</span> | |
| 357 </div> | |
| 358 </a> | |
| 359 </li> | |
| 360 | |
| 361 | |
| 362 | |
| 363 <li class="d-flex flex-justify-start flex-items-center p-0 f5 navigation-item js-navigation-item js-jump-to-global-search d-none" role="option"> | |
| 364 <a tabindex="-1" class="no-underline d-flex flex-auto flex-items-center jump-to-suggestions-path js-jump-to-suggestion-path js-navigation-open p-2" href=""> | |
| 365 <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> | |
| 366 <svg height="16" width="16" class="octicon octicon-repo flex-shrink-0 js-jump-to-octicon-repo d-none" title="Repository" aria-label="Repository" viewBox="0 0 12 16" version="1.1" role="img"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> | |
| 367 <svg height="16" width="16" class="octicon octicon-project flex-shrink-0 js-jump-to-octicon-project d-none" title="Project" aria-label="Project" viewBox="0 0 15 16" version="1.1" role="img"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg> | |
| 368 <svg height="16" width="16" class="octicon octicon-search flex-shrink-0 js-jump-to-octicon-search d-none" title="Search" aria-label="Search" viewBox="0 0 16 16" version="1.1" role="img"><path fill-rule="evenodd" d="M15.7 13.3l-3.81-3.83A5.93 5.93 0 0 0 13 6c0-3.31-2.69-6-6-6S1 2.69 1 6s2.69 6 6 6c1.3 0 2.48-.41 3.47-1.11l3.83 3.81c.19.2.45.3.7.3.25 0 .52-.09.7-.3a.996.996 0 0 0 0-1.41v.01zM7 10.7c-2.59 0-4.7-2.11-4.7-4.7 0-2.59 2.11-4.7 4.7-4.7 2.59 0 4.7 2.11 4.7 4.7 0 2.59-2.11 4.7-4.7 4.7z"/></svg> | |
| 369 </div> | |
| 370 | |
| 371 <img class="avatar mr-2 flex-shrink-0 js-jump-to-suggestion-avatar d-none" alt="" aria-label="Team" src="" width="28" height="28"> | |
| 372 | |
| 373 <div class="jump-to-suggestion-name js-jump-to-suggestion-name flex-auto overflow-hidden text-left no-wrap css-truncate css-truncate-target"> | |
| 374 </div> | |
| 375 | |
| 376 <div class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none js-jump-to-badge-search"> | |
| 377 <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> | |
| 378 In this repository | |
| 379 </span> | |
| 380 <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> | |
| 381 All GitHub | |
| 382 </span> | |
| 383 <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> | |
| 384 </div> | |
| 385 | |
| 386 <div aria-hidden="true" class="border rounded-1 flex-shrink-0 bg-gray px-1 text-gray-light ml-1 f6 d-none d-on-nav-focus js-jump-to-badge-jump"> | |
| 387 Jump to | |
| 388 <span class="d-inline-block ml-1 v-align-middle">↵</span> | |
| 389 </div> | |
| 390 </a> | |
| 391 </li> | |
| 392 | |
| 393 | |
| 394 </ul> | |
| 395 | |
| 396 </div> | |
| 397 </label> | |
| 398 </form> </div> | |
| 399 </div> | |
| 400 | |
| 401 </div> | |
| 402 | |
| 403 <a class="HeaderMenu-link no-underline mr-3" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"LOG_IN","client_id":null,"originating_request_id":"A691:31FC:5350A:9C70E:5CF5626C","originating_url":"https://github.com/johnheap/VAPPER-Galaxy/blob/master/Tryp_V_T.py","referrer":null,"user_id":null}}" data-hydro-click-hmac="337eab5a1a33edba9a56afe56b6817bbe2bfb8bfab94836352641826ce53b626" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in" href="/login?return_to=%2Fjohnheap%2FVAPPER-Galaxy%2Fblob%2Fmaster%2FTryp_V_T.py"> | |
| 404 Sign in | |
| 405 </a> <a class="HeaderMenu-link d-inline-block no-underline border border-gray-dark rounded-1 px-2 py-1" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","client_id":null,"originating_request_id":"A691:31FC:5350A:9C70E:5CF5626C","originating_url":"https://github.com/johnheap/VAPPER-Galaxy/blob/master/Tryp_V_T.py","referrer":null,"user_id":null}}" data-hydro-click-hmac="ae884c1f61e6facf2cb96fcd7d55fbcf227cb7989e192de2cb6c5ab5c46e53d1" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up" href="/join?source=header-repo"> | |
| 406 Sign up | |
| 407 </a> </div> | |
| 408 </div> | |
| 409 </div> | |
| 410 </header> | |
| 411 | |
| 412 </div> | |
| 413 | |
| 414 <div id="start-of-content" class="show-on-focus"></div> | |
| 415 | |
| 416 | |
| 417 <div id="js-flash-container"> | |
| 418 | |
| 419 </div> | |
| 420 | |
| 421 | |
| 422 | |
| 423 <div class="application-main " data-commit-hovercards-enabled> | |
| 424 <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> | |
| 425 <main > | |
| 426 | |
| 427 | |
| 428 | |
| 429 | |
| 430 | |
| 431 | |
| 432 | |
| 433 | |
| 434 | |
| 435 | |
| 436 <div class="pagehead repohead instapaper_ignore readability-menu experiment-repo-nav pt-0 pt-lg-4 "> | |
| 437 <div class="repohead-details-container clearfix container-lg p-responsive d-none d-lg-block"> | |
| 438 | |
| 439 <ul class="pagehead-actions"> | |
| 440 | |
| 441 | |
| 442 | |
| 443 | |
| 444 <li> | |
| 445 | |
| 446 <a class="tooltipped tooltipped-s btn btn-sm btn-with-count" aria-label="You must be signed in to watch a repository" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","client_id":null,"originating_request_id":"A691:31FC:5350A:9C70E:5CF5626C","originating_url":"https://github.com/johnheap/VAPPER-Galaxy/blob/master/Tryp_V_T.py","referrer":null,"user_id":null}}" data-hydro-click-hmac="af7329bf60da95c08a620876666a89de6aa2bf96a8da8486f5eb50741ad8743e" href="/login?return_to=%2Fjohnheap%2FVAPPER-Galaxy"> | |
| 447 <svg class="octicon octicon-eye v-align-text-bottom" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.06 2C3 2 0 8 0 8s3 6 8.06 6C13 14 16 8 16 8s-3-6-7.94-6zM8 12c-2.2 0-4-1.78-4-4 0-2.2 1.8-4 4-4 2.22 0 4 1.8 4 4 0 2.22-1.78 4-4 4zm2-4c0 1.11-.89 2-2 2-1.11 0-2-.89-2-2 0-1.11.89-2 2-2 1.11 0 2 .89 2 2z"/></svg> | |
| 448 Watch | |
| 449 </a> <a class="social-count" href="/johnheap/VAPPER-Galaxy/watchers" | |
| 450 aria-label="0 users are watching this repository"> | |
| 451 0 | |
| 452 </a> | |
| 453 | |
| 454 </li> | |
| 455 | |
| 456 <li> | |
| 457 <a class="btn btn-sm btn-with-count tooltipped tooltipped-s" aria-label="You must be signed in to star a repository" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":139730674,"auth_type":"LOG_IN","client_id":null,"originating_request_id":"A691:31FC:5350A:9C70E:5CF5626C","originating_url":"https://github.com/johnheap/VAPPER-Galaxy/blob/master/Tryp_V_T.py","referrer":null,"user_id":null}}" data-hydro-click-hmac="0db565041ee36ff7a0a3ca6a8ab0c55e0708db9b7f32415674420a32f9615882" href="/login?return_to=%2Fjohnheap%2FVAPPER-Galaxy"> | |
| 458 <svg class="octicon octicon-star v-align-text-bottom" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M14 6l-4.9-.64L7 1 4.9 5.36 0 6l3.6 3.26L2.67 14 7 11.67 11.33 14l-.93-4.74L14 6z"/></svg> | |
| 459 Star | |
| 460 </a> | |
| 461 <a class="social-count js-social-count" href="/johnheap/VAPPER-Galaxy/stargazers" | |
| 462 aria-label="0 users starred this repository"> | |
| 463 0 | |
| 464 </a> | |
| 465 | |
| 466 </li> | |
| 467 | |
| 468 <li> | |
| 469 <a class="btn btn-sm btn-with-count tooltipped tooltipped-s" aria-label="You must be signed in to fork a repository" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"repo details fork button","repository_id":139730674,"auth_type":"LOG_IN","client_id":null,"originating_request_id":"A691:31FC:5350A:9C70E:5CF5626C","originating_url":"https://github.com/johnheap/VAPPER-Galaxy/blob/master/Tryp_V_T.py","referrer":null,"user_id":null}}" data-hydro-click-hmac="f1fd12af9e16afa9f9169bba4e92280efdd13b9f988453b683991c292a94ee58" href="/login?return_to=%2Fjohnheap%2FVAPPER-Galaxy"> | |
| 470 <svg class="octicon octicon-repo-forked v-align-text-bottom" viewBox="0 0 10 16" version="1.1" width="10" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg> | |
| 471 Fork | |
| 472 </a> | |
| 473 <a href="/johnheap/VAPPER-Galaxy/network/members" class="social-count" | |
| 474 aria-label="0 users forked this repository"> | |
| 475 0 | |
| 476 </a> | |
| 477 </li> | |
| 478 </ul> | |
| 479 | |
| 480 <h1 class="public "> | |
| 481 <svg class="octicon octicon-repo" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M4 9H3V8h1v1zm0-3H3v1h1V6zm0-2H3v1h1V4zm0-2H3v1h1V2zm8-1v12c0 .55-.45 1-1 1H6v2l-1.5-1.5L3 16v-2H1c-.55 0-1-.45-1-1V1c0-.55.45-1 1-1h10c.55 0 1 .45 1 1zm-1 10H1v2h2v-1h3v1h5v-2zm0-10H2v9h9V1z"/></svg> | |
| 482 <span class="author" itemprop="author"><a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=24318980" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/johnheap">johnheap</a></span><!-- | |
| 483 --><span class="path-divider">/</span><!-- | |
| 484 --><strong itemprop="name"><a data-pjax="#js-repo-pjax-container" href="/johnheap/VAPPER-Galaxy">VAPPER-Galaxy</a></strong> | |
| 485 | |
| 486 | |
| 487 </h1> | |
| 488 | |
| 489 </div> | |
| 490 | |
| 491 <nav class="hx_reponav reponav js-repo-nav js-sidenav-container-pjax container-lg p-responsive d-none d-lg-block" | |
| 492 itemscope | |
| 493 itemtype="http://schema.org/BreadcrumbList" | |
| 494 aria-label="Repository" | |
| 495 data-pjax="#js-repo-pjax-container"> | |
| 496 | |
| 497 <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> | |
| 498 <a class="js-selected-navigation-item selected reponav-item" itemprop="url" data-hotkey="g c" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /johnheap/VAPPER-Galaxy" href="/johnheap/VAPPER-Galaxy"> | |
| 499 <svg class="octicon octicon-code" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M9.5 3L8 4.5 11.5 8 8 11.5 9.5 13 14 8 9.5 3zm-5 0L0 8l4.5 5L6 11.5 2.5 8 6 4.5 4.5 3z"/></svg> | |
| 500 <span itemprop="name">Code</span> | |
| 501 <meta itemprop="position" content="1"> | |
| 502 </a> </span> | |
| 503 | |
| 504 <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> | |
| 505 <a itemprop="url" data-hotkey="g i" class="js-selected-navigation-item reponav-item" data-selected-links="repo_issues repo_labels repo_milestones /johnheap/VAPPER-Galaxy/issues" href="/johnheap/VAPPER-Galaxy/issues"> | |
| 506 <svg class="octicon octicon-issue-opened" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"/></svg> | |
| 507 <span itemprop="name">Issues</span> | |
| 508 <span class="Counter">0</span> | |
| 509 <meta itemprop="position" content="2"> | |
| 510 </a> </span> | |
| 511 | |
| 512 <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> | |
| 513 <a data-hotkey="g p" itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /johnheap/VAPPER-Galaxy/pulls" href="/johnheap/VAPPER-Galaxy/pulls"> | |
| 514 <svg class="octicon octicon-git-pull-request" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M11 11.28V5c-.03-.78-.34-1.47-.94-2.06C9.46 2.35 8.78 2.03 8 2H7V0L4 3l3 3V4h1c.27.02.48.11.69.31.21.2.3.42.31.69v6.28A1.993 1.993 0 0 0 10 15a1.993 1.993 0 0 0 1-3.72zm-1 2.92c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2zM4 3c0-1.11-.89-2-2-2a1.993 1.993 0 0 0-1 3.72v6.56A1.993 1.993 0 0 0 2 15a1.993 1.993 0 0 0 1-3.72V4.72c.59-.34 1-.98 1-1.72zm-.8 10c0 .66-.55 1.2-1.2 1.2-.65 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2zM2 4.2C1.34 4.2.8 3.65.8 3c0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2z"/></svg> | |
| 515 <span itemprop="name">Pull requests</span> | |
| 516 <span class="Counter">0</span> | |
| 517 <meta itemprop="position" content="3"> | |
| 518 </a> </span> | |
| 519 | |
| 520 | |
| 521 <a data-hotkey="g b" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /johnheap/VAPPER-Galaxy/projects" href="/johnheap/VAPPER-Galaxy/projects"> | |
| 522 <svg class="octicon octicon-project" viewBox="0 0 15 16" version="1.1" width="15" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M10 12h3V2h-3v10zm-4-2h3V2H6v8zm-4 4h3V2H2v12zm-1 1h13V1H1v14zM14 0H1a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h13a1 1 0 0 0 1-1V1a1 1 0 0 0-1-1z"/></svg> | |
| 523 Projects | |
| 524 <span class="Counter" >0</span> | |
| 525 </a> | |
| 526 | |
| 527 | |
| 528 <a data-skip-pjax="true" class="js-selected-navigation-item reponav-item" data-selected-links="security alerts policy /johnheap/VAPPER-Galaxy/security/advisories" href="/johnheap/VAPPER-Galaxy/security/advisories"> | |
| 529 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="octicon" height="16px" width="16px"> | |
| 530 <path fill-rule="evenodd" clip-rule="evenodd" d="M1 2l7-2 7 2v6.02C15 12.69 9.69 16 8 16c-1.69 0-7-3.31-7-7.98V2zm1 .75L8 1l6 1.75v5.268C14 12.104 9.45 15 8 15c-1.45 0-6-2.896-6-6.982V2.75z"></path> | |
| 531 <path d="M3 3.5L8 2v12c-1.207 0-5-2.482-5-5.985V3.5z"></path> | |
| 532 </svg> | |
| 533 | |
| 534 Security | |
| 535 </a> | |
| 536 <a class="js-selected-navigation-item reponav-item" data-selected-links="repo_graphs repo_contributors dependency_graph pulse people /johnheap/VAPPER-Galaxy/pulse" href="/johnheap/VAPPER-Galaxy/pulse"> | |
| 537 <svg class="octicon octicon-graph" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M16 14v1H0V0h1v14h15zM5 13H3V8h2v5zm4 0H7V3h2v10zm4 0h-2V6h2v7z"/></svg> | |
| 538 Insights | |
| 539 </a> | |
| 540 | |
| 541 </nav> | |
| 542 | |
| 543 <div class="reponav-wrapper reponav-small d-lg-none"> | |
| 544 <nav class="reponav js-reponav text-center no-wrap" | |
| 545 itemscope | |
| 546 itemtype="http://schema.org/BreadcrumbList"> | |
| 547 | |
| 548 <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> | |
| 549 <a class="js-selected-navigation-item selected reponav-item" itemprop="url" aria-current="page" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages /johnheap/VAPPER-Galaxy" href="/johnheap/VAPPER-Galaxy"> | |
| 550 <span itemprop="name">Code</span> | |
| 551 <meta itemprop="position" content="1"> | |
| 552 </a> </span> | |
| 553 | |
| 554 <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> | |
| 555 <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_issues repo_labels repo_milestones /johnheap/VAPPER-Galaxy/issues" href="/johnheap/VAPPER-Galaxy/issues"> | |
| 556 <span itemprop="name">Issues</span> | |
| 557 <span class="Counter">0</span> | |
| 558 <meta itemprop="position" content="2"> | |
| 559 </a> </span> | |
| 560 | |
| 561 <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> | |
| 562 <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_pulls checks /johnheap/VAPPER-Galaxy/pulls" href="/johnheap/VAPPER-Galaxy/pulls"> | |
| 563 <span itemprop="name">Pull requests</span> | |
| 564 <span class="Counter">0</span> | |
| 565 <meta itemprop="position" content="3"> | |
| 566 </a> </span> | |
| 567 | |
| 568 <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"> | |
| 569 <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="repo_projects new_repo_project repo_project /johnheap/VAPPER-Galaxy/projects" href="/johnheap/VAPPER-Galaxy/projects"> | |
| 570 <span itemprop="name">Projects</span> | |
| 571 <span class="Counter">0</span> | |
| 572 <meta itemprop="position" content="4"> | |
| 573 </a> </span> | |
| 574 | |
| 575 | |
| 576 <a itemprop="url" class="js-selected-navigation-item reponav-item" data-selected-links="security alerts policy /johnheap/VAPPER-Galaxy/security/advisories" href="/johnheap/VAPPER-Galaxy/security/advisories"> | |
| 577 <span itemprop="name">Security</span> | |
| 578 <meta itemprop="position" content="6"> | |
| 579 </a> | |
| 580 <a class="js-selected-navigation-item reponav-item" data-selected-links="pulse /johnheap/VAPPER-Galaxy/pulse" href="/johnheap/VAPPER-Galaxy/pulse"> | |
| 581 Pulse | |
| 582 </a> | |
| 583 | |
| 584 </nav> | |
| 585 </div> | |
| 586 | |
| 587 | |
| 588 </div> | |
| 589 <div class="container-lg new-discussion-timeline experiment-repo-nav p-responsive"> | |
| 590 <div class="repository-content "> | |
| 591 | |
| 592 | |
| 593 | |
| 594 | |
| 595 | |
| 596 | |
| 597 | |
| 598 <a class="d-none js-permalink-shortcut" data-hotkey="y" href="/johnheap/VAPPER-Galaxy/blob/a4e16d71fe985f389930c02f94354b87d3aabadb/Tryp_V_T.py">Permalink</a> | |
| 599 | |
| 600 <!-- blob contrib key: blob_contributors:v21:9b80d5431ee2c66dc8d0bd669b319131 --> | |
| 601 <div class="signup-prompt-bg rounded-1"> | |
| 602 <div class="signup-prompt p-4 text-center mb-4 rounded-1"> | |
| 603 <div class="position-relative"> | |
| 604 <!-- '"` --><!-- </textarea></xmp> --></option></form><form action="/prompt_dismissals/signup" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="_method" value="put" /><input type="hidden" name="authenticity_token" value="u8vaE+nJK1t8+Agdc/ZN/ZDEQ1zDW1rahinuGQ03qeICRZPwq5nUk+WWU12I6oJkTK1SE+lme9JaR2kcuAfQbQ==" /> | |
| 605 <button type="submit" class="position-absolute top-0 right-0 btn-link link-gray" data-ga-click="(Logged out) Sign up prompt, clicked Dismiss, text:dismiss"> | |
| 606 Dismiss | |
| 607 </button> | |
| 608 </form> <h3 class="pt-2">Join GitHub today</h3> | |
| 609 <p class="col-6 mx-auto">GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.</p> | |
| 610 <a class="btn btn-primary" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"files signup prompt","repository_id":null,"auth_type":"SIGN_UP","client_id":null,"originating_request_id":"A691:31FC:5350A:9C70E:5CF5626C","originating_url":"https://github.com/johnheap/VAPPER-Galaxy/blob/master/Tryp_V_T.py","referrer":null,"user_id":null}}" data-hydro-click-hmac="4bf7c9cc5dabe6e4cbd6bb6269757b356cdffe6bf9214fa28ed8854e1073068e" data-ga-click="(Logged out) Sign up prompt, clicked Sign up, text:sign-up" href="/join?source=prompt-blob-show">Sign up</a> | |
| 611 </div> | |
| 612 </div> | |
| 613 </div> | |
| 614 | |
| 615 | |
| 616 <div class="d-flex flex-items-start flex-shrink-0 mb-2 flex-column flex-md-row"> | |
| 617 <span class="d-flex flex-justify-between width-full width-md-auto"> | |
| 618 | |
| 619 <details class="details-reset details-overlay select-menu branch-select-menu hx_rsm" id="branch-select-menu"> | |
| 620 <summary class="btn btn-sm select-menu-button css-truncate" | |
| 621 data-hotkey="w" | |
| 622 | |
| 623 title="Switch branches or tags"> | |
| 624 <i>Branch:</i> | |
| 625 <span class="css-truncate-target">master</span> | |
| 626 </summary> | |
| 627 | |
| 628 <details-menu class="select-menu-modal hx_rsm-modal position-absolute" style="z-index: 99;" src="/johnheap/VAPPER-Galaxy/ref-list/master/Tryp_V_T.py?source_action=show&source_controller=blob" preload> | |
| 629 <include-fragment class="select-menu-loading-overlay anim-pulse"> | |
| 630 <svg height="32" class="octicon octicon-octoface" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true"><path fill-rule="evenodd" d="M14.7 5.34c.13-.32.55-1.59-.13-3.31 0 0-1.05-.33-3.44 1.3-1-.28-2.07-.32-3.13-.32s-2.13.04-3.13.32c-2.39-1.64-3.44-1.3-3.44-1.3-.68 1.72-.26 2.99-.13 3.31C.49 6.21 0 7.33 0 8.69 0 13.84 3.33 15 7.98 15S16 13.84 16 8.69c0-1.36-.49-2.48-1.3-3.35zM8 14.02c-3.3 0-5.98-.15-5.98-3.35 0-.76.38-1.48 1.02-2.07 1.07-.98 2.9-.46 4.96-.46 2.07 0 3.88-.52 4.96.46.65.59 1.02 1.3 1.02 2.07 0 3.19-2.68 3.35-5.98 3.35zM5.49 9.01c-.66 0-1.2.8-1.2 1.78s.54 1.79 1.2 1.79c.66 0 1.2-.8 1.2-1.79s-.54-1.78-1.2-1.78zm5.02 0c-.66 0-1.2.79-1.2 1.78s.54 1.79 1.2 1.79c.66 0 1.2-.8 1.2-1.79s-.53-1.78-1.2-1.78z"/></svg> | |
| 631 </include-fragment> | |
| 632 </details-menu> | |
| 633 </details> | |
| 634 | |
| 635 <div class="BtnGroup flex-shrink-0 d-md-none"> | |
| 636 <a href="/johnheap/VAPPER-Galaxy/find/master" | |
| 637 class="js-pjax-capture-input btn btn-sm BtnGroup-item" | |
| 638 data-pjax | |
| 639 data-hotkey="t"> | |
| 640 Find file | |
| 641 </a> | |
| 642 <clipboard-copy value="Tryp_V_T.py" class="btn btn-sm BtnGroup-item"> | |
| 643 Copy path | |
| 644 </clipboard-copy> | |
| 645 </div> | |
| 646 </span> | |
| 647 <h2 id="blob-path" class="breadcrumb flex-auto min-width-0 text-normal flex-md-self-center ml-md-2 mr-md-3 my-2 my-md-0"> | |
| 648 <span class="js-repo-root text-bold"><span class="js-path-segment"><a data-pjax="true" href="/johnheap/VAPPER-Galaxy"><span>VAPPER-Galaxy</span></a></span></span><span class="separator">/</span><strong class="final-path">Tryp_V_T.py</strong> | |
| 649 </h2> | |
| 650 | |
| 651 <div class="BtnGroup flex-shrink-0 d-none d-md-inline-block"> | |
| 652 <a href="/johnheap/VAPPER-Galaxy/find/master" | |
| 653 class="js-pjax-capture-input btn btn-sm BtnGroup-item" | |
| 654 data-pjax | |
| 655 data-hotkey="t"> | |
| 656 Find file | |
| 657 </a> | |
| 658 <clipboard-copy value="Tryp_V_T.py" class="btn btn-sm BtnGroup-item"> | |
| 659 Copy path | |
| 660 </clipboard-copy> | |
| 661 </div> | |
| 662 </div> | |
| 663 | |
| 664 | |
| 665 | |
| 666 <include-fragment src="/johnheap/VAPPER-Galaxy/contributors/master/Tryp_V_T.py" class="Box Box--condensed commit-loader"> | |
| 667 <div class="Box-body bg-blue-light f6"> | |
| 668 Fetching contributors… | |
| 669 </div> | |
| 670 | |
| 671 <div class="Box-body d-flex flex-items-center" > | |
| 672 <img alt="" class="loader-loading mr-2" src="https://github.githubassets.com/images/spinners/octocat-spinner-32-EAF2F5.gif" width="16" height="16" /> | |
| 673 <span class="text-red h6 loader-error">Cannot retrieve contributors at this time</span> | |
| 674 </div> | |
| 675 </include-fragment> | |
| 676 | |
| 677 | |
| 678 | |
| 679 | |
| 680 | |
| 681 <div class="Box mt-3 position-relative"> | |
| 682 | |
| 683 <div class="Box-header py-2 d-flex flex-column flex-shrink-0 flex-md-row flex-md-items-center"> | |
| 684 | |
| 685 <div class="text-mono f6 flex-auto pr-3 flex-order-2 flex-md-order-1 mt-2 mt-md-0"> | |
| 686 426 lines (349 sloc) | |
| 687 <span class="file-info-divider"></span> | |
| 688 17.3 KB | |
| 689 </div> | |
| 690 | |
| 691 <div class="d-flex py-1 py-md-0 flex-auto flex-order-1 flex-md-order-2 flex-sm-grow-0 flex-justify-between"> | |
| 692 | |
| 693 <div class="BtnGroup"> | |
| 694 <a id="raw-url" class="btn btn-sm BtnGroup-item" href="/johnheap/VAPPER-Galaxy/raw/master/Tryp_V_T.py">Raw</a> | |
| 695 <a class="btn btn-sm js-update-url-with-hash BtnGroup-item" data-hotkey="b" href="/johnheap/VAPPER-Galaxy/blame/master/Tryp_V_T.py">Blame</a> | |
| 696 <a rel="nofollow" class="btn btn-sm BtnGroup-item" href="/johnheap/VAPPER-Galaxy/commits/master/Tryp_V_T.py">History</a> | |
| 697 </div> | |
| 698 | |
| 699 | |
| 700 <div> | |
| 701 | |
| 702 <button type="button" class="btn-octicon disabled tooltipped tooltipped-nw" | |
| 703 aria-label="You must be signed in to make or propose changes"> | |
| 704 <svg class="octicon octicon-pencil" viewBox="0 0 14 16" version="1.1" width="14" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M0 12v3h3l8-8-3-3-8 8zm3 2H1v-2h1v1h1v1zm10.3-9.3L12 6 9 3l1.3-1.3a.996.996 0 0 1 1.41 0l1.59 1.59c.39.39.39 1.02 0 1.41z"/></svg> | |
| 705 </button> | |
| 706 <button type="button" class="btn-octicon btn-octicon-danger disabled tooltipped tooltipped-nw" | |
| 707 aria-label="You must be signed in to make or propose changes"> | |
| 708 <svg class="octicon octicon-trashcan" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M11 2H9c0-.55-.45-1-1-1H5c-.55 0-1 .45-1 1H2c-.55 0-1 .45-1 1v1c0 .55.45 1 1 1v9c0 .55.45 1 1 1h7c.55 0 1-.45 1-1V5c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm-1 12H3V5h1v8h1V5h1v8h1V5h1v8h1V5h1v9zm1-10H2V3h9v1z"/></svg> | |
| 709 </button> | |
| 710 </div> | |
| 711 </div> | |
| 712 </div> | |
| 713 | |
| 714 | |
| 715 | |
| 716 <div itemprop="text" class="Box-body p-0 blob-wrapper data type-python "> | |
| 717 | |
| 718 <table class="highlight tab-size js-file-line-container" data-tab-size="8"> | |
| 719 <tr> | |
| 720 <td id="L1" class="blob-num js-line-number" data-line-number="1"></td> | |
| 721 <td id="LC1" class="blob-code blob-code-inner js-file-line"><span class="pl-s"><span class="pl-pds">"""</span></span></td> | |
| 722 </tr> | |
| 723 <tr> | |
| 724 <td id="L2" class="blob-num js-line-number" data-line-number="2"></td> | |
| 725 <td id="LC2" class="blob-code blob-code-inner js-file-line"><span class="pl-s">* Galaxy Version</span></td> | |
| 726 </tr> | |
| 727 <tr> | |
| 728 <td id="L3" class="blob-num js-line-number" data-line-number="3"></td> | |
| 729 <td id="LC3" class="blob-code blob-code-inner js-file-line"><span class="pl-s"></span></td> | |
| 730 </tr> | |
| 731 <tr> | |
| 732 <td id="L4" class="blob-num js-line-number" data-line-number="4"></td> | |
| 733 <td id="LC4" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> * Copyright 2019 University of Liverpool</span></td> | |
| 734 </tr> | |
| 735 <tr> | |
| 736 <td id="L5" class="blob-num js-line-number" data-line-number="5"></td> | |
| 737 <td id="LC5" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> * Author John Heap, Computational Biology Facility, UoL</span></td> | |
| 738 </tr> | |
| 739 <tr> | |
| 740 <td id="L6" class="blob-num js-line-number" data-line-number="6"></td> | |
| 741 <td id="LC6" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> * Based on original scripts of Sara Silva Silva Pereira, Institute of Infection and Global Health, UoL</span></td> | |
| 742 </tr> | |
| 743 <tr> | |
| 744 <td id="L7" class="blob-num js-line-number" data-line-number="7"></td> | |
| 745 <td id="LC7" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> *</span></td> | |
| 746 </tr> | |
| 747 <tr> | |
| 748 <td id="L8" class="blob-num js-line-number" data-line-number="8"></td> | |
| 749 <td id="LC8" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> * Licensed under the Apache License, Version 2.0 (the "License");</span></td> | |
| 750 </tr> | |
| 751 <tr> | |
| 752 <td id="L9" class="blob-num js-line-number" data-line-number="9"></td> | |
| 753 <td id="LC9" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> * you may not use this file except in compliance with the License.</span></td> | |
| 754 </tr> | |
| 755 <tr> | |
| 756 <td id="L10" class="blob-num js-line-number" data-line-number="10"></td> | |
| 757 <td id="LC10" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> * You may obtain a copy of the License at</span></td> | |
| 758 </tr> | |
| 759 <tr> | |
| 760 <td id="L11" class="blob-num js-line-number" data-line-number="11"></td> | |
| 761 <td id="LC11" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> *</span></td> | |
| 762 </tr> | |
| 763 <tr> | |
| 764 <td id="L12" class="blob-num js-line-number" data-line-number="12"></td> | |
| 765 <td id="LC12" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> * http://www.apache.org/licenses/LICENSE-2.0</span></td> | |
| 766 </tr> | |
| 767 <tr> | |
| 768 <td id="L13" class="blob-num js-line-number" data-line-number="13"></td> | |
| 769 <td id="LC13" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> *</span></td> | |
| 770 </tr> | |
| 771 <tr> | |
| 772 <td id="L14" class="blob-num js-line-number" data-line-number="14"></td> | |
| 773 <td id="LC14" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> * Unless required by applicable law or agreed to in writing, software</span></td> | |
| 774 </tr> | |
| 775 <tr> | |
| 776 <td id="L15" class="blob-num js-line-number" data-line-number="15"></td> | |
| 777 <td id="LC15" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> * distributed under the License is distributed on an "AS IS" BASIS,</span></td> | |
| 778 </tr> | |
| 779 <tr> | |
| 780 <td id="L16" class="blob-num js-line-number" data-line-number="16"></td> | |
| 781 <td id="LC16" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span></td> | |
| 782 </tr> | |
| 783 <tr> | |
| 784 <td id="L17" class="blob-num js-line-number" data-line-number="17"></td> | |
| 785 <td id="LC17" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> * See the License for the specific language governing permissions and</span></td> | |
| 786 </tr> | |
| 787 <tr> | |
| 788 <td id="L18" class="blob-num js-line-number" data-line-number="18"></td> | |
| 789 <td id="LC18" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> * limitations under the License.</span></td> | |
| 790 </tr> | |
| 791 <tr> | |
| 792 <td id="L19" class="blob-num js-line-number" data-line-number="19"></td> | |
| 793 <td id="LC19" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> *</span></td> | |
| 794 </tr> | |
| 795 <tr> | |
| 796 <td id="L20" class="blob-num js-line-number" data-line-number="20"></td> | |
| 797 <td id="LC20" class="blob-code blob-code-inner js-file-line"><span class="pl-s"> <span class="pl-pds">"""</span></span></td> | |
| 798 </tr> | |
| 799 <tr> | |
| 800 <td id="L21" class="blob-num js-line-number" data-line-number="21"></td> | |
| 801 <td id="LC21" class="blob-code blob-code-inner js-file-line"> | |
| 802 </td> | |
| 803 </tr> | |
| 804 <tr> | |
| 805 <td id="L22" class="blob-num js-line-number" data-line-number="22"></td> | |
| 806 <td id="LC22" class="blob-code blob-code-inner js-file-line"> | |
| 807 </td> | |
| 808 </tr> | |
| 809 <tr> | |
| 810 <td id="L23" class="blob-num js-line-number" data-line-number="23"></td> | |
| 811 <td id="LC23" class="blob-code blob-code-inner js-file-line"><span class="pl-k">import</span> subprocess</td> | |
| 812 </tr> | |
| 813 <tr> | |
| 814 <td id="L24" class="blob-num js-line-number" data-line-number="24"></td> | |
| 815 <td id="LC24" class="blob-code blob-code-inner js-file-line"><span class="pl-k">import</span> pandas <span class="pl-k">as</span> pd</td> | |
| 816 </tr> | |
| 817 <tr> | |
| 818 <td id="L25" class="blob-num js-line-number" data-line-number="25"></td> | |
| 819 <td id="LC25" class="blob-code blob-code-inner js-file-line"><span class="pl-k">import</span> re</td> | |
| 820 </tr> | |
| 821 <tr> | |
| 822 <td id="L26" class="blob-num js-line-number" data-line-number="26"></td> | |
| 823 <td id="LC26" class="blob-code blob-code-inner js-file-line"><span class="pl-k">import</span> os</td> | |
| 824 </tr> | |
| 825 <tr> | |
| 826 <td id="L27" class="blob-num js-line-number" data-line-number="27"></td> | |
| 827 <td id="LC27" class="blob-code blob-code-inner js-file-line"><span class="pl-k">import</span> sys</td> | |
| 828 </tr> | |
| 829 <tr> | |
| 830 <td id="L28" class="blob-num js-line-number" data-line-number="28"></td> | |
| 831 <td id="LC28" class="blob-code blob-code-inner js-file-line"><span class="pl-k">import</span> shutil</td> | |
| 832 </tr> | |
| 833 <tr> | |
| 834 <td id="L29" class="blob-num js-line-number" data-line-number="29"></td> | |
| 835 <td id="LC29" class="blob-code blob-code-inner js-file-line"><span class="pl-c"><span class="pl-c">#</span> import matplotlib as mpl</span></td> | |
| 836 </tr> | |
| 837 <tr> | |
| 838 <td id="L30" class="blob-num js-line-number" data-line-number="30"></td> | |
| 839 <td id="LC30" class="blob-code blob-code-inner js-file-line"><span class="pl-c"><span class="pl-c">#</span> mpl.use('Agg')</span></td> | |
| 840 </tr> | |
| 841 <tr> | |
| 842 <td id="L31" class="blob-num js-line-number" data-line-number="31"></td> | |
| 843 <td id="LC31" class="blob-code blob-code-inner js-file-line"><span class="pl-k">import</span> matplotlib.pyplot <span class="pl-k">as</span> plt</td> | |
| 844 </tr> | |
| 845 <tr> | |
| 846 <td id="L32" class="blob-num js-line-number" data-line-number="32"></td> | |
| 847 <td id="LC32" class="blob-code blob-code-inner js-file-line"><span class="pl-k">import</span> numpy <span class="pl-k">as</span> np</td> | |
| 848 </tr> | |
| 849 <tr> | |
| 850 <td id="L33" class="blob-num js-line-number" data-line-number="33"></td> | |
| 851 <td id="LC33" class="blob-code blob-code-inner js-file-line"> | |
| 852 </td> | |
| 853 </tr> | |
| 854 <tr> | |
| 855 <td id="L34" class="blob-num js-line-number" data-line-number="34"></td> | |
| 856 <td id="LC34" class="blob-code blob-code-inner js-file-line"> | |
| 857 </td> | |
| 858 </tr> | |
| 859 <tr> | |
| 860 <td id="L35" class="blob-num js-line-number" data-line-number="35"></td> | |
| 861 <td id="LC35" class="blob-code blob-code-inner js-file-line"> | |
| 862 </td> | |
| 863 </tr> | |
| 864 <tr> | |
| 865 <td id="L36" class="blob-num js-line-number" data-line-number="36"></td> | |
| 866 <td id="LC36" class="blob-code blob-code-inner js-file-line"> | |
| 867 </td> | |
| 868 </tr> | |
| 869 <tr> | |
| 870 <td id="L37" class="blob-num js-line-number" data-line-number="37"></td> | |
| 871 <td id="LC37" class="blob-code blob-code-inner js-file-line"><span class="pl-c"><span class="pl-c">#</span> copies the user provided Fasta file to data/reference/file/file.fasta</span></td> | |
| 872 </tr> | |
| 873 <tr> | |
| 874 <td id="L38" class="blob-num js-line-number" data-line-number="38"></td> | |
| 875 <td id="LC38" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">uploadUserReferenceFastq</span>(<span class="pl-smi">refFastq</span>):</td> | |
| 876 </tr> | |
| 877 <tr> | |
| 878 <td id="L39" class="blob-num js-line-number" data-line-number="39"></td> | |
| 879 <td id="LC39" class="blob-code blob-code-inner js-file-line"> refBase <span class="pl-k">=</span> os.path.basename(refFastq)</td> | |
| 880 </tr> | |
| 881 <tr> | |
| 882 <td id="L40" class="blob-num js-line-number" data-line-number="40"></td> | |
| 883 <td id="LC40" class="blob-code blob-code-inner js-file-line"> ref <span class="pl-k">=</span> os.path.splitext(refBase)[<span class="pl-c1">0</span>] <span class="pl-c"><span class="pl-c">#</span> 'mydata/test.fasta' -> 'test'</span></td> | |
| 884 </tr> | |
| 885 <tr> | |
| 886 <td id="L41" class="blob-num js-line-number" data-line-number="41"></td> | |
| 887 <td id="LC41" class="blob-code blob-code-inner js-file-line"> dir_path <span class="pl-k">=</span> os.path.dirname(os.path.realpath(<span class="pl-c1">__file__</span>)) <span class="pl-c"><span class="pl-c">#</span> directory of this file</span></td> | |
| 888 </tr> | |
| 889 <tr> | |
| 890 <td id="L42" class="blob-num js-line-number" data-line-number="42"></td> | |
| 891 <td id="LC42" class="blob-code blob-code-inner js-file-line"> refDir <span class="pl-k">=</span> dir_path <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span>/data/Reference/<span class="pl-pds">"</span></span> <span class="pl-k">+</span> ref <span class="pl-c"><span class="pl-c">#</span>propose putting file in '/data/reference/ref/</span></td> | |
| 892 </tr> | |
| 893 <tr> | |
| 894 <td id="L43" class="blob-num js-line-number" data-line-number="43"></td> | |
| 895 <td id="LC43" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> <span class="pl-k">not</span> os.path.isdir(refDir): <span class="pl-c"><span class="pl-c">#</span> if directory data/Reference/ref doesn't exist</span></td> | |
| 896 </tr> | |
| 897 <tr> | |
| 898 <td id="L44" class="blob-num js-line-number" data-line-number="44"></td> | |
| 899 <td id="LC44" class="blob-code blob-code-inner js-file-line"> os.mkdir(refDir)</td> | |
| 900 </tr> | |
| 901 <tr> | |
| 902 <td id="L45" class="blob-num js-line-number" data-line-number="45"></td> | |
| 903 <td id="LC45" class="blob-code blob-code-inner js-file-line"> refPath <span class="pl-k">=</span> refDir<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>/<span class="pl-pds">"</span></span></td> | |
| 904 </tr> | |
| 905 <tr> | |
| 906 <td id="L46" class="blob-num js-line-number" data-line-number="46"></td> | |
| 907 <td id="LC46" class="blob-code blob-code-inner js-file-line"> shutil.copy(refFastq, refPath <span class="pl-k">+</span> refBase) <span class="pl-c"><span class="pl-c">#</span>copy reference file into the directory</span></td> | |
| 908 </tr> | |
| 909 <tr> | |
| 910 <td id="L47" class="blob-num js-line-number" data-line-number="47"></td> | |
| 911 <td id="LC47" class="blob-code blob-code-inner js-file-line"> argString <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">"</span>bowtie2-build <span class="pl-pds">"</span></span> <span class="pl-k">+</span> refPath <span class="pl-k">+</span> refBase<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span> <span class="pl-pds">"</span></span><span class="pl-k">+</span>refPath<span class="pl-k">+</span>ref</td> | |
| 912 </tr> | |
| 913 <tr> | |
| 914 <td id="L48" class="blob-num js-line-number" data-line-number="48"></td> | |
| 915 <td id="LC48" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(<span class="pl-s"><span class="pl-pds">"</span>Building the bowtie2 reference files.<span class="pl-pds">"</span></span>)</td> | |
| 916 </tr> | |
| 917 <tr> | |
| 918 <td id="L49" class="blob-num js-line-number" data-line-number="49"></td> | |
| 919 <td id="LC49" class="blob-code blob-code-inner js-file-line"> subprocess.call(argString, <span class="pl-v">shell</span><span class="pl-k">=</span><span class="pl-c1">True</span>)</td> | |
| 920 </tr> | |
| 921 <tr> | |
| 922 <td id="L50" class="blob-num js-line-number" data-line-number="50"></td> | |
| 923 <td id="LC50" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span></td> | |
| 924 </tr> | |
| 925 <tr> | |
| 926 <td id="L51" class="blob-num js-line-number" data-line-number="51"></td> | |
| 927 <td id="LC51" class="blob-code blob-code-inner js-file-line"> | |
| 928 </td> | |
| 929 </tr> | |
| 930 <tr> | |
| 931 <td id="L52" class="blob-num js-line-number" data-line-number="52"></td> | |
| 932 <td id="LC52" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">transcriptMapping</span>(<span class="pl-smi">inputname</span>, <span class="pl-smi">refFastq</span>, <span class="pl-smi">forwardFN</span>, <span class="pl-smi">reverseFN</span>):</td> | |
| 933 </tr> | |
| 934 <tr> | |
| 935 <td id="L53" class="blob-num js-line-number" data-line-number="53"></td> | |
| 936 <td id="LC53" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> where is our Reference data?</span></td> | |
| 937 </tr> | |
| 938 <tr> | |
| 939 <td id="L54" class="blob-num js-line-number" data-line-number="54"></td> | |
| 940 <td id="LC54" class="blob-code blob-code-inner js-file-line"> refBase <span class="pl-k">=</span> os.path.basename(refFastq)</td> | |
| 941 </tr> | |
| 942 <tr> | |
| 943 <td id="L55" class="blob-num js-line-number" data-line-number="55"></td> | |
| 944 <td id="LC55" class="blob-code blob-code-inner js-file-line"> ref <span class="pl-k">=</span> os.path.splitext(refBase)[<span class="pl-c1">0</span>]</td> | |
| 945 </tr> | |
| 946 <tr> | |
| 947 <td id="L56" class="blob-num js-line-number" data-line-number="56"></td> | |
| 948 <td id="LC56" class="blob-code blob-code-inner js-file-line"> dir_path <span class="pl-k">=</span> os.path.dirname(os.path.realpath(<span class="pl-c1">__file__</span>))</td> | |
| 949 </tr> | |
| 950 <tr> | |
| 951 <td id="L57" class="blob-num js-line-number" data-line-number="57"></td> | |
| 952 <td id="LC57" class="blob-code blob-code-inner js-file-line"> refDir <span class="pl-k">=</span> dir_path <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span>/data/Reference/<span class="pl-pds">"</span></span> <span class="pl-k">+</span> ref <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span>/<span class="pl-pds">"</span></span></td> | |
| 953 </tr> | |
| 954 <tr> | |
| 955 <td id="L58" class="blob-num js-line-number" data-line-number="58"></td> | |
| 956 <td id="LC58" class="blob-code blob-code-inner js-file-line"> refName <span class="pl-k">=</span> refDir <span class="pl-k">+</span> ref</td> | |
| 957 </tr> | |
| 958 <tr> | |
| 959 <td id="L59" class="blob-num js-line-number" data-line-number="59"></td> | |
| 960 <td id="LC59" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> now have reference file so we can proceed with the transcript mapping via bowtie2</span></td> | |
| 961 </tr> | |
| 962 <tr> | |
| 963 <td id="L60" class="blob-num js-line-number" data-line-number="60"></td> | |
| 964 <td id="LC60" class="blob-code blob-code-inner js-file-line"> argString <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">"</span>bowtie2 -x <span class="pl-pds">"</span></span><span class="pl-k">+</span>refName<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span> -1 <span class="pl-pds">"</span></span><span class="pl-k">+</span>forwardFN<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span> -2 <span class="pl-pds">"</span></span><span class="pl-k">+</span>reverseFN<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span> -S <span class="pl-pds">"</span></span><span class="pl-k">+</span>inputname<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>.sam<span class="pl-pds">"</span></span></td> | |
| 965 </tr> | |
| 966 <tr> | |
| 967 <td id="L61" class="blob-num js-line-number" data-line-number="61"></td> | |
| 968 <td id="LC61" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(argString)</td> | |
| 969 </tr> | |
| 970 <tr> | |
| 971 <td id="L62" class="blob-num js-line-number" data-line-number="62"></td> | |
| 972 <td id="LC62" class="blob-code blob-code-inner js-file-line"> subprocess.call(argString, <span class="pl-v">shell</span><span class="pl-k">=</span><span class="pl-c1">True</span>) <span class="pl-c"><span class="pl-c">#</span>outputs a name.sam file</span></td> | |
| 973 </tr> | |
| 974 <tr> | |
| 975 <td id="L63" class="blob-num js-line-number" data-line-number="63"></td> | |
| 976 <td id="LC63" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span></td> | |
| 977 </tr> | |
| 978 <tr> | |
| 979 <td id="L64" class="blob-num js-line-number" data-line-number="64"></td> | |
| 980 <td id="LC64" class="blob-code blob-code-inner js-file-line"> | |
| 981 </td> | |
| 982 </tr> | |
| 983 <tr> | |
| 984 <td id="L65" class="blob-num js-line-number" data-line-number="65"></td> | |
| 985 <td id="LC65" class="blob-code blob-code-inner js-file-line"> | |
| 986 </td> | |
| 987 </tr> | |
| 988 <tr> | |
| 989 <td id="L66" class="blob-num js-line-number" data-line-number="66"></td> | |
| 990 <td id="LC66" class="blob-code blob-code-inner js-file-line"> | |
| 991 </td> | |
| 992 </tr> | |
| 993 <tr> | |
| 994 <td id="L67" class="blob-num js-line-number" data-line-number="67"></td> | |
| 995 <td id="LC67" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">processSamFiles</span>(<span class="pl-smi">inputname</span>):</td> | |
| 996 </tr> | |
| 997 <tr> | |
| 998 <td id="L68" class="blob-num js-line-number" data-line-number="68"></td> | |
| 999 <td id="LC68" class="blob-code blob-code-inner js-file-line"> cur_path <span class="pl-k">=</span> os.getcwd()</td> | |
| 1000 </tr> | |
| 1001 <tr> | |
| 1002 <td id="L69" class="blob-num js-line-number" data-line-number="69"></td> | |
| 1003 <td id="LC69" class="blob-code blob-code-inner js-file-line"> samName <span class="pl-k">=</span> cur_path<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>/<span class="pl-pds">"</span></span><span class="pl-k">+</span>inputname</td> | |
| 1004 </tr> | |
| 1005 <tr> | |
| 1006 <td id="L70" class="blob-num js-line-number" data-line-number="70"></td> | |
| 1007 <td id="LC70" class="blob-code blob-code-inner js-file-line"> argString <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">"</span>samtools view -bS <span class="pl-pds">"</span></span><span class="pl-k">+</span>inputname<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>.sam > <span class="pl-pds">"</span></span><span class="pl-k">+</span>samName<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>.bam<span class="pl-pds">"</span></span></td> | |
| 1008 </tr> | |
| 1009 <tr> | |
| 1010 <td id="L71" class="blob-num js-line-number" data-line-number="71"></td> | |
| 1011 <td id="LC71" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(argString)</td> | |
| 1012 </tr> | |
| 1013 <tr> | |
| 1014 <td id="L72" class="blob-num js-line-number" data-line-number="72"></td> | |
| 1015 <td id="LC72" class="blob-code blob-code-inner js-file-line"> subprocess.call(argString, <span class="pl-v">shell</span><span class="pl-k">=</span><span class="pl-c1">True</span>)</td> | |
| 1016 </tr> | |
| 1017 <tr> | |
| 1018 <td id="L73" class="blob-num js-line-number" data-line-number="73"></td> | |
| 1019 <td id="LC73" class="blob-code blob-code-inner js-file-line"> | |
| 1020 </td> | |
| 1021 </tr> | |
| 1022 <tr> | |
| 1023 <td id="L74" class="blob-num js-line-number" data-line-number="74"></td> | |
| 1024 <td id="LC74" class="blob-code blob-code-inner js-file-line"> argString <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">"</span>samtools sort <span class="pl-pds">"</span></span><span class="pl-k">+</span>samName<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>.bam -o <span class="pl-pds">"</span></span><span class="pl-k">+</span>samName<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>.sorted<span class="pl-pds">"</span></span></td> | |
| 1025 </tr> | |
| 1026 <tr> | |
| 1027 <td id="L75" class="blob-num js-line-number" data-line-number="75"></td> | |
| 1028 <td id="LC75" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(<span class="pl-s"><span class="pl-pds">"</span>argstring = <span class="pl-pds">"</span></span><span class="pl-k">+</span>argString)</td> | |
| 1029 </tr> | |
| 1030 <tr> | |
| 1031 <td id="L76" class="blob-num js-line-number" data-line-number="76"></td> | |
| 1032 <td id="LC76" class="blob-code blob-code-inner js-file-line"> subprocess.call(argString, <span class="pl-v">shell</span><span class="pl-k">=</span><span class="pl-c1">True</span>)</td> | |
| 1033 </tr> | |
| 1034 <tr> | |
| 1035 <td id="L77" class="blob-num js-line-number" data-line-number="77"></td> | |
| 1036 <td id="LC77" class="blob-code blob-code-inner js-file-line"> | |
| 1037 </td> | |
| 1038 </tr> | |
| 1039 <tr> | |
| 1040 <td id="L78" class="blob-num js-line-number" data-line-number="78"></td> | |
| 1041 <td id="LC78" class="blob-code blob-code-inner js-file-line"> argString <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">"</span>samtools index <span class="pl-pds">"</span></span><span class="pl-k">+</span>samName<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>.sorted <span class="pl-pds">"</span></span><span class="pl-k">+</span>samName<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>.sorted.bai<span class="pl-pds">"</span></span></td> | |
| 1042 </tr> | |
| 1043 <tr> | |
| 1044 <td id="L79" class="blob-num js-line-number" data-line-number="79"></td> | |
| 1045 <td id="LC79" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(<span class="pl-s"><span class="pl-pds">"</span>argstring = <span class="pl-pds">"</span></span> <span class="pl-k">+</span> argString)</td> | |
| 1046 </tr> | |
| 1047 <tr> | |
| 1048 <td id="L80" class="blob-num js-line-number" data-line-number="80"></td> | |
| 1049 <td id="LC80" class="blob-code blob-code-inner js-file-line"> subprocess.call(argString, <span class="pl-v">shell</span><span class="pl-k">=</span><span class="pl-c1">True</span>)</td> | |
| 1050 </tr> | |
| 1051 <tr> | |
| 1052 <td id="L81" class="blob-num js-line-number" data-line-number="81"></td> | |
| 1053 <td id="LC81" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> <span class="pl-c"><span class="pl-c">#</span>we have saved out the relevent name.bam, name.sorted and name.sorted.bai files</span></td> | |
| 1054 </tr> | |
| 1055 <tr> | |
| 1056 <td id="L82" class="blob-num js-line-number" data-line-number="82"></td> | |
| 1057 <td id="LC82" class="blob-code blob-code-inner js-file-line"> | |
| 1058 </td> | |
| 1059 </tr> | |
| 1060 <tr> | |
| 1061 <td id="L83" class="blob-num js-line-number" data-line-number="83"></td> | |
| 1062 <td id="LC83" class="blob-code blob-code-inner js-file-line"><span class="pl-c"><span class="pl-c">#</span> we will not have the .gtf file so call cufflinks without -G option</span></td> | |
| 1063 </tr> | |
| 1064 <tr> | |
| 1065 <td id="L84" class="blob-num js-line-number" data-line-number="84"></td> | |
| 1066 <td id="LC84" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">transcriptAbundance</span>(<span class="pl-smi">inputname</span>):</td> | |
| 1067 </tr> | |
| 1068 <tr> | |
| 1069 <td id="L85" class="blob-num js-line-number" data-line-number="85"></td> | |
| 1070 <td id="LC85" class="blob-code blob-code-inner js-file-line"> argString <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">"</span>cufflinks -o <span class="pl-pds">"</span></span><span class="pl-k">+</span>inputname<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>.cuff -u -p 8 <span class="pl-pds">"</span></span><span class="pl-k">+</span>inputname<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>.sorted<span class="pl-pds">"</span></span></td> | |
| 1071 </tr> | |
| 1072 <tr> | |
| 1073 <td id="L86" class="blob-num js-line-number" data-line-number="86"></td> | |
| 1074 <td id="LC86" class="blob-code blob-code-inner js-file-line"> subprocess.call(argString, <span class="pl-v">shell</span> <span class="pl-k">=</span> <span class="pl-c1">True</span>)</td> | |
| 1075 </tr> | |
| 1076 <tr> | |
| 1077 <td id="L87" class="blob-num js-line-number" data-line-number="87"></td> | |
| 1078 <td id="LC87" class="blob-code blob-code-inner js-file-line"> os.remove(inputname<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>.sorted<span class="pl-pds">"</span></span>) <span class="pl-c"><span class="pl-c">#</span>remove name.sorted</span></td> | |
| 1079 </tr> | |
| 1080 <tr> | |
| 1081 <td id="L88" class="blob-num js-line-number" data-line-number="88"></td> | |
| 1082 <td id="LC88" class="blob-code blob-code-inner js-file-line"> os.remove(inputname<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>.sorted.bai<span class="pl-pds">"</span></span>)</td> | |
| 1083 </tr> | |
| 1084 <tr> | |
| 1085 <td id="L89" class="blob-num js-line-number" data-line-number="89"></td> | |
| 1086 <td id="LC89" class="blob-code blob-code-inner js-file-line"> os.remove(inputname<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>.bam<span class="pl-pds">"</span></span>)</td> | |
| 1087 </tr> | |
| 1088 <tr> | |
| 1089 <td id="L90" class="blob-num js-line-number" data-line-number="90"></td> | |
| 1090 <td id="LC90" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span></td> | |
| 1091 </tr> | |
| 1092 <tr> | |
| 1093 <td id="L91" class="blob-num js-line-number" data-line-number="91"></td> | |
| 1094 <td id="LC91" class="blob-code blob-code-inner js-file-line"> | |
| 1095 </td> | |
| 1096 </tr> | |
| 1097 <tr> | |
| 1098 <td id="L92" class="blob-num js-line-number" data-line-number="92"></td> | |
| 1099 <td id="LC92" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">transcriptsForBlast</span>(<span class="pl-smi">name</span>, <span class="pl-smi">refFastq</span>):</td> | |
| 1100 </tr> | |
| 1101 <tr> | |
| 1102 <td id="L93" class="blob-num js-line-number" data-line-number="93"></td> | |
| 1103 <td id="LC93" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> quick and dirty just to see.</span></td> | |
| 1104 </tr> | |
| 1105 <tr> | |
| 1106 <td id="L94" class="blob-num js-line-number" data-line-number="94"></td> | |
| 1107 <td id="LC94" class="blob-code blob-code-inner js-file-line"> refBase <span class="pl-k">=</span> os.path.basename(refFastq)</td> | |
| 1108 </tr> | |
| 1109 <tr> | |
| 1110 <td id="L95" class="blob-num js-line-number" data-line-number="95"></td> | |
| 1111 <td id="LC95" class="blob-code blob-code-inner js-file-line"> ref <span class="pl-k">=</span> os.path.splitext(refBase)[<span class="pl-c1">0</span>] <span class="pl-c"><span class="pl-c">#</span> 'mydata/test.fasta' -> 'test'</span></td> | |
| 1112 </tr> | |
| 1113 <tr> | |
| 1114 <td id="L96" class="blob-num js-line-number" data-line-number="96"></td> | |
| 1115 <td id="LC96" class="blob-code blob-code-inner js-file-line"> dir_path <span class="pl-k">=</span> os.path.dirname(os.path.realpath(<span class="pl-c1">__file__</span>)) <span class="pl-c"><span class="pl-c">#</span> directory of this file</span></td> | |
| 1116 </tr> | |
| 1117 <tr> | |
| 1118 <td id="L97" class="blob-num js-line-number" data-line-number="97"></td> | |
| 1119 <td id="LC97" class="blob-code blob-code-inner js-file-line"> refPath <span class="pl-k">=</span> dir_path <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span>/data/Reference/<span class="pl-pds">"</span></span> <span class="pl-k">+</span> ref <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span>/<span class="pl-pds">"</span></span> <span class="pl-k">+</span> refBase <span class="pl-c"><span class="pl-c">#</span> eg refPath = data/Reference/Trinity/Trinity.fasta</span></td> | |
| 1120 </tr> | |
| 1121 <tr> | |
| 1122 <td id="L98" class="blob-num js-line-number" data-line-number="98"></td> | |
| 1123 <td id="LC98" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> used for dirty # refPath = 'Trinity.fasta' # dirty one</span></td> | |
| 1124 </tr> | |
| 1125 <tr> | |
| 1126 <td id="L99" class="blob-num js-line-number" data-line-number="99"></td> | |
| 1127 <td id="LC99" class="blob-code blob-code-inner js-file-line"> track_df <span class="pl-k">=</span> pd.read_csv(name<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">'</span>.cuff/genes.fpkm_tracking<span class="pl-pds">'</span></span>, <span class="pl-v">sep</span><span class="pl-k">=</span><span class="pl-s"><span class="pl-pds">'</span><span class="pl-cce">\t</span><span class="pl-pds">'</span></span>)</td> | |
| 1128 </tr> | |
| 1129 <tr> | |
| 1130 <td id="L100" class="blob-num js-line-number" data-line-number="100"></td> | |
| 1131 <td id="LC100" class="blob-code blob-code-inner js-file-line"> names <span class="pl-k">=</span> track_df[<span class="pl-s"><span class="pl-pds">'</span>locus<span class="pl-pds">'</span></span>]</td> | |
| 1132 </tr> | |
| 1133 <tr> | |
| 1134 <td id="L101" class="blob-num js-line-number" data-line-number="101"></td> | |
| 1135 <td id="LC101" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> print(len(names))</span></td> | |
| 1136 </tr> | |
| 1137 <tr> | |
| 1138 <td id="L102" class="blob-num js-line-number" data-line-number="102"></td> | |
| 1139 <td id="LC102" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> print(names[:5])</span></td> | |
| 1140 </tr> | |
| 1141 <tr> | |
| 1142 <td id="L103" class="blob-num js-line-number" data-line-number="103"></td> | |
| 1143 <td id="LC103" class="blob-code blob-code-inner js-file-line"> | |
| 1144 </td> | |
| 1145 </tr> | |
| 1146 <tr> | |
| 1147 <td id="L104" class="blob-num js-line-number" data-line-number="104"></td> | |
| 1148 <td id="LC104" class="blob-code blob-code-inner js-file-line"> nlist <span class="pl-k">=</span> []</td> | |
| 1149 </tr> | |
| 1150 <tr> | |
| 1151 <td id="L105" class="blob-num js-line-number" data-line-number="105"></td> | |
| 1152 <td id="LC105" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> n <span class="pl-k">in</span> <span class="pl-c1">range</span>(<span class="pl-c1">0</span>,<span class="pl-c1">len</span>(names)):</td> | |
| 1153 </tr> | |
| 1154 <tr> | |
| 1155 <td id="L106" class="blob-num js-line-number" data-line-number="106"></td> | |
| 1156 <td id="LC106" class="blob-code blob-code-inner js-file-line"> i <span class="pl-k">=</span> names[n].find(<span class="pl-s"><span class="pl-pds">'</span>:<span class="pl-pds">'</span></span>)</td> | |
| 1157 </tr> | |
| 1158 <tr> | |
| 1159 <td id="L107" class="blob-num js-line-number" data-line-number="107"></td> | |
| 1160 <td id="LC107" class="blob-code blob-code-inner js-file-line"> nlist.append(names[n][:i])</td> | |
| 1161 </tr> | |
| 1162 <tr> | |
| 1163 <td id="L108" class="blob-num js-line-number" data-line-number="108"></td> | |
| 1164 <td id="LC108" class="blob-code blob-code-inner js-file-line"> nameset <span class="pl-k">=</span> <span class="pl-c1">set</span>(nlist) <span class="pl-c"><span class="pl-c">#</span>get unique.</span></td> | |
| 1165 </tr> | |
| 1166 <tr> | |
| 1167 <td id="L109" class="blob-num js-line-number" data-line-number="109"></td> | |
| 1168 <td id="LC109" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">with</span> <span class="pl-c1">open</span>(refPath, <span class="pl-s"><span class="pl-pds">'</span>r<span class="pl-pds">'</span></span>) <span class="pl-k">as</span> myRef:</td> | |
| 1169 </tr> | |
| 1170 <tr> | |
| 1171 <td id="L110" class="blob-num js-line-number" data-line-number="110"></td> | |
| 1172 <td id="LC110" class="blob-code blob-code-inner js-file-line"> refData <span class="pl-k">=</span> myRef.read()</td> | |
| 1173 </tr> | |
| 1174 <tr> | |
| 1175 <td id="L111" class="blob-num js-line-number" data-line-number="111"></td> | |
| 1176 <td id="LC111" class="blob-code blob-code-inner js-file-line"> refData<span class="pl-k">=</span> refData<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">'</span><span class="pl-cce">\n</span>><span class="pl-pds">'</span></span></td> | |
| 1177 </tr> | |
| 1178 <tr> | |
| 1179 <td id="L112" class="blob-num js-line-number" data-line-number="112"></td> | |
| 1180 <td id="LC112" class="blob-code blob-code-inner js-file-line"> | |
| 1181 </td> | |
| 1182 </tr> | |
| 1183 <tr> | |
| 1184 <td id="L113" class="blob-num js-line-number" data-line-number="113"></td> | |
| 1185 <td id="LC113" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">with</span> <span class="pl-c1">open</span>(name <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">'</span>_for_blast.fa<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>w<span class="pl-pds">'</span></span>) <span class="pl-k">as</span> outfile:</td> | |
| 1186 </tr> | |
| 1187 <tr> | |
| 1188 <td id="L114" class="blob-num js-line-number" data-line-number="114"></td> | |
| 1189 <td id="LC114" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> trans_id <span class="pl-k">in</span> nameset:</td> | |
| 1190 </tr> | |
| 1191 <tr> | |
| 1192 <td id="L115" class="blob-num js-line-number" data-line-number="115"></td> | |
| 1193 <td id="LC115" class="blob-code blob-code-inner js-file-line"> namepos <span class="pl-k">=</span> refData.find(trans_id)</td> | |
| 1194 </tr> | |
| 1195 <tr> | |
| 1196 <td id="L116" class="blob-num js-line-number" data-line-number="116"></td> | |
| 1197 <td id="LC116" class="blob-code blob-code-inner js-file-line"> endpos <span class="pl-k">=</span> refData.find(<span class="pl-s"><span class="pl-pds">'</span>><span class="pl-pds">'</span></span>, namepos)</td> | |
| 1198 </tr> | |
| 1199 <tr> | |
| 1200 <td id="L117" class="blob-num js-line-number" data-line-number="117"></td> | |
| 1201 <td id="LC117" class="blob-code blob-code-inner js-file-line"> outfile.write(<span class="pl-s"><span class="pl-pds">'</span>><span class="pl-pds">'</span></span><span class="pl-k">+</span>refData[namepos:endpos])</td> | |
| 1202 </tr> | |
| 1203 <tr> | |
| 1204 <td id="L118" class="blob-num js-line-number" data-line-number="118"></td> | |
| 1205 <td id="LC118" class="blob-code blob-code-inner js-file-line"> | |
| 1206 </td> | |
| 1207 </tr> | |
| 1208 <tr> | |
| 1209 <td id="L119" class="blob-num js-line-number" data-line-number="119"></td> | |
| 1210 <td id="LC119" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">pass</span></td> | |
| 1211 </tr> | |
| 1212 <tr> | |
| 1213 <td id="L120" class="blob-num js-line-number" data-line-number="120"></td> | |
| 1214 <td id="LC120" class="blob-code blob-code-inner js-file-line"> | |
| 1215 </td> | |
| 1216 </tr> | |
| 1217 <tr> | |
| 1218 <td id="L121" class="blob-num js-line-number" data-line-number="121"></td> | |
| 1219 <td id="LC121" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">blastContigs</span>(<span class="pl-smi">test_name</span>,<span class="pl-smi">html_resource</span>, <span class="pl-smi">database</span>):</td> | |
| 1220 </tr> | |
| 1221 <tr> | |
| 1222 <td id="L122" class="blob-num js-line-number" data-line-number="122"></td> | |
| 1223 <td id="LC122" class="blob-code blob-code-inner js-file-line"> db_path <span class="pl-k">=</span> database</td> | |
| 1224 </tr> | |
| 1225 <tr> | |
| 1226 <td id="L123" class="blob-num js-line-number" data-line-number="123"></td> | |
| 1227 <td id="LC123" class="blob-code blob-code-inner js-file-line"> argString <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">"</span>blastx -db <span class="pl-pds">"</span></span><span class="pl-k">+</span>db_path<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span> -query <span class="pl-pds">"</span></span><span class="pl-k">+</span>test_name<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>_for_blast.fa -outfmt 10 -out <span class="pl-pds">"</span></span><span class="pl-k">+</span>test_name<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>_blast.txt<span class="pl-pds">"</span></span></td> | |
| 1228 </tr> | |
| 1229 <tr> | |
| 1230 <td id="L124" class="blob-num js-line-number" data-line-number="124"></td> | |
| 1231 <td id="LC124" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(argString)</td> | |
| 1232 </tr> | |
| 1233 <tr> | |
| 1234 <td id="L125" class="blob-num js-line-number" data-line-number="125"></td> | |
| 1235 <td id="LC125" class="blob-code blob-code-inner js-file-line"> returncode <span class="pl-k">=</span> subprocess.call(argString, <span class="pl-v">shell</span><span class="pl-k">=</span><span class="pl-c1">True</span>)</td> | |
| 1236 </tr> | |
| 1237 <tr> | |
| 1238 <td id="L126" class="blob-num js-line-number" data-line-number="126"></td> | |
| 1239 <td id="LC126" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> returncode <span class="pl-k">!=</span> <span class="pl-c1">0</span>:</td> | |
| 1240 </tr> | |
| 1241 <tr> | |
| 1242 <td id="L127" class="blob-num js-line-number" data-line-number="127"></td> | |
| 1243 <td id="LC127" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> <span class="pl-s"><span class="pl-pds">"</span>Error in blastall<span class="pl-pds">"</span></span></td> | |
| 1244 </tr> | |
| 1245 <tr> | |
| 1246 <td id="L128" class="blob-num js-line-number" data-line-number="128"></td> | |
| 1247 <td id="LC128" class="blob-code blob-code-inner js-file-line"> blast_df <span class="pl-k">=</span> pd.read_csv(<span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span><span class="pl-k">+</span>test_name<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>_blast.txt<span class="pl-pds">"</span></span>)</td> | |
| 1248 </tr> | |
| 1249 <tr> | |
| 1250 <td id="L129" class="blob-num js-line-number" data-line-number="129"></td> | |
| 1251 <td id="LC129" class="blob-code blob-code-inner js-file-line"> blast_df.columns <span class="pl-k">=</span> [<span class="pl-s"><span class="pl-pds">'</span>qaccver<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>saccver<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>pident<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>length<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>mismatch<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>gapopen<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>qstart<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>qend<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>sstart<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>send<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>evalue<span class="pl-pds">'</span></span>,<span class="pl-s"><span class="pl-pds">'</span>bitscore<span class="pl-pds">'</span></span>]</td> | |
| 1252 </tr> | |
| 1253 <tr> | |
| 1254 <td id="L130" class="blob-num js-line-number" data-line-number="130"></td> | |
| 1255 <td id="LC130" class="blob-code blob-code-inner js-file-line"> blastResult_df <span class="pl-k">=</span> blast_df[(blast_df[<span class="pl-s"><span class="pl-pds">'</span>pident<span class="pl-pds">'</span></span>]<span class="pl-k">>=</span><span class="pl-c1">70</span>) <span class="pl-k">&</span> (blast_df[<span class="pl-s"><span class="pl-pds">'</span>length<span class="pl-pds">'</span></span>] <span class="pl-k">></span> <span class="pl-c1">100</span>) <span class="pl-k">&</span> (blast_df[<span class="pl-s"><span class="pl-pds">'</span>evalue<span class="pl-pds">'</span></span>] <span class="pl-k"><=</span><span class="pl-c1">0.001</span>) ]</td> | |
| 1256 </tr> | |
| 1257 <tr> | |
| 1258 <td id="L131" class="blob-num js-line-number" data-line-number="131"></td> | |
| 1259 <td id="LC131" class="blob-code blob-code-inner js-file-line"> blastResult_df <span class="pl-k">=</span> blastResult_df[[<span class="pl-s"><span class="pl-pds">'</span>qaccver<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>saccver<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>pident<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>evalue<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>bitscore<span class="pl-pds">'</span></span>]] <span class="pl-c"><span class="pl-c">#</span>query accession.version, subject accession.version, Percentage of identical matches</span></td> | |
| 1260 </tr> | |
| 1261 <tr> | |
| 1262 <td id="L132" class="blob-num js-line-number" data-line-number="132"></td> | |
| 1263 <td id="LC132" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> need to allocate the transcripts (if allocated more than once to the phylotype with least error.</span></td> | |
| 1264 </tr> | |
| 1265 <tr> | |
| 1266 <td id="L133" class="blob-num js-line-number" data-line-number="133"></td> | |
| 1267 <td id="LC133" class="blob-code blob-code-inner js-file-line"> transcripts <span class="pl-k">=</span> blastResult_df[<span class="pl-s"><span class="pl-pds">'</span>qaccver<span class="pl-pds">'</span></span>]</td> | |
| 1268 </tr> | |
| 1269 <tr> | |
| 1270 <td id="L134" class="blob-num js-line-number" data-line-number="134"></td> | |
| 1271 <td id="LC134" class="blob-code blob-code-inner js-file-line"> b_df <span class="pl-k">=</span> pd.DataFrame(<span class="pl-v">columns</span><span class="pl-k">=</span>[<span class="pl-s"><span class="pl-pds">'</span>qaccver<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>saccver<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>pident<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>evalue<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>bitscore<span class="pl-pds">'</span></span>])</td> | |
| 1272 </tr> | |
| 1273 <tr> | |
| 1274 <td id="L135" class="blob-num js-line-number" data-line-number="135"></td> | |
| 1275 <td id="LC135" class="blob-code blob-code-inner js-file-line"> transSet <span class="pl-k">=</span> <span class="pl-c1">set</span>(transcripts)</td> | |
| 1276 </tr> | |
| 1277 <tr> | |
| 1278 <td id="L136" class="blob-num js-line-number" data-line-number="136"></td> | |
| 1279 <td id="LC136" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> t <span class="pl-k">in</span> transSet:</td> | |
| 1280 </tr> | |
| 1281 <tr> | |
| 1282 <td id="L137" class="blob-num js-line-number" data-line-number="137"></td> | |
| 1283 <td id="LC137" class="blob-code blob-code-inner js-file-line"> temp_df <span class="pl-k">=</span> blastResult_df[(blastResult_df[<span class="pl-s"><span class="pl-pds">'</span>qaccver<span class="pl-pds">'</span></span>] <span class="pl-k">==</span> t)]</td> | |
| 1284 </tr> | |
| 1285 <tr> | |
| 1286 <td id="L138" class="blob-num js-line-number" data-line-number="138"></td> | |
| 1287 <td id="LC138" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> get one with smallest error value</span></td> | |
| 1288 </tr> | |
| 1289 <tr> | |
| 1290 <td id="L139" class="blob-num js-line-number" data-line-number="139"></td> | |
| 1291 <td id="LC139" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>print(t + ":")</span></td> | |
| 1292 </tr> | |
| 1293 <tr> | |
| 1294 <td id="L140" class="blob-num js-line-number" data-line-number="140"></td> | |
| 1295 <td id="LC140" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>print(temp_df)</span></td> | |
| 1296 </tr> | |
| 1297 <tr> | |
| 1298 <td id="L141" class="blob-num js-line-number" data-line-number="141"></td> | |
| 1299 <td id="LC141" class="blob-code blob-code-inner js-file-line"> temp_df <span class="pl-k">=</span> temp_df.sort_values(<span class="pl-v">by</span><span class="pl-k">=</span>[<span class="pl-s"><span class="pl-pds">'</span>evalue<span class="pl-pds">'</span></span>])</td> | |
| 1300 </tr> | |
| 1301 <tr> | |
| 1302 <td id="L142" class="blob-num js-line-number" data-line-number="142"></td> | |
| 1303 <td id="LC142" class="blob-code blob-code-inner js-file-line"> b_df <span class="pl-k">=</span> b_df.append(temp_df.iloc[[<span class="pl-c1">0</span>]])</td> | |
| 1304 </tr> | |
| 1305 <tr> | |
| 1306 <td id="L143" class="blob-num js-line-number" data-line-number="143"></td> | |
| 1307 <td id="LC143" class="blob-code blob-code-inner js-file-line"> | |
| 1308 </td> | |
| 1309 </tr> | |
| 1310 <tr> | |
| 1311 <td id="L144" class="blob-num js-line-number" data-line-number="144"></td> | |
| 1312 <td id="LC144" class="blob-code blob-code-inner js-file-line"> b_df.sort_values(<span class="pl-v">by</span><span class="pl-k">=</span>[<span class="pl-s"><span class="pl-pds">'</span>qaccver<span class="pl-pds">'</span></span>])</td> | |
| 1313 </tr> | |
| 1314 <tr> | |
| 1315 <td id="L145" class="blob-num js-line-number" data-line-number="145"></td> | |
| 1316 <td id="LC145" class="blob-code blob-code-inner js-file-line"> b_df.to_csv(test_name <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">'</span>_transcript.csv<span class="pl-pds">'</span></span>)</td> | |
| 1317 </tr> | |
| 1318 <tr> | |
| 1319 <td id="L146" class="blob-num js-line-number" data-line-number="146"></td> | |
| 1320 <td id="LC146" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> b_df</td> | |
| 1321 </tr> | |
| 1322 <tr> | |
| 1323 <td id="L147" class="blob-num js-line-number" data-line-number="147"></td> | |
| 1324 <td id="LC147" class="blob-code blob-code-inner js-file-line"> | |
| 1325 </td> | |
| 1326 </tr> | |
| 1327 <tr> | |
| 1328 <td id="L148" class="blob-num js-line-number" data-line-number="148"></td> | |
| 1329 <td id="LC148" class="blob-code blob-code-inner js-file-line"> | |
| 1330 </td> | |
| 1331 </tr> | |
| 1332 <tr> | |
| 1333 <td id="L149" class="blob-num js-line-number" data-line-number="149"></td> | |
| 1334 <td id="LC149" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">createMultiHTML</span>(<span class="pl-smi">tdict</span>,<span class="pl-smi">composite_df</span>):</td> | |
| 1335 </tr> | |
| 1336 <tr> | |
| 1337 <td id="L150" class="blob-num js-line-number" data-line-number="150"></td> | |
| 1338 <td id="LC150" class="blob-code blob-code-inner js-file-line"> labelList <span class="pl-k">=</span> composite_df.columns.tolist()</td> | |
| 1339 </tr> | |
| 1340 <tr> | |
| 1341 <td id="L151" class="blob-num js-line-number" data-line-number="151"></td> | |
| 1342 <td id="LC151" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">=</span> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span><html><title>T<span class="pl-c1">.</span>vivax VAP <span class="pl-c1">(</span>Transcriptomic Pathway<span class="pl-c1">(</span></title><body><div style='text-align:center'><h2><i>Trypanosoma vivax</i> Variant Antigen Profile</h2><h3><span class="pl-pds">"</span></span></td> | |
| 1343 </tr> | |
| 1344 <tr> | |
| 1345 <td id="L152" class="blob-num js-line-number" data-line-number="152"></td> | |
| 1346 <td id="LC152" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span>Sample name: <span class="pl-pds">"</span></span><span class="pl-k">+</span>tdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]</td> | |
| 1347 </tr> | |
| 1348 <tr> | |
| 1349 <td id="L153" class="blob-num js-line-number" data-line-number="153"></td> | |
| 1350 <td id="LC153" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span><br>Transcriptomic Analysis</h3></p><span class="pl-pds">"</span></span></td> | |
| 1351 </tr> | |
| 1352 <tr> | |
| 1353 <td id="L154" class="blob-num js-line-number" data-line-number="154"></td> | |
| 1354 <td id="LC154" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> <span class="pl-s"><span class="pl-pds">"</span><p style = 'margin-left:20%; margin-right:20%'>Legend: <span class="pl-pds">"</span></span> \</td> | |
| 1355 </tr> | |
| 1356 <tr> | |
| 1357 <td id="L155" class="blob-num js-line-number" data-line-number="155"></td> | |
| 1358 <td id="LC155" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>Variant Antigen Profile of a <i>Trypanosoma vivax</i> transcriptomes. <span class="pl-pds">"</span></span> \</td> | |
| 1359 </tr> | |
| 1360 <tr> | |
| 1361 <td id="L156" class="blob-num js-line-number" data-line-number="156"></td> | |
| 1362 <td id="LC156" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>Weighted Frequency reflects Phylotype abundance and is expressed as <span class="pl-pds">"</span></span> \</td> | |
| 1363 </tr> | |
| 1364 <tr> | |
| 1365 <td id="L157" class="blob-num js-line-number" data-line-number="157"></td> | |
| 1366 <td id="LC157" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>phylotype frequencies adjusted for the combined transcript abundance. <span class="pl-pds">"</span></span> \</td> | |
| 1367 </tr> | |
| 1368 <tr> | |
| 1369 <td id="L158" class="blob-num js-line-number" data-line-number="158"></td> | |
| 1370 <td id="LC158" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>Data was produced with VAPPER-Variant Antigen Profiler <span class="pl-pds">"</span></span> \</td> | |
| 1371 </tr> | |
| 1372 <tr> | |
| 1373 <td id="L159" class="blob-num js-line-number" data-line-number="159"></td> | |
| 1374 <td id="LC159" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>(Silva Pereira et al., 2019).</p> <span class="pl-pds">"</span></span></td> | |
| 1375 </tr> | |
| 1376 <tr> | |
| 1377 <td id="L160" class="blob-num js-line-number" data-line-number="160"></td> | |
| 1378 <td id="LC160" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span><style> table, th, tr, td {border: 1px solid black; border-collapse: collapse;}</style><span class="pl-pds">"</span></span></td> | |
| 1379 </tr> | |
| 1380 <tr> | |
| 1381 <td id="L161" class="blob-num js-line-number" data-line-number="161"></td> | |
| 1382 <td id="LC161" class="blob-code blob-code-inner js-file-line"> | |
| 1383 </td> | |
| 1384 </tr> | |
| 1385 <tr> | |
| 1386 <td id="L162" class="blob-num js-line-number" data-line-number="162"></td> | |
| 1387 <td id="LC162" class="blob-code blob-code-inner js-file-line"> header <span class="pl-k">=</span> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span><table style='width:50%;margin-left:25%;text-align:center'><tr><th>Phylotype</th><span class="pl-pds">"</span></span></td> | |
| 1388 </tr> | |
| 1389 <tr> | |
| 1390 <td id="L163" class="blob-num js-line-number" data-line-number="163"></td> | |
| 1391 <td id="LC163" class="blob-code blob-code-inner js-file-line"> wLists <span class="pl-k">=</span> []</td> | |
| 1392 </tr> | |
| 1393 <tr> | |
| 1394 <td id="L164" class="blob-num js-line-number" data-line-number="164"></td> | |
| 1395 <td id="LC164" class="blob-code blob-code-inner js-file-line"> | |
| 1396 </td> | |
| 1397 </tr> | |
| 1398 <tr> | |
| 1399 <td id="L165" class="blob-num js-line-number" data-line-number="165"></td> | |
| 1400 <td id="LC165" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> j <span class="pl-k">in</span> <span class="pl-c1">range</span>(<span class="pl-c1">1</span>,<span class="pl-c1">len</span>(labelList)):</td> | |
| 1401 </tr> | |
| 1402 <tr> | |
| 1403 <td id="L166" class="blob-num js-line-number" data-line-number="166"></td> | |
| 1404 <td id="LC166" class="blob-code blob-code-inner js-file-line"> wLists.append(composite_df[labelList[j]])</td> | |
| 1405 </tr> | |
| 1406 <tr> | |
| 1407 <td id="L167" class="blob-num js-line-number" data-line-number="167"></td> | |
| 1408 <td id="LC167" class="blob-code blob-code-inner js-file-line"> header <span class="pl-k">+=</span> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span><th><span class="pl-pds">"</span></span> <span class="pl-k">+</span> <span class="pl-c1">str</span>(labelList[j]) <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span></th><span class="pl-pds">"</span></span></td> | |
| 1409 </tr> | |
| 1410 <tr> | |
| 1411 <td id="L168" class="blob-num js-line-number" data-line-number="168"></td> | |
| 1412 <td id="LC168" class="blob-code blob-code-inner js-file-line"> | |
| 1413 </td> | |
| 1414 </tr> | |
| 1415 <tr> | |
| 1416 <td id="L169" class="blob-num js-line-number" data-line-number="169"></td> | |
| 1417 <td id="LC169" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> <span class="pl-s"><span class="pl-pds">"</span></tr><span class="pl-cce">\n</span><span class="pl-pds">"</span></span> <span class="pl-k">+</span> header</td> | |
| 1418 </tr> | |
| 1419 <tr> | |
| 1420 <td id="L170" class="blob-num js-line-number" data-line-number="170"></td> | |
| 1421 <td id="LC170" class="blob-code blob-code-inner js-file-line"> tabString <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span></td> | |
| 1422 </tr> | |
| 1423 <tr> | |
| 1424 <td id="L171" class="blob-num js-line-number" data-line-number="171"></td> | |
| 1425 <td id="LC171" class="blob-code blob-code-inner js-file-line"> phyList <span class="pl-k">=</span> composite_df[<span class="pl-s"><span class="pl-pds">'</span>Phylotype<span class="pl-pds">'</span></span>]</td> | |
| 1426 </tr> | |
| 1427 <tr> | |
| 1428 <td id="L172" class="blob-num js-line-number" data-line-number="172"></td> | |
| 1429 <td id="LC172" class="blob-code blob-code-inner js-file-line"> | |
| 1430 </td> | |
| 1431 </tr> | |
| 1432 <tr> | |
| 1433 <td id="L173" class="blob-num js-line-number" data-line-number="173"></td> | |
| 1434 <td id="LC173" class="blob-code blob-code-inner js-file-line"> | |
| 1435 </td> | |
| 1436 </tr> | |
| 1437 <tr> | |
| 1438 <td id="L174" class="blob-num js-line-number" data-line-number="174"></td> | |
| 1439 <td id="LC174" class="blob-code blob-code-inner js-file-line"> | |
| 1440 </td> | |
| 1441 </tr> | |
| 1442 <tr> | |
| 1443 <td id="L175" class="blob-num js-line-number" data-line-number="175"></td> | |
| 1444 <td id="LC175" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> i <span class="pl-k">in</span> <span class="pl-c1">range</span>(<span class="pl-c1">0</span>, <span class="pl-c1">len</span>(composite_df)):</td> | |
| 1445 </tr> | |
| 1446 <tr> | |
| 1447 <td id="L176" class="blob-num js-line-number" data-line-number="176"></td> | |
| 1448 <td id="LC176" class="blob-code blob-code-inner js-file-line"> tabString <span class="pl-k">+=</span> <span class="pl-s"><span class="pl-pds">"</span><tr><td><span class="pl-pds">"</span></span> <span class="pl-k">+</span> <span class="pl-c1">str</span>(phyList[i]) <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span></td><span class="pl-pds">"</span></span></td> | |
| 1449 </tr> | |
| 1450 <tr> | |
| 1451 <td id="L177" class="blob-num js-line-number" data-line-number="177"></td> | |
| 1452 <td id="LC177" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> j <span class="pl-k">in</span> <span class="pl-c1">range</span>(<span class="pl-c1">0</span>,<span class="pl-c1">len</span>(labelList)<span class="pl-k">-</span><span class="pl-c1">1</span>):</td> | |
| 1453 </tr> | |
| 1454 <tr> | |
| 1455 <td id="L178" class="blob-num js-line-number" data-line-number="178"></td> | |
| 1456 <td id="LC178" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>print(j)</span></td> | |
| 1457 </tr> | |
| 1458 <tr> | |
| 1459 <td id="L179" class="blob-num js-line-number" data-line-number="179"></td> | |
| 1460 <td id="LC179" class="blob-code blob-code-inner js-file-line"> f <span class="pl-k">=</span> <span class="pl-c1">format</span>(wLists[j][i], <span class="pl-s"><span class="pl-pds">'</span>.4f<span class="pl-pds">'</span></span>)</td> | |
| 1461 </tr> | |
| 1462 <tr> | |
| 1463 <td id="L180" class="blob-num js-line-number" data-line-number="180"></td> | |
| 1464 <td id="LC180" class="blob-code blob-code-inner js-file-line"> tabString <span class="pl-k">+=</span> <span class="pl-s"><span class="pl-pds">"</span><td><span class="pl-pds">"</span></span> <span class="pl-k">+</span> <span class="pl-c1">str</span>(f) <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span></td><span class="pl-pds">"</span></span></td> | |
| 1465 </tr> | |
| 1466 <tr> | |
| 1467 <td id="L181" class="blob-num js-line-number" data-line-number="181"></td> | |
| 1468 <td id="LC181" class="blob-code blob-code-inner js-file-line"> tabString <span class="pl-k">+=</span> <span class="pl-s"><span class="pl-pds">"</span></tr><span class="pl-cce">\n</span><span class="pl-pds">"</span></span></td> | |
| 1469 </tr> | |
| 1470 <tr> | |
| 1471 <td id="L182" class="blob-num js-line-number" data-line-number="182"></td> | |
| 1472 <td id="LC182" class="blob-code blob-code-inner js-file-line"> | |
| 1473 </td> | |
| 1474 </tr> | |
| 1475 <tr> | |
| 1476 <td id="L183" class="blob-num js-line-number" data-line-number="183"></td> | |
| 1477 <td id="LC183" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> tabString <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span></table><br><br><br><br><br><span class="pl-pds">"</span></span></td> | |
| 1478 </tr> | |
| 1479 <tr> | |
| 1480 <td id="L184" class="blob-num js-line-number" data-line-number="184"></td> | |
| 1481 <td id="LC184" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span><h3>Weighted Relative Frequencies of Detected Phylotypes<span class="pl-c1">.</span></h3><span class="pl-pds">"</span></span></td> | |
| 1482 </tr> | |
| 1483 <tr> | |
| 1484 <td id="L185" class="blob-num js-line-number" data-line-number="185"></td> | |
| 1485 <td id="LC185" class="blob-code blob-code-inner js-file-line"> imgString <span class="pl-k">=</span> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span><img src = '<span class="pl-pds">"</span></span><span class="pl-k">+</span> tdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>_phylotypes.png' alt='Bar chart of phylotype variation' style='max-width:100%'><br><br><span class="pl-pds">"</span></span></td> | |
| 1486 </tr> | |
| 1487 <tr> | |
| 1488 <td id="L186" class="blob-num js-line-number" data-line-number="186"></td> | |
| 1489 <td id="LC186" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> imgString</td> | |
| 1490 </tr> | |
| 1491 <tr> | |
| 1492 <td id="L187" class="blob-num js-line-number" data-line-number="187"></td> | |
| 1493 <td id="LC187" class="blob-code blob-code-inner js-file-line"> | |
| 1494 </td> | |
| 1495 </tr> | |
| 1496 <tr> | |
| 1497 <td id="L188" class="blob-num js-line-number" data-line-number="188"></td> | |
| 1498 <td id="LC188" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">with</span> <span class="pl-c1">open</span>(tdict[<span class="pl-s"><span class="pl-pds">'</span>html_file<span class="pl-pds">'</span></span>], <span class="pl-s"><span class="pl-pds">"</span>w<span class="pl-pds">"</span></span>) <span class="pl-k">as</span> htmlfile:</td> | |
| 1499 </tr> | |
| 1500 <tr> | |
| 1501 <td id="L189" class="blob-num js-line-number" data-line-number="189"></td> | |
| 1502 <td id="LC189" class="blob-code blob-code-inner js-file-line"> htmlfile.write(htmlString)</td> | |
| 1503 </tr> | |
| 1504 <tr> | |
| 1505 <td id="L190" class="blob-num js-line-number" data-line-number="190"></td> | |
| 1506 <td id="LC190" class="blob-code blob-code-inner js-file-line"> | |
| 1507 </td> | |
| 1508 </tr> | |
| 1509 <tr> | |
| 1510 <td id="L191" class="blob-num js-line-number" data-line-number="191"></td> | |
| 1511 <td id="LC191" class="blob-code blob-code-inner js-file-line"> | |
| 1512 </td> | |
| 1513 </tr> | |
| 1514 <tr> | |
| 1515 <td id="L192" class="blob-num js-line-number" data-line-number="192"></td> | |
| 1516 <td id="LC192" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">createHTML</span>(<span class="pl-smi">tdict</span>,<span class="pl-smi">sum_df</span>):</td> | |
| 1517 </tr> | |
| 1518 <tr> | |
| 1519 <td id="L193" class="blob-num js-line-number" data-line-number="193"></td> | |
| 1520 <td id="LC193" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>assumes imgs are heatmap.png, dheatmap.png, vapPCA.png and already in htmlresource</span></td> | |
| 1521 </tr> | |
| 1522 <tr> | |
| 1523 <td id="L194" class="blob-num js-line-number" data-line-number="194"></td> | |
| 1524 <td id="LC194" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">=</span> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span><html><title>T<span class="pl-c1">.</span>vivax VAP <span class="pl-c1">(</span>Transcriptomic Pathway<span class="pl-c1">(</span></title><body><div style='text-align:center'><h2><i>Trypanosoma vivax</i> Variant Antigen Profile</h2><h3><span class="pl-pds">"</span></span></td> | |
| 1525 </tr> | |
| 1526 <tr> | |
| 1527 <td id="L195" class="blob-num js-line-number" data-line-number="195"></td> | |
| 1528 <td id="LC195" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span>Sample name: <span class="pl-pds">"</span></span><span class="pl-k">+</span>tdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]</td> | |
| 1529 </tr> | |
| 1530 <tr> | |
| 1531 <td id="L196" class="blob-num js-line-number" data-line-number="196"></td> | |
| 1532 <td id="LC196" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span><br>Transcriptomic Analysis</h3></p><span class="pl-pds">"</span></span></td> | |
| 1533 </tr> | |
| 1534 <tr> | |
| 1535 <td id="L197" class="blob-num js-line-number" data-line-number="197"></td> | |
| 1536 <td id="LC197" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> <span class="pl-s"><span class="pl-pds">"</span><p style = 'margin-left:20%; margin-right:20%'>Legend: <span class="pl-pds">"</span></span> \</td> | |
| 1537 </tr> | |
| 1538 <tr> | |
| 1539 <td id="L198" class="blob-num js-line-number" data-line-number="198"></td> | |
| 1540 <td id="LC198" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>Variant Antigen Profile of a <i>Trypanosoma vivax</i> transcriptome. <span class="pl-pds">"</span></span> \</td> | |
| 1541 </tr> | |
| 1542 <tr> | |
| 1543 <td id="L199" class="blob-num js-line-number" data-line-number="199"></td> | |
| 1544 <td id="LC199" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>Weighted Frequency reflects Phylotype abundance and is expressed as <span class="pl-pds">"</span></span> \</td> | |
| 1545 </tr> | |
| 1546 <tr> | |
| 1547 <td id="L200" class="blob-num js-line-number" data-line-number="200"></td> | |
| 1548 <td id="LC200" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>phylotype frequencies adjusted for the combined transcript abundance. <span class="pl-pds">"</span></span> \</td> | |
| 1549 </tr> | |
| 1550 <tr> | |
| 1551 <td id="L201" class="blob-num js-line-number" data-line-number="201"></td> | |
| 1552 <td id="LC201" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>Data was produced with VAPPER-Variant Antigen Profiler <span class="pl-pds">"</span></span> \</td> | |
| 1553 </tr> | |
| 1554 <tr> | |
| 1555 <td id="L202" class="blob-num js-line-number" data-line-number="202"></td> | |
| 1556 <td id="LC202" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>(Silva Pereira et al., 2019).</p> <span class="pl-pds">"</span></span></td> | |
| 1557 </tr> | |
| 1558 <tr> | |
| 1559 <td id="L203" class="blob-num js-line-number" data-line-number="203"></td> | |
| 1560 <td id="LC203" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span><style> table, th, tr, td {border: 1px solid black; border-collapse: collapse;}</style><span class="pl-pds">"</span></span></td> | |
| 1561 </tr> | |
| 1562 <tr> | |
| 1563 <td id="L204" class="blob-num js-line-number" data-line-number="204"></td> | |
| 1564 <td id="LC204" class="blob-code blob-code-inner js-file-line"> | |
| 1565 </td> | |
| 1566 </tr> | |
| 1567 <tr> | |
| 1568 <td id="L205" class="blob-num js-line-number" data-line-number="205"></td> | |
| 1569 <td id="LC205" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span><table style='width:50%;table-layout: auto; margin-left:25%;text-align:center'><tr><th>Phylotype</th><span class="pl-pds">"</span></span> \</td> | |
| 1570 </tr> | |
| 1571 <tr> | |
| 1572 <td id="L206" class="blob-num js-line-number" data-line-number="206"></td> | |
| 1573 <td id="LC206" class="blob-code blob-code-inner js-file-line"> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span><th>Combined FPKM</th><th>Weighted Frequency</th></tr><span class="pl-pds">"</span></span></td> | |
| 1574 </tr> | |
| 1575 <tr> | |
| 1576 <td id="L207" class="blob-num js-line-number" data-line-number="207"></td> | |
| 1577 <td id="LC207" class="blob-code blob-code-inner js-file-line"> tabString <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span></td> | |
| 1578 </tr> | |
| 1579 <tr> | |
| 1580 <td id="L208" class="blob-num js-line-number" data-line-number="208"></td> | |
| 1581 <td id="LC208" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> flush out table with correct values</span></td> | |
| 1582 </tr> | |
| 1583 <tr> | |
| 1584 <td id="L209" class="blob-num js-line-number" data-line-number="209"></td> | |
| 1585 <td id="LC209" class="blob-code blob-code-inner js-file-line"> phySeries <span class="pl-k">=</span> sum_df[<span class="pl-s"><span class="pl-pds">'</span>Phylotype<span class="pl-pds">'</span></span>]</td> | |
| 1586 </tr> | |
| 1587 <tr> | |
| 1588 <td id="L210" class="blob-num js-line-number" data-line-number="210"></td> | |
| 1589 <td id="LC210" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> sacSeries = sum_df['saccver']</span></td> | |
| 1590 </tr> | |
| 1591 <tr> | |
| 1592 <td id="L211" class="blob-num js-line-number" data-line-number="211"></td> | |
| 1593 <td id="LC211" class="blob-code blob-code-inner js-file-line"> fSeries <span class="pl-k">=</span> sum_df[<span class="pl-s"><span class="pl-pds">'</span>FPKM<span class="pl-pds">'</span></span>]</td> | |
| 1594 </tr> | |
| 1595 <tr> | |
| 1596 <td id="L212" class="blob-num js-line-number" data-line-number="212"></td> | |
| 1597 <td id="LC212" class="blob-code blob-code-inner js-file-line"> total <span class="pl-k">=</span> fSeries.sum()</td> | |
| 1598 </tr> | |
| 1599 <tr> | |
| 1600 <td id="L213" class="blob-num js-line-number" data-line-number="213"></td> | |
| 1601 <td id="LC213" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> print("Total="+str(total))</span></td> | |
| 1602 </tr> | |
| 1603 <tr> | |
| 1604 <td id="L214" class="blob-num js-line-number" data-line-number="214"></td> | |
| 1605 <td id="LC214" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> i <span class="pl-k">in</span> <span class="pl-c1">range</span>(<span class="pl-c1">0</span>, <span class="pl-c1">len</span>(sum_df)):</td> | |
| 1606 </tr> | |
| 1607 <tr> | |
| 1608 <td id="L215" class="blob-num js-line-number" data-line-number="215"></td> | |
| 1609 <td id="LC215" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> print(phySeries[i])</span></td> | |
| 1610 </tr> | |
| 1611 <tr> | |
| 1612 <td id="L216" class="blob-num js-line-number" data-line-number="216"></td> | |
| 1613 <td id="LC216" class="blob-code blob-code-inner js-file-line"> f <span class="pl-k">=</span> <span class="pl-c1">format</span>(fSeries[i], <span class="pl-s"><span class="pl-pds">'</span>.2f<span class="pl-pds">'</span></span>)</td> | |
| 1614 </tr> | |
| 1615 <tr> | |
| 1616 <td id="L217" class="blob-num js-line-number" data-line-number="217"></td> | |
| 1617 <td id="LC217" class="blob-code blob-code-inner js-file-line"> w <span class="pl-k">=</span> <span class="pl-c1">format</span>(fSeries[i]<span class="pl-k">/</span>total, <span class="pl-s"><span class="pl-pds">'</span>.2f<span class="pl-pds">'</span></span>)</td> | |
| 1618 </tr> | |
| 1619 <tr> | |
| 1620 <td id="L218" class="blob-num js-line-number" data-line-number="218"></td> | |
| 1621 <td id="LC218" class="blob-code blob-code-inner js-file-line"> | |
| 1622 </td> | |
| 1623 </tr> | |
| 1624 <tr> | |
| 1625 <td id="L219" class="blob-num js-line-number" data-line-number="219"></td> | |
| 1626 <td id="LC219" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>w = format(weightList[i], '.4f')</span></td> | |
| 1627 </tr> | |
| 1628 <tr> | |
| 1629 <td id="L220" class="blob-num js-line-number" data-line-number="220"></td> | |
| 1630 <td id="LC220" class="blob-code blob-code-inner js-file-line"> | |
| 1631 </td> | |
| 1632 </tr> | |
| 1633 <tr> | |
| 1634 <td id="L221" class="blob-num js-line-number" data-line-number="221"></td> | |
| 1635 <td id="LC221" class="blob-code blob-code-inner js-file-line"> tabString <span class="pl-k">+=</span> <span class="pl-s"><span class="pl-pds">"</span><tr><td><span class="pl-pds">"</span></span> <span class="pl-k">+</span> <span class="pl-c1">str</span>(phySeries[i]) <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span></td><td><span class="pl-pds">"</span></span> <span class="pl-k">+</span> <span class="pl-c1">str</span>(f) <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span></td><td><span class="pl-pds">"</span></span><span class="pl-k">+</span><span class="pl-c1">str</span>(w)<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span></tr><span class="pl-pds">"</span></span></td> | |
| 1636 </tr> | |
| 1637 <tr> | |
| 1638 <td id="L222" class="blob-num js-line-number" data-line-number="222"></td> | |
| 1639 <td id="LC222" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> tabString <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span></table><br><br><br><br><br><span class="pl-pds">"</span></span></td> | |
| 1640 </tr> | |
| 1641 <tr> | |
| 1642 <td id="L223" class="blob-num js-line-number" data-line-number="223"></td> | |
| 1643 <td id="LC223" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span><h3>Weighted Relative Frequencies of Detected Phylotypes<span class="pl-c1">.</span></h3><span class="pl-pds">"</span></span></td> | |
| 1644 </tr> | |
| 1645 <tr> | |
| 1646 <td id="L224" class="blob-num js-line-number" data-line-number="224"></td> | |
| 1647 <td id="LC224" class="blob-code blob-code-inner js-file-line"> imgString <span class="pl-k">=</span> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span><img src = '<span class="pl-pds">"</span></span><span class="pl-k">+</span> tdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>_phylotypes.png' alt='Bar chart of phylotype variation' style='max-width:100%'><br><br><span class="pl-pds">"</span></span></td> | |
| 1648 </tr> | |
| 1649 <tr> | |
| 1650 <td id="L225" class="blob-num js-line-number" data-line-number="225"></td> | |
| 1651 <td id="LC225" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> imgString</td> | |
| 1652 </tr> | |
| 1653 <tr> | |
| 1654 <td id="L226" class="blob-num js-line-number" data-line-number="226"></td> | |
| 1655 <td id="LC226" class="blob-code blob-code-inner js-file-line"> | |
| 1656 </td> | |
| 1657 </tr> | |
| 1658 <tr> | |
| 1659 <td id="L227" class="blob-num js-line-number" data-line-number="227"></td> | |
| 1660 <td id="LC227" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">with</span> <span class="pl-c1">open</span>(tdict[<span class="pl-s"><span class="pl-pds">'</span>html_file<span class="pl-pds">'</span></span>], <span class="pl-s"><span class="pl-pds">"</span>w<span class="pl-pds">"</span></span>) <span class="pl-k">as</span> htmlfile:</td> | |
| 1661 </tr> | |
| 1662 <tr> | |
| 1663 <td id="L228" class="blob-num js-line-number" data-line-number="228"></td> | |
| 1664 <td id="LC228" class="blob-code blob-code-inner js-file-line"> htmlfile.write(htmlString)</td> | |
| 1665 </tr> | |
| 1666 <tr> | |
| 1667 <td id="L229" class="blob-num js-line-number" data-line-number="229"></td> | |
| 1668 <td id="LC229" class="blob-code blob-code-inner js-file-line"> | |
| 1669 </td> | |
| 1670 </tr> | |
| 1671 <tr> | |
| 1672 <td id="L230" class="blob-num js-line-number" data-line-number="230"></td> | |
| 1673 <td id="LC230" class="blob-code blob-code-inner js-file-line"> | |
| 1674 </td> | |
| 1675 </tr> | |
| 1676 <tr> | |
| 1677 <td id="L231" class="blob-num js-line-number" data-line-number="231"></td> | |
| 1678 <td id="LC231" class="blob-code blob-code-inner js-file-line"> | |
| 1679 </td> | |
| 1680 </tr> | |
| 1681 <tr> | |
| 1682 <td id="L232" class="blob-num js-line-number" data-line-number="232"></td> | |
| 1683 <td id="LC232" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">getPhyloNumber</span>(<span class="pl-smi">sac</span>):</td> | |
| 1684 </tr> | |
| 1685 <tr> | |
| 1686 <td id="L233" class="blob-num js-line-number" data-line-number="233"></td> | |
| 1687 <td id="LC233" class="blob-code blob-code-inner js-file-line"> i <span class="pl-k">=</span> sac.find(<span class="pl-s"><span class="pl-pds">'</span>_<span class="pl-pds">'</span></span>)</td> | |
| 1688 </tr> | |
| 1689 <tr> | |
| 1690 <td id="L234" class="blob-num js-line-number" data-line-number="234"></td> | |
| 1691 <td id="LC234" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> <span class="pl-c1">int</span>(sac[<span class="pl-c1">1</span>:i])</td> | |
| 1692 </tr> | |
| 1693 <tr> | |
| 1694 <td id="L235" class="blob-num js-line-number" data-line-number="235"></td> | |
| 1695 <td id="LC235" class="blob-code blob-code-inner js-file-line"> | |
| 1696 </td> | |
| 1697 </tr> | |
| 1698 <tr> | |
| 1699 <td id="L236" class="blob-num js-line-number" data-line-number="236"></td> | |
| 1700 <td id="LC236" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">combineFPMK</span>(<span class="pl-smi">tdict</span>):</td> | |
| 1701 </tr> | |
| 1702 <tr> | |
| 1703 <td id="L237" class="blob-num js-line-number" data-line-number="237"></td> | |
| 1704 <td id="LC237" class="blob-code blob-code-inner js-file-line"> fpkm_df <span class="pl-k">=</span> pd.read_csv(tdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">'</span>.cuff/genes.fpkm_tracking<span class="pl-pds">'</span></span>, <span class="pl-v">sep</span><span class="pl-k">=</span><span class="pl-s"><span class="pl-pds">'</span><span class="pl-cce">\t</span><span class="pl-pds">'</span></span>)</td> | |
| 1705 </tr> | |
| 1706 <tr> | |
| 1707 <td id="L238" class="blob-num js-line-number" data-line-number="238"></td> | |
| 1708 <td id="LC238" class="blob-code blob-code-inner js-file-line"> | |
| 1709 </td> | |
| 1710 </tr> | |
| 1711 <tr> | |
| 1712 <td id="L239" class="blob-num js-line-number" data-line-number="239"></td> | |
| 1713 <td id="LC239" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>fpkm_df = pd.read_csv('genes.fpkm_tracking',sep='\t')</span></td> | |
| 1714 </tr> | |
| 1715 <tr> | |
| 1716 <td id="L240" class="blob-num js-line-number" data-line-number="240"></td> | |
| 1717 <td id="LC240" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>print(fpkm_df.head())</span></td> | |
| 1718 </tr> | |
| 1719 <tr> | |
| 1720 <td id="L241" class="blob-num js-line-number" data-line-number="241"></td> | |
| 1721 <td id="LC241" class="blob-code blob-code-inner js-file-line"> fpkm_df[<span class="pl-s"><span class="pl-pds">'</span>locus<span class="pl-pds">'</span></span>] <span class="pl-k">=</span> fpkm_df[<span class="pl-s"><span class="pl-pds">'</span>locus<span class="pl-pds">'</span></span>].apply(<span class="pl-k">lambda</span> <span class="pl-smi">names</span>: names[:names.find(<span class="pl-s"><span class="pl-pds">'</span>:<span class="pl-pds">'</span></span>)])</td> | |
| 1722 </tr> | |
| 1723 <tr> | |
| 1724 <td id="L242" class="blob-num js-line-number" data-line-number="242"></td> | |
| 1725 <td id="LC242" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>print(fpkm_df.head())</span></td> | |
| 1726 </tr> | |
| 1727 <tr> | |
| 1728 <td id="L243" class="blob-num js-line-number" data-line-number="243"></td> | |
| 1729 <td id="LC243" class="blob-code blob-code-inner js-file-line"> reducedBlast_df <span class="pl-k">=</span> pd.read_csv(tdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">'</span>_transcript.csv<span class="pl-pds">'</span></span>)</td> | |
| 1730 </tr> | |
| 1731 <tr> | |
| 1732 <td id="L244" class="blob-num js-line-number" data-line-number="244"></td> | |
| 1733 <td id="LC244" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> reducedBlast_df = pd.read_csv('TrinityVT_transcript.csv')</span></td> | |
| 1734 </tr> | |
| 1735 <tr> | |
| 1736 <td id="L245" class="blob-num js-line-number" data-line-number="245"></td> | |
| 1737 <td id="LC245" class="blob-code blob-code-inner js-file-line"> saccverSet <span class="pl-k">=</span> <span class="pl-c1">set</span>(reducedBlast_df[<span class="pl-s"><span class="pl-pds">'</span>saccver<span class="pl-pds">'</span></span>])</td> | |
| 1738 </tr> | |
| 1739 <tr> | |
| 1740 <td id="L246" class="blob-num js-line-number" data-line-number="246"></td> | |
| 1741 <td id="LC246" class="blob-code blob-code-inner js-file-line"> saccverList <span class="pl-k">=</span> <span class="pl-c1">list</span>(saccverSet)</td> | |
| 1742 </tr> | |
| 1743 <tr> | |
| 1744 <td id="L247" class="blob-num js-line-number" data-line-number="247"></td> | |
| 1745 <td id="LC247" class="blob-code blob-code-inner js-file-line"> saccverList.sort()</td> | |
| 1746 </tr> | |
| 1747 <tr> | |
| 1748 <td id="L248" class="blob-num js-line-number" data-line-number="248"></td> | |
| 1749 <td id="LC248" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> print(saccverList[:5])</span></td> | |
| 1750 </tr> | |
| 1751 <tr> | |
| 1752 <td id="L249" class="blob-num js-line-number" data-line-number="249"></td> | |
| 1753 <td id="LC249" class="blob-code blob-code-inner js-file-line"> new_df <span class="pl-k">=</span> pd.DataFrame(<span class="pl-v">columns</span><span class="pl-k">=</span>[<span class="pl-s"><span class="pl-pds">'</span>qaccver<span class="pl-pds">'</span></span>,<span class="pl-s"><span class="pl-pds">'</span>saccver<span class="pl-pds">'</span></span>,<span class="pl-s"><span class="pl-pds">'</span>FPKM<span class="pl-pds">'</span></span>])</td> | |
| 1754 </tr> | |
| 1755 <tr> | |
| 1756 <td id="L250" class="blob-num js-line-number" data-line-number="250"></td> | |
| 1757 <td id="LC250" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> sv <span class="pl-k">in</span> saccverList:</td> | |
| 1758 </tr> | |
| 1759 <tr> | |
| 1760 <td id="L251" class="blob-num js-line-number" data-line-number="251"></td> | |
| 1761 <td id="LC251" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>print(sv)</span></td> | |
| 1762 </tr> | |
| 1763 <tr> | |
| 1764 <td id="L252" class="blob-num js-line-number" data-line-number="252"></td> | |
| 1765 <td id="LC252" class="blob-code blob-code-inner js-file-line"> temp_df <span class="pl-k">=</span> reducedBlast_df[reducedBlast_df[<span class="pl-s"><span class="pl-pds">'</span>saccver<span class="pl-pds">'</span></span>] <span class="pl-k">==</span> sv]</td> | |
| 1766 </tr> | |
| 1767 <tr> | |
| 1768 <td id="L253" class="blob-num js-line-number" data-line-number="253"></td> | |
| 1769 <td id="LC253" class="blob-code blob-code-inner js-file-line"> qList <span class="pl-k">=</span> <span class="pl-c1">list</span>(temp_df[<span class="pl-s"><span class="pl-pds">'</span>qaccver<span class="pl-pds">'</span></span>])</td> | |
| 1770 </tr> | |
| 1771 <tr> | |
| 1772 <td id="L254" class="blob-num js-line-number" data-line-number="254"></td> | |
| 1773 <td id="LC254" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> q <span class="pl-k">in</span> qList:</td> | |
| 1774 </tr> | |
| 1775 <tr> | |
| 1776 <td id="L255" class="blob-num js-line-number" data-line-number="255"></td> | |
| 1777 <td id="LC255" class="blob-code blob-code-inner js-file-line"> f_df <span class="pl-k">=</span> fpkm_df[(fpkm_df[<span class="pl-s"><span class="pl-pds">'</span>locus<span class="pl-pds">'</span></span>] <span class="pl-k">==</span> q)]</td> | |
| 1778 </tr> | |
| 1779 <tr> | |
| 1780 <td id="L256" class="blob-num js-line-number" data-line-number="256"></td> | |
| 1781 <td id="LC256" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> <span class="pl-c1">len</span>(f_df) <span class="pl-k">></span> <span class="pl-c1">1</span>:</td> | |
| 1782 </tr> | |
| 1783 <tr> | |
| 1784 <td id="L257" class="blob-num js-line-number" data-line-number="257"></td> | |
| 1785 <td id="LC257" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(<span class="pl-s"><span class="pl-pds">'</span>WARNING MULTIPLE FPKM<span class="pl-pds">'</span></span>)</td> | |
| 1786 </tr> | |
| 1787 <tr> | |
| 1788 <td id="L258" class="blob-num js-line-number" data-line-number="258"></td> | |
| 1789 <td id="LC258" class="blob-code blob-code-inner js-file-line"> new_fpkm<span class="pl-k">=</span><span class="pl-c1">list</span>(f_df[<span class="pl-s"><span class="pl-pds">'</span>FPKM<span class="pl-pds">'</span></span>])</td> | |
| 1790 </tr> | |
| 1791 <tr> | |
| 1792 <td id="L259" class="blob-num js-line-number" data-line-number="259"></td> | |
| 1793 <td id="LC259" class="blob-code blob-code-inner js-file-line"> f <span class="pl-k">=</span> (new_fpkm[<span class="pl-c1">0</span>])</td> | |
| 1794 </tr> | |
| 1795 <tr> | |
| 1796 <td id="L260" class="blob-num js-line-number" data-line-number="260"></td> | |
| 1797 <td id="LC260" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> print(f)</span></td> | |
| 1798 </tr> | |
| 1799 <tr> | |
| 1800 <td id="L261" class="blob-num js-line-number" data-line-number="261"></td> | |
| 1801 <td id="LC261" class="blob-code blob-code-inner js-file-line"> new_df <span class="pl-k">=</span> new_df.append({<span class="pl-s"><span class="pl-pds">'</span>qaccver<span class="pl-pds">'</span></span>: q, <span class="pl-s"><span class="pl-pds">'</span>saccver<span class="pl-pds">'</span></span>: sv, <span class="pl-s"><span class="pl-pds">'</span>FPKM<span class="pl-pds">'</span></span>: f}, <span class="pl-v">ignore_index</span><span class="pl-k">=</span><span class="pl-c1">True</span>)</td> | |
| 1802 </tr> | |
| 1803 <tr> | |
| 1804 <td id="L262" class="blob-num js-line-number" data-line-number="262"></td> | |
| 1805 <td id="LC262" class="blob-code blob-code-inner js-file-line"> FPKMsum_df <span class="pl-k">=</span> new_df.groupby(<span class="pl-s"><span class="pl-pds">'</span>saccver<span class="pl-pds">'</span></span>)[<span class="pl-s"><span class="pl-pds">'</span>FPKM<span class="pl-pds">'</span></span>].sum().reset_index()</td> | |
| 1806 </tr> | |
| 1807 <tr> | |
| 1808 <td id="L263" class="blob-num js-line-number" data-line-number="263"></td> | |
| 1809 <td id="LC263" class="blob-code blob-code-inner js-file-line"> | |
| 1810 </td> | |
| 1811 </tr> | |
| 1812 <tr> | |
| 1813 <td id="L264" class="blob-num js-line-number" data-line-number="264"></td> | |
| 1814 <td id="LC264" class="blob-code blob-code-inner js-file-line"> FPKMsum_df[<span class="pl-s"><span class="pl-pds">'</span>Phylotype<span class="pl-pds">'</span></span>] <span class="pl-k">=</span> FPKMsum_df.apply(<span class="pl-k">lambda</span> <span class="pl-smi">row</span>: getPhyloNumber(row[<span class="pl-s"><span class="pl-pds">'</span>saccver<span class="pl-pds">'</span></span>]), <span class="pl-v">axis</span><span class="pl-k">=</span><span class="pl-c1">1</span>)</td> | |
| 1815 </tr> | |
| 1816 <tr> | |
| 1817 <td id="L265" class="blob-num js-line-number" data-line-number="265"></td> | |
| 1818 <td id="LC265" class="blob-code blob-code-inner js-file-line"> FPKMsum_df <span class="pl-k">=</span> FPKMsum_df.sort_values(<span class="pl-v">by</span><span class="pl-k">=</span>[<span class="pl-s"><span class="pl-pds">'</span>Phylotype<span class="pl-pds">'</span></span>])</td> | |
| 1819 </tr> | |
| 1820 <tr> | |
| 1821 <td id="L266" class="blob-num js-line-number" data-line-number="266"></td> | |
| 1822 <td id="LC266" class="blob-code blob-code-inner js-file-line"> FPKMsum_df <span class="pl-k">=</span> FPKMsum_df.reset_index(<span class="pl-v">drop</span><span class="pl-k">=</span><span class="pl-c1">True</span>)</td> | |
| 1823 </tr> | |
| 1824 <tr> | |
| 1825 <td id="L267" class="blob-num js-line-number" data-line-number="267"></td> | |
| 1826 <td id="LC267" class="blob-code blob-code-inner js-file-line"> | |
| 1827 </td> | |
| 1828 </tr> | |
| 1829 <tr> | |
| 1830 <td id="L268" class="blob-num js-line-number" data-line-number="268"></td> | |
| 1831 <td id="LC268" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> print(FPKMsum_df)</span></td> | |
| 1832 </tr> | |
| 1833 <tr> | |
| 1834 <td id="L269" class="blob-num js-line-number" data-line-number="269"></td> | |
| 1835 <td id="LC269" class="blob-code blob-code-inner js-file-line"> FPKMsum_df.to_csv(<span class="pl-s"><span class="pl-pds">'</span>FPKM_sum.csv<span class="pl-pds">'</span></span>)</td> | |
| 1836 </tr> | |
| 1837 <tr> | |
| 1838 <td id="L270" class="blob-num js-line-number" data-line-number="270"></td> | |
| 1839 <td id="LC270" class="blob-code blob-code-inner js-file-line"> FPKMsum2_df <span class="pl-k">=</span> FPKMsum_df.groupby(<span class="pl-s"><span class="pl-pds">'</span>Phylotype<span class="pl-pds">'</span></span>)[<span class="pl-s"><span class="pl-pds">'</span>FPKM<span class="pl-pds">'</span></span>].sum().reset_index()</td> | |
| 1840 </tr> | |
| 1841 <tr> | |
| 1842 <td id="L271" class="blob-num js-line-number" data-line-number="271"></td> | |
| 1843 <td id="LC271" class="blob-code blob-code-inner js-file-line"> FPKMsum2_df <span class="pl-k">=</span> FPKMsum2_df.sort_values(<span class="pl-v">by</span><span class="pl-k">=</span>[<span class="pl-s"><span class="pl-pds">'</span>Phylotype<span class="pl-pds">'</span></span>])</td> | |
| 1844 </tr> | |
| 1845 <tr> | |
| 1846 <td id="L272" class="blob-num js-line-number" data-line-number="272"></td> | |
| 1847 <td id="LC272" class="blob-code blob-code-inner js-file-line"> | |
| 1848 </td> | |
| 1849 </tr> | |
| 1850 <tr> | |
| 1851 <td id="L273" class="blob-num js-line-number" data-line-number="273"></td> | |
| 1852 <td id="LC273" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> print(FPKMsum2_df)</span></td> | |
| 1853 </tr> | |
| 1854 <tr> | |
| 1855 <td id="L274" class="blob-num js-line-number" data-line-number="274"></td> | |
| 1856 <td id="LC274" class="blob-code blob-code-inner js-file-line"> FPKMsum2_df.to_csv(<span class="pl-s"><span class="pl-pds">'</span>FPKM_sum2.csv<span class="pl-pds">'</span></span>) <span class="pl-c"><span class="pl-c">#</span> in case more than one entry for a particular phylotype</span></td> | |
| 1857 </tr> | |
| 1858 <tr> | |
| 1859 <td id="L275" class="blob-num js-line-number" data-line-number="275"></td> | |
| 1860 <td id="LC275" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> FPKMsum_df, FPKMsum2_df</td> | |
| 1861 </tr> | |
| 1862 <tr> | |
| 1863 <td id="L276" class="blob-num js-line-number" data-line-number="276"></td> | |
| 1864 <td id="LC276" class="blob-code blob-code-inner js-file-line"> | |
| 1865 </td> | |
| 1866 </tr> | |
| 1867 <tr> | |
| 1868 <td id="L277" class="blob-num js-line-number" data-line-number="277"></td> | |
| 1869 <td id="LC277" class="blob-code blob-code-inner js-file-line"> | |
| 1870 </td> | |
| 1871 </tr> | |
| 1872 <tr> | |
| 1873 <td id="L278" class="blob-num js-line-number" data-line-number="278"></td> | |
| 1874 <td id="LC278" class="blob-code blob-code-inner js-file-line"> | |
| 1875 </td> | |
| 1876 </tr> | |
| 1877 <tr> | |
| 1878 <td id="L279" class="blob-num js-line-number" data-line-number="279"></td> | |
| 1879 <td id="LC279" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">normalisef</span>(<span class="pl-smi">f</span>,<span class="pl-smi">max</span>):</td> | |
| 1880 </tr> | |
| 1881 <tr> | |
| 1882 <td id="L280" class="blob-num js-line-number" data-line-number="280"></td> | |
| 1883 <td id="LC280" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> f<span class="pl-k">/</span><span class="pl-c1">max</span></td> | |
| 1884 </tr> | |
| 1885 <tr> | |
| 1886 <td id="L281" class="blob-num js-line-number" data-line-number="281"></td> | |
| 1887 <td id="LC281" class="blob-code blob-code-inner js-file-line"> | |
| 1888 </td> | |
| 1889 </tr> | |
| 1890 <tr> | |
| 1891 <td id="L282" class="blob-num js-line-number" data-line-number="282"></td> | |
| 1892 <td id="LC282" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">getComposite_sum2</span>(<span class="pl-smi">nameList</span>,<span class="pl-smi">sum2_dfs</span>):</td> | |
| 1893 </tr> | |
| 1894 <tr> | |
| 1895 <td id="L283" class="blob-num js-line-number" data-line-number="283"></td> | |
| 1896 <td id="LC283" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> lets get a composite sum2_df from all of the sum2_dfs</span></td> | |
| 1897 </tr> | |
| 1898 <tr> | |
| 1899 <td id="L284" class="blob-num js-line-number" data-line-number="284"></td> | |
| 1900 <td id="LC284" class="blob-code blob-code-inner js-file-line"> phyList <span class="pl-k">=</span> []</td> | |
| 1901 </tr> | |
| 1902 <tr> | |
| 1903 <td id="L285" class="blob-num js-line-number" data-line-number="285"></td> | |
| 1904 <td id="LC285" class="blob-code blob-code-inner js-file-line"> | |
| 1905 </td> | |
| 1906 </tr> | |
| 1907 <tr> | |
| 1908 <td id="L286" class="blob-num js-line-number" data-line-number="286"></td> | |
| 1909 <td id="LC286" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> i <span class="pl-k">in</span> <span class="pl-c1">range</span>(<span class="pl-c1">0</span>, <span class="pl-c1">len</span>(sum2_dfs)):</td> | |
| 1910 </tr> | |
| 1911 <tr> | |
| 1912 <td id="L287" class="blob-num js-line-number" data-line-number="287"></td> | |
| 1913 <td id="LC287" class="blob-code blob-code-inner js-file-line"> total <span class="pl-k">=</span> sum2_dfs[i][<span class="pl-s"><span class="pl-pds">'</span>FPKM<span class="pl-pds">'</span></span>].sum()</td> | |
| 1914 </tr> | |
| 1915 <tr> | |
| 1916 <td id="L288" class="blob-num js-line-number" data-line-number="288"></td> | |
| 1917 <td id="LC288" class="blob-code blob-code-inner js-file-line"> sum2_dfs[i][<span class="pl-s"><span class="pl-pds">'</span>w<span class="pl-pds">'</span></span>] <span class="pl-k">=</span> sum2_dfs[i].apply(<span class="pl-k">lambda</span> <span class="pl-smi">row</span>: normalisef(row[<span class="pl-s"><span class="pl-pds">'</span>FPKM<span class="pl-pds">'</span></span>], total), <span class="pl-v">axis</span><span class="pl-k">=</span><span class="pl-c1">1</span>)</td> | |
| 1918 </tr> | |
| 1919 <tr> | |
| 1920 <td id="L289" class="blob-num js-line-number" data-line-number="289"></td> | |
| 1921 <td id="LC289" class="blob-code blob-code-inner js-file-line"> pSeries <span class="pl-k">=</span> sum2_dfs[i][<span class="pl-s"><span class="pl-pds">'</span>Phylotype<span class="pl-pds">'</span></span>]</td> | |
| 1922 </tr> | |
| 1923 <tr> | |
| 1924 <td id="L290" class="blob-num js-line-number" data-line-number="290"></td> | |
| 1925 <td id="LC290" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> p <span class="pl-k">in</span> pSeries:</td> | |
| 1926 </tr> | |
| 1927 <tr> | |
| 1928 <td id="L291" class="blob-num js-line-number" data-line-number="291"></td> | |
| 1929 <td id="LC291" class="blob-code blob-code-inner js-file-line"> phyList.append(p) <span class="pl-c"><span class="pl-c">#</span> get all the phylotypes in this one</span></td> | |
| 1930 </tr> | |
| 1931 <tr> | |
| 1932 <td id="L292" class="blob-num js-line-number" data-line-number="292"></td> | |
| 1933 <td id="LC292" class="blob-code blob-code-inner js-file-line"> phyList <span class="pl-k">=</span> <span class="pl-c1">list</span>(<span class="pl-c1">set</span>(phyList))</td> | |
| 1934 </tr> | |
| 1935 <tr> | |
| 1936 <td id="L293" class="blob-num js-line-number" data-line-number="293"></td> | |
| 1937 <td id="LC293" class="blob-code blob-code-inner js-file-line"> phyList.sort()</td> | |
| 1938 </tr> | |
| 1939 <tr> | |
| 1940 <td id="L294" class="blob-num js-line-number" data-line-number="294"></td> | |
| 1941 <td id="LC294" class="blob-code blob-code-inner js-file-line"> composite_sum2_df <span class="pl-k">=</span> pd.DataFrame(phyList, <span class="pl-v">columns</span><span class="pl-k">=</span>[<span class="pl-s"><span class="pl-pds">'</span>Phylotype<span class="pl-pds">'</span></span>])</td> | |
| 1942 </tr> | |
| 1943 <tr> | |
| 1944 <td id="L295" class="blob-num js-line-number" data-line-number="295"></td> | |
| 1945 <td id="LC295" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> i <span class="pl-k">in</span> <span class="pl-c1">range</span>(<span class="pl-c1">0</span>, <span class="pl-c1">len</span>(sum2_dfs)):</td> | |
| 1946 </tr> | |
| 1947 <tr> | |
| 1948 <td id="L296" class="blob-num js-line-number" data-line-number="296"></td> | |
| 1949 <td id="LC296" class="blob-code blob-code-inner js-file-line"> wList <span class="pl-k">=</span> []</td> | |
| 1950 </tr> | |
| 1951 <tr> | |
| 1952 <td id="L297" class="blob-num js-line-number" data-line-number="297"></td> | |
| 1953 <td id="LC297" class="blob-code blob-code-inner js-file-line"> pindf <span class="pl-k">=</span> <span class="pl-c1">list</span>(sum2_dfs[i][<span class="pl-s"><span class="pl-pds">'</span>Phylotype<span class="pl-pds">'</span></span>])</td> | |
| 1954 </tr> | |
| 1955 <tr> | |
| 1956 <td id="L298" class="blob-num js-line-number" data-line-number="298"></td> | |
| 1957 <td id="LC298" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> print(pindf)</span></td> | |
| 1958 </tr> | |
| 1959 <tr> | |
| 1960 <td id="L299" class="blob-num js-line-number" data-line-number="299"></td> | |
| 1961 <td id="LC299" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> p <span class="pl-k">in</span> phyList:</td> | |
| 1962 </tr> | |
| 1963 <tr> | |
| 1964 <td id="L300" class="blob-num js-line-number" data-line-number="300"></td> | |
| 1965 <td id="LC300" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> p <span class="pl-k">in</span> pindf:</td> | |
| 1966 </tr> | |
| 1967 <tr> | |
| 1968 <td id="L301" class="blob-num js-line-number" data-line-number="301"></td> | |
| 1969 <td id="LC301" class="blob-code blob-code-inner js-file-line"> df <span class="pl-k">=</span> sum2_dfs[i]</td> | |
| 1970 </tr> | |
| 1971 <tr> | |
| 1972 <td id="L302" class="blob-num js-line-number" data-line-number="302"></td> | |
| 1973 <td id="LC302" class="blob-code blob-code-inner js-file-line"> w <span class="pl-k">=</span> df.loc[df[<span class="pl-s"><span class="pl-pds">'</span>Phylotype<span class="pl-pds">'</span></span>] <span class="pl-k">==</span> p, <span class="pl-s"><span class="pl-pds">'</span>w<span class="pl-pds">'</span></span>].iloc[<span class="pl-c1">0</span>]</td> | |
| 1974 </tr> | |
| 1975 <tr> | |
| 1976 <td id="L303" class="blob-num js-line-number" data-line-number="303"></td> | |
| 1977 <td id="LC303" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">else</span>:</td> | |
| 1978 </tr> | |
| 1979 <tr> | |
| 1980 <td id="L304" class="blob-num js-line-number" data-line-number="304"></td> | |
| 1981 <td id="LC304" class="blob-code blob-code-inner js-file-line"> w <span class="pl-k">=</span> <span class="pl-c1">0</span></td> | |
| 1982 </tr> | |
| 1983 <tr> | |
| 1984 <td id="L305" class="blob-num js-line-number" data-line-number="305"></td> | |
| 1985 <td id="LC305" class="blob-code blob-code-inner js-file-line"> wList.append(w)</td> | |
| 1986 </tr> | |
| 1987 <tr> | |
| 1988 <td id="L306" class="blob-num js-line-number" data-line-number="306"></td> | |
| 1989 <td id="LC306" class="blob-code blob-code-inner js-file-line"> composite_sum2_df[nameList[i]] <span class="pl-k">=</span> wList</td> | |
| 1990 </tr> | |
| 1991 <tr> | |
| 1992 <td id="L307" class="blob-num js-line-number" data-line-number="307"></td> | |
| 1993 <td id="LC307" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>print(composite_sum2_df)</span></td> | |
| 1994 </tr> | |
| 1995 <tr> | |
| 1996 <td id="L308" class="blob-num js-line-number" data-line-number="308"></td> | |
| 1997 <td id="LC308" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>composite_sum2_df.to_csv('composite.csv')</span></td> | |
| 1998 </tr> | |
| 1999 <tr> | |
| 2000 <td id="L309" class="blob-num js-line-number" data-line-number="309"></td> | |
| 2001 <td id="LC309" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> composite_sum2_df</td> | |
| 2002 </tr> | |
| 2003 <tr> | |
| 2004 <td id="L310" class="blob-num js-line-number" data-line-number="310"></td> | |
| 2005 <td id="LC310" class="blob-code blob-code-inner js-file-line"> | |
| 2006 </td> | |
| 2007 </tr> | |
| 2008 <tr> | |
| 2009 <td id="L311" class="blob-num js-line-number" data-line-number="311"></td> | |
| 2010 <td id="LC311" class="blob-code blob-code-inner js-file-line"> | |
| 2011 </td> | |
| 2012 </tr> | |
| 2013 <tr> | |
| 2014 <td id="L312" class="blob-num js-line-number" data-line-number="312"></td> | |
| 2015 <td id="LC312" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">doMultiBarChart</span>(<span class="pl-smi">tdict</span>, <span class="pl-smi">composite_df</span>): <span class="pl-c"><span class="pl-c">#</span>array of multiple sum2_dfs</span></td> | |
| 2016 </tr> | |
| 2017 <tr> | |
| 2018 <td id="L313" class="blob-num js-line-number" data-line-number="313"></td> | |
| 2019 <td id="LC313" class="blob-code blob-code-inner js-file-line"> labelList <span class="pl-k">=</span> composite_df.columns.tolist()</td> | |
| 2020 </tr> | |
| 2021 <tr> | |
| 2022 <td id="L314" class="blob-num js-line-number" data-line-number="314"></td> | |
| 2023 <td id="LC314" class="blob-code blob-code-inner js-file-line"> sampnum <span class="pl-k">=</span> <span class="pl-c1">len</span>(labelList)<span class="pl-k">-</span><span class="pl-c1">1</span></td> | |
| 2024 </tr> | |
| 2025 <tr> | |
| 2026 <td id="L315" class="blob-num js-line-number" data-line-number="315"></td> | |
| 2027 <td id="LC315" class="blob-code blob-code-inner js-file-line"><span class="pl-c"><span class="pl-c">#</span> need to arrange bars</span></td> | |
| 2028 </tr> | |
| 2029 <tr> | |
| 2030 <td id="L316" class="blob-num js-line-number" data-line-number="316"></td> | |
| 2031 <td id="LC316" class="blob-code blob-code-inner js-file-line"><span class="pl-c"><span class="pl-c">#</span> number of phylotype = len(composite_df)</span></td> | |
| 2032 </tr> | |
| 2033 <tr> | |
| 2034 <td id="L317" class="blob-num js-line-number" data-line-number="317"></td> | |
| 2035 <td id="LC317" class="blob-code blob-code-inner js-file-line"><span class="pl-c"><span class="pl-c">#</span>number of bars = (len(labelist)-1) +1 for space</span></td> | |
| 2036 </tr> | |
| 2037 <tr> | |
| 2038 <td id="L318" class="blob-num js-line-number" data-line-number="318"></td> | |
| 2039 <td id="LC318" class="blob-code blob-code-inner js-file-line"><span class="pl-c"><span class="pl-c">#</span> ytick needs to ne</span></td> | |
| 2040 </tr> | |
| 2041 <tr> | |
| 2042 <td id="L319" class="blob-num js-line-number" data-line-number="319"></td> | |
| 2043 <td id="LC319" class="blob-code blob-code-inner js-file-line"> | |
| 2044 </td> | |
| 2045 </tr> | |
| 2046 <tr> | |
| 2047 <td id="L320" class="blob-num js-line-number" data-line-number="320"></td> | |
| 2048 <td id="LC320" class="blob-code blob-code-inner js-file-line"> cmap <span class="pl-k">=</span> plt.cm.get_cmap(<span class="pl-s"><span class="pl-pds">'</span>tab10<span class="pl-pds">'</span></span>)</td> | |
| 2049 </tr> | |
| 2050 <tr> | |
| 2051 <td id="L321" class="blob-num js-line-number" data-line-number="321"></td> | |
| 2052 <td id="LC321" class="blob-code blob-code-inner js-file-line"> palette <span class="pl-k">=</span> [cmap(i) <span class="pl-k">for</span> i <span class="pl-k">in</span> <span class="pl-c1">range</span>(cmap.N)]</td> | |
| 2053 </tr> | |
| 2054 <tr> | |
| 2055 <td id="L322" class="blob-num js-line-number" data-line-number="322"></td> | |
| 2056 <td id="LC322" class="blob-code blob-code-inner js-file-line"> title <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">"</span>Legend: Variant Antigen Profile of a $\itTrypanosoma$ $\itvivax$ transcriptomes. <span class="pl-pds">"</span></span> \</td> | |
| 2057 </tr> | |
| 2058 <tr> | |
| 2059 <td id="L323" class="blob-num js-line-number" data-line-number="323"></td> | |
| 2060 <td id="LC323" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>Phylotype abundance is expressed as phylotype frequencies adjusted <span class="pl-pds">"</span></span> \</td> | |
| 2061 </tr> | |
| 2062 <tr> | |
| 2063 <td id="L324" class="blob-num js-line-number" data-line-number="324"></td> | |
| 2064 <td id="LC324" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>for combined transcript abundance. <span class="pl-pds">"</span></span> \</td> | |
| 2065 </tr> | |
| 2066 <tr> | |
| 2067 <td id="L325" class="blob-num js-line-number" data-line-number="325"></td> | |
| 2068 <td id="LC325" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>Data was produced with VAPPER-Variant Antigen Profiler (Silva Pereira et al., 2019).<span class="pl-pds">"</span></span></td> | |
| 2069 </tr> | |
| 2070 <tr> | |
| 2071 <td id="L326" class="blob-num js-line-number" data-line-number="326"></td> | |
| 2072 <td id="LC326" class="blob-code blob-code-inner js-file-line"> width <span class="pl-k">=</span> <span class="pl-c1">0.6</span></td> | |
| 2073 </tr> | |
| 2074 <tr> | |
| 2075 <td id="L327" class="blob-num js-line-number" data-line-number="327"></td> | |
| 2076 <td id="LC327" class="blob-code blob-code-inner js-file-line"> ind <span class="pl-k">=</span> np.arange(width<span class="pl-k">*</span>sampnum<span class="pl-k">/</span><span class="pl-c1">2</span>, <span class="pl-c1">len</span>(composite_df)<span class="pl-k">*</span>width<span class="pl-k">*</span>(sampnum<span class="pl-k">+</span><span class="pl-c1">1</span>), width<span class="pl-k">*</span>(sampnum<span class="pl-k">+</span><span class="pl-c1">1</span>))</td> | |
| 2077 </tr> | |
| 2078 <tr> | |
| 2079 <td id="L328" class="blob-num js-line-number" data-line-number="328"></td> | |
| 2080 <td id="LC328" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>print(ind)</span></td> | |
| 2081 </tr> | |
| 2082 <tr> | |
| 2083 <td id="L329" class="blob-num js-line-number" data-line-number="329"></td> | |
| 2084 <td id="LC329" class="blob-code blob-code-inner js-file-line"> ysize <span class="pl-k">=</span> <span class="pl-c1">len</span>(composite_df)<span class="pl-k">*</span><span class="pl-c1">0.4</span></td> | |
| 2085 </tr> | |
| 2086 <tr> | |
| 2087 <td id="L330" class="blob-num js-line-number" data-line-number="330"></td> | |
| 2088 <td id="LC330" class="blob-code blob-code-inner js-file-line"> | |
| 2089 </td> | |
| 2090 </tr> | |
| 2091 <tr> | |
| 2092 <td id="L331" class="blob-num js-line-number" data-line-number="331"></td> | |
| 2093 <td id="LC331" class="blob-code blob-code-inner js-file-line"> fig, ax <span class="pl-k">=</span> plt.subplots(<span class="pl-v">figsize</span><span class="pl-k">=</span>(<span class="pl-c1">10</span>,ysize))</td> | |
| 2094 </tr> | |
| 2095 <tr> | |
| 2096 <td id="L332" class="blob-num js-line-number" data-line-number="332"></td> | |
| 2097 <td id="LC332" class="blob-code blob-code-inner js-file-line"> | |
| 2098 </td> | |
| 2099 </tr> | |
| 2100 <tr> | |
| 2101 <td id="L333" class="blob-num js-line-number" data-line-number="333"></td> | |
| 2102 <td id="LC333" class="blob-code blob-code-inner js-file-line"> | |
| 2103 </td> | |
| 2104 </tr> | |
| 2105 <tr> | |
| 2106 <td id="L334" class="blob-num js-line-number" data-line-number="334"></td> | |
| 2107 <td id="LC334" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> s <span class="pl-k">in</span> <span class="pl-c1">range</span>(<span class="pl-c1">1</span>, <span class="pl-c1">len</span>(labelList)):</td> | |
| 2108 </tr> | |
| 2109 <tr> | |
| 2110 <td id="L335" class="blob-num js-line-number" data-line-number="335"></td> | |
| 2111 <td id="LC335" class="blob-code blob-code-inner js-file-line"> ax.barh(ind, composite_df[labelList[s]], width, <span class="pl-v">color</span><span class="pl-k">=</span>palette[s], <span class="pl-v">label</span><span class="pl-k">=</span>labelList[s])</td> | |
| 2112 </tr> | |
| 2113 <tr> | |
| 2114 <td id="L336" class="blob-num js-line-number" data-line-number="336"></td> | |
| 2115 <td id="LC336" class="blob-code blob-code-inner js-file-line"> ind <span class="pl-k">=</span> ind <span class="pl-k">+</span> width</td> | |
| 2116 </tr> | |
| 2117 <tr> | |
| 2118 <td id="L337" class="blob-num js-line-number" data-line-number="337"></td> | |
| 2119 <td id="LC337" class="blob-code blob-code-inner js-file-line"> | |
| 2120 </td> | |
| 2121 </tr> | |
| 2122 <tr> | |
| 2123 <td id="L338" class="blob-num js-line-number" data-line-number="338"></td> | |
| 2124 <td id="LC338" class="blob-code blob-code-inner js-file-line"> ax.set(<span class="pl-v">yticks</span><span class="pl-k">=</span>np.arange(width<span class="pl-k">*</span>(sampnum<span class="pl-k">+</span><span class="pl-c1">2</span>)<span class="pl-k">/</span><span class="pl-c1">2</span>, <span class="pl-c1">len</span>(composite_df)<span class="pl-k">*</span>width<span class="pl-k">*</span>(sampnum<span class="pl-k">+</span><span class="pl-c1">1</span>), width<span class="pl-k">*</span>(sampnum<span class="pl-k">+</span><span class="pl-c1">1</span>)), <span class="pl-v">yticklabels</span><span class="pl-k">=</span>composite_df[<span class="pl-s"><span class="pl-pds">'</span>Phylotype<span class="pl-pds">'</span></span>]) <span class="pl-c"><span class="pl-c">#</span> , ylim=[(len(labelList)-1) * width - 1, len(composite_df)])</span></td> | |
| 2125 </tr> | |
| 2126 <tr> | |
| 2127 <td id="L339" class="blob-num js-line-number" data-line-number="339"></td> | |
| 2128 <td id="LC339" class="blob-code blob-code-inner js-file-line"> ax.legend()</td> | |
| 2129 </tr> | |
| 2130 <tr> | |
| 2131 <td id="L340" class="blob-num js-line-number" data-line-number="340"></td> | |
| 2132 <td id="LC340" class="blob-code blob-code-inner js-file-line"> | |
| 2133 </td> | |
| 2134 </tr> | |
| 2135 <tr> | |
| 2136 <td id="L341" class="blob-num js-line-number" data-line-number="341"></td> | |
| 2137 <td id="LC341" class="blob-code blob-code-inner js-file-line"> | |
| 2138 </td> | |
| 2139 </tr> | |
| 2140 <tr> | |
| 2141 <td id="L342" class="blob-num js-line-number" data-line-number="342"></td> | |
| 2142 <td id="LC342" class="blob-code blob-code-inner js-file-line"> ax.set_ylabel(<span class="pl-s"><span class="pl-pds">'</span>Phylotype<span class="pl-pds">'</span></span>)</td> | |
| 2143 </tr> | |
| 2144 <tr> | |
| 2145 <td id="L343" class="blob-num js-line-number" data-line-number="343"></td> | |
| 2146 <td id="LC343" class="blob-code blob-code-inner js-file-line"> ax.invert_yaxis() <span class="pl-c"><span class="pl-c">#</span> labels read top-to-bottom</span></td> | |
| 2147 </tr> | |
| 2148 <tr> | |
| 2149 <td id="L344" class="blob-num js-line-number" data-line-number="344"></td> | |
| 2150 <td id="LC344" class="blob-code blob-code-inner js-file-line"> ax.set_xlabel(<span class="pl-s"><span class="pl-pds">'</span>Weighted Phylotype Frequency<span class="pl-pds">'</span></span>)</td> | |
| 2151 </tr> | |
| 2152 <tr> | |
| 2153 <td id="L345" class="blob-num js-line-number" data-line-number="345"></td> | |
| 2154 <td id="LC345" class="blob-code blob-code-inner js-file-line"> | |
| 2155 </td> | |
| 2156 </tr> | |
| 2157 <tr> | |
| 2158 <td id="L346" class="blob-num js-line-number" data-line-number="346"></td> | |
| 2159 <td id="LC346" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> plt.text(-0.3, -0.15, title, va="top", wrap="True")</span></td> | |
| 2160 </tr> | |
| 2161 <tr> | |
| 2162 <td id="L347" class="blob-num js-line-number" data-line-number="347"></td> | |
| 2163 <td id="LC347" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>plt.tight_layout()</span></td> | |
| 2164 </tr> | |
| 2165 <tr> | |
| 2166 <td id="L348" class="blob-num js-line-number" data-line-number="348"></td> | |
| 2167 <td id="LC348" class="blob-code blob-code-inner js-file-line"> | |
| 2168 </td> | |
| 2169 </tr> | |
| 2170 <tr> | |
| 2171 <td id="L349" class="blob-num js-line-number" data-line-number="349"></td> | |
| 2172 <td id="LC349" class="blob-code blob-code-inner js-file-line"> plt.subplots_adjust(<span class="pl-v">bottom</span><span class="pl-k">=</span><span class="pl-c1">0.1</span>, <span class="pl-v">top</span><span class="pl-k">=</span><span class="pl-c1">0.92</span>, <span class="pl-v">left</span><span class="pl-k">=</span><span class="pl-c1">0.15</span>, <span class="pl-v">right</span><span class="pl-k">=</span><span class="pl-c1">0.9</span>)</td> | |
| 2173 </tr> | |
| 2174 <tr> | |
| 2175 <td id="L350" class="blob-num js-line-number" data-line-number="350"></td> | |
| 2176 <td id="LC350" class="blob-code blob-code-inner js-file-line"> ax.set_title(title, <span class="pl-v">x</span><span class="pl-k">=</span><span class="pl-c1">0</span>, <span class="pl-v">wrap</span><span class="pl-k">=</span><span class="pl-s"><span class="pl-pds">'</span>True<span class="pl-pds">'</span></span>,<span class="pl-v">ha</span><span class="pl-k">=</span><span class="pl-s"><span class="pl-pds">'</span>left<span class="pl-pds">'</span></span>,)</td> | |
| 2177 </tr> | |
| 2178 <tr> | |
| 2179 <td id="L351" class="blob-num js-line-number" data-line-number="351"></td> | |
| 2180 <td id="LC351" class="blob-code blob-code-inner js-file-line"> | |
| 2181 </td> | |
| 2182 </tr> | |
| 2183 <tr> | |
| 2184 <td id="L352" class="blob-num js-line-number" data-line-number="352"></td> | |
| 2185 <td id="LC352" class="blob-code blob-code-inner js-file-line"> plt.savefig(tdict[<span class="pl-s"><span class="pl-pds">'</span>html_resource<span class="pl-pds">'</span></span>] <span class="pl-k">+</span> tdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>_phylotypes.png<span class="pl-pds">"</span></span>)</td> | |
| 2186 </tr> | |
| 2187 <tr> | |
| 2188 <td id="L353" class="blob-num js-line-number" data-line-number="353"></td> | |
| 2189 <td id="LC353" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> tdict[<span class="pl-s"><span class="pl-pds">'</span>pdf<span class="pl-pds">'</span></span>] <span class="pl-k">==</span> <span class="pl-s"><span class="pl-pds">'</span>PDF_Yes<span class="pl-pds">'</span></span>:</td> | |
| 2190 </tr> | |
| 2191 <tr> | |
| 2192 <td id="L354" class="blob-num js-line-number" data-line-number="354"></td> | |
| 2193 <td id="LC354" class="blob-code blob-code-inner js-file-line"> plt.savefig(tdict[<span class="pl-s"><span class="pl-pds">'</span>html_resource<span class="pl-pds">'</span></span>] <span class="pl-k">+</span> tdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>phylotypes.pdf<span class="pl-pds">"</span></span>)</td> | |
| 2194 </tr> | |
| 2195 <tr> | |
| 2196 <td id="L355" class="blob-num js-line-number" data-line-number="355"></td> | |
| 2197 <td id="LC355" class="blob-code blob-code-inner js-file-line"> plt.show()</td> | |
| 2198 </tr> | |
| 2199 <tr> | |
| 2200 <td id="L356" class="blob-num js-line-number" data-line-number="356"></td> | |
| 2201 <td id="LC356" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">pass</span></td> | |
| 2202 </tr> | |
| 2203 <tr> | |
| 2204 <td id="L357" class="blob-num js-line-number" data-line-number="357"></td> | |
| 2205 <td id="LC357" class="blob-code blob-code-inner js-file-line"> | |
| 2206 </td> | |
| 2207 </tr> | |
| 2208 <tr> | |
| 2209 <td id="L358" class="blob-num js-line-number" data-line-number="358"></td> | |
| 2210 <td id="LC358" class="blob-code blob-code-inner js-file-line"> | |
| 2211 </td> | |
| 2212 </tr> | |
| 2213 <tr> | |
| 2214 <td id="L359" class="blob-num js-line-number" data-line-number="359"></td> | |
| 2215 <td id="LC359" class="blob-code blob-code-inner js-file-line"> | |
| 2216 </td> | |
| 2217 </tr> | |
| 2218 <tr> | |
| 2219 <td id="L360" class="blob-num js-line-number" data-line-number="360"></td> | |
| 2220 <td id="LC360" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">doBarChart</span>(<span class="pl-smi">tdict</span>, <span class="pl-smi">sum2_df</span>):</td> | |
| 2221 </tr> | |
| 2222 <tr> | |
| 2223 <td id="L361" class="blob-num js-line-number" data-line-number="361"></td> | |
| 2224 <td id="LC361" class="blob-code blob-code-inner js-file-line"> cmap <span class="pl-k">=</span> plt.cm.get_cmap(<span class="pl-s"><span class="pl-pds">'</span>tab20<span class="pl-pds">'</span></span>)</td> | |
| 2225 </tr> | |
| 2226 <tr> | |
| 2227 <td id="L362" class="blob-num js-line-number" data-line-number="362"></td> | |
| 2228 <td id="LC362" class="blob-code blob-code-inner js-file-line"> palette <span class="pl-k">=</span> [cmap(i) <span class="pl-k">for</span> i <span class="pl-k">in</span> <span class="pl-c1">range</span>(cmap.N)]</td> | |
| 2229 </tr> | |
| 2230 <tr> | |
| 2231 <td id="L363" class="blob-num js-line-number" data-line-number="363"></td> | |
| 2232 <td id="LC363" class="blob-code blob-code-inner js-file-line"> title <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">"</span>Legend: Variant Antigen Profile of a $\itTrypanosoma$ $\itvivax$ transcriptome. <span class="pl-pds">"</span></span> \</td> | |
| 2233 </tr> | |
| 2234 <tr> | |
| 2235 <td id="L364" class="blob-num js-line-number" data-line-number="364"></td> | |
| 2236 <td id="LC364" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>Phylotype abundance is expressed as phylotype frequencies adjusted <span class="pl-pds">"</span></span> \</td> | |
| 2237 </tr> | |
| 2238 <tr> | |
| 2239 <td id="L365" class="blob-num js-line-number" data-line-number="365"></td> | |
| 2240 <td id="LC365" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>for combined transcript abundance. <span class="pl-pds">"</span></span> \</td> | |
| 2241 </tr> | |
| 2242 <tr> | |
| 2243 <td id="L366" class="blob-num js-line-number" data-line-number="366"></td> | |
| 2244 <td id="LC366" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>Data was produced with VAPPER-Variant Antigen Profiler (Silva Pereira et al., 2019).<span class="pl-pds">"</span></span></td> | |
| 2245 </tr> | |
| 2246 <tr> | |
| 2247 <td id="L367" class="blob-num js-line-number" data-line-number="367"></td> | |
| 2248 <td id="LC367" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> get a list of phylotype, create equivalent of saccver, get a list of</span></td> | |
| 2249 </tr> | |
| 2250 <tr> | |
| 2251 <td id="L368" class="blob-num js-line-number" data-line-number="368"></td> | |
| 2252 <td id="LC368" class="blob-code blob-code-inner js-file-line"> maxFPKM <span class="pl-k">=</span> sum2_df[<span class="pl-s"><span class="pl-pds">'</span>FPKM<span class="pl-pds">'</span></span>].max()</td> | |
| 2253 </tr> | |
| 2254 <tr> | |
| 2255 <td id="L369" class="blob-num js-line-number" data-line-number="369"></td> | |
| 2256 <td id="LC369" class="blob-code blob-code-inner js-file-line"> total <span class="pl-k">=</span> sum2_df[<span class="pl-s"><span class="pl-pds">'</span>FPKM<span class="pl-pds">'</span></span>].sum()</td> | |
| 2257 </tr> | |
| 2258 <tr> | |
| 2259 <td id="L370" class="blob-num js-line-number" data-line-number="370"></td> | |
| 2260 <td id="LC370" class="blob-code blob-code-inner js-file-line"> | |
| 2261 </td> | |
| 2262 </tr> | |
| 2263 <tr> | |
| 2264 <td id="L371" class="blob-num js-line-number" data-line-number="371"></td> | |
| 2265 <td id="LC371" class="blob-code blob-code-inner js-file-line"> sum2_df[<span class="pl-s"><span class="pl-pds">'</span>Normalised<span class="pl-pds">'</span></span>] <span class="pl-k">=</span> sum2_df.apply(<span class="pl-k">lambda</span> <span class="pl-smi">row</span>: normalisef(row[<span class="pl-s"><span class="pl-pds">'</span>FPKM<span class="pl-pds">'</span></span>], maxFPKM),<span class="pl-v">axis</span><span class="pl-k">=</span><span class="pl-c1">1</span>)</td> | |
| 2266 </tr> | |
| 2267 <tr> | |
| 2268 <td id="L372" class="blob-num js-line-number" data-line-number="372"></td> | |
| 2269 <td id="LC372" class="blob-code blob-code-inner js-file-line"> sum2_df[<span class="pl-s"><span class="pl-pds">'</span>Weighted<span class="pl-pds">'</span></span>] <span class="pl-k">=</span> sum2_df.apply(<span class="pl-k">lambda</span> <span class="pl-smi">row</span>: normalisef(row[<span class="pl-s"><span class="pl-pds">'</span>FPKM<span class="pl-pds">'</span></span>], total),<span class="pl-v">axis</span><span class="pl-k">=</span><span class="pl-c1">1</span>)</td> | |
| 2270 </tr> | |
| 2271 <tr> | |
| 2272 <td id="L373" class="blob-num js-line-number" data-line-number="373"></td> | |
| 2273 <td id="LC373" class="blob-code blob-code-inner js-file-line"> pList <span class="pl-k">=</span> sum2_df[<span class="pl-s"><span class="pl-pds">'</span>Phylotype<span class="pl-pds">'</span></span>]</td> | |
| 2274 </tr> | |
| 2275 <tr> | |
| 2276 <td id="L374" class="blob-num js-line-number" data-line-number="374"></td> | |
| 2277 <td id="LC374" class="blob-code blob-code-inner js-file-line"> phList <span class="pl-k">=</span> []</td> | |
| 2278 </tr> | |
| 2279 <tr> | |
| 2280 <td id="L375" class="blob-num js-line-number" data-line-number="375"></td> | |
| 2281 <td id="LC375" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> p <span class="pl-k">in</span> pList:</td> | |
| 2282 </tr> | |
| 2283 <tr> | |
| 2284 <td id="L376" class="blob-num js-line-number" data-line-number="376"></td> | |
| 2285 <td id="LC376" class="blob-code blob-code-inner js-file-line"> phList.append(<span class="pl-c1">str</span>(p))</td> | |
| 2286 </tr> | |
| 2287 <tr> | |
| 2288 <td id="L377" class="blob-num js-line-number" data-line-number="377"></td> | |
| 2289 <td id="LC377" class="blob-code blob-code-inner js-file-line"> | |
| 2290 </td> | |
| 2291 </tr> | |
| 2292 <tr> | |
| 2293 <td id="L378" class="blob-num js-line-number" data-line-number="378"></td> | |
| 2294 <td id="LC378" class="blob-code blob-code-inner js-file-line"> fList <span class="pl-k">=</span> sum2_df[<span class="pl-s"><span class="pl-pds">'</span>Weighted<span class="pl-pds">'</span></span>]</td> | |
| 2295 </tr> | |
| 2296 <tr> | |
| 2297 <td id="L379" class="blob-num js-line-number" data-line-number="379"></td> | |
| 2298 <td id="LC379" class="blob-code blob-code-inner js-file-line"> ysize <span class="pl-k">=</span> <span class="pl-c1">len</span>(phList)<span class="pl-k">*</span><span class="pl-c1">0.3</span></td> | |
| 2299 </tr> | |
| 2300 <tr> | |
| 2301 <td id="L380" class="blob-num js-line-number" data-line-number="380"></td> | |
| 2302 <td id="LC380" class="blob-code blob-code-inner js-file-line"> fig, ax <span class="pl-k">=</span> plt.subplots(<span class="pl-v">figsize</span><span class="pl-k">=</span>(<span class="pl-c1">10</span>,ysize))</td> | |
| 2303 </tr> | |
| 2304 <tr> | |
| 2305 <td id="L381" class="blob-num js-line-number" data-line-number="381"></td> | |
| 2306 <td id="LC381" class="blob-code blob-code-inner js-file-line"> | |
| 2307 </td> | |
| 2308 </tr> | |
| 2309 <tr> | |
| 2310 <td id="L382" class="blob-num js-line-number" data-line-number="382"></td> | |
| 2311 <td id="LC382" class="blob-code blob-code-inner js-file-line"> ax.barh(phList, fList, <span class="pl-v">color</span><span class="pl-k">=</span>palette)</td> | |
| 2312 </tr> | |
| 2313 <tr> | |
| 2314 <td id="L383" class="blob-num js-line-number" data-line-number="383"></td> | |
| 2315 <td id="LC383" class="blob-code blob-code-inner js-file-line"> ax.set_ylabel(<span class="pl-s"><span class="pl-pds">'</span>Phylotype<span class="pl-pds">'</span></span>)</td> | |
| 2316 </tr> | |
| 2317 <tr> | |
| 2318 <td id="L384" class="blob-num js-line-number" data-line-number="384"></td> | |
| 2319 <td id="LC384" class="blob-code blob-code-inner js-file-line"> ax.invert_yaxis() <span class="pl-c"><span class="pl-c">#</span> labels read top-to-bottom</span></td> | |
| 2320 </tr> | |
| 2321 <tr> | |
| 2322 <td id="L385" class="blob-num js-line-number" data-line-number="385"></td> | |
| 2323 <td id="LC385" class="blob-code blob-code-inner js-file-line"> ax.set_xlabel(<span class="pl-s"><span class="pl-pds">'</span>Weighted Phylotype Frequency<span class="pl-pds">'</span></span>)</td> | |
| 2324 </tr> | |
| 2325 <tr> | |
| 2326 <td id="L386" class="blob-num js-line-number" data-line-number="386"></td> | |
| 2327 <td id="LC386" class="blob-code blob-code-inner js-file-line"> | |
| 2328 </td> | |
| 2329 </tr> | |
| 2330 <tr> | |
| 2331 <td id="L387" class="blob-num js-line-number" data-line-number="387"></td> | |
| 2332 <td id="LC387" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> plt.text(-0.3, -0.15, title, va="top", wrap="True")</span></td> | |
| 2333 </tr> | |
| 2334 <tr> | |
| 2335 <td id="L388" class="blob-num js-line-number" data-line-number="388"></td> | |
| 2336 <td id="LC388" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>plt.tight_layout()</span></td> | |
| 2337 </tr> | |
| 2338 <tr> | |
| 2339 <td id="L389" class="blob-num js-line-number" data-line-number="389"></td> | |
| 2340 <td id="LC389" class="blob-code blob-code-inner js-file-line"> plt.subplots_adjust(<span class="pl-v">bottom</span><span class="pl-k">=</span><span class="pl-c1">0.1</span>, <span class="pl-v">top</span><span class="pl-k">=</span><span class="pl-c1">0.9</span>, <span class="pl-v">left</span><span class="pl-k">=</span><span class="pl-c1">0.15</span>, <span class="pl-v">right</span><span class="pl-k">=</span><span class="pl-c1">0.9</span>)</td> | |
| 2341 </tr> | |
| 2342 <tr> | |
| 2343 <td id="L390" class="blob-num js-line-number" data-line-number="390"></td> | |
| 2344 <td id="LC390" class="blob-code blob-code-inner js-file-line"> ax.set_title(title, <span class="pl-v">x</span><span class="pl-k">=</span><span class="pl-c1">0</span>, <span class="pl-v">wrap</span><span class="pl-k">=</span><span class="pl-s"><span class="pl-pds">'</span>True<span class="pl-pds">'</span></span>,<span class="pl-v">ha</span><span class="pl-k">=</span><span class="pl-s"><span class="pl-pds">'</span>left<span class="pl-pds">'</span></span>,)</td> | |
| 2345 </tr> | |
| 2346 <tr> | |
| 2347 <td id="L391" class="blob-num js-line-number" data-line-number="391"></td> | |
| 2348 <td id="LC391" class="blob-code blob-code-inner js-file-line"> | |
| 2349 </td> | |
| 2350 </tr> | |
| 2351 <tr> | |
| 2352 <td id="L392" class="blob-num js-line-number" data-line-number="392"></td> | |
| 2353 <td id="LC392" class="blob-code blob-code-inner js-file-line"> plt.savefig(tdict[<span class="pl-s"><span class="pl-pds">'</span>html_resource<span class="pl-pds">'</span></span>] <span class="pl-k">+</span> tdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>_phylotypes.png<span class="pl-pds">"</span></span>)</td> | |
| 2354 </tr> | |
| 2355 <tr> | |
| 2356 <td id="L393" class="blob-num js-line-number" data-line-number="393"></td> | |
| 2357 <td id="LC393" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> tdict[<span class="pl-s"><span class="pl-pds">'</span>pdf<span class="pl-pds">'</span></span>] <span class="pl-k">==</span> <span class="pl-s"><span class="pl-pds">'</span>PDF_Yes<span class="pl-pds">'</span></span>:</td> | |
| 2358 </tr> | |
| 2359 <tr> | |
| 2360 <td id="L394" class="blob-num js-line-number" data-line-number="394"></td> | |
| 2361 <td id="LC394" class="blob-code blob-code-inner js-file-line"> plt.savefig(tdict[<span class="pl-s"><span class="pl-pds">'</span>html_resource<span class="pl-pds">'</span></span>] <span class="pl-k">+</span> tdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>phylotypes.pdf<span class="pl-pds">"</span></span>)</td> | |
| 2362 </tr> | |
| 2363 <tr> | |
| 2364 <td id="L395" class="blob-num js-line-number" data-line-number="395"></td> | |
| 2365 <td id="LC395" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> plt.show()</span></td> | |
| 2366 </tr> | |
| 2367 <tr> | |
| 2368 <td id="L396" class="blob-num js-line-number" data-line-number="396"></td> | |
| 2369 <td id="LC396" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">pass</span></td> | |
| 2370 </tr> | |
| 2371 <tr> | |
| 2372 <td id="L397" class="blob-num js-line-number" data-line-number="397"></td> | |
| 2373 <td id="LC397" class="blob-code blob-code-inner js-file-line"> | |
| 2374 </td> | |
| 2375 </tr> | |
| 2376 <tr> | |
| 2377 <td id="L398" class="blob-num js-line-number" data-line-number="398"></td> | |
| 2378 <td id="LC398" class="blob-code blob-code-inner js-file-line"><span class="pl-c"><span class="pl-c">#</span> argdict = {'name':2, 'pdfexport': 3, 'refFastq': 4, 'forward': 5, 'reverse': 6, 'html_file': 7, 'html_resource': 8}</span></td> | |
| 2379 </tr> | |
| 2380 <tr> | |
| 2381 <td id="L399" class="blob-num js-line-number" data-line-number="399"></td> | |
| 2382 <td id="LC399" class="blob-code blob-code-inner js-file-line"> | |
| 2383 </td> | |
| 2384 </tr> | |
| 2385 <tr> | |
| 2386 <td id="L400" class="blob-num js-line-number" data-line-number="400"></td> | |
| 2387 <td id="LC400" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">transcriptomicProcess</span>(<span class="pl-smi">args</span>,<span class="pl-smi">argdict</span>):</td> | |
| 2388 </tr> | |
| 2389 <tr> | |
| 2390 <td id="L401" class="blob-num js-line-number" data-line-number="401"></td> | |
| 2391 <td id="LC401" class="blob-code blob-code-inner js-file-line"> tdict <span class="pl-k">=</span> {}</td> | |
| 2392 </tr> | |
| 2393 <tr> | |
| 2394 <td id="L402" class="blob-num js-line-number" data-line-number="402"></td> | |
| 2395 <td id="LC402" class="blob-code blob-code-inner js-file-line"> tdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>] <span class="pl-k">=</span> args[argdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]]</td> | |
| 2396 </tr> | |
| 2397 <tr> | |
| 2398 <td id="L403" class="blob-num js-line-number" data-line-number="403"></td> | |
| 2399 <td id="LC403" class="blob-code blob-code-inner js-file-line"> tdict[<span class="pl-s"><span class="pl-pds">'</span>refFastq<span class="pl-pds">'</span></span>] <span class="pl-k">=</span> args[argdict[<span class="pl-s"><span class="pl-pds">'</span>refFastq<span class="pl-pds">'</span></span>]]</td> | |
| 2400 </tr> | |
| 2401 <tr> | |
| 2402 <td id="L404" class="blob-num js-line-number" data-line-number="404"></td> | |
| 2403 <td id="LC404" class="blob-code blob-code-inner js-file-line"> tdict[<span class="pl-s"><span class="pl-pds">'</span>forward<span class="pl-pds">'</span></span>] <span class="pl-k">=</span> args[argdict[<span class="pl-s"><span class="pl-pds">'</span>forward<span class="pl-pds">'</span></span>]]</td> | |
| 2404 </tr> | |
| 2405 <tr> | |
| 2406 <td id="L405" class="blob-num js-line-number" data-line-number="405"></td> | |
| 2407 <td id="LC405" class="blob-code blob-code-inner js-file-line"> tdict[<span class="pl-s"><span class="pl-pds">'</span>reverse<span class="pl-pds">'</span></span>] <span class="pl-k">=</span> args[argdict[<span class="pl-s"><span class="pl-pds">'</span>reverse<span class="pl-pds">'</span></span>]]</td> | |
| 2408 </tr> | |
| 2409 <tr> | |
| 2410 <td id="L406" class="blob-num js-line-number" data-line-number="406"></td> | |
| 2411 <td id="LC406" class="blob-code blob-code-inner js-file-line"> tdict[<span class="pl-s"><span class="pl-pds">'</span>vivax_trans_database<span class="pl-pds">'</span></span>] <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">'</span>data/vivax/Database/Phylotype_typeseqs.fas<span class="pl-pds">'</span></span></td> | |
| 2412 </tr> | |
| 2413 <tr> | |
| 2414 <td id="L407" class="blob-num js-line-number" data-line-number="407"></td> | |
| 2415 <td id="LC407" class="blob-code blob-code-inner js-file-line"> tdict[<span class="pl-s"><span class="pl-pds">'</span>pdf<span class="pl-pds">'</span></span>] <span class="pl-k">=</span> args[argdict[<span class="pl-s"><span class="pl-pds">'</span>pdfexport<span class="pl-pds">'</span></span>]]</td> | |
| 2416 </tr> | |
| 2417 <tr> | |
| 2418 <td id="L408" class="blob-num js-line-number" data-line-number="408"></td> | |
| 2419 <td id="LC408" class="blob-code blob-code-inner js-file-line"> tdict[<span class="pl-s"><span class="pl-pds">'</span>html_file<span class="pl-pds">'</span></span>] <span class="pl-k">=</span> args[argdict[<span class="pl-s"><span class="pl-pds">'</span>html_file<span class="pl-pds">'</span></span>]]</td> | |
| 2420 </tr> | |
| 2421 <tr> | |
| 2422 <td id="L409" class="blob-num js-line-number" data-line-number="409"></td> | |
| 2423 <td id="LC409" class="blob-code blob-code-inner js-file-line"> tdict[<span class="pl-s"><span class="pl-pds">'</span>html_resource<span class="pl-pds">'</span></span>] <span class="pl-k">=</span> args[argdict[<span class="pl-s"><span class="pl-pds">'</span>html_resource<span class="pl-pds">'</span></span>]]</td> | |
| 2424 </tr> | |
| 2425 <tr> | |
| 2426 <td id="L410" class="blob-num js-line-number" data-line-number="410"></td> | |
| 2427 <td id="LC410" class="blob-code blob-code-inner js-file-line"> </td> | |
| 2428 </tr> | |
| 2429 <tr> | |
| 2430 <td id="L411" class="blob-num js-line-number" data-line-number="411"></td> | |
| 2431 <td id="LC411" class="blob-code blob-code-inner js-file-line"> uploadUserReferenceFastq(tdict[<span class="pl-s"><span class="pl-pds">'</span>refFastq<span class="pl-pds">'</span></span>])</td> | |
| 2432 </tr> | |
| 2433 <tr> | |
| 2434 <td id="L412" class="blob-num js-line-number" data-line-number="412"></td> | |
| 2435 <td id="LC412" class="blob-code blob-code-inner js-file-line"> transcriptMapping(tdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>], tdict[<span class="pl-s"><span class="pl-pds">'</span>refFastq<span class="pl-pds">'</span></span>], tdict[<span class="pl-s"><span class="pl-pds">'</span>forward<span class="pl-pds">'</span></span>], tdict[<span class="pl-s"><span class="pl-pds">'</span>reverse<span class="pl-pds">'</span></span>]) <span class="pl-c"><span class="pl-c">#</span>uses bowtie</span></td> | |
| 2436 </tr> | |
| 2437 <tr> | |
| 2438 <td id="L413" class="blob-num js-line-number" data-line-number="413"></td> | |
| 2439 <td id="LC413" class="blob-code blob-code-inner js-file-line"> processSamFiles(tdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]) <span class="pl-c"><span class="pl-c">#</span>uses samtools</span></td> | |
| 2440 </tr> | |
| 2441 <tr> | |
| 2442 <td id="L414" class="blob-num js-line-number" data-line-number="414"></td> | |
| 2443 <td id="LC414" class="blob-code blob-code-inner js-file-line"> transcriptAbundance(tdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]) <span class="pl-c"><span class="pl-c">#</span>uses cufflinks -> ?.cuff/*.*</span></td> | |
| 2444 </tr> | |
| 2445 <tr> | |
| 2446 <td id="L415" class="blob-num js-line-number" data-line-number="415"></td> | |
| 2447 <td id="LC415" class="blob-code blob-code-inner js-file-line"> transcriptsForBlast(tdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>], tdict[<span class="pl-s"><span class="pl-pds">'</span>refFastq<span class="pl-pds">'</span></span>]) <span class="pl-c"><span class="pl-c">#</span>creates name+4blast.fa</span></td> | |
| 2448 </tr> | |
| 2449 <tr> | |
| 2450 <td id="L416" class="blob-num js-line-number" data-line-number="416"></td> | |
| 2451 <td id="LC416" class="blob-code blob-code-inner js-file-line"> blastContigs(tdict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>], tdict[<span class="pl-s"><span class="pl-pds">'</span>html_resource<span class="pl-pds">'</span></span>], <span class="pl-s"><span class="pl-pds">'</span>data/vivax/Database/Phylotype_typeseqs.fas<span class="pl-pds">'</span></span>)</td> | |
| 2452 </tr> | |
| 2453 <tr> | |
| 2454 <td id="L417" class="blob-num js-line-number" data-line-number="417"></td> | |
| 2455 <td id="LC417" class="blob-code blob-code-inner js-file-line"> sum_df, sum2_df <span class="pl-k">=</span> combineFPMK(tdict)</td> | |
| 2456 </tr> | |
| 2457 <tr> | |
| 2458 <td id="L418" class="blob-num js-line-number" data-line-number="418"></td> | |
| 2459 <td id="LC418" class="blob-code blob-code-inner js-file-line"> doBarChart(tdict, sum2_df)</td> | |
| 2460 </tr> | |
| 2461 <tr> | |
| 2462 <td id="L419" class="blob-num js-line-number" data-line-number="419"></td> | |
| 2463 <td id="LC419" class="blob-code blob-code-inner js-file-line"> createHTML(tdict, sum_df)</td> | |
| 2464 </tr> | |
| 2465 <tr> | |
| 2466 <td id="L420" class="blob-num js-line-number" data-line-number="420"></td> | |
| 2467 <td id="LC420" class="blob-code blob-code-inner js-file-line"> | |
| 2468 </td> | |
| 2469 </tr> | |
| 2470 <tr> | |
| 2471 <td id="L421" class="blob-num js-line-number" data-line-number="421"></td> | |
| 2472 <td id="LC421" class="blob-code blob-code-inner js-file-line"> | |
| 2473 </td> | |
| 2474 </tr> | |
| 2475 <tr> | |
| 2476 <td id="L422" class="blob-num js-line-number" data-line-number="422"></td> | |
| 2477 <td id="LC422" class="blob-code blob-code-inner js-file-line"><span class="pl-k">if</span> <span class="pl-c1">__name__</span> <span class="pl-k">==</span> <span class="pl-s"><span class="pl-pds">"</span>__main__<span class="pl-pds">"</span></span>:</td> | |
| 2478 </tr> | |
| 2479 <tr> | |
| 2480 <td id="L423" class="blob-num js-line-number" data-line-number="423"></td> | |
| 2481 <td id="LC423" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">exit</span>()</td> | |
| 2482 </tr> | |
| 2483 <tr> | |
| 2484 <td id="L424" class="blob-num js-line-number" data-line-number="424"></td> | |
| 2485 <td id="LC424" class="blob-code blob-code-inner js-file-line"> | |
| 2486 </td> | |
| 2487 </tr> | |
| 2488 <tr> | |
| 2489 <td id="L425" class="blob-num js-line-number" data-line-number="425"></td> | |
| 2490 <td id="LC425" class="blob-code blob-code-inner js-file-line"> | |
| 2491 </td> | |
| 2492 </tr> | |
| 2493 </table> | |
| 2494 | |
| 2495 <details class="details-reset details-overlay BlobToolbar position-absolute js-file-line-actions dropdown d-none" aria-hidden="true"> | |
| 2496 <summary class="btn-octicon ml-0 px-2 p-0 bg-white border border-gray-dark rounded-1" aria-label="Inline file action toolbar"> | |
| 2497 <svg class="octicon octicon-kebab-horizontal" viewBox="0 0 13 16" version="1.1" width="13" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zm5 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3zM13 7.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z"/></svg> | |
| 2498 </summary> | |
| 2499 <details-menu> | |
| 2500 <ul class="BlobToolbar-dropdown dropdown-menu dropdown-menu-se mt-2" style="width:185px"> | |
| 2501 <li><clipboard-copy role="menuitem" class="dropdown-item" id="js-copy-lines" style="cursor:pointer;" data-original-text="Copy lines">Copy lines</clipboard-copy></li> | |
| 2502 <li><clipboard-copy role="menuitem" class="dropdown-item" id="js-copy-permalink" style="cursor:pointer;" data-original-text="Copy permalink">Copy permalink</clipboard-copy></li> | |
| 2503 <li><a class="dropdown-item js-update-url-with-hash" id="js-view-git-blame" role="menuitem" href="/johnheap/VAPPER-Galaxy/blame/a4e16d71fe985f389930c02f94354b87d3aabadb/Tryp_V_T.py">View git blame</a></li> | |
| 2504 <li><a class="dropdown-item" id="js-new-issue" role="menuitem" href="/johnheap/VAPPER-Galaxy/issues/new">Reference in new issue</a></li> | |
| 2505 </ul> | |
| 2506 </details-menu> | |
| 2507 </details> | |
| 2508 | |
| 2509 </div> | |
| 2510 | |
| 2511 </div> | |
| 2512 | |
| 2513 | |
| 2514 | |
| 2515 <details class="details-reset details-overlay details-overlay-dark"> | |
| 2516 <summary data-hotkey="l" aria-label="Jump to line"></summary> | |
| 2517 <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast linejump" aria-label="Jump to line"> | |
| 2518 <!-- '"` --><!-- </textarea></xmp> --></option></form><form class="js-jump-to-line-form Box-body d-flex" action="" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓" /> | |
| 2519 <input class="form-control flex-auto mr-3 linejump-input js-jump-to-line-field" type="text" placeholder="Jump to line…" aria-label="Jump to line" autofocus> | |
| 2520 <button type="submit" class="btn" data-close-dialog>Go</button> | |
| 2521 </form> </details-dialog> | |
| 2522 </details> | |
| 2523 | |
| 2524 | |
| 2525 | |
| 2526 </div> | |
| 2527 <div class="modal-backdrop js-touch-events"></div> | |
| 2528 </div> | |
| 2529 | |
| 2530 </main> | |
| 2531 </div> | |
| 2532 | |
| 2533 | |
| 2534 </div> | |
| 2535 | |
| 2536 | |
| 2537 <div class="footer container-lg width-full p-responsive" role="contentinfo"> | |
| 2538 <div class="position-relative d-flex flex-row-reverse flex-lg-row flex-wrap flex-lg-nowrap flex-justify-center flex-lg-justify-between pt-6 pb-2 mt-6 f6 text-gray border-top border-gray-light "> | |
| 2539 <ul class="list-style-none d-flex flex-wrap col-12 col-lg-5 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0"> | |
| 2540 <li class="mr-3 mr-lg-0">© 2019 <span title="0.75142s from unicorn-74746df85b-zvhqz">GitHub</span>, Inc.</li> | |
| 2541 <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to terms, text:terms" href="https://github.com/site/terms">Terms</a></li> | |
| 2542 <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to privacy, text:privacy" href="https://github.com/site/privacy">Privacy</a></li> | |
| 2543 <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to security, text:security" href="https://github.com/security">Security</a></li> | |
| 2544 <li class="mr-3 mr-lg-0"><a href="https://githubstatus.com/" data-ga-click="Footer, go to status, text:status">Status</a></li> | |
| 2545 <li><a data-ga-click="Footer, go to help, text:help" href="https://help.github.com">Help</a></li> | |
| 2546 </ul> | |
| 2547 | |
| 2548 <a aria-label="Homepage" title="GitHub" class="footer-octicon d-none d-lg-block mx-lg-4" href="https://github.com"> | |
| 2549 <svg height="24" class="octicon octicon-mark-github" viewBox="0 0 16 16" version="1.1" width="24" aria-hidden="true"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"/></svg> | |
| 2550 </a> | |
| 2551 <ul class="list-style-none d-flex flex-wrap col-12 col-lg-5 flex-justify-center flex-lg-justify-between mb-2 mb-lg-0"> | |
| 2552 <li class="mr-3 mr-lg-0"><a data-ga-click="Footer, go to contact, text:contact" href="https://github.com/contact">Contact GitHub</a></li> | |
| 2553 <li class="mr-3 mr-lg-0"><a href="https://github.com/pricing" data-ga-click="Footer, go to Pricing, text:Pricing">Pricing</a></li> | |
| 2554 <li class="mr-3 mr-lg-0"><a href="https://developer.github.com" data-ga-click="Footer, go to api, text:api">API</a></li> | |
| 2555 <li class="mr-3 mr-lg-0"><a href="https://training.github.com" data-ga-click="Footer, go to training, text:training">Training</a></li> | |
| 2556 <li class="mr-3 mr-lg-0"><a href="https://github.blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li> | |
| 2557 <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li> | |
| 2558 | |
| 2559 </ul> | |
| 2560 </div> | |
| 2561 <div class="d-flex flex-justify-center pb-6"> | |
| 2562 <span class="f6 text-gray-light"></span> | |
| 2563 </div> | |
| 2564 </div> | |
| 2565 | |
| 2566 | |
| 2567 | |
| 2568 <div id="ajax-error-message" class="ajax-error-message flash flash-error"> | |
| 2569 <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg> | |
| 2570 <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> | |
| 2571 <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> | |
| 2572 </button> | |
| 2573 You can’t perform that action at this time. | |
| 2574 </div> | |
| 2575 | |
| 2576 | |
| 2577 <script crossorigin="anonymous" integrity="sha512-EPrD+nddbyhpiLL8l3M8VfJpZr4J2EWQLaPXZ+6A3VDJKzS5HeZ3dkMVieHSdvIPHsMbWPyVlY42SWKoS4XTfA==" type="application/javascript" src="https://github.githubassets.com/assets/compat-bootstrap-831f12d4.js"></script> | |
| 2578 <script crossorigin="anonymous" integrity="sha512-oFBEYscCdWEyvUQehaYyaCSiKtIN4UvpfFHNpIXLUTSQ35JcacPNj86R8fgJfI1e7BOjbLZPTv1nJg3TECiMLw==" type="application/javascript" src="https://github.githubassets.com/assets/frameworks-7af24171.js"></script> | |
| 2579 | |
| 2580 <script crossorigin="anonymous" async="async" integrity="sha512-b9BDH7EZq1yaR2fUH08I378zVkToScLiQ//L0gdyPviliuwpWiVFkB8uW0K8zZszdeLeBpib7wGBLkPiIFgyHg==" type="application/javascript" src="https://github.githubassets.com/assets/github-bootstrap-2a8c2b54.js"></script> | |
| 2581 | |
| 2582 | |
| 2583 | |
| 2584 <div class="js-stale-session-flash stale-session-flash flash flash-warn flash-banner" hidden | |
| 2585 > | |
| 2586 <svg class="octicon octicon-alert" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"/></svg> | |
| 2587 <span class="signed-in-tab-flash">You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span> | |
| 2588 <span class="signed-out-tab-flash">You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span> | |
| 2589 </div> | |
| 2590 <template id="site-details-dialog"> | |
| 2591 <details class="details-reset details-overlay details-overlay-dark lh-default text-gray-dark hx_rsm" open> | |
| 2592 <summary role="button" aria-label="Close dialog"></summary> | |
| 2593 <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> | |
| 2594 <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> | |
| 2595 <svg class="octicon octicon-x" viewBox="0 0 12 16" version="1.1" width="12" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"/></svg> | |
| 2596 </button> | |
| 2597 <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> | |
| 2598 </details-dialog> | |
| 2599 </details> | |
| 2600 </template> | |
| 2601 | |
| 2602 <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0"> | |
| 2603 <div class="Popover-message Popover-message--bottom-left Popover-message--large Box box-shadow-large" style="width:360px;"> | |
| 2604 </div> | |
| 2605 </div> | |
| 2606 | |
| 2607 <div aria-live="polite" class="js-global-screen-reader-notice sr-only"></div> | |
| 2608 | |
| 2609 </body> | |
| 2610 </html> | |
| 2611 |
