import { getSymbol, getGOterms, getN, getAllSymbols } from '.'
import fs from 'fs'

(async() => {
    const goaPath   = '/home/thomas/NGS/ref/GO/goa_human.gaf'
    const oboPath   = '/home/thomas/NGS/ref/GO/go-basic.obo'
    const geneName  = 'PLEKHA5'
    const qualifier = 'involved_in'
    const goTerm    = 'GO:0060768'
    // const r = await getGOterms(goTerm, oboPath)
    // await fs.promises.writeFile('test/getTerms-'+goTerm+'.json', JSON.stringify(r, null, 4))
    // console.log(r);
    // const r =  await getSymbol(geneName, goaPath, oboPath)
    // await fs.promises.writeFile('test/getSymbol-'+geneName+'.json', JSON.stringify(r, null, 4))
    // const res = {
    //     geneName,
    //     qualifier,
    //     terms: [...new Set(r.filter((e:any)=> e.Qualifier === qualifier).map((e:any) => ({term:e.GO_Term.id, name:e.GO_Term.name})))]
    // }
    // console.log(res);
    // const r = await getN([goTerm], 'involved_in',goaPath, oboPath)
    // console.log(r);
    const yy = ['PIK3CA', 'PIK3CA', 'AC011840.2', 'PLA2G7', 'TOR1A', 'CTIF', 'MCOLN1', 'SORCS1', 'TSHZ2', 'HOXA7', 'PPP3CA', 'CCDC188', 'CYFIP2', 'PLXDC2', 'DSCAML1', 'ACADS', 'GCM1', 'GNA15', 'KIAA0513', 'CFAP61', 'LRP8', 'CHM', 'GREM2', 'JMJD7-PLA2G4B', 'P4HB', 'PHF24', 'TAOK2', 'TCF23', 'TMTC1', 'TRIML2', 'GRK2', 'BTN3A3', 'BTNL3', 'EEF2KMT', 'GRHL2', 'PPP2R1A', 'CFHR2', 'IGFBP2', 'PLEKHG2', 'TAS2R31', 'ABCA5', 'AFF3', 'AK8', 'ARFIP2', 'ARID1A', 'BAHCC1', 'BMPER', 'CLN5', 'CRAMP1', 'CUX2', 'DNAH7', 'DOC2A', 'EPHX1', 'FARS2', 'FLNC', 'GALNT9', 'LAMA5', 'MYOM1', 'NNT', 'NRROS', 'OGDHL', 'OLFML2B', 'PAX5', 'PGS1', 'PHLDB2', 'RNF222', 'RPRD1B', 'S100A5', 'SHD', 'SLC44A1', 'SPATA20', 'TAB1', 'TJP1', 'TNIK', 'TOPAZ1', 'TRIM9', 'TRPM2', 'TRPM6', 'TSNARE1', 'TTLL3', 'VTI1A', 'XIRP2', 'ZNF383', 'BRAF', 'NF1', 'NFKB1', 'PIK3R6', 'TRAF4', 'ELOVL6', 'MELTF', 'MROH2B', 'NFE2L1', 'NRGN', 'PFKL', 'SLC15A2', 'SLC29A3', 'TACR3', 'TCEA2', 'CEP192', 'IGFBP5', 'ABCA1', 'ABCA10', 'AC011840.4', 'AIP', 'ATF2', 'ATG2B', 'AZU1', 'BAALC', 'BAD', 'BMERB1', 'BMPER', 'BPTF', 'C1orf127', 'C5', 'CACTIN', 'CADM2', 'CAPN12', 'CASS4', 'CC2D2A', 'CCDC113', 'CCDC40', 'CCDC93', 'CDH22', 'CENPS-CORT', 'CHD2', 'CHP1', 'CKM', 'CLASP2', 'CLK1', 'COL24A1', 'COL5A2', 'COLEC12', 'CYP4F22', 'DEPDC1B', 'DNAH17', 'DNAJB8', 'DUOX1', 'ELANE', 'ELMSAN1', 'EML6', 'EPHA10', 'ESPNL', 'ESYT2', 'FAH', 'FAN1', 'FBP1', 'FMNL1', 'FRYL', 'GIN1', 'GNPTAB', 'GRB10', 'H2BE1', 'HIVEP2', 'HP1BP3', 'HTATSF1', 'IL32', 'IRX1', 'ITGB2', 'KCTD16', 'KEAP1', 'KIF1C', 'LEPROTL1', 'LHX9', 'LPCAT1', 'LTN1', 'MAN2B2', 'MBTPS2', 'MCM2', 'MED23', 'MEP1B', 'MPRIP', 'MRPS26', 'MYT1', 'NAP1L1', 'NCOA3', 'NEB', 'NEB', 'NISCH', 'NMT1', 'NOVA2', 'NSD1', 'OPRD1', 'OR51I1', 'ORAI1', 'OVCH1', 'OVCH2', 'OXR1', 'PALLD', 'PAX7', 'PCNX3', 'PDCD4', 'PFKL', 'PKHD1', 'PKP4', 'PLCG2', 'PLG', 'POC1A', 'PTPRS', 'RAD51D', 'RBPJL', 'RER1', 'RIMS1', 'RPL29', 'RPL3L', 'SARM1', 'SESN3', 'SHMT1', 'SHMT1', 'SIGLEC1', 'SLC1A6', 'SLC22A5', 'SLC41A3', 'SMC2', 'SORCS2', 'SPTA1', 'STOX2', 'SUSD3', 'SYNJ2', 'SYNPO2', 'TACC3', 'TAS1R3', 'TBC1D4', 'THADA', 'TJP1', 'TRAPPC2L', 'TRIP10', 'UBN1', 'ZSCAN1', 'APOB', 'ATXN2', 'DGKZ', 'FGF2', 'NCOR1', 'PIK3C2G', 'PIK3R1', 'PIK3R5', 'PIK3R5', 'PPIP5K2', 'PPP2R5C', 'SYK', 'TRAF1', 'ADGRF3', 'AGAP2', 'ALK', 'ATXN2', 'ATXN2', 'ATXN2', 'BRCA2', 'BTNL3', 'CD109', 'CDK16', 'CHPF', 'CREB3L2', 'DAB2', 'DIP2A', 'DIP2C', 'EDNRA', 'EGFR', 'HAX1', 'HTATIP2', 'IGF1R', 'INSRR', 'JAG2', 'MYT1', 'NRARP', 'NRARP', 'PFKL', 'PFKL', 'PPP1CB', 'RASGRP1', 'RBP7', 'RHOT1', 'SMG7', 'STT3B', 'TNR', 'TRAK2', 'UBR4', 'ACE2', 'ARV1', 'BTN2A2', 'C1QL2', 'CAD', 'CD163', 'CD1D', 'CEACAM16', 'CEACAM20', 'CEACAM3', 'CEACAM7', 'CEP350', 'COL2A1', 'CYTIP', 'DIP2B', 'DOCK2', 'EBF3', 'EDA', 'FBXL13', 'FBXO2', 'FBXO47', 'FBXW11', 'GRXCR2', 'HMCN2', 'IGFBP3', 'MOSMO', 'MUC19', 'MUC19', 'MUC19', 'MUC4', 'MYO1B', 'NDST2', 'NDUFS7', 'NDUFS7', 'OPLAH', 'PLD6', 'PLEKHB2', 'PLEKHM3', 'PLEKHO2', 'PLXNB1', 'PYGM', 'SOS2', 'TFAP2D', 'TP53', 'TTC21B', 'YPEL4', 'A1CF', 'ABCA13', 'ABCA9', 'ABCB5', 'ABCC12', 'ABCC6', 'ABCD2', 'ABCD3', 'ABCG1', 'ABCG1', 'ABHD2', 'AC010197.2', 'AC020929.1', 'AC131160.1', 'AC244502.1', 'ACOD1', 'ACSM3', 'ACSS2', 'ACTA2', 'ACTL9', 'ADA', 'ADAM18', 'ADAMTS13', 'ADCY8', 'ADD1', 'ADGRE5', 'ADH7', 'ADIPOR1', 'ADRA2B', 'AFDN', 'AFF2', 'AGRN', 'AHCYL1', 'AIMP2', 'AIRE', 'AK5', 'AKAP13', 'AKAP8', 'AKAP9', 'AL162417.1', 'ALDH1L1', 'ALG1L', 'ALG8', 'ALKBH8', 'ALLC', 'ALMS1', 'ALOX12', 'ALPK3', 'ALS2', 'AMBRA1', 'AMER2', 'AMMECR1', 'ANKDD1B', 'ANKFN1', 'ANKHD1-EIF4EBP3', 'ANKMY2', 'ANKRD42', 'ANKRD6', 'ANKS1A', 'ANKS4B', 'ANLN', 'ANLN', 'ANLN', 'ANO6', 'APCDD1', 'APLP1', 'APMAP', 'APOB', 'APOBEC3G', 'APP', 'AQR', 'AQR', 'ARFGAP2', 'ARFGAP3', 'ARHGAP29', 'ARHGAP32', 'ARHGAP35', 'ARHGEF11', 'ARHGEF28', 'ARHGEF37', 'ARHGEF9', 'ARL5C', 'ARL8B', 'ARRDC3', 'ARVCF', 'ASCL4', 'ASNS', 'ASTN2', 'ATF7', 'ATG2A', 'ATP10B', 'ATP12A', 'ATP12A', 'ATP13A2', 'ATP13A4', 'ATP13A4', 'ATP2B3', 'ATP6V0A4', 'ATP7A', 'ATP8B2', 'ATPSCKMT', 'ATRN', 'ATRX', 'AVPR1A', 'B3GALNT2', 'B4GALT4', 'B4GALT5', 'BDP1', 'BDP1', 'BHMG1', 'BIRC5', 'BLK', 'BLMH', 'BNIP3L', 'BPI', 'BRD4', 'C10orf53', 'C11orf44', 'C12orf10', 'C12orf66', 'C14orf119', 'C16orf70', 'C16orf71', 'C16orf91', 'C18orf63', 'C20orf204', 'C5orf51', 'C8orf37', 'C8orf87', 'CABLES1', 'CACNA1A', 'CACNA1G', 'CADM1', 'CAMK2G', 'CAPN8', 'CAPN8', 'CAPS', 'CARD11', 'CARMIL3', 'CASQ1', 'CASS4', 'CBARP', 'CC2D2A', 'CCDC130', 'CCDC141', 'CCDC148', 'CCDC157', 'CCDC175', 'CCDC18', 'CCDC40', 'CCDC84', 'CCDC88A', 'CCDC93', 'CCNQ', 'CCSER2', 'CCT2', 'CDA', 'CDC14B', 'CDC23', 'CDC42BPB', 'CDC42BPB', 'CDC42EP2', 'CDCA7', 'CDH23', 'CDH8', 'CDK16', 'CDK18', 'CDKN2AIPNL', 'CDO1', 'CDON', 'CDYL2', 'CFAP43', 'CFAP43', 'CFAP52', 'CHAF1A', 'CHD7', 'CHERP', 'CHPF', 'CHST15', 'CIPC', 'CLDND2', 'CLEC7A', 'CNBD1', 'CNGA3', 'CNN1', 'CNOT7', 'COG7', 'COL16A1', 'COL1A2', 'COL27A1', 'COL4A4', 'COL4A5', 'COL8A2', 'COLGALT2', 'COPB2', 'COPS5', 'COQ10A', 'COQ10A', 'COQ10A', 'CORO1C', 'CORO6', 'COX7A2', 'CPA1', 'CPD', 'CPNE6', 'CPPED1', 'CPT1B', 'CPVL', 'CRAT', 'CROCC', 'CRYBB1', 'CRYBB3', 'CS', 'CSMD3', 'CSNK1D', 'CSRP1', 'CST9', 'CST9', 'CWF19L2', 'CXCR3', 'CYP17A1', 'CYP1A2', 'CYP2A6', 'CYP4B1', 'CYP7A1', 'CYS1', 'DBX1', 'DCAF1', 'DCAF11', 'DCST2', 'DDX10', 'DDX3X', 'DDX51', 'DDX56', 'DEF8', 'DFFB', 'DGKQ', 'DHCR24', 'DHX36', 'DHX37', 'DHX38', 'DIO2', 'DIS3L2', 'DLGAP5', 'DMXL1', 'DNAH1', 'DNAH9', 'DNAJA2', 'DNAJA4', 'DNAJA4', 'DNAJC13', 'DNAJC27', 'DNAL1', 'DNMT3B', 'DOC2B', 'DOCK10', 'DOCK3', 'DOCK9', 'DOK5', 'DOP1B', 'DPH3', 'DPP8', 'DPYD', 'DRAM1', 'DROSHA', 'DSC1', 'DTD1', 'DTD1', 'DUS1L', 'DUS2', 'DUSP22', 'DUT', 'E4F1', 'EAPP', 'ECHDC3', 'ECI1', 'ECM1', 'ECT2L', 'EDEM2', 'EEF1A2', 'EEF2K', 'EEF2KMT', 'EGFLAM', 'ELAVL4', 'ELF2', 'ELMOD3', 'ELP5', 'EML1', 'EML2', 'EML5', 'EN1', 'EN1', 'ENKUR', 'ENO1', 'ENPP3', 'ENTPD3', 'EPHA6', 'EPM2A', 'EPS8', 'EPSTI1', 'ERAP2', 'ERCC3', 'ESF1', 'ESF1', 'ESYT1', 'ESYT2', 'ETV1', 'EXOC6', 'EYA4', 'FAM104A', 'FAM135A', 'FAM149A', 'FAM169A', 'FAM178B', 'FANCA', 'FANCD2', 'FAT3', 'FBLN2', 'FER1L6', 'FER1L6', 'FKBP10', 'FLNB', 'FNIP1', 'FRAS1', 'FRMD3', 'FRMD3', 'FRMD4B', 'FSTL5', 'FZD10', 'FZD2', 'GABRP', 'GALNT13', 'GALNT2', 'GBF1', 'GBP2', 'GBP2', 'GBP3', 'GCNA', 'GDA', 'GDE1', 'GDPD3', 'GEMIN5', 'GGT5', 'GJD2', 'GK5', 'GLG1', 'GLIPR1L2', 'GLRX', 'GMPS', 'GNAT1', 'GNL2', 'GNL3L', 'GPBAR1', 'GPR132', 'GPR155', 'GPSM1', 'GRHL3', 'GRHPR', 'GRM5', 'GSAP', 'GTF2E1', 'GTF2E2', 'GTF3A', 'GTPBP8', 'GUCA1A', 'GUCY1B1', 'GUCY1B1', 'GUCY2C', 'GYPA', 'H1-2', 'H4C2', 'H6PD', 'HACD2', 'HAMP', 'HBEGF', 'HEATR5B', 'HECTD4', 'HECTD4', 'HEPACAM2', 'HERC2', 'HGD', 'HHAT', 'HLF', 'HMCN1', 'HMCN2', 'HMCN2', 'HNF1B', 'HNRNPH1', 'HNRNPH3', 'HOXA11', 'HOXC10', 'HOXC13', 'HOXC4', 'HOXC9', 'HPS3', 'HRC', 'HSPA12A', 'HSPA5', 'HSPA6', 'IARS1', 'ICA1L', 'ICAM1', 'IER5L', 'IER5L', 'IFT122', 'IGDCC4', 'IGHV3-35', 'IGHV4OR15-8', 'IGLV1-36', 'IL12RB1', 'IL15RA', 'IL17RD', 'IL18RAP', 'IL1RL2', 'IL31RA', 'IL4R', 'ILKAP', 'INHBC', 'INO80E', 'INPP5D', 'INPP5F', 'INTS2', 'IQCH', 'IQGAP2', 'IRAK3', 'ITCH', 'ITPR3', 'ITSN1', 'ITSN2', 'ITSN2', 'IVNS1ABP', 'JADE1', 'JAG1', 'JCAD', 'JMJD7-PLA2G4B', 'JMY', 'JPH1', 'JPH3', 'JPT2', 'KANK2', 'KAT6B', 'KCNAB2', 'KCNE1', 'KCNJ3', 'KCNJ6', 'KCNQ3', 'KDM1B', 'KDM4C', 'KDSR', 'KHDC4', 'KIAA0355', 'KIAA1109', 'KIAA1109', 'KIAA1841', 'KIAA2026', 'KIF16B', 'KIF1A', 'KIF1A', 'KIF21A', 'KIF9', 'KL', 'KLF10', 'KLF11', 'KLF13', 'KLHL17', 'KLHL4', 'KLK14', 'KLK3', 'KMT2C', 'KNTC1', 'KRT18', 'KRT32', 'KRT76', 'KYAT3', 'LAMA3', 'LAMA3', 'LAMC3', 'LARS1', 'LCORL', 'LCP1', 'LEO1', 'LGALS4', 'LIMCH1', 'LIN9', 'LINGO2', 'LMO4', 'LMO7', 'LMX1A', 'LOXHD1', 'LOXL1', 'LPO', 'LRCH2', 'LRP1', 'LRP11', 'LRP1B', 'LRP2', 'LRP2', 'LRRC45', 'LRRC9', 'LRRFIP1', 'LSG1', 'LZTR1', 'MACROD2', 'MAFF', 'MALRD1', 'MAN2A1', 'MAN2A2', 'MAP1B', 'MAP3K10', 'MAP4', 'MAP4', 'MAP7D2', 'MAPK3', 'MAPK8IP3', 'MARCHF1', 'MARCHF3', 'MAST4', 'MBD4', 'MBD6', 'MBTD1', 'MCF2L2', 'MCHR2', 'MCM9', 'MDH2', 'MDM1', 'MEAK7', 'MED13L', 'MEDAG', 'MELTF', 'MEOX1', 'MFAP1', 'MFF', 'MFSD1', 'MFSD12', 'MGA', 'MGAM2', 'MIER2', 'MKS1', 'MLXIPL', 'MMP13', 'MMP15', 'MMP2', 'MMP26', 'MMP27', 'MMP27', 'MMRN2', 'MOGS', 'MOK', 'MPDZ', 'MPP5', 'MPPED2', 'MPZL1', 'MRPL1', 'MRPL4', 'MRPL50', 'MRTFA', 'MS4A12', 'MSH2', 'MTA1', 'MTA1', 'MTBP', 'MTIF2', 'MTMR14', 'MTMR6', 'MTOR', 'MUC13', 'MUC16', 'MUC16', 'MUC16', 'MUC19', 'MUC2', 'MVP', 'MYCBP2', 'MYLK', 'MYO10', 'MYO15A', 'MYO15B', 'MYRF', 'N4BP2L2', 'NAALADL1', 'NACA', 'NAV3', 'NBEAL1', 'NBR1', 'NCBP3', 'NCBP3', 'NCOA1', 'NCOA5', 'NDC80', 'NDUFS7', 'NDUFS7', 'NDUFS7', 'NDUFS7', 'NDUFS7', 'NDUFS7', 'NDUFS7', 'NDUFS7', 'NDUFS7', 'NDUFS7', 'NDUFS7', 'NDUFS7', 'NDUFS7', 'NDUFS7', 'NDUFS7', 'NDUFS7', 'NDUFS7', 'NDUFS7', 'NEB', 'NEB', 'NEK1', 'NEK8', 'NEK9', 'NEK9', 'NEMP2', 'NEU3', 'NEURL1', 'NFKB2', 'NFU1', 'NFXL1', 'NINL', 'NKAIN2', 'NKPD1', 'NKX2-1', 'NKX2-1', 'NLE1', 'NMS', 'NOC3L', 'NOD2', 'NOM1', 'NONO', 'NOP14', 'NOS1AP', 'NOS2', 'NOS2', 'NPC1L1', 'NR1H3', 'NR1H3', 'NR2C1', 'NRAP', 'NRXN3', 'NRXN3', 'NSMCE2', 'NT5C1B', 'NTM', 'NTS', 'NUDCD3', 'NUGGC', 'NUMB', 'NUP205', 'NUTM1', 'OAF', 'OCRL', 'OGA', 'OGDHL', 'OIP5', 'OLFM3', 'OLFML2A', 'OLFML2B', 'OLIG1', 'OPN5', 'OR1K1', 'OR52W1', 'OSBPL2', 'OSGIN1', 'OTOF', 'OTOGL', 'OTOGL', 'OTP', 'OTUD7A', 'OTUD7B', 'OXSR1', 'PAAF1', 'PAH', 'PAK3', 'PAPLN', 'PAPPA2', 'PARM1', 'PATJ', 'PATL1', 'PCBP3', 'PCDHGA2', 'PCGF5', 'PCMTD1', 'PCNX1', 'PCSK9', 'PDCD6IP', 'PDE2A', 'PDE2A', 'PDLIM2', 'PDZRN3', 'PECR', 'PELI2', 'PER3', 'PFKL', 'PGGHG', 'PGLS', 'PGPEP1', 'PGPEP1', 'PHACTR2', 'PHACTR2', 'PHACTR2', 'PHACTR2', 'PHACTR2', 'PHC3', 'PHF24', 'PHKA1', 'PHLDB1', 'PIAS1', 'PIAS4', 'PIWIL1', 'PKD1L2', 'PKD1L3', 'PKHD1', 'PKHD1L1', 'PKP4', 'PLA2G2E', 'PLA2G4F', 'PLAA', 'PLCB3', 'PLCH1', 'PLCH2', 'PLEC', 'PLIN3', 'PLPPR5', 'PLS3', 'PLSCR4', 'PNKD', 'PNKP', 'PNLIPRP2', 'PNPLA3', 'PNPLA6', 'POLD1', 'POLDIP3', 'POLE', 'POLR1E', 'POLR1E', 'POLRMT', 'POU2F1', 'PPFIA1', 'PPFIA1', 'PPFIBP2', 'PPIF', 'PPIG', 'PPL', 'PRDM10', 'PRKAA1', 'PRKAA2', 'PRKAG2', 'PRKCA', 
'PRKDC', 'PRKRIP1', 'PRODH', 'PRSS1', 'PRTFDC1', 'PRUNE2', 'PSMC6', 'PSME4', 'PSMG2', 'PSMG4', 'PTGDR2', 'PTGDR2', 'PTPN13', 'PTPN3', 'PTPRB', 'PTPRD', 'PTPRM', 'PTPRM', 'PTPRN', 'PTPRQ', 'PUM1', 'PWP2', 'PYGB', 'PYGB', 'PYGB', 'PYGB', 'PYGB', 'PYGM', 'RAB28', 'RAB8A', 'RABGGTB', 'RALA', 'RALGAPA1', 'RALY', 'RANBP2', 'RASEF', 'RASGRF2', 'RASGRP2', 'RASGRP3', 'RBFA', 'RBFA', 'RBM26', 'RBM45', 'RBP1', 'REPS1', 'REPS1', 'RER1', 'REV1', 'RFPL3', 'RGP1', 'RGS11', 'RGS11', 'RGS22', 'RGS3', 'RGS4', 'RHBDD1', 'RHCG', 'RIC3', 'RIC3', 'RMDN3', 'RND3', 'RNF17', 'RNF185', 'RNF213', 'RNF213', 'RNF216', 'RNF220', 'RNF44', 'RNFT2', 'RNU6-1191P', 'ROBO2', 'ROCK1', 'ROCK2', 'ROS1', 'RPP38', 'RPRM', 'RPS6KA5', 'RPS6KL1', 'RPUSD4', 'RREB1', 'RSPH1', 'RSPH9', 'RTEL1', 'RTN2', 'RUBCN', 'RUNX3', 'RXRA', 'SARS2', 'SAV1', 'SBF1', 'SCAF4', 'SCD', 'SCG2', 'SCGB2A2', 'SCN3A', 'SCN3A', 'SCUBE2', 'SDR9C7', 'SEC24A', 'SEC24D', 'SEC31B', 'SELP', 'SEMA3B', 'SEMA3C', 'SEMA4B', 'SENP2', 'SEPTIN11', 'SERPINA6', 'SERPINH1', 'SESN1', 'SFTPB', 'SFXN5', 'SGCD', 'SGSM2', 'SGSM2', 'SH3KBP1', 'SHC3', 'SHD', 'SIGLEC12', 'SIN3B', 'SKOR2', 'SLC12A1', 'SLC12A2', 'SLC12A7', 'SLC15A5', 'SLC16A1', 'SLC22A14', 'SLC24A4', 'SLC25A12', 'SLC26A10', 'SLC26A7', 'SLC35B3', 'SLC35C2', 'SLC38A7', 'SLC38A9', 'SLC45A4', 'SLC4A7', 'SLC5A11', 'SLC66A2', 'SLC66A2', 'SLC6A15', 'SLC6A18', 'SLC7A8', 'SLC8A3', 'SLC9A9', 'SLIT1', 'SLIT2', 'SMAD3', 'SMAD9', 'SMARCA4', 'SMARCAL1', 'SMC2', 'SMYD2', 'SMYD5', 'SNAI3', 'SNED1', 'SNF8', 'SNX17', 'SORCS1', 'SORCS3', 'SP6', 'SPAG1', 'SPANXN5', 'SPATA20', 'SPEG', 'SPHK2', 'SPHKAP', 'SPIRE1', 'SPOCK1', 'SPRED1', 'SPRR2B', 'SPTBN5', 'SRGAP3', 'SRSF1', 'SSBP4', 'STAB2', 'STAB2', 'STAT5A', 'STK31', 'STRA6', 'SUPT16H', 'SYNE1', 'SYNE1', 'SZT2', 'TACC2', 'TADA1', 'TAF1', 'TAF1C', 'TAF1C', 'TAF2', 'TAFA4', 'TANC1', 'TANC2', 'TANGO6', 'TAOK3', 'TARBP1', 'TBC1D10B', 'TBC1D12', 'TBC1D22A', 'TBC1D23', 'TBC1D31', 'TCEA2', 'TCF7L1', 'TCHP', 'TET2', 'TEX11', 'TEX45', 'TEX48', 'TGFBR2', 'TGFBRAP1', 'TGM1', 'THADA', 'THAP9', 'THNSL1', 'THOC1', 'THSD7A', 'TJP1', 'TLE6', 'TLL1', 'TM7SF2', 'TMC5', 'TMEM132D', 'TMEM14C', 'TMEM165', 'TMEM192', 'TMEM219', 'TMEM259', 'TMEM44', 'TMPPE', 'TMPRSS7', 'TNC', 'TNPO1', 'TNPO2', 'TNS1', 'TOM1L1', 'TOP2B', 'TOPORS', 'TOX', 'TPH2', 'TPP2', 'TPR', 'TRAC', 'TRAJ10', 'TRAJ2', 'TRAPPC6A', 'TRAV9-1', 'TRBV4-1', 'TRBV6-4', 'TRIM37', 'TRIM51', 'TRIM69', 'TRIM71', 'TRIM77', 'TRIM9', 'TRIP13', 'TRMT1L', 'TRNAU1AP', 'TRPC5', 'TRPC7', 'TRPM3', 'TRPV1', 'TRPV1', 'TRRAP', 'TSPAN14', 'TTC13', 'TTC23L', 'TTC26', 'TTC27', 'TTC31', 'TTC33', 'TTC37', 'TTC37', 'TTC39B', 'TTLL4', 'TTLL7', 'TTLL8', 'TTR', 'TXNDC16', 'TYW1', 'UBA6', 'UBE2B', 'UBE2D4', 'UBE2J1', 'UBR2', 'UBR3', 'UBR5', 'UHRF1', 'UHRF1BP1', 'UNC119', 'UNC79', 'UPF1', 'UPP2', 'UQCRB', 'UROD', 'USP16', 'USP20', 'USP25', 'USP33', 'USP34', 'UTF1', 'UTRN', 'VCAM1', 'VCAN', 'VEPH1', 'VIPAS39', 'VIPR1', 'VPS11', 'VPS13A', 'VPS13B', 'VPS13C', 'VPS35L', 'VPS36', 'VPS39', 'VWA2', 'VWA5B1', 'VWCE', 'VWCE', 'WDFY3', 'WDFY3', 'WDPCP', 'WDR47', 'WDR63', 'WDR7', 'WDR7', 'WDR87', 'WNK4', 'WNT2', 'WNT7B', 'WSCD2', 'XAGE3', 'XPNPEP1', 'XPO7', 'YLPM1', 'YPEL3', 'ZBTB7C', 'ZBTB8OS', 'ZC3H4', 'ZC3HAV1', 'ZCCHC4', 'ZDHHC3', 'ZDHHC3', 'ZEB2', 'ZFAT', 'ZFC3H1', 'ZFR', 'ZFYVE26', 'ZMYM4', 'ZNF100', 'ZNF224', 'ZNF236', 'ZNF248', 'ZNF253', 'ZNF318', 'ZNF32', 'ZNF383', 'ZNF609', 'ZNF618', 'ZNF649', 'ZNF821', 'ZNF827', 'ZW10']
    const r =  await getAllSymbols(yy, 'involved_in', goaPath, oboPath)
    await fs.promises.writeFile('test/getAllSymbols.json', JSON.stringify(r, null, 4))

    const rr = await (await fs.promises.readFile('test/getAllSymbols.json')).toString()
    const tt = JSON.parse(rr).filter((e:any)=>e.n >1).filter((e:any)=>e.chi2test < .05).map((e:any) => ([e.name,e.prop*100,e.n + "/" + e.nTotal, e.chi2test].join('\t'))).join('\n')
    await fs.promises.writeFile('test/getAllSymbols.tsv', tt.toString())
    
})()