Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

`CodonAdaptationIndex.calculate()` hardcodes ATG/TGG as CAI weight 1.0

Đang mở Phù hợp với người mới
#5,345 4 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@cipgi đang làm issue này rồi.

Từ ngày 5/10/2026.

  • #5353 của @cipgi — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
76/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
bioinformatics

Hướng nghiên cứu

Bắt đầu từ CodonAdaptationIndex.calculate() và tái hiện sự cố với unambiguous_dna_by_id[4] cùng các trình tự được hiển thị. Theo dõi cách phương thức xử lý ATG và TGG so với các trọng số được tính bởi instance. Công việc được xem là hoàn tất khi truy vấn sử dụng các trọng số codon dành riêng cho bảng, với một regression test bao quát trường hợp mã di truyền không tiêu chuẩn đã được tái hiện.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

CodonAdaptationIndex.calculate() hardcodes ATG/TGG as CAI weight 1.0, which is wrong under genetic-code tables where they are not the sole codon for their amino acid.

Reproduction code:

>>> from Bio.Data.CodonTable import unambiguous_dna_by_id
>>> from Bio.SeqUtils import CodonAdaptationIndex
>>> table = unambiguous_dna_by_id[4]  # TGA and TGG are both Trp under this table
>>> sequences = ["ATG" + "TGA" * 8 + "TGG" + "TAA"]
>>> cai = CodonAdaptationIndex(sequences, table=table)
>>> cai["TGA"], cai["TGG"]
(1.0, 0.125)
>>> cai.calculate("ATGAAATGGTAA")
1.0

The reference set uses TGA for Trp eight times and TGG once, so TGG's own computed table weight is 0.125 — correctly reflecting that it is the minority synonym. But calculate() reports a perfect CAI of 1.0 for a query sequence containing that same rarely-used TGG, silently ignoring the 0.125 weight the class itself just computed for it.

Ngôn ngữ chính
Python
Star
5.2k
Fork
2k
Merge trung bình
1 ngày 12 giờ
Pull request đã merge (30 ngày)
13

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của biopython/biopython

Tất cả issue của biopython/biopython

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.