Skip to content
Snippets Groups Projects
Commit d962b4a5 authored by Remi  PLANEL's avatar Remi PLANEL
Browse files

update refseq

parent 9c98c033
No related branches found
No related tags found
2 merge requests!203Foldseek pages,!186Refactor facet autocomplete
Pipeline #120616 canceled with stages
in 1 minute and 34 seconds
data/ filter=lfs diff=lfs merge=lfs -text data/ filter=lfs diff=lfs merge=lfs -text
data/**/*.csv filter=lfs diff=lfs merge=lfs -text data/**/*.csv filter=lfs diff=lfs merge=lfs -text
data/**/*.tsv filter=lfs diff=lfs merge=lfs -text
...@@ -203,6 +203,15 @@ lint: ...@@ -203,6 +203,15 @@ lint:
--dir content/3.defense-systems/ --dir content/3.defense-systems/
--pfam public/pfam-a-hmm.csv --pfam public/pfam-a-hmm.csv
--output data/list-systems.json --output data/list-systems.json
- df-wiki-cli meilisearch delete-all-documents refseq
- >
df-wiki-cli
meilisearch
--host ${MEILI_HOST}
--key ${MEILI_MASTER_KEY}
index-update
refseq
sys_id
- > - >
df-wiki-cli df-wiki-cli
meilisearch meilisearch
......
...@@ -264,7 +264,6 @@ def refseq( ...@@ -264,7 +264,6 @@ def refseq(
), ),
], ],
): ):
with open(output, "w") as out, open(input, "r") as refseq_f: with open(output, "w") as out, open(input, "r") as refseq_f:
reader = csv.DictReader(refseq_f) reader = csv.DictReader(refseq_f)
fieldnames = reader.fieldnames fieldnames = reader.fieldnames
...@@ -275,5 +274,3 @@ def refseq( ...@@ -275,5 +274,3 @@ def refseq(
console.print(f"[green]{row['sys_id']} -> {result}") console.print(f"[green]{row['sys_id']} -> {result}")
row["sys_id"] = result row["sys_id"] = result
writer.writerow(row) writer.writerow(row)
\ No newline at end of file
...@@ -5,10 +5,14 @@ import json ...@@ -5,10 +5,14 @@ import json
from typing import Annotated, List, Optional from typing import Annotated, List, Optional
from pydantic import BaseModel, Field, BeforeValidator from pydantic import BaseModel, Field, BeforeValidator
from enum import Enum from enum import Enum
from rich.console import Console
console = Console()
class RefSeqCsv(BaseModel): class RefSeqCsv(BaseModel):
id: str sys_id: str
replicon: str replicon: str
type: str type: str
subtype: str subtype: str
...@@ -86,7 +90,9 @@ def update_refseq( ...@@ -86,7 +90,9 @@ def update_refseq(
row["accession_in_sys"] = split_on_comma(row["accession_in_sys"]) row["accession_in_sys"] = split_on_comma(row["accession_in_sys"])
doc = RefSeqCsv(**row) doc = RefSeqCsv(**row)
documents.append(doc.model_dump(by_alias=True)) documents.append(doc.model_dump(by_alias=True))
index.add_documents_in_batches(documents, primary_key="id") tasks = index.add_documents_in_batches(documents, primary_key="sys_id")
for task in tasks:
console.print(task)
index.update_pagination_settings({"maxTotalHits": 1000000}) index.update_pagination_settings({"maxTotalHits": 1000000})
index.update_filterable_attributes( index.update_filterable_attributes(
body=[ body=[
......
...@@ -5,6 +5,10 @@ from pathlib import Path ...@@ -5,6 +5,10 @@ from pathlib import Path
from df_wiki_cli.meilisearch import update_refseq, update_structure, update_systems from df_wiki_cli.meilisearch import update_refseq, update_structure, update_systems
from enum import Enum from enum import Enum
from types import SimpleNamespace from types import SimpleNamespace
from rich.console import Console
console = Console()
app = typer.Typer() app = typer.Typer()
...@@ -66,6 +70,21 @@ def delete_all_documents(ctx: typer.Context, id: str): ...@@ -66,6 +70,21 @@ def delete_all_documents(ctx: typer.Context, id: str):
index.delete_all_documents() index.delete_all_documents()
@app.command()
def indexes(ctx: typer.Context):
client = meilisearch.Client(ctx.obj.host, ctx.obj.key)
indexes = client.get_indexes()["results"]
for index in indexes:
print(index.uid)
@app.command()
def index_update(ctx: typer.Context, index: str, primary_key: str):
client = meilisearch.Client(ctx.obj.host, ctx.obj.key)
task = client.index(index).update(primary_key=primary_key)
console.print(task)
@app.command() @app.command()
def task(ctx: typer.Context, id: str): def task(ctx: typer.Context, id: str):
client = meilisearch.Client(ctx.obj.host, ctx.obj.key) client = meilisearch.Client(ctx.obj.host, ctx.obj.key)
......
[tool.poetry] [tool.poetry]
name = "df-wiki-cli" name = "df-wiki-cli"
version = "0.1.4" version = "0.1.5"
description = "" description = ""
authors = ["Remi PLANEL <rplanel@pasteur.fr>"] authors = ["Remi PLANEL <rplanel@pasteur.fr>"]
readme = "README.md" readme = "README.md"
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment