@weng-lab/ui-components 2.2.4 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/components/BiosampleTable/BiosampleTable.d.ts.map +1 -1
- package/dist/src/components/BiosampleTable/columns.d.ts.map +1 -1
- package/dist/src/components/BiosampleTable/types.d.ts +1 -0
- package/dist/src/components/BiosampleTable/types.d.ts.map +1 -1
- package/dist/src/components/BiosampleTable/useEncodeBiosampleData.d.ts.map +1 -1
- package/dist/src/components/GenomeSearch/GenomeSearch.d.ts +7 -4
- package/dist/src/components/GenomeSearch/GenomeSearch.d.ts.map +1 -1
- package/dist/src/components/GenomeSearch/queries.d.ts +10 -10
- package/dist/src/components/GenomeSearch/queries.d.ts.map +1 -1
- package/dist/src/components/GenomeSearch/types.d.ts +27 -12
- package/dist/src/components/GenomeSearch/types.d.ts.map +1 -1
- package/dist/src/components/GenomeSearch/useEntityAutocomplete.d.ts +3 -10
- package/dist/src/components/GenomeSearch/useEntityAutocomplete.d.ts.map +1 -1
- package/dist/src/components/GenomeSearch/utils.d.ts.map +1 -1
- package/dist/src/components/Table/CustomToolbar.d.ts +2 -10
- package/dist/src/components/Table/CustomToolbar.d.ts.map +1 -1
- package/dist/src/components/Table/Table.d.ts.map +1 -1
- package/dist/src/components/Table/types.d.ts +20 -30
- package/dist/src/components/Table/types.d.ts.map +1 -1
- package/dist/src/components/TwoPaneLayout/useSyncedTable.d.ts +5 -1
- package/dist/src/components/TwoPaneLayout/useSyncedTable.d.ts.map +1 -1
- package/dist/ui-components.es10.js +97 -90
- package/dist/ui-components.es10.js.map +1 -1
- package/dist/ui-components.es100.js +57 -7
- package/dist/ui-components.es100.js.map +1 -1
- package/dist/ui-components.es101.js +7 -6
- package/dist/ui-components.es101.js.map +1 -1
- package/dist/ui-components.es102.js +12 -6
- package/dist/ui-components.es102.js.map +1 -1
- package/dist/ui-components.es103.js +7 -5
- package/dist/ui-components.es103.js.map +1 -1
- package/dist/ui-components.es104.js +449 -6
- package/dist/ui-components.es104.js.map +1 -1
- package/dist/ui-components.es105.js +3 -6
- package/dist/ui-components.es105.js.map +1 -1
- package/dist/ui-components.es106.js +3 -29
- package/dist/ui-components.es106.js.map +1 -1
- package/dist/ui-components.es107.js +3 -8
- package/dist/ui-components.es107.js.map +1 -1
- package/dist/ui-components.es108.js +14 -47
- package/dist/ui-components.es108.js.map +1 -1
- package/dist/ui-components.es109.js +39 -194
- package/dist/ui-components.es109.js.map +1 -1
- package/dist/ui-components.es11.js +19 -15
- package/dist/ui-components.es11.js.map +1 -1
- package/dist/ui-components.es110.js +7 -18
- package/dist/ui-components.es110.js.map +1 -1
- package/dist/ui-components.es111.js +23 -279
- package/dist/ui-components.es111.js.map +1 -1
- package/dist/ui-components.es112.js +3 -6
- package/dist/ui-components.es112.js.map +1 -1
- package/dist/ui-components.es113.js +6 -6
- package/dist/ui-components.es113.js.map +1 -1
- package/dist/ui-components.es114.js +13 -7
- package/dist/ui-components.es114.js.map +1 -1
- package/dist/ui-components.es115.js +6 -4
- package/dist/ui-components.es115.js.map +1 -1
- package/dist/ui-components.es116.js +20 -5
- package/dist/ui-components.es116.js.map +1 -1
- package/dist/ui-components.es117.js +4 -20
- package/dist/ui-components.es117.js.map +1 -1
- package/dist/ui-components.es118.js +6 -11
- package/dist/ui-components.es118.js.map +1 -1
- package/dist/ui-components.es119.js +29 -7
- package/dist/ui-components.es119.js.map +1 -1
- package/dist/ui-components.es12.js +111 -79
- package/dist/ui-components.es12.js.map +1 -1
- package/dist/ui-components.es120.js +20 -24
- package/dist/ui-components.es120.js.map +1 -1
- package/dist/ui-components.es121.js +7 -3
- package/dist/ui-components.es121.js.map +1 -1
- package/dist/ui-components.es122.js +6 -160
- package/dist/ui-components.es122.js.map +1 -1
- package/dist/ui-components.es123.js +47 -3
- package/dist/ui-components.es123.js.map +1 -1
- package/dist/ui-components.es124.js +18 -4
- package/dist/ui-components.es124.js.map +1 -1
- package/dist/ui-components.es125.js +413 -3
- package/dist/ui-components.es125.js.map +1 -1
- package/dist/ui-components.es126.js +497 -21
- package/dist/ui-components.es126.js.map +1 -1
- package/dist/ui-components.es127.js +344 -3
- package/dist/ui-components.es127.js.map +1 -1
- package/dist/ui-components.es128.js +272 -15
- package/dist/ui-components.es128.js.map +1 -1
- package/dist/ui-components.es129.js +177 -8
- package/dist/ui-components.es129.js.map +1 -1
- package/dist/ui-components.es13.js +59 -38
- package/dist/ui-components.es13.js.map +1 -1
- package/dist/ui-components.es130.js +280 -4
- package/dist/ui-components.es130.js.map +1 -1
- package/dist/ui-components.es131.js +238 -4
- package/dist/ui-components.es131.js.map +1 -1
- package/dist/ui-components.es132.js +3 -37
- package/dist/ui-components.es132.js.map +1 -1
- package/dist/ui-components.es133.js +6 -344
- package/dist/ui-components.es133.js.map +1 -1
- package/dist/ui-components.es134.js +8 -275
- package/dist/ui-components.es134.js.map +1 -1
- package/dist/ui-components.es135.js +4 -6
- package/dist/ui-components.es135.js.map +1 -1
- package/dist/ui-components.es136.js +7 -7
- package/dist/ui-components.es136.js.map +1 -1
- package/dist/ui-components.es137.js +4 -8
- package/dist/ui-components.es137.js.map +1 -1
- package/dist/ui-components.es138.js +7 -6
- package/dist/ui-components.es138.js.map +1 -1
- package/dist/ui-components.es139.js +6 -6
- package/dist/ui-components.es139.js.map +1 -1
- package/dist/ui-components.es140.js +7 -311
- package/dist/ui-components.es140.js.map +1 -1
- package/dist/ui-components.es141.js +8 -6
- package/dist/ui-components.es141.js.map +1 -1
- package/dist/ui-components.es142.js +198 -6
- package/dist/ui-components.es142.js.map +1 -1
- package/dist/ui-components.es143.js +3 -6
- package/dist/ui-components.es143.js.map +1 -1
- package/dist/ui-components.es144.js +6 -6
- package/dist/ui-components.es144.js.map +1 -1
- package/dist/ui-components.es145.js +4 -60
- package/dist/ui-components.es145.js.map +1 -1
- package/dist/ui-components.es146.js +4 -8
- package/dist/ui-components.es146.js.map +1 -1
- package/dist/ui-components.es147.js +36 -6
- package/dist/ui-components.es147.js.map +1 -1
- package/dist/ui-components.es148.js +345 -2
- package/dist/ui-components.es148.js.map +1 -1
- package/dist/ui-components.es149.js +275 -3
- package/dist/ui-components.es149.js.map +1 -1
- package/dist/ui-components.es150.js +7 -31
- package/dist/ui-components.es150.js.map +1 -1
- package/dist/ui-components.es151.js +4 -15
- package/dist/ui-components.es151.js.map +1 -1
- package/dist/ui-components.es152.js +5 -57
- package/dist/ui-components.es152.js.map +1 -1
- package/dist/ui-components.es153.js +12 -7
- package/dist/ui-components.es153.js.map +1 -1
- package/dist/ui-components.es154.js +7 -7
- package/dist/ui-components.es154.js.map +1 -1
- package/dist/ui-components.es155.js +24 -25
- package/dist/ui-components.es155.js.map +1 -1
- package/dist/ui-components.es156.js +159 -27
- package/dist/ui-components.es156.js.map +1 -1
- package/dist/ui-components.es157.js +4 -11
- package/dist/ui-components.es157.js.map +1 -1
- package/dist/ui-components.es158.js +21 -4
- package/dist/ui-components.es158.js.map +1 -1
- package/dist/ui-components.es159.js +7 -196
- package/dist/ui-components.es159.js.map +1 -1
- package/dist/ui-components.es160.js +6 -189
- package/dist/ui-components.es160.js.map +1 -1
- package/dist/ui-components.es161.js +7 -9
- package/dist/ui-components.es161.js.map +1 -1
- package/dist/ui-components.es162.js +6 -22
- package/dist/ui-components.es162.js.map +1 -1
- package/dist/ui-components.es163.js +7 -125
- package/dist/ui-components.es163.js.map +1 -1
- package/dist/ui-components.es164.js +6 -4
- package/dist/ui-components.es164.js.map +1 -1
- package/dist/ui-components.es165.js +125 -4
- package/dist/ui-components.es165.js.map +1 -1
- package/dist/ui-components.es166.js +3 -2
- package/dist/ui-components.es166.js.map +1 -1
- package/dist/ui-components.es167.js +4 -101
- package/dist/ui-components.es167.js.map +1 -1
- package/dist/ui-components.es168.js +3 -6
- package/dist/ui-components.es168.js.map +1 -1
- package/dist/ui-components.es169.js +97 -59
- package/dist/ui-components.es169.js.map +1 -1
- package/dist/ui-components.es170.js +6 -177
- package/dist/ui-components.es170.js.map +1 -1
- package/dist/ui-components.es171.js +48 -176
- package/dist/ui-components.es171.js.map +1 -1
- package/dist/ui-components.es172.js +177 -6
- package/dist/ui-components.es172.js.map +1 -1
- package/dist/ui-components.es173.js +188 -266
- package/dist/ui-components.es173.js.map +1 -1
- package/dist/ui-components.es174.js +20 -172
- package/dist/ui-components.es174.js.map +1 -1
- package/dist/ui-components.es175.js +6 -109
- package/dist/ui-components.es175.js.map +1 -1
- package/dist/ui-components.es176.js +6 -7
- package/dist/ui-components.es176.js.map +1 -1
- package/dist/ui-components.es177.js +7 -63
- package/dist/ui-components.es177.js.map +1 -1
- package/dist/ui-components.es178.js +23 -43
- package/dist/ui-components.es178.js.map +1 -1
- package/dist/ui-components.es179.js +29 -3
- package/dist/ui-components.es179.js.map +1 -1
- package/dist/ui-components.es180.js +11 -7
- package/dist/ui-components.es180.js.map +1 -1
- package/dist/ui-components.es181.js +4 -155
- package/dist/ui-components.es181.js.map +1 -1
- package/dist/ui-components.es182.js +196 -4
- package/dist/ui-components.es182.js.map +1 -1
- package/dist/ui-components.es183.js +189 -39
- package/dist/ui-components.es183.js.map +1 -1
- package/dist/ui-components.es184.js +8 -25
- package/dist/ui-components.es184.js.map +1 -1
- package/dist/ui-components.es185.js +269 -7
- package/dist/ui-components.es185.js.map +1 -1
- package/dist/ui-components.es186.js +172 -26
- package/dist/ui-components.es186.js.map +1 -1
- package/dist/ui-components.es187.js +105 -119
- package/dist/ui-components.es187.js.map +1 -1
- package/dist/ui-components.es188.js +63 -12
- package/dist/ui-components.es188.js.map +1 -1
- package/dist/ui-components.es189.js +44 -4
- package/dist/ui-components.es189.js.map +1 -1
- package/dist/ui-components.es19.js +1 -1
- package/dist/ui-components.es190.js +3 -294
- package/dist/ui-components.es190.js.map +1 -1
- package/dist/ui-components.es191.js +7 -93
- package/dist/ui-components.es191.js.map +1 -1
- package/dist/ui-components.es192.js +154 -8
- package/dist/ui-components.es192.js.map +1 -1
- package/dist/ui-components.es193.js +4 -81
- package/dist/ui-components.es193.js.map +1 -1
- package/dist/ui-components.es194.js +38 -77
- package/dist/ui-components.es194.js.map +1 -1
- package/dist/ui-components.es195.js +24 -14
- package/dist/ui-components.es195.js.map +1 -1
- package/dist/ui-components.es196.js +8 -2
- package/dist/ui-components.es196.js.map +1 -1
- package/dist/ui-components.es197.js +27 -110
- package/dist/ui-components.es197.js.map +1 -1
- package/dist/ui-components.es198.js +121 -14
- package/dist/ui-components.es198.js.map +1 -1
- package/dist/ui-components.es199.js +12 -6
- package/dist/ui-components.es199.js.map +1 -1
- package/dist/ui-components.es2.js +29 -29
- package/dist/ui-components.es20.js +6 -41
- package/dist/ui-components.es20.js.map +1 -1
- package/dist/ui-components.es200.js +4 -9
- package/dist/ui-components.es200.js.map +1 -1
- package/dist/ui-components.es201.js +290 -446
- package/dist/ui-components.es201.js.map +1 -1
- package/dist/ui-components.es202.js +93 -3
- package/dist/ui-components.es202.js.map +1 -1
- package/dist/ui-components.es203.js +10 -3
- package/dist/ui-components.es203.js.map +1 -1
- package/dist/ui-components.es204.js +82 -43
- package/dist/ui-components.es204.js.map +1 -1
- package/dist/ui-components.es205.js +77 -7
- package/dist/ui-components.es205.js.map +1 -1
- package/dist/ui-components.es206.js +16 -23
- package/dist/ui-components.es206.js.map +1 -1
- package/dist/ui-components.es207.js +2 -7
- package/dist/ui-components.es207.js.map +1 -1
- package/dist/ui-components.es208.js +217 -319
- package/dist/ui-components.es208.js.map +1 -1
- package/dist/ui-components.es209.js +6 -498
- package/dist/ui-components.es209.js.map +1 -1
- package/dist/ui-components.es21.js +70 -6
- package/dist/ui-components.es21.js.map +1 -1
- package/dist/ui-components.es210.js +6 -344
- package/dist/ui-components.es210.js.map +1 -1
- package/dist/ui-components.es211.js +6 -272
- package/dist/ui-components.es211.js.map +1 -1
- package/dist/ui-components.es212.js +8 -177
- package/dist/ui-components.es212.js.map +1 -1
- package/dist/ui-components.es213.js +56 -234
- package/dist/ui-components.es213.js.map +1 -1
- package/dist/ui-components.es217.js +3 -3
- package/dist/ui-components.es218.js +4 -4
- package/dist/ui-components.es219.js +1 -1
- package/dist/ui-components.es22.js +30 -6
- package/dist/ui-components.es22.js.map +1 -1
- package/dist/ui-components.es220.js +2 -35
- package/dist/ui-components.es220.js.map +1 -1
- package/dist/ui-components.es221.js +34 -22
- package/dist/ui-components.es221.js.map +1 -1
- package/dist/ui-components.es222.js +22 -11
- package/dist/ui-components.es222.js.map +1 -1
- package/dist/ui-components.es223.js +12 -2
- package/dist/ui-components.es223.js.map +1 -1
- package/dist/ui-components.es224.js +4 -2
- package/dist/ui-components.es224.js.map +1 -1
- package/dist/ui-components.es225.js +3 -3
- package/dist/ui-components.es225.js.map +1 -1
- package/dist/ui-components.es226.js +8 -45
- package/dist/ui-components.es226.js.map +1 -1
- package/dist/ui-components.es227.js +12 -11
- package/dist/ui-components.es227.js.map +1 -1
- package/dist/ui-components.es228.js +2 -2
- package/dist/ui-components.es229.js +4 -2
- package/dist/ui-components.es229.js.map +1 -1
- package/dist/ui-components.es23.js +27 -6
- package/dist/ui-components.es23.js.map +1 -1
- package/dist/ui-components.es230.js +45 -6
- package/dist/ui-components.es230.js.map +1 -1
- package/dist/ui-components.es231.js +10 -6
- package/dist/ui-components.es231.js.map +1 -1
- package/dist/ui-components.es232.js +2 -9
- package/dist/ui-components.es232.js.map +1 -1
- package/dist/ui-components.es233.js +2 -2
- package/dist/ui-components.es234.js +2 -2
- package/dist/ui-components.es235.js +6 -59
- package/dist/ui-components.es235.js.map +1 -1
- package/dist/ui-components.es236.js +59 -23
- package/dist/ui-components.es236.js.map +1 -1
- package/dist/ui-components.es237.js +2 -118
- package/dist/ui-components.es237.js.map +1 -1
- package/dist/ui-components.es238.js +2 -4
- package/dist/ui-components.es238.js.map +1 -1
- package/dist/ui-components.es239.js +23 -14
- package/dist/ui-components.es239.js.map +1 -1
- package/dist/ui-components.es24.js +43 -6
- package/dist/ui-components.es24.js.map +1 -1
- package/dist/ui-components.es240.js +114 -35
- package/dist/ui-components.es240.js.map +1 -1
- package/dist/ui-components.es241.js +3 -4
- package/dist/ui-components.es241.js.map +1 -1
- package/dist/ui-components.es242.js +15 -17
- package/dist/ui-components.es242.js.map +1 -1
- package/dist/ui-components.es243.js +39 -9
- package/dist/ui-components.es243.js.map +1 -1
- package/dist/ui-components.es244.js +4 -7
- package/dist/ui-components.es244.js.map +1 -1
- package/dist/ui-components.es245.js +16 -7
- package/dist/ui-components.es245.js.map +1 -1
- package/dist/ui-components.es246.js +8 -7
- package/dist/ui-components.es246.js.map +1 -1
- package/dist/ui-components.es247.js +7 -7
- package/dist/ui-components.es247.js.map +1 -1
- package/dist/ui-components.es248.js +7 -8
- package/dist/ui-components.es248.js.map +1 -1
- package/dist/ui-components.es249.js +8 -5
- package/dist/ui-components.es249.js.map +1 -1
- package/dist/ui-components.es25.js +21 -6
- package/dist/ui-components.es25.js.map +1 -1
- package/dist/ui-components.es250.js +7 -10
- package/dist/ui-components.es250.js.map +1 -1
- package/dist/ui-components.es251.js +9 -42
- package/dist/ui-components.es251.js.map +1 -1
- package/dist/ui-components.es252.js +5 -2
- package/dist/ui-components.es252.js.map +1 -1
- package/dist/ui-components.es253.js +11 -25
- package/dist/ui-components.es253.js.map +1 -1
- package/dist/ui-components.es254.js +41 -34
- package/dist/ui-components.es254.js.map +1 -1
- package/dist/ui-components.es255.js +6 -7
- package/dist/ui-components.es255.js.map +1 -1
- package/dist/ui-components.es256.js +232 -3
- package/dist/ui-components.es256.js.map +1 -1
- package/dist/ui-components.es257.js +2 -7
- package/dist/ui-components.es257.js.map +1 -1
- package/dist/ui-components.es258.js +2 -477
- package/dist/ui-components.es258.js.map +1 -1
- package/dist/ui-components.es259.js +9 -167
- package/dist/ui-components.es259.js.map +1 -1
- package/dist/ui-components.es26.js +20 -6
- package/dist/ui-components.es26.js.map +1 -1
- package/dist/ui-components.es260.js +1 -3
- package/dist/ui-components.es260.js.map +1 -1
- package/dist/ui-components.es261.js +2 -8
- package/dist/ui-components.es261.js.map +1 -1
- package/dist/ui-components.es262.js +3 -3
- package/dist/ui-components.es262.js.map +1 -1
- package/dist/ui-components.es263.js +7 -3
- package/dist/ui-components.es263.js.map +1 -1
- package/dist/ui-components.es264.js +476 -7
- package/dist/ui-components.es264.js.map +1 -1
- package/dist/ui-components.es265.js +167 -7
- package/dist/ui-components.es265.js.map +1 -1
- package/dist/ui-components.es266.js +25 -2
- package/dist/ui-components.es266.js.map +1 -1
- package/dist/ui-components.es267.js +34 -67
- package/dist/ui-components.es267.js.map +1 -1
- package/dist/ui-components.es268.js +7 -84
- package/dist/ui-components.es268.js.map +1 -1
- package/dist/ui-components.es269.js +4 -47
- package/dist/ui-components.es269.js.map +1 -1
- package/dist/ui-components.es27.js +130 -6
- package/dist/ui-components.es27.js.map +1 -1
- package/dist/ui-components.es270.js +7 -7
- package/dist/ui-components.es270.js.map +1 -1
- package/dist/ui-components.es271.js +3 -5
- package/dist/ui-components.es271.js.map +1 -1
- package/dist/ui-components.es272.js +3 -52
- package/dist/ui-components.es272.js.map +1 -1
- package/dist/ui-components.es273.js +8 -232
- package/dist/ui-components.es273.js.map +1 -1
- package/dist/ui-components.es274.js +8 -2
- package/dist/ui-components.es274.js.map +1 -1
- package/dist/ui-components.es275.js +2 -2
- package/dist/ui-components.es276.js +67 -9
- package/dist/ui-components.es276.js.map +1 -1
- package/dist/ui-components.es277.js +85 -2
- package/dist/ui-components.es277.js.map +1 -1
- package/dist/ui-components.es278.js +47 -2
- package/dist/ui-components.es278.js.map +1 -1
- package/dist/ui-components.es279.js +7 -3
- package/dist/ui-components.es279.js.map +1 -1
- package/dist/ui-components.es28.js +36 -255
- package/dist/ui-components.es28.js.map +1 -1
- package/dist/ui-components.es280.js +4 -3
- package/dist/ui-components.es280.js.map +1 -1
- package/dist/ui-components.es281.js +52 -12
- package/dist/ui-components.es281.js.map +1 -1
- package/dist/ui-components.es282.js +145 -29
- package/dist/ui-components.es282.js.map +1 -1
- package/dist/ui-components.es283.js +9 -519
- package/dist/ui-components.es283.js.map +1 -1
- package/dist/ui-components.es284.js +3 -6
- package/dist/ui-components.es284.js.map +1 -1
- package/dist/ui-components.es285.js +15 -233
- package/dist/ui-components.es285.js.map +1 -1
- package/dist/ui-components.es286.js +19 -8
- package/dist/ui-components.es286.js.map +1 -1
- package/dist/ui-components.es287.js +31 -6
- package/dist/ui-components.es287.js.map +1 -1
- package/dist/ui-components.es288.js +12 -6
- package/dist/ui-components.es288.js.map +1 -1
- package/dist/ui-components.es289.js +149 -6
- package/dist/ui-components.es289.js.map +1 -1
- package/dist/ui-components.es29.js +21 -724
- package/dist/ui-components.es29.js.map +1 -1
- package/dist/ui-components.es290.js +12 -6
- package/dist/ui-components.es290.js.map +1 -1
- package/dist/ui-components.es291.js +6 -6
- package/dist/ui-components.es291.js.map +1 -1
- package/dist/ui-components.es292.js +7 -243
- package/dist/ui-components.es292.js.map +1 -1
- package/dist/ui-components.es293.js +171 -8
- package/dist/ui-components.es293.js.map +1 -1
- package/dist/ui-components.es294.js +7 -48
- package/dist/ui-components.es294.js.map +1 -1
- package/dist/ui-components.es295.js +12 -3
- package/dist/ui-components.es295.js.map +1 -1
- package/dist/ui-components.es296.js +7 -6
- package/dist/ui-components.es296.js.map +1 -1
- package/dist/ui-components.es297.js +520 -6
- package/dist/ui-components.es297.js.map +1 -1
- package/dist/ui-components.es298.js +6 -4
- package/dist/ui-components.es298.js.map +1 -1
- package/dist/ui-components.es299.js +234 -7
- package/dist/ui-components.es299.js.map +1 -1
- package/dist/ui-components.es3.js +161 -101
- package/dist/ui-components.es3.js.map +1 -1
- package/dist/ui-components.es30.js +162 -569
- package/dist/ui-components.es30.js.map +1 -1
- package/dist/ui-components.es300.js +7 -6
- package/dist/ui-components.es300.js.map +1 -1
- package/dist/ui-components.es301.js +242 -5
- package/dist/ui-components.es301.js.map +1 -1
- package/dist/ui-components.es302.js +6 -5
- package/dist/ui-components.es302.js.map +1 -1
- package/dist/ui-components.es303.js +46 -166
- package/dist/ui-components.es303.js.map +1 -1
- package/dist/ui-components.es304.js +3 -15
- package/dist/ui-components.es304.js.map +1 -1
- package/dist/ui-components.es305.js +6 -333
- package/dist/ui-components.es305.js.map +1 -1
- package/dist/ui-components.es306.js +6 -323
- package/dist/ui-components.es306.js.map +1 -1
- package/dist/ui-components.es307.js +6 -7
- package/dist/ui-components.es307.js.map +1 -1
- package/dist/ui-components.es308.js +6 -43
- package/dist/ui-components.es308.js.map +1 -1
- package/dist/ui-components.es309.js +6 -3
- package/dist/ui-components.es309.js.map +1 -1
- package/dist/ui-components.es31.js +26 -62
- package/dist/ui-components.es31.js.map +1 -1
- package/dist/ui-components.es310.js +6 -7
- package/dist/ui-components.es310.js.map +1 -1
- package/dist/ui-components.es311.js +3 -40
- package/dist/ui-components.es311.js.map +1 -1
- package/dist/ui-components.es312.js +6 -64
- package/dist/ui-components.es312.js.map +1 -1
- package/dist/ui-components.es313.js +155 -25
- package/dist/ui-components.es313.js.map +1 -1
- package/dist/ui-components.es314.js +6 -19
- package/dist/ui-components.es314.js.map +1 -1
- package/dist/ui-components.es315.js +6 -48
- package/dist/ui-components.es315.js.map +1 -1
- package/dist/ui-components.es316.js +5 -19
- package/dist/ui-components.es316.js.map +1 -1
- package/dist/ui-components.es317.js +323 -51
- package/dist/ui-components.es317.js.map +1 -1
- package/dist/ui-components.es318.js +6 -6
- package/dist/ui-components.es318.js.map +1 -1
- package/dist/ui-components.es319.js +14 -7
- package/dist/ui-components.es319.js.map +1 -1
- package/dist/ui-components.es32.js +40 -111
- package/dist/ui-components.es32.js.map +1 -1
- package/dist/ui-components.es320.js +330 -72
- package/dist/ui-components.es320.js.map +1 -1
- package/dist/ui-components.es321.js +37 -22
- package/dist/ui-components.es321.js.map +1 -1
- package/dist/ui-components.es322.js +19 -4
- package/dist/ui-components.es322.js.map +1 -1
- package/dist/ui-components.es323.js +39 -57
- package/dist/ui-components.es323.js.map +1 -1
- package/dist/ui-components.es324.js +3 -26
- package/dist/ui-components.es324.js.map +1 -1
- package/dist/ui-components.es325.js +8 -3
- package/dist/ui-components.es325.js.map +1 -1
- package/dist/ui-components.es326.js +39 -11
- package/dist/ui-components.es326.js.map +1 -1
- package/dist/ui-components.es327.js +63 -8
- package/dist/ui-components.es327.js.map +1 -1
- package/dist/ui-components.es328.js +47 -14
- package/dist/ui-components.es328.js.map +1 -1
- package/dist/ui-components.es329.js +7 -9
- package/dist/ui-components.es329.js.map +1 -1
- package/dist/ui-components.es33.js +6 -240
- package/dist/ui-components.es33.js.map +1 -1
- package/dist/ui-components.es330.js +72 -143
- package/dist/ui-components.es330.js.map +1 -1
- package/dist/ui-components.es331.js +60 -10
- package/dist/ui-components.es331.js.map +1 -1
- package/dist/ui-components.es332.js +20 -19
- package/dist/ui-components.es332.js.map +1 -1
- package/dist/ui-components.es333.js +51 -2
- package/dist/ui-components.es333.js.map +1 -1
- package/dist/ui-components.es334.js +7 -2
- package/dist/ui-components.es334.js.map +1 -1
- package/dist/ui-components.es335.js +22 -147
- package/dist/ui-components.es335.js.map +1 -1
- package/dist/ui-components.es336.js +4 -11
- package/dist/ui-components.es336.js.map +1 -1
- package/dist/ui-components.es337.js +25 -11
- package/dist/ui-components.es337.js.map +1 -1
- package/dist/ui-components.es338.js +12 -11
- package/dist/ui-components.es338.js.map +1 -1
- package/dist/ui-components.es339.js +9 -6
- package/dist/ui-components.es339.js.map +1 -1
- package/dist/ui-components.es34.js +6 -196
- package/dist/ui-components.es34.js.map +1 -1
- package/dist/ui-components.es340.js +10 -171
- package/dist/ui-components.es340.js.map +1 -1
- package/dist/ui-components.es341.js +7 -7
- package/dist/ui-components.es341.js.map +1 -1
- package/dist/ui-components.es342.js +2 -8
- package/dist/ui-components.es342.js.map +1 -1
- package/dist/ui-components.es343.js +65 -7
- package/dist/ui-components.es343.js.map +1 -1
- package/dist/ui-components.es344.js +66 -2
- package/dist/ui-components.es344.js.map +1 -1
- package/dist/ui-components.es345.js +2 -66
- package/dist/ui-components.es345.js.map +1 -1
- package/dist/ui-components.es346.js +2 -66
- package/dist/ui-components.es346.js.map +1 -1
- package/dist/ui-components.es347.js +8 -7
- package/dist/ui-components.es347.js.map +1 -1
- package/dist/ui-components.es348.js +7 -8
- package/dist/ui-components.es348.js.map +1 -1
- package/dist/ui-components.es349.js +1 -1
- package/dist/ui-components.es35.js +6 -75
- package/dist/ui-components.es35.js.map +1 -1
- package/dist/ui-components.es351.js +1 -1
- package/dist/ui-components.es356.js +7 -125
- package/dist/ui-components.es356.js.map +1 -1
- package/dist/ui-components.es357.js +125 -7
- package/dist/ui-components.es357.js.map +1 -1
- package/dist/ui-components.es358.js +6 -6
- package/dist/ui-components.es358.js.map +1 -1
- package/dist/ui-components.es36.js +6 -461
- package/dist/ui-components.es36.js.map +1 -1
- package/dist/ui-components.es368.js +1 -1
- package/dist/ui-components.es37.js +6 -11
- package/dist/ui-components.es37.js.map +1 -1
- package/dist/ui-components.es38.js +6 -642
- package/dist/ui-components.es38.js.map +1 -1
- package/dist/ui-components.es389.js +2 -2
- package/dist/ui-components.es39.js +180 -220
- package/dist/ui-components.es39.js.map +1 -1
- package/dist/ui-components.es4.js +5 -5
- package/dist/ui-components.es40.js +685 -80
- package/dist/ui-components.es40.js.map +1 -1
- package/dist/ui-components.es41.js +618 -84
- package/dist/ui-components.es41.js.map +1 -1
- package/dist/ui-components.es42.js +39 -33
- package/dist/ui-components.es42.js.map +1 -1
- package/dist/ui-components.es43.js +74 -221
- package/dist/ui-components.es43.js.map +1 -1
- package/dist/ui-components.es44.js +171 -194
- package/dist/ui-components.es44.js.map +1 -1
- package/dist/ui-components.es45.js +182 -18
- package/dist/ui-components.es45.js.map +1 -1
- package/dist/ui-components.es46.js +42 -316
- package/dist/ui-components.es46.js.map +1 -1
- package/dist/ui-components.es47.js +420 -114
- package/dist/ui-components.es47.js.map +1 -1
- package/dist/ui-components.es48.js +11 -143
- package/dist/ui-components.es48.js.map +1 -1
- package/dist/ui-components.es49.js +642 -20
- package/dist/ui-components.es49.js.map +1 -1
- package/dist/ui-components.es5.js +94 -108
- package/dist/ui-components.es5.js.map +1 -1
- package/dist/ui-components.es50.js +293 -123
- package/dist/ui-components.es50.js.map +1 -1
- package/dist/ui-components.es51.js +121 -36
- package/dist/ui-components.es51.js.map +1 -1
- package/dist/ui-components.es52.js +126 -23
- package/dist/ui-components.es52.js.map +1 -1
- package/dist/ui-components.es53.js +45 -229
- package/dist/ui-components.es53.js.map +1 -1
- package/dist/ui-components.es54.js +248 -28
- package/dist/ui-components.es54.js.map +1 -1
- package/dist/ui-components.es55.js +169 -932
- package/dist/ui-components.es55.js.map +1 -1
- package/dist/ui-components.es56.js +19 -111
- package/dist/ui-components.es56.js.map +1 -1
- package/dist/ui-components.es57.js +273 -310
- package/dist/ui-components.es57.js.map +1 -1
- package/dist/ui-components.es58.js +155 -70
- package/dist/ui-components.es58.js.map +1 -1
- package/dist/ui-components.es59.js +141 -28
- package/dist/ui-components.es59.js.map +1 -1
- package/dist/ui-components.es6.js +3 -3
- package/dist/ui-components.es60.js +1026 -27
- package/dist/ui-components.es60.js.map +1 -1
- package/dist/ui-components.es61.js +123 -42
- package/dist/ui-components.es61.js.map +1 -1
- package/dist/ui-components.es62.js +386 -21
- package/dist/ui-components.es62.js.map +1 -1
- package/dist/ui-components.es63.js +42 -45
- package/dist/ui-components.es63.js.map +1 -1
- package/dist/ui-components.es64.js +98 -95
- package/dist/ui-components.es64.js.map +1 -1
- package/dist/ui-components.es67.js +1 -1
- package/dist/ui-components.es68.js +1 -1
- package/dist/ui-components.es71.js +1 -1
- package/dist/ui-components.es72.js +1 -1
- package/dist/ui-components.es73.js +209 -2
- package/dist/ui-components.es73.js.map +1 -1
- package/dist/ui-components.es74.js +2 -2
- package/dist/ui-components.es75.js +2 -2
- package/dist/ui-components.es76.js +2 -2
- package/dist/ui-components.es77.js +2 -209
- package/dist/ui-components.es77.js.map +1 -1
- package/dist/ui-components.es78.js +1 -1
- package/dist/ui-components.es8.js +42 -44
- package/dist/ui-components.es8.js.map +1 -1
- package/dist/ui-components.es83.js +6 -6
- package/dist/ui-components.es84.js +11 -11
- package/dist/ui-components.es85.js +13 -13
- package/dist/ui-components.es86.js +14 -14
- package/dist/ui-components.es87.js +10 -10
- package/dist/ui-components.es90.js +6 -12
- package/dist/ui-components.es90.js.map +1 -1
- package/dist/ui-components.es91.js +112 -4
- package/dist/ui-components.es91.js.map +1 -1
- package/dist/ui-components.es92.js +9 -4
- package/dist/ui-components.es92.js.map +1 -1
- package/dist/ui-components.es93.js +17 -3
- package/dist/ui-components.es93.js.map +1 -1
- package/dist/ui-components.es94.js +10 -7
- package/dist/ui-components.es94.js.map +1 -1
- package/dist/ui-components.es95.js +3 -9
- package/dist/ui-components.es95.js.map +1 -1
- package/dist/ui-components.es96.js +2 -7
- package/dist/ui-components.es96.js.map +1 -1
- package/dist/ui-components.es97.js +3 -14
- package/dist/ui-components.es97.js.map +1 -1
- package/dist/ui-components.es98.js +31 -20
- package/dist/ui-components.es98.js.map +1 -1
- package/dist/ui-components.es99.js +15 -8
- package/dist/ui-components.es99.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-components.es63.js","sources":["../src/components/GenomeSearch/utils.ts"],"sourcesContent":["import { CCREResponse, GeneResponse, ICREResponse, LegacyCcreResponse, Result, ResultType, SnpResponse, StudyResponse } from \"./types\";\n\n/**\n * Get the coordinates from a string input.\n * @param input - The input string to search for coordinates\n * @param assembly - The assembly to search for coordinates\n * @returns An array of results with the coordinates\n */\nexport function getCoordinates(input: string, assembly: string): Result[] {\n const results: Result[] = [];\n input = input.replace(/,/g, \"\");\n\n let chromosome: string, start: number, end: number;\n\n if (input.includes(\":\") && input.includes(\"-\")) {\n chromosome = input.split(\":\")[0];\n start = parseInt(input.split(\":\")[1].split(\"-\")[0]) || 0;\n end = parseInt(input.split(\":\")[1].split(\"-\")[1]) || start + 1000;\n } else if (input.includes(\"\\t\")) {\n const [chr, startStr, endStr] = input.split(\"\\t\");\n chromosome = chr;\n start = parseInt(startStr);\n end = parseInt(endStr);\n } else {\n return results;\n }\n\n // Normalize chromosome name to use capital X and Y\n const normalizedChromosome = chromosome.replace(/chrx$/, \"chrX\").replace(/chry$/, \"chrY\");\n\n const chrLength = chromosomeLengths[assembly][chromosome];\n if (end > start && chrLength && end <= chrLength) {\n results.push({\n title: `${normalizedChromosome}:${start.toLocaleString()}-${end.toLocaleString()}`,\n domain: {\n chromosome: normalizedChromosome,\n start: start,\n end: end,\n },\n description: `${normalizedChromosome}:${start.toLocaleString()}-${end.toLocaleString()}`,\n type: \"Coordinate\",\n });\n }\n\n return results;\n}\n\n// Common interface for result formatting options\ninterface ResultFormatterOptions<T> {\n getTitle: (result: T) => string;\n getDescription: (result: T) => string;\n type: string;\n}\n\n// Generic formatter function\nfunction formatResults<T extends { coordinates: { chromosome: string; start: number; end: number } }>(\n results: T[] | null,\n limit: number,\n options: ResultFormatterOptions<T>\n): Result[] {\n if (!results) {\n return [];\n }\n return results.slice(0, limit).map((result) => ({\n title: options.getTitle(result),\n description: options.getDescription(result),\n domain: {\n chromosome: result.coordinates.chromosome,\n start: result.coordinates.start,\n end: result.coordinates.end,\n },\n type: options.type as ResultType,\n }));\n}\n\n// Specific formatters using the generic function\nexport function snpResultList(results: SnpResponse[], limit: number): Result[] {\n return formatResults(results, limit, {\n getTitle: (result) => result.id,\n getDescription: (result) =>\n `${result.coordinates.chromosome}:${result.coordinates.start}-${result.coordinates.end}`,\n type: \"SNP\",\n });\n}\n\nexport function geneResultList(results: GeneResponse[], limit: number, showVersions: boolean): Result[] {\n return formatResults(results, limit, {\n getTitle: (result) => result.name,\n getDescription: (result) => {\n let idStr = \"\";\n result.versions.forEach(\n (x, i) => (idStr += \"V\" + x.version + \" \" + x.id + (i === result.versions.length - 1 ? \"\" : \"\\n\"))\n );\n return `${result.description}\\n${idStr}\\n${result.coordinates.chromosome}:${result.coordinates.start}-${result.coordinates.end}`;\n },\n type: \"Gene\",\n });\n}\n\nexport function studyResultList(results: StudyResponse[], limit: number): Result[] {\n return results.slice(0, limit).map((result) => ({\n title: result.disease_trait,\n description: `${result.author.replace(\"_\", \" \")} (${result.studyid.split(\"-\")[1]})\\n${result.parent_terms.join(\",\")}\\n ${result.has_enrichment_info ? \"Biosample Enrichment\" : \"\"}`,\n domain: undefined,\n id: result.studyid,\n type: \"Study\",\n }));\n}\n\nexport function omeResultsList(results: OmeOption[]): Result[] {\n return results.map((ome) => ({\n title: ome.label,\n description: ome.description ?? \"\",\n domain: undefined,\n id: ome.value,\n type: \"Ome\",\n }));\n}\n\nexport function icreResultList(results: ICREResponse[], limit: number): Result[] {\n return formatResults(results, limit, {\n getTitle: (result) => result.accession,\n getDescription: (result) =>\n `${result.coordinates.chromosome}:${result.coordinates.start}-${result.coordinates.end}`,\n type: \"iCRE\",\n });\n}\n\nexport function ccreResultList(results: CCREResponse[], limit: number): Result[] {\n return formatResults(results, limit, {\n getTitle: (result) => result.accession,\n getDescription: (result) =>\n `${result.coordinates.chromosome}:${result.coordinates.start}-${\n result.coordinates.end\n }${result.isiCRE ? \", iCRE\" : \"\"}`,\n type: \"cCRE\",\n });\n}\n\nexport function legacyCcreResultList(results: LegacyCcreResponse[], limit: number): Result[] {\n return results\n .filter((result) => result.input !== result.v4_match_or_intersecting) //filter v4 cCREs\n .slice(0, limit)\n .map((result) => {\n const region = result.input_region;\n const overlapping = result.v4_match_or_intersecting\n return {\n title: result.input,\n // !!! Do not change this format without also modifying SCREEN's /search page. This specific formatting is relied upon\n description: `(Registry ${result.input_latest_previous_version})\\n${result.input_region}\\n${overlapping ? `Intersects v4 cCRE${overlapping.includes(\",\") ? \"s\" : \"\"}: ${overlapping.replace(\",\", \", \")}` : \"No intersecting v4 cCREs\"}`,\n domain: {\n chromosome: region.split(\":\")[0],\n start: parseInt(region.split(\":\")[1].split(\"-\")[0]),\n end: parseInt(region.split(\":\")[1].split(\"-\")[1]),\n },\n type: \"Legacy cCRE\",\n };\n });\n}\n\nexport interface OmeOption {\n label: string;\n value: string;\n keywords?: string[];\n description?: string;\n}\n//allows the user to search more freely and get the result they are looking for\n//will look at label as well as keywords\nexport const OmesList: OmeOption[] = [\n {\n label: \"Proteomics\",\n value: \"proteomics\",\n keywords: [\"protein\", \"mass spec\"],\n },\n {\n label: \"WGS\",\n value: \"WGS\",\n keywords: [\"whole genome sequencing\", \"genome sequencing\", \"genomics\"],\n description: \"Whole Genome Sequencing\"\n },\n {\n label: \"WGBS\",\n value: \"WGBS\",\n keywords: [\"whole genome bisulfite sequencing\", \"epigenomics\", \"methylation\"],\n description: \"Whole Genome Bisulfite Sequencing\"\n },\n {\n label: \"ATAC\",\n value: \"ATAC\",\n keywords: [\"chromatin accessibility\", \"atac-seq\"],\n description: \"ATAC-seq\"\n },\n {\n label: \"RNA\",\n value: \"RNA\",\n keywords: [\"rna-seq\", \"transcriptomics\", \"gene expression\"],\n description: \"RNA-seq\"\n },\n {\n label: \"Metabolomics\",\n value: \"metabolomics\",\n },\n {\n label: \"Lipidomics\",\n value: \"lipidomics\",\n },\n {\n label: \"Metallomics\",\n value: \"metallomics\",\n },\n {\n label: \"Exposomics\",\n value: \"exposomics\",\n },\n];\n\n// Object to store chromosome lengths for GRCh38 and mm10\nconst chromosomeLengths: { [key: string]: { [key: string]: number } } = {\n GRCh38: {\n chr1: 248956422,\n chr2: 242193529,\n chr3: 198295559,\n chr4: 190214555,\n chr5: 181538259,\n chr6: 170805979,\n chr7: 159345973,\n chr8: 145138636,\n chr9: 138394717,\n chr10: 133797422,\n chr11: 135086622,\n chr12: 133275309,\n chr13: 114364328,\n chr14: 107043718,\n chr15: 101991189,\n chr16: 90338345,\n chr17: 83257441,\n chr18: 80373285,\n chr19: 58617616,\n chr20: 64444167,\n chr21: 46709983,\n chr22: 50818468,\n chrX: 156040895,\n chrx: 156040895,\n chrY: 57227415,\n chry: 57227415,\n },\n mm10: {\n chr1: 195471971,\n chr2: 182113224,\n chr3: 160039680,\n chr4: 156508116,\n chr5: 151834684,\n chr6: 149736546,\n chr7: 145441459,\n chr8: 129401213,\n chr9: 124595110,\n chr10: 130694993,\n chr11: 122082543,\n chr12: 120129022,\n chr13: 120421639,\n chr14: 124902244,\n chr15: 104043685,\n chr16: 98207768,\n chr17: 94987271,\n chr18: 90702639,\n chr19: 61431566,\n chrX: 171031299,\n chrx: 171031299,\n chrY: 91744698,\n chry: 91744698,\n },\n};\n\nexport function isDomain(input: string) {\n const hasTabs = input.includes(\"\\t\");\n const hasHyphens = input.includes(\"-\");\n const hasChromosomeNumber = input.length >= 4 && /^[0-9xyXY]$/.test(input[3]);\n return (hasTabs || hasHyphens) && input.startsWith(\"chr\") && hasChromosomeNumber;\n}\n"],"names":["getCoordinates","input","assembly","results","replace","chromosome","start","end","includes","split","parseInt","chr","startStr","endStr","normalizedChromosome","chrLength","chromosomeLengths","push","title","toLocaleString","domain","description","type","formatResults","limit","options","slice","map","result","getTitle","getDescription","coordinates","snpResultList","id","geneResultList","showVersions","name","idStr","versions","forEach","x","i","version","length","studyResultList","disease_trait","author","studyid","parent_terms","join","has_enrichment_info","undefined","omeResultsList","ome","label","value","icreResultList","accession","ccreResultList","isiCRE","legacyCcreResultList","filter","v4_match_or_intersecting","region","input_region","overlapping","input_latest_previous_version","OmesList","keywords","GRCh38","chr1","chr2","chr3","chr4","chr5","chr6","chr7","chr8","chr9","chr10","chr11","chr12","chr13","chr14","chr15","chr16","chr17","chr18","chr19","chr20","chr21","chr22","chrX","chrx","chrY","chry","mm10","isDomain","hasTabs","hasHyphens","hasChromosomeNumber","test","startsWith"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui-components.es63.js","sources":["../src/components/GenomeSearch/utils.ts"],"sourcesContent":["import { CCREResponse, GeneResponse, ICREResponse, LegacyCcreResponse, Result, ResultType, SnpResponse, StudyResponse } from \"./types\";\n\n/**\n * Get the coordinates from a string input.\n * @param input - The input string to search for coordinates\n * @param assembly - The assembly to search for coordinates\n * @returns An array of results with the coordinates\n */\nexport function getCoordinates(input: string, assembly: string): Result[] {\n const results: Result[] = [];\n input = input.replace(/,/g, \"\");\n\n let chromosome: string, start: number, end: number;\n\n if (input.includes(\":\") && input.includes(\"-\")) {\n chromosome = input.split(\":\")[0];\n start = parseInt(input.split(\":\")[1].split(\"-\")[0]) || 0;\n end = parseInt(input.split(\":\")[1].split(\"-\")[1]) || start + 1000;\n } else if (input.includes(\"\\t\")) {\n const [chr, startStr, endStr] = input.split(\"\\t\");\n chromosome = chr;\n start = parseInt(startStr);\n end = parseInt(endStr);\n } else {\n return results;\n }\n\n // Normalize chromosome name to use capital X and Y\n const normalizedChromosome = chromosome.replace(/chrx$/, \"chrX\").replace(/chry$/, \"chrY\");\n\n const chrLength = chromosomeLengths[assembly][normalizedChromosome];\n if (end > start && chrLength && end <= chrLength) {\n results.push({\n title: `${normalizedChromosome}:${start.toLocaleString()}-${end.toLocaleString()}`,\n domain: {\n chromosome: normalizedChromosome,\n start: start,\n end: end,\n },\n description: `${normalizedChromosome}:${start.toLocaleString()}-${end.toLocaleString()}`,\n type: \"Coordinate\",\n });\n }\n\n return results;\n}\n\n// Common interface for result formatting options\ninterface ResultFormatterOptions<T> {\n getTitle: (result: T) => string;\n getDescription: (result: T) => string;\n type: string;\n}\n\n// Generic formatter function\nfunction formatResults<T extends { coordinates: { chromosome: string; start: number; end: number } }>(\n results: T[] | null,\n limit: number,\n options: ResultFormatterOptions<T>\n): Result[] {\n if (!results) {\n return [];\n }\n return results.slice(0, limit).map((result) => ({\n title: options.getTitle(result),\n description: options.getDescription(result),\n domain: {\n chromosome: result.coordinates.chromosome,\n start: result.coordinates.start,\n end: result.coordinates.end,\n },\n type: options.type as ResultType,\n }));\n}\n\n// Specific formatters using the generic function\nexport function snpResultList(results: SnpResponse[], limit: number): Result[] {\n return formatResults(results, limit, {\n getTitle: (result) => result.id,\n getDescription: (result) =>\n `${result.coordinates.chromosome}:${result.coordinates.start}-${result.coordinates.end}`,\n type: \"SNP\",\n });\n}\n\nexport function geneResultList(results: GeneResponse[], limit: number, showVersions: boolean): Result[] {\n return formatResults(results, limit, {\n getTitle: (result) => result.name,\n getDescription: (result) => {\n let idStr = \"\";\n result.versions.forEach(\n (x, i) => (idStr += \"V\" + x.version + \" \" + x.id + (i === result.versions.length - 1 ? \"\" : \"\\n\"))\n );\n return `${result.description}\\n${idStr}\\n${result.coordinates.chromosome}:${result.coordinates.start}-${result.coordinates.end}`;\n },\n type: \"Gene\",\n });\n}\n\nexport function studyResultList(results: StudyResponse[], limit: number): Result[] {\n return results.slice(0, limit).map((result) => ({\n title: result.disease_trait,\n description: `${result.author.replace(\"_\", \" \")} (${result.studyid.split(\"-\")[1]})\\n${result.parent_terms.join(\",\")}\\n ${result.has_enrichment_info ? \"Biosample Enrichment\" : \"\"}`,\n domain: undefined,\n id: result.studyid,\n type: \"Study\",\n }));\n}\n\nexport function omeResultsList(results: OmeOption[]): Result[] {\n return results.map((ome) => ({\n title: ome.label,\n description: ome.description ?? \"\",\n domain: undefined,\n id: ome.value,\n type: \"Ome\",\n }));\n}\n\nexport function icreResultList(results: ICREResponse[], limit: number): Result[] {\n return formatResults(results, limit, {\n getTitle: (result) => result.accession,\n getDescription: (result) =>\n `${result.coordinates.chromosome}:${result.coordinates.start}-${result.coordinates.end}`,\n type: \"iCRE\",\n });\n}\n\nexport function ccreResultList(results: CCREResponse[], limit: number): Result[] {\n return formatResults(results, limit, {\n getTitle: (result) => result.accession,\n getDescription: (result) =>\n `${result.coordinates.chromosome}:${result.coordinates.start}-${\n result.coordinates.end\n }${result.isiCRE ? \", iCRE\" : \"\"}`,\n type: \"cCRE\",\n });\n}\n\nexport function legacyCcreResultList(results: LegacyCcreResponse[], limit: number): Result[] {\n return results\n .filter((result) => result.input !== result.v4_match_or_intersecting) //filter v4 cCREs\n .slice(0, limit)\n .map((result) => {\n const region = result.input_region;\n const overlapping = result.v4_match_or_intersecting\n return {\n title: result.input,\n // !!! Do not change this format without also modifying SCREEN's /search page. This specific formatting is relied upon\n // At most two overlapping v4 cCREs are ever returned, so a single (non-global) comma replace is sufficient for the \"a, b\" rendering.\n description: `(Registry ${result.input_latest_previous_version})\\n${result.input_region}\\n${overlapping ? `Intersects v4 cCRE${overlapping.includes(\",\") ? \"s\" : \"\"}: ${overlapping.replace(\",\", \", \")}` : \"No intersecting v4 cCREs\"}`,\n domain: {\n chromosome: region.split(\":\")[0],\n start: parseInt(region.split(\":\")[1].split(\"-\")[0]),\n end: parseInt(region.split(\":\")[1].split(\"-\")[1]),\n },\n type: \"Legacy cCRE\",\n };\n });\n}\n\nexport interface OmeOption {\n label: string;\n value: string;\n keywords?: string[];\n description?: string;\n}\n//allows the user to search more freely and get the result they are looking for\n//will look at label as well as keywords\nexport const OmesList: OmeOption[] = [\n {\n label: \"Proteomics\",\n value: \"proteomics\",\n keywords: [\"protein\", \"mass spec\"],\n },\n {\n label: \"WGS\",\n value: \"WGS\",\n keywords: [\"whole genome sequencing\", \"genome sequencing\", \"genomics\"],\n description: \"Whole Genome Sequencing\"\n },\n {\n label: \"WGBS\",\n value: \"WGBS\",\n keywords: [\"whole genome bisulfite sequencing\", \"epigenomics\", \"methylation\"],\n description: \"Whole Genome Bisulfite Sequencing\"\n },\n {\n label: \"ATAC\",\n value: \"ATAC\",\n keywords: [\"chromatin accessibility\", \"atac-seq\"],\n description: \"ATAC-seq\"\n },\n {\n label: \"RNA\",\n value: \"RNA\",\n keywords: [\"rna-seq\", \"transcriptomics\", \"gene expression\"],\n description: \"RNA-seq\"\n },\n {\n label: \"Metabolomics\",\n value: \"metabolomics\",\n },\n {\n label: \"Lipidomics\",\n value: \"lipidomics\",\n },\n {\n label: \"Metallomics\",\n value: \"metallomics\",\n },\n {\n label: \"Exposomics\",\n value: \"exposomics\",\n },\n];\n\n// Object to store chromosome lengths for GRCh38 and mm10\nconst chromosomeLengths: { [key: string]: { [key: string]: number } } = {\n GRCh38: {\n chr1: 248956422,\n chr2: 242193529,\n chr3: 198295559,\n chr4: 190214555,\n chr5: 181538259,\n chr6: 170805979,\n chr7: 159345973,\n chr8: 145138636,\n chr9: 138394717,\n chr10: 133797422,\n chr11: 135086622,\n chr12: 133275309,\n chr13: 114364328,\n chr14: 107043718,\n chr15: 101991189,\n chr16: 90338345,\n chr17: 83257441,\n chr18: 80373285,\n chr19: 58617616,\n chr20: 64444167,\n chr21: 46709983,\n chr22: 50818468,\n chrX: 156040895,\n chrY: 57227415,\n },\n mm10: {\n chr1: 195471971,\n chr2: 182113224,\n chr3: 160039680,\n chr4: 156508116,\n chr5: 151834684,\n chr6: 149736546,\n chr7: 145441459,\n chr8: 129401213,\n chr9: 124595110,\n chr10: 130694993,\n chr11: 122082543,\n chr12: 120129022,\n chr13: 120421639,\n chr14: 124902244,\n chr15: 104043685,\n chr16: 98207768,\n chr17: 94987271,\n chr18: 90702639,\n chr19: 61431566,\n chrX: 171031299,\n chrY: 91744698,\n },\n};\n\nexport function isDomain(input: string) {\n const hasTabs = input.includes(\"\\t\");\n const hasHyphens = input.includes(\"-\");\n const hasChromosomeNumber = input.length >= 4 && /^[0-9xyXY]$/.test(input[3]);\n return (hasTabs || hasHyphens) && input.startsWith(\"chr\") && hasChromosomeNumber;\n}"],"names":["getCoordinates","input","assembly","results","replace","chromosome","start","end","includes","split","parseInt","chr","startStr","endStr","normalizedChromosome","chrLength","chromosomeLengths","push","title","toLocaleString","domain","description","type","formatResults","limit","options","slice","map","result","getTitle","getDescription","coordinates","snpResultList","id","geneResultList","showVersions","name","idStr","versions","forEach","x","i","version","length","studyResultList","disease_trait","author","studyid","parent_terms","join","has_enrichment_info","undefined","omeResultsList","ome","label","value","icreResultList","accession","ccreResultList","isiCRE","legacyCcreResultList","filter","v4_match_or_intersecting","region","input_region","overlapping","input_latest_previous_version","OmesList","keywords","GRCh38","chr1","chr2","chr3","chr4","chr5","chr6","chr7","chr8","chr9","chr10","chr11","chr12","chr13","chr14","chr15","chr16","chr17","chr18","chr19","chr20","chr21","chr22","chrX","chrY","mm10","isDomain","hasTabs","hasHyphens","hasChromosomeNumber","test","startsWith"],"mappings":"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"}
|
|
@@ -1,39 +1,25 @@
|
|
|
1
1
|
const d = `
|
|
2
|
-
query suggestions($assembly: String!, $snpid: String
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
2
|
+
query suggestions($assembly: String!, $snpid: String!, $limit: Int) {
|
|
3
|
+
snpAutocompleteQuery(assembly: $assembly, snpid: $snpid, limit: $limit) {
|
|
4
|
+
id
|
|
5
|
+
coordinates {
|
|
6
|
+
chromosome
|
|
7
|
+
start
|
|
8
|
+
end
|
|
10
9
|
}
|
|
10
|
+
}
|
|
11
11
|
}
|
|
12
|
-
`,
|
|
12
|
+
`, u = `
|
|
13
13
|
query Genes(
|
|
14
|
-
$id: [String]
|
|
15
|
-
$name: [String]
|
|
16
|
-
$strand: String
|
|
17
|
-
$chromosome: String
|
|
18
|
-
$start: Int
|
|
19
|
-
$end: Int
|
|
20
|
-
$gene_type: String
|
|
21
|
-
$havana_id: String
|
|
22
14
|
$name_prefix: [String!]
|
|
15
|
+
$idprefix: [String!]
|
|
23
16
|
$limit: Int
|
|
24
17
|
$assembly: String!
|
|
25
18
|
$version: Int
|
|
26
19
|
) {
|
|
27
20
|
gene(
|
|
28
|
-
id: $id
|
|
29
|
-
name: $name
|
|
30
|
-
strand: $strand
|
|
31
|
-
chromosome: $chromosome
|
|
32
|
-
start: $start
|
|
33
|
-
end: $end
|
|
34
|
-
gene_type: $gene_type
|
|
35
|
-
havana_id: $havana_id
|
|
36
21
|
name_prefix: $name_prefix
|
|
22
|
+
idprefix: $idprefix
|
|
37
23
|
limit: $limit
|
|
38
24
|
assembly: $assembly
|
|
39
25
|
orderby: "name"
|
|
@@ -48,7 +34,7 @@ const d = `
|
|
|
48
34
|
}
|
|
49
35
|
}
|
|
50
36
|
}
|
|
51
|
-
`,
|
|
37
|
+
`, _ = `
|
|
52
38
|
query iCREQuery($accession_prefix: [String!], $limit: Int) {
|
|
53
39
|
iCREQuery(accession_prefix: $accession_prefix, limit: $limit) {
|
|
54
40
|
rdhs
|
|
@@ -61,8 +47,9 @@ const d = `
|
|
|
61
47
|
}
|
|
62
48
|
}
|
|
63
49
|
}
|
|
64
|
-
`,
|
|
50
|
+
`, h = `
|
|
65
51
|
query cCREAutocompleteQuery(
|
|
52
|
+
$accession: [String!]
|
|
66
53
|
$accession_prefix: [String!]
|
|
67
54
|
$assembly: String!
|
|
68
55
|
$includeiCREs: Boolean
|
|
@@ -72,6 +59,7 @@ const d = `
|
|
|
72
59
|
includeiCREs: $includeiCREs
|
|
73
60
|
assembly: $assembly
|
|
74
61
|
limit: $limit
|
|
62
|
+
accession: $accession
|
|
75
63
|
accession_prefix: $accession_prefix
|
|
76
64
|
) {
|
|
77
65
|
accession
|
|
@@ -83,7 +71,7 @@ const d = `
|
|
|
83
71
|
}
|
|
84
72
|
}
|
|
85
73
|
}
|
|
86
|
-
`,
|
|
74
|
+
`, g = `
|
|
87
75
|
query getv2v3CcreMapping($accessions: [String], $assembly: String!) {
|
|
88
76
|
ccreMappings: getv2cCREMappings(
|
|
89
77
|
v2_accession: $accessions
|
|
@@ -96,9 +84,9 @@ const d = `
|
|
|
96
84
|
v4_region
|
|
97
85
|
}
|
|
98
86
|
}
|
|
99
|
-
`,
|
|
100
|
-
query getGWASStudyMetadata($
|
|
101
|
-
getGWASStudiesMetadata(
|
|
87
|
+
`, C = `
|
|
88
|
+
query getGWASStudyMetadata($limit: Int, $studyname_prefix: [String]){
|
|
89
|
+
getGWASStudiesMetadata(limit: $limit, studyname_prefix: $studyname_prefix )
|
|
102
90
|
{
|
|
103
91
|
studyid
|
|
104
92
|
author
|
|
@@ -111,134 +99,149 @@ query getGWASStudyMetadata($studyid: [String], $limit: Int, $studyname_prefix: [
|
|
|
111
99
|
overlapping_ccres
|
|
112
100
|
}
|
|
113
101
|
}
|
|
114
|
-
`,
|
|
115
|
-
method: "POST",
|
|
116
|
-
body: JSON.stringify({
|
|
117
|
-
query: g,
|
|
118
|
-
variables: {
|
|
119
|
-
accession_prefix: [e],
|
|
120
|
-
limit: s
|
|
121
|
-
}
|
|
122
|
-
}),
|
|
123
|
-
headers: {
|
|
124
|
-
"Content-Type": "application/json"
|
|
125
|
-
},
|
|
126
|
-
signal: n
|
|
127
|
-
})).json(), v = async (e, s, n, t, r) => (await fetch("https://screen.api.wenglab.org/graphql", {
|
|
102
|
+
`, b = async (e, t, i, s) => (await fetch(i, {
|
|
128
103
|
method: "POST",
|
|
129
104
|
body: JSON.stringify({
|
|
130
105
|
query: _,
|
|
131
106
|
variables: {
|
|
132
107
|
accession_prefix: [e],
|
|
133
|
-
|
|
134
|
-
limit: n,
|
|
135
|
-
includeiCREs: t
|
|
108
|
+
limit: t
|
|
136
109
|
}
|
|
137
110
|
}),
|
|
138
111
|
headers: {
|
|
139
112
|
"Content-Type": "application/json"
|
|
140
113
|
},
|
|
141
|
-
signal:
|
|
142
|
-
})).json(),
|
|
114
|
+
signal: s
|
|
115
|
+
})).json(), v = async (e, t, i, s, n, p) => {
|
|
116
|
+
const r = e.length === 12;
|
|
117
|
+
return (await fetch(n, {
|
|
118
|
+
method: "POST",
|
|
119
|
+
body: JSON.stringify({
|
|
120
|
+
query: h,
|
|
121
|
+
variables: {
|
|
122
|
+
...r ? {
|
|
123
|
+
accession: [e.toUpperCase()]
|
|
124
|
+
} : {
|
|
125
|
+
accession_prefix: [e]
|
|
126
|
+
},
|
|
127
|
+
assembly: t,
|
|
128
|
+
limit: i,
|
|
129
|
+
includeiCREs: s
|
|
130
|
+
}
|
|
131
|
+
}),
|
|
132
|
+
headers: {
|
|
133
|
+
"Content-Type": "application/json"
|
|
134
|
+
},
|
|
135
|
+
signal: p
|
|
136
|
+
})).json();
|
|
137
|
+
}, R = async (e, t, i, s) => (await fetch(i, {
|
|
143
138
|
method: "POST",
|
|
144
139
|
body: JSON.stringify({
|
|
145
|
-
query:
|
|
140
|
+
query: g,
|
|
146
141
|
variables: {
|
|
147
142
|
accessions: [e],
|
|
148
|
-
assembly:
|
|
143
|
+
assembly: t
|
|
149
144
|
}
|
|
150
145
|
}),
|
|
151
146
|
headers: {
|
|
152
147
|
"Content-Type": "application/json"
|
|
153
148
|
},
|
|
154
|
-
signal:
|
|
155
|
-
})).json(),
|
|
156
|
-
let
|
|
157
|
-
|
|
158
|
-
const m = await Promise.all(
|
|
149
|
+
signal: s
|
|
150
|
+
})).json(), x = async (e, t, i, s, n, p) => {
|
|
151
|
+
let r = s ? typeof s == "number" ? [s] : s : [t === "GRCh38" ? 40 : 25];
|
|
152
|
+
r = r.sort((o, a) => a - o);
|
|
153
|
+
const m = await Promise.all(r.map((o) => fetch(n, {
|
|
159
154
|
method: "POST",
|
|
160
155
|
body: JSON.stringify({
|
|
161
|
-
query:
|
|
156
|
+
query: u,
|
|
162
157
|
variables: {
|
|
163
|
-
assembly:
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
158
|
+
assembly: t.toLowerCase(),
|
|
159
|
+
...e.toUpperCase().startsWith("ENSG") ? {
|
|
160
|
+
idprefix: e.split(".")[0]
|
|
161
|
+
} : {
|
|
162
|
+
name_prefix: e
|
|
163
|
+
},
|
|
164
|
+
version: o,
|
|
165
|
+
limit: i
|
|
167
166
|
}
|
|
168
167
|
}),
|
|
169
168
|
headers: {
|
|
170
169
|
"Content-Type": "application/json"
|
|
171
170
|
},
|
|
172
|
-
signal:
|
|
173
|
-
}).then((a) => a.json()))),
|
|
174
|
-
return m.forEach((
|
|
175
|
-
(
|
|
176
|
-
|
|
171
|
+
signal: p
|
|
172
|
+
}).then((a) => a.json()))), l = /* @__PURE__ */ new Map();
|
|
173
|
+
return m.forEach((o, a) => {
|
|
174
|
+
(o.data.gene || []).forEach((c) => {
|
|
175
|
+
l.has(c.name) ? l.get(c.name).versions.push({
|
|
177
176
|
id: c.id,
|
|
178
|
-
version:
|
|
179
|
-
}) :
|
|
177
|
+
version: r[a]
|
|
178
|
+
}) : l.set(c.name, {
|
|
180
179
|
gene: c,
|
|
181
180
|
versions: [{
|
|
182
181
|
id: c.id,
|
|
183
|
-
version:
|
|
182
|
+
version: r[a]
|
|
184
183
|
}]
|
|
185
184
|
});
|
|
186
185
|
});
|
|
187
|
-
}), await Promise.all(Array.from(
|
|
188
|
-
gene:
|
|
186
|
+
}), await Promise.all(Array.from(l.values()).map(async ({
|
|
187
|
+
gene: o,
|
|
189
188
|
versions: a
|
|
190
189
|
}) => {
|
|
191
|
-
const
|
|
190
|
+
const y = await E(o.name);
|
|
192
191
|
return {
|
|
193
|
-
...
|
|
194
|
-
description: `${
|
|
192
|
+
...o,
|
|
193
|
+
description: `${f(y || o.name)}`,
|
|
195
194
|
versions: a
|
|
196
195
|
};
|
|
197
196
|
}));
|
|
198
|
-
},
|
|
199
|
-
async function
|
|
200
|
-
|
|
201
|
-
|
|
197
|
+
}, f = (e) => e.split(" ").map((t) => t.charAt(0).toUpperCase() + t.slice(1)).join(" ");
|
|
198
|
+
async function E(e) {
|
|
199
|
+
try {
|
|
200
|
+
const i = await (await fetch("https://clinicaltables.nlm.nih.gov/api/ncbi_genes/v3/search?authenticity_token=&terms=" + e.toUpperCase())).json(), s = i[3] && i[3].filter((n) => n[3] === e.toUpperCase());
|
|
201
|
+
return s && s.length >= 1 ? s[0][4] : null;
|
|
202
|
+
} catch {
|
|
203
|
+
return null;
|
|
204
|
+
}
|
|
202
205
|
}
|
|
203
|
-
const T = async (e, s, n
|
|
206
|
+
const T = async (e, t, i, s, n) => (await fetch(s, {
|
|
204
207
|
method: "POST",
|
|
205
208
|
body: JSON.stringify({
|
|
206
209
|
query: d,
|
|
207
210
|
variables: {
|
|
208
|
-
assembly:
|
|
211
|
+
assembly: t.toLowerCase(),
|
|
209
212
|
snpid: e,
|
|
210
|
-
limit:
|
|
213
|
+
limit: i
|
|
211
214
|
}
|
|
212
215
|
}),
|
|
213
216
|
headers: {
|
|
214
217
|
"Content-Type": "application/json"
|
|
215
218
|
},
|
|
216
|
-
signal:
|
|
217
|
-
})).json(), O = async (e,
|
|
219
|
+
signal: n
|
|
220
|
+
})).json(), O = async (e, t, i, s) => (await fetch(i, {
|
|
218
221
|
method: "POST",
|
|
219
222
|
body: JSON.stringify({
|
|
220
|
-
query:
|
|
223
|
+
query: C,
|
|
221
224
|
variables: {
|
|
222
225
|
studyname_prefix: [e],
|
|
223
|
-
limit:
|
|
226
|
+
limit: t
|
|
224
227
|
}
|
|
225
228
|
}),
|
|
226
229
|
headers: {
|
|
227
230
|
"Content-Type": "application/json"
|
|
228
231
|
},
|
|
229
|
-
signal:
|
|
232
|
+
signal: s
|
|
230
233
|
})).json();
|
|
231
234
|
export {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
235
|
+
h as CCRE_AUTOCOMPLETE_QUERY,
|
|
236
|
+
u as GENE_AUTOCOMPLETE_QUERY,
|
|
237
|
+
C as GWAS_AUTOCOMPLETE_QUERY,
|
|
238
|
+
_ as ICRE_AUTOCOMPLETE_QUERY,
|
|
239
|
+
g as LEGACY_CCRE_QUERY,
|
|
237
240
|
d as SNP_AUTOCOMPLETE_QUERY,
|
|
238
241
|
v as getCCREs,
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
+
x as getGenes,
|
|
243
|
+
b as getICREs,
|
|
244
|
+
R as getLegacyCCREs,
|
|
242
245
|
T as getSNPs,
|
|
243
246
|
O as getStudys
|
|
244
247
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-components.es64.js","sources":["../src/components/GenomeSearch/queries.ts"],"sourcesContent":["import { GeneResponse, GenomeSearchProps } from \"./types\";\n\nexport const SNP_AUTOCOMPLETE_QUERY = `\n query suggestions($assembly: String!, $snpid: String!) {\n snpAutocompleteQuery(assembly: $assembly, snpid: $snpid) {\n id\n coordinates {\n chromosome\n start\n end\n }\n }\n }\n`;\n\nexport const GENE_AUTOCOMPLETE_QUERY = `\n query Genes(\n $id: [String]\n $name: [String]\n $strand: String\n $chromosome: String\n $start: Int\n $end: Int\n $gene_type: String\n $havana_id: String\n $name_prefix: [String!]\n $limit: Int\n $assembly: String!\n $version: Int\n ) {\n gene(\n id: $id\n name: $name\n strand: $strand\n chromosome: $chromosome\n start: $start\n end: $end\n gene_type: $gene_type\n havana_id: $havana_id\n name_prefix: $name_prefix\n limit: $limit\n assembly: $assembly\n orderby: \"name\"\n version: $version\n ) {\n id\n name\n coordinates {\n chromosome\n start\n end\n }\n }\n }\n`;\n\nexport const ICRE_AUTOCOMPLETE_QUERY = `\n query iCREQuery($accession_prefix: [String!], $limit: Int) {\n iCREQuery(accession_prefix: $accession_prefix, limit: $limit) {\n rdhs\n accession\n celltypes\n coordinates {\n start\n end\n chromosome\n }\n }\n }\n`;\n\nexport const CCRE_AUTOCOMPLETE_QUERY = `\n query cCREAutocompleteQuery(\n $accession_prefix: [String!]\n $assembly: String!\n $includeiCREs: Boolean\n $limit: Int\n ) {\n cCREAutocompleteQuery(\n includeiCREs: $includeiCREs\n assembly: $assembly\n limit: $limit\n accession_prefix: $accession_prefix\n ) {\n accession\n isiCRE\n coordinates {\n chromosome\n start\n end\n }\n }\n }\n`;\n\nexport const LEGACY_CCRE_QUERY = `\n query getv2v3CcreMapping($accessions: [String], $assembly: String!) {\n ccreMappings: getv2cCREMappings(\n v2_accession: $accessions\n assembly: $assembly\n ) {\n input: v2_accession\n input_latest_previous_version: ccre_version\n input_region: v2_region\n v4_match_or_intersecting: v4_accession\n v4_region\n }\n }\n`\n\nexport const GWAS_AUTOCOMPLETE_QUERY = `\nquery getGWASStudyMetadata($studyid: [String], $limit: Int, $studyname_prefix: [String], $parent_terms: [String]){\n getGWASStudiesMetadata(studyid: $studyid, limit: $limit, parent_terms: $parent_terms, studyname_prefix: $studyname_prefix )\n {\n studyid\n author\n disease_trait\n has_enrichment_info\n population\n parent_terms\n total_ld_blocks\n ld_blocks_overlapping_ccres\n overlapping_ccres\n }\n}\n`;\n\nexport const getICREs = async (value: string, limit: number, signal?: AbortSignal) => {\n const response = await fetch(\"https://screen.api.wenglab.org/graphql\", {\n method: \"POST\",\n body: JSON.stringify({\n query: ICRE_AUTOCOMPLETE_QUERY,\n variables: {\n accession_prefix: [value],\n limit: limit,\n },\n }),\n headers: { \"Content-Type\": \"application/json\" },\n signal,\n });\n return response.json();\n};\n\nexport const getCCREs = async (value: string, assembly: GenomeSearchProps[\"assembly\"], limit: number, showiCREFlag: boolean, signal?: AbortSignal) => {\n const response = await fetch(\"https://screen.api.wenglab.org/graphql\", {\n method: \"POST\",\n body: JSON.stringify({\n query: CCRE_AUTOCOMPLETE_QUERY,\n variables: {\n accession_prefix: [value],\n assembly: assembly.toLowerCase(),\n limit: limit,\n includeiCREs: showiCREFlag,\n },\n }),\n headers: { \"Content-Type\": \"application/json\" },\n signal,\n });\n return response.json();\n};\n\nexport const getLegacyCCREs = async (value: string, assembly: GenomeSearchProps[\"assembly\"], signal?: AbortSignal) => {\n const response = await fetch(\"https://screen.api.wenglab.org/graphql\", {\n method: \"POST\",\n body: JSON.stringify({\n query: LEGACY_CCRE_QUERY,\n variables: {\n accessions: [value],\n assembly,\n },\n }),\n headers: { \"Content-Type\": \"application/json\" },\n signal,\n });\n return response.json();\n};\n\nexport const getGenes = async (\n value: string,\n assembly: GenomeSearchProps[\"assembly\"],\n limit: number,\n geneVersions: GenomeSearchProps[\"geneVersion\"],\n signal?: AbortSignal\n) => {\n let versions = geneVersions\n ? typeof geneVersions === \"number\"\n ? [geneVersions]\n : geneVersions\n : [assembly === \"GRCh38\" ? 40 : 25];\n\n // sort versions from high to low (prioritize newest versions in map)\n versions = versions.sort((a, b) => b - a);\n\n // Fetch genes for all versions\n const versionResults = await Promise.all(\n versions.map((version) =>\n fetch(\"https://screen.api.wenglab.org/graphql\", {\n method: \"POST\",\n body: JSON.stringify({\n query: GENE_AUTOCOMPLETE_QUERY,\n variables: {\n assembly: assembly.toLowerCase(),\n name_prefix: value,\n version: version,\n limit: limit,\n },\n }),\n headers: { \"Content-Type\": \"application/json\" },\n signal,\n }).then((res) => res.json())\n )\n );\n\n // Combine and deduplicate results\n const geneMap = new Map<string, { gene: any; versions: { id: string; version: number }[] }>();\n\n versionResults.forEach((result, idx) => {\n const genes = result.data.gene || [];\n genes.forEach((gene: any) => {\n if (!geneMap.has(gene.name)) {\n geneMap.set(gene.name, { gene, versions: [{ id: gene.id, version: versions[idx] }] });\n } else {\n // if gene already exists, just add legacy versions to list.\n const existing = geneMap.get(gene.name)!;\n existing.versions.push({ id: gene.id, version: versions[idx] });\n }\n });\n });\n\n // Convert map to array and fetch descriptions\n const out = await Promise.all(\n Array.from(geneMap.values()).map(async ({ gene, versions }) => {\n const description = await getDescription(gene.name);\n return {\n ...gene,\n description: `${toTitleCase(description || gene.name)}`,\n versions,\n };\n })\n );\n\n return out;\n};\nconst toTitleCase = (str: string) =>\n str\n .split(\" \")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n\nasync function getDescription(name: string): Promise<string | null> {\n const response = await fetch(\n \"https://clinicaltables.nlm.nih.gov/api/ncbi_genes/v3/search?authenticity_token=&terms=\" + name.toUpperCase()\n );\n const data = await response.json();\n const matches = data[3] && data[3].filter((x: string[]) => x[3] === name.toUpperCase());\n return matches && matches.length >= 1 ? matches[0][4] : null;\n}\n\nexport const getSNPs = async (value: string, assembly: GenomeSearchProps[\"assembly\"], limit: number, signal?: AbortSignal) => {\n const response = await fetch(\"https://screen.api.wenglab.org/graphql\", {\n method: \"POST\",\n body: JSON.stringify({\n query: SNP_AUTOCOMPLETE_QUERY,\n variables: {\n assembly: assembly.toLowerCase(),\n snpid: value,\n limit: limit,\n },\n }),\n headers: { \"Content-Type\": \"application/json\" },\n signal,\n });\n return response.json();\n};\n\nexport const getStudys = async (value: string, limit: number, signal?: AbortSignal) => {\n const response = await fetch(\"https://screen.api.wenglab.org/graphql\", {\n method: \"POST\",\n body: JSON.stringify({\n query: GWAS_AUTOCOMPLETE_QUERY,\n variables: {\n studyname_prefix: [value],\n limit,\n },\n }),\n headers: { \"Content-Type\": \"application/json\" },\n signal,\n });\n\n return response.json();\n};\n"],"names":["SNP_AUTOCOMPLETE_QUERY","GENE_AUTOCOMPLETE_QUERY","ICRE_AUTOCOMPLETE_QUERY","CCRE_AUTOCOMPLETE_QUERY","LEGACY_CCRE_QUERY","GWAS_AUTOCOMPLETE_QUERY","getICREs","value","limit","signal","fetch","method","body","JSON","stringify","query","variables","accession_prefix","headers","json","getCCREs","assembly","showiCREFlag","toLowerCase","includeiCREs","getLegacyCCREs","accessions","getGenes","geneVersions","versions","sort","a","b","versionResults","Promise","all","map","version","name_prefix","then","res","geneMap","Map","forEach","result","idx","genes","data","gene","has","name","get","push","id","set","Array","from","values","description","getDescription","toTitleCase","str","split","word","charAt","toUpperCase","slice","join","matches","filter","x","length","getSNPs","snpid","getStudys","studyname_prefix"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ui-components.es64.js","sources":["../src/components/GenomeSearch/queries.ts"],"sourcesContent":["import { GenomeSearchProps } from \"./types\";\n\nexport const SNP_AUTOCOMPLETE_QUERY = `\n query suggestions($assembly: String!, $snpid: String!, $limit: Int) {\n snpAutocompleteQuery(assembly: $assembly, snpid: $snpid, limit: $limit) {\n id\n coordinates {\n chromosome\n start\n end\n }\n }\n }\n`;\n\nexport const GENE_AUTOCOMPLETE_QUERY = `\n query Genes(\n $name_prefix: [String!]\n $idprefix: [String!]\n $limit: Int\n $assembly: String!\n $version: Int\n ) {\n gene(\n name_prefix: $name_prefix\n idprefix: $idprefix\n limit: $limit\n assembly: $assembly\n orderby: \"name\"\n version: $version\n ) {\n id\n name\n coordinates {\n chromosome\n start\n end\n }\n }\n }\n`;\n\nexport const ICRE_AUTOCOMPLETE_QUERY = `\n query iCREQuery($accession_prefix: [String!], $limit: Int) {\n iCREQuery(accession_prefix: $accession_prefix, limit: $limit) {\n rdhs\n accession\n celltypes\n coordinates {\n start\n end\n chromosome\n }\n }\n }\n`;\n\nexport const CCRE_AUTOCOMPLETE_QUERY = `\n query cCREAutocompleteQuery(\n $accession: [String!]\n $accession_prefix: [String!]\n $assembly: String!\n $includeiCREs: Boolean\n $limit: Int\n ) {\n cCREAutocompleteQuery(\n includeiCREs: $includeiCREs\n assembly: $assembly\n limit: $limit\n accession: $accession\n accession_prefix: $accession_prefix\n ) {\n accession\n isiCRE\n coordinates {\n chromosome\n start\n end\n }\n }\n }\n`;\n\nexport const LEGACY_CCRE_QUERY = `\n query getv2v3CcreMapping($accessions: [String], $assembly: String!) {\n ccreMappings: getv2cCREMappings(\n v2_accession: $accessions\n assembly: $assembly\n ) {\n input: v2_accession\n input_latest_previous_version: ccre_version\n input_region: v2_region\n v4_match_or_intersecting: v4_accession\n v4_region\n }\n }\n`\n\nexport const GWAS_AUTOCOMPLETE_QUERY = `\nquery getGWASStudyMetadata($limit: Int, $studyname_prefix: [String]){\n getGWASStudiesMetadata(limit: $limit, studyname_prefix: $studyname_prefix )\n {\n studyid\n author\n disease_trait\n has_enrichment_info\n population\n parent_terms\n total_ld_blocks\n ld_blocks_overlapping_ccres\n overlapping_ccres\n }\n}\n`;\n\nexport const getICREs = async (value: string, limit: number, url: string, signal?: AbortSignal) => {\n const response = await fetch(url, {\n method: \"POST\",\n body: JSON.stringify({\n query: ICRE_AUTOCOMPLETE_QUERY,\n variables: {\n accession_prefix: [value],\n limit: limit,\n },\n }),\n headers: { \"Content-Type\": \"application/json\" },\n signal,\n });\n return response.json();\n};\n\nexport const getCCREs = async (value: string, assembly: GenomeSearchProps[\"assembly\"], limit: number, showiCREFlag: boolean, url: string, signal?: AbortSignal) => {\n const isExactAccession = value.length === 12;\n const response = await fetch(url, {\n method: \"POST\",\n body: JSON.stringify({\n query: CCRE_AUTOCOMPLETE_QUERY,\n variables: {\n ...(isExactAccession\n ? { accession: [value.toUpperCase()] }\n : { accession_prefix: [value] }),\n assembly,\n limit,\n includeiCREs: showiCREFlag,\n },\n }),\n headers: { \"Content-Type\": \"application/json\" },\n signal,\n });\n return response.json();\n};\n\nexport const getLegacyCCREs = async (value: string, assembly: GenomeSearchProps[\"assembly\"], url: string, signal?: AbortSignal) => {\n const response = await fetch(url, {\n method: \"POST\",\n body: JSON.stringify({\n query: LEGACY_CCRE_QUERY,\n variables: {\n accessions: [value],\n assembly,\n },\n }),\n headers: { \"Content-Type\": \"application/json\" },\n signal,\n });\n return response.json();\n};\n\nexport const getGenes = async (\n value: string,\n assembly: GenomeSearchProps[\"assembly\"],\n limit: number,\n geneVersions: GenomeSearchProps[\"geneVersion\"],\n url: string,\n signal?: AbortSignal\n) => {\n let versions = geneVersions\n ? typeof geneVersions === \"number\"\n ? [geneVersions]\n : geneVersions\n : [assembly === \"GRCh38\" ? 40 : 25];\n\n // sort versions from high to low (prioritize newest versions in map)\n versions = versions.sort((a, b) => b - a);\n\n // Fetch genes for all versions\n const versionResults = await Promise.all(\n versions.map((version) =>\n fetch(url, {\n method: \"POST\",\n body: JSON.stringify({\n query: GENE_AUTOCOMPLETE_QUERY,\n variables: {\n assembly: assembly.toLowerCase(),\n ...(value.toUpperCase().startsWith(\"ENSG\") ? { idprefix: value.split(\".\")[0] } : { name_prefix: value }),\n version: version,\n limit: limit,\n },\n }),\n headers: { \"Content-Type\": \"application/json\" },\n signal,\n }).then((res) => res.json())\n )\n );\n\n // Combine and deduplicate results\n const geneMap = new Map<string, { gene: any; versions: { id: string; version: number }[] }>();\n\n versionResults.forEach((result, idx) => {\n const genes = result.data.gene || [];\n genes.forEach((gene: any) => {\n if (!geneMap.has(gene.name)) {\n geneMap.set(gene.name, { gene, versions: [{ id: gene.id, version: versions[idx] }] });\n } else {\n // if gene already exists, just add legacy versions to list.\n const existing = geneMap.get(gene.name)!;\n existing.versions.push({ id: gene.id, version: versions[idx] });\n }\n });\n });\n\n // Convert map to array and fetch descriptions\n const out = await Promise.all(\n Array.from(geneMap.values()).map(async ({ gene, versions }) => {\n const description = await getDescription(gene.name);\n return {\n ...gene,\n description: `${toTitleCase(description || gene.name)}`,\n versions,\n };\n })\n );\n\n return out;\n};\nconst toTitleCase = (str: string) =>\n str\n .split(\" \")\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n\nasync function getDescription(name: string): Promise<string | null> {\n try {\n const response = await fetch(\n \"https://clinicaltables.nlm.nih.gov/api/ncbi_genes/v3/search?authenticity_token=&terms=\" + name.toUpperCase()\n );\n const data = await response.json();\n const matches = data[3] && data[3].filter((x: string[]) => x[3] === name.toUpperCase());\n return matches && matches.length >= 1 ? matches[0][4] : null;\n } catch {\n return null;\n }\n}\n\nexport const getSNPs = async (value: string, assembly: GenomeSearchProps[\"assembly\"], limit: number, url: string, signal?: AbortSignal) => {\n const response = await fetch(url, {\n method: \"POST\",\n body: JSON.stringify({\n query: SNP_AUTOCOMPLETE_QUERY,\n variables: {\n assembly: assembly.toLowerCase(),\n snpid: value,\n limit: limit,\n },\n }),\n headers: { \"Content-Type\": \"application/json\" },\n signal,\n });\n return response.json();\n};\n\nexport const getStudys = async (value: string, limit: number, url: string, signal?: AbortSignal) => {\n const response = await fetch(url, {\n method: \"POST\",\n body: JSON.stringify({\n query: GWAS_AUTOCOMPLETE_QUERY,\n variables: {\n studyname_prefix: [value],\n limit,\n },\n }),\n headers: { \"Content-Type\": \"application/json\" },\n signal,\n });\n\n return response.json();\n};\n"],"names":["SNP_AUTOCOMPLETE_QUERY","GENE_AUTOCOMPLETE_QUERY","ICRE_AUTOCOMPLETE_QUERY","CCRE_AUTOCOMPLETE_QUERY","LEGACY_CCRE_QUERY","GWAS_AUTOCOMPLETE_QUERY","getICREs","value","limit","url","signal","fetch","method","body","JSON","stringify","query","variables","accession_prefix","headers","json","getCCREs","assembly","showiCREFlag","isExactAccession","length","accession","toUpperCase","includeiCREs","getLegacyCCREs","accessions","getGenes","geneVersions","versions","sort","a","b","versionResults","Promise","all","map","version","toLowerCase","startsWith","idprefix","split","name_prefix","then","res","geneMap","Map","forEach","result","idx","genes","data","gene","has","name","get","push","id","set","Array","from","values","description","getDescription","toTitleCase","str","word","charAt","slice","join","matches","filter","x","getSNPs","snpid","getStudys","studyname_prefix"],"mappings":"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"}
|