File size: 3,852 Bytes
c02fbf1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#!/usr/bin/env python

from __future__ import annotations

import gradio as gr

from dataset_list import DatasetList

DESCRIPTION = '# Explore Medical Question Answering Datasets 🏥'
NOTES = '''
'''
FOOTER = ''''''

def main():
    dataset_list = DatasetList()

    with gr.Blocks(css='style.css') as demo:
        gr.Markdown(DESCRIPTION)

        search_box = gr.Textbox(
            label='Search Dataset Name',
            placeholder=
            'You can search for titles with regular expressions. e.g. (?<!sur)face',
            max_lines=1)
        
        case_sensitive = gr.Checkbox(label='Case Sensitive')
        
        filter_names = gr.CheckboxGroup(choices=[
            'Dataset',
            'Data Link',
            'Paper',
        ], label='Filter')

        # data_type_names = [
        #     'DNA', 'scRNA', 'mRNA', 'scRNA perturbation', 'RNA structure prediction', 'RNA language model', 'protein language model', 'protein structure prediction', 
        #     'protein generation', 'protein function prediction', 'protein fitness prediction', 'antibody structure prediction', 'antibody language model', 'molecules',
        #     'ligand generation', 'reaction-to-enzyme', 'enzyme generation', 'epigenomic', 'molecular docking', 'peptide property prediction', 
        # ]

        # data_types = gr.CheckboxGroup(choices=data_type_names,
        #                               value=data_type_names,
        #                               label='Type')

        # years = ['2020', '2021', '2022', '2023']

        # years_checkbox = gr.CheckboxGroup(choices=years, value=years, label='Year of Publication/Preprint')

        # model_type_names = [
        #     'GPT2', 'GPT-Neo', 'GPT-NeoX', 'ESM', 'BERT', 'RoBERTa', 'BART', 'T5', 'MPNN', 'diffusion', 'custom model'
        # ]

        # model_types = gr.CheckboxGroup(choices=model_type_names,
        #                                value=model_type_names,
        #                                label='Base Model')
        
        search_button = gr.Button('Search')

        number_of_datasets = gr.Textbox(label='Number of Datasets Found')
        table = gr.HTML(show_label=False)

        gr.Markdown(NOTES)
        gr.Markdown(FOOTER)

        demo.load(fn=dataset_list.render,
                  inputs=[
                      search_box,
                      case_sensitive,
                      filter_names
                      # data_types,
                      # years_checkbox,
                      #model_types
                  ],
                  outputs=[
                      number_of_datasets,
                      table,
                  ])
        search_box.submit(fn=dataset_list.render,
                          inputs=[
                              search_box,
                              case_sensitive,
                              filter_names
                              # data_types,
                              # years_checkbox,
                              #model_types
                          ],
                          outputs=[
                              number_of_datasets,
                              table,
                          ])

        search_button.click(fn=dataset_list.render,
                            inputs=[
                                search_box,
                                case_sensitive,
                                filter_names
                                # data_types,
                                # years_checkbox,
                                #model_types
                            ],
                            outputs=[
                                number_of_datasets,
                                table,
                            ])
        demo.launch(enable_queue=True, share=False)
    


if __name__ == '__main__':
    main()