@@ -131,37 +131,7 @@ def test_official_pdb(self):
131131 self .assertEqual (len (p ['metadata' ]), 1 )
132132 self .assertEqual (p ['metadata' ][0 ].helix_id , '10' )
133133 self .assertIsNone (p ['script' ])
134- dataset = p ['dataset' ]
135- self .assertEqual (dataset .data_type , 'Experimental model' )
136- self .assertEqual (dataset .location .db_name , 'PDB' )
137- self .assertEqual (dataset .location .access_code , '2HBJ' )
138- self .assertEqual (dataset .location .version , '14-JUN-06' )
139- self .assertEqual (dataset .location .details ,
140- 'STRUCTURE OF THE YEAST NUCLEAR EXOSOME COMPONENT, '
141- 'RRP6P, REVEALS AN INTERPLAY BETWEEN THE ACTIVE '
142- 'SITE AND THE HRDC DOMAIN' )
143- es = p ['entity_source' ]
144- self .assertEqual (sorted (es .keys ()), ['A' , 'B' , 'C' , 'D' ])
145- self .assertEqual (es ['B' ], es ['C' ])
146- self .assertEqual (es ['A' ].src_method , 'man' )
147- self .assertEqual (es ['A' ].gene .scientific_name , 'MUS MUSCULUS' )
148- self .assertEqual (es ['A' ].gene .common_name , 'HOUSE MOUSE' )
149- self .assertEqual (es ['A' ].gene .strain , 'TEST STRAIN 1' )
150- self .assertEqual (es ['A' ].gene .ncbi_taxonomy_id , '10090' )
151- self .assertEqual (es ['A' ].host .scientific_name , 'ESCHERICHIA COLI' )
152- self .assertEqual (es ['A' ].host .common_name , 'TEST COMMON 1' )
153- self .assertEqual (es ['A' ].host .ncbi_taxonomy_id , '562' )
154- self .assertEqual (es ['A' ].host .strain , 'TEST STRAIN 2' )
155- self .assertEqual (es ['B' ].src_method , 'nat' )
156- self .assertEqual (es ['B' ].scientific_name , 'ESCHERICHIA COLI' )
157- self .assertEqual (es ['B' ].common_name , 'TEST COMMON 2' )
158- self .assertEqual (es ['B' ].ncbi_taxonomy_id , '562' )
159- self .assertEqual (es ['B' ].strain , 'TEST STRAIN 3' )
160- self .assertEqual (es ['D' ].src_method , 'syn' )
161- self .assertEqual (es ['D' ].scientific_name , 'HELIANTHUS ANNUUS' )
162- self .assertEqual (es ['D' ].common_name , 'COMMON SUNFLOWER' )
163- self .assertEqual (es ['D' ].ncbi_taxonomy_id , '4232' )
164- self .assertEqual (es ['D' ].strain , 'TEST STRAIN 4' )
134+ self ._check_parsed_official_pdb (p , pdb_format = True )
165135
166136 def test_bad_header (self ):
167137 """Test PDBParser when given a non-official PDB with HEADER line"""
@@ -454,16 +424,48 @@ def test_binary_cif_official_pdb(self):
454424 p = parser .parse_file (fname )
455425 self ._check_parsed_official_pdb (p )
456426
457- def _check_parsed_official_pdb (self , p ):
427+ def _check_parsed_official_pdb (self , p , pdb_format = False ):
458428 dataset = p ['dataset' ]
459429 self .assertEqual (dataset .data_type , 'Experimental model' )
460430 self .assertEqual (dataset .location .db_name , 'PDB' )
461431 self .assertEqual (dataset .location .access_code , '2HBJ' )
462- self .assertEqual (dataset .location .version , '2021-11-10' )
463- self .assertEqual (dataset .location .details ,
464- 'Structure of the yeast nuclear exosome component, '
465- 'Rrp6p, reveals an interplay between the active '
466- 'site and the HRDC domain' )
432+ if pdb_format :
433+ self .assertEqual (dataset .location .version , '14-JUN-06' )
434+ else :
435+ self .assertEqual (dataset .location .version , '2021-11-10' )
436+ details = ('Structure of the yeast nuclear exosome component, '
437+ 'Rrp6p, reveals an interplay between the active '
438+ 'site and the HRDC domain' )
439+ if pdb_format :
440+ details = details .upper ()
441+ self .assertEqual (dataset .location .details , details )
442+
443+ es = p ['entity_source' ]
444+ self .assertEqual (sorted (es .keys ()), ['A' , 'B' , 'C' , 'D' ])
445+ self .assertEqual (es ['B' ], es ['C' ])
446+ self .assertEqual (es ['A' ].src_method , 'man' )
447+ self .assertEqual (es ['A' ].gene .scientific_name , 'MUS MUSCULUS' )
448+ self .assertEqual (es ['A' ].gene .common_name , 'HOUSE MOUSE' )
449+ self .assertEqual (es ['A' ].gene .strain , 'TEST STRAIN 1' )
450+ self .assertEqual (es ['A' ].gene .ncbi_taxonomy_id , '10090' )
451+ self .assertEqual (es ['A' ].host .scientific_name , 'ESCHERICHIA COLI' )
452+ self .assertEqual (es ['A' ].host .common_name , 'TEST COMMON 1' )
453+ self .assertEqual (es ['A' ].host .ncbi_taxonomy_id , '562' )
454+ self .assertEqual (es ['A' ].host .strain , 'TEST STRAIN 2' )
455+ self .assertEqual (es ['B' ].src_method , 'nat' )
456+ self .assertEqual (es ['B' ].scientific_name , 'ESCHERICHIA COLI' )
457+ self .assertEqual (es ['B' ].common_name , 'TEST COMMON 2' )
458+ self .assertEqual (es ['B' ].ncbi_taxonomy_id , '562' )
459+ self .assertEqual (es ['B' ].strain , 'TEST STRAIN 3' )
460+ self .assertEqual (es ['D' ].src_method , 'syn' )
461+ self .assertEqual (es ['D' ].scientific_name , 'HELIANTHUS ANNUUS' )
462+ self .assertEqual (es ['D' ].common_name , 'COMMON SUNFLOWER' )
463+ self .assertEqual (es ['D' ].ncbi_taxonomy_id , '4232' )
464+ # _pdbx_entity_src_syn.strain is not used in current PDB entries
465+ if pdb_format :
466+ self .assertEqual (es ['D' ].strain , 'TEST STRAIN 4' )
467+ else :
468+ self .assertIsNone (es ['D' ].strain )
467469
468470 def test_cif_model_archive (self ):
469471 """Test CIFParser when given an mmCIF in Model Archive"""
0 commit comments