mlmisha

Graph

Oct 25th, 2022 (edited)
949
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.07 KB | None | 0 0
  1. #coding=utf-8
  2. import altair as alt
  3. import pandas as pd
  4. import altair_viewer
  5.  
  6. print("Введите название файла")
  7. lengths=[]
  8. sum = 0
  9. with open(input(),mode="r") as data:
  10.   line = data.readline()
  11.   j=0
  12.   while line!="":
  13.     if line.startswith(">") == True:
  14.       line=data.readline().strip()
  15.       k=0
  16.       while not line.startswith(">") and line != "":
  17.         for i in line:
  18.           k+=1
  19.         line = data.readline().strip()
  20.       k/=1000000
  21.       sum+=k
  22.       lengths.append(k)
  23. lengths.sort(reverse=True)
  24. k=0
  25. j = 0
  26. l_50 = 0
  27. n_50 = 0
  28. for i in lengths:
  29.   k+=i
  30.   j+=1
  31.   if k>=sum/2:
  32.     l_50=j
  33.     n_50=i
  34.     break
  35. data = pd.DataFrame(lengths[0:30], columns=["Lengths,Mb"]) #график ограничен 30-ю первыми элементами!!
  36. chart = alt.Chart(data.reset_index(names="Scaffolds")).mark_bar().encode(
  37.   x=alt.X("Scaffolds",axis=alt.Axis(labels=False)), y="Lengths,Mb",
  38.   color=alt.condition(
  39.     alt.FieldEqualPredicate(field="Lengths,Mb", equal=n_50),
  40.     alt.value("orange"),
  41.     alt.value("steelblue")
  42.   )
  43. )
Advertisement
Add Comment
Please, Sign In to add comment