diff --git a/backend/src/api/search.py b/backend/src/api/search.py
index 1fa8f60a..b634246a 100644
--- a/backend/src/api/search.py
+++ b/backend/src/api/search.py
@@ -14,6 +14,9 @@ class SimilarProtein(CamelModel):
prob: float
evalue: float
description: str = ""
+ qstart: int
+ qend: int
+ alntmscore: int
class RangeFilter(CamelModel):
@@ -131,7 +134,6 @@ def search_proteins(body: SearchProteinsBody):
[text_query, text_query, text_query],
)
if entries_result is not None:
- print(entries_result)
return SearchProteinsResults(
protein_entries=[
ProteinEntry(
@@ -201,14 +203,21 @@ def search_venome_similar(protein_name: str):
similar = easy_search(
stored_pdb_file_name(protein_name),
venome_folder,
- out_format="target,prob,evalue",
- )[1:]
+ out_format="target,prob,evalue,qstart,qend",
+ ) # qend,qstart refer to alignment
formatted = [
- SimilarProtein(name=name.rstrip(".pdb"), prob=prob, evalue=evalue)
- for [name, prob, evalue] in similar
+ SimilarProtein(
+ name=name.rstrip(".pdb"),
+ prob=prob,
+ evalue=evalue,
+ qstart=qstart,
+ qend=qend,
+ alntmscore=0,
+ )
+ for [name, prob, evalue, qstart, qend] in similar
]
except Exception:
- raise HTTPException(404, "Foldseek not found on the system")
+ raise HTTPException(404, "Error in 'foldseek easy-search' command")
try:
# populate protein descriptions for the similar proteins
diff --git a/backend/src/foldseek.py b/backend/src/foldseek.py
index d9a0a706..40373493 100644
--- a/backend/src/foldseek.py
+++ b/backend/src/foldseek.py
@@ -69,7 +69,7 @@ def parse_easy_search_output(filepath: str) -> list[list]:
def easy_search(
query: str,
target: str,
- out_format: str = "query, target, prob",
+ out_format: str = "query,target,prob",
print_loading_info=False,
) -> list[list]:
"""easy_search just calls foldseek easy-search under the hood
diff --git a/frontend/package.json b/frontend/package.json
index b222465a..9c8f2a20 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -32,6 +32,7 @@
},
"dependencies": {
"bibtex": "^0.9.0",
+ "d3": "^7.9.0",
"js-cookie": "^3.0.5",
"marked": "^12.0.0",
"svelte-routing": "^2.11.0"
diff --git a/frontend/src/app.pcss b/frontend/src/app.pcss
index 4f717622..0fbd28ec 100644
--- a/frontend/src/app.pcss
+++ b/frontend/src/app.pcss
@@ -82,7 +82,7 @@ p {
}
a {
- color: var(--lightblue);
+ color: var(--primary-600);
}
a:hover {
diff --git a/frontend/src/lib/AlignBlock.svelte b/frontend/src/lib/AlignBlock.svelte
new file mode 100644
index 00000000..08400bab
--- /dev/null
+++ b/frontend/src/lib/AlignBlock.svelte
@@ -0,0 +1,42 @@
+
+
+
diff --git a/frontend/src/lib/DelayedSpinner.svelte b/frontend/src/lib/DelayedSpinner.svelte
index beeacbcf..58da1461 100644
--- a/frontend/src/lib/DelayedSpinner.svelte
+++ b/frontend/src/lib/DelayedSpinner.svelte
@@ -4,6 +4,7 @@
export let msDelay = 500;
export let spinnerProps = {};
export let text = "";
+ export let textRight = false;
let showSpinner = false;
@@ -15,5 +16,9 @@
{#if showSpinner}
- {text}
Name | -Probability Match | -E-Value | -Description | -Compare | -
---|---|---|---|---|
-
- |
- {protein.prob} | -{protein.evalue} | -{protein.description} | -
- |
+{#if similarProteins === undefined && !errorEncountered}
+
+ + | +
+
+
+ {protein.evalue.toExponential()}
+ |
+
+ {protein.prob}
+ |
+
+
+
+ |
+
+
+ Compare
+ |
+