Hướng dẫn what is biopython used for? - biopython dùng để làm gì?
Biopython
Dự án Biopython là một bộ sưu tập nguồn mở các công cụ Python phi thương mại cho sinh học và tin sinh học, được tạo ra bởi một hiệp hội quốc tế của các nhà phát triển. [1] [3] [4] Nó chứa các lớp để thể hiện trình tự sinh học và chú thích trình tự, và nó có thể đọc và ghi vào nhiều định dạng tệp. Nó cũng cho phép một phương tiện lập trình truy cập cơ sở dữ liệu trực tuyến về thông tin sinh học, chẳng hạn như các phương tiện tại NCBI. Các mô -đun riêng biệt mở rộng khả năng của Biopython để liên kết trình tự, cấu trúc protein, di truyền dân số, phylogenetic, họa tiết trình tự và học máy. Biopython là một trong số các dự án Bio* được thiết kế để giảm sự trùng lặp mã trong sinh học tính toán. [5]Biopython project is an open-source collection of non-commercial Python tools for computational biology and bioinformatics, created by an international association of developers.[1][3][4] It contains classes to represent biological sequences and sequence annotations, and it is able to read and write to a variety of file formats. It also allows for a programmatic means of accessing online databases of biological information, such as those at NCBI. Separate modules extend Biopython's capabilities to sequence alignment, protein structure, population genetics, phylogenetics, sequence motifs, and machine learning. Biopython is one of a number of Bio* projects designed to reduce code duplication in computational biology.[5] History[edit][edit]Phát triển Biopython bắt đầu vào năm 1999 và nó được phát hành lần đầu tiên vào tháng 7 năm 2000. [6] Nó được phát triển trong một khung thời gian tương tự và với các mục tiêu tương tự với các dự án khác bổ sung các khả năng tin sinh học vào các ngôn ngữ lập trình tương ứng của chúng, bao gồm Bioperl, Bioruby và Biojava. Các nhà phát triển ban đầu của dự án bao gồm Jeff Chang, Andrew Dalke và Brad Chapman, mặc dù hơn 100 người đã đóng góp cho đến nay. [7] Vào năm 2007, một dự án Python tương tự, cụ thể là PyCogent, đã được thành lập. [8]PyCogent, was established.[8] Phạm vi ban đầu của Biopython liên quan đến việc truy cập, lập chỉ mục và xử lý các tệp trình tự sinh học. Mặc dù đây vẫn là một trọng tâm chính, nhưng trong những năm sau đó, các mô -đun đã mở rộng chức năng của nó để bao gồm các lĩnh vực sinh học bổ sung (xem các tính năng và ví dụ chính). Kể từ phiên bản 1.77, Biopython không còn hỗ trợ Python 2. [9] Design[edit][edit]Bất cứ nơi nào có thể, Biopython tuân theo các quy ước được sử dụng bởi ngôn ngữ lập trình Python để giúp người dùng quen thuộc dễ dàng hơn với Python. Ví dụ, các đối tượng Biopython có thể đọc và viết các định dạng tệp phổ biến nhất cho từng lĩnh vực chức năng của nó và giấy phép của nó được cho phép và tương thích với hầu hết các giấy phép phần mềm khác, cho phép sử dụng Biopython trong nhiều dự án phần mềm. [4] Các tính năng và ví dụ chính [Chỉnh sửa][edit]Sequences[edit][edit]Một khái niệm cốt lõi trong Biopython là trình tự sinh học, và điều này được thể hiện bằng lớp >>> # This script creates a DNA sequence and performs some typical manipulations >>> from Bio.Seq import Seq >>> dna_sequence = Seq('AGGCTTCTCGTA', IUPAC.unambiguous_dna) >>> dna_sequence Seq('AGGCTTCTCGTA', IUPACUnambiguousDNA()) >>> dna_sequence[2:7] Seq('GCTTC', IUPACUnambiguousDNA()) >>> dna_sequence.reverse_complement() Seq('TACGAGAAGCCT', IUPACUnambiguousDNA()) >>> rna_sequence = dna_sequence.transcribe() >>> rna_sequence Seq('AGGCUUCUCGUA', IUPACUnambiguousRNA()) >>> rna_sequence.translate() Seq('RLLV', IUPACProtein()) Chú thích trình tự [Chỉnh sửa][edit]Lớp >>> # This script loads an annotated sequence from file and views some of its contents. >>> from Bio import SeqIO >>> seq_record = SeqIO.read('pTC2.gb', 'genbank') >>> seq_record.name 'NC_019375' >>> seq_record.description 'Providencia stuartii plasmid pTC2, complete sequence.' >>> seq_record.features[14] SeqFeature(FeatureLocation(ExactPosition(4516), ExactPosition(5336), strand=1), type='mobile_element') >>> seq_record.seq Seq('GGATTGAATATAACCGACGTGACTGTTACATTTAGGTGGCTAAACCCGTCAAGC...GCC', IUPACAmbiguousDNA()) Đầu vào và đầu ra [Chỉnh sửa][edit]Biopython có thể đọc và ghi vào một số định dạng trình tự phổ biến, bao gồm FASTA, FASTQ, GenBank, Clustal, Phylip và Nexus. Khi đọc các tệp, thông tin mô tả trong tệp được sử dụng để điền vào các thành viên của các lớp Biopython, chẳng hạn như Các tệp trình tự rất lớn có thể vượt quá tài nguyên bộ nhớ của máy tính, do đó Biopython cung cấp các tùy chọn khác nhau để truy cập các bản ghi trong các tệp lớn. Chúng có thể được tải hoàn toàn vào bộ nhớ trong các cấu trúc dữ liệu Python, chẳng hạn như danh sách hoặc từ điển, cung cấp truy cập nhanh với chi phí sử dụng bộ nhớ. Ngoài ra, các tệp có thể được đọc từ đĩa khi cần, với hiệu suất chậm hơn nhưng yêu cầu bộ nhớ thấp hơn. >>> # This script loads a file containing multiple sequences and saves each one in a different format. >>> from Bio import SeqIO >>> genomes = SeqIO.parse('salmonella.gb', 'genbank') >>> for genome in genomes: ... SeqIO.write(genome, genome.id + '.fasta', 'fasta') Truy cập cơ sở dữ liệu trực tuyến [Chỉnh sửa][edit]Thông qua mô -đun Bio.entrez, người dùng Biopython có thể tải xuống dữ liệu sinh học từ cơ sở dữ liệu NCBI. Mỗi chức năng được cung cấp bởi Công cụ tìm kiếm Entrez có sẵn thông qua các chức năng trong mô -đun này, bao gồm tìm kiếm và tải xuống hồ sơ. >>> # This script downloads genomes from the NCBI Nucleotide database and saves them in a FASTA file. >>> from Bio import Entrez >>> from Bio import SeqIO >>> output_file = open('all_records.fasta', "w") >>> Entrez.email = '' >>> records_to_download = ['FO834906.1', 'FO203501.1'] >>> for record_id in records_to_download: ... handle = Entrez.efetch(db='nucleotide', id=record_id, rettype='gb') ... seqRecord = SeqIO.read(handle, format='gb') ... handle.close() ... output_file.write(seqRecord.format('fasta')) Phylogeny[edit][edit]Hình 1: Một cây phát sinh gen gốc được tạo ra bởi Bio.Phylo cho thấy mối quan hệ giữa các tương đồng APAF-1 của các sinh vật khác nhau [11] Hình 2: Cùng một cây như trên, được vẽ không được sử dụng bằng graphviz thông qua Bio.Phylo Mô -đun Bio.Phylo cung cấp các công cụ để làm việc với và hình dung các cây phát sinh gen. Một loạt các định dạng tệp được hỗ trợ để đọc và viết, bao gồm Newick, Nexus và PhyloxML. Các thao tác và truyền tải cây thông thường được hỗ trợ thông qua các đối tượng >>> # This script loads an annotated sequence from file and views some of its contents. >>> from Bio import SeqIO >>> seq_record = SeqIO.read('pTC2.gb', 'genbank') >>> seq_record.name 'NC_019375' >>> seq_record.description 'Providencia stuartii plasmid pTC2, complete sequence.' >>> seq_record.features[14] SeqFeature(FeatureLocation(ExactPosition(4516), ExactPosition(5336), strand=1), type='mobile_element') >>> seq_record.seq Seq('GGATTGAATATAACCGACGTGACTGTTACATTTAGGTGGCTAAACCCGTCAAGC...GCC', IUPACAmbiguousDNA())2 và >>> # This script loads an annotated sequence from file and views some of its contents. >>> from Bio import SeqIO >>> seq_record = SeqIO.read('pTC2.gb', 'genbank') >>> seq_record.name 'NC_019375' >>> seq_record.description 'Providencia stuartii plasmid pTC2, complete sequence.' >>> seq_record.features[14] SeqFeature(FeatureLocation(ExactPosition(4516), ExactPosition(5336), strand=1), type='mobile_element') >>> seq_record.seq Seq('GGATTGAATATAACCGACGTGACTGTTACATTTAGGTGGCTAAACCCGTCAAGC...GCC', IUPACAmbiguousDNA())3. Các ví dụ bao gồm chuyển đổi và đối chiếu các tệp cây, trích xuất các tập hợp con từ cây, thay đổi gốc cây và phân tích các tính năng của nhánh như độ dài hoặc điểm số. [12] Các cây được root có thể được rút ra trong ASCII hoặc sử dụng matplotlib (xem Hình 1) và thư viện GraphViz có thể được sử dụng để tạo bố cục không bị thu hẹp (xem Hình 2). Sơ đồ bộ gen [Chỉnh sửa][edit]Hình 3: Một sơ đồ của các gen trên plasmid PKPS77, [13] được hiển thị bằng mô -đun genomediagram trong Biopython Mô -đun genomediagram cung cấp các phương pháp trực quan hóa các chuỗi trong Biopython. [14] Các chuỗi có thể được vẽ ở dạng tuyến tính hoặc hình tròn (xem Hình 3) và nhiều định dạng đầu ra được hỗ trợ, bao gồm PDF và PNG. Sơ đồ được tạo bằng cách tạo các bản nhạc và sau đó thêm các tính năng trình tự vào các bản nhạc đó. Bằng cách lặp qua các tính năng của một chuỗi và sử dụng các thuộc tính của chúng để quyết định xem và cách chúng được thêm vào các bản nhạc của sơ đồ, người ta có thể thực hiện nhiều quyền kiểm soát sự xuất hiện của sơ đồ cuối cùng. Liên kết chéo có thể được vẽ giữa các bản nhạc khác nhau, cho phép một người so sánh nhiều chuỗi trong một sơ đồ. Cấu trúc đại phân tử [Chỉnh sửa][edit]Mô -đun Bio.pdb có thể tải các cấu trúc phân tử từ các tệp PDB và MMCIF và đã được thêm vào Biopython vào năm 2003. [15] Đối tượng >>> # This script loads an annotated sequence from file and views some of its contents. >>> from Bio import SeqIO >>> seq_record = SeqIO.read('pTC2.gb', 'genbank') >>> seq_record.name 'NC_019375' >>> seq_record.description 'Providencia stuartii plasmid pTC2, complete sequence.' >>> seq_record.features[14] SeqFeature(FeatureLocation(ExactPosition(4516), ExactPosition(5336), strand=1), type='mobile_element') >>> seq_record.seq Seq('GGATTGAATATAACCGACGTGACTGTTACATTTAGGTGGCTAAACCCGTCAAGC...GCC', IUPACAmbiguousDNA())4 là trung tâm của mô -đun này và nó tổ chức cấu trúc đại phân tử theo kiểu phân cấp: các đối tượng >>> # This script loads an annotated sequence from file and views some of its contents. >>> from Bio import SeqIO >>> seq_record = SeqIO.read('pTC2.gb', 'genbank') >>> seq_record.name 'NC_019375' >>> seq_record.description 'Providencia stuartii plasmid pTC2, complete sequence.' >>> seq_record.features[14] SeqFeature(FeatureLocation(ExactPosition(4516), ExactPosition(5336), strand=1), type='mobile_element') >>> seq_record.seq Seq('GGATTGAATATAACCGACGTGACTGTTACATTTAGGTGGCTAAACCCGTCAAGC...GCC', IUPACAmbiguousDNA())4 có chứa các đối tượng >>> # This script loads an annotated sequence from file and views some of its contents. >>> from Bio import SeqIO >>> seq_record = SeqIO.read('pTC2.gb', 'genbank') >>> seq_record.name 'NC_019375' >>> seq_record.description 'Providencia stuartii plasmid pTC2, complete sequence.' >>> seq_record.features[14] SeqFeature(FeatureLocation(ExactPosition(4516), ExactPosition(5336), strand=1), type='mobile_element') >>> seq_record.seq Seq('GGATTGAATATAACCGACGTGACTGTTACATTTAGGTGGCTAAACCCGTCAAGC...GCC', IUPACAmbiguousDNA())6 có chứa các đối tượng >>> # This script loads an annotated sequence from file and views some of its contents. >>> from Bio import SeqIO >>> seq_record = SeqIO.read('pTC2.gb', 'genbank') >>> seq_record.name 'NC_019375' >>> seq_record.description 'Providencia stuartii plasmid pTC2, complete sequence.' >>> seq_record.features[14] SeqFeature(FeatureLocation(ExactPosition(4516), ExactPosition(5336), strand=1), type='mobile_element') >>> seq_record.seq Seq('GGATTGAATATAACCGACGTGACTGTTACATTTAGGTGGCTAAACCCGTCAAGC...GCC', IUPACAmbiguousDNA())7 có chứa các đối tượng >>> # This script loads an annotated sequence from file and views some of its contents. >>> from Bio import SeqIO >>> seq_record = SeqIO.read('pTC2.gb', 'genbank') >>> seq_record.name 'NC_019375' >>> seq_record.description 'Providencia stuartii plasmid pTC2, complete sequence.' >>> seq_record.features[14] SeqFeature(FeatureLocation(ExactPosition(4516), ExactPosition(5336), strand=1), type='mobile_element') >>> seq_record.seq Seq('GGATTGAATATAACCGACGTGACTGTTACATTTAGGTGGCTAAACCCGTCAAGC...GCC', IUPACAmbiguousDNA())8 có chứa các đối tượng >>> # This script loads an annotated sequence from file and views some of its contents. >>> from Bio import SeqIO >>> seq_record = SeqIO.read('pTC2.gb', 'genbank') >>> seq_record.name 'NC_019375' >>> seq_record.description 'Providencia stuartii plasmid pTC2, complete sequence.' >>> seq_record.features[14] SeqFeature(FeatureLocation(ExactPosition(4516), ExactPosition(5336), strand=1), type='mobile_element') >>> seq_record.seq Seq('GGATTGAATATAACCGACGTGACTGTTACATTTAGGTGGCTAAACCCGTCAAGC...GCC', IUPACAmbiguousDNA())9. Dư lượng và nguyên tử bị rối loạn có được các lớp học của riêng họ, >>> # This script loads a file containing multiple sequences and saves each one in a different format. >>> from Bio import SeqIO >>> genomes = SeqIO.parse('salmonella.gb', 'genbank') >>> for genome in genomes: ... SeqIO.write(genome, genome.id + '.fasta', 'fasta')0 và >>> # This script loads a file containing multiple sequences and saves each one in a different format. >>> from Bio import SeqIO >>> genomes = SeqIO.parse('salmonella.gb', 'genbank') >>> for genome in genomes: ... SeqIO.write(genome, genome.id + '.fasta', 'fasta')1, mô tả các vị trí không chắc chắn của chúng. Sử dụng Bio.pdb, người ta có thể điều hướng qua các thành phần riêng lẻ của tệp cấu trúc đại phân tử, chẳng hạn như kiểm tra từng nguyên tử trong protein. Các phân tích phổ biến có thể được thực hiện, chẳng hạn như đo khoảng cách hoặc góc, so sánh dư lượng và tính toán độ sâu dư lượng. Di truyền dân số [chỉnh sửa][edit]Mô -đun Bio.popgen bổ sung hỗ trợ cho Biopython cho GenePop, gói phần mềm để phân tích thống kê di truyền dân số. [16] Điều này cho phép phân tích trạng thái cân bằng HardyTHER Weinberg, mất cân bằng liên kết và các tính năng khác của tần số alen của quần thể. Mô -đun này cũng có thể thực hiện các mô phỏng di truyền dân số bằng cách sử dụng lý thuyết hợp nhất với chương trình FASTSIMCOAL2. [17] Trình bao bọc cho các công cụ dòng lệnh [Chỉnh sửa][edit]Nhiều mô -đun của Biopython chứa các trình bao bọc dòng lệnh cho các công cụ thường được sử dụng, cho phép các công cụ này được sử dụng từ bên trong Biopython. Những bao bọc này bao gồm vụ nổ, clustal, phyml, dập nổi và samtools. Người dùng có thể phân lớp một lớp trình bao bọc chung để thêm hỗ trợ cho bất kỳ công cụ dòng lệnh nào khác. Xem thêm [sửa][edit]
References[edit][edit]
Liên kết bên ngoài [Chỉnh sửa][edit]
Tại sao Biopython được sử dụng?Lý do để phát triển tạo ra các lớp chất lượng cao, có thể tái sử dụng cho các vấn đề tin học sinh học phức tạp.Đọc cơ sở dữ liệu di truyền như Swissport, Fasta, và nhiều thứ khác.Sau khi đọc, nó phân tích chúng vào cấu trúc dữ liệu có thể sử dụng được Python.Đối với phân tích dữ liệu bộ gen.Creating high quality, reusable classes for the complex bio-informatics problems. Read genetic databases like Swissport, FASTA, and many more. After reading, it parse them to python utilizable data structure. For genomic data analysis.
Sự khác biệt giữa Python và Biopython là gì?Một đối tượng Biopython SEQ tương tự như một chuỗi python ở nhiều khía cạnh: nó hỗ trợ ký hiệu lát python, có thể được nối với các chuỗi khác và là bất biến.Ngoài ra, nó bao gồm các phương pháp cụ thể theo trình tự và chỉ định bảng chữ cái sinh học cụ thể được sử dụng.. In addition, it includes sequence-specific methods and specifies the particular biological alphabet used.
Biopython có phải là một mô -đun không?Về cơ bản, Biopython là một tập hợp các mô -đun Python cung cấp các chức năng để đối phó với các hoạt động trình tự DNA, RNA & protein như bổ sung ngược của chuỗi DNA, tìm các họa tiết trong chuỗi protein, v.v.a collection of python modules that provide functions to deal with DNA, RNA & protein sequence operations such as reverse complementing of a DNA string, finding motifs in protein sequences, etc.
Biopython có sử dụng numpy không?Phát hành cũ.Các bản phát hành gần đây của Biopython đòi hỏi sự vô hiệu (và không phải là số).Recent releases of Biopython require NumPy (and not Numeric). |