Author: bugman Date: Thu Jan 29 19:19:00 2015 New Revision: 27372 URL: http://svn.gna.org/viewcvs/relax?rev=27372&view=rev Log: Merged revisions 27370-27371 via svnmerge from svn+ssh://bugman@xxxxxxxxxxx/svn/relax/trunk ........ r27370 | bugman | 2015-01-29 18:30:04 +0100 (Thu, 29 Jan 2015) | 6 lines Corrections for the Structure.test_align_CaM_BLOSUM62 system test. The CaM N and C domains can not be aligned together in a global MSA as they would align very well to themselves, causing the atomic coordinate assembly function to fail. ........ r27371 | bugman | 2015-01-29 19:18:23 +0100 (Thu, 29 Jan 2015) | 6 lines Improvement for the lib.sequence_alignment.msa.central_star() function. The strings and gap matrix returned by the function have been reordered to match the input sequences. ........ Modified: branches/frame_order_cleanup/ (props changed) branches/frame_order_cleanup/lib/sequence_alignment/msa.py branches/frame_order_cleanup/test_suite/system_tests/scripts/n_state_model/structure_align.py Propchange: branches/frame_order_cleanup/ ------------------------------------------------------------------------------ --- svnmerge-integrated (original) +++ svnmerge-integrated Thu Jan 29 19:19:00 2015 @@ -1 +1 @@ -/trunk:1-27368 +/trunk:1-27371 Modified: branches/frame_order_cleanup/lib/sequence_alignment/msa.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/lib/sequence_alignment/msa.py?rev=27372&r1=27371&r2=27372&view=diff ============================================================================== --- branches/frame_order_cleanup/lib/sequence_alignment/msa.py (original) +++ branches/frame_order_cleanup/lib/sequence_alignment/msa.py Thu Jan 29 19:19:00 2015 @@ -141,12 +141,19 @@ # Rebuild the alignment lists and create a gap matrix. strings = [] M = len(Sc_prime) - gaps = zeros((N, M), int16) strings.append(Sc_prime) for i in range(N-1): strings.append(''.join(string_lists[i])) for i in range(N): strings[i] = strings[i].replace('X', '-') + + # Restore the original sequence ordering. + string = strings.pop(0) + strings.insert(Sc_index, string) + + # Create the gap matrix. + gaps = zeros((N, M), int16) + for i in range(N): for j in range(M): if strings[i][j] == '-': gaps[i, j] = 1 Modified: branches/frame_order_cleanup/test_suite/system_tests/scripts/n_state_model/structure_align.py URL: http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/test_suite/system_tests/scripts/n_state_model/structure_align.py?rev=27372&r1=27371&r2=27372&view=diff ============================================================================== --- branches/frame_order_cleanup/test_suite/system_tests/scripts/n_state_model/structure_align.py (original) +++ branches/frame_order_cleanup/test_suite/system_tests/scripts/n_state_model/structure_align.py Thu Jan 29 19:19:00 2015 @@ -16,8 +16,11 @@ # Load the structure. structure.read_pdb('%s.pdb' % code, dir=status.install_path + sep+'test_suite'+sep+'shared_data'+sep+'structures') -# Backbone heavy atom align all structures. -structure.align(pipes=codes, atom_id='@N,C,CA,O', method='fit to first', matrix='BLOSUM62', gap_open_penalty=10.0, gap_extend_penalty=1.0, end_gap_open_penalty=0.0, end_gap_extend_penalty=0.0) +# First align the N-domains - aligning 1OSA onto 1J70 to act as a scaffold. +structure.align(pipes=['1J7O', '1OSA'], atom_id='@N,C,CA,O', method='fit to first', matrix='BLOSUM62', gap_open_penalty=10.0, gap_extend_penalty=1.0, end_gap_open_penalty=0.0, end_gap_extend_penalty=0.0) + +# Then align the C-domains - aligning 1J7P onto the 1OSA scaffold. +structure.align(pipes=['1OSA', '1J7P'], atom_id='@N,C,CA,O', method='fit to first', matrix='BLOSUM62', gap_open_penalty=10.0, gap_extend_penalty=1.0, end_gap_open_penalty=0.0, end_gap_extend_penalty=0.0) # Write out the result. structure.write_pdb('devnull', force=True)