Trực quan hóa python căn chỉnh trình tự

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|AF191
1_______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|AF191
3

Đạ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ố 8

Lư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|AF191
4 [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|AF191
0tà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|AF191

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|AF191
6 [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|AF191
3

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|AF191
7 [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|AF191
8 [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|AF191
6

Đố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|AF191
9 [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|AF191
0 [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|AF191
9
>>> 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|AF191
1 [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|AF191
2 [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 156
0

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|AF191
3 [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ận
  • bộ 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|AF191
4 [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 156
1

Đầ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 156
2

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 156
3

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|AF191
5 [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 156
4

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 156
5

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 156
6
>>> 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|AF191
6 [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 156
7

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 156
8

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 156
9

Để đ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|AF191
0

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|AF191
1

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|AF191
2_______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|AF191
3

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|AF191
4

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|AF191
5

Đ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|AF191
6

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|AF191
7

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|AF191
8

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|AF191
8 [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|AF191
9

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]]
AAAAAAA
0

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]]
AAAAAAA
1

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]]
AAAAAAA
2

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]]
AAAAAAA
3lớ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|AF191
1
>>> 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
00 [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|AF191
3

Đạ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|AF191
4 [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ận
  • target - 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|AF191
03 [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|AF191
04 [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|AF191
05 [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|AF191
06 [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|AF191
09 [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|AF191
9 [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|AF191
6 [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|AF191
8 [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|AF191
33¶

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]]
AAAAAAA
4

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]]
AAAAAAA
5

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|AF191
34 = 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|AF191
1
>>> 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
36 [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|AF191
3

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|AF191
4 [self , seqA , seqB , điểm , đường dẫn]

Khởi tạo một đối tượng PairwiseAlignments mới

Tranh luận
  • seqA - 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|AF191
1 [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|AF191
7 [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|AF191
0 [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|AF191
62 [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|AF191
1____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|AF191
65

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]]
AAAAAAA
6

Chỉ định chế độ căn chỉnh là cục bộ để tạo căn chỉnh cục bộ

>>> print[align[:, 1]]
AAAAAAA
7

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]]
AAAAAAA
8

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

Chủ Đề