Trang này mô tả
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
5, giao diện đầu vào/đầu ra trình tự tiêu chuẩn cho Biopython 1.43 trở lên. Để biết chi tiết thực hiện, xem trang phát triển from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
6.Novices Python có thể tìm thấy Hội thảo Biopython giới thiệu của Peter, bắt đầu bằng việc làm việc với các tệp trình tự bằng SEQIO.
Có cả một chương trong hướng dẫn [PDF] vào
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
5, và mặc dù có một số sự chồng chéo nhưng nó cũng đáng để đọc ngoài trang wiki này. Ngoài ra còn có tài liệu API [mà bạn có thể đọc trực tuyến hoặc từ bên trong Python với lệnh trợ giúp].Mục tiêu
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
5 cung cấp một giao diện thống nhất đơn giản cho các định dạng tệp trình tự đầu vào và đầu ra [bao gồm nhiều sắp xếp chuỗi], nhưng sẽ chỉ xử lý các chuỗi dưới dạng các đối tượng from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
9. Có một giao diện chị em from Bio import SeqIO
records = list[SeqIO.parse["example.fasta", "fasta"]]
print[records[0].id] # first record
print[records[-1].id] # last record
0 để làm việc trực tiếp với các tệp căn chỉnh chuỗi dưới dạng các đối tượng căn chỉnh.Thiết kế được lấy cảm hứng một phần bởi sự đơn giản của Bioperl xông Seqio. Về lâu dài, chúng tôi hy vọng sẽ phù hợp với danh sách ấn tượng của các định dạng tệp chuỗi được hỗ trợ và nhiều định dạng căn chỉnh.
Lưu ý rằng việc đưa vào
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
5 [và from Bio import SeqIO
records = list[SeqIO.parse["example.fasta", "fasta"]]
print[records[0].id] # first record
print[records[-1].id] # last record
0] vào Biopython dẫn đến một số trùng lặp hoặc lựa chọn trong cách xử lý một số định dạng tệp. Ví dụ, from Bio import SeqIO
records = list[SeqIO.parse["example.fasta", "fasta"]]
print[records[0].id] # first record
print[records[-1].id] # last record
3 cũng sẽ đọc các chuỗi từ các tệp nexus - nhưng from Bio import SeqIO
records = list[SeqIO.parse["example.fasta", "fasta"]]
print[records[0].id] # first record
print[records[-1].id] # last record
3 cũng có thể làm nhiều hơn nữa, ví dụ như đọc bất kỳ cây phát sinh gen nào trong tệp nexus.Tầm nhìn của tôi là để điều khiển dữ liệu trình tự, bạn nên thử
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
5 như là lựa chọn đầu tiên của bạn. Trừ khi bạn có một số yêu cầu rất cụ thể, tôi hy vọng điều này sẽ đủ.Peter
Định dạng tệp
Bảng này liệt kê các định dạng tệp mà
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
5 có thể đọc, ghi và chỉ mục, với phiên bản Biopython nơi điều này được hỗ trợ lần đầu tiên [hoặc GIT để cho biết điều này được hỗ trợ trong mã phát triển mới nhất của chúng tôi]. Tên định dạng là một chuỗi chữ thường đơn giản. Nếu có thể, chúng tôi sử dụng cùng tên với BioPerl xông Seqio và Têm chiều.
Abi | 1.58 | Không | N/a | Đọc các tệp theo dõi trình tự mao quản của ABI Sang Sanger, bao gồm cả điểm chất lượng Phred cho các cuộc gọi cơ sở. Điều này cho phép ABI chuyển đổi FASTQ. Lưu ý mỗi tệp ABI chứa một và chỉ một chuỗi [do đó không có điểm nào trong việc lập chỉ mục tệp]. |
Abi-trim | 1.71 | Không | N/a | Đọc các tệp theo dõi trình tự mao quản của ABI Sang Sanger, bao gồm cả điểm chất lượng Phred cho các cuộc gọi cơ sở. Điều này cho phép ABI chuyển đổi FASTQ. Lưu ý mỗi tệp ABI chứa một và chỉ một chuỗi [do đó không có điểm nào trong việc lập chỉ mục tệp]. |
Abi-trim | 1.47 | Không | 1.52 | N/a |
Đọc các tệp theo dõi trình tự mao quản của ABI Sang Sanger, bao gồm cả điểm chất lượng Phred cho các cuộc gọi cơ sở. Điều này cho phép ABI chuyển đổi FASTQ. Lưu ý mỗi tệp ABI chứa một và chỉ một chuỗi [do đó không có điểm nào trong việc lập chỉ mục tệp]. | 1.73 | Không | Không | N/a |
Đọc các tệp theo dõi trình tự mao quản của ABI Sang Sanger, bao gồm cả điểm chất lượng Phred cho các cuộc gọi cơ sở. Điều này cho phép ABI chuyển đổi FASTQ. Lưu ý mỗi tệp ABI chứa một và chỉ một chuỗi [do đó không có điểm nào trong việc lập chỉ mục tệp]. | 1.73 | Không | Không | N/a |
Đọc các tệp theo dõi trình tự mao quản của ABI Sang Sanger, bao gồm cả điểm chất lượng Phred cho các cuộc gọi cơ sở. Điều này cho phép ABI chuyển đổi FASTQ. Lưu ý mỗi tệp ABI chứa một và chỉ một chuỗi [do đó không có điểm nào trong việc lập chỉ mục tệp]. | 1.43 | 1.43 | Không | N/a |
Đọc các tệp theo dõi trình tự mao quản của ABI Sang Sanger, bao gồm cả điểm chất lượng Phred cho các cuộc gọi cơ sở. Điều này cho phép ABI chuyển đổi FASTQ. Lưu ý mỗi tệp ABI chứa một và chỉ một chuỗi [do đó không có điểm nào trong việc lập chỉ mục tệp]. | 1.43 | 1.54 | 1.52 | Abi-trim |
Tương tự như trên ABI, nhưng với sự cắt tỉa chất lượng với thuật toán Mott. | 1.43 | 1.43 | 1.52 | át chủ |
Đọc các chuỗi contig từ một tệp lắp ráp ACE. Sử dụng Bio.Shenter .ace trong nội bộ | 1.71 | 1.71 | Không | N/a |
Đọc các tệp theo dõi trình tự mao quản của ABI Sang Sanger, bao gồm cả điểm chất lượng Phred cho các cuộc gọi cơ sở. Điều này cho phép ABI chuyển đổi FASTQ. Lưu ý mỗi tệp ABI chứa một và chỉ một chuỗi [do đó không có điểm nào trong việc lập chỉ mục tệp]. | 1.50 | 1.50 | 1.52 | Abi-trim |
Tương tự như trên ABI, nhưng với sự cắt tỉa chất lượng với thuật toán Mott. | 1.50 | 1.50 | 1.52 | át chủ |
Đọc các chuỗi contig từ một tệp lắp ráp ACE. Sử dụng Bio.Shenter .ace trong nội bộ | 1.51 | 1.51 | 1.52 | nguyên tử CIF |
Sử dụng Bio.pdb.mmcifparser để xác định chuỗi protein [một phần] khi nó xuất hiện trong cấu trúc dựa trên tọa độ nguyên tử. | 1.75 | Không | Không | N/a |
Đọc các tệp theo dõi trình tự mao quản của ABI Sang Sanger, bao gồm cả điểm chất lượng Phred cho các cuộc gọi cơ sở. Điều này cho phép ABI chuyển đổi FASTQ. Lưu ý mỗi tệp ABI chứa một và chỉ một chuỗi [do đó không có điểm nào trong việc lập chỉ mục tệp]. | 1.43 | Abi-trim | 1.52 | Tương tự như trên ABI, nhưng với sự cắt tỉa chất lượng với thuật toán Mott. |
át chủ | 1.47 | Không | 1.52 | N/a |
imgt | 1.56 | 1.56 | 1.56 | Điều này đề cập đến biến thể IMGT của định dạng tệp văn bản Plain EMBL. |
Nexus | 1.43 | 1.48 | Không | Định dạng liên kết nhiều nexus, còn được gọi là định dạng PAUP. Sử dụng 3 trong nội bộ. |
PDB-seqres | 1.61 | Không | Không | Định dạng liên kết nhiều nexus, còn được gọi là định dạng PAUP. Sử dụng 3 trong nội bộ. |
PDB-seqres | 1.61 | Không | Không | Định dạng liên kết nhiều nexus, còn được gọi là định dạng PAUP. Sử dụng 3 trong nội bộ. |
PDB-seqres | 1.46 | 1.52 | 1.52 | Đọc tệp Ngân hàng Dữ liệu Protein [PDB] để xác định chuỗi protein hoàn chỉnh khi nó xuất hiện trong tiêu đề [không phụ thuộc vào 0 và Numpy]. |
nguyên tử PDB | 1.43 | 1.43 | Không | Định dạng liên kết nhiều nexus, còn được gọi là định dạng PAUP. Sử dụng 3 trong nội bộ. |
PDB-seqres | 1.48 | 1.71 | 1.52 | Đọc tệp Ngân hàng Dữ liệu Protein [PDB] để xác định chuỗi protein hoàn chỉnh khi nó xuất hiện trong tiêu đề [không phụ thuộc vào 0 và Numpy]. |
nguyên tử PDB | 1.58 | 1.58 | Không | Định dạng liên kết nhiều nexus, còn được gọi là định dạng PAUP. Sử dụng 3 trong nội bộ. |
PDB-seqres | 1.54 | 1.54 | 1.54 | Đọc tệp Ngân hàng Dữ liệu Protein [PDB] để xác định chuỗi protein hoàn chỉnh khi nó xuất hiện trong tiêu đề [không phụ thuộc vào 0 và Numpy]. |
nguyên tử PDB | 1.54 | Không | 1.54 | Định dạng liên kết nhiều nexus, còn được gọi là định dạng PAUP. Sử dụng 3 trong nội bộ. |
PDB-seqres | 1.75 | Không | Không | Định dạng liên kết nhiều nexus, còn được gọi là định dạng PAUP. Sử dụng 3 trong nội bộ. |
PDB-seqres | 1.43 | 1.43 | Không | Đọc tệp Ngân hàng Dữ liệu Protein [PDB] để xác định chuỗi protein hoàn chỉnh khi nó xuất hiện trong tiêu đề [không phụ thuộc vào 0 và Numpy]. |
nguyên tử PDB | 1.43 | Không | 1.52 | Sử dụng 0 để xác định trình tự protein [một phần] khi nó xuất hiện trong cấu trúc dựa trên phần tọa độ nguyên tử của tệp [yêu cầu NUMPY]. |
Bằng tiến sĩ | 1.48 | 1.48 | 1.52 | Các tệp tiến sĩ được đầu ra từ PHRED, được sử dụng bởi PHRAP và được đưa vào đầu vào. Sử dụng 2 trong nội bộ. |
Phylip | 1.50 | 1.50 | 1.52 | Tập tin phylip. Cắt tên tại 10 ký tự. |
Pir | 1.56 | Không | 1.56 | Một định dạng giống như Fasta Fasta được giới thiệu bởi Tổ chức nghiên cứu y sinh quốc gia [NBRF] cho cơ sở dữ liệu tài nguyên thông tin protein [PIR], hiện là một phần của UNIPROT. |
seqxml | 1.75 | 1.75 | Không | Trình tự đơn giản định dạng tệp XML. |
SFF | SFF | SFF | SFF | SFF |
Các tệp nhị phân định dạng lưu lượng dòng chảy [SFF] được sản xuất bởi các máy giải trình tự iontorrent/ionproton của Roche 454 và ionTorrent/ionProte.
SFF-Trim
Định dạng Flowgram tiêu chuẩn Áp dụng các lần cắt được liệt kê trong tệp.
from Bio import SeqIO
for record in SeqIO.parse["example.fasta", "fasta"]:
print[record.id]
Snapgene
from Bio import SeqIO
with open["example.fasta"] as handle:
for record in SeqIO.parse[handle, "fasta"]:
print[record.id]
Định dạng gốc được sử dụng bởi Snapgene.
X-tốc-khôm
Định dạng căn chỉnh Stockholm còn được gọi là định dạng PFAM.
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
Thụy Sĩ
from Bio import SeqIO
records = list[SeqIO.parse["example.fasta", "fasta"]]
print[records[0].id] # first record
print[records[-1].id] # last record
Thụy Sĩ-Prot AKA Định dạng Uniprot. Sử dụng
from Bio import SeqIO
record_dict = SeqIO.to_dict[SeqIO.parse["example.fasta", "fasta"]]
print[record_dict["gi:12345678"]] # use any record ID
3 trong nội bộ. Xem thêm Định dạng XML UNIPROT.from Bio import SeqIO
record_dict = SeqIO.to_dict[SeqIO.parse["example.fasta", "fasta"]]
print[record_dict["gi:12345678"]] # use any record ID
chuyển hướng
Tab hai cột đơn giản Các tệp chuỗi được phân tách, trong đó mỗi dòng chứa một định danh và trình tự nhận dạng bản ghi. Ví dụ: điều này được sử dụng bởi phần mềm Bông tai Aligent khi lưu các đầu dò microarray trong một tệp văn bản được phân định tab tối thiểu.
chất lượng
Các tệp chất lượng giống như các tệp fasta nhưng thay vì trình tự, bản ghi không gian phân tách các giá trị giải trình tự số nguyên như điểm chất lượng phreD. Một cặp tệp Fasta và Qual phù hợp thường được sử dụng thay thế cho một tệp FASTQ duy nhất.
from Bio import SeqIO
record = SeqIO.read["single.fasta", "fasta"]
Đối với tình huống liên quan mà bạn chỉ muốn bản ghi đầu tiên [và rất vui khi bỏ qua bất kỳ bản ghi nào tiếp theo], bạn có thể sử dụng chức năng Python tích hợp
from Bio import SeqIO
record = SeqIO.read["single.fasta", "fasta"]
6:from Bio import SeqIO
first_record = next[SeqIO.parse["example.fasta", "fasta"]]
Đầu ra trình tự
Để ghi các bản ghi vào tệp, hãy sử dụng hàm
from Bio import SeqIO
record = SeqIO.read["single.fasta", "fasta"]
7, có trình lặp from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
9 [hoặc danh sách], tay cầm đầu ra [hoặc tên tệp] và chuỗi định dạng:from Bio import SeqIO
sequences = ... # add code here
with open["example.fasta", "w"] as output_handle:
SeqIO.write[sequences, output_handle, "fasta"]
or:
from Bio import SeqIO
sequences = ... # add code here
SeqIO.write[sequences, "example.fasta", "fasta"]
Có nhiều ví dụ hơn trong phần sau về chuyển đổi giữa các định dạng tệp.
Lưu ý rằng nếu bạn đang viết vào định dạng tệp căn chỉnh, tất cả các chuỗi của bạn phải có cùng độ dài.
Nếu bạn cung cấp các chuỗi dưới dạng trình lặp
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
9, thì cho các định dạng tệp tuần tự như Fasta hoặc GenBank, các bản ghi có thể được viết từng cái một. Bởi vì chỉ có một bản ghi được tạo tại một thời điểm, rất ít bộ nhớ là bắt buộc. Xem ví dụ dưới đây lọc một tập hợp các bản ghi.Mặt khác, đối với các định dạng tệp xen kẽ hoặc không theo trình tự như Clustal, hàm
from Bio import SeqIO
record = SeqIO.read["single.fasta", "fasta"]
7 sẽ buộc phải tự động chuyển đổi trình lặp thành danh sách. Điều này sẽ phá hủy bất kỳ lưu bộ nhớ tiềm năng nào từ việc sử dụng phương pháp máy phát/iterator.Chuyển đổi định dạng tệp
Giả sử bạn có một tệp GenBank mà bạn muốn biến thành một tệp FASTA. Ví dụ: hãy xem xét tệp
from Bio import SeqIO
first_record = next[SeqIO.parse["example.fasta", "fasta"]]
1 được bao gồm trong các thử nghiệm đơn vị Biopython trong thư mục GenBank.Bạn có thể đọc tệp như thế này, sử dụng hàm
from Bio import SeqIO
record_dict = SeqIO.to_dict[SeqIO.parse["example.fasta", "fasta"]]
print[record_dict["gi:12345678"]] # use any record ID
8:from Bio import SeqIO
with open["example.fasta"] as handle:
for record in SeqIO.parse[handle, "fasta"]:
print[record.id]
0Lưu ý rằng tập tin này chứa sáu bản ghi. Bây giờ thay vì in các bản ghi, hãy để Lành chuyển trình lặp
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
9 vào hàm from Bio import SeqIO
record = SeqIO.read["single.fasta", "fasta"]
7, để biến tệp GenBank này thành tệp FASTA:from Bio import SeqIO
with open["example.fasta"] as handle:
for record in SeqIO.parse[handle, "fasta"]:
print[record.id]
1
Hoặc sử dụng chính xác hơn chức năng
from Bio import SeqIO
first_record = next[SeqIO.parse["example.fasta", "fasta"]]
5 [trong Biopython 1.52 trở lên], chỉ:from Bio import SeqIO
with open["example.fasta"] as handle:
for record in SeqIO.parse[handle, "fasta"]:
print[record.id]
2Trong ví dụ này, tệp GenBank bắt đầu như thế này:
from Bio import SeqIO
with open["example.fasta"] as handle:
for record in SeqIO.parse[handle, "fasta"]:
print[record.id]
3Tệp Fasta kết quả trông như thế này:
from Bio import SeqIO
with open["example.fasta"] as handle:
for record in SeqIO.parse[handle, "fasta"]:
print[record.id]
4Lưu ý rằng tất cả các tệp FASTA có thể lưu trữ là định danh, mô tả và trình tự.
Bằng cách thay đổi chuỗi định dạng, mã đó có thể được sử dụng để chuyển đổi giữa bất kỳ định dạng tệp được hỗ trợ nào.
Ví dụ
Ví dụ đầu vào/đầu ra - Lọc theo độ dài chuỗi
Mặc dù bạn có thể chỉ đơn giản muốn chuyển đổi một tệp [như được hiển thị ở trên], một ví dụ thực tế hơn là thao tác hoặc lọc dữ liệu theo một cách nào đó.
Ví dụ, hãy để Lừa lưu tất cả các chuỗi ngắn của người Viking dưới 300 nucleotide vào tệp FASTA:
from Bio import SeqIO
with open["example.fasta"] as handle:
for record in SeqIO.parse[handle, "fasta"]:
print[record.id]
5Nếu bạn biết về toàn bộ danh sách thì bạn có thể đã viết ví dụ trên như thế này: thay vào đó:list comprehensions then you could have written the above example like this instead:
from Bio import SeqIO
with open["example.fasta"] as handle:
for record in SeqIO.parse[handle, "fasta"]:
print[record.id]
6Tôi không tin rằng điều này thực sự dễ hiểu hơn, nhưng nó ngắn hơn.
Tuy nhiên, nếu bạn đang xử lý các tệp rất lớn với hàng ngàn hồ sơ, bạn có thể hưởng lợi từ việc sử dụng biểu thức máy phát thay thế. Điều này tránh việc tạo toàn bộ danh sách các bản ghi mong muốn trong bộ nhớ:generator expression instead. This avoids creating the entire list of desired records in memory:
from Bio import SeqIO
with open["example.fasta"] as handle:
for record in SeqIO.parse[handle, "fasta"]:
print[record.id]
7Hãy nhớ rằng đối với các định dạng tệp tuần tự như Fasta hoặc GenBank,
from Bio import SeqIO
record = SeqIO.read["single.fasta", "fasta"]
7 sẽ chấp nhận trình lặp from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
9. Ưu điểm của mã trên là chỉ có một bản ghi sẽ có trong bộ nhớ bất cứ lúc nào.Tuy nhiên, như được giải thích trong phần đầu ra, đối với các định dạng tệp không theo trình tự như Clustal
from Bio import SeqIO
record = SeqIO.read["single.fasta", "fasta"]
7 bị buộc phải tự động biến trình lặp thành một danh sách, do đó, lợi thế này bị mất.Nếu điều này là tất cả khó hiểu, thì đừng hoảng sợ và bỏ qua những thứ lạ mắt. Đối với các bộ dữ liệu có kích thước vừa phải có quá nhiều bản ghi trong bộ nhớ cùng một lúc [ví dụ: trong danh sách] có lẽ sẽ không phải là một vấn đề.
Sử dụng tổng kiểm tra seguid
Trong ví dụ này, chúng tôi sẽ sử dụng
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
5 với mô -đun from Bio import SeqIO
sequences = ... # add code here
with open["example.fasta", "w"] as output_handle:
SeqIO.write[sequences, output_handle, "fasta"]
0 [trong Biopython 1.44 trở lên]. Trước hết, chúng tôi sẽ chỉ in ra tổng kiểm tra cho từng chuỗi trong tệp GenBank from Bio import SeqIO
sequences = ... # add code here
with open["example.fasta", "w"] as output_handle:
SeqIO.write[sequences, output_handle, "fasta"]
1:from Bio import SeqIO
with open["example.fasta"] as handle:
for record in SeqIO.parse[handle, "fasta"]:
print[record.id]
8Bạn sẽ nhận được đầu ra này:
from Bio import SeqIO
with open["example.fasta"] as handle:
for record in SeqIO.parse[handle, "fasta"]:
print[record.id]
9Bây giờ chúng ta hãy sử dụng chức năng kiểm tra và
from Bio import SeqIO
record_dict = SeqIO.index["example.fasta", "fasta"]
print[record_dict["gi:12345678"]] # use any record ID
6 để xây dựng từ điển from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
9 bằng cách sử dụng seguid làm khóa. Bí quyết ở đây là sử dụng cú pháp Python Lambda để tạo chức năng tạm thời để lấy seguid cho mỗi from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
9 - chúng ta có thể sử dụng chức năng from Bio import SeqIO
sequences = ... # add code here
with open["example.fasta", "w"] as output_handle:
SeqIO.write[sequences, output_handle, "fasta"]
5 trực tiếp vì nó chỉ hoạt động trên các đối tượng hoặc chuỗi from Bio import SeqIO
sequences = ... # add code here
with open["example.fasta", "w"] as output_handle:
SeqIO.write[sequences, output_handle, "fasta"]
6.from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
0Cho đầu ra này:
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
1Trại sau ngẫu nhiên
Kịch bản này sẽ đọc một tệp GenBank với toàn bộ bộ gen ty thể [ví dụ: ty thể thuốc lá, ty thể Nicotiana Tabacum
from Bio import SeqIO
sequences = ... # add code here
with open["example.fasta", "w"] as output_handle:
SeqIO.write[sequences, output_handle, "fasta"]
7], tạo 500 bản ghi chứa các đoạn ngẫu nhiên của bộ gen này và lưu chúng dưới dạng tệp FASTA. Các chuỗi đôi này được tạo bằng cách sử dụng một điểm bắt đầu ngẫu nhiên và độ dài cố định là 200.
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
2Điều đó sẽ cung cấp một cái gì đó như thế này là tệp đầu ra,
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
3Ghi vào một chuỗi
Đôi khi, bạn đã thắng muốn viết [các] đối tượng
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
9 của mình vào một tệp, nhưng vào một chuỗi. Ví dụ: bạn có thể chuẩn bị đầu ra để hiển thị như một phần của trang web. Nếu bạn muốn viết nhiều bản ghi vào một chuỗi, hãy sử dụng from Bio import SeqIO
sequences = ... # add code here
with open["example.fasta", "w"] as output_handle:
SeqIO.write[sequences, output_handle, "fasta"]
9 để tạo tay cầm dựa trên chuỗi. Hướng dẫn [PDF] có một ví dụ về điều này trong chương from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
6.Đối với trường hợp đặc biệt mà bạn muốn có một bản ghi dưới dạng chuỗi ở định dạng tệp đã cho, Biopython 1.48 đã thêm một phương thức định dạng mới:
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
4Phương thức định dạng sẽ có bất kỳ định dạng đầu ra nào được hỗ trợ bởi
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
5 trong đó định dạng tệp có thể được sử dụng cho một bản ghi duy nhất [ví dụ: from Bio import SeqIO
record_dict = SeqIO.index["example.fasta", "fasta"]
print[record_dict["gi:12345678"]] # use any record ID
4, from Bio import SeqIO
sequences = ... # add code here
SeqIO.write[sequences, "example.fasta", "fasta"]
3 hoặc from Bio import SeqIO
sequences = ... # add code here
SeqIO.write[sequences, "example.fasta", "fasta"]
4].Lưu ý rằng chúng tôi không khuyên bạn nên sử dụng điều này cho đầu ra tệp - sử dụng
from Bio import SeqIO
record = SeqIO.read["single.fasta", "fasta"]
7 nhanh hơn và tổng quát hơn.Help!
Nếu bạn gặp vấn đề với
from Bio import SeqIO
with open["opuntia.aln"] as handle:
for record in SeqIO.parse[handle, "clustal"]:
print[record.id]
5, vui lòng tham gia danh sách gửi thư thảo luận [xem danh sách gửi thư].Nếu bạn nghĩ rằng bạn đã tìm thấy một lỗi, vui lòng báo cáo nó trên trang Github dự án.