Update app.py
Browse files
app.py
CHANGED
@@ -41,28 +41,16 @@ def render_mol(pdb):
|
|
41 |
def get_protein_image(pdbview):
|
42 |
pdbview.zoom(0.8)
|
43 |
pdbview.render()
|
44 |
-
png = pdbview.pngImage()
|
45 |
|
46 |
-
|
47 |
-
|
48 |
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
print(f"Dtype of png: {png.dtype}")
|
54 |
-
|
55 |
-
# Try to convert to bytes
|
56 |
-
if isinstance(png, (bytes, bytearray)):
|
57 |
-
png_bytes = png
|
58 |
-
elif hasattr(png, 'tobytes'):
|
59 |
-
png_bytes = png.tobytes()
|
60 |
-
elif hasattr(png, 'tostring'):
|
61 |
-
png_bytes = png.tostring()
|
62 |
else:
|
63 |
-
|
64 |
-
|
65 |
-
return base64.b64encode(png_bytes).decode('utf-8')
|
66 |
|
67 |
def perform_blast_analysis(sequence):
|
68 |
st.subheader('Protein Analysis')
|
|
|
41 |
def get_protein_image(pdbview):
|
42 |
pdbview.zoom(0.8)
|
43 |
pdbview.render()
|
|
|
44 |
|
45 |
+
# Get the image data directly as a base64 encoded string
|
46 |
+
png_base64 = pdbview.js().png()
|
47 |
|
48 |
+
# The png_base64 should already be a base64 encoded string
|
49 |
+
# If it's not, we might need to encode it
|
50 |
+
if isinstance(png_base64, str):
|
51 |
+
return png_base64
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
else:
|
53 |
+
return base64.b64encode(png_base64).decode('utf-8')
|
|
|
|
|
54 |
|
55 |
def perform_blast_analysis(sequence):
|
56 |
st.subheader('Protein Analysis')
|