Một trong những điều quan trọng nhất trong mô-đun này là lớp MultipleSeqAlignment, được sử dụng trong Bio. mô-đun AlignIO
lớp>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1911_______02 [bản ghi , bảng chữ cái=Không có , chú thích=Không có , column_annotations=Không có]¶
căn cứ.
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1913
Đại diện cho sự liên kết nhiều trình tự cổ điển [MSA]
Bằng cách này, chúng tôi muốn nói đến một tập hợp các chuỗi [thường được hiển thị dưới dạng các hàng] có cùng độ dài [thường có các ký tự khoảng cách để chèn hoặc đệm]. Dữ liệu sau đó có thể được coi là một ma trận các chữ cái, với các cột được xác định rõ
Thông thường, bạn sẽ tạo MSA bằng cách tải tệp căn chỉnh bằng mô-đun AlignIO
>>> from Bio import AlignIO >>> align = AlignIO.read["Clustalw/opuntia.aln", "clustal"] >>> print[align] SingleLetterAlphabet[] alignment with 7 rows and 156 columns TATACATTAAAGAAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273285|gb|AF191659.1|AF191 TATACATTAAAGAAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273284|gb|AF191658.1|AF191 TATACATTAAAGAAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273287|gb|AF191661.1|AF191 TATACATAAAAGAAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273286|gb|AF191660.1|AF191 TATACATTAAAGGAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273290|gb|AF191664.1|AF191 TATACATTAAAGGAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273289|gb|AF191663.1|AF191 TATACATTAAAGGAGGGGGATGCGGATAAATGGAAAGGCGAAAG...AGA gi|6273291|gb|AF191665.1|AF191
Trong một số khía cạnh, bạn có thể coi những đối tượng này là danh sách các đối tượng SeqRecord, mỗi đối tượng đại diện cho một hàng của căn chỉnh. Lặp lại trên một căn chỉnh cung cấp đối tượng SeqRecord cho mỗi hàng
>>> len[align] 7 >>> for record in align: .. print["%s %i" % [record.id, len[record]]] ... gi|6273285|gb|AF191659.1|AF191 156 gi|6273284|gb|AF191658.1|AF191 156 gi|6273287|gb|AF191661.1|AF191 156 gi|6273286|gb|AF191660.1|AF191 156 gi|6273290|gb|AF191664.1|AF191 156 gi|6273289|gb|AF191663.1|AF191 156 gi|6273291|gb|AF191665.1|AF191 156
Bạn cũng có thể truy cập các hàng riêng lẻ dưới dạng các đối tượng SeqRecord thông qua chỉ mục của chúng
>>> print[align[0].id] gi|6273285|gb|AF191659.1|AF191 >>> print[align[-1].id] gi|6273291|gb|AF191665.1|AF191
Và trích xuất các cột dưới dạng chuỗi
>>> print[align[:, 1]] AAAAAAA
Hoặc, chỉ lấy mười cột đầu tiên làm căn chỉnh phụ
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF191
Kết hợp việc cắt căn chỉnh này với bổ sung căn chỉnh cho phép bạn loại bỏ một phần của căn chỉnh. Ví dụ: chỉ lấy mười cột đầu tiên và cuối cùng
________số 8Lưu ý - Đối tượng này đã thay thế đối tượng Căn chỉnh cũ hơn được xác định trong mô-đun Bio. Căn chỉnh. Chung nhưng không hoàn toàn tương thích ngược với nó
Lưu ý - Đối tượng này KHÔNG cố gắng mô hình hóa loại sắp xếp được sử dụng trong giải trình tự thế hệ tiếp theo với nhiều lần đọc trình tự ngắn hơn nhiều so với căn chỉnh và thường có trình tự đồng thuận hoặc trình tự tham chiếu với trạng thái đặc biệt
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1914 [bản thân , bản ghi , bảng chữ cái=Không có , chú thích=Không có , column_annotations=Không có]¶
Khởi tạo một đối tượng MultipleSeqAlignment mới
Tranh luận- bản ghi - Một danh sách [hoặc bộ lặp] của các đối tượng SeqRecord, có
trình tự đều có cùng độ dài. Đây có thể là một danh sách rỗng
- bảng chữ cái - Bảng chữ cái cho toàn bộ căn chỉnh, thường là một khoảng trống
bảng chữ cái, phải là siêu tập hợp các bảng chữ cái bản ghi riêng lẻ. Nếu bỏ qua, một bảng chữ cái đồng thuận được sử dụng
chú thích - Thông tin về toàn bộ căn chỉnh [từ điển]
- column_annotations - Chú thích trên mỗi cột [từ điển hạn chế]
Điều này chứa các chuỗi Python [danh sách, chuỗi, bộ dữ liệu] có độ dài khớp với số lượng cột. Một cách sử dụng điển hình sẽ là chuỗi đồng thuận cấu trúc thứ cấp
Thông thường, bạn sẽ tải MSA từ một tệp bằng Bio. AlignIO, nhưng bạn cũng có thể làm điều này từ danh sách các đối tượng SeqRecord
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1910tài sản
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1915¶
Từ điển chú thích cho mỗi chữ cái cho chuỗi
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1916 [bản thân]¶
Trả về tóm tắt chuỗi nhiều dòng của căn chỉnh
Đầu ra này nhằm mục đích có thể đọc được, nhưng các sắp xếp lớn được hiển thị bị cắt bớt. Tối đa 20 hàng [dãy] và 50 cột được hiển thị, với các mã định danh bản ghi. Điều này sẽ phù hợp độc đáo trên một màn hình duy nhất. e. g
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1913
Xem thêm phương thức định dạng của căn chỉnh
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1917 [bản thân]¶
Trả về một đại diện của đối tượng để gỡ lỗi
Không thể sử dụng biểu diễn với eval[] để tạo lại đối tượng, điều này thường có thể thực hiện được với các đối tượng python đơn giản. Ví dụ
Chuỗi hex là địa chỉ bộ nhớ của đối tượng, xem trợ giúp [id]. Điều này cung cấp một cách đơn giản để phân biệt trực quan các sắp xếp có cùng kích thước
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1918 [bản thân , định dạng]¶
Trả về căn chỉnh dưới dạng một chuỗi ở định dạng tệp đã chỉ định
Định dạng phải là một chuỗi chữ thường được Bio hỗ trợ dưới dạng định dạng đầu ra. AlignIO [chẳng hạn như “fasta”, “clustal”, “phylip”, “stockholm”, v.v.], được sử dụng để biến căn chỉnh thành một chuỗi
e. g
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1916
Đối với Trăn 2. 6, 3. 0 trở lên, xem thêm hàm format[] tích hợp
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1919 [self , format_spec]¶
Trả về căn chỉnh dưới dạng một chuỗi ở định dạng tệp đã chỉ định
Phương thức này hỗ trợ hàm định dạng python[] được thêm vào trong Python 2. 3/6. 0. format_spec phải là một chuỗi chữ thường được hỗ trợ bởi Bio. AlignIO làm định dạng tệp đầu ra. Xem thêm phương thức format[] của căn chỉnh
>>> print[align[:, :10] + align[:, -10:]] SingleLetterAlphabet[] alignment with 7 rows and 20 columns TATACATTAAGTGTACCAGA gi|6273285|gb|AF191659.1|AF191 TATACATTAAGTGTACCAGA gi|6273284|gb|AF191658.1|AF191 TATACATTAAGTGTACCAGA gi|6273287|gb|AF191661.1|AF191 TATACATAAAGTGTACCAGA gi|6273286|gb|AF191660.1|AF191 TATACATTAAGTGTACCAGA gi|6273290|gb|AF191664.1|AF191 TATACATTAAGTATACCAGA gi|6273289|gb|AF191663.1|AF191 TATACATTAAGTGTACCAGA gi|6273291|gb|AF191665.1|AF1910 [bản thân]¶
Lặp lại các hàng căn chỉnh dưới dạng các đối tượng SeqRecord
e. g
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1919
>>> print[align[:, :10] + align[:, -10:]] SingleLetterAlphabet[] alignment with 7 rows and 20 columns TATACATTAAGTGTACCAGA gi|6273285|gb|AF191659.1|AF191 TATACATTAAGTGTACCAGA gi|6273284|gb|AF191658.1|AF191 TATACATTAAGTGTACCAGA gi|6273287|gb|AF191661.1|AF191 TATACATAAAGTGTACCAGA gi|6273286|gb|AF191660.1|AF191 TATACATTAAGTGTACCAGA gi|6273290|gb|AF191664.1|AF191 TATACATTAAGTATACCAGA gi|6273289|gb|AF191663.1|AF191 TATACATTAAGTGTACCAGA gi|6273291|gb|AF191665.1|AF1911 [bản thân]¶
Trả về số thứ tự trong căn chỉnh
Sử dụng len[alignment] để lấy số thứ tự [i. e. số lượng hàng] và căn chỉnh. get_alignment_length[] để lấy độ dài của chuỗi dài nhất [i. e. số cột]
Điều này rất dễ nhớ nếu bạn coi việc căn chỉnh giống như một danh sách các đối tượng SeqRecord
>>> print[align[:, :10] + align[:, -10:]] SingleLetterAlphabet[] alignment with 7 rows and 20 columns TATACATTAAGTGTACCAGA gi|6273285|gb|AF191659.1|AF191 TATACATTAAGTGTACCAGA gi|6273284|gb|AF191658.1|AF191 TATACATTAAGTGTACCAGA gi|6273287|gb|AF191661.1|AF191 TATACATAAAGTGTACCAGA gi|6273286|gb|AF191660.1|AF191 TATACATTAAGTGTACCAGA gi|6273290|gb|AF191664.1|AF191 TATACATTAAGTATACCAGA gi|6273289|gb|AF191663.1|AF191 TATACATTAAGTGTACCAGA gi|6273291|gb|AF191665.1|AF1912 [bản thân]¶
Trả về độ dài tối đa của căn chỉnh
Tất cả các đối tượng trong căn chỉnh nên [hy vọng] có cùng độ dài. Hàm này sẽ đi qua và tìm độ dài này bằng cách tìm độ dài tối đa của các chuỗi trong căn chỉnh
>>> len[align] 7 >>> for record in align: .. print["%s %i" % [record.id, len[record]]] ... gi|6273285|gb|AF191659.1|AF191 156 gi|6273284|gb|AF191658.1|AF191 156 gi|6273287|gb|AF191661.1|AF191 156 gi|6273286|gb|AF191660.1|AF191 156 gi|6273290|gb|AF191664.1|AF191 156 gi|6273289|gb|AF191663.1|AF191 156 gi|6273291|gb|AF191665.1|AF191 1560
Nếu bạn muốn biết số lượng trình tự trong căn chỉnh, thay vào đó hãy sử dụng len[align]
>>> print[align[:, :10] + align[:, -10:]] SingleLetterAlphabet[] alignment with 7 rows and 20 columns TATACATTAAGTGTACCAGA gi|6273285|gb|AF191659.1|AF191 TATACATTAAGTGTACCAGA gi|6273284|gb|AF191658.1|AF191 TATACATTAAGTGTACCAGA gi|6273287|gb|AF191661.1|AF191 TATACATAAAGTGTACCAGA gi|6273286|gb|AF191660.1|AF191 TATACATTAAGTGTACCAGA gi|6273290|gb|AF191664.1|AF191 TATACATTAAGTATACCAGA gi|6273289|gb|AF191663.1|AF191 TATACATTAAGTGTACCAGA gi|6273291|gb|AF191665.1|AF1913 [bản thân , mô tả , trình tự , bắt đầu=Không , cuối=Không , trọng lượng=1. 0]¶
Thêm một trình tự vào căn chỉnh
Điều này không thực hiện bất kỳ loại căn chỉnh nào, nó chỉ thêm vào đối tượng trình tự, đối tượng này được cho là đã được căn chỉnh trước với các trình tự hiện có
Tranh luậnbộ mô tả - Id mô tả của trình tự được thêm vào. Điều này sẽ được sử dụng làm kết quả của SeqRecord. thuộc tính id [và, để tương thích với lịch sử, cũng là thuộc tính. thuộc tính mô tả]
trình tự - Một chuỗi có thông tin trình tự
bắt đầu - Bạn có thể đặt điểm bắt đầu của chuỗi một cách rõ ràng. Điều này hữu ích [ít nhất] đối với việc sắp xếp BLAST, có thể chỉ là sự sắp xếp một phần của các chuỗi
kết thúc - Chỉ định phần cuối của chuỗi, điều này quan trọng vì lý do tương tự như phần đầu
trọng số - Trọng lượng để đặt trên chuỗi trong căn chỉnh. Theo mặc định, tất cả các chuỗi có cùng trọng số. [0. 0 => không trọng lượng, 1. 0 => trọng số cao nhất]
Nói chung, cung cấp SeqRecord và gọi. chắp thêm được ưu tiên
>>> print[align[:, :10] + align[:, -10:]] SingleLetterAlphabet[] alignment with 7 rows and 20 columns TATACATTAAGTGTACCAGA gi|6273285|gb|AF191659.1|AF191 TATACATTAAGTGTACCAGA gi|6273284|gb|AF191658.1|AF191 TATACATTAAGTGTACCAGA gi|6273287|gb|AF191661.1|AF191 TATACATAAAGTGTACCAGA gi|6273286|gb|AF191660.1|AF191 TATACATTAAGTGTACCAGA gi|6273290|gb|AF191664.1|AF191 TATACATTAAGTATACCAGA gi|6273289|gb|AF191663.1|AF191 TATACATTAAGTGTACCAGA gi|6273291|gb|AF191665.1|AF1914 [bản thân , bản ghi]¶
Thêm nhiều đối tượng SeqRecord vào căn chỉnh dưới dạng hàng
Tất cả chúng phải có cùng độ dài với căn chỉnh ban đầu và có bảng chữ cái tương thích với bảng chữ cái của căn chỉnh. Ví dụ,
>>> len[align] 7 >>> for record in align: .. print["%s %i" % [record.id, len[record]]] ... gi|6273285|gb|AF191659.1|AF191 156 gi|6273284|gb|AF191658.1|AF191 156 gi|6273287|gb|AF191661.1|AF191 156 gi|6273286|gb|AF191660.1|AF191 156 gi|6273290|gb|AF191664.1|AF191 156 gi|6273289|gb|AF191663.1|AF191 156 gi|6273291|gb|AF191665.1|AF191 1561
Đầu tiên, chúng tôi tạo một căn chỉnh nhỏ [ba hàng]
>>> len[align] 7 >>> for record in align: .. print["%s %i" % [record.id, len[record]]] ... gi|6273285|gb|AF191659.1|AF191 156 gi|6273284|gb|AF191658.1|AF191 156 gi|6273287|gb|AF191661.1|AF191 156 gi|6273286|gb|AF191660.1|AF191 156 gi|6273290|gb|AF191664.1|AF191 156 gi|6273289|gb|AF191663.1|AF191 156 gi|6273291|gb|AF191665.1|AF191 1562
Bây giờ chúng ta có thể mở rộng căn chỉnh này với hai hàng khác
>>> len[align] 7 >>> for record in align: .. print["%s %i" % [record.id, len[record]]] ... gi|6273285|gb|AF191659.1|AF191 156 gi|6273284|gb|AF191658.1|AF191 156 gi|6273287|gb|AF191661.1|AF191 156 gi|6273286|gb|AF191660.1|AF191 156 gi|6273290|gb|AF191664.1|AF191 156 gi|6273289|gb|AF191663.1|AF191 156 gi|6273291|gb|AF191665.1|AF191 1563
Vì đối tượng căn chỉnh cho phép lặp qua các hàng dưới dạng SeqRecords, nên bạn có thể sử dụng phương thức mở rộng với căn chỉnh thứ hai [miễn là các chuỗi của nó có cùng độ dài với căn chỉnh ban đầu]
>>> print[align[:, :10] + align[:, -10:]] SingleLetterAlphabet[] alignment with 7 rows and 20 columns TATACATTAAGTGTACCAGA gi|6273285|gb|AF191659.1|AF191 TATACATTAAGTGTACCAGA gi|6273284|gb|AF191658.1|AF191 TATACATTAAGTGTACCAGA gi|6273287|gb|AF191661.1|AF191 TATACATAAAGTGTACCAGA gi|6273286|gb|AF191660.1|AF191 TATACATTAAGTGTACCAGA gi|6273290|gb|AF191664.1|AF191 TATACATTAAGTATACCAGA gi|6273289|gb|AF191663.1|AF191 TATACATTAAGTGTACCAGA gi|6273291|gb|AF191665.1|AF1915 [bản thân , bản ghi]¶
Thêm một đối tượng SeqRecord nữa vào căn chỉnh dưới dạng một hàng mới
Điều này phải có cùng độ dài với căn chỉnh ban đầu [trừ khi đây là bản ghi đầu tiên] và có bảng chữ cái tương thích với bảng chữ cái của căn chỉnh
>>> len[align] 7 >>> for record in align: .. print["%s %i" % [record.id, len[record]]] ... gi|6273285|gb|AF191659.1|AF191 156 gi|6273284|gb|AF191658.1|AF191 156 gi|6273287|gb|AF191661.1|AF191 156 gi|6273286|gb|AF191660.1|AF191 156 gi|6273290|gb|AF191664.1|AF191 156 gi|6273289|gb|AF191663.1|AF191 156 gi|6273291|gb|AF191665.1|AF191 1564
Bây giờ chúng ta sẽ xây dựng một bản ghi giả để thêm vào làm ví dụ
>>> len[align] 7 >>> for record in align: .. print["%s %i" % [record.id, len[record]]] ... gi|6273285|gb|AF191659.1|AF191 156 gi|6273284|gb|AF191658.1|AF191 156 gi|6273287|gb|AF191661.1|AF191 156 gi|6273286|gb|AF191660.1|AF191 156 gi|6273290|gb|AF191664.1|AF191 156 gi|6273289|gb|AF191663.1|AF191 156 gi|6273291|gb|AF191665.1|AF191 1565
Bây giờ nối cái này vào căn chỉnh,
>>> len[align] 7 >>> for record in align: .. print["%s %i" % [record.id, len[record]]] ... gi|6273285|gb|AF191659.1|AF191 156 gi|6273284|gb|AF191658.1|AF191 156 gi|6273287|gb|AF191661.1|AF191 156 gi|6273286|gb|AF191660.1|AF191 156 gi|6273290|gb|AF191664.1|AF191 156 gi|6273289|gb|AF191663.1|AF191 156 gi|6273291|gb|AF191665.1|AF191 1566
>>> print[align[:, :10] + align[:, -10:]] SingleLetterAlphabet[] alignment with 7 rows and 20 columns TATACATTAAGTGTACCAGA gi|6273285|gb|AF191659.1|AF191 TATACATTAAGTGTACCAGA gi|6273284|gb|AF191658.1|AF191 TATACATTAAGTGTACCAGA gi|6273287|gb|AF191661.1|AF191 TATACATAAAGTGTACCAGA gi|6273286|gb|AF191660.1|AF191 TATACATTAAGTGTACCAGA gi|6273290|gb|AF191664.1|AF191 TATACATTAAGTATACCAGA gi|6273289|gb|AF191663.1|AF191 TATACATTAAGTGTACCAGA gi|6273291|gb|AF191665.1|AF1916 [bản thân , other]¶
Kết hợp hai cách sắp xếp có cùng số hàng bằng cách thêm chúng
Nếu bạn có hai cách sắp xếp nhiều trình tự [MSA], có hai cách để suy nghĩ về việc thêm chúng - theo hàng hoặc theo cột. Sử dụng phương pháp mở rộng thêm theo hàng. Sử dụng toán tử cộng thêm theo cột. Ví dụ,
>>> len[align] 7 >>> for record in align: .. print["%s %i" % [record.id, len[record]]] ... gi|6273285|gb|AF191659.1|AF191 156 gi|6273284|gb|AF191658.1|AF191 156 gi|6273287|gb|AF191661.1|AF191 156 gi|6273286|gb|AF191660.1|AF191 156 gi|6273290|gb|AF191664.1|AF191 156 gi|6273289|gb|AF191663.1|AF191 156 gi|6273291|gb|AF191665.1|AF191 1567
Bây giờ, hãy nhìn vào hai sự sắp xếp này
>>> len[align] 7 >>> for record in align: .. print["%s %i" % [record.id, len[record]]] ... gi|6273285|gb|AF191659.1|AF191 156 gi|6273284|gb|AF191658.1|AF191 156 gi|6273287|gb|AF191661.1|AF191 156 gi|6273286|gb|AF191660.1|AF191 156 gi|6273290|gb|AF191664.1|AF191 156 gi|6273289|gb|AF191663.1|AF191 156 gi|6273291|gb|AF191665.1|AF191 1568
Và thêm chúng
>>> len[align] 7 >>> for record in align: .. print["%s %i" % [record.id, len[record]]] ... gi|6273285|gb|AF191659.1|AF191 156 gi|6273284|gb|AF191658.1|AF191 156 gi|6273287|gb|AF191661.1|AF191 156 gi|6273286|gb|AF191660.1|AF191 156 gi|6273290|gb|AF191664.1|AF191 156 gi|6273289|gb|AF191663.1|AF191 156 gi|6273291|gb|AF191665.1|AF191 1569
Để điều này hoạt động, cả hai sắp xếp phải có cùng số lượng bản ghi [ở đây cả hai đều có 3 hàng]
>>> print[align[0].id] gi|6273285|gb|AF191659.1|AF191 >>> print[align[-1].id] gi|6273291|gb|AF191665.1|AF1910
Các hàng riêng lẻ là các đối tượng SeqRecord và chúng có thể được cộng lại với nhau. Tham khảo tài liệu SeqRecord để biết chi tiết về cách xử lý chú thích. Ví dụ này là một trường hợp đặc biệt ở chỗ cả hai cách sắp xếp ban đầu đều có cùng tên, nghĩa là khi các hàng được thêm vào, chúng cũng có cùng tên
Mọi chú thích chung được giữ nguyên, nhưng chú thích khác sẽ bị mất. Đây là hành vi tương tự được sử dụng trong các chú thích SeqRecord và được thiết kế để ngăn chặn việc vô tình lan truyền các giá trị không phù hợp
>>> print[align[0].id] gi|6273285|gb|AF191659.1|AF191 >>> print[align[-1].id] gi|6273291|gb|AF191665.1|AF1911
Tương tự, bất kỳ chú thích trên mỗi cột phổ biến nào cũng được kết hợp
>>> print[align[0].id] gi|6273285|gb|AF191659.1|AF191 >>> print[align[-1].id] gi|6273291|gb|AF191665.1|AF1912_______87 [bản thân , index]¶
Truy cập một phần của căn chỉnh
Tùy thuộc vào các chỉ số, bạn có thể lấy đối tượng SeqRecord [đại diện cho một hàng], đối tượng Seq [cho một cột], một chuỗi [cho một ký tự] hoặc căn chỉnh khác [đại diện cho một phần hoặc toàn bộ căn chỉnh]
align[r,c] đưa ra một ký tự dưới dạng chuỗi align[r] đưa ra một hàng dưới dạng SeqRecord align[r,. ] đưa ra một hàng dưới dạng căn chỉnh SeqRecord[. ,c] đưa ra một cột dưới dạng Seq [sử dụng bảng chữ cái của căn chỉnh]
căn chỉnh[. ] và căn chỉnh [. ,. ] đưa ra một bản sao của sự liên kết
Bất cứ điều gì khác cho một liên kết phụ, e. g. căn chỉnh [0. 2] hoặc căn chỉnh [0. 2,. ] chỉ sử dụng hàng 0 và 1 căn chỉnh[. ,1. 3] chỉ sử dụng cột 1 và 2 align[0. 2,1. 3] chỉ sử dụng hàng 0 & 1 và chỉ cột 1 & 2
Chúng tôi sẽ sử dụng căn chỉnh ví dụ sau ở đây để minh họa
>>> print[align[0].id] gi|6273285|gb|AF191659.1|AF191 >>> print[align[-1].id] gi|6273291|gb|AF191665.1|AF1913
Bạn có thể truy cập một hàng của căn chỉnh dưới dạng SeqRecord bằng cách sử dụng chỉ mục số nguyên [hãy nghĩ về căn chỉnh dưới dạng danh sách các đối tượng SeqRecord tại đây]
>>> print[align[0].id] gi|6273285|gb|AF191659.1|AF191 >>> print[align[-1].id] gi|6273291|gb|AF191665.1|AF1914
Bạn cũng có thể truy cập sử dụng ký hiệu lát cắt của python để tạo căn chỉnh phụ chỉ chứa một số đối tượng SeqRecord
>>> print[align[0].id] gi|6273285|gb|AF191659.1|AF191 >>> print[align[-1].id] gi|6273291|gb|AF191665.1|AF1915
Điều này bao gồm hỗ trợ cho một bước, tôi. e. căn chỉnh [bắt đầu. chấm dứt. step], có thể được sử dụng để chọn từng chuỗi thứ hai
>>> print[align[0].id] gi|6273285|gb|AF191659.1|AF191 >>> print[align[-1].id] gi|6273291|gb|AF191665.1|AF1916
Hoặc để có được một bản sao của căn chỉnh với các hàng theo thứ tự ngược lại
>>> print[align[0].id] gi|6273285|gb|AF191659.1|AF191 >>> print[align[-1].id] gi|6273291|gb|AF191665.1|AF1917
Bạn cũng có thể sử dụng hai chỉ mục để chỉ định cả hàng và cột. Sử dụng các số nguyên đơn giản cung cấp cho bạn mục nhập dưới dạng một chuỗi ký tự. e. g
Điều này tương đương với
hoặc
Để lấy một cột [dưới dạng chuỗi], hãy sử dụng cú pháp này
Hoặc, để lấy một phần của cột,
Tuy nhiên, nói chung, bạn nhận được một liên kết phụ,
>>> print[align[0].id] gi|6273285|gb|AF191659.1|AF191 >>> print[align[-1].id] gi|6273291|gb|AF191665.1|AF1918
Tất cả điều này có vẻ quen thuộc với bất kỳ ai đã sử dụng các đối tượng ma trận hoặc mảng NumPy
>>> print[align[:, :10] + align[:, -10:]] SingleLetterAlphabet[] alignment with 7 rows and 20 columns TATACATTAAGTGTACCAGA gi|6273285|gb|AF191659.1|AF191 TATACATTAAGTGTACCAGA gi|6273284|gb|AF191658.1|AF191 TATACATTAAGTGTACCAGA gi|6273287|gb|AF191661.1|AF191 TATACATAAAGTGTACCAGA gi|6273286|gb|AF191660.1|AF191 TATACATTAAGTGTACCAGA gi|6273290|gb|AF191664.1|AF191 TATACATTAAGTATACCAGA gi|6273289|gb|AF191663.1|AF191 TATACATTAAGTGTACCAGA gi|6273291|gb|AF191665.1|AF1918 [self , phím=Không , đảo ngược=Sai]¶
Sắp xếp các hàng [đối tượng SeqRecord] của căn chỉnh tại chỗ
Điều này sắp xếp các hàng theo thứ tự bảng chữ cái bằng cách sử dụng id đối tượng SeqRecord theo mặc định. Việc sắp xếp có thể được kiểm soát bằng cách cung cấp một chức năng chính phải ánh xạ từng SeqRecord tới một giá trị sắp xếp
Điều này hữu ích nếu bạn muốn thêm hai cách sắp xếp sử dụng cùng số nhận dạng bản ghi nhưng theo một thứ tự khác. Ví dụ,
>>> print[align[0].id] gi|6273285|gb|AF191659.1|AF191 >>> print[align[-1].id] gi|6273291|gb|AF191665.1|AF1919
Nếu bạn đơn giản, hãy thử và thêm những thứ này mà không cần sắp xếp, bạn sẽ nhận được
>>> print[align[:, 1]] AAAAAAA0
Tham khảo tài liệu SeqRecord giải thích lý do tại sao bạn nhận được giá trị mặc định khi chú thích như mã định danh không khớp. Tuy nhiên, nếu chúng ta sắp xếp các sắp xếp trước, sau đó thêm chúng, chúng ta sẽ nhận được kết quả mong muốn
>>> print[align[:, 1]] AAAAAAA1
Như một ví dụ sử dụng thứ tự sắp xếp khác, bạn có thể sắp xếp theo nội dung GC của từng chuỗi
>>> print[align[:, 1]] AAAAAAA2
Ngoài ra còn có một đối số ngược lại, vì vậy nếu bạn muốn sắp xếp theo ID nhưng ngược lại
>>> print[align[:, 1]] AAAAAAA3lớp
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1911
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF19100 [mục tiêu , truy vấn , đường đi , điểm]¶
căn cứ.
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1913
Đại diện cho một liên kết chuỗi theo cặp
Bên trong, căn chỉnh theo cặp được lưu dưới dạng đường dẫn qua ma trận truy nguyên, i. e. một bộ gồm các cặp chỉ số tương ứng với các đỉnh của đường dẫn trong ma trận truy nguyên
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1914 [bản thân , mục tiêu , truy vấn , đường đi , điểm]¶
Khởi tạo một đối tượng PairwiseAlignment mới
Tranh luậntarget - Chuỗi đầu tiên, dưới dạng một chuỗi đơn giản, không có khoảng trống
truy vấn - Chuỗi thứ hai, dưới dạng một chuỗi đơn giản, không có khoảng trống
- đường dẫn - Đường dẫn qua ma trận truy nguyên, xác định một
căn chỉnh
điểm - Điểm liên kết
Thông thường, bạn sẽ nhận được đối tượng PairwiseAlignment bằng cách lặp qua đối tượng PairwiseAlignments
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF19103 [bản thân , khác] ¶
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF19104 [bản thân , other]¶
Tự trả lại == giá trị
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF19105 [bản thân , other]¶
trở lại chính mình. = giá trị
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF19106 [bản thân , other]¶
Tự trả về >> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF191 07 [bản thân , other]¶
Tự trả về >> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF191 08 [bản thân , other]¶
Tự trả về> giá trị
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF19109 [bản thân , other]¶
Tự trả về>=giá trị
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1919 [self , format_spec]¶
Trình định dạng đối tượng mặc định
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1916 [bản thân]¶
Trả về str[bản thân]
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1918 [bản thân]¶
Tạo một đại diện có thể đọc được của con người về sự liên kết
bất động sản>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF19133¶
Trả về các chỉ số của các chuỗi con được căn chỉnh với nhau
Thuộc tính này trả về các chỉ số bắt đầu và kết thúc của các chuỗi con trong chuỗi mục tiêu và truy vấn được căn chỉnh với nhau. Nếu căn chỉnh giữa mục tiêu [t] và truy vấn [q] bao gồm N đoạn, bạn sẽ nhận được hai bộ có độ dài N
[[[t_start1, t_end1], [t_start2, t_end2], …, [t_startN, t_endN]],
[[q_start1, q_end1], [q_start2, q_end2], …, [q_startN, q_endN]]]
Ví dụ,
>>> print[align[:, 1]] AAAAAAA4
Lưu ý rằng các cách sắp xếp khác nhau có thể có các dãy con giống nhau được sắp xếp với nhau. Đặc biệt, điều này có thể xảy ra nếu sự sắp xếp chỉ khác nhau về vị trí khoảng cách của chúng
>>> print[align[:, 1]] AAAAAAA5
Thuộc tính có thể được sử dụng để xác định các sắp xếp giống hệt nhau về trình tự được căn chỉnh của chúng
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF19134 = Không¶ lớp
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1911
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF19136 [seqA , seqB , điểm , đường dẫn]¶
căn cứ.
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1913
Triển khai một trình vòng lặp trên các sắp xếp theo cặp được trả về bởi bộ căn chỉnh
Lớp này cũng hỗ trợ lập chỉ mục, nhanh chóng để tăng các chỉ số, nhưng có thể chậm khi truy cập ngẫu nhiên một số lượng lớn các sắp xếp
Lưu ý rằng các bộ sắp xếp theo cặp có thể trả về số lượng sắp xếp thiên văn, ngay cả đối với các chuỗi tương đối ngắn, nếu chúng sắp xếp kém với nhau. Do đó, trước tiên chúng tôi khuyên bạn nên kiểm tra số lượng căn chỉnh, có thể truy cập dưới dạng len[căn chỉnh], có thể được tính toán nhanh chóng ngay cả khi số lượng căn chỉnh rất lớn
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1914 [self , seqA , seqB , điểm , đường dẫn]¶
Khởi tạo một đối tượng PairwiseAlignments mới
Tranh luậnseqA - Chuỗi đầu tiên, dưới dạng chuỗi đơn giản, không có khoảng trống
seqB - Chuỗi thứ hai, dưới dạng một chuỗi đơn giản, không có khoảng trống
điểm - Điểm liên kết
- đường dẫn - Một trình lặp qua các đường dẫn trong ma trận truy nguyên;
mỗi đường dẫn xác định một căn chỉnh
Thông thường, bạn sẽ nhận được một đối tượng PairwiseAlignments bằng cách gọi bộ căn chỉnh. căn chỉnh[seqA, seqB], trong đó căn chỉnh là một đối tượng PairwiseAligner
>>> print[align[:, :10] + align[:, -10:]] SingleLetterAlphabet[] alignment with 7 rows and 20 columns TATACATTAAGTGTACCAGA gi|6273285|gb|AF191659.1|AF191 TATACATTAAGTGTACCAGA gi|6273284|gb|AF191658.1|AF191 TATACATTAAGTGTACCAGA gi|6273287|gb|AF191661.1|AF191 TATACATAAAGTGTACCAGA gi|6273286|gb|AF191660.1|AF191 TATACATTAAGTGTACCAGA gi|6273290|gb|AF191664.1|AF191 TATACATTAAGTATACCAGA gi|6273289|gb|AF191663.1|AF191 TATACATTAAGTGTACCAGA gi|6273291|gb|AF191665.1|AF1911 [self] ¶
>>> print[align[:, :10] + align[:, -10:]] SingleLetterAlphabet[] alignment with 7 rows and 20 columns TATACATTAAGTGTACCAGA gi|6273285|gb|AF191659.1|AF191 TATACATTAAGTGTACCAGA gi|6273284|gb|AF191658.1|AF191 TATACATTAAGTGTACCAGA gi|6273287|gb|AF191661.1|AF191 TATACATAAAGTGTACCAGA gi|6273286|gb|AF191660.1|AF191 TATACATTAAGTGTACCAGA gi|6273290|gb|AF191664.1|AF191 TATACATTAAGTATACCAGA gi|6273289|gb|AF191663.1|AF191 TATACATTAAGTGTACCAGA gi|6273291|gb|AF191665.1|AF1917 [bản thân , index] ¶
>>> print[align[:, :10] + align[:, -10:]] SingleLetterAlphabet[] alignment with 7 rows and 20 columns TATACATTAAGTGTACCAGA gi|6273285|gb|AF191659.1|AF191 TATACATTAAGTGTACCAGA gi|6273284|gb|AF191658.1|AF191 TATACATTAAGTGTACCAGA gi|6273287|gb|AF191661.1|AF191 TATACATAAAGTGTACCAGA gi|6273286|gb|AF191660.1|AF191 TATACATTAAGTGTACCAGA gi|6273290|gb|AF191664.1|AF191 TATACATTAAGTATACCAGA gi|6273289|gb|AF191663.1|AF191 TATACATTAAGTGTACCAGA gi|6273291|gb|AF191665.1|AF1910 [self] ¶
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF19162 [bản thân]¶ lớp
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF1911____164¶
căn cứ.
>>> print[align[:, :10]] SingleLetterAlphabet[] alignment with 7 rows and 10 columns TATACATTAA gi|6273285|gb|AF191659.1|AF191 TATACATTAA gi|6273284|gb|AF191658.1|AF191 TATACATTAA gi|6273287|gb|AF191661.1|AF191 TATACATAAA gi|6273286|gb|AF191660.1|AF191 TATACATTAA gi|6273290|gb|AF191664.1|AF191 TATACATTAA gi|6273289|gb|AF191663.1|AF191 TATACATTAA gi|6273291|gb|AF191665.1|AF19165
Thực hiện căn chỉnh trình tự theo cặp bằng cách sử dụng lập trình động
Điều này cung cấp các chức năng để có được sự sắp xếp toàn cầu và cục bộ giữa hai chuỗi. Căn chỉnh toàn cầu tìm sự phù hợp tốt nhất giữa tất cả các ký tự trong hai chuỗi. Căn chỉnh cục bộ chỉ tìm thấy các chuỗi con sắp xếp tốt nhất
Để thực hiện căn chỉnh trình tự theo cặp, trước tiên hãy tạo một đối tượng PairwiseAligner. Đối tượng này lưu trữ điểm phù hợp và không phù hợp, cũng như điểm khoảng cách. Thông thường, điểm phù hợp là dương, trong khi điểm không phù hợp và điểm khoảng cách là âm hoặc bằng không. Theo mặc định, điểm phù hợp là 1 và điểm không phù hợp và khoảng cách là 0. Dựa trên các giá trị của điểm khoảng cách, đối tượng PairwiseAligner tự động chọn thuật toán căn chỉnh phù hợp [thuật toán căn chỉnh cục bộ hoặc toàn cầu Needleman-Wunsch, Smith-Waterman, Gotoh hoặc Waterman-Smith-Beyer]
Gọi phương thức “score” trên bộ căn chỉnh với hai trình tự làm đối số sẽ tính điểm căn chỉnh giữa hai trình tự. Gọi phương thức “căn chỉnh” trên bộ căn chỉnh với hai trình tự làm đối số sẽ trả về một trình tạo mang lại sự sắp xếp giữa hai trình tự
Vài ví dụ
>>> print[align[:, 1]] AAAAAAA6
Chỉ định chế độ căn chỉnh là cục bộ để tạo căn chỉnh cục bộ
>>> print[align[:, 1]] AAAAAAA7
Thực hiện căn chỉnh toàn cầu. Ký tự giống nhau được 2 điểm, mỗi ký tự không giống bị trừ 1 điểm
>>> print[align[:, 1]] AAAAAAA8
Tương tự như trên, ngoại trừ bây giờ 0. 5 điểm bị trừ khi mở một khoảng cách và 0. Gia hạn bị trừ 1 điểm