import dash
from dash import dcc, html, Input, Output
from dash_bio import Jsme
app = dash.Dash(__name__)
app.layout = html.Div([
html.H1("JSME Structure Drawing Example", style={'textAlign': 'center'}),
html.Div([
Jsme(
id='jsme-component',
width="800px",
height="400px"
),
html.Label("SMILES Output:", style={'marginTop': '20px'}),
dcc.Textarea(
id='smiles-output',
style={
'width': '100%',
'height': '100px',
'marginTop': '10px',
'fontFamily': 'monospace'
},
readOnly=True
)
])
])
@app.callback(
Output('smiles-output', 'value'),
Input('jsme-component', 'smiles') # Expecting the SMILES string from the Jsme component
)
def update_smiles(smiles):
if not smiles:
return "No structure drawn yet."
return smiles
if __name__ == '__main__':
app.run_server(debug=True)
Я бы хотел, чтобы УЛЫБКИ заполнялись в текстовом поле так, как оно нарисовано, или после нажатия какой-либо кнопки. Я также был бы рад понять, что я сделал не так и где я могу найти правильные обратные вызовы для использования в таких компонентах, как jsme. Я пытался найти документацию на их GitHub и т. д., но безуспешно.
Спасибо
Я пытаюсь получить SMILES из компонента JSME через обратный вызов в приложении Python Dash. Я пробовал этот пример: [code]import dash from dash import dcc, html, Input, Output from dash_bio import Jsme
@app.callback( Output('smiles-output', 'value'), Input('jsme-component', 'smiles') # Expecting the SMILES string from the Jsme component ) def update_smiles(smiles): if not smiles: return "No structure drawn yet." return smiles
if __name__ == '__main__': app.run_server(debug=True) [/code] Я бы хотел, чтобы УЛЫБКИ заполнялись в текстовом поле так, как оно нарисовано, или после нажатия какой-либо кнопки. Я также был бы рад понять, что я сделал не так и где я могу найти правильные обратные вызовы для использования в таких компонентах, как jsme. Я пытался найти документацию на их GitHub и т. д., но безуспешно. Спасибо