## Modeling supermolecular complexes

The concept of a model in Bsoft is simply a collection of components and associated information. Each component can be a single atom or pseudo-atom, an atomic structure, a density, or another model. Each component has a type, a location and an orientation, and may be linked to other components within the same model.

## Model storage formats

Bsoft supports several model storage formats, and the user need to be aware of the type of information stored in each and their limitations.

- STAR: Self-defining Text Archiving and Retrieval.
- XML: Extensible Markup Language.
- CMM: Chimera Marker Model.
- PDB: Protein Data Bank.
- Vega: Format used by CaGe, extension: ".v3d" (http://caagt.ugent.be/CaGe/).

The STAR and XML formats are the most comprehensive descriptions of models and should be used as much as possible. The CMM format is technically also XML, although it follows the schema used in UCSF Chimera and is included in Bsoft to allow exchange with Chimera. The support for PDB as a model format different from traditional atomic models is included to allow import from other sources, although it should not be used in normal workflows to avoid confusion with true atomic models. The Vega 3D format is used in the CaGe package for generating and examining polyhedra, and was used in the development of polyhedral capabilities in Bsoft.

## Bsoft modeling programs

- bmodel - manipulate models
- bmodsel - select components and models
- bmodcol - color models
- bmodcomp - compare models to reference models
- bpoly - analyze and refine polyhedral models
- bspiral - generate polyhedral models using the spiral algorithm
- bdelta - generate tubular polyhedral models
- bxb - extract, refine and build components of models
- bmultifit - fit multiple components into a map
- bmodmap - generate a density map from a model
- bmod2part - reinterpret model components as particles
- bmodmask - generate a mask from a model
- bmodview - analyze and manipulate component orientations
- bshell - generate and fit spherical point sets

##

## Building a model

### Manual model building

Bshow can be used to build a model, overlaying components and links over a 3D map (see here). However, it is often difficult to get an impression of the shape of the model in the z-direction, even though the "Magnify" window does provide some access to orthogonal views.

A more convenient way to manually build models into maps is to use the UCSF Chimera tool, Volume tracer. The model can then be saved in CMM format and further used in Bsoft modeling programs.

### Shell models

Closed membranes and protein shells can be modeled as spherical or close-to-spherical point sets. As a starting point, a perfectly spherical component set can be generated in two ways:

A spherical point set with defined average distance between the points:

bshell -verb 7 -sphere 100 -sep 30 -comp 10 -id Shell -rdf 2 -output sph.cmm

The -rdf option generates a radial distribution function, where the first peak should be at the distance given for the -separation option.

An icosahedrally arranged set of points:

bshell -verb 7 -ico 480,4 -comp 30 -id IcoSphere -views -out ico_sph.cmm

The -views option sets the view vector for each component to the normalized vector of its location relative to the center-of-mass of the model. The center-of-mass is the average of the component locations.

### Polyhedral models

(Also see the page on polyhedra)

All fullerene type polyhedral models (those with only 12 pentagonal and an even number of hexagonal faces) can be generated with the spiral algorithm:

bspiral -verb 1 -vert 36 36.star

This algorithm is comprehensive for polyhedra with fewer than 388 vertices.

## Modifying model properties

### Selecting model elements

There are various ways to select models and their components. A generalized syntax for selection is offered in the programs bmodel and bmodsel:

Selection syntax:

- #model_id
- ^model_type_id
- @component_id
- %component_type_id
- #model_id@component_id
- #model_id%component_type_id
- ^model_type_id@component_id
- ^model_type_id%component_type_id

wild cards allowed: .

Only a single id or type can be used in the specification:

bmodsel -verb 1 -select ^36_0010 -out 36_sel.star 36.star

Other ways to select models or parts thereof:

- -number 24,36 Select models based on the number of components.
- -sets 20,1 Generate sets of this size of selected components, with a flag not to select across model boundaries.
- -closed order,3 Select models based on valency (valency,<n>) or polygon order (order,<n>).
- -fullerene Select fullerene type models.
- -nonfullerene Select non-fullerene type models.
- -fom 0.25 Select: FOM cutoff.
- -fraction 0.6 Select: FOM/FOMmax ratio cutoff.
- -prune fom Type of pruning: simple(default), fom, fit, similar, large.

In some cases it is necessary to delete the models or components not selected:

bmodsel -verb 1 -select ^36_0010 -delete -out 36_10.star 36.star

### Component types

Component types are included in a model to reference models or maps associated with those types, providing a non-redundant mechanism to encode model information at different levels.

### Component and link radii

Component and link radii are specified for each component or link in a model for two reasons:

- Display in a visualizing program such as UCSF Chimera.
- Defining the extent of the element for interactive selection in a program such as Bshow, as well as masking in a program such as bmodmask.

### Coloring

A model can be colored to show different types of components, the progression of components in a model, the selection of components, or the FOM attached to components.

### Transformations

Models can be scaled and rotated. When a model is scaled, it is a good idea to also reset the component and link radii:

bmodel -verb 1 -scale 20 -comp 5 -linkrad 2 -out 36_10_s.star 36_10.star