`ga4gh_identify` adds `digest` properties in-place regardless of `in_place` argument
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- python
- Ambito
- bioinformatics
Direzione di ricerca
Inizia riproducendo l'esempio con ga4gh_identify(allele, "never") e analizza l'output model_dump_json risultante. Segui il punto in cui ga4gh_identify gestisce l'argomento in_place e determina se i campi digest vengono aggiunti agli oggetti annidati; il lavoro è concluso quando il comportamento documentato dell'argomento viene rispettato senza una crescita involontaria della serializzazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I have a basic allele. If I manually add the VA ID, the compacted JSON dump is 323 chars:
>>> allele = Allele(location={"end": 44908822, "start": 44908821, "sequenceReference": {"id": "NC_0000019.10", "type": "SequenceReference", "refgetAccession": "SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl"}, "type": "SequenceLocation"}, state={"sequence": "T", "type": "LiteralSequenceExpression"}, type="Allele")
>>> allele.id = "ga4gh:VA.0AePZIWZUNsUlQTamyLrjm2HWUw2opLt"
>>> len(allele.model_dump_json(exclude_none=True))
323
If I use ga4gh_identify, though, even if I set in_place to "never", digest fields are added that makes the final JSON over 400 characters:
>>> allele = Allele(location={"end": 44908822, "start": 44908821, "sequenceReference": {"id": "NC_0000019.10", "type": "SequenceReference", "refgetAccession": "SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl"}, "type": "SequenceLocation"}, state={"sequence": "T", "type": "LiteralSequenceExpression"}, type="Allele")
>>> allele.id = ga4gh_identify(allele, "never")
>>> len(allele.model_dump_json(exclude_none=True))
411
>>> print(allele.model_dump_json(exclude_none=True, indent=2))
{
"id": "ga4gh:VA.0AePZIWZUNsUlQTamyLrjm2HWUw2opLt",
"type": "Allele",
"digest": "0AePZIWZUNsUlQTamyLrjm2HWUw2opLt",
"location": {
"type": "SequenceLocation",
"digest": "wIlaGykfwHIpPY2Fcxtbx4TINbbODFVz",
"sequenceReference": {
"id": "NC_0000019.10",
"type": "SequenceReference",
"refgetAccession": "SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl"
},
"start": 44908821,
"end": 44908822
},
"state": {
"type": "LiteralSequenceExpression",
"sequence": "T"
}
}
This isn't the end of the world, but an increase in size of ~25% ends up being pretty hefty in extreme cases. is it intentional/necessary for ga4gh_identify to add these digest fields in-place, or can that be taken out? Or alternatively, maybe a ga4gh_compact method could strip unset/redundant fields?
- Lingua principale
- Python
- Stelle
- 63
- Fork
- 43
- Merge medio
- 1h 2m
- PR unite (30g)
- 1
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ga4gh/vrs-python
-
Update to `pysam>=0.24.0`Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
ga4gh/vrs-python#653 · 2 reazioni ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
ga4gh/vrs-python#540 · 8 commenti ·
-
Update models to reflect new gkm-core and vrs minor releasesForse già presa @korikuzma l’ha presa 25 giorni fa. Apertaenhancement
ga4gh/vrs-python#651 · 1 commento · 1 assegnatario ·
-
Add Relative Allele NormalizationForse di nuovo libera @korikuzma l’ha presa 71 giorni fa e non c’è nessuna pull request aperta. Aperta
ga4gh/vrs-python#641 · 1 assegnatario ·
-
Add Adjacency NormalizationAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
ga4gh/vrs-python#640 ·
Tutte le issue di ga4gh/vrs-python
Issue simili
-
pydanty:is-working
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
pydantic/pydantic-ai#8843 ·
I maintainer di solito rispondono entro 1 giorno
-
breaking change enhancement server
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
sktime/sktime#11310 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno