Curie-Web/app/forms.py

55 lines
2.3 KiB
Python

from flask_wtf import FlaskForm
from flask_wtf.file import FileField, FileRequired, FileAllowed
from wtforms import StringField, DecimalField, IntegerField, SelectField
from wtforms.validators import DataRequired, Email
class MyForm(FlaskForm):
firstname = StringField('First Name', validators=[DataRequired()])
lastname = StringField('Last Name', validators=[DataRequired()])
email = StringField('Email', validators=[DataRequired(), Email()])
class curieForm(FlaskForm):
ligand = FileField('Ligand', validators=[
FileRequired(),
FileAllowed(['pdbqt', 'PDBQT only!'])
])
target = FileField('Receptor / Target', validators=[
FileRequired(),
FileAllowed(['pdbqt', 'PDBQT only!'])
])
description = StringField('Description',default="Curie Web Task")
size_x = DecimalField('Size X',default=25.0)
size_y = DecimalField('Size Y',default=25.0)
size_z = DecimalField('Size Z',default=25.0)
center_x = DecimalField('Center X',default=0)
center_y = DecimalField('Center Y',default=0)
center_z = DecimalField('Center Z',default=0)
email = StringField('Email', validators=[DataRequired(), Email()])
class statusForm(FlaskForm):
jobID = StringField('Job ID',validators=[DataRequired()])
class dockSingleForm(FlaskForm):
description = StringField('Description',default="Curie Web Task")
pdbID = StringField('PDB ID',validators=[DataRequired()])
smiles = StringField('SMILES',validators=[DataRequired()])
name = StringField('Ligand Name',validators=[DataRequired()])
email = StringField('Email', validators=[DataRequired(), Email()])
class generateSMILES(FlaskForm):
n = IntegerField('Number of Molecules to Generate',default=1,validators=[DataRequired()])
#modelSelection = SelectField('Model',choices=[("alpha","Alpha"),("beta","Beta")])
class generatePDBQTS(FlaskForm):
jobType = SelectField(u'Generate for Protein or Ligand', choices=[("", "Protein or Ligand"),('protein', 'Protein (PDB)'), ('ligand', 'Ligand (SMILES)')], default='SelectOption')
pdb = StringField('PDB ID')
smiles = StringField('SMILES')
name = StringField('Compound Name (Optional)')
class PyMedSearch(FlaskForm):
query = StringField('Search Query for PubMed',default="Query",validators=[DataRequired()])