Mercurial > repos > johnheap > vapper
comparison Tryp_V.py @ 8:e75a85590041 draft
Uploaded
author | johnheap |
---|---|
date | Mon, 03 Jun 2019 14:09:07 -0400 |
parents | 4432e4183ebd |
children | e7da2274c9f6 |
comparison
equal
deleted
inserted
replaced
7:25226d33642e | 8:e75a85590041 |
---|---|
1 """ | 1 |
2 * Copyright 2018 University of Liverpool | 2 |
3 * Author: John Heap, Computational Biology Facility, UoL | 3 |
4 * Based on original scripts of Sara Silva Pereira, Institute of Infection and Global Health, UoL | 4 |
5 * | 5 |
6 * Licensed under the Apache License, Version 2.0 (the "License"); | 6 |
7 * you may not use this file except in compliance with the License. | 7 <!DOCTYPE html> |
8 * You may obtain a copy of the License at | 8 <html lang="en"> |
9 * | 9 <head> |
10 * http://www.apache.org/licenses/LICENSE-2.0 | 10 <meta charset="utf-8"> |
11 * | 11 <link rel="dns-prefetch" href="https://github.githubassets.com"> |
12 * Unless required by applicable law or agreed to in writing, software | 12 <link rel="dns-prefetch" href="https://avatars0.githubusercontent.com"> |
13 * distributed under the License is distributed on an "AS IS" BASIS, | 13 <link rel="dns-prefetch" href="https://avatars1.githubusercontent.com"> |
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 14 <link rel="dns-prefetch" href="https://avatars2.githubusercontent.com"> |
15 * See the License for the specific language governing permissions and | 15 <link rel="dns-prefetch" href="https://avatars3.githubusercontent.com"> |
16 * limitations under the License. | 16 <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> |
17 * | 17 <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> |
18 """ | 18 |
19 | 19 |
20 import matplotlib as mpl | 20 |
21 mpl.use('Agg') | 21 <link crossorigin="anonymous" media="all" integrity="sha512-3+HOqCwtQal5hOJQ+mdxiq5zmGOTjF6RhjDsPLxbKDYgGlLFeCwzoIanb7j5IiCuXKUqyC2q8FdkC4nmx2P2rA==" rel="stylesheet" href="https://github.githubassets.com/assets/frameworks-a2fba223d5af91496cac70d4ec3624df.css" /> |
22 | 22 <link crossorigin="anonymous" media="all" integrity="sha512-MRlTIqIyb8caK5+o8llXVntXovciHyAM4qE3kWU2S7SIjAPDxYp4mE0jQp4kP5UYegy+lG9y1I6VlsdzEjb5Qw==" rel="stylesheet" href="https://github.githubassets.com/assets/site-294181adec18ed639e160b96b45d17ac.css" /> |
23 import subprocess | 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 import shutil | 24 |
25 import re | 25 |
26 import pandas as pd | 26 |
27 import os | 27 |
28 | 28 |
29 import sys | 29 <meta name="viewport" content="width=device-width"> |
30 | 30 |
31 import matplotlib.pyplot as plt | 31 <title>VAPPER-Galaxy/Tryp_V.py at master · johnheap/VAPPER-Galaxy · GitHub</title> |
32 from matplotlib.patches import Patch | 32 <meta name="description" content="Contribute to johnheap/VAPPER-Galaxy development by creating an account on GitHub."> |
33 import seaborn as sns | 33 <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> |
34 | 34 <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> |
35 def assembleWithVelvet(name, kmers, inslen, covcut, fastq1name,fastq2name): | 35 <meta property="fb:app_id" content="1401488693436528"> |
36 #argString = "velveth " + name + "_k65 65 -shortPaired -fastq " + name + "_R1.fastq " + name + "_R2.fastq" | 36 |
37 argString = "velveth " + name + "_k"+ kmers+" "+ kmers + " -shortPaired -fastq " + fastq1name+" "+fastq2name | 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 print(argString) | 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 returncode = subprocess.call(argString, shell=True) | 39 |
40 if returncode != 0: | 40 <link rel="assets" href="https://github.githubassets.com/"> |
41 return "Error in velveth" | 41 |
42 argString = "velvetg " + name + "_k"+kmers+" -exp_cov auto -ins_length "+inslen+" -clean yes -ins_length_sd 50 -min_pair_count 20" | 42 <meta name="pjax-timeout" content="1000"> |
43 #argString = "velvetg " + name + "_k"+kmers+" -exp_cov auto -ins_length "+inslen+" -cov_cutoff "+covcut+" -clean yes -ins_length_sd 50 -min_pair_count 20" | 43 |
44 #argString = "velvetg " + name + "_k65 -exp_cov auto -ins_length 400 -cov_cutoff 5 -clean yes -ins_length_sd 50 -min_pair_count 20"+quietString | 44 <meta name="request-id" content="99EA:03C4:48319:89CA2:5CF56242" data-pjax-transient> |
45 print(argString) | 45 |
46 returncode = subprocess.call(argString, shell = True) | 46 |
47 if returncode != 0: | 47 |
48 return "Error in velvetg" | 48 |
49 shutil.copyfile(name + "_k"+kmers+"//contigs.fa",name + ".fa") # my $namechange = "mv ".$input."_k65/contigs.fa ".$input.".fa"; | 49 <meta name="selected-link" value="repo_source" data-pjax-transient> |
50 return "ok" | 50 |
51 | 51 <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU"> |
52 | 52 <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA"> |
53 def blastContigs(test_name,database): | 53 <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc"> |
54 print(test_name) | 54 |
55 print(database) | 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="99EA:03C4:48319:89CA2:5CF56242" /><meta name="octolytics-dimension-region_edge" content="iad" /><meta name="octolytics-dimension-region_render" content="iad" /> |
56 #db_path = os.path.dirname(os.path.realpath(__file__))+database | 56 <meta name="analytics-location" content="/<user-name>/<repo-name>/blob/show" data-pjax-transient="true" /> |
57 db_path = database | 57 |
58 argString = "blastn -db "+db_path+" -query "+test_name+".fa -outfmt 10 -out "+test_name+"_blast.txt" | 58 |
59 print (argString) | 59 |
60 returncode = subprocess.call(argString, shell = True) | 60 <meta name="google-analytics" content="UA-3769691-2"> |
61 if returncode != 0: | 61 |
62 return "Error in blastall" | 62 |
63 blast_df = pd.read_csv(""+test_name+"_blast.txt") | 63 <meta class="js-ga-set" name="dimension1" content="Logged Out"> |
64 #print (blast_df) | 64 |
65 #if ($temp[2] >= 98 & & $temp[3] > 100 & & $temp[10] < 0.001){ | 65 |
66 #'qaccver saccver pident length mismatch gapopen qstart qend sstart send evalue bitscore' | 66 |
67 blast_df.columns = ['qaccver', 'saccver', 'pident', 'length', 'mismatch', 'gapopen', 'qstart', 'qend', 'sstart', 'send', 'evalue','bitscore'] | 67 |
68 blastResult_df = blast_df[(blast_df['pident']>=98) & (blast_df['length'] > 100) & (blast_df['evalue']<0.001) ] | 68 |
69 blastResult_df = blastResult_df[['qaccver', 'saccver', 'pident']] #query accession.version, subject accession.version, Percentage of identical matches | 69 <meta name="hostname" content="github.com"> |
70 | 70 <meta name="user-login" content=""> |
71 return blastResult_df | 71 |
72 | 72 <meta name="expected-hostname" content="github.com"> |
73 | 73 <meta name="js-proxy-site-detection-payload" content="YzYyMzAwYTYwMTZlZjQ5YWUzNGIzNTY5ZmQ2NTkxYTVmNWQzYzA5NjdiMTY5MDUxNDBjODNkMjI2NjY2NDk3Znx7InJlbW90ZV9hZGRyZXNzIjoiMTI4LjExOC4yNTAuNSIsInJlcXVlc3RfaWQiOiI5OUVBOjAzQzQ6NDgzMTk6ODlDQTI6NUNGNTYyNDIiLCJ0aW1lc3RhbXAiOjE1NTk1ODUzNDYsImhvc3QiOiJnaXRodWIuY29tIn0="> |
74 | 74 |
75 def getCogsPresent(blastResult_df,strain,cogOrBinList): | 75 <meta name="enabled-features" content="UNIVERSE_BANNER,MARKETPLACE_INVOICED_BILLING,MARKETPLACE_SOCIAL_PROOF_CUSTOMERS,MARKETPLACE_TRENDING_SOCIAL_PROOF,MARKETPLACE_RECOMMENDATIONS"> |
76 blastResult_df.sort_values('pident',axis = 0, ascending=False, inplace=True) | 76 |
77 nodeList = blastResult_df['qaccver'].tolist() | 77 <meta name="html-safe-nonce" content="8f60f90a25489bbe59ea08995f73407524f71ec9"> |
78 cogList = blastResult_df['saccver'].tolist() | 78 |
79 cogSet = set(cogList) #get unique values | 79 <meta http-equiv="x-pjax-version" content="af1499c2254d0582d0a98af1dfd7f11b"> |
80 cogList = sorted(cogSet) #sort them | 80 |
81 | 81 |
82 #print (cogList) | 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 #print (len(cogList)) | 83 |
84 | 84 <meta name="go-import" content="github.com/johnheap/VAPPER-Galaxy git https://github.com/johnheap/VAPPER-Galaxy.git"> |
85 thereList = [] | 85 |
86 dataList = [] | 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 #dir_path = os.path.dirname(os.path.realpath(__file__)) | 87 |
88 fname = cogOrBinList | 88 |
89 cnt = 0 | 89 <link rel="canonical" href="https://github.com/johnheap/VAPPER-Galaxy/blob/master/Tryp_V.py" data-pjax-transient> |
90 with open (fname) as f: | 90 |
91 for line in f: | 91 |
92 dataList.append(line.rstrip('\n\r ')) | 92 <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> |
93 if line.rstrip('\n\r ') in cogList: | 93 |
94 thereList.append('1') | 94 <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> |
95 cnt = cnt+1 | 95 |
96 else: | 96 <link rel="mask-icon" href="https://github.githubassets.com/pinned-octocat.svg" color="#000000"> |
97 thereList.append('0') | 97 <link rel="icon" type="image/x-icon" class="js-site-favicon" href="https://github.githubassets.com/favicon.ico"> |
98 | 98 |
99 #print (thereList) | 99 <meta name="theme-color" content="#1e2327"> |
100 #print (cnt) | 100 |
101 data = {'Cog': dataList, strain: thereList} | 101 |
102 presence_df = pd.DataFrame(data) | 102 |
103 #print (presence_df) | 103 |
104 return presence_df | 104 |
105 | 105 <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> |
106 def addToCurrentData(cog_df, name): | 106 |
107 dir_path = os.path.dirname(os.path.realpath(__file__)) | 107 </head> |
108 j_fname = dir_path + r"/data/vivax/TvDatabase.csv" | 108 |
109 tv_df = pd.read_csv(j_fname) | 109 <body class="logged-out env-production page-responsive page-blob"> |
110 | 110 |
111 cogList = cog_df[name].tolist() | 111 |
112 #cogList.insert(0,'Test') | 112 <div class="position-relative js-header-wrapper "> |
113 #print (len(tv_df)) | 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 #print(len(cogList)) | 114 <div id="js-pjax-loader-bar" class="pjax-loader-bar"><div class="progress"></div></div> |
115 | 115 |
116 #print(cogList) | 116 |
117 tv_df.loc[:,name]=cogList | 117 |
118 return tv_df | 118 |
119 | 119 |
120 | 120 |
121 | 121 <header class="Header-old header-logged-out js-details-container Details position-relative f4 py-2" role="banner"> |
122 | 122 <div class="container-lg d-lg-flex flex-items-center p-responsive"> |
123 def createClusterMap(tv_df,name,html_path,pdfExport): | 123 <div class="d-flex flex-justify-between flex-items-center"> |
124 #Retrieve Data | 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 dir_path = os.path.dirname(os.path.realpath(__file__)) | 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 j_fname = dir_path+r"/data/vivax/geoTv.csv" | 126 </a> |
127 geo_df = pd.read_csv(j_fname) | 127 |
128 geo_df.loc[len(geo_df)] =[name,name,'k'] | 128 <div class="d-lg-none css-truncate css-truncate-target width-fit p-2"> |
129 print(geo_df) | 129 |
130 | 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 myStrains = tv_df.columns.values.tolist() #beware first entry is COG | 131 <a class="Header-link" href="/johnheap">johnheap</a> |
132 myStrains = myStrains[1:] | 132 / |
133 print(myStrains) | 133 <a class="Header-link" href="/johnheap/VAPPER-Galaxy">VAPPER-Galaxy</a> |
134 myPal = [] | 134 |
135 for s in myStrains: | 135 |
136 col = geo_df[(geo_df['Strain'] == s)]['colour'].tolist() | 136 </div> |
137 myPal.append(col[0]) | 137 |
138 print(myPal) | 138 <div class="d-flex flex-items-center"> |
139 mycogmap = ['skyblue', 'orangered'] # blue absent,red present | 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":"99EA:03C4:48319:89CA2:5CF56242","originating_url":"https://github.com/johnheap/VAPPER-Galaxy/blob/master/Tryp_V.py","referrer":null,"user_id":null}}" data-hydro-click-hmac="2b5b3e285e06f6291d9585d00d3c451a25d337d3be9971ebaefb9cb398fb4ecc" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up" href="/join?source=header-repo"> |
140 tv_df.set_index('COG', inplace=True) | 140 Sign up |
141 tv_df = tv_df[tv_df.columns].astype(float) | 141 </a> |
142 | 142 <button class="btn-link d-lg-none mt-1 js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false"> |
143 cg = sns.clustermap(tv_df, method='ward', col_colors=myPal, cmap=mycogmap, yticklabels = 1500, row_cluster=False, linewidths = 0) | 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 #cg = sns.clustermap(tv_df, method='ward', row_cluster=False, linewidths = 0) | 144 </button> |
145 ax = cg.ax_heatmap | 145 </div> |
146 #xasix ticks and labels. | 146 </div> |
147 ax.xaxis.tick_top() #set ticks at top | 147 |
148 newlabs = [] | 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 | 149 <div class="d-flex d-lg-none flex-justify-end border-bottom bg-gray-light p-3"> |
150 labs = ax.xaxis.get_ticklabels() | 150 <button class="btn-link js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false"> |
151 for i in range(0, len(labs)): | 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 print(labs[i]) | 152 </button> |
153 # labs[i].set_text(" "+labs[i].get_text()) #make enough room so label sits atop of col_color bars | 153 </div> |
154 newlabs.append(" " + labs[i].get_text()) | 154 |
155 ax.xaxis.set_ticklabels(newlabs) | 155 <nav class="mt-0 px-3 px-lg-0 mb-5 mb-lg-0" aria-label="Global"> |
156 | 156 <ul class="d-lg-flex list-style-none"> |
157 #labs = ax.xaxis.get_ticklabels() | 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 #for i in range(0, len(labs)): | 158 <details class="HeaderMenu-details details-overlay details-reset width-full"> |
159 # print(labs[i]) | 159 <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block"> |
160 # labs[i].set_text(" "+labs[i].get_text()) #make enough room so label sits atop of col_color bars | 160 Why GitHub? |
161 # print(labs[i]) | 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 #ax.xaxis.set_ticklabels(labs) | 162 <path d="M1,1l6.2,6L13,1"></path> |
163 plt.setp(cg.ax_heatmap.xaxis.get_ticklabels(), rotation=90) # get x labels printed vertically | 163 </svg> |
164 | 164 </summary> |
165 cg.cax.set_visible(False) | 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 ax = cg.ax_heatmap | 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 ax.set_yticklabels("") | 167 <ul class="list-style-none f5 pb-3"> |
168 ax.set_ylabel("") | 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 ax = cg.ax_heatmap | 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 # ax.set_title("Variant antigen profiles of T. vivax genomes.\nDendrogram reflects the VSG repertoire relationships of each strain inferred by the presence and absence of non-universal T. vivax VSG orthologs.", va = "top", wrap = "True") | 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 b = len(tv_df) | 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 print(b) | 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 title = "Figure Legend: The Variant Antigen Profiles of $\itTrypanosoma$ $\itvivax$ " \ | 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 "showing the \ncombination of present and absent diagnostic cluster of VSG orthologs " \ | 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 "across the sample cohort. \nDendrogram reflects the relationships amongst the VSG" \ | 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 " repertoires of each strain. " \ | 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 "Strains were isolated \nfrom multiple African countries as shown in the key.\nData was produced with the " \ | 177 </ul> |
178 "'Variant Antigen Profiler' (Silva Pereira and Jackson, 2018)." | 178 |
179 | 179 <ul class="list-style-none mb-0 border-lg-top pt-lg-3"> |
180 ax.text(-1.5, len(tv_df) + 8, | 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 title, | 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 ha="left", va="top", wrap="True") | 182 </ul> |
183 col = cg.ax_col_dendrogram.get_position() | 183 </div> |
184 cg.ax_col_dendrogram.set_position([col.x0, col.y0*1.08, col.width, col.height*1.1]) | 184 </details> |
185 | 185 </li> |
186 countryList = pd.unique(geo_df['Location']) | 186 <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3"> |
187 colourList = pd.unique(geo_df['colour']) | 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 legend_elements = [Patch(facecolor='orangered', label='COG Present'), | 188 </li> |
189 Patch(facecolor='skyblue', label='COG Absent')] | 189 |
190 | 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 for i in range(0, len(colourList)): | 191 <details class="HeaderMenu-details details-overlay details-reset width-full"> |
192 print("country = %s, colour = %s" % (countryList[i], colourList[i])) | 192 <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block"> |
193 p = Patch(facecolor=str(colourList[i]), label=countryList[i]) | 193 Explore |
194 legend_elements.append(p) | 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 | 195 <path d="M1,1l6.2,6L13,1"></path> |
196 ax.legend(handles = legend_elements, bbox_to_anchor=(-0.3,1.2),loc = 'upper left') | 196 </svg> |
197 | 197 </summary> |
198 | 198 |
199 | 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 | 200 <ul class="list-style-none mb-3"> |
201 | 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 | 202 </ul> |
203 | 203 |
204 #plt.setp(cg.ax_heatmap.yaxis.get_ticklabels(), rotation=0 ) # get y labels printed horizontally | 204 <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Learn & contribute</h4> |
205 # cg.dendrogram_col.linkage # linkage matrix for columns | 205 <ul class="list-style-none mb-3"> |
206 # cg.dendrogram_row.linkage # linkage matrix for rows | 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 # plt.savefig(r"results/" + name + "_heatmap.png") | 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 #plt.savefig(htmlresource + "/heatmap.png") | 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 #if pdf == 'PDF_Yes': | 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 # plt.savefig(htmlresource + "/heatmap.pdf") | 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 # shutil.copyfile("heatmap.pdf",heatmapfn) # | 211 </ul> |
212 #plt.legend() | 212 |
213 fname = html_path+"/"+name+"_clustermap.png" | 213 <h4 class="text-gray-light text-normal text-mono f5 mb-2 border-lg-top pt-lg-3">Connect with others</h4> |
214 cg.savefig(fname) | 214 <ul class="list-style-none mb-0"> |
215 if pdfExport == 'PDF_Yes': | 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 fname = html_path + "/" + name + "_clustermap.pdf" | 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 cg.savefig(fname) | 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 #plt.show() | 218 </ul> |
219 | 219 </div> |
220 def createHTML(name,htmlfn,htmlPath): | 220 </details> |
221 #assumes imgs are heatmap.png, dheatmap.png, vapPCA.png and already in htmlresource | 221 </li> |
222 htmlString = r"<html><title>T.vivax VAP</title><body><div style='text-align:center'><h2><i>Trypanosoma vivax</i> Variant Antigen Profile</h2><h3>" | 222 |
223 htmlString += name | 223 <li class="border-bottom border-lg-bottom-0 mr-0 mr-lg-3"> |
224 | 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 | 225 </li> |
226 htmlString += r'<p> <h3>The Heat Map and Dendrogram</h3></p>' | 226 |
227 imgString = r"<img src = '"+name+"_clustermap.png' alt='Cog Clustermap' style='max-width:100%'><br><br>" | 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 htmlString += imgString | 228 <details class="HeaderMenu-details details-overlay details-reset width-full"> |
229 print(htmlString) | 229 <summary class="HeaderMenu-summary HeaderMenu-link px-0 py-3 border-0 no-wrap d-block d-lg-inline-block"> |
230 | 230 Pricing |
231 with open(htmlfn, "w") as htmlfile: | 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 htmlfile.write(htmlString) | 232 <path d="M1,1l6.2,6L13,1"></path> |
233 | 233 </svg> |
234 | 234 </summary> |
235 def vivax_assemble(args,dict): | 235 |
236 #argdict = {'name': 2, 'pdfexport': 3, 'kmers': 4, 'inslen': 5, 'covcut': 6, 'forward': 7, 'reverse': 8, 'html_file': 9,'html_resource': 10} | 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 #assembleWithVelvet("V2_Test", '65', '400', '5', "data/TviBrRp.1.clean", "data/TviBrRp.2.clean") | 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 | 238 |
239 vivaxPath = os.path.dirname(os.path.realpath(__file__))+r"/data/vivax" | 239 <ul class="list-style-none mb-3"> |
240 assembleWithVelvet(args[dict['name']], args[dict['kmers']], args[dict['inslen']], args[dict['covcut']], | 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 args[dict['forward']], args[dict['reverse']]) | 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 blastResult_df = blastContigs(args[dict['name']], vivaxPath+r"/Database/COGs.fas") | 242 </ul> |
243 orthPresence_df = getCogsPresent(blastResult_df, args[dict['name']], vivaxPath+r"/Database/COGlist.txt") | 243 |
244 | 244 <ul class="list-style-none mb-0 border-lg-top pt-lg-3"> |
245 binBlastResult_df = blastContigs(args[dict['name']], vivaxPath+r"/Database/Bin_2.fas") | 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 binPresence_df = getCogsPresent(binBlastResult_df, args[dict['name']], vivaxPath+r"/Database/binlist.txt") | 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 cogPresence_df = orthPresence_df.append(binPresence_df, ignore_index=True) | 247 </ul> |
248 | 248 </div> |
249 fname = args[dict['html_resource']] +args[dict['name']]+"_cogspresent.csv" | 249 </details> |
250 cogPresence_df.to_csv(fname) | 250 </li> |
251 current_df = addToCurrentData(cogPresence_df,args[dict['name']]) # load in Tvdatabase and add cogPresence column to it. | 251 </ul> |
252 createClusterMap(current_df, args[dict['name']],args[dict['html_resource']],args[dict['pdfexport']]) | 252 </nav> |
253 createHTML(args[dict['name']],args[dict['html_file']],args[dict['html_resource']]) | 253 |
254 | 254 <div class="d-lg-flex flex-items-center px-3 px-lg-0 text-center text-lg-left"> |
255 def test_cluster(args,dict): | 255 <div class="d-lg-flex mb-3 mb-lg-0"> |
256 print ("name: %s",args[dict['name']]) | 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 cogPresence_df = pd.read_csv("test_cogspresent.csv") | 257 role="combobox" |
258 print(cogPresence_df) | 258 aria-owns="jump-to-results" |
259 current_df = addToCurrentData(cogPresence_df,args[dict['name']]) # load in Tvdatabase and add cogPresence column to it. | 259 aria-label="Search or jump to" |
260 createClusterMap(current_df, args[dict['name']], args[dict['html_resource']], args[dict['pdfexport']]) | 260 aria-haspopup="listbox" |
261 | 261 aria-expanded="false" |
262 def vivax_contigs(args,dict): | 262 > |
263 # argdict = {'name': 2, 'pdfexport': 3, 'contigs': 4, 'html_file': 5, 'html_resource': 6} | 263 <div class="position-relative"> |
264 | 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 #test_cluster(args,dict) | 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 #return; | 266 <input type="text" |
267 | 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 #subprocess.call('echo $PATH',shell = True) | 268 data-hotkey="s,/" |
269 #sys.exit(1) | 269 name="q" |
270 | 270 value="" |
271 vivaxPath = os.path.dirname(os.path.realpath(__file__))+r"/data/vivax" | 271 placeholder="Search" |
272 shutil.copyfile(args[dict['contigs']], args[dict['name']]+".fa") | 272 data-unscoped-placeholder="Search GitHub" |
273 blastResult_df = blastContigs(args[dict['name']], vivaxPath+r"/Database/COGs.fas") | 273 data-scoped-placeholder="Search" |
274 orthPresence_df = getCogsPresent(blastResult_df, args[dict['name']], vivaxPath+r"/Database/COGlist.txt") | 274 autocapitalize="off" |
275 | 275 aria-autocomplete="list" |
276 binBlastResult_df = blastContigs(args[dict['name']], vivaxPath+r"/Database/Bin_2.fas") | 276 aria-controls="jump-to-results" |
277 binPresence_df = getCogsPresent(binBlastResult_df, args[dict['name']], vivaxPath+r"/Database/binlist.txt") | 277 aria-label="Search" |
278 cogPresence_df = orthPresence_df.append(binPresence_df, ignore_index=True) | 278 data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations#csrf-token=UBI6zrTC3YpC0k8lrlu6srLfkSoG1pT6oQPtlColDmhV/VRup2DMPG2/7aV0Ny9S/lUPp8loX+6gx+nMJGy0Tg==" |
279 | 279 spellcheck="false" |
280 fname = args[dict['html_resource']]+r"/"+ args[dict['name']]+"_cogspresent.csv" | 280 autocomplete="off" |
281 cogPresence_df.to_csv(fname) | 281 > |
282 current_df = addToCurrentData(cogPresence_df,args[dict['name']]) # load in Tvdatabase and add cogPresence column to it. | 282 <input type="hidden" class="js-site-search-type-field" name="type" > |
283 createClusterMap(current_df, args[dict['name']], args[dict['html_resource']], args[dict['pdfexport']]) | 283 <img src="https://github.githubassets.com/images/search-key-slash.svg" alt="" class="mr-2 header-search-key-slash"> |
284 createHTML(args[dict['name']],args[dict['html_file']],args[dict['html_resource']]) | 284 |
285 | 285 <div class="Box position-absolute overflow-hidden d-none jump-to-suggestions js-jump-to-suggestions-container"> |
286 if __name__ == "__main__": | 286 |
287 #assembleWithVelvet("V2_Test",'65','400', '5',"data/TviBrRp.1.clean","data/TviBrRp.2.clean") | 287 <ul class="d-none js-jump-to-suggestions-template-container"> |
288 #assembleWithVelvet("V2_Test",'65','400', '5',"data/Tv493.1","data/Tv493.2") | 288 |
289 #blastResult_df=blastContigs("V2_Test",r"/Database/COGs.fas") | 289 |
290 cogPresence_df = pd.read_csv("test_cogspresent.csv") | 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 print(cogPresence_df) | 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 current_df = addToCurrentData(cogPresence_df,"vTest") # load in Tvdatabase and add cogPresence column to it. | 292 <div class="jump-to-octicon js-jump-to-octicon flex-shrink-0 mr-2 text-center d-none"> |
293 createClusterMap(current_df, "vTest", "sausages","no") | 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 createHTML("vTest","vTest.html","sausages") | 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 sys.exit() | 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 | 296 </div> |
297 blastResult_df=blastContigs("Tv493",r"/Database/COGs.fas") | 297 |
298 orthPresence_df = getCogsPresent(blastResult_df,"Tv493",r"/Database/COGlist.txt") | 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 | 299 |
300 #binBlastResult_df=blastContigs("V2_Test",r"/Database/Bin_2.fas") | 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 | 301 </div> |
302 binBlastResult_df=blastContigs("Tv493",r"/Database/Bin_2.fas") | 302 |
303 binPresence_df = getCogsPresent(binBlastResult_df,"Tv493",r"/Database/binlist.txt") | 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 cogPresence_df = orthPresence_df.append(binPresence_df, ignore_index=True) | 304 <span class="js-jump-to-badge-search-text-default d-none" aria-label="in this repository"> |
305 #now do the next bit? | 305 In this repository |
306 current_df = addToCurrentData(cogPresence_df) # load in Tvdatabase and add cogPresence column to it. | 306 </span> |
307 createClusterMap(current_df,'Test',dict['html_resource'] ,dict['pdfexport']) | 307 <span class="js-jump-to-badge-search-text-global d-none" aria-label="in all of GitHub"> |
308 | 308 All GitHub |
309 | 309 </span> |
310 #print(cogPresence_df) | 310 <span aria-hidden="true" class="d-inline-block ml-1 v-align-middle">↵</span> |
311 dir_path = os.path.dirname(os.path.realpath(__file__)) | 311 </div> |
312 fname = dir_path+r"/results/V2_TestPresence.csv" | 312 |
313 #fnameb = dir_path+r"/results/V2_Test_blastOrth.csv" | 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 #fnameb_bin = dir_path+r"/results/V2_Test_blastBin.csv" | 314 Jump to |
315 #binBlastResult_df.to_csv(fnameb_bin) | 315 <span class="d-inline-block ml-1 v-align-middle">↵</span> |
316 #blastResult_df.to_csv(fnameb) | 316 </div> |
317 | 317 </a> |
318 #cogPresence_df.to_csv(fname) | 318 </li> |
319 cogPresence_df = pd.read_csv(fname) | 319 |
320 | 320 </ul> |
321 current_df = addToCurrentData(cogPresence_df) #load in Tvdatabase and add cogPresence column to it. | 321 |
322 | 322 <ul class="d-none js-jump-to-no-results-template-container"> |
323 | 323 <li class="d-flex flex-justify-center flex-items-center f5 d-none js-jump-to-suggestion p-2"> |
324 | 324 <span class="text-gray">No suggested jump to results</span> |
325 | 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":"99EA:03C4:48319:89CA2:5CF56242","originating_url":"https://github.com/johnheap/VAPPER-Galaxy/blob/master/Tryp_V.py","referrer":null,"user_id":null}}" data-hydro-click-hmac="353e8c84f2f18fd0a1d90ebf90d6ebb40ac5c5e056237a6db808426ed2df827e" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in" href="/login?return_to=%2Fjohnheap%2FVAPPER-Galaxy%2Fblob%2Fmaster%2FTryp_V.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":"99EA:03C4:48319:89CA2:5CF56242","originating_url":"https://github.com/johnheap/VAPPER-Galaxy/blob/master/Tryp_V.py","referrer":null,"user_id":null}}" data-hydro-click-hmac="bdb80b4a14c2cfe7081949b2040a1b106c7d08a74465607e57b93d272d86abe7" 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":"99EA:03C4:48319:89CA2:5CF56242","originating_url":"https://github.com/johnheap/VAPPER-Galaxy/blob/master/Tryp_V.py","referrer":null,"user_id":null}}" data-hydro-click-hmac="b295676f7a5aa2600359d0a9a12dea73d6d1d79065846fa803d253aeb67288b7" 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":"99EA:03C4:48319:89CA2:5CF56242","originating_url":"https://github.com/johnheap/VAPPER-Galaxy/blob/master/Tryp_V.py","referrer":null,"user_id":null}}" data-hydro-click-hmac="be81fccdaaef1ee222c24bd87f541a9143695af5afe58fdc55cf7f9fcdce0c0d" 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":"99EA:03C4:48319:89CA2:5CF56242","originating_url":"https://github.com/johnheap/VAPPER-Galaxy/blob/master/Tryp_V.py","referrer":null,"user_id":null}}" data-hydro-click-hmac="ef29df81d0b2e392154b2f3ca2dd8e8b69cefb4a893ea0cb024d5fc61c1cecf8" 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.py">Permalink</a> | |
599 | |
600 <!-- blob contrib key: blob_contributors:v21:8d85deac8ee1b9a0a5fd911bb3363ca3 --> | |
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="xU83zWJUsWkPzSMF0IOgnG1IrFBNczqZ5ywsufEIt6CiBdLKPBDb7d2W/3ZrhrWcftJsVQRrfW0knhZqbFdYTQ==" /> | |
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":"99EA:03C4:48319:89CA2:5CF56242","originating_url":"https://github.com/johnheap/VAPPER-Galaxy/blob/master/Tryp_V.py","referrer":null,"user_id":null}}" data-hydro-click-hmac="487496866b6d5ec6fe4e392744623d3e1520028554d57ba423b792151b7b40ca" 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.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.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.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.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.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 293 lines (233 sloc) | |
687 <span class="file-info-divider"></span> | |
688 12.2 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.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.py">Blame</a> | |
696 <a rel="nofollow" class="btn btn-sm BtnGroup-item" href="/johnheap/VAPPER-Galaxy/commits/master/Tryp_V.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"> * Copyright 2018 University of Liverpool</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"> * Author: John Heap, Computational Biology Facility, UoL</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"> * Based on original scripts of Sara Silva Pereira, Institute of Infection and Global Health, UoL</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"> *</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"> * Licensed under the Apache License, Version 2.0 (the "License");</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"> * you may not use this file except in compliance with the License.</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"> * You may obtain a copy of the License at</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"> *</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"> * http://www.apache.org/licenses/LICENSE-2.0</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"> * Unless required by applicable law or agreed to in writing, software</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"> * distributed under the License is distributed on an "AS IS" BASIS,</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"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</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"> * See the License for the specific language governing permissions and</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"> * limitations under the License.</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"> *</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"> <span class="pl-pds">"""</span></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"> | |
794 </td> | |
795 </tr> | |
796 <tr> | |
797 <td id="L20" class="blob-num js-line-number" data-line-number="20"></td> | |
798 <td id="LC20" class="blob-code blob-code-inner js-file-line"><span class="pl-k">import</span> matplotlib <span class="pl-k">as</span> mpl</td> | |
799 </tr> | |
800 <tr> | |
801 <td id="L21" class="blob-num js-line-number" data-line-number="21"></td> | |
802 <td id="LC21" class="blob-code blob-code-inner js-file-line">mpl.use(<span class="pl-s"><span class="pl-pds">'</span>Agg<span class="pl-pds">'</span></span>)</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> shutil</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> pandas <span class="pl-k">as</span> pd</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> os</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"> | |
832 </td> | |
833 </tr> | |
834 <tr> | |
835 <td id="L29" class="blob-num js-line-number" data-line-number="29"></td> | |
836 <td id="LC29" class="blob-code blob-code-inner js-file-line"><span class="pl-k">import</span> sys</td> | |
837 </tr> | |
838 <tr> | |
839 <td id="L30" class="blob-num js-line-number" data-line-number="30"></td> | |
840 <td id="LC30" class="blob-code blob-code-inner js-file-line"> | |
841 </td> | |
842 </tr> | |
843 <tr> | |
844 <td id="L31" class="blob-num js-line-number" data-line-number="31"></td> | |
845 <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> | |
846 </tr> | |
847 <tr> | |
848 <td id="L32" class="blob-num js-line-number" data-line-number="32"></td> | |
849 <td id="LC32" class="blob-code blob-code-inner js-file-line"><span class="pl-k">from</span> matplotlib.patches <span class="pl-k">import</span> Patch</td> | |
850 </tr> | |
851 <tr> | |
852 <td id="L33" class="blob-num js-line-number" data-line-number="33"></td> | |
853 <td id="LC33" class="blob-code blob-code-inner js-file-line"><span class="pl-k">import</span> seaborn <span class="pl-k">as</span> sns</td> | |
854 </tr> | |
855 <tr> | |
856 <td id="L34" class="blob-num js-line-number" data-line-number="34"></td> | |
857 <td id="LC34" class="blob-code blob-code-inner js-file-line"> | |
858 </td> | |
859 </tr> | |
860 <tr> | |
861 <td id="L35" class="blob-num js-line-number" data-line-number="35"></td> | |
862 <td id="LC35" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">assembleWithVelvet</span>(<span class="pl-smi">name</span>, <span class="pl-smi">kmers</span>, <span class="pl-smi">inslen</span>, <span class="pl-smi">covcut</span>, <span class="pl-smi">fastq1name</span>,<span class="pl-smi">fastq2name</span>):</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"> <span class="pl-c"><span class="pl-c">#</span>argString = "velveth " + name + "_k65 65 -shortPaired -fastq " + name + "_R1.fastq " + name + "_R2.fastq"</span></td> | |
867 </tr> | |
868 <tr> | |
869 <td id="L37" class="blob-num js-line-number" data-line-number="37"></td> | |
870 <td id="LC37" class="blob-code blob-code-inner js-file-line"> argString <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">"</span>velveth <span class="pl-pds">"</span></span> <span class="pl-k">+</span> name <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span>_k<span class="pl-pds">"</span></span><span class="pl-k">+</span> kmers<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> kmers <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span> -shortPaired -fastq <span class="pl-pds">"</span></span> <span class="pl-k">+</span> fastq1name<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>fastq2name</td> | |
871 </tr> | |
872 <tr> | |
873 <td id="L38" class="blob-num js-line-number" data-line-number="38"></td> | |
874 <td id="LC38" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(argString)</td> | |
875 </tr> | |
876 <tr> | |
877 <td id="L39" class="blob-num js-line-number" data-line-number="39"></td> | |
878 <td id="LC39" 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> | |
879 </tr> | |
880 <tr> | |
881 <td id="L40" class="blob-num js-line-number" data-line-number="40"></td> | |
882 <td id="LC40" 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> | |
883 </tr> | |
884 <tr> | |
885 <td id="L41" class="blob-num js-line-number" data-line-number="41"></td> | |
886 <td id="LC41" 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 velveth<span class="pl-pds">"</span></span></td> | |
887 </tr> | |
888 <tr> | |
889 <td id="L42" class="blob-num js-line-number" data-line-number="42"></td> | |
890 <td id="LC42" class="blob-code blob-code-inner js-file-line"> argString <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">"</span>velvetg <span class="pl-pds">"</span></span> <span class="pl-k">+</span> name <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span>_k<span class="pl-pds">"</span></span><span class="pl-k">+</span>kmers<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span> -exp_cov auto -ins_length <span class="pl-pds">"</span></span><span class="pl-k">+</span>inslen<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span> -clean yes -ins_length_sd 50 -min_pair_count 20<span class="pl-pds">"</span></span></td> | |
891 </tr> | |
892 <tr> | |
893 <td id="L43" class="blob-num js-line-number" data-line-number="43"></td> | |
894 <td id="LC43" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>argString = "velvetg " + name + "_k"+kmers+" -exp_cov auto -ins_length "+inslen+" -cov_cutoff "+covcut+" -clean yes -ins_length_sd 50 -min_pair_count 20"</span></td> | |
895 </tr> | |
896 <tr> | |
897 <td id="L44" class="blob-num js-line-number" data-line-number="44"></td> | |
898 <td id="LC44" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>argString = "velvetg " + name + "_k65 -exp_cov auto -ins_length 400 -cov_cutoff 5 -clean yes -ins_length_sd 50 -min_pair_count 20"+quietString</span></td> | |
899 </tr> | |
900 <tr> | |
901 <td id="L45" class="blob-num js-line-number" data-line-number="45"></td> | |
902 <td id="LC45" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(argString)</td> | |
903 </tr> | |
904 <tr> | |
905 <td id="L46" class="blob-num js-line-number" data-line-number="46"></td> | |
906 <td id="LC46" 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> | |
907 </tr> | |
908 <tr> | |
909 <td id="L47" class="blob-num js-line-number" data-line-number="47"></td> | |
910 <td id="LC47" 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> | |
911 </tr> | |
912 <tr> | |
913 <td id="L48" class="blob-num js-line-number" data-line-number="48"></td> | |
914 <td id="LC48" 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 velvetg<span class="pl-pds">"</span></span></td> | |
915 </tr> | |
916 <tr> | |
917 <td id="L49" class="blob-num js-line-number" data-line-number="49"></td> | |
918 <td id="LC49" class="blob-code blob-code-inner js-file-line"> shutil.copyfile(name <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span>_k<span class="pl-pds">"</span></span><span class="pl-k">+</span>kmers<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>//contigs.fa<span class="pl-pds">"</span></span>,name <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span>.fa<span class="pl-pds">"</span></span>) <span class="pl-c"><span class="pl-c">#</span> my $namechange = "mv ".$input."_k65/contigs.fa ".$input.".fa";</span></td> | |
919 </tr> | |
920 <tr> | |
921 <td id="L50" class="blob-num js-line-number" data-line-number="50"></td> | |
922 <td id="LC50" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> <span class="pl-s"><span class="pl-pds">"</span>ok<span class="pl-pds">"</span></span></td> | |
923 </tr> | |
924 <tr> | |
925 <td id="L51" class="blob-num js-line-number" data-line-number="51"></td> | |
926 <td id="LC51" class="blob-code blob-code-inner js-file-line"> | |
927 </td> | |
928 </tr> | |
929 <tr> | |
930 <td id="L52" class="blob-num js-line-number" data-line-number="52"></td> | |
931 <td id="LC52" class="blob-code blob-code-inner js-file-line"> | |
932 </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-k">def</span> <span class="pl-en">blastContigs</span>(<span class="pl-smi">test_name</span>,<span class="pl-smi">database</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"> <span class="pl-c1">print</span>(test_name)</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"> <span class="pl-c1">print</span>(database)</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"> <span class="pl-c"><span class="pl-c">#</span>db_path = os.path.dirname(os.path.realpath(__file__))+database</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"> db_path <span class="pl-k">=</span> database</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"> argString <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">"</span>blastn -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>.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> | |
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-c1">print</span>(argString)</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"> 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> | |
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-k">if</span> returncode <span class="pl-k">!=</span> <span class="pl-c1">0</span>:</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"> <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> | |
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"> 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> | |
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"> <span class="pl-c"><span class="pl-c">#</span>print (blast_df)</span></td> | |
981 </tr> | |
982 <tr> | |
983 <td id="L65" class="blob-num js-line-number" data-line-number="65"></td> | |
984 <td id="LC65" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>if ($temp[2] >= 98 & & $temp[3] > 100 & & $temp[10] < 0.001){</span></td> | |
985 </tr> | |
986 <tr> | |
987 <td id="L66" class="blob-num js-line-number" data-line-number="66"></td> | |
988 <td id="LC66" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>'qaccver saccver pident length mismatch gapopen qstart qend sstart send evalue bitscore'</span></td> | |
989 </tr> | |
990 <tr> | |
991 <td id="L67" class="blob-num js-line-number" data-line-number="67"></td> | |
992 <td id="LC67" 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> | |
993 </tr> | |
994 <tr> | |
995 <td id="L68" class="blob-num js-line-number" data-line-number="68"></td> | |
996 <td id="LC68" 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">98</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> | |
997 </tr> | |
998 <tr> | |
999 <td id="L69" class="blob-num js-line-number" data-line-number="69"></td> | |
1000 <td id="LC69" 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-c"><span class="pl-c">#</span>query accession.version, subject accession.version, Percentage of identical matches</span></td> | |
1001 </tr> | |
1002 <tr> | |
1003 <td id="L70" class="blob-num js-line-number" data-line-number="70"></td> | |
1004 <td id="LC70" class="blob-code blob-code-inner js-file-line"> | |
1005 </td> | |
1006 </tr> | |
1007 <tr> | |
1008 <td id="L71" class="blob-num js-line-number" data-line-number="71"></td> | |
1009 <td id="LC71" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> blastResult_df</td> | |
1010 </tr> | |
1011 <tr> | |
1012 <td id="L72" class="blob-num js-line-number" data-line-number="72"></td> | |
1013 <td id="LC72" class="blob-code blob-code-inner js-file-line"> | |
1014 </td> | |
1015 </tr> | |
1016 <tr> | |
1017 <td id="L73" class="blob-num js-line-number" data-line-number="73"></td> | |
1018 <td id="LC73" class="blob-code blob-code-inner js-file-line"> | |
1019 </td> | |
1020 </tr> | |
1021 <tr> | |
1022 <td id="L74" class="blob-num js-line-number" data-line-number="74"></td> | |
1023 <td id="LC74" class="blob-code blob-code-inner js-file-line"> | |
1024 </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-k">def</span> <span class="pl-en">getCogsPresent</span>(<span class="pl-smi">blastResult_df</span>,<span class="pl-smi">strain</span>,<span class="pl-smi">cogOrBinList</span>):</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"> blastResult_df.sort_values(<span class="pl-s"><span class="pl-pds">'</span>pident<span class="pl-pds">'</span></span>,<span class="pl-v">axis</span> <span class="pl-k">=</span> <span class="pl-c1">0</span>, <span class="pl-v">ascending</span><span class="pl-k">=</span><span class="pl-c1">False</span>, <span class="pl-v">inplace</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"> nodeList <span class="pl-k">=</span> blastResult_df[<span class="pl-s"><span class="pl-pds">'</span>qaccver<span class="pl-pds">'</span></span>].tolist()</td> | |
1037 </tr> | |
1038 <tr> | |
1039 <td id="L78" class="blob-num js-line-number" data-line-number="78"></td> | |
1040 <td id="LC78" class="blob-code blob-code-inner js-file-line"> cogList <span class="pl-k">=</span> blastResult_df[<span class="pl-s"><span class="pl-pds">'</span>saccver<span class="pl-pds">'</span></span>].tolist()</td> | |
1041 </tr> | |
1042 <tr> | |
1043 <td id="L79" class="blob-num js-line-number" data-line-number="79"></td> | |
1044 <td id="LC79" class="blob-code blob-code-inner js-file-line"> cogSet <span class="pl-k">=</span> <span class="pl-c1">set</span>(cogList) <span class="pl-c"><span class="pl-c">#</span>get unique values</span></td> | |
1045 </tr> | |
1046 <tr> | |
1047 <td id="L80" class="blob-num js-line-number" data-line-number="80"></td> | |
1048 <td id="LC80" class="blob-code blob-code-inner js-file-line"> cogList <span class="pl-k">=</span> <span class="pl-c1">sorted</span>(cogSet) <span class="pl-c"><span class="pl-c">#</span>sort them</span></td> | |
1049 </tr> | |
1050 <tr> | |
1051 <td id="L81" class="blob-num js-line-number" data-line-number="81"></td> | |
1052 <td id="LC81" class="blob-code blob-code-inner js-file-line"> | |
1053 </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"> <span class="pl-c"><span class="pl-c">#</span>print (cogList)</span></td> | |
1058 </tr> | |
1059 <tr> | |
1060 <td id="L83" class="blob-num js-line-number" data-line-number="83"></td> | |
1061 <td id="LC83" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>print (len(cogList))</span></td> | |
1062 </tr> | |
1063 <tr> | |
1064 <td id="L84" class="blob-num js-line-number" data-line-number="84"></td> | |
1065 <td id="LC84" class="blob-code blob-code-inner js-file-line"> | |
1066 </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"> thereList <span class="pl-k">=</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"> dataList <span class="pl-k">=</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"> <span class="pl-c"><span class="pl-c">#</span>dir_path = os.path.dirname(os.path.realpath(__file__))</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"> fname <span class="pl-k">=</span> cogOrBinList</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"> cnt <span class="pl-k">=</span> <span class="pl-c1">0</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">with</span> <span class="pl-c1">open</span> (fname) <span class="pl-k">as</span> f:</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"> <span class="pl-k">for</span> line <span class="pl-k">in</span> f:</td> | |
1095 </tr> | |
1096 <tr> | |
1097 <td id="L92" class="blob-num js-line-number" data-line-number="92"></td> | |
1098 <td id="LC92" class="blob-code blob-code-inner js-file-line"> dataList.append(line.rstrip(<span class="pl-s"><span class="pl-pds">'</span><span class="pl-cce">\n\r</span> <span class="pl-pds">'</span></span>))</td> | |
1099 </tr> | |
1100 <tr> | |
1101 <td id="L93" class="blob-num js-line-number" data-line-number="93"></td> | |
1102 <td id="LC93" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> line.rstrip(<span class="pl-s"><span class="pl-pds">'</span><span class="pl-cce">\n\r</span> <span class="pl-pds">'</span></span>) <span class="pl-k">in</span> cogList:</td> | |
1103 </tr> | |
1104 <tr> | |
1105 <td id="L94" class="blob-num js-line-number" data-line-number="94"></td> | |
1106 <td id="LC94" class="blob-code blob-code-inner js-file-line"> thereList.append(<span class="pl-s"><span class="pl-pds">'</span>1<span class="pl-pds">'</span></span>)</td> | |
1107 </tr> | |
1108 <tr> | |
1109 <td id="L95" class="blob-num js-line-number" data-line-number="95"></td> | |
1110 <td id="LC95" class="blob-code blob-code-inner js-file-line"> cnt <span class="pl-k">=</span> cnt<span class="pl-k">+</span><span class="pl-c1">1</span></td> | |
1111 </tr> | |
1112 <tr> | |
1113 <td id="L96" class="blob-num js-line-number" data-line-number="96"></td> | |
1114 <td id="LC96" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">else</span>:</td> | |
1115 </tr> | |
1116 <tr> | |
1117 <td id="L97" class="blob-num js-line-number" data-line-number="97"></td> | |
1118 <td id="LC97" class="blob-code blob-code-inner js-file-line"> thereList.append(<span class="pl-s"><span class="pl-pds">'</span>0<span class="pl-pds">'</span></span>)</td> | |
1119 </tr> | |
1120 <tr> | |
1121 <td id="L98" class="blob-num js-line-number" data-line-number="98"></td> | |
1122 <td id="LC98" class="blob-code blob-code-inner js-file-line"> | |
1123 </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"> <span class="pl-c"><span class="pl-c">#</span>print (thereList)</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"> <span class="pl-c"><span class="pl-c">#</span>print (cnt)</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"> data <span class="pl-k">=</span> {<span class="pl-s"><span class="pl-pds">'</span>Cog<span class="pl-pds">'</span></span>: dataList, strain: thereList}</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"> presence_df <span class="pl-k">=</span> pd.DataFrame(data)</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"> <span class="pl-c"><span class="pl-c">#</span>print (presence_df)</span></td> | |
1144 </tr> | |
1145 <tr> | |
1146 <td id="L104" class="blob-num js-line-number" data-line-number="104"></td> | |
1147 <td id="LC104" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> presence_df</td> | |
1148 </tr> | |
1149 <tr> | |
1150 <td id="L105" class="blob-num js-line-number" data-line-number="105"></td> | |
1151 <td id="LC105" class="blob-code blob-code-inner js-file-line"> | |
1152 </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"><span class="pl-k">def</span> <span class="pl-en">addToCurrentData</span>(<span class="pl-smi">cog_df</span>, <span class="pl-smi">name</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"> dir_path <span class="pl-k">=</span> os.path.dirname(os.path.realpath(<span class="pl-c1">__file__</span>))</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"> j_fname <span class="pl-k">=</span> dir_path <span class="pl-k">+</span> <span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span>/data/vivax/TvDatabase<span class="pl-c1">.</span>csv<span class="pl-pds">"</span></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"> tv_df <span class="pl-k">=</span> pd.read_csv(j_fname)</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"> | |
1173 </td> | |
1174 </tr> | |
1175 <tr> | |
1176 <td id="L111" class="blob-num js-line-number" data-line-number="111"></td> | |
1177 <td id="LC111" class="blob-code blob-code-inner js-file-line"> cogList <span class="pl-k">=</span> cog_df[name].tolist()</td> | |
1178 </tr> | |
1179 <tr> | |
1180 <td id="L112" class="blob-num js-line-number" data-line-number="112"></td> | |
1181 <td id="LC112" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>cogList.insert(0,'Test')</span></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-c"><span class="pl-c">#</span>print (len(tv_df))</span></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-c"><span class="pl-c">#</span>print(len(cogList))</span></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"> | |
1194 </td> | |
1195 </tr> | |
1196 <tr> | |
1197 <td id="L116" class="blob-num js-line-number" data-line-number="116"></td> | |
1198 <td id="LC116" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>print(cogList)</span></td> | |
1199 </tr> | |
1200 <tr> | |
1201 <td id="L117" class="blob-num js-line-number" data-line-number="117"></td> | |
1202 <td id="LC117" class="blob-code blob-code-inner js-file-line"> tv_df.loc[:,name]<span class="pl-k">=</span>cogList</td> | |
1203 </tr> | |
1204 <tr> | |
1205 <td id="L118" class="blob-num js-line-number" data-line-number="118"></td> | |
1206 <td id="LC118" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">return</span> tv_df</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"> | |
1211 </td> | |
1212 </tr> | |
1213 <tr> | |
1214 <td id="L120" class="blob-num js-line-number" data-line-number="120"></td> | |
1215 <td id="LC120" class="blob-code blob-code-inner js-file-line"> | |
1216 </td> | |
1217 </tr> | |
1218 <tr> | |
1219 <td id="L121" class="blob-num js-line-number" data-line-number="121"></td> | |
1220 <td id="LC121" class="blob-code blob-code-inner js-file-line"> | |
1221 </td> | |
1222 </tr> | |
1223 <tr> | |
1224 <td id="L122" class="blob-num js-line-number" data-line-number="122"></td> | |
1225 <td id="LC122" class="blob-code blob-code-inner js-file-line"> | |
1226 </td> | |
1227 </tr> | |
1228 <tr> | |
1229 <td id="L123" class="blob-num js-line-number" data-line-number="123"></td> | |
1230 <td id="LC123" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">createClusterMap</span>(<span class="pl-smi">tv_df</span>,<span class="pl-smi">name</span>,<span class="pl-smi">html_path</span>,<span class="pl-smi">pdfExport</span>):</td> | |
1231 </tr> | |
1232 <tr> | |
1233 <td id="L124" class="blob-num js-line-number" data-line-number="124"></td> | |
1234 <td id="LC124" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>Retrieve Data</span></td> | |
1235 </tr> | |
1236 <tr> | |
1237 <td id="L125" class="blob-num js-line-number" data-line-number="125"></td> | |
1238 <td id="LC125" 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> | |
1239 </tr> | |
1240 <tr> | |
1241 <td id="L126" class="blob-num js-line-number" data-line-number="126"></td> | |
1242 <td id="LC126" class="blob-code blob-code-inner js-file-line"> j_fname <span class="pl-k">=</span> dir_path<span class="pl-k">+</span><span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span>/data/vivax/geoTv<span class="pl-c1">.</span>csv<span class="pl-pds">"</span></span></td> | |
1243 </tr> | |
1244 <tr> | |
1245 <td id="L127" class="blob-num js-line-number" data-line-number="127"></td> | |
1246 <td id="LC127" class="blob-code blob-code-inner js-file-line"> geo_df <span class="pl-k">=</span> pd.read_csv(j_fname)</td> | |
1247 </tr> | |
1248 <tr> | |
1249 <td id="L128" class="blob-num js-line-number" data-line-number="128"></td> | |
1250 <td id="LC128" class="blob-code blob-code-inner js-file-line"> geo_df.loc[<span class="pl-c1">len</span>(geo_df)] <span class="pl-k">=</span>[name,name,<span class="pl-s"><span class="pl-pds">'</span>k<span class="pl-pds">'</span></span>]</td> | |
1251 </tr> | |
1252 <tr> | |
1253 <td id="L129" class="blob-num js-line-number" data-line-number="129"></td> | |
1254 <td id="LC129" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(geo_df)</td> | |
1255 </tr> | |
1256 <tr> | |
1257 <td id="L130" class="blob-num js-line-number" data-line-number="130"></td> | |
1258 <td id="LC130" class="blob-code blob-code-inner js-file-line"> | |
1259 </td> | |
1260 </tr> | |
1261 <tr> | |
1262 <td id="L131" class="blob-num js-line-number" data-line-number="131"></td> | |
1263 <td id="LC131" class="blob-code blob-code-inner js-file-line"> myStrains <span class="pl-k">=</span> tv_df.columns.values.tolist() <span class="pl-c"><span class="pl-c">#</span>beware first entry is COG</span></td> | |
1264 </tr> | |
1265 <tr> | |
1266 <td id="L132" class="blob-num js-line-number" data-line-number="132"></td> | |
1267 <td id="LC132" class="blob-code blob-code-inner js-file-line"> myStrains <span class="pl-k">=</span> myStrains[<span class="pl-c1">1</span>:]</td> | |
1268 </tr> | |
1269 <tr> | |
1270 <td id="L133" class="blob-num js-line-number" data-line-number="133"></td> | |
1271 <td id="LC133" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(myStrains)</td> | |
1272 </tr> | |
1273 <tr> | |
1274 <td id="L134" class="blob-num js-line-number" data-line-number="134"></td> | |
1275 <td id="LC134" class="blob-code blob-code-inner js-file-line"> myPal <span class="pl-k">=</span> []</td> | |
1276 </tr> | |
1277 <tr> | |
1278 <td id="L135" class="blob-num js-line-number" data-line-number="135"></td> | |
1279 <td id="LC135" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">for</span> s <span class="pl-k">in</span> myStrains:</td> | |
1280 </tr> | |
1281 <tr> | |
1282 <td id="L136" class="blob-num js-line-number" data-line-number="136"></td> | |
1283 <td id="LC136" class="blob-code blob-code-inner js-file-line"> col <span class="pl-k">=</span> geo_df[(geo_df[<span class="pl-s"><span class="pl-pds">'</span>Strain<span class="pl-pds">'</span></span>] <span class="pl-k">==</span> s)][<span class="pl-s"><span class="pl-pds">'</span>colour<span class="pl-pds">'</span></span>].tolist()</td> | |
1284 </tr> | |
1285 <tr> | |
1286 <td id="L137" class="blob-num js-line-number" data-line-number="137"></td> | |
1287 <td id="LC137" class="blob-code blob-code-inner js-file-line"> myPal.append(col[<span class="pl-c1">0</span>])</td> | |
1288 </tr> | |
1289 <tr> | |
1290 <td id="L138" class="blob-num js-line-number" data-line-number="138"></td> | |
1291 <td id="LC138" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(myPal)</td> | |
1292 </tr> | |
1293 <tr> | |
1294 <td id="L139" class="blob-num js-line-number" data-line-number="139"></td> | |
1295 <td id="LC139" class="blob-code blob-code-inner js-file-line"> mycogmap <span class="pl-k">=</span> [<span class="pl-s"><span class="pl-pds">'</span>skyblue<span class="pl-pds">'</span></span>, <span class="pl-s"><span class="pl-pds">'</span>orangered<span class="pl-pds">'</span></span>] <span class="pl-c"><span class="pl-c">#</span> blue absent,red present</span></td> | |
1296 </tr> | |
1297 <tr> | |
1298 <td id="L140" class="blob-num js-line-number" data-line-number="140"></td> | |
1299 <td id="LC140" class="blob-code blob-code-inner js-file-line"> tv_df.set_index(<span class="pl-s"><span class="pl-pds">'</span>COG<span class="pl-pds">'</span></span>, <span class="pl-v">inplace</span><span class="pl-k">=</span><span class="pl-c1">True</span>)</td> | |
1300 </tr> | |
1301 <tr> | |
1302 <td id="L141" class="blob-num js-line-number" data-line-number="141"></td> | |
1303 <td id="LC141" class="blob-code blob-code-inner js-file-line"> tv_df <span class="pl-k">=</span> tv_df[tv_df.columns].astype(<span class="pl-c1">float</span>)</td> | |
1304 </tr> | |
1305 <tr> | |
1306 <td id="L142" class="blob-num js-line-number" data-line-number="142"></td> | |
1307 <td id="LC142" class="blob-code blob-code-inner js-file-line"> | |
1308 </td> | |
1309 </tr> | |
1310 <tr> | |
1311 <td id="L143" class="blob-num js-line-number" data-line-number="143"></td> | |
1312 <td id="LC143" class="blob-code blob-code-inner js-file-line"> cg <span class="pl-k">=</span> sns.clustermap(tv_df, <span class="pl-v">method</span><span class="pl-k">=</span><span class="pl-s"><span class="pl-pds">'</span>ward<span class="pl-pds">'</span></span>, <span class="pl-v">col_colors</span><span class="pl-k">=</span>myPal, <span class="pl-v">cmap</span><span class="pl-k">=</span>mycogmap, <span class="pl-v">yticklabels</span> <span class="pl-k">=</span> <span class="pl-c1">1500</span>, <span class="pl-v">row_cluster</span><span class="pl-k">=</span><span class="pl-c1">False</span>, <span class="pl-v">linewidths</span> <span class="pl-k">=</span> <span class="pl-c1">0</span>)</td> | |
1313 </tr> | |
1314 <tr> | |
1315 <td id="L144" class="blob-num js-line-number" data-line-number="144"></td> | |
1316 <td id="LC144" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>cg = sns.clustermap(tv_df, method='ward', row_cluster=False, linewidths = 0)</span></td> | |
1317 </tr> | |
1318 <tr> | |
1319 <td id="L145" class="blob-num js-line-number" data-line-number="145"></td> | |
1320 <td id="LC145" class="blob-code blob-code-inner js-file-line"> ax <span class="pl-k">=</span> cg.ax_heatmap</td> | |
1321 </tr> | |
1322 <tr> | |
1323 <td id="L146" class="blob-num js-line-number" data-line-number="146"></td> | |
1324 <td id="LC146" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>xasix ticks and labels.</span></td> | |
1325 </tr> | |
1326 <tr> | |
1327 <td id="L147" class="blob-num js-line-number" data-line-number="147"></td> | |
1328 <td id="LC147" class="blob-code blob-code-inner js-file-line"> ax.xaxis.tick_top() <span class="pl-c"><span class="pl-c">#</span>set ticks at top</span></td> | |
1329 </tr> | |
1330 <tr> | |
1331 <td id="L148" class="blob-num js-line-number" data-line-number="148"></td> | |
1332 <td id="LC148" class="blob-code blob-code-inner js-file-line"> newlabs <span class="pl-k">=</span> []</td> | |
1333 </tr> | |
1334 <tr> | |
1335 <td id="L149" class="blob-num js-line-number" data-line-number="149"></td> | |
1336 <td id="LC149" class="blob-code blob-code-inner js-file-line"> | |
1337 </td> | |
1338 </tr> | |
1339 <tr> | |
1340 <td id="L150" class="blob-num js-line-number" data-line-number="150"></td> | |
1341 <td id="LC150" class="blob-code blob-code-inner js-file-line"> labs <span class="pl-k">=</span> ax.xaxis.get_ticklabels()</td> | |
1342 </tr> | |
1343 <tr> | |
1344 <td id="L151" class="blob-num js-line-number" data-line-number="151"></td> | |
1345 <td id="LC151" 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>(labs)):</td> | |
1346 </tr> | |
1347 <tr> | |
1348 <td id="L152" class="blob-num js-line-number" data-line-number="152"></td> | |
1349 <td id="LC152" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(labs[i])</td> | |
1350 </tr> | |
1351 <tr> | |
1352 <td id="L153" class="blob-num js-line-number" data-line-number="153"></td> | |
1353 <td id="LC153" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> labs[i].set_text(" "+labs[i].get_text()) #make enough room so label sits atop of col_color bars</span></td> | |
1354 </tr> | |
1355 <tr> | |
1356 <td id="L154" class="blob-num js-line-number" data-line-number="154"></td> | |
1357 <td id="LC154" class="blob-code blob-code-inner js-file-line"> newlabs.append(<span class="pl-s"><span class="pl-pds">"</span> <span class="pl-pds">"</span></span> <span class="pl-k">+</span> labs[i].get_text())</td> | |
1358 </tr> | |
1359 <tr> | |
1360 <td id="L155" class="blob-num js-line-number" data-line-number="155"></td> | |
1361 <td id="LC155" class="blob-code blob-code-inner js-file-line"> ax.xaxis.set_ticklabels(newlabs)</td> | |
1362 </tr> | |
1363 <tr> | |
1364 <td id="L156" class="blob-num js-line-number" data-line-number="156"></td> | |
1365 <td id="LC156" class="blob-code blob-code-inner js-file-line"> | |
1366 </td> | |
1367 </tr> | |
1368 <tr> | |
1369 <td id="L157" class="blob-num js-line-number" data-line-number="157"></td> | |
1370 <td id="LC157" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>labs = ax.xaxis.get_ticklabels()</span></td> | |
1371 </tr> | |
1372 <tr> | |
1373 <td id="L158" class="blob-num js-line-number" data-line-number="158"></td> | |
1374 <td id="LC158" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>for i in range(0, len(labs)):</span></td> | |
1375 </tr> | |
1376 <tr> | |
1377 <td id="L159" class="blob-num js-line-number" data-line-number="159"></td> | |
1378 <td id="LC159" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> print(labs[i])</span></td> | |
1379 </tr> | |
1380 <tr> | |
1381 <td id="L160" class="blob-num js-line-number" data-line-number="160"></td> | |
1382 <td id="LC160" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> labs[i].set_text(" "+labs[i].get_text()) #make enough room so label sits atop of col_color bars</span></td> | |
1383 </tr> | |
1384 <tr> | |
1385 <td id="L161" class="blob-num js-line-number" data-line-number="161"></td> | |
1386 <td id="LC161" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> print(labs[i])</span></td> | |
1387 </tr> | |
1388 <tr> | |
1389 <td id="L162" class="blob-num js-line-number" data-line-number="162"></td> | |
1390 <td id="LC162" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>ax.xaxis.set_ticklabels(labs)</span></td> | |
1391 </tr> | |
1392 <tr> | |
1393 <td id="L163" class="blob-num js-line-number" data-line-number="163"></td> | |
1394 <td id="LC163" class="blob-code blob-code-inner js-file-line"> plt.setp(cg.ax_heatmap.xaxis.get_ticklabels(), <span class="pl-v">rotation</span><span class="pl-k">=</span><span class="pl-c1">90</span>) <span class="pl-c"><span class="pl-c">#</span> get x labels printed vertically</span></td> | |
1395 </tr> | |
1396 <tr> | |
1397 <td id="L164" class="blob-num js-line-number" data-line-number="164"></td> | |
1398 <td id="LC164" class="blob-code blob-code-inner js-file-line"> | |
1399 </td> | |
1400 </tr> | |
1401 <tr> | |
1402 <td id="L165" class="blob-num js-line-number" data-line-number="165"></td> | |
1403 <td id="LC165" class="blob-code blob-code-inner js-file-line"> cg.cax.set_visible(<span class="pl-c1">False</span>)</td> | |
1404 </tr> | |
1405 <tr> | |
1406 <td id="L166" class="blob-num js-line-number" data-line-number="166"></td> | |
1407 <td id="LC166" class="blob-code blob-code-inner js-file-line"> ax <span class="pl-k">=</span> cg.ax_heatmap</td> | |
1408 </tr> | |
1409 <tr> | |
1410 <td id="L167" class="blob-num js-line-number" data-line-number="167"></td> | |
1411 <td id="LC167" class="blob-code blob-code-inner js-file-line"> ax.set_yticklabels(<span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span>)</td> | |
1412 </tr> | |
1413 <tr> | |
1414 <td id="L168" class="blob-num js-line-number" data-line-number="168"></td> | |
1415 <td id="LC168" class="blob-code blob-code-inner js-file-line"> ax.set_ylabel(<span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span>)</td> | |
1416 </tr> | |
1417 <tr> | |
1418 <td id="L169" class="blob-num js-line-number" data-line-number="169"></td> | |
1419 <td id="LC169" class="blob-code blob-code-inner js-file-line"> ax <span class="pl-k">=</span> cg.ax_heatmap</td> | |
1420 </tr> | |
1421 <tr> | |
1422 <td id="L170" class="blob-num js-line-number" data-line-number="170"></td> | |
1423 <td id="LC170" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> ax.set_title("Variant antigen profiles of T. vivax genomes.\nDendrogram reflects the VSG repertoire relationships of each strain inferred by the presence and absence of non-universal T. vivax VSG orthologs.", va = "top", wrap = "True")</span></td> | |
1424 </tr> | |
1425 <tr> | |
1426 <td id="L171" class="blob-num js-line-number" data-line-number="171"></td> | |
1427 <td id="LC171" class="blob-code blob-code-inner js-file-line"> b <span class="pl-k">=</span> <span class="pl-c1">len</span>(tv_df)</td> | |
1428 </tr> | |
1429 <tr> | |
1430 <td id="L172" class="blob-num js-line-number" data-line-number="172"></td> | |
1431 <td id="LC172" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(b)</td> | |
1432 </tr> | |
1433 <tr> | |
1434 <td id="L173" class="blob-num js-line-number" data-line-number="173"></td> | |
1435 <td id="LC173" class="blob-code blob-code-inner js-file-line"> title <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">"</span>Figure Legend: The Variant Antigen Profiles of $\itTrypanosoma$ $\itvivax$ <span class="pl-pds">"</span></span> \</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"> <span class="pl-s"><span class="pl-pds">"</span>showing the <span class="pl-cce">\n</span>combination of present and absent diagnostic cluster of VSG orthologs <span class="pl-pds">"</span></span> \</td> | |
1440 </tr> | |
1441 <tr> | |
1442 <td id="L175" class="blob-num js-line-number" data-line-number="175"></td> | |
1443 <td id="LC175" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>across the sample cohort. <span class="pl-cce">\n</span>Dendrogram reflects the relationships amongst the VSG<span class="pl-pds">"</span></span> \</td> | |
1444 </tr> | |
1445 <tr> | |
1446 <td id="L176" class="blob-num js-line-number" data-line-number="176"></td> | |
1447 <td id="LC176" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span> repertoires of each strain. <span class="pl-pds">"</span></span> \</td> | |
1448 </tr> | |
1449 <tr> | |
1450 <td id="L177" class="blob-num js-line-number" data-line-number="177"></td> | |
1451 <td id="LC177" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>Strains were isolated <span class="pl-cce">\n</span>from multiple African countries as shown in the key.<span class="pl-cce">\n</span>Data was produced with the <span class="pl-pds">"</span></span> \</td> | |
1452 </tr> | |
1453 <tr> | |
1454 <td id="L178" class="blob-num js-line-number" data-line-number="178"></td> | |
1455 <td id="LC178" class="blob-code blob-code-inner js-file-line"> <span class="pl-s"><span class="pl-pds">"</span>'Variant Antigen Profiler' (Silva Pereira et al., 2019).<span class="pl-pds">"</span></span></td> | |
1456 </tr> | |
1457 <tr> | |
1458 <td id="L179" class="blob-num js-line-number" data-line-number="179"></td> | |
1459 <td id="LC179" class="blob-code blob-code-inner js-file-line"> | |
1460 </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"> ax.text(<span class="pl-k">-</span><span class="pl-c1">1.5</span>, <span class="pl-c1">len</span>(tv_df) <span class="pl-k">+</span> <span class="pl-c1">8</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"> title,</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"> <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>, <span class="pl-v">va</span><span class="pl-k">=</span><span class="pl-s"><span class="pl-pds">"</span>top<span class="pl-pds">"</span></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>)</td> | |
1473 </tr> | |
1474 <tr> | |
1475 <td id="L183" class="blob-num js-line-number" data-line-number="183"></td> | |
1476 <td id="LC183" class="blob-code blob-code-inner js-file-line"> col <span class="pl-k">=</span> cg.ax_col_dendrogram.get_position()</td> | |
1477 </tr> | |
1478 <tr> | |
1479 <td id="L184" class="blob-num js-line-number" data-line-number="184"></td> | |
1480 <td id="LC184" class="blob-code blob-code-inner js-file-line"> cg.ax_col_dendrogram.set_position([col.x0, col.y0<span class="pl-k">*</span><span class="pl-c1">1.08</span>, col.width, col.height<span class="pl-k">*</span><span class="pl-c1">1.1</span>])</td> | |
1481 </tr> | |
1482 <tr> | |
1483 <td id="L185" class="blob-num js-line-number" data-line-number="185"></td> | |
1484 <td id="LC185" class="blob-code blob-code-inner js-file-line"> | |
1485 </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"> countryList <span class="pl-k">=</span> pd.unique(geo_df[<span class="pl-s"><span class="pl-pds">'</span>Location<span class="pl-pds">'</span></span>])</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"> colourList <span class="pl-k">=</span> pd.unique(geo_df[<span class="pl-s"><span class="pl-pds">'</span>colour<span class="pl-pds">'</span></span>])</td> | |
1494 </tr> | |
1495 <tr> | |
1496 <td id="L188" class="blob-num js-line-number" data-line-number="188"></td> | |
1497 <td id="LC188" class="blob-code blob-code-inner js-file-line"> legend_elements <span class="pl-k">=</span> [Patch(<span class="pl-v">facecolor</span><span class="pl-k">=</span><span class="pl-s"><span class="pl-pds">'</span>orangered<span class="pl-pds">'</span></span>, <span class="pl-v">label</span><span class="pl-k">=</span><span class="pl-s"><span class="pl-pds">'</span>COG Present<span class="pl-pds">'</span></span>),</td> | |
1498 </tr> | |
1499 <tr> | |
1500 <td id="L189" class="blob-num js-line-number" data-line-number="189"></td> | |
1501 <td id="LC189" class="blob-code blob-code-inner js-file-line"> Patch(<span class="pl-v">facecolor</span><span class="pl-k">=</span><span class="pl-s"><span class="pl-pds">'</span>skyblue<span class="pl-pds">'</span></span>, <span class="pl-v">label</span><span class="pl-k">=</span><span class="pl-s"><span class="pl-pds">'</span>COG Absent<span class="pl-pds">'</span></span>)]</td> | |
1502 </tr> | |
1503 <tr> | |
1504 <td id="L190" class="blob-num js-line-number" data-line-number="190"></td> | |
1505 <td id="LC190" class="blob-code blob-code-inner js-file-line"> | |
1506 </td> | |
1507 </tr> | |
1508 <tr> | |
1509 <td id="L191" class="blob-num js-line-number" data-line-number="191"></td> | |
1510 <td id="LC191" 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>(colourList)):</td> | |
1511 </tr> | |
1512 <tr> | |
1513 <td id="L192" class="blob-num js-line-number" data-line-number="192"></td> | |
1514 <td id="LC192" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(<span class="pl-s"><span class="pl-pds">"</span>country = <span class="pl-c1">%s</span>, colour = <span class="pl-c1">%s</span><span class="pl-pds">"</span></span> <span class="pl-k">%</span> (countryList[i], colourList[i]))</td> | |
1515 </tr> | |
1516 <tr> | |
1517 <td id="L193" class="blob-num js-line-number" data-line-number="193"></td> | |
1518 <td id="LC193" class="blob-code blob-code-inner js-file-line"> p <span class="pl-k">=</span> Patch(<span class="pl-v">facecolor</span><span class="pl-k">=</span><span class="pl-c1">str</span>(colourList[i]), <span class="pl-v">label</span><span class="pl-k">=</span>countryList[i])</td> | |
1519 </tr> | |
1520 <tr> | |
1521 <td id="L194" class="blob-num js-line-number" data-line-number="194"></td> | |
1522 <td id="LC194" class="blob-code blob-code-inner js-file-line"> legend_elements.append(p)</td> | |
1523 </tr> | |
1524 <tr> | |
1525 <td id="L195" class="blob-num js-line-number" data-line-number="195"></td> | |
1526 <td id="LC195" class="blob-code blob-code-inner js-file-line"> | |
1527 </td> | |
1528 </tr> | |
1529 <tr> | |
1530 <td id="L196" class="blob-num js-line-number" data-line-number="196"></td> | |
1531 <td id="LC196" class="blob-code blob-code-inner js-file-line"> ax.legend(<span class="pl-v">handles</span> <span class="pl-k">=</span> legend_elements, <span class="pl-v">bbox_to_anchor</span><span class="pl-k">=</span>(<span class="pl-k">-</span><span class="pl-c1">0.3</span>,<span class="pl-c1">1.2</span>),<span class="pl-v">loc</span> <span class="pl-k">=</span> <span class="pl-s"><span class="pl-pds">'</span>upper left<span class="pl-pds">'</span></span>)</td> | |
1532 </tr> | |
1533 <tr> | |
1534 <td id="L197" class="blob-num js-line-number" data-line-number="197"></td> | |
1535 <td id="LC197" class="blob-code blob-code-inner js-file-line"> | |
1536 </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"> | |
1541 </td> | |
1542 </tr> | |
1543 <tr> | |
1544 <td id="L199" class="blob-num js-line-number" data-line-number="199"></td> | |
1545 <td id="LC199" class="blob-code blob-code-inner js-file-line"> | |
1546 </td> | |
1547 </tr> | |
1548 <tr> | |
1549 <td id="L200" class="blob-num js-line-number" data-line-number="200"></td> | |
1550 <td id="LC200" class="blob-code blob-code-inner js-file-line"> | |
1551 </td> | |
1552 </tr> | |
1553 <tr> | |
1554 <td id="L201" class="blob-num js-line-number" data-line-number="201"></td> | |
1555 <td id="LC201" class="blob-code blob-code-inner js-file-line"> | |
1556 </td> | |
1557 </tr> | |
1558 <tr> | |
1559 <td id="L202" class="blob-num js-line-number" data-line-number="202"></td> | |
1560 <td id="LC202" class="blob-code blob-code-inner js-file-line"> | |
1561 </td> | |
1562 </tr> | |
1563 <tr> | |
1564 <td id="L203" class="blob-num js-line-number" data-line-number="203"></td> | |
1565 <td id="LC203" class="blob-code blob-code-inner js-file-line"> | |
1566 </td> | |
1567 </tr> | |
1568 <tr> | |
1569 <td id="L204" class="blob-num js-line-number" data-line-number="204"></td> | |
1570 <td id="LC204" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>plt.setp(cg.ax_heatmap.yaxis.get_ticklabels(), rotation=0 ) # get y labels printed horizontally</span></td> | |
1571 </tr> | |
1572 <tr> | |
1573 <td id="L205" class="blob-num js-line-number" data-line-number="205"></td> | |
1574 <td id="LC205" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> cg.dendrogram_col.linkage # linkage matrix for columns</span></td> | |
1575 </tr> | |
1576 <tr> | |
1577 <td id="L206" class="blob-num js-line-number" data-line-number="206"></td> | |
1578 <td id="LC206" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> cg.dendrogram_row.linkage # linkage matrix for rows</span></td> | |
1579 </tr> | |
1580 <tr> | |
1581 <td id="L207" class="blob-num js-line-number" data-line-number="207"></td> | |
1582 <td id="LC207" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> plt.savefig(r"results/" + name + "_heatmap.png")</span></td> | |
1583 </tr> | |
1584 <tr> | |
1585 <td id="L208" class="blob-num js-line-number" data-line-number="208"></td> | |
1586 <td id="LC208" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>plt.savefig(htmlresource + "/heatmap.png")</span></td> | |
1587 </tr> | |
1588 <tr> | |
1589 <td id="L209" class="blob-num js-line-number" data-line-number="209"></td> | |
1590 <td id="LC209" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>if pdf == 'PDF_Yes':</span></td> | |
1591 </tr> | |
1592 <tr> | |
1593 <td id="L210" class="blob-num js-line-number" data-line-number="210"></td> | |
1594 <td id="LC210" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> plt.savefig(htmlresource + "/heatmap.pdf")</span></td> | |
1595 </tr> | |
1596 <tr> | |
1597 <td id="L211" class="blob-num js-line-number" data-line-number="211"></td> | |
1598 <td id="LC211" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span> shutil.copyfile("heatmap.pdf",heatmapfn) #</span></td> | |
1599 </tr> | |
1600 <tr> | |
1601 <td id="L212" class="blob-num js-line-number" data-line-number="212"></td> | |
1602 <td id="LC212" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>plt.legend()</span></td> | |
1603 </tr> | |
1604 <tr> | |
1605 <td id="L213" class="blob-num js-line-number" data-line-number="213"></td> | |
1606 <td id="LC213" class="blob-code blob-code-inner js-file-line"> fname <span class="pl-k">=</span> html_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>name<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>_clustermap.png<span class="pl-pds">"</span></span></td> | |
1607 </tr> | |
1608 <tr> | |
1609 <td id="L214" class="blob-num js-line-number" data-line-number="214"></td> | |
1610 <td id="LC214" class="blob-code blob-code-inner js-file-line"> cg.savefig(fname)</td> | |
1611 </tr> | |
1612 <tr> | |
1613 <td id="L215" class="blob-num js-line-number" data-line-number="215"></td> | |
1614 <td id="LC215" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">if</span> pdfExport <span class="pl-k">==</span> <span class="pl-s"><span class="pl-pds">'</span>PDF_Yes<span class="pl-pds">'</span></span>:</td> | |
1615 </tr> | |
1616 <tr> | |
1617 <td id="L216" class="blob-num js-line-number" data-line-number="216"></td> | |
1618 <td id="LC216" class="blob-code blob-code-inner js-file-line"> fname <span class="pl-k">=</span> html_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> name <span class="pl-k">+</span> <span class="pl-s"><span class="pl-pds">"</span>_clustermap.pdf<span class="pl-pds">"</span></span></td> | |
1619 </tr> | |
1620 <tr> | |
1621 <td id="L217" class="blob-num js-line-number" data-line-number="217"></td> | |
1622 <td id="LC217" class="blob-code blob-code-inner js-file-line"> cg.savefig(fname)</td> | |
1623 </tr> | |
1624 <tr> | |
1625 <td id="L218" class="blob-num js-line-number" data-line-number="218"></td> | |
1626 <td id="LC218" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>plt.show()</span></td> | |
1627 </tr> | |
1628 <tr> | |
1629 <td id="L219" class="blob-num js-line-number" data-line-number="219"></td> | |
1630 <td id="LC219" class="blob-code blob-code-inner js-file-line"> | |
1631 </td> | |
1632 </tr> | |
1633 <tr> | |
1634 <td id="L220" class="blob-num js-line-number" data-line-number="220"></td> | |
1635 <td id="LC220" 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">name</span>,<span class="pl-smi">htmlfn</span>,<span class="pl-smi">htmlPath</span>):</td> | |
1636 </tr> | |
1637 <tr> | |
1638 <td id="L221" class="blob-num js-line-number" data-line-number="221"></td> | |
1639 <td id="LC221" 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> | |
1640 </tr> | |
1641 <tr> | |
1642 <td id="L222" class="blob-num js-line-number" data-line-number="222"></td> | |
1643 <td id="LC222" 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</title><body><div style='text-align:center'><h2><i>Trypanosoma vivax</i> Variant Antigen Profile</h2><h3><span class="pl-pds">"</span></span></td> | |
1644 </tr> | |
1645 <tr> | |
1646 <td id="L223" class="blob-num js-line-number" data-line-number="223"></td> | |
1647 <td id="LC223" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> name</td> | |
1648 </tr> | |
1649 <tr> | |
1650 <td id="L224" class="blob-num js-line-number" data-line-number="224"></td> | |
1651 <td id="LC224" class="blob-code blob-code-inner js-file-line"> | |
1652 </td> | |
1653 </tr> | |
1654 <tr> | |
1655 <td id="L225" class="blob-num js-line-number" data-line-number="225"></td> | |
1656 <td id="LC225" class="blob-code blob-code-inner js-file-line"> | |
1657 </td> | |
1658 </tr> | |
1659 <tr> | |
1660 <td id="L226" class="blob-num js-line-number" data-line-number="226"></td> | |
1661 <td id="LC226" 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><p> <h3>The Heat Map and Dendrogram</h3></p><span class="pl-pds">'</span></span></td> | |
1662 </tr> | |
1663 <tr> | |
1664 <td id="L227" class="blob-num js-line-number" data-line-number="227"></td> | |
1665 <td id="LC227" 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>name<span class="pl-k">+</span><span class="pl-s"><span class="pl-pds">"</span>_clustermap.png' alt='Cog Clustermap' style='max-width:100%'><br><br><span class="pl-pds">"</span></span></td> | |
1666 </tr> | |
1667 <tr> | |
1668 <td id="L228" class="blob-num js-line-number" data-line-number="228"></td> | |
1669 <td id="LC228" class="blob-code blob-code-inner js-file-line"> htmlString <span class="pl-k">+=</span> imgString</td> | |
1670 </tr> | |
1671 <tr> | |
1672 <td id="L229" class="blob-num js-line-number" data-line-number="229"></td> | |
1673 <td id="LC229" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(htmlString)</td> | |
1674 </tr> | |
1675 <tr> | |
1676 <td id="L230" class="blob-num js-line-number" data-line-number="230"></td> | |
1677 <td id="LC230" class="blob-code blob-code-inner js-file-line"> | |
1678 </td> | |
1679 </tr> | |
1680 <tr> | |
1681 <td id="L231" class="blob-num js-line-number" data-line-number="231"></td> | |
1682 <td id="LC231" class="blob-code blob-code-inner js-file-line"> <span class="pl-k">with</span> <span class="pl-c1">open</span>(htmlfn, <span class="pl-s"><span class="pl-pds">"</span>w<span class="pl-pds">"</span></span>) <span class="pl-k">as</span> htmlfile:</td> | |
1683 </tr> | |
1684 <tr> | |
1685 <td id="L232" class="blob-num js-line-number" data-line-number="232"></td> | |
1686 <td id="LC232" class="blob-code blob-code-inner js-file-line"> htmlfile.write(htmlString)</td> | |
1687 </tr> | |
1688 <tr> | |
1689 <td id="L233" class="blob-num js-line-number" data-line-number="233"></td> | |
1690 <td id="LC233" class="blob-code blob-code-inner js-file-line"> | |
1691 </td> | |
1692 </tr> | |
1693 <tr> | |
1694 <td id="L234" class="blob-num js-line-number" data-line-number="234"></td> | |
1695 <td id="LC234" class="blob-code blob-code-inner js-file-line"> | |
1696 </td> | |
1697 </tr> | |
1698 <tr> | |
1699 <td id="L235" class="blob-num js-line-number" data-line-number="235"></td> | |
1700 <td id="LC235" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">vivax_assemble</span>(<span class="pl-smi">args</span>,<span class="pl-smi">dict</span>):</td> | |
1701 </tr> | |
1702 <tr> | |
1703 <td id="L236" class="blob-num js-line-number" data-line-number="236"></td> | |
1704 <td id="LC236" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>argdict = {'name': 2, 'pdfexport': 3, 'kmers': 4, 'inslen': 5, 'covcut': 6, 'forward': 7, 'reverse': 8, 'html_file': 9,'html_resource': 10}</span></td> | |
1705 </tr> | |
1706 <tr> | |
1707 <td id="L237" class="blob-num js-line-number" data-line-number="237"></td> | |
1708 <td id="LC237" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>assembleWithVelvet("V2_Test", '65', '400', '5', "data/TviBrRp.1.clean", "data/TviBrRp.2.clean")</span></td> | |
1709 </tr> | |
1710 <tr> | |
1711 <td id="L238" class="blob-num js-line-number" data-line-number="238"></td> | |
1712 <td id="LC238" class="blob-code blob-code-inner js-file-line"> | |
1713 </td> | |
1714 </tr> | |
1715 <tr> | |
1716 <td id="L239" class="blob-num js-line-number" data-line-number="239"></td> | |
1717 <td id="LC239" class="blob-code blob-code-inner js-file-line"> vivaxPath <span class="pl-k">=</span> os.path.dirname(os.path.realpath(<span class="pl-c1">__file__</span>))<span class="pl-k">+</span><span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span>/data/vivax<span class="pl-pds">"</span></span></td> | |
1718 </tr> | |
1719 <tr> | |
1720 <td id="L240" class="blob-num js-line-number" data-line-number="240"></td> | |
1721 <td id="LC240" class="blob-code blob-code-inner js-file-line"> assembleWithVelvet(args[dict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]], args[dict[<span class="pl-s"><span class="pl-pds">'</span>kmers<span class="pl-pds">'</span></span>]], args[dict[<span class="pl-s"><span class="pl-pds">'</span>inslen<span class="pl-pds">'</span></span>]], args[dict[<span class="pl-s"><span class="pl-pds">'</span>covcut<span class="pl-pds">'</span></span>]],</td> | |
1722 </tr> | |
1723 <tr> | |
1724 <td id="L241" class="blob-num js-line-number" data-line-number="241"></td> | |
1725 <td id="LC241" class="blob-code blob-code-inner js-file-line"> args[dict[<span class="pl-s"><span class="pl-pds">'</span>forward<span class="pl-pds">'</span></span>]], args[dict[<span class="pl-s"><span class="pl-pds">'</span>reverse<span class="pl-pds">'</span></span>]])</td> | |
1726 </tr> | |
1727 <tr> | |
1728 <td id="L242" class="blob-num js-line-number" data-line-number="242"></td> | |
1729 <td id="LC242" class="blob-code blob-code-inner js-file-line"> blastResult_df <span class="pl-k">=</span> blastContigs(args[dict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]], vivaxPath<span class="pl-k">+</span><span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span>/Database/COGs<span class="pl-c1">.</span>fas<span class="pl-pds">"</span></span>)</td> | |
1730 </tr> | |
1731 <tr> | |
1732 <td id="L243" class="blob-num js-line-number" data-line-number="243"></td> | |
1733 <td id="LC243" class="blob-code blob-code-inner js-file-line"> orthPresence_df <span class="pl-k">=</span> getCogsPresent(blastResult_df, args[dict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]], vivaxPath<span class="pl-k">+</span><span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span>/Database/COGlist<span class="pl-c1">.</span>txt<span class="pl-pds">"</span></span>)</td> | |
1734 </tr> | |
1735 <tr> | |
1736 <td id="L244" class="blob-num js-line-number" data-line-number="244"></td> | |
1737 <td id="LC244" class="blob-code blob-code-inner js-file-line"> | |
1738 </td> | |
1739 </tr> | |
1740 <tr> | |
1741 <td id="L245" class="blob-num js-line-number" data-line-number="245"></td> | |
1742 <td id="LC245" class="blob-code blob-code-inner js-file-line"> binBlastResult_df <span class="pl-k">=</span> blastContigs(args[dict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]], vivaxPath<span class="pl-k">+</span><span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span>/Database/Bin_2<span class="pl-c1">.</span>fas<span class="pl-pds">"</span></span>)</td> | |
1743 </tr> | |
1744 <tr> | |
1745 <td id="L246" class="blob-num js-line-number" data-line-number="246"></td> | |
1746 <td id="LC246" class="blob-code blob-code-inner js-file-line"> binPresence_df <span class="pl-k">=</span> getCogsPresent(binBlastResult_df, args[dict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]], vivaxPath<span class="pl-k">+</span><span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span>/Database/binlist<span class="pl-c1">.</span>txt<span class="pl-pds">"</span></span>)</td> | |
1747 </tr> | |
1748 <tr> | |
1749 <td id="L247" class="blob-num js-line-number" data-line-number="247"></td> | |
1750 <td id="LC247" class="blob-code blob-code-inner js-file-line"> cogPresence_df <span class="pl-k">=</span> orthPresence_df.append(binPresence_df, <span class="pl-v">ignore_index</span><span class="pl-k">=</span><span class="pl-c1">True</span>)</td> | |
1751 </tr> | |
1752 <tr> | |
1753 <td id="L248" class="blob-num js-line-number" data-line-number="248"></td> | |
1754 <td id="LC248" class="blob-code blob-code-inner js-file-line"> | |
1755 </td> | |
1756 </tr> | |
1757 <tr> | |
1758 <td id="L249" class="blob-num js-line-number" data-line-number="249"></td> | |
1759 <td id="LC249" class="blob-code blob-code-inner js-file-line"> fname <span class="pl-k">=</span> args[dict[<span class="pl-s"><span class="pl-pds">'</span>html_resource<span class="pl-pds">'</span></span>]] <span class="pl-k">+</span>args[dict[<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>_cogspresent.csv<span class="pl-pds">"</span></span></td> | |
1760 </tr> | |
1761 <tr> | |
1762 <td id="L250" class="blob-num js-line-number" data-line-number="250"></td> | |
1763 <td id="LC250" class="blob-code blob-code-inner js-file-line"> cogPresence_df.to_csv(fname)</td> | |
1764 </tr> | |
1765 <tr> | |
1766 <td id="L251" class="blob-num js-line-number" data-line-number="251"></td> | |
1767 <td id="LC251" class="blob-code blob-code-inner js-file-line"> current_df <span class="pl-k">=</span> addToCurrentData(cogPresence_df,args[dict[<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> load in Tvdatabase and add cogPresence column to it.</span></td> | |
1768 </tr> | |
1769 <tr> | |
1770 <td id="L252" class="blob-num js-line-number" data-line-number="252"></td> | |
1771 <td id="LC252" class="blob-code blob-code-inner js-file-line"> createClusterMap(current_df, args[dict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]],args[dict[<span class="pl-s"><span class="pl-pds">'</span>html_resource<span class="pl-pds">'</span></span>]],args[dict[<span class="pl-s"><span class="pl-pds">'</span>pdfexport<span class="pl-pds">'</span></span>]])</td> | |
1772 </tr> | |
1773 <tr> | |
1774 <td id="L253" class="blob-num js-line-number" data-line-number="253"></td> | |
1775 <td id="LC253" class="blob-code blob-code-inner js-file-line"> createHTML(args[dict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]],args[dict[<span class="pl-s"><span class="pl-pds">'</span>html_file<span class="pl-pds">'</span></span>]],args[dict[<span class="pl-s"><span class="pl-pds">'</span>html_resource<span class="pl-pds">'</span></span>]])</td> | |
1776 </tr> | |
1777 <tr> | |
1778 <td id="L254" class="blob-num js-line-number" data-line-number="254"></td> | |
1779 <td id="LC254" class="blob-code blob-code-inner js-file-line"> | |
1780 </td> | |
1781 </tr> | |
1782 <tr> | |
1783 <td id="L255" class="blob-num js-line-number" data-line-number="255"></td> | |
1784 <td id="LC255" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">test_cluster</span>(<span class="pl-smi">args</span>,<span class="pl-smi">dict</span>):</td> | |
1785 </tr> | |
1786 <tr> | |
1787 <td id="L256" class="blob-num js-line-number" data-line-number="256"></td> | |
1788 <td id="LC256" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span> (<span class="pl-s"><span class="pl-pds">"</span>name: <span class="pl-c1">%s</span><span class="pl-pds">"</span></span>,args[dict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]])</td> | |
1789 </tr> | |
1790 <tr> | |
1791 <td id="L257" class="blob-num js-line-number" data-line-number="257"></td> | |
1792 <td id="LC257" class="blob-code blob-code-inner js-file-line"> cogPresence_df <span class="pl-k">=</span> pd.read_csv(<span class="pl-s"><span class="pl-pds">"</span>test_cogspresent.csv<span class="pl-pds">"</span></span>)</td> | |
1793 </tr> | |
1794 <tr> | |
1795 <td id="L258" class="blob-num js-line-number" data-line-number="258"></td> | |
1796 <td id="LC258" class="blob-code blob-code-inner js-file-line"> <span class="pl-c1">print</span>(cogPresence_df)</td> | |
1797 </tr> | |
1798 <tr> | |
1799 <td id="L259" class="blob-num js-line-number" data-line-number="259"></td> | |
1800 <td id="LC259" class="blob-code blob-code-inner js-file-line"> current_df <span class="pl-k">=</span> addToCurrentData(cogPresence_df,args[dict[<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> load in Tvdatabase and add cogPresence column to it.</span></td> | |
1801 </tr> | |
1802 <tr> | |
1803 <td id="L260" class="blob-num js-line-number" data-line-number="260"></td> | |
1804 <td id="LC260" class="blob-code blob-code-inner js-file-line"> createClusterMap(current_df, args[dict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]], args[dict[<span class="pl-s"><span class="pl-pds">'</span>html_resource<span class="pl-pds">'</span></span>]], args[dict[<span class="pl-s"><span class="pl-pds">'</span>pdfexport<span class="pl-pds">'</span></span>]])</td> | |
1805 </tr> | |
1806 <tr> | |
1807 <td id="L261" class="blob-num js-line-number" data-line-number="261"></td> | |
1808 <td id="LC261" class="blob-code blob-code-inner js-file-line"> | |
1809 </td> | |
1810 </tr> | |
1811 <tr> | |
1812 <td id="L262" class="blob-num js-line-number" data-line-number="262"></td> | |
1813 <td id="LC262" class="blob-code blob-code-inner js-file-line"><span class="pl-k">def</span> <span class="pl-en">vivax_contigs</span>(<span class="pl-smi">args</span>,<span class="pl-smi">dict</span>):</td> | |
1814 </tr> | |
1815 <tr> | |
1816 <td id="L263" class="blob-num js-line-number" data-line-number="263"></td> | |
1817 <td id="LC263" class="blob-code blob-code-inner js-file-line"><span class="pl-c"><span class="pl-c">#</span> argdict = {'name': 2, 'pdfexport': 3, 'contigs': 4, 'html_file': 5, 'html_resource': 6}</span></td> | |
1818 </tr> | |
1819 <tr> | |
1820 <td id="L264" class="blob-num js-line-number" data-line-number="264"></td> | |
1821 <td id="LC264" class="blob-code blob-code-inner js-file-line"> | |
1822 </td> | |
1823 </tr> | |
1824 <tr> | |
1825 <td id="L265" class="blob-num js-line-number" data-line-number="265"></td> | |
1826 <td id="LC265" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>test_cluster(args,dict)</span></td> | |
1827 </tr> | |
1828 <tr> | |
1829 <td id="L266" class="blob-num js-line-number" data-line-number="266"></td> | |
1830 <td id="LC266" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>return;</span></td> | |
1831 </tr> | |
1832 <tr> | |
1833 <td id="L267" class="blob-num js-line-number" data-line-number="267"></td> | |
1834 <td id="LC267" class="blob-code blob-code-inner js-file-line"> | |
1835 </td> | |
1836 </tr> | |
1837 <tr> | |
1838 <td id="L268" class="blob-num js-line-number" data-line-number="268"></td> | |
1839 <td id="LC268" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>subprocess.call('echo $PATH',shell = True)</span></td> | |
1840 </tr> | |
1841 <tr> | |
1842 <td id="L269" class="blob-num js-line-number" data-line-number="269"></td> | |
1843 <td id="LC269" class="blob-code blob-code-inner js-file-line"> <span class="pl-c"><span class="pl-c">#</span>sys.exit(1)</span></td> | |
1844 </tr> | |
1845 <tr> | |
1846 <td id="L270" class="blob-num js-line-number" data-line-number="270"></td> | |
1847 <td id="LC270" class="blob-code blob-code-inner js-file-line"> | |
1848 </td> | |
1849 </tr> | |
1850 <tr> | |
1851 <td id="L271" class="blob-num js-line-number" data-line-number="271"></td> | |
1852 <td id="LC271" class="blob-code blob-code-inner js-file-line"> vivaxPath <span class="pl-k">=</span> os.path.dirname(os.path.realpath(<span class="pl-c1">__file__</span>))<span class="pl-k">+</span><span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span>/data/vivax<span class="pl-pds">"</span></span></td> | |
1853 </tr> | |
1854 <tr> | |
1855 <td id="L272" class="blob-num js-line-number" data-line-number="272"></td> | |
1856 <td id="LC272" class="blob-code blob-code-inner js-file-line"> shutil.copyfile(args[dict[<span class="pl-s"><span class="pl-pds">'</span>contigs<span class="pl-pds">'</span></span>]], args[dict[<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>.fa<span class="pl-pds">"</span></span>)</td> | |
1857 </tr> | |
1858 <tr> | |
1859 <td id="L273" class="blob-num js-line-number" data-line-number="273"></td> | |
1860 <td id="LC273" class="blob-code blob-code-inner js-file-line"> blastResult_df <span class="pl-k">=</span> blastContigs(args[dict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]], vivaxPath<span class="pl-k">+</span><span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span>/Database/COGs<span class="pl-c1">.</span>fas<span class="pl-pds">"</span></span>)</td> | |
1861 </tr> | |
1862 <tr> | |
1863 <td id="L274" class="blob-num js-line-number" data-line-number="274"></td> | |
1864 <td id="LC274" class="blob-code blob-code-inner js-file-line"> orthPresence_df <span class="pl-k">=</span> getCogsPresent(blastResult_df, args[dict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]], vivaxPath<span class="pl-k">+</span><span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span>/Database/COGlist<span class="pl-c1">.</span>txt<span class="pl-pds">"</span></span>)</td> | |
1865 </tr> | |
1866 <tr> | |
1867 <td id="L275" class="blob-num js-line-number" data-line-number="275"></td> | |
1868 <td id="LC275" class="blob-code blob-code-inner js-file-line"> | |
1869 </td> | |
1870 </tr> | |
1871 <tr> | |
1872 <td id="L276" class="blob-num js-line-number" data-line-number="276"></td> | |
1873 <td id="LC276" class="blob-code blob-code-inner js-file-line"> binBlastResult_df <span class="pl-k">=</span> blastContigs(args[dict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]], vivaxPath<span class="pl-k">+</span><span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span>/Database/Bin_2<span class="pl-c1">.</span>fas<span class="pl-pds">"</span></span>)</td> | |
1874 </tr> | |
1875 <tr> | |
1876 <td id="L277" class="blob-num js-line-number" data-line-number="277"></td> | |
1877 <td id="LC277" class="blob-code blob-code-inner js-file-line"> binPresence_df <span class="pl-k">=</span> getCogsPresent(binBlastResult_df, args[dict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]], vivaxPath<span class="pl-k">+</span><span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span>/Database/binlist<span class="pl-c1">.</span>txt<span class="pl-pds">"</span></span>)</td> | |
1878 </tr> | |
1879 <tr> | |
1880 <td id="L278" class="blob-num js-line-number" data-line-number="278"></td> | |
1881 <td id="LC278" class="blob-code blob-code-inner js-file-line"> cogPresence_df <span class="pl-k">=</span> orthPresence_df.append(binPresence_df, <span class="pl-v">ignore_index</span><span class="pl-k">=</span><span class="pl-c1">True</span>)</td> | |
1882 </tr> | |
1883 <tr> | |
1884 <td id="L279" class="blob-num js-line-number" data-line-number="279"></td> | |
1885 <td id="LC279" class="blob-code blob-code-inner js-file-line"> | |
1886 </td> | |
1887 </tr> | |
1888 <tr> | |
1889 <td id="L280" class="blob-num js-line-number" data-line-number="280"></td> | |
1890 <td id="LC280" class="blob-code blob-code-inner js-file-line"> fname <span class="pl-k">=</span> args[dict[<span class="pl-s"><span class="pl-pds">'</span>html_resource<span class="pl-pds">'</span></span>]]<span class="pl-k">+</span><span class="pl-sr"><span class="pl-k">r</span><span class="pl-pds">"</span>/<span class="pl-pds">"</span></span><span class="pl-k">+</span> args[dict[<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>_cogspresent.csv<span class="pl-pds">"</span></span></td> | |
1891 </tr> | |
1892 <tr> | |
1893 <td id="L281" class="blob-num js-line-number" data-line-number="281"></td> | |
1894 <td id="LC281" class="blob-code blob-code-inner js-file-line"> cogPresence_df.to_csv(fname)</td> | |
1895 </tr> | |
1896 <tr> | |
1897 <td id="L282" class="blob-num js-line-number" data-line-number="282"></td> | |
1898 <td id="LC282" class="blob-code blob-code-inner js-file-line"> current_df <span class="pl-k">=</span> addToCurrentData(cogPresence_df,args[dict[<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> load in Tvdatabase and add cogPresence column to it.</span></td> | |
1899 </tr> | |
1900 <tr> | |
1901 <td id="L283" class="blob-num js-line-number" data-line-number="283"></td> | |
1902 <td id="LC283" class="blob-code blob-code-inner js-file-line"> createClusterMap(current_df, args[dict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]], args[dict[<span class="pl-s"><span class="pl-pds">'</span>html_resource<span class="pl-pds">'</span></span>]], args[dict[<span class="pl-s"><span class="pl-pds">'</span>pdfexport<span class="pl-pds">'</span></span>]])</td> | |
1903 </tr> | |
1904 <tr> | |
1905 <td id="L284" class="blob-num js-line-number" data-line-number="284"></td> | |
1906 <td id="LC284" class="blob-code blob-code-inner js-file-line"> createHTML(args[dict[<span class="pl-s"><span class="pl-pds">'</span>name<span class="pl-pds">'</span></span>]],args[dict[<span class="pl-s"><span class="pl-pds">'</span>html_file<span class="pl-pds">'</span></span>]],args[dict[<span class="pl-s"><span class="pl-pds">'</span>html_resource<span class="pl-pds">'</span></span>]])</td> | |
1907 </tr> | |
1908 <tr> | |
1909 <td id="L285" class="blob-num js-line-number" data-line-number="285"></td> | |
1910 <td id="LC285" class="blob-code blob-code-inner js-file-line"> | |
1911 </td> | |
1912 </tr> | |
1913 <tr> | |
1914 <td id="L286" class="blob-num js-line-number" data-line-number="286"></td> | |
1915 <td id="LC286" class="blob-code blob-code-inner js-file-line"> | |
1916 </td> | |
1917 </tr> | |
1918 <tr> | |
1919 <td id="L287" class="blob-num js-line-number" data-line-number="287"></td> | |
1920 <td id="LC287" 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> | |
1921 </tr> | |
1922 <tr> | |
1923 <td id="L288" class="blob-num js-line-number" data-line-number="288"></td> | |
1924 <td id="LC288" class="blob-code blob-code-inner js-file-line"> sys.exit()</td> | |
1925 </tr> | |
1926 <tr> | |
1927 <td id="L289" class="blob-num js-line-number" data-line-number="289"></td> | |
1928 <td id="LC289" class="blob-code blob-code-inner js-file-line"> | |
1929 </td> | |
1930 </tr> | |
1931 <tr> | |
1932 <td id="L290" class="blob-num js-line-number" data-line-number="290"></td> | |
1933 <td id="LC290" class="blob-code blob-code-inner js-file-line"> | |
1934 </td> | |
1935 </tr> | |
1936 <tr> | |
1937 <td id="L291" class="blob-num js-line-number" data-line-number="291"></td> | |
1938 <td id="LC291" class="blob-code blob-code-inner js-file-line"> | |
1939 </td> | |
1940 </tr> | |
1941 <tr> | |
1942 <td id="L292" class="blob-num js-line-number" data-line-number="292"></td> | |
1943 <td id="LC292" class="blob-code blob-code-inner js-file-line"> | |
1944 </td> | |
1945 </tr> | |
1946 </table> | |
1947 | |
1948 <details class="details-reset details-overlay BlobToolbar position-absolute js-file-line-actions dropdown d-none" aria-hidden="true"> | |
1949 <summary class="btn-octicon ml-0 px-2 p-0 bg-white border border-gray-dark rounded-1" aria-label="Inline file action toolbar"> | |
1950 <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> | |
1951 </summary> | |
1952 <details-menu> | |
1953 <ul class="BlobToolbar-dropdown dropdown-menu dropdown-menu-se mt-2" style="width:185px"> | |
1954 <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> | |
1955 <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> | |
1956 <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.py">View git blame</a></li> | |
1957 <li><a class="dropdown-item" id="js-new-issue" role="menuitem" href="/johnheap/VAPPER-Galaxy/issues/new">Reference in new issue</a></li> | |
1958 </ul> | |
1959 </details-menu> | |
1960 </details> | |
1961 | |
1962 </div> | |
1963 | |
1964 </div> | |
1965 | |
1966 | |
1967 | |
1968 <details class="details-reset details-overlay details-overlay-dark"> | |
1969 <summary data-hotkey="l" aria-label="Jump to line"></summary> | |
1970 <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast linejump" aria-label="Jump to line"> | |
1971 <!-- '"` --><!-- </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="✓" /> | |
1972 <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> | |
1973 <button type="submit" class="btn" data-close-dialog>Go</button> | |
1974 </form> </details-dialog> | |
1975 </details> | |
1976 | |
1977 | |
1978 | |
1979 </div> | |
1980 <div class="modal-backdrop js-touch-events"></div> | |
1981 </div> | |
1982 | |
1983 </main> | |
1984 </div> | |
1985 | |
1986 | |
1987 </div> | |
1988 | |
1989 | |
1990 <div class="footer container-lg width-full p-responsive" role="contentinfo"> | |
1991 <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 "> | |
1992 <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"> | |
1993 <li class="mr-3 mr-lg-0">© 2019 <span title="0.20802s from unicorn-74746df85b-kqc5g">GitHub</span>, Inc.</li> | |
1994 <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> | |
1995 <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> | |
1996 <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> | |
1997 <li class="mr-3 mr-lg-0"><a href="https://githubstatus.com/" data-ga-click="Footer, go to status, text:status">Status</a></li> | |
1998 <li><a data-ga-click="Footer, go to help, text:help" href="https://help.github.com">Help</a></li> | |
1999 </ul> | |
2000 | |
2001 <a aria-label="Homepage" title="GitHub" class="footer-octicon d-none d-lg-block mx-lg-4" href="https://github.com"> | |
2002 <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> | |
2003 </a> | |
2004 <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"> | |
2005 <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> | |
2006 <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> | |
2007 <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> | |
2008 <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> | |
2009 <li class="mr-3 mr-lg-0"><a href="https://github.blog" data-ga-click="Footer, go to blog, text:blog">Blog</a></li> | |
2010 <li><a data-ga-click="Footer, go to about, text:about" href="https://github.com/about">About</a></li> | |
2011 | |
2012 </ul> | |
2013 </div> | |
2014 <div class="d-flex flex-justify-center pb-6"> | |
2015 <span class="f6 text-gray-light"></span> | |
2016 </div> | |
2017 </div> | |
2018 | |
2019 | |
2020 | |
2021 <div id="ajax-error-message" class="ajax-error-message flash flash-error"> | |
2022 <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> | |
2023 <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> | |
2024 <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> | |
2025 </button> | |
2026 You can’t perform that action at this time. | |
2027 </div> | |
2028 | |
2029 | |
2030 <script crossorigin="anonymous" integrity="sha512-EPrD+nddbyhpiLL8l3M8VfJpZr4J2EWQLaPXZ+6A3VDJKzS5HeZ3dkMVieHSdvIPHsMbWPyVlY42SWKoS4XTfA==" type="application/javascript" src="https://github.githubassets.com/assets/compat-bootstrap-831f12d4.js"></script> | |
2031 <script crossorigin="anonymous" integrity="sha512-oFBEYscCdWEyvUQehaYyaCSiKtIN4UvpfFHNpIXLUTSQ35JcacPNj86R8fgJfI1e7BOjbLZPTv1nJg3TECiMLw==" type="application/javascript" src="https://github.githubassets.com/assets/frameworks-7af24171.js"></script> | |
2032 | |
2033 <script crossorigin="anonymous" async="async" integrity="sha512-b9BDH7EZq1yaR2fUH08I378zVkToScLiQ//L0gdyPviliuwpWiVFkB8uW0K8zZszdeLeBpib7wGBLkPiIFgyHg==" type="application/javascript" src="https://github.githubassets.com/assets/github-bootstrap-2a8c2b54.js"></script> | |
2034 | |
2035 | |
2036 | |
2037 <div class="js-stale-session-flash stale-session-flash flash flash-warn flash-banner" hidden | |
2038 > | |
2039 <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> | |
2040 <span class="signed-in-tab-flash">You signed in with another tab or window. <a href="">Reload</a> to refresh your session.</span> | |
2041 <span class="signed-out-tab-flash">You signed out in another tab or window. <a href="">Reload</a> to refresh your session.</span> | |
2042 </div> | |
2043 <template id="site-details-dialog"> | |
2044 <details class="details-reset details-overlay details-overlay-dark lh-default text-gray-dark hx_rsm" open> | |
2045 <summary role="button" aria-label="Close dialog"></summary> | |
2046 <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> | |
2047 <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> | |
2048 <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> | |
2049 </button> | |
2050 <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> | |
2051 </details-dialog> | |
2052 </details> | |
2053 </template> | |
2054 | |
2055 <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0"> | |
2056 <div class="Popover-message Popover-message--bottom-left Popover-message--large Box box-shadow-large" style="width:360px;"> | |
2057 </div> | |
2058 </div> | |
2059 | |
2060 <div aria-live="polite" class="js-global-screen-reader-notice sr-only"></div> | |
2061 | |
2062 </body> | |
2063 </html> | |
2064 |