diff --git a/components/content/RefseqDb.vue b/components/content/RefseqDb.vue index 4056d43c96cf82ff27325ab12acce526f2dca17f..be566e687f16804b034cc27459b1c48730ec8ffc 100644 --- a/components/content/RefseqDb.vue +++ b/components/content/RefseqDb.vue @@ -107,6 +107,8 @@ const scaleTypes = ref<string[]>(['linear', 'sqrt', 'log', 'symlog']) const selectedTaxoRank = ref("Superkingdom"); const headers = ref([ + { title: "Assembly", key: "Assembly" }, + { title: "Replicon", key: "replicon" }, { title: "System", @@ -474,14 +476,16 @@ async function downloadPng(component: ComponentPublicInstance | null, filename: </CollapsibleChips> </template> <template #[`item.type`]="{ item }"> - <v-chip color="info" link size="small" :to="`/defense-systems/${item.type.toLowerCase()}`" target="_blank"> {{ - item.type }} + <v-chip color="info" link size="small" :to="`/defense-systems/${item.type.toLowerCase()}`" + target="_blank"> {{ + item.type }} </v-chip> </template> <template #[`item.subtype`]="{ item }"> - <v-chip color="info" link size="small" :to="`/defense-systems/${item.type.toLowerCase()}`" target="_blank"> {{ - item.subtype }} + <v-chip color="info" link size="small" :to="`/defense-systems/${item.type.toLowerCase()}`" + target="_blank"> {{ + item.subtype }} </v-chip> </template> </ServerDbTable> diff --git a/data/refseq_res.csv b/data/refseq_res.csv index 733fbf04e103186d499d6201405d79378c3ed802..becb696192d60bc89a646284da9d6d86ba120069 100644 --- a/data/refseq_res.csv +++ b/data/refseq_res.csv @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f19dff4f92dd3ca79a66fe6835f71261b9a5264f3df176dd005490dd74aa552d -size 64961046 +oid sha256:1a7d382a7f767718dc48aa49ae3dd9b0159fdffd96e48946c7a167bcbc516deb +size 68772089 diff --git a/packages/df-wiki-cli/df_wiki_cli/content/main.py b/packages/df-wiki-cli/df_wiki_cli/content/main.py index ee09705cf6a667bf650c0267c240a94f86dcedff..17b7865777a7117790fa90495b7ddd602bc903f7 100644 --- a/packages/df-wiki-cli/df_wiki_cli/content/main.py +++ b/packages/df-wiki-cli/df_wiki_cli/content/main.py @@ -270,6 +270,8 @@ def refseq( writer = csv.DictWriter(out, fieldnames=fieldnames) writer.writeheader() for row in reader: + if row["sys_id"] == "": + row["sys_id"] = f'{row["Assembly"]}_{row["replicon"]}' result = re.sub(r"^(\w+)\.\d+(_.*)$", r"\1\2", row["sys_id"]) console.print(f"[green]{row['sys_id']} -> {result}") row["sys_id"] = result diff --git a/packages/df-wiki-cli/df_wiki_cli/meilisearch/__init__.py b/packages/df-wiki-cli/df_wiki_cli/meilisearch/__init__.py index 3479787cd2b5187332b02065e26547b9b5854ccd..2963d14df8773cba9b7dc759ec247fe984bdfca7 100644 --- a/packages/df-wiki-cli/df_wiki_cli/meilisearch/__init__.py +++ b/packages/df-wiki-cli/df_wiki_cli/meilisearch/__init__.py @@ -11,15 +11,22 @@ from rich.console import Console console = Console() +def emptyStringToNone(val: str) -> None | int: + if val == "": + return None + return int(float(val)) + + class RefSeqCsv(BaseModel): sys_id: str + Assembly: str replicon: str type: str subtype: str sys_beg: str sys_end: str protein_in_syst: List[str] - genes_count: int + genes_count: Annotated[int | None, BeforeValidator(emptyStringToNone)] name_of_profiles_in_sys: List[str] accession_in_sys: List[str] Superkingdom: str