Hướng dẫn biopython blosum62 - biopython blosum62
Bio.Align.SubStcation_Matrices GóiNộ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|AF1914 Đạ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:
Đ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 ACTGCTAGATAGLặ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 1560 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:
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 1561 Đầ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 1562 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 1563 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 1564 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 1565 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 1566 ________ 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 1567 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 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 Để 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|AF1910 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|AF1911 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|AF1912 ________ 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|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 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|AF1914 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|AF1915 Đ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|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ỉ 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|AF1918 Đ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|AF1919 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]) 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 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]) AAAAAAA1 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]) AAAAAAA2 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]) AAAAAAA3 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|AF1914 Đạ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:
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) ¶ ________ 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.
((q_start1, q_end1), (q_start2, q_end2), xông, (q_startn, q_endn)))) >>> print(align[:, 1]) AAAAAAA4 Ví dụ, >>> print(align[:, 1]) AAAAAAA5 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|AF1914 Đạ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:
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|AF1918(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|AF1911(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 AG2(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|AF1912 >>> 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 AG4(**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]) AAAAAAA6 Chỉ định chế độ Aligner là cục bộ để tạo sự sắp xếp cục bộ: >>> print(align[:, 1]) AAAAAAA7 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]) AAAAAAA8 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]) AAAAAAA9 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|AF1910 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|AF1911 ________ 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. |