antha: github.com/antha-lang/antha/antha/anthalib/wtype Index | Files | Directories

package wtype

import "github.com/antha-lang/antha/antha/anthalib/wtype"

defines types for dealing with liquid handling requests

defines types for dealing with liquid handling requests

defines types for dealing with liquid handling requests

solutions is a utility package for working with solutions of LHComponents

Package wtype contains core Antha types

Index

Package Files

LiquidType.go absorbance.go annotatable.go annotatedsequence.go aparam.go bioinformatics.go biology.go biotree.go boundingbox.go centrifuge.go codontable.go componentvector.go configitem.go electroshock.go entity.go environment.go executetypes.go file.go functions.go geometry.go globals.go haswelladdress.go ichain.go instructionparameter.go iterators.go lhadaptor.go lhdeck.go lherror.go lhhead.go lhinstruction.go lhinterfaces.go lhpolicy.go lhtip.go lhtipbox.go lhtipwaste.go lhtypes.go lhwell.go liquid.go locations.go makelhpolicy.go matchComponent.go normaliseName.go plate.go platedestmap.go platelocation.go prinstruction.go rational.go readem.go serialize.go shape.go subcomponents.go suspension.go tgraph.go ticker.go tipestimate.go uuid.go volumecorrection.go warning.go wellcoords.go wtype.go

Constants

const (
    ORF           = "ORF"
    CDS           = "CDS"
    GENE          = "gene"
    MISC_FEATURE  = "misc_feature"
    PROMOTER      = "promoter"
    TRNA          = "tRNA"
    RRNA          = "rRNA"
    NCRNA         = "ncRNA"
    REGULATORY    = "regulatory"
    REPEAT_REGION = "repeat_region"
)

feature class options based on genbank conventions

const (
    // Option to feed into coordinates method.
    // HUMANFRIENDLY returns a sequence PositionPair's start and end positions in a human friendly format
    // i.e. in a Sequence "ATGTGTTG" position 1 is A, 2 is T.
    HUMANFRIENDLY = "humanFriendly"

    // Option to feed into coordinates method.
    // CODEFRIENDLY returns a sequence PositionPair's start and end positions in a code friendly format
    // i.e. in a Sequence "ATGTGTTG" position 0 is A, 1 is T.
    CODEFRIENDLY = "codeFriendly"

    // Option to feed into coordinates method.
    // IGNOREDIRECTION is a constant to specify that direction of a feature position
    // should be ignored when returning start and end positions of a feature.
    // If selected, the start position will be the first position at which the feature is encountered regardless of orientation.
    IGNOREDIRECTION = "ignoreDirection"
)
const (
    // PolicyNameField returns the map entry of a liquid policy corresponding to the name of the policy.
    PolicyNameField string = "POLICYNAME"

    // PolicyNameField returns the map entry of a liquid policy corresponding to the name of the policy.
    PolicyDescriptionField string = "DESCRIPTION"

    // LiquidClass is the name of the liquid type checked at instruction generation.
    // Currently this is analogous to the POLICYNAME
    LiquidClass string = "LIQUIDCLASS"

    // This value will be used for aspirating, dispensing and mixing.
    DefaultPipetteSpeed string = "DEFAULTPIPETTESPEED"
)
const (
    NEITHER = 0
    // Top strand, or coding strand
    TOP = 1
    // Bottom strand, or complimentary strand.
    BOTTOM = 2
)

Options for Strand choice

const (
    LH_OK = iota
    LH_ERR_NO_DECK_SPACE
    LH_ERR_NO_TIPS
    LH_ERR_NOT_IMPLEMENTED
    LH_ERR_CONC
    LH_ERR_DRIV
    LH_ERR_POLICY
    LH_ERR_VOL
    LH_ERR_DIRE
    LH_ERR_OTHER
    LH_ERR_TIP_WASTE
)
const (
    LHIMIX = iota
    LHIPRM
    LHISPL
)
const (
    LHP_AND int = iota
    LHP_OR
)
const (
    BYROW    = true
    BYCOLUMN = false
)
const DefaultLHPolicy = LTDefault

DefaultLHPolicy which will be used if no policy is set.

const (
    FORCE bool = true // Optional parameter to use in AddDNASequence method to override error check preventing addition of a duplicate sequence.
)
const InPlaceMarker = "-INPLACE"
const NotFoundError = "Not found"
const SEQSKEY = "DNASequences"
const SubComponentsHeader = "SubComponents"

SubComponentsHeader is the header found to be used in the plate CSV files to specify Sub components of liquids.

Variables

var (
    TAXLINE = regexp.MustCompile(`^taxid\s+(\d+)`)
    CODLINE = regexp.MustCompile(`^([ACTG]{3,3})\s+([A-Z*])\s+(\d+)\s+([0-9.]+)`)
)
var (
    Globals = LHGlobals{
        MIN_REASONABLE_VOLUME_UL: 0.01,
        VOL_RESOLUTION_DIGITS:    2,
    }

    MAGICBARRIERPROMPTSTRING = "___BARRIER___"
)
var (
    OnSmartMix  = categoricCondition{"LIQUIDCLASS", "SmartMix"}
    OnPostMix   = categoricCondition{"LIQUIDCLASS", "PostMix"}
    OnPreMix    = categoricCondition{"LIQUIDCLASS", "PreMix"}
    OnNeedToMix = categoricCondition{"LIQUIDCLASS", "NeedToMix"}
    OnMegaMix   = categoricCondition{"LIQUIDCLASS", "MegaMix"}
)

Conditions to apply to LHpolicyRules based on liquid policy used

var (
    IntoEmpty                 = numericCondition{Class: "WELLTOVOLUME", Range: conditionRange{Lower: 0.0, Upper: 0.009}}
    IntoLessThan20ul          = numericCondition{Class: "WELLTOVOLUME", Range: conditionRange{Lower: 0.01, Upper: 20.0}}
    IntoBetween20ulAnd50ul    = numericCondition{Class: "WELLTOVOLUME", Range: conditionRange{20.1, 50.0}}
    IntoBetween50ulAnd100ul   = numericCondition{Class: "WELLTOVOLUME", Range: conditionRange{50.1, 100.0}}
    IntoBetween100ulAnd200ul  = numericCondition{Class: "WELLTOVOLUME", Range: conditionRange{100.1, 200.0}}
    IntoBetween200ulAnd1000ul = numericCondition{Class: "WELLTOVOLUME", Range: conditionRange{200.1, 1000.0}}
)

Conditions to apply to LHpolicyRules based on volume of liquid that a sample is being pipetted into at the destination well

var (
    LessThan20ul        = numericCondition{Class: "VOLUME", Range: conditionRange{0.0, 20.0}}
    GreaterThan20ul     = numericCondition{Class: "VOLUME", Range: conditionRange{20.1, 1000.0}}
    Between20ulAnd200ul = numericCondition{Class: "VOLUME", Range: conditionRange{20.01, 200.0}}
)

Conditions to apply to LHpolicyRules based on volume of liquid being transferred

var (
    FromBetween100ulAnd200ul  = numericCondition{Class: "WELLFROMVOLUME", Range: conditionRange{100.0, 200.0}}
    FromBetween200ulAnd1000ul = numericCondition{Class: "WELLFROMVOLUME", Range: conditionRange{200.1, 1000.0}}
)

Conditions to apply to LHpolicyRules based on volume of liquid in source well from which a sample is taken

var (
    CONSTRAINTMARKER = "constraint-"
)
var DefaultPolicies map[string]LHPolicy = MakePolicies()
var InsNames = []string{"MIX", "PROMPT", "SPLIT"}
var WellBottomNames []string = []string{"flat", "U", "V"}
var WellReferenceNames []string = []string{"bottom", "top", "liquid"}

func A1ArrayFromWellCoords Uses

func A1ArrayFromWellCoords(arr []WellCoords) []string

func A1ArrayFromWells Uses

func A1ArrayFromWells(wells []*LHWell) []string

func AddSubComponent Uses

func AddSubComponent(component *Liquid, subcomponent *Liquid, conc wunit.Concentration) error

AddSubComponent adds a subcomponent with concentration to a component. An error is returned if subcomponent is already found.

func AddSubComponents Uses

func AddSubComponents(component *Liquid, allsubComponents ComponentList) error

AddSubComponents adds a component list to a component. If a conflicting sub component concentration is already present then an error will be returned. To overwrite all subcomponents ignoring conficts, use OverWriteSubComponents.

func ChannelWells Uses

func ChannelWells(prm LHChannelParameter, plt Plate, wellsfrom []string) []string

func ChannelsUsed Uses

func ChannelsUsed(wf []string) []bool

func ClassOf Uses

func ClassOf(o interface{}) string

ClassOf

func Comp Uses

func Comp(s string) string

func CompareStringWellCoordsCol Uses

func CompareStringWellCoordsCol(sw1, sw2 string) int

func CompareStringWellCoordsRow Uses

func CompareStringWellCoordsRow(sw1, sw2 string) int

func CompareWellCoordsCol Uses

func CompareWellCoordsCol(w1, w2 WellCoords) int

func CompareWellCoordsRow Uses

func CompareWellCoordsRow(w1, w2 WellCoords) int

func CopyRulesFromPolicy Uses

func CopyRulesFromPolicy(ruleSet *LHPolicyRuleSet, policyToCopyRulesFrom, policyToCopyRulesTo string) (err error)

CopyRulesFromPolicy will copy all instances of rules which mention tthe liquid class policyToCopyRulesFrom into duplicate rules set on policyToCopyRulesTo.

func EqualLists Uses

func EqualLists(list1, list2 ComponentList) error

EqualLists compares two ComponentLists and returns an error if the lists are not identical.

func EquivalentPolicies Uses

func EquivalentPolicies(policy1, policy2 LHPolicy) bool

EquivalentPolicies checks for equality of two policies. We're being conservative here. It's possible that at the point at which low level instructions are generated that two policies of different length will be actioned in exactly the same way. Since we cannot guarantee this at this point, we'll say they're not equivalent.

func ErrorDesc Uses

func ErrorDesc(code int) string

func ErrorName Uses

func ErrorName(code int) string

func FirstIndexInStrArray Uses

func FirstIndexInStrArray(s string, a []string) int

func GetUUID Uses

func GetUUID() string

this package wraps the uuid library appropriately by generating a V4 UUID

func HumanizeWellCoords Uses

func HumanizeWellCoords(coords []WellCoords) string

HumanizeWellCoords convenience function to make displaying a slice of WellCoords more human readable

func IDOf Uses

func IDOf(o interface{}) string

IDOf

func IndexOfString Uses

func IndexOfString(query string, pa *[]string) int

func IndexOfStringArray Uses

func IndexOfStringArray(s string, a []string) int

func Initialize_Wells Uses

func Initialize_Wells(plate *Plate)

func InsType Uses

func InsType(i int) string

func LHError Uses

func LHError(code int, detail string) error

func LHErrorCodeFromErr Uses

func LHErrorCodeFromErr(err error) int

func LHErrorIsInternal Uses

func LHErrorIsInternal(err error) bool

func LHErrorf Uses

func LHErrorf(code int, format string, values ...interface{}) error

LHErrorf convenience method for formatting error messages

func MakePolicies Uses

func MakePolicies() map[string]LHPolicy

func MakeTGraph Uses

func MakeTGraph(inss []*LHInstruction) (tGraph, error)

func Makeseq Uses

func Makeseq(dir string, seq BioSequence) string

creates a fasta file containing the sequence

func MarshalDeckObject Uses

func MarshalDeckObject(object LHObject) ([]byte, error)

MarshalDeckObject marshals any object which can be placed on a deck into valid JSON in a way such that it can be unmarshalled by UnMarshalDeckObject

func MatchString Uses

func MatchString(s1, s2 string) bool

func NameOf Uses

func NameOf(o interface{}) string

NameOf

func NewSTip Uses

func NewSTip(tip *LHTip) *sTip

func NewUUID Uses

func NewUUID() string

func NormaliseComponentName Uses

func NormaliseComponentName(component *Liquid) error

NormaliseComponentName will change the name of the component to the normalised form returned by ReturnNormalisedComponentName. If sub components exist the name will be changed to the list of sub components with concentrations. e.g. a solution called LB with a concentration of 10X and components 10g/L Yeast Extract and 5g/L Tryptone will be normalised to 10g/L Yeast Extract + 5g/L Tryptone. An LB solution with concentration 1 X and no components is returned as 1X LB. An LB solution with no concentration and no components is returned as LB.

func NormaliseName Uses

func NormaliseName(name string) (normalised string)

NormaliseName evaluates whether a string contains a concentration and attempts to normalise the name in a standardised format. e.g. 10ng/ul glucose will be normalised to 10 mg/l glucose or 10mM glucose to 10 mM/l glucose or 10mM/l glucose to 10 mM/l glucose or glucose 10mM/l to 10 mM/l glucose A concatanenated name such as 10g/L glucose + 10g/L yeast extract will be returned with no modifications

func Normalize Uses

func Normalize(tx []string) []string

TODO -- fill in some normalizations - water + salt = saline might be an eg but unlikely to be useful

func Prefix Uses

func Prefix(seq string, lengthofprefix int) (prefix string)

func ReturnNormalisedComponentName Uses

func ReturnNormalisedComponentName(component *Liquid) string

ReturnNormalisedComponentName will return the component name in a normalised form. If sub components exist the name will be changed to the list of sub components with concentrations. e.g. a solution called LB with a concentration of 10X and components 10g/L Yeast Extract and 5g/L Tryptone will be normalised to 10g/L Yeast Extract + 5g/L Tryptone. An LB solution with concentration 1 X and no components is returned as 1X LB. An LB solution with no concentration and no components is returned as LB.

func Rev Uses

func Rev(s string) string

func RevComp Uses

func RevComp(s string) string

Reverse Complement

func SameLocation Uses

func SameLocation(l, m Location, level int) bool

defines when two locations are the same level = 0 means only the exact same place level = 1 means they share a parent etc

func SimulateMix Uses

func SimulateMix(samples ...*Liquid) (newComponentList ComponentList, mixSteps []ComponentListSample, warning error)

SimulateMix simulates the resulting list of components and concentrations which would be generated by mixing the samples together. This will only add the component name itself to the new component list if the sample has no components this is to prevent potential duplication since if a component has a list of sub components the name is considered to be an alias and the component list the true meaning of what the component is. If any sample concentration of zero is found the component list will be made but an error returned.

func Suffix Uses

func Suffix(seq string, lengthofsuffix int) (suffix string)

func TipsPerWell Uses

func TipsPerWell(prm LHChannelParameter, p Plate) (int, int)

func TypeOf Uses

func TypeOf(o interface{}) string

TypeOf

func UpdateComponentDetails Uses

func UpdateComponentDetails(productOfMixes *Liquid, mixes ...*Liquid) error

UpdateComponentDetails corrects the sub component list and normalises the name of a component with the details of all sample mixes which are specified to be the source of that component. This must currently be updated manually using this function.

func ValidAA Uses

func ValidAA(seq string) error

ValidAA checks a sequence given as a string for validity as a ProteinSequence. All standard single letter AminoAcids are valid as well as * indicating stop.

func ValidDNA Uses

func ValidDNA(seq string) error

ValidDNA checks a sequence given as a string for validity as a DNASequence. Any IUPAC nucleotide is considered valid, not just ACTG.

func ValidRNA Uses

func ValidRNA(seq string) error

ValidRNA checks a sequence given as a string for validity as an RNASequence. ACGU are valid entries.

func WCArrayCols Uses

func WCArrayCols(wcA []WellCoords) []int

func WCArrayRows Uses

func WCArrayRows(wcA []WellCoords) []int

type AParam Uses

type AParam struct {
    Name string
    Type reflect.Type
    Desc string
}

a typed parameter, with description

func (AParam) TypeName Uses

func (alhpi AParam) TypeName() string

type AParamSet Uses

type AParamSet map[string]AParam

func GetLHPolicyOptions Uses

func GetLHPolicyOptions() AParamSet

func GetPolicyConsequents Uses

func GetPolicyConsequents() AParamSet

func MakeInstructionParameters Uses

func MakeInstructionParameters() AParamSet

func MakePolicyItems Uses

func MakePolicyItems() AParamSet

func (AParamSet) CodeForIt Uses

func (alhpis AParamSet) CodeForIt() string

func (AParamSet) OrderedList Uses

func (alhpis AParamSet) OrderedList() []string

func (AParamSet) TypeList Uses

func (alhpis AParamSet) TypeList() string

type Absorbance Uses

type Absorbance struct {
    WellLocation WellCoords
    Reading      float64
    Wavelength   float64
    Pathlength   wunit.Length
    Reader       string
    // Annotations is a field to add custom user labels
    Annotations []string
}

func (*Absorbance) BlankCorrect Uses

func (sample *Absorbance) BlankCorrect(blank Absorbance)

func (*Absorbance) PathlengthCorrect Uses

func (sample *Absorbance) PathlengthCorrect(pathlength wunit.Length)

func (Absorbance) WavelengthAsInt Uses

func (a Absorbance) WavelengthAsInt() int

WavelengthAsInt will return the Wavelength field as an int. Whilst it is possible that the wavelength used may be a decimal, Wavelength would typically be expected to be in the form of an integer of the wavelength in nm. In some platereader data sets this is stored as a float so this method is intended to take the safest representation, as a float, and return the more common representation, as an int, for parsers where it is known that the wavelength is stored as an int. This method would therefore not be safe to use for situations where the wavelength may in fact be represented by a decimal.

type AddressIterator Uses

type AddressIterator interface {
    Next() WellCoords
    Curr() WellCoords
    MoveTo(WellCoords)
    Reset()
    GetAddressable() Addressable
    Valid() bool
}

AddressIterator iterates through the addresses in an Addressable

func NewAddressIterator Uses

func NewAddressIterator(addr Addressable, order MajorOrder, ver VerticalDirection, hor HorizontalDirection, repeat bool) AddressIterator

NewAddressIterator iterates through the addresses in addr in order order, moving in directions ver and hor when all addresses are returned, resets to the first address if repeat is true, otherwise Valid() returns false

type AddressSliceIterator Uses

type AddressSliceIterator interface {
    Next() []WellCoords
    Curr() []WellCoords
    MoveTo(WellCoords)
    Reset()
    GetAddressable() Addressable
    Valid() bool
}

AddressSliceIterator iterates through slices of addresses

func NewColumnIterator Uses

func NewColumnIterator(addr Addressable, ver VerticalDirection, hor HorizontalDirection, repeat bool) AddressSliceIterator

NewColumnIterator get an iterator which iterates through the columns of the addressible, optionally repeating

func NewRowIterator Uses

func NewRowIterator(addr Addressable, ver VerticalDirection, hor HorizontalDirection, repeat bool) AddressSliceIterator

NewRowIterator get an iterator which iterates through the columns of the addressible, optionally repeating

func NewTickingIterator Uses

func NewTickingIterator(addr Addressable, order MajorOrder, ver VerticalDirection, hor HorizontalDirection, repeat bool, chunkSize, stepSize, repeatAddresses int) AddressSliceIterator

GetTickingIterator iterates through the addresses in addr in order order, moving in directions ver and hor, returning the output in slices of length chunkSize. In the direction specified by order, steps are of size stepSize (which is assumed to a factor of the number of adresses in that direction), and repeat such that every address is returned. Each address is repeated repeatAddresses times. For example, if addr is of size 4x4, then the iterator returned by

NewTickingIterator(addr, RowOrder, TopToBottom, LeftToRight, false, 4, 2, 2)

returns

[[A1,A1,C1,C2],[B1,B1,D1,D1],[A2,A2, ...

type Addressable Uses

type Addressable interface {
    //AddressExists Do the given coordinates exist in the object?
    AddressExists(WellCoords) bool
    NRows() int
    NCols() int
    //GetChildByAddress Returns the object at the given well coords
    //nil if empty or position doesn't exist
    GetChildByAddress(WellCoords) LHObject
    //CoordsToWellCoords Convert Real world coordinates
    //(relative to the object origin) to WellCoords.
    //The returned WellCoords should be the closest
    //addressable location to the coorinates, and shold only be
    //invalid if the object has no adressable locations (e.g. wells
    //or tips). The second return value gives the offset from the top
    //of the center of the well/tip to the given coordinate
    //(this leaves the caller to ascertain whether any mis-alignment
    //is acceptable)
    CoordsToWellCoords(Coordinates) (WellCoords, Coordinates)
    //WellCoordsToCoords Get the physical location of an addressable
    //position relative to the object origin.
    //WellCoords should be valid in the object, or the bool will
    //return false and Coordinates are undefined.
    //WellReference is the position within a well.
    //Requesting LiquidReference on a LHTipbox will return false
    WellCoordsToCoords(WellCoords, WellReference) (Coordinates, bool)
}

Addressable unifies the interface to objects which have sub-components that can be addressed by WellCoords (e.g. "A1") for example tip-boxes, plates, etc

type AlignedBioSequence Uses

type AlignedBioSequence struct {
    Query   string
    Subject string
    Score   float64
}

type AlignedSequence Uses

type AlignedSequence struct {
    Qstrand string
    Sstrand string
    Qstart  int
    Qend    int
    Sstart  int
    Send    int
    Qseq    string
    Sseq    string
    ID      float64
}

struct for holding an aligned sequence

func NewAlignedSequence Uses

func NewAlignedSequence() AlignedSequence

constructor for an AlignedSequence object, makes an empty structure

func (AlignedSequence) CentreToQuery Uses

func (aln AlignedSequence) CentreToQuery(q string) (string, string)

CentreToQuery trims aligned (subject) sequences to only those residues/nucleotides aligned to those in the query. This removes inserts (with respect to the query) from aligned sequences. Gaps within the interior of the aligned sequence are already represented by '-' characters, however gaps at the ends of the aligned sequence must be added here as well. The resulting aligned sequences will have the same length as the query.

type AminoAcid Uses

type AminoAcid string

AminoAcid is a single letter format amino acid in string form. It can be validated as a valid AminoAcid using the SetAminoAcid function.

func SetAminoAcid Uses

func SetAminoAcid(aa string) (AminoAcid, error)

SetAminoAcid creates an AminoAcid from a string input and returns an error if the string is not a valid amino acid.

type Annotatable Uses

type Annotatable interface {
    GetData(k string) (AnthaData, error)
    AddData(k string, d AnthaData) error
    ClearData(k string) error
}

type AnthaData Uses

type AnthaData struct {
    Name string
    Data string
}

type BBox Uses

type BBox struct {
    Position Coordinates
    Size     Coordinates
}

BBox is a simple LHObject representing a bounding box, useful for checking if there's stuff in the way

func NewBBox Uses

func NewBBox(pos, Size Coordinates) *BBox

func NewBBox6f Uses

func NewBBox6f(pos_x, pos_y, pos_z, Size_x, Size_y, Size_z float64) *BBox

func NewXBox4f Uses

func NewXBox4f(pos_y, pos_z, Size_y, Size_z float64) *BBox

func NewYBox4f Uses

func NewYBox4f(pos_x, pos_z, Size_x, Size_z float64) *BBox

func NewZBox4f Uses

func NewZBox4f(pos_x, pos_y, Size_x, Size_y float64) *BBox

func (BBox) Contains Uses

func (self BBox) Contains(rhs Coordinates) bool

func (BBox) ContainsBox Uses

func (self BBox) ContainsBox(rhs BBox) bool

func (*BBox) Dup Uses

func (self *BBox) Dup() *BBox

Dup duplicate the bounding box

func (BBox) Equals Uses

func (bb BBox) Equals(bb2 BBox) bool

Equals defines an equivalence relation over bounding boxes returns true iff position and size are both equal

func (BBox) GetPosition Uses

func (self BBox) GetPosition() Coordinates

func (BBox) GetSize Uses

func (self BBox) GetSize() Coordinates

func (BBox) IntersectsBox Uses

func (self BBox) IntersectsBox(rhs BBox) bool

IntersectsBox checks for bounding box intersection

func (BBox) IntersectsPoint Uses

func (self BBox) IntersectsPoint(rhs Coordinates) bool

IntersectsPoint

func (*BBox) SetPosition Uses

func (self *BBox) SetPosition(c Coordinates)

func (*BBox) SetSize Uses

func (self *BBox) SetSize(c Coordinates)

func (BBox) String Uses

func (self BBox) String() string

String gets a string representation of the box

func (BBox) ZMax Uses

func (self BBox) ZMax() float64

type BLASTSearchParameters Uses

type BLASTSearchParameters struct {
    Evalthreshold float64
    Matrix        string
    Filter        bool
    Open          int
    Extend        int
    DBSeqs        int
    DBAlns        int
    GCode         int
}

func DefaultBLASTSearchParameters Uses

func DefaultBLASTSearchParameters() BLASTSearchParameters

type BioSequence Uses

type BioSequence interface {
    Name() string
    Sequence() string
    Append(string) error
    Prepend(string) error
    Blast() ([]Hit, error)
    MolecularWeight() float64
}

defines things which have biosequences... useful for operations valid on biosequences such as BLASTing / other alignment methods

type BlastHit Uses

type BlastHit struct {
    Name       string
    Score      float64
    Eval       float64
    Alignments []AlignedSequence
}

struct for holding a particular hit

func NewBlastHit Uses

func NewBlastHit() BlastHit

constructor, makes an empty BlastHit structure

type BlastResults Uses

type BlastResults struct {
    Program       string
    DBname        string
    DBSizeSeqs    int
    DBSizeLetters int
    Query         string
    Hits          []BlastHit
}

struct for holding results of a blast search

func NewBlastResults Uses

func NewBlastResults() BlastResults

constructor, makes an empty BlastResults structure

func (BlastResults) QueryCentredAlignment Uses

func (res BlastResults) QueryCentredAlignment() []AlignedBioSequence

type BlockID Uses

type BlockID struct {
    Value string
}

A block of instructions associated with a particular job, etc.

func NewBlockID Uses

func NewBlockID(id string) BlockID

func (BlockID) String Uses

func (a BlockID) String() string

type ByColumn Uses

type ByColumn []*LHInstruction

func (ByColumn) Len Uses

func (bg ByColumn) Len() int

func (ByColumn) Less Uses

func (bg ByColumn) Less(i, j int) bool

func (ByColumn) Swap Uses

func (bg ByColumn) Swap(i, j int)

type ByResultComponent Uses

type ByResultComponent []*LHInstruction

Optimally - order by component.

func (ByResultComponent) Len Uses

func (bg ByResultComponent) Len() int

func (ByResultComponent) Less Uses

func (bg ByResultComponent) Less(i, j int) bool

func (ByResultComponent) Swap Uses

func (bg ByResultComponent) Swap(i, j int)

type CentrifugeParameters Uses

type CentrifugeParameters map[string]interface{}

type ChannelOrientation Uses

type ChannelOrientation bool
const (
    LHVChannel ChannelOrientation = iota%2 == 1 // vertical orientation
    LHHChannel                                  // horizontal orientation
)

func (ChannelOrientation) String Uses

func (o ChannelOrientation) String() string

type ChannelPositions Uses

type ChannelPositions []Coordinates2D

A list of 2d coordinates of the channels of an adaptor in channel order

func (ChannelPositions) Add Uses

func (self ChannelPositions) Add(rhs Coordinates2D) ChannelPositions

Add return a new set of channel positions with the offset added

func (ChannelPositions) GetCenter Uses

func (self ChannelPositions) GetCenter() Coordinates2D

GetCenter return the center of the channel coordinates

func (ChannelPositions) Size Uses

func (self ChannelPositions) Size(channelRadius float64) Coordinates2D

Size get the total footprint size of the channel positions including the radius

func (ChannelPositions) Subtract Uses

func (self ChannelPositions) Subtract(rhs Coordinates2D) ChannelPositions

Subtract return a new set of channel positions with the offset subtracted

type Classy Uses

type Classy interface {
    GetClass() string
}

the class of thing it is, mainly for more helpful errors

type Codon Uses

type Codon string

Codon is a triplet of valid nucleotides which encodes an amino acid or stop codon. It can be validated using the SetCodon function.

func SetCodon Uses

func SetCodon(dna string) (Codon, error)

SetCodon creates a Codon from a string input and returns an error if the string is not a valid codon.

type CodonSet Uses

type CodonSet map[string]float64

func (CodonSet) ChooseWeighted Uses

func (cs CodonSet) ChooseWeighted() string

func (CodonSet) Codons Uses

func (cs CodonSet) Codons() []string

type CodonTable Uses

type CodonTable struct {
    TaxID     string
    CodonByAA map[string]CodonSet // maps amino acid to set of codons
    AAByCodon map[string]string   // maps codon to amino acid
}

func NewCodonTable Uses

func NewCodonTable() CodonTable

func ParseCodonTableSimpleFormat Uses

func ParseCodonTableSimpleFormat(sa []string) CodonTable

these are tables devised by wholesale analysis of CDS sets

func (CodonTable) ChooseWeighted Uses

func (ct CodonTable) ChooseWeighted(aa string) string

type ComponentList Uses

type ComponentList struct {
    Components map[string]wunit.Concentration `json:"Components"`
}

List of the components and corresponding concentrations contained within an LHComponent

func GetSubComponents Uses

func GetSubComponents(component *Liquid) (componentMap ComponentList, err error)

GetSubComponents returns a component list from a component

func MixComponentLists Uses

func MixComponentLists(sample1, sample2 ComponentListSample) (newList ComponentList, err error)

MixComponentLists merges two componentListSamples. When two ComponentListSamples are mixed a new diluted ComponentList is generated. An error may be generated if two components with the same name exist within the two lists with incompatible concentration units. In this instance, the molecular weight for that component will be looked up in pubchem in order to change the units in both lists to g/l, which will be able to be added.

func (ComponentList) Add Uses

func (c ComponentList) Add(component *Liquid, conc wunit.Concentration) (newlist ComponentList)

add a single entry to a component list

func (ComponentList) AllComponents Uses

func (c ComponentList) AllComponents() []string

Returns all component names present in component list, sorted in alphabetical order.

func (ComponentList) Dup Uses

func (c ComponentList) Dup() ComponentList

func (ComponentList) Get Uses

func (c ComponentList) Get(component *Liquid) (conc wunit.Concentration, err error)

Get a single concentration set point for a named component present in a component list. An error will be returned if the component is not present.

func (ComponentList) GetByName Uses

func (c ComponentList) GetByName(component string) (conc wunit.Concentration, err error)

Get a single concentration set point using just the name of a component present in a component list. An error will be returned if the component is not present.

func (ComponentList) List Uses

func (c ComponentList) List(options ...bool) string

List all Components and concentration set points present in a component list. if verbose is set to true the field annotations for each component and concentration will be included for each component. option1 is verbose, option2 is use mixdelimiter

func (ComponentList) RemoveConcsFromSubComponentNames Uses

func (c ComponentList) RemoveConcsFromSubComponentNames() (nc ComponentList)

type ComponentListSample Uses

type ComponentListSample struct {
    ComponentList
    Volume wunit.Volume
}

ComponentListSample is a sample of a Component list at a specified volume when two ComponentListSamples are mixed a new diluted ComponentList is generated

type ComponentMatch Uses

type ComponentMatch struct {
    Matches []Match
}

type ComponentVector Uses

type ComponentVector []*Liquid

func (ComponentVector) DeleteAllBelowVolume Uses

func (cv ComponentVector) DeleteAllBelowVolume(vol wunit.Volume)

DeleteAllBelowVolume set all components whose volume is below vol to nil

func (ComponentVector) Dup Uses

func (cv ComponentVector) Dup() ComponentVector

func (ComponentVector) Empty Uses

func (cv ComponentVector) Empty() bool

func (ComponentVector) Equal Uses

func (cv1 ComponentVector) Equal(cv2 ComponentVector) bool

func (ComponentVector) GetNames Uses

func (cv ComponentVector) GetNames() []string

func (ComponentVector) GetPlateIds Uses

func (cv ComponentVector) GetPlateIds() []string

func (ComponentVector) GetVols Uses

func (cv ComponentVector) GetVols() []wunit.Volume

func (ComponentVector) GetWellCoords Uses

func (cv ComponentVector) GetWellCoords() []string

func (ComponentVector) String Uses

func (cv ComponentVector) String() string

func (ComponentVector) ToSumHash Uses

func (cv ComponentVector) ToSumHash() map[string]wunit.Volume

type ConcreteLocation Uses

type ConcreteLocation struct {
    ID   string
    Inst string
    Name string
    Psns []*ConcreteLocation
    Cntr *ConcreteLocation
    Shap *Shape
}

func (*ConcreteLocation) Container Uses

func (cl *ConcreteLocation) Container() Location

func (*ConcreteLocation) Location_ID Uses

func (cl *ConcreteLocation) Location_ID() string

func (*ConcreteLocation) Location_Name Uses

func (cl *ConcreteLocation) Location_Name() string

func (*ConcreteLocation) Positions Uses

func (cl *ConcreteLocation) Positions() []Location

func (*ConcreteLocation) Shape Uses

func (cl *ConcreteLocation) Shape() *Shape

type ConfigItem Uses

type ConfigItem map[string]interface{}

type Container Uses

type Container interface{} //deferred to the shape

type Coordinates Uses

type Coordinates struct {
    X   float64
    Y   float64
    Z   float64
}

func OriginOf Uses

func OriginOf(o LHObject) Coordinates

get the origin for the objects coordinate system

func (Coordinates) Abs Uses

func (self Coordinates) Abs() float64

Abs L2-Norm

func (Coordinates) AbsXY Uses

func (self Coordinates) AbsXY() float64

AbsXY L2-Norm in XY only

func (Coordinates) Add Uses

func (self Coordinates) Add(rhs Coordinates) Coordinates

Add Addition returns a new wtype.Coordinates

func (Coordinates) Dim Uses

func (a Coordinates) Dim(x int) float64

Dim Value for dimension

func (Coordinates) Divide Uses

func (self Coordinates) Divide(v float64) Coordinates

Divide returns a new wtype.Coordinates divided by v. If v is zero, inf will be returned

func (Coordinates) Dot Uses

func (self Coordinates) Dot(rhs Coordinates) float64

Dot product

func (Coordinates) Equals Uses

func (c Coordinates) Equals(c2 Coordinates) bool

func (Coordinates) Multiply Uses

func (self Coordinates) Multiply(v float64) Coordinates

Multiply returns a new wtype.Coordinates

func (Coordinates) String Uses

func (self Coordinates) String() string

String implements Stringer

func (Coordinates) StringXY Uses

func (self Coordinates) StringXY() string

func (Coordinates) Subtract Uses

func (self Coordinates) Subtract(rhs Coordinates) Coordinates

Subtract returns a new wtype.Coordinates

func (Coordinates) To2D Uses

func (self Coordinates) To2D() Coordinates2D

To2D return a two dimensional coordinate by dropping z dimension

func (Coordinates) Unit Uses

func (self Coordinates) Unit() Coordinates

Unit return a Unit vector in the same direction as the coordinates

type Coordinates2D Uses

type Coordinates2D struct {
    X   float64
    Y   float64
}

func (Coordinates2D) Abs Uses

func (self Coordinates2D) Abs() float64

Abs return the L2 norm of the coordinate

func (Coordinates2D) Add Uses

func (self Coordinates2D) Add(rhs Coordinates2D) Coordinates2D

Add return a new coordinate which is the sum of the two

func (Coordinates2D) Divide Uses

func (self Coordinates2D) Divide(factor float64) Coordinates2D

Divide return a new coordinate scaled by the reciprocal of factor if factor is zero, inf will be returned

func (Coordinates2D) Equals Uses

func (self Coordinates2D) Equals(rhs Coordinates2D) bool

Equals return true if the two coordinates are equal

func (Coordinates2D) Multiply Uses

func (self Coordinates2D) Multiply(factor float64) Coordinates2D

Multiply return a new coordinate scaled by factor

func (Coordinates2D) String Uses

func (self Coordinates2D) String() string

String string representation of the coordinate

func (Coordinates2D) Subtract Uses

func (self Coordinates2D) Subtract(rhs Coordinates2D) Coordinates2D

Subtract return a new coordinate which is self minus rhs

type DNA Uses

type DNA struct {
    Seq DNASequence
}

defines something as physical DNA hence it is physical and has a DNASequence

type DNASeqSet Uses

type DNASeqSet []*DNASequence

func (DNASeqSet) AsBioSequences Uses

func (dss DNASeqSet) AsBioSequences() []BioSequence

type DNASequence Uses

type DNASequence struct {
    Nm             string    `json:"nm"`
    Seq            string    `json:"seq"`
    Plasmid        bool      `json:"plasmid"`
    Singlestranded bool      `json:"single_stranded"`
    Overhang5prime Overhang  `json:"overhang_5_prime"`
    Overhang3prime Overhang  `json:"overhang_3_prime"`
    Methylation    string    `json:"methylation"` // add histones etc?
    Features       []Feature `json:"features"`
}

DNAsequence is a type of Biosequence

func Annotate Uses

func Annotate(dnaseq DNASequence, features []Feature) (annotated DNASequence)

func MakeDNASequence Uses

func MakeDNASequence(name string, seqstring string, properties []string) (seq DNASequence, err error)

func MakeLinearDNASequence Uses

func MakeLinearDNASequence(name string, seqstring string) (seq DNASequence)

func MakePlasmidDNASequence Uses

func MakePlasmidDNASequence(name string, seqstring string) (seq DNASequence)

func MakeSingleStrandedDNASequence Uses

func MakeSingleStrandedDNASequence(name string, seqstring string) (seq DNASequence)

func Phosphorylate Uses

func Phosphorylate(dnaseq DNASequence) (phosphorylateddna DNASequence, err error)

func (*DNASequence) AddBluntEnd Uses

func (seq *DNASequence) AddBluntEnd(end int) (err error)

AddBluntOverhang adds a blunt overhang to a specified end. Valid options are either 5 (for 5 prime/upstream end) or 3 (for 3 prime/upstream end).

func (*DNASequence) AddOverhang Uses

func (seq *DNASequence) AddOverhang(end int, sequence string) (err error)

AddOverhang adds an overhang to a specified end. Valid options are either 5 (for 5 prime/upstream end) or 3 (for 3 prime/upstream end).

func (*DNASequence) AddUnderhang Uses

func (seq *DNASequence) AddUnderhang(end int, sequence string) (err error)

AddUnderhang adds an underhang to a specified end. Valid options are either 5 (for 5 prime/upstream end) or 3 (for 3 prime/upstream end).

func (*DNASequence) Append Uses

func (dna *DNASequence) Append(s string) error

Append appends the existing dna sequence with the upper case of the string added

func (*DNASequence) Blast Uses

func (seq *DNASequence) Blast() (hits []Hit, err error)

Blast performs a blast search on the sequence and returns any hits found. An error is returned if a problem interacting with the blast server occurs.

func (DNASequence) Dup Uses

func (seq DNASequence) Dup() DNASequence

func (DNASequence) FeatureNames Uses

func (annotated DNASequence) FeatureNames() (featurenames []string)

FeatureNames returns a list of all feature names in the sequence

func (DNASequence) GetFeatureByName Uses

func (annotated DNASequence) GetFeatureByName(featureName string) (returnedFeatures []Feature)

GetFeatureByName returns all features found which match the specified feature name. Searches are not case sensitive.

func (*DNASequence) MolecularWeight Uses

func (seq *DNASequence) MolecularWeight() float64

MolecularWeight calculates the molecular weight of the specified DNA sequence. For accuracy it is important to specify if the DNA is single stranded or doublestranded along with phosphorylation.

func (*DNASequence) Name Uses

func (dna *DNASequence) Name() string

Name returns the name of the DNASequence

func (*DNASequence) Prepend Uses

func (dna *DNASequence) Prepend(s string) error

Preprend adds the requested sequence to the beginning of the existing sequence.

func (*DNASequence) RevComp Uses

func (dna *DNASequence) RevComp() string

RevComp returns the reverse complement of the DNASequence.

func (*DNASequence) Sequence Uses

func (dna *DNASequence) Sequence() string

Sequence returns the sequence of the DNA Sequence

func (*DNASequence) Set3PrimeEnd Uses

func (seq *DNASequence) Set3PrimeEnd(overhang Overhang) (err error)

Set3PrimeEnd adds a 3 prime overhang to a sequence. Validation is performed on the compatibility of the overhang with the sequence.

func (*DNASequence) Set5PrimeEnd Uses

func (seq *DNASequence) Set5PrimeEnd(overhang Overhang) (err error)

Set5PrimeEnd adds a 5 prime overhang to a sequence. Validation is performed on the compatibility of the overhang with the sequence.

func (*DNASequence) SetName Uses

func (dna *DNASequence) SetName(name string)

SetName sets the names of the dna sequence

func (*DNASequence) SetSequence Uses

func (dna *DNASequence) SetSequence(seq string) error

SetSequence checks the validity of sequence given as an argument and if all characters are present in ValidNucleotides If invalid characters are found an error returned listing all invalid characters and their positions in human friendly form. i.e. the first position is 1 and not 0.

type ElectroshockParameters Uses

type ElectroshockParameters map[string]interface{}

type Entity Uses

type Entity interface {
    IsEntity() bool
}

type Environment Uses

type Environment struct {
    Temperature         wunit.Temperature
    Pressure            wunit.Pressure
    Humidity            float64
    MeanAirFlowVelocity wunit.Velocity
}

type Enzyme Uses

type Enzyme struct {
    Properties map[string]wunit.Measurement
    Nm         string
}

structure which defines an enzyme -- solutions containing enzymes need careful handling as they can be quite delicate

func (Enzyme) Name Uses

func (enzyme Enzyme) Name() string

type Feature Uses

type Feature struct {
    Name          string `json:"name"`
    Class         string `json:"class	"` //  defined by constants above
    Reverse       bool   `json:"reverse"`
    StartPosition int    `json:"start_position"` // in human friendly format
    EndPosition   int    `json:"end_position"`   // in human friendly format
    DNASeq        string `json:"dna_seq"`
    Protseq       string `json:"prot_seq"`
}

Feature describes a feature within a sequence, it's position in the sequence, in human friendly format, a protein sequence if applicablae and a class. Use the MakeFeature and AddFeature functions from the sequences packages. valid class fields are:

ORF = "ORF"
CDS = "CDS"
GENE = "gene"
MISC_FEATURE = "misc_feature"
PROMOTER = "promoter"
TRNA = "tRNA"
RRNA = "rRNA"
NCRNA = "ncRNA"
REGULATORY = "regulatory"
REPEAT_REGION = "repeat_region"

func (*Feature) Coordinates Uses

func (feat *Feature) Coordinates(options ...string) (start, end int)

Coordinates returns the start and end positions of the feature by default this will return the start position followed by the end position in human friendly format Available options are: HUMANFRIENDLY returns a sequence PositionPair's start and end positions in a human friendly format i.e. in a Sequence "ATGTGTTG" position 1 is A, 2 is T. CODEFRIENDLY returns a sequence PositionPair's start and end positions in a code friendly format i.e. in a Sequence "ATGTGTTG" position 0 is A, 1 is T. IGNOREDIRECTION is a constant to specify that direction of a feature position should be ignored when returning start and end positions of a feature. If selected, the start position will be the first position at which the feature is encountered regardless of orientation.

func (Feature) DNASequence Uses

func (f Feature) DNASequence() DNASequence

DNASequence returns the linear DNA sequence of the feature.

func (*Feature) End Uses

func (f *Feature) End(options ...string) int

End returns the end position of the Feature by default this will return a directional human friendly position

func (*Feature) Start Uses

func (f *Feature) Start(options ...string) int

Start returns the start position of the Feature by default this will return a directional human friendly position

type File Uses

type File struct {
    Name string
    // contains filtered or unexported fields
}

Representation of a file.

func AutoExportPlateCSV Uses

func AutoExportPlateCSV(outputFileName string, plate *Plate) (file File, err error)

AutoExportPlateCSV exports an LHPlate and its contents as a csv file. This is not 100% safe to use in elements since, currently, at the time of running an element, the scheduler will not have allocated positions for the components so, for example, accurate well information cannot currently be obtained with this function. If allocating wells manually use the ExportPlateCSV function and explicitely set the sample locations and volumes.

func ExportPlateCSV Uses

func ExportPlateCSV(outputFileName string, plate *Plate, plateName string, wells []string, liquids []*Liquid, volumes []wunit.Volume) (file File, err error)

ExportPlateCSV a exports an LHPlate and its contents as a csv file. The caller is required to set the well locations and volumes explicitely with this function.

func (File) MarshalJSON Uses

func (a File) MarshalJSON() ([]byte, error)

func (*File) ReadAll Uses

func (a *File) ReadAll() ([]byte, error)

ReadAll returns contents of file.

func (*File) UnmarshalBlob Uses

func (a *File) UnmarshalBlob(blob *api.Blob) error

func (*File) UnmarshalJSON Uses

func (a *File) UnmarshalJSON(data []byte) error

func (*File) WriteAll Uses

func (a *File) WriteAll(data []byte) error

WriteAll replaces contents of file with data.

type FromFactory Uses

type FromFactory struct {
    String string
}

func (*FromFactory) MarshalJSON Uses

func (f *FromFactory) MarshalJSON() ([]byte, error)

func (*FromFactory) UnmarshalJSON Uses

func (f *FromFactory) UnmarshalJSON(b []byte) error

type Geometry Uses

type Geometry interface {
    Height() wunit.Length
    Width() wunit.Length
    Depth() wunit.Length
}

Geometry interface for 3D geometry

type Haswelladdress Uses

type Haswelladdress interface {
    PlateID() string
    WellCoords() WellCoords
}

type HorizontalDirection Uses

type HorizontalDirection int
const (
    LeftToRight HorizontalDirection = 1
    RightToLeft                     = -1
)

func (HorizontalDirection) String Uses

func (s HorizontalDirection) String() string

type IChain Uses

type IChain struct {
    Parent *IChain
    Child  *IChain
    Values []*LHInstruction
    Depth  int
}

func NewIChain Uses

func NewIChain(parent *IChain) *IChain

func (*IChain) Add Uses

func (it *IChain) Add(ins *LHInstruction)

func (*IChain) AsGraph Uses

func (ic *IChain) AsGraph() graph.Graph

AsGraph returns the chain in graph form, unidirectional only

func (*IChain) AsList Uses

func (it *IChain) AsList(ica []*IChain) []*IChain

func (*IChain) AssertInstructionsSeparate Uses

func (self *IChain) AssertInstructionsSeparate() error

AssertInstructionsSeparate check that there's only one type of instruction in each link of the chain

func (*IChain) FindEnd Uses

func (it *IChain) FindEnd() *IChain

func (*IChain) FlattenInstructionIDs Uses

func (it *IChain) FlattenInstructionIDs() []string

FlattenInstructionIDs returns a slice containing the IDs of each instruction in the chain in order

func (*IChain) GetChild Uses

func (it *IChain) GetChild() *IChain

func (*IChain) GetOrderedLHInstructions Uses

func (it *IChain) GetOrderedLHInstructions() []*LHInstruction

GetOrderedLHInstructions get the instructions in order

func (*IChain) Height Uses

func (it *IChain) Height() int

depth from here

func (*IChain) Print Uses

func (it *IChain) Print()

func (*IChain) PruneOut Uses

func (it *IChain) PruneOut(Remove map[string]bool) *IChain

func (*IChain) Reverse Uses

func (it *IChain) Reverse()

func (*IChain) SortInstructions Uses

func (ic *IChain) SortInstructions(byComponent bool)

SortInstructions sort the instructions within each link of the chain

func (*IChain) SplitMixedNodes Uses

func (it *IChain) SplitMixedNodes() *IChain

func (*IChain) SwapForChain Uses

func (ch *IChain) SwapForChain(newch *IChain) *IChain

SwapForChain replace node ch with the node chain starting with newch

if ch is the head of the chain, return newch as the new head
otherwise return nil

func (*IChain) ValueIDs Uses

func (it *IChain) ValueIDs() []string

type Identifiable Uses

type Identifiable interface {
    GetID() string
}

type Kind Uses

type Kind uint8
const (
    Float64 Kind = iota
    Int
    String
    Volume
    Bool
)

type LHAdaptor Uses

type LHAdaptor struct {
    Name         string
    ID           string
    Manufacturer string
    Params       *LHChannelParameter
    Tips         []*LHTip
}

adaptor

func NewLHAdaptor Uses

func NewLHAdaptor(name, mf string, params *LHChannelParameter) *LHAdaptor

NewLHAdaptor make a new adaptor

func (*LHAdaptor) AdaptorType Uses

func (lha *LHAdaptor) AdaptorType() string

AdaptorType the manufacturer and name of the adaptor

func (*LHAdaptor) AddTip Uses

func (lha *LHAdaptor) AddTip(channelNumber int, tip *LHTip)

AddTip Load a tip to the specified channel, overwriting any tip already present

func (*LHAdaptor) Dup Uses

func (lha *LHAdaptor) Dup() *LHAdaptor

Dup duplicate the adaptor and any loaded tips with new IDs

func (*LHAdaptor) DupKeepIDs Uses

func (lha *LHAdaptor) DupKeepIDs() *LHAdaptor

DupKeepIDs duplicate the adaptor and any loaded tips keeping the same IDs

func (*LHAdaptor) GetLargestChannelSpacing Uses

func (self *LHAdaptor) GetLargestChannelSpacing() Coordinates2D

GetLargestChannelSpacing get the largest possible distance between successive channels

func (*LHAdaptor) GetMostCompactChannelPositions Uses

func (self *LHAdaptor) GetMostCompactChannelPositions() ChannelPositions

GetMostCompactChannelPositions get the relative channel positions for the adaptor in the most tightly bunched layout supported

func (*LHAdaptor) GetParams Uses

func (lha *LHAdaptor) GetParams() *LHChannelParameter

GetParams get the channel parameters for the adaptor, combined with any loaded tips

func (*LHAdaptor) GetSmallestChannelSpacing Uses

func (self *LHAdaptor) GetSmallestChannelSpacing() Coordinates2D

GetSmallestChannelSpacing get the smallest possible distance between successive channels

func (*LHAdaptor) GetTip Uses

func (lha *LHAdaptor) GetTip(channelNumber int) *LHTip

GetTip Return the tip at channelNumber, nil otherwise

func (*LHAdaptor) GetWellTargets Uses

func (self *LHAdaptor) GetWellTargets(well *LHWell) []Coordinates2D

GetWellTargets get the offset from the center of the well for each channel that can access the well simultaneously returns nil if the well cannot fit multiple channels

func (*LHAdaptor) IsTipLoaded Uses

func (lha *LHAdaptor) IsTipLoaded(channelNumber int) bool

IsTipLoaded Is there a tip loaded on channelNumber

func (*LHAdaptor) NumTipsLoaded Uses

func (lha *LHAdaptor) NumTipsLoaded() int

NumTipsLoaded the number of tips currently loaded

func (*LHAdaptor) RemoveTip Uses

func (lha *LHAdaptor) RemoveTip(channelNumber int) *LHTip

RemoveTip Remove a tip from the specified channel and return it

func (*LHAdaptor) RemoveTips Uses

func (lha *LHAdaptor) RemoveTips() []*LHTip

RemoveTips Return all previously loaded tips, with nils removed

type LHCategoryCondition Uses

type LHCategoryCondition struct {
    Category string
}

func (LHCategoryCondition) IsEqualTo Uses

func (lhcc LHCategoryCondition) IsEqualTo(other LHCondition) bool

func (LHCategoryCondition) Match Uses

func (lhcc LHCategoryCondition) Match(v interface{}) bool

func (LHCategoryCondition) Type Uses

func (lhcc LHCategoryCondition) Type() string

type LHChannelParameter Uses

type LHChannelParameter struct {
    ID          string
    Platform    string
    Name        string
    Minvol      wunit.Volume
    Maxvol      wunit.Volume
    Minspd      wunit.FlowRate
    Maxspd      wunit.FlowRate
    Multi       int
    Independent bool
    Orientation ChannelOrientation
    Head        int
}

describes sets of parameters which can be used to create a configuration

func NewLHChannelParameter Uses

func NewLHChannelParameter(name, platform string, minvol, maxvol wunit.Volume, minspd, maxspd wunit.FlowRate, multi int, independent bool, orientation ChannelOrientation, head int) *LHChannelParameter

func (LHChannelParameter) CanMove Uses

func (lhcp LHChannelParameter) CanMove(v wunit.Volume, oneshot bool) bool

can you move this much? If oneshot is true it's strictly Minvol <= v <= Maxvol otherwise it's just Minvol <= v

func (*LHChannelParameter) Dup Uses

func (lhcp *LHChannelParameter) Dup() *LHChannelParameter

func (*LHChannelParameter) DupKeepIDs Uses

func (lhcp *LHChannelParameter) DupKeepIDs() *LHChannelParameter

func (*LHChannelParameter) Equals Uses

func (lhcprm *LHChannelParameter) Equals(prm2 *LHChannelParameter) bool

func (LHChannelParameter) GetConstraint Uses

func (lhcp LHChannelParameter) GetConstraint(n int) LHMultiChannelConstraint

given the dimension of the plate, what is the constraint on multichannel access?

func (*LHChannelParameter) MergeWithTip Uses

func (lhcp *LHChannelParameter) MergeWithTip(tip *LHTip) *LHChannelParameter

func (LHChannelParameter) String Uses

func (lhcp LHChannelParameter) String() string

func (LHChannelParameter) VolumeLimitString Uses

func (lhcp LHChannelParameter) VolumeLimitString() string

type LHComponent Uses

type LHComponent = Liquid

LHComponent is an alias for Liquid to preserve backwards compatibility Liquid describes a liquid component and its desired properties

type LHCondition Uses

type LHCondition interface {
    Match(interface{}) bool
    Type() string
    IsEqualTo(LHCondition) bool
}

type LHContainer Uses

type LHContainer interface {
    Contents() *Liquid
    CurrentVolume() wunit.Volume
    ResidualVolume() wunit.Volume
    //WorkingVolume = CurrentVolume - ResidualVolume
    CurrentWorkingVolume() wunit.Volume
    //Add to the container
    AddComponent(*Liquid) error
    //Set the contents of the container
    SetContents(*Liquid) error
    //Remove from the container
    RemoveVolume(wunit.Volume) (*Liquid, error)
}

LHContainer a tip or a well or something that holds liquids

type LHDeck Uses

type LHDeck struct {
    // contains filtered or unexported fields
}

LHDeck Represents a robot deck

func NewLHDeck Uses

func NewLHDeck(name, mfg, decktype string) *LHDeck

NewLHDeck make a new deck

func (*LHDeck) Accepts Uses

func (self *LHDeck) Accepts(name string, child LHObject) bool

func (*LHDeck) AddSlot Uses

func (self *LHDeck) AddSlot(name string, position, size Coordinates)

func (*LHDeck) Clear Uses

func (self *LHDeck) Clear(name string) error

func (*LHDeck) ClearParent Uses

func (self *LHDeck) ClearParent()

@implement LHObject

func (*LHDeck) DimensionsString Uses

func (self *LHDeck) DimensionsString() string

DimensionsString returns a string description of the position and size of the object and its children.

func (*LHDeck) Duplicate Uses

func (self *LHDeck) Duplicate(keepIDs bool) LHObject

Duplicate copy the LHObject, optionally keeping IDs unchanged

func (*LHDeck) GetBoxIntersections Uses

func (self *LHDeck) GetBoxIntersections(box BBox) []LHObject

func (*LHDeck) GetChild Uses

func (self *LHDeck) GetChild(name string) (LHObject, bool)

@implements LHParent

func (*LHDeck) GetChildBelow Uses

func (self *LHDeck) GetChildBelow(point Coordinates) LHObject

Return the nearest object below the point, nil if none. The base of the object is used as reference, so e.g. a point within a well will return the plate

func (*LHDeck) GetClass Uses

func (self *LHDeck) GetClass() string

func (*LHDeck) GetID Uses

func (self *LHDeck) GetID() string

func (*LHDeck) GetManufacturer Uses

func (self *LHDeck) GetManufacturer() string

func (*LHDeck) GetName Uses

func (self *LHDeck) GetName() string

func (*LHDeck) GetParent Uses

func (self *LHDeck) GetParent() LHObject

func (*LHDeck) GetPointIntersections Uses

func (self *LHDeck) GetPointIntersections(point Coordinates) []LHObject

func (*LHDeck) GetPosition Uses

func (self *LHDeck) GetPosition() Coordinates

func (*LHDeck) GetSize Uses

func (self *LHDeck) GetSize() Coordinates

zero size

func (*LHDeck) GetSlotContaining Uses

func (self *LHDeck) GetSlotContaining(obj LHObject) string

func (*LHDeck) GetSlotNames Uses

func (self *LHDeck) GetSlotNames() []string

func (*LHDeck) GetSlotNamesBelow Uses

func (self *LHDeck) GetSlotNamesBelow(point Coordinates) []string

func (*LHDeck) GetSlotPosition Uses

func (self *LHDeck) GetSlotPosition(name string) Coordinates

func (*LHDeck) GetSlotSize Uses

func (self *LHDeck) GetSlotSize(name string) Coordinates

func (*LHDeck) GetType Uses

func (self *LHDeck) GetType() string

func (*LHDeck) GetVChildren Uses

func (self *LHDeck) GetVChildren(point Coordinates) []LHObject

get all objects above and below the point

func (*LHDeck) SetChild Uses

func (self *LHDeck) SetChild(name string, child LHObject) error

func (*LHDeck) SetOffset Uses

func (self *LHDeck) SetOffset(o Coordinates) error

func (*LHDeck) SetParent Uses

func (self *LHDeck) SetParent(o LHObject) error

func (*LHDeck) SetSlotAccepts Uses

func (self *LHDeck) SetSlotAccepts(name string, class string)

type LHDevice Uses

type LHDevice struct {
    ID   string
    Name string
    Mnfr string
}

func NewLHDevice Uses

func NewLHDevice(name, mfr string) *LHDevice

func (*LHDevice) Dup Uses

func (lhd *LHDevice) Dup() *LHDevice

type LHGlobals Uses

type LHGlobals struct {
    MIN_REASONABLE_VOLUME_UL float64
    VOL_RESOLUTION_DIGITS    int
}

type LHHead Uses

type LHHead struct {
    Name         string
    Manufacturer string
    ID           string
    Adaptor      *LHAdaptor
    Params       *LHChannelParameter
    TipLoading   TipLoadingBehaviour // defines the way in which tips are loaded into the head
}

head

func NewLHHead Uses

func NewLHHead(name, mf string, params *LHChannelParameter) *LHHead

NewLHHead constructor for liquid handling heads

func (*LHHead) CanReach Uses

func (head *LHHead) CanReach(plate *LHPlate, addresses WellCoordSlice) bool

CanReach return true if the head can service the given addresses in the given object simultaneously. addresses is a slice of well addresses which should be serviced by successive channels of the head, eg. ["A1", "B1", "", "D1",] means channels 0, 1, and 3 should address wells A1, B1, and D1 respectively and channels 2 and 4-7 should not be used. Repeated addresses (e.g. ["A1", "A1", "A1"]) imply multiple tips per well, with exact positioning for each tip calculated with LHHead.GetWellTargets(). Addresses are not reordered, and so ["A1", "B1"] != ["B1", "A1"].

func (*LHHead) Dup Uses

func (head *LHHead) Dup() *LHHead

Dup duplicate the head and adaptor, changing the IDs

func (*LHHead) DupKeepIDs Uses

func (head *LHHead) DupKeepIDs() *LHHead

DupKeepIDs duplicate the head and adaptor, keeping the IDs the same

func (*LHHead) GetParams Uses

func (lhh *LHHead) GetParams() *LHChannelParameter

GetParams get the channel parameters of the head or the adaptor if one is loaded

type LHHeadAssembly Uses

type LHHeadAssembly struct {
    Positions      []*LHHeadAssemblyPosition
    MotionLimits   *BBox          //the limits on range of motion of the head assembly, nil if unspecified
    VelocityLimits *VelocityRange // the range of valid velocities for the head, nil if unspecified
}

LHHeadAssembly represent a set of LHHeads which are constrained to move together

func NewLHHeadAssembly Uses

func NewLHHeadAssembly(MotionLimits *BBox) *LHHeadAssembly

NewLHHeadAssembly build a new head assembly

func (*LHHeadAssembly) AddPosition Uses

func (self *LHHeadAssembly) AddPosition(Offset Coordinates)

AddPosition add a position to the head assembly with the given offset

func (*LHHeadAssembly) CountHeadsLoaded Uses

func (self *LHHeadAssembly) CountHeadsLoaded() int

GetNumHeadsLoaded get the number of heads that are loaded into the assembly

func (*LHHeadAssembly) CountPositions Uses

func (self *LHHeadAssembly) CountPositions() int

GetNumPositions get the number of positions added to the head assembly

func (*LHHeadAssembly) DupWithoutHeads Uses

func (self *LHHeadAssembly) DupWithoutHeads() *LHHeadAssembly

DupWithoutHeads copy the headassembly leaving all positions in the new assembly unloaded

func (*LHHeadAssembly) GetLoadedHeads Uses

func (self *LHHeadAssembly) GetLoadedHeads() []*LHHead

GetLoadedHeads get an ordered slice of all the heads that have been loaded into the assembly

func (*LHHeadAssembly) LoadHead Uses

func (self *LHHeadAssembly) LoadHead(head *LHHead) error

LoadHead load a head into the next available position in the assembly, returns error if no positions are available

func (*LHHeadAssembly) UnloadAllHeads Uses

func (self *LHHeadAssembly) UnloadAllHeads()

UnloadAllHeads unload all heads from the assembly

func (*LHHeadAssembly) UnloadHead Uses

func (self *LHHeadAssembly) UnloadHead(head *LHHead) error

UnloadHead unload a head from the assembly, return an error if the head is not loaded

type LHHeadAssemblyPosition Uses

type LHHeadAssemblyPosition struct {
    Offset Coordinates
    Head   *LHHead
}

LHHeadAssemblyPosition a position within a head assembly

type LHInstruction Uses

type LHInstruction struct {
    ID               string
    BlockID          BlockID
    Inputs           []*Liquid
    Outputs          []*Liquid
    ContainerType    string
    Welladdress      string
    PlateID          string
    Platetype        string
    Vol              float64
    Type             int
    Conc             float64
    Tvol             float64
    Majorlayoutgroup int

    PlateName   string
    OutPlate    *Plate
    Message     string
    PassThrough map[string]*Liquid // 1:1 pass through, only applies to prompts
    // contains filtered or unexported fields
}

high-level instruction to a liquid handler

func NewLHMixInstruction Uses

func NewLHMixInstruction() *LHInstruction

func NewLHPromptInstruction Uses

func NewLHPromptInstruction() *LHInstruction

func NewLHSplitInstruction Uses

func NewLHSplitInstruction() *LHInstruction

func (*LHInstruction) AddInput Uses

func (inst *LHInstruction) AddInput(cmp *Liquid)

func (*LHInstruction) AddOutput Uses

func (inst *LHInstruction) AddOutput(cmp *Liquid)

func (*LHInstruction) AdjustVolumesBy Uses

func (ins *LHInstruction) AdjustVolumesBy(r float64)

func (*LHInstruction) ComponentsMoving Uses

func (ins *LHInstruction) ComponentsMoving() []*Liquid

func (*LHInstruction) Generation Uses

func (ins *LHInstruction) Generation() int

func (*LHInstruction) GetID Uses

func (inst *LHInstruction) GetID() string

GetID returns the ID of the instruction, useful for interfaces

func (*LHInstruction) HasAnyParent Uses

func (ins *LHInstruction) HasAnyParent() bool

func (*LHInstruction) HasParent Uses

func (ins *LHInstruction) HasParent(id string) bool

func (*LHInstruction) InputVolumeMap Uses

func (ins *LHInstruction) InputVolumeMap(addition wunit.Volume) map[string]wunit.Volume

func (*LHInstruction) InsType Uses

func (inst *LHInstruction) InsType() string

func (*LHInstruction) IsDummy Uses

func (ins *LHInstruction) IsDummy() bool

IsDummy return true if the instruction has no effect

func (*LHInstruction) IsMixInPlace Uses

func (ins *LHInstruction) IsMixInPlace() bool

func (*LHInstruction) NamesOfComponentsMoving Uses

func (ins *LHInstruction) NamesOfComponentsMoving() string

func (*LHInstruction) ParentString Uses

func (ins *LHInstruction) ParentString() string

func (*LHInstruction) SetGeneration Uses

func (ins *LHInstruction) SetGeneration(i int)

func (*LHInstruction) SetPlateID Uses

func (ins *LHInstruction) SetPlateID(pid string)

func (LHInstruction) String Uses

func (ins LHInstruction) String() string

func (*LHInstruction) Summarize Uses

func (ins *LHInstruction) Summarize(indent int) string

Summarize get a string summary of the instruction for end users

func (*LHInstruction) Wellcoords Uses

func (ins *LHInstruction) Wellcoords() WellCoords

type LHMultiChannelConstraint Uses

type LHMultiChannelConstraint struct {
    X   int
    Y   int
    M   int
}

what constraints apply to adjacent channels

func (LHMultiChannelConstraint) Equals Uses

func (lhmcc LHMultiChannelConstraint) Equals(lhmcc2 LHMultiChannelConstraint) bool

func (LHMultiChannelConstraint) Satisfied Uses

func (lhmcc LHMultiChannelConstraint) Satisfied(wc1, wc2 WellCoords) bool

func (LHMultiChannelConstraint) SatisfiedV Uses

func (lhmcc LHMultiChannelConstraint) SatisfiedV(awc1, awc2 []WellCoords) bool

type LHNumericCondition Uses

type LHNumericCondition struct {
    Upper float64
    Lower float64
}

func (LHNumericCondition) IsEqualTo Uses

func (lhnc LHNumericCondition) IsEqualTo(other LHCondition) bool

func (LHNumericCondition) Match Uses

func (lhnc LHNumericCondition) Match(v interface{}) bool

func (LHNumericCondition) Type Uses

func (lhnc LHNumericCondition) Type() string

type LHObject Uses

type LHObject interface {
    //GetPosition get the absolute position of the object (mm)
    GetPosition() Coordinates
    //GetSize get the size of the object (mm)
    GetSize() Coordinates
    //GetBoxIntersections get a list of LHObjects (can be this object or children) which intersect with the BBox
    GetBoxIntersections(BBox) []LHObject
    //GetPointIntersections get a list of LHObjects (can be this object or children) which intersect with the given point
    GetPointIntersections(Coordinates) []LHObject
    //SetOffset set the offset of the object relative to its parent (global if parent is nil)
    SetOffset(Coordinates) error
    //SetParent Store the offset of the object
    SetParent(LHObject) error
    //ClearParent Clear the parent of the object
    ClearParent()
    //GetParent
    GetParent() LHObject
    //GetID
    GetID() string
    //Dup duplicate the object, optionally keeping the IDs identical
    Duplicate(bool) LHObject
    //DimensionsString returns a string description of the position and size of the object and its children.
    //useful for debugging
    DimensionsString() string
}

LHObject Provides a unified interface to physical size and location of objects that exist within a liquid handler

func GetObjectRoot Uses

func GetObjectRoot(o LHObject) LHObject

GetObjectRoot get the highest parent

func UnmarshalDeckObject Uses

func UnmarshalDeckObject(data []byte) (LHObject, error)

UnmarshalDeckObject unmarshal an on-deck object serialised with MarshalDeckObject retaining the correct underlying type

type LHParent Uses

type LHParent interface {
    //GetChild get the child in the specified slot, nil if none. bool is false if the slot doesn't exists
    GetChild(string) (LHObject, bool)
    //GetSlotNames get a list of the slots
    GetSlotNames() []string
    //SetChild put the object in the slot
    SetChild(string, LHObject) error
    //Accepts test if slot can accept a certain class
    Accepts(string, LHObject) bool
    //GetSlotSize
    GetSlotSize(string) Coordinates
}

LHParent An LHObject that can hold other LHObjects

type LHPlate Uses

type LHPlate = Plate

LHPlate is an alias for Plate to preserve backwards compatibility. Plate is the principle type for Liquid handling Plates in Antha. The structure describing a microplate.

type LHPolicy Uses

type LHPolicy map[string]interface{}

LHPolicy defines parameters for a liquid handling policy. Valid key and value pairs are found aparam.go

func AdjustPostMixVolume Uses

func AdjustPostMixVolume(mixToVol wunit.Volume) LHPolicy

func AdjustPreMixVolume Uses

func AdjustPreMixVolume(mixToVol wunit.Volume) LHPolicy

func DupLHPolicy Uses

func DupLHPolicy(in LHPolicy) LHPolicy

func GetPolicyByName Uses

func GetPolicyByName(policyname PolicyName) (lhpolicy LHPolicy, err error)

func GetPolicyByType Uses

func GetPolicyByType(liquidType LiquidType) (lhpolicy LHPolicy, err error)

GetPolicyByType will return the default LHPolicy corresponding to a LiquidType. An error is returned if an invalid liquidType is specified.

func MakeCarbonSourcePolicy Uses

func MakeCarbonSourcePolicy() LHPolicy

func MakeColonyMixPolicy Uses

func MakeColonyMixPolicy() LHPolicy

func MakeColonyPolicy Uses

func MakeColonyPolicy() LHPolicy

func MakeCulturePolicy Uses

func MakeCulturePolicy() LHPolicy

func MakeCultureReusePolicy Uses

func MakeCultureReusePolicy() LHPolicy

func MakeDNACELLSMixMultiPolicy Uses

func MakeDNACELLSMixMultiPolicy() LHPolicy

func MakeDNACELLSMixPolicy Uses

func MakeDNACELLSMixPolicy() LHPolicy

func MakeDNAMixMultiPolicy Uses

func MakeDNAMixMultiPolicy() LHPolicy

func MakeDNAMixPolicy Uses

func MakeDNAMixPolicy() LHPolicy

func MakeDNAPolicy Uses

func MakeDNAPolicy() LHPolicy

func MakeDefaultPolicy Uses

func MakeDefaultPolicy() LHPolicy

func MakeDetergentPolicy Uses

func MakeDetergentPolicy() LHPolicy

func MakeDispenseAboveLiquidMultiPolicy Uses

func MakeDispenseAboveLiquidMultiPolicy() LHPolicy

func MakeDispenseAboveLiquidPolicy Uses

func MakeDispenseAboveLiquidPolicy() LHPolicy

func MakeGlycerolPolicy Uses

func MakeGlycerolPolicy() LHPolicy

func MakeHVFlowRatePolicy Uses

func MakeHVFlowRatePolicy() LHPolicy

func MakeHVOffsetPolicy Uses

func MakeHVOffsetPolicy() LHPolicy

func MakeJBPolicy Uses

func MakeJBPolicy() LHPolicy

func MakeLLFPolicy Uses

func MakeLLFPolicy() LHPolicy

func MakeLVDNAMixPolicy Uses

func MakeLVDNAMixPolicy() LHPolicy

func MakeLVExtraPolicy Uses

func MakeLVExtraPolicy() LHPolicy

func MakeLoadPolicy Uses

func MakeLoadPolicy() LHPolicy

func MakeLoadWaterPolicy Uses

func MakeLoadWaterPolicy() LHPolicy

func MakeMultiWaterPolicy Uses

func MakeMultiWaterPolicy() LHPolicy

func MakeNeedToMixPolicy Uses

func MakeNeedToMixPolicy() LHPolicy

func MakeNitrogenSourcePolicy Uses

func MakeNitrogenSourcePolicy() LHPolicy

func MakePEGPolicy Uses

func MakePEGPolicy() LHPolicy

func MakePaintPolicy Uses

func MakePaintPolicy() LHPolicy

func MakePlateOutPolicy Uses

func MakePlateOutPolicy() LHPolicy

func MakeProteinPolicy Uses

func MakeProteinPolicy() LHPolicy

func MakeProtoplastPolicy Uses

func MakeProtoplastPolicy() LHPolicy

func MakeSingleChannelPolicy Uses

func MakeSingleChannelPolicy() LHPolicy

func MakeSmartMixLLFPolicy Uses

func MakeSmartMixLLFPolicy() LHPolicy

func MakeSmartMixSingleChannelPolicy Uses

func MakeSmartMixSingleChannelPolicy() LHPolicy

func MakeSolventPolicy Uses

func MakeSolventPolicy() LHPolicy

func MakeTOPolicy Uses

func MakeTOPolicy() LHPolicy

func MakeViscousPolicy Uses

func MakeViscousPolicy() LHPolicy

func MakeWaterPolicy Uses

func MakeWaterPolicy() LHPolicy

func MakeXYOffsetTestPolicy Uses

func MakeXYOffsetTestPolicy() LHPolicy

func MegaMixPolicy Uses

func MegaMixPolicy() LHPolicy

func NewLHPolicy Uses

func NewLHPolicy() LHPolicy

NewLHPolicy generates an empty LHPolicy

func PostMixPolicy Uses

func PostMixPolicy() LHPolicy

func PreMixPolicy Uses

func PreMixPolicy() LHPolicy

func SmartMixPolicy Uses

func SmartMixPolicy() LHPolicy

3 post mixes of the sample being transferred. Volume is adjusted based upon the volume of liquid in the destination well. No tip reuse permitted. Rules added to adjust post mix volume based on volume of the destination well. volume now capped at max for tip type (MIX_VOLUME_OVERRIDE_TIP_MAX)

func TurnOffBlowoutPolicy Uses

func TurnOffBlowoutPolicy() LHPolicy

func TurnOffPostMix Uses

func TurnOffPostMix() LHPolicy

func TurnOffPostMixAndPermitTipReUse Uses

func TurnOffPostMixAndPermitTipReUse() LHPolicy

func (LHPolicy) IsEqualTo Uses

func (lhp LHPolicy) IsEqualTo(lh2 LHPolicy) bool

func (LHPolicy) MergeWith Uses

func (lhp LHPolicy) MergeWith(other LHPolicy) LHPolicy

clobber everything in here with the other policy then return the merged copy

func (LHPolicy) Name Uses

func (policy LHPolicy) Name() string

Name returns the name of an LHPolicy as a string

func (*LHPolicy) Set Uses

func (plhp *LHPolicy) Set(item string, value interface{}) error

func (*LHPolicy) SetName Uses

func (policy *LHPolicy) SetName(name string) error

SetName sets the name of an LHPolicy.

func (*LHPolicy) UnmarshalJSON Uses

func (plhp *LHPolicy) UnmarshalJSON(data []byte) error

type LHPolicyRule Uses

type LHPolicyRule struct {
    Name       string
    Conditions []LHVariableCondition
    Priority   int
    Type       int // AND =0 OR = 1
}

conditions are ANDed together there is no chaining

func NewLHPolicyRule Uses

func NewLHPolicyRule(name string) LHPolicyRule

func (*LHPolicyRule) AddCategoryConditionOn Uses

func (lhpr *LHPolicyRule) AddCategoryConditionOn(variable, category string) error

func (*LHPolicyRule) AddNumericConditionOn Uses

func (lhpr *LHPolicyRule) AddNumericConditionOn(variable string, low, up float64) error

func (LHPolicyRule) HasCondition Uses

func (lhpr LHPolicyRule) HasCondition(cond LHVariableCondition) bool

func (LHPolicyRule) IsEqualTo Uses

func (lhpr LHPolicyRule) IsEqualTo(other LHPolicyRule) bool

this just looks for the same conditions, doesn't matter if the rules lead to different outcomes... not sure if this quite gives us the right behaviour but let's plough on for now

type LHPolicyRuleSet Uses

type LHPolicyRuleSet struct {
    Policies map[string]LHPolicy
    Rules    map[string]LHPolicyRule
    Options  map[string]interface{}
}

func AddUniversalRules Uses

func AddUniversalRules(originalRuleSet *LHPolicyRuleSet, policies map[string]LHPolicy) (lhpr *LHPolicyRuleSet, err error)

func CloneLHPolicyRuleSet Uses

func CloneLHPolicyRuleSet(parent *LHPolicyRuleSet) *LHPolicyRuleSet

func GetLHPolicyForTest Uses

func GetLHPolicyForTest() (*LHPolicyRuleSet, error)

GetLHPolicyForTest gets a set of Test LHPolicies for unit tests. This is not guaranteed to be consistent with the default system policies returned from GetSystemLHPolicies().

func GetSystemLHPolicies Uses

func GetSystemLHPolicies() (*LHPolicyRuleSet, error)

GetSystemLHPolicies is used to set the default System Policies.

func NewLHPolicyRuleSet Uses

func NewLHPolicyRuleSet() *LHPolicyRuleSet

func (*LHPolicyRuleSet) AddRule Uses

func (lhpr *LHPolicyRuleSet) AddRule(rule LHPolicyRule, consequent LHPolicy)

func (LHPolicyRuleSet) GetEquivalentRuleTo Uses

func (lhpr LHPolicyRuleSet) GetEquivalentRuleTo(rule LHPolicyRule) string

func (*LHPolicyRuleSet) IsEqualTo Uses

func (lhpr *LHPolicyRuleSet) IsEqualTo(lhp2 *LHPolicyRuleSet) bool

func (*LHPolicyRuleSet) MergeWith Uses

func (lhpr *LHPolicyRuleSet) MergeWith(policyToMerge *LHPolicyRuleSet)

MergeWith merges the policyToMerge with the current LHPolicyRuleSet. if equivalent rules are found in the policyToMerge these are given priority over the existing rules.

func (*LHPolicyRuleSet) SetOption Uses

func (lhpr *LHPolicyRuleSet) SetOption(optname string, value interface{}) error

type LHPosition Uses

type LHPosition struct {
    ID    string
    Name  string
    Num   int
    Extra []LHDevice
    Maxh  float64
}

describes a position on the liquid handling deck and its current state

func NewLHPosition Uses

func NewLHPosition(position_number int, name string, maxh float64) *LHPosition

func (*LHPosition) Container Uses

func (lhp *LHPosition) Container() Location

func (*LHPosition) Location_ID Uses

func (lhp *LHPosition) Location_ID() string

func (*LHPosition) Location_Name Uses

func (lhp *LHPosition) Location_Name() string

func (*LHPosition) Positions Uses

func (lhp *LHPosition) Positions() []Location

func (*LHPosition) Shape Uses

func (lhp *LHPosition) Shape() *Shape

type LHSolution Uses

type LHSolution struct {
    ID               string
    BlockID          BlockID
    Inst             string
    SName            string
    Order            int
    Components       []*Liquid
    ContainerType    string
    Welladdress      string
    Plateaddress     string
    PlateID          string
    Platetype        string
    Vol              float64 // in S.I units only for now
    Type             string
    Conc             float64
    Tvol             float64
    Majorlayoutgroup int
    Minorlayoutgroup int
}

structure describing a solution: a combination of liquid components deprecated and no longer used... may well need to be deleted

func NewLHSolution Uses

func NewLHSolution() *LHSolution

func New_Solution Uses

func New_Solution() *LHSolution

func (*LHSolution) GetAssignment Uses

func (lhs *LHSolution) GetAssignment() string

func (LHSolution) GetComponentVolume Uses

func (sol LHSolution) GetComponentVolume(key string) float64

func (LHSolution) String Uses

func (sol LHSolution) String() string

type LHTip Uses

type LHTip struct {
    ID              string
    Type            string
    Mnfr            string
    Dirty           bool
    MaxVol          wunit.Volume
    MinVol          wunit.Volume
    Shape           *Shape
    Bounds          BBox
    EffectiveHeight float64

    Filtered bool
    // contains filtered or unexported fields
}

TODO remove BBox once shape implements LHObject

func CopyTip Uses

func CopyTip(tt LHTip) *LHTip

func NewLHTip Uses

func NewLHTip(mfr, ttype string, minvol, maxvol float64, volunit string, filtered bool, shape *Shape, effectiveHeightMM float64) *LHTip

func (*LHTip) AddComponent Uses

func (self *LHTip) AddComponent(v *Liquid) error

@implement LHContainer

func (*LHTip) ClearParent Uses

func (self *LHTip) ClearParent()

@implement LHObject

func (*LHTip) Contents Uses

func (self *LHTip) Contents() *Liquid

@implement LHContainer

func (*LHTip) CurrentVolume Uses

func (self *LHTip) CurrentVolume() wunit.Volume

@implement LHContainer

func (*LHTip) CurrentWorkingVolume Uses

func (self *LHTip) CurrentWorkingVolume() wunit.Volume

@implement LHContainer

func (*LHTip) DimensionsString Uses

func (self *LHTip) DimensionsString() string

DimensionsString returns a string description of the position and size of the object and its children.

func (*LHTip) Dup Uses

func (tip *LHTip) Dup() *LHTip

Dup copy the tip generating a new ID

func (*LHTip) DupKeepID Uses

func (tip *LHTip) DupKeepID() *LHTip

Dup copy the tip keeping the previous ID

func (*LHTip) Duplicate Uses

func (self *LHTip) Duplicate(keepIDs bool) LHObject

Duplicate copies an LHObject

func (*LHTip) GetBoxIntersections Uses

func (self *LHTip) GetBoxIntersections(box BBox) []LHObject

@implement LHObject

func (*LHTip) GetClass Uses

func (self *LHTip) GetClass() string

@implement Classy

func (*LHTip) GetEffectiveHeight Uses

func (self *LHTip) GetEffectiveHeight() float64

GetEffectiveHeight get the height of the tip when actually loaded onto a channel

func (*LHTip) GetID Uses

func (self *LHTip) GetID() string

func (*LHTip) GetName Uses

func (self *LHTip) GetName() string

@implement Named

func (*LHTip) GetParams Uses

func (tip *LHTip) GetParams() *LHChannelParameter

func (*LHTip) GetParent Uses

func (self *LHTip) GetParent() LHObject

@implement LHObject

func (*LHTip) GetPointIntersections Uses

func (self *LHTip) GetPointIntersections(point Coordinates) []LHObject

@implement LHObject

func (*LHTip) GetPosition Uses

func (self *LHTip) GetPosition() Coordinates

@implement LHObject

func (*LHTip) GetSize Uses

func (self *LHTip) GetSize() Coordinates

@implement LHObject

func (*LHTip) GetType Uses

func (self *LHTip) GetType() string

@implement Typed

func (*LHTip) IsNil Uses

func (tip *LHTip) IsNil() bool

func (*LHTip) MarshalJSON Uses

func (self *LHTip) MarshalJSON() ([]byte, error)

func (*LHTip) RemoveVolume Uses

func (self *LHTip) RemoveVolume(v wunit.Volume) (*Liquid, error)

@implement LHContainer

func (*LHTip) ResidualVolume Uses

func (self *LHTip) ResidualVolume() wunit.Volume

@implement LHContainer

func (*LHTip) SetContents Uses

func (self *LHTip) SetContents(v *Liquid) error

SetContents set the contents of the tip, returns an error if the tip is overfilled

func (*LHTip) SetOffset Uses

func (self *LHTip) SetOffset(point Coordinates) error

@implement LHObject

func (*LHTip) SetParent Uses

func (self *LHTip) SetParent(o LHObject) error

@implement LHObject

func (*LHTip) UnmarshalJSON Uses

func (self *LHTip) UnmarshalJSON(data []byte) error

type LHTipbox Uses

type LHTipbox struct {
    ID         string
    Boxname    string
    Type       string
    Mnfr       string
    Nrows      int
    Ncols      int
    Height     float64
    Tiptype    *LHTip
    AsWell     *LHWell
    NTips      int
    Tips       [][]*LHTip
    TipXOffset float64
    TipYOffset float64
    TipXStart  float64
    TipYStart  float64
    TipZStart  float64

    Bounds BBox
    // contains filtered or unexported fields
}

func NewLHTipbox Uses

func NewLHTipbox(nrows, ncols int, size Coordinates, manufacturer, boxtype string, tiptype *LHTip, well *LHWell, tipxoffset, tipyoffset, tipxstart, tipystart, tipzstart float64) *LHTipbox

func (*LHTipbox) AddressExists Uses

func (tb *LHTipbox) AddressExists(c WellCoords) bool

func (*LHTipbox) ClearParent Uses

func (self *LHTipbox) ClearParent()

@implement LHObject

func (*LHTipbox) CoordsToWellCoords Uses

func (tb *LHTipbox) CoordsToWellCoords(r Coordinates) (WellCoords, Coordinates)

func (*LHTipbox) DimensionsString Uses

func (self *LHTipbox) DimensionsString() string

DimensionsString returns a string description of the position and size of the object and its children. useful for debugging

func (*LHTipbox) Dup Uses

func (tb *LHTipbox) Dup() *LHTipbox

func (*LHTipbox) DupKeepIDs Uses

func (tb *LHTipbox) DupKeepIDs() *LHTipbox

func (*LHTipbox) Duplicate Uses

func (self *LHTipbox) Duplicate(keepIDs bool) LHObject

Duplicate copies an LHObject

func (*LHTipbox) GetBoxIntersections Uses

func (self *LHTipbox) GetBoxIntersections(box BBox) []LHObject

func (*LHTipbox) GetChildByAddress Uses

func (tb *LHTipbox) GetChildByAddress(c WellCoords) LHObject

func (*LHTipbox) GetClass Uses

func (self *LHTipbox) GetClass() string

func (LHTipbox) GetID Uses

func (tb LHTipbox) GetID() string

func (*LHTipbox) GetName Uses

func (tb *LHTipbox) GetName() string

func (*LHTipbox) GetParent Uses

func (self *LHTipbox) GetParent() LHObject

func (*LHTipbox) GetPointIntersections Uses

func (self *LHTipbox) GetPointIntersections(point Coordinates) []LHObject

func (*LHTipbox) GetPosition Uses

func (self *LHTipbox) GetPosition() Coordinates

func (*LHTipbox) GetSize Uses

func (self *LHTipbox) GetSize() Coordinates

func (*LHTipbox) GetTipBounds Uses

func (self *LHTipbox) GetTipBounds() BBox

func (*LHTipbox) GetTips Uses

func (tb *LHTipbox) GetTips(mirror bool, multi int, orient ChannelOrientation) []string

deprecated shortly

func (*LHTipbox) GetTipsMasked Uses

func (tb *LHTipbox) GetTipsMasked(mask []bool, ori ChannelOrientation, canTrim bool) ([]string, error)

find tips that fit the pattern and return in the same format

func (*LHTipbox) GetType Uses

func (tb *LHTipbox) GetType() string

func (*LHTipbox) HasEnoughTips Uses

func (tb *LHTipbox) HasEnoughTips(requested int) bool

HasEnoughTips returns true if the tipbox has at least requested tips equivalent to tb.N_clean_tips() > requested

func (*LHTipbox) HasTipAt Uses

func (tb *LHTipbox) HasTipAt(c WellCoords) bool

HasTipAt

func (*LHTipbox) MarshalJSON Uses

func (tb *LHTipbox) MarshalJSON() ([]byte, error)

func (*LHTipbox) NCols Uses

func (self *LHTipbox) NCols() int

func (*LHTipbox) NRows Uses

func (self *LHTipbox) NRows() int

func (*LHTipbox) N_clean_tips Uses

func (tb *LHTipbox) N_clean_tips() int

func (LHTipbox) Output Uses

func (tb LHTipbox) Output() string

func (*LHTipbox) PutTip Uses

func (tb *LHTipbox) PutTip(c WellCoords, tip *LHTip) bool

PutTip

func (*LHTipbox) Refill Uses

func (tb *LHTipbox) Refill()

func (*LHTipbox) Refresh Uses

func (tb *LHTipbox) Refresh()

func (*LHTipbox) Remove Uses

func (tb *LHTipbox) Remove(sa []string) bool

func (*LHTipbox) RemoveTip Uses

func (tb *LHTipbox) RemoveTip(c WellCoords) *LHTip

RemoveTip

func (*LHTipbox) SetOffset Uses

func (self *LHTipbox) SetOffset(o Coordinates) error

func (*LHTipbox) SetParent Uses

func (self *LHTipbox) SetParent(p LHObject) error

func (LHTipbox) String Uses

func (tb LHTipbox) String() string

func (*LHTipbox) UnmarshalJSON Uses

func (tb *LHTipbox) UnmarshalJSON(data []byte) error

func (*LHTipbox) WellCoordsToCoords Uses

func (tb *LHTipbox) WellCoordsToCoords(wc WellCoords, r WellReference) (Coordinates, bool)

type LHTipwaste Uses

type LHTipwaste struct {
    Name       string
    ID         string
    Type       string
    Mnfr       string
    Capacity   int
    Contents   int
    Height     float64
    WellXStart float64
    WellYStart float64
    WellZStart float64
    AsWell     *LHWell
    Bounds     BBox
    // contains filtered or unexported fields
}

func NewLHTipwaste Uses

func NewLHTipwaste(capacity int, typ, mfr string, size Coordinates, w *LHWell, wellxstart, wellystart, wellzstart float64) *LHTipwaste

func (*LHTipwaste) AddressExists Uses

func (self *LHTipwaste) AddressExists(c WellCoords) bool

func (*LHTipwaste) ClearParent Uses

func (self *LHTipwaste) ClearParent()

@implement LHObject

func (*LHTipwaste) CoordsToWellCoords Uses

func (self *LHTipwaste) CoordsToWellCoords(r Coordinates) (WellCoords, Coordinates)

func (*LHTipwaste) DimensionsString Uses

func (self *LHTipwaste) DimensionsString() string

DimensionsString returns a string description of the position and size of the object and its children.

func (*LHTipwaste) Dispose Uses

func (lht *LHTipwaste) Dispose(channels []*LHChannelParameter) ([]WellCoords, bool)

func (*LHTipwaste) DisposeNum Uses

func (lht *LHTipwaste) DisposeNum(num int) bool

func (*LHTipwaste) Dup Uses

func (tw *LHTipwaste) Dup() *LHTipwaste

func (*LHTipwaste) DupKeepIDs Uses

func (tw *LHTipwaste) DupKeepIDs() *LHTipwaste

func (*LHTipwaste) Duplicate Uses

func (self *LHTipwaste) Duplicate(keepIDs bool) LHObject

Duplicate copies an LHObject

func (*LHTipwaste) Empty Uses

func (lht *LHTipwaste) Empty()

func (*LHTipwaste) GetBoxIntersections Uses

func (self *LHTipwaste) GetBoxIntersections(box BBox) []LHObject

func (*LHTipwaste) GetChildByAddress Uses

func (self *LHTipwaste) GetChildByAddress(c WellCoords) LHObject

func (*LHTipwaste) GetClass Uses

func (self *LHTipwaste) GetClass() string

func (*LHTipwaste) GetID Uses

func (tw *LHTipwaste) GetID() string

func (*LHTipwaste) GetName Uses

func (tw *LHTipwaste) GetName() string

func (*LHTipwaste) GetParent Uses

func (self *LHTipwaste) GetParent() LHObject

func (*LHTipwaste) GetPointIntersections Uses

func (self *LHTipwaste) GetPointIntersections(point Coordinates) []LHObject

func (*LHTipwaste) GetPosition Uses

func (self *LHTipwaste) GetPosition() Coordinates

func (*LHTipwaste) GetSize Uses

func (self *LHTipwaste) GetSize() Coordinates

func (*LHTipwaste) GetTargetOffset Uses

func (self *LHTipwaste) GetTargetOffset(adaptorName string, channel int) Coordinates

GetTargetOffset get the offset for addressing a well with the named adaptor and channel

func (*LHTipwaste) GetTargets Uses

func (self *LHTipwaste) GetTargets(adaptorName string) []Coordinates

GetTargets return all the defined targets for the named adaptor

func (*LHTipwaste) GetType Uses

func (tw *LHTipwaste) GetType() string

func (*LHTipwaste) MarshalJSON Uses

func (tw *LHTipwaste) MarshalJSON() ([]byte, error)

func (*LHTipwaste) NCols Uses

func (self *LHTipwaste) NCols() int

func (*LHTipwaste) NRows Uses

func (self *LHTipwaste) NRows() int

func (*LHTipwaste) SetOffset Uses

func (self *LHTipwaste) SetOffset(o Coordinates) error

func (*LHTipwaste) SetParent Uses

func (self *LHTipwaste) SetParent(p LHObject) error

func (LHTipwaste) SpaceLeft Uses

func (tw LHTipwaste) SpaceLeft() int

func (LHTipwaste) String Uses

func (te LHTipwaste) String() string

func (*LHTipwaste) UnmarshalJSON Uses

func (tw *LHTipwaste) UnmarshalJSON(data []byte) error

func (*LHTipwaste) WellCoordsToCoords Uses

func (self *LHTipwaste) WellCoordsToCoords(wc WellCoords, r WellReference) (Coordinates, bool)

type LHVariableCondition Uses

type LHVariableCondition struct {
    TestVariable string
    Condition    LHCondition
}

func NewLHVariableCondition Uses

func NewLHVariableCondition(testvariable string) LHVariableCondition

func (LHVariableCondition) IsEqualTo Uses

func (lhvc LHVariableCondition) IsEqualTo(other LHVariableCondition) bool

func (*LHVariableCondition) SetCategoric Uses

func (lhvc *LHVariableCondition) SetCategoric(category string) error

func (*LHVariableCondition) SetNumeric Uses

func (lhvc *LHVariableCondition) SetNumeric(low, up float64) error

func (*LHVariableCondition) UnmarshalJSON Uses

func (lh *LHVariableCondition) UnmarshalJSON(data []byte) error

type LHWell Uses

type LHWell struct {
    ID        string
    Inst      string
    Crds      WellCoords
    MaxVol    float64 //Maximum total capacity of the well
    WContents *Liquid
    Rvol      float64 //Residual volume which can't be removed from the well
    WShape    *Shape
    Bottom    WellBottomType
    Bounds    BBox
    Bottomh   float64
    Extra     map[string]interface{}
    Plate     LHObject `gotopb:"-" json:"-"`
}

structure representing a well on a microplate - description of a destination

func Get_Next_Well Uses

func Get_Next_Well(plate *Plate, component *Liquid, curwell *LHWell) (*LHWell, bool)

this function is somewhat buggy... need to define its responsibilities better

func NewLHWell Uses

func NewLHWell(vunit string, vol, rvol float64, shape *Shape, bott WellBottomType, xdim, ydim, zdim, bottomh float64, dunit string) *LHWell

make a new well structure

func (*LHWell) AddComponent Uses

func (w *LHWell) AddComponent(c *Liquid) error

AddComponent add some liquid to the well

func (*LHWell) AddDimensions Uses

func (w *LHWell) AddDimensions(lhwt *LHWellType)

func (*LHWell) AreaForVolume Uses

func (lhw *LHWell) AreaForVolume() wunit.Area

func (*LHWell) CDup Uses

func (lhw *LHWell) CDup() *LHWell

copy of type

func (*LHWell) CalculateMaxCrossSectionArea Uses

func (lhw *LHWell) CalculateMaxCrossSectionArea() (ca wunit.Area, err error)

func (*LHWell) CalculateMaxVolume Uses

func (lhw *LHWell) CalculateMaxVolume() (vol wunit.Volume, err error)

func (LHWell) CheckExtraKey Uses

func (w LHWell) CheckExtraKey(s string) error

CheckExtraKey checks if the key is a reserved name

func (*LHWell) Clean Uses

func (w *LHWell) Clean()

Clean resets the volume in the well so that it's empty

func (*LHWell) Clear Uses

func (w *LHWell) Clear()

func (*LHWell) ClearParent Uses

func (self *LHWell) ClearParent()

@implement LHObject

func (*LHWell) ClearUserAllocated Uses

func (w *LHWell) ClearUserAllocated()

func (*LHWell) ContainerType Uses

func (w *LHWell) ContainerType() string

func (*LHWell) Contains Uses

func (w *LHWell) Contains(cmp *Liquid) bool

func (*LHWell) Contents Uses

func (w *LHWell) Contents() *Liquid

func (*LHWell) CurrentVolume Uses

func (w *LHWell) CurrentVolume() wunit.Volume

CurrentVolume return the volume of the component currently in the well

func (*LHWell) CurrentWorkingVolume Uses

func (w *LHWell) CurrentWorkingVolume() wunit.Volume

CurrentWorkingVolume return the available working volume in the well - i.e. current volume minus residual volume

func (*LHWell) DeclareAutoallocated Uses

func (well *LHWell) DeclareAutoallocated()

func (*LHWell) DeclareNotAutoallocated Uses

func (well *LHWell) DeclareNotAutoallocated()

func (*LHWell) DeclareNotTemporary Uses

func (well *LHWell) DeclareNotTemporary()

func (*LHWell) DeclareTemporary Uses

func (well *LHWell) DeclareTemporary()

func (*LHWell) DimensionsString Uses

func (self *LHWell) DimensionsString() string

DimensionsString returns a string description of the position and size of the object and its children.

func (*LHWell) Dup Uses

func (lhw *LHWell) Dup() *LHWell

copy of instance

func (*LHWell) DupKeepIDs Uses

func (lhw *LHWell) DupKeepIDs() *LHWell

func (*LHWell) Duplicate Uses

func (self *LHWell) Duplicate(keepIDs bool) LHObject

Duplicate copies an LHObject

func (*LHWell) Evaporate Uses

func (well *LHWell) Evaporate(time time.Duration, env Environment) VolumeCorrection

func (*LHWell) GetAfVFunc Uses

func (lhw *LHWell) GetAfVFunc() wutil.Func1Prm

func (*LHWell) GetBoxIntersections Uses

func (self *LHWell) GetBoxIntersections(box BBox) []LHObject

@implement LHObject

func (*LHWell) GetClass Uses

func (self *LHWell) GetClass() string

@implement Classy

func (*LHWell) GetID Uses

func (self *LHWell) GetID() string

func (*LHWell) GetLiquidLevel Uses

func (lhw *LHWell) GetLiquidLevel(volume wunit.Volume) float64

GetLiquidLevel estimate the height of the liquid in mm from the bottom of the well based on the volume in the well. Returns zero if no liquidlevel model is set

func (*LHWell) GetLiquidLevelModel Uses

func (lhw *LHWell) GetLiquidLevelModel() wutil.Func1Prm

GetLiquidLevelModel unmarshals and returns the volume model

func (*LHWell) GetName Uses

func (self *LHWell) GetName() string

@implement Named

func (*LHWell) GetParent Uses

func (self *LHWell) GetParent() LHObject

@implement LHObject

func (*LHWell) GetPointIntersections Uses

func (self *LHWell) GetPointIntersections(point Coordinates) []LHObject

@implement LHObject

func (*LHWell) GetPosition Uses

func (self *LHWell) GetPosition() Coordinates

@implement LHObject

func (*LHWell) GetSize Uses

func (self *LHWell) GetSize() Coordinates

@implement LHObject

func (*LHWell) GetType Uses

func (self *LHWell) GetType() string

@implement Typed

func (*LHWell) GetVolumeUnit Uses

func (self *LHWell) GetVolumeUnit() string

func (*LHWell) GetWellCoords Uses

func (self *LHWell) GetWellCoords() WellCoords

func (*LHWell) GetWellTargets Uses

func (w *LHWell) GetWellTargets(adaptor string) []Coordinates

GetWellTargets return the well targets for the given adaptor if the adaptor has no defined targets, simply returns the well center

func (*LHWell) HasLiquidLevelModel Uses

func (lhw *LHWell) HasLiquidLevelModel() bool

HasLiquidLevelModel returns whether the well has a model for use with liquid level following

func (*LHWell) HeightForVolume Uses

func (lhw *LHWell) HeightForVolume() wunit.Length

func (*LHWell) IsAutoallocated Uses

func (well *LHWell) IsAutoallocated() bool

func (*LHWell) IsEmpty Uses

func (w *LHWell) IsEmpty() bool

IsEmpty returns true if the well contains nothing, though this does not mean that the working volume is greater than zero

func (*LHWell) IsTemporary Uses

func (well *LHWell) IsTemporary() bool

func (*LHWell) IsUserAllocated Uses

func (w *LHWell) IsUserAllocated() bool

func (*LHWell) IsVolumeValid Uses

func (w *LHWell) IsVolumeValid() bool

IsVolumeValid tests whether the volume in the well is within the allowable range

func (*LHWell) ListAdaptorsWithTargets Uses

func (w *LHWell) ListAdaptorsWithTargets() []string

GetAdaptorsWithTargets gets the list of the names of adaptors which have targets defined for the well

func (*LHWell) Location_ID Uses

func (lhw *LHWell) Location_ID() string

func (*LHWell) Location_Name Uses

func (lhw *LHWell) Location_Name() string

func (*LHWell) MaxVolume Uses

func (w *LHWell) MaxVolume() wunit.Volume

MaxVolume get the maximum working volume of the well

func (*LHWell) MaxWorkingVolume Uses

func (w *LHWell) MaxWorkingVolume() wunit.Volume

MaxWorkingVolume get the total maximum working volume in the well, i.e. the max volume minus residual volume

func (*LHWell) PlateLocation Uses

func (w *LHWell) PlateLocation() PlateLocation

func (*LHWell) Protect Uses

func (w *LHWell) Protect()

func (*LHWell) Protected Uses

func (w *LHWell) Protected() bool

func (*LHWell) RemoveCarry Uses

func (w *LHWell) RemoveCarry(v wunit.Volume)

RemoveCarry Remove the carry volume

func (*LHWell) RemoveVolume Uses

func (w *LHWell) RemoveVolume(v wunit.Volume) (*Liquid, error)

RemoveVolume remove some liquid from the well

func (*LHWell) ResetPlateID Uses

func (w *LHWell) ResetPlateID(newID string)

func (*LHWell) ResidualVolume Uses

func (w *LHWell) ResidualVolume() wunit.Volume

func (*LHWell) SetAfVFunc Uses

func (lhw *LHWell) SetAfVFunc(f string)

func (*LHWell) SetContents Uses

func (w *LHWell) SetContents(newContents *Liquid) error

func (*LHWell) SetLiquidLevelModel Uses

func (lhw *LHWell) SetLiquidLevelModel(m wutil.Func1Prm)

SetLiquidLevelModel sets the function which models the volume of liquid (uL) in the well given it's height (mm)

func (*LHWell) SetOffset Uses

func (self *LHWell) SetOffset(point Coordinates) error

@implement LHObject

func (*LHWell) SetParent Uses

func (self *LHWell) SetParent(p LHObject) error

@implement LHObject

func (*LHWell) SetUserAllocated Uses

func (w *LHWell) SetUserAllocated()

func (*LHWell) SetWellTargets Uses

func (w *LHWell) SetWellTargets(adaptor string, offsets []Coordinates)

SetWellTargets sets the targets for each channel when accessing the well using adaptor. offsets is a list of coordinates which specify the offset in mm from the well center for each channel. len(offsets) specifies the maximum number of channels which can access the well simultaneously using adaptor

func (*LHWell) Shape Uses

func (lhw *LHWell) Shape() *Shape

func (LHWell) String Uses

func (w LHWell) String() string

func (*LHWell) UnProtect Uses

func (w *LHWell) UnProtect()

func (*LHWell) UpdateContentID Uses

func (w *LHWell) UpdateContentID(IDBefore string, after *Liquid) bool

func (*LHWell) ValidateVolume Uses

func (w *LHWell) ValidateVolume() error

ValidateVolume validates that the volume in the well is within allowable range

func (*LHWell) XDim Uses

func (w *LHWell) XDim() float64

func (*LHWell) YDim Uses

func (w *LHWell) YDim() float64

func (*LHWell) ZDim Uses

func (w *LHWell) ZDim() float64

type LHWellType Uses

type LHWellType struct {
    Vol       float64
    Vunit     string
    Rvol      float64
    ShapeName string
    Bottom    WellBottomType
    Xdim      float64
    Ydim      float64
    Zdim      float64
    Bottomh   float64
    Dunit     string
}

type Liquid Uses

type Liquid struct {
    ID                 string
    BlockID            BlockID
    DaughterID         string
    ParentID           string
    Inst               string
    Order              int
    CName              string
    Type               LiquidType
    Vol                float64
    Conc               float64
    Vunit              string
    Cunit              string
    Tvol               float64
    Smax               float64 // maximum solubility
    Visc               float64
    StockConcentration float64
    SubComponents      ComponentList // List of all sub components in the LHComponent.
    Extra              map[string]interface{}
    Loc                string // refactor to PlateLocation
    Destination        string
    Policy             LHPolicy // Policy is where a custom liquid policy is stored
}

Liquid is the principle liquid handling type in Antha. A liquid describes a liquid component and its desired properties

func CopyComponentArray Uses

func CopyComponentArray(arin []*Liquid) []*Liquid

func NewLHComponent Uses

func NewLHComponent() *Liquid

func (*Liquid) AddDNASequence Uses

func (lhc *Liquid) AddDNASequence(seq DNASequence, options ...bool) error

AddDNASequence adds DNASequence to the LHComponent. If a Sequence already exists an error is returned and the sequence is not added unless an additional boolean argument (FORCEADD or true) is specified to ignore duplicates. A warning will be returned in either case if a duplicate sequence is already found.

func (*Liquid) AddDaughterComponent Uses

func (cmp *Liquid) AddDaughterComponent(cmp2 *Liquid)

func (*Liquid) AddParentComponent Uses

func (cmp *Liquid) AddParentComponent(cmp2 *Liquid)

func (*Liquid) AddPolicy Uses

func (lhc *Liquid) AddPolicy(pol LHPolicy) error

func (*Liquid) AddSubComponent Uses

func (cmp *Liquid) AddSubComponent(subcomponent *Liquid, conc wunit.Concentration) error

AddSubComponent adds a subcomponent with concentration to a component. An error is returned if subcomponent is already found.

func (*Liquid) AddSubComponents Uses

func (cmp *Liquid) AddSubComponents(allsubComponents ComponentList) error

AddSubComponents adds a component list to a component. If a conflicting sub component concentration is already present then an error will be returned. To overwrite all subcomponents ignoring conficts, use OverWriteSubComponents.

func (*Liquid) AddVolumeRule Uses

func (lhc *Liquid) AddVolumeRule(minvol, maxvol float64, pol LHPolicy) error

func (*Liquid) CNID Uses

func (lhc *Liquid) CNID() string

func (*Liquid) Clean Uses

func (cmp *Liquid) Clean()

Clean the component to its initial state

func (*Liquid) Concentration Uses

func (lhc *Liquid) Concentration() (conc wunit.Concentration)

Concentration returns the Concentration of the LHComponent

func (*Liquid) Cp Uses

func (lhc *Liquid) Cp() *Liquid

func (*Liquid) DNASequences Uses

func (lhc *Liquid) DNASequences() ([]DNASequence, error)

DNASequences returns DNA Sequences asociated with an LHComponent. An error is also returned indicating whether a sequence was found.

func (*Liquid) DeclareInstance Uses

func (lhc *Liquid) DeclareInstance()

func (*Liquid) DeclareNotInstance Uses

func (lhc *Liquid) DeclareNotInstance()

func (*Liquid) Dup Uses

func (lhc *Liquid) Dup() *Liquid

func (*Liquid) EqualTypeVolume Uses

func (l1 *Liquid) EqualTypeVolume(l2 *Liquid) bool

func (*Liquid) EqualTypeVolumeID Uses

func (l1 *Liquid) EqualTypeVolumeID(l2 *Liquid) bool

func (*Liquid) FindDNASequence Uses

func (lhc *Liquid) FindDNASequence(seq DNASequence) (seqs []DNASequence, positions []int, err error)

FindDNASequence searches for the presence of a DNASequence in the LHComponent. Search is based upon both name of the sequence and sequence. If multiple copies of the sequence exists and error is returned. If a Sequence does not exist, the sequence is added and an error is returned.

func (Liquid) FullyQualifiedName Uses

func (cmp Liquid) FullyQualifiedName() string

func (*Liquid) Generation Uses

func (lhc *Liquid) Generation() int

func (*Liquid) GetClass Uses

func (lhc *Liquid) GetClass() string

GetClass return the class of the object

func (*Liquid) GetConc Uses

func (lhc *Liquid) GetConc() float64

func (*Liquid) GetConcentrationOf Uses

func (c *Liquid) GetConcentrationOf(subComponentName string) (wunit.Concentration, error)

GetConcentrationOf attempts to retrieve the concentration of subComponentName in component. If the component name is equal to subComponentName, the concentration of the component itself is returned.

func (*Liquid) GetCunit Uses

func (lhc *Liquid) GetCunit() string

func (*Liquid) GetExtra Uses

func (lhc *Liquid) GetExtra() map[string]interface{}

func (Liquid) GetID Uses

func (lhc Liquid) GetID() string

func (*Liquid) GetName Uses

func (lhc *Liquid) GetName() string

GetName the component's name

func (*Liquid) GetPolicies Uses

func (lhc *Liquid) GetPolicies() (*LHPolicyRuleSet, error)

func (*Liquid) GetSmax Uses

func (lhc *Liquid) GetSmax() float64

func (*Liquid) GetSubComponents Uses

func (cmp *Liquid) GetSubComponents() (ComponentList, error)

GetSubComponents returns a component list from a component

func (*Liquid) GetType Uses

func (lhc *Liquid) GetType() string

func (*Liquid) GetVisc Uses

func (lhc *Liquid) GetVisc() float64

func (*Liquid) GetVunit Uses

func (lhc *Liquid) GetVunit() string

func (*Liquid) HasAnyParent Uses

func (cmp *Liquid) HasAnyParent() bool

func (*Liquid) HasConcentration Uses

func (lhc *Liquid) HasConcentration() bool

HasConcentration checks whether a Concentration is set for the LHComponent

func (*Liquid) HasDaughter Uses

func (lhc *Liquid) HasDaughter(s string) bool

func (*Liquid) HasParent Uses

func (lhc *Liquid) HasParent(s string) bool

func (*Liquid) HasSubComponent Uses

func (c *Liquid) HasSubComponent(subComponentName string) bool

HasSubComponent evaluates if a sub component with subComponentName is found in component. If the component name is equal to subComponentName, true will be returned.

func (Liquid) IDOrName Uses

func (cmp Liquid) IDOrName() string

func (*Liquid) IsInstance Uses

func (lhc *Liquid) IsInstance() bool

func (*Liquid) IsSameKindAs Uses

func (lhc *Liquid) IsSameKindAs(c2 *Liquid) bool

func (*Liquid) IsSample Uses

func (cmp *Liquid) IsSample() bool

func (*Liquid) IsValuable Uses

func (lhc *Liquid) IsValuable() bool

func (*Liquid) IsZero Uses

func (lhc *Liquid) IsZero() bool

func (*Liquid) Kind Uses

func (lhc *Liquid) Kind() string

func (*Liquid) Matches Uses

func (cmp *Liquid) Matches(cmp2 *Liquid) bool

func (*Liquid) Mix Uses

func (cmp *Liquid) Mix(cmp2 *Liquid)

add cmp2 to cmp

func (*Liquid) MixPreserveTvol Uses

func (cmp *Liquid) MixPreserveTvol(cmp2 *Liquid)

func (*Liquid) ModifyLHPolicyParameter Uses

func (lhc *Liquid) ModifyLHPolicyParameter(parameter string, value interface{}) error

ModifyLHPolicyParameter specifies that this LHComponent or instance of the LHComponent should be handled with a modified LHPolicy parameter. e.g. to Change number of post mixes to 5: lhc.ModifyLHPolicyParameter("POST_MIX", 5) Valid parameters and value types are specified in aparam.go An error is returned if an invalid parameter or value type for that parameter is specified.

func (*Liquid) Name Uses

func (lhc *Liquid) Name() string

Name returns the component name as a string

func (*Liquid) OverwriteSubComponents Uses

func (cmp *Liquid) OverwriteSubComponents(allsubComponents ComponentList) error

OverwriteSubComponents Adds a component list to a component. Any existing component list will be overwritten. To add a ComponentList checking for duplicate entries, use AddSubComponents.

func (*Liquid) ParentTree Uses

func (cmp *Liquid) ParentTree() graph.StringGraph

func (*Liquid) ParentTreeString Uses

func (cmp *Liquid) ParentTreeString() string

graphviz format

func (*Liquid) PlateID Uses

func (lhc *Liquid) PlateID() string

PlateID returns the id of a plate or the empty string

func (*Liquid) PlateLocation Uses

func (lhc *Liquid) PlateLocation() PlateLocation

func (*Liquid) PolicyName Uses

func (lhc *Liquid) PolicyName() PolicyName

PolicyName returns the PolicyName of the LHComponent's LiquidType

func (*Liquid) Remove Uses

func (lhc *Liquid) Remove(v wunit.Volume) wunit.Volume

func (*Liquid) RemoveDNASequence Uses

func (lhc *Liquid) RemoveDNASequence(seq DNASequence) error

RemoveDNASequence removes an existing DNASequence from the LHComponent. Search is based upon both name of the sequence and sequence. If multiple copies of the sequence exists and error is returned. If a Sequence does not exist, the sequence is added and an error is returned.

func (*Liquid) RemoveDNASequenceAtPosition Uses

func (lhc *Liquid) RemoveDNASequenceAtPosition(position int) error

RemoveDNASequenceAtPosition removes a DNA sequence from a specific position. Designed for cases where FindDNASequnce() method returns multiple instances of the dna sequence.

func (*Liquid) RemoveDNASequences Uses

func (lhc *Liquid) RemoveDNASequences() error

RemoveDNASequences removes all DNASequences from the component.

func (*Liquid) ReplaceDaughterID Uses

func (cmp *Liquid) ReplaceDaughterID(ID1, ID2 string)

func (*Liquid) Sample Uses

func (lhc *Liquid) Sample(v wunit.Volume) (*Liquid, error)

func (*Liquid) SetConcentration Uses

func (lhc *Liquid) SetConcentration(conc wunit.Concentration)

SetConcentration sets a concentration to an LHComponent; assumes conc is valid; overwrites existing concentration

func (*Liquid) SetDNASequences Uses

func (lhc *Liquid) SetDNASequences(seqs []DNASequence, options ...bool) error

SetDNASequences adds a set of DNASequences to the LHComponent. If a Sequence already exists an error is returned and the sequence is not added unless an additional boolean argument (FORCEADD or true) is specified to ignore duplicates. A warning will be returned in either case if a duplicate sequence is already found.

func (*Liquid) SetGeneration Uses

func (lhc *Liquid) SetGeneration(i int)

func (*Liquid) SetName Uses

func (lhc *Liquid) SetName(name string)

SetName adds the specified component name to the component.

func (*Liquid) SetPolicies Uses

func (lhc *Liquid) SetPolicies(rs *LHPolicyRuleSet) error

in future this will be deprecated... should not let user completely reset policies

func (*Liquid) SetPolicyName Uses

func (lhc *Liquid) SetPolicyName(policy PolicyName, options ...PolicyOption) error

SetPolicyName adds the LiquidType associated with a PolicyName to the LHComponent. If the PolicyName is invalid and the DoNotPermitCustomPolicies option is used as an argument then an error is returned. By default, custom policyNames may be added and the validity of these will be checked later when robot instructions are generated, rather than in the element.

func (*Liquid) SetSample Uses

func (cmp *Liquid) SetSample(flag bool) bool

func (*Liquid) SetValue Uses

func (lhc *Liquid) SetValue(b bool)

func (*Liquid) SetVolume Uses

func (lhc *Liquid) SetVolume(v wunit.Volume)

SetVolume adds a volume to the component

func (*Liquid) SetWellLocation Uses

func (lhc *Liquid) SetWellLocation(wellLocation string) error

SetWellLocation sets the well location to an LHComponent in A1 format.

func (*Liquid) String Uses

func (cmp *Liquid) String() string

func (*Liquid) Summarize Uses

func (lhc *Liquid) Summarize() string

Summarize describe the component in a user friendly manner

func (*Liquid) TotalVolume Uses

func (lhc *Liquid) TotalVolume() wunit.Volume

func (*Liquid) TypeName Uses

func (lhc *Liquid) TypeName() string

TypeName returns the PolicyName of the LHComponent's LiquidType as a string

func (*Liquid) UpdateDNASequence Uses

func (lhc *Liquid) UpdateDNASequence(seq DNASequence) error

UpdateDNASequence replaces an existing DNASequence to the LHComponent. Search is based upon both name of the sequence and sequence. If multiple copies of the sequence exists and error is returned. If a Sequence does not exist, the sequence is added and an error is returned.

func (*Liquid) Volume Uses

func (lhc *Liquid) Volume() wunit.Volume

Volume returns the Volume of the LHComponent

func (*Liquid) WellLocation Uses

func (lhc *Liquid) WellLocation() string

WellLocation returns the well location in A1 format.

type LiquidType Uses

type LiquidType string

LiquidType represents the type of a Liquid

const (
    LTNIL                   LiquidType = "nil"
    LTWater                 LiquidType = "water"
    LTDefault               LiquidType = "default"
    LTCulture               LiquidType = "culture"
    LTProtoplasts           LiquidType = "protoplasts"
    LTDNA                   LiquidType = "dna"
    LTDNAMIX                LiquidType = "dna_mix"
    LTProtein               LiquidType = "protein"
    LTMultiWater            LiquidType = "multiwater"
    LTLoad                  LiquidType = "load"
    LTVISCOUS               LiquidType = "viscous"
    LTPEG                   LiquidType = "peg"
    LTPAINT                 LiquidType = "paint"
    LTNeedToMix             LiquidType = "NeedToMix"
    LTPostMix               LiquidType = "PostMix"
    LTload                  LiquidType = "load"
    LTGlycerol              LiquidType = "glycerol"
    LTPLATEOUT              LiquidType = "plateout"
    LTDetergent             LiquidType = "detergent"
    LTCOLONY                LiquidType = "colony"
    LTNSrc                  LiquidType = "nitrogen_source"
    InvalidPolicyName       LiquidType = "InvalidPolicyName"
    LTEthanol               LiquidType = "ethanol"
    LTDoNotMix              LiquidType = "DoNotMix"
    LTloadwater             LiquidType = "loadwater"
    LTPreMix                LiquidType = "PreMix"
    LTDISPENSEABOVE         LiquidType = "DispenseAboveLiquid"
    LTDISPENSEABOVEMULTI    LiquidType = "DispenseAboveLiquidMulti"
    LTCulutureReuse         LiquidType = "culturereuse"
    LTDNAMIXMULTI           LiquidType = "dna_mix_multi"
    LTCOLONYMIX             LiquidType = "colonymix"
    LTDNACELLSMIX           LiquidType = "dna_cells_mix"
    LTDNACELLSMIXMULTI      LiquidType = "dna_cells_mix_multi"
    LTCSrc                  LiquidType = "carbon_source"
    LTMegaMix               LiquidType = "MegaMix"
    LTSolvent               LiquidType = "solvent"
    LTSmartMix              LiquidType = "SmartMix"
    LTSingleChannel         LiquidType = "SingleChannel"
    LTSmartMixSingleChannel LiquidType = "SmartMixSingleChannel"
    LTLiquidLevel           LiquidType = "LiquidLevel"
    LTSmartMixLiquidLevel   LiquidType = "SmartMixLiquidLevel"
)

Valid default LiquidTypes

func LiquidTypeFromString Uses

func LiquidTypeFromString(s PolicyName, options ...PolicyOption) (LiquidType, error)

LiquidTypeFromString returns a LiquidType from a PolicyName If the PolicyName is invalid and the DoNotPermitCustomPolicies option is used as an argument then an error is returned. By default, custom policyNames may be added and the validity of these will be checked later when robot instructions are generated, rather than in the element.

func (LiquidType) String Uses

func (l LiquidType) String() (PolicyName, error)

type Location Uses

type Location interface {
    Location_ID() string
    Location_Name() string
    Positions() []Location
    Container() Location
    Shape() *Shape
}

a Location is somewhere something can be it can recursively contain other Locations

func NewLocation Uses

func NewLocation(name string, nPositions int, shape *Shape) Location

type MajorOrder Uses

type MajorOrder int
const (
    RowWise MajorOrder = iota
    ColumnWise
)

func (MajorOrder) String Uses

func (s MajorOrder) String() string

type Match Uses

type Match struct {
    IDs  []string       // PlateIDs in 'got' array
    WCs  []string       // Wellcoords in 'got' array
    Vols []wunit.Volume // vols (before suck) in 'got'
    M    []int          // offsets in 'got' array
    Sc   float64        // total score for this match
}

func MatchComponents Uses

func MatchComponents(want, got ComponentVector, independent, debug bool) (Match, error)

matchComponents takes one bite each time... the best it can find needs to be run repeatedly to pick everything up TODO: needs to supply more options

func (Match) Equals Uses

func (m Match) Equals(m2 Match) bool

type Movable Uses

type Movable interface{} //Entity

type Named Uses

type Named interface {
    GetName() string
}

type Organism Uses

type Organism struct {
    Species *TOL // position on the TOL
}

structure which defines an organism. These need specific handling -- some detail is derived using the TOL structure

type OverHangType Uses

type OverHangType int

OverHangType represents the type of an overhang. Valid options are

FALSE     OverHangType = 0
BLUNT     OverHangType = 1
OVERHANG  OverHangType = 2
UNDERHANG OverHangType = -1
const (
    // no overhang
    FALSE OverHangType = 0
    // A blunt overhang
    BLUNT OverHangType = 1
    // An overhang (5' sequence overhangs complementary strand)
    OVERHANG OverHangType = 2
    // an underhang (5' sequence underhangs complementary strand)
    UNDERHANG OverHangType = -1
)

Valid overhang types

type Overhang Uses

type Overhang struct {
    // Valid options are 5 (5 Prime end), 3 (3 prime end) or 0 (nul)
    End int `json:"end"`
    // Valid options are FALSE, BLUNT, OVERHANG, UNDERHANG
    Type OverHangType `json:"type"`
    // Overhang sequence
    Seq string `json:"sequence"`
    // Whether the overhang is phosphorylated.
    Phosphorylation bool `json:"phosphorylation"`
}

Overhang represents an end of a DNASequence.

func MakeOverHang Uses

func MakeOverHang(overhangSequence string, end int, toporbottom int, phosphorylated bool) (overhang Overhang, err error)

MakeOverHang is used to create an overhang.

func (Overhang) Length Uses

func (oh Overhang) Length() int

Length returns the length of the overhang.

func (Overhang) OverHang Uses

func (oh Overhang) OverHang() (sequence string)

Overhang returns the sequence if the overhang is of type OVERHANG.

func (Overhang) Sequence Uses

func (oh Overhang) Sequence() string

Sequence returns the sequence of the overhang.

func (Overhang) ToString Uses

func (oh Overhang) ToString() string

ToString returns a string summary of the overhang.

func (Overhang) TypeName Uses

func (oh Overhang) TypeName() string

TypeName returns the name of the overhang type as a string.

func (Overhang) UnderHang Uses

func (oh Overhang) UnderHang() (sequence string)

Overhang returns any sequence if the underhang is of type UNDERHANG.

type PRInstruction Uses

type PRInstruction struct {
    ID           string
    ComponentIn  *Liquid
    ComponentOut *Liquid
    Options      string
}

PRInstruction is a high-level instruction to a plate reader to measure a sample

func NewPRInstruction Uses

func NewPRInstruction() *PRInstruction

NewPRInstruction creates a new PRInstruction

func (PRInstruction) String Uses

func (ins PRInstruction) String() string

type Plasmid Uses

type Plasmid struct {
}

defines a plasmid

type Plate Uses

type Plate struct {
    ID          string
    Inst        string
    Loc         string             // location of plate
    PlateName   string             // user-definable plate name
    Type        string             // plate type
    Mnfr        string             // manufacturer
    WlsX        int                // wells along long axis
    WlsY        int                // wells along short axis
    Nwells      int                // total number of wells
    HWells      map[string]*LHWell // map of well IDs to well
    Rows        [][]*LHWell
    Cols        [][]*LHWell
    Welltype    *LHWell
    Wellcoords  map[string]*LHWell // map of coords in A1 format to wells
    WellXOffset float64            // distance (mm) between well centres in X direction
    WellYOffset float64            // distance (mm) between well centres in Y direction
    WellXStart  float64            // offset (mm) to first well in X direction
    WellYStart  float64            // offset (mm) to first well in Y direction
    WellZStart  float64            // offset (mm) to bottom of well in Z direction
    Bounds      BBox               // (relative) position of the plate (mm), set by parent
    // contains filtered or unexported fields
}

Plate is the principle type for Liquid handling Plates in Antha. The structure describing a microplate.

func NewLHPlate Uses

func NewLHPlate(platetype, mfr string, nrows, ncols int, size Coordinates, welltype *LHWell, wellXOffset, wellYOffset, wellXStart, wellYStart, wellZStart float64) *Plate

func (*Plate) AddComponent Uses

func (lhp *Plate) AddComponent(cmp *Liquid, overflow bool) (wc []WellCoords, err error)

func (*Plate) AddressExists Uses

func (self *Plate) AddressExists(c WellCoords) bool

func (*Plate) AllContents Uses

func (p *Plate) AllContents() []*Liquid

AllContents returns all the components on the plate

func (*Plate) AllNonEmptyWells Uses

func (p *Plate) AllNonEmptyWells() []*LHWell

func (*Plate) AllWellPositions Uses

func (lhp *Plate) AllWellPositions(byrow bool) (wellpositionarray []string)

func (*Plate) AreWellTargetsEnabled Uses

func (p *Plate) AreWellTargetsEnabled(adaptorChannels int, channelSpacing float64) bool

AreaWellTargetsEnabled should well targets be set with this plate? aim is to deprecate IsSpecial

func (*Plate) BetterGetComponent Uses

func (lhp *Plate) BetterGetComponent(cmp *Liquid, mpv wunit.Volume, legacyVolume bool) ([]WellCoords, []wunit.Volume, bool)

this gets ONE component... possibly from several wells

func (Plate) CheckExtraKey Uses

func (p Plate) CheckExtraKey(k string) error

CheckExtraKey checks if the key is a reserved name

func (*Plate) Clean Uses

func (lhp *Plate) Clean()

Clean empty all the wells of the plate so that IsEmpty returns true

func (*Plate) ClearData Uses

func (p *Plate) ClearData(k string) error

ClearData removes data with the given name

func (*Plate) ClearParent Uses

func (self *Plate) ClearParent()

@implement LHObject

func (*Plate) ColVol Uses

func (p *Plate) ColVol() wunit.Volume

func (*Plate) CoordsToWellCoords Uses

func (self *Plate) CoordsToWellCoords(r Coordinates) (WellCoords, Coordinates)

func (*Plate) DeclareAutoallocated Uses

func (p *Plate) DeclareAutoallocated()

func (*Plate) DeclareSpecial Uses

func (p *Plate) DeclareSpecial()

func (*Plate) DeclareTemporary Uses

func (p *Plate) DeclareTemporary()

func (*Plate) DimensionsString Uses

func (self *Plate) DimensionsString() string

DimensionsString returns a string description of the position and size of the object and its children.

func (*Plate) Dup Uses

func (lhp *Plate) Dup() *Plate

func (*Plate) DupKeepIDs Uses

func (lhp *Plate) DupKeepIDs() *Plate

func (*Plate) Duplicate Uses

func (self *Plate) Duplicate(keepIDs bool) LHObject

Duplicate copies an LHObject

func (*Plate) Evaporate Uses

func (p *Plate) Evaporate(time time.Duration, env Environment) []VolumeCorrection

func (*Plate) FindAndUpdateID Uses

func (p *Plate) FindAndUpdateID(before string, after *Liquid) bool

func (*Plate) GetA1WellCoordsFromOrdering Uses

func (lhp *Plate) GetA1WellCoordsFromOrdering(ordinals []int, byrow bool) []string

func (*Plate) GetAllConstraints Uses

func (p *Plate) GetAllConstraints() map[string][]string

func (*Plate) GetBoxIntersections Uses

func (self *Plate) GetBoxIntersections(box BBox) []LHObject

func (*Plate) GetChildByAddress Uses

func (self *Plate) GetChildByAddress(c WellCoords) LHObject

func (*Plate) GetClass Uses

func (self *Plate) GetClass() string

func (*Plate) GetComponent Uses

func (lhp *Plate) GetComponent(cmp *Liquid, mpv wunit.Volume) ([]WellCoords, []wunit.Volume, bool)

func (*Plate) GetContentVector Uses

func (lhp *Plate) GetContentVector(wv []WellCoords) ComponentVector

func (Plate) GetData Uses

func (p Plate) GetData(key string) ([]byte, error)

func (*Plate) GetFilteredContentVector Uses

func (p *Plate) GetFilteredContentVector(wv []WellCoords, cmps ComponentVector, ignoreInstances bool) ComponentVector

func (*Plate) GetID Uses

func (lhp *Plate) GetID() string

func (Plate) GetLayout Uses

func (plate Plate) GetLayout() string

func (*Plate) GetName Uses

func (lhp *Plate) GetName() string

func (*Plate) GetOrderingFromA1WellCoords Uses

func (lhp *Plate) GetOrderingFromA1WellCoords(wa1 []string, byrow bool) []int

func (*Plate) GetOrderingFromWellCoords Uses

func (lhp *Plate) GetOrderingFromWellCoords(wc []WellCoords, byrow bool) []int

func (*Plate) GetParent Uses

func (self *Plate) GetParent() LHObject

func (*Plate) GetPointIntersections Uses

func (self *Plate) GetPointIntersections(point Coordinates) []LHObject

func (*Plate) GetPosition Uses

func (self *Plate) GetPosition() Coordinates

func (*Plate) GetSize Uses

func (self *Plate) GetSize() Coordinates

func (*Plate) GetTargetOffset Uses

func (p *Plate) GetTargetOffset(adaptorName string, channel int) Coordinates

GetTargetOffset get the offset for addressing a well with the named adaptor and channel

func (*Plate) GetTargets Uses

func (p *Plate) GetTargets(adaptorName string) []Coordinates

GetTargets return all the defined targets for the named adaptor

func (*Plate) GetType Uses

func (lhp *Plate) GetType() string

@implement Typed

func (*Plate) GetVolumeFilteredContentVector Uses

func (p *Plate) GetVolumeFilteredContentVector(wv []WellCoords, cmps ComponentVector, mpv wunit.Volume, ignoreInstances bool) ComponentVector

func (*Plate) GetWellBounds Uses

func (self *Plate) GetWellBounds() BBox

func (*Plate) GetWellCoordsFromOrdering Uses

func (lhp *Plate) GetWellCoordsFromOrdering(ordinals []int, byrow bool) []WellCoords

func (*Plate) GetWellCorner Uses

func (self *Plate) GetWellCorner() Coordinates

func (*Plate) GetWellOffset Uses

func (self *Plate) GetWellOffset() Coordinates

func (*Plate) GetWellSize Uses

func (self *Plate) GetWellSize() Coordinates

func (*Plate) Height Uses

func (p *Plate) Height() float64

func (*Plate) IsAutoallocated Uses

func (p *Plate) IsAutoallocated() bool

func (*Plate) IsConstrainedOn Uses

func (p *Plate) IsConstrainedOn(platform string) ([]string, bool)

func (*Plate) IsEmpty Uses

func (lhp *Plate) IsEmpty() bool

func (*Plate) IsSpecial Uses

func (p *Plate) IsSpecial() bool

func (*Plate) IsTemporary Uses

func (p *Plate) IsTemporary() bool

func (*Plate) IsUserAllocated Uses

func (p *Plate) IsUserAllocated() bool

func (*Plate) ListAdaptorsWithTargets Uses

func (p *Plate) ListAdaptorsWithTargets() []string

ListAdaptorsWithTargets get a list of the names of all the adaptors with targets set

func (*Plate) MarkNonEmptyWellsUserAllocated Uses

func (p *Plate) MarkNonEmptyWellsUserAllocated()

func (*Plate) MarshalJSON Uses

func (lhp *Plate) MarshalJSON() ([]byte, error)

func (*Plate) MergeWith Uses

func (p *Plate) MergeWith(p2 *Plate)

semantics are: put stuff from p2 into p unless the well in p is declared as user allocated

func (*Plate) NCols Uses

func (lhp *Plate) NCols() int

func (*Plate) NRows Uses

func (lhp *Plate) NRows() int

func (Plate) Name Uses

func (lhp Plate) Name() string

Name returns the name of the plate.

func (*Plate) NextEmptyWell Uses

func (lhp *Plate) NextEmptyWell(it AddressIterator) WellCoords

func (Plate) OutputLayout Uses

func (plate Plate) OutputLayout()

func (*Plate) ProtectAllWells Uses

func (p *Plate) ProtectAllWells()

func (*Plate) RemoveComponent Uses

func (p *Plate) RemoveComponent(well string, vol wunit.Volume) *Liquid

func (*Plate) ResetID Uses

func (p *Plate) ResetID(newID string)

func (*Plate) SetConstrained Uses

func (p *Plate) SetConstrained(platform string, positions []string)

func (*Plate) SetData Uses

func (p *Plate) SetData(key string, data []byte) error

SetData implements Annotatable

func (*Plate) SetName Uses

func (lhp *Plate) SetName(name string)

Set name sets the name of the plate.

func (*Plate) SetOffset Uses

func (self *Plate) SetOffset(o Coordinates) error

func (*Plate) SetParent Uses

func (self *Plate) SetParent(p LHObject) error

func (Plate) String Uses

func (lhp Plate) String() string

func (*Plate) ToSLHPLate Uses

func (p *Plate) ToSLHPLate() SLHPlate

func (*Plate) UnProtectAllWells Uses

func (p *Plate) UnProtectAllWells()

func (*Plate) UnmarshalJSON Uses

func (lhp *Plate) UnmarshalJSON(b []byte) error

func (*Plate) ValidateVolumes Uses

func (lhp *Plate) ValidateVolumes() error

func (*Plate) WellAt Uses

func (lhp *Plate) WellAt(wc WellCoords) (*LHWell, bool)

func (*Plate) WellAtString Uses

func (lhp *Plate) WellAtString(s string) (*LHWell, bool)

func (*Plate) WellCoordsToCoords Uses

func (self *Plate) WellCoordsToCoords(wc WellCoords, r WellReference) (Coordinates, bool)

func (*Plate) WellMap Uses

func (lhp *Plate) WellMap() map[string]*LHWell

func (*Plate) Welldimensions Uses

func (plate *Plate) Welldimensions() *LHWellType

func (*Plate) Wells Uses

func (lhp *Plate) Wells() [][]*LHWell

func (*Plate) WellsX Uses

func (lhp *Plate) WellsX() int

func (*Plate) WellsY Uses

func (lhp *Plate) WellsY() int

type PlateLocation Uses

type PlateLocation struct {
    ID     string
    Coords WellCoords
}

func PlateLocationFromString Uses

func PlateLocationFromString(s string) PlateLocation

func ZeroPlateLocation Uses

func ZeroPlateLocation() PlateLocation

func (PlateLocation) Equals Uses

func (pc PlateLocation) Equals(opc PlateLocation) bool

func (PlateLocation) IsZero Uses

func (pc PlateLocation) IsZero() bool

func (PlateLocation) ToString Uses

func (pc PlateLocation) ToString() string

type Platedestmap Uses

type Platedestmap [][][]*LHInstruction

func NewPlatedestmap Uses

func NewPlatedestmap() Platedestmap

func (Platedestmap) Print Uses

func (pdm Platedestmap) Print()

type PointSet Uses

type PointSet []Coordinates

func (PointSet) CentreTo Uses

func (ps PointSet) CentreTo(c Coordinates) PointSet

type PolicyName Uses

type PolicyName string

PolicyName represents the name of a liquid handling policy used to look up the details of that policy.

func LiquidTypeName Uses

func LiquidTypeName(lt LiquidType) (PolicyName, error)

LiquidTypeName returns a PolicyName from a LiquidType

func PolicyNameFromString Uses

func PolicyNameFromString(s string) PolicyName

func (PolicyName) String Uses

func (l PolicyName) String() string

type PolicyOption Uses

type PolicyOption string

PolicyOption allows specification of advanced options to feed into the SetPolicyName method.

var DoNotPermitCustomPolicies PolicyOption = "DoNotPermitCustomPolicies"

DoNotPermitCustomPolicies is an option to pass into SetPolicyName to ensure only valid system policies are specified. With this flag set, custom user policies are not permitted.

type Population Uses

type Population struct {
}

a set of organisms, can be mixed or homogeneous

type Protein Uses

type Protein struct {
    Seq ProteinSequence
}

physical protein sample has a ProteinSequence

type ProteinSequence Uses

type ProteinSequence struct {
    Nm  string
    Seq string
}

ProteinSequence object is a type of Biosequence

func (*ProteinSequence) Append Uses

func (prot *ProteinSequence) Append(s string) error

func (*ProteinSequence) Blast Uses

func (seq *ProteinSequence) Blast() (hits []Hit, err error)

func (*ProteinSequence) Molecularweight Uses

func (seq *ProteinSequence) Molecularweight() (daltons float64)

Estimate molecular weight of protein product

func (*ProteinSequence) Name Uses

func (prot *ProteinSequence) Name() string

func (*ProteinSequence) Prepend Uses

func (prot *ProteinSequence) Prepend(s string) error

func (*ProteinSequence) Sequence Uses

func (prot *ProteinSequence) Sequence() string

func (*ProteinSequence) SetName Uses

func (prot *ProteinSequence) SetName(name string)

func (*ProteinSequence) SetSequence Uses

func (prot *ProteinSequence) SetSequence(seq string) error

type RNA Uses

type RNA struct {
    Seq RNASequence
}

RNA sample: physical RNA, has an RNASequence object

type RNASequence Uses

type RNASequence struct {
    Nm  string
    Seq string
}

RNASequence object is a type of Biosequence

func (*RNASequence) Append Uses

func (rna *RNASequence) Append(s string) error

func (*RNASequence) Blast Uses

func (seq *RNASequence) Blast() (hits []Hit, err error)

func (*RNASequence) Name Uses

func (rna *RNASequence) Name() string

func (*RNASequence) Prepend Uses

func (rna *RNASequence) Prepend(s string) error

func (*RNASequence) Sequence Uses

func (rna *RNASequence) Sequence() string

func (*RNASequence) SetName Uses

func (rna *RNASequence) SetName(name string)

func (*RNASequence) SetSequence Uses

func (rna *RNASequence) SetSequence(seq string) error

type Rational Uses

type Rational struct {
    N   int
    D   int
}

type ReadEMParameters Uses

type ReadEMParameters map[string]interface{}

type Reading Uses

type Reading interface {
    BlankCorrect(blank Absorbance)
    PathlengthCorrect(pathlength wunit.Length)
    NormaliseTo(target Absorbance)
    CorrecttoRefStandard()
}

type ReallySimpleAlignment Uses

type ReallySimpleAlignment []string

no guarantees... it's just some strings

func (ReallySimpleAlignment) Column Uses

func (aln ReallySimpleAlignment) Column(i int) string

func (ReallySimpleAlignment) MultiColumn Uses

func (aln ReallySimpleAlignment) MultiColumn(i, j int) []string

find column of length j slices at pos i

func (ReallySimpleAlignment) TrimToFrame Uses

func (aln ReallySimpleAlignment) TrimToFrame(frame int) ReallySimpleAlignment

type Rectangle Uses

type Rectangle struct {
    // contains filtered or unexported fields
}

a rectangle

func NewBoundingRectangle Uses

func NewBoundingRectangle(coords []Coordinates2D) Rectangle

NewBoundingRectangle create a new rectangle which is the smallest rectangle to include all the given coordinates

func NewRectangle Uses

func NewRectangle(firstCorner, secondCorner Coordinates2D) Rectangle

NewRectangle create a new rectangle from any two opposing corners

func (Rectangle) Center Uses

func (self Rectangle) Center() Coordinates2D

Center the central point of the rectangle

func (Rectangle) Contains Uses

func (self Rectangle) Contains(pos Coordinates2D) bool

Contains return true if the given coordinate is within the rectangle

func (Rectangle) Expand Uses

func (self Rectangle) Expand(amount float64) Rectangle

Expand return a new Rectangle with the same center point but whose width and height is increased by the given positive amount

func (Rectangle) Height Uses

func (self Rectangle) Height() float64

Height the height of the rectangle

func (Rectangle) Width Uses

func (self Rectangle) Width() float64

Width the width of the rectangle

type RestrictionEnzyme Uses

type RestrictionEnzyme struct {
    Enzyme
    // sequence
    RecognitionSequence               string
    EndLength                         int
    Prototype                         string
    Topstrand3primedistancefromend    int
    Bottomstrand5primedistancefromend int
    MethylationSite                   string   //"attr, <4>"
    CommercialSource                  []string //string "attr, <5>"
    References                        []int
    Class                             string
    Isoschizomers                     []string
}

RestrictionEnzyme is an enzyme which cleaves DNA

type SLHPlate Uses

type SLHPlate struct {
    ID          string
    Inst        string
    Loc         string
    Name        string
    Type        string
    Mnfr        string
    WellsX      int
    WellsY      int
    Nwells      int
    Bounds      BBox
    Welltype    *LHWell
    Wellcoords  map[string]*LHWell
    WellXOffset float64 // distance (mm) between well centres in X direction
    WellYOffset float64 // distance (mm) between well centres in Y direction
    WellXStart  float64 // offset (mm) to first well in X direction
    WellYStart  float64 // offset (mm) to first well in Y direction
    WellZStart  float64 // offset (mm) to bottom of well in Z direction
}

serializable, stripped-down version of the LHPlate

func (SLHPlate) FillPlate Uses

func (slhp SLHPlate) FillPlate(plate *Plate)

type SLHWell Uses

type SLHWell struct {
    ID       string
    Inst     string
    Coords   WellCoords
    Contents *Liquid
}

func (SLHWell) FillWell Uses

func (slw SLHWell) FillWell(lw *LHWell)

type SequenceDatabase Uses

type SequenceDatabase struct {
    Name      string
    Filename  string
    Type      string
    Sequences []BioSequence
}

type SequentialTipLoadingBehaviour Uses

type SequentialTipLoadingBehaviour int
const (
    //NoSequentialTipLoading tips are loaded all at once, an error is raised if not possible
    NoSequentialTipLoading SequentialTipLoadingBehaviour = iota
    //ForwardSequentialTipLoading chunks of contiguous tips are loaded sequentially in the order encountered
    ForwardSequentialTipLoading
    //ReverseSequentialTipLoading chunks of contiguous tips are loaded sequentially in reverse order
    ReverseSequentialTipLoading
)

func (SequentialTipLoadingBehaviour) String Uses

func (s SequentialTipLoadingBehaviour) String() string

type SerializableHead Uses

type SerializableHead struct {
    Name         string
    Manufacturer string
    ID           string
    AdaptorIndex int
    Params       *LHChannelParameter
    TipLoading   TipLoadingBehaviour
}

func NewSerializableHead Uses

func NewSerializableHead(head *LHHead, adaptors map[*LHAdaptor]int) *SerializableHead

func (*SerializableHead) Fill Uses

func (sh *SerializableHead) Fill(head *LHHead, adaptors []*LHAdaptor)

type SerializableHeadAssembly Uses

type SerializableHeadAssembly struct {
    Positions      []*sHeadAssemblyPosition
    MotionLimits   *BBox
    VelocityLimits *VelocityRange
}

SerializableHeadAssembly an easily serialisable representation of LHHEadAssembly referring to heads by index in some array

func NewSerializableHeadAssembly Uses

func NewSerializableHeadAssembly(ha *LHHeadAssembly, heads map[*LHHead]int) *SerializableHeadAssembly

NewSerializableHeadAssembly convert to an easily serialisable representation of a head assembly heads is a map of heads to list index

func (*SerializableHeadAssembly) Fill Uses

func (sha *SerializableHeadAssembly) Fill(ha *LHHeadAssembly, heads []*LHHead)

type Shape Uses

type Shape struct {
    ShapeName  ShapeTypeID
    LengthUnit string
    H          float64
    W          float64
    D          float64
}

func NewNilShape Uses

func NewNilShape() *Shape

func NewShape Uses

func NewShape(name ShapeTypeID, lengthunit string, h, w, d float64) *Shape

func (*Shape) Depth Uses

func (sh *Shape) Depth() wunit.Length

func (*Shape) Dup Uses

func (sh *Shape) Dup() *Shape

func (*Shape) Equals Uses

func (sh *Shape) Equals(sh2 *Shape) bool

func (*Shape) Height Uses

func (sh *Shape) Height() wunit.Length

func (*Shape) IsZero Uses

func (sh *Shape) IsZero() bool

func (*Shape) MaxCrossSectionalArea Uses

func (sh *Shape) MaxCrossSectionalArea() (area wunit.Area, err error)

func (*Shape) String Uses

func (sh *Shape) String() string

func (*Shape) Volume Uses

func (sh *Shape) Volume() (volume wunit.Volume, err error)

func (*Shape) Width Uses

func (sh *Shape) Width() wunit.Length

type ShapeTypeID Uses

type ShapeTypeID string
const (
    CylinderShape  ShapeTypeID = "cylinder"
    CircleShape    ShapeTypeID = "circle"
    RoundShape     ShapeTypeID = "round"
    SphereShape    ShapeTypeID = "sphere"
    SquareShape    ShapeTypeID = "square"
    BoxShape       ShapeTypeID = "box"
    RectangleShape ShapeTypeID = "rectangle"
)

type SimpleAlignment Uses

type SimpleAlignment []AlignedBioSequence

func (SimpleAlignment) Column Uses

func (aln SimpleAlignment) Column(i int) string

type SortableRules Uses

type SortableRules []LHPolicyRule

func (SortableRules) Len Uses

func (s SortableRules) Len() int

func (SortableRules) Less Uses

func (s SortableRules) Less(i, j int) bool

func (SortableRules) Swap Uses

func (s SortableRules) Swap(i, j int)

type Suspension Uses

type Suspension struct {
}

type TOL Uses

type TOL struct {
    UID      string
    Name     string
    Taxid    string
    Parent   *TOL
    Depth    int
    Children []*TOL
}

we use the open tree of life to define taxonomic relationships

func Load_TOL Uses

func Load_TOL(filename string) (*TOL, *map[string]*TOL)

read the data from the opentree file

func (TOL) Find_string Uses

func (t TOL) Find_string(name string) *TOL

find a node by name

func (TOL) Get_taxonomy Uses

func (t TOL) Get_taxonomy(arr []string) []string

extract the lineage of one particular node

func (TOL) IsAncestorOf Uses

func (t TOL) IsAncestorOf(t2 *TOL) string

returns the string name of the LCA if t is the ancestor of t2

type Targetted Uses

type Targetted interface {
    //GetTargetOffset Gets the well target location for the numbered channel of the named adaptor
    GetTargetOffset(string, int) Coordinates
    //GetTargets return all the defined targets for the named adaptor
    GetTargets(string) []Coordinates
}

type Ticker Uses

type Ticker struct {
    TickEvery int
    TickBy    int
    Val       int
    // contains filtered or unexported fields
}

func (*Ticker) Dup Uses

func (t *Ticker) Dup() *Ticker

func (*Ticker) Tick Uses

func (t *Ticker) Tick() int

type TipEstimate Uses

type TipEstimate struct {
    TipType   string // identifier describing which tips are to be used
    NTips     int    // count of tips used total
    NTipBoxes int    // count of tip boxes to be used
}

A Tip Estimate provides information on how many tips and tip boxes of a given type are expected to be used

func (TipEstimate) String Uses

func (self TipEstimate) String() string

type TipLoadingBehaviour Uses

type TipLoadingBehaviour struct {
    //OverrideLoadTipsCommand true it the liquid handler will override which tips are loaded
    OverrideLoadTipsCommand bool
    //AutoRefillTipboxes are tipboxes automaticall refilled
    AutoRefillTipboxes bool
    //LoadingOrder are tips loaded ColumnWise or RowWise
    LoadingOrder MajorOrder
    //VerticalLoadingDirection the direction along which columns are loaded
    VerticalLoadingDirection VerticalDirection
    //HorizontalLoadingDirection the direction along which rows are loaded
    HorizontalLoadingDirection HorizontalDirection
    //ChunkingBehaviour how to load tips when the requested number aren't available contiguously
    ChunkingBehaviour SequentialTipLoadingBehaviour
}

TipLoadingBehaviour describe the way in which tips are loaded

func (TipLoadingBehaviour) String Uses

func (s TipLoadingBehaviour) String() string

String get a string description for debuggin

type TypeIIs Uses

type TypeIIs struct {
    RestrictionEnzyme
}

func ToTypeIIs Uses

func ToTypeIIs(typeIIenzyme RestrictionEnzyme) (typeIIsenz TypeIIs, err error)

type Typed Uses

type Typed interface {
    GetType() string
}

type VelocityRange Uses

type VelocityRange struct {
    Min, Max *wunit.Velocity3D
}

VelocityRange the minimum and maximum velocities for the head assembly. nil implies no limit

func (*VelocityRange) Dup Uses

func (self *VelocityRange) Dup() *VelocityRange

Dup return a copy of the range

type VerticalDirection Uses

type VerticalDirection int
const (
    BottomToTop VerticalDirection = -1
    TopToBottom                   = 1
)

func (VerticalDirection) String Uses

func (s VerticalDirection) String() string

type VolumeCorrection Uses

type VolumeCorrection struct {
    Type     string
    Volume   wunit.Volume
    Location string // refactor point: location strings to types
}

type Warning Uses

type Warning string

Warning is a representation of a non fatal error in Antha which implements the golang error interface.

func NewWarning Uses

func NewWarning(arguments ...interface{}) Warning

NewWarning generate a new Warning using the default formats for its arguments. Spaces are added between operands when neither is a string.

func NewWarningf Uses

func NewWarningf(format string, arguments ...interface{}) Warning

NewWarningf generates a new Warning from a formatted string.

func (Warning) Error Uses

func (w Warning) Error() string

Error returns a string error message.

type WellBottomType Uses

type WellBottomType int
const (
    FlatWellBottom WellBottomType = iota
    UWellBottom
    VWellBottom
)

func (WellBottomType) String Uses

func (bt WellBottomType) String() string

type WellCoordArrayCol Uses

type WellCoordArrayCol []WellCoords

func (WellCoordArrayCol) Len Uses

func (wca WellCoordArrayCol) Len() int

func (WellCoordArrayCol) Less Uses

func (wca WellCoordArrayCol) Less(i, j int) bool

func (WellCoordArrayCol) Swap Uses

func (wca WellCoordArrayCol) Swap(i, j int)

type WellCoordArrayRow Uses

type WellCoordArrayRow []WellCoords

func (WellCoordArrayRow) Len Uses

func (wca WellCoordArrayRow) Len() int

func (WellCoordArrayRow) Less Uses

func (wca WellCoordArrayRow) Less(i, j int) bool

func (WellCoordArrayRow) Swap Uses

func (wca WellCoordArrayRow) Swap(i, j int)

type WellCoordSlice Uses

type WellCoordSlice []WellCoords

func (WellCoordSlice) Trim Uses

func (self WellCoordSlice) Trim() WellCoordSlice

Trim remove nil well coords from begining and end of the slice

type WellCoords Uses

type WellCoords struct {
    X   int
    Y   int
}

convenience structure for handling well coordinates

func MakeWellCoords Uses

func MakeWellCoords(wc string) WellCoords

func MakeWellCoords1A Uses

func MakeWellCoords1A(a1 string) WellCoords

make well coordinates in the "1A" convention

func MakeWellCoordsA1 Uses

func MakeWellCoordsA1(a1 string) WellCoords

make well coordinates in the "A1" convention

func MakeWellCoordsArray Uses

func MakeWellCoordsArray(sa []string) []WellCoords

func MakeWellCoordsXY Uses

func MakeWellCoordsXY(xy string) WellCoords

func MakeWellCoordsXYsep Uses

func MakeWellCoordsXYsep(x, y string) WellCoords

make well coordinates in a manner compatble with "X1,Y1" etc.

func WCArrayFromStrings Uses

func WCArrayFromStrings(arr []string) []WellCoords

func WCArrayFromWells Uses

func WCArrayFromWells(wells []*LHWell) []WellCoords

func ZeroWellCoords Uses

func ZeroWellCoords() WellCoords

func (WellCoords) ColLessThan Uses

func (wc WellCoords) ColLessThan(wc2 WellCoords) bool

func (WellCoords) ColNumString Uses

func (wc WellCoords) ColNumString() string

func (WellCoords) Equals Uses

func (wc WellCoords) Equals(w2 WellCoords) bool

func (WellCoords) Format1A Uses

func (wc WellCoords) Format1A() string

func (WellCoords) FormatA1 Uses

func (wc WellCoords) FormatA1() string

func (WellCoords) FormatXY Uses

func (wc WellCoords) FormatXY() string

return well coordinates in "X1Y1" format

func (WellCoords) IsZero Uses

func (wc WellCoords) IsZero() bool

func (WellCoords) RowLessThan Uses

func (wc WellCoords) RowLessThan(wc2 WellCoords) bool

func (WellCoords) RowLettString Uses

func (wc WellCoords) RowLettString() string

func (WellCoords) WellNumber Uses

func (wc WellCoords) WellNumber(platetype *Plate, byRow bool) int

WellNumber returns the index of the well coordinates on a platetype based on looking up the number of wells in the X, Y directions of the platetype. Setting byRow to true will count along each sequential row rather down each sequential column. e.g. if byRow == true: A1 = 0, A2 = 1, A12 = 11 if byRow == false: A1 = 0, B1 = 1, E1 = 4

type WellReference Uses

type WellReference int

WellReference used for specifying position within a well

const (
    BottomReference WellReference = iota //0
    TopReference                         //1
    LiquidReference                      //2
)

func (WellReference) AsInt Uses

func (self WellReference) AsInt() int

func (WellReference) String Uses

func (self WellReference) String() string

Directories

PathSynopsis
liquidtype

Package wtype imports 27 packages (graph) and is imported by 55 packages. Updated 2018-11-23. Refresh now. Tools for package owners.