diff --git a/.gitignore b/.gitignore index 38b4cb6..ad90dfc 100644 --- a/.gitignore +++ b/.gitignore @@ -113,3 +113,8 @@ RDAS_CTKG/eligibility_extraction/ RDAS_CTKG/metamap_cond_out.json RDAS_CTKG/metamap_cond.txt RDAS_GFKG/convert_csv_fields.py +fix_normmap_file_sep.py +project_check.py +project_check_missing.csv +project_check_new.csv +project_check_old.csv diff --git a/RDAS_CTKG/methods.py b/RDAS_CTKG/methods.py index fb0e00d..ef8b33f 100755 --- a/RDAS_CTKG/methods.py +++ b/RDAS_CTKG/methods.py @@ -91,74 +91,46 @@ def webscrape_ctgov_diseases(): +def call_get_nctids (query, pageToken=None): + try: + if pageToken: query += f'&pageToken={pageToken}' + response = requests.get(query) + response_txt = response.json() + except Exception as e: + print('Unable to Process Query') + response_txt = None + return response_txt -def get_nctids(name_list): - """ - Retrieves ClinicalTrials.gov Identifiers (NCTIDs) for a list of rare disease names. - - Args: - name_list (list): List of rare disease names. - - Returns: - list: List of ClinicalTrials.gov Identifiers (NCTIDs) associated with the provided rare disease names. - - Example: - disease_names = ["Disease1", "Disease2", ...] - nct_ids = get_nctids(disease_names) - print(nct_ids) - # Output: ["NCT123", "NCT456", ...] - """ - - # Initialize a list to store all retrieved NCTIDs +def get_nctids(names,lastupdate): + # Date format: 05/01/1975 all_trials = list() - - # Iterate through each rare disease name - for name in name_list: - # Replace double quotes to prevent issues with the URL + for name in names: + trials = list() name = name.replace('"','\"') - # Construct the initial API query to get the total number of trials - initial_query = 'https://clinicaltrials.gov/api/query/study_fields?expr=AREA[ConditionBrowseBranchAbbrev] Rare AND \"' + name + '\"&fields=NCTId&' - query_end1 = 'min_rnk=1&max_rnk=1000&fmt=csv' - - try: - # Make the API request to get the total number of trials - response = requests.get(initial_query + query_end1).text.splitlines() - total_trials = int(response[4][16:-1]) - except Exception as e: - # Retry in case of an error - print('ERROR in retrieving NCTIDS, retrying...') - print(response) - response = requests.get(initial_query + query_end1).text.splitlines() - total_trials = int(response[4][16:-1]) - + initial_query = f'https://clinicaltrials.gov/api/v2/studies?query.cond=(EXPANSION[Concept]{name} OR AREA[DetailedDescription]EXPANSION[Concept]{name} OR AREA[BriefSummary]EXPANSION[Concept]{name}) AND AREA[LastUpdatePostDate]RANGE[{lastupdate},MAX]&fields=NCTId&pageSize=1000&countTotal=true' try: - # Add trials to a temporary list - trials = list() - for trial in response[11:]: - trials.append(trial.split(',')[1][1:-1]) - - # Break into extra queries of 1000 trials if necessary - for rank in range(1, total_trials//1000 + 1): - # Get next 1000 trials - query_end2 = 'min_rnk=' + str(rank*1000+1) + '&max_rnk=' + str((rank+1)*1000) + '&fmt=csv' - response = requests.get(initial_query + query_end2).text.splitlines() - - # Add trials to the temporary list - for trial in response[11:]: - trials.append(trial.split(',')[1][1:-1]) - - # Add the trials from the temporary list to the overall list - all_trials += trials - + pageToken = None + while True: + response_txt = call_get_nctids(initial_query, pageToken=pageToken) + if response_txt: + trials_list = response_txt['studies'] + + for trial in trials_list: + nctid = trial['protocolSection']['identificationModule']['nctId'] + trials.append(nctid) + all_trials += trials + if not 'nextPageToken' in response_txt: + break + else: + pageToken = response_txt['nextPageToken'] + else: + break + except Exception as e: print(e) - print(initial_query + query_end2) - print(trial) - - # Return the list of all retrived NCTIDs - return all_trials + return [list(set(all_trials))] @@ -247,17 +219,14 @@ def extract_fields(nctid): print(trial_fields) # Output: {"field1": "value1", "field2": {"nested_field": "nested_value"}} """ - - # Contruct the API query to retrieve full study information - full_trial_query = 'https://clinicaltrials.gov/api/query/full_studies?expr=' + nctid + '&min_rnk=1&max_rnk=1&fmt=json' - sleep(0.5) - try: # Make the API request and parse the JSON response - full_trial_response = requests.get(full_trial_query).json() - + query = f'https://clinicaltrials.gov/api/v2/studies/{nctid}' + response = requests.get(query) + response_txt = response.json() + sleep(0.34) # Use the parse_trial_fields function to flatten the nested structure - full_trial = parse_trial_fields(full_trial_response) + full_trial = parse_trial_fields(response_txt) except ValueError: # Return None if there is an issue with the JSON response return None @@ -279,6 +248,17 @@ def get_lastupdated_postdate (ID): # Return None if there is an issue with the JSON response return None +def check_neo4j_trial_updates(db, nctids): + new_trials = list() + trials_to_check = list() + for nctid in nctids: + response = db.run(f'MATCH (x:ClinicalTrial) WHERE x.NCTId = \"{nctid}\" RETURN x.NCTId').data() + if len(response) > 0: + new_trials.append(nctid) + else: + trials_to_check.append(nctid) + + return [new_trials, trials_to_check] def cypher_generate(db,now,NCTID,data,node_type,update=None,return_single=None): @@ -675,7 +655,7 @@ def mask_name(nlp, name): -def is_acronym(word): +def is_acronym(words): """ Checks if a word is an acronym. @@ -691,13 +671,14 @@ def is_acronym(word): """ # Check if the word contains spaces - if len(word.split(' ')) > 1: - return False - # Check if the word follows the pattern of an acronym - elif bool(re.match(r'\w*[A-Z]\w*', word[:len(word)-1])) and (word[len(word)-1].isupper() or word[len(word)-1].isnumeric()): - return True - else: - return False + if len(words.split()) > 1: return False + + for word in words.split(): + # Check if the word follows the pattern of an acronym + if bool(re.match(r'\w*[A-Z]\w*', word[:len(word)-1])) and (word[len(word)-1].isupper() or word[len(word)-1].isnumeric()): # aGG2 + print('ACRONYM REMOVED::', words) + return True + return False @@ -1237,7 +1218,7 @@ def rxnorm_map(db, rxnorm_progress): matcher.add('DRUG',[pattern]) # Retrieve drug interventions from the database that do NOT already have a Drug node attached - results = db.run('MATCH (x:Intervention) WHERE x.InterventionType = "Drug" AND NOT EXISTS((x)--(:Drug)) RETURN x.InterventionName, ID(x)').data() + results = db.run('MATCH (x:Intervention) WHERE x.InterventionType = "DRUG" AND NOT EXISTS((x)--(:Drug)) RETURN x.InterventionName, ID(x)').data() length = len(results) # Iterate over drug interventions and map RxNorm data diff --git a/RDAS_CTKG/src/data_model.py b/RDAS_CTKG/src/data_model.py index 15040f4..9222512 100755 --- a/RDAS_CTKG/src/data_model.py +++ b/RDAS_CTKG/src/data_model.py @@ -65,7 +65,7 @@ ################################################################## #new -node_names = ['ClinicalTrial', 'IndividualPatientData', 'Organization', 'Investigator', 'Condition', 'StudyDesign', 'PrimaryOutcome', 'Participant', 'ExpandedAccess', 'Intervention', 'Location', 'PatientRegistry', 'Reference'] +"""node_names = ['ClinicalTrial', 'IndividualPatientData', 'Organization', 'Investigator', 'Condition', 'StudyDesign', 'PrimaryOutcome', 'Participant', 'ExpandedAccess', 'Intervention', 'Location', 'PatientRegistry', 'Reference'] abbreviations = { 'ClinicalTrial': 'ct', @@ -181,4 +181,122 @@ # Propeties that are in list form fields_as_properties = { 'ClinicalTrial': ['Phase'] +}""" + +node_names = ['ClinicalTrial', 'IndividualPatientData', 'Organization', 'Investigator', 'Condition', 'StudyDesign', 'PrimaryOutcome', 'Participant', 'ExpandedAccess', 'Intervention', 'Location', 'PatientRegistry', 'Reference'] + +abbreviations = { + 'ClinicalTrial': 'ct', + 'IndividualPatientData': 'ind', + 'Organization': 'org', + 'PrimaryOutcome': 'pout', + 'Investigator': 'inv', + #'Sponsor': 'spo', + #'Collaborator': 'col', + 'Condition': 'con', + 'StudyDesign': 'stu', + 'Participant': 'par', + 'ExpandedAccess': 'exp', + 'Intervention': 'int', + 'Location': 'loc', + 'PatientRegistry': 'pat', + 'Reference': 'ref' +} + +relationships = { + 'IndividualPatientData': 'has_individual_patient_data', + #'Sponsor': 'sponsored_by', + #'Collaborator': 'collaborated_with', + 'Organization': 'conducted_by', + 'PrimaryOutcome': 'has_outcome', + 'Investigator': 'investigated_by', + 'Condition': 'investigates_condition', + 'StudyDesign': 'has_study_design', + 'Participant': 'has_participant_info', + 'ExpandedAccess': 'expanded_access_info', + 'Intervention': 'has_intervention', + 'Location': 'in_locations', + 'PatientRegistry': 'patient_registry_info', + 'Reference': 'is_about' +} + +rel_directions = { + 'IndividualPatientData': ['-','->'], + #'Sponsor': ['-','->'], + #'Collaborator': ['-','->'], + 'Organization': ['-','->'], + 'PrimaryOutcome': ['-','->'], + 'Investigator': ['-','->'], + 'Condition': ['-','->'], + 'StudyDesign': ['-','->'], + 'Participant': ['-','->'], + 'ExpandedAccess': ['-','->'], + 'Intervention': ['-','->'], + 'Location': ['-','->'], + 'PatientRegistry': ['-','->'], + 'Reference': ['<-','-'] + +} + +fields = { + 'ClinicalTrial': ['acronym','briefSummary','briefTitle','CompletionDate','CompletionDateType','LastKnownStatus', + 'LastUpdatePostDate','LastUpdatePostDateType','LastUpdateSubmitDate','nctId','NCTIdAlias','OfficialTitle', + 'OverallStatus','Phase','PrimaryCompletionDate','PrimaryCompletionDateType','ResultsFirstPostDate', + 'ResultsFirstPostDateType','ResultsFirstPostedQCCommentsDate','ResultsFirstPostedQCCommentsDateType', + 'StartDate','StartDateType','StudyFirstPostDate','StudyFirstPostDateType','StudyType'], + + 'IndividualPatientData': ['AvailIPDComment','AvailIPDId','AvailIPDType','AvailIPDURL','IPDSharing', + 'IPDSharingAccessCriteria','IPDSharingDescription','IPDSharingInfoType','IPDSharingTimeFrame','IPDSharingURL'], + + #'Sponsor': ['LeadSponsorName','LeadSponsorClass'], + + #'Collaborator': ['CollaboratorName','CollaboratorClass'], + + 'Organization': ['OrgName', 'OrgClass', 'OrgType'], + + 'Investigator': ['OfficialName', 'ContactEmail', 'OfficialAffiliation', 'ContactPhone', 'OfficialRole'], + + 'Condition': ['Condition'], #'ConditionAncestorId', 'ConditionAncestorTerm', 'ConditionBrowseBranchAbbrev', 'ConditionBrowseBranchName', 'ConditionBrowseLeafAsFound', 'ConditionBrowseLeafId', 'ConditionBrowseLeafName', 'ConditionBrowseLeafRelevance', 'ConditionMeshId', 'ConditionMeshTerm' + + 'StudyDesign': ['DesignAllocation','DesignInterventionModel','DesignInterventionModelDescription','DesignMasking', + 'DesignMaskingDescription','DesignObservationalModel','DesignPrimaryPurpose','DesignTimePerspective', + 'DetailedDescription','SamplingMethod'], + + 'PrimaryOutcome': ['PrimaryOutcomeDescription', 'PrimaryOutcomeMeasure', 'PrimaryOutcomeTimeFrame'], + + 'Participant': ['EligibilityCriteria', 'EnrollmentCount', 'EnrollmentType', 'Gender', 'GenderBased', 'GenderDescription', + 'HealthyVolunteers', 'MaxiumumAge', 'MinimumAge', 'StdAge', 'StudyPopulation'], + + 'ExpandedAccess': ['ExpAccTypeIndividual','ExpAccTypeIntermediate','ExpAccTypeTreatment','ExpandedAccessNCTId', + 'ExpandedAccessStatusForNCTId','HasExpandedAccess'], + + 'Intervention': ['InterventionName','InterventionType','InterventionDescription', 'InterventionOtherName', 'IsFDARegulatedDevice', 'IsFDARegulatedDrug'], # 'InterventionBrowseLeafId', 'InterventionBrowseLeafName', 'InterventionBrowseLeafRelevance', 'InterventionMeshId', 'InterventionMeshTerm', 'InterventionOtherName' + + 'Location': ['LocationCity','LocationCountry','LocationFacility','LocationState', + 'LocationStatus','LocationZip'], + + 'PatientRegistry': ['PatientRegistry'], + + 'Reference': ['Citation','ReferencePMID','ReferenceType'] + +} + +# Nodes that need additional processing to create additional nodes +process_nodes = ['Intervention', 'Condition', 'ClinicalTrial', 'Organization', 'PrimaryOutcome'] + +# Types of nodes that contain more than one entry +lists_of_nodes = { +'Collaborator': 'Collaborator', +'Condition': 'Condition', +'Intervention': 'Intervention', +'Location': 'Location', +'Reference': 'Reference', +'PrimaryOutcome':'PrimaryOutcome', + +'Unassigned': ['SecondaryIdInfo','ArmGroup','SecondaryOutcome','OtherOutcome','StdAge','OverallOfficial','IPDSharingInfoType', 'ConditionMesh', 'ConditionAncestor','ConditionBrowseLeaf','ConditionBrowseBranch','InterventionMesh','InterventionAncestor','InterventionBrowseLeaf','InterventionBrowseBranch'] } + +# Propeties that are in list form +fields_as_properties = { +'ClinicalTrial': ['Phase'] +} \ No newline at end of file diff --git a/RDAS_CTKG/update.py b/RDAS_CTKG/update.py index 4fb0517..14e13ff 100755 --- a/RDAS_CTKG/update.py +++ b/RDAS_CTKG/update.py @@ -50,6 +50,108 @@ def process_trial_update(thr, db, today, current_nctids, ids_to_update): """ def main(): + """ + NEW CT API WITH DATA PIPELINE PROCESS: + for each diseases and their terms x + filter our acronyms in disease terms x + then get all full trials data from the date of last update to today x + https://clinicaltrials.gov/api/v2/studies?query.cond=(EXPANSION[Concept]{name} OR AREA[DetailedDescription]EXPANSION[Concept]{name} OR AREA[BriefSummary]EXPANSION[Concept]{name}) AND AREA[LastUpdatePostDate]RANGE[05/01/1975,MAX]&fields=NCTId&pageSize=1000&countTotal=true + do a check to see if trial already exists + """ + print(f"[CT] Database Selected: {sysvars.ct_db}\nContinuing with script in 5 seconds...") + sleep(5) + + + # Connect to the Neo4j database + db = AlertCypher(sysvars.ct_db) + gard_db = AlertCypher(sysvars.gard_db) + + + # Get last updated date and current date + today = date.today().strftime('%m/%d/%y') + lastupdate_str = db.getConf('UPDATE_PROGRESS','rdas.ctkg_update') + lastupdate = datetime.strptime(lastupdate_str, "%m/%d/%y") + lastupdate = lastupdate.strftime('%m/%d/%Y') + + + in_progress = db.getConf('UPDATE_PROGRESS', 'clinical_in_progress') + print(f'in_progress:: {in_progress}') + if in_progress == 'True': + clinical_disease_progress = db.getConf('UPDATE_PROGRESS', 'clinical_disease_progress') + if not clinical_disease_progress == '': + clinical_disease_progress = int(clinical_disease_progress) + else: + clinical_disease_progress = 0 + + clinical_rxnorm_progress = db.getConf('UPDATE_PROGRESS', 'clinical_rxnorm_progress') + if not clinical_rxnorm_progress == '': + clinical_rxnorm_progress = int(clinical_rxnorm_progress) + else: + clinical_required_update_progress = 0 + clinical_current_step = db.getConf('UPDATE_PROGRESS', 'clinical_current_step') + else: + clinical_disease_progress = 0 + clinical_rxnorm_progress = 0 + clinical_current_step = '' + db.setConf('UPDATE_PROGRESS', 'clinical_in_progress', 'True') + + + if clinical_current_step == '': + gard_response = gard_db.run('MATCH (x:GARD) RETURN x.GardId as gid, x.GardName as gname, x.Synonyms as syns LIMIT 50').data() + for idx,response in enumerate(gard_response): + name = response['gname'] + gid = response['gid'] + syns = response['syns'] + syns = [syn for syn in syns if not rdas.is_acronym(syn)] + names = [name] + syns + + print('CURRENT DISEASE IN API QUERY::', str(idx), name, gid) + + nctids = rdas.get_nctids(names, lastupdate) + new_trials, trials_to_check = rdas.check_neo4j_trial_updates(db, nctids) + + # iterates through all trials that where already found in the database + for idx,nctid_check in enumerate(trials_to_check): + trial_info = rdas.extract_fields(nctid_check) + ID = trial_info['nctId'] + if trial_info: + for node_type in dm.node_names: + # parse and convert data into a neo4j query, updates an existing trial + rdas.format_node_data(db,today,trial_info,node_type,ID,update=True) + else: + print('Error in add for finding full trial data for ' + nctid_check) + + # iterates through all trials that were NOT found in the database + for idx,nctid_add in enumerate(new_trials): + trial_info = rdas.extract_fields(nctid_add) + ID = trial_info['nctId'] + if trial_info: + for node_type in dm.node_names: + # parse and convert data into a neo4j query, adds a new trial + rdas.format_node_data(db,today,trial_info,node_type,ID) + else: + print('Error in add for finding full trial data for ' + nctid_add) + + db.getConf('UPDATE_PROGRESS', 'clinical_disease_progress', str(idx)) + + db.setConf('UPDATE_PROGRESS', 'clinical_current_step', 'rxnorm_map') + + + if clinical_current_step == 'rxnorm_map': + rdas.rxnorm_map(db, clinical_rxnorm_progress) + + if clinical_current_step == 'clear_progress': + # Update config values + db.setConf('UPDATE_PROGRESS', 'clinical_update', datetime.strftime(datetime.now(),"%m/%d/%y")) + db.setConf('UPDATE_PROGRESS', 'clinical_in_progress', 'False') + db.setConf('UPDATE_PROGRESS', 'clinical_current_step', '') + db.setConf('UPDATE_PROGRESS', 'clinical_disease_progress', '') + db.setConf('UPDATE_PROGRESS', 'clinical_rxnorm_progress', '') + + + + + """ Main function for the data processing and updating of the Clinical Trial Neo4j Database. @@ -69,6 +171,7 @@ def main(): # Initialize variables containing NCTIDs to add and update ids_to_update = list() ids_to_add = list() + # Retrieve NCT IDs and last update dates from the database response = db.run('MATCH (x:ClinicalTrial) RETURN x.NCTId,x.LastUpdatePostDate').data() current_nctids = {i['x.NCTId']:i['x.LastUpdatePostDate'] for i in response} diff --git a/RDAS_CTKG_REMAKE/aact.py b/RDAS_CTKG_REMAKE/aact.py new file mode 100644 index 0000000..0eacc66 --- /dev/null +++ b/RDAS_CTKG_REMAKE/aact.py @@ -0,0 +1,1036 @@ +import os +import sys +import requests +workspace = os.path.dirname(os.path.abspath(__file__)) +sys.path.append(workspace) +sys.path.append('/home/leadmandj/RDAS/') +import sysvars +from AlertCypher import AlertCypher +from bs4 import BeautifulSoup +#import RDAS_CTKG.methods as rdas +from selenium import webdriver +from selenium.webdriver.chrome.service import Service +from selenium.webdriver.common.by import By +from selenium.webdriver.support.ui import Select +from RDAS_CTKG.src import data_model as dm +from datetime import date,datetime +import re +import nltk +import pandas as pd +from time import sleep +from spacy.matcher import Matcher +import spacy +import string +from transformers import AutoTokenizer, AutoModelForTokenClassification +from transformers import pipeline +nltk.download('averaged_perceptron_tagger') + +def is_acronym(words): + """ + Checks if a word is an acronym. + + Args: + word (str): The word to be checked. + + Returns: + bool: True if the word is an acronym, False otherwise. + + Example: + result = is_acronym("NASA") + print(result) # Output: True + """ + if len(words.split()) > 1: return False + + for word in words.split(): + # Check if the word follows the pattern of an acronym + if bool(re.match(r'\w*[A-Z]\w*', word[:len(word)-1])) and (word[len(word)-1].isupper() or word[len(word)-1].isnumeric()): # aGG2 + print('ACRONYM REMOVED::', words) + return True + return False + + +def get_full_studies(nctids): + for nctid in nctids: + query = f'https://clinicaltrials.gov/api/v2/studies/{nctid}' + response = requests.get(query) + response_txt = response.json() + #response_txt = parse_trial_fields(response_txt) + yield response_txt + + +def call_get_nctids (query, pageToken=None): + try: + if pageToken: query += f'&pageToken={pageToken}' + response = requests.get(query) + response_txt = response.json() + except Exception as e: + print('Unable to Process Query') + response_txt = None + return response_txt + +def get_nctids(names, lastupdate): + all_trials = list() + for name in names: + trials = list() + name = name.replace('"','\"') + + initial_query = f'https://clinicaltrials.gov/api/v2/studies?query.cond=(EXPANSION[Concept]{name} OR AREA[DetailedDescription]EXPANSION[Concept]{name} OR AREA[BriefSummary]EXPANSION[Concept]{name}) AND AREA[LastUpdatePostDate]RANGE[{lastupdate},MAX]&fields=NCTId&pageSize=1000&countTotal=true' + print(initial_query) + try: + pageToken = None + while True: + response_txt = call_get_nctids(initial_query, pageToken=pageToken) + if response_txt: + trials_list = response_txt['studies'] + + for trial in trials_list: + nctid = trial['protocolSection']['identificationModule']['nctId'] + trials.append(nctid) + all_trials += trials + if not 'nextPageToken' in response_txt: + break + else: + pageToken = response_txt['nextPageToken'] + else: + break + + except Exception as e: + print(e) + + return list(set(all_trials)) + + +def rxnorm_map(nlp, intervention): + def cypher_Drug(rxdata,intervention_name,wspacy=False): + rxnormid = rxdata['RxNormID'] + + # Create or merge Drug node with RxNormID + query = 'MERGE (x:Drug {{RxNormID: {rxnormid} }}) WITH x MATCH (y:Intervention {{InterventionName: \"{intervention_name}\" }}) MERGE (y)-[:mapped_to_rxnorm {{WITH_SPACY: {wspacy} }}]->(x)'.format(rxnormid=rxnormid, intervention_name=intervention_name, wspacy=wspacy) + yield query + + # Set additional properties on the Drug node + for k,v in rxdata.items(): + key = k.replace(' ','') + query = ('MATCH (y:Drug {{RxNormID: {rxnormid} }}) SET y.{key} = {value}'.format(rxnormid=rxnormid, key=key, value=v)) + yield query + + + def nlp_to_drug(doc,matches,drug_name): + for match_id, start, end in matches: + span = doc[start:end].text + + # Retrieve RxNorm data for the drug name + rxdata = get_rxnorm_data(span.replace(' ','+')) + + if rxdata: + # Create connections in the database using RxNorm data + for query in cypher_Drug(rxdata,drug_name,wspacy=True): yield query + else: + print('Map to RxNorm failed for intervention name: {drug_name}'.format(drug_name=drug_name)) + + def get_rxnorm_data(url): + # Form RxNav API request to get RxNormID based on drug name + rq = 'https://rxnav.nlm.nih.gov/REST/rxcui.json?name={drug}&search=2'.format(drug=url) + response = requests.get(rq) + try: + rxdata = dict() + # Extract RxNormID from the response + response = response.json()['idGroup']['rxnormId'][0] + rxdata['RxNormID'] = response + # Form RxNav API request to get all properties of the drug using RxNormID + rq2 = 'https://rxnav.nlm.nih.gov/REST/rxcui/{rxnormid}/allProperties.json?prop=codes+attributes+names+sources'.format(rxnormid=response) + response = requests.get(rq2) + response = response.json()['propConceptGroup']['propConcept'] + # Extract and organize properties of the drug + for r in response: + if r['propName'] in rxdata: + rxdata[r['propName']].append(r['propValue']) + else: + rxdata[r['propName']] = [r['propValue']] + return rxdata + + except Exception as e: + return + + def drug_normalize(drug_name): + # Remove non-ASCII characters + new_val = drug_name.encode("ascii", "ignore") + # Decode the bytes to string + updated_str = new_val.decode() + # Replace non-word characters with spaces + updated_str = re.sub('\W+',' ', updated_str) + return updated_str + + + drug = drug_normalize(intervention) + drug_url = drug.replace(' ','+') + + # Retrieve RxNorm data for the drug name + rxdata = get_rxnorm_data(drug_url) + + if rxdata: + # Create connections in the database using RxNorm data + for query in cypher_Drug(rxdata, drug): yield query + else: + # If RxNorm data not found, use SpaCy NLP to detect drug names and map to RxNorm + doc = nlp(drug) + matches = matcher(doc) + for query in nlp_to_drug(doc,matches,drug): yield query + + + +def clean_data_extract(data): + temp = data + for k,v in data.items(): + if v == str() or v == list() or v == dict(): + temp[k] = '\"\"' + elif type(v) == str: + text = re.sub(r'[^\w\s\-\/@.+]+', '', v) + temp[k] = f'\"{text}\"' + else: + temp[k] = v + return temp + + +def cypher_GARD_populate(): + gard_response = gard_db.run('MATCH (x:GARD) RETURN x.GardId as gid, x.GardName as gname, x.Synonyms as syns').data() + for response in gard_response: + name = response['gname'] + gid = response['gid'] + syns = response['syns'] + + gard_node = {'GardId':gid, 'GardName':name, 'Synonyms':syns} + gard_query = cypher_GARD(gard_node) + db.run(gard_query) + + +def cypher_GARD(gard_node): + gardid = gard_node['GardId'] + gardname = gard_node['GardName'] + syns = gard_node['Synonyms'] + + query = """ + MERGE (x:GARD {{GardId: \"{gardid}\"}}) + ON CREATE + SET x.GardName = \"{gardname}\" + SET x.Synonyms = {syns} + """.format( + gardid=gardid, + gardname=gardname, + syns=syns + ) + + return query + +def cypher_ClinicalTrial(db, study, gard_node, today, update=False): + data_extract = dict() + #gardid = gard_node['GardId'] + identification_module = study.get('protocolSection',dict()).get('identificationModule',dict()) + status_module = study.get('protocolSection',dict()).get('statusModule',dict()) + description_module = study.get('protocolSection',dict()).get('descriptionModule',dict()) + design_module = study.get('protocolSection',dict()).get('designModule',dict()) + ipd_module = study.get('protocolSection',dict()).get('ipdSharingStatementModule',dict()) + contact_module = study.get('protocolSection',dict()).get('contactsLocationsModule',dict()) + + if status_module == dict() and description_module == dict() and design_module == dict() and ipd_module == dict() and contact_module == dict(): + return None + + # Identification Module + nctid = identification_module.get('nctId', '') + data_extract['NCTIdAlias'] = identification_module.get('nctIdAliases', list()) + data_extract['Acronym'] = identification_module.get('acronym', '') + data_extract['BriefTitle'] = identification_module.get('briefTitle', '') + data_extract['OfficialTitle'] = identification_module.get('officialTitle', '') + + # Status Module + data_extract['LastKnownStatus'] = status_module.get('lastKnownStatus','') + data_extract['CompletionDate'] = status_module.get('completionDateStruct', dict()).get('date', '') + data_extract['CompletionDateType'] = status_module.get('completionDateStruct', dict()).get('type', '') + data_extract['LastUpdatePostDate'] = status_module.get('lastUpdatePostDateStruct', dict()).get('date', '') + data_extract['LastUpdatePostDateType'] = status_module.get('lastUpdatePostDateStruct', dict()).get('type', '') + data_extract['LastUpdateSubmitDate'] = status_module.get('lastUpdateSubmitDate', '') + data_extract['OverallStatus'] = status_module.get('overallStatus', '') + data_extract['PrimaryCompletionDate'] = status_module.get('completionDateStruct', dict()).get('date', '') + data_extract['PrimaryCompletionDateType'] = status_module.get('completionDateStruct', dict()).get('type', '') + data_extract['ResultsFirstPostDate'] = status_module.get('studyFirstPostDateStruct', dict()).get('date', '') + data_extract['ResultsFirstPostDateType'] = status_module.get('studyFirstPostDateStruct', dict()).get('type', '') + data_extract['ResultsFirstPostedQCCommentsDate'] = status_module.get('studyFirstSubmitQcDate', '') + data_extract['StartDate'] = status_module.get('startDateStruct', dict()).get('date', '') + data_extract['StartDateType'] = status_module.get('startDateStruct', dict()).get('type', '') + data_extract['StudyFirstPostDate'] = status_module.get('studyFirstPostDateStruct', dict()).get('date', '') + data_extract['StudyFirstPostDateType'] = status_module.get('studyFirstPostDateStruct', dict()).get('type', '') + + # Description Module + data_extract['BriefSummary'] = description_module.get('briefSummary', '') + + # Design Module + data_extract['Phase'] = design_module.get('phases', list()) + data_extract['StudyType'] = design_module.get('studyType','') + data_extract['PatientRegistry'] = design_module.get('patientRegistry',False) + + # IPD Module + data_extract['IPDSharing'] = ipd_module.get('ipdSharing','') + data_extract['IPDSharingDescription'] = ipd_module.get('description','') + data_extract['IPDSharingInfoType'] = ipd_module.get('infoTypes',list()) + data_extract['IPDSharingTimeFrame'] = ipd_module.get('timeFrame','') + data_extract['IPDSharingAccessCriteria'] = ipd_module.get('accessCriteria','') + + # Remove existing relationships if CT node already exists and requires an update + if update: db.run(f'MATCH (x:ClinicalTrial)-[r]-() WHERE x.NCTId = \"{nctid}\" AND NOT TYPE(r) = \"mapped_to_gard\" DELETE r') + + data_extract = clean_data_extract(data_extract) + + query = """ + MATCH (x:GARD) WHERE x.GardId = \"{gardid}\" + MERGE (y:ClinicalTrial {{NCTId: \"{nctid}\"}}) + ON CREATE + SET y.StudyType = {studyType}, + y.LastKnownStatus = {lknownstat}, + y.NCTIdAlias = {nct_alias}, + y.Acronym = {acro}, + y.BriefTitle = {btitle}, + y.BriefSummary = {bsummary}, + y.OfficialTitle = {otitle}, + y.CompletionDate = {cdate}, + y.CompletionDateType = {cdatetype}, + y.LastUpdatePostDate = {lupdatedate}, + y.LastUpdatePostDateType = {lupdatetype}, + y.LastUpdateSubmitDate = {lupdatesubmitdate}, + y.OverallStatus = {overall}, + y.PrimaryCompletionDate = {pcompletedate}, + y.PrimaryCompletionDateType = {pcompletetype}, + y.ResultsFirstPostDate = {rfirstdate}, + y.ResultsFirstPostDateType = {rfirsttype}, + y.ResultsFirstPostedQCCommentsDate = {qcdate}, + y.StartDate = {startdate}, + y.LastUpdatedRDAS = \"{curdate}\", + y.DateCreatedRDAS = \"{curdate}\", + y.IPDSharing = {ipd}, + y.IPDSharingDescription = {desc}, + y.IPDSharingInfoType = {info}, + y.IPDSharingTimeFrame = {frame}, + y.IPDSharingAccessCriteria = {criteria}, + y.PatientRegistry = {register}, + y.StartDateType = {startdatetype} + ON MATCH + SET y.StudyType = {studyType}, + y.LastKnownStatus = {lknownstat}, + y.NCTIdAlias = {nct_alias}, + y.Acronym = {acro}, + y.BriefTitle = {btitle}, + y.BriefSummary = {bsummary}, + y.OfficialTitle = {otitle}, + y.CompletionDate = {cdate}, + y.Phase = {phases}, + y.CompletionDateType = {cdatetype}, + y.LastUpdatePostDate = {lupdatedate}, + y.LastUpdatePostDateType = {lupdatetype}, + y.LastUpdateSubmitDate = {lupdatesubmitdate}, + y.OverallStatus = {overall}, + y.PrimaryCompletionDate = {pcompletedate}, + y.PrimaryCompletionDateType = {pcompletetype}, + y.ResultsFirstPostDate = {rfirstdate}, + y.ResultsFirstPostDateType = {rfirsttype}, + y.ResultsFirstPostedQCCommentsDate = {qcdate}, + y.StartDate = {startdate}, + y.LastUpdatedRDAS = \"{curdate}\", + y.IPDSharing = {ipd}, + y.IPDSharingDescription = {desc}, + y.IPDSharingInfoType = {info}, + y.IPDSharingTimeFrame = {frame}, + y.IPDSharingAccessCriteria = {criteria}, + y.PatientRegistry = {register}, + y.StartDateType = {startdatetype} + MERGE (x)<-[:mapped_to_gard]-(y) + RETURN ID(y) AS ct_id + """.format( + studyType = data_extract['StudyType'], + lknownstat=data_extract['LastKnownStatus'], + nct_alias=data_extract['NCTIdAlias'], + acro=data_extract['Acronym'], + gardid=gard_node['GardId'], + nctid=nctid, + btitle=data_extract['BriefTitle'], + bsummary=data_extract['BriefSummary'], + phases=data_extract['Phase'], + otitle=data_extract['OfficialTitle'], + cdate=data_extract['CompletionDate'], + cdatetype=data_extract['CompletionDateType'], + lupdatedate=data_extract['LastUpdatePostDate'], + lupdatetype=data_extract['LastUpdatePostDateType'], + lupdatesubmitdate=data_extract['LastUpdateSubmitDate'], + overall=data_extract['OverallStatus'], + pcompletedate=data_extract['PrimaryCompletionDate'], + pcompletetype=data_extract['PrimaryCompletionDateType'], + rfirstdate=data_extract['ResultsFirstPostDate'], + rfirsttype=data_extract['ResultsFirstPostDateType'], + qcdate=data_extract['ResultsFirstPostedQCCommentsDate'], + startdate=data_extract['StartDate'], + startdatetype=data_extract['StartDateType'], + ipd=data_extract['IPDSharing'], + desc=data_extract['IPDSharingDescription'], + info=data_extract['IPDSharingInfoType'], + frame=data_extract['IPDSharingTimeFrame'], + criteria=data_extract['IPDSharingAccessCriteria'], + register=data_extract['PatientRegistry'], + curdate=today + ) + + ct_id = db.run(query).data()[0]['ct_id'] + + centralContacts = contact_module.get('centralContacts',list()) + if centralContacts == list(): return None + + for contact in centralContacts: + data_extract['ContactName'] = contact.get('name','') + data_extract['ContactRole'] = contact.get('role','') + data_extract['ContactPhone'] = contact.get('phone','') + data_extract['ContactPhoneExt'] = contact.get('phoneExt','') + data_extract['ContactEmail'] = contact.get('email','') + + data_extract = clean_data_extract(data_extract) + + query = """ + MATCH (x:ClinicalTrial) WHERE ID(x) = {ct_id} + MERGE (y:Contact {{ + ContactName: {name}, + ContactRole: {role}, + ContactPhone: {phone}, + ContactPhoneExt: {phoneExt}, + ContactEmail: {email}, + ContactScope: \"Central\" + }}) + MERGE (x)-[:has_contact]->(y) + """.format( + ct_id=ct_id, + name=data_extract['ContactName'], + role=data_extract['ContactRole'], + phone=data_extract['ContactPhone'], + phoneExt=data_extract['ContactPhoneExt'], + email=data_extract['ContactEmail'] + ) + + yield query + +def cypher_IndividualPatientData(study): + data_extract = dict() + + identification_module = study.get('protocolSection',dict()).get('identificationModule',dict()) + ipd_module = study.get('protocolSection',dict()).get('ipdSharingStatementModule',dict()) + + if ipd_module == dict(): + return None + + nctid = identification_module.get('nctId', '') + + data_extract['IPDSharing'] = ipd_module.get('ipdSharing','') + data_extract['IPDSharingDescription'] = ipd_module.get('description','') + data_extract['IPDSharingInfoType'] = ipd_module.get('infoTypes',list()) + data_extract['IPDSharingTimeFrame'] = ipd_module.get('timeFrame','') + data_extract['IPDSharingAccessCriteria'] = ipd_module.get('accessCriteria','') + + data_extract = clean_data_extract(data_extract) + + query = """ + MATCH (x:ClinicalTrial) WHERE x.NCTId = \"{nctid}\" + MERGE (y:IndividualPatientData {{ + IPDSharing: {ipd}, + IPDSharingDescription: {desc}, + IPDSharingInfoType: {info}, + IPDSharingTimeFrame: {frame}, + IPDSharingAccessCriteria: {criteria} + }}) + MERGE (x)-[:has_individual_patient_data]->(y) + """.format( + nctid=nctid, + ipd=data_extract['IPDSharing'], + desc=data_extract['IPDSharingDescription'], + info=data_extract['IPDSharingInfoType'], + frame=data_extract['IPDSharingTimeFrame'], + criteria=data_extract['IPDSharingAccessCriteria'], + ) + + return query + + +def cypher_Investigator(study): + identification_module = study.get('protocolSection', dict()).get('identificationModule', dict()) + contact_module = study.get('protocolSection', dict()).get('contactsLocationsModule', dict()) + + nctid = identification_module.get('nctId', '') + officials = contact_module.get('overallOfficials', list()) + + if officials == list(): + return None + + for official in officials: + data_extract = dict() + data_extract['OfficialName'] = official.get('name','') + data_extract['OfficialAffiliation'] = official.get('affiliation','') + data_extract['OfficialRole'] = official.get('role','') + + data_extract = clean_data_extract(data_extract) + + query = """ + MATCH (x:ClinicalTrial) WHERE x.NCTId = \"{nctid}\" + MATCH (z:Contact) WHERE z.ContactName = {official_name} + MERGE (y:Investigator {{ + OfficialName: {official_name}, + OfficialAffiliation: {aff}, + OfficialRole: {role} }}) + MERGE (x)<-[:investigates]-(y) + MERGE (z)<-[:has_contact]-(y) + """.format( + nctid=nctid, + official_name=data_extract['OfficialName'], + aff=data_extract['OfficialAffiliation'], + role=data_extract['OfficialRole'] + ) + + yield query + + +def cypher_Condition(db, study, gard_names_dict): + identification_module = study.get('protocolSection','').get('identificationModule','') + conditions_module = study.get('protocolSection','').get('conditionsModule','') + + nctid = identification_module.get('nctId', '') + + conditions = conditions_module.get('conditions', list()) + + if conditions == list(): + return None + + for condition in conditions: + query = """ + MATCH (x:ClinicalTrial) WHERE x.NCTId = \"{nctid}\" + MERGE (y:Condition {{Condition: \"{cond}\"}}) + MERGE (x)-[:investigates_condition]->(y) + RETURN ID(y) AS cond_id + """.format( + nctid=nctid, + cond=condition, + ) + cond_id = db.run(query).data()[0]['cond_id'] + + # Exact match with GARD node + condition_normalized = gard_text_normalize(condition) + for k,v in gard_names_dict.items(): + for term in v: + if condition_normalized == term: + print('MATCH::', condition_normalized) + query = """ + MATCH (x:GARD) WHERE x.GardId = \"{gardid}\" + MATCH (y:Condition) WHERE ID(y) = {cond_id} + MERGE (y)-[:mapped_to_gard]->(x) + """.format( + gardid=k, + cond_id=cond_id + ) + yield query + ### + +def cypher_AssociatedEntity(study): + def generate_entity_query(nctid, data, node_type): + data_extract = clean_data_extract(data) + + query = """ + MATCH (x:ClinicalTrial) WHERE x.NCTId = \"{nctid}\" + MERGE (y:AssociatedEntity {{EntityName: {ename}, EntityClass: {eclass}, EntityType: \"{etype}\" }}) + MERGE (x)<-[:associated_with]-(y) + """.format( + nctid=nctid, + ename=data_extract['Name'], + eclass=data_extract['Class'], + etype=node_type + ) + + return query + + identification_module = study.get('protocolSection',dict()).get('identificationModule',dict()) + collab_module = study.get('protocolSection',dict()).get('sponsorCollaboratorsModule',dict()) + + nctid = identification_module.get('nctId', '') + organization = identification_module.get('organization', dict()) + collaborators = collab_module.get('collaborators', list()) + leadSponsor = collab_module.get('leadSponsor',dict()) + + if not organization == dict(): + data_extract = dict() + data_extract['Name'] = identification_module.get('organization',dict()).get('fullName','') + data_extract['Class'] = identification_module.get('organization',dict()).get('class','') + yield generate_entity_query(nctid, data_extract, 'Organization') + + if not leadSponsor == dict(): + data_extract = dict() + data_extract['Name'] = leadSponsor.get('name', '') + data_extract['Class'] = leadSponsor.get('class', '') + yield generate_entity_query(nctid, data_extract, 'Sponsor') + + if not collaborators == list(): + for collaborator in collaborators: + data_extract = dict() + data_extract['Name'] = collaborator.get('name','') + data_extract['Class'] = collaborator.get('class','') + yield generate_entity_query(nctid, data_extract, 'Collaborator') + + + +def cypher_StudyDesign(study): + data_extract = dict() + + identification_module = study.get('protocolSection', dict()).get('identificationModule', dict()) + design_module = study.get('protocolSection', dict()).get('designModule', dict()) + desc_module = study.get('protocolSection', dict()).get('descriptionModule', dict()) + status_module = study.get('protocolSection','').get('statusModule','') + + nctid = identification_module.get('nctId', '') + + designInfo = design_module.get('designInfo', dict()) + data_extract['DesignObservationalModel'] = designInfo.get('observationalModel','') + data_extract['DesignTimePerspective'] = designInfo.get('timePerspective','') + data_extract['DesignAllocation'] = designInfo.get('allocation','') + data_extract['DesignInterventionModel'] = designInfo.get('interventionModel','') + data_extract['DesignPrimaryPurpose'] = designInfo.get('primaryPurpose','') + data_extract['DesignInterventionModel'] = designInfo.get('interventionModel','') + data_extract['DesignInterventionModelDescription'] = designInfo.get('interventionModelDescription','') + + maskingInfo = designInfo.get('maskingInfo',dict()) + data_extract['DesignMasking'] = maskingInfo.get('masking','') + + expandedAccessInfo = status_module.get('expandedAccessInfo',dict()) + data_extract['HasExpandedAccess'] = expandedAccessInfo.get('hasExpandedAccess','') + + data_extract['DetailedDescription'] = desc_module.get('detailedDescription','') + + if designInfo == dict() and maskingInfo == dict() and expandedAccessInfo == dict(): + return None + + data_extract = clean_data_extract(data_extract) + + query = """ + MATCH (x:ClinicalTrial) WHERE x.NCTId = \"{nctid}\" + MERGE (y:StudyDesign {{ + DesignObservationalModel: {observe}, + DesignInterventionModel: {int_model}, + DesignInterventionModelDescription: {int_desc}, + DesignTimePerspective: {persp}, + DesignAllocation: {alloc}, + DesignPrimaryPurpose: {purp}, + DesignInterventionModel: {intervention}, + DesignMasking: {mask}, + DetailedDescription: {det_desc}, + HasExpandedAccess: {access} + }}) + MERGE (x)-[:has_study_design]->(y) + """.format( + nctid=nctid, + observe=data_extract['DesignObservationalModel'], + persp=data_extract['DesignTimePerspective'], + alloc=data_extract['DesignAllocation'], + purp=data_extract['DesignPrimaryPurpose'], + intervention=data_extract['DesignInterventionModel'], + mask=data_extract['DesignMasking'], + int_model=data_extract['DesignInterventionModel'], + int_desc=data_extract['DesignInterventionModelDescription'], + det_desc=data_extract['DetailedDescription'], + access=data_extract['HasExpandedAccess'] + ) + + return query + + +def cypher_PrimaryOutcome(study): + identification_module = study.get('protocolSection', dict()).get('identificationModule', dict()) + outcomes_module = study.get('protocolSection', dict()).get('outcomesModule', dict()) + + nctid = identification_module.get('nctId', '') + primaryOutcomes = outcomes_module.get('primaryOutcomes', list()) + + if primaryOutcomes == list(): + return None + + for outcome in primaryOutcomes: + data_extract = dict() + + data_extract['PrimaryOutcomeMeasure'] = outcome.get('measure','') + data_extract['PrimaryOutcomeTimeFrame'] = outcome.get('timeFrame','') + data_extract['PrimaryOutcomeDescription'] = outcome.get('description','') + + data_extract = clean_data_extract(data_extract) + + query = """ + MATCH (x:ClinicalTrial) WHERE x.NCTId = \"{nctid}\" + MERGE (y:PrimaryOutcome {{PrimaryOutcomeMeasure: {measure}, PrimaryOutcomeTimeFrame: {timeframe}, PrimaryOutcomeDescription: {desc}}}) + MERGE (x)-[:has_outcome]->(y) + """.format( + nctid=nctid, + measure=data_extract['PrimaryOutcomeMeasure'], + timeframe=data_extract['PrimaryOutcomeTimeFrame'], + desc=data_extract['PrimaryOutcomeDescription'] + ) + + yield query + + +def cypher_Participant(study): + data_extract = dict() + + identification_module = study.get('protocolSection',dict()).get('identificationModule',dict()) + design_module = study.get('protocolSection',dict()).get('designModule',dict()) + eligibility_module = study.get('protocolSection',dict()).get('eligibilityModule',dict()) + + nctid = identification_module.get('nctId', '') + + data_extract['EligibilityCriteria'] = eligibility_module.get('eligibilityCriteria', '') + data_extract['HealthyVolunteers'] = eligibility_module.get('healthyVolunteers', '') + data_extract['Gender'] = eligibility_module.get('sex', '') + data_extract['StdAge'] = eligibility_module.get('stdAges', '') + data_extract['MinimumAge'] = eligibility_module.get('minimumAge', '') + data_extract['MaximumAge'] = eligibility_module.get('maximumAge', '') + + data_extract['EnrollmentCount'] = design_module.get('enrollmentInfo', dict()).get('count', '') + data_extract['EnrollmentType'] = design_module.get('enrollmentInfo', dict()).get('type', '') + + if eligibility_module == dict() and design_module == dict(): + return None + + data_extract = clean_data_extract(data_extract) + + query = """ + MATCH (x:ClinicalTrial) WHERE x.NCTId = \"{nctid}\" + MERGE (y:Participant {{ + EligibilityCriteria: {criteria}, + HealthyVolunteers: {healthy}, + Gender: {gender}, + StdAge: {age}, + MinimumAge: {minage}, + MaximumAge: {maxage}, + EnrollmentCount: {cnt}, + EnrollmentType: {enrolltype} }}) + MERGE (x)-[:has_participant_info]->(y) + """.format( + nctid=nctid, + criteria=data_extract['EligibilityCriteria'], + healthy=data_extract['HealthyVolunteers'], + gender=data_extract['Gender'], + minage=data_extract['MinimumAge'], + maxage=data_extract['MaximumAge'], + age=data_extract['StdAge'], + cnt=data_extract['EnrollmentCount'], + enrolltype=data_extract['EnrollmentType'], + ) + + return query + + +def cypher_Intervention(study, nlp): + identification_module = study.get('protocolSection', dict()).get('identificationModule', dict()) + intervention_module = study.get('protocolSection', dict()).get('armsInterventionsModule', dict()) + + nctid = identification_module.get('nctId', '') + interventions = intervention_module.get('interventions', list()) + + if interventions == list(): + return None + + for intervention in interventions: + data_extract = dict() + + data_extract['InterventionName'] = intervention.get('name','') + intervention_name = data_extract['InterventionName'] + data_extract['InterventionType'] = intervention.get('type','') + intervention_type = data_extract['InterventionType'] + data_extract['InterventionDescription'] = intervention.get('description','') + + data_extract = clean_data_extract(data_extract) + + query = """ + MATCH (x:ClinicalTrial) WHERE x.NCTId = \"{nctid}\" + MERGE (y:Intervention {{ + InterventionName: {name}, + InterventionType: {type}, + InterventionDescription: {desc} + }}) + MERGE (x)-[:has_intervention]->(y) + """.format( + nctid=nctid, + name=data_extract['InterventionName'], + type=data_extract['InterventionType'], + desc=data_extract['InterventionDescription'] + ) + + yield query + + if intervention_type == 'DRUG': + for rxnorm_query in rxnorm_map(nlp, intervention_name): yield rxnorm_query + + +def cypher_Location(db, study): + identification_module = study.get('protocolSection', dict()).get('identificationModule', dict()) + loc_module = study.get('protocolSection', dict()).get('contactsLocationsModule', dict()) + + nctid = identification_module.get('nctId', '') + locations = loc_module.get('locations', list()) + + if locations == list(): + return None + + for loc in locations: + data_extract = dict() + + data_extract['LocationFacility'] = loc.get('facility','') + data_extract['LocationStatus'] = loc.get('status','') + data_extract['LocationCity'] = loc.get('city','') + data_extract['LocationZip'] = loc.get('zip','') + data_extract['LocationCountry'] = loc.get('country','') + data_extract['LocationState'] = loc.get('state','') + + data_extract = clean_data_extract(data_extract) + + query = """ + MATCH (x:ClinicalTrial) WHERE x.NCTId = \"{nctid}\" + MERGE (y:Location {{ + LocationCity: {city}, + LocationCountry: {country}, + LocationFacility: {facility}, + LocationState: {state}, + LocationStatus: {status}, + LocationZip: {zipcode} + }}) + MERGE (x)-[:in_locations]->(y) + RETURN ID(y) AS loc_id, ID(x) as ct_id + """.format( + nctid=nctid, + city=data_extract['LocationCity'], + country=data_extract['LocationCountry'], + facility=data_extract['LocationFacility'], + state=data_extract['LocationState'], + status=data_extract['LocationStatus'], + zipcode=data_extract['LocationZip'] + ) + loc_id = db.run(query).data()[0]['loc_id'] + ct_id = db.run(query).data()[0]['ct_id'] + + data_extract = dict() + loc_contacts = loc.get('contacts',list()) + if loc_contacts == list(): continue + + for contact in loc_contacts: + data_extract['ContactName'] = contact.get('name','') + data_extract['ContactRole'] = contact.get('role','') + data_extract['ContactPhone'] = contact.get('phone','') + data_extract['ContactPhoneExt'] = contact.get('phoneExt','') + data_extract['ContactEmail'] = contact.get('email','') + + data_extract = clean_data_extract(data_extract) + + query = """ + MATCH (z:ClinicalTrial) WHERE ID(z) = {ct_id} + MATCH (x:Location) WHERE ID(x) = {loc_id} + MERGE (y:Contact {{ + ContactName: {name}, + ContactRole: {role}, + ContactPhone: {phone}, + ContactPhoneExt: {phoneExt}, + ContactEmail: {email}, + ContactScope: \"Location\" + }}) + MERGE (z)-[:has_contact]->(y) + MERGE (y)-[:contact_for_location]->(x) + """.format( + loc_id=loc_id, + ct_id=ct_id, + name=data_extract['ContactName'], + role=data_extract['ContactRole'], + phone=data_extract['ContactPhone'], + phoneExt=data_extract['ContactPhoneExt'], + email=data_extract['ContactEmail'] + ) + + yield query + + +def cypher_Reference(study): + identification_module = study.get('protocolSection', dict()).get('identificationModule', dict()) + ref_module = study.get('protocolSection', dict()).get('referencesModule', dict()) + + nctid = identification_module.get('nctId', '') + refs = ref_module.get('references', list()) + + if refs == list(): + return None + + for ref in refs: + data_extract = dict() + + data_extract['ReferencePMID'] = ref.get('pmid','') + data_extract['ReferenceType'] = ref.get('type','') + data_extract['Citation'] = ref.get('citation','') + + data_extract = clean_data_extract(data_extract) + + query = """ + MATCH (x:ClinicalTrial) WHERE x.NCTId = \"{nctid}\" + MERGE (y:Reference {{ + Citation: {cite}, + ReferencePMID: {pmid}, + ReferenceType: {ref_type} + }}) + MERGE (x)<-[:is_about]-(y) + """.format( + nctid=nctid, + cite=data_extract['Citation'], + pmid=data_extract['ReferencePMID'], + ref_type=data_extract['ReferenceType'] + ) + + yield query + + +def gard_text_normalize(text): + text = text.lower() + text = re.sub('\W+',' ', text) + text = re.sub(' +', ' ', text) + text = text.strip() + + return text + + +def get_GARD_names_syns(db): + temp = dict() + response = db.run('MATCH (x:GARD) RETURN x.GardId as gid, x.GardName as gname, x.Synonyms as syns').data() + for res in response: + gardid = res['gid'] + gardname = res['gname'] + gardsyns = res['syns'] + + gardsyns_no_acro = [syn for syn in gardsyns if not is_acronym(syn)] + termlist = [gardname] + gardsyns_no_acro + + termlist = [gard_text_normalize(term) for term in termlist] + + temp[gardid] = termlist + + return temp + + +def generate_queries(db, nlp, study, gard_node, gard_names_dict, today, update=False): + # IF update=True it will remove all relationships from the CT node and recreate the connected nodes + # IF update=False it assumes the CT node doesnt exist and will create connected nodes normally + # Extract and populate GARD info + ###yield cypher_GARD(gard_node) + # Extract and populate ClinicalTrial info + for query in cypher_ClinicalTrial(db, study, gard_node, today, update=update): yield query + # Extract AssociatedEntity info + for query in cypher_AssociatedEntity(study): yield query + # Extract and populate Location info + for query in cypher_Location(db, study): yield query + # Extract and populate Investigator info + for query in cypher_Investigator(study): yield query + # Extract and populate Condition info + for query in cypher_Condition(db, study, gard_names_dict): yield query + # Extract and populate StudyDesign info + yield cypher_StudyDesign(study) + # Extract and populate PrimaryOutcome info + for query in cypher_PrimaryOutcome(study): yield query + # Extract and populate Participant info + yield cypher_Participant(study) + # Extract and populate Intervention info + for query in cypher_Intervention(study, nlp): yield query + # Extract and populate Reference info + for query in cypher_Reference(study): yield query + +########################################################### +#START + +print(f"[CT] Database Selected: {sysvars.ct_db}\nContinuing with script in 5 seconds...") +sleep(5) + + +# Connect to the Neo4j database +db = AlertCypher(sysvars.ct_db) +gard_db = AlertCypher(sysvars.gard_db) + +# Setup NLP for RxNORM Mapping +nlp = spacy.load('en_ner_bc5cdr_md') +pattern = [{'ENT_TYPE':'CHEMICAL'}] +matcher = Matcher(nlp.vocab) +matcher.add('DRUG',[pattern]) + +# Get last updated date and current date +today = date.today().strftime('%m/%d/%y') +lastupdate_str = db.getConf('UPDATE_PROGRESS','rdas.ctkg_update') +lastupdate = datetime.strptime(lastupdate_str, "%m/%d/%y") +lastupdate = lastupdate.strftime('%m/%d/%Y') + + +in_progress = db.getConf('UPDATE_PROGRESS', 'clinical_in_progress') +print(f'in_progress:: {in_progress}') +if in_progress == 'True': + clinical_disease_progress = db.getConf('UPDATE_PROGRESS', 'clinical_disease_progress') + if not clinical_disease_progress == '': + clinical_disease_progress = int(clinical_disease_progress) + else: + clinical_disease_progress = 0 + + clinical_rxnorm_progress = db.getConf('UPDATE_PROGRESS', 'clinical_rxnorm_progress') + if not clinical_rxnorm_progress == '': + clinical_rxnorm_progress = int(clinical_rxnorm_progress) + else: + clinical_required_update_progress = 0 + clinical_current_step = db.getConf('UPDATE_PROGRESS', 'clinical_current_step') +else: + clinical_disease_progress = 0 + clinical_rxnorm_progress = 0 + clinical_current_step = '' + db.setConf('UPDATE_PROGRESS', 'clinical_in_progress', 'True') + cypher_GARD_populate() + + +if clinical_current_step == '': + gard_names_dict = get_GARD_names_syns(gard_db) + gard_response = gard_db.run('MATCH (x:GARD) RETURN x.GardId as gid, x.GardName as gname, x.Synonyms as syns').data() + for idx,response in enumerate(gard_response): + if idx < clinical_disease_progress: + continue + + name = response['gname'] + gid = response['gid'] + syns = response['syns'] + + gard_node = {'GardId':gid, 'GardName':name, 'Synonyms':syns} + gard_query = cypher_GARD(gard_node) + db.run(gard_query) + + names_no_filter = [name] + syns + syns = [syn for syn in syns if not is_acronym(syn)] + names = [name] + syns + + nctids = get_nctids(names, lastupdate) + print(str(idx) + f' -------- {name} -------- {gid} --- {len(nctids)} Trials') + + if len(nctids) > 0: + for full_study in get_full_studies(nctids): + if full_study: + + api_nctid = full_study.get('protocolSection',dict()).get('identificationModule',dict()).get('nctId',None) + check_for_trial = db.run(f'MATCH (x:ClinicalTrial) WHERE x.NCTId = \"{api_nctid}\" RETURN ID(x) AS trial_id').data() + + if len(check_for_trial) > 0: + # Initiates Node Update + node_update = True + print('UPDATE TRUE::', api_nctid) + else: + # Initiates Node Creation + node_update = False + print('CREATE TRUE::', api_nctid) + + for query in generate_queries(db, nlp, full_study, gard_node, gard_names_dict, today, update=node_update): + if query: db.run(query) + print('created') + else: + print('Error in add for finding full trial data for ' + full_study['nctId']) + + db.setConf('UPDATE_PROGRESS', 'clinical_disease_progress', str(idx)) + diff --git a/RDAS_CTKG_REMAKE/acronym_test.csv b/RDAS_CTKG_REMAKE/acronym_test.csv new file mode 100644 index 0000000..ca6537e --- /dev/null +++ b/RDAS_CTKG_REMAKE/acronym_test.csv @@ -0,0 +1,52 @@ +0,1,2,3,4,5 +GARD,ORIG_TERMS,ACRONYM DETECT,ACRONYM_LEN,FILTERED_TRIALS,ACRO_ONLY_TRIALS +GARD:0000001,"['GRACILE syndrome', 'Fellman disease', 'Growth restriction-aminoaciduria-cholestasis-iron overload-lactic acidosis-early death syndrome']",[],[],[[]],[[]] +GARD:0000003,['Ablepharon macrostomia syndrome'],[],[],[[]],[[]] +GARD:0000005,"['Abetalipoproteinemia', 'Bassen-Kornzweig disease', 'Homozygous familial hypobetalipoproteinemia']",[],[],"[['NCT01463735', 'NCT02435940', 'NCT00007228', 'NCT00004574', 'NCT05208879']]",[[]] +GARD:0000006,['Acromesomelic dysplasia'],[],[],[[]],[[]] +GARD:0000007,['Acromicric dysplasia'],[],[],[[]],[[]] +GARD:0000011,['Alternating hemiplegia of childhood'],['AHC'],[3],"[['NCT03857607', 'NCT06248645', 'NCT00682513', 'NCT06007521', 'NCT00931164', 'NCT04020848', 'NCT02408354', 'NCT06153186', 'NCT04944927', 'NCT04513002']]","[['NCT04020848', 'NCT03674164', 'NCT02408354', 'NCT04701242', 'NCT04944927', 'NCT00485186', 'NCT03331952', 'NCT06019988', 'NCT06248645', 'NCT03857555', 'NCT00931164', 'NCT06128655', 'NCT03601793', 'NCT06073301', 'NCT06490757', 'NCT03857607', 'NCT03206775', 'NCT02409537', 'NCT00682513', 'NCT03885401', 'NCT01289652', 'NCT05042934', 'NCT03900689', 'NCT05661318', 'NCT06007521', 'NCT02977026']]" +GARD:0000012,"['Hypersensitivity pneumonitis', 'Extrinsic allergic alveolitis']",[],[],"[['NCT05727852', 'NCT05776537', 'NCT03670576', 'NCT03873649', 'NCT04844359', 'NCT01237145', 'NCT04896138', 'NCT01961362', 'NCT05365802', 'NCT04016181', 'NCT01935726', 'NCT05549635', 'NCT01687946', 'NCT05635032', 'NCT06134947', 'NCT05445817', 'NCT05449431', 'NCT04982809', 'NCT01487850', 'NCT05458635', 'NCT03300583', 'NCT03800017', 'NCT06125288', 'NCT03836417', 'NCT03678519', 'NCT04561479', 'NCT03030807', 'NCT04961944', 'NCT02883920', 'NCT04402177', 'NCT05988437', 'NCT05704218', 'NCT02631603', 'NCT01624753', 'NCT06038630', 'NCT02705144', 'NCT05455437', 'NCT05723796', 'NCT02571582', 'NCT02958917', 'NCT03056404', 'NCT04675619', 'NCT04879082', 'NCT04677426', 'NCT03747627', 'NCT02596347', 'NCT02523833', 'NCT05842681', 'NCT02496182', 'NCT04273867', 'NCT05626387', 'NCT05450276', 'NCT05392881']]",[[]] +GARD:0000013,"['Aniridia-cerebellar ataxia-intellectual disability syndrome', 'Gillespie syndrome']",[],[],[['NCT05390801']],[[]] +GARD:0000016,"['Ocular motor apraxia, Cogan type', 'Oculomotor apraxia; Cogan type']",[],[],[[]],[[]] +GARD:0000017,['Arachnoid cyst'],[],[],"[['NCT02482181', 'NCT05639491', 'NCT03656016', 'NCT01391702', 'NCT05726201', 'NCT04158284', 'NCT00011245', 'NCT04569201', 'NCT04046523', 'NCT04249921', 'NCT06352931', 'NCT03485612']]",[[]] +GARD:0000019,"['Dihydropyrimidine dehydrogenase deficiency', 'Familial pyrimidinemia']",[],[],"[['NCT02324452', 'NCT04541381', 'NCT06475352', 'NCT00130936', 'NCT04918264', 'NCT06092346', 'NCT00126867', 'NCT01224730', 'NCT04269369', 'NCT04194957', 'NCT00131599', 'NCT06245356', 'NCT00953537', 'NCT01547923']]",[[]] +GARD:0000022,"['Björnstad syndrome', 'Deafness-pili torti-hypogonadism syndrome', 'Hearing loss-pili torti-hypogonadism syndrome']",[],[],[[]],[[]] +GARD:0000023,['Blepharophimosis-ptosis-epicanthus inversus syndrome'],['BPES'],[4],[[]],[['NCT05358002']] +GARD:0000026,['Cat-eye syndrome'],['CES'],[3],[['NCT03174028']],"[['NCT03068988', 'NCT05527964', 'NCT05627986', 'NCT01222481', 'NCT01550640', 'NCT02901080', 'NCT05733234', 'NCT05005624', 'NCT01315938', 'NCT01963767', 'NCT03881956', 'NCT03450135', 'NCT05612828', 'NCT01842828', 'NCT05990595', 'NCT04579445', 'NCT00636779', 'NCT02548065', 'NCT06426030', 'NCT03076632', 'NCT00178373', 'NCT06274489', 'NCT02380586', 'NCT04598386', 'NCT04839887', 'NCT00286091', 'NCT02146586', 'NCT05547984', 'NCT03592732', 'NCT02382185', 'NCT03068780', 'NCT06044896', 'NCT01843608', 'NCT03338387', 'NCT00886730', 'NCT05881122', 'NCT02203734', 'NCT05384041', 'NCT01222598', 'NCT05397873', 'NCT01839864', 'NCT03784001', 'NCT03904771', 'NCT02898233', 'NCT01860677', 'NCT03839290', 'NCT04679792', 'NCT03369418', 'NCT01628315', 'NCT03320109', 'NCT04663555', 'NCT02353286', 'NCT03969355', 'NCT02813447', 'NCT00659295', 'NCT04503369', 'NCT05310162', 'NCT06330441', 'NCT03094013', 'NCT01803984', 'NCT05036148', 'NCT03792399', 'NCT05832710', 'NCT05852704', 'NCT00614549', 'NCT06047678', 'NCT05860387', 'NCT02806167', 'NCT04208308', 'NCT01830218', 'NCT02754973', 'NCT02546843', 'NCT01244087', 'NCT03389568', 'NCT02521480', 'NCT03978286', 'NCT01335685', 'NCT03206671', 'NCT03057184', 'NCT06203717', 'NCT06034496', 'NCT03052335', 'NCT03182556', 'NCT05351359', 'NCT00532532', 'NCT04016259', 'NCT05387434', 'NCT01825915', 'NCT04627480', 'NCT03501758', 'NCT03299803', 'NCT03811132', 'NCT04483843', 'NCT01488942', 'NCT04567797', 'NCT00729625', 'NCT00670722', 'NCT06211049', 'NCT04870736', 'NCT05483374', 'NCT04213495', 'NCT01269749', 'NCT03411863', 'NCT01130883', 'NCT04836039', 'NCT04587531', 'NCT03593070', 'NCT00013845', 'NCT00653497', 'NCT05126511', 'NCT03199066', 'NCT02730988', 'NCT05359380', 'NCT02275130', 'NCT02979782', 'NCT00268827', 'NCT02510898', 'NCT05249062', 'NCT02163967', 'NCT06493695', 'NCT00656955', 'NCT04867265', 'NCT02419014', 'NCT04585685', 'NCT03473938', 'NCT04698226', 'NCT05270278', 'NCT04853693', 'NCT01993277', 'NCT00928720', 'NCT03927885', 'NCT04438018', 'NCT03367936', 'NCT02960321', 'NCT03214627', 'NCT04739696', 'NCT03531346', 'NCT06045455', 'NCT03133611', 'NCT05578560', 'NCT06426940', 'NCT03995914', 'NCT01997008', 'NCT04221347', 'NCT03963687', 'NCT05418725', 'NCT05438862', 'NCT02677077', 'NCT05337397', 'NCT02303145', 'NCT02461654', 'NCT03689543', 'NCT05762003', 'NCT06395597', 'NCT01108887', 'NCT01583933', 'NCT05159492', 'NCT01265797', 'NCT03522636', 'NCT04427163', 'NCT00390637', 'NCT03298178', 'NCT03222752', 'NCT06468020', 'NCT02087098', 'NCT02222025', 'NCT01953757', 'NCT05382832', 'NCT01036490', 'NCT05661617', 'NCT06270979', 'NCT05647590', 'NCT05501275', 'NCT02606045', 'NCT03983252', 'NCT06431945', 'NCT05211401', 'NCT04876144', 'NCT01055665', 'NCT02732561', 'NCT03008954', 'NCT04153474', 'NCT04874740', 'NCT05799911', 'NCT04963907', 'NCT05923723', 'NCT01075880', 'NCT04226313', 'NCT05629780', 'NCT02549495', 'NCT04415788', 'NCT03852225', 'NCT01783652', 'NCT04422964', 'NCT02419638', 'NCT05891873', 'NCT00005498', 'NCT02494297', 'NCT01886846', 'NCT01232907', 'NCT00248924', 'NCT04734574', 'NCT00558220', 'NCT00339859', 'NCT06499623', 'NCT03927872', 'NCT03514355', 'NCT04910243', 'NCT04569396', 'NCT00919022', 'NCT04776681', 'NCT02468349', 'NCT06326151', 'NCT05373667', 'NCT01819454', 'NCT01570517', 'NCT03332043', 'NCT00817739', 'NCT03540745', 'NCT01561313', 'NCT04443621', 'NCT04180683', 'NCT04602507', 'NCT00600860', 'NCT02436785', 'NCT01400997', 'NCT00145288', 'NCT04776668', 'NCT00012831', 'NCT00866411', 'NCT01614665', 'NCT05460845', 'NCT06103448', 'NCT05968911', 'NCT05864495', 'NCT05801497', 'NCT01690962', 'NCT01560312', 'NCT04639752', 'NCT00385528', 'NCT04126564', 'NCT02518178', 'NCT05547113', 'NCT03198156', 'NCT04682197', 'NCT04102696', 'NCT04828200', 'NCT03247894', 'NCT02453347', 'NCT05009108', 'NCT05885893', 'NCT05832749', 'NCT00994279', 'NCT01795131', 'NCT02682914', 'NCT01277471', 'NCT05726695', 'NCT00958698', 'NCT03277274', 'NCT04808258', 'NCT04254198', 'NCT03881592', 'NCT00537316', 'NCT04557982', 'NCT03433079', 'NCT03750032', 'NCT05785884', 'NCT04546035', 'NCT05594485', 'NCT01734954', 'NCT04393480', 'NCT03268954', 'NCT04103086', 'NCT01973283', 'NCT04533165', 'NCT03115970', 'NCT01533415', 'NCT06409468', 'NCT03322995', 'NCT02727894', 'NCT06267287', 'NCT03757494', 'NCT03700918', 'NCT04465136', 'NCT06029257', 'NCT02847728', 'NCT04167423', 'NCT00495768', 'NCT04256811', 'NCT04913103', 'NCT01949961', 'NCT01327001', 'NCT04879251', 'NCT04779775', 'NCT02849613', 'NCT05533151', 'NCT05950009', 'NCT03777267', 'NCT03171116', 'NCT02467270', 'NCT00138437', 'NCT02174003', 'NCT04751864', 'NCT00746668', 'NCT02614144', 'NCT03811808', 'NCT05380843', 'NCT01592474', 'NCT00539357', 'NCT01487304', 'NCT03325374', 'NCT01279577', 'NCT04228237', 'NCT05554458', 'NCT05304052', 'NCT01552395', 'NCT05792475', 'NCT04115332', 'NCT06022640', 'NCT04700696', 'NCT05922007', 'NCT02998749', 'NCT00379522', 'NCT00831935', 'NCT05012241', 'NCT05291897', 'NCT00248872', 'NCT04676945', 'NCT06066658', 'NCT00403455', 'NCT02844452', 'NCT00554489', 'NCT00928772', 'NCT03385564', 'NCT05925231', 'NCT06124014', 'NCT06497959', 'NCT04626037', 'NCT04115033', 'NCT04339816', 'NCT01923051', 'NCT02118857', 'NCT02962843', 'NCT02391766', 'NCT05009121', 'NCT03222479', 'NCT01877746', 'NCT03273894', 'NCT02067806', 'NCT02087631', 'NCT04173494', 'NCT04423952', 'NCT03296787', 'NCT05795166', 'NCT00729118', 'NCT04030078', 'NCT04910282', 'NCT05698862', 'NCT01325532', 'NCT04617392', 'NCT02506309', 'NCT00820755', 'NCT01294020', 'NCT02037568', 'NCT04907331', 'NCT03264248', 'NCT04695665', 'NCT04685785', 'NCT03049943', 'NCT02846740', 'NCT03011775', 'NCT04181320', 'NCT00227877', 'NCT04069182', 'NCT05701228', 'NCT01232673', 'NCT03805152', 'NCT04942171', 'NCT05083221', 'NCT00665782', 'NCT01461798', 'NCT03825471', 'NCT05402280', 'NCT02979379', 'NCT04193306', 'NCT03876652', 'NCT00587769', 'NCT01271803', 'NCT00598780', 'NCT01233245', 'NCT01523561', 'NCT06242080', 'NCT03071692', 'NCT02469623', 'NCT01394107', 'NCT00230945', 'NCT04502992', 'NCT05394883', 'NCT02821351', 'NCT03898453', 'NCT06036472', 'NCT05309031', 'NCT01212224', 'NCT04148508', 'NCT02890615', 'NCT03174028', 'NCT02778139', 'NCT02509273', 'NCT04423146', 'NCT05466773', 'NCT04144257', 'NCT04967677', 'NCT05841368', 'NCT00057447', 'NCT00823147', 'NCT03439293', 'NCT04133610', 'NCT05063851', 'NCT06342232', 'NCT05603351', 'NCT01652690', 'NCT05578833', 'NCT01282658', 'NCT01277432', 'NCT02833129', 'NCT03301376', 'NCT02159885', 'NCT03551964', 'NCT04332731', 'NCT05843357', 'NCT04706156', 'NCT05653934', 'NCT00031720', 'NCT05667168', 'NCT01235455', 'NCT03737890', 'NCT05774561', 'NCT04143503', 'NCT04401085', 'NCT06104410', 'NCT05576090', 'NCT04086615', 'NCT00680927', 'NCT03575702', 'NCT02845830', 'NCT05469568', 'NCT04293848', 'NCT02762734', 'NCT03809312', 'NCT04574622', 'NCT03566615', 'NCT00569309', 'NCT02515916', 'NCT02119494', 'NCT05943912', 'NCT05887713', 'NCT00172549', 'NCT02831608', 'NCT04973501', 'NCT00915421', 'NCT03230786', 'NCT02030522', 'NCT05341453', 'NCT00606801', 'NCT06109337', 'NCT04091399', 'NCT01607749', 'NCT00712660', 'NCT05638022', 'NCT06167330', 'NCT03705988', 'NCT02360137', 'NCT03033836', 'NCT03277846', 'NCT02688400', 'NCT01282918', 'NCT03074734', 'NCT00499668', 'NCT04001322', 'NCT02690896', 'NCT01287975', 'NCT02944136', 'NCT01885780', 'NCT06226831', 'NCT06364631', 'NCT05010993', 'NCT05178277', 'NCT02098382', 'NCT04043494', 'NCT03992781', 'NCT03582878', 'NCT01167725', 'NCT02057081', 'NCT00536055', 'NCT04785547', 'NCT04758481', 'NCT04145726', 'NCT03325699', 'NCT04429919', 'NCT04552652', 'NCT03210155', 'NCT01851564', 'NCT01217463', 'NCT04160910', 'NCT05811429', 'NCT01422174', 'NCT00723008', 'NCT05791981', 'NCT05781347', 'NCT03344562', 'NCT04171947', 'NCT01072032', 'NCT06071000', 'NCT03060122', 'NCT05450588', 'NCT04078815', 'NCT06154564', 'NCT01935310', 'NCT04770181', 'NCT02596126', 'NCT03150095', 'NCT04912791', 'NCT02842229', 'NCT03277430', 'NCT02750085', 'NCT05788419', 'NCT05092854', 'NCT03258645', 'NCT05041881', 'NCT02620319', 'NCT05522140', 'NCT04184986', 'NCT00223756', 'NCT06233344', 'NCT03031236', 'NCT02992587', 'NCT04191538', 'NCT04006327', 'NCT00950911', 'NCT01055977', 'NCT02215551', 'NCT03000985', 'NCT00094133', 'NCT05446363', 'NCT04589364', 'NCT00279526', 'NCT00902330', 'NCT00875485', 'NCT03230890', 'NCT05096962', 'NCT00833898', 'NCT01517594', 'NCT01231711', 'NCT06416878', 'NCT02411227', 'NCT02171936', 'NCT01909011', 'NCT00147693', 'NCT06508398', 'NCT05070806', 'NCT02164994', 'NCT01078155', 'NCT05868798', 'NCT03414424', 'NCT04224961', 'NCT04297657', 'NCT03526523', 'NCT06016569', 'NCT02327104', 'NCT03298308', 'NCT05973461', 'NCT04011800', 'NCT05209438', 'NCT05353738', 'NCT01524081', 'NCT02171182', 'NCT04532892', 'NCT05223530', 'NCT06281288', 'NCT02985970', 'NCT05098600', 'NCT06253169', 'NCT00723632', 'NCT04422847', 'NCT04627350', 'NCT05391412', 'NCT06090565', 'NCT02506166', 'NCT05950477']]" +GARD:0000027,"['Cat-scratch disease', 'Bartonellosis due to Bartonella henselae infection']",[],[],"[['NCT03132116', 'NCT01469702']]",[[]] +GARD:0000028,"['Catel-Manzke syndrome', 'Hyperphalangy-clinodactyly of index finger with Pierre Robin syndrome', 'Index finger anomaly-Pierre Robin syndrome', 'Micrognathia digital syndrome', 'Palatodigital syndrome; Catel-Manzke type', 'Pierre Robin sequence-hyperphalangy-clinodactyly syndrome', 'Pierre Robin syndrome-hyperphalangy-clinodactyly syndrome']",[],[],[[]],[[]] +GARD:0000029,"['CHARGE syndrome', 'CHARGE association', 'Coloboma-heart defects-atresia choanae-retardation of growth and development-genitourinary problems-ear abnormalities syndrome', 'Hall-Hittner syndrome']",[],[],"[['NCT03186144', 'NCT04463316', 'NCT06475651', 'NCT01314534', 'NCT05764980']]",[[]] +GARD:0000031,"['Serpiginous choroiditis', 'Geographic helicoid peripapillary choroidopathy']",[],[],"[['NCT00407121', 'NCT00645697']]",[[]] +GARD:0000035,"['Tetrasomy 18p', 'Isochromosome 18p']",[],[],[[]],[[]] +GARD:0000037,"['Partial deletion of the short arm of chromosome 3', 'Partial deletion of chromosome 3p', 'Partial monosomy of chromosome 3p', 'Partial monosomy of the short arm of chromosome 3']",[],[],[[]],[[]] +GARD:0000039,['WT limb-blood syndrome'],[],[],[[]],[[]] +GARD:0000042,"['Tetrasomy 9p', 'Isochromosome 9p']",[],[],[[]],[[]] +GARD:0000043,"['Mosaic trisomy 9', 'Mosaic trisomy chromosome 9', 'Trisomy 9 mosaicism']",[],[],[[]],[[]] +GARD:0000044,"['Haim-Munk syndrome', 'Keratosis palmoplantaris-periodontopathia-onychogryposis syndrome', 'Palmoplantar hyperkeratosis-periodontopathia-onychogryposis syndrome', 'Palmoplantar keratoderma-periodontopathia-onychogryposis syndrome']",[],[],[[]],[[]] +GARD:0000045,"['Congenital varicella syndrome', 'Antenatal varicella virus infection', 'Mother-to-child transmission of varicella syndrome']",[],[],[['NCT05923970']],[[]] +GARD:0000047,"['Crigler-Najjar syndrome type 1', 'Bilirubin uridinediphosphate glucuronosyltransferase deficiency type 1', 'Bilirubin-UGT deficiency type 1']",[],[],"[['NCT05687474', 'NCT02051049', 'NCT00154960', 'NCT02302690', 'NCT04216797', 'NCT00461799', 'NCT03466463', 'NCT03343756', 'NCT00515307', 'NCT01345578', 'NCT01765283', 'NCT03223194', 'NCT03078881', 'NCT06518005', 'NCT02356978', 'NCT00564707']]",[[]] +GARD:0000048,"['Isolated cytochrome C oxidase deficiency', 'Isolated COX deficiency', 'Isolated mitochondrial respiratory chain complex IV deficiency']",[],[],[[]],[[]] +GARD:0000049,"['De Barsy syndrome', 'Cutis laxa-corneal clouding-intellectual disability syndrome', 'Progeroid syndrome; De Barsy type']",[],[],[[]],[[]] +GARD:0000054,['Duodenal atresia'],[],[],"[['NCT03256669', 'NCT06115226', 'NCT04907266', 'NCT06394453', 'NCT05142839', 'NCT02562157', 'NCT03054987', 'NCT04114279', 'NCT03056261', 'NCT03463668']]",[[]] +GARD:0000059,"['Spinocerebellar ataxia type 34', 'Erythrokeratodermia with ataxia', 'Spinocerebellar ataxia and erythrokeratodermia']",['SCA34'],[5],[['NCT01793168']],"[['NCT04591483', 'NCT01793168']]" +GARD:0000060,"['Iridocorneal endothelial syndrome', 'ICE syndrome']",[],[],"[['NCT04025801', 'NCT02020044', 'NCT00800111', 'NCT03270761', 'NCT00001161']]",[[]] +GARD:0000061,"['Femoral-facial syndrome', 'Femoral hypoplasia-unusual facies syndrome']","['FFS', 'FHUFS']","[3, 5]",[[]],"[['NCT01417390', 'NCT01503515', 'NCT01911039', 'NCT05622474', 'NCT00400075', 'NCT01531621', 'NCT03503136', 'NCT04049747', 'NCT03669354', 'NCT02782403', 'NCT00354835', 'NCT03919552', 'NCT00399399', 'NCT01982110', 'NCT02940925', 'NCT05520138', 'NCT05939986', 'NCT02693782', 'NCT01896999', 'NCT05116475', 'NCT06095167', 'NCT00002995', 'NCT04047147', 'NCT03457337', 'NCT05429918', 'NCT03407885', 'NCT05419843', 'NCT02174263', 'NCT03904225', 'NCT00992030', 'NCT02807103', 'NCT05214573', 'NCT05457699', 'NCT02858258', 'NCT01250223', 'NCT00677118', 'NCT04743999', 'NCT01769209', 'NCT02519816', 'NCT02958111', 'NCT02621970', 'NCT02987517', 'NCT06492460', 'NCT05993611', 'NCT04415294', 'NCT02731716', 'NCT00647166', 'NCT04794556', 'NCT02096380', 'NCT00704639', 'NCT02337517', 'NCT02109809', 'NCT05422599', 'NCT02116231', 'NCT03366415', 'NCT01872962', 'NCT02289807', 'NCT05304585', 'NCT03723343', 'NCT02922361', 'NCT03920722', 'NCT01245959', 'NCT06331481', 'NCT02610556', 'NCT02576899', 'NCT02760628', 'NCT05164822', 'NCT06290492', 'NCT00196144', 'NCT00514475', 'NCT03832257', 'NCT02610010', 'NCT00512915', 'NCT02434614', 'NCT06306573', 'NCT02218359', 'NCT05193617', 'NCT01745068', 'NCT02786641', 'NCT03278782', 'NCT02460887', 'NCT00577811']]" +GARD:0000062,"['Filippi syndrome', 'Type 1 syndactyly-microcephaly-intellectual disability syndrome']",[],[],[[]],[[]] +GARD:0000064,"['Fountain syndrome', 'Deafness-skeletal dysplasia-coarse face with full lips syndrome', 'Deafness-skeletal dysplasia-lip granuloma syndrome', 'Hearing loss-skeletal dysplasia-coarse face with full lips syndrome', 'Hearing loss-skeletal dysplasia-lip granuloma syndrome']",[],[],[[]],[[]] +GARD:0000065,"['Galloway-Mowat syndrome', 'Galloway syndrome', 'Microcephaly-hiatus hernia-nephrotic syndrome', 'Nephrosis-neuronal dysmigration syndrome']",[],[],[[]],[[]] +GARD:0000066,"['Gorlin-Chaudhry-Moss syndrome', 'Craniofacial dysostosis-genital; dental; cardiac anomalies syndrome', 'Cranofacial dysostosis-hypertrichosis-hypoplasia of labia majora syndrome', 'Dental and eye anomalies-patent ductus arteriosus-normal intelligence syndrome', 'GCM syndrome']",[],[],[[]],[[]] +GARD:0000068,"['Hypoglossia-hypodactyly syndrome', 'Aglossia-adactylia syndrome', 'Hanhart syndrome', 'Jussieu syndrome']",[],[],[[]],[[]] +GARD:0000069,['Hantavirus pulmonary syndrome'],[],[],"[['NCT05415904', 'NCT04323904', 'NCT04020536', 'NCT03682107', 'NCT01502345', 'NCT00868946', 'NCT03718130', 'NCT02116205', 'NCT02455375', 'NCT00001123', 'NCT00623168', 'NCT00533767', 'NCT04834713', 'NCT04333459', 'NCT04375098', 'NCT00128180', 'NCT04338672', 'NCT06009042']]",[[]] +GARD:0000070,"['Kasabach-Merritt syndrome', 'Hemangioma-thrombocytopenia syndrome']",[],[],"[['NCT04775173', 'NCT04448873', 'NCT04056962', 'NCT02110069', 'NCT00576888', 'NCT04598204', 'NCT05324384', 'NCT03188068', 'NCT05351216', 'NCT04077515', 'NCT04409691']]",[[]] +GARD:0000073,"['X-linked hyper-IgM syndrome', 'Hyper-IgM syndrome due to CD40 ligand deficiency', 'Hyper-IgM syndrome due to CD40L deficiency', 'Hyper-IgM syndrome type 1']","['HIGM1', 'XHIGM']","[5, 5]","[['NCT01652092', 'NCT00266513', 'NCT00006054', 'NCT00001244', 'NCT00004341', 'NCT01998633', 'NCT00634569', 'NCT06092346', 'NCT01963143', 'NCT03965260', 'NCT03383380', 'NCT00006319', 'NCT01289847', 'NCT00730314', 'NCT01884311', 'NCT00001145']]","[['NCT00982358', 'NCT01774838', 'NCT00053391', 'NCT00730314', 'NCT00513149', 'NCT06092346', 'NCT00302809', 'NCT01604031', 'NCT00020540', 'NCT00006054', 'NCT03759262', 'NCT06169007', 'NCT01998633', 'NCT03329950', 'NCT00056134', 'NCT00006319', 'NCT00078520', 'NCT00840931', 'NCT00579306', 'NCT00322959', 'NCT00466050', 'NCT00320164', 'NCT02789670', 'NCT01257880', 'NCT00634569', 'NCT03110445', 'NCT03333486', 'NCT00004341', 'NCT03965260', 'NCT05502887', 'NCT01162824', 'NCT01652092', 'NCT00008749', 'NCT05733598', 'NCT02097199', 'NCT01422317', 'NCT00058786', 'NCT05059431', 'NCT00328887', 'NCT02320357', 'NCT00001145', 'NCT01812200', 'NCT05076760', 'NCT06305286', 'NCT00504322', 'NCT02140996', 'NCT00266513', 'NCT01289847', 'NCT00005970', 'NCT02123004', 'NCT01963143', 'NCT00063856', 'NCT03383380', 'NCT00058799', 'NCT00001789', 'NCT03480568', 'NCT03288623', 'NCT04630132', 'NCT04329377', 'NCT00019591', 'NCT01276678', 'NCT04859218', 'NCT01112137', 'NCT01741324', 'NCT02974192', 'NCT00224354', 'NCT00458679', 'NCT05743270', 'NCT04322149', 'NCT04080453', 'NCT01541319', 'NCT01884311', 'NCT00441844', 'NCT04735978', 'NCT00001244', 'NCT04703647', 'NCT01530698', 'NCT02533596', 'NCT06312852', 'NCT04420013', 'NCT00006113']]" +GARD:0000076,"['Hypohidrotic ectodermal dysplasia', 'Anhidrotic ectodermal dysplasia']",['HED'],[3],"[['NCT01308333', 'NCT01992289', 'NCT01386775', 'NCT02099552', 'NCT04938622', 'NCT01293565', 'NCT04980638', 'NCT01398813', 'NCT04741412', 'NCT01629940', 'NCT01398397', 'NCT01871714', 'NCT03912792', 'NCT04223167', 'NCT05378932', 'NCT01629927', 'NCT01135888', 'NCT01109290', 'NCT01775462', 'NCT01342133', 'NCT01108770', 'NCT01564225']]","[['NCT01246037', 'NCT03344159', 'NCT01992289', 'NCT02669563', 'NCT01847300', 'NCT02184013', 'NCT06147206', 'NCT04549454', 'NCT01386775', 'NCT05263271', 'NCT03996460', 'NCT02099552', 'NCT05802472', 'NCT01293565', 'NCT04980638', 'NCT03339986', 'NCT01398813', 'NCT06019481', 'NCT04027426', 'NCT02899910', 'NCT04741412', 'NCT01629940', 'NCT02372188', 'NCT04416711', 'NCT01871714', 'NCT01398397', 'NCT04579068', 'NCT05453539', 'NCT05378932', 'NCT03769883', 'NCT03337438', 'NCT02216669', 'NCT01629927', 'NCT04027608', 'NCT00756366', 'NCT02116140', 'NCT05372042', 'NCT01851603', 'NCT01135888', 'NCT04783519', 'NCT04774770', 'NCT04089137', 'NCT00586183', 'NCT01648790', 'NCT01109290', 'NCT02932241', 'NCT03191682', 'NCT02481206', 'NCT01775462', 'NCT02404480', 'NCT06094933', 'NCT04535193', 'NCT06436586', 'NCT01108770', 'NCT03076489', 'NCT01564225', 'NCT01197352']]" +GARD:0000079,"['Metaphyseal chondrodysplasia, Jansen type']",[],[],[['NCT01793168']],[[]] +GARD:0000080,['Johanson-Blizzard syndrome'],['JBS'],[3],[[]],"[['NCT02902731', 'NCT04671823', 'NCT01114399', 'NCT04463316']]" +GARD:0000081,"['Intellectual developmental disorder, x-linked, syndromic, turner type', 'mental retardation and macrocephaly syndrome', 'mental retardation; x-linked; with growth retardation; deafness; and microgenitalism', 'juberg-marsidi syndrome', 'mental retardation; x-linked; syndromic; brooks-wisniewski-brown type', 'Mental retardation; x-linked; syndromic; turner type', 'brooks-wisniewski-brown syndrome']",[],[],[['NCT01238250']],[[]] +GARD:0000082,"['KBG syndrome', 'Short stature-facial and skeletal anomalies-intellectual disability-macrodontia syndrome']",[],[],[['NCT06465641']],[[]] +GARD:0000083,['Autosomal dominant Kenny-Caffey syndrome'],[],[],[[]],[[]] +GARD:0000084,"['Lipodystrophy, congenital generalized, type 1', 'lipodystrophy; berardinelli-seip congenital; type 1', 'Berardinelli-seip congenital lipodystrophy; type 1', 'brunzell syndrome; agpat2-related']",[],[],[[]],[[]] +GARD:0000085,['Thanatophoric dysplasia'],['TD'],[2],"[['NCT05426226', 'NCT05437913', 'NCT02660008', 'NCT02204397']]","[['NCT06525948', 'NCT06051838', 'NCT04618939', 'NCT01467089', 'NCT00241878', 'NCT05857410', 'NCT05916339', 'NCT00164242', 'NCT02918825', 'NCT02766491', 'NCT04522518', 'NCT03345329', 'NCT05108636', 'NCT01033877', 'NCT03785327', 'NCT02518139', 'NCT02215863', 'NCT02512510', 'NCT06155526', 'NCT06122870', 'NCT02637271', 'NCT05045729', 'NCT06144775', 'NCT06107829', 'NCT02996669', 'NCT05518799', 'NCT05652738', 'NCT01618591', 'NCT01593514', 'NCT04301674', 'NCT02673255', 'NCT00672373', 'NCT01547000', 'NCT01372514', 'NCT02736955', 'NCT00457249', 'NCT05730478', 'NCT04752384', 'NCT02123654', 'NCT01142089', 'NCT05520749', 'NCT02097849', 'NCT05982912', 'NCT05332912', 'NCT05663580', 'NCT02035033', 'NCT03062033', 'NCT06332144', 'NCT04182828', 'NCT04900519', 'NCT06111898', 'NCT06413316', 'NCT05717699', 'NCT02519686', 'NCT03468959', 'NCT03629288', 'NCT05047705', 'NCT02940496', 'NCT04587557', 'NCT04633473', 'NCT00190008', 'NCT03970980', 'NCT03665415', 'NCT04791124', 'NCT03905551', 'NCT01798563', 'NCT06092333', 'NCT00164411', 'NCT02035176', 'NCT03495024', 'NCT02864589', 'NCT04436432', 'NCT04357951', 'NCT01465087', 'NCT01267188', 'NCT05447299', 'NCT03712072', 'NCT02850666', 'NCT02898298', 'NCT06073522', 'NCT03498300', 'NCT02485587', 'NCT05650775', 'NCT05649930', 'NCT05089981', 'NCT03891862', 'NCT02332408', 'NCT06169163', 'NCT04291963', 'NCT05480462', 'NCT00349115', 'NCT03373890', 'NCT04207021', 'NCT03351530', 'NCT05480917', 'NCT01040325', 'NCT02517333', 'NCT02316145', 'NCT03299309', 'NCT03635112', 'NCT04999228', 'NCT04026295', 'NCT06205160', 'NCT02225327', 'NCT06001866', 'NCT03006744', 'NCT04465916', 'NCT01738477', 'NCT05846815', 'NCT06103539', 'NCT05844514', 'NCT01804920', 'NCT05096481', 'NCT00601835', 'NCT02488226', 'NCT05698199', 'NCT05950230', 'NCT05506228', 'NCT06124742', 'NCT03532581', 'NCT06160193', 'NCT02882698', 'NCT03536351', 'NCT01993173', 'NCT03615404', 'NCT01103401', 'NCT02487186', 'NCT01868334', 'NCT02366728', 'NCT04246112', 'NCT05197764', 'NCT01277705', 'NCT00885040', 'NCT00287820', 'NCT05314920', 'NCT05313503', 'NCT01721473', 'NCT05677282', 'NCT05480943', 'NCT01339000', 'NCT04889300', 'NCT04265924', 'NCT00707148', 'NCT03656601', 'NCT05082727', 'NCT00328380', 'NCT03418038', 'NCT02719067', 'NCT00524732', 'NCT03039491', 'NCT01314326', 'NCT04773626', 'NCT03225430', 'NCT04117464', 'NCT05696769', 'NCT03002285', 'NCT05609994', 'NCT03353623', 'NCT03001570', 'NCT02837172', 'NCT02689570', 'NCT02716428', 'NCT01294605', 'NCT00416091', 'NCT03538808', 'NCT05996575', 'NCT00001535', 'NCT05185128', 'NCT03352440', 'NCT05127993', 'NCT03688178', 'NCT00118313', 'NCT03438994', 'NCT01418352', 'NCT01702194', 'NCT00128219', 'NCT05776199', 'NCT01439165', 'NCT04456036', 'NCT02527499', 'NCT03495440', 'NCT00303368', 'NCT01521299', 'NCT06387004', 'NCT04245306', 'NCT03554668', 'NCT03400033', 'NCT02625441', 'NCT06069271', 'NCT02682355', 'NCT00705692', 'NCT02145715', 'NCT03002298', 'NCT05764993', 'NCT04710732', 'NCT02578082', 'NCT02105155', 'NCT00651989', 'NCT00109330', 'NCT06512649', 'NCT02193347', 'NCT02529072', 'NCT03434080', 'NCT02851823', 'NCT02647632', 'NCT01391390', 'NCT05268341', 'NCT01075581', 'NCT02454413', 'NCT00392093', 'NCT04432974', 'NCT06152510', 'NCT01757288', 'NCT02864368', 'NCT04054921', 'NCT02567630', 'NCT02946190', 'NCT00686140', 'NCT06440109', 'NCT01059474', 'NCT06187753', 'NCT04811339', 'NCT01592708', 'NCT03688516', 'NCT03396575', 'NCT05936372', 'NCT06517875', 'NCT03271671', 'NCT06004791', 'NCT05727020', 'NCT05133037', 'NCT03315624', 'NCT00400309', 'NCT05761834', 'NCT03698331', 'NCT01688037', 'NCT00837707', 'NCT05717712', 'NCT05079490', 'NCT04628715', 'NCT00742469', 'NCT05077137', 'NCT00114595', 'NCT04558541', 'NCT01378455', 'NCT02563145', 'NCT06284395', 'NCT05615220', 'NCT03063736', 'NCT01752790', 'NCT03508245', 'NCT06164821', 'NCT04289740', 'NCT04071574', 'NCT01953081', 'NCT06388343', 'NCT03535272', 'NCT00695812', 'NCT03425669', 'NCT04303078', 'NCT03661983', 'NCT02716376', 'NCT05421689', 'NCT03214068', 'NCT00575653', 'NCT02247986', 'NCT04963413', 'NCT04559776', 'NCT02439398', 'NCT02128230', 'NCT03564132', 'NCT04996472', 'NCT02757599', 'NCT00959075', 'NCT03535779', 'NCT04599530', 'NCT02498301', 'NCT03844087', 'NCT02783170', 'NCT05503459', 'NCT02405091', 'NCT00310661', 'NCT05098392', 'NCT02459080', 'NCT05609149', 'NCT04675385', 'NCT06099457', 'NCT02680522', 'NCT01557673', 'NCT04143724', 'NCT02394470', 'NCT06026124', 'NCT01262924', 'NCT06156865', 'NCT02064010', 'NCT01898793', 'NCT00751777', 'NCT04277390', 'NCT05942716', 'NCT01273285', 'NCT03813238', 'NCT00707460', 'NCT00621634', 'NCT05209204', 'NCT03845959', 'NCT03736213', 'NCT00953823', 'NCT02584972', 'NCT03176771', 'NCT00241176', 'NCT06002100', 'NCT01733121', 'NCT02155894', 'NCT03303547', 'NCT00209027', 'NCT01267058', 'NCT01585207', 'NCT03927222', 'NCT02548442', 'NCT03888664', 'NCT02626689', 'NCT05859698', 'NCT02233348', 'NCT05891249', 'NCT04621851', 'NCT02340962', 'NCT00255879', 'NCT00837616', 'NCT06127030', 'NCT03254992', 'NCT03589768', 'NCT02772159', 'NCT04322734', 'NCT05953545', 'NCT05294705', 'NCT02439476', 'NCT03222167', 'NCT05470088', 'NCT01524380', 'NCT00442832', 'NCT00536120', 'NCT02726646', 'NCT01005849', 'NCT03383653', 'NCT04838496', 'NCT02193854', 'NCT02977546', 'NCT03239210', 'NCT02274558', 'NCT01746563', 'NCT03525951', 'NCT06035666', 'NCT02209623', 'NCT01908452', 'NCT01912378', 'NCT06135636', 'NCT04074382', 'NCT06493786', 'NCT00033787', 'NCT00926965', 'NCT03287778', 'NCT04833426', 'NCT03497013', 'NCT02755051', 'NCT03916055', 'NCT01035996', 'NCT00352339', 'NCT02818205', 'NCT01674621', 'NCT05053321', 'NCT01287949', 'NCT04219280', 'NCT04570904', 'NCT04250454', 'NCT03729219', 'NCT01621672', 'NCT01338688', 'NCT03885648', 'NCT02988557', 'NCT00993681', 'NCT04531514', 'NCT03609502', 'NCT01134484', 'NCT01682915', 'NCT01559012', 'NCT02000284', 'NCT02579109', 'NCT05923450', 'NCT05382858', 'NCT06491875', 'NCT00097175', 'NCT02527356', 'NCT01744795', 'NCT04607538', 'NCT05325333', 'NCT05721456', 'NCT06438432', 'NCT03817710', 'NCT05444387', 'NCT00289861', 'NCT02301702', 'NCT02839369', 'NCT02838316', 'NCT03552445', 'NCT00807833', 'NCT04908969', 'NCT00061633', 'NCT03807622', 'NCT06228885', 'NCT04879199', 'NCT05461001', 'NCT06330922', 'NCT03054441', 'NCT03802201', 'NCT04890717', 'NCT02725619', 'NCT05691842', 'NCT04607824', 'NCT04878302', 'NCT04389931', 'NCT06176976', 'NCT00938054', 'NCT04427150', 'NCT03254186', 'NCT02279654', 'NCT00004735', 'NCT04425109', 'NCT05924100', 'NCT06514898', 'NCT03690843', 'NCT02576925', 'NCT03934879']]" +GARD:0000086,['Chudley-McCullough syndrome'],[],[],[[]],[[]] +GARD:0000087,"['Microphthalmia, Lenz type', 'Lenz microphthalmia']",[],[],[['NCT00011843']],[[]] diff --git a/RDAS_CTKG_REMAKE/acronym_test_expansion_concept.csv b/RDAS_CTKG_REMAKE/acronym_test_expansion_concept.csv new file mode 100644 index 0000000..adf8d14 --- /dev/null +++ b/RDAS_CTKG_REMAKE/acronym_test_expansion_concept.csv @@ -0,0 +1,51 @@ +GARD,ORIG_TERMS,ACRONYM DETECT,ACRONYM_LEN,FILTERED_TRIALS,ACRO_ONLY_TRIALS +GARD:0000001,"['GRACILE syndrome', 'Fellman disease', 'Growth restriction-aminoaciduria-cholestasis-iron overload-lactic acidosis-early death syndrome']",[],[],[[]],[[]] +GARD:0000003,['Ablepharon macrostomia syndrome'],[],[],[[]],[[]] +GARD:0000005,"['Abetalipoproteinemia', 'Bassen-Kornzweig disease', 'Homozygous familial hypobetalipoproteinemia']",[],[],"[['NCT01463735', 'NCT02435940', 'NCT00007228', 'NCT00004574', 'NCT05208879']]",[[]] +GARD:0000006,['Acromesomelic dysplasia'],[],[],[[]],[[]] +GARD:0000007,['Acromicric dysplasia'],[],[],[[]],[[]] +GARD:0000011,['Alternating hemiplegia of childhood'],['AHC'],[3],"[['NCT03857607', 'NCT06248645', 'NCT00682513', 'NCT06007521', 'NCT00931164', 'NCT04020848', 'NCT02408354', 'NCT06153186', 'NCT04944927', 'NCT04513002']]","[['NCT04020848', 'NCT03674164', 'NCT02408354', 'NCT04701242', 'NCT04944927', 'NCT00485186', 'NCT03331952', 'NCT06019988', 'NCT06248645', 'NCT03857555', 'NCT00931164', 'NCT06128655', 'NCT03601793', 'NCT06073301', 'NCT06490757', 'NCT03857607', 'NCT03206775', 'NCT02409537', 'NCT00682513', 'NCT03885401', 'NCT01289652', 'NCT05042934', 'NCT03900689', 'NCT05661318', 'NCT06007521', 'NCT02977026']]" +GARD:0000012,"['Hypersensitivity pneumonitis', 'Extrinsic allergic alveolitis']",[],[],"[['NCT05727852', 'NCT05776537', 'NCT03670576', 'NCT03873649', 'NCT04844359', 'NCT01237145', 'NCT04896138', 'NCT01961362', 'NCT05365802', 'NCT04016181', 'NCT01935726', 'NCT05549635', 'NCT01687946', 'NCT05635032', 'NCT06134947', 'NCT05445817', 'NCT05449431', 'NCT04982809', 'NCT01487850', 'NCT05458635', 'NCT03300583', 'NCT03800017', 'NCT06125288', 'NCT03836417', 'NCT03678519', 'NCT04561479', 'NCT03030807', 'NCT04961944', 'NCT02883920', 'NCT04402177', 'NCT05988437', 'NCT05704218', 'NCT02631603', 'NCT01624753', 'NCT06038630', 'NCT02705144', 'NCT05455437', 'NCT05723796', 'NCT02571582', 'NCT02958917', 'NCT03056404', 'NCT04675619', 'NCT04879082', 'NCT04677426', 'NCT03747627', 'NCT02596347', 'NCT02523833', 'NCT05842681', 'NCT02496182', 'NCT04273867', 'NCT05626387', 'NCT05450276', 'NCT05392881']]",[[]] +GARD:0000013,"['Aniridia-cerebellar ataxia-intellectual disability syndrome', 'Gillespie syndrome']",[],[],[['NCT05390801']],[[]] +GARD:0000016,"['Ocular motor apraxia, Cogan type', 'Oculomotor apraxia; Cogan type']",[],[],[[]],[[]] +GARD:0000017,['Arachnoid cyst'],[],[],"[['NCT02482181', 'NCT05639491', 'NCT03656016', 'NCT01391702', 'NCT05726201', 'NCT04158284', 'NCT00011245', 'NCT04569201', 'NCT04046523', 'NCT04249921', 'NCT06352931', 'NCT03485612']]",[[]] +GARD:0000019,"['Dihydropyrimidine dehydrogenase deficiency', 'Familial pyrimidinemia']",[],[],"[['NCT02324452', 'NCT04541381', 'NCT06475352', 'NCT00130936', 'NCT04918264', 'NCT06092346', 'NCT00126867', 'NCT01224730', 'NCT04269369', 'NCT04194957', 'NCT00131599', 'NCT06245356', 'NCT00953537', 'NCT01547923']]",[[]] +GARD:0000022,"['Björnstad syndrome', 'Deafness-pili torti-hypogonadism syndrome', 'Hearing loss-pili torti-hypogonadism syndrome']",[],[],[[]],[[]] +GARD:0000023,['Blepharophimosis-ptosis-epicanthus inversus syndrome'],['BPES'],[4],[[]],[['NCT05358002']] +GARD:0000026,['Cat-eye syndrome'],['CES'],[3],[['NCT03174028']],"[['NCT03068988', 'NCT05527964', 'NCT05627986', 'NCT01222481', 'NCT01550640', 'NCT02901080', 'NCT05733234', 'NCT05005624', 'NCT01315938', 'NCT01963767', 'NCT03881956', 'NCT03450135', 'NCT05612828', 'NCT01842828', 'NCT05990595', 'NCT04579445', 'NCT00636779', 'NCT02548065', 'NCT06426030', 'NCT03076632', 'NCT00178373', 'NCT06274489', 'NCT02380586', 'NCT04598386', 'NCT04839887', 'NCT00286091', 'NCT02146586', 'NCT05547984', 'NCT03592732', 'NCT02382185', 'NCT03068780', 'NCT06044896', 'NCT01843608', 'NCT03338387', 'NCT00886730', 'NCT05881122', 'NCT02203734', 'NCT05384041', 'NCT01222598', 'NCT05397873', 'NCT01839864', 'NCT03784001', 'NCT03904771', 'NCT02898233', 'NCT01860677', 'NCT03839290', 'NCT04679792', 'NCT03369418', 'NCT01628315', 'NCT03320109', 'NCT04663555', 'NCT02353286', 'NCT03969355', 'NCT02813447', 'NCT00659295', 'NCT04503369', 'NCT05310162', 'NCT06330441', 'NCT03094013', 'NCT01803984', 'NCT05036148', 'NCT03792399', 'NCT05832710', 'NCT05852704', 'NCT00614549', 'NCT06047678', 'NCT05860387', 'NCT02806167', 'NCT04208308', 'NCT01830218', 'NCT02754973', 'NCT02546843', 'NCT01244087', 'NCT03389568', 'NCT02521480', 'NCT03978286', 'NCT01335685', 'NCT03206671', 'NCT03057184', 'NCT06203717', 'NCT06034496', 'NCT03052335', 'NCT03182556', 'NCT05351359', 'NCT00532532', 'NCT04016259', 'NCT05387434', 'NCT01825915', 'NCT04627480', 'NCT03501758', 'NCT03299803', 'NCT03811132', 'NCT04483843', 'NCT01488942', 'NCT04567797', 'NCT00729625', 'NCT00670722', 'NCT06211049', 'NCT04870736', 'NCT05483374', 'NCT04213495', 'NCT01269749', 'NCT03411863', 'NCT01130883', 'NCT04836039', 'NCT04587531', 'NCT03593070', 'NCT00013845', 'NCT00653497', 'NCT05126511', 'NCT03199066', 'NCT02730988', 'NCT05359380', 'NCT02275130', 'NCT02979782', 'NCT00268827', 'NCT02510898', 'NCT05249062', 'NCT02163967', 'NCT06493695', 'NCT00656955', 'NCT04867265', 'NCT02419014', 'NCT04585685', 'NCT03473938', 'NCT04698226', 'NCT05270278', 'NCT04853693', 'NCT01993277', 'NCT00928720', 'NCT03927885', 'NCT04438018', 'NCT03367936', 'NCT02960321', 'NCT03214627', 'NCT04739696', 'NCT03531346', 'NCT06045455', 'NCT03133611', 'NCT05578560', 'NCT06426940', 'NCT03995914', 'NCT01997008', 'NCT04221347', 'NCT03963687', 'NCT05418725', 'NCT05438862', 'NCT02677077', 'NCT05337397', 'NCT02303145', 'NCT02461654', 'NCT03689543', 'NCT05762003', 'NCT06395597', 'NCT01108887', 'NCT01583933', 'NCT05159492', 'NCT01265797', 'NCT03522636', 'NCT04427163', 'NCT00390637', 'NCT03298178', 'NCT03222752', 'NCT06468020', 'NCT02087098', 'NCT02222025', 'NCT01953757', 'NCT05382832', 'NCT01036490', 'NCT05661617', 'NCT06270979', 'NCT05647590', 'NCT05501275', 'NCT02606045', 'NCT03983252', 'NCT06431945', 'NCT05211401', 'NCT04876144', 'NCT01055665', 'NCT02732561', 'NCT03008954', 'NCT04153474', 'NCT04874740', 'NCT05799911', 'NCT04963907', 'NCT05923723', 'NCT01075880', 'NCT04226313', 'NCT05629780', 'NCT02549495', 'NCT04415788', 'NCT03852225', 'NCT01783652', 'NCT04422964', 'NCT02419638', 'NCT05891873', 'NCT00005498', 'NCT02494297', 'NCT01886846', 'NCT01232907', 'NCT00248924', 'NCT04734574', 'NCT00558220', 'NCT00339859', 'NCT06499623', 'NCT03927872', 'NCT03514355', 'NCT04910243', 'NCT04569396', 'NCT00919022', 'NCT04776681', 'NCT02468349', 'NCT06326151', 'NCT05373667', 'NCT01819454', 'NCT01570517', 'NCT03332043', 'NCT00817739', 'NCT03540745', 'NCT01561313', 'NCT04443621', 'NCT04180683', 'NCT04602507', 'NCT00600860', 'NCT02436785', 'NCT01400997', 'NCT00145288', 'NCT04776668', 'NCT00012831', 'NCT00866411', 'NCT01614665', 'NCT05460845', 'NCT06103448', 'NCT05968911', 'NCT05864495', 'NCT05801497', 'NCT01690962', 'NCT01560312', 'NCT04639752', 'NCT00385528', 'NCT04126564', 'NCT02518178', 'NCT05547113', 'NCT03198156', 'NCT04682197', 'NCT04102696', 'NCT04828200', 'NCT03247894', 'NCT02453347', 'NCT05009108', 'NCT05885893', 'NCT05832749', 'NCT00994279', 'NCT01795131', 'NCT02682914', 'NCT01277471', 'NCT05726695', 'NCT00958698', 'NCT03277274', 'NCT04808258', 'NCT04254198', 'NCT03881592', 'NCT00537316', 'NCT04557982', 'NCT03433079', 'NCT03750032', 'NCT05785884', 'NCT04546035', 'NCT05594485', 'NCT01734954', 'NCT04393480', 'NCT03268954', 'NCT04103086', 'NCT01973283', 'NCT04533165', 'NCT03115970', 'NCT01533415', 'NCT06409468', 'NCT03322995', 'NCT02727894', 'NCT06267287', 'NCT03757494', 'NCT03700918', 'NCT04465136', 'NCT06029257', 'NCT02847728', 'NCT04167423', 'NCT00495768', 'NCT04256811', 'NCT04913103', 'NCT01949961', 'NCT01327001', 'NCT04879251', 'NCT04779775', 'NCT02849613', 'NCT05533151', 'NCT05950009', 'NCT03777267', 'NCT03171116', 'NCT02467270', 'NCT00138437', 'NCT02174003', 'NCT04751864', 'NCT00746668', 'NCT02614144', 'NCT03811808', 'NCT05380843', 'NCT01592474', 'NCT00539357', 'NCT01487304', 'NCT03325374', 'NCT01279577', 'NCT04228237', 'NCT05554458', 'NCT05304052', 'NCT01552395', 'NCT05792475', 'NCT04115332', 'NCT06022640', 'NCT04700696', 'NCT05922007', 'NCT02998749', 'NCT00379522', 'NCT00831935', 'NCT05012241', 'NCT05291897', 'NCT00248872', 'NCT04676945', 'NCT06066658', 'NCT00403455', 'NCT02844452', 'NCT00554489', 'NCT00928772', 'NCT03385564', 'NCT05925231', 'NCT06124014', 'NCT06497959', 'NCT04626037', 'NCT04115033', 'NCT04339816', 'NCT01923051', 'NCT02118857', 'NCT02962843', 'NCT02391766', 'NCT05009121', 'NCT03222479', 'NCT01877746', 'NCT03273894', 'NCT02067806', 'NCT02087631', 'NCT04173494', 'NCT04423952', 'NCT03296787', 'NCT05795166', 'NCT00729118', 'NCT04030078', 'NCT04910282', 'NCT05698862', 'NCT01325532', 'NCT04617392', 'NCT02506309', 'NCT00820755', 'NCT01294020', 'NCT02037568', 'NCT04907331', 'NCT03264248', 'NCT04695665', 'NCT04685785', 'NCT03049943', 'NCT02846740', 'NCT03011775', 'NCT04181320', 'NCT00227877', 'NCT04069182', 'NCT05701228', 'NCT01232673', 'NCT03805152', 'NCT04942171', 'NCT05083221', 'NCT00665782', 'NCT01461798', 'NCT03825471', 'NCT05402280', 'NCT02979379', 'NCT04193306', 'NCT03876652', 'NCT00587769', 'NCT01271803', 'NCT00598780', 'NCT01233245', 'NCT01523561', 'NCT06242080', 'NCT03071692', 'NCT02469623', 'NCT01394107', 'NCT00230945', 'NCT04502992', 'NCT05394883', 'NCT02821351', 'NCT03898453', 'NCT06036472', 'NCT05309031', 'NCT01212224', 'NCT04148508', 'NCT02890615', 'NCT03174028', 'NCT02778139', 'NCT02509273', 'NCT04423146', 'NCT05466773', 'NCT04144257', 'NCT04967677', 'NCT05841368', 'NCT00057447', 'NCT00823147', 'NCT03439293', 'NCT04133610', 'NCT05063851', 'NCT06342232', 'NCT05603351', 'NCT01652690', 'NCT05578833', 'NCT01282658', 'NCT01277432', 'NCT02833129', 'NCT03301376', 'NCT02159885', 'NCT03551964', 'NCT04332731', 'NCT05843357', 'NCT04706156', 'NCT05653934', 'NCT00031720', 'NCT05667168', 'NCT01235455', 'NCT03737890', 'NCT05774561', 'NCT04143503', 'NCT04401085', 'NCT06104410', 'NCT05576090', 'NCT04086615', 'NCT00680927', 'NCT03575702', 'NCT02845830', 'NCT05469568', 'NCT04293848', 'NCT02762734', 'NCT03809312', 'NCT04574622', 'NCT03566615', 'NCT00569309', 'NCT02515916', 'NCT02119494', 'NCT05943912', 'NCT05887713', 'NCT00172549', 'NCT02831608', 'NCT04973501', 'NCT00915421', 'NCT03230786', 'NCT02030522', 'NCT05341453', 'NCT00606801', 'NCT06109337', 'NCT04091399', 'NCT01607749', 'NCT00712660', 'NCT05638022', 'NCT06167330', 'NCT03705988', 'NCT02360137', 'NCT03033836', 'NCT03277846', 'NCT02688400', 'NCT01282918', 'NCT03074734', 'NCT00499668', 'NCT04001322', 'NCT02690896', 'NCT01287975', 'NCT02944136', 'NCT01885780', 'NCT06226831', 'NCT06364631', 'NCT05010993', 'NCT05178277', 'NCT02098382', 'NCT04043494', 'NCT03992781', 'NCT03582878', 'NCT01167725', 'NCT02057081', 'NCT00536055', 'NCT04785547', 'NCT04758481', 'NCT04145726', 'NCT03325699', 'NCT04429919', 'NCT04552652', 'NCT03210155', 'NCT01851564', 'NCT01217463', 'NCT04160910', 'NCT05811429', 'NCT01422174', 'NCT00723008', 'NCT05791981', 'NCT05781347', 'NCT03344562', 'NCT04171947', 'NCT01072032', 'NCT06071000', 'NCT03060122', 'NCT05450588', 'NCT04078815', 'NCT06154564', 'NCT01935310', 'NCT04770181', 'NCT02596126', 'NCT03150095', 'NCT04912791', 'NCT02842229', 'NCT03277430', 'NCT02750085', 'NCT05788419', 'NCT05092854', 'NCT03258645', 'NCT05041881', 'NCT02620319', 'NCT05522140', 'NCT04184986', 'NCT00223756', 'NCT06233344', 'NCT03031236', 'NCT02992587', 'NCT04191538', 'NCT04006327', 'NCT00950911', 'NCT01055977', 'NCT02215551', 'NCT03000985', 'NCT00094133', 'NCT05446363', 'NCT04589364', 'NCT00279526', 'NCT00902330', 'NCT00875485', 'NCT03230890', 'NCT05096962', 'NCT00833898', 'NCT01517594', 'NCT01231711', 'NCT06416878', 'NCT02411227', 'NCT02171936', 'NCT01909011', 'NCT00147693', 'NCT06508398', 'NCT05070806', 'NCT02164994', 'NCT01078155', 'NCT05868798', 'NCT03414424', 'NCT04224961', 'NCT04297657', 'NCT03526523', 'NCT06016569', 'NCT02327104', 'NCT03298308', 'NCT05973461', 'NCT04011800', 'NCT05209438', 'NCT05353738', 'NCT01524081', 'NCT02171182', 'NCT04532892', 'NCT05223530', 'NCT06281288', 'NCT02985970', 'NCT05098600', 'NCT06253169', 'NCT00723632', 'NCT04422847', 'NCT04627350', 'NCT05391412', 'NCT06090565', 'NCT02506166', 'NCT05950477']]" +GARD:0000027,"['Cat-scratch disease', 'Bartonellosis due to Bartonella henselae infection']",[],[],"[['NCT03132116', 'NCT01469702']]",[[]] +GARD:0000028,"['Catel-Manzke syndrome', 'Hyperphalangy-clinodactyly of index finger with Pierre Robin syndrome', 'Index finger anomaly-Pierre Robin syndrome', 'Micrognathia digital syndrome', 'Palatodigital syndrome; Catel-Manzke type', 'Pierre Robin sequence-hyperphalangy-clinodactyly syndrome', 'Pierre Robin syndrome-hyperphalangy-clinodactyly syndrome']",[],[],[[]],[[]] +GARD:0000029,"['CHARGE syndrome', 'CHARGE association', 'Coloboma-heart defects-atresia choanae-retardation of growth and development-genitourinary problems-ear abnormalities syndrome', 'Hall-Hittner syndrome']",[],[],"[['NCT03186144', 'NCT04463316', 'NCT06475651', 'NCT01314534', 'NCT05764980']]",[[]] +GARD:0000031,"['Serpiginous choroiditis', 'Geographic helicoid peripapillary choroidopathy']",[],[],"[['NCT00407121', 'NCT00645697']]",[[]] +GARD:0000035,"['Tetrasomy 18p', 'Isochromosome 18p']",[],[],[[]],[[]] +GARD:0000037,"['Partial deletion of the short arm of chromosome 3', 'Partial deletion of chromosome 3p', 'Partial monosomy of chromosome 3p', 'Partial monosomy of the short arm of chromosome 3']",[],[],[[]],[[]] +GARD:0000039,['WT limb-blood syndrome'],[],[],[[]],[[]] +GARD:0000042,"['Tetrasomy 9p', 'Isochromosome 9p']",[],[],[[]],[[]] +GARD:0000043,"['Mosaic trisomy 9', 'Mosaic trisomy chromosome 9', 'Trisomy 9 mosaicism']",[],[],[[]],[[]] +GARD:0000044,"['Haim-Munk syndrome', 'Keratosis palmoplantaris-periodontopathia-onychogryposis syndrome', 'Palmoplantar hyperkeratosis-periodontopathia-onychogryposis syndrome', 'Palmoplantar keratoderma-periodontopathia-onychogryposis syndrome']",[],[],[[]],[[]] +GARD:0000045,"['Congenital varicella syndrome', 'Antenatal varicella virus infection', 'Mother-to-child transmission of varicella syndrome']",[],[],[['NCT05923970']],[[]] +GARD:0000047,"['Crigler-Najjar syndrome type 1', 'Bilirubin uridinediphosphate glucuronosyltransferase deficiency type 1', 'Bilirubin-UGT deficiency type 1']",[],[],"[['NCT05687474', 'NCT02051049', 'NCT00154960', 'NCT02302690', 'NCT04216797', 'NCT00461799', 'NCT03466463', 'NCT03343756', 'NCT00515307', 'NCT01345578', 'NCT01765283', 'NCT03223194', 'NCT03078881', 'NCT06518005', 'NCT02356978', 'NCT00564707']]",[[]] +GARD:0000048,"['Isolated cytochrome C oxidase deficiency', 'Isolated COX deficiency', 'Isolated mitochondrial respiratory chain complex IV deficiency']",[],[],[[]],[[]] +GARD:0000049,"['De Barsy syndrome', 'Cutis laxa-corneal clouding-intellectual disability syndrome', 'Progeroid syndrome; De Barsy type']",[],[],[[]],[[]] +GARD:0000054,['Duodenal atresia'],[],[],"[['NCT03256669', 'NCT06115226', 'NCT04907266', 'NCT06394453', 'NCT05142839', 'NCT02562157', 'NCT03054987', 'NCT04114279', 'NCT03056261', 'NCT03463668']]",[[]] +GARD:0000059,"['Spinocerebellar ataxia type 34', 'Erythrokeratodermia with ataxia', 'Spinocerebellar ataxia and erythrokeratodermia']",['SCA34'],[5],[['NCT01793168']],"[['NCT04591483', 'NCT01793168']]" +GARD:0000060,"['Iridocorneal endothelial syndrome', 'ICE syndrome']",[],[],"[['NCT04025801', 'NCT02020044', 'NCT00800111', 'NCT03270761', 'NCT00001161']]",[[]] +GARD:0000061,"['Femoral-facial syndrome', 'Femoral hypoplasia-unusual facies syndrome']","['FFS', 'FHUFS']","[3, 5]",[[]],"[['NCT01417390', 'NCT01503515', 'NCT01911039', 'NCT05622474', 'NCT00400075', 'NCT01531621', 'NCT03503136', 'NCT04049747', 'NCT03669354', 'NCT02782403', 'NCT00354835', 'NCT03919552', 'NCT00399399', 'NCT01982110', 'NCT02940925', 'NCT05520138', 'NCT05939986', 'NCT02693782', 'NCT01896999', 'NCT05116475', 'NCT06095167', 'NCT00002995', 'NCT04047147', 'NCT03457337', 'NCT05429918', 'NCT03407885', 'NCT05419843', 'NCT02174263', 'NCT03904225', 'NCT00992030', 'NCT02807103', 'NCT05214573', 'NCT05457699', 'NCT02858258', 'NCT01250223', 'NCT00677118', 'NCT04743999', 'NCT01769209', 'NCT02519816', 'NCT02958111', 'NCT02621970', 'NCT02987517', 'NCT06492460', 'NCT05993611', 'NCT04415294', 'NCT02731716', 'NCT00647166', 'NCT04794556', 'NCT02096380', 'NCT00704639', 'NCT02337517', 'NCT02109809', 'NCT05422599', 'NCT02116231', 'NCT03366415', 'NCT01872962', 'NCT02289807', 'NCT05304585', 'NCT03723343', 'NCT02922361', 'NCT03920722', 'NCT01245959', 'NCT06331481', 'NCT02610556', 'NCT02576899', 'NCT02760628', 'NCT05164822', 'NCT06290492', 'NCT00196144', 'NCT00514475', 'NCT03832257', 'NCT02610010', 'NCT00512915', 'NCT02434614', 'NCT06306573', 'NCT02218359', 'NCT05193617', 'NCT01745068', 'NCT02786641', 'NCT03278782', 'NCT02460887', 'NCT00577811']]" +GARD:0000062,"['Filippi syndrome', 'Type 1 syndactyly-microcephaly-intellectual disability syndrome']",[],[],[[]],[[]] +GARD:0000064,"['Fountain syndrome', 'Deafness-skeletal dysplasia-coarse face with full lips syndrome', 'Deafness-skeletal dysplasia-lip granuloma syndrome', 'Hearing loss-skeletal dysplasia-coarse face with full lips syndrome', 'Hearing loss-skeletal dysplasia-lip granuloma syndrome']",[],[],[[]],[[]] +GARD:0000065,"['Galloway-Mowat syndrome', 'Galloway syndrome', 'Microcephaly-hiatus hernia-nephrotic syndrome', 'Nephrosis-neuronal dysmigration syndrome']",[],[],[[]],[[]] +GARD:0000066,"['Gorlin-Chaudhry-Moss syndrome', 'Craniofacial dysostosis-genital; dental; cardiac anomalies syndrome', 'Cranofacial dysostosis-hypertrichosis-hypoplasia of labia majora syndrome', 'Dental and eye anomalies-patent ductus arteriosus-normal intelligence syndrome', 'GCM syndrome']",[],[],[[]],[[]] +GARD:0000068,"['Hypoglossia-hypodactyly syndrome', 'Aglossia-adactylia syndrome', 'Hanhart syndrome', 'Jussieu syndrome']",[],[],[[]],[[]] +GARD:0000069,['Hantavirus pulmonary syndrome'],[],[],"[['NCT05415904', 'NCT04323904', 'NCT04020536', 'NCT03682107', 'NCT01502345', 'NCT00868946', 'NCT03718130', 'NCT02116205', 'NCT02455375', 'NCT00001123', 'NCT00623168', 'NCT00533767', 'NCT04834713', 'NCT04333459', 'NCT04375098', 'NCT00128180', 'NCT04338672', 'NCT06009042']]",[[]] +GARD:0000070,"['Kasabach-Merritt syndrome', 'Hemangioma-thrombocytopenia syndrome']",[],[],"[['NCT04775173', 'NCT04448873', 'NCT04056962', 'NCT02110069', 'NCT00576888', 'NCT04598204', 'NCT05324384', 'NCT03188068', 'NCT05351216', 'NCT04077515', 'NCT04409691']]",[[]] +GARD:0000073,"['X-linked hyper-IgM syndrome', 'Hyper-IgM syndrome due to CD40 ligand deficiency', 'Hyper-IgM syndrome due to CD40L deficiency', 'Hyper-IgM syndrome type 1']","['HIGM1', 'XHIGM']","[5, 5]","[['NCT01652092', 'NCT00266513', 'NCT00006054', 'NCT00001244', 'NCT00004341', 'NCT01998633', 'NCT00634569', 'NCT06092346', 'NCT01963143', 'NCT03965260', 'NCT03383380', 'NCT00006319', 'NCT01289847', 'NCT00730314', 'NCT01884311', 'NCT00001145']]","[['NCT00982358', 'NCT01774838', 'NCT00053391', 'NCT00730314', 'NCT00513149', 'NCT06092346', 'NCT00302809', 'NCT01604031', 'NCT00020540', 'NCT00006054', 'NCT03759262', 'NCT06169007', 'NCT01998633', 'NCT03329950', 'NCT00056134', 'NCT00006319', 'NCT00078520', 'NCT00840931', 'NCT00579306', 'NCT00322959', 'NCT00466050', 'NCT00320164', 'NCT02789670', 'NCT01257880', 'NCT00634569', 'NCT03110445', 'NCT03333486', 'NCT00004341', 'NCT03965260', 'NCT05502887', 'NCT01162824', 'NCT01652092', 'NCT00008749', 'NCT05733598', 'NCT02097199', 'NCT01422317', 'NCT00058786', 'NCT05059431', 'NCT00328887', 'NCT02320357', 'NCT00001145', 'NCT01812200', 'NCT05076760', 'NCT06305286', 'NCT00504322', 'NCT02140996', 'NCT00266513', 'NCT01289847', 'NCT00005970', 'NCT02123004', 'NCT01963143', 'NCT00063856', 'NCT03383380', 'NCT00058799', 'NCT00001789', 'NCT03480568', 'NCT03288623', 'NCT04630132', 'NCT04329377', 'NCT00019591', 'NCT01276678', 'NCT04859218', 'NCT01112137', 'NCT01741324', 'NCT02974192', 'NCT00224354', 'NCT00458679', 'NCT05743270', 'NCT04322149', 'NCT04080453', 'NCT01541319', 'NCT01884311', 'NCT00441844', 'NCT04735978', 'NCT00001244', 'NCT04703647', 'NCT01530698', 'NCT02533596', 'NCT06312852', 'NCT04420013', 'NCT00006113']]" +GARD:0000076,"['Hypohidrotic ectodermal dysplasia', 'Anhidrotic ectodermal dysplasia']",['HED'],[3],"[['NCT01308333', 'NCT01992289', 'NCT01386775', 'NCT02099552', 'NCT04938622', 'NCT01293565', 'NCT04980638', 'NCT01398813', 'NCT04741412', 'NCT01629940', 'NCT01398397', 'NCT01871714', 'NCT03912792', 'NCT04223167', 'NCT05378932', 'NCT01629927', 'NCT01135888', 'NCT01109290', 'NCT01775462', 'NCT01342133', 'NCT01108770', 'NCT01564225']]","[['NCT01246037', 'NCT03344159', 'NCT01992289', 'NCT02669563', 'NCT01847300', 'NCT02184013', 'NCT06147206', 'NCT04549454', 'NCT01386775', 'NCT05263271', 'NCT03996460', 'NCT02099552', 'NCT05802472', 'NCT01293565', 'NCT04980638', 'NCT03339986', 'NCT01398813', 'NCT06019481', 'NCT04027426', 'NCT02899910', 'NCT04741412', 'NCT01629940', 'NCT02372188', 'NCT04416711', 'NCT01871714', 'NCT01398397', 'NCT04579068', 'NCT05453539', 'NCT05378932', 'NCT03769883', 'NCT03337438', 'NCT02216669', 'NCT01629927', 'NCT04027608', 'NCT00756366', 'NCT02116140', 'NCT05372042', 'NCT01851603', 'NCT01135888', 'NCT04783519', 'NCT04774770', 'NCT04089137', 'NCT00586183', 'NCT01648790', 'NCT01109290', 'NCT02932241', 'NCT03191682', 'NCT02481206', 'NCT01775462', 'NCT02404480', 'NCT06094933', 'NCT04535193', 'NCT06436586', 'NCT01108770', 'NCT03076489', 'NCT01564225', 'NCT01197352']]" +GARD:0000079,"['Metaphyseal chondrodysplasia, Jansen type']",[],[],[['NCT01793168']],[[]] +GARD:0000080,['Johanson-Blizzard syndrome'],['JBS'],[3],[[]],"[['NCT02902731', 'NCT04671823', 'NCT01114399', 'NCT04463316']]" +GARD:0000081,"['Intellectual developmental disorder, x-linked, syndromic, turner type', 'mental retardation and macrocephaly syndrome', 'mental retardation; x-linked; with growth retardation; deafness; and microgenitalism', 'juberg-marsidi syndrome', 'mental retardation; x-linked; syndromic; brooks-wisniewski-brown type', 'Mental retardation; x-linked; syndromic; turner type', 'brooks-wisniewski-brown syndrome']",[],[],[['NCT01238250']],[[]] +GARD:0000082,"['KBG syndrome', 'Short stature-facial and skeletal anomalies-intellectual disability-macrodontia syndrome']",[],[],[['NCT06465641']],[[]] +GARD:0000083,['Autosomal dominant Kenny-Caffey syndrome'],[],[],[[]],[[]] +GARD:0000084,"['Lipodystrophy, congenital generalized, type 1', 'lipodystrophy; berardinelli-seip congenital; type 1', 'Berardinelli-seip congenital lipodystrophy; type 1', 'brunzell syndrome; agpat2-related']",[],[],[[]],[[]] +GARD:0000085,['Thanatophoric dysplasia'],['TD'],[2],"[['NCT05426226', 'NCT05437913', 'NCT02660008', 'NCT02204397']]","[['NCT06525948', 'NCT06051838', 'NCT04618939', 'NCT01467089', 'NCT00241878', 'NCT05857410', 'NCT05916339', 'NCT00164242', 'NCT02918825', 'NCT02766491', 'NCT04522518', 'NCT03345329', 'NCT05108636', 'NCT01033877', 'NCT03785327', 'NCT02518139', 'NCT02215863', 'NCT02512510', 'NCT06155526', 'NCT06122870', 'NCT02637271', 'NCT05045729', 'NCT06144775', 'NCT06107829', 'NCT02996669', 'NCT05518799', 'NCT05652738', 'NCT01618591', 'NCT01593514', 'NCT04301674', 'NCT02673255', 'NCT00672373', 'NCT01547000', 'NCT01372514', 'NCT02736955', 'NCT00457249', 'NCT05730478', 'NCT04752384', 'NCT02123654', 'NCT01142089', 'NCT05520749', 'NCT02097849', 'NCT05982912', 'NCT05332912', 'NCT05663580', 'NCT02035033', 'NCT03062033', 'NCT06332144', 'NCT04182828', 'NCT04900519', 'NCT06111898', 'NCT06413316', 'NCT05717699', 'NCT02519686', 'NCT03468959', 'NCT03629288', 'NCT05047705', 'NCT02940496', 'NCT04587557', 'NCT04633473', 'NCT00190008', 'NCT03970980', 'NCT03665415', 'NCT04791124', 'NCT03905551', 'NCT01798563', 'NCT06092333', 'NCT00164411', 'NCT02035176', 'NCT03495024', 'NCT02864589', 'NCT04436432', 'NCT04357951', 'NCT01465087', 'NCT01267188', 'NCT05447299', 'NCT03712072', 'NCT02850666', 'NCT02898298', 'NCT06073522', 'NCT03498300', 'NCT02485587', 'NCT05650775', 'NCT05649930', 'NCT05089981', 'NCT03891862', 'NCT02332408', 'NCT06169163', 'NCT04291963', 'NCT05480462', 'NCT00349115', 'NCT03373890', 'NCT04207021', 'NCT03351530', 'NCT05480917', 'NCT01040325', 'NCT02517333', 'NCT02316145', 'NCT03299309', 'NCT03635112', 'NCT04999228', 'NCT04026295', 'NCT06205160', 'NCT02225327', 'NCT06001866', 'NCT03006744', 'NCT04465916', 'NCT01738477', 'NCT05846815', 'NCT06103539', 'NCT05844514', 'NCT01804920', 'NCT05096481', 'NCT00601835', 'NCT02488226', 'NCT05698199', 'NCT05950230', 'NCT05506228', 'NCT06124742', 'NCT03532581', 'NCT06160193', 'NCT02882698', 'NCT03536351', 'NCT01993173', 'NCT03615404', 'NCT01103401', 'NCT02487186', 'NCT01868334', 'NCT02366728', 'NCT04246112', 'NCT05197764', 'NCT01277705', 'NCT00885040', 'NCT00287820', 'NCT05314920', 'NCT05313503', 'NCT01721473', 'NCT05677282', 'NCT05480943', 'NCT01339000', 'NCT04889300', 'NCT04265924', 'NCT00707148', 'NCT03656601', 'NCT05082727', 'NCT00328380', 'NCT03418038', 'NCT02719067', 'NCT00524732', 'NCT03039491', 'NCT01314326', 'NCT04773626', 'NCT03225430', 'NCT04117464', 'NCT05696769', 'NCT03002285', 'NCT05609994', 'NCT03353623', 'NCT03001570', 'NCT02837172', 'NCT02689570', 'NCT02716428', 'NCT01294605', 'NCT00416091', 'NCT03538808', 'NCT05996575', 'NCT00001535', 'NCT05185128', 'NCT03352440', 'NCT05127993', 'NCT03688178', 'NCT00118313', 'NCT03438994', 'NCT01418352', 'NCT01702194', 'NCT00128219', 'NCT05776199', 'NCT01439165', 'NCT04456036', 'NCT02527499', 'NCT03495440', 'NCT00303368', 'NCT01521299', 'NCT06387004', 'NCT04245306', 'NCT03554668', 'NCT03400033', 'NCT02625441', 'NCT06069271', 'NCT02682355', 'NCT00705692', 'NCT02145715', 'NCT03002298', 'NCT05764993', 'NCT04710732', 'NCT02578082', 'NCT02105155', 'NCT00651989', 'NCT00109330', 'NCT06512649', 'NCT02193347', 'NCT02529072', 'NCT03434080', 'NCT02851823', 'NCT02647632', 'NCT01391390', 'NCT05268341', 'NCT01075581', 'NCT02454413', 'NCT00392093', 'NCT04432974', 'NCT06152510', 'NCT01757288', 'NCT02864368', 'NCT04054921', 'NCT02567630', 'NCT02946190', 'NCT00686140', 'NCT06440109', 'NCT01059474', 'NCT06187753', 'NCT04811339', 'NCT01592708', 'NCT03688516', 'NCT03396575', 'NCT05936372', 'NCT06517875', 'NCT03271671', 'NCT06004791', 'NCT05727020', 'NCT05133037', 'NCT03315624', 'NCT00400309', 'NCT05761834', 'NCT03698331', 'NCT01688037', 'NCT00837707', 'NCT05717712', 'NCT05079490', 'NCT04628715', 'NCT00742469', 'NCT05077137', 'NCT00114595', 'NCT04558541', 'NCT01378455', 'NCT02563145', 'NCT06284395', 'NCT05615220', 'NCT03063736', 'NCT01752790', 'NCT03508245', 'NCT06164821', 'NCT04289740', 'NCT04071574', 'NCT01953081', 'NCT06388343', 'NCT03535272', 'NCT00695812', 'NCT03425669', 'NCT04303078', 'NCT03661983', 'NCT02716376', 'NCT05421689', 'NCT03214068', 'NCT00575653', 'NCT02247986', 'NCT04963413', 'NCT04559776', 'NCT02439398', 'NCT02128230', 'NCT03564132', 'NCT04996472', 'NCT02757599', 'NCT00959075', 'NCT03535779', 'NCT04599530', 'NCT02498301', 'NCT03844087', 'NCT02783170', 'NCT05503459', 'NCT02405091', 'NCT00310661', 'NCT05098392', 'NCT02459080', 'NCT05609149', 'NCT04675385', 'NCT06099457', 'NCT02680522', 'NCT01557673', 'NCT04143724', 'NCT02394470', 'NCT06026124', 'NCT01262924', 'NCT06156865', 'NCT02064010', 'NCT01898793', 'NCT00751777', 'NCT04277390', 'NCT05942716', 'NCT01273285', 'NCT03813238', 'NCT00707460', 'NCT00621634', 'NCT05209204', 'NCT03845959', 'NCT03736213', 'NCT00953823', 'NCT02584972', 'NCT03176771', 'NCT00241176', 'NCT06002100', 'NCT01733121', 'NCT02155894', 'NCT03303547', 'NCT00209027', 'NCT01267058', 'NCT01585207', 'NCT03927222', 'NCT02548442', 'NCT03888664', 'NCT02626689', 'NCT05859698', 'NCT02233348', 'NCT05891249', 'NCT04621851', 'NCT02340962', 'NCT00255879', 'NCT00837616', 'NCT06127030', 'NCT03254992', 'NCT03589768', 'NCT02772159', 'NCT04322734', 'NCT05953545', 'NCT05294705', 'NCT02439476', 'NCT03222167', 'NCT05470088', 'NCT01524380', 'NCT00442832', 'NCT00536120', 'NCT02726646', 'NCT01005849', 'NCT03383653', 'NCT04838496', 'NCT02193854', 'NCT02977546', 'NCT03239210', 'NCT02274558', 'NCT01746563', 'NCT03525951', 'NCT06035666', 'NCT02209623', 'NCT01908452', 'NCT01912378', 'NCT06135636', 'NCT04074382', 'NCT06493786', 'NCT00033787', 'NCT00926965', 'NCT03287778', 'NCT04833426', 'NCT03497013', 'NCT02755051', 'NCT03916055', 'NCT01035996', 'NCT00352339', 'NCT02818205', 'NCT01674621', 'NCT05053321', 'NCT01287949', 'NCT04219280', 'NCT04570904', 'NCT04250454', 'NCT03729219', 'NCT01621672', 'NCT01338688', 'NCT03885648', 'NCT02988557', 'NCT00993681', 'NCT04531514', 'NCT03609502', 'NCT01134484', 'NCT01682915', 'NCT01559012', 'NCT02000284', 'NCT02579109', 'NCT05923450', 'NCT05382858', 'NCT06491875', 'NCT00097175', 'NCT02527356', 'NCT01744795', 'NCT04607538', 'NCT05325333', 'NCT05721456', 'NCT06438432', 'NCT03817710', 'NCT05444387', 'NCT00289861', 'NCT02301702', 'NCT02839369', 'NCT02838316', 'NCT03552445', 'NCT00807833', 'NCT04908969', 'NCT00061633', 'NCT03807622', 'NCT06228885', 'NCT04879199', 'NCT05461001', 'NCT06330922', 'NCT03054441', 'NCT03802201', 'NCT04890717', 'NCT02725619', 'NCT05691842', 'NCT04607824', 'NCT04878302', 'NCT04389931', 'NCT06176976', 'NCT00938054', 'NCT04427150', 'NCT03254186', 'NCT02279654', 'NCT00004735', 'NCT04425109', 'NCT05924100', 'NCT06514898', 'NCT03690843', 'NCT02576925', 'NCT03934879']]" +GARD:0000086,['Chudley-McCullough syndrome'],[],[],[[]],[[]] +GARD:0000087,"['Microphthalmia, Lenz type', 'Lenz microphthalmia']",[],[],[['NCT00011843']],[[]] diff --git a/RDAS_CTKG_REMAKE/acronym_test_expansion_concept_new_trials.csv b/RDAS_CTKG_REMAKE/acronym_test_expansion_concept_new_trials.csv new file mode 100644 index 0000000..1535811 --- /dev/null +++ b/RDAS_CTKG_REMAKE/acronym_test_expansion_concept_new_trials.csv @@ -0,0 +1,51 @@ +GARD,ORIG_TERMS,ACRONYM DETECT,ACRONYM_LEN,FILTERED_TRIALS,ACRO_ONLY_TRIALS,isLarger,NEW_TRIALS +GARD:0000001,"['GRACILE syndrome', 'Fellman disease', 'Growth restriction-aminoaciduria-cholestasis-iron overload-lactic acidosis-early death syndrome']",[],[],[[]],[[]],same size,[] +GARD:0000003,['Ablepharon macrostomia syndrome'],[],[],[[]],[[]],same size,[] +GARD:0000005,"['Abetalipoproteinemia', 'Bassen-Kornzweig disease', 'Homozygous familial hypobetalipoproteinemia']",[],[],"[['NCT01463735', 'NCT02435940', 'NCT00007228', 'NCT00004574', 'NCT05208879']]",[[]],concept,"['NCT01463735', 'NCT00007228']" +GARD:0000006,['Acromesomelic dysplasia'],[],[],[[]],[[]],same size,[] +GARD:0000007,['Acromicric dysplasia'],[],[],[[]],[[]],same size,[] +GARD:0000011,['Alternating hemiplegia of childhood'],['AHC'],[3],"[['NCT03857607', 'NCT06248645', 'NCT00682513', 'NCT06007521', 'NCT00931164', 'NCT04020848', 'NCT02408354', 'NCT06153186', 'NCT04944927', 'NCT04513002']]","[['NCT04020848', 'NCT03674164', 'NCT02408354', 'NCT04701242', 'NCT04944927', 'NCT00485186', 'NCT03331952', 'NCT06019988', 'NCT06248645', 'NCT03857555', 'NCT00931164', 'NCT06128655', 'NCT03601793', 'NCT06073301', 'NCT06490757', 'NCT03857607', 'NCT03206775', 'NCT02409537', 'NCT00682513', 'NCT03885401', 'NCT01289652', 'NCT05042934', 'NCT03900689', 'NCT05661318', 'NCT06007521', 'NCT02977026']]",same size,[] +GARD:0000012,"['Hypersensitivity pneumonitis', 'Extrinsic allergic alveolitis']",[],[],"[['NCT05727852', 'NCT05776537', 'NCT03670576', 'NCT03873649', 'NCT04844359', 'NCT01237145', 'NCT04896138', 'NCT01961362', 'NCT05365802', 'NCT04016181', 'NCT01935726', 'NCT05549635', 'NCT01687946', 'NCT05635032', 'NCT06134947', 'NCT05445817', 'NCT05449431', 'NCT04982809', 'NCT01487850', 'NCT05458635', 'NCT03300583', 'NCT03800017', 'NCT06125288', 'NCT03836417', 'NCT03678519', 'NCT04561479', 'NCT03030807', 'NCT04961944', 'NCT02883920', 'NCT04402177', 'NCT05988437', 'NCT05704218', 'NCT02631603', 'NCT01624753', 'NCT06038630', 'NCT02705144', 'NCT05455437', 'NCT05723796', 'NCT02571582', 'NCT02958917', 'NCT03056404', 'NCT04675619', 'NCT04879082', 'NCT04677426', 'NCT03747627', 'NCT02596347', 'NCT02523833', 'NCT05842681', 'NCT02496182', 'NCT04273867', 'NCT05626387', 'NCT05450276', 'NCT05392881']]",[[]],concept,"['NCT03678519', 'NCT05842681', 'NCT02631603']" +GARD:0000013,"['Aniridia-cerebellar ataxia-intellectual disability syndrome', 'Gillespie syndrome']",[],[],[['NCT05390801']],[[]],same size,[] +GARD:0000016,"['Ocular motor apraxia, Cogan type', 'Oculomotor apraxia; Cogan type']",[],[],[[]],[[]],same size,[] +GARD:0000017,['Arachnoid cyst'],[],[],"[['NCT02482181', 'NCT05639491', 'NCT03656016', 'NCT01391702', 'NCT05726201', 'NCT04158284', 'NCT00011245', 'NCT04569201', 'NCT04046523', 'NCT04249921', 'NCT06352931', 'NCT03485612']]",[[]],concept,"['NCT05639491', 'NCT04158284', 'NCT05726201', 'NCT06352931', 'NCT02482181', 'NCT00011245']" +GARD:0000019,"['Dihydropyrimidine dehydrogenase deficiency', 'Familial pyrimidinemia']",[],[],"[['NCT02324452', 'NCT04541381', 'NCT06475352', 'NCT00130936', 'NCT04918264', 'NCT06092346', 'NCT00126867', 'NCT01224730', 'NCT04269369', 'NCT04194957', 'NCT00131599', 'NCT06245356', 'NCT00953537', 'NCT01547923']]",[[]],concept,"['NCT04918264', 'NCT01547923', 'NCT01224730', 'NCT04269369', 'NCT02324452', 'NCT00126867', 'NCT00131599', 'NCT04194957', 'NCT00953537', 'NCT06475352', 'NCT00130936']" +GARD:0000022,"['Björnstad syndrome', 'Deafness-pili torti-hypogonadism syndrome', 'Hearing loss-pili torti-hypogonadism syndrome']",[],[],[[]],[[]],same size,[] +GARD:0000023,['Blepharophimosis-ptosis-epicanthus inversus syndrome'],['BPES'],[4],[[]],[['NCT05358002']],same size,[] +GARD:0000026,['Cat-eye syndrome'],['CES'],[3],[['NCT03174028']],"[['NCT03068988', 'NCT05527964', 'NCT05627986', 'NCT01222481', 'NCT01550640', 'NCT02901080', 'NCT05733234', 'NCT05005624', 'NCT01315938', 'NCT01963767', 'NCT03881956', 'NCT03450135', 'NCT05612828', 'NCT01842828', 'NCT05990595', 'NCT04579445', 'NCT00636779', 'NCT02548065', 'NCT06426030', 'NCT03076632', 'NCT00178373', 'NCT06274489', 'NCT02380586', 'NCT04598386', 'NCT04839887', 'NCT00286091', 'NCT02146586', 'NCT05547984', 'NCT03592732', 'NCT02382185', 'NCT03068780', 'NCT06044896', 'NCT01843608', 'NCT03338387', 'NCT00886730', 'NCT05881122', 'NCT02203734', 'NCT05384041', 'NCT01222598', 'NCT05397873', 'NCT01839864', 'NCT03784001', 'NCT03904771', 'NCT02898233', 'NCT01860677', 'NCT03839290', 'NCT04679792', 'NCT03369418', 'NCT01628315', 'NCT03320109', 'NCT04663555', 'NCT02353286', 'NCT03969355', 'NCT02813447', 'NCT00659295', 'NCT04503369', 'NCT05310162', 'NCT06330441', 'NCT03094013', 'NCT01803984', 'NCT05036148', 'NCT03792399', 'NCT05832710', 'NCT05852704', 'NCT00614549', 'NCT06047678', 'NCT05860387', 'NCT02806167', 'NCT04208308', 'NCT01830218', 'NCT02754973', 'NCT02546843', 'NCT01244087', 'NCT03389568', 'NCT02521480', 'NCT03978286', 'NCT01335685', 'NCT03206671', 'NCT03057184', 'NCT06203717', 'NCT06034496', 'NCT03052335', 'NCT03182556', 'NCT05351359', 'NCT00532532', 'NCT04016259', 'NCT05387434', 'NCT01825915', 'NCT04627480', 'NCT03501758', 'NCT03299803', 'NCT03811132', 'NCT04483843', 'NCT01488942', 'NCT04567797', 'NCT00729625', 'NCT00670722', 'NCT06211049', 'NCT04870736', 'NCT05483374', 'NCT04213495', 'NCT01269749', 'NCT03411863', 'NCT01130883', 'NCT04836039', 'NCT04587531', 'NCT03593070', 'NCT00013845', 'NCT00653497', 'NCT05126511', 'NCT03199066', 'NCT02730988', 'NCT05359380', 'NCT02275130', 'NCT02979782', 'NCT00268827', 'NCT02510898', 'NCT05249062', 'NCT02163967', 'NCT06493695', 'NCT00656955', 'NCT04867265', 'NCT02419014', 'NCT04585685', 'NCT03473938', 'NCT04698226', 'NCT05270278', 'NCT04853693', 'NCT01993277', 'NCT00928720', 'NCT03927885', 'NCT04438018', 'NCT03367936', 'NCT02960321', 'NCT03214627', 'NCT04739696', 'NCT03531346', 'NCT06045455', 'NCT03133611', 'NCT05578560', 'NCT06426940', 'NCT03995914', 'NCT01997008', 'NCT04221347', 'NCT03963687', 'NCT05418725', 'NCT05438862', 'NCT02677077', 'NCT05337397', 'NCT02303145', 'NCT02461654', 'NCT03689543', 'NCT05762003', 'NCT06395597', 'NCT01108887', 'NCT01583933', 'NCT05159492', 'NCT01265797', 'NCT03522636', 'NCT04427163', 'NCT00390637', 'NCT03298178', 'NCT03222752', 'NCT06468020', 'NCT02087098', 'NCT02222025', 'NCT01953757', 'NCT05382832', 'NCT01036490', 'NCT05661617', 'NCT06270979', 'NCT05647590', 'NCT05501275', 'NCT02606045', 'NCT03983252', 'NCT06431945', 'NCT05211401', 'NCT04876144', 'NCT01055665', 'NCT02732561', 'NCT03008954', 'NCT04153474', 'NCT04874740', 'NCT05799911', 'NCT04963907', 'NCT05923723', 'NCT01075880', 'NCT04226313', 'NCT05629780', 'NCT02549495', 'NCT04415788', 'NCT03852225', 'NCT01783652', 'NCT04422964', 'NCT02419638', 'NCT05891873', 'NCT00005498', 'NCT02494297', 'NCT01886846', 'NCT01232907', 'NCT00248924', 'NCT04734574', 'NCT00558220', 'NCT00339859', 'NCT06499623', 'NCT03927872', 'NCT03514355', 'NCT04910243', 'NCT04569396', 'NCT00919022', 'NCT04776681', 'NCT02468349', 'NCT06326151', 'NCT05373667', 'NCT01819454', 'NCT01570517', 'NCT03332043', 'NCT00817739', 'NCT03540745', 'NCT01561313', 'NCT04443621', 'NCT04180683', 'NCT04602507', 'NCT00600860', 'NCT02436785', 'NCT01400997', 'NCT00145288', 'NCT04776668', 'NCT00012831', 'NCT00866411', 'NCT01614665', 'NCT05460845', 'NCT06103448', 'NCT05968911', 'NCT05864495', 'NCT05801497', 'NCT01690962', 'NCT01560312', 'NCT04639752', 'NCT00385528', 'NCT04126564', 'NCT02518178', 'NCT05547113', 'NCT03198156', 'NCT04682197', 'NCT04102696', 'NCT04828200', 'NCT03247894', 'NCT02453347', 'NCT05009108', 'NCT05885893', 'NCT05832749', 'NCT00994279', 'NCT01795131', 'NCT02682914', 'NCT01277471', 'NCT05726695', 'NCT00958698', 'NCT03277274', 'NCT04808258', 'NCT04254198', 'NCT03881592', 'NCT00537316', 'NCT04557982', 'NCT03433079', 'NCT03750032', 'NCT05785884', 'NCT04546035', 'NCT05594485', 'NCT01734954', 'NCT04393480', 'NCT03268954', 'NCT04103086', 'NCT01973283', 'NCT04533165', 'NCT03115970', 'NCT01533415', 'NCT06409468', 'NCT03322995', 'NCT02727894', 'NCT06267287', 'NCT03757494', 'NCT03700918', 'NCT04465136', 'NCT06029257', 'NCT02847728', 'NCT04167423', 'NCT00495768', 'NCT04256811', 'NCT04913103', 'NCT01949961', 'NCT01327001', 'NCT04879251', 'NCT04779775', 'NCT02849613', 'NCT05533151', 'NCT05950009', 'NCT03777267', 'NCT03171116', 'NCT02467270', 'NCT00138437', 'NCT02174003', 'NCT04751864', 'NCT00746668', 'NCT02614144', 'NCT03811808', 'NCT05380843', 'NCT01592474', 'NCT00539357', 'NCT01487304', 'NCT03325374', 'NCT01279577', 'NCT04228237', 'NCT05554458', 'NCT05304052', 'NCT01552395', 'NCT05792475', 'NCT04115332', 'NCT06022640', 'NCT04700696', 'NCT05922007', 'NCT02998749', 'NCT00379522', 'NCT00831935', 'NCT05012241', 'NCT05291897', 'NCT00248872', 'NCT04676945', 'NCT06066658', 'NCT00403455', 'NCT02844452', 'NCT00554489', 'NCT00928772', 'NCT03385564', 'NCT05925231', 'NCT06124014', 'NCT06497959', 'NCT04626037', 'NCT04115033', 'NCT04339816', 'NCT01923051', 'NCT02118857', 'NCT02962843', 'NCT02391766', 'NCT05009121', 'NCT03222479', 'NCT01877746', 'NCT03273894', 'NCT02067806', 'NCT02087631', 'NCT04173494', 'NCT04423952', 'NCT03296787', 'NCT05795166', 'NCT00729118', 'NCT04030078', 'NCT04910282', 'NCT05698862', 'NCT01325532', 'NCT04617392', 'NCT02506309', 'NCT00820755', 'NCT01294020', 'NCT02037568', 'NCT04907331', 'NCT03264248', 'NCT04695665', 'NCT04685785', 'NCT03049943', 'NCT02846740', 'NCT03011775', 'NCT04181320', 'NCT00227877', 'NCT04069182', 'NCT05701228', 'NCT01232673', 'NCT03805152', 'NCT04942171', 'NCT05083221', 'NCT00665782', 'NCT01461798', 'NCT03825471', 'NCT05402280', 'NCT02979379', 'NCT04193306', 'NCT03876652', 'NCT00587769', 'NCT01271803', 'NCT00598780', 'NCT01233245', 'NCT01523561', 'NCT06242080', 'NCT03071692', 'NCT02469623', 'NCT01394107', 'NCT00230945', 'NCT04502992', 'NCT05394883', 'NCT02821351', 'NCT03898453', 'NCT06036472', 'NCT05309031', 'NCT01212224', 'NCT04148508', 'NCT02890615', 'NCT03174028', 'NCT02778139', 'NCT02509273', 'NCT04423146', 'NCT05466773', 'NCT04144257', 'NCT04967677', 'NCT05841368', 'NCT00057447', 'NCT00823147', 'NCT03439293', 'NCT04133610', 'NCT05063851', 'NCT06342232', 'NCT05603351', 'NCT01652690', 'NCT05578833', 'NCT01282658', 'NCT01277432', 'NCT02833129', 'NCT03301376', 'NCT02159885', 'NCT03551964', 'NCT04332731', 'NCT05843357', 'NCT04706156', 'NCT05653934', 'NCT00031720', 'NCT05667168', 'NCT01235455', 'NCT03737890', 'NCT05774561', 'NCT04143503', 'NCT04401085', 'NCT06104410', 'NCT05576090', 'NCT04086615', 'NCT00680927', 'NCT03575702', 'NCT02845830', 'NCT05469568', 'NCT04293848', 'NCT02762734', 'NCT03809312', 'NCT04574622', 'NCT03566615', 'NCT00569309', 'NCT02515916', 'NCT02119494', 'NCT05943912', 'NCT05887713', 'NCT00172549', 'NCT02831608', 'NCT04973501', 'NCT00915421', 'NCT03230786', 'NCT02030522', 'NCT05341453', 'NCT00606801', 'NCT06109337', 'NCT04091399', 'NCT01607749', 'NCT00712660', 'NCT05638022', 'NCT06167330', 'NCT03705988', 'NCT02360137', 'NCT03033836', 'NCT03277846', 'NCT02688400', 'NCT01282918', 'NCT03074734', 'NCT00499668', 'NCT04001322', 'NCT02690896', 'NCT01287975', 'NCT02944136', 'NCT01885780', 'NCT06226831', 'NCT06364631', 'NCT05010993', 'NCT05178277', 'NCT02098382', 'NCT04043494', 'NCT03992781', 'NCT03582878', 'NCT01167725', 'NCT02057081', 'NCT00536055', 'NCT04785547', 'NCT04758481', 'NCT04145726', 'NCT03325699', 'NCT04429919', 'NCT04552652', 'NCT03210155', 'NCT01851564', 'NCT01217463', 'NCT04160910', 'NCT05811429', 'NCT01422174', 'NCT00723008', 'NCT05791981', 'NCT05781347', 'NCT03344562', 'NCT04171947', 'NCT01072032', 'NCT06071000', 'NCT03060122', 'NCT05450588', 'NCT04078815', 'NCT06154564', 'NCT01935310', 'NCT04770181', 'NCT02596126', 'NCT03150095', 'NCT04912791', 'NCT02842229', 'NCT03277430', 'NCT02750085', 'NCT05788419', 'NCT05092854', 'NCT03258645', 'NCT05041881', 'NCT02620319', 'NCT05522140', 'NCT04184986', 'NCT00223756', 'NCT06233344', 'NCT03031236', 'NCT02992587', 'NCT04191538', 'NCT04006327', 'NCT00950911', 'NCT01055977', 'NCT02215551', 'NCT03000985', 'NCT00094133', 'NCT05446363', 'NCT04589364', 'NCT00279526', 'NCT00902330', 'NCT00875485', 'NCT03230890', 'NCT05096962', 'NCT00833898', 'NCT01517594', 'NCT01231711', 'NCT06416878', 'NCT02411227', 'NCT02171936', 'NCT01909011', 'NCT00147693', 'NCT06508398', 'NCT05070806', 'NCT02164994', 'NCT01078155', 'NCT05868798', 'NCT03414424', 'NCT04224961', 'NCT04297657', 'NCT03526523', 'NCT06016569', 'NCT02327104', 'NCT03298308', 'NCT05973461', 'NCT04011800', 'NCT05209438', 'NCT05353738', 'NCT01524081', 'NCT02171182', 'NCT04532892', 'NCT05223530', 'NCT06281288', 'NCT02985970', 'NCT05098600', 'NCT06253169', 'NCT00723632', 'NCT04422847', 'NCT04627350', 'NCT05391412', 'NCT06090565', 'NCT02506166', 'NCT05950477']]",same size,[] +GARD:0000027,"['Cat-scratch disease', 'Bartonellosis due to Bartonella henselae infection']",[],[],"[['NCT03132116', 'NCT01469702']]",[[]],same size,[] +GARD:0000028,"['Catel-Manzke syndrome', 'Hyperphalangy-clinodactyly of index finger with Pierre Robin syndrome', 'Index finger anomaly-Pierre Robin syndrome', 'Micrognathia digital syndrome', 'Palatodigital syndrome; Catel-Manzke type', 'Pierre Robin sequence-hyperphalangy-clinodactyly syndrome', 'Pierre Robin syndrome-hyperphalangy-clinodactyly syndrome']",[],[],[[]],[[]],same size,[] +GARD:0000029,"['CHARGE syndrome', 'CHARGE association', 'Coloboma-heart defects-atresia choanae-retardation of growth and development-genitourinary problems-ear abnormalities syndrome', 'Hall-Hittner syndrome']",[],[],"[['NCT03186144', 'NCT04463316', 'NCT06475651', 'NCT01314534', 'NCT05764980']]",[[]],same size,[] +GARD:0000031,"['Serpiginous choroiditis', 'Geographic helicoid peripapillary choroidopathy']",[],[],"[['NCT00407121', 'NCT00645697']]",[[]],same size,[] +GARD:0000035,"['Tetrasomy 18p', 'Isochromosome 18p']",[],[],[[]],[[]],same size,[] +GARD:0000037,"['Partial deletion of the short arm of chromosome 3', 'Partial deletion of chromosome 3p', 'Partial monosomy of chromosome 3p', 'Partial monosomy of the short arm of chromosome 3']",[],[],[[]],[[]],same size,[] +GARD:0000039,['WT limb-blood syndrome'],[],[],[[]],[[]],same size,[] +GARD:0000042,"['Tetrasomy 9p', 'Isochromosome 9p']",[],[],[[]],[[]],same size,[] +GARD:0000043,"['Mosaic trisomy 9', 'Mosaic trisomy chromosome 9', 'Trisomy 9 mosaicism']",[],[],[[]],[[]],same size,[] +GARD:0000044,"['Haim-Munk syndrome', 'Keratosis palmoplantaris-periodontopathia-onychogryposis syndrome', 'Palmoplantar hyperkeratosis-periodontopathia-onychogryposis syndrome', 'Palmoplantar keratoderma-periodontopathia-onychogryposis syndrome']",[],[],[[]],[[]],same size,[] +GARD:0000045,"['Congenital varicella syndrome', 'Antenatal varicella virus infection', 'Mother-to-child transmission of varicella syndrome']",[],[],[['NCT05923970']],[[]],same size,[] +GARD:0000047,"['Crigler-Najjar syndrome type 1', 'Bilirubin uridinediphosphate glucuronosyltransferase deficiency type 1', 'Bilirubin-UGT deficiency type 1']",[],[],"[['NCT05687474', 'NCT02051049', 'NCT00154960', 'NCT02302690', 'NCT04216797', 'NCT00461799', 'NCT03466463', 'NCT03343756', 'NCT00515307', 'NCT01345578', 'NCT01765283', 'NCT03223194', 'NCT03078881', 'NCT06518005', 'NCT02356978', 'NCT00564707']]",[[]],concept,"['NCT05687474', 'NCT00515307', 'NCT03466463', 'NCT02051049', 'NCT00154960', 'NCT00461799', 'NCT03343756', 'NCT03078881', 'NCT04216797', 'NCT01345578', 'NCT02302690', 'NCT01765283', 'NCT03223194', 'NCT06518005', 'NCT02356978', 'NCT00564707']" +GARD:0000048,"['Isolated cytochrome C oxidase deficiency', 'Isolated COX deficiency', 'Isolated mitochondrial respiratory chain complex IV deficiency']",[],[],[[]],[[]],same size,[] +GARD:0000049,"['De Barsy syndrome', 'Cutis laxa-corneal clouding-intellectual disability syndrome', 'Progeroid syndrome; De Barsy type']",[],[],[[]],[[]],same size,[] +GARD:0000054,['Duodenal atresia'],[],[],"[['NCT03256669', 'NCT06115226', 'NCT04907266', 'NCT06394453', 'NCT05142839', 'NCT02562157', 'NCT03054987', 'NCT04114279', 'NCT03056261', 'NCT03463668']]",[[]],concept,"['NCT02562157', 'NCT03463668', 'NCT03054987', 'NCT04907266', 'NCT05142839']" +GARD:0000059,"['Spinocerebellar ataxia type 34', 'Erythrokeratodermia with ataxia', 'Spinocerebellar ataxia and erythrokeratodermia']",['SCA34'],[5],[['NCT01793168']],"[['NCT04591483', 'NCT01793168']]",same size,[] +GARD:0000060,"['Iridocorneal endothelial syndrome', 'ICE syndrome']",[],[],"[['NCT04025801', 'NCT02020044', 'NCT00800111', 'NCT03270761', 'NCT00001161']]",[[]],same size,[] +GARD:0000061,"['Femoral-facial syndrome', 'Femoral hypoplasia-unusual facies syndrome']","['FFS', 'FHUFS']","[3, 5]",[[]],"[['NCT01417390', 'NCT01503515', 'NCT01911039', 'NCT05622474', 'NCT00400075', 'NCT01531621', 'NCT03503136', 'NCT04049747', 'NCT03669354', 'NCT02782403', 'NCT00354835', 'NCT03919552', 'NCT00399399', 'NCT01982110', 'NCT02940925', 'NCT05520138', 'NCT05939986', 'NCT02693782', 'NCT01896999', 'NCT05116475', 'NCT06095167', 'NCT00002995', 'NCT04047147', 'NCT03457337', 'NCT05429918', 'NCT03407885', 'NCT05419843', 'NCT02174263', 'NCT03904225', 'NCT00992030', 'NCT02807103', 'NCT05214573', 'NCT05457699', 'NCT02858258', 'NCT01250223', 'NCT00677118', 'NCT04743999', 'NCT01769209', 'NCT02519816', 'NCT02958111', 'NCT02621970', 'NCT02987517', 'NCT06492460', 'NCT05993611', 'NCT04415294', 'NCT02731716', 'NCT00647166', 'NCT04794556', 'NCT02096380', 'NCT00704639', 'NCT02337517', 'NCT02109809', 'NCT05422599', 'NCT02116231', 'NCT03366415', 'NCT01872962', 'NCT02289807', 'NCT05304585', 'NCT03723343', 'NCT02922361', 'NCT03920722', 'NCT01245959', 'NCT06331481', 'NCT02610556', 'NCT02576899', 'NCT02760628', 'NCT05164822', 'NCT06290492', 'NCT00196144', 'NCT00514475', 'NCT03832257', 'NCT02610010', 'NCT00512915', 'NCT02434614', 'NCT06306573', 'NCT02218359', 'NCT05193617', 'NCT01745068', 'NCT02786641', 'NCT03278782', 'NCT02460887', 'NCT00577811']]",same size,[] +GARD:0000062,"['Filippi syndrome', 'Type 1 syndactyly-microcephaly-intellectual disability syndrome']",[],[],[[]],[[]],same size,[] +GARD:0000064,"['Fountain syndrome', 'Deafness-skeletal dysplasia-coarse face with full lips syndrome', 'Deafness-skeletal dysplasia-lip granuloma syndrome', 'Hearing loss-skeletal dysplasia-coarse face with full lips syndrome', 'Hearing loss-skeletal dysplasia-lip granuloma syndrome']",[],[],[[]],[[]],same size,[] +GARD:0000065,"['Galloway-Mowat syndrome', 'Galloway syndrome', 'Microcephaly-hiatus hernia-nephrotic syndrome', 'Nephrosis-neuronal dysmigration syndrome']",[],[],[[]],[[]],same size,[] +GARD:0000066,"['Gorlin-Chaudhry-Moss syndrome', 'Craniofacial dysostosis-genital; dental; cardiac anomalies syndrome', 'Cranofacial dysostosis-hypertrichosis-hypoplasia of labia majora syndrome', 'Dental and eye anomalies-patent ductus arteriosus-normal intelligence syndrome', 'GCM syndrome']",[],[],[[]],[[]],same size,[] +GARD:0000068,"['Hypoglossia-hypodactyly syndrome', 'Aglossia-adactylia syndrome', 'Hanhart syndrome', 'Jussieu syndrome']",[],[],[[]],[[]],same size,[] +GARD:0000069,['Hantavirus pulmonary syndrome'],[],[],"[['NCT05415904', 'NCT04323904', 'NCT04020536', 'NCT03682107', 'NCT01502345', 'NCT00868946', 'NCT03718130', 'NCT02116205', 'NCT02455375', 'NCT00001123', 'NCT00623168', 'NCT00533767', 'NCT04834713', 'NCT04333459', 'NCT04375098', 'NCT00128180', 'NCT04338672', 'NCT06009042']]",[[]],concept,"['NCT01502345', 'NCT00623168', 'NCT04375098', 'NCT06009042', 'NCT00868946', 'NCT03718130', 'NCT04333459', 'NCT04338672', 'NCT04020536', 'NCT04834713', 'NCT02455375', 'NCT02116205']" +GARD:0000070,"['Kasabach-Merritt syndrome', 'Hemangioma-thrombocytopenia syndrome']",[],[],"[['NCT04775173', 'NCT04448873', 'NCT04056962', 'NCT02110069', 'NCT00576888', 'NCT04598204', 'NCT05324384', 'NCT03188068', 'NCT05351216', 'NCT04077515', 'NCT04409691']]",[[]],concept,"['NCT00576888', 'NCT04598204']" +GARD:0000073,"['X-linked hyper-IgM syndrome', 'Hyper-IgM syndrome due to CD40 ligand deficiency', 'Hyper-IgM syndrome due to CD40L deficiency', 'Hyper-IgM syndrome type 1']","['HIGM1', 'XHIGM']","[5, 5]","[['NCT01652092', 'NCT00266513', 'NCT00006054', 'NCT00001244', 'NCT00004341', 'NCT01998633', 'NCT00634569', 'NCT06092346', 'NCT01963143', 'NCT03965260', 'NCT03383380', 'NCT00006319', 'NCT01289847', 'NCT00730314', 'NCT01884311', 'NCT00001145']]","[['NCT00982358', 'NCT01774838', 'NCT00053391', 'NCT00730314', 'NCT00513149', 'NCT06092346', 'NCT00302809', 'NCT01604031', 'NCT00020540', 'NCT00006054', 'NCT03759262', 'NCT06169007', 'NCT01998633', 'NCT03329950', 'NCT00056134', 'NCT00006319', 'NCT00078520', 'NCT00840931', 'NCT00579306', 'NCT00322959', 'NCT00466050', 'NCT00320164', 'NCT02789670', 'NCT01257880', 'NCT00634569', 'NCT03110445', 'NCT03333486', 'NCT00004341', 'NCT03965260', 'NCT05502887', 'NCT01162824', 'NCT01652092', 'NCT00008749', 'NCT05733598', 'NCT02097199', 'NCT01422317', 'NCT00058786', 'NCT05059431', 'NCT00328887', 'NCT02320357', 'NCT00001145', 'NCT01812200', 'NCT05076760', 'NCT06305286', 'NCT00504322', 'NCT02140996', 'NCT00266513', 'NCT01289847', 'NCT00005970', 'NCT02123004', 'NCT01963143', 'NCT00063856', 'NCT03383380', 'NCT00058799', 'NCT00001789', 'NCT03480568', 'NCT03288623', 'NCT04630132', 'NCT04329377', 'NCT00019591', 'NCT01276678', 'NCT04859218', 'NCT01112137', 'NCT01741324', 'NCT02974192', 'NCT00224354', 'NCT00458679', 'NCT05743270', 'NCT04322149', 'NCT04080453', 'NCT01541319', 'NCT01884311', 'NCT00441844', 'NCT04735978', 'NCT00001244', 'NCT04703647', 'NCT01530698', 'NCT02533596', 'NCT06312852', 'NCT04420013', 'NCT00006113']]",concept,"['NCT01289847', 'NCT01963143', 'NCT06092346', 'NCT01998633', 'NCT00634569', 'NCT01884311', 'NCT00001244', 'NCT00730314', 'NCT01652092', 'NCT03383380', 'NCT03965260']" +GARD:0000076,"['Hypohidrotic ectodermal dysplasia', 'Anhidrotic ectodermal dysplasia']",['HED'],[3],"[['NCT01308333', 'NCT01992289', 'NCT01386775', 'NCT02099552', 'NCT04938622', 'NCT01293565', 'NCT04980638', 'NCT01398813', 'NCT04741412', 'NCT01629940', 'NCT01398397', 'NCT01871714', 'NCT03912792', 'NCT04223167', 'NCT05378932', 'NCT01629927', 'NCT01135888', 'NCT01109290', 'NCT01775462', 'NCT01342133', 'NCT01108770', 'NCT01564225']]","[['NCT01246037', 'NCT03344159', 'NCT01992289', 'NCT02669563', 'NCT01847300', 'NCT02184013', 'NCT06147206', 'NCT04549454', 'NCT01386775', 'NCT05263271', 'NCT03996460', 'NCT02099552', 'NCT05802472', 'NCT01293565', 'NCT04980638', 'NCT03339986', 'NCT01398813', 'NCT06019481', 'NCT04027426', 'NCT02899910', 'NCT04741412', 'NCT01629940', 'NCT02372188', 'NCT04416711', 'NCT01871714', 'NCT01398397', 'NCT04579068', 'NCT05453539', 'NCT05378932', 'NCT03769883', 'NCT03337438', 'NCT02216669', 'NCT01629927', 'NCT04027608', 'NCT00756366', 'NCT02116140', 'NCT05372042', 'NCT01851603', 'NCT01135888', 'NCT04783519', 'NCT04774770', 'NCT04089137', 'NCT00586183', 'NCT01648790', 'NCT01109290', 'NCT02932241', 'NCT03191682', 'NCT02481206', 'NCT01775462', 'NCT02404480', 'NCT06094933', 'NCT04535193', 'NCT06436586', 'NCT01108770', 'NCT03076489', 'NCT01564225', 'NCT01197352']]",concept,"['NCT04938622', 'NCT04223167']" +GARD:0000079,"['Metaphyseal chondrodysplasia, Jansen type']",[],[],[['NCT01793168']],[[]],concept,['NCT01793168'] +GARD:0000080,['Johanson-Blizzard syndrome'],['JBS'],[3],[[]],"[['NCT02902731', 'NCT04671823', 'NCT01114399', 'NCT04463316']]",same size,[] +GARD:0000081,"['Intellectual developmental disorder, x-linked, syndromic, turner type', 'mental retardation and macrocephaly syndrome', 'mental retardation; x-linked; with growth retardation; deafness; and microgenitalism', 'juberg-marsidi syndrome', 'mental retardation; x-linked; syndromic; brooks-wisniewski-brown type', 'Mental retardation; x-linked; syndromic; turner type', 'brooks-wisniewski-brown syndrome']",[],[],[['NCT01238250']],[[]],concept,['NCT01238250'] +GARD:0000082,"['KBG syndrome', 'Short stature-facial and skeletal anomalies-intellectual disability-macrodontia syndrome']",[],[],[['NCT06465641']],[[]],same size,[] +GARD:0000083,['Autosomal dominant Kenny-Caffey syndrome'],[],[],[[]],[[]],same size,[] +GARD:0000084,"['Lipodystrophy, congenital generalized, type 1', 'lipodystrophy; berardinelli-seip congenital; type 1', 'Berardinelli-seip congenital lipodystrophy; type 1', 'brunzell syndrome; agpat2-related']",[],[],[[]],[[]],same size,[] +GARD:0000085,['Thanatophoric dysplasia'],['TD'],[2],"[['NCT05426226', 'NCT05437913', 'NCT02660008', 'NCT02204397']]","[['NCT06525948', 'NCT06051838', 'NCT04618939', 'NCT01467089', 'NCT00241878', 'NCT05857410', 'NCT05916339', 'NCT00164242', 'NCT02918825', 'NCT02766491', 'NCT04522518', 'NCT03345329', 'NCT05108636', 'NCT01033877', 'NCT03785327', 'NCT02518139', 'NCT02215863', 'NCT02512510', 'NCT06155526', 'NCT06122870', 'NCT02637271', 'NCT05045729', 'NCT06144775', 'NCT06107829', 'NCT02996669', 'NCT05518799', 'NCT05652738', 'NCT01618591', 'NCT01593514', 'NCT04301674', 'NCT02673255', 'NCT00672373', 'NCT01547000', 'NCT01372514', 'NCT02736955', 'NCT00457249', 'NCT05730478', 'NCT04752384', 'NCT02123654', 'NCT01142089', 'NCT05520749', 'NCT02097849', 'NCT05982912', 'NCT05332912', 'NCT05663580', 'NCT02035033', 'NCT03062033', 'NCT06332144', 'NCT04182828', 'NCT04900519', 'NCT06111898', 'NCT06413316', 'NCT05717699', 'NCT02519686', 'NCT03468959', 'NCT03629288', 'NCT05047705', 'NCT02940496', 'NCT04587557', 'NCT04633473', 'NCT00190008', 'NCT03970980', 'NCT03665415', 'NCT04791124', 'NCT03905551', 'NCT01798563', 'NCT06092333', 'NCT00164411', 'NCT02035176', 'NCT03495024', 'NCT02864589', 'NCT04436432', 'NCT04357951', 'NCT01465087', 'NCT01267188', 'NCT05447299', 'NCT03712072', 'NCT02850666', 'NCT02898298', 'NCT06073522', 'NCT03498300', 'NCT02485587', 'NCT05650775', 'NCT05649930', 'NCT05089981', 'NCT03891862', 'NCT02332408', 'NCT06169163', 'NCT04291963', 'NCT05480462', 'NCT00349115', 'NCT03373890', 'NCT04207021', 'NCT03351530', 'NCT05480917', 'NCT01040325', 'NCT02517333', 'NCT02316145', 'NCT03299309', 'NCT03635112', 'NCT04999228', 'NCT04026295', 'NCT06205160', 'NCT02225327', 'NCT06001866', 'NCT03006744', 'NCT04465916', 'NCT01738477', 'NCT05846815', 'NCT06103539', 'NCT05844514', 'NCT01804920', 'NCT05096481', 'NCT00601835', 'NCT02488226', 'NCT05698199', 'NCT05950230', 'NCT05506228', 'NCT06124742', 'NCT03532581', 'NCT06160193', 'NCT02882698', 'NCT03536351', 'NCT01993173', 'NCT03615404', 'NCT01103401', 'NCT02487186', 'NCT01868334', 'NCT02366728', 'NCT04246112', 'NCT05197764', 'NCT01277705', 'NCT00885040', 'NCT00287820', 'NCT05314920', 'NCT05313503', 'NCT01721473', 'NCT05677282', 'NCT05480943', 'NCT01339000', 'NCT04889300', 'NCT04265924', 'NCT00707148', 'NCT03656601', 'NCT05082727', 'NCT00328380', 'NCT03418038', 'NCT02719067', 'NCT00524732', 'NCT03039491', 'NCT01314326', 'NCT04773626', 'NCT03225430', 'NCT04117464', 'NCT05696769', 'NCT03002285', 'NCT05609994', 'NCT03353623', 'NCT03001570', 'NCT02837172', 'NCT02689570', 'NCT02716428', 'NCT01294605', 'NCT00416091', 'NCT03538808', 'NCT05996575', 'NCT00001535', 'NCT05185128', 'NCT03352440', 'NCT05127993', 'NCT03688178', 'NCT00118313', 'NCT03438994', 'NCT01418352', 'NCT01702194', 'NCT00128219', 'NCT05776199', 'NCT01439165', 'NCT04456036', 'NCT02527499', 'NCT03495440', 'NCT00303368', 'NCT01521299', 'NCT06387004', 'NCT04245306', 'NCT03554668', 'NCT03400033', 'NCT02625441', 'NCT06069271', 'NCT02682355', 'NCT00705692', 'NCT02145715', 'NCT03002298', 'NCT05764993', 'NCT04710732', 'NCT02578082', 'NCT02105155', 'NCT00651989', 'NCT00109330', 'NCT06512649', 'NCT02193347', 'NCT02529072', 'NCT03434080', 'NCT02851823', 'NCT02647632', 'NCT01391390', 'NCT05268341', 'NCT01075581', 'NCT02454413', 'NCT00392093', 'NCT04432974', 'NCT06152510', 'NCT01757288', 'NCT02864368', 'NCT04054921', 'NCT02567630', 'NCT02946190', 'NCT00686140', 'NCT06440109', 'NCT01059474', 'NCT06187753', 'NCT04811339', 'NCT01592708', 'NCT03688516', 'NCT03396575', 'NCT05936372', 'NCT06517875', 'NCT03271671', 'NCT06004791', 'NCT05727020', 'NCT05133037', 'NCT03315624', 'NCT00400309', 'NCT05761834', 'NCT03698331', 'NCT01688037', 'NCT00837707', 'NCT05717712', 'NCT05079490', 'NCT04628715', 'NCT00742469', 'NCT05077137', 'NCT00114595', 'NCT04558541', 'NCT01378455', 'NCT02563145', 'NCT06284395', 'NCT05615220', 'NCT03063736', 'NCT01752790', 'NCT03508245', 'NCT06164821', 'NCT04289740', 'NCT04071574', 'NCT01953081', 'NCT06388343', 'NCT03535272', 'NCT00695812', 'NCT03425669', 'NCT04303078', 'NCT03661983', 'NCT02716376', 'NCT05421689', 'NCT03214068', 'NCT00575653', 'NCT02247986', 'NCT04963413', 'NCT04559776', 'NCT02439398', 'NCT02128230', 'NCT03564132', 'NCT04996472', 'NCT02757599', 'NCT00959075', 'NCT03535779', 'NCT04599530', 'NCT02498301', 'NCT03844087', 'NCT02783170', 'NCT05503459', 'NCT02405091', 'NCT00310661', 'NCT05098392', 'NCT02459080', 'NCT05609149', 'NCT04675385', 'NCT06099457', 'NCT02680522', 'NCT01557673', 'NCT04143724', 'NCT02394470', 'NCT06026124', 'NCT01262924', 'NCT06156865', 'NCT02064010', 'NCT01898793', 'NCT00751777', 'NCT04277390', 'NCT05942716', 'NCT01273285', 'NCT03813238', 'NCT00707460', 'NCT00621634', 'NCT05209204', 'NCT03845959', 'NCT03736213', 'NCT00953823', 'NCT02584972', 'NCT03176771', 'NCT00241176', 'NCT06002100', 'NCT01733121', 'NCT02155894', 'NCT03303547', 'NCT00209027', 'NCT01267058', 'NCT01585207', 'NCT03927222', 'NCT02548442', 'NCT03888664', 'NCT02626689', 'NCT05859698', 'NCT02233348', 'NCT05891249', 'NCT04621851', 'NCT02340962', 'NCT00255879', 'NCT00837616', 'NCT06127030', 'NCT03254992', 'NCT03589768', 'NCT02772159', 'NCT04322734', 'NCT05953545', 'NCT05294705', 'NCT02439476', 'NCT03222167', 'NCT05470088', 'NCT01524380', 'NCT00442832', 'NCT00536120', 'NCT02726646', 'NCT01005849', 'NCT03383653', 'NCT04838496', 'NCT02193854', 'NCT02977546', 'NCT03239210', 'NCT02274558', 'NCT01746563', 'NCT03525951', 'NCT06035666', 'NCT02209623', 'NCT01908452', 'NCT01912378', 'NCT06135636', 'NCT04074382', 'NCT06493786', 'NCT00033787', 'NCT00926965', 'NCT03287778', 'NCT04833426', 'NCT03497013', 'NCT02755051', 'NCT03916055', 'NCT01035996', 'NCT00352339', 'NCT02818205', 'NCT01674621', 'NCT05053321', 'NCT01287949', 'NCT04219280', 'NCT04570904', 'NCT04250454', 'NCT03729219', 'NCT01621672', 'NCT01338688', 'NCT03885648', 'NCT02988557', 'NCT00993681', 'NCT04531514', 'NCT03609502', 'NCT01134484', 'NCT01682915', 'NCT01559012', 'NCT02000284', 'NCT02579109', 'NCT05923450', 'NCT05382858', 'NCT06491875', 'NCT00097175', 'NCT02527356', 'NCT01744795', 'NCT04607538', 'NCT05325333', 'NCT05721456', 'NCT06438432', 'NCT03817710', 'NCT05444387', 'NCT00289861', 'NCT02301702', 'NCT02839369', 'NCT02838316', 'NCT03552445', 'NCT00807833', 'NCT04908969', 'NCT00061633', 'NCT03807622', 'NCT06228885', 'NCT04879199', 'NCT05461001', 'NCT06330922', 'NCT03054441', 'NCT03802201', 'NCT04890717', 'NCT02725619', 'NCT05691842', 'NCT04607824', 'NCT04878302', 'NCT04389931', 'NCT06176976', 'NCT00938054', 'NCT04427150', 'NCT03254186', 'NCT02279654', 'NCT00004735', 'NCT04425109', 'NCT05924100', 'NCT06514898', 'NCT03690843', 'NCT02576925', 'NCT03934879']]",concept,"['NCT05437913', 'NCT02204397', 'NCT02660008', 'NCT05426226']" +GARD:0000086,['Chudley-McCullough syndrome'],[],[],[[]],[[]],same size,[] +GARD:0000087,"['Microphthalmia, Lenz type', 'Lenz microphthalmia']",[],[],[['NCT00011843']],[[]],concept,['NCT00011843'] diff --git a/RDAS_CTKG_REMAKE/acronym_test_expansion_none.csv b/RDAS_CTKG_REMAKE/acronym_test_expansion_none.csv new file mode 100644 index 0000000..1607ac8 --- /dev/null +++ b/RDAS_CTKG_REMAKE/acronym_test_expansion_none.csv @@ -0,0 +1,51 @@ +GARD,ORIG_TERMS,ACRONYM DETECT,ACRONYM_LEN,FILTERED_TRIALS,ACRO_ONLY_TRIALS +GARD:0000001,"['GRACILE syndrome', 'Fellman disease', 'Growth restriction-aminoaciduria-cholestasis-iron overload-lactic acidosis-early death syndrome']",[],[],[[]],[[]] +GARD:0000003,['Ablepharon macrostomia syndrome'],[],[],[[]],[[]] +GARD:0000005,"['Abetalipoproteinemia', 'Bassen-Kornzweig disease', 'Homozygous familial hypobetalipoproteinemia']",[],[],"[['NCT00004574', 'NCT02435940', 'NCT05208879']]",[[]] +GARD:0000006,['Acromesomelic dysplasia'],[],[],[[]],[[]] +GARD:0000007,['Acromicric dysplasia'],[],[],[[]],[[]] +GARD:0000011,['Alternating hemiplegia of childhood'],['AHC'],[3],"[['NCT03857607', 'NCT06248645']]","[['NCT05661318', 'NCT00682513', 'NCT06019988', 'NCT04020848', 'NCT06073301', 'NCT06248645', 'NCT03900689', 'NCT02408354', 'NCT06490757', 'NCT04701242', 'NCT03206775', 'NCT03601793', 'NCT01289652', 'NCT02409537', 'NCT04944927', 'NCT06007521', 'NCT03885401', 'NCT03331952', 'NCT03857607', 'NCT00931164', 'NCT06128655', 'NCT03857555', 'NCT02977026']]" +GARD:0000012,"['Hypersensitivity pneumonitis', 'Extrinsic allergic alveolitis']",[],[],"[['NCT04844359', 'NCT05458635', 'NCT03873649', 'NCT04561479', 'NCT05626387', 'NCT01687946', 'NCT05988437', 'NCT02523833']]",[[]] +GARD:0000013,"['Aniridia-cerebellar ataxia-intellectual disability syndrome', 'Gillespie syndrome']",[],[],[['NCT05390801']],[[]] +GARD:0000016,"['Ocular motor apraxia, Cogan type', 'Oculomotor apraxia; Cogan type']",[],[],[[]],[[]] +GARD:0000017,['Arachnoid cyst'],[],[],[[]],[[]] +GARD:0000019,"['Dihydropyrimidine dehydrogenase deficiency', 'Familial pyrimidinemia']",[],[],[[]],[[]] +GARD:0000022,"['Björnstad syndrome', 'Deafness-pili torti-hypogonadism syndrome', 'Hearing loss-pili torti-hypogonadism syndrome']",[],[],[[]],[[]] +GARD:0000023,['Blepharophimosis-ptosis-epicanthus inversus syndrome'],['BPES'],[4],[[]],[[]] +GARD:0000026,['Cat-eye syndrome'],['CES'],[3],[['NCT03174028']],"[['NCT01953757', 'NCT04739696', 'NCT01997008', 'NCT03000985', 'NCT03811808', 'NCT02419638', 'NCT05450588', 'NCT01036490', 'NCT05384041', 'NCT05576090', 'NCT01277432', 'NCT00031720', 'NCT00094133', 'NCT01233245', 'NCT04332731', 'NCT04254198', 'NCT00636779', 'NCT02468349', 'NCT01244087', 'NCT01523561', 'NCT00823147', 'NCT04828200', 'NCT02419014', 'NCT00928720', 'NCT01795131', 'NCT02327104', 'NCT00013845', 'NCT00147693', 'NCT04126564', 'NCT05627986', 'NCT00746668', 'NCT00833898', 'NCT04679792', 'NCT00012831', 'NCT06036472', 'NCT05832710', 'NCT04224961', 'NCT03298308', 'NCT00831935', 'NCT03182556', 'NCT04836039', 'NCT02037568', 'NCT03983252', 'NCT05950009', 'NCT02436785', 'NCT02548065', 'NCT03031236', 'NCT02762734', 'NCT02890615', 'NCT00569309', 'NCT04776681', 'NCT04585685', 'NCT01963767', 'NCT02944136', 'NCT03526523', 'NCT04144257', 'NCT02411227', 'NCT04297657', 'NCT04770181', 'NCT06034496', 'NCT03792399', 'NCT01843608', 'NCT03222479', 'NCT06326151', 'NCT01909011', 'NCT04751864', 'NCT00268827', 'NCT05223530', 'NCT04069182', 'NCT06342232', 'NCT06242080', 'NCT00005498', 'NCT04103086', 'NCT01325532', 'NCT01690962', 'NCT04423952', 'NCT03411863', 'NCT02842229', 'NCT06416878', 'NCT00928772', 'NCT02518178', 'NCT02962843', 'NCT02510898', 'NCT04963907', 'NCT05792475', 'NCT02030522', 'NCT02898233', 'NCT05310162', 'NCT01461798', 'NCT00495768', 'NCT03904771', 'NCT02754973', 'NCT05083221', 'NCT01235455', 'NCT04256811', 'NCT01072032', 'NCT05466773', 'NCT05309031', 'NCT06233344', 'NCT00653497', 'NCT04438018', 'NCT01167725', 'NCT03881956', 'NCT05698862', 'NCT02215551', 'NCT04001322', 'NCT04102696', 'NCT02174003', 'NCT01287975', 'NCT05394883', 'NCT03414424', 'NCT04016259', 'NCT01993277', 'NCT04808258', 'NCT03737890', 'NCT04942171', 'NCT01231711', 'NCT05990595', 'NCT04086615', 'NCT05973461', 'NCT01949961', 'NCT03514355', 'NCT03825471', 'NCT03689543', 'NCT04587531', 'NCT05923723', 'NCT01265797', 'NCT02833129', 'NCT00994279', 'NCT00606801', 'NCT04776668', 'NCT06203717', 'NCT00499668', 'NCT02171936', 'NCT03033836', 'NCT02846740', 'NCT02087631', 'NCT04589364', 'NCT03927872', 'NCT02453347', 'NCT03777267', 'NCT06066658', 'NCT02606045', 'NCT03898453', 'NCT02806167', 'NCT02682914', 'NCT00866411', 'NCT03198156', 'NCT02732561', 'NCT00587769', 'NCT00172549', 'NCT01734954', 'NCT03094013', 'NCT05885893', 'NCT04393480', 'NCT04682197', 'NCT02549495', 'NCT05359380', 'NCT00729118', 'NCT03301376', 'NCT00138437', 'NCT04191538', 'NCT03320109', 'NCT06468020', 'NCT05950477', 'NCT02521480', 'NCT03369418', 'NCT03325374', 'NCT00223756', 'NCT01533415', 'NCT02690896', 'NCT01055665', 'NCT00178373', 'NCT01935310', 'NCT01232907', 'NCT06022640', 'NCT04180683', 'NCT04115033', 'NCT06493695', 'NCT05653934', 'NCT01488942', 'NCT01583933', 'NCT01271803', 'NCT00248872', 'NCT00248924', 'NCT05801497', 'NCT02844452', 'NCT00279526', 'NCT00729625', 'NCT05387434', 'NCT05092854', 'NCT04533165', 'NCT03784001', 'NCT02163967', 'NCT04700696', 'NCT02067806', 'NCT04602507', 'NCT00230945', 'NCT02203734', 'NCT03298178', 'NCT02778139', 'NCT03450135', 'NCT00403455', 'NCT03876652', 'NCT03978286', 'NCT03230890', 'NCT00958698', 'NCT02979379', 'NCT02057081', 'NCT02159885', 'NCT05209438', 'NCT02391766', 'NCT01282658', 'NCT05887713', 'NCT04598386', 'NCT00539357', 'NCT02992587', 'NCT00665782', 'NCT00886730', 'NCT03344562', 'NCT04006327', 'NCT04626037', 'NCT03060122', 'NCT03076632', 'NCT00902330', 'NCT02901080', 'NCT02813447', 'NCT05785884', 'NCT01839864', 'NCT05881122', 'NCT04160910', 'NCT03995914', 'NCT03299803', 'NCT01973283', 'NCT01783652', 'NCT04502992', 'NCT00554489', 'NCT03057184', 'NCT04145726', 'NCT00536055', 'NCT03757494', 'NCT03705988', 'NCT04465136', 'NCT02730988', 'NCT03322995', 'NCT05460845', 'NCT01422174', 'NCT01607749', 'NCT00339859', 'NCT03809312', 'NCT04910282', 'NCT03389568', 'NCT06497959', 'NCT03805152', 'NCT05304052', 'NCT03367936', 'NCT01860677', 'NCT00723008', 'NCT05063851', 'NCT01803984', 'NCT06124014', 'NCT01825915', 'NCT06281288', 'NCT05791981', 'NCT03332043', 'NCT01222481', 'NCT02515916', 'NCT03222752', 'NCT03210155', 'NCT03593070', 'NCT04567797', 'NCT05005624', 'NCT02303145', 'NCT04627480', 'NCT03150095', 'NCT05126511', 'NCT05811429', 'NCT06270979', 'NCT00385528', 'NCT03264248', 'NCT03927885', 'NCT03811132', 'NCT02979782', 'NCT04115332']]" +GARD:0000027,"['Cat-scratch disease', 'Bartonellosis due to Bartonella henselae infection']",[],[],[[]],[[]] +GARD:0000028,"['Catel-Manzke syndrome', 'Hyperphalangy-clinodactyly of index finger with Pierre Robin syndrome', 'Index finger anomaly-Pierre Robin syndrome', 'Micrognathia digital syndrome', 'Palatodigital syndrome; Catel-Manzke type', 'Pierre Robin sequence-hyperphalangy-clinodactyly syndrome', 'Pierre Robin syndrome-hyperphalangy-clinodactyly syndrome']",[],[],[[]],[[]] +GARD:0000029,"['CHARGE syndrome', 'CHARGE association', 'Coloboma-heart defects-atresia choanae-retardation of growth and development-genitourinary problems-ear abnormalities syndrome', 'Hall-Hittner syndrome']",[],[],"[['NCT03186144', 'NCT01314534', 'NCT06475651', 'NCT05764980']]",[[]] +GARD:0000031,"['Serpiginous choroiditis', 'Geographic helicoid peripapillary choroidopathy']",[],[],[[]],[[]] +GARD:0000035,"['Tetrasomy 18p', 'Isochromosome 18p']",[],[],[[]],[[]] +GARD:0000037,"['Partial deletion of the short arm of chromosome 3', 'Partial deletion of chromosome 3p', 'Partial monosomy of chromosome 3p', 'Partial monosomy of the short arm of chromosome 3']",[],[],[[]],[[]] +GARD:0000039,['WT limb-blood syndrome'],[],[],[[]],[[]] +GARD:0000042,"['Tetrasomy 9p', 'Isochromosome 9p']",[],[],[[]],[[]] +GARD:0000043,"['Mosaic trisomy 9', 'Mosaic trisomy chromosome 9', 'Trisomy 9 mosaicism']",[],[],[[]],[[]] +GARD:0000044,"['Haim-Munk syndrome', 'Keratosis palmoplantaris-periodontopathia-onychogryposis syndrome', 'Palmoplantar hyperkeratosis-periodontopathia-onychogryposis syndrome', 'Palmoplantar keratoderma-periodontopathia-onychogryposis syndrome']",[],[],[[]],[[]] +GARD:0000045,"['Congenital varicella syndrome', 'Antenatal varicella virus infection', 'Mother-to-child transmission of varicella syndrome']",[],[],[[]],[[]] +GARD:0000047,"['Crigler-Najjar syndrome type 1', 'Bilirubin uridinediphosphate glucuronosyltransferase deficiency type 1', 'Bilirubin-UGT deficiency type 1']",[],[],[[]],[[]] +GARD:0000048,"['Isolated cytochrome C oxidase deficiency', 'Isolated COX deficiency', 'Isolated mitochondrial respiratory chain complex IV deficiency']",[],[],[[]],[[]] +GARD:0000049,"['De Barsy syndrome', 'Cutis laxa-corneal clouding-intellectual disability syndrome', 'Progeroid syndrome; De Barsy type']",[],[],[[]],[[]] +GARD:0000054,['Duodenal atresia'],[],[],[[]],[[]] +GARD:0000059,"['Spinocerebellar ataxia type 34', 'Erythrokeratodermia with ataxia', 'Spinocerebellar ataxia and erythrokeratodermia']",['SCA34'],[5],[[]],[[]] +GARD:0000060,"['Iridocorneal endothelial syndrome', 'ICE syndrome']",[],[],"[['NCT04025801', 'NCT03270761']]",[[]] +GARD:0000061,"['Femoral-facial syndrome', 'Femoral hypoplasia-unusual facies syndrome']","['FFS', 'FHUFS']","[3, 5]",[[]],"[['NCT03723343', 'NCT00677118', 'NCT06306573', 'NCT02621970', 'NCT02218359', 'NCT02958111', 'NCT00354835', 'NCT01531621', 'NCT05622474', 'NCT01872962', 'NCT02116231', 'NCT02731716', 'NCT05116475', 'NCT02922361', 'NCT00992030', 'NCT03832257', 'NCT03366415', 'NCT00577811', 'NCT02174263', 'NCT01250223', 'NCT02109809', 'NCT00647166', 'NCT00512915', 'NCT05214573', 'NCT02289807', 'NCT03919552', 'NCT01503515', 'NCT01769209', 'NCT02858258', 'NCT05939986', 'NCT04743999', 'NCT00002995', 'NCT01417390', 'NCT00196144', 'NCT05520138', 'NCT00514475', 'NCT05419843', 'NCT02987517', 'NCT04049747', 'NCT02807103', 'NCT03407885', 'NCT03278782', 'NCT02940925', 'NCT05304585', 'NCT06492460', 'NCT05422599', 'NCT03920722', 'NCT02786641', 'NCT02519816', 'NCT01982110', 'NCT03457337', 'NCT05193617', 'NCT02576899', 'NCT06290492', 'NCT04415294', 'NCT03904225', 'NCT03503136', 'NCT04047147', 'NCT01911039', 'NCT01245959', 'NCT02096380', 'NCT05993611', 'NCT02782403', 'NCT05429918', 'NCT02693782', 'NCT02460887', 'NCT00400075', 'NCT00399399', 'NCT01896999', 'NCT02434614', 'NCT06095167', 'NCT02610556', 'NCT00704639', 'NCT05457699', 'NCT02337517', 'NCT05164822', 'NCT02610010', 'NCT03669354']]" +GARD:0000062,"['Filippi syndrome', 'Type 1 syndactyly-microcephaly-intellectual disability syndrome']",[],[],[[]],[[]] +GARD:0000064,"['Fountain syndrome', 'Deafness-skeletal dysplasia-coarse face with full lips syndrome', 'Deafness-skeletal dysplasia-lip granuloma syndrome', 'Hearing loss-skeletal dysplasia-coarse face with full lips syndrome', 'Hearing loss-skeletal dysplasia-lip granuloma syndrome']",[],[],[[]],[[]] +GARD:0000065,"['Galloway-Mowat syndrome', 'Galloway syndrome', 'Microcephaly-hiatus hernia-nephrotic syndrome', 'Nephrosis-neuronal dysmigration syndrome']",[],[],[[]],[[]] +GARD:0000066,"['Gorlin-Chaudhry-Moss syndrome', 'Craniofacial dysostosis-genital; dental; cardiac anomalies syndrome', 'Cranofacial dysostosis-hypertrichosis-hypoplasia of labia majora syndrome', 'Dental and eye anomalies-patent ductus arteriosus-normal intelligence syndrome', 'GCM syndrome']",[],[],[[]],[[]] +GARD:0000068,"['Hypoglossia-hypodactyly syndrome', 'Aglossia-adactylia syndrome', 'Hanhart syndrome', 'Jussieu syndrome']",[],[],[[]],[[]] +GARD:0000069,['Hantavirus pulmonary syndrome'],[],[],[[]],[[]] +GARD:0000070,"['Kasabach-Merritt syndrome', 'Hemangioma-thrombocytopenia syndrome']",[],[],[[]],[[]] +GARD:0000073,"['X-linked hyper-IgM syndrome', 'Hyper-IgM syndrome due to CD40 ligand deficiency', 'Hyper-IgM syndrome due to CD40L deficiency', 'Hyper-IgM syndrome type 1']","['HIGM1', 'XHIGM']","[5, 5]","[['NCT00006054', 'NCT00001145', 'NCT00004341']]",[['NCT01998633']] +GARD:0000076,"['Hypohidrotic ectodermal dysplasia', 'Anhidrotic ectodermal dysplasia']",['HED'],[3],"[['NCT01629927', 'NCT02099552', 'NCT01109290', 'NCT05378932', 'NCT01992289']]","[['NCT01629940', 'NCT01386775', 'NCT03339986', 'NCT04783519', 'NCT03996460', 'NCT03191682', 'NCT02932241', 'NCT04741412', 'NCT01246037', 'NCT05378932', 'NCT04579068', 'NCT05263271', 'NCT01398813', 'NCT01871714', 'NCT06094933', 'NCT02899910', 'NCT04416711', 'NCT04089137', 'NCT02216669', 'NCT05802472', 'NCT01847300', 'NCT01851603', 'NCT02481206', 'NCT00586183', 'NCT01629927', 'NCT02184013', 'NCT02099552', 'NCT01293565', 'NCT05453539', 'NCT03769883', 'NCT04549454', 'NCT03337438', 'NCT01197352', 'NCT02669563', 'NCT01398397', 'NCT06147206', 'NCT04027426', 'NCT04027608', 'NCT04535193', 'NCT03344159', 'NCT01135888', 'NCT01108770', 'NCT02404480', 'NCT01109290', 'NCT00756366', 'NCT02372188', 'NCT02116140', 'NCT01992289', 'NCT05372042', 'NCT04774770', 'NCT06436586']]" +GARD:0000079,"['Metaphyseal chondrodysplasia, Jansen type']",[],[],[[]],[[]] +GARD:0000080,['Johanson-Blizzard syndrome'],['JBS'],[3],[[]],"[['NCT04671823', 'NCT01114399', 'NCT02902731']]" +GARD:0000081,"['Intellectual developmental disorder, x-linked, syndromic, turner type', 'mental retardation and macrocephaly syndrome', 'mental retardation; x-linked; with growth retardation; deafness; and microgenitalism', 'juberg-marsidi syndrome', 'mental retardation; x-linked; syndromic; brooks-wisniewski-brown type', 'Mental retardation; x-linked; syndromic; turner type', 'brooks-wisniewski-brown syndrome']",[],[],[[]],[[]] +GARD:0000082,"['KBG syndrome', 'Short stature-facial and skeletal anomalies-intellectual disability-macrodontia syndrome']",[],[],[['NCT06465641']],[[]] +GARD:0000083,['Autosomal dominant Kenny-Caffey syndrome'],[],[],[[]],[[]] +GARD:0000084,"['Lipodystrophy, congenital generalized, type 1', 'lipodystrophy; berardinelli-seip congenital; type 1', 'Berardinelli-seip congenital lipodystrophy; type 1', 'brunzell syndrome; agpat2-related']",[],[],[[]],[[]] +GARD:0000085,['Thanatophoric dysplasia'],['TD'],[2],[[]],"[['NCT00807833', 'NCT00837707', 'NCT04071574', 'NCT04890717', 'NCT02459080', 'NCT03665415', 'NCT03002285', 'NCT02682355', 'NCT05936372', 'NCT02578082', 'NCT06073522', 'NCT02517333', 'NCT05721456', 'NCT03353623', 'NCT06156865', 'NCT05082727', 'NCT01674621', 'NCT00953823', 'NCT02940496', 'NCT02625441', 'NCT06228885', 'NCT03062033', 'NCT06332144', 'NCT00392093', 'NCT00164242', 'NCT06176976', 'NCT05891249', 'NCT02155894', 'NCT05506228', 'NCT05924100', 'NCT03729219', 'NCT06388343', 'NCT02548442', 'NCT03303547', 'NCT01746563', 'NCT00695812', 'NCT06051838', 'NCT01142089', 'NCT06525948', 'NCT03813238', 'NCT04838496', 'NCT00097175', 'NCT05652738', 'NCT01757288', 'NCT02755051', 'NCT03736213', 'NCT06413316', 'NCT01733121', 'NCT01465087', 'NCT04265924', 'NCT04791124', 'NCT03564132', 'NCT05649930', 'NCT04570904', 'NCT02918825', 'NCT03254186', 'NCT00993681', 'NCT04301674', 'NCT02680522', 'NCT01467089', 'NCT03525951', 'NCT00118313', 'NCT02772159', 'NCT04878302', 'NCT05421689', 'NCT04607824', 'NCT04900519', 'NCT03785327', 'NCT03497013', 'NCT01372514', 'NCT06440109', 'NCT00651989', 'NCT04436432', 'NCT04425109', 'NCT03888664', 'NCT02340962', 'NCT04054921', 'NCT01418352', 'NCT04996472', 'NCT04074382', 'NCT04207021', 'NCT06124742', 'NCT03817710', 'NCT02716428', 'NCT06512649', 'NCT00310661', 'NCT04587557', 'NCT01804920', 'NCT03254992', 'NCT06517875', 'NCT00303368', 'NCT05942716', 'NCT00287820', 'NCT01378455', 'NCT00241878', 'NCT05846815', 'NCT02647632', 'NCT02332408', 'NCT05461001', 'NCT02518139', 'NCT03609502', 'NCT03656601', 'NCT06144775', 'NCT05996575', 'NCT03905551', 'NCT00416091', 'NCT05108636', 'NCT01134484', 'NCT04531514', 'NCT05859698', 'NCT00885040', 'NCT02850666', 'NCT01908452', 'NCT01267188', 'NCT05615220', 'NCT03690843', 'NCT05045729', 'NCT05953545', 'NCT01521299', 'NCT06438432', 'NCT04219280', 'NCT06284395', 'NCT06491875', 'NCT04811339', 'NCT04628715', 'NCT06164821', 'NCT00061633', 'NCT02563145', 'NCT02837172', 'NCT03495024', 'NCT01688037', 'NCT05727020', 'NCT03845959', 'NCT01953081', 'NCT06002100', 'NCT05444387', 'NCT01682915', 'NCT00328380', 'NCT05268341', 'NCT05447299', 'NCT05047705', 'NCT03807622', 'NCT03176771', 'NCT02996669', 'NCT04357951', 'NCT03315624', 'NCT04879199', 'NCT00241176', 'NCT04558541', 'NCT03844087', 'NCT05209204', 'NCT01559012', 'NCT05663580', 'NCT05717712', 'NCT03352440', 'NCT04289740', 'NCT04833426', 'NCT06122870', 'NCT00033787', 'NCT01702194', 'NCT00352339', 'NCT00621634', 'NCT02035176', 'NCT05520749', 'NCT06152510', 'NCT03001570', 'NCT02527499', 'NCT05089981', 'NCT05332912', 'NCT00672373', 'NCT02579109', 'NCT04889300', 'NCT05314920', 'NCT05982912', 'NCT04607538', 'NCT02584972', 'NCT03039491', 'NCT06004791', 'NCT04999228', 'NCT06205160', 'NCT05053321', 'NCT05382858', 'NCT06107829', 'NCT02988557', 'NCT01593514', 'NCT03002298', 'NCT05857410', 'NCT01592708', 'NCT06169163', 'NCT02637271', 'NCT05923450', 'NCT02882698', 'NCT01103401', 'NCT05325333', 'NCT02123654', 'NCT01557673', 'NCT01752790', 'NCT02576925', 'NCT05127993', 'NCT02279654', 'NCT04559776', 'NCT04773626', 'NCT02512510', 'NCT00686140', 'NCT04522518', 'NCT00751777', 'NCT03885648', 'NCT01040325', 'NCT00349115', 'NCT02498301', 'NCT01005849', 'NCT01547000', 'NCT02064010', 'NCT05470088', 'NCT02485587', 'NCT02488226', 'NCT03225430', 'NCT05098392', 'NCT02405091', 'NCT05480917', 'NCT02818205', 'NCT02766491', 'NCT03698331', 'NCT02626689', 'NCT04291963', 'NCT00209027', 'NCT03468959', 'NCT03538808', 'NCT04633473', 'NCT03970980', 'NCT00742469', 'NCT06026124', 'NCT06035666', 'NCT04182828', 'NCT05197764', 'NCT04117464', 'NCT03712072', 'NCT03373890', 'NCT05916339', 'NCT05730478', 'NCT02757599', 'NCT05133037', 'NCT02716376', 'NCT05079490', 'NCT02439476', 'NCT00255879', 'NCT04752384', 'NCT01721473', 'NCT00707460', 'NCT00001535', 'NCT01798563', 'NCT02145715', 'NCT02736955', 'NCT03006744', 'NCT00114595', 'NCT03532581', 'NCT03535272', 'NCT05677282', 'NCT05696769', 'NCT02316145', 'NCT04710732', 'NCT02567630', 'NCT03400033', 'NCT03934879', 'NCT03802201', 'NCT00926965', 'NCT04322734', 'NCT04599530', 'NCT03438994', 'NCT05313503', 'NCT01314326', 'NCT02247986', 'NCT03635112', 'NCT00938054', 'NCT03508245', 'NCT05609149', 'NCT05761834', 'NCT06092333', 'NCT02519686', 'NCT04245306', 'NCT01618591', 'NCT01075581', 'NCT02000284', 'NCT03536351', 'NCT06099457', 'NCT02977546', 'NCT06127030', 'NCT01273285', 'NCT06111898', 'NCT05185128', 'NCT04427150', 'NCT03916055', 'NCT06187753', 'NCT02864589', 'NCT04908969', 'NCT02035033', 'NCT00524732', 'NCT03688516', 'NCT02193854', 'NCT02839369', 'NCT05650775', 'NCT01035996', 'NCT04465916', 'NCT03222167', 'NCT03495440', 'NCT06493786', 'NCT04303078', 'NCT02439398', 'NCT03054441', 'NCT03661983', 'NCT06160193', 'NCT04026295', 'NCT04621851', 'NCT05503459', 'NCT00190008', 'NCT01898793', 'NCT01059474', 'NCT01585207', 'NCT02274558', 'NCT03214068', 'NCT05294705', 'NCT06001866', 'NCT01744795', 'NCT02838316', 'NCT00442832', 'NCT03239210', 'NCT02725619', 'NCT02105155', 'NCT06330922', 'NCT03434080', 'NCT03287778', 'NCT00289861', 'NCT01912378', 'NCT01391390', 'NCT02719067', 'NCT03554668', 'NCT04250454', 'NCT03891862', 'NCT05844514', 'NCT00837616', 'NCT06387004', 'NCT03425669', 'NCT04143724', 'NCT05691842', 'NCT05717699', 'NCT05480943', 'NCT00959075', 'NCT03418038', 'NCT01524380', 'NCT02233348', 'NCT02128230', 'NCT02527356', 'NCT01621672', 'NCT04246112', 'NCT05518799', 'NCT02898298']]" +GARD:0000086,['Chudley-McCullough syndrome'],[],[],[[]],[[]] +GARD:0000087,"['Microphthalmia, Lenz type', 'Lenz microphthalmia']",[],[],[[]],[[]] diff --git a/RDAS_CTKG_REMAKE/acronym_test_expansion_term.csv b/RDAS_CTKG_REMAKE/acronym_test_expansion_term.csv new file mode 100644 index 0000000..dddcad9 --- /dev/null +++ b/RDAS_CTKG_REMAKE/acronym_test_expansion_term.csv @@ -0,0 +1,51 @@ +GARD,ORIG_TERMS,ACRONYM DETECT,ACRONYM_LEN,FILTERED_TRIALS,ACRO_ONLY_TRIALS +GARD:0000001,"['GRACILE syndrome', 'Fellman disease', 'Growth restriction-aminoaciduria-cholestasis-iron overload-lactic acidosis-early death syndrome']",[],[],[[]],[[]] +GARD:0000003,['Ablepharon macrostomia syndrome'],[],[],[[]],[[]] +GARD:0000005,"['Abetalipoproteinemia', 'Bassen-Kornzweig disease', 'Homozygous familial hypobetalipoproteinemia']",[],[],"[['NCT02435940', 'NCT00004574', 'NCT05208879']]",[[]] +GARD:0000006,['Acromesomelic dysplasia'],[],[],[[]],[[]] +GARD:0000007,['Acromicric dysplasia'],[],[],[[]],[[]] +GARD:0000011,['Alternating hemiplegia of childhood'],['AHC'],[3],"[['NCT06153186', 'NCT06248645', 'NCT04513002', 'NCT02408354', 'NCT00682513', 'NCT04020848', 'NCT00931164', 'NCT04944927', 'NCT06007521', 'NCT03857607']]","[['NCT02977026', 'NCT05661318', 'NCT06007521', 'NCT04944927', 'NCT06128655', 'NCT06073301', 'NCT00931164', 'NCT06490757', 'NCT01289652', 'NCT06248645', 'NCT04020848', 'NCT03885401', 'NCT04701242', 'NCT03601793', 'NCT02409537', 'NCT03206775', 'NCT03857607', 'NCT06019988', 'NCT03674164', 'NCT03857555', 'NCT02408354', 'NCT00682513', 'NCT03331952', 'NCT03900689']]" +GARD:0000012,"['Hypersensitivity pneumonitis', 'Extrinsic allergic alveolitis']",[],[],"[['NCT05445817', 'NCT05727852', 'NCT02958917', 'NCT03800017', 'NCT04273867', 'NCT04402177', 'NCT02596347', 'NCT04844359', 'NCT03030807', 'NCT02705144', 'NCT05455437', 'NCT01624753', 'NCT05458635', 'NCT05365802', 'NCT05723796', 'NCT04896138', 'NCT04982809', 'NCT02523833', 'NCT03056404', 'NCT05635032', 'NCT02496182', 'NCT02883920', 'NCT04016181', 'NCT03747627', 'NCT04879082', 'NCT01487850', 'NCT03670576', 'NCT03836417', 'NCT06125288', 'NCT03873649', 'NCT04677426', 'NCT04675619', 'NCT05392881', 'NCT01687946', 'NCT06038630', 'NCT05450276', 'NCT05704218', 'NCT04961944', 'NCT05776537', 'NCT05626387', 'NCT05988437', 'NCT03300583', 'NCT06134947', 'NCT04561479', 'NCT01961362', 'NCT05549635', 'NCT01237145', 'NCT02571582', 'NCT01935726', 'NCT05449431']]",[[]] +GARD:0000013,"['Aniridia-cerebellar ataxia-intellectual disability syndrome', 'Gillespie syndrome']",[],[],[['NCT05390801']],[[]] +GARD:0000016,"['Ocular motor apraxia, Cogan type', 'Oculomotor apraxia; Cogan type']",[],[],[[]],[[]] +GARD:0000017,['Arachnoid cyst'],[],[],"[['NCT04569201', 'NCT01391702', 'NCT04046523', 'NCT03656016', 'NCT03485612', 'NCT04249921']]",[[]] +GARD:0000019,"['Dihydropyrimidine dehydrogenase deficiency', 'Familial pyrimidinemia']",[],[],"[['NCT06245356', 'NCT04541381', 'NCT06092346']]",[[]] +GARD:0000022,"['Björnstad syndrome', 'Deafness-pili torti-hypogonadism syndrome', 'Hearing loss-pili torti-hypogonadism syndrome']",[],[],[[]],[[]] +GARD:0000023,['Blepharophimosis-ptosis-epicanthus inversus syndrome'],['BPES'],[4],[[]],[[]] +GARD:0000026,['Cat-eye syndrome'],['CES'],[3],[['NCT03174028']],"[['NCT04739696', 'NCT01036490', 'NCT00031720', 'NCT03322995', 'NCT05887713', 'NCT01233245', 'NCT03450135', 'NCT05653934', 'NCT01953757', 'NCT04191538', 'NCT06468020', 'NCT01232907', 'NCT04086615', 'NCT03705988', 'NCT04145726', 'NCT02146586', 'NCT02682914', 'NCT00147693', 'NCT01461798', 'NCT04836039', 'NCT03301376', 'NCT00653497', 'NCT00665782', 'NCT02806167', 'NCT01055665', 'NCT04006327', 'NCT04160910', 'NCT01935310', 'NCT04423952', 'NCT02979379', 'NCT01607749', 'NCT06233344', 'NCT01269749', 'NCT00723008', 'NCT06034496', 'NCT04627480', 'NCT01167725', 'NCT00729625', 'NCT06493695', 'NCT01997008', 'NCT03809312', 'NCT05785884', 'NCT02901080', 'NCT05973461', 'NCT03898453', 'NCT05092854', 'NCT06066658', 'NCT05460845', 'NCT05990595', 'NCT04598386', 'NCT00012831', 'NCT04465136', 'NCT02690896', 'NCT04256811', 'NCT03784001', 'NCT04770181', 'NCT00823147', 'NCT03904771', 'NCT05885893', 'NCT03514355', 'NCT01860677', 'NCT00268827', 'NCT04115332', 'NCT01533415', 'NCT03094013', 'NCT02303145', 'NCT03060122', 'NCT03995914', 'NCT04069182', 'NCT01231711', 'NCT04016259', 'NCT00729118', 'NCT04776668', 'NCT03593070', 'NCT02067806', 'NCT03299803', 'NCT03805152', 'NCT00138437', 'NCT05394883', 'NCT00178373', 'NCT00746668', 'NCT04297657', 'NCT00636779', 'NCT01783652', 'NCT00223756', 'NCT00886730', 'NCT01287975', 'NCT03825471', 'NCT05126511', 'NCT03927885', 'NCT00958698', 'NCT02163967', 'NCT04679792', 'NCT02762734', 'NCT05384041', 'NCT02846740', 'NCT02453347', 'NCT02754973', 'NCT06036472', 'NCT01839864', 'NCT04626037', 'NCT03777267', 'NCT06109337', 'NCT06203717', 'NCT02203734', 'NCT01690962', 'NCT04393480', 'NCT02944136', 'NCT02778139', 'NCT04587531', 'NCT00536055', 'NCT05792475', 'NCT00554489', 'NCT04963907', 'NCT00279526', 'NCT06124014', 'NCT03332043', 'NCT04589364', 'NCT05387434', 'NCT02215551', 'NCT05359380', 'NCT01795131', 'NCT01973283', 'NCT05223530', 'NCT02419014', 'NCT04585685', 'NCT05811429', 'NCT02813447', 'NCT05309031', 'NCT02732561', 'NCT04502992', 'NCT00248924', 'NCT05576090', 'NCT02057081', 'NCT00866411', 'NCT02521480', 'NCT03367936', 'NCT01271803', 'NCT03182556', 'NCT02844452', 'NCT02174003', 'NCT03198156', 'NCT04332731', 'NCT04910282', 'NCT01734954', 'NCT02171936', 'NCT02549495', 'NCT00385528', 'NCT05304052', 'NCT00606801', 'NCT04808258', 'NCT04103086', 'NCT01277432', 'NCT05005624', 'NCT02468349', 'NCT06281288', 'NCT03210155', 'NCT01072032', 'NCT05801497', 'NCT02833129', 'NCT05402280', 'NCT03264248', 'NCT03983252', 'NCT01963767', 'NCT04602507', 'NCT02037568', 'NCT01244087', 'NCT05881122', 'NCT00539357', 'NCT05450588', 'NCT03757494', 'NCT02030522', 'NCT06022640', 'NCT06416878', 'NCT01265797', 'NCT00569309', 'NCT03792399', 'NCT05083221', 'NCT00248872', 'NCT03414424', 'NCT04828200', 'NCT03320109', 'NCT06342232', 'NCT00005498', 'NCT02606045', 'NCT03057184', 'NCT01325532', 'NCT03811808', 'NCT01803984', 'NCT05950477', 'NCT06242080', 'NCT03000985', 'NCT00902330', 'NCT01222481', 'NCT01488942', 'NCT00587769', 'NCT03978286', 'NCT03298308', 'NCT02548065', 'NCT03298178', 'NCT05310162', 'NCT03411863', 'NCT03881956', 'NCT04102696', 'NCT02962843', 'NCT04942171', 'NCT02087631', 'NCT03031236', 'NCT00339859', 'NCT02510898', 'NCT01949961', 'NCT03150095', 'NCT03222752', 'NCT05466773', 'NCT05950009', 'NCT05209438', 'NCT03033836', 'NCT00833898', 'NCT05698862', 'NCT04776681', 'NCT00831935', 'NCT04700696', 'NCT04254198', 'NCT02518178', 'NCT06426940', 'NCT03811132', 'NCT03389568', 'NCT04438018', 'NCT02411227', 'NCT02159885', 'NCT06497959', 'NCT01843608', 'NCT03689543', 'NCT06326151', 'NCT01235455', 'NCT00230945', 'NCT04751864', 'NCT01583933', 'NCT05063851', 'NCT05791981', 'NCT03222479', 'NCT00994279', 'NCT04567797', 'NCT02890615', 'NCT03325374', 'NCT04115033', 'NCT04533165', 'NCT03344562', 'NCT00499668', 'NCT04001322', 'NCT06270979', 'NCT02979782', 'NCT03369418', 'NCT04144257', 'NCT01422174', 'NCT01909011', 'NCT02992587', 'NCT02327104', 'NCT04126564', 'NCT05832710', 'NCT03230890', 'NCT02436785', 'NCT03737890', 'NCT02898233', 'NCT01282658', 'NCT01825915', 'NCT04682197', 'NCT02842229', 'NCT04180683', 'NCT00013845', 'NCT02419638', 'NCT00172549', 'NCT03927872', 'NCT00094133', 'NCT05923723', 'NCT03076632', 'NCT01993277', 'NCT04224961', 'NCT00928772', 'NCT03526523', 'NCT00403455', 'NCT03876652', 'NCT01523561', 'NCT02730988', 'NCT02515916', 'NCT02391766', 'NCT00928720', 'NCT05353738', 'NCT05627986', 'NCT00495768']]" +GARD:0000027,"['Cat-scratch disease', 'Bartonellosis due to Bartonella henselae infection']",[],[],"[['NCT01469702', 'NCT03132116']]",[[]] +GARD:0000028,"['Catel-Manzke syndrome', 'Hyperphalangy-clinodactyly of index finger with Pierre Robin syndrome', 'Index finger anomaly-Pierre Robin syndrome', 'Micrognathia digital syndrome', 'Palatodigital syndrome; Catel-Manzke type', 'Pierre Robin sequence-hyperphalangy-clinodactyly syndrome', 'Pierre Robin syndrome-hyperphalangy-clinodactyly syndrome']",[],[],[[]],[[]] +GARD:0000029,"['CHARGE syndrome', 'CHARGE association', 'Coloboma-heart defects-atresia choanae-retardation of growth and development-genitourinary problems-ear abnormalities syndrome', 'Hall-Hittner syndrome']",[],[],"[['NCT04463316', 'NCT05764980', 'NCT06475651', 'NCT03186144', 'NCT01314534']]",[[]] +GARD:0000031,"['Serpiginous choroiditis', 'Geographic helicoid peripapillary choroidopathy']",[],[],"[['NCT00407121', 'NCT00645697']]",[[]] +GARD:0000035,"['Tetrasomy 18p', 'Isochromosome 18p']",[],[],[[]],[[]] +GARD:0000037,"['Partial deletion of the short arm of chromosome 3', 'Partial deletion of chromosome 3p', 'Partial monosomy of chromosome 3p', 'Partial monosomy of the short arm of chromosome 3']",[],[],[[]],[[]] +GARD:0000039,['WT limb-blood syndrome'],[],[],[[]],[[]] +GARD:0000042,"['Tetrasomy 9p', 'Isochromosome 9p']",[],[],[[]],[[]] +GARD:0000043,"['Mosaic trisomy 9', 'Mosaic trisomy chromosome 9', 'Trisomy 9 mosaicism']",[],[],[[]],[[]] +GARD:0000044,"['Haim-Munk syndrome', 'Keratosis palmoplantaris-periodontopathia-onychogryposis syndrome', 'Palmoplantar hyperkeratosis-periodontopathia-onychogryposis syndrome', 'Palmoplantar keratoderma-periodontopathia-onychogryposis syndrome']",[],[],[[]],[[]] +GARD:0000045,"['Congenital varicella syndrome', 'Antenatal varicella virus infection', 'Mother-to-child transmission of varicella syndrome']",[],[],[['NCT05923970']],[[]] +GARD:0000047,"['Crigler-Najjar syndrome type 1', 'Bilirubin uridinediphosphate glucuronosyltransferase deficiency type 1', 'Bilirubin-UGT deficiency type 1']",[],[],[[]],[[]] +GARD:0000048,"['Isolated cytochrome C oxidase deficiency', 'Isolated COX deficiency', 'Isolated mitochondrial respiratory chain complex IV deficiency']",[],[],[[]],[[]] +GARD:0000049,"['De Barsy syndrome', 'Cutis laxa-corneal clouding-intellectual disability syndrome', 'Progeroid syndrome; De Barsy type']",[],[],[[]],[[]] +GARD:0000054,['Duodenal atresia'],[],[],"[['NCT03056261', 'NCT04114279', 'NCT06115226', 'NCT06394453', 'NCT03256669']]",[[]] +GARD:0000059,"['Spinocerebellar ataxia type 34', 'Erythrokeratodermia with ataxia', 'Spinocerebellar ataxia and erythrokeratodermia']",['SCA34'],[5],[['NCT01793168']],[[]] +GARD:0000060,"['Iridocorneal endothelial syndrome', 'ICE syndrome']",[],[],"[['NCT04025801', 'NCT03270761', 'NCT02020044', 'NCT00800111', 'NCT00001161']]",[[]] +GARD:0000061,"['Femoral-facial syndrome', 'Femoral hypoplasia-unusual facies syndrome']","['FFS', 'FHUFS']","[3, 5]",[[]],"[['NCT01250223', 'NCT02987517', 'NCT01503515', 'NCT02731716', 'NCT02434614', 'NCT02693782', 'NCT00577811', 'NCT03669354', 'NCT02807103', 'NCT01245959', 'NCT00399399', 'NCT02610556', 'NCT01896999', 'NCT06331481', 'NCT04415294', 'NCT02782403', 'NCT04049747', 'NCT03407885', 'NCT03723343', 'NCT05993611', 'NCT02858258', 'NCT01417390', 'NCT05520138', 'NCT05164822', 'NCT00354835', 'NCT00992030', 'NCT03366415', 'NCT01872962', 'NCT03832257', 'NCT00002995', 'NCT05193617', 'NCT06306573', 'NCT05429918', 'NCT02109809', 'NCT03904225', 'NCT05939986', 'NCT05304585', 'NCT00400075', 'NCT02116231', 'NCT03920722', 'NCT05622474', 'NCT06095167', 'NCT00677118', 'NCT02096380', 'NCT05214573', 'NCT01531621', 'NCT02940925', 'NCT06492460', 'NCT06290492', 'NCT02786641', 'NCT01769209', 'NCT04743999', 'NCT00647166', 'NCT01745068', 'NCT00704639', 'NCT03278782', 'NCT05457699', 'NCT02460887', 'NCT04794556', 'NCT04047147', 'NCT02576899', 'NCT00196144', 'NCT02289807', 'NCT00512915', 'NCT02337517', 'NCT02610010', 'NCT05116475', 'NCT03919552', 'NCT01911039', 'NCT02519816', 'NCT02760628', 'NCT05422599', 'NCT03457337', 'NCT03503136', 'NCT01982110', 'NCT02922361', 'NCT02958111', 'NCT05419843', 'NCT00514475', 'NCT02621970', 'NCT02174263', 'NCT02218359']]" +GARD:0000062,"['Filippi syndrome', 'Type 1 syndactyly-microcephaly-intellectual disability syndrome']",[],[],[[]],[[]] +GARD:0000064,"['Fountain syndrome', 'Deafness-skeletal dysplasia-coarse face with full lips syndrome', 'Deafness-skeletal dysplasia-lip granuloma syndrome', 'Hearing loss-skeletal dysplasia-coarse face with full lips syndrome', 'Hearing loss-skeletal dysplasia-lip granuloma syndrome']",[],[],[[]],[[]] +GARD:0000065,"['Galloway-Mowat syndrome', 'Galloway syndrome', 'Microcephaly-hiatus hernia-nephrotic syndrome', 'Nephrosis-neuronal dysmigration syndrome']",[],[],[[]],[[]] +GARD:0000066,"['Gorlin-Chaudhry-Moss syndrome', 'Craniofacial dysostosis-genital; dental; cardiac anomalies syndrome', 'Cranofacial dysostosis-hypertrichosis-hypoplasia of labia majora syndrome', 'Dental and eye anomalies-patent ductus arteriosus-normal intelligence syndrome', 'GCM syndrome']",[],[],[[]],[[]] +GARD:0000068,"['Hypoglossia-hypodactyly syndrome', 'Aglossia-adactylia syndrome', 'Hanhart syndrome', 'Jussieu syndrome']",[],[],[[]],[[]] +GARD:0000069,['Hantavirus pulmonary syndrome'],[],[],"[['NCT00533767', 'NCT00128180', 'NCT04323904', 'NCT05415904', 'NCT00001123', 'NCT03682107']]",[[]] +GARD:0000070,"['Kasabach-Merritt syndrome', 'Hemangioma-thrombocytopenia syndrome']",[],[],"[['NCT04448873', 'NCT02110069', 'NCT04077515', 'NCT03188068', 'NCT04409691', 'NCT04056962', 'NCT05351216', 'NCT05324384', 'NCT04775173']]",[[]] +GARD:0000073,"['X-linked hyper-IgM syndrome', 'Hyper-IgM syndrome due to CD40 ligand deficiency', 'Hyper-IgM syndrome due to CD40L deficiency', 'Hyper-IgM syndrome type 1']","['HIGM1', 'XHIGM']","[5, 5]","[['NCT00006319', 'NCT00001145', 'NCT00006054', 'NCT00266513', 'NCT00004341']]",[['NCT01998633']] +GARD:0000076,"['Hypohidrotic ectodermal dysplasia', 'Anhidrotic ectodermal dysplasia']",['HED'],[3],"[['NCT01992289', 'NCT01108770', 'NCT01564225', 'NCT04980638', 'NCT03912792', 'NCT04741412', 'NCT01293565', 'NCT01398813', 'NCT01629940', 'NCT05378932', 'NCT01109290', 'NCT02099552', 'NCT01342133', 'NCT01775462', 'NCT01135888', 'NCT01398397', 'NCT01871714', 'NCT01386775', 'NCT01629927', 'NCT01308333']]","[['NCT02899910', 'NCT03076489', 'NCT01992289', 'NCT01108770', 'NCT00756366', 'NCT03339986', 'NCT04027608', 'NCT02669563', 'NCT00586183', 'NCT04741412', 'NCT01293565', 'NCT03996460', 'NCT01851603', 'NCT01398813', 'NCT01847300', 'NCT04416711', 'NCT03769883', 'NCT04549454', 'NCT02404480', 'NCT01197352', 'NCT04535193', 'NCT01629940', 'NCT05802472', 'NCT04089137', 'NCT02216669', 'NCT01109290', 'NCT02184013', 'NCT02099552', 'NCT05378932', 'NCT02932241', 'NCT03344159', 'NCT05453539', 'NCT01135888', 'NCT05263271', 'NCT02116140', 'NCT01398397', 'NCT03337438', 'NCT01871714', 'NCT02481206', 'NCT06147206', 'NCT01386775', 'NCT04783519', 'NCT02372188', 'NCT01629927', 'NCT06094933', 'NCT04579068', 'NCT06436586', 'NCT04027426', 'NCT05372042', 'NCT04774770', 'NCT03191682', 'NCT01246037']]" +GARD:0000079,"['Metaphyseal chondrodysplasia, Jansen type']",[],[],[[]],[[]] +GARD:0000080,['Johanson-Blizzard syndrome'],['JBS'],[3],[[]],"[['NCT04671823', 'NCT01114399', 'NCT02902731']]" +GARD:0000081,"['Intellectual developmental disorder, x-linked, syndromic, turner type', 'mental retardation and macrocephaly syndrome', 'mental retardation; x-linked; with growth retardation; deafness; and microgenitalism', 'juberg-marsidi syndrome', 'mental retardation; x-linked; syndromic; brooks-wisniewski-brown type', 'Mental retardation; x-linked; syndromic; turner type', 'brooks-wisniewski-brown syndrome']",[],[],[[]],[[]] +GARD:0000082,"['KBG syndrome', 'Short stature-facial and skeletal anomalies-intellectual disability-macrodontia syndrome']",[],[],[['NCT06465641']],[[]] +GARD:0000083,['Autosomal dominant Kenny-Caffey syndrome'],[],[],[[]],[[]] +GARD:0000084,"['Lipodystrophy, congenital generalized, type 1', 'lipodystrophy; berardinelli-seip congenital; type 1', 'Berardinelli-seip congenital lipodystrophy; type 1', 'brunzell syndrome; agpat2-related']",[],[],[[]],[[]] +GARD:0000085,['Thanatophoric dysplasia'],['TD'],[2],[[]],"[['NCT00190008', 'NCT02726646', 'NCT05077137', 'NCT04301674', 'NCT04071574', 'NCT05652738', 'NCT01262924', 'NCT02498301', 'NCT05268341', 'NCT01559012', 'NCT03635112', 'NCT05444387', 'NCT06103539', 'NCT05717712', 'NCT03905551', 'NCT02898298', 'NCT06026124', 'NCT06514898', 'NCT02332408', 'NCT00885040', 'NCT00400309', 'NCT04427150', 'NCT00164242', 'NCT00328380', 'NCT02673255', 'NCT02518139', 'NCT05089981', 'NCT04245306', 'NCT06035666', 'NCT02340962', 'NCT02772159', 'NCT03927222', 'NCT04811339', 'NCT06525948', 'NCT03498300', 'NCT03916055', 'NCT01075581', 'NCT05677282', 'NCT01593514', 'NCT04143724', 'NCT00705692', 'NCT05294705', 'NCT06228885', 'NCT05480462', 'NCT06438432', 'NCT03400033', 'NCT03434080', 'NCT02193854', 'NCT06512649', 'NCT06387004', 'NCT00707148', 'NCT01467089', 'NCT02682355', 'NCT00751777', 'NCT03239210', 'NCT04607824', 'NCT02864589', 'NCT04289740', 'NCT01059474', 'NCT06135636', 'NCT03736213', 'NCT05506228', 'NCT04182828', 'NCT02487186', 'NCT02988557', 'NCT06156865', 'NCT04618939', 'NCT04250454', 'NCT03222167', 'NCT04522518', 'NCT03039491', 'NCT02459080', 'NCT00575653', 'NCT02689570', 'NCT02485587', 'NCT02035176', 'NCT02839369', 'NCT03885648', 'NCT05197764', 'NCT04833426', 'NCT05470088', 'NCT02625441', 'NCT03536351', 'NCT03214068', 'NCT00621634', 'NCT02225327', 'NCT05503459', 'NCT03002285', 'NCT01557673', 'NCT00651989', 'NCT01592708', 'NCT02064010', 'NCT00287820', 'NCT04456036', 'NCT02527499', 'NCT05382858', 'NCT00310661', 'NCT03062033', 'NCT02512510', 'NCT05518799', 'NCT04246112', 'NCT02301702', 'NCT01804920', 'NCT05691842', 'NCT03497013', 'NCT02567630', 'NCT04219280', 'NCT03538808', 'NCT03712072', 'NCT03063736', 'NCT05776199', 'NCT04570904', 'NCT02123654', 'NCT05108636', 'NCT06124742', 'NCT03615404', 'NCT00742469', 'NCT04277390', 'NCT05846815', 'NCT06187753', 'NCT00524732', 'NCT05950230', 'NCT01372514', 'NCT00837616', 'NCT04559776', 'NCT02394470', 'NCT06440109', 'NCT04436432', 'NCT02145715', 'NCT02850666', 'NCT03698331', 'NCT05727020', 'NCT05663580', 'NCT01273285', 'NCT04628715', 'NCT03054441', 'NCT01378455', 'NCT02716376', 'NCT01338688', 'NCT03554668', 'NCT02584972', 'NCT05924100', 'NCT04908969', 'NCT01391390', 'NCT04389931', 'NCT04752384', 'NCT01674621', 'NCT06330922', 'NCT04999228', 'NCT04465916', 'NCT03438994', 'NCT02757599', 'NCT06107829', 'NCT02405091', 'NCT03785327', 'NCT05698199', 'NCT05764993', 'NCT01547000', 'NCT06205160', 'NCT04607538', 'NCT03970980', 'NCT03688178', 'NCT03352440', 'NCT05730478', 'NCT02626689', 'NCT05047705', 'NCT01744795', 'NCT03002298', 'NCT02637271', 'NCT01746563', 'NCT03844087', 'NCT05079490', 'NCT03271671', 'NCT05936372', 'NCT03532581', 'NCT03888664', 'NCT00392093', 'NCT01035996', 'NCT01142089', 'NCT04207021', 'NCT03729219', 'NCT04322734', 'NCT00209027', 'NCT01585207', 'NCT00109330', 'NCT06127030', 'NCT05461001', 'NCT03817710', 'NCT02128230', 'NCT06004791', 'NCT06176976', 'NCT03629288', 'NCT01134484', 'NCT02766491', 'NCT06493786', 'NCT00686140', 'NCT03656601', 'NCT02519686', 'NCT00695812', 'NCT02439398', 'NCT03564132', 'NCT00926965', 'NCT05082727', 'NCT05314920', 'NCT01621672', 'NCT03353623', 'NCT05696769', 'NCT01103401', 'NCT03176771', 'NCT03287778', 'NCT04890717', 'NCT06152510', 'NCT05923450', 'NCT04587557', 'NCT02454413', 'NCT05325333', 'NCT04599530', 'NCT06073522', 'NCT01267058', 'NCT05982912', 'NCT02579109', 'NCT03373890', 'NCT01757288', 'NCT05185128', 'NCT04117464', 'NCT02097849', 'NCT05721456', 'NCT02035033', 'NCT02818205', 'NCT00993681', 'NCT04303078', 'NCT03225430', 'NCT01277705', 'NCT00128219', 'NCT02716428', 'NCT03688516', 'NCT02736955', 'NCT03661983', 'NCT00241878', 'NCT01993173', 'NCT03345329', 'NCT04425109', 'NCT01439165', 'NCT01912378', 'NCT01294605', 'NCT05650775', 'NCT01908452', 'NCT05857410', 'NCT03299309', 'NCT02193347', 'NCT03315624', 'NCT02578082', 'NCT01868334', 'NCT02918825', 'NCT01752790', 'NCT02946190', 'NCT00837707', 'NCT06169163', 'NCT05045729', 'NCT00707460', 'NCT02366728', 'NCT01005849', 'NCT05615220', 'NCT00001535', 'NCT03802201', 'NCT05421689', 'NCT05332912', 'NCT02439476', 'NCT01524380', 'NCT03589768', 'NCT05891249', 'NCT01521299', 'NCT04773626', 'NCT00061633', 'NCT04675385', 'NCT02488226', 'NCT00114595', 'NCT00807833', 'NCT00352339', 'NCT05520749', 'NCT04791124', 'NCT05942716', 'NCT01898793', 'NCT04879199', 'NCT05916339', 'NCT04291963', 'NCT02316145', 'NCT04621851', 'NCT05953545', 'NCT00442832', 'NCT04054921', 'NCT01953081', 'NCT02838316', 'NCT05053321', 'NCT03495440', 'NCT05209204', 'NCT03001570', 'NCT00097175', 'NCT06491875', 'NCT06122870', 'NCT01267188', 'NCT01738477', 'NCT05859698', 'NCT03535779', 'NCT06388343', 'NCT06099457', 'NCT02647632', 'NCT03813238', 'NCT05609994', 'NCT06001866', 'NCT04963413', 'NCT03383653', 'NCT02940496', 'NCT03934879', 'NCT04357951', 'NCT05761834', 'NCT03665415', 'NCT00033787', 'NCT03303547', 'NCT00349115', 'NCT05098392', 'NCT04900519', 'NCT05480943', 'NCT02576925', 'NCT02864368', 'NCT05609149', 'NCT00959075', 'NCT03535272', 'NCT02563145', 'NCT02233348', 'NCT00601835', 'NCT04710732', 'NCT00004735', 'NCT02719067', 'NCT02755051', 'NCT02274558', 'NCT02851823', 'NCT03807622', 'NCT05844514', 'NCT04838496', 'NCT03508245', 'NCT06164821', 'NCT03418038', 'NCT03006744', 'NCT05480917', 'NCT01702194', 'NCT04878302', 'NCT03468959', 'NCT01682915', 'NCT04558541', 'NCT05996575', 'NCT02000284', 'NCT00938054', 'NCT01733121', 'NCT06144775', 'NCT06002100', 'NCT02105155', 'NCT06155526', 'NCT04996472', 'NCT01033877', 'NCT06284395', 'NCT00953823', 'NCT02783170', 'NCT03254992', 'NCT05133037', 'NCT03396575', 'NCT03525951', 'NCT02527356', 'NCT02837172', 'NCT02548442', 'NCT01040325', 'NCT00536120', 'NCT04026295', 'NCT02155894', 'NCT02882698', 'NCT03891862', 'NCT01287949', 'NCT00303368', 'NCT06092333', 'NCT02215863', 'NCT06111898', 'NCT01418352', 'NCT02977546', 'NCT00672373', 'NCT00118313', 'NCT02247986', 'NCT03425669', 'NCT01465087', 'NCT03351530', 'NCT02529072', 'NCT06413316', 'NCT04889300', 'NCT02279654', 'NCT00416091', 'NCT02209623', 'NCT03254186', 'NCT05649930', 'NCT06051838', 'NCT01314326', 'NCT00241176', 'NCT06069271', 'NCT04074382', 'NCT02680522', 'NCT06517875', 'NCT03495024', 'NCT04531514', 'NCT05313503', 'NCT01798563', 'NCT00164411', 'NCT02725619', 'NCT00457249', 'NCT06332144', 'NCT04432974', 'NCT03690843', 'NCT04265924', 'NCT01618591', 'NCT01688037', 'NCT05447299', 'NCT00289861', 'NCT01721473', 'NCT06160193', 'NCT02996669', 'NCT05717699', 'NCT04633473', 'NCT03845959', 'NCT00255879', 'NCT02517333', 'NCT03552445', 'NCT03609502', 'NCT01339000', 'NCT05096481', 'NCT05127993']]" +GARD:0000086,['Chudley-McCullough syndrome'],[],[],[[]],[[]] +GARD:0000087,"['Microphthalmia, Lenz type', 'Lenz microphthalmia']",[],[],[[]],[[]] diff --git a/RDAS_CTKG_REMAKE/expansion_compare.py b/RDAS_CTKG_REMAKE/expansion_compare.py new file mode 100644 index 0000000..79a82f3 --- /dev/null +++ b/RDAS_CTKG_REMAKE/expansion_compare.py @@ -0,0 +1,51 @@ +import pandas as pd +import ast + +term_df = pd.read_csv('/home/leadmandj/RDAS/RDAS_CTKG_REMAKE/acronym_test_expansion_term.csv', index_col=False) +concept_df = pd.read_csv('/home/leadmandj/RDAS/RDAS_CTKG_REMAKE/acronym_test_expansion_concept.csv', index_col=False) +none_df = pd.read_csv('/home/leadmandj/RDAS/RDAS_CTKG_REMAKE/acronym_test_expansion_none.csv', index_col=False) + +def compare (df1,df2): + r,c = df1.shape + for idx in range(r): + greaterVal = None + compare_lst = None + row1 = df1.iloc[idx] + row2 = df2.iloc[idx] + + gard1 = row1['GARD'] + gard2 = row2['GARD'] + + terms1 = row1['ORIG_TERMS'] + terms2 = row2['ORIG_TERMS'] + + trials1 = ast.literal_eval(row1['FILTERED_TRIALS'])[0] + trials2 = ast.literal_eval(row2['FILTERED_TRIALS'])[0] + + if len(trials1) > len(trials2): + greaterVal = 'term' + compare_lst = list(set(trials1) - set(trials2)) + elif len(trials2) > len(trials1): + greaterVal = 'concept' + compare_lst = list(set(trials2) - set(trials1)) + else: + greaterVal = 'same size' + compare_lst = list(set(trials2) - set(trials1)) + + print(gard1, idx) + print(terms1) + print(compare_lst) + print(greaterVal) + + df2.at[idx,'isLarger'] = greaterVal + df2.at[idx,'NEW_TRIALS'] = str(compare_lst) + + print('|||||||||||||||||') + + print('----------------') + df2.to_csv('/home/leadmandj/RDAS/RDAS_CTKG_REMAKE/acronym_test_expansion_concept_new_trials.csv', index=False) + + +compare(term_df, concept_df) +print('----------------------------') +#compare(term_df, none_df) \ No newline at end of file diff --git a/RDAS_GARD/methods.py b/RDAS_GARD/methods.py index 3fe5280..c80dce5 100755 --- a/RDAS_GARD/methods.py +++ b/RDAS_GARD/methods.py @@ -1,13 +1,14 @@ import os +import sys +workspace = os.path.dirname(os.path.abspath(__file__)) +sys.path.append(workspace) +sys.path.append('/home/leadmandj/RDAS') import json -from skr_web_api import Submission, METAMAP_INTERACTIVE_URL +#from skr_web_api import Submission, METAMAP_INTERACTIVE_URL from unidecode import unidecode from AlertCypher import AlertCypher import re import requests -import sys -workspace = os.path.dirname(os.path.abspath(__file__)) -sys.path.append(workspace) import sysvars from datetime import datetime, date from http import client @@ -118,7 +119,7 @@ def create_disease_node(db, data, xrefs): # Include xrefs into GARD node instead "syns":data[6], "orpha":results['Orphanet'] if 'Orphanet' in results else None, "icd10":results['ICD-10'] if 'ICD-10' in results else None, - "umls":results['UMLS'] if 'UMLS' in results else None, + "umls":list(set(results['UMLS'])) if 'UMLS' in results else None, "omim":results['OMIM'] if 'OMIM' in results else None, "snomed":results['SNOMED-CT'] if 'SNOMED-CT' in results else None, "diseaseontology":results['DiseaseOntology'] if 'DiseaseOntology' in results else None, @@ -315,7 +316,7 @@ def get_remaining_umls(db, umls_update=True): INSTANCE.form['SingLinePMID'] = True print('GATHERING GARD UMLS DATA') - db.run('MATCH (x:GARD) WHERE x.UMLS IS NOT NULL SET x.UMLS_Source = "DATALAKE"') + db.run('MATCH (x:GARD) WHERE x.UMLS IS NOT NULL SET x.UMLS_Source = "GARD"') res = db.run('MATCH (x:GARD) WHERE x.UMLS IS NULL SET x.UMLS_Source = "METAMAP" RETURN x.GardId AS gard_id, x.GardName as gard_name').data() gard_strs = [f"{i['gard_id'].replace('GARD:','')}|{normalize(i['gard_name'])}\n" for i in res if i['gard_name']] diff --git a/RDAS_GARD/run_node_counts.py b/RDAS_GARD/run_node_counts.py new file mode 100644 index 0000000..29e99bb --- /dev/null +++ b/RDAS_GARD/run_node_counts.py @@ -0,0 +1,2 @@ +import methods as rdas +rdas.get_node_counts() \ No newline at end of file diff --git a/RDAS_GFKG/methods.py b/RDAS_GFKG/methods.py index 21063f2..472774d 100755 --- a/RDAS_GFKG/methods.py +++ b/RDAS_GFKG/methods.py @@ -764,7 +764,7 @@ def grad_id(title_, Public_health_relevance_statement, abstract_): else: return normalize_combined_dictionary(title_,title_,name,{},{},{},1,1,'title') if Public_health_relevance_statement and isinstance(Public_health_relevance_statement, str): - A, B, C,D = check_sen(Public_health_relevance_statement, nlp) + A, B, C,D = check_sen(Public_health_relevance_statement) name1 = get_gard_abstract_stem_exact(A) name2 = get_gard_abstract_stem_exact(B) name3 = get_gard_abstract_stem_exact(C) @@ -773,7 +773,7 @@ def grad_id(title_, Public_health_relevance_statement, abstract_): if name and (name !={}): return name if abstract_ and isinstance(abstract_, str): - A, B, C , D = check_sen(abstract_, nlp) + A, B, C , D = check_sen(abstract_) name1 = get_gard_abstract_stem_exact(A) name2 = get_gard_abstract_stem_exact(B) name3 = get_gard_abstract_stem_exact(C) @@ -781,7 +781,7 @@ def grad_id(title_, Public_health_relevance_statement, abstract_): name=normalize_combined_dictionary(abstract_,title_,name1,name2,name3,name4,0,0.7,'abstract') if name and (name !={}): return name -def GardNameExtractor(project_title,phr_text,abstract_text, nlp): +def GardNameExtractor(project_title,phr_text,abstract_text): #Abstract1['Gard_name']=Abstract1.apply(lambda x: gard_id(x['project_title'],x['phr_text'],x['abstract_text']), axis=1) gard_ids = grad_id(project_title,phr_text,abstract_text) if gard_ids: diff --git a/RDAS_GFKG/prep_neo4j_data.py b/RDAS_GFKG/prep_neo4j_data.py index 025f13d..ea3ab27 100755 --- a/RDAS_GFKG/prep_neo4j_data.py +++ b/RDAS_GFKG/prep_neo4j_data.py @@ -74,9 +74,10 @@ def aggregate_disease_data(): # Rename GARD-Project mapping results columns to match the names listed in the GARD data normmap_df = pd.read_csv(data_neo4j('normmap_results.csv'),index_col=False,usecols=['ID','GARD_id','CONF_SCORE','SEM_SIM']) normmap_df = normmap_df.rename(columns={'ID':'APPLICATION_ID'}) - + # Split tuple normmap result into 2 seperate columns normmap_df[['GARD_NAME', 'GARD_ID']] = normmap_df['GARD_id'].str.extract(r'\(\'(.*?)\', \'(.*?)\'\)') + # drop the original column normmap_df.drop('GARD_id', axis=1, inplace=True) @@ -127,6 +128,11 @@ def batch_normmap(df, thr, year): gard_ids = rdas.GardNameExtractor(title, phr, abstract) if gard_ids: for gard,add_data in gard_ids.items(): + # Cleans up instances where gard name has an apostrophe in the name and has 2 sets of double quotes around it rather than one set of single quotes + pat = re.sub(r"\"\"|(\")(\'')",'\'', gard).replace('\'', '').replace('(', '').replace(')', '') + quoted_text = "'{}', '{}'".format(pat.split(",")[0].strip(), pat.split(",")[1].strip()) + gard = "({})".format(quoted_text) + if add_data == 1: add_data = [1,1] with lock: @@ -152,25 +158,32 @@ def run_normmap(): print(abs_file, ' -merged- ',prj_file) tmp = pd.read_csv(('{filename}'.format(filename=abs_file)),index_col=False, encoding = "ISO-8859-1") tmp2 = pd.read_csv(('{filename}'.format(filename=prj_file)),index_col=False, usecols=['APPLICATION_ID','PHR', 'PROJECT_TITLE'], encoding = "ISO-8859-1", low_memory=False) - merged_df = pd.merge(tmp, tmp2, on=['APPLICATION_ID']) + merged_df = pd.merge(tmp, tmp2, on=['APPLICATION_ID'], how='outer', indicator='EXISTS_IN_ABSTRACT_FILE') + #merged_df.fillna('', inplace=True) merged_df['APPLICATION_ID'] = merged_df['APPLICATION_ID'].astype(int) merged_df.to_csv(data_raw(f'normmap/RePORTER_NORMMAP_{year}.csv'), index=False) - + norm_files = glob.glob(data_raw('normmap') + '/*.csv') norm_files = sorted(norm_files) for norm_file in norm_files: year = re.findall(r'\d+', norm_file)[0] - if os.path.exists(data_neo4j(f'normmap/normmap_results_{year}.csv')): + + if os.path.exists(data_neo4j(f'normmap/normmap_results_{year}.csv')): #COMMENTED OUT FOR TESTING print(f'{year} Gard-Project mapping file already exists... bypassing') continue # Create CSV files headers - with open(data_neo4j(f'normmap/normmap_results_{year}.csv'), "w") as f: + with open(data_neo4j(f'normmap/normmap_results_{year}.csv'), "w") as f: #COMMENTED OUT FOR TESTING f.writelines(['ID|GARD_id|CONF_SCORE|SEM_SIM\n']) df = pd.read_csv(norm_file, index_col=False, low_memory=False) - chunk_size = int(len(df)/5) thread_list = list() + + #df = df[df['EXISTS_IN_ABSTRACT_FILE']=='right_only'] #TEST + #df = df[['APPLICATION_ID', 'ABSTRACT_TEXT', 'PHR', 'PROJECT_TITLE']] #TEST + + chunk_size = int(len(df)/5) + list_df = [df[i:i+chunk_size] for i in range(0,len(df),chunk_size)] # Create threads to process results @@ -185,10 +198,14 @@ def run_normmap(): combine_normmap_results() print('GARD to Project connections made') + + def get_RD_project_ids(): # Get GARD to Project mappings - run_normmap() + #run_normmap() aggregate_disease_data() + exit() #TEST + apps = pd.read_csv(data_neo4j("normmap_results.csv"), usecols=["ID"]) # Drop duplicate results and sort by Application ID @@ -275,7 +292,8 @@ def find_RD_apps(input_file, rd_ids): print('Finished ', output_file) def clean_pi (pi_info): - pi_info = pi_info[:len(pi_info)-1] + pi_info = pi_info.replace(";","") + if pi_info == "\", \"": pi_info = "\"\"" return pi_info def cleanup_project_IC_NAME_totalcost(): @@ -307,7 +325,6 @@ def cleanup_project_IC_NAME_totalcost(): # Results are listed as a string seperated by semi-colons, this removes the last semi-colon in the string because it causes issues when converting to a list app['PI_IDS'] = app['PI_IDS'].astype(str) app['PI_NAMEs'] = app['PI_NAMEs'].astype(str) - app['PI_IDS'] = app['PI_IDS'].apply(clean_pi) app['PI_NAMEs'] = app['PI_NAMEs'].apply(clean_pi) @@ -608,13 +625,14 @@ def annotate_grant_abstracts(): # Annotate text with four scispaCy models - for model in MODELS: + for model in MODELS[2:]: print(f'*** Annotate with {model} model ***') nlp = load_model(model) for file in input_files: year = file[-8:-4] - + if int(year) < 2006 and model == 'en_ner_bc5cdr_md': + continue try: text = pd.read_csv(file, encoding=ENCODING, dtype={'APPLICATION_ID':int, 'ABSTRACT_TEXT':str}) @@ -770,7 +788,7 @@ def prep_data(data_raw_path: str, data_neo4j_path: str) -> FilesToAdd: ############################################## # Run preprocessing stages one after another.# ############################################## - """ + print('Running get_disease_data') get_disease_data() print("Running get_RD_project_ids") @@ -779,10 +797,8 @@ def prep_data(data_raw_path: str, data_neo4j_path: str) -> FilesToAdd: merge_project_funding() print("Running select_RD_projects") select_RD_projects() - print("Running cleanup_project_IC_NAME_totalcost") cleanup_project_IC_NAME_totalcost() - print("Running find_RD_core_projects") find_RD_core_projects() print("Running select_RD_patents") @@ -807,6 +823,7 @@ def prep_data(data_raw_path: str, data_neo4j_path: str) -> FilesToAdd: and v in [pygit2.GIT_STATUS_WT_MODIFIED, pygit2.GIT_STATUS_WT_NEW]} ''' + print("Running annotation_preprocess_grant") annotation_preprocess_grant() @@ -818,6 +835,7 @@ def prep_data(data_raw_path: str, data_neo4j_path: str) -> FilesToAdd: clean_annotation_source() print("Running map_semantic_types") map_semantic_types() + print("Running fix_escaped_endings") fix_escaped_endings() @@ -831,7 +849,7 @@ def prep_data(data_raw_path: str, data_neo4j_path: str) -> FilesToAdd: p = Popen(['scp', '-r', '-i', f'~/.ssh/id_rsa', f'{sysvars.gnt_files_path}/processed/', f'{sysvars.current_user}@{target_url}:{sysvars.gnt_files_path}'], encoding='utf8') p.wait() print('Transfer done...') - """ + # Gets the names of every processed file added for the rest of the code to add to the neo4j fta = {} for subdir in FilesToAdd.__dict__['__annotations__'].keys(): diff --git a/RDAS_GFKG/steps.py b/RDAS_GFKG/steps.py index 7f5e824..837d4db 100755 --- a/RDAS_GFKG/steps.py +++ b/RDAS_GFKG/steps.py @@ -310,13 +310,10 @@ """, "query": """ - WITH split(data.PI_IDS, ';') as ids, - split(data.PI_NAMEs, ';') as names, data - UNWIND [x in range(0, coalesce(size(ids) - 1, -1)) | - [trim(split(ids[x], '(')[0]), trim(split(names[x], '(')[0])] - ] as pi_data + WITH [data.PI_IDS] as ids, [data.PI_NAMEs] as names, data + UNWIND [x in range(0, coalesce(size(ids) - 1, -1)) | [trim(split(ids[x], '(')[0]), trim(split(names[x], '(')[0])]] as pi_data MERGE (p:PrincipalInvestigator { - pi_id: pi_data[0], + pi_id: coalesce(pi_data[0], ""), pi_name: coalesce(pi_data[1], ""), org_state: coalesce(data.ORG_STATE, ""), org_name: coalesce(data.ORG_NAME, "")}) diff --git a/RDAS_GFKG/update_grant.py b/RDAS_GFKG/update_grant.py index b85bf96..64f2ed3 100755 --- a/RDAS_GFKG/update_grant.py +++ b/RDAS_GFKG/update_grant.py @@ -58,6 +58,6 @@ def main(db: AlertCypher, restart_raw=False, restart_processed=False): fta = prep_data(f"{sysvars.gnt_files_path}raw", f"{sysvars.gnt_files_path}processed") # run database upgrade steps on only new/modified files - for step in steps[10:]: + for step in steps: print("\n\n" + step["description"] + "...") - step_to_fn(**step)(db, fta) + step_to_fn(**step)(db, fta) \ No newline at end of file diff --git a/RDAS_PAKG/NaturalHistory4GARD b/RDAS_PAKG/NaturalHistory4GARD index 1fef421..bdca102 160000 --- a/RDAS_PAKG/NaturalHistory4GARD +++ b/RDAS_PAKG/NaturalHistory4GARD @@ -1 +1 @@ -Subproject commit 1fef421c7c86fa6f6c8bc5db581e65a5613290dd +Subproject commit bdca1024c249bf44ae4fd247a7b605bb7b5780ce diff --git a/RDAS_PAKG/epi4GARD b/RDAS_PAKG/epi4GARD index 5d6e097..a9cada5 160000 --- a/RDAS_PAKG/epi4GARD +++ b/RDAS_PAKG/epi4GARD @@ -1 +1 @@ -Subproject commit 5d6e0975cd08aea9328c845514f36638d80e510f +Subproject commit a9cada51493284982dbd5bffdfd109e1e57b63eb diff --git a/RDAS_PAKG/methods.py b/RDAS_PAKG/methods.py index a4b1b05..fbd3292 100644 --- a/RDAS_PAKG/methods.py +++ b/RDAS_PAKG/methods.py @@ -668,7 +668,7 @@ def fetch_abstracts(pubmedIDs): -def fetch_pubtator_annotations(pubmedId): +def fetch_pubtator_annotations(pubmedIDs,retry=0): """ Fetch annotations from PubTator for a given PubMed ID. @@ -685,29 +685,44 @@ def fetch_pubtator_annotations(pubmedId): >> print(annotations) {'documents': [{'infons': {}, 'passages': [...], 'annotations': [...], ...}]} """ + # Splits pubmedIDs into batches of < 100 due to API limit + batches = [pubmedIDs[i * 99:(i + 1) * 99] for i in range((len(pubmedIDs) + 99 - 1) // 99 )] + + for batch_num, batch in enumerate(batches): + try: + print('BATCH NUM::', str(batch_num)) - try: + str_batch = ",".join(batch) # Construct the PubTator API URL for the given PubMed ID - pubtatorUrl = "https://www.ncbi.nlm.nih.gov/research/pubtator-api/publications/export/biocjson?pmids=" + pubmedId - - # Make a GET request to fetch PubTator annotations - r = requests.get(pubtatorUrl) - - # Check if the response is sucessful and not empty - if (not r or r is None or r ==''): - logging.error(f'Can not find PubTator for: {pubmedId}') - return None - else: - return r.json() + pubtatorUrl = "https://www.ncbi.nlm.nih.gov/research/pubtator-api/publications/export/biocjson?pmids=" + str_batch + + # Make a GET request to fetch PubTator annotations + r = requests.get(pubtatorUrl) + time.sleep(0.34) #limits to 3 queries a second aka API limit + + # Check if the response is sucessful and not empty + if (not r or r is None or r ==''): + print(f'fetch_pubtator_annotations: api response empty or not successful') + retry += 1 + print('RETRY QUERY:', retry) + if retry < 6: + time.sleep(1) #wait 1 second + fetch_pubtator_annotations(pubmedIDs,retry=retry) + else: + yield None + + else: + yield r.json() - except TimeoutError as e: - #Retry after a short delay if a timeout error occurs - time.sleep(1) - fetch_pubtator_annotations(pubmedId) + except TimeoutError as e: + #Retry after a short delay if a timeout error occurs + print(e) + continue - except ValueError as e: - # Return None if theres an issue parsing the response as JSON - return None + except ValueError as e: + # Return None if theres an issue parsing the response as JSON + print(e) + continue @@ -1049,13 +1064,16 @@ def create_keywords(tx, abstractDataRel, article_node): MERGE (k:Keyword {keyword:$keyword}) MERGE (k)- [r:KEYWORD_FOR] -> (a) ''' - - for keyword in abstractDataRel: - if keyword: - tx.run(create_keyword_query, args={ - "article_id":article_node, - "keyword": keyword - }) + # Some articles have all the keywords in one field, therefore we must convert the text to a list if needed + for keyword_field in abstractDataRel: + if keyword_field: + #keyword_field_list = [x.strip() for x in keyword_field.split(', ')] + for keyword in keyword_field: + keyword = keyword.lower() + tx.run(create_keyword_query, args={ + "article_id":article_node, + "keyword": keyword + }) @@ -1349,13 +1367,13 @@ def create_chemicals(tx, abstractDataRel, article_node): create_chemicals_query = ''' MATCH (a:Article) WHERE id(a) = $article_id - MERGE (u:Substance {name:$name, registryNumber:$registryNumber}) - [r:SUBSTANCE_ANNOTATED_BY_PUBMED] -> (a) + MERGE (u:Substance {name:$name, registryNumber:$registryNumber}) MERGE (u)-[r:SUBSTANCE_ANNOTATED_BY_PUBMED]->(a) ''' for chemical in abstractDataRel: tx.run(create_chemicals_query, args={ "article_id":article_node, - "name": chemical['name'] if 'name' in chemical else '', + "name": chemical['name'].lower() if 'name' in chemical else '', "registryNumber": chemical['registryNumber'] if 'registryNumber' in chemical else '', }) @@ -1384,21 +1402,6 @@ def create_annotations(tx, pubtatorData, article_node, today): """ if pubtatorData: - create_annotations_query = ''' - MATCH(a:Article) WHERE id(a) = $article_id - MERGE (pa:PubtatorAnnotation { - text = $text - }) - ON MATCH - SET LastUpdatedRDAS = $rdasupdated - ON CREATE - SET infons_identifier:$infons_identifier - SET DateCreatedRDAS = $rdascreated - SET LastUpdatedRDAS = $rdasupdated - SET infons_type = $infons_type - MERGE (pa)- [r:ANNOTATION_FOR { type: $type }] -> (a) - ''' - for passage in pubtatorData['passages']: type = passage['infons']['type'] if 'type' in passage['infons'] else '' @@ -1420,10 +1423,72 @@ def create_annotations(tx, pubtatorData, article_node, today): temp = temp.split(",") except: pass - parameters['text'] = temp + parameters['text'] = [x.lower() for x in temp] #lowercases all elements in list + + # Check for other connected pubtator annotation relationships and identify the type sources ('title', 'abstract', or 'title and abstract') + # Ex. List of Values; if value is 'title and abstract' then it will be ['title','abstract'] + check = tx.run('MATCH (pa:PubtatorAnnotation {{ text: {text}, infons_type: \'{infons_type}\', infons_identifier: \'{infons_identifier}\' }})-[r:ANNOTATION_FOR]->(a:Article) WHERE ID(a) = {article_id} RETURN DISTINCT r.type as rel_type, ID(r) as rel_id' + .format(text=parameters['text'], + article_id=parameters['article_id'], + infons_type=parameters['infons_type'], + infons_identifier=parameters['infons_identifier'], + type=parameters['type'])).data() + + if len(check) > 0: + existing_type = check[0]['rel_type'] # is a list + incoming_type = parameters['type'] + existing_id = check[0]['rel_id'] + + if existing_type == ['Abstract'] and incoming_type == 'abstract': + continue + if existing_type == ['Title'] and incoming_type == 'title': + continue + if existing_type == ['Title', 'Abstract'] and incoming_type == 'title and abstract': + continue + if existing_type == ['Title', 'Abstract'] and incoming_type == 'title': + continue + if existing_type == ['Title', 'Abstract'] and incoming_type == 'abstract': + continue + + if existing_type == ['Title'] and incoming_type == 'abstract': + parameters['type'] = ['Title', 'Abstract'] + elif existing_type == ['Abstract'] and incoming_type == 'title': + parameters['type'] = ['Title', 'Abstract'] + + tx.run('MATCH ()-[r:ANNOTATION_FOR]->() WHERE ID(r) = {existing_id} SET r.type = {new_type}'.format(existing_id=existing_id, new_type=parameters['type'])) + continue + + else: + type_temp = parameters['type'] + if type_temp == 'title and abstract': + parameters['type'] = ['Title', 'Abstract'] + elif type_temp == 'title': + parameters['type'] = ['Title'] + elif type_temp == 'abstract': + parameters['type'] = ['Abstract'] + + + # Develop Neo4j Query to Populate Annotations (New Node Only) + create_annotations_query = ''' + MATCH (a:Article) WHERE id(a) = {article_id} + MERGE (pa:PubtatorAnnotation {{ text: {text}, infons_type: \'{infons_type}\', infons_identifier: \'{infons_identifier}\' }}) + ON CREATE + SET pa.infons_identifier = \'{infons_identifier}\' + SET pa.DateCreatedRDAS = \'{rdascreated}\' + SET pa.LastUpdatedRDAS = \'{rdasupdated}\' + SET pa.text = {text} + SET pa.infons_type = \'{infons_type}\' + MERGE (pa)-[r:ANNOTATION_FOR {{ type: {type} }} ]-> (a) + '''.format(text=parameters['text'], + article_id=parameters['article_id'], + infons_type=parameters['infons_type'], + rdasupdated=parameters['rdasupdated'], + rdascreated=parameters['rdascreated'], + infons_identifier=parameters['infons_identifier'], + type=parameters['type']) # Execute the Cypher query to create PubtatorAnnotation nodes and associate them with the Article node - txout = tx.run(create_annotations_query, args=parameters) + txout = tx.run(create_annotations_query) @@ -1877,37 +1942,59 @@ def gather_pubtator(db, today): Returns: None """ + in_progress = db.getConf('UPDATE_PROGRESS', 'pubmed_in_progress') + if in_progress == 'True': + current_step = db.getConf('UPDATE_PROGRESS', 'pubmed_pubtator_article_progress') + if not current_step == '': + current_step = int(current_step) + else: + current_step = 0 + else: + current_step = 0 # Retrieve articles without Pubtator annotations - res = db.run('MATCH (x:Article) WHERE NOT (x)--(:PubtatorAnnotation) AND x.pubmed_id IS NOT NULL AND x.hasPubtatorAnnotation IS NULL RETURN x.pubmed_id AS pmid, ID(x) AS id').data() + #res = db.run('MATCH (x:Article) WHERE NOT (x)--(:PubtatorAnnotation) AND x.pubmed_id IS NOT NULL AND x.hasPubtatorAnnotation IS NULL RETURN x.pubmed_id AS pmid, ID(x) AS id').data() + #print(len(res)) + + res = db.run('MATCH (x:Article) WHERE x.pubmed_id IS NOT NULL AND x.hasPubtatorAnnotation IS NULL RETURN x.pubmed_id AS pmid, ID(x) AS id').data() print(len(res)) # Set OMIM only articles to hasPubtatorAnnotation = False since they dont have pubmed_id's db.run('MATCH (x:Article) WHERE x.pubmed_id IS NULL AND x.hasPubtatorAnnotation IS NULL SET x.hasPubtatorAnnotation = FALSE') - + # Iterate over the articles and fetch Pubtator annotations - for idx,r in enumerate(res): - print(idx) + res = res[current_step:] + pmids = [r['pmid'] for r in res] + pmid_to_id = {r['pmid']:r['id'] for r in res} - pmid = r['pmid'] - ID = r['id'] - try: - # Fetch Pubtator annotations for the article - print(ID) - annos = fetch_pubtator_annotations(pmid) - - if annos: - # Create PubtatorAnnotation nodes in the database - create_annotations(db, annos, ID, today) - db.run(f'MATCH (a:Article) WHERE ID(a) = {ID} SET a.hasPubtatorAnnotation = TRUE') - print('annotations created') #TEST - else: - db.run(f'MATCH (a:Article) WHERE ID(a) = {ID} SET a.hasPubtatorAnnotation = FALSE') - print('annotation not created') #TEST + try: + # Fetch Pubtator annotations for the article + for batch in fetch_pubtator_annotations(pmids): + if not batch: + continue + + annos = batch['PubTator3'] + + for anno in annos: + cur_pmid = str(anno['pmid']) + article_id = pmid_to_id[cur_pmid] + + if anno: + # Create PubtatorAnnotation nodes in the database + print('ARTICLE_ID::', article_id, 'CURRENT_STEP::', current_step) + + create_annotations(db, anno, article_id, today) + db.run(f'MATCH (a:Article) WHERE ID(a) = {article_id} SET a.hasPubtatorAnnotation = TRUE') + else: + db.run(f'MATCH (a:Article) WHERE ID(a) = {article_id} SET a.hasPubtatorAnnotation = FALSE') + current_step += 1 + db.setConf('UPDATE_PROGRESS', 'pubmed_pubtator_article_progress', str(current_step)) + - except Exception as e: - logging.warning(f'\nException creating annotations for article {pmid}: {e}') + except Exception as e: + #logging.warning(f'\nException creating annotations for article {pmid}: {e}') + print('error in gather_pubtator') @@ -1956,7 +2043,7 @@ def gather_epi(db, today): def download_genereview_articles(): if not os.path.exists(f'{sysvars.base_path}pubmed/src/genereviews_pmid.txt'): - command = f'curl -L -X GET https://ftp.ncbi.nih.gov/pub/GeneReviews/GRtitle_shortname_NBKid.txt -o {sysvars.base_path}pubmed/src/genereviews_pmid.txt' + command = f'curl -L -X GET https://ftp.ncbi.nih.gov/pub/GeneReviews/GRtitle_shortname_NBKid.txt -o {sysvars.pm_files_path}genereviews_pmid.txt' os.system(command) @@ -1969,7 +2056,7 @@ def generate_missing_genereviews(response, review_list, df): missing = [int(i) for i in missing] df = df[df['PMID'].isin(missing)] - df.to_csv(f'{sysvars.base_path}pubmed/src/genereviews_pmid_missing.csv') + df.to_csv(f'{sysvars.pm_files_path}genereviews_pmid_missing.csv') @@ -1977,7 +2064,7 @@ def generate_missing_genereviews(response, review_list, df): def label_genereview(db): download_genereview_articles() - df = pd.read_csv(f'{sysvars.base_path}pubmed/src/genereviews_pmid.txt', encoding='ISO-8859-1', sep='\t') + df = pd.read_csv(f'{sysvars.pm_files_path}genereviews_pmid.txt', encoding='ISO-8859-1', sep='\t') review_list = df['PMID'].tolist() review_list = [str(i) for i in review_list] @@ -2075,7 +2162,11 @@ def retrieve_articles(db, last_update, updating_to, today): # End of the pipeline, resets the config in_progress values db.setConf('UPDATE_PROGRESS', 'pubmed_current_step', '') + db.setConf('UPDATE_PROGRESS', 'pubmed_disease_article_progress', '') + db.setConf('UPDATE_PROGRESS', 'pubmed_omim_article_progress', '') + db.setConf('UPDATE_PROGRESS', 'pubmed_pubtator_article_progress', '') db.setConf('UPDATE_PROGRESS', 'pubmed_in_progress', 'False') + else: print('Update in progress... bypassing save_gene') @@ -2144,6 +2235,7 @@ def update_missing_abstracts(db, today): response = db.run(query).data() length = len(response) + print(length) # Iterate over articles with missing abstracts for idx,res in enumerate(response): @@ -2158,6 +2250,7 @@ def update_missing_abstracts(db, today): # Fetch abstract from PubMed article = fetch_abstracts([pmid]) + time.sleep(0.34) try: article = article[0]['resultList']['result'][0] @@ -2175,7 +2268,7 @@ def update_missing_abstracts(db, today): abstractDataRel = {'abstractText': new_abstract,'title': title} create_epidemiology(db, abstractDataRel, article_node, today) - except IndexError as e: + except Exception as e: continue print(str(idx) + '/' + str(length)) diff --git a/RDAS_PAKG/update.py b/RDAS_PAKG/update.py index a0290bd..a7df451 100644 --- a/RDAS_PAKG/update.py +++ b/RDAS_PAKG/update.py @@ -25,5 +25,5 @@ def main (update_from=False, update_to=False): RDAS_PAKG.init.main(update_from=update_from, update_to=update_to) -#main() #TEST +main() #TEST #get_node_counts() diff --git a/config.ini b/config.ini index c440a1b..c8af13f 100644 --- a/config.ini +++ b/config.ini @@ -1,5 +1,5 @@ [DATABASE] -clinical_update = 03/20/24 +clinical_update = 01/01/75 pubmed_update = 03/20/24 grant_update = 03/20/24 gard_update = 03/20/24 @@ -8,20 +8,22 @@ pm_interval = 7 gnt_interval = 365 [UPDATE_PROGRESS] -clinical_in_progress = False +clinical_in_progress = True +clinical_disease_progress = 57 clinical_add_progress = clinical_update_progress = clinical_required_update_progress = clinical_rxnorm_progress = clinical_current_step = pubmed_in_progress = True -pubmed_disease_article_progress = 12003 -pubmed_omim_article_progress = 12003 -pubmed_current_step = save_epi +pubmed_disease_article_progress = +pubmed_omim_article_progress = +pubmed_pubtator_article_progress = +pubmed_current_step = grant_in_progress = False ct_update = 02/06/24 pm_update = 02/01/24 -rdas.ctkg_update = 01/01/24 +rdas.ctkg_update = 01/01/75 rdas.gfkg_update = 01/01/23 rdas.pakg_update = 01/01/24 rdas.gard_update = 01/01/24 diff --git a/sysvars.py b/sysvars.py index 71f07e3..3c4cdc1 100644 --- a/sysvars.py +++ b/sysvars.py @@ -29,11 +29,11 @@ # if you are not using minghui's test dataset, make db_prefix=""; now you only need to change the neo4j database names here: -db_prefix="test." -ct_db_name="rdas.ctkg" +db_prefix="" +ct_db_name="new.rdas.ctkg" gf_db_name='rdas.gfkg' pa_db_name="rdas.pakg" -gard_db_name='rdas.gard' +gard_db_name='test.rdas.gard' ct_db = db_prefix+ct_db_name pm_db = db_prefix+pa_db_name