def test_chemical_structure(model, identifier='benomyl'): response = json.loads(model.chemical(chemical_identifier=identifier)) assert response is not None check_obj(response) assert 'format_name' in response assert 'chebi_id' in response assert 'description' in response
def test_reference_structure(model, identifier='17112311'): response = json.loads(model.reference(reference_identifier=identifier)) assert response is not None check_reference(response) assert 'bibentry' in response assert 'related_references' in response assert 'abstract' in response assert 'authors' in response assert 'reftypes' in response assert 'counts' in response assert 'go' in response['counts'] assert 'regulation' in response['counts'] assert 'interaction' in response['counts'] assert 'phenotype' in response['counts'] for url in response['urls']: check_url(url) for related_ref in response['related_references']: #check_reference(related_ref) #Not embedded as a full reference assert 'abstract' in related_ref assert 'reftypes' in related_ref for author in response['authors']: check_obj(author) assert 'format_name' in author
def test_contig_structure(model, identifier='230682'): response = json.loads(model.contig(contig_identifier=identifier)) assert response is not None check_obj(response) assert 'residues' in response ##assert 'length' in response no longer in object assert 'format_name' in response
def test_go_overview_structure(model, identifier="YFL039C"): response = json.loads(model.locus(locus_identifier=identifier)) go_overview = response["go_overview"] assert go_overview is not None assert "go_slim" in go_overview assert "date_last_reviewed" in go_overview for entry in go_overview["go_slim"]: check_obj(entry)
def check_sequence_evidence(evidence): check_evidence(evidence) assert "residues" in evidence assert "locus" in evidence ##check_obj(evidence['residues']) check_obj(evidence["locus"]) assert "format_name" in evidence["locus"]
def check_locus(locus): check_obj(locus) assert 'sgdid' in locus assert 'format_name' in locus assert 'description' in locus assert 'locus_type' in locus #assert 'aliases' in locus Seems to be empty assert 'description' in locus
def test_domain_structure(model, identifier='PTHR11937'): response = json.loads(model.domain(domain_identifier=identifier)) assert response is not None check_obj(response) assert 'interpro_description' in response assert 'description' in response assert 'source' in response assert 'link' in response ## no longer external_link assert 'interpro_id' in response
def check_reference(reference): check_obj(reference) assert 'pubmed_id' in reference assert 'year' in reference assert 'journal' in reference assert 'citation' in reference assert 'format_name' in reference assert 'urls' in reference for url in reference['urls']: check_url(url)
def test_phenotype_structure(model, identifier='viable'): response = json.loads(model.phenotype(identifier)) assert response is not None check_obj(response) assert 'description' in response assert 'qualifier' in response assert 'locus_count' in response assert 'observable' in response assert 'format_name' in response assert 'descendant_locus_count' in response
def test_ec_number_structure(model, identifier='3.4.25.1'): response = json.loads(model.ec_number(ec_number_identifier=identifier)) assert response is not None check_obj(response) #assert 'count' in response NOT there any more #assert 'child_count' in response NOT there any more assert 'description' in response assert 'class_type' in response assert 'format_name' in response assert 'display_name' in response
def check_regulation_evidence(evidence): check_evidence(evidence) assert 'locus1' in evidence assert 'locus2' in evidence #assert 'conditions' in evidence check_obj(evidence['locus1']) assert 'format_name' in evidence['locus1'] check_obj(evidence['locus2']) assert 'format_name' in evidence['locus2']
def check_protein_domain_evidence(evidence): check_evidence(evidence) assert 'domain' in evidence #assert 'protein' in evidence assert 'status' in evidence assert 'start' in evidence assert 'end' in evidence assert 'date_of_run' in evidence assert 'evalue' in evidence check_obj(evidence['domain'])
def test_go_structure(model, identifier="GO:0018706"): response = json.loads(model.go(go_identifier=identifier)) assert response is not None check_obj(response) assert "description" in response # assert 'aliases' in response Aliases not implemented assert "locus_count" in response assert "format_name" in response assert "go_id" in response assert "descendant_locus_count" in response assert "go_aspect" in response
def test_regulation_target_enrichment_structure(model, identifier='ADF1'): response = json.loads(model.regulation_target_enrichment(locus_identifier=identifier)) assert response is not None for entry in response: assert 'go' in entry assert 'match_count' in entry assert 'pvalue' in entry check_obj(entry['go']) assert 'format_name' in entry['go'] assert 'go_id' in entry['go'] assert 'go_aspect' in entry['go']
def check_phenotype_evidence(evidence): check_evidence(evidence) assert 'phenotype' in evidence assert 'locus' in evidence #assert 'conditions' in evidence assert 'category' in evidence['experiment'] assert 'mutant_type' in evidence check_obj(evidence['phenotype']) check_obj(evidence['locus']) assert 'format_name' in evidence['locus']
def test_binding_site_details_structure(model, identifier='GAL4'): response = json.loads(model.binding_site_details(identifier)) assert response is not None for entry in response: check_evidence(entry) assert 'locus' in entry assert 'expert_confidence' in entry assert 'total_score' in entry assert 'motif_id' in entry assert 'link' in entry check_obj(entry['locus']) assert 'format_name' in entry['locus']
def check_go_evidence(evidence): ##check_evidence(evidence) Not sure this is a valid subclass of Evidence assert "go" in evidence assert "locus" in evidence assert "experiment" in evidence assert "qualifier" in evidence assert "go_evidence" in evidence assert "date_created" in evidence # assert 'method' in evidence check_obj(evidence["go"]) assert "go_id" in evidence["go"] assert "go_aspect" in evidence["go"] check_obj(evidence["locus"]) assert "format_name" in evidence["locus"]
def check_genomic_sequence_evidence(evidence): check_sequence_evidence(evidence) assert "contig" in evidence assert "tags" in evidence assert "strand" in evidence assert "end" in evidence assert "start" in evidence check_obj(evidence["contig"]) assert "format_name" in evidence["contig"] for label in evidence["tags"]: assert "chromosomal_start" in label assert "relative_start" in label assert "relative_end" in label assert "display_name" in label assert "chromosomal_end" in label
def check_dataset(dataset): check_obj(dataset) assert 'condition_count' in dataset assert 'reference' in dataset check_obj(dataset['reference']) assert 'tags' in dataset for tag in dataset['tags']: check_obj(tag) assert 'pcl_filename' in dataset assert 'geo_id' in dataset assert 'short_description' in dataset
def check_interaction_evidence(evidence): #check_evidence(evidence) assert 'locus1' in evidence assert 'locus2' in evidence assert 'bait_hit' in evidence assert 'interaction_type' in evidence assert 'annotation_type' in evidence check_obj(evidence['locus1']) assert 'format_name' in evidence['locus1'] check_obj(evidence['locus2']) assert 'format_name' in evidence['locus2'] if evidence['interaction_type'] == 'Genetic': assert 'modification' not in evidence assert 'mutant_type' in evidence assert 'phenotype' in evidence if evidence['phenotype'] is not None: check_obj(evidence['phenotype']) elif evidence['interaction_type'] == 'Physical': assert 'phenotype' not in evidence assert 'modification' in evidence else: assert False
def test_author_structure(model, identifier='Bi_E'): response = json.loads(model.author(author_identifier=identifier)) assert response is not None check_obj(response) assert 'format_name' in response
def test_tag_structure(model, identifier='cellular_ion_homeostasis'): response = json.loads(model.tag(tag_identifier=identifier)) check_obj(response) assert 'bioitems' in response
def test_bioentity_list_structure(model, bioent_ids=(25, 26, 27, 28, 29)): response = json.loads(model.bioentity_list(bioent_ids)) assert response is not None assert len(response) == 5 for entry in response: check_obj(entry)