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

Tôi đang viết một chương trình phải tính toán nhiều chuỗi của một bộ chuỗi. Tôi đã nghĩ đến việc làm điều này trong Python, nhưng tôi có thể sử dụng một phần mềm bên ngoài hoặc ngôn ngữ khác nếu điều đó thực tế hơn. Dữ liệu không đặc biệt lớn, tôi không có yêu cầu về hiệu suất mạnh mẽ và tôi có thể chịu đựng được các xấp xỉ (tức là tôi chỉ cần tìm một sự liên kết đủ tốt). Vấn đề duy nhất là các chuỗi là các chuỗi thông thường (ví dụ: các chuỗi UTF-8 có khả năng với các dòng mới nên được coi là một nhân vật thông thường); Chúng không phải là trình tự DNA hoặc trình tự protein.

Nội phân chính

  • Thuật toán nào được sử dụng để căn chỉnh nhiều chuỗi?
  • Làm thế nào để bạn thực hiện nhiều chuỗi liên tục?
  • Công cụ nào là tốt nhất cho căn chỉnh nhiều chuỗi?
  • Căn chỉnh trình tự trong Python là gì?

Nội phân chính

  • Thuật toán nào được sử dụng để căn chỉnh nhiều chuỗi?
  • Làm thế nào để bạn thực hiện nhiều chuỗi liên tục?
  • Công cụ nào là tốt nhất cho căn chỉnh nhiều chuỗi?
  • Căn chỉnh trình tự trong Python là gì?

Tôi có thể tìm thấy hàng tấn công cụ và thông tin cho các trường hợp thông thường trong tin sinh học với các định dạng tệp phức tạp cụ thể và một loạt các tính năng tôi không cần, nhưng thật khó để tìm phần mềm, thư viện hoặc mã ví dụ cho trường hợp đơn giản của chuỗi. Tôi có thể thực hiện lại bất kỳ một trong nhiều thuật toán cho vấn đề này hoặc mã hóa chuỗi của tôi dưới dạng DNA, nhưng phải có một cách tốt hơn. Bạn có biết về bất kỳ giải pháp nào không?

Thanks!

Hỏi ngày 28 tháng 4 năm 2011 lúc 5:06Apr 28, 2011 at 5:06

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

6

  • Cách dễ nhất để sắp xếp nhiều chuỗi là thực hiện một số sắp xếp theo cặp.

Đầu tiên nhận được điểm tương tự theo cặp cho mỗi cặp và lưu trữ các điểm số đó. Đây là phần đắt nhất của quá trình. Chọn cặp có điểm số tương tự tốt nhất và thực hiện sự liên kết đó. Bây giờ chọn trình tự phù hợp nhất với một trong các chuỗi trong tập hợp các chuỗi được căn chỉnh và căn chỉnh nó với tập hợp được căn chỉnh, dựa trên sự liên kết theo cặp đó. Lặp lại cho đến khi tất cả các chuỗi được vào.

Khi bạn đang căn chỉnh một chuỗi theo các chuỗi được căn chỉnh, (dựa trên sự căn chỉnh theo cặp), khi bạn chèn một khoảng cách trong chuỗi đã có trong tập hợp, bạn chèn các khoảng trống ở cùng một vị trí trong tất cả các chuỗi trong tập hợp căn chỉnh.

LaFrasu đã đề xuất thuật toán SeqUneCematcher () để sử dụng để liên kết theo cặp của chuỗi UTF-8. Những gì tôi đã mô tả mang lại cho bạn một cách khá đau đớn, hợp lý để mở rộng điều đó thành nhiều trình tự.

Trong trường hợp bạn quan tâm, nó tương đương với việc xây dựng các bộ nhỏ các chuỗi được liên kết và sắp xếp chúng theo cặp tốt nhất của chúng. Nó cho chính xác kết quả tương tự, nhưng nó là một triển khai đơn giản hơn.

Đã trả lời ngày 3 tháng 5 năm 2011 lúc 21:25May 3, 2011 at 21:25

James Crookjames CrookJames Crook

1.58012 Huy hiệu bạc17 Huy hiệu đồng12 silver badges17 bronze badges

2

Bạn đang tìm kiếm một cái gì đó nhanh chóng và bẩn thỉu, như sau đây?

from difflib import SequenceMatcher

a = "dsa jld lal"
b = "dsajld kll"
c = "dsc jle kal"
d = "dsd jlekal"

ss = [a,b,c,d]

s = SequenceMatcher()

for i in range(len(ss)):
    x = ss[i]
    s.set_seq1(x)
    for j in range(i+1,len(ss)):

        y = ss[j]
        s.set_seq2(y)

        print
        print s.ratio()
        print s.get_matching_blocks()

Đã trả lời ngày 28 tháng 4 năm 2011 lúc 11:59Apr 28, 2011 at 11:59

Lafraslafraslafras

8.1414 Huy hiệu vàng28 Huy hiệu bạc28 Huy hiệu đồng4 gold badges28 silver badges28 bronze badges

3

Phiên bản MAFFT 7.120+ hỗ trợ căn chỉnh nhiều văn bản. Đầu vào giống như định dạng FASTA nhưng với văn bản Latin1 thay vì trình tự và đầu ra được căn chỉnh định dạng Fasta. Sau khi được cài đặt, thật dễ dàng để chạy:

mafft --text input_text.fa > output_alignment.fa

Mặc dù MAFFT là một công cụ trưởng thành để căn chỉnh trình tự sinh học, chế độ căn chỉnh văn bản đang trong giai đoạn phát triển, với các kế hoạch trong tương lai bao gồm cho phép ma trận ghi điểm xác định của người dùng. Bạn có thể thấy các chi tiết khác trong tài liệu.

Đã trả lời ngày 4 tháng 4 năm 2017 lúc 14:41Apr 4, 2017 at 14:41

Chris_RandsChris_RandsChris_Rands

36.4K12 Huy hiệu vàng79 Huy hiệu bạc110 Huy hiệu đồng12 gold badges79 silver badges110 bronze badges

1

Gần đây, tôi đã viết một kịch bản Python chạy thuật toán Smith-Waterman (đó là những gì được sử dụng để tạo ra sự sắp xếp trình tự cục bộ cho chuỗi DNA hoặc protein). Nó gần như chắc chắn không phải là triển khai nhanh nhất, vì tôi không tối ưu hóa nó cho tốc độ (không phải là nút cổ chai của tôi tại thời điểm này), nhưng nó hoạt động và không quan tâm đến danh tính của từng nhân vật trong chuỗi. Tôi có thể đăng nó ở đây hoặc gửi email cho bạn các tệp nếu đó là loại bạn đang tìm kiếm.

Đã trả lời ngày 28 tháng 4 năm 2011 lúc 19:01Apr 28, 2011 at 19:01

4

Thuật toán nào được sử dụng để căn chỉnh nhiều chuỗi?

Chúng tôi đã phát triển Kalign, một phương pháp sử dụng thuật toán phù hợp với chuỗi Wu-Manber, để cải thiện cả độ chính xác và tốc độ của nhiều chuỗi liên kết. Chúng tôi đã so sánh tốc độ và độ chính xác của Kalign với các phương pháp phổ biến khác bằng cách sử dụng Balibase, prefab và một bộ thử nghiệm lớn mới.Wu-Manber string-matching algorithm, to improve both the accuracy and speed of multiple sequence alignment. We compared the speed and accuracy of Kalign to other popular methods using Balibase, Prefab, and a new large test set.

Làm thế nào để bạn thực hiện nhiều chuỗi liên tục?

Tạo một căn chỉnh nhiều chuỗi..

Liệt kê các tính năng quan tâm và chọn chúng ..

Gọi công cụ căn chỉnh nhiều chuỗi ..

Chọn nucleotide hoặc axit amin ..

Xử lý kết quả ..

Công cụ nào là tốt nhất cho căn chỉnh nhiều chuỗi?

Căn chỉnh trình tự trong Python là gì?DNA alignment and MEGA X are used conventionally for small-size data but if you are dealing with large data then MAFFT will be best.

Căn chỉnh trình tự trong Python là gì?

Quảng cáo.Căn chỉnh trình tự là quá trình sắp xếp hai hoặc nhiều chuỗi (của chuỗi DNA, RNA hoặc protein) theo một thứ tự cụ thể để xác định vùng tương tự giữa chúng.the process of arranging two or more sequences (of DNA, RNA or protein sequences) in a specific order to identify the region of similarity between them.