File size: 7,792 Bytes
ee84667
58fcc33
 
 
0f7fb26
fc9c792
 
 
 
0f7fb26
f947b5a
0f7fb26
 
 
 
 
58fcc33
fc9c792
58fcc33
5d6671b
 
 
 
 
a3692b7
5d6671b
 
a3692b7
5d6671b
 
 
58fcc33
 
fc9c792
 
 
 
f947b5a
fc9c792
 
f947b5a
 
 
 
 
 
58fcc33
fc9c792
 
0f7fb26
fc9c792
0f7fb26
fc9c792
 
 
 
1e9de42
fc9c792
 
 
 
 
58fcc33
fc9c792
 
 
 
 
 
58fcc33
 
 
 
fc9c792
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58fcc33
 
 
fc9c792
 
 
0f7fb26
fc9c792
 
 
 
 
 
 
 
 
 
 
58fcc33
 
fc9c792
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0f7fb26
 
 
fc9c792
0f7fb26
 
 
 
 
fc9c792
58fcc33
0f7fb26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9099ec0
 
20cfc05
 
9099ec0
 
0f7fb26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7cc2a39
 
b8e5b07
a8a0b3f
 
0f7fb26
 
 
 
 
 
de4a4d8
 
 
 
 
 
 
 
 
 
0f7fb26
 
7527dbc
0f7fb26
 
 
 
ecbe925
0f7fb26
7527dbc
ecbe925
 
 
0f7fb26
ecbe925
0f7fb26
3e5d609
0f7fb26
 
 
 
 
 
 
 
 
3e5d609
 
0f7fb26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
fc9c792
 
 
 
1e9de42
fc9c792
 
 
 
 
 
 
 
3821308
fc9c792
 
 
 
b848be3
 
 
 
3a49a77
fc9c792
 
0f7fb26
4f7f0a7
 
 
 
021fcba
4f7f0a7
 
0f7fb26
 
1e9de42
021fcba
 
0f7fb26
 
4f7f0a7
0f7fb26
58fcc33
 
 
 
fc9c792
 
 
 
 
 
 
 
58fcc33
 
 
 
5d6671b
58fcc33
ee84667
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />

  <meta
    name="viewport"
    content="width=device-width, initial-scale=1"
  />

  <title>Gene Embedding Hub</title>

  <link
    rel="stylesheet"
    href="style.css"
  />
</head>

<body>
<!-- THEME TOGGLE START -->
<button
  id="theme-toggle"
  class="theme-toggle"
  type="button"
  aria-label="Current theme: light. Switch to dark theme"
  aria-pressed="false"
>
  β˜€οΈ
</button>
<!-- THEME TOGGLE END -->

  <header class="hero">
    <div class="hero-inner">
      <p class="eyebrow">
        Unified human gene representations
      </p>

      <h1>Gene Embedding Hub</h1>

      <p class="lead">
          Browse standardized gene-level representations spanning
          protein sequence, DNA sequence, RNA sequence, expression,
          biomedical text, functional data, networks, ontologies,
          regulatory genomics, knowledge graphs, single-cell, and
          multimodal representations.
      </p>
      <div class="actions">
        <a
          class="button primary"
          href="#contribute"
        >
          Contribute an embedding
        </a>

        <a
          class="button"
          href="https://huggingface.co/datasets/BoevaLab/Gene-Embedding-Hub-dataset"
          target="_blank"
          rel="noopener noreferrer"
        >
          Open Core Dataset
        </a>
      </div>

      <p class="notice">
        Community contributions are automatically checked for
        compliance with the technical policy. Inclusion is not
        independent scientific or legal endorsement.
      </p>
    </div>
  </header>

  <main>
    <section
      class="stats"
      aria-label="Catalog summary"
    >
      <article>
        <strong id="stat-count">β€”</strong>
        <span>embedding sets</span>
      </article>

      <article>
        <strong id="stat-genes">β€”</strong>
        <span>maximum genes</span>
      </article>

      <article>
        <strong id="stat-dims">β€”</strong>
        <span>dimension range</span>
      </article>
    </section>

    <section class="controls">
      <input
        id="search"
        type="search"
        placeholder="Search names, categories, modalities, or methods"
        aria-label="Search catalog"
      />

      <select
        id="category"
        aria-label="Filter by category"
      >
        <option value="All">
          All categories
        </option>
      </select>
    </section>

    <p
      id="result-count"
      class="result-count"
    ></p>

    <section
      id="grid"
      class="grid"
      aria-live="polite"
    ></section>

    <section
      class="contribute"
      id="contribute"
    >
      <p class="section-label">
        Community contribution
      </p>

      <h2>Submit a gene embedding</h2>

      <p class="contribute-intro">
        Prepare one standardized package and upload it directly to
        the library-owned Hugging Face Dataset as a Pull Request.
      </p>

      <div class="instruction-grid">
        <article class="instruction-card">
          <span class="step-number">1</span>

          <h3>Prepare one folder</h3>

          <pre><code>&lt;embedding_id&gt;/
β”œβ”€β”€ embeddings.npz
β”œβ”€β”€ genes.tsv
β”œβ”€β”€ README.md
└── submission.yaml</code></pre>

          <p>
            The embedding ID must contain 3–80 lowercase letters,
            numbers, dots, underscores, or hyphens and must begin
            with a letter or number.
          </p>
            <p>
              A <code>metadata.json</code> file is automatically
              generated and saved in the embedding's folder after
              acceptance.
            </p>

        </article>

        <article class="instruction-card">
          <span class="step-number">2</span>

          <h3>Check the package contract</h3>

          <ul>
            <li>
              <code>embeddings.npz</code> contains exactly one
              two-dimensional <code>float32</code> array named
              <code>embeddings</code>.
            </li>

            <li>
              <code>genes.tsv</code> contains one unique
              <code>ensembl_gene_id</code> column whose rows match
              the matrix rows.
            </li>
            <li>
              <code>submission.yaml</code> provides the scientific
              context and provenance needed to understand the
              embedding and how it was produced.
            </li>


            <li>
              <code>README.md</code> documents how the representation
              was produced.
            </li>
          </ul>


            <p>
              <a
                class="button"
                href="gene-mapping-tutorial.html"
              >
                Open gene mapping tutorial
              </a>
            </p>
        </article>

                <article class="instruction-card">
          <span class="step-number">3</span>

          <h3>Complete the submission template</h3>

          
          <p>
            Download <code>submission.yaml</code>, replace every
            placeholder and keep the embedding ID identical to the
            folder name. Submitted values are checked automatically
            against the package.
          </p>
</article>

                <article class="instruction-card">
          <span class="step-number">4</span>

          <h3>Upload as a Pull Request</h3>
          <ol>
            <li>
              Open the Hugging Face uploader using the button below.
            </li>

            <li>
              Upload the folder
              <code>&lt;embedding_id&gt;</code>.
            </li>

            <li>
              Select <strong>Open as a pull request</strong>.
            </li>
          </ol>
        </article>

        <article class="instruction-card full-width">
          <span class="step-number">5</span>

          <h3>Automatic validation and publication</h3>

          <p>
            The package structure, metadata consistency, Ensembl
            identifiers, matrix shape, numeric validity, licensing,
            provenance, and attestations are checked automatically.
          </p>

          <p>
            A strict PASS is stored in the central Dataset and added
            to this catalog.
          </p>
        </article>
      </div>

      <div class="button-row">
        <a
          class="button primary"
          href="https://huggingface.co/datasets/BoevaLab/Gene-Embedding-Hub-contributions-staging/upload/main"
          target="_blank"
          rel="noopener noreferrer"
        >
          Open Hugging Face uploader
        </a>

        <a
          class="button"
          href="submission.yaml"
          download
        >
          Download submission template
        </a>
        <a
          class="button"
          href="submission.example.yaml"
          download
        >Download completed example</a>
      </div>

      <details class="cli-alternative">
        <summary>Command-line alternative example</summary>

        <p>
          Before running this example, replace
          <code>my_embedding_v1</code> with the name of your existing
          local embedding folder in both path arguments.
        </p>

        <pre><code>hf upload \
  BoevaLab/Gene-Embedding-Hub-contributions-staging \
  ./my_embedding_v1 \
  my_embedding_v1 \
  --repo-type dataset \
  --create-pr \
  --commit-message "Submit gene embedding"</code></pre>
      </details>
    </section>
  </main>

  <dialog id="detail-dialog">
    <button
      id="close-detail"
      class="close"
      aria-label="Close"
    >
      Γ—
    </button>

    <div id="detail-content"></div>
  </dialog>

  <script src="app.js"></script>
<script src="theme.js"></script>
</body>
</html>