@@ -277,7 +277,7 @@ def flatten_obj(name="",selection="",state=0,rename=0,quiet=1,chain_map=""):
277277 cmd .create (prefix , obj , state , 1 )
278278
279279 # renumber all states
280- statere = re .compile ("^%s_(.*)_(\d+)$" % metaprefix ) # matches split object names
280+ statere = re .compile (r "^%s_(.*)_(\d+)$" % metaprefix ) # matches split object names
281281
282282 warn_lowercase = False
283283
@@ -334,3 +334,25 @@ def flatten_obj(name="",selection="",state=0,rename=0,quiet=1,chain_map=""):
334334# tab-completion of arguments
335335cmd .auto_arg [0 ]['flatten_obj' ] = [ cmd .object_sc , 'name or selection' , '' ]
336336cmd .auto_arg [1 ]['flatten_obj' ] = [ cmd .object_sc , 'selection' , '' ]
337+
338+
339+ def test_flatten_obj__rename0 ():
340+ cmd .reinitialize ()
341+ cmd .fab ("ACD" , "m1" , chain = "C" )
342+ cmd .fab ("DEF" , "m2" , chain = "C" )
343+ flatten_obj ("m3" , "m1 | m2" , rename = 0 )
344+ assert cmd .count_atoms ("m3" ) == 80
345+ assert cmd .count_atoms ("m3 & resi 2" ) == 26
346+ assert cmd .get_chains ("m3" ) == ["A" , "C" ]
347+
348+
349+ def test_flatten_obj__rename1 ():
350+ cmd .reinitialize ()
351+ cmd .fab ("ACD" , "m1" , chain = "C" )
352+ cmd .fab ("DEF" , "m2" , chain = "C" )
353+ flatten_obj ("m3" , "m1 | m2" , rename = 1 , chain_map = "foo" )
354+ assert cmd .get_chains ("m3" ) == ["A" , "B" ]
355+ assert dict (stored .foo ) == {
356+ "A" : ("m1" , 1 , "C" ),
357+ "B" : ("m2" , 1 , "C" ),
358+ }
0 commit comments