Personal tools
You are here: Home Developers Corner Data Model Splitting the model
Document Actions

Splitting the model

by Rasmus Fogh last modified 2007-12-13 12:35

How to separate out parts you want from parts you do not want.

Overview

The imports form a directed graph, among leaf packages, and you cannot
remove a package from the middle of the import graph. Packages can only be removed if no other package imports them (or if the packages that do have already been removed). Once you have decided which packages you want, going through the documentation will tell you what more you need.

Here are some pointers:

  • Memops is needed by everything.
  • ccpnmr, molsim and utrecht are not needed by anything else (and so can be skipped). If you want to include them, they all need nmr (and what follows from that)
  • ccp.lims is not needed (directly) by anything outside the ccp package
  • Inside the ccp package, we would ideally want 'general' to be independent, 'molecule' to be dependent only on 'general', and 'nmr' and 'lims' to depend on 'molecule' and 'general', but not on each other, Unfortunately it is not quite like that. ccp.general.Instrument imports ccp.lims.Classification. ccp.nmr.Nmr imports ccp.lims.Sample, and ccp.general.Annotation imports both ccp.molecule.Molecule, ccp.lims.Target, ccp.lims.TargetGroup, and ccp.lims.Experiment.

Package sets

If you want a minimum set of packages for a given application you do have to look at the import diagrams yourself. But here are some rough groups that should work. You might be able to whittle them down some for your particular application. Note that they have *not* been tested.

  • Molecules only. For that you need
    • ccp.molecule.Molecule
    • ccp.molecule.ChemCompCoord
    • ccp.molecule.ChemComp
    • ccp.molecule.Stereochemistry
    • ccp.molecule.ChemElement
    • ccp.general.DbRef
    • You must specifically exclude ccp.general.Annotation.
  • Molecules/structures. For that you need
    • ccp.molecule (pretty much all of it)
    • ccp.general.Taxonomy
    • ccp.general.DbRef
    • ccp.general.KeywordDefinition
    • ccp.general.Template.
    • You must specifically exclude ccp.general.Annotation.
  • Sample handling only. For that you need
    • ccp.lims.Sample
    • ccp.lims.RefSampleComponent
    • ccp.lims.Location
    • ccp.lims.Classification
    • ccp.lims.Holder
    • The packages need for 'Molecules only' (above)
  • lims data. For that you need
    • ccp.lims
    • ccp.general
    • The packages need for 'Molecules only' (above)
    • You can add all of ccp.molecules if you want
  • Nmr data. For that you need
    • ccp.nmr
    • ccp.molecule
    • ccp.general
    • The packages needed for 'Samples only' (above)
    • ccp.lims.Classification
    • You must specifically exclude ccp.general.Annotation.


ccp.general.Annotation. is a particular problem. Until the model gets changed, having this package present requires you to have both ccp.molecule.Molecule and much of tthe ccp.lims package.


Powered by Plone, the Open Source Content Management System

This site conforms to the following standards: