In [8]:
file_uniprot = open('uniprot_whole.csv', 'r')
file_hmm = open('out.txt', 'r')

file_out = open('outfile.txt', 'w')

parsed = []

for line in file_uniprot:
    parsed.append(line.split(',')[0])
    
for line in file_hmm:
    out = line.split()[0].split('|')[1]
    if out in parsed:
        file_out.write('YES:' + line)
    else:
        file_out.write('NO:' + line)
        
file_uniprot.close()
file_hmm.close()
file_out.close()
In [12]:
file_in = open('outfile.txt', 'r')
summ_yes = 0
summ_no = 0
lines = 0
for line in file_in:
    lines +=1
    if 'YES' in line:
        summ +=1
    else:
        summ_no +=1
        
print('summ_yes=', summ_yes)
print('summ_no=', summ_no)
print('lines=', lines)

file_in.close()
summ_yes= 0
summ_no= 78407
lines= 79049
In [17]:
file_in = open('outfile.txt', 'r')
file_out = open('done.txt', 'w')

counter_yes = 0
counter_no = 78409
total_sum_up = 0
total_sum_down = 79050
file_out.write('Weight' + '\t' + 'Sensitivity' + '\t' + 'Specificity'+ '\n')
for line in file_in:
    total_sum_up +=1
    total_sum_down = total_sum_down - 1
    if 'YES' in line:
        counter_yes +=1
    else:
        counter_no = counter_no - 1
    sens = counter_yes/total_sum_up
    spec = counter_no/total_sum_down
    file_out.write(str(line.split()[-2]) + '\t' + str(sens) + '\t' + str(spec) + '\n')
    
file_in.close()
file_out.close()
        
In [ ]:
import matplotlib as mpl
import seaborn as sns
import pandas as pd
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import plotly
import plotly.graph_objs as go

init_notebook_mode(connected=True)

sns.set()
%matplotlib inline
%config InlineBackend.figure_format = 'retina'

dataset = pd.read_csv('done.txt', delimiter='\t')
dataset.head()
In [ ]:
trace0 = go.Scatter(
    x=dataset['Weight'],
    y=dataset['Sensitivity'],
    name='Sensitivity'
)

trace1 = go.Scatter(
    x=dataset['Weight'],
    y=dataset['Specificity'],
    name='Specificity'
)

data = [trace0, trace1]

layout = {'title': 'ROS graph'}

fig = go.Figure(data=data, layout=layout)
iplot(fig, show_link=False)

plotly.offline.plot(fig, filename='graph.html', show_link=False);