Hướng dẫn biopython blosum62 - biopython blosum62

Biopython

Đóng gói con

  • Bio.Align.Applations Gói
    • Nội dung mô -đun
  • Bio.Align.SubStcation_Matrices Gói
    • Nội dung mô -đun

Bio.Align.SubStcation_Matrices Gói

Nội dung mô -đun

Mã để xử lý với sự sắp xếp trình tự.

Một trong những điều quan trọng nhất trong mô -đun này là lớp MultipleseQalign, được sử dụng trong mô -đun Bio.alignio.(records, alphabet=None, annotations=None, column_annotations=None)

Lớp ________ 42 ________ 43 (Bản ghi, Bảng chữ cái = Không, Chú thích = Không, Cột_annotations = Không) ¶

Cơ sở:

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

Đại diện cho một căn chỉnh nhiều chuỗi cổ điển (MSA).

Bằng cách này, chúng tôi có nghĩa là một tập hợp các chuỗi (thường được hiển thị dưới dạng các hàng) đều 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ủa các chữ cái, với các cột được xác định rõ.

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

Thông thường bạn sẽ tạo MSA bằng cách tải tệp căn chỉnh với mô -đun Alignio:

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

Trong một số khía cạnh, bạn có thể coi các đố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 cho đối tượng seqrecord cho mỗi hàng:

>>> print(align[0].id)
gi|6273285|gb|AF191659.1|AF191
>>> print(align[-1].id)
gi|6273291|gb|AF191665.1|AF191

Bạn cũng có thể truy cập các hàng riêng lẻ dưới dạng đối tượng SeqRecord thông qua chỉ mục của chúng:

>>> print(align[:, 1])
AAAAAAA

Và trích xuất các cột dưới dạng 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

Hoặc, chỉ lấy mười cột đầu tiên làm liên kết phụ:

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

Kết hợp cắt liên kết này với bổ sung căn chỉnh cho phép bạn xóa 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:

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.Align.Generic 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 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 tham chiếu với trạng thái đặc biệt.(self, records, alphabet=None, annotations=None, column_annotations=None)

________ 45 (Tự, Bản ghi, Bảng chữ cái = Không, chú thích = Không, Cột_annotations = Không) ¶

Arguments:
  • Khởi tạo một đối tượng Multipleseqalign mới.

    Bản ghi - Danh sách (hoặc người 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 trống.

    Bảng chữ cái - Bảng chữ cái cho toàn bộ sự liên kết, thường là một

  • Bảng chữ cái, nên là một siêu bộ của bảng chữ cái bản ghi riêng lẻ. Nếu bị bỏ qua, bảng chữ cái đồng thuận được sử dụng.

  • Chú thích - Thông tin về toàn bộ sự liên kết (từ điển).

    Cột_annotations - mỗi chú thích cột (Từ điển bị hạn chế).

Điều này giữ các chuỗi Python (danh sách, chuỗi, bộ dữ liệu) có độ dài phù hợp với số lượng cột. Một cách sử dụng điển hình sẽ là một chuỗi đồng thuận cấu trúc thứ cấp.

>>> from Bio.Alphabet import generic_dna
>>> from Bio.Seq import Seq
>>> from Bio.SeqRecord import SeqRecord
>>> from Bio.Align import MultipleSeqAlignment
>>> a = SeqRecord(Seq("AAAACGT", generic_dna), id="Alpha")
>>> b = SeqRecord(Seq("AAA-CGT", generic_dna), id="Beta")
>>> c = SeqRecord(Seq("AAAAGGT", generic_dna), id="Gamma")
>>> align = MultipleSeqAlignment([a, b, c],
...                              annotations={"tool": "demo"},
...                              column_annotations={"stats": "CCCXCCC"})
>>> print(align)
DNAAlphabet() alignment with 3 rows and 7 columns
AAAACGT Alpha
AAA-CGT Beta
AAAAGGT Gamma
>>> align.annotations
{'tool': 'demo'}
>>> align.column_annotations
{'stats': 'CCCXCCC'}

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ể thực hiện điều này từ danh sách các đối tượng SeqRecord:

tài sản ________ 46¶

Từ điển của sự phân tích trên một chữ cái cho chuỗi.(self)

________ 47 (bản thân) ¶

Trả về một bản tóm tắt chuỗi đa dòng của căn chỉnh.

>>> from Bio.Alphabet import IUPAC, Gapped
>>> from Bio.Align import MultipleSeqAlignment
>>> align = MultipleSeqAlignment([], Gapped(IUPAC.unambiguous_dna, "-"))
>>> align.add_sequence("Alpha", "ACTGCTAGCTAG")
>>> align.add_sequence("Beta",  "ACT-CTAGCTAG")
>>> align.add_sequence("Gamma", "ACTGCTAGATAG")
>>> print(align)
Gapped(IUPACUnambiguousDNA(), '-') alignment with 3 rows and 12 columns
ACTGCTAGCTAG Alpha
ACT-CTAGCTAG Beta
ACTGCTAGATAG Gamma

Đầu ra này được dự định là có thể đọc được, nhưng sự sắp xếp lớn được hiển thị cắt ngắn. Tối đa 20 hàng (trình tự) và 50 cột được hiển thị, với các định danh bản ghi. Điều này sẽ phù hợp với một màn hình duy nhất. ví dụ.

Xem thêm Phương thức định dạng căn chỉnh.(self)

________ 48 (bản thân) ¶

Trả về một đại diện của đối tượng để gỡ lỗi.

Biểu diễn không thể được sử dụng với eval () để tạo lại đối tượng, thường có thể với các oject Python đơn giản. Ví dụ:

The hex string is the memory address of the object, see help(id). This provides a simple way to visually distinguish alignments of the same size.

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 sự sắp xếp của cùng kích thước.(self, format_spec)

________ 49 (self, format_spec) ¶

Trả về căn chỉnh dưới dạng chuỗi trong định dạng tệp được chỉ định [không dùng nữa].

Phương pháp này không được chấp nhận; Thay vì căn chỉnh.format (format_spec), vui lòng sử dụng định dạng (căn chỉnh, format_spec) hoặc chuỗi f.(self, format_spec)

________ 50 (self, format_spec) ¶

Trả về căn chỉnh dưới dạng chuỗi trong định dạng tệp được chỉ định.

e.g.

>>> from Bio.Alphabet import IUPAC, Gapped
>>> from Bio.Align import MultipleSeqAlignment
>>> align = MultipleSeqAlignment([], Gapped(IUPAC.unambiguous_dna, "-"))
>>> align.add_sequence("Alpha", "ACTGCTAGCTAG")
>>> align.add_sequence("Beta",  "ACT-CTAGCTAG")
>>> align.add_sequence("Gamma", "ACTGCTAGATAG")
>>> print(format(align, "fasta"))
>Alpha
ACTGCTAGCTAG
>Beta
ACT-CTAGCTAG
>Gamma
ACTGCTAGATAG

>>> print(format(align, "phylip"))
 3 12
Alpha      ACTGCTAGCT AG
Beta       ACT-CTAGCT AG
Gamma      ACTGCTAGAT AG

Định dạng phải là một chuỗi chữ thường được hỗ trợ dưới dạng định dạng đầu ra của Bio.alignio (chẳng hạn như Fasta Fasta, Hồi Clustal ,, Phylip ,, Stockholm, v.v.), được sử dụng để biến căn chỉnh thành chuỗi.(self)

________ 51 (bản thân) ¶

e.g.

>>> from Bio.Alphabet import IUPAC, Gapped
>>> from Bio.Align import MultipleSeqAlignment
>>> align = MultipleSeqAlignment([], Gapped(IUPAC.unambiguous_dna, "-"))
>>> align.add_sequence("Alpha", "ACTGCTAGCTAG")
>>> align.add_sequence("Beta",  "ACT-CTAGCTAG")
>>> align.add_sequence("Gamma", "ACTGCTAGATAG")
>>> for record in align:
...    print(record.id)
...    print(record.seq)
...
Alpha
ACTGCTAGCTAG
Beta
ACT-CTAGCTAG
Gamma
ACTGCTAGATAG

Lặp lại trên các hàng căn chỉnh như các đối tượng seqrecord.(self)

________ 52 (bản thân) ¶

Trả về số lượng chuỗi trong căn chỉnh.

Sử dụng LEN (căn chỉnh) để có được số lượng chuỗi (nghĩa là số lượng hàng) và căn chỉnh.get_alignment_length () để có độ dài của chuỗi dài nhất (nghĩa là số lượng cột).

Điều này rất dễ nhớ nếu bạn nghĩ về sự liên kết giống như một danh sách các đối tượng seqrecord.(self)

________ 53 (bản thân) ¶

Trả về chiều dài tối đa 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
0

Nếu bạn muốn biết số lượng chuỗi trong căn chỉnh, hãy sử dụng LEN (Align) thay thế:

________ 54 (bản thân, mô tả, trình tự, start = none, end = none, trọng lượng = 1.0) ¶(self, descriptor, sequence, start=None, end=None, weight=1.0)

Thêm một chuỗi 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ự, được cho là được đặt trước với các chuỗi hiện có.

Arguments:
  • Mô tả - ID mô tả của chuỗi được thêm vào. Điều này sẽ được sử dụng làm thuộc tính seqrecord, kết quả.

  • Trình tự - Một chuỗi có thông tin trình tự.

  • Bắt đầu - Bạn có thể đặt rõ ràng điểm bắt đầu của chuỗi. Điều này rất hữu ích (ít nhất) cho sự sắp xếp vụ nổ, 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 kết thúc của chuỗi, điều này rất quan trọng cho cùng một lý do với sự khởi đầu.

  • Trọng lượng - 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 lượng. (0,0 => Không có trọng lượng, 1.0 => Trọng lượng cao nhất)

Nói chung, cung cấp một seqrecord và gọi. Append được ưu tiên.

________ 55 (bản thân, hồ sơ) ¶(self, records)

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ă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 ta 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 sự liên kết 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, bạn có thể sử dụng phương thức mở rộng với căn chỉnh thứ hai (với điều kiện trình tự của nó có cùng độ dài với căn chỉnh ban đầu).

________ 56 (bản thân, ghi) ¶(self, record)

Thêm một đối tượng SeqRecord vào căn chỉnh như 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ă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 tôi sẽ xây dựng một bản ghi giả để thê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ờ hãy nối điều này vào sự liên kết,

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

________ 57 (bản thân, người khác)(self, other)

Kết hợp hai căn chỉnh với cùng một số hàng bằng cách thêm chúng.

Nếu bạn có hai sắp xếp nhiều chuỗi (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 thức mở rộng thêm theo hàng. Sử dụng toán tử bổ sung 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 để Lôi 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

Để hoạt động này, cả hai sắp xếp phải có cùng số lượng hồ sơ (ở đâ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 thêm vào 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 trong đó cả hai sắp xếp ban đầu có chung tên, có nghĩa là khi các hàng được thêm vào, chúng cũng có cùng tên.

Bất kỳ chú thích phổ biến nào được bảo tồn, nhưng chú thích khác nhau đều 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 sự lan truyền tình cờ của 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ỳ thông tin phổ biến trên mỗi cột đượ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

________ 58 (tự, chỉ mục) ¶(self, 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ể nhận được một đối tượng SeqRecord (đại diện cho một hàng duy nhất), một đối tượng SEQ (cho một cột duy nhất), một chuỗi (cho một ký tự) hoặc một căn chỉnh khác (đại diện cho một phần hoặc tất cả các căn chỉnh).

Align [R, C] đưa ra một ký tự duy nhất dưới dạng chuỗi chuỗi [r] cho một hàng dưới dạng seqrecord căn chỉnh [r, r,] Bảng chữ cái căn chỉnh)

Align [:] và Align [:,:] Đưa ra một bản sao của căn chỉnh

Bất cứ điều gì khác đưa ra một căn chỉnh phụ, ví dụ: Align [0: 2] hoặc Align [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 căn chỉnh [0: 2,1: 3] chỉ sử dụng các hàng 0 & 1 và chỉ Cols 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 chỉ mục số nguyên (nghĩ về căn chỉnh như một danh sách các đối tượng SeqRecord ở đâ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 Python để tạo ra một liên kết 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ức là căn chỉnh [Bắt đầu: Kết thúc: Bước], có thể được sử dụng để chọn mỗi 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ỉ số để 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ự duy nhất. ví dụ.

Điều này tương đương với:

or:

Để nhận một cột duy nhất (dưới dạng chuỗi), hãy sử dụng cú pháp này:

Hoặc, để có được một phần của một cột,

Tuy nhiên, nói chung bạn có đượ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

Đ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.

________ 59 (self, key = none, lùi = sai) ¶(self, key=None, reverse=False)

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 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 theo giá trị sắp xếp.

Điều này rất hữu ích nếu bạn muốn thêm hai sắp xếp sử dụng cùng một 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 thử và thêm những thứ này mà không cần sắp xếp, bạn sẽ nhận được điều này:

>>> 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 giống như định danh không khớp với nhau. 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 một thứ tự sắp xếp khác, bạn có thể sắp xếp nội dung GC của mỗi chuỗi.

>>> print(align[:, 1])
AAAAAAA
2

Ngoài ra còn có một đối số ngược, 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
3

Lớp ________ 42 ________ 61 (mục tiêu, truy vấn, đường dẫn, điểm số) ¶(target, query, path, score)

Cơ sở:

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

Đại diện cho một liên kết trình tự theo cặp.

Bên trong, sự liên kết theo cặp được lưu trữ dưới dạng đường dẫn qua ma trận theo dõi, tức là một bộ các cặp chỉ số tương ứng với các đỉnh của đường dẫn trong ma trận theo dõi.

________ 45 (tự, mục tiêu, truy vấn, đường dẫn, điểm số) ¶(self, target, query, path, score)

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

Arguments:
  • Target - Trình tự đầu tiên, như một chuỗi đơn giản, không có khoảng trống.

  • Truy vấn - Trình tự thứ hai, như một chuỗi đơn giản, không có khoảng trống.

  • Đường dẫn - Đường dẫn qua ma trận theo dõi, xác định

    alignment.

  • Điểm - Điểm căn chỉnh.

Thông thường bạn sẽ có được một đối tượng pairwisealignment bằng cách lặp lại trên một đối tượng pairwisealignments.

________ 64 (bản thân, người khác)(self, other)

Tự trả lại == giá trị.

________ 65 (bản thân, người khác)(self, other)

Tự trả lại! = Giá trị.

________ 66 (bản thân, người khác)(self, other)

Tự trả lại

________ 67 (bản thân, người khác)(self, other)

Tự trả lại

________ 67 (bản thân, người khác)(self, other)

________ 68 (bản thân, người khác)

Tự trả lại> giá trị.(self, other)

________ 69 (bản thân, người khác)

Tự trả lại> = giá trị.(self, format_spec)

________ 50 (self, format_spec) ¶

Tạo một đại diện có thể đọc được của con người của sự liên kết.(self)

________ 49 (bản thân) ¶

Tạo một đại diện có thể đọc được của con người của sự liên kết (không dùng nữa).

Phương pháp này không được chấp nhận; Thay vì căn chỉnh.format (), vui lòng sử dụng định dạng (căn chỉnh) hoặc chuỗi F.(self)

________ 47 (bản thân) ¶

Trả lại str (tự).

Tài sản ________ 73¶

Trả về các chỉ số của các Trại tuần được liên kết 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 trong chuỗi mục tiêu và truy vấn được liên kết với nhau. Nếu sự liên kết giữa mục tiêu (t) và truy vấn (q) bao gồm n khối, bạn sẽ nhận được hai bộ dữ liệu độ dài n:

(((t_start1, t_end1), (t_start2, t_end2), xông, (t_startn, t_endn)),

((q_start1, q_end1), (q_start2, q_end2), xông, (q_startn, q_endn))))

>>> print(align[:, 1])
AAAAAAA
4

Ví dụ,

>>> print(align[:, 1])
AAAAAAA
5

Lưu ý rằng các sắp xếp khác nhau có thể có cùng một chuỗi được liên kết với nhau. Cụ thể, điều này có thể xảy ra nếu sự sắp xếp khác nhau chỉ về vị trí khoảng cách của họ:

Thuộc tính có thể được sử dụng để xác định các sự sắp xếp giống hệt nhau về các chuỗi được liên kết của chúng.(seqA, seqB, score, paths)

Cơ sở:

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

Đại diện cho một liên kết trình tự theo cặp.

Bên trong, sự liên kết theo cặp được lưu trữ dưới dạng đường dẫn qua ma trận theo dõi, tức là một bộ các cặp chỉ số tương ứng với các đỉnh của đường dẫn trong ma trận theo dõi.

________ 45 (tự, mục tiêu, truy vấn, đường dẫn, điểm số) ¶

Khởi tạo một đối tượng pairwisealment mới.(self, seqA, seqB, score, paths)

Target - Trình tự đầu tiên, như một chuỗi đơn giản, không có khoảng trống.

Arguments:
  • Truy vấn - Trình tự thứ hai, như một chuỗi đơn giản, không có khoảng trống.

  • Đường dẫn - Đường dẫn qua ma trận theo dõi, xác định

  • Điểm - Điểm căn chỉnh.

  • Thông thường bạn sẽ có được một đối tượng pairwisealignment bằng cách lặp lại trên một đối tượng pairwisealignments.

    ________ 64 (bản thân, người khác)

Tự trả lại == giá trị.

________ 65 (bản thân, người khác)(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
8(self, 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
1(self)
>>> from Bio.Alphabet import IUPAC, Gapped
>>> from Bio.Align import MultipleSeqAlignment
>>> align = MultipleSeqAlignment([], Gapped(IUPAC.unambiguous_dna, "-"))
>>> align.add_sequence("Alpha", "ACTGCTAGCTAG")
>>> align.add_sequence("Beta",  "ACT-CTAGCTAG")
>>> align.add_sequence("Gamma", "ACTGCTAGATAG")
>>> print(format(align, "fasta"))
>Alpha
ACTGCTAGCTAG
>Beta
ACT-CTAGCTAG
>Gamma
ACTGCTAGATAG

>>> print(format(align, "phylip"))
 3 12
Alpha      ACTGCTAGCT AG
Beta       ACT-CTAGCT AG
Gamma      ACTGCTAGAT AG
2(self)¶ class
>>> 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
2
>>> from Bio.Alphabet import IUPAC, Gapped
>>> from Bio.Align import MultipleSeqAlignment
>>> align = MultipleSeqAlignment([], Gapped(IUPAC.unambiguous_dna, "-"))
>>> align.add_sequence("Alpha", "ACTGCTAGCTAG")
>>> align.add_sequence("Beta",  "ACT-CTAGCTAG")
>>> align.add_sequence("Gamma", "ACTGCTAGATAG")
>>> print(format(align, "fasta"))
>Alpha
ACTGCTAGCTAG
>Beta
ACT-CTAGCTAG
>Gamma
ACTGCTAGATAG

>>> print(format(align, "phylip"))
 3 12
Alpha      ACTGCTAGCT AG
Beta       ACT-CTAGCT AG
Gamma      ACTGCTAGAT AG
4(**kwargs)

Tự trả lại! = Giá trị.

________ 66 (bản thân, người khác)

Tự trả lại

Để 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 số trận đấu và không phù hợp, cũng như điểm số khoảng cách. Thông thường, điểm số trận đấu là tích cực, trong khi điểm số không khớp và điểm khoảng cách là âm hoặc bằng không. Theo mặc định, điểm trận đấu là 1, và điểm số không phù hợp và khoảng cách bằng không. Dựa trên các giá trị của điểm GAP, một đối tượng Pairwisealigner tự động chọn thuật toán căn chỉnh thích hợp (NeedMeman-Wunsch, Smith-Waterman, Gotoh hoặc Waterman-Smith-Beyer Global hoặc Alignment Algorithm).

Gọi phương thức điểm số của người Viking trên căn chỉnh với hai chuỗi vì các đối số sẽ tính toán điểm căn chỉnh giữa hai chuỗi. Gọi phương thức ALIGN ALIGN trên căn chỉnh với hai chuỗi vì các đối số sẽ trả về một trình tạo mang lại sự sắp xếp giữa hai chuỗi.

Vài ví dụ:

>>> print(align[:, 1])
AAAAAAA
6

Chỉ định chế độ Aligner là cục bộ để tạo sự sắp xếp cục bộ:

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

Làm một sự liên kết toàn cầu. Các ký tự giống hệt nhau được cho 2 điểm, 1 điểm được khấu trừ cho mỗi ký tự không giống nhau.

>>> print(align[:, 1])
AAAAAAA
8

Tương tự như trên, ngoại trừ bây giờ 0,5 điểm được khấu trừ khi mở một khoảng cách và 0,1 điểm được khấu trừ khi mở rộng nó.

>>> print(align[:, 1])
AAAAAAA
9

Hàm căn chỉnh cũng có thể sử dụng các ma trận đã biết đã được bao gồm trong Biopython:

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

Bạn cũng có thể đặt giá trị của các thuộc tính trực tiếp trong quá trình xây dựng đối tượng pairwisealigner bằng cách cung cấp chúng dưới dạng từ khóa tranh luậ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
1

________ 45 (tự, ** kwargs) ¶(self, **kwargs)

Khởi tạo một pairwisealigner mới với các đối số từ khóa làm thuộc tính.

Hàm này các lớp con _aligners.pairwisealigner và các vòng lặp trên tất cả các đối số từ khóa được đưa ra trong hàm tạo để đặt chúng làm thuộc tính trên đối tượng. Điều này sẽ gọi phương thức __setAttr__ để làm điều đó.

________ 87 (bản thân, khóa, giá trị) ¶(self, key, value)

Thực hiện setAttr (tự, tên, giá trị).

________ 88 (tự, seqa, seqb) ¶(self, seqA, seqB)

Trả về sự sắp xếp của hai chuỗi bằng pairwisealigner.

________ 89 (tự, seqa, seqb) ¶(self, seqA, seqB)

Trả về điểm sắp xếp của hai chuỗi bằng pairwisealigner.