Hack90 commited on
Commit
d5f53fb
·
verified ·
1 Parent(s): a3ca460

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +83 -83
app.py CHANGED
@@ -844,97 +844,97 @@ def compare_persistence_homology(dna_sequence1, dna_sequence2):
844
  ui.page_opts(fillable=True)
845
 
846
  with ui.navset_card_tab(id="tab"):
847
- with ui.nav_panel("Viral Macrostructure"):
848
- ui.page_opts(fillable=True)
849
- ui.panel_title("Do viruses have underlying structure?")
850
- with ui.layout_columns():
851
- with ui.card():
852
- ui.input_selectize(
853
- "virus_selector",
854
- "Select your viruses:",
855
- virus,
856
- multiple=True,
857
- )
858
- with ui.card():
859
- ui.input_selectize(
860
- "plot_type",
861
- "Select your method:",
862
- ["Chaos Game Representation", "2D Line", "ColorSquare", "Persistant Homology", "Wens Method"],
863
- multiple=False,
864
- )
865
-
866
- ############################################################# Plotting ########################################################
867
- here = Path(__file__).parent
868
- import matplotlib as mpl
869
- @render.plot
870
- def plot():
871
- #ds = load_dataset('Hack90/virus_tiny')
872
- df = pd.read_parquet('virus_ds.parquet')
873
- df = df[df['Organism_Name'].isin(input.virus_selector())]
874
- # group by virus
875
- grouped = df.groupby('Organism_Name')['Sequence'].apply(list)
876
- mpl.rcParams.update(mpl.rcParamsDefault)
877
-
878
- # plot the comparison
879
- fig = None
880
- if input.plot_type() == "2D Line":
881
- fig = plot_2d_comparison(grouped, grouped.index)
882
- if input.plot_type() == "ColorSquare":
883
- filtered_df = df.groupby('Organism_Name').apply(filter_and_select).reset_index(drop=True)
884
- fig = plot_color_square(filtered_df['Sequence'], filtered_df['Organism_Name'].unique())
885
- if input.plot_type() == "Wens Method":
886
- fig = wens_method_heatmap(df, df['Organism_Name'].unique())
887
- if input.plot_type() == "Chaos Game Representation":
888
- filtered_df = df.groupby('Organism_Name').apply(filter_and_select).reset_index(drop=True)
889
- fig = plot_fcgr(filtered_df['Sequence'], df['Organism_Name'].unique())
890
- if input.plot_type() == "Persistant Homology":
891
- filtered_df = df.groupby('Organism_Name').apply(filter_and_select).reset_index(drop=True)
892
- fig = plot_persistence_homology(filtered_df['Sequence'], filtered_df['Organism_Name'])
893
- return fig
894
- # with ui.nav_panel("Viral Model"):
895
- # gr.load("models/Hack90/virus_pythia_31_1024").launch()
896
-
897
- # with ui.nav_panel("Viral Microstructure"):
898
  # ui.page_opts(fillable=True)
899
- # ui.panel_title("Kmer Distribution")
900
  # with ui.layout_columns():
901
  # with ui.card():
902
- # ui.input_slider("kmer", "kmer", 0, 10, 5)
903
- # ui.input_slider("top_k", "top:", 0, 1000, 15)
904
-
905
  # ui.input_selectize(
906
- # "plot_type",
907
- # "Select metric:",
908
- # ["percentage", "count"],
909
- # multiple=False,
910
- # )
911
-
912
-
 
 
 
 
 
 
 
 
 
913
  # @render.plot
914
  # def plot():
915
- # df = pd.read_csv('kmers.csv')
916
- # k = input.kmer()
917
- # top_k = input.top_k()
 
 
 
 
 
918
  # fig = None
919
- # if input.plot_type() == "count":
920
- # df = df[df['k'] == k]
921
- # df = df.head(top_k)
922
- # fig, ax = plt.subplots()
923
- # ax.bar(df['kmer'], df['count'])
924
- # ax.set_title(f"Most common {k}-mers")
925
- # ax.set_xlabel("K-mer")
926
- # ax.set_ylabel("Count")
927
- # ax.set_xticklabels(df['kmer'], rotation=90)
928
- # if input.plot_type() == "percentage":
929
- # df = df[df['k'] == k]
930
- # df = df.head(top_k)
931
- # fig, ax = plt.subplots()
932
- # ax.bar(df['kmer'], df['percent']*100)
933
- # ax.set_title(f"Most common {k}-mers")
934
- # ax.set_xlabel("K-mer")
935
- # ax.set_ylabel("Percentage")
936
- # ax.set_xticklabels(df['kmer'], rotation=90)
937
  # return fig
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
938
 
939
  # with ui.nav_panel("Viral Model Training"):
940
  # ui.page_opts(fillable=True)
 
844
  ui.page_opts(fillable=True)
845
 
846
  with ui.navset_card_tab(id="tab"):
847
+ # with ui.nav_panel("Viral Macrostructure"):
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
848
  # ui.page_opts(fillable=True)
849
+ # ui.panel_title("Do viruses have underlying structure?")
850
  # with ui.layout_columns():
851
  # with ui.card():
 
 
 
852
  # ui.input_selectize(
853
+ # "virus_selector",
854
+ # "Select your viruses:",
855
+ # virus,
856
+ # multiple=True,
857
+ # )
858
+ # with ui.card():
859
+ # ui.input_selectize(
860
+ # "plot_type",
861
+ # "Select your method:",
862
+ # ["Chaos Game Representation", "2D Line", "ColorSquare", "Persistant Homology", "Wens Method"],
863
+ # multiple=False,
864
+ # )
865
+
866
+ # ############################################################# Plotting ########################################################
867
+ # here = Path(__file__).parent
868
+ # import matplotlib as mpl
869
  # @render.plot
870
  # def plot():
871
+ # #ds = load_dataset('Hack90/virus_tiny')
872
+ # df = pd.read_parquet('virus_ds.parquet')
873
+ # df = df[df['Organism_Name'].isin(input.virus_selector())]
874
+ # # group by virus
875
+ # grouped = df.groupby('Organism_Name')['Sequence'].apply(list)
876
+ # mpl.rcParams.update(mpl.rcParamsDefault)
877
+
878
+ # # plot the comparison
879
  # fig = None
880
+ # if input.plot_type() == "2D Line":
881
+ # fig = plot_2d_comparison(grouped, grouped.index)
882
+ # if input.plot_type() == "ColorSquare":
883
+ # filtered_df = df.groupby('Organism_Name').apply(filter_and_select).reset_index(drop=True)
884
+ # fig = plot_color_square(filtered_df['Sequence'], filtered_df['Organism_Name'].unique())
885
+ # if input.plot_type() == "Wens Method":
886
+ # fig = wens_method_heatmap(df, df['Organism_Name'].unique())
887
+ # if input.plot_type() == "Chaos Game Representation":
888
+ # filtered_df = df.groupby('Organism_Name').apply(filter_and_select).reset_index(drop=True)
889
+ # fig = plot_fcgr(filtered_df['Sequence'], df['Organism_Name'].unique())
890
+ # if input.plot_type() == "Persistant Homology":
891
+ # filtered_df = df.groupby('Organism_Name').apply(filter_and_select).reset_index(drop=True)
892
+ # fig = plot_persistence_homology(filtered_df['Sequence'], filtered_df['Organism_Name'])
 
 
 
 
 
893
  # return fig
894
+ # with ui.nav_panel("Viral Model"):
895
+ # gr.load("models/Hack90/virus_pythia_31_1024").launch()
896
+
897
+ with ui.nav_panel("Viral Microstructure"):
898
+ ui.page_opts(fillable=True)
899
+ ui.panel_title("Kmer Distribution")
900
+ with ui.layout_columns():
901
+ with ui.card():
902
+ ui.input_slider("kmer", "kmer", 0, 10, 5)
903
+ ui.input_slider("top_k", "top:", 0, 1000, 15)
904
+
905
+ ui.input_selectize(
906
+ "plot_type",
907
+ "Select metric:",
908
+ ["percentage", "count"],
909
+ multiple=False,
910
+ )
911
+
912
+
913
+ @render.plot
914
+ def plot():
915
+ df = pd.read_csv('kmers.csv')
916
+ k = input.kmer()
917
+ top_k = input.top_k()
918
+ fig = None
919
+ if input.plot_type() == "count":
920
+ df = df[df['k'] == k]
921
+ df = df.head(top_k)
922
+ fig, ax = plt.subplots()
923
+ ax.bar(df['kmer'], df['count'])
924
+ ax.set_title(f"Most common {k}-mers")
925
+ ax.set_xlabel("K-mer")
926
+ ax.set_ylabel("Count")
927
+ ax.set_xticklabels(df['kmer'], rotation=90)
928
+ if input.plot_type() == "percentage":
929
+ df = df[df['k'] == k]
930
+ df = df.head(top_k)
931
+ fig, ax = plt.subplots()
932
+ ax.bar(df['kmer'], df['percent']*100)
933
+ ax.set_title(f"Most common {k}-mers")
934
+ ax.set_xlabel("K-mer")
935
+ ax.set_ylabel("Percentage")
936
+ ax.set_xticklabels(df['kmer'], rotation=90)
937
+ return fig
938
 
939
  # with ui.nav_panel("Viral Model Training"):
940
  # ui.page_opts(fillable=True)