Documentation ¶
Overview ¶
Package org_antha_lang_antha_v1 is a generated protocol buffer package.
It is generated from these files:
github.com/antha-lang/antha/api/v1/coord.proto github.com/antha-lang/antha/api/v1/inventory.proto github.com/antha-lang/antha/api/v1/measurement.proto github.com/antha-lang/antha/api/v1/message.proto github.com/antha-lang/antha/api/v1/state.proto github.com/antha-lang/antha/api/v1/task.proto github.com/antha-lang/antha/api/v1/blob.proto github.com/antha-lang/antha/api/v1/polynomial.proto github.com/antha-lang/antha/api/v1/workflow.proto github.com/antha-lang/antha/api/v1/empty.proto github.com/antha-lang/antha/api/v1/element.proto github.com/antha-lang/antha/api/v1/device.proto
It has these top-level messages:
OrdinalCoord PhysicalCoord InventoryItem None Tipbox Tipwaste DeckPosition Plate Well Component PlateType Measurement GrpcMessage GrpcCall Status Task OrderTask DeckLayoutTask PlatePrepTask PlatePrep DocumentTask MixerTask MixerState Placement ManualRunTask IncubateTask DataUploadTask Blob FromBytes FromHostFile Polynomial Workflow Element Connection ProcessAddress MixerConfig Empty ElementMetadata DeviceMetadata
Index ¶
- Variables
- type Blob
- func (*Blob) Descriptor() ([]byte, []int)
- func (m *Blob) GetBytes() *FromBytes
- func (m *Blob) GetFrom() isBlob_From
- func (m *Blob) GetHostFile() *FromHostFile
- func (m *Blob) GetName() string
- func (*Blob) ProtoMessage()
- func (m *Blob) Reset()
- func (m *Blob) String() string
- func (*Blob) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type Blob_Bytes
- type Blob_HostFile
- type Component
- func (*Component) Descriptor() ([]byte, []int)
- func (m *Component) GetAmount() *Measurement
- func (m *Component) GetComponents() []*Component
- func (m *Component) GetMass() *Measurement
- func (m *Component) GetName() string
- func (m *Component) GetType() string
- func (m *Component) GetViscosity() *Measurement
- func (m *Component) GetVolume() *Measurement
- func (*Component) ProtoMessage()
- func (m *Component) Reset()
- func (m *Component) String() string
- type Connection
- type DataUploadTask
- type DeckLayoutTask
- type DeckPosition
- type DeviceMetadata
- type DocumentTask
- type Element
- type ElementMetadata
- type ElementStage
- type Empty
- type FromBytes
- type FromHostFile
- type GrpcCall
- type GrpcMessage
- type IncubateTask
- type InventoryItem
- func (*InventoryItem) Descriptor() ([]byte, []int)
- func (m *InventoryItem) GetComponent() *Component
- func (m *InventoryItem) GetCreatedAt() *google_protobuf1.Timestamp
- func (m *InventoryItem) GetDeckPosition() *DeckPosition
- func (m *InventoryItem) GetFromItems() []*InventoryItem
- func (m *InventoryItem) GetId() string
- func (m *InventoryItem) GetItem() isInventoryItem_Item
- func (m *InventoryItem) GetMetadata() map[string]*google_protobuf.Any
- func (m *InventoryItem) GetNone() *None
- func (m *InventoryItem) GetPlate() *Plate
- func (m *InventoryItem) GetPlateType() *PlateType
- func (m *InventoryItem) GetTipbox() *Tipbox
- func (m *InventoryItem) GetTipwaste() *Tipwaste
- func (*InventoryItem) ProtoMessage()
- func (m *InventoryItem) Reset()
- func (m *InventoryItem) String() string
- func (*InventoryItem) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type InventoryItem_Component
- type InventoryItem_DeckPosition
- type InventoryItem_None
- type InventoryItem_Plate
- type InventoryItem_PlateType
- type InventoryItem_Tipbox
- type InventoryItem_Tipwaste
- type ManualRunTask
- type Measurement
- func (*Measurement) Descriptor() ([]byte, []int)
- func (m *Measurement) GetUnit() string
- func (m *Measurement) GetValue() float64
- func (a *Measurement) MeasurementUnit() string
- func (*Measurement) ProtoMessage()
- func (a *Measurement) Quantity() float64
- func (m *Measurement) Reset()
- func (m *Measurement) String() string
- type MixerConfig
- func (*MixerConfig) Descriptor() ([]byte, []int)
- func (m *MixerConfig) GetDriverSpecificInputPreferences() []string
- func (m *MixerConfig) GetDriverSpecificOutputPreferences() []string
- func (m *MixerConfig) GetDriverSpecificTipPreferences() []string
- func (m *MixerConfig) GetDriverSpecificTipWastePreferences() []string
- func (m *MixerConfig) GetDriverSpecificWashPreferences() []string
- func (m *MixerConfig) GetInputPlateTypes() []string
- func (m *MixerConfig) GetInputPlates() []*InventoryItem
- func (m *MixerConfig) GetMaxPlates() int32
- func (m *MixerConfig) GetMaxWells() int32
- func (m *MixerConfig) GetModelEvaporation() bool
- func (m *MixerConfig) GetOutputPlateTypes() []string
- func (m *MixerConfig) GetOutputPlates() []*InventoryItem
- func (m *MixerConfig) GetOutputSort() bool
- func (m *MixerConfig) GetPlanningVersion() string
- func (m *MixerConfig) GetResidualVolumeWeight() float64
- func (m *MixerConfig) GetTipTypes() []string
- func (m *MixerConfig) GetUseDriverTipTracking() bool
- func (*MixerConfig) ProtoMessage()
- func (m *MixerConfig) Reset()
- func (m *MixerConfig) String() string
- type MixerState
- type MixerTask
- type None
- type OrderTask
- type OrdinalCoord
- type PhysicalCoord
- type Placement
- type Plate
- type PlatePrep
- type PlatePrepTask
- type PlateType
- func (*PlateType) Descriptor() ([]byte, []int)
- func (m *PlateType) GetDim() *PhysicalCoord
- func (m *PlateType) GetMaxVolume() *Measurement
- func (m *PlateType) GetMnfr() string
- func (m *PlateType) GetNumWells() *OrdinalCoord
- func (m *PlateType) GetResidualVolume() *Measurement
- func (m *PlateType) GetVolumeUlToAreaMm2() *Polynomial
- func (m *PlateType) GetVolumeUlToHeightMm() *Polynomial
- func (m *PlateType) GetWellBottomHeight() *Measurement
- func (m *PlateType) GetWellBottomShape() string
- func (m *PlateType) GetWellDim() *PhysicalCoord
- func (m *PlateType) GetWellOffset() *PhysicalCoord
- func (m *PlateType) GetWellOrigin() *PhysicalCoord
- func (m *PlateType) GetWellShape() string
- func (*PlateType) ProtoMessage()
- func (m *PlateType) Reset()
- func (m *PlateType) String() string
- type Polynomial
- type ProcessAddress
- type State
- type Status
- type Task
- func (*Task) Descriptor() ([]byte, []int)
- func (m *Task) GetDataUploadTask() *DataUploadTask
- func (m *Task) GetDeckLayoutTask() *DeckLayoutTask
- func (m *Task) GetDetails() string
- func (m *Task) GetDeviceId() string
- func (m *Task) GetDocumentTask() *DocumentTask
- func (m *Task) GetHappensBefore() []string
- func (m *Task) GetId() string
- func (m *Task) GetIncubateTask() *IncubateTask
- func (m *Task) GetLabel() string
- func (m *Task) GetManualRunTask() *ManualRunTask
- func (m *Task) GetMixerTask() *MixerTask
- func (m *Task) GetOrderTask() *OrderTask
- func (m *Task) GetPlatePrepTask() *PlatePrepTask
- func (m *Task) GetStatus() *Status
- func (m *Task) GetTags() []string
- func (m *Task) GetTask() isTask_Task
- func (m *Task) GetTimeEstimate() float32
- func (*Task) ProtoMessage()
- func (m *Task) Reset()
- func (m *Task) String() string
- func (*Task) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, ...)
- type Task_DataUploadTask
- type Task_DeckLayoutTask
- type Task_DocumentTask
- type Task_IncubateTask
- type Task_ManualRunTask
- type Task_MixerTask
- type Task_OrderTask
- type Task_PlatePrepTask
- type Tipbox
- type Tipwaste
- type Well
- type Workflow
- func (*Workflow) Descriptor() ([]byte, []int)
- func (m *Workflow) GetConnections() []*Connection
- func (m *Workflow) GetDescription() string
- func (m *Workflow) GetId() string
- func (m *Workflow) GetLabel() string
- func (m *Workflow) GetProcesses() map[string]*Element
- func (*Workflow) ProtoMessage()
- func (m *Workflow) Reset()
- func (m *Workflow) String() string
Constants ¶
This section is empty.
Variables ¶
var ElementStage_name = map[int32]string{
0: "STEPS",
1: "ANALYSIS",
}
var ElementStage_value = map[string]int32{
"STEPS": 0,
"ANALYSIS": 1,
}
var State_name = map[int32]string{
0: "CREATED",
1: "SCHEDULED",
2: "WAITING",
3: "RUNNING",
4: "SUCCEEDED",
5: "FAILED",
}
var State_value = map[string]int32{
"CREATED": 0,
"SCHEDULED": 1,
"WAITING": 2,
"RUNNING": 3,
"SUCCEEDED": 4,
"FAILED": 5,
}
Functions ¶
This section is empty.
Types ¶
type Blob ¶
type Blob struct { // A descriptive name. Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // Types that are valid to be assigned to From: // *Blob_Bytes // *Blob_HostFile From isBlob_From `protobuf_oneof:"from"` }
Unstructured data
func (*Blob) Descriptor ¶
func (*Blob) GetHostFile ¶
func (m *Blob) GetHostFile() *FromHostFile
func (*Blob) ProtoMessage ¶
func (*Blob) ProtoMessage()
type Blob_Bytes ¶
type Blob_Bytes struct {
Bytes *FromBytes `protobuf:"bytes,2,opt,name=bytes,oneof"`
}
type Blob_HostFile ¶
type Blob_HostFile struct {
HostFile *FromHostFile `protobuf:"bytes,3,opt,name=host_file,json=hostFile,oneof"`
}
type Component ¶
type Component struct { // Component type Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"` // Name Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` // Volume Volume *Measurement `protobuf:"bytes,3,opt,name=volume" json:"volume,omitempty"` // Viscosity Viscosity *Measurement `protobuf:"bytes,4,opt,name=viscosity" json:"viscosity,omitempty"` // Mass Mass *Measurement `protobuf:"bytes,5,opt,name=mass" json:"mass,omitempty"` // Amount (moles) Amount *Measurement `protobuf:"bytes,6,opt,name=amount" json:"amount,omitempty"` // If non-atomic component, this is what we are comprised of Components []*Component `protobuf:"bytes,7,rep,name=components" json:"components,omitempty"` }
Physical component, typically a liquid
func (*Component) Descriptor ¶
func (*Component) GetAmount ¶
func (m *Component) GetAmount() *Measurement
func (*Component) GetComponents ¶
func (*Component) GetMass ¶
func (m *Component) GetMass() *Measurement
func (*Component) GetViscosity ¶
func (m *Component) GetViscosity() *Measurement
func (*Component) GetVolume ¶
func (m *Component) GetVolume() *Measurement
func (*Component) ProtoMessage ¶
func (*Component) ProtoMessage()
type Connection ¶
type Connection struct { Source *ProcessAddress `protobuf:"bytes,1,opt,name=source" json:"source,omitempty"` Target *ProcessAddress `protobuf:"bytes,2,opt,name=target" json:"target,omitempty"` }
func (*Connection) Descriptor ¶
func (*Connection) Descriptor() ([]byte, []int)
func (*Connection) GetSource ¶
func (m *Connection) GetSource() *ProcessAddress
func (*Connection) GetTarget ¶
func (m *Connection) GetTarget() *ProcessAddress
func (*Connection) ProtoMessage ¶
func (*Connection) ProtoMessage()
func (*Connection) Reset ¶
func (m *Connection) Reset()
func (*Connection) String ¶
func (m *Connection) String() string
type DataUploadTask ¶
type DataUploadTask struct { }
Upload data
func (*DataUploadTask) Descriptor ¶
func (*DataUploadTask) Descriptor() ([]byte, []int)
func (*DataUploadTask) ProtoMessage ¶
func (*DataUploadTask) ProtoMessage()
func (*DataUploadTask) Reset ¶
func (m *DataUploadTask) Reset()
func (*DataUploadTask) String ¶
func (m *DataUploadTask) String() string
type DeckLayoutTask ¶
type DeckLayoutTask struct { // Mixer task to show deck layout of MixerTaskId string `protobuf:"bytes,1,opt,name=mixer_task_id,json=mixerTaskId" json:"mixer_task_id,omitempty"` // If present, restrict layout to given deck positions, e.g., SomePositions []*OrdinalCoord `protobuf:"bytes,2,rep,name=some_positions,json=somePositions" json:"some_positions,omitempty"` }
Show deck layout for mixer
func (*DeckLayoutTask) Descriptor ¶
func (*DeckLayoutTask) Descriptor() ([]byte, []int)
func (*DeckLayoutTask) GetMixerTaskId ¶
func (m *DeckLayoutTask) GetMixerTaskId() string
func (*DeckLayoutTask) GetSomePositions ¶
func (m *DeckLayoutTask) GetSomePositions() []*OrdinalCoord
func (*DeckLayoutTask) ProtoMessage ¶
func (*DeckLayoutTask) ProtoMessage()
func (*DeckLayoutTask) Reset ¶
func (m *DeckLayoutTask) Reset()
func (*DeckLayoutTask) String ¶
func (m *DeckLayoutTask) String() string
type DeckPosition ¶
type DeckPosition struct { // Position Position string `protobuf:"bytes,1,opt,name=position" json:"position,omitempty"` }
Synthetic inventory item to represent position on deck
func (*DeckPosition) Descriptor ¶
func (*DeckPosition) Descriptor() ([]byte, []int)
func (*DeckPosition) GetPosition ¶
func (m *DeckPosition) GetPosition() string
func (*DeckPosition) ProtoMessage ¶
func (*DeckPosition) ProtoMessage()
func (*DeckPosition) Reset ¶
func (m *DeckPosition) Reset()
func (*DeckPosition) String ¶
func (m *DeckPosition) String() string
type DeviceMetadata ¶
type DeviceMetadata struct {
Tags []string `protobuf:"bytes,1,rep,name=tags" json:"tags,omitempty"`
}
func (*DeviceMetadata) Descriptor ¶
func (*DeviceMetadata) Descriptor() ([]byte, []int)
func (*DeviceMetadata) GetTags ¶
func (m *DeviceMetadata) GetTags() []string
func (*DeviceMetadata) ProtoMessage ¶
func (*DeviceMetadata) ProtoMessage()
func (*DeviceMetadata) Reset ¶
func (m *DeviceMetadata) Reset()
func (*DeviceMetadata) String ¶
func (m *DeviceMetadata) String() string
type DocumentTask ¶
type DocumentTask struct { // Unformated text to show TextBody string `protobuf:"bytes,1,opt,name=text_body,json=textBody" json:"text_body,omitempty"` }
Show documentation
func (*DocumentTask) Descriptor ¶
func (*DocumentTask) Descriptor() ([]byte, []int)
func (*DocumentTask) GetTextBody ¶
func (m *DocumentTask) GetTextBody() string
func (*DocumentTask) ProtoMessage ¶
func (*DocumentTask) ProtoMessage()
func (*DocumentTask) Reset ¶
func (m *DocumentTask) Reset()
func (*DocumentTask) String ¶
func (m *DocumentTask) String() string
type Element ¶
type Element struct {
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
}
func (*Element) Descriptor ¶
func (*Element) ProtoMessage ¶
func (*Element) ProtoMessage()
type ElementMetadata ¶
type ElementMetadata struct {
SourceSha256 []byte `protobuf:"bytes,1,opt,name=source_sha256,json=sourceSha256,proto3" json:"source_sha256,omitempty"`
}
func (*ElementMetadata) Descriptor ¶
func (*ElementMetadata) Descriptor() ([]byte, []int)
func (*ElementMetadata) GetSourceSha256 ¶
func (m *ElementMetadata) GetSourceSha256() []byte
func (*ElementMetadata) ProtoMessage ¶
func (*ElementMetadata) ProtoMessage()
func (*ElementMetadata) Reset ¶
func (m *ElementMetadata) Reset()
func (*ElementMetadata) String ¶
func (m *ElementMetadata) String() string
type ElementStage ¶
type ElementStage int32
const ( ElementStage_STEPS ElementStage = 0 ElementStage_ANALYSIS ElementStage = 1 )
func (ElementStage) EnumDescriptor ¶
func (ElementStage) EnumDescriptor() ([]byte, []int)
func (ElementStage) String ¶
func (x ElementStage) String() string
type Empty ¶
type Empty struct { }
func (*Empty) Descriptor ¶
func (*Empty) ProtoMessage ¶
func (*Empty) ProtoMessage()
type FromBytes ¶
type FromBytes struct {
Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
}
func (*FromBytes) Descriptor ¶
func (*FromBytes) ProtoMessage ¶
func (*FromBytes) ProtoMessage()
type FromHostFile ¶
type FromHostFile struct {
Filename string `protobuf:"bytes,1,opt,name=filename" json:"filename,omitempty"`
}
func (*FromHostFile) Descriptor ¶
func (*FromHostFile) Descriptor() ([]byte, []int)
func (*FromHostFile) GetFilename ¶
func (m *FromHostFile) GetFilename() string
func (*FromHostFile) ProtoMessage ¶
func (*FromHostFile) ProtoMessage()
func (*FromHostFile) Reset ¶
func (m *FromHostFile) Reset()
func (*FromHostFile) String ¶
func (m *FromHostFile) String() string
type GrpcCall ¶
type GrpcCall struct { // Fully qualified rpc call name Method string `protobuf:"bytes,1,opt,name=method" json:"method,omitempty"` Args *GrpcMessage `protobuf:"bytes,2,opt,name=args" json:"args,omitempty"` Reply *GrpcMessage `protobuf:"bytes,3,opt,name=reply" json:"reply,omitempty"` }
func (*GrpcCall) Descriptor ¶
func (*GrpcCall) GetArgs ¶
func (m *GrpcCall) GetArgs() *GrpcMessage
func (*GrpcCall) GetReply ¶
func (m *GrpcCall) GetReply() *GrpcMessage
func (*GrpcCall) ProtoMessage ¶
func (*GrpcCall) ProtoMessage()
type GrpcMessage ¶
type GrpcMessage struct { // Fully qualified message name Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` // Protobuf data Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` }
func (*GrpcMessage) Descriptor ¶
func (*GrpcMessage) Descriptor() ([]byte, []int)
func (*GrpcMessage) GetData ¶
func (m *GrpcMessage) GetData() []byte
func (*GrpcMessage) GetName ¶
func (m *GrpcMessage) GetName() string
func (*GrpcMessage) ProtoMessage ¶
func (*GrpcMessage) ProtoMessage()
func (*GrpcMessage) Reset ¶
func (m *GrpcMessage) Reset()
func (*GrpcMessage) String ¶
func (m *GrpcMessage) String() string
type IncubateTask ¶
type IncubateTask struct { }
Run incubator
func (*IncubateTask) Descriptor ¶
func (*IncubateTask) Descriptor() ([]byte, []int)
func (*IncubateTask) ProtoMessage ¶
func (*IncubateTask) ProtoMessage()
func (*IncubateTask) Reset ¶
func (m *IncubateTask) Reset()
func (*IncubateTask) String ¶
func (m *IncubateTask) String() string
type InventoryItem ¶
type InventoryItem struct { // Inventory id Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` // Metadata Metadata map[string]*google_protobuf.Any `` /* 136-byte string literal not displayed */ // Time this inventory item was created at CreatedAt *google_protobuf1.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt" json:"created_at,omitempty"` // History of this inventory item FromItems []*InventoryItem `protobuf:"bytes,4,rep,name=from_items,json=fromItems" json:"from_items,omitempty"` // Types that are valid to be assigned to Item: // *InventoryItem_Tipbox // *InventoryItem_Tipwaste // *InventoryItem_Plate // *InventoryItem_DeckPosition // *InventoryItem_Component // *InventoryItem_PlateType // *InventoryItem_None Item isInventoryItem_Item `protobuf_oneof:"item"` }
func (*InventoryItem) Descriptor ¶
func (*InventoryItem) Descriptor() ([]byte, []int)
func (*InventoryItem) GetComponent ¶
func (m *InventoryItem) GetComponent() *Component
func (*InventoryItem) GetCreatedAt ¶
func (m *InventoryItem) GetCreatedAt() *google_protobuf1.Timestamp
func (*InventoryItem) GetDeckPosition ¶
func (m *InventoryItem) GetDeckPosition() *DeckPosition
func (*InventoryItem) GetFromItems ¶
func (m *InventoryItem) GetFromItems() []*InventoryItem
func (*InventoryItem) GetId ¶
func (m *InventoryItem) GetId() string
func (*InventoryItem) GetItem ¶
func (m *InventoryItem) GetItem() isInventoryItem_Item
func (*InventoryItem) GetMetadata ¶
func (m *InventoryItem) GetMetadata() map[string]*google_protobuf.Any
func (*InventoryItem) GetNone ¶
func (m *InventoryItem) GetNone() *None
func (*InventoryItem) GetPlate ¶
func (m *InventoryItem) GetPlate() *Plate
func (*InventoryItem) GetPlateType ¶
func (m *InventoryItem) GetPlateType() *PlateType
func (*InventoryItem) GetTipbox ¶
func (m *InventoryItem) GetTipbox() *Tipbox
func (*InventoryItem) GetTipwaste ¶
func (m *InventoryItem) GetTipwaste() *Tipwaste
func (*InventoryItem) ProtoMessage ¶
func (*InventoryItem) ProtoMessage()
func (*InventoryItem) Reset ¶
func (m *InventoryItem) Reset()
func (*InventoryItem) String ¶
func (m *InventoryItem) String() string
func (*InventoryItem) XXX_OneofFuncs ¶
func (*InventoryItem) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{})
XXX_OneofFuncs is for the internal use of the proto package.
type InventoryItem_Component ¶
type InventoryItem_Component struct {
Component *Component `protobuf:"bytes,9,opt,name=component,oneof"`
}
type InventoryItem_DeckPosition ¶
type InventoryItem_DeckPosition struct {
DeckPosition *DeckPosition `protobuf:"bytes,8,opt,name=deck_position,json=deckPosition,oneof"`
}
type InventoryItem_None ¶
type InventoryItem_None struct {
None *None `protobuf:"bytes,11,opt,name=none,oneof"`
}
type InventoryItem_Plate ¶
type InventoryItem_Plate struct {
Plate *Plate `protobuf:"bytes,7,opt,name=plate,oneof"`
}
type InventoryItem_PlateType ¶
type InventoryItem_PlateType struct {
PlateType *PlateType `protobuf:"bytes,10,opt,name=plate_type,json=plateType,oneof"`
}
type InventoryItem_Tipbox ¶
type InventoryItem_Tipbox struct {
Tipbox *Tipbox `protobuf:"bytes,5,opt,name=tipbox,oneof"`
}
type InventoryItem_Tipwaste ¶
type InventoryItem_Tipwaste struct {
Tipwaste *Tipwaste `protobuf:"bytes,6,opt,name=tipwaste,oneof"`
}
type ManualRunTask ¶
type ManualRunTask struct { }
Manually initiated task
func (*ManualRunTask) Descriptor ¶
func (*ManualRunTask) Descriptor() ([]byte, []int)
func (*ManualRunTask) ProtoMessage ¶
func (*ManualRunTask) ProtoMessage()
func (*ManualRunTask) Reset ¶
func (m *ManualRunTask) Reset()
func (*ManualRunTask) String ¶
func (m *ManualRunTask) String() string
type Measurement ¶
type Measurement struct { Value float64 `protobuf:"fixed64,1,opt,name=value" json:"value,omitempty"` Unit string `protobuf:"bytes,2,opt,name=unit" json:"unit,omitempty"` }
func (*Measurement) Descriptor ¶
func (*Measurement) Descriptor() ([]byte, []int)
func (*Measurement) GetUnit ¶
func (m *Measurement) GetUnit() string
func (*Measurement) GetValue ¶
func (m *Measurement) GetValue() float64
func (*Measurement) MeasurementUnit ¶
func (a *Measurement) MeasurementUnit() string
func (*Measurement) ProtoMessage ¶
func (*Measurement) ProtoMessage()
func (*Measurement) Quantity ¶
func (a *Measurement) Quantity() float64
func (*Measurement) Reset ¶
func (m *Measurement) Reset()
func (*Measurement) String ¶
func (m *Measurement) String() string
type MixerConfig ¶
type MixerConfig struct { InputPlates []*InventoryItem `protobuf:"bytes,1,rep,name=input_plates,json=inputPlates" json:"input_plates,omitempty"` OutputPlates []*InventoryItem `protobuf:"bytes,2,rep,name=output_plates,json=outputPlates" json:"output_plates,omitempty"` InputPlateTypes []string `protobuf:"bytes,3,rep,name=input_plate_types,json=inputPlateTypes" json:"input_plate_types,omitempty"` OutputPlateTypes []string `protobuf:"bytes,4,rep,name=output_plate_types,json=outputPlateTypes" json:"output_plate_types,omitempty"` TipTypes []string `protobuf:"bytes,5,rep,name=tip_types,json=tipTypes" json:"tip_types,omitempty"` MaxPlates int32 `protobuf:"varint,6,opt,name=max_plates,json=maxPlates" json:"max_plates,omitempty"` MaxWells int32 `protobuf:"varint,7,opt,name=max_wells,json=maxWells" json:"max_wells,omitempty"` ResidualVolumeWeight float64 `protobuf:"fixed64,8,opt,name=residual_volume_weight,json=residualVolumeWeight" json:"residual_volume_weight,omitempty"` // int32 planning_version = 9; ModelEvaporation bool `protobuf:"varint,10,opt,name=model_evaporation,json=modelEvaporation" json:"model_evaporation,omitempty"` OutputSort bool `protobuf:"varint,11,opt,name=output_sort,json=outputSort" json:"output_sort,omitempty"` // Driver specific options. Semantics are not stable. Will need to be // revised when multi device execution is supported. DriverSpecificInputPreferences []string `` /* 149-byte string literal not displayed */ DriverSpecificOutputPreferences []string `` /* 152-byte string literal not displayed */ DriverSpecificTipPreferences []string `` /* 143-byte string literal not displayed */ DriverSpecificTipWastePreferences []string `` /* 160-byte string literal not displayed */ DriverSpecificWashPreferences []string `` /* 146-byte string literal not displayed */ PlanningVersion string `protobuf:"bytes,17,opt,name=planning_version,json=planningVersion" json:"planning_version,omitempty"` UseDriverTipTracking bool `protobuf:"varint,18,opt,name=use_driver_tip_tracking,json=useDriverTipTracking" json:"use_driver_tip_tracking,omitempty"` }
func (*MixerConfig) Descriptor ¶
func (*MixerConfig) Descriptor() ([]byte, []int)
func (*MixerConfig) GetDriverSpecificInputPreferences ¶
func (m *MixerConfig) GetDriverSpecificInputPreferences() []string
func (*MixerConfig) GetDriverSpecificOutputPreferences ¶
func (m *MixerConfig) GetDriverSpecificOutputPreferences() []string
func (*MixerConfig) GetDriverSpecificTipPreferences ¶
func (m *MixerConfig) GetDriverSpecificTipPreferences() []string
func (*MixerConfig) GetDriverSpecificTipWastePreferences ¶
func (m *MixerConfig) GetDriverSpecificTipWastePreferences() []string
func (*MixerConfig) GetDriverSpecificWashPreferences ¶
func (m *MixerConfig) GetDriverSpecificWashPreferences() []string
func (*MixerConfig) GetInputPlateTypes ¶
func (m *MixerConfig) GetInputPlateTypes() []string
func (*MixerConfig) GetInputPlates ¶
func (m *MixerConfig) GetInputPlates() []*InventoryItem
func (*MixerConfig) GetMaxPlates ¶
func (m *MixerConfig) GetMaxPlates() int32
func (*MixerConfig) GetMaxWells ¶
func (m *MixerConfig) GetMaxWells() int32
func (*MixerConfig) GetModelEvaporation ¶
func (m *MixerConfig) GetModelEvaporation() bool
func (*MixerConfig) GetOutputPlateTypes ¶
func (m *MixerConfig) GetOutputPlateTypes() []string
func (*MixerConfig) GetOutputPlates ¶
func (m *MixerConfig) GetOutputPlates() []*InventoryItem
func (*MixerConfig) GetOutputSort ¶
func (m *MixerConfig) GetOutputSort() bool
func (*MixerConfig) GetPlanningVersion ¶
func (m *MixerConfig) GetPlanningVersion() string
func (*MixerConfig) GetResidualVolumeWeight ¶
func (m *MixerConfig) GetResidualVolumeWeight() float64
func (*MixerConfig) GetTipTypes ¶
func (m *MixerConfig) GetTipTypes() []string
func (*MixerConfig) GetUseDriverTipTracking ¶
func (m *MixerConfig) GetUseDriverTipTracking() bool
func (*MixerConfig) ProtoMessage ¶
func (*MixerConfig) ProtoMessage()
func (*MixerConfig) Reset ¶
func (m *MixerConfig) Reset()
func (*MixerConfig) String ¶
func (m *MixerConfig) String() string
type MixerState ¶
type MixerState struct { Items []*InventoryItem `protobuf:"bytes,1,rep,name=items" json:"items,omitempty"` Placements []*Placement `protobuf:"bytes,2,rep,name=placements" json:"placements,omitempty"` }
func (*MixerState) Descriptor ¶
func (*MixerState) Descriptor() ([]byte, []int)
func (*MixerState) GetItems ¶
func (m *MixerState) GetItems() []*InventoryItem
func (*MixerState) GetPlacements ¶
func (m *MixerState) GetPlacements() []*Placement
func (*MixerState) ProtoMessage ¶
func (*MixerState) ProtoMessage()
func (*MixerState) Reset ¶
func (m *MixerState) Reset()
func (*MixerState) String ¶
func (m *MixerState) String() string
type MixerTask ¶
type MixerTask struct { // Setup: input state of device Before []*MixerState `protobuf:"bytes,1,rep,name=before" json:"before,omitempty"` // Result: output state of device After []*MixerState `protobuf:"bytes,2,rep,name=after" json:"after,omitempty"` // Low level device calls representing this task Calls []*GrpcCall `protobuf:"bytes,3,rep,name=calls" json:"calls,omitempty"` }
Run mixer
func (*MixerTask) Descriptor ¶
func (*MixerTask) GetAfter ¶
func (m *MixerTask) GetAfter() []*MixerState
func (*MixerTask) GetBefore ¶
func (m *MixerTask) GetBefore() []*MixerState
func (*MixerTask) ProtoMessage ¶
func (*MixerTask) ProtoMessage()
type None ¶
type None struct { }
func (*None) Descriptor ¶
func (*None) ProtoMessage ¶
func (*None) ProtoMessage()
type OrderTask ¶
type OrderTask struct { // Inventory items to order InventoryIds []string `protobuf:"bytes,1,rep,name=inventory_ids,json=inventoryIds" json:"inventory_ids,omitempty"` }
Order inventory items
func (*OrderTask) Descriptor ¶
func (*OrderTask) GetInventoryIds ¶
func (*OrderTask) ProtoMessage ¶
func (*OrderTask) ProtoMessage()
type OrdinalCoord ¶
type OrdinalCoord struct { X int32 `protobuf:"varint,1,opt,name=x" json:"x,omitempty"` Y int32 `protobuf:"varint,2,opt,name=y" json:"y,omitempty"` Z int32 `protobuf:"varint,3,opt,name=z" json:"z,omitempty"` }
Zero-indexed coordinate system in ordinal space: ith item in X, Y, Z space. Origin is back, left, bottom (i.e., left-handed)
func (*OrdinalCoord) Descriptor ¶
func (*OrdinalCoord) Descriptor() ([]byte, []int)
func (*OrdinalCoord) GetX ¶
func (m *OrdinalCoord) GetX() int32
func (*OrdinalCoord) GetY ¶
func (m *OrdinalCoord) GetY() int32
func (*OrdinalCoord) GetZ ¶
func (m *OrdinalCoord) GetZ() int32
func (*OrdinalCoord) ProtoMessage ¶
func (*OrdinalCoord) ProtoMessage()
func (*OrdinalCoord) Reset ¶
func (m *OrdinalCoord) Reset()
func (*OrdinalCoord) String ¶
func (m *OrdinalCoord) String() string
type PhysicalCoord ¶
type PhysicalCoord struct { X *Measurement `protobuf:"bytes,1,opt,name=x" json:"x,omitempty"` Y *Measurement `protobuf:"bytes,2,opt,name=y" json:"y,omitempty"` Z *Measurement `protobuf:"bytes,3,opt,name=z" json:"z,omitempty"` }
func (*PhysicalCoord) Descriptor ¶
func (*PhysicalCoord) Descriptor() ([]byte, []int)
func (*PhysicalCoord) GetX ¶
func (m *PhysicalCoord) GetX() *Measurement
func (*PhysicalCoord) GetY ¶
func (m *PhysicalCoord) GetY() *Measurement
func (*PhysicalCoord) GetZ ¶
func (m *PhysicalCoord) GetZ() *Measurement
func (*PhysicalCoord) ProtoMessage ¶
func (*PhysicalCoord) ProtoMessage()
func (*PhysicalCoord) Reset ¶
func (m *PhysicalCoord) Reset()
func (*PhysicalCoord) String ¶
func (m *PhysicalCoord) String() string
type Placement ¶
type Placement struct { Parent string `protobuf:"bytes,1,opt,name=parent" json:"parent,omitempty"` Child string `protobuf:"bytes,2,opt,name=child" json:"child,omitempty"` // Symbolic location of child in coordinate system of parent Coord *OrdinalCoord `protobuf:"bytes,3,opt,name=coord" json:"coord,omitempty"` }
func (*Placement) Descriptor ¶
func (*Placement) GetCoord ¶
func (m *Placement) GetCoord() *OrdinalCoord
func (*Placement) ProtoMessage ¶
func (*Placement) ProtoMessage()
type Plate ¶
type Plate struct { // Plate type Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"` Wells []*Well `protobuf:"bytes,2,rep,name=wells" json:"wells,omitempty"` }
Plate
func (*Plate) Descriptor ¶
func (*Plate) ProtoMessage ¶
func (*Plate) ProtoMessage()
type PlatePrep ¶
type PlatePrep struct { // Plate to prepare PlateId string `protobuf:"bytes,1,opt,name=plate_id,json=plateId" json:"plate_id,omitempty"` // If present, restrict prep to given well addresses, e.g., A1, BB2 SomeWells []*OrdinalCoord `protobuf:"bytes,2,rep,name=some_wells,json=someWells" json:"some_wells,omitempty"` }
Prepare a plate
func (*PlatePrep) Descriptor ¶
func (*PlatePrep) GetPlateId ¶
func (*PlatePrep) GetSomeWells ¶
func (m *PlatePrep) GetSomeWells() []*OrdinalCoord
func (*PlatePrep) ProtoMessage ¶
func (*PlatePrep) ProtoMessage()
type PlatePrepTask ¶
type PlatePrepTask struct { // Plates to prepare PlatePreps []*PlatePrep `protobuf:"bytes,1,rep,name=plate_preps,json=platePreps" json:"plate_preps,omitempty"` }
Prepare plates
func (*PlatePrepTask) Descriptor ¶
func (*PlatePrepTask) Descriptor() ([]byte, []int)
func (*PlatePrepTask) GetPlatePreps ¶
func (m *PlatePrepTask) GetPlatePreps() []*PlatePrep
func (*PlatePrepTask) ProtoMessage ¶
func (*PlatePrepTask) ProtoMessage()
func (*PlatePrepTask) Reset ¶
func (m *PlatePrepTask) Reset()
func (*PlatePrepTask) String ¶
func (m *PlatePrepTask) String() string
type PlateType ¶
type PlateType struct { // Dimensions of bounding box of plate Dim *PhysicalCoord `protobuf:"bytes,1,opt,name=dim" json:"dim,omitempty"` // Dimensions of a bounding box of well including well bottom WellDim *PhysicalCoord `protobuf:"bytes,2,opt,name=well_dim,json=wellDim" json:"well_dim,omitempty"` // Number of wells NumWells *OrdinalCoord `protobuf:"bytes,3,opt,name=num_wells,json=numWells" json:"num_wells,omitempty"` // Maximum volume of a well MaxVolume *Measurement `protobuf:"bytes,4,opt,name=max_volume,json=maxVolume" json:"max_volume,omitempty"` // Shape of well in x-y plane WellShape string `protobuf:"bytes,5,opt,name=well_shape,json=wellShape" json:"well_shape,omitempty"` // Function relating volume of well (uL) to x-y area (mm^2) VolumeUlToAreaMm2 *Polynomial `protobuf:"bytes,6,opt,name=volume_ul_to_area_mm2,json=volumeUlToAreaMm2" json:"volume_ul_to_area_mm2,omitempty"` // Function relating volume of well (ul) to its z height (mm) VolumeUlToHeightMm *Polynomial `protobuf:"bytes,7,opt,name=volume_ul_to_height_mm,json=volumeUlToHeightMm" json:"volume_ul_to_height_mm,omitempty"` // Residual volume of a well ResidualVolume *Measurement `protobuf:"bytes,8,opt,name=residual_volume,json=residualVolume" json:"residual_volume,omitempty"` // Distance between well centers in (x,y) dimension WellOffset *PhysicalCoord `protobuf:"bytes,9,opt,name=well_offset,json=wellOffset" json:"well_offset,omitempty"` // Distance from origin of plate to bottom, center of first well (including // well bottom) WellOrigin *PhysicalCoord `protobuf:"bytes,10,opt,name=well_origin,json=wellOrigin" json:"well_origin,omitempty"` // Manufacturer Mnfr string `protobuf:"bytes,11,opt,name=mnfr" json:"mnfr,omitempty"` // Height of well bottom. Deprecated in favor of VolumeUlToAreaMm2 and // VolumeUlToHeightMm. WellBottomHeight *Measurement `protobuf:"bytes,1000,opt,name=well_bottom_height,json=wellBottomHeight" json:"well_bottom_height,omitempty"` // Shape of well bottom. Deprecated in favor of VolumeUlToAreaMm2 and // VolumeUlToHeightMm. WellBottomShape string `protobuf:"bytes,1001,opt,name=well_bottom_shape,json=wellBottomShape" json:"well_bottom_shape,omitempty"` }
PlateType describes the properties of a class of plates
func (*PlateType) Descriptor ¶
func (*PlateType) GetDim ¶
func (m *PlateType) GetDim() *PhysicalCoord
func (*PlateType) GetMaxVolume ¶
func (m *PlateType) GetMaxVolume() *Measurement
func (*PlateType) GetNumWells ¶
func (m *PlateType) GetNumWells() *OrdinalCoord
func (*PlateType) GetResidualVolume ¶
func (m *PlateType) GetResidualVolume() *Measurement
func (*PlateType) GetVolumeUlToAreaMm2 ¶
func (m *PlateType) GetVolumeUlToAreaMm2() *Polynomial
func (*PlateType) GetVolumeUlToHeightMm ¶
func (m *PlateType) GetVolumeUlToHeightMm() *Polynomial
func (*PlateType) GetWellBottomHeight ¶
func (m *PlateType) GetWellBottomHeight() *Measurement
func (*PlateType) GetWellBottomShape ¶
func (*PlateType) GetWellDim ¶
func (m *PlateType) GetWellDim() *PhysicalCoord
func (*PlateType) GetWellOffset ¶
func (m *PlateType) GetWellOffset() *PhysicalCoord
func (*PlateType) GetWellOrigin ¶
func (m *PlateType) GetWellOrigin() *PhysicalCoord
func (*PlateType) GetWellShape ¶
func (*PlateType) ProtoMessage ¶
func (*PlateType) ProtoMessage()
type Polynomial ¶
type Polynomial struct { // Coefficients of a polynomial: a[0] * x^0 + a[1] * x^1 + ... + a[n] * x^n Coefficients []float64 `protobuf:"fixed64,1,rep,packed,name=coefficients" json:"coefficients,omitempty"` }
func (*Polynomial) Descriptor ¶
func (*Polynomial) Descriptor() ([]byte, []int)
func (*Polynomial) GetCoefficients ¶
func (m *Polynomial) GetCoefficients() []float64
func (*Polynomial) ProtoMessage ¶
func (*Polynomial) ProtoMessage()
func (*Polynomial) Reset ¶
func (m *Polynomial) Reset()
func (*Polynomial) String ¶
func (m *Polynomial) String() string
type ProcessAddress ¶
type ProcessAddress struct { Process string `protobuf:"bytes,1,opt,name=process" json:"process,omitempty"` Port string `protobuf:"bytes,2,opt,name=port" json:"port,omitempty"` }
func (*ProcessAddress) Descriptor ¶
func (*ProcessAddress) Descriptor() ([]byte, []int)
func (*ProcessAddress) GetPort ¶
func (m *ProcessAddress) GetPort() string
func (*ProcessAddress) GetProcess ¶
func (m *ProcessAddress) GetProcess() string
func (*ProcessAddress) ProtoMessage ¶
func (*ProcessAddress) ProtoMessage()
func (*ProcessAddress) Reset ¶
func (m *ProcessAddress) Reset()
func (*ProcessAddress) String ¶
func (m *ProcessAddress) String() string
type State ¶
type State int32
const ( // Task created (initial state) State_CREATED State = 0 // Task eligible to run State_SCHEDULED State = 1 // Task waiting on external input to run State_WAITING State = 2 // Task running State_RUNNING State = 3 // Task finished running successfully State_SUCCEEDED State = 4 // Task finished running unsuccessfully State_FAILED State = 5 )
func (State) EnumDescriptor ¶
type Status ¶
type Status struct { State State `protobuf:"varint,1,opt,name=state,enum=org.antha_lang.antha.v1.State" json:"state,omitempty"` // Any message associated with the current state Message_ string `protobuf:"bytes,2,opt,name=message_,json=message" json:"message_,omitempty"` }
func (*Status) Descriptor ¶
func (*Status) GetMessage_ ¶
func (*Status) ProtoMessage ¶
func (*Status) ProtoMessage()
type Task ¶
type Task struct { Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` // Short description Label string `protobuf:"bytes,2,opt,name=label" json:"label,omitempty"` // Long description Details string `protobuf:"bytes,3,opt,name=details" json:"details,omitempty"` // If device task, the device id DeviceId string `protobuf:"bytes,4,opt,name=device_id,json=deviceId" json:"device_id,omitempty"` // Time estimate in seconds, 0 if no estimate available TimeEstimate float32 `protobuf:"fixed32,5,opt,name=time_estimate,json=timeEstimate" json:"time_estimate,omitempty"` // Task ids that must happen before this task HappensBefore []string `protobuf:"bytes,6,rep,name=happens_before,json=happensBefore" json:"happens_before,omitempty"` // Status of a task Status *Status `protobuf:"bytes,7,opt,name=status" json:"status,omitempty"` // Tags Tags []string `protobuf:"bytes,8,rep,name=tags" json:"tags,omitempty"` // Types that are valid to be assigned to Task: // *Task_OrderTask // *Task_DeckLayoutTask // *Task_PlatePrepTask // *Task_DocumentTask // *Task_MixerTask // *Task_ManualRunTask // *Task_IncubateTask // *Task_DataUploadTask Task isTask_Task `protobuf_oneof:"task"` }
func (*Task) Descriptor ¶
func (*Task) GetDataUploadTask ¶
func (m *Task) GetDataUploadTask() *DataUploadTask
func (*Task) GetDeckLayoutTask ¶
func (m *Task) GetDeckLayoutTask() *DeckLayoutTask
func (*Task) GetDetails ¶
func (*Task) GetDeviceId ¶
func (*Task) GetDocumentTask ¶
func (m *Task) GetDocumentTask() *DocumentTask
func (*Task) GetHappensBefore ¶
func (*Task) GetIncubateTask ¶
func (m *Task) GetIncubateTask() *IncubateTask
func (*Task) GetManualRunTask ¶
func (m *Task) GetManualRunTask() *ManualRunTask
func (*Task) GetMixerTask ¶
func (*Task) GetOrderTask ¶
func (*Task) GetPlatePrepTask ¶
func (m *Task) GetPlatePrepTask() *PlatePrepTask
func (*Task) GetTimeEstimate ¶
func (*Task) ProtoMessage ¶
func (*Task) ProtoMessage()
type Task_DataUploadTask ¶
type Task_DataUploadTask struct {
DataUploadTask *DataUploadTask `protobuf:"bytes,16,opt,name=data_upload_task,json=dataUploadTask,oneof"`
}
type Task_DeckLayoutTask ¶
type Task_DeckLayoutTask struct {
DeckLayoutTask *DeckLayoutTask `protobuf:"bytes,10,opt,name=deck_layout_task,json=deckLayoutTask,oneof"`
}
type Task_DocumentTask ¶
type Task_DocumentTask struct {
DocumentTask *DocumentTask `protobuf:"bytes,12,opt,name=document_task,json=documentTask,oneof"`
}
type Task_IncubateTask ¶
type Task_IncubateTask struct {
IncubateTask *IncubateTask `protobuf:"bytes,15,opt,name=incubate_task,json=incubateTask,oneof"`
}
type Task_ManualRunTask ¶
type Task_ManualRunTask struct {
ManualRunTask *ManualRunTask `protobuf:"bytes,14,opt,name=manual_run_task,json=manualRunTask,oneof"`
}
type Task_MixerTask ¶
type Task_MixerTask struct {
MixerTask *MixerTask `protobuf:"bytes,13,opt,name=mixer_task,json=mixerTask,oneof"`
}
type Task_OrderTask ¶
type Task_OrderTask struct {
OrderTask *OrderTask `protobuf:"bytes,9,opt,name=order_task,json=orderTask,oneof"`
}
type Task_PlatePrepTask ¶
type Task_PlatePrepTask struct {
PlatePrepTask *PlatePrepTask `protobuf:"bytes,11,opt,name=plate_prep_task,json=platePrepTask,oneof"`
}
type Tipbox ¶
type Tipbox struct { // Tipbox type Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"` }
Pipette tips in a box
func (*Tipbox) Descriptor ¶
func (*Tipbox) ProtoMessage ¶
func (*Tipbox) ProtoMessage()
type Tipwaste ¶
type Tipwaste struct { // Tipwaste type Type string `protobuf:"bytes,1,opt,name=type" json:"type,omitempty"` }
Disposal for used pipette tips
func (*Tipwaste) Descriptor ¶
func (*Tipwaste) ProtoMessage ¶
func (*Tipwaste) ProtoMessage()
type Well ¶
type Well struct { Position *OrdinalCoord `protobuf:"bytes,1,opt,name=position" json:"position,omitempty"` Component *InventoryItem `protobuf:"bytes,2,opt,name=component" json:"component,omitempty"` }
Well in plate
func (*Well) Descriptor ¶
func (*Well) GetComponent ¶
func (m *Well) GetComponent() *InventoryItem
func (*Well) GetPosition ¶
func (m *Well) GetPosition() *OrdinalCoord
func (*Well) ProtoMessage ¶
func (*Well) ProtoMessage()
type Workflow ¶
type Workflow struct { Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` Label string `protobuf:"bytes,2,opt,name=label" json:"label,omitempty"` Description string `protobuf:"bytes,3,opt,name=description" json:"description,omitempty"` Processes map[string]*Element `` /* 138-byte string literal not displayed */ Connections []*Connection `protobuf:"bytes,5,rep,name=connections" json:"connections,omitempty"` }
func (*Workflow) Descriptor ¶
func (*Workflow) GetConnections ¶
func (m *Workflow) GetConnections() []*Connection
func (*Workflow) GetDescription ¶
func (*Workflow) GetProcesses ¶
func (*Workflow) ProtoMessage ¶
func (*Workflow) ProtoMessage()