Python cho câu trả lời câu hỏi khoa học dữ liệu bộ gen

Shengyuan Wang, PhD
Trường Sinh học Hệ thống
Đại học George Mason
Manassas, VA 20110


khóa học. Chuyên ngành khoa học dữ liệu bộ gen từ Đại học John Hopkins

  • Python cho khoa học dữ liệu bộ gen
  • Các thuật toán giải trình tự DNA
  • Công cụ dòng lệnh cho khoa học dữ liệu bộ gen
  • Chất dẫn sinh học cho khoa học dữ liệu bộ gen
  • Thống kê cho khoa học dữ liệu bộ gen
  • Khoa học dữ liệu bộ gen Capstone

len(record_len_list):18
record_len_list:[4635, 1151, 4894, 3511, 4076, 2867, 442, 890, 967, 4338, 1352, 4564, 4804, 964, 2095, 1432, 115, 2646]
max_len_record_length:4894
each_record_len_list:[(1, 4635), (2, 1151), (3, 4894), (4, 3511), (5, 4076), (6, 2867), (7, 442), (8, 890), (9, 967), (10, 4338), (11, 1352), (12, 4564), (13, 4804), (14, 964), (15, 2095), (16, 1432), (17, 115), (18, 2646)]

Viết chương trình Python nhận đầu vào là tệp chứa chuỗi DNA ở định dạng đa FASTA và tính toán câu trả lời cho các câu hỏi sau. Bạn có thể chọn viết một chương trình có nhiều chức năng để trả lời những câu hỏi này hoặc bạn có thể viết một số chương trình để giải quyết chúng. Chúng tôi sẽ cung cấp tệp đa FASTA cho bạn và bạn sẽ chạy chương trình của mình để trả lời các câu hỏi thi

Trong khi phát triển (các) chương trình của bạn, vui lòng sử dụng tệp ví dụ sau để kiểm tra công việc của bạn. dna. thí dụ. nhịn ăn

Bạn sẽ được cung cấp một tệp đầu vào khác để tự khởi chạy bài kiểm tra. Đây là những câu hỏi mà chương trình của bạn cần trả lời. Bản thân bài kiểm tra chứa các câu hỏi trắc nghiệm cụ thể mà bạn cần trả lời cho tệp bạn sẽ được cung cấp

(1) Có bao nhiêu bản ghi trong tệp? . Dòng tiêu đề được phân biệt với dữ liệu chuỗi bằng ký hiệu lớn hơn (">") trong cột đầu tiên. Từ theo sau ký hiệu ">" là mã định danh của chuỗi và phần còn lại của dòng là mô tả tùy chọn của mục nhập. Không được có khoảng cách giữa dấu ">" và chữ cái đầu tiên của mã định danh

(2) Độ dài của các chuỗi trong tệp là bao nhiêu?

(3) Trong sinh học phân tử, khung đọc là cách phân chia trình tự nuclêôtit của ADN thành tập hợp các bộ ba (hay bộ ba mã hóa) liên tiếp, không chồng lấp nhau. Tùy thuộc vào nơi chúng tôi bắt đầu, có sáu khung đọc có thể. ba hướng thuận (5' đến 3') và ba hướng ngược (3' đến 5'). Chẳng hạn, ba khung đọc chuyển tiếp có thể có cho chuỗi AGGTGACACCGCAAGCCTTATATTAGC là

AGG TGA CAC CGC AAG CCT TAT ATT AGC

A GGT GAC ACC GCA AGC CTT ATA TTA GC

AG GTG ACA CCG CAA GCC TTA TAT TAG C

Chúng được gọi là khung đọc 1, 2 và 3 tương ứng. Khung đọc mở (ORF) là một phần của khung đọc có khả năng mã hóa protein. Nó bắt đầu bằng một codon bắt đầu (ATG) và kết thúc bằng một codon kết thúc (TAA, TAG hoặc TGA). Chẳng hạn, ATGAAATAG là ORF có độ dài 9

Đưa ra khung đọc đầu vào trên chuỗi chuyển tiếp (1, 2 hoặc 3), chương trình của bạn sẽ có thể xác định tất cả các ORF có trong mỗi chuỗi của tệp FASTA và trả lời các câu hỏi sau. độ dài của ORF dài nhất trong tệp là bao nhiêu? . Chẳng hạn, ORF sau trong khung đọc 1

trình tự1

ATGCCCTAG

bắt đầu ở vị trí 1

Lưu ý rằng vì trình tự sau

trình tự2

ATGAAAAAA

không có bất kỳ codon dừng nào trong khung đọc 1, chúng tôi không coi đó là ORF trong khung đọc 1

(4) Đoạn lặp là một chuỗi con của chuỗi DNA xuất hiện thành nhiều bản sao (nhiều hơn một) ở đâu đó trong chuỗi. Mặc dù các lần lặp lại có thể xảy ra trên cả mạch thuận và mạch ngược của trình tự DNA, nhưng chúng ta sẽ chỉ xem xét các phép lặp trên mạch thuận ở đây. Ngoài ra, chúng tôi sẽ cho phép các lần lặp lại tự chồng lên nhau. Ví dụ: chuỗi ACACA chứa hai bản sao của chuỗi ACA - một lần ở vị trí 1 (chỉ mục 0 trong Python) và một lần ở vị trí 3. Với độ dài n, chương trình của bạn sẽ có thể xác định tất cả các lần lặp lại độ dài n trong tất cả các trình tự trong tệp FASTA. Chương trình của bạn cũng phải xác định số lần mỗi lần lặp lại trong tệp và đó là lần lặp lại thường xuyên nhất trong một độ dài nhất định

Mới lập trình? . Hướng dẫn này sẽ giúp bạn bắt đầu nhanh chóng

Chinese Translation/中文版入门

Bạn mới sử dụng Python?

Đọc Hướng dẫn/Tổng quan cho người mới bắt đầu để biết giải thích ngắn gọn về Python là gì

Bắt Python

Tiếp theo, cài đặt trình thông dịch Python 3 trên máy tính của bạn. Đây là chương trình đọc các chương trình Python và thực hiện các hướng dẫn của chúng; . Các bản phân phối Mac và Linux có thể bao gồm phiên bản lỗi thời của Python (Python 2), nhưng bạn nên cài đặt phiên bản cập nhật (Python 3). Xem BeginnersGuide/Download để biết hướng dẫn tải xuống đúng phiên bản Python

Ngoài ra còn có các gói trình thông dịch Python và IDE có sẵn, chẳng hạn như Thonny. Các tùy chọn khác có thể được tìm thấy tại IntegratedDevelopmentEnvironments

Tại một số giai đoạn, bạn sẽ muốn chỉnh sửa và lưu mã chương trình của mình. Hãy xem HowToEditPythonCode để biết một số lời khuyên và đề xuất

Học Python

Tiếp theo, hãy đọc hướng dẫn và thử một số thử nghiệm đơn giản với trình thông dịch Python mới của bạn

Hầu hết các hướng dẫn đều cho rằng bạn biết cách chạy một chương trình trên máy tính của mình. Nếu bạn đang sử dụng Windows và cần trợ giúp về vấn đề này, hãy xem

Một số trang web cung cấp mã hóa trong trình duyệt cho những ai muốn học Python

In một bảng tóm tắt các tính năng quan trọng nhất của Python và dán nó lên tường văn phòng của bạn cho đến khi bạn biết rõ những điều cơ bản

Khi bạn đã đọc hướng dẫn, bạn có thể duyệt qua tài liệu trực tuyến của Python. Nó bao gồm một hướng dẫn có thể hữu ích, Tham khảo thư viện liệt kê tất cả các mô-đun đạt tiêu chuẩn với Python và Tham chiếu ngôn ngữ để giải thích đầy đủ (nếu hơi khô khan) về cú pháp của Python

Khi bạn sẵn sàng viết chương trình đầu tiên của mình, bạn sẽ cần một trình soạn thảo văn bản hoặc một IDE. Nếu bạn không muốn sử dụng Thonny hoặc thứ gì đó cao cấp hơn, thì bạn có thể sử dụng IDLE, đi kèm với Python và hỗ trợ các tiện ích mở rộng

Wiki Python này cũng chứa một trang về Python One-Liners -- một tiểu văn hóa ít người biết đến nhưng thú vị trong Python

Cần giúp đỡ?

Cần giúp đỡ với bất kỳ điều này?

Hầu hết các sách Python sẽ bao gồm phần giới thiệu về ngôn ngữ này;

Tham khảo Hướng dẫn/Ví dụ dành cho Người mới bắt đầu để biết các chương trình nhỏ và các đoạn mã nhỏ có thể giúp bạn tìm hiểu

Hoặc, nếu bạn thích học Python thông qua nghe giảng, bạn có thể tham gia một khóa đào tạo hoặc thậm chí thuê một giảng viên đến công ty của bạn. Tham khảo trang PythonEvents để xem liệu có bất kỳ khóa đào tạo nào được lên lịch trong khu vực của bạn hay không và trang PythonTraining để biết danh sách các giảng viên

Giáo viên có thể tham gia EDU-SIG, một danh sách gửi thư để thảo luận về việc sử dụng Python trong giảng dạy ở mọi cấp độ từ K-12 đến đại học

Danh sách đầy đủ các trang Hướng dẫn cho người mới bắt đầu

Câu đố và bài tập

Trình kiểm tra kiểu Python

  • Trình kiểm tra Python. com - Một công cụ trực tuyến mang tính giáo dục để đánh giá phong cách Python của bạn (với gợi ý và tính toán điểm động)

  • Nơi đầu tiên để xem là Python Package Index

  • Nếu bạn không thể tìm thấy bất cứ điều gì có liên quan trong Chỉ mục Gói hàng,

    hãy thử tìm kiếm trăn. org - bạn có thể tìm thấy bất cứ điều gì được đề cập trên trang web Python, trong Câu hỏi thường gặp hoặc trong nhóm tin. Thêm thông tin. nơi để tìm kiếm

  • Bạn cũng có thể thử dự án khách bên ngoài của chúng tôi, pydoc. net, để tìm kiếm gói và mô-đun nâng cao

  • Tiếp theo, hãy thử Google hoặc một công cụ tìm kiếm khác mà bạn chọn. Tìm kiếm "trăn" và một số từ khóa có liên quan thường sẽ tìm thấy thứ gì đó hữu ích