realpython / realpython/python-guide

adding a new @classmethod to an existing class

Ouverte
#1,173 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Batchfile
Étoiles
29.8k
Forks
5.9k
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Vérifiez d’abord si cette demande relève de python-guide : le payload cible opencadd.structure.core.Structure plutôt qu’un fichier du guide. Si elle entre dans le périmètre, lisez Structure.from_pdbid et les points d’entrée mmtf/MMCIFParser nommés ; le travail est terminé lorsqu’il existe une manière définie et testée de construire des objets Structure à partir de fichiers CIF locaux.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
backend
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
15/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.