realpython / realpython/python-guide

adding a new @classmethod to an existing class

Đang mở
#1,173 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
Batchfile
Star
29.8k
Fork
5.9k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

I have a python programming issue which I have not solved.

In python3, using 'from opencadd.structure.core import Structure'

defines the class Structure. The section of the Structure code that I need to modify is

@classmethod
@redo.retriable(attempts=10, sleeptime=2)
def from_pdbid(cls, pdbid):
    import mmtf

    return cls(mmtf.fetch(pdbid))

where I would like to include

# New method for CIF files
@classmethod
def from_cif(cls, filepath: str):
    """
    Create a Structure object from a local CIF file.
    """
    parser = MMCIFParser()
    structure_data = parser.get_structure("cif_file", filepath)
    # ... (processing to build Volkamer Structure object)
    return cls(atoms, residues, bonds)

This will skip trying to execute mmtf.fetch (which will timeout because pdb is no longer available for mmtf.fetch).
Instead using Structure.from_cif will avoid this issue and retrieve the file.

So far, I have not been able to do this successfully. Many blogs offer suggestions about adding a classmethod,
but I have failed and am asking for help from python exports.

Thanks in advance,
David
Fortran, R, Matlab, C, AWK, Perl, no Python

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

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.

Hướng nghiên cứu

Trước tiên, hãy xác minh xem yêu cầu này có thuộc python-guide hay không: payload nhắm đến opencadd.structure.core.Structure thay vì một tệp của guide. Nếu nằm trong phạm vi, hãy đọc Structure.from_pdbid và các entry point mmtf/MMCIFParser được nêu tên; công việc được xem là hoàn tất khi có một cách đã được định nghĩa và kiểm thử để tạo các đối tượng Structure từ các tệp CIF cục bộ.

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

Đánh giá

Công nghệ
python
Lĩnh vực
backend
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
15/100

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.