## automodel() — prepare to build one or more comparative models

`automodel(env, alnfile, knowns, sequence, deviation=None, library_schedule=None, csrfile=None, inifile=None, assess_methods=None)`

> alnfile is required, and usually specifies the name of the PIR file which contains an alignment between knowns (the templates) and sequence (the target sequence).

> alnfile can instead be a readable file handle (see modfile.File()) from which the alignment will be read, or an existing `alignment` object containing knowns and sequence. (Note that this is only supported with a subset of `automodel` functionality; in particular, it does not work with parallel jobs, automodel.initial_malign3d, or automodel.final_malign3d.)

> deviation controls the amount of randomization done by `randomize.xyz` or `randomize.dihedrals`; see also automodel.rand_method. (This can also be set after the object is created, by assigning to `'automodel.deviation'`. The default is 4Å.)

> library_schedule, if given, sets an initial value for automodel.library_schedule

> If csrfile is set, restraints are not constructed, but are instead read from the user-supplied file of the same name. See section 2.2.9 for an example.

> If inifile is set, an initial model is read from the user-supplied file of the same name. See section 2.2.10 for an example.

> assess_methods allows you to request assessment of the generated models (by default, none is done). You can provide a function (or callable), or list of functions, for this purpose, including any of the SOAP potentials (e.g., soap_loop.Scorer(), soap_protein_od.Scorer()), or any of the standard functions provided in the `assess` module:

- `assess.GA341`, which uses the GA341 method (see model.assess_ga341()).

- `assess.DOPE`, which uses the DOPE method (see selection.assess_dope()).

- `assess.DOPEHR`, which uses the DOPE-HR method (see selection.assess_dopehr()).

- `assess.normalized_dope`, which uses the normalized DOPE method (see model.assess_normalized_dope()).

> (This can also be set after the object is created, by assigning to `'automodel.assess_methods'`.) See Section 2.2.3 for an example. Note that only standard models are assessed in this way; if you are also building loop models, see loopmodel.loop.assess_methods.

> By default, models are built using heavy atom-only parameters and topology. If you want to use different parameters, read them in before creating the `automodel` object with Topology.read() and Parameters.read().

> See section 2.1 for a general example of using this class.