コード例 #1
0
 def test_to_json(self):
     fake_pfam_location = FeatureLocation(0, 12)
     pfams = {'PF00015': fake_pfam_location, 'PF00351': fake_pfam_location}
     fake_record = set_dummy_with_pfams(pfams)
     gos_for_fake_pfam = pfam2go.get_gos_for_pfams(fake_record)
     fake_results = pfam2go.Pfam2GoResults(fake_record.id,
                                           gos_for_fake_pfam)
     result_json = fake_results.to_json()
     expected_result = {
         "pfams": {
             "PF00015": {
                 "GO:0004871": "signal transducer activity",
                 "GO:0007165": "signal transduction",
                 "GO:0016020": "membrane"
             },
             "PF00351": {
                 "GO:0016714":
                 ("oxidoreductase activity, acting on paired donors, "
                  "with incorporation or reduction of molecular oxygen, "
                  "reduced pteridine as one donor, and incorporation of "
                  "one atom of oxygen"),
                 "GO:0055114":
                 "oxidation-reduction process"
             }
         },
         "record_id": fake_record.id,
         "schema_version": 1
     }
     assert result_json["record_id"] == expected_result["record_id"]
     assert result_json["schema_version"] == 1
     for pfam in expected_result["pfams"]:
         assert expected_result["pfams"][pfam] == result_json["pfams"][pfam]
コード例 #2
0
ファイル: test_pfam2go.py プロジェクト: zachcp/antismash
 def test_add_results_to_record(self):
     pfams = {
         'PF00015.2': FeatureLocation(0, 3),
         'PF00351.1': FeatureLocation(0, 3),
         'PF00015.27': FeatureLocation(3, 6)
     }
     fake_record = set_dummy_with_pfams(pfams)
     fake_duplicate_pfam = PFAMDomain(location=FeatureLocation(6, 9),
                                      description='DUPLICATE',
                                      protein_start=0,
                                      protein_end=5,
                                      identifier="PF00015.2",
                                      tool="test")
     fake_duplicate_pfam.domain_id = 'DUPLICATE'
     fake_record.add_pfam_domain(fake_duplicate_pfam)
     assert fake_duplicate_pfam in fake_record.get_pfam_domains()
     gos_for_fake_pfam = pfam2go.get_gos_for_pfams(fake_record)
     fake_results = pfam2go.Pfam2GoResults(fake_record.id,
                                           gos_for_fake_pfam)
     fake_results.add_to_record(fake_record)
     assert fake_duplicate_pfam.full_identifier == 'PF00015.2'
     for pfam in fake_record.get_pfam_domains():
         assert sorted(pfam.gene_ontologies.ids) == sorted(
             fake_results.get_all_gos(pfam))
         # make sure identical pfams (with different version numbers) all have the same gene ontologies
         if pfam.identifier == "PF00015":
             assert pfam.version in [2, 27]
             assert sorted(pfam.gene_ontologies.ids) == sorted(
                 fake_results.get_all_gos(fake_duplicate_pfam))
コード例 #3
0
 def test_adding_to_wrong_record(self):
     pfams = {'PF00015': FeatureLocation(0, 3)}
     fake_record = set_dummy_with_pfams(pfams)
     gos_for_fake_pfam = pfam2go.get_gos_for_pfams(fake_record)
     fake_results = pfam2go.Pfam2GoResults('FAKEID', gos_for_fake_pfam)
     with self.assertRaisesRegex(
             ValueError,
             "Record to store in and record analysed don't match"):
         fake_results.add_to_record(fake_record)
コード例 #4
0
 def test_results(self):
     pfams = {'PF00015': FeatureLocation(0, 3)}
     fake_record = set_dummy_with_pfams(pfams)
     gos_for_fake_pfam = pfam2go.get_gos_for_pfams(fake_record)
     fake_results = pfam2go.Pfam2GoResults(fake_record.id,
                                           gos_for_fake_pfam)
     assert gos_for_fake_pfam == fake_results.pfam_domains_with_gos
     assert fake_record.id == fake_results.record_id
     for pfam, all_ontologies in fake_results.pfam_domains_with_gos.items():
         for ontologies in all_ontologies:
             assert ontologies.pfam == pfam.identifier
コード例 #5
0
 def test_results(self):
     pfams = {'PF00015': FeatureLocation(0, 3)}
     fake_record = set_dummy_with_pfams(pfams)
     gos_for_fake_pfam = pfam2go.get_gos_for_pfams(fake_record)
     fake_results = pfam2go.Pfam2GoResults(fake_record.id,
                                           gos_for_fake_pfam)
     assert gos_for_fake_pfam == fake_results.pfam_domains_with_gos
     assert fake_record.id == fake_results.record_id
     for pfam, all_ontologies in fake_results.pfam_domains_with_gos.items():
         pfam_ids_without_versions = [
             pfam_id.partition('.')[0] for pfam_id in pfam.db_xref
         ]
         for ontologies in all_ontologies:
             assert ontologies.pfam in pfam_ids_without_versions
コード例 #6
0
 def test_from_json(self):
     fake_pfam_location = FeatureLocation(0, 12)
     pfams = {
         'PF00015': fake_pfam_location,
         'PF00351': fake_pfam_location,
         'PF05147': fake_pfam_location
     }
     fake_record = set_dummy_with_pfams(pfams)
     gos_for_fake_pfam = pfam2go.get_gos_for_pfams(fake_record)
     fake_results = pfam2go.Pfam2GoResults(fake_record.id,
                                           gos_for_fake_pfam)
     result_json = fake_results.to_json()
     results_from_json = pfam2go.Pfam2GoResults.from_json(
         result_json, fake_record)
     assert 'PF05147' not in result_json["pfams"]
     for pfam in results_from_json.pfam_domains_with_gos:
         assert pfam.identifier in result_json["pfams"]
     from_json_to_json = results_from_json.to_json()
     assert result_json == from_json_to_json
     assert from_json_to_json["schema_version"] == 1